@siemens/element-ng 49.14.0 → 51.0.0-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/siemens-element-ng-about.mjs +41 -25
  3. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  4. package/fesm2022/siemens-element-ng-accordion.mjs +58 -40
  5. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  6. package/fesm2022/siemens-element-ng-action-modal.mjs +83 -53
  7. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  8. package/fesm2022/siemens-element-ng-ag-grid.mjs +15 -12
  9. package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
  10. package/fesm2022/siemens-element-ng-application-header.mjs +176 -166
  11. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  12. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +34 -28
  13. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  14. package/fesm2022/siemens-element-ng-autocomplete.mjs +27 -22
  15. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  16. package/fesm2022/siemens-element-ng-avatar.mjs +31 -21
  17. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  18. package/fesm2022/siemens-element-ng-badge.mjs +9 -8
  19. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  20. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +17 -14
  21. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  22. package/fesm2022/siemens-element-ng-breadcrumb.mjs +21 -17
  23. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  24. package/fesm2022/siemens-element-ng-card.mjs +71 -46
  25. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  26. package/fesm2022/siemens-element-ng-carousel.mjs +57 -33
  27. package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
  28. package/fesm2022/siemens-element-ng-chat-messages.mjs +181 -117
  29. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  30. package/fesm2022/siemens-element-ng-circle-status.mjs +39 -25
  31. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  32. package/fesm2022/siemens-element-ng-color-picker.mjs +26 -17
  33. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  34. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +56 -35
  35. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  36. package/fesm2022/siemens-element-ng-common.mjs +12 -12
  37. package/fesm2022/siemens-element-ng-connection-strength.mjs +14 -12
  38. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-content-action-bar.mjs +36 -27
  40. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-copyright-notice.mjs +19 -14
  42. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-dashboard.mjs +335 -221
  44. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-datatable.mjs +8 -8
  46. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-date-range-filter.mjs +119 -72
  48. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  49. package/fesm2022/siemens-element-ng-datepicker.mjs +376 -244
  50. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  51. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +22 -17
  52. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-empty-state.mjs +15 -12
  54. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  55. package/fesm2022/siemens-element-ng-file-uploader.mjs +105 -91
  56. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-filter-bar.mjs +32 -24
  58. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  59. package/fesm2022/siemens-element-ng-filtered-search.mjs +251 -153
  60. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  61. package/fesm2022/siemens-element-ng-footer.mjs +12 -10
  62. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  63. package/fesm2022/siemens-element-ng-form.mjs +345 -113
  64. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  65. package/fesm2022/siemens-element-ng-formly-legacy.mjs +99 -0
  66. package/fesm2022/siemens-element-ng-formly-legacy.mjs.map +1 -0
  67. package/fesm2022/siemens-element-ng-formly.mjs +222 -316
  68. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  69. package/fesm2022/siemens-element-ng-header-dropdown.mjs +40 -30
  70. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  71. package/fesm2022/siemens-element-ng-help-button.mjs +5 -5
  72. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
  73. package/fesm2022/siemens-element-ng-icon.mjs +46 -47
  74. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  75. package/fesm2022/siemens-element-ng-info-page.mjs +17 -11
  76. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  77. package/fesm2022/siemens-element-ng-inline-notification.mjs +19 -14
  78. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  79. package/fesm2022/siemens-element-ng-ip-input.mjs +25 -25
  80. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  81. package/fesm2022/siemens-element-ng-landing-page.mjs +120 -74
  82. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  83. package/fesm2022/siemens-element-ng-language-switcher.mjs +16 -12
  84. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  85. package/fesm2022/siemens-element-ng-link.mjs +31 -21
  86. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  87. package/fesm2022/siemens-element-ng-list-details.mjs +76 -56
  88. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  89. package/fesm2022/siemens-element-ng-loading-spinner.mjs +46 -63
  90. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  91. package/fesm2022/siemens-element-ng-localization.mjs +14 -12
  92. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  93. package/fesm2022/siemens-element-ng-main-detail-container.mjs +47 -30
  94. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  95. package/fesm2022/siemens-element-ng-maplibre.mjs +42 -0
  96. package/fesm2022/siemens-element-ng-maplibre.mjs.map +1 -0
  97. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +6 -5
  98. package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
  99. package/fesm2022/siemens-element-ng-menu.mjs +56 -48
  100. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  101. package/fesm2022/siemens-element-ng-modal.mjs +14 -11
  102. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  103. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +249 -204
  104. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
  105. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +120 -83
  106. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  107. package/fesm2022/siemens-element-ng-navbar.mjs +72 -45
  108. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  109. package/fesm2022/siemens-element-ng-notification-item.mjs +19 -11
  110. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
  111. package/fesm2022/siemens-element-ng-number-input.mjs +40 -28
  112. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  113. package/fesm2022/siemens-element-ng-pagination.mjs +31 -20
  114. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  115. package/fesm2022/siemens-element-ng-password-strength.mjs +32 -23
  116. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  117. package/fesm2022/siemens-element-ng-password-toggle.mjs +18 -13
  118. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  119. package/fesm2022/siemens-element-ng-phone-number.mjs +123 -139
  120. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  121. package/fesm2022/siemens-element-ng-photo-upload.mjs +84 -51
  122. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  123. package/fesm2022/siemens-element-ng-pills-input.mjs +63 -58
  124. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  125. package/fesm2022/siemens-element-ng-popover-legacy.mjs +43 -28
  126. package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
  127. package/fesm2022/siemens-element-ng-popover.mjs +35 -27
  128. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  129. package/fesm2022/siemens-element-ng-progressbar.mjs +23 -16
  130. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  131. package/fesm2022/siemens-element-ng-resize-observer.mjs +32 -43
  132. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  133. package/fesm2022/siemens-element-ng-result-details-list.mjs +12 -10
  134. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  135. package/fesm2022/siemens-element-ng-search-bar.mjs +38 -31
  136. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  137. package/fesm2022/siemens-element-ng-select.mjs +218 -163
  138. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  139. package/fesm2022/siemens-element-ng-shadow-root.mjs +3 -3
  140. package/fesm2022/siemens-element-ng-side-panel.mjs +128 -86
  141. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  142. package/fesm2022/siemens-element-ng-skip-links.mjs +21 -24
  143. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  144. package/fesm2022/siemens-element-ng-slider.mjs +44 -29
  145. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  146. package/fesm2022/siemens-element-ng-split.mjs +273 -293
  147. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  148. package/fesm2022/siemens-element-ng-status-bar.mjs +65 -51
  149. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  150. package/fesm2022/siemens-element-ng-status-counter.mjs +15 -11
  151. package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
  152. package/fesm2022/siemens-element-ng-status-toggle.mjs +26 -16
  153. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  154. package/fesm2022/siemens-element-ng-summary-chip.mjs +25 -16
  155. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  156. package/fesm2022/siemens-element-ng-summary-widget.mjs +27 -17
  157. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  158. package/fesm2022/siemens-element-ng-system-banner.mjs +11 -8
  159. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  160. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +20 -17
  161. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  162. package/fesm2022/siemens-element-ng-tabs.mjs +73 -70
  163. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  164. package/fesm2022/siemens-element-ng-theme.mjs +29 -6
  165. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  166. package/fesm2022/siemens-element-ng-threshold.mjs +60 -41
  167. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  168. package/fesm2022/siemens-element-ng-toast-notification.mjs +45 -40
  169. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  170. package/fesm2022/siemens-element-ng-tooltip.mjs +105 -82
  171. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  172. package/fesm2022/siemens-element-ng-tour.mjs +24 -18
  173. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  174. package/fesm2022/siemens-element-ng-translate.mjs +0 -1
  175. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  176. package/fesm2022/siemens-element-ng-tree-view.mjs +96 -75
  177. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  178. package/fesm2022/siemens-element-ng-typeahead.mjs +76 -70
  179. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  180. package/fesm2022/siemens-element-ng-wizard.mjs +72 -48
  181. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  182. package/formly-legacy/package.json +4 -0
  183. package/maplibre/package.json +4 -0
  184. package/maplibre/styles/_index.scss +1 -0
  185. package/maplibre/styles/maplibre-gl.scss +715 -0
  186. package/package.json +37 -23
  187. package/schematics/migration.json +4 -4
  188. package/schematics/migrations/data/class-member-replacement.js +1 -19
  189. package/schematics/migrations/data/component-property-names.js +1 -25
  190. package/schematics/migrations/data/element-class-changes.js +1 -28
  191. package/schematics/migrations/data/element-migration-data.js +2 -0
  192. package/schematics/migrations/data/element-selectors.js +1 -11
  193. package/schematics/migrations/data/index.js +0 -4
  194. package/schematics/migrations/data/migration-test-data.js +9 -6
  195. package/schematics/migrations/data/provider-function-removals.js +7 -0
  196. package/schematics/migrations/data/symbol-removals.js +7 -7
  197. package/schematics/migrations/data/symbol-renaming.js +1 -48
  198. package/schematics/migrations/element-migration/element-migration.js +3 -6
  199. package/schematics/migrations/utilities/import-removal.js +39 -0
  200. package/schematics/migrations/utilities/index.js +2 -0
  201. package/schematics/migrations/utilities/provider-function-removal.migration.js +116 -0
  202. package/schematics/ng-update/index.js +1 -1
  203. package/schematics/ng-update/migrate-split-sizes.js +105 -0
  204. package/schematics/ng-update/{migrate-to-v49.js → migrate-to-v51.js} +5 -3
  205. package/template-i18n.json +45 -47
  206. package/types/siemens-element-ng-application-header.d.ts +8 -28
  207. package/types/siemens-element-ng-breadcrumb.d.ts +1 -1
  208. package/types/siemens-element-ng-chat-messages.d.ts +11 -9
  209. package/types/siemens-element-ng-circle-status.d.ts +1 -1
  210. package/types/siemens-element-ng-content-action-bar.d.ts +1 -1
  211. package/types/siemens-element-ng-dashboard.d.ts +2 -2
  212. package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
  213. package/types/siemens-element-ng-datepicker.d.ts +3 -14
  214. package/types/siemens-element-ng-electron-titlebar.d.ts +1 -1
  215. package/types/siemens-element-ng-file-uploader.d.ts +13 -31
  216. package/types/siemens-element-ng-filter-bar.d.ts +1 -1
  217. package/types/siemens-element-ng-filtered-search.d.ts +4 -4
  218. package/types/siemens-element-ng-form.d.ts +180 -44
  219. package/types/siemens-element-ng-formly-legacy.d.ts +40 -0
  220. package/types/siemens-element-ng-formly.d.ts +34 -167
  221. package/types/siemens-element-ng-icon.d.ts +2 -19
  222. package/types/siemens-element-ng-ip-input.d.ts +1 -1
  223. package/types/siemens-element-ng-landing-page.d.ts +2 -2
  224. package/types/siemens-element-ng-loading-spinner.d.ts +7 -17
  225. package/types/siemens-element-ng-maplibre.d.ts +26 -0
  226. package/types/siemens-element-ng-navbar-vertical-next.d.ts +86 -38
  227. package/types/siemens-element-ng-navbar-vertical.d.ts +1 -1
  228. package/types/siemens-element-ng-navbar.d.ts +3 -3
  229. package/types/siemens-element-ng-notification-item.d.ts +12 -0
  230. package/types/siemens-element-ng-phone-number.d.ts +5 -8
  231. package/types/siemens-element-ng-photo-upload.d.ts +4 -4
  232. package/types/siemens-element-ng-resize-observer.d.ts +0 -17
  233. package/types/siemens-element-ng-search-bar.d.ts +1 -1
  234. package/types/siemens-element-ng-select.d.ts +1 -1
  235. package/types/siemens-element-ng-side-panel.d.ts +3 -3
  236. package/types/siemens-element-ng-split.d.ts +99 -70
  237. package/types/siemens-element-ng-status-bar.d.ts +5 -13
  238. package/types/siemens-element-ng-status-counter.d.ts +1 -1
  239. package/types/siemens-element-ng-tabs.d.ts +1 -2
  240. package/types/siemens-element-ng-theme.d.ts +12 -2
  241. package/types/siemens-element-ng-threshold.d.ts +1 -1
  242. package/types/siemens-element-ng-toast-notification.d.ts +0 -1
  243. package/types/siemens-element-ng-tooltip.d.ts +7 -7
  244. package/types/siemens-element-ng-translate.d.ts +2 -5
  245. package/fesm2022/siemens-element-ng-icon-status.mjs +0 -46
  246. package/fesm2022/siemens-element-ng-icon-status.mjs.map +0 -1
  247. package/fesm2022/siemens-element-ng-sort-bar.mjs +0 -99
  248. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +0 -1
  249. package/icon-status/package.json +0 -4
  250. package/schematics/vitest-setup.js +0 -5
  251. package/sort-bar/package.json +0 -4
  252. package/types/siemens-element-ng-icon-status.d.ts +0 -25
  253. package/types/siemens-element-ng-sort-bar.d.ts +0 -59
  254. /package/{LICENSE.md → LICENSE} +0 -0
@@ -0,0 +1,715 @@
1
+ @use 'sass:map';
2
+ @use '@siemens/element-theme/src/styles/variables';
3
+ @use '@siemens/element-theme/src/styles/variables/semantic-tokens';
4
+
5
+ $button-block-size: calc(1rem + 2 * map.get(variables.$spacers, 4));
6
+ $outer-ctrl-margin: map.get(variables.$spacers, 3);
7
+ $attrib-icon-size: map.get(variables.$spacers, 8);
8
+ $attrib-compact-padding: map.get(variables.$spacers, 8) + map.get(variables.$spacers, 2);
9
+
10
+ // Element icon assets are resolved and emitted by the consumer's Sass build.
11
+ $icon-attribution: url('@siemens/element-icons/icons/element-state-info.svg');
12
+ $icon-zoom-out: url('@siemens/element-icons/icons/element-minus.svg');
13
+ $icon-zoom-in: url('@siemens/element-icons/icons/element-plus.svg');
14
+ $icon-fullscreen: url('@siemens/element-icons/icons/element-zoom.svg');
15
+ $icon-shrink: url('@siemens/element-icons/icons/element-pinch.svg');
16
+ $icon-compass: url('@siemens/element-icons/icons/element-compass-needle.svg');
17
+ $icon-glob: url('@siemens/element-icons/icons/element-global.svg');
18
+ $icon-locate: url('@siemens/element-icons/icons/element-locate.svg');
19
+ $icon-terrain: url('@siemens/element-icons/icons/element-waters.svg');
20
+
21
+ %base-control {
22
+ background: variables.$element-base-3;
23
+ }
24
+
25
+ .maplibregl-map {
26
+ @extend %base-control;
27
+
28
+ font:
29
+ 12px/20px variables.$si-font-family,
30
+ sans-serif;
31
+ overflow: hidden;
32
+ position: relative;
33
+ -webkit-tap-highlight-color: rgb(0 0 0 / 0);
34
+
35
+ &:fullscreen {
36
+ inline-size: 100%;
37
+ block-size: 100%;
38
+ }
39
+
40
+ &:hover .maplibregl-popup-track-pointer {
41
+ display: flex;
42
+ }
43
+
44
+ &:active .maplibregl-popup-track-pointer {
45
+ display: none;
46
+ }
47
+ }
48
+
49
+ .maplibregl-canvas {
50
+ position: absolute;
51
+ inset-inline-start: 0;
52
+ inset-block-start: 0;
53
+ }
54
+
55
+ .maplibregl-canvas-container {
56
+ &.maplibregl-interactive {
57
+ cursor: grab;
58
+ user-select: none;
59
+
60
+ &.maplibregl-track-pointer {
61
+ cursor: pointer;
62
+ }
63
+
64
+ &:active {
65
+ cursor: grabbing;
66
+ }
67
+ }
68
+
69
+ &.maplibregl-touch-zoom-rotate {
70
+ touch-action: pan-x pan-y;
71
+
72
+ .maplibregl-canvas {
73
+ touch-action: pan-x pan-y;
74
+ }
75
+
76
+ &.maplibregl-touch-drag-pan {
77
+ touch-action: none;
78
+
79
+ .maplibregl-canvas {
80
+ touch-action: none;
81
+ }
82
+ }
83
+ }
84
+
85
+ &.maplibregl-touch-drag-pan {
86
+ touch-action: pinch-zoom;
87
+
88
+ .maplibregl-canvas {
89
+ touch-action: pinch-zoom;
90
+ }
91
+
92
+ &.maplibregl-cooperative-gestures {
93
+ touch-action: pan-x pan-y;
94
+
95
+ .maplibregl-canvas {
96
+ touch-action: pan-x pan-y;
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ .maplibregl-ctrl-top-left,
103
+ .maplibregl-ctrl-top-right,
104
+ .maplibregl-ctrl-bottom-left,
105
+ .maplibregl-ctrl-bottom-right {
106
+ position: absolute;
107
+ pointer-events: none;
108
+ z-index: 2;
109
+ }
110
+
111
+ .maplibregl-ctrl-top-left {
112
+ inset-block-start: 0;
113
+ inset-inline-start: 0;
114
+
115
+ .maplibregl-ctrl {
116
+ margin-block: $outer-ctrl-margin 0;
117
+ margin-inline: $outer-ctrl-margin 0;
118
+ float: inline-start;
119
+ }
120
+
121
+ > .maplibregl-ctrl-attrib.maplibregl-compact-show {
122
+ padding-block: map.get(variables.$spacers, 1);
123
+ padding-inline: $attrib-compact-padding map.get(variables.$spacers, 4);
124
+ border-radius: map.get(variables.$spacers, 5);
125
+ }
126
+
127
+ .maplibregl-ctrl-attrib-button {
128
+ inset-inline-start: 0;
129
+ }
130
+
131
+ > .maplibregl-ctrl-attrib.maplibregl-compact::after {
132
+ inset-block-start: 0;
133
+ inset-inline-start: 0;
134
+ }
135
+ }
136
+
137
+ .maplibregl-ctrl-top-right {
138
+ inset-block-start: 0;
139
+ inset-inline-end: 0;
140
+
141
+ .maplibregl-ctrl {
142
+ margin-block: $outer-ctrl-margin 0;
143
+ margin-inline: 0 $outer-ctrl-margin;
144
+ float: inline-end;
145
+ }
146
+
147
+ > .maplibregl-ctrl-attrib.maplibregl-compact::after {
148
+ inset-block-start: 0;
149
+ inset-inline-end: 0;
150
+ }
151
+ }
152
+
153
+ .maplibregl-ctrl-bottom-left {
154
+ inset-block-end: 0;
155
+ inset-inline-start: 0;
156
+
157
+ .maplibregl-ctrl {
158
+ margin-block: 0 $outer-ctrl-margin;
159
+ margin-inline: $outer-ctrl-margin 0;
160
+ float: inline-start;
161
+ }
162
+
163
+ > .maplibregl-ctrl-attrib.maplibregl-compact-show {
164
+ padding-block: map.get(variables.$spacers, 1);
165
+ padding-inline: $attrib-compact-padding map.get(variables.$spacers, 4);
166
+ border-radius: map.get(variables.$spacers, 4);
167
+ }
168
+
169
+ .maplibregl-ctrl-attrib-button {
170
+ inset-inline-start: 0;
171
+ }
172
+
173
+ > .maplibregl-ctrl-attrib.maplibregl-compact::after {
174
+ inset-block-end: 0;
175
+ inset-inline-start: 0;
176
+ }
177
+ }
178
+
179
+ .maplibregl-ctrl-bottom-right {
180
+ inset-inline-end: 0;
181
+ inset-block-end: 0;
182
+
183
+ .maplibregl-ctrl {
184
+ margin-block: 0 $outer-ctrl-margin;
185
+ margin-inline: 0 $outer-ctrl-margin;
186
+ float: inline-end;
187
+ }
188
+
189
+ > .maplibregl-ctrl-attrib.maplibregl-compact::after {
190
+ inset-block-end: 0;
191
+ inset-inline-end: 0;
192
+ }
193
+ }
194
+
195
+ .maplibregl-ctrl {
196
+ clear: both;
197
+ pointer-events: auto;
198
+ /* workaround for a Safari bug https://github.com/mapbox/mapbox-gl-js/issues/8185 */
199
+ transform: translate(0, 0);
200
+ }
201
+
202
+ .maplibregl-ctrl-group {
203
+ display: flex;
204
+ flex-direction: column;
205
+ gap: map.get(variables.$spacers, 1);
206
+
207
+ button {
208
+ inline-size: $button-block-size;
209
+ block-size: $button-block-size;
210
+ display: flex;
211
+ justify-content: center;
212
+ align-items: center;
213
+ padding: 0;
214
+ outline: none;
215
+ border: 0;
216
+ box-sizing: border-box;
217
+ cursor: pointer;
218
+
219
+ &.maplibregl-ctrl-compass {
220
+ touch-action: none;
221
+ cursor: grab;
222
+ user-select: none;
223
+
224
+ &:active {
225
+ cursor: grabbing;
226
+ }
227
+
228
+ .maplibregl-ctrl-icon {
229
+ background-color: variables.$element-action-secondary-text;
230
+ mask-image: $icon-compass;
231
+ }
232
+ }
233
+
234
+ &:focus {
235
+ @include variables.make-outline-focus-inside();
236
+
237
+ &:focus-visible {
238
+ @include variables.make-outline-focus-inside();
239
+ }
240
+
241
+ &:not(:focus-visible) {
242
+ box-shadow: none;
243
+ }
244
+ }
245
+ }
246
+ }
247
+
248
+ .maplibregl-ctrl {
249
+ button {
250
+ @extend %base-control;
251
+
252
+ .maplibregl-ctrl-icon {
253
+ display: block;
254
+ inline-size: variables.$si-icon-font-size;
255
+ block-size: variables.$si-icon-font-size;
256
+ background-repeat: no-repeat;
257
+ background-position: center center;
258
+ }
259
+
260
+ &:disabled {
261
+ cursor: not-allowed;
262
+ opacity: variables.$element-action-disabled-opacity;
263
+ }
264
+
265
+ &:not(:disabled) {
266
+ &:hover {
267
+ background: variables.$element-action-secondary-hover;
268
+ color: variables.$element-action-secondary-text;
269
+ }
270
+
271
+ &:active {
272
+ background-color: variables.$element-action-secondary-active;
273
+ }
274
+ }
275
+ }
276
+ }
277
+
278
+ .maplibregl-ctrl button {
279
+ .maplibregl-ctrl-icon {
280
+ background-color: variables.$element-action-secondary-text;
281
+ }
282
+
283
+ &.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon {
284
+ mask-image: $icon-zoom-out;
285
+ }
286
+
287
+ &.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon {
288
+ // element-plus
289
+ mask-image: $icon-zoom-in;
290
+ }
291
+
292
+ &.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon {
293
+ mask-image: $icon-fullscreen;
294
+ }
295
+
296
+ &.maplibregl-ctrl-shrink .maplibregl-ctrl-icon {
297
+ mask-image: $icon-shrink;
298
+ }
299
+
300
+ &.maplibregl-ctrl-globe,
301
+ &.maplibregl-ctrl-globe-enabled {
302
+ .maplibregl-ctrl-icon {
303
+ mask-image: $icon-glob;
304
+ }
305
+ }
306
+
307
+ &.maplibregl-ctrl-terrain,
308
+ &.maplibregl-ctrl-terrain-enabled {
309
+ .maplibregl-ctrl-icon {
310
+ mask-image: $icon-terrain;
311
+ }
312
+ }
313
+
314
+ &.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon {
315
+ mask-image: $icon-locate;
316
+ }
317
+ }
318
+
319
+ .maplibregl-ctrl.maplibregl-ctrl-attrib {
320
+ @extend %base-control;
321
+ padding-block: 0;
322
+ padding-inline: map.get(variables.$spacers, 3);
323
+ color: variables.$element-action-secondary-text;
324
+ margin: 0;
325
+ }
326
+
327
+ .maplibregl-ctrl-attrib {
328
+ a {
329
+ color: variables.$element-action-secondary-text;
330
+ text-decoration: none;
331
+
332
+ &:hover {
333
+ color: inherit;
334
+ text-decoration: underline;
335
+ }
336
+ }
337
+
338
+ @media screen {
339
+ // Compact more when canvas size <= = 640px forced compact mode
340
+ &.maplibregl-compact {
341
+ background: variables.$element-base-3;
342
+
343
+ min-block-size: 20px;
344
+ padding-block: map.get(variables.$spacers, 1);
345
+ padding-inline: 0 map.get(variables.$spacers, 8);
346
+ margin: $outer-ctrl-margin;
347
+ position: relative;
348
+ border-radius: map.get(variables.$spacers, 5);
349
+ box-sizing: content-box;
350
+
351
+ .maplibregl-ctrl-attrib-inner {
352
+ display: none;
353
+ }
354
+
355
+ .maplibregl-ctrl-attrib-button {
356
+ display: block;
357
+ }
358
+
359
+ &::after {
360
+ @media (forced-colors: active) {
361
+ background-image: $icon-attribution;
362
+ }
363
+
364
+ @media (forced-colors: active) and (prefers-color-scheme: light) {
365
+ background-image: $icon-attribution;
366
+ }
367
+ }
368
+ }
369
+
370
+ &.maplibregl-compact-show {
371
+ padding-block: map.get(variables.$spacers, 1);
372
+ padding-inline: map.get(variables.$spacers, 4) $attrib-compact-padding;
373
+ visibility: visible;
374
+
375
+ .maplibregl-ctrl-attrib-inner {
376
+ display: block;
377
+ }
378
+ }
379
+
380
+ .maplibregl-ctrl-attrib-button {
381
+ display: none;
382
+ cursor: pointer;
383
+ position: absolute;
384
+ inline-size: $attrib-icon-size;
385
+ block-size: $attrib-icon-size;
386
+ box-sizing: border-box;
387
+ border-radius: map.get(variables.$spacers, 5);
388
+ outline: none;
389
+ inset-block-start: 0;
390
+ inset-inline-end: 0;
391
+ border: 0;
392
+
393
+ &::before {
394
+ content: '';
395
+ display: block;
396
+ inline-size: 100%;
397
+ block-size: 100%;
398
+ background-color: variables.$element-action-secondary-text;
399
+ mask-image: $icon-attribution;
400
+ mask-repeat: no-repeat;
401
+ mask-position: center;
402
+ mask-size: contain;
403
+ }
404
+
405
+ &:focus {
406
+ @include variables.make-outline-focus-inside();
407
+ }
408
+ }
409
+
410
+ summary.maplibregl-ctrl-attrib-button {
411
+ appearance: none;
412
+ list-style: none;
413
+
414
+ &::-webkit-details-marker {
415
+ display: none;
416
+ }
417
+ }
418
+ }
419
+ }
420
+
421
+ .maplibregl-attrib-empty {
422
+ display: none;
423
+ }
424
+
425
+ .maplibregl-ctrl-scale {
426
+ @extend %base-control;
427
+
428
+ font-size: 10px;
429
+ white-space: nowrap;
430
+ border-width: medium map.get(variables.$spacers, 1) map.get(variables.$spacers, 1);
431
+ border-style: none solid solid;
432
+ border-color: variables.$element-action-secondary-text;
433
+ padding-block: 0;
434
+ padding-inline: map.get(variables.$spacers, 2);
435
+ color: variables.$element-action-secondary-text;
436
+ box-sizing: border-box;
437
+ }
438
+
439
+ .maplibregl-popup {
440
+ position: absolute;
441
+ inset-block-start: 0;
442
+ inset-inline-start: 0;
443
+ display: flex;
444
+ will-change: transform;
445
+ pointer-events: none;
446
+
447
+ &-anchor-top,
448
+ &-anchor-top-left,
449
+ &-anchor-top-right {
450
+ flex-direction: column;
451
+ }
452
+
453
+ &-anchor-bottom,
454
+ &-anchor-bottom-left,
455
+ &-anchor-bottom-right {
456
+ flex-direction: column-reverse;
457
+ }
458
+
459
+ &-anchor-left {
460
+ flex-direction: row;
461
+ }
462
+
463
+ &-anchor-right {
464
+ flex-direction: row-reverse;
465
+ }
466
+ }
467
+
468
+ .maplibregl-popup-tip {
469
+ inline-size: 0;
470
+ block-size: 0;
471
+ border: 10px solid transparent;
472
+ z-index: 1;
473
+
474
+ .maplibregl-popup-anchor-top & {
475
+ align-self: center;
476
+ border-block-start: none;
477
+ border-block-end-color: variables.$element-base-3;
478
+ }
479
+
480
+ .maplibregl-popup-anchor-top-left & {
481
+ align-self: flex-start;
482
+ border-block-start: none;
483
+ border-inline-start: none;
484
+ border-block-end-color: variables.$element-base-3;
485
+ }
486
+
487
+ .maplibregl-popup-anchor-top-right & {
488
+ align-self: flex-end;
489
+ border-block-start: none;
490
+ border-inline-end: none;
491
+ border-block-end-color: variables.$element-base-3;
492
+ }
493
+
494
+ .maplibregl-popup-anchor-bottom & {
495
+ align-self: center;
496
+ border-block-end: none;
497
+ border-block-start-color: variables.$element-base-3;
498
+ }
499
+
500
+ .maplibregl-popup-anchor-bottom-left & {
501
+ align-self: flex-start;
502
+ border-block-end: none;
503
+ border-inline-start: none;
504
+ border-block-start-color: variables.$element-base-3;
505
+ }
506
+
507
+ .maplibregl-popup-anchor-bottom-right & {
508
+ align-self: flex-end;
509
+ border-block-end: none;
510
+ border-inline-end: none;
511
+ border-block-start-color: variables.$element-base-3;
512
+ }
513
+
514
+ .maplibregl-popup-anchor-left & {
515
+ align-self: center;
516
+ border-inline-start: none;
517
+ border-inline-end-color: variables.$element-base-3;
518
+ }
519
+
520
+ .maplibregl-popup-anchor-right & {
521
+ align-self: center;
522
+ border-inline-end: none;
523
+ border-inline-start-color: variables.$element-base-3;
524
+ }
525
+ }
526
+
527
+ .maplibregl-popup-close-button {
528
+ position: absolute;
529
+ inset-inline-end: 0;
530
+ inset-block-start: 0;
531
+ border: 0;
532
+ border-radius: 0 3px 0 0;
533
+ cursor: pointer;
534
+ background-color: transparent;
535
+
536
+ &:hover {
537
+ background-color: variables.$element-action-secondary-hover;
538
+ }
539
+ }
540
+
541
+ .maplibregl-popup-content {
542
+ @extend %base-control;
543
+
544
+ position: relative;
545
+ border-radius: 3px;
546
+ box-shadow: 0 1px map.get(variables.$spacers, 1) rgb(0 0 0 / 0.1);
547
+ padding-block: 15px;
548
+ padding-inline: 10px;
549
+ pointer-events: auto;
550
+
551
+ .maplibregl-popup-anchor-top-left & {
552
+ border-start-start-radius: 0;
553
+ }
554
+
555
+ .maplibregl-popup-anchor-top-right & {
556
+ border-start-end-radius: 0;
557
+ }
558
+
559
+ .maplibregl-popup-anchor-bottom-left & {
560
+ border-end-start-radius: 0;
561
+ }
562
+
563
+ .maplibregl-popup-anchor-bottom-right & {
564
+ border-end-end-radius: 0;
565
+ }
566
+ }
567
+
568
+ .maplibregl-popup-track-pointer {
569
+ display: none;
570
+
571
+ * {
572
+ pointer-events: none;
573
+ user-select: none;
574
+ }
575
+ }
576
+
577
+ .maplibregl-marker {
578
+ position: absolute;
579
+ inset-block-start: 0;
580
+ inset-inline-start: 0;
581
+ will-change: transform;
582
+ transition: opacity 0.2s;
583
+ }
584
+
585
+ .maplibregl-user-location-dot {
586
+ background-color: rgb(29 161 242);
587
+ inline-size: 0.9375rem;
588
+ block-size: 0.9375rem;
589
+ border-radius: 50%;
590
+
591
+ &::before {
592
+ background-color: rgb(29 161 242);
593
+ content: '';
594
+ inline-size: 0.9375rem;
595
+ block-size: 0.9375rem;
596
+ border-radius: 50%;
597
+ position: absolute;
598
+ animation: maplibregl-user-location-dot-pulse 2s infinite;
599
+ }
600
+
601
+ &::after {
602
+ border-radius: 50%;
603
+ border: 0.125rem solid rgb(255 255 255);
604
+ content: '';
605
+ block-size: 1.1875rem;
606
+ inset-inline-start: -0.125rem;
607
+ position: absolute;
608
+ inset-block-start: -0.125rem;
609
+ inline-size: 1.1875rem;
610
+ box-sizing: border-box;
611
+ box-shadow: 0 0 3px rgb(0 0 0 / 0.35);
612
+ }
613
+ }
614
+
615
+ @keyframes maplibregl-user-location-dot-pulse {
616
+ 0% {
617
+ transform: scale(1);
618
+ opacity: 1;
619
+ }
620
+
621
+ 70% {
622
+ transform: scale(3);
623
+ opacity: 0;
624
+ }
625
+
626
+ 100% {
627
+ transform: scale(1);
628
+ opacity: 0;
629
+ }
630
+ }
631
+
632
+ .maplibregl-user-location-dot-stale {
633
+ background-color: rgb(170 170 170);
634
+
635
+ &::after {
636
+ display: none;
637
+ }
638
+ }
639
+
640
+ .maplibregl-user-location-accuracy-circle {
641
+ background-color: rgb(29 161 242 / 0.2);
642
+ inline-size: 1px;
643
+ block-size: 1px;
644
+ border-radius: 100%;
645
+ }
646
+
647
+ .maplibregl-crosshair {
648
+ cursor: crosshair;
649
+
650
+ .maplibregl-interactive {
651
+ cursor: crosshair;
652
+
653
+ &:active {
654
+ cursor: crosshair;
655
+ }
656
+ }
657
+ }
658
+
659
+ .maplibregl-boxzoom {
660
+ position: absolute;
661
+ inset-block-start: 0;
662
+ inset-inline-start: 0;
663
+ inline-size: 0;
664
+ block-size: 0;
665
+ background: rgb(255 255 255);
666
+ border: map.get(variables.$spacers, 1) dotted rgb(32 32 32);
667
+ opacity: 0.5;
668
+ }
669
+
670
+ .maplibregl-cooperative-gesture-screen {
671
+ background: rgb(0 0 0 / 0.4);
672
+ position: absolute;
673
+ inset: 0;
674
+ display: flex;
675
+ justify-content: center;
676
+ align-items: center;
677
+ color: rgb(255 255 255);
678
+ padding: 1rem;
679
+ font-size: 1.4em;
680
+ line-height: 1.2;
681
+ opacity: 0;
682
+ pointer-events: none;
683
+ transition: opacity 1s ease 1s;
684
+ z-index: 99999;
685
+
686
+ &.maplibregl-show {
687
+ opacity: 1;
688
+ transition: opacity 0.05s;
689
+ }
690
+
691
+ .maplibregl-mobile-message {
692
+ display: none;
693
+
694
+ @media (hover: none), (pointer: coarse) {
695
+ display: block;
696
+ }
697
+ }
698
+
699
+ .maplibregl-desktop-message {
700
+ @media (hover: none), (pointer: coarse) {
701
+ display: none;
702
+ }
703
+ }
704
+ }
705
+
706
+ .maplibregl-pseudo-fullscreen {
707
+ /* stylelint-disable */
708
+ position: fixed !important;
709
+ inline-size: 100% !important;
710
+ block-size: 100% !important;
711
+ inset-block-start: 0 !important;
712
+ inset-inline-start: 0 !important;
713
+ /* stylelint-enable */
714
+ z-index: 99999;
715
+ }