X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/eb89a462d4532cf6c6e2d2ae6370548adca1977a..07c0462000b1f7cccdc2fc33499940ee6e899c3e:/vendor/assets/iD/iD.css.erb diff --git a/vendor/assets/iD/iD.css.erb b/vendor/assets/iD/iD.css.erb index c7e02c29b..fbc19869e 100644 --- a/vendor/assets/iD/iD.css.erb +++ b/vendor/assets/iD/iD.css.erb @@ -434,8 +434,9 @@ text.gpx { fill: #FF26D4; } +/* Default - light gray */ path.area.stroke { - stroke: #fff; + stroke: #ddd; stroke-width: 1; } path.area.fill { @@ -455,33 +456,16 @@ path.stroke.old-multipolygon { stroke-linecap: butt; } -path.stroke.tag-natural { - stroke: rgb(182, 225, 153); -} -path.fill.tag-natural { - stroke: rgba(182, 225, 153, 0.3); - fill: rgba(182, 225, 153, 0.3); -} -.preset-icon-fill-area.tag-natural { - border-color: rgb(182, 225, 153); - background-color: rgba(182, 225, 153, 0.3); -} - +/* Green things */ path.stroke.tag-landuse, -path.stroke.tag-natural-wood, -path.stroke.tag-natural-tree, -path.stroke.tag-natural-grassland, -path.stroke.tag-natural-grass, +path.stroke.tag-natural, path.stroke.tag-leisure-nature_reserve, path.stroke.tag-leisure-pitch, path.stroke.tag-leisure-park { stroke: rgb(140, 208, 95); } path.fill.tag-landuse, -path.fill.tag-natural-wood, -path.fill.tag-natural-tree, -path.fill.tag-natural-grassland, -path.fill.tag-natural-grass, +path.fill.tag-natural, path.fill.tag-leisure-nature_reserve, path.fill.tag-leisure-pitch, path.fill.tag-leisure-park { @@ -489,10 +473,7 @@ path.fill.tag-leisure-park { fill: rgba(140, 208, 95, 0.3); } .preset-icon-fill-area.tag-landuse, -.preset-icon-fill-area.tag-natural-wood, -.preset-icon-fill-area.tag-natural-tree, -.preset-icon-fill-area.tag-natural-grassland, -.preset-icon-fill-area.tag-natural-grass, +.preset-icon-fill-area.tag-natural, .preset-icon-fill-area.tag-leisure-nature_reserve, .preset-icon-fill-area.tag-leisure-pitch, .preset-icon-fill-area.tag-leisure-park { @@ -500,6 +481,7 @@ path.fill.tag-leisure-park { background-color: rgba(140, 208, 95, 0.3); } +/* Blue things */ path.stroke.tag-amenity-swimming_pool, path.stroke.tag-leisure-swimming_pool, path.stroke.tag-natural-water, @@ -530,13 +512,27 @@ path.fill.tag-natural-water { background-color: rgba(119, 211, 222, 0.3); } +/* Yellow things */ +.pattern-color-beach, +.pattern-color-sand, +.pattern-color-scrub { + fill: rgba(255, 255, 148, 0.2); +} +path.stroke.tag-leisure-pitch.tag-sport-beachvolleyball, +path.stroke.tag-natural-beach, +path.stroke.tag-natural-sand, +path.stroke.tag-natural-scrub, path.stroke.tag-amenity-childcare, path.stroke.tag-amenity-kindergarten, path.stroke.tag-amenity-school, path.stroke.tag-amenity-college, path.stroke.tag-amenity-university { - stroke: rgb(255, 255, 148); + stroke: rgba(255, 255, 148, 0.75); } +path.fill.tag-leisure-pitch.tag-sport-beachvolleyball, +path.fill.tag-natural-beach, +path.fill.tag-natural-sand, +path.fill.tag-natural-scrub, path.fill.tag-amenity-childcare, path.fill.tag-amenity-kindergarten, path.fill.tag-amenity-school, @@ -545,6 +541,10 @@ path.fill.tag-amenity-university { stroke: rgba(255, 255, 148, 0.15); fill: rgba(255, 255, 148, 0.15); } +.preset-icon-fill-area.tag-leisure-pitch.tag-sport-beachvolleyball, +.preset-icon-fill-area.tag-natural-beach, +.preset-icon-fill-area.tag-natural-sand, +.preset-icon-fill-area.tag-natural-scrub, .preset-icon-fill-area.tag-amenity-childcare, .preset-icon-fill-area.tag-amenity-kindergarten, .preset-icon-fill-area.tag-amenity-school, @@ -554,33 +554,52 @@ path.fill.tag-amenity-university { background-color: rgba(255, 255, 148, 0.15); } -path.stroke.tag-landuse-residential { +/* Gold things */ +.pattern-color-construction { + fill: rgba(196, 189, 25, 0.3); +} +path.stroke.tag-landuse-residential, +path.stroke.tag-landuse.tag-status, +path.stroke.tag-landuse-construction { stroke: rgb(196, 189, 25); } path.fill.tag-landuse-residential { stroke: rgba(196, 189, 25, 0.3); fill: rgba(196, 189, 25, 0.3); } -.preset-icon-fill-area.tag-landuse-residential { +.preset-icon-fill-area.tag-landuse-residential, +.preset-icon-fill-area.tag-landuse.tag-status, +.preset-icon-fill-area.tag-landuse-construction { border-color: rgb(196, 189, 25); background: rgba(196, 189, 25, 0.3); } +/* Orange things */ path.stroke.tag-landuse-retail, -path.stroke.tag-landuse-commercial { +path.stroke.tag-landuse-commercial, +path.stroke.tag-landuse-landfill, +path.stroke.tag-military, +path.stroke.tag-landuse-military { stroke: rgb(214, 136, 26); } path.fill.tag-landuse-retail, -path.fill.tag-landuse-commercial { +path.fill.tag-landuse-commercial, +path.fill.tag-landuse-landfill, +path.fill.tag-military, +path.fill.tag-landuse-military { stroke: rgba(214, 136, 26, 0.3); fill: rgba(214, 136, 26, 0.3); } .preset-icon-fill-area.tag-landuse-retail, -.preset-icon-fill-area.tag-landuse-commercial { +.preset-icon-fill-area.tag-landuse-commercial, +.preset-icon-fill-area.tag-landuse-landfill, +.preset-icon-fill-area.tag-military, +.preset-icon-fill-area.tag-landuse-military { border-color: rgb(214, 136, 26); background-color: rgba(214, 136, 26, 0.3); } +/* Pink things */ path.stroke.tag-landuse-industrial, path.stroke.tag-power-plant { stroke: rgb(228, 164, 245); @@ -596,127 +615,42 @@ path.fill.tag-power-plant { background-color: rgba(228, 164, 245, 0.3); } -path.stroke.tag-natural-bare_rock, -path.stroke.tag-natural-scree, -path.stroke.tag-landuse-railway, -path.stroke.tag-landuse-quarry { - stroke: rgb(166, 149, 123); -} -path.fill.tag-natural-bare_rock, -path.fill.tag-natural-scree, -path.fill.tag-landuse-railway, -path.fill.tag-landuse-quarry { - stroke: rgba(166, 149, 123, 0.2); - fill: rgba(166, 149, 123, 0.2); -} -.preset-icon-fill-area.tag-natural-bare_rock, -.preset-icon-fill-area.tag-natural-scree, -.preset-icon-fill-area.tag-landuse-railway, -.preset-icon-fill-area.tag-landuse-quarry { - border-color: rgb(166, 149, 123); - background-color: rgba(166, 149, 123, 0.2); -} - -path.stroke.tag-landuse-landfill { - stroke: rgb(255, 153, 51); -} -path.fill.tag-landuse-landfill { - stroke: rgba(255, 153, 51, 0.2); - fill: rgba(255, 153, 51, 0.2); -} -.preset-icon-fill-area.tag-landuse-landfill { - border-color: rgb(255, 153, 51); - background-color: rgba(255, 153, 51, 0.2); -} - -.pattern-color-construction { - fill: rgba(196, 189, 25, 0.2); -} -path.stroke.tag-landuse.tag-status, -path.stroke.tag-landuse-construction { - stroke: rgb(196, 189, 25); -} -.preset-icon-fill-area.tag-landuse.tag-status, -.preset-icon-fill-area.tag-landuse-construction { - border-color: rgb(196, 189, 25); - background-color: rgba(196, 189, 25, 0.2); -} - -path.stroke.tag-military, -path.stroke.tag-landuse-military { - stroke: rgb(214, 136, 26); -} -path.fill.tag-military, -path.fill.tag-landuse-military { - stroke: rgba(214, 136, 26, 0.2); - fill: rgba(214, 136, 26, 0.2); -} -.preset-icon-fill-area.tag-military, -.preset-icon-fill-area.tag-landuse-military { - border-color: rgb(214, 136, 26); - background-color: rgba(214, 136, 26, 0.2); -} - +/* Teal things */ .pattern-color-wetland { - fill: rgba(182, 225, 153, 0.2); + fill: rgba(153, 225, 170, 0.3); } path.stroke.tag-natural-wetland { - stroke: rgb(182, 225, 153); + stroke: rgb(153, 225, 170); } .preset-icon-fill-area.tag-natural-wetland { - border-color: rgb(182, 225, 153); - background-color: rgba(182, 225, 153, 0.2); -} - -.pattern-color-meadow { - fill: rgba(182, 225, 153, 0.2); -} -path.stroke.tag-landuse-meadow { - stroke: rgb(182, 225, 153); -} -.preset-icon-fill-area.tag-landuse-meadow { - border-color: rgb(182, 225, 153); - background-color: rgba(182, 225, 153, 0.2); -} - -.pattern-color-beach, -.pattern-color-sand { - fill: rgba(255, 255, 126, 0.2); -} -path.stroke.tag-natural-beach, -path.stroke.tag-natural-sand { - stroke: rgb(255, 255, 126); -} -.preset-icon-fill-area.tag-natural-beach, -.preset-icon-fill-area.tag-natural-sand { - border-color: rgb(255, 255, 126); - background-color: rgba(255, 255, 126, 0.2); -} - -.pattern-color-scrub { - fill: rgba(219, 240, 139, 0.2); -} -path.stroke.tag-natural-scrub { - stroke: rgb(219, 240, 139); -} -.preset-icon-fill-area.tag-natural-scrub { - border-color: rgb(219, 240, 139); - background-color: rgba(219, 240, 139, 0.2); + border-color: rgb(153, 225, 170); + background-color: rgba(153, 225, 170, 0.2); } +/* Light Green things */ +.pattern-color-cemetery, +.pattern-color-orchard, +.pattern-color-meadow, .pattern-color-farm, .pattern-color-farmland { - fill: rgba(140, 208, 95, 0.2); + fill: rgba(191, 232, 63, 0.2); } +path.stroke.tag-landuse-cemetery, +path.stroke.tag-landuse-orchard, +path.stroke.tag-landuse-meadow, path.stroke.tag-landuse-farm, path.stroke.tag-landuse-farmland { - stroke: rgb(140, 208, 95); + stroke: rgb(191, 232, 63); } +.preset-icon-fill-area.tag-landuse-cemetery, +.preset-icon-fill-area.tag-landuse-orchard, +.preset-icon-fill-area.tag-landuse-meadow, .preset-icon-fill-area.tag-landuse-farm, .preset-icon-fill-area.tag-landuse-farmland { - background-color: rgba(140, 208, 95, 0.2); + background-color: rgba(191, 232, 63, 0.2); } +/* Tan things */ path.stroke.tag-landuse-farmyard { stroke: rgb(245, 220, 186); } @@ -729,29 +663,51 @@ path.fill.tag-landuse-farmyard { background: rgba(245, 220, 186, 0.3); } -.pattern-color-cemetery, -.pattern-color-orchard { - fill: rgba(140, 208, 95, 0.2); +/* Dark Gray things */ +path.stroke.tag-amenity-parking, +path.stroke.tag-leisure-pitch.tag-sport-basketball, +path.stroke.tag-leisure-pitch.tag-sport-skateboard, +path.stroke.tag-natural-bare_rock, +path.stroke.tag-natural-scree, +path.stroke.tag-landuse-railway, +path.stroke.tag-landuse-quarry { + stroke: #bbb; } -path.stroke.tag-landuse-cemetery, -path.stroke.tag-landuse-orchard { - stroke: rgb(140, 208, 95); +path.fill.tag-amenity-parking, +path.fill.tag-leisure-pitch.tag-sport-basketball, +path.fill.tag-leisure-pitch.tag-sport-skateboard, +path.fill.tag-natural-bare_rock, +path.fill.tag-natural-scree, +path.fill.tag-landuse-railway, +path.fill.tag-landuse-quarry { + stroke: rgba(140, 140, 140, 0.5); + fill: rgba(140, 140, 140, 0.5); } -.preset-icon-fill-area.tag-landuse-cemetery, -.preset-icon-fill-area.tag-landuse-orchard { - background-color: rgba(140, 208, 95, 0.2); +.preset-icon-fill-area.tag-amenity-parking, +.preset-icon-fill-area.tag-leisure-pitch.tag-sport-basketball, +.preset-icon-fill-area.tag-leisure-pitch.tag-sport-skateboard, +.preset-icon-fill-area.tag-natural-bare_rock, +.preset-icon-fill-area.tag-natural-scree, +.preset-icon-fill-area.tag-landuse-railway, +.preset-icon-fill-area.tag-landuse-quarry { + border-color: rgb(170, 170, 170); + background-color: rgba(140, 140, 140, 0.5); } -path.stroke.tag-amenity-parking { - stroke: rgb(170, 170, 170); +/* Light gray overrides */ +path.stroke.tag-natural-cave_entrance, +path.stroke.tag-natural-glacier { + stroke: #ddd; } -path.fill.tag-amenity-parking { - stroke: rgba(170, 170, 170, 0.3); - fill: rgba(170, 170, 170, 0.3); +path.fill.tag-natural-cave_entrance, +path.fill.tag-natural-glacier { + stroke: rgba(255, 255, 255, 0.3); + fill: rgba(255, 255, 255, 0.3); } -.preset-icon-fill-area.tag-amenity-parking { +.preset-icon-fill-area.tag-natural-cave_entrance, +.preset-icon-fill-area.tag-natural-glacier { border-color: rgb(170, 170, 170); - background-color: rgba(170, 170, 170, 0.3); + background: rgba(170, 170, 170, 0.3); } /* highways */ @@ -769,10 +725,11 @@ path.stroke.tag-highway { /* highway areas */ -path.stroke.area.tag-highway { +path.stroke.area.tag-highway, +.low-zoom path.stroke.area.tag-highway { stroke: #fff; stroke-dasharray: none; - stroke-width: 2; + stroke-width: 1; } /* wide highways */ @@ -1217,6 +1174,20 @@ path.casing.tag-service { stroke:#666; } +/* with `service=* tag` (e.g. parking_aisle, alley, drive-through */ +.preset-icon .icon.highway-service.tag-service { + color: #dcd9b9; + fill: #666; +} +path.stroke.tag-highway-service.tag-service, +path.stroke.tag-service.tag-service { + stroke: #dcd9b9; +} +path.casing.tag-highway-service.tag-service, +path.casing.tag-service.tag-service { + stroke: #666; +} + .preset-icon .icon.highway-track { color: #eaeaea; fill: #c5b59f; @@ -1346,10 +1317,11 @@ g.midpoint.tag-highway-bridleway .fill { /* aeroways */ /* areas */ -path.stroke.area.tag-aeroway { - stroke:#fff; +path.stroke.area.tag-aeroway, +.low-zoom path.stroke.area.tag-aeroway { + stroke: #fff; stroke-dasharray: none; - stroke-width: 2; + stroke-width: 1; } /* narrow aeroways (taxiway) */ @@ -1444,6 +1416,20 @@ path.fill.tag-aeroway-runway { fill: #eee; } +/* railway areas */ + +path.stroke.area.tag-railway, +.low-zoom path.stroke.area.tag-railway { + stroke: white; + stroke-width: 1; + stroke-dasharray: none; +} + +path.casing.area.tag-railway, +.low-zoom path.casing.area.tag-railway { + stroke: none; +} + /* narrow widths */ path.shadow.tag-railway { @@ -1505,23 +1491,45 @@ path.stroke.tag-railway-subway { } +/* railway platforms - like sidewalks */ + +.preset-icon .icon.highway-footway.tag-railway-platform { + color: #ae8681; + fill: #dcd9b9; +} +path.shadow.tag-railway-platform { + stroke-width: 16; +} path.casing.tag-railway-platform { - stroke: none; + stroke: #dcd9b9; + stroke-width: 5; + stroke-linecap: round; + stroke-dasharray: none; } path.stroke.tag-railway-platform { - stroke: #999; - stroke-width: 4; - stroke-dasharray: none; + stroke: #ae8681; + stroke-width: 3; + stroke-linecap: butt; + stroke-dasharray: 6, 6; } - -.area.stroke.tag-railway { - stroke: white; +.low-zoom path.shadow.tag-railway-platform { + stroke-width: 12; +} +.low-zoom path.casing.tag-railway-platform { + stroke-width: 3; +} +.low-zoom path.stroke.tag-railway-platform { stroke-width: 1; - stroke-dasharray: none; + stroke-linecap: butt; + stroke-dasharray: 3, 3; } -.area.casing.tag-railway { - stroke: none; + +g.midpoint.tag-railway-platform .fill { + fill: #fff; + stroke: #333; + stroke-opacity: .8; + opacity: .8; } /* waterways */ @@ -1531,6 +1539,7 @@ path.stroke.tag-railway-platform { } .preset-icon .icon.category-water, .preset-icon .icon.tag-route-ferry, +.preset-icon .icon.tag-type-waterway, .preset-icon .icon.tag-waterway { color: #77d3de; fill: #fff; @@ -1932,8 +1941,7 @@ path.fill.tag-amenity-shelter { .turn rect, .turn circle { - cursor: pointer; /* Opera */ - cursor: url(<%= asset_path("iD/img/cursor-pointer.png") %>) 6 1, pointer; /* FF */ + cursor: pointer; } /* Mapillary Image Layer */ @@ -1983,9 +1991,9 @@ path.fill.tag-amenity-shelter { .layer-mapillary-signs .icon-sign .icon-sign-body { min-width: 20px; - height: 28px; - width: 28px; - border: 2px solid transparent; + height: 24px; + width: 24px; + outline: 2px solid transparent; pointer-events: visible; cursor: pointer; /* Opera */ cursor: url(<%= asset_path("iD/img/cursor-select-mapillary.png") %>) 6 1, pointer; /* FF */ @@ -1994,23 +2002,61 @@ path.fill.tag-amenity-shelter { } .layer-mapillary-signs .icon-sign:hover .icon-sign-body { - border: 2px solid rgba(255,198,0,0.8); + outline: 2px solid rgba(255,198,0,0.8); z-index: 80; - } +} .layer-mapillary-signs .icon-sign.selected .icon-sign-body { - border: 2px solid rgba(255,0,0,0.8); + outline: 2px solid rgba(255,0,0,0.8); z-index: 80; - } +} -.layer-mapillary-signs .icon-sign .t { - font-size: 28px; - z-index: 70; + +/* Mapillary viewer */ +#mly .domRenderer .TagSymbol { + font-size: 10px; + background-color: rgba(0, 0, 0, 0.4); + padding: 0 4px; + border-radius: 4px; + top: -25px; } -.layer-mapillary-signs .icon-sign:hover .t, -.layer-mapillary-signs .icon-sign.selected .t { - z-index: 80; +#mly .domRenderer .Attribution { + width: 100%; + font-size: 10px; + text-align: right; +} + +.mapillary-wrap { + position: absolute; + bottom: 30px; + width: 330px; + height: 250px; + padding: 5px; + background-color: #fff; +} + +.mapillary-wrap.hidden { + visibility: hidden; +} + +.mapillary-wrap button.thumb-hide { + border-radius: 0; + padding: 5px; + position: absolute; + right: 0; + top: 0; + z-index: 500; +} + +.mly-wrapper { + visibility: hidden; + width: 100%; + height: 100%; +} + +.mly-wrapper.active { + visibility: visible; } /* Fill Styles */ @@ -2131,6 +2177,22 @@ body { transition-duration: 200ms; } +/* Firefox has its own ideas about fixed positioning when a css filter is active - #4348 */ +/* https://stackoverflow.com/questions/37949942/firefox-position-bug-by-parent-with-filter */ +@-moz-document url-prefix() { + #content > #bar { + width: 100vw; + } + #content.inactive > #bar > .spacer.col4 { + width: 0px; + } + #content.active > #bar > .spacer.col4 { + width: 33.3333%; + transition-duration: 200ms; + transition-timing-function: step-end; + } +} + #defs { /* Can't be display: none or the clippaths are ignored. */ position: absolute; @@ -2191,8 +2253,7 @@ button, .checkselect label:hover, .opacity-options li, .radial-menu-item { - cursor: pointer; /* Opera */ - cursor: url(<%= asset_path("iD/img/cursor-pointer.png") %>) 6 1, pointer; /* FF */ + cursor: pointer; } h2 { @@ -2300,6 +2361,12 @@ input[type="radio"] { margin-right: 5px; margin-top: 3px; } +[dir='rtl'] input[type="checkbox"], +[dir='rtl'] input[type="radio"] { + float: right; + margin-left: 5px; + margin-right: 0; +} /* remove bottom border radius when combobox is open */ .combobox + * textarea:focus, @@ -2528,23 +2595,37 @@ button.minor:hover { .button-wrap:last-of-type { padding-right: 0; } +[dir='rtl'] .button-wrap:last-of-type { + padding-left: 0; + padding-right: 10px; +} .joined button { border-radius:0; border-right: 1px solid rgba(0,0,0,.5); } +[dir='rtl'] .joined button { + border-left: 1px solid rgba(0,0,0,.5); + border-right: none; +} .fillL .joined button { border-right: 1px solid white; } .joined button:first-child { - border-radius:4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +[dir='rtl'] .joined button:first-child { + border-radius: 0 4px 4px 0; } .joined button:last-child { border-right-width: 0; - border-radius:0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +[dir='rtl'] .joined button:last-child { + border-radius: 4px 0 0 4px; } button.action { @@ -2591,6 +2672,10 @@ button.save.has-count .count { margin: auto; margin-left: 9.3333%; } +[dir='rtl'] button.save.has-count .count { + margin-left: auto; + margin-right: 8%; +} button.save.has-count .count::before { content: ""; @@ -2607,6 +2692,12 @@ button.save.has-count .count::before { border-right-style: solid; border-right-color: inherit; } +[dir='rtl'] button.save.has-count .count::before { + border-left: 6px solid rgba(255,255,255,.5); + border-right: none; + left: auto; + right: -6px; +} /* Icons */ @@ -2626,6 +2717,10 @@ button.save.has-count .count::before { .icon.pre-text { margin-right: 5px; } +[dir='rtl'] .icon.pre-text { + margin-left: 5px; + margin-right: 0; +} .icon.light { color: #fff; @@ -2658,18 +2753,24 @@ button.save.has-count .count::before { #bar { position: fixed; padding: 10px 0; - left:0; - top:0; - right:0; - height:60px; + left: 0; + top: 0; + right: 0; + height: 60px; z-index: 9; min-width: 768px; } +[dir='rtl'] #bar .spacer, +[dir='rtl'] #bar .button-wrap, +[dir='rtl'] #bar .button-wrap button { + float: right; +} + + +/* Header for modals / panes +------------------------------------------------------- */ -/* Header for modals / panes -------------------------------------------------------- */ - .header { border-bottom: 1px solid #ccc; height: 60px; @@ -2684,6 +2785,10 @@ button.save.has-count .count::before { overflow: hidden; padding: 20px 20px 20px 40px; } +[dir='rtl'] .header h3 { + text-align: right; + padding: 20px 40px 20px 20px; +} .header button, .modal > button { @@ -2704,12 +2809,21 @@ button.save.has-count .count::before { right: 0; top: 0; } +[dir='rtl'] .entity-editor-pane .header button.preset-close, +[dir='rtl'] .preset-list-pane .header button.preset-choose { + left: 0; + right: auto; +} .entity-editor-pane .header button.preset-choose { position: absolute; left: 0; top: 0; } +[dir='rtl'] .entity-editor-pane .header button.preset-choose { + left: auto; + right: 0; +} .preset-choose { font-size: 16px; @@ -2724,6 +2838,10 @@ button.save.has-count .count::before { height: 60px; z-index: 50; } +[dir='rtl'] .modal > button { + left: 0; + right: unset; +} .footer { position: absolute; @@ -2755,6 +2873,9 @@ button.save.has-count .count::before { background: #f6f6f6; -ms-user-select: element; } +[dir='rtl'] #sidebar { + float: right; +} .sidebar-component { position: absolute; @@ -2811,6 +2932,10 @@ button.save.has-count .count::before { top: 80px; pointer-events: none; } +[dir='rtl'] #sidebar .search-header .icon { + left: auto; + right: 10px; +} #sidebar .search-header input { position: absolute; @@ -2864,6 +2989,9 @@ button.save.has-count .count::before { overflow: hidden; border-left: 1px solid rgba(0, 0, 0, .1); } +[dir='rtl'] .feature-list-item .label { + text-align: right; +} .feature-list-item .label .icon { opacity: .5; @@ -2891,6 +3019,11 @@ button.save.has-count .count::before { color: #666; padding-left: 10px; } +[dir='rtl'] .feature-list-item .entity-name { + padding-left: 0; + padding-right: 10px; +} + /* Presets ------------------------------------------------------- */ @@ -2940,6 +3073,7 @@ button.save.has-count .count::before { border: 1.5px solid #333; border-radius: 20px; background-color: #efefef; + backface-visibility: hidden; } [dir='rtl'] .preset-icon-fill-vertex, @@ -3014,6 +3148,19 @@ button.save.has-count .count::before { height: 24px; } +[dir='rtl'] .preset-list-button-wrap .preset-icon { + left: auto; + right: auto; +} + +[dir='rtl'] .preset-list-button-wrap .preset-icon-28 { + right: 16px; +} + +[dir='rtl'] .preset-list-button-wrap .preset-icon-24 { + right: 18px; +} + .preset-list-button .label { background-color: #f6f6f6; text-align: left; @@ -3029,7 +3176,15 @@ button.save.has-count .count::before { overflow: hidden; border-left: 1px solid rgba(0, 0, 0, .1); border-radius: 0 3px 3px 0; - } +} +[dir='rtl'] .preset-list-button .label { + text-align: right; + left: 0; + right: 60px; + border-left: none; + border-right: 1px solid rgba(0, 0, 0, .1); + border-radius: 3px 0 0 3px; +} .preset-list-button:hover .label { background-color: #ececec; @@ -3042,9 +3197,14 @@ button.save.has-count .count::before { position: absolute; top: 0; right: 0; - width: 10%; + width: 32px; background: #fafafa; } +[dir='rtl'] .preset-list-item button.tag-reference-button { + left: 0; + right: auto; + border-radius: 3px 0 0 3px; +} .preset-list-item button.tag-reference-button:hover { background: #f1f1f1; @@ -3098,21 +3258,25 @@ button.save.has-count .count::before { /* preset form basics */ -.inspector-preset { +.preset-editor { overflow: hidden; padding-bottom: 10px; } -.inspector-preset a.hide-toggle { +.preset-editor a.hide-toggle { margin: 0 20px 10px 20px; } -.inspector-preset .preset-form { +.preset-editor .form-fields-container { padding: 10px; margin: 0 10px 10px 10px; border-radius: 8px; } +.preset-editor .form-fields-container:empty { + display: none; +} + .entity-editor-pane .preset-list-item .preset-list-button-wrap { margin-bottom: 0; } @@ -3126,7 +3290,8 @@ button.save.has-count .count::before { transition: margin-bottom 200ms; } -.form-field:last-child { +.form-field.nowrap, +.wrap-form-field:last-child .form-field { margin-bottom: 0; } @@ -3167,7 +3332,7 @@ button.save.has-count .count::before { .form-label button { border-left: 1px solid #ccc; - width: 10%; + width: 32px; height: 100%; border-radius: 0; background: #f6f6f6; @@ -3176,6 +3341,7 @@ button.save.has-count .count::before { border-left: none; border-right: 1px solid #CCC; border-radius: 4px 0 0 0; + width: 31px; } .form-label button:hover { background: #f1f1f1; @@ -3216,6 +3382,7 @@ button.save.has-count .count::before { .inspector-hover .form-field-multicombo, .inspector-hover .structure-extras-wrap, .inspector-hover input, +.inspector-hover textarea, .inspector-hover label { background: #ececec; } @@ -3339,6 +3506,9 @@ button.save.has-count .count::before { padding: 0 20px 20px 20px; font-weight: bold; } +.changeset-editor .more-fields { + padding: 15px 20px 0 20px; +} .more-fields label { display: flex; @@ -3362,17 +3532,21 @@ button.save.has-count .count::before { padding: 5px 10px; } +[dir='rtl'] .preset-input-wrap .col6 { + float: right; +} /* preset form access */ /* preset form cycleway */ +/* preset form structure extras */ -.form-field-structure .structure-extras-wrap li, +.structure-extras-wrap li, .form-field-cycleway .preset-input-wrap li, .form-field-access .preset-input-wrap li { border-bottom: 1px solid #ccc; } -.form-field-structure .structure-extras-wrap li:last-child, +.structure-extras-wrap li:last-child, .form-field-cycleway .preset-input-wrap li:last-child, .form-field-access .preset-input-wrap li:last-child { border-bottom: 0; @@ -3405,6 +3579,34 @@ button.save.has-count .count::before { border: 1px solid #ccc; border-radius: 4px; } +.structure-extras-wrap li:first-child span { + border-top-left-radius: 4px; +} +.structure-extras-wrap li:first-child input { + border-top-right-radius: 4px; +} +.structure-extras-wrap li:last-child span { + border-bottom-left-radius: 4px; +} +.structure-extras-wrap li:last-child input { + border-bottom-right-radius: 4px; +} +[dir='rtl'] .structure-extras-wrap li:first-child span { + border-top-left-radius: 0; + border-top-right-radius: 4px; +} +[dir='rtl'] .structure-extras-wrap li:first-child input { + border-top-right-radius: 0; + border-top-left-radius: 4px; +} +[dir='rtl'] .structure-extras-wrap li:last-child span { + border-bottom-left-radius: 0; + border-bottom-right-radius: 4px; +} +[dir='rtl'] .structure-extras-wrap li:last-child input { + border-bottom-right-radius: 0; + border-bottom-left-radius: 4px; +} /* preset form multicombo */ @@ -3429,14 +3631,15 @@ button.save.has-count .count::before { } .form-field-multicombo li { + display: inline-flex; + flex-flow: row nowrap; + align-items: center; background-color: #eff2f7; border: 1px solid #ccd5e3; border-radius: 4px; line-height: 25px; - display: inline-block; padding: 2px 5px; margin: 3px; - height: 30px; } .form-field-multicombo a { @@ -3454,6 +3657,7 @@ button.save.has-count .count::before { border: 1px solid #ddd; width: 100px; margin: 3px; + height: 31px; } .form-field-multicombo .combobox-caret { @@ -3473,28 +3677,43 @@ input[type=number] { } .spin-control { - width: 20%; - height: 29px; + width: 64px; + height: 30px; display: inline-block; - margin-left: -20%; + margin-left: -64px; margin-bottom: -11px; position: relative; } +[dir='rtl'] .spin-control{ + margin-left: 0; + margin-right: -64px; +} .spin-control button { right: 1px; position: relative; float: left; height: 100%; - width: 50%; + width: 32px; border-left: 1px solid #CCC; border-radius: 0; background: rgba(0, 0, 0, 0); } +[dir='rtl'] .spin-control button{ + border-left: 0; + border-right: 1px solid #CCC; +} .spin-control button.decrement { border-bottom-right-radius: 3px; } +[dir='rtl'] .spin-control button.decrement { + border-bottom-right-radius: 0; +} +[dir='rtl'] .spin-control button.increment { + border-bottom-left-radius: 3px; + right: 0; +} .spin-control button.decrement::after, .spin-control button.increment::after { @@ -3517,6 +3736,7 @@ input[type=number] { border-right: 5px solid transparent; } + /* preset form checkbox */ .checkselect label:last-of-type { @@ -3600,11 +3820,11 @@ input[type=number] { } .form-field .wiki-title ~ .combobox-caret { - right: 10%; + right: 32px; } [dir='rtl'] .form-field .wiki-title ~ .combobox-caret { right: auto; - left: 10%; + left: 32px; } /* Localized field */ @@ -3619,8 +3839,8 @@ input[type=number] { .form-field .button-input-action { position: relative; right: 1px; - width: 10%; - margin-left: -10%; + width: 32px; + margin-left: -32px; border: 1px solid #CCC; border-top-width: 0; border-right-width: 0; @@ -3630,7 +3850,7 @@ input[type=number] { } [dir='rtl'] .form-field .button-input-action { margin-left: 0; - margin-right: -10%; + margin-right: -32px; border-right-width: 1px; border-radius: 0 0 0 4px; } @@ -3776,6 +3996,10 @@ div.combobox { margin-left: -30px; vertical-align: top; } +[dir='rtl'] .combobox-caret { + margin-left: 0; + margin-right: -30px; +} .combobox-caret::after { content:""; @@ -3948,18 +4172,17 @@ button.minor.tag-reference-loading { clear: both; } -.tag-reference-body p, -.tag-reference-body img { - margin-top: 20px; -} - -.tag-reference-body p:last-child { - padding-bottom: 10px; +.tag-reference-body .tag-reference-description { + margin: 10px 5px 0 5px; } .tag-reference-body a { display: block; - padding-bottom: 10px; +} + +.tag-reference-body .tag-reference-description:last-child, +.tag-reference-body a:last-child { + margin-bottom: 15px; } .preset-list .tag-reference-body { @@ -3967,41 +4190,35 @@ button.minor.tag-reference-loading { width: 100%; } -.preset-list .tag-reference-body a { - padding-bottom: 20px; -} - -.preset-list .tag-reference-body p, -.preset-list .tag-reference-body img { - margin-top: 10px; -} - .raw-tag-editor .tag-reference-body { - border-bottom: 1px solid #ccc; float: left; width: 100%; } -.raw-tag-editor .tag-reference-body p:last-child { - padding-bottom: 20px; +.raw-tag-editor .tag-row.readonly .tag-reference-body { + background: #f6f6f6; + color: #333; } -.raw-tag-editor .tag-reference-body a { - padding-bottom: 20px; +.raw-tag-editor .tag-row:not(:last-child) .tag-reference-body { + border-bottom: 1px solid #ccc; +} + +.raw-tag-editor .tag-row.readonly .tag-reference-body.expanded { + border-top: 1px solid #ccc; } -img.wiki-image { +img.tag-reference-wiki-image { float: right; width: 33.3333%; width: -webkit-calc(33.3333% - 10px); width: calc(33.3333% - 10px); - margin-left: 20px; - margin-right: 10px; border-radius: 4px; max-height: 200px; - margin-bottom: 20px; + margin: 10px 5px 15px 20px; } + /* Raw relation membership editor */ .raw-member-editor .member-list li:first-child, @@ -4041,6 +4258,14 @@ img.wiki-image { background: rgba(0,0,0,.8); } +/* hidden field to prevent user from tabbing out of the sidebar */ +input.key-trap { + height: 0px; + width: 0px; + padding: 0px; + border: 1px solid rgba(0,0,0,0); +} + /* Fullscreen button */ div.full-screen { float: right; @@ -4071,6 +4296,10 @@ div.full-screen > button:hover { position: fixed; z-index: 100; } +[dir='rtl'] .map-controls { + left: 0; + right: auto; +} .map-control > button { width: 40px; @@ -4092,6 +4321,9 @@ div.full-screen > button:hover { .zoombuttons button.zoom-in { border-radius: 4px 0 0 0; } +[dir='rtl'] .zoombuttons button.zoom-in { + border-radius: 0 4px 0 0; +} /* Background / Map Data Settings */ @@ -4102,6 +4334,9 @@ div.full-screen > button:hover { .background-control button { border-radius: 4px 0 0 0; } +[dir='rtl'] .background-control button { + border-radius: 0 4px 0 0; +} .map-data-control, .background-control { @@ -4165,6 +4400,10 @@ div.full-screen > button:hover { float: right; } +[dir='rtl'] .list-item-gpx-browse svg { + transform: rotateY(180deg); +} + /* make sure tooltip fits in map-control panel */ /* if too wide, placement will be wrong the first time it displays */ .layer-list li.best .tooltip-inner { @@ -4202,9 +4441,13 @@ div.full-screen > button:hover { .hide-toggle { display: block; - padding-left:12px; + padding-left: 12px; position: relative; } +[dir='rtl'] .hide-toggle { + padding-left: 0; + padding-right: 12px; +} .hide-toggle:before { content: ''; @@ -4218,6 +4461,12 @@ div.full-screen > button:hover { border-bottom: 4px solid transparent; border-left: 8px solid #7092ff; } +[dir='rtl'] .hide-toggle:before { + left: auto; + right: 0; + border-left: none; + border-right: 8px solid #7092ff; +} .hide-toggle.expanded:before { border-top: 8px solid #7092ff; @@ -4225,6 +4474,11 @@ div.full-screen > button:hover { border-right: 4px solid transparent; border-left: 4px solid transparent; } +[dir='rtl'] .hide-toggle.expanded:before { + border-left: 4px solid transparent; + border-right: 4px solid transparent; +} + /* Adjust Alignment controls */ @@ -4355,13 +4609,17 @@ div.full-screen > button:hover { .opacity-options { background: url(<%= asset_path("iD/img/background-pattern-opacity.png") %>) 0 0 repeat; - height:20px; - width:82px; + height: 20px; + width: 82px; position: absolute; right: 50px; top: 20px; border: 1px solid #ccc; } +[dir='rtl'] .opacity-options { + left: 50px; + right: auto; +} .opacity-options li { height: 100%; @@ -4371,8 +4629,8 @@ div.full-screen > button:hover { .opacity-options li .select-box{ position: absolute; - width:20px; - height:18px; + width: 20px; + height: 18px; z-index: 9999; } @@ -4407,6 +4665,12 @@ div.full-screen > button:hover { border-left: 1px solid #CCC; border-radius: 0; } +[dir='rtl'] .map-data-control .layer-list button, +[dir='rtl'] .background-control .layer-list button { + float: left; + border-left: none; + border-right: 1px solid #CCC; +} .map-data-control .layer-list button .icon, .background-control .layer-list button .icon { @@ -4417,6 +4681,10 @@ div.full-screen > button:hover { .background-control .layer-list button:first-of-type { border-radius: 0 3px 3px 0; } +[dir='rtl'] .map-data-control .layer-list button:first-of-type, +[dir='rtl'] .background-control .layer-list button:first-of-type { + border-radius: 3px 0 0 3px; +} .map-data-control .map-overlay, .background-control .map-overlay, @@ -4424,7 +4692,6 @@ div.full-screen > button:hover { z-index: -1; } - /* Geolocator */ .geolocate-control { @@ -4434,6 +4701,9 @@ div.full-screen > button:hover { .geolocate-control button { border-radius: 0 0 0 4px; } +[dir='rtl'] .geolocate-control button { + border-radius: 0 0 4px 0; +} .map-overlay.content { position: fixed; @@ -4443,12 +4713,20 @@ div.full-screen > button:hover { right: 0; overflow: auto; } +[dir='rtl'] .map-overlay.content { + padding: 20px 20px 20px 50px; + left: 0; + right: auto !important; +} /* Help */ .help-control button { border-radius: 0 0 0 4px; } +[dir='rtl'] .help-control button { + border-radius: 0 0 4px 0; +} .help-wrap p { font-size: 15px; @@ -4770,6 +5048,9 @@ img.tile-removing { background: none; color: #ddd; } +[dir='rtl'] .panel-title button.close { + float: left; +} .panel-title button.close:hover { color: #fff; @@ -5359,32 +5640,55 @@ img.tile-removing { float: left; height: 12px; min-width: 12px; - font-size:12px; + font-size: 12px; line-height: 12px; - border-radius:24px; - padding:5px; - background:#7092ff; - color:#fff; + border-radius: 24px; + padding: 5px; + background: #7092ff; + color: #fff; } +.mode-save .field-warning { + background: #ffb; + border: 1px solid #ccc; + border-radius: 4px; + padding: 10px; +} + +.mode-save .field-warning:empty { + display: none; +} + +.mode-save .field-warning, +.mode-save .changeset-info, +.mode-save .request-review, .mode-save .commit-info { margin-bottom: 10px; } +.mode-save .request-review label { + cursor: pointer; +} + .mode-save .changeset-list { - border:1px solid #ccc; + border: 1px solid #ccc; border-radius: 4px; - background:#fff; + background: #fff; + margin-bottom: 10px; +} + +.mode-save .warning-section { + background: #ffb; } .mode-save .warning-section .changeset-list button { - border-left: 1px solid #CCC; + border-left: 1px solid #ccc; } .mode-save .changeset-list li { position: relative; - border-top:1px solid #ccc; - padding:5px 10px; + border-top: 1px solid #ccc; + padding: 5px 10px; cursor: pointer; } @@ -5397,8 +5701,8 @@ img.tile-removing { } .changeset-list li span.count { - font-size:10px; - color:#555; + font-size: 10px; + color: #555; } .mode-save .commit-section .changeset-list button { @@ -5466,31 +5770,34 @@ img.tile-removing { .notice { position: absolute; - top: 0; - bottom: 0; + top: 50%; + bottom: 50%; left: 0; right: 0; text-align: center; - background: #fff; } .notice .zoom-to { margin: auto; - width: 80%; - height: 100px; - border-radius: 5px; - line-height: 40px; - color: #000; - opacity: 0.9; + width: 300px; + height: 80px; + font-size: 150%; + border-radius: 8px; } .notice .zoom-to:hover { - background: #d8e1ff; + background: rgba(0,0,0,0.6); } .notice .zoom-to .icon { - margin-top:10px; - margin-right:10px; + width: 30px; + height: 30px; + vertical-align: middle; + margin-right: 10px; +} +[dir='rtl'] .notice .zoom-to .icon { + margin-left: 10px; + margin-right: 0; } /* Tooltips @@ -5702,6 +6009,10 @@ img.tile-removing { .add-point .tooltip { left: 33.3333% !important; } +[dir='rtl'] .add-point .tooltip { + left: inherit !important; +} + .add-point .tooltip .tooltip-arrow { left: 60px; } @@ -6033,253 +6344,3 @@ li.hide + li.version .badge .tooltip .tooltip-arrow { width: 100px; color: #7092FF; } - -.mapillary-wrap { - position: absolute; - bottom: 30px; - width: 330px; - height: 250px; - padding: 5px; - background-color: #fff; -} - -.mapillary-wrap.hidden { - visibility: hidden; -} - -.mapillary-wrap button.thumb-hide { - border-radius: 0; - padding: 5px; - position: absolute; - right: 0; - top: 0; - z-index: 500; -} - -.mly-wrapper { - visibility: hidden; - width: 100%; - height: 100%; -} - -.mly-wrapper.active { - visibility: visible; -} - -/* Right-to-left localization settings */ - -[dir='rtl'] #sidebar { - float: right; -} - -[dir='rtl'] #sidebar .search-header .icon { - left: auto; - right: 10px; -} - -/* header */ -[dir='rtl'] .header h3 { - text-align: right; - padding: 20px 40px 20px 20px; -} - -[dir='rtl'] .entity-editor-pane .header button.preset-choose { - left: auto; - right: 0; -} - -[dir='rtl'] .entity-editor-pane .header button.preset-close, [dir='rtl'] .preset-list-pane .header button.preset-choose { - left: 0; - right: auto; -} - -[dir='rtl'] .map-data-control .layer-list button, [dir='rtl'] .background-control .layer-list button { - float: left; - border-left: none; - border-right: 1px solid #CCC; -} - -[dir='rtl'] .map-data-control .layer-list button:first-of-type, [dir='rtl'] .background-control .layer-list button:first-of-type { - border-radius: 3px 0 0 3px; -} - -/* search */ -[dir='rtl'] .feature-list-item .label { - text-align: right; -} - -[dir='rtl'] .feature-list-item .entity-name { - padding-left: 0; - padding-right: 10px; -} - -/* preset form */ - -[dir='rtl'] .combobox-caret { - margin-left: 0; - margin-right: -30px; -} - -[dir='rtl'] .icon.pre-text { - margin-left: 5px; - margin-right: 0; -} - -[dir='rtl'] .notice .zoom-to .icon { - margin-left: 10px; - margin-right: 0; -} - -[dir='rtl'] .preset-list-button .label { - text-align: right; - left: 0; - right: 60px; - border-left: none; - border-right: 1px solid rgba(0, 0, 0, .1); - border-radius: 3px 0 0 3px; -} - -[dir='rtl'] .preset-list-item button.tag-reference-button { - left: 0; - right: auto; - border-radius: 3px 0 0 3px; -} - -[dir='rtl'] .preset-list-button-wrap .preset-icon { - left: auto; - right: auto; -} - -[dir='rtl'] .preset-list-button-wrap .preset-icon-28 { - right: 16px; -} - -[dir='rtl'] .preset-list-button-wrap .preset-icon-24 { - right: 18px; -} - -[dir='rtl'] input[type="checkbox"], [dir='rtl'] input[type="radio"] { - float: right; - margin-left: 5px; - margin-right: 0; -} - -[dir='rtl'] .preset-input-wrap .col6 { - float: right; -} - -/* map control buttons */ -[dir='rtl'] .map-controls { - left: 0; - right: auto; -} - -[dir='rtl'] .background-control button, -[dir='rtl'] .zoombuttons button.zoom-in { - border-radius: 0 4px 0 0; -} - -[dir='rtl'] .help-control button, -[dir='rtl'] .geolocate-control button { - border-radius: 0 0 4px 0; -} - -[dir='rtl'] .list-item-gpx-browse svg { - transform: rotateY(180deg); -} - -/* map control button overlays */ -[dir='rtl'] .map-overlay { - padding: 20px 20px 20px 50px; - left: 0; - right: auto !important; -} - -[dir='rtl'] .opacity-options { - left: 50px; - right: auto; -} - -[dir='rtl'] .hide-toggle { - padding-left: 0; - padding-right: 12px; -} - -[dir='rtl'] .hide-toggle:before { - left: auto; - right: 0; - border-left: none; - border-right: 8px solid #7092ff; -} - -[dir='rtl'] .hide-toggle.expanded:before { - border-left: 4px solid transparent; - border-right: 4px solid transparent; -} - -/* navbar */ -[dir='rtl'] #bar .spacer, -[dir='rtl'] #bar .button-wrap, -[dir='rtl'] #bar .button-wrap button { - float: right; -} - -[dir='rtl'] .add-point .tooltip { - left: inherit !important; -} - -[dir='rtl'] .button-wrap:last-of-type { - padding-left: 0; - padding-right: 10px; -} - -[dir='rtl'] button.save.has-count .count { - margin-left: auto; - margin-right: 8%; -} - -[dir='rtl'] button.save.has-count .count::before { - border-left: 6px solid rgba(255,255,255,.5); - border-right: none; - left: auto; - right: -6px; -} - -[dir='rtl'] .joined button { - border-left: 1px solid rgba(0,0,0,.5); - border-right: none; -} - -[dir='rtl'] .joined button:first-child { - border-radius: 0 4px 4px 0; -} - -[dir='rtl'] .joined button:last-child { - border-radius: 4px 0 0 4px; -} - - -/* increment / decrement control - code by Naoufel Razouane */ - -[dir='rtl'] .spin-control{ - margin-left: 0; - margin-right: -20%; -} -[dir='rtl'] .spin-control button{ - border-left: 0; - border-right: 1px solid #CCC; -} -[dir='rtl'] .spin-control button.decrement{ - border-bottom-right-radius: 0; -} -[dir='rtl'] .spin-control button.increment{ - border-bottom-left-radius: 3px; -} -/* modal */ -[dir='rtl'] .modal > button { - position: absolute; - left: 0; - right: unset; - top: 0; -} -