diff --git a/.gitignore b/.gitignore index 986bc9ad1..e503c2efa 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,6 @@ npm-debug.log package-lock.json -the_noun_project.auth transifex.auth /dist/*.js diff --git a/data/presets/README.md b/data/presets/README.md index 85784c0e7..b50e6dbbf 100644 --- a/data/presets/README.md +++ b/data/presets/README.md @@ -147,7 +147,7 @@ preset are generally not inherited. E.g. the `shop` field is not inherited by `s ##### `icon` -The name of a local SVG icon file. You can use icons from any of the following icon sets. When specifying an icon, use the prefixed version of the name, for example `"icon": "maki-park"` or `"icon": "tnp-2009223"`. +The name of a local SVG icon file. You can use icons from any of the following icon sets. When specifying an icon, use the prefixed version of the name, for example `"icon": "maki-park"`. * [iD's spritesheet](https://github.com/openstreetmap/iD/tree/develop/svg/iD-sprite/presets) (`iD-`) * [Maki](https://labs.mapbox.com/maki-icons/) (`maki-`), map-specific icons from Mapbox @@ -158,11 +158,6 @@ The name of a local SVG icon file. You can use icons from any of the following i * [Solid](https://fontawesome.com/icons?d=gallery&s=solid&m=free) (`fas-`) * [Regular](https://fontawesome.com/icons?d=gallery&s=regular&m=free) (`far-`) * [Brands](https://fontawesome.com/icons?d=gallery&s=brands&m=free) (`fab-`) -* [The Noun Project](https://thenounproject.com) (`tnp-`), millions of general-purpose icons - * The licenses vary. You can only use the public-domain icons in iD, such as those from [OCHA Visual](https://thenounproject.com/ochavisual/). - * The icon styles vary. Avoid thin or overly-detailed icons since they will not look good at small sizes. - * Use the numeric ID of the icon (e.g. `2009223`). This is shown in the URL when you select an icon on their site. - * Unfortunately, you must [sign up for a free API key](https://thenounproject.com/developers/) in order to download new icons (even for public-domain icons). Add a file called `the_noun_project.auth` to the root of your local iD instance containing your credentials like `{"consumer_key": "xxxxxx", "consumer_secret": "xxxxxx"}`. This file is not version-controlled. ##### `imageURL` diff --git a/data/presets/presets.json b/data/presets/presets.json index 042f8856a..a5882d615 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -142,7 +142,7 @@ "amenity/kindergarten": {"icon": "temaki-school", "fields": ["name", "operator", "operator/type", "address", "phone", "preschool"], "moreFields": ["email", "fax", "gnis/feature_id", "internet_access", "internet_access/fee", "internet_access/ssid", "level", "max_age", "min_age", "not/name", "opening_hours", "opening_hours/covid19", "payment_multi", "website", "wheelchair"], "geometry": ["area", "point"], "terms": ["kindergarden", "pre-school"], "tags": {"amenity": "kindergarten"}, "name": "Preschool / Kindergarten Grounds"}, "amenity/kneipp_water_cure": {"icon": "maki-hospital", "fields": ["kneipp_water_cure_multi", "opening_hours", "opening_hours/covid19", "fee"], "geometry": ["point", "area"], "terms": [], "tags": {"amenity": "kneipp_water_cure"}, "reference": {"key": "amenity", "value": "kneipp_water_cure"}, "name": "Kneipp Water Cure"}, "amenity/language_school": {"icon": "temaki-school", "fields": ["name", "operator", "operator/type", "address", "building_area", "opening_hours", "opening_hours/covid19", "language_multi"], "moreFields": ["email", "fax", "gnis/feature_id", "internet_access", "internet_access/fee", "internet_access/ssid", "level", "payment_multi", "phone", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["esl"], "tags": {"amenity": "language_school"}, "name": "Language School"}, - "amenity/lavoir": {"icon": "tnp-4310", "fields": ["name", "operator", "operator/type", "address", "access_simple", "building_area"], "moreFields": ["gnis/feature_id", "smoking", "wheelchair"], "geometry": ["point", "area"], "tags": {"amenity": "lavoir"}, "terms": ["clothing", "laundry", "washing"], "name": "Lavoir"}, + "amenity/lavoir": {"icon": "temaki-detergent_bottle", "fields": ["name", "operator", "operator/type", "address", "access_simple", "building_area"], "moreFields": ["gnis/feature_id", "smoking", "wheelchair"], "geometry": ["point", "area"], "tags": {"amenity": "lavoir"}, "terms": ["clothing", "laundry", "washing"], "name": "Lavoir"}, "amenity/letter_box": {"icon": "temaki-letter_box", "fields": ["post", "access_simple", "height"], "moreFields": ["covered", "indoor", "level", "lit", "lockable", "manufacturer", "material", "operator", "wheelchair"], "geometry": ["point", "vertex"], "tags": {"amenity": "letter_box"}, "terms": ["curbside delivery box", "home delivery box", "direct-to-door delivery box", "letter hole", "letter plate", "letter slot", "letterbox", "letterhole", "letterplate", "letterslot", "mail box", "mail hole", "mail slot", "mailbox", "mailhole", "mailslot", "through-door delivery box"], "name": "Letter Box"}, "amenity/library": {"icon": "maki-library", "fields": ["name", "operator", "operator/type", "building_area", "address", "ref/isil", "internet_access", "internet_access/fee", "internet_access/ssid"], "moreFields": ["access_simple", "air_conditioning", "baby_feeding", "email", "fax", "gnis/feature_id", "level", "not/name", "opening_hours", "opening_hours/covid19", "payment_multi", "phone", "polling_station", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["book"], "tags": {"amenity": "library"}, "name": "Library"}, "amenity/loading_dock": {"icon": "fas-truck-loading", "fields": ["ref", "operator", "access_simple", "door", "width", "height"], "moreFields": ["address", "colour", "level", "lit", "wheelchair"], "geometry": ["vertex"], "terms": ["door", "loading bay", "shipping", "unloading", "warehouse"], "tags": {"amenity": "loading_dock"}, "name": "Loading Dock"}, @@ -196,7 +196,7 @@ "amenity/recycling_container": {"icon": "maki-recycling", "fields": ["operator", "recycling_accepts", "opening_hours", "opening_hours/covid19", "collection_times"], "moreFields": ["colour", "covered", "indoor", "level", "manufacturer", "material", "ref"], "geometry": ["point", "area"], "terms": ["bin", "can", "bottle", "glass", "garbage", "rubbish", "scrap", "trash"], "tags": {"amenity": "recycling", "recycling_type": "container"}, "reference": {"key": "amenity", "value": "recycling"}, "name": "Recycling Container"}, "amenity/recycling/container/electrical_items": {"icon": "maki-recycling", "fields": ["{amenity/recycling_container}"], "moreFields": ["{amenity/recycling_container}"], "geometry": ["point", "area"], "terms": ["computers", "electronic waste", "electronics recycling", "ewaste bin", "phones", "tablets"], "tags": {"amenity": "recycling", "recycling_type": "container", "recycling:electrical_items": "yes"}, "reference": {"key": "recycling:electrical_items", "value": "yes"}, "name": "E-Waste Container"}, "amenity/recycling/container/green_waste": {"icon": "maki-recycling", "fields": ["{amenity/recycling_container}"], "moreFields": ["{amenity/recycling_container}"], "geometry": ["point", "area"], "terms": ["biodegradable", "biological", "compost", "decomposable", "garbage bin", "garden waste", "organic", "rubbish", "food scrap"], "tags": {"amenity": "recycling", "recycling_type": "container", "recycling:green_waste": "yes"}, "reference": {"key": "recycling:green_waste", "value": "yes"}, "name": "Green Waste Container"}, - "amenity/refugee_site": {"icon": "tnp-2120771", "fields": ["name", "operator", "operator/type", "informal", "start_date", "capacity", "population"], "moreFields": ["internet_access", "internet_access/fee", "internet_access/ssid", "website"], "geometry": ["point", "area"], "tags": {"amenity": "refugee_site"}, "terms": ["displaced people", "evacuees", "migrants", "ngo", "refugee site"], "name": "Refugee Camp"}, + "amenity/refugee_site": {"icon": "temaki-tents", "fields": ["name", "operator", "operator/type", "informal", "start_date", "capacity", "population"], "moreFields": ["internet_access", "internet_access/fee", "internet_access/ssid", "website"], "geometry": ["point", "area"], "tags": {"amenity": "refugee_site"}, "terms": ["displaced people", "evacuees", "migrants", "ngo", "refugee site"], "name": "Refugee Camp"}, "amenity/research_institute": {"icon": "fas-flask", "fields": ["name", "operator", "operator/type", "address", "website", "internet_access", "internet_access/fee"], "moreFields": ["email", "fax", "gnis/feature_id", "internet_access/ssid", "phone", "wheelchair"], "geometry": ["point", "area"], "terms": ["applied research", "experimentation", "r&d", "r & d", "r and d", "research and development", "research institution", "research laboratory", "research labs"], "tags": {"amenity": "research_institute"}, "name": "Research Institute Grounds"}, "amenity/restaurant": {"icon": "maki-restaurant", "fields": ["name", "cuisine", "diet_multi", "address", "building_area", "opening_hours", "opening_hours/covid19", "phone", "website"], "moreFields": ["air_conditioning", "bar", "brand", "brewery", "capacity", "delivery", "email", "fax", "gnis/feature_id", "internet_access", "internet_access/fee", "internet_access/ssid", "level", "microbrewery", "min_age", "not/name", "outdoor_seating", "ref/vatin", "reservation", "smoking", "stars", "takeaway", "wheelchair"], "geometry": ["point", "area"], "terms": ["bar", "breakfast", "cafe", "café", "canteen", "coffee", "dine", "dining", "dinner", "drive-in", "eat", "grill", "lunch", "table"], "tags": {"amenity": "restaurant"}, "name": "Restaurant"}, "amenity/restaurant/american": {"icon": "maki-restaurant", "geometry": ["point", "area"], "terms": ["bar", "breakfast", "cafe", "café", "canteen", "coffee", "dine", "dining", "dinner", "drive-in", "eat", "grill", "lunch", "table"], "tags": {"amenity": "restaurant", "cuisine": "american"}, "reference": {"key": "cuisine", "value": "american"}, "name": "American Restaurant"}, @@ -244,8 +244,8 @@ "amenity/theatre/type/amphi": {"icon": "maki-theatre", "fields": ["name", "operator", "address", "lit"], "geometry": ["point", "area"], "terms": ["open air", "outdoor", "greek", "ampi"], "tags": {"amenity": "theatre", "theatre:type": "amphi"}, "name": "Amphitheatre"}, "amenity/toilets": {"icon": "maki-toilet", "fields": ["toilets/disposal", "access_simple", "gender", "changing_table", "wheelchair", "building_area"], "moreFields": ["charge_fee", "fee", "level", "opening_hours", "opening_hours/covid19", "operator", "payment_multi_fee", "portable", "toilets/handwashing", "toilets/position"], "geometry": ["point", "vertex", "area"], "terms": ["bathroom", "restroom", "outhouse", "privy", "head", "lavatory", "latrine", "water closet", "WC", "W.C."], "tags": {"amenity": "toilets"}, "name": "Toilets"}, "amenity/toilets/disposal/flush": {"icon": "fas-toilet", "fields": ["toilets/disposal", "{amenity/toilets}"], "moreFields": ["{amenity/toilets}"], "geometry": ["point", "vertex", "area"], "terms": ["bathroom", "head", "lavatory", "privy", "restroom", "water closet", "WC", "W.C."], "tags": {"amenity": "toilets", "toilets:disposal": "flush"}, "reference": {"key": "toilets:disposal", "value": "flush"}, "name": "Flush Toilets"}, - "amenity/toilets/disposal/pitlatrine": {"icon": "tnp-2009541", "fields": ["toilets/disposal", "{amenity/toilets}", "toilets/handwashing"], "moreFields": ["{amenity/toilets}"], "geometry": ["point", "vertex", "area"], "terms": ["head", "lavatory", "long drop", "outhouse", "pit toilet", "privy"], "tags": {"amenity": "toilets", "toilets:disposal": "pitlatrine"}, "reference": {"key": "toilets:disposal", "value": "pitlatrine"}, "name": "Pit Latrine"}, - "amenity/toilets/portable": {"icon": "tnp-2009541", "fields": ["toilets/disposal", "{amenity/toilets}", "toilets/handwashing"], "moreFields": ["{amenity/toilets}"], "geometry": ["point", "area", "vertex"], "terms": ["restroom", "privy", "porta john", "porta potty", "portapot", "chemical toilet"], "addTags": {"amenity": "toilets", "toilets:disposal": "chemical", "portable": "yes"}, "tags": {"amenity": "toilets", "portable": "yes"}, "reference": {"key": "toilets:disposal", "value": "chemical"}, "name": "Portable Toilet"}, + "amenity/toilets/disposal/pitlatrine": {"icon": "temaki-latrine", "fields": ["toilets/disposal", "{amenity/toilets}", "toilets/handwashing"], "moreFields": ["{amenity/toilets}"], "geometry": ["point", "vertex", "area"], "terms": ["head", "lavatory", "long drop", "outhouse", "pit toilet", "privy"], "tags": {"amenity": "toilets", "toilets:disposal": "pitlatrine"}, "reference": {"key": "toilets:disposal", "value": "pitlatrine"}, "name": "Pit Latrine"}, + "amenity/toilets/portable": {"icon": "temaki-latrine", "fields": ["toilets/disposal", "{amenity/toilets}", "toilets/handwashing"], "moreFields": ["{amenity/toilets}"], "geometry": ["point", "area", "vertex"], "terms": ["restroom", "privy", "porta john", "porta potty", "portapot", "chemical toilet"], "addTags": {"amenity": "toilets", "toilets:disposal": "chemical", "portable": "yes"}, "tags": {"amenity": "toilets", "portable": "yes"}, "reference": {"key": "toilets:disposal", "value": "chemical"}, "name": "Portable Toilet"}, "amenity/townhall": {"icon": "temaki-town_hall", "fields": ["name", "operator", "townhall/type", "address", "building_area"], "moreFields": ["baby_feeding", "email", "fax", "gnis/feature_id", "phone", "polling_station", "smoking", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["village", "city", "government", "courthouse", "municipal"], "tags": {"amenity": "townhall"}, "name": "Town Hall"}, "amenity/townhall/city": {"icon": "temaki-capitol", "geometry": ["point", "area"], "terms": ["council", "courthouse", "government", "mayor", "municipality"], "tags": {"amenity": "townhall", "townhall:type": "city"}, "reference": {"key": "townhall:type", "value": "city"}, "name": "City Hall"}, "amenity/toy_library": {"icon": "fas-chess-knight", "fields": ["operator", "address", "building_area", "opening_hours", "opening_hours/covid19"], "moreFields": ["level", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["game", "toy"], "tags": {"amenity": "toy_library"}, "name": "Toy Library"}, @@ -642,7 +642,7 @@ "landuse/landfill": {"icon": "temaki-bulldozer", "geometry": ["area"], "fields": ["name"], "moreFields": ["address", "email", "fax", "phone", "website"], "tags": {"landuse": "landfill"}, "terms": ["dump"], "name": "Landfill"}, "landuse/meadow": {"icon": "maki-garden", "geometry": ["area"], "fields": ["name"], "tags": {"landuse": "meadow"}, "terms": ["grazing", "hay field", "pasture"], "name": "Meadow"}, "landuse/military": {"icon": "temaki-military", "fields": ["name"], "moreFields": ["address", "email", "fax", "phone", "website"], "geometry": ["area"], "tags": {"landuse": "military"}, "terms": [], "matchScore": 0.9, "name": "Military Area"}, - "landuse/military/airfield": {"icon": "tnp-2009265", "fields": ["name", "iata", "icao"], "geometry": ["point", "area"], "tags": {"military": "airfield"}, "addTags": {"aeroway": "aerodrome", "landuse": "military", "military": "airfield"}, "reference": {"key": "military", "value": "airfield"}, "terms": ["aerodrome", "aeroway", "air force", "airplane", "airport", "army", "base", "bomb", "fight", "force", "guard", "heli*", "jet", "marine", "navy", "plane", "troop", "war"], "name": "Military Airfield"}, + "landuse/military/airfield": {"icon": "temaki-fighter_jet", "fields": ["name", "iata", "icao"], "geometry": ["point", "area"], "tags": {"military": "airfield"}, "addTags": {"aeroway": "aerodrome", "landuse": "military", "military": "airfield"}, "reference": {"key": "military", "value": "airfield"}, "terms": ["aerodrome", "aeroway", "air force", "airplane", "airport", "army", "base", "bomb", "fight", "force", "guard", "heli*", "jet", "marine", "navy", "plane", "troop", "war"], "name": "Military Airfield"}, "landuse/military/barracks": {"icon": "temaki-army_tent", "fields": ["name", "building_area"], "geometry": ["point", "area"], "tags": {"military": "barracks"}, "addTags": {"landuse": "military", "military": "barracks"}, "terms": ["air force", "army", "base", "fight", "force", "guard", "marine", "navy", "troop", "war"], "name": "Barracks"}, "landuse/military/danger_area": {"icon": "maki-danger", "fields": ["name"], "geometry": ["point", "vertex", "area"], "tags": {"military": "danger_area"}, "addTags": {"landuse": "military", "military": "danger_area"}, "terms": ["air force", "army", "base", "blast", "bomb", "explo*", "force", "guard", "mine", "marine", "navy", "troop", "war"], "name": "Danger Area"}, "landuse/military/naval_base": {"icon": "temaki-anchor_medal", "fields": ["name"], "geometry": ["point", "area"], "tags": {"military": "naval_base"}, "addTags": {"landuse": "military", "military": "naval_base"}, "terms": ["base", "fight", "force", "guard", "marine", "navy", "ship", "sub", "troop", "war"], "name": "Naval Base"}, @@ -696,7 +696,7 @@ "leisure/hackerspace": {"icon": "fas-code", "fields": ["name", "address", "building_area", "opening_hours", "opening_hours/covid19", "website", "fee", "payment_multi_fee", "charge_fee", "internet_access", "internet_access/fee", "internet_access/ssid"], "moreFields": ["air_conditioning", "email", "fax", "gnis/feature_id", "level", "phone", "smoking", "wheelchair"], "geometry": ["point", "area"], "terms": ["makerspace", "hackspace", "hacklab"], "tags": {"leisure": "hackerspace"}, "name": "Hackerspace"}, "leisure/horse_riding": {"icon": "maki-horse-riding", "fields": ["name", "access_simple", "operator", "address", "building"], "moreFields": ["email", "fax", "gnis/feature_id", "opening_hours", "opening_hours/covid19", "payment_multi", "phone", "website"], "geometry": ["point", "area"], "terms": ["equestrian", "stable"], "tags": {"leisure": "horse_riding"}, "name": "Horseback Riding Facility"}, "leisure/ice_rink": {"icon": "fas-skating", "fields": ["name", "seasonal", "sport_ice", "operator", "address", "building"], "moreFields": ["email", "fax", "gnis/feature_id", "internet_access", "internet_access/fee", "internet_access/ssid", "level", "opening_hours", "opening_hours/covid19", "payment_multi", "phone", "website"], "geometry": ["area", "point"], "terms": ["hockey", "skating", "curling"], "tags": {"leisure": "ice_rink"}, "name": "Ice Rink"}, - "leisure/marina": {"icon": "tnp-2009223", "fields": ["name", "operator", "capacity", "fee", "payment_multi_fee", "charge_fee", "sanitary_dump_station", "power_supply"], "moreFields": ["address", "email", "fax", "gnis/feature_id", "internet_access", "internet_access/fee", "internet_access/ssid", "phone", "seamark/type", "vhf", "website"], "geometry": ["area", "point", "vertex"], "terms": ["boats", "docks", "harbor", "harbour", "moorings", "yachts"], "tags": {"leisure": "marina"}, "addTags": {"leisure": "marina", "seamark:type": "harbour", "seamark:harbour:category": "marina"}, "name": "Marina"}, + "leisure/marina": {"icon": "temaki-sailboat", "fields": ["name", "operator", "capacity", "fee", "payment_multi_fee", "charge_fee", "sanitary_dump_station", "power_supply"], "moreFields": ["address", "email", "fax", "gnis/feature_id", "internet_access", "internet_access/fee", "internet_access/ssid", "phone", "seamark/type", "vhf", "website"], "geometry": ["area", "point", "vertex"], "terms": ["boats", "docks", "harbor", "harbour", "moorings", "yachts"], "tags": {"leisure": "marina"}, "addTags": {"leisure": "marina", "seamark:type": "harbour", "seamark:harbour:category": "marina"}, "name": "Marina"}, "leisure/miniature_golf": {"icon": "temaki-golf_green", "fields": ["name", "operator", "address", "opening_hours", "opening_hours/covid19", "fee", "payment_multi_fee", "charge_fee"], "moreFields": ["email", "fax", "gnis/feature_id", "phone", "website"], "geometry": ["area", "point"], "terms": ["crazy golf", "mini golf", "putt-putt"], "tags": {"leisure": "miniature_golf"}, "name": "Miniature Golf"}, "leisure/nature_reserve": {"icon": "maki-park", "geometry": ["area", "point"], "fields": ["name", "operator", "address", "opening_hours", "opening_hours/covid19"], "moreFields": ["dog", "email", "fax", "gnis/feature_id", "phone", "website"], "tags": {"leisure": "nature_reserve"}, "terms": ["protected", "wildlife"], "name": "Nature Reserve"}, "leisure/outdoor_seating": {"icon": "maki-picnic-site", "geometry": ["point", "area"], "fields": ["name", "operator"], "moreFields": ["level"], "terms": ["al fresco", "beer garden", "dining", "cafe", "restaurant", "pub", "bar", "patio"], "tags": {"leisure": "outdoor_seating"}, "name": "Outdoor Seating Area"}, @@ -1148,7 +1148,7 @@ "shop/herbalist": {"icon": "fas-leaf", "geometry": ["point", "area"], "tags": {"shop": "herbalist"}, "name": "Herbalist"}, "shop/hifi": {"icon": "temaki-speaker", "geometry": ["point", "area"], "terms": ["audio", "hi-fi", "high fidelity", "stereo", "video"], "tags": {"shop": "hifi"}, "name": "Hifi Store"}, "shop/hobby": {"icon": "fas-dragon", "geometry": ["point", "area"], "tags": {"shop": "hobby"}, "terms": ["manga", "figurine", "model"], "name": "Hobby Shop"}, - "shop/household_linen": {"icon": "tnp-4306", "geometry": ["point", "area"], "tags": {"shop": "household_linen"}, "terms": ["bedspreads", "blankets", "domestic cloths", "curtains", "handkerchieves", "napkins", "pillow cases", "robes", "sheets", "towels"], "name": "Household Linen Shop"}, + "shop/household_linen": {"icon": "temaki-cloth", "geometry": ["point", "area"], "tags": {"shop": "household_linen"}, "terms": ["bedspreads", "blankets", "domestic cloths", "curtains", "handkerchieves", "napkins", "pillow cases", "robes", "sheets", "towels"], "name": "Household Linen Shop"}, "shop/houseware": {"icon": "fas-blender", "geometry": ["point", "area"], "terms": ["home", "household", "kitchenware"], "tags": {"shop": "houseware"}, "name": "Houseware Store"}, "shop/hunting": {"icon": "temaki-binoculars", "geometry": ["point", "area"], "tags": {"shop": "hunting"}, "terms": ["arrows", "bows", "bullets", "crossbows", "rifles", "traps"], "name": "Hunting Shop"}, "shop/interior_decoration": {"icon": "maki-shop", "geometry": ["point", "area"], "tags": {"shop": "interior_decoration"}, "name": "Interior Decoration Store"}, @@ -1224,7 +1224,7 @@ "shop/video": {"icon": "temaki-movie_rental", "moreFields": ["{shop}", "min_age"], "geometry": ["point", "area"], "terms": ["DVD", "VHS", "video casette"], "tags": {"shop": "video"}, "name": "Video Store"}, "shop/watches": {"icon": "maki-watch", "geometry": ["point", "area"], "tags": {"shop": "watches"}, "name": "Watches Shop"}, "shop/water_sports": {"icon": "fas-swimmer", "geometry": ["point", "area"], "tags": {"shop": "water_sports"}, "name": "Watersport/Swim Shop"}, - "shop/water": {"icon": "tnp-2009234", "geometry": ["point", "area"], "tags": {"shop": "water"}, "name": "Drinking Water Shop"}, + "shop/water": {"icon": "temaki-water_bottle", "geometry": ["point", "area"], "tags": {"shop": "water"}, "name": "Drinking Water Shop"}, "shop/weapons": {"icon": "temaki-dagger", "geometry": ["point", "area"], "terms": ["ammo", "gun", "knife", "knives"], "tags": {"shop": "weapons"}, "name": "Weapon Shop"}, "shop/wholesale": {"icon": "maki-warehouse", "fields": ["{shop}", "wholesale"], "geometry": ["point", "area"], "terms": ["warehouse club", "cash and carry"], "tags": {"shop": "wholesale"}, "name": "Wholesale Store"}, "shop/wigs": {"icon": "maki-shop", "geometry": ["point", "area"], "terms": ["hair extentions"], "tags": {"shop": "wigs"}, "name": "Wig Shop"}, @@ -5270,8 +5270,8 @@ "shop/hobby/ジャンプショップ": {"name": "ジャンプショップ", "icon": "fas-dragon", "imageURL": "https://graph.facebook.com/jumpshoptokyo/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q11310200", "shop": "hobby"}, "addTags": {"brand": "ジャンプショップ", "brand:en": "Jump Shop", "brand:ja": "ジャンプショップ", "brand:wikidata": "Q11310200", "brand:wikipedia": "ja:ジャンプショップ", "name": "ジャンプショップ", "name:en": "Jump Shop", "name:ja": "ジャンプショップ", "shop": "hobby"}, "countryCodes": ["jp"], "terms": ["ジャンプ"], "matchScore": 2, "suggestion": true}, "shop/hobby/ポケモンセンター": {"name": "ポケモンセンター", "icon": "fas-dragon", "imageURL": "https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FPokemon%20centre.jpg&width=100", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q89673816", "shop": "hobby"}, "addTags": {"brand": "ポケモンセンター", "brand:en": "Pokémon Center", "brand:ja": "ポケモンセンター", "brand:wikidata": "Q89673816", "name": "ポケモンセンター", "name:en": "Pokémon Center", "name:ja": "ポケモンセンター", "shop": "hobby"}, "countryCodes": ["jp"], "terms": [], "matchScore": 2, "suggestion": true}, "shop/hobby/駿河屋": {"name": "駿河屋", "icon": "fas-dragon", "imageURL": "https://graph.facebook.com/SurugayaJP/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q88485610", "shop": "hobby"}, "addTags": {"brand": "駿河屋", "brand:en": "Surugaya", "brand:ja": "駿河屋", "brand:wikidata": "Q88485610", "name": "駿河屋", "name:en": "Surugaya", "name:ja": "駿河屋", "shop": "hobby"}, "countryCodes": ["jp"], "terms": [], "matchScore": 2, "suggestion": true}, - "shop/household_linen/Carré Blanc": {"name": "Carré Blanc", "icon": "tnp-4306", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q55596025", "shop": "household_linen"}, "addTags": {"brand": "Carré Blanc", "brand:wikidata": "Q55596025", "brand:wikipedia": "fr:Carré blanc (entreprise)", "name": "Carré Blanc", "shop": "household_linen"}, "terms": [], "matchScore": 2, "suggestion": true}, - "shop/household_linen/Descamps": {"name": "Descamps", "icon": "tnp-4306", "imageURL": "https://graph.facebook.com/Descamps/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q91002058", "shop": "household_linen"}, "addTags": {"brand": "Descamps", "brand:wikidata": "Q91002058", "name": "Descamps", "shop": "household_linen"}, "terms": [], "matchScore": 2, "suggestion": true}, + "shop/household_linen/Carré Blanc": {"name": "Carré Blanc", "icon": "temaki-cloth", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q55596025", "shop": "household_linen"}, "addTags": {"brand": "Carré Blanc", "brand:wikidata": "Q55596025", "brand:wikipedia": "fr:Carré blanc (entreprise)", "name": "Carré Blanc", "shop": "household_linen"}, "terms": [], "matchScore": 2, "suggestion": true}, + "shop/household_linen/Descamps": {"name": "Descamps", "icon": "temaki-cloth", "imageURL": "https://graph.facebook.com/Descamps/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q91002058", "shop": "household_linen"}, "addTags": {"brand": "Descamps", "brand:wikidata": "Q91002058", "name": "Descamps", "shop": "household_linen"}, "terms": [], "matchScore": 2, "suggestion": true}, "shop/houseware/At Home": {"name": "At Home", "icon": "fas-blender", "imageURL": "https://graph.facebook.com/AtHomeStores/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q5522290", "shop": "houseware"}, "addTags": {"brand": "At Home", "brand:wikidata": "Q5522290", "brand:wikipedia": "en:At Home (store)", "name": "At Home", "shop": "houseware"}, "countryCodes": ["us"], "terms": ["garden ridge"], "matchScore": 2, "suggestion": true}, "shop/houseware/Bed Bath & Beyond": {"name": "Bed Bath & Beyond", "icon": "fas-blender", "imageURL": "https://graph.facebook.com/BedBathAndBeyond/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q813782", "shop": "houseware"}, "addTags": {"brand": "Bed Bath & Beyond", "brand:wikidata": "Q813782", "brand:wikipedia": "en:Bed Bath & Beyond", "name": "Bed Bath & Beyond", "shop": "houseware"}, "countryCodes": ["ca", "mx", "nz", "us"], "terms": [], "matchScore": 2, "suggestion": true}, "shop/houseware/Blokker": {"name": "Blokker", "icon": "fas-blender", "imageURL": "https://graph.facebook.com/BlokkerNL/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q884934", "shop": "houseware"}, "addTags": {"brand": "Blokker", "brand:wikidata": "Q884934", "brand:wikipedia": "en:Blokker Holding", "name": "Blokker", "shop": "houseware"}, "countryCodes": ["be", "nl"], "terms": [], "matchScore": 2, "suggestion": true}, diff --git a/data/presets/presets/amenity/lavoir.json b/data/presets/presets/amenity/lavoir.json index bb8c75749..2059114a3 100644 --- a/data/presets/presets/amenity/lavoir.json +++ b/data/presets/presets/amenity/lavoir.json @@ -1,5 +1,5 @@ { - "icon": "tnp-4310", + "icon": "temaki-detergent_bottle", "fields": [ "name", "operator", diff --git a/data/presets/presets/amenity/refugee_site.json b/data/presets/presets/amenity/refugee_site.json index e528515a6..49eab1a26 100644 --- a/data/presets/presets/amenity/refugee_site.json +++ b/data/presets/presets/amenity/refugee_site.json @@ -1,5 +1,5 @@ { - "icon": "tnp-2120771", + "icon": "temaki-tents", "fields": [ "name", "operator", diff --git a/data/presets/presets/amenity/toilets/disposal/pitlatrine.json b/data/presets/presets/amenity/toilets/disposal/pitlatrine.json index bed09ee8d..eaa634997 100644 --- a/data/presets/presets/amenity/toilets/disposal/pitlatrine.json +++ b/data/presets/presets/amenity/toilets/disposal/pitlatrine.json @@ -1,5 +1,5 @@ { - "icon": "tnp-2009541", + "icon": "temaki-latrine", "fields": [ "toilets/disposal", "{amenity/toilets}", diff --git a/data/presets/presets/amenity/toilets/portable.json b/data/presets/presets/amenity/toilets/portable.json index 85ae5e3ee..01948d15d 100644 --- a/data/presets/presets/amenity/toilets/portable.json +++ b/data/presets/presets/amenity/toilets/portable.json @@ -1,5 +1,5 @@ { - "icon": "tnp-2009541", + "icon": "temaki-latrine", "fields": [ "toilets/disposal", "{amenity/toilets}", diff --git a/data/presets/presets/landuse/military/airfield.json b/data/presets/presets/landuse/military/airfield.json index b8f76b3c2..c289dad4f 100644 --- a/data/presets/presets/landuse/military/airfield.json +++ b/data/presets/presets/landuse/military/airfield.json @@ -1,5 +1,5 @@ { - "icon": "tnp-2009265", + "icon": "temaki-fighter_jet", "fields": [ "name", "iata", diff --git a/data/presets/presets/leisure/marina.json b/data/presets/presets/leisure/marina.json index 76beeb375..5804871a8 100644 --- a/data/presets/presets/leisure/marina.json +++ b/data/presets/presets/leisure/marina.json @@ -1,5 +1,5 @@ { - "icon": "tnp-2009223", + "icon": "temaki-sailboat", "fields": [ "name", "operator", diff --git a/data/presets/presets/shop/household_linen.json b/data/presets/presets/shop/household_linen.json index 3e483a2c6..083454f12 100644 --- a/data/presets/presets/shop/household_linen.json +++ b/data/presets/presets/shop/household_linen.json @@ -1,5 +1,5 @@ { - "icon": "tnp-4306", + "icon": "temaki-cloth", "geometry": [ "point", "area" diff --git a/data/presets/presets/shop/water.json b/data/presets/presets/shop/water.json index 3bbeb8293..9e8aef243 100644 --- a/data/presets/presets/shop/water.json +++ b/data/presets/presets/shop/water.json @@ -1,5 +1,5 @@ { - "icon": "tnp-2009234", + "icon": "temaki-water_bottle", "geometry": [ "point", "area" diff --git a/data/taginfo.json b/data/taginfo.json index 4a8a6fa36..05ba12294 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -145,7 +145,7 @@ {"key": "amenity", "value": "kindergarten", "description": "🄿 Preschool / Kindergarten Grounds", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/school.svg"}, {"key": "amenity", "value": "kneipp_water_cure", "description": "🄿 Kneipp Water Cure", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/hospital-15.svg"}, {"key": "amenity", "value": "language_school", "description": "🄿 Language School", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/school.svg"}, - {"key": "amenity", "value": "lavoir", "description": "🄿 Lavoir", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/the-noun-project/4310.svg"}, + {"key": "amenity", "value": "lavoir", "description": "🄿 Lavoir", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/detergent_bottle.svg"}, {"key": "amenity", "value": "letter_box", "description": "🄿 Letter Box", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/letter_box.svg"}, {"key": "amenity", "value": "library", "description": "🄿 Library", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/library-15.svg"}, {"key": "amenity", "value": "loading_dock", "description": "🄿 Loading Dock", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/fontawesome/fas-truck-loading.svg"}, @@ -197,7 +197,7 @@ {"key": "recycling_type", "value": "container", "description": "🄿 Recycling Container, 🄵 Type", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/recycling-15.svg"}, {"key": "recycling:electrical_items", "value": "yes", "description": "🄿 E-Waste Container", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/recycling-15.svg"}, {"key": "recycling:green_waste", "value": "yes", "description": "🄿 Green Waste Container", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/recycling-15.svg"}, - {"key": "amenity", "value": "refugee_site", "description": "🄿 Refugee Camp", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/the-noun-project/2120771.svg"}, + {"key": "amenity", "value": "refugee_site", "description": "🄿 Refugee Camp", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/tents.svg"}, {"key": "amenity", "value": "research_institute", "description": "🄿 Research Institute Grounds", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/fontawesome/fas-flask.svg"}, {"key": "amenity", "value": "restaurant", "description": "🄿 Restaurant", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/restaurant-15.svg"}, {"key": "cuisine", "value": "american", "description": "🄿 American Restaurant", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/restaurant-15.svg"}, @@ -242,8 +242,8 @@ {"key": "theatre:type", "value": "amphi", "description": "🄿 Amphitheatre", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/theatre-15.svg"}, {"key": "amenity", "value": "toilets", "description": "🄿 Toilets", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/toilet-15.svg"}, {"key": "toilets:disposal", "value": "flush", "description": "🄿 Flush Toilets, 🄵 Disposal", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/fontawesome/fas-toilet.svg"}, - {"key": "toilets:disposal", "value": "pitlatrine", "description": "🄿 Pit Latrine, 🄵 Disposal", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/the-noun-project/2009541.svg"}, - {"key": "portable", "value": "yes", "description": "🄿 Portable Toilet", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/the-noun-project/2009541.svg"}, + {"key": "toilets:disposal", "value": "pitlatrine", "description": "🄿 Pit Latrine, 🄵 Disposal", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/latrine.svg"}, + {"key": "portable", "value": "yes", "description": "🄿 Portable Toilet", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/latrine.svg"}, {"key": "amenity", "value": "townhall", "description": "🄿 Town Hall", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/town_hall.svg"}, {"key": "townhall:type", "value": "city", "description": "🄿 City Hall", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/capitol.svg"}, {"key": "amenity", "value": "toy_library", "description": "🄿 Toy Library", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/fontawesome/fas-chess-knight.svg"}, @@ -624,7 +624,7 @@ {"key": "landuse", "value": "landfill", "description": "🄿 Landfill", "object_types": ["area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/bulldozer.svg"}, {"key": "landuse", "value": "meadow", "description": "🄿 Meadow", "object_types": ["area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/garden-15.svg"}, {"key": "landuse", "value": "military", "description": "🄿 Military Area", "object_types": ["area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/military.svg"}, - {"key": "military", "value": "airfield", "description": "🄿 Military Airfield", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/the-noun-project/2009265.svg"}, + {"key": "military", "value": "airfield", "description": "🄿 Military Airfield", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/fighter_jet.svg"}, {"key": "military", "value": "barracks", "description": "🄿 Barracks", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/army_tent.svg"}, {"key": "military", "value": "danger_area", "description": "🄿 Danger Area", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/danger-15.svg"}, {"key": "military", "value": "naval_base", "description": "🄿 Naval Base", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/anchor_medal.svg"}, @@ -678,7 +678,7 @@ {"key": "leisure", "value": "hackerspace", "description": "🄿 Hackerspace", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/fontawesome/fas-code.svg"}, {"key": "leisure", "value": "horse_riding", "description": "🄿 Horseback Riding Facility, 🄵 Horseback Riding", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/horse-riding-15.svg"}, {"key": "leisure", "value": "ice_rink", "description": "🄿 Ice Rink", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/fontawesome/fas-skating.svg"}, - {"key": "leisure", "value": "marina", "description": "🄿 Marina", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/the-noun-project/2009223.svg"}, + {"key": "leisure", "value": "marina", "description": "🄿 Marina", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/sailboat.svg"}, {"key": "leisure", "value": "miniature_golf", "description": "🄿 Miniature Golf", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/golf_green.svg"}, {"key": "leisure", "value": "nature_reserve", "description": "🄿 Nature Reserve", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/park-15.svg"}, {"key": "leisure", "value": "outdoor_seating", "description": "🄿 Outdoor Seating Area", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/picnic-site-15.svg"}, @@ -1093,7 +1093,7 @@ {"key": "shop", "value": "herbalist", "description": "🄿 Herbalist", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/fontawesome/fas-leaf.svg"}, {"key": "shop", "value": "hifi", "description": "🄿 Hifi Store", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/speaker.svg"}, {"key": "shop", "value": "hobby", "description": "🄿 Hobby Shop", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/fontawesome/fas-dragon.svg"}, - {"key": "shop", "value": "household_linen", "description": "🄿 Household Linen Shop", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/the-noun-project/4306.svg"}, + {"key": "shop", "value": "household_linen", "description": "🄿 Household Linen Shop", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/cloth.svg"}, {"key": "shop", "value": "houseware", "description": "🄿 Houseware Store", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/fontawesome/fas-blender.svg"}, {"key": "shop", "value": "hunting", "description": "🄿 Hunting Shop", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/binoculars.svg"}, {"key": "shop", "value": "interior_decoration", "description": "🄿 Interior Decoration Store", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/shop-15.svg"}, @@ -1169,7 +1169,7 @@ {"key": "shop", "value": "video", "description": "🄿 Video Store", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/movie_rental.svg"}, {"key": "shop", "value": "watches", "description": "🄿 Watches Shop", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/watch-15.svg"}, {"key": "shop", "value": "water_sports", "description": "🄿 Watersport/Swim Shop", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/fontawesome/fas-swimmer.svg"}, - {"key": "shop", "value": "water", "description": "🄿 Drinking Water Shop", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/the-noun-project/2009234.svg"}, + {"key": "shop", "value": "water", "description": "🄿 Drinking Water Shop", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/water_bottle.svg"}, {"key": "shop", "value": "weapons", "description": "🄿 Weapon Shop", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/dagger.svg"}, {"key": "shop", "value": "wholesale", "description": "🄿 Wholesale Store", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/warehouse-15.svg"}, {"key": "shop", "value": "wigs", "description": "🄿 Wig Shop", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/shop-15.svg"}, diff --git a/modules/svg/defs.js b/modules/svg/defs.js index 6f2d873d4..467577e32 100644 --- a/modules/svg/defs.js +++ b/modules/svg/defs.js @@ -13,7 +13,7 @@ export function svgDefs(context) { var _defsSelection = d3_select(null); var _spritesheetIds = [ - 'iD-sprite', 'maki-sprite', 'temaki-sprite', 'fa-sprite', 'tnp-sprite', 'community-sprite' + 'iD-sprite', 'maki-sprite', 'temaki-sprite', 'fa-sprite', 'community-sprite' ]; function drawDefs(selection) { diff --git a/modules/ui/preset_icon.js b/modules/ui/preset_icon.js index 8c61fa3f1..5e04484b0 100644 --- a/modules/ui/preset_icon.js +++ b/modules/ui/preset_icon.js @@ -242,8 +242,7 @@ export function uiPresetIcon() { const isMaki = picon && /^maki-/.test(picon); const isTemaki = picon && /^temaki-/.test(picon); const isFa = picon && /^fa[srb]-/.test(picon); - const isTnp = picon && /^tnp-/.test(picon); - const isiDIcon = picon && !(isMaki || isTemaki || isFa || isTnp); + const isiDIcon = picon && !(isMaki || isTemaki || isFa); const isCategory = !p.setTags; const drawPoint = picon && geom === 'point' && isSmall() && !isFallback; const drawVertex = picon !== null && geom === 'vertex' && (!isSmall() || !isFallback); diff --git a/package.json b/package.json index 98f0d53ec..a4ed89123 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,6 @@ "dist:svg:iD": "svg-sprite --symbol --symbol-dest . --shape-id-generator \"iD-%s\" --symbol-sprite dist/img/iD-sprite.svg \"svg/iD-sprite/**/*.svg\"", "dist:svg:community": "svg-sprite --symbol --symbol-dest . --shape-id-generator \"community-%s\" --symbol-sprite dist/img/community-sprite.svg node_modules/osm-community-index/dist/img/*.svg", "dist:svg:fa": "svg-sprite --symbol --symbol-dest . --symbol-sprite dist/img/fa-sprite.svg svg/fontawesome/*.svg", - "dist:svg:tnp": "svg-sprite --symbol --symbol-dest . --shape-id-generator \"tnp-%s\" --symbol-sprite dist/img/tnp-sprite.svg svg/the-noun-project/*.svg", "dist:svg:maki": "svg-sprite --symbol --symbol-dest . --shape-id-generator \"maki-%s\" --symbol-sprite dist/img/maki-sprite.svg node_modules/@mapbox/maki/icons/*.svg", "dist:svg:mapillary:signs": "svg-sprite --symbol --symbol-dest . --symbol-sprite dist/img/mapillary-sprite.svg node_modules/mapillary_sprite_source/package_signs/*.svg", "dist:svg:mapillary:objects": "svg-sprite --symbol --symbol-dest . --symbol-sprite dist/img/mapillary-object-sprite.svg node_modules/mapillary_sprite_source/package_objects/*.svg", @@ -70,7 +69,7 @@ "@fortawesome/free-brands-svg-icons": "~5.14.0", "@fortawesome/free-regular-svg-icons": "~5.14.0", "@fortawesome/free-solid-svg-icons": "~5.14.0", - "@ideditor/temaki": "~4.1.0", + "@ideditor/temaki": "~4.2.0", "@mapbox/maki": "^6.0.0", "@rollup/plugin-buble": "^0.21.0", "@rollup/plugin-commonjs": "^15.0.0", @@ -105,7 +104,6 @@ "phantomjs-prebuilt": "~2.1.11", "postcss": "^7.0.27", "postcss-selector-prepend": "^0.5.0", - "request": "^2.88.0", "rollup": "~2.23.0", "rollup-plugin-includepaths": "~0.2.3", "rollup-plugin-progress": "^1.1.1", diff --git a/scripts/build_data.js b/scripts/build_data.js index 3d47dd3dc..1e12d8aa9 100644 --- a/scripts/build_data.js +++ b/scripts/build_data.js @@ -74,9 +74,6 @@ function buildData() { 'fas-user-cog': {} }; - // The Noun Project icons used - let tnpIcons = {}; - // all fields searchable under "add field" let searchableFieldIDs = {}; @@ -93,10 +90,10 @@ function buildData() { 'svg/fontawesome/*.svg', ]); - readQAIssueIcons(faIcons, tnpIcons); - let categories = generateCategories(tstrings, faIcons, tnpIcons); - let fields = generateFields(tstrings, faIcons, tnpIcons, searchableFieldIDs); - let presets = generatePresets(tstrings, faIcons, tnpIcons, searchableFieldIDs); + readQAIssueIcons(faIcons); + let categories = generateCategories(tstrings, faIcons); + let fields = generateFields(tstrings, faIcons, searchableFieldIDs); + let presets = generatePresets(tstrings, faIcons, searchableFieldIDs); let defaults = read('data/presets/defaults.json'); let translations = generateTranslations(fields, presets, tstrings, searchableFieldIDs); let taginfo = generateTaginfo(presets, fields); @@ -115,7 +112,6 @@ function buildData() { fs.writeFileSync('data/territory_languages.json', prettyStringify(territoryLanguages, { maxLength: 9999 }) ); writeEnJson(tstrings); writeFaIcons(faIcons); - writeTnpIcons(tnpIcons); // Save individual data files let tasks = [ @@ -177,7 +173,7 @@ function validate(file, instance, schema) { } -function readQAIssueIcons(faIcons, tnpIcons) { +function readQAIssueIcons(faIcons) { const qa = read('data/qa_data.json'); for (const service in qa) { @@ -188,16 +184,12 @@ function readQAIssueIcons(faIcons, tnpIcons) { if (/^fa[srb]-/.test(icon)) { faIcons[icon] = {}; } - // noun project icon, remember for later - if (/^tnp-/.test(icon)) { - tnpIcons[icon] = {}; - } } } } -function generateCategories(tstrings, faIcons, tnpIcons) { +function generateCategories(tstrings, faIcons) { let categories = {}; glob.sync('data/presets/categories/*.json').forEach(file => { @@ -210,17 +202,13 @@ function generateCategories(tstrings, faIcons, tnpIcons) { if (/^fa[srb]-/.test(category.icon)) { faIcons[category.icon] = {}; } - // noun project icon, remember for later - if (/^tnp-/.test(category.icon)) { - tnpIcons[category.icon] = {}; - } }); return categories; } -function generateFields(tstrings, faIcons, tnpIcons, searchableFieldIDs) { +function generateFields(tstrings, faIcons, searchableFieldIDs) { let fields = {}; glob.sync('data/presets/fields/**/*.json').forEach(file => { @@ -254,10 +242,6 @@ function generateFields(tstrings, faIcons, tnpIcons, searchableFieldIDs) { if (/^fa[srb]-/.test(field.icon)) { faIcons[field.icon] = {}; } - // noun project icon, remember for later - if (/^tnp-/.test(field.icon)) { - tnpIcons[field.icon] = {}; - } }); return fields; @@ -373,7 +357,7 @@ function stripLeadingUnderscores(str) { } -function generatePresets(tstrings, faIcons, tnpIcons, searchableFieldIDs) { +function generatePresets(tstrings, faIcons, searchableFieldIDs) { let presets = {}; glob.sync('data/presets/presets/**/*.json').forEach(file => { @@ -397,10 +381,6 @@ function generatePresets(tstrings, faIcons, tnpIcons, searchableFieldIDs) { if (/^fa[srb]-/.test(preset.icon)) { faIcons[preset.icon] = {}; } - // noun project icon, remember for later - if (/^tnp-/.test(preset.icon)) { - tnpIcons[preset.icon] = {}; - } }); presets = Object.assign(presets, suggestionsToPresets(presets)); @@ -525,9 +505,6 @@ function generateTaginfo(presets, fields) { } else if (/^iD-/.test(preset.icon)) { tag.icon_url = 'https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/iD-sprite/presets/' + preset.icon.replace(/^iD-/, '') + '.svg'; - } else if (/^tnp-/.test(preset.icon)) { - tag.icon_url = 'https://cdn.jsdelivr.net/gh/openstreetmap/iD@develop/svg/the-noun-project/' + - preset.icon.replace(/^tnp-/, '') + '.svg'; } coalesceTags(taginfo, tag); @@ -855,89 +832,6 @@ function writeFaIcons(faIcons) { } } - -function writeTnpIcons(tnpIcons) { - /* - * The Noun Project doesn't allow anonymous API access. New "tnp-" icons will - * not be downloaded without a "the_noun_project.auth" file with a json object: - * { - * "consumer_key": "xxxxxx", - * "consumer_secret": "xxxxxx" - * } - */ - let nounAuth; - if (fs.existsSync('the_noun_project.auth')) { - nounAuth = JSON.parse(fs.readFileSync('the_noun_project.auth', 'utf8')); - } - const baseURL = 'http://api.thenounproject.com/icon/'; - - let unusedSvgFiles = fs.readdirSync('svg/the-noun-project', 'utf8') - .reduce((obj, name) => { - if (name.endsWith('.svg')) { - obj[name] = true; - } - return obj; - }, {}); - - for (const key in tnpIcons) { - const id = key.substring(4); - const fileName = `${id}.svg`; - - if (unusedSvgFiles[fileName]) { - delete unusedSvgFiles[fileName]; - } - - const localPath = `svg/the-noun-project/${fileName}`; - - // don't redownload existing icons - if (fs.existsSync(localPath)) continue; - - if (!nounAuth) { - console.error(`No authentication file for The Noun Project. Cannot download icon: ${key}`); - continue; - } - - const url = baseURL + id; - request.get(url, { oauth : nounAuth }, handleTheNounProjectResponse); - } - - // remove icons that are not needed - for (const unusedFileName in unusedSvgFiles) { - shell.rm('-f', [`svg/the-noun-project/${unusedFileName}`]); - } -} - - -function handleTheNounProjectResponse(err, resp, body) { - if (err) { - console.error(err); - return; - } - let icon = JSON.parse(body).icon; - if (icon.license_description !== 'public-domain') { - console.error('The icon "' + icon.term + '" (tnp-' + icon.id + ') from The Noun Project cannot be used in iD because it is not in the public domain.'); - return; - } - let iconURL = icon.icon_url; - if (!iconURL) { - console.error('The Noun Project has not provided a URL to download the icon "' + icon.term + '" (tnp-' + icon.id + ').'); - return; - } - request.get(iconURL, (err2, resp2, svg) => { - if (err2) { - console.error(err2); - return; - } - try { - fs.writeFileSync(`svg/the-noun-project/${icon.id}.svg`, svg); - } catch (error) { - console.error(error); - throw (error); - } - }); -} - - function minifyJSON(inPath, outPath) { return new Promise((resolve, reject) => { fs.readFile(inPath, 'utf8', (err, data) => { diff --git a/svg/the-noun-project/2009223.svg b/svg/the-noun-project/2009223.svg deleted file mode 100644 index a4e014433..000000000 --- a/svg/the-noun-project/2009223.svg +++ /dev/null @@ -1 +0,0 @@ -Asset 579 \ No newline at end of file diff --git a/svg/the-noun-project/2009234.svg b/svg/the-noun-project/2009234.svg deleted file mode 100644 index 628096f5e..000000000 --- a/svg/the-noun-project/2009234.svg +++ /dev/null @@ -1 +0,0 @@ -Asset 464 \ No newline at end of file diff --git a/svg/the-noun-project/2009265.svg b/svg/the-noun-project/2009265.svg deleted file mode 100644 index 20a9d8b9a..000000000 --- a/svg/the-noun-project/2009265.svg +++ /dev/null @@ -1 +0,0 @@ -Asset 578 \ No newline at end of file diff --git a/svg/the-noun-project/2009541.svg b/svg/the-noun-project/2009541.svg deleted file mode 100644 index 57fe651ad..000000000 --- a/svg/the-noun-project/2009541.svg +++ /dev/null @@ -1 +0,0 @@ -Asset 490 \ No newline at end of file diff --git a/svg/the-noun-project/2120771.svg b/svg/the-noun-project/2120771.svg deleted file mode 100644 index 716606914..000000000 --- a/svg/the-noun-project/2120771.svg +++ /dev/null @@ -1 +0,0 @@ -Asset 813 \ No newline at end of file diff --git a/svg/the-noun-project/4306.svg b/svg/the-noun-project/4306.svg deleted file mode 100644 index 717e7e861..000000000 --- a/svg/the-noun-project/4306.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svg/the-noun-project/4310.svg b/svg/the-noun-project/4310.svg deleted file mode 100644 index 578d46f72..000000000 --- a/svg/the-noun-project/4310.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file