@rio-cloud/rio-uikit 2.0.1 → 2.2.0

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 (567) hide show
  1. package/CircularProgress.d.ts +2 -0
  2. package/CircularProgress.js +5 -0
  3. package/CircularProgress.js.map +1 -0
  4. package/RadioCardGroup.d.ts +2 -0
  5. package/RadioCardGroup.js +7 -0
  6. package/RadioCardGroup.js.map +1 -0
  7. package/SearchHighlightText.d.ts +2 -0
  8. package/SearchHighlightText.js +5 -0
  9. package/SearchHighlightText.js.map +1 -0
  10. package/TextTruncateMiddle.d.ts +2 -0
  11. package/TextTruncateMiddle.js +5 -0
  12. package/TextTruncateMiddle.js.map +1 -0
  13. package/Tracker.d.ts +2 -0
  14. package/Tracker.js +5 -0
  15. package/Tracker.js.map +1 -0
  16. package/classNames.d.ts +2 -0
  17. package/classNames.js +5 -0
  18. package/classNames.js.map +1 -0
  19. package/components/accentBar/AccentBar.js +1 -1
  20. package/components/accentBar/AccentBar.js.map +1 -1
  21. package/components/actionBarItem/ActionBarItem.d.ts +2 -2
  22. package/components/actionBarItem/ActionBarItem.js +7 -7
  23. package/components/actionBarItem/ActionBarItem.js.map +1 -1
  24. package/components/actionBarItem/ActionBarItemIcon.js +1 -1
  25. package/components/actionBarItem/ActionBarItemIcon.js.map +1 -1
  26. package/components/actionBarItem/ActionBarItemList.js +1 -1
  27. package/components/actionBarItem/ActionBarItemList.js.map +1 -1
  28. package/components/actionBarItem/ActionBarItemListItem.js +1 -1
  29. package/components/actionBarItem/ActionBarItemListItem.js.map +1 -1
  30. package/components/actionBarItem/ActionBarItemListSeparator.js +1 -1
  31. package/components/actionBarItem/ActionBarItemListSeparator.js.map +1 -1
  32. package/components/actionBarItem/ActionBarItemPopoverContent.js +3 -3
  33. package/components/actionBarItem/ActionBarItemPopoverContent.js.map +1 -1
  34. package/components/actionBarItem/ActionBarOverlay.js +1 -1
  35. package/components/actionBarItem/ActionBarOverlay.js.map +1 -1
  36. package/components/activity/Activity.js +1 -1
  37. package/components/activity/Activity.js.map +1 -1
  38. package/components/animatedTextReveal/AnimatedTextReveal.js +1 -1
  39. package/components/animatedTextReveal/AnimatedTextReveal.js.map +1 -1
  40. package/components/applicationHeader/AppMenu.js +2 -2
  41. package/components/applicationHeader/AppMenu.js.map +1 -1
  42. package/components/applicationHeader/AppMenuDropdown.js +13 -11
  43. package/components/applicationHeader/AppMenuDropdown.js.map +1 -1
  44. package/components/applicationHeader/ApplicationHeader.d.ts +6 -7
  45. package/components/applicationHeader/ApplicationHeader.js +1 -1
  46. package/components/applicationHeader/ApplicationHeader.js.map +1 -1
  47. package/components/applicationHeader/MobileHeaderModal.js +8 -8
  48. package/components/applicationHeader/MobileHeaderModal.js.map +1 -1
  49. package/components/applicationHeader/MobileSubmoduleNavigation.js +1 -1
  50. package/components/applicationHeader/MobileSubmoduleNavigation.js.map +1 -1
  51. package/components/applicationHeader/NavItems.js +4 -4
  52. package/components/applicationHeader/NavItems.js.map +1 -1
  53. package/components/applicationLayout/ApplicationLayout.js +10 -10
  54. package/components/applicationLayout/ApplicationLayout.js.map +1 -1
  55. package/components/applicationLayout/ApplicationLayoutBody.js +2 -2
  56. package/components/applicationLayout/ApplicationLayoutBody.js.map +1 -1
  57. package/components/applicationLayout/ApplicationLayoutBodyBanner.js +1 -1
  58. package/components/applicationLayout/ApplicationLayoutBodyBanner.js.map +1 -1
  59. package/components/applicationLayout/ApplicationLayoutBodyBottomBar.js +1 -1
  60. package/components/applicationLayout/ApplicationLayoutBodyBottomBar.js.map +1 -1
  61. package/components/applicationLayout/ApplicationLayoutBodyNavigation.js +1 -1
  62. package/components/applicationLayout/ApplicationLayoutBodyNavigation.js.map +1 -1
  63. package/components/applicationLayout/ApplicationLayoutHeader.js +1 -1
  64. package/components/applicationLayout/ApplicationLayoutHeader.js.map +1 -1
  65. package/components/applicationLayout/ApplicationLayoutSidebar.js +1 -1
  66. package/components/applicationLayout/ApplicationLayoutSidebar.js.map +1 -1
  67. package/components/applicationLayout/SubNavigation.d.ts +7 -0
  68. package/components/applicationLayout/SubNavigation.js +1 -1
  69. package/components/applicationLayout/SubNavigation.js.map +1 -1
  70. package/components/assetTree/AssetTree.d.ts +7 -0
  71. package/components/assetTree/AssetTree.js +1 -1
  72. package/components/assetTree/AssetTree.js.map +1 -1
  73. package/components/assetTree/Tree.d.ts +15 -0
  74. package/components/assetTree/Tree.js +1 -1
  75. package/components/assetTree/Tree.js.map +1 -1
  76. package/components/assetTree/TreeIcon.d.ts +30 -0
  77. package/components/assetTree/TreeIcon.js +16 -0
  78. package/components/assetTree/TreeIcon.js.map +1 -0
  79. package/components/assetTree/TreeLeaf.js +23 -23
  80. package/components/assetTree/TreeLeaf.js.map +1 -1
  81. package/components/assetTree/TreeNode.js +25 -25
  82. package/components/assetTree/TreeNode.js.map +1 -1
  83. package/components/assetTree/TreeNodeContainer.js +1 -1
  84. package/components/assetTree/TreeNodeContainer.js.map +1 -1
  85. package/components/assetTree/TreeOption.js +3 -3
  86. package/components/assetTree/TreeOption.js.map +1 -1
  87. package/components/assetTree/TreeOptions.js +4 -4
  88. package/components/assetTree/TreeOptions.js.map +1 -1
  89. package/components/assetTree/TreeRoot.js +3 -3
  90. package/components/assetTree/TreeRoot.js.map +1 -1
  91. package/components/assetTree/TreeSearch.d.ts +2 -0
  92. package/components/assetTree/TreeSearch.js +3 -3
  93. package/components/assetTree/TreeSearch.js.map +1 -1
  94. package/components/assetTree/TreeSidebar.js +1 -1
  95. package/components/assetTree/TreeSidebar.js.map +1 -1
  96. package/components/assetTree/TreeSidebarCategories.js +4 -4
  97. package/components/assetTree/TreeSidebarCategories.js.map +1 -1
  98. package/components/assetTree/TreeSummary.js +1 -1
  99. package/components/assetTree/TreeSummary.js.map +1 -1
  100. package/components/assetTree/TypeCounter.js +1 -1
  101. package/components/assetTree/TypeCounter.js.map +1 -1
  102. package/components/autosuggest/AutoSuggest.js +1 -1
  103. package/components/autosuggest/AutoSuggest.js.map +1 -1
  104. package/components/avatar/Avatar.js +1 -1
  105. package/components/avatar/Avatar.js.map +1 -1
  106. package/components/banner/Banner.js +1 -1
  107. package/components/banner/Banner.js.map +1 -1
  108. package/components/banner/BannerContent.js +1 -1
  109. package/components/banner/BannerContent.js.map +1 -1
  110. package/components/barList/BarList.d.ts +26 -0
  111. package/components/barList/BarList.js +1 -1
  112. package/components/barList/BarList.js.map +1 -1
  113. package/components/bottomSheet/BottomSheet.d.ts +17 -3
  114. package/components/bottomSheet/BottomSheet.js +1 -1
  115. package/components/bottomSheet/BottomSheet.js.map +1 -1
  116. package/components/bottomSheet/TimedBottomSheet.d.ts +10 -0
  117. package/components/bottomSheet/TimedBottomSheet.js.map +1 -1
  118. package/components/button/Button.d.ts +53 -7
  119. package/components/button/Button.js +87 -64
  120. package/components/button/Button.js.map +1 -1
  121. package/components/button/ButtonToolbar.js +1 -1
  122. package/components/button/ButtonToolbar.js.map +1 -1
  123. package/components/button/ToggleButton.d.ts +4 -1
  124. package/components/button/ToggleButton.js.map +1 -1
  125. package/components/calendarStripe/CalendarStripe.d.ts +1 -1
  126. package/components/calendarStripe/CalendarStripe.js +48 -50
  127. package/components/calendarStripe/CalendarStripe.js.map +1 -1
  128. package/components/card/Card.js +1 -1
  129. package/components/card/Card.js.map +1 -1
  130. package/components/charts/Area.d.ts +2 -2
  131. package/components/charts/Area.js.map +1 -1
  132. package/components/charts/Line.d.ts +2 -2
  133. package/components/charts/Line.js.map +1 -1
  134. package/components/charts/RadialBarChart.js +106 -103
  135. package/components/charts/RadialBarChart.js.map +1 -1
  136. package/components/checkbox/Checkbox.d.ts +0 -3
  137. package/components/checkbox/Checkbox.js +6 -6
  138. package/components/checkbox/Checkbox.js.map +1 -1
  139. package/components/circularProgress/CircularProgress.d.ts +139 -0
  140. package/components/circularProgress/CircularProgress.js +197 -0
  141. package/components/circularProgress/CircularProgress.js.map +1 -0
  142. package/components/clearableInput/ClearableInput.d.ts +21 -20
  143. package/components/clearableInput/ClearableInput.js +9 -9
  144. package/components/clearableInput/ClearableInput.js.map +1 -1
  145. package/components/collapse/Collapse.d.ts +3 -0
  146. package/components/collapse/Collapse.js +12 -12
  147. package/components/collapse/Collapse.js.map +1 -1
  148. package/components/contentLoader/ContentLoader.d.ts +10 -2
  149. package/components/contentLoader/ContentLoader.js.map +1 -1
  150. package/components/dataTabs/DataTabHeader.js +1 -1
  151. package/components/dataTabs/DataTabHeader.js.map +1 -1
  152. package/components/dataTabs/DataTabs.d.ts +6 -0
  153. package/components/dataTabs/DataTabs.js +4 -4
  154. package/components/dataTabs/DataTabs.js.map +1 -1
  155. package/components/datepicker/DatePicker.js +6 -6
  156. package/components/datepicker/DatePicker.js.map +1 -1
  157. package/components/datepicker/DateRangePicker.js +1 -1
  158. package/components/datepicker/DateRangePicker.js.map +1 -1
  159. package/components/datepicker/DayPicker.js +1 -1
  160. package/components/datepicker/DayPicker.js.map +1 -1
  161. package/components/dialog/ConfirmationDialog.d.ts +22 -0
  162. package/components/dialog/ConfirmationDialog.js.map +1 -1
  163. package/components/dialog/Dialog.d.ts +13 -1
  164. package/components/dialog/Dialog.js +55 -55
  165. package/components/dialog/Dialog.js.map +1 -1
  166. package/components/dialog/DialogBody.js +1 -1
  167. package/components/dialog/DialogBody.js.map +1 -1
  168. package/components/dialog/DialogFooter.js +1 -1
  169. package/components/dialog/DialogFooter.js.map +1 -1
  170. package/components/dialog/DialogHeader.js +1 -1
  171. package/components/dialog/DialogHeader.js.map +1 -1
  172. package/components/dialog/MediaDialog.js +1 -1
  173. package/components/dialog/MediaDialog.js.map +1 -1
  174. package/components/dialog/ReleaseNotesDialog.d.ts +3 -3
  175. package/components/dialog/ReleaseNotesDialog.js.map +1 -1
  176. package/components/dialog/SplitDialog.js +1 -1
  177. package/components/dialog/SplitDialog.js.map +1 -1
  178. package/components/divider/Divider.js +1 -1
  179. package/components/divider/Divider.js.map +1 -1
  180. package/components/dropdown/ButtonDropdown.d.ts +4 -0
  181. package/components/dropdown/ButtonDropdown.js +52 -52
  182. package/components/dropdown/ButtonDropdown.js.map +1 -1
  183. package/components/dropdown/DropdownSubmenu.d.ts +4 -0
  184. package/components/dropdown/DropdownSubmenu.js +3 -3
  185. package/components/dropdown/DropdownSubmenu.js.map +1 -1
  186. package/components/dropdown/DropdownToggleButton.d.ts +1 -1
  187. package/components/dropdown/DropdownToggleButton.js +4 -3
  188. package/components/dropdown/DropdownToggleButton.js.map +1 -1
  189. package/components/dropdown/SplitCaretButton.js +6 -6
  190. package/components/dropdown/SplitCaretButton.js.map +1 -1
  191. package/components/editableContent/EditableContent.d.ts +6 -0
  192. package/components/editableContent/EditableContent.js +1 -1
  193. package/components/editableContent/EditableContent.js.map +1 -1
  194. package/components/ellipsis/TextTruncateMiddle.d.ts +23 -0
  195. package/components/ellipsis/TextTruncateMiddle.js +21 -0
  196. package/components/ellipsis/TextTruncateMiddle.js.map +1 -0
  197. package/components/expander/ExpanderList.d.ts +3 -0
  198. package/components/expander/ExpanderList.js +5 -5
  199. package/components/expander/ExpanderList.js.map +1 -1
  200. package/components/expander/ExpanderPanel.d.ts +14 -4
  201. package/components/expander/ExpanderPanel.js +1 -1
  202. package/components/expander/ExpanderPanel.js.map +1 -1
  203. package/components/fade/Fade.d.ts +1 -1
  204. package/components/fade/Fade.js.map +1 -1
  205. package/components/feedback/FeedbackRating.js +1 -1
  206. package/components/feedback/FeedbackRating.js.map +1 -1
  207. package/components/feedback/FeedbackReactions.js +1 -1
  208. package/components/feedback/FeedbackReactions.js.map +1 -1
  209. package/components/filepicker/FilePicker.d.ts +0 -2
  210. package/components/filepicker/FilePicker.js.map +1 -1
  211. package/components/formLabel/FormLabel.js +6 -9
  212. package/components/formLabel/FormLabel.js.map +1 -1
  213. package/components/formLabel/LabeledElement.js +1 -1
  214. package/components/formLabel/LabeledElement.js.map +1 -1
  215. package/components/groupedItemList/GroupedItemList.d.ts +10 -7
  216. package/components/groupedItemList/GroupedItemList.js.map +1 -1
  217. package/components/listMenu/ListMenu.js +2 -5
  218. package/components/listMenu/ListMenu.js.map +1 -1
  219. package/components/listMenu/ListMenuGroup.d.ts +2 -1
  220. package/components/listMenu/ListMenuGroup.js +2 -2
  221. package/components/listMenu/ListMenuGroup.js.map +1 -1
  222. package/components/loadMore/LoadMoreButton.js +1 -1
  223. package/components/loadMore/LoadMoreButton.js.map +1 -1
  224. package/components/loadMore/LoadMoreProgress.js +1 -1
  225. package/components/loadMore/LoadMoreProgress.js.map +1 -1
  226. package/components/map/components/Map.js.map +1 -1
  227. package/components/map/components/constants.js.map +1 -1
  228. package/components/map/components/features/ContextMenuItem.d.ts +1 -1
  229. package/components/map/components/features/ContextMenuItem.js +2 -17
  230. package/components/map/components/features/ContextMenuItem.js.map +1 -1
  231. package/components/map/components/features/MapSettings.js +4 -4
  232. package/components/map/components/features/MapSettings.js.map +1 -1
  233. package/components/map/components/features/basics/Polyline.d.ts +4 -1
  234. package/components/map/components/features/basics/Polyline.js +1 -1
  235. package/components/map/components/features/basics/Polyline.js.map +1 -1
  236. package/components/map/components/features/layers/MarkerLayer.d.ts +3 -1
  237. package/components/map/components/features/layers/MarkerLayer.js.map +1 -1
  238. package/components/map/components/features/layers/clustering/ClusterLayer.js +1 -1
  239. package/components/map/components/features/layers/clustering/ClusterLayer.js.map +1 -1
  240. package/components/map/components/features/layers/clustering/SimpleClusterLayer.d.ts +3 -2
  241. package/components/map/components/features/layers/clustering/SimpleClusterLayer.js.map +1 -1
  242. package/components/map/components/features/layers/overlayLayers/RoadRestrictionLayer.js +7 -7
  243. package/components/map/components/features/layers/overlayLayers/RoadRestrictionLayer.js.map +1 -1
  244. package/components/map/components/features/layers/overlayLayers/TrafficLayer.js +4 -4
  245. package/components/map/components/features/layers/overlayLayers/TrafficLayer.js.map +1 -1
  246. package/components/map/components/features/settings/MapSettingsItem.js +1 -1
  247. package/components/map/components/features/settings/MapSettingsItem.js.map +1 -1
  248. package/components/map/components/features/settings/MapSettingsPanel.js +6 -20
  249. package/components/map/components/features/settings/MapSettingsPanel.js.map +1 -1
  250. package/components/map/components/features/settings/MapSettingsTile.js +87 -61
  251. package/components/map/components/features/settings/MapSettingsTile.js.map +1 -1
  252. package/components/map/components/features/settings/ZoomButtons.js +1 -1
  253. package/components/map/components/features/settings/ZoomButtons.js.map +1 -1
  254. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.d.ts +38 -1
  255. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +128 -92
  256. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js.map +1 -1
  257. package/components/map/utils/clustering.d.ts +6 -1
  258. package/components/map/utils/clustering.js +25 -19
  259. package/components/map/utils/clustering.js.map +1 -1
  260. package/components/map/utils/eventHandling.js +9 -9
  261. package/components/map/utils/eventHandling.js.map +1 -1
  262. package/components/map/utils/mapUtils.d.ts +6 -6
  263. package/components/map/utils/mapUtils.js +14 -19
  264. package/components/map/utils/mapUtils.js.map +1 -1
  265. package/components/map/utils/rendering.d.ts +1 -1
  266. package/components/map/utils/rendering.js +23 -23
  267. package/components/map/utils/rendering.js.map +1 -1
  268. package/components/mapMarker/ClusterMapMarker.js +1 -1
  269. package/components/mapMarker/ClusterMapMarker.js.map +1 -1
  270. package/components/mapMarker/SingleMapMarker.js +1 -1
  271. package/components/mapMarker/SingleMapMarker.js.map +1 -1
  272. package/components/menuItems/MenuItem.d.ts +23 -0
  273. package/components/menuItems/MenuItem.js +1 -1
  274. package/components/menuItems/MenuItem.js.map +1 -1
  275. package/components/menuItems/MenuItemList.js +1 -1
  276. package/components/menuItems/MenuItemList.js.map +1 -1
  277. package/components/navigation/AppNavigationBar.js +4 -4
  278. package/components/navigation/AppNavigationBar.js.map +1 -1
  279. package/components/noData/NoData.js +1 -1
  280. package/components/noData/NoData.js.map +1 -1
  281. package/components/notification/Notification.js +4 -4
  282. package/components/notification/Notification.js.map +1 -1
  283. package/components/numberControl/NumberControl.js +4 -4
  284. package/components/numberControl/NumberControl.js.map +1 -1
  285. package/components/numberInput/NumberInput.js +1 -1
  286. package/components/numberInput/NumberInput.js.map +1 -1
  287. package/components/onboarding/OnboardingTip.d.ts +18 -12
  288. package/components/onboarding/OnboardingTip.js +4 -4
  289. package/components/onboarding/OnboardingTip.js.map +1 -1
  290. package/components/overlay/OverlayTrigger.d.ts +43 -1
  291. package/components/overlay/OverlayTrigger.js.map +1 -1
  292. package/components/page/Page.js +1 -1
  293. package/components/page/Page.js.map +1 -1
  294. package/components/pager/Pager.d.ts +3 -0
  295. package/components/pager/Pager.js +1 -1
  296. package/components/pager/Pager.js.map +1 -1
  297. package/components/popover/Popover.d.ts +1 -0
  298. package/components/popover/Popover.js.map +1 -1
  299. package/components/preloader/ImagePreloader.d.ts +1 -1
  300. package/components/preloader/ImagePreloader.js.map +1 -1
  301. package/components/radiobutton/RadioButton.d.ts +10 -6
  302. package/components/radiobutton/RadioButton.js +5 -5
  303. package/components/radiobutton/RadioButton.js.map +1 -1
  304. package/components/radiobutton/RadioCardGroup.d.ts +86 -0
  305. package/components/radiobutton/RadioCardGroup.js +110 -0
  306. package/components/radiobutton/RadioCardGroup.js.map +1 -0
  307. package/components/releaseNotes/ReleaseNotes.d.ts +0 -3
  308. package/components/releaseNotes/ReleaseNotes.js.map +1 -1
  309. package/components/resizer/Resizer.d.ts +17 -3
  310. package/components/resizer/Resizer.js +1 -1
  311. package/components/resizer/Resizer.js.map +1 -1
  312. package/components/responsiveColumnStripe/ResponsiveColumnStripe.js +1 -1
  313. package/components/responsiveColumnStripe/ResponsiveColumnStripe.js.map +1 -1
  314. package/components/rioglyph/Rioglyph.d.ts +20 -8
  315. package/components/rioglyph/Rioglyph.js +1 -1
  316. package/components/rioglyph/Rioglyph.js.map +1 -1
  317. package/components/rioglyph/RioglyphIconType.d.ts +1 -1
  318. package/components/rules/RuleConnector.js +1 -1
  319. package/components/rules/RuleConnector.js.map +1 -1
  320. package/components/rules/RuleContainer.js +27 -27
  321. package/components/rules/RuleContainer.js.map +1 -1
  322. package/components/rules/RulesWrapper.js +1 -1
  323. package/components/rules/RulesWrapper.js.map +1 -1
  324. package/components/saveableInput/SaveableDateInput.d.ts +20 -2
  325. package/components/saveableInput/SaveableDateInput.js +1 -1
  326. package/components/saveableInput/SaveableDateInput.js.map +1 -1
  327. package/components/saveableInput/SaveableInput.d.ts +10 -2
  328. package/components/saveableInput/SaveableInput.js +49 -49
  329. package/components/saveableInput/SaveableInput.js.map +1 -1
  330. package/components/searchHighlight/SearchHighlightText.d.ts +28 -0
  331. package/components/searchHighlight/SearchHighlightText.js +15 -0
  332. package/components/searchHighlight/SearchHighlightText.js.map +1 -0
  333. package/components/selects/BaseSelectDropdown.js +90 -79
  334. package/components/selects/BaseSelectDropdown.js.map +1 -1
  335. package/components/selects/ClearButton.js +4 -4
  336. package/components/selects/ClearButton.js.map +1 -1
  337. package/components/selects/Multiselect.js +6 -6
  338. package/components/selects/Multiselect.js.map +1 -1
  339. package/components/selects/MultiselectToggleFilter.js +4 -4
  340. package/components/selects/MultiselectToggleFilter.js.map +1 -1
  341. package/components/selects/MultiselectToggleSelection.js +1 -1
  342. package/components/selects/MultiselectToggleSelection.js.map +1 -1
  343. package/components/selects/Select.d.ts +5 -0
  344. package/components/selects/Select.js +93 -93
  345. package/components/selects/Select.js.map +1 -1
  346. package/components/selects/SelectFilter.js +1 -1
  347. package/components/selects/SelectFilter.js.map +1 -1
  348. package/components/selects/WithFeedbackAndAddon.js +1 -1
  349. package/components/selects/WithFeedbackAndAddon.js.map +1 -1
  350. package/components/sidebars/Sidebar.d.ts +19 -3
  351. package/components/sidebars/Sidebar.js +54 -54
  352. package/components/sidebars/Sidebar.js.map +1 -1
  353. package/components/sidebars/SidebarBackdrop.js +4 -4
  354. package/components/sidebars/SidebarBackdrop.js.map +1 -1
  355. package/components/sidebars/SidebarFooter.js +1 -1
  356. package/components/sidebars/SidebarFooter.js.map +1 -1
  357. package/components/sidebars/SidebarFullscreenToggle.js +4 -4
  358. package/components/sidebars/SidebarFullscreenToggle.js.map +1 -1
  359. package/components/slider/RangeSlider.d.ts +15 -0
  360. package/components/slider/RangeSlider.js +1 -1
  361. package/components/slider/RangeSlider.js.map +1 -1
  362. package/components/slider/Slider.d.ts +9 -0
  363. package/components/slider/Slider.js +1 -1
  364. package/components/slider/Slider.js.map +1 -1
  365. package/components/smoothScrollbars/SmoothScrollbars.d.ts +44 -0
  366. package/components/smoothScrollbars/SmoothScrollbars.js +1 -1
  367. package/components/smoothScrollbars/SmoothScrollbars.js.map +1 -1
  368. package/components/spinner/Spinner.d.ts +3 -3
  369. package/components/spinner/Spinner.js +5 -4
  370. package/components/spinner/Spinner.js.map +1 -1
  371. package/components/states/CustomState.d.ts +69 -1
  372. package/components/states/CustomState.js +1 -1
  373. package/components/states/CustomState.js.map +1 -1
  374. package/components/states/EmptyState.d.ts +1 -1
  375. package/components/states/EmptyState.js.map +1 -1
  376. package/components/states/ErrorState.d.ts +1 -1
  377. package/components/states/ErrorState.js.map +1 -1
  378. package/components/states/ForbiddenState.d.ts +1 -1
  379. package/components/states/ForbiddenState.js.map +1 -1
  380. package/components/states/MaintenanceState.d.ts +1 -1
  381. package/components/states/MaintenanceState.js.map +1 -1
  382. package/components/states/NotBookedState.d.ts +1 -1
  383. package/components/states/NotBookedState.js.map +1 -1
  384. package/components/states/NotFoundState.d.ts +1 -1
  385. package/components/states/NotFoundState.js.map +1 -1
  386. package/components/states/StateButton.js +1 -1
  387. package/components/states/StateButton.js.map +1 -1
  388. package/components/states/StateIcon.d.ts +14 -1
  389. package/components/states/StateIcon.js.map +1 -1
  390. package/components/statsWidget/StatsWidget.d.ts +2 -0
  391. package/components/statsWidget/StatsWidget.js +1 -1
  392. package/components/statsWidget/StatsWidget.js.map +1 -1
  393. package/components/statsWidget/StatsWidgetBody.d.ts +1 -0
  394. package/components/statsWidget/StatsWidgetBody.js +1 -1
  395. package/components/statsWidget/StatsWidgetBody.js.map +1 -1
  396. package/components/statsWidget/StatsWidgetFooter.js +1 -1
  397. package/components/statsWidget/StatsWidgetFooter.js.map +1 -1
  398. package/components/statsWidget/StatsWidgetHeader.js +1 -1
  399. package/components/statsWidget/StatsWidgetHeader.js.map +1 -1
  400. package/components/statsWidget/StatsWidgetNumber.d.ts +2 -0
  401. package/components/statsWidget/StatsWidgetNumber.js +2 -2
  402. package/components/statsWidget/StatsWidgetNumber.js.map +1 -1
  403. package/components/statsWidget/StatsWidgetSpacer.js +1 -1
  404. package/components/statsWidget/StatsWidgetSpacer.js.map +1 -1
  405. package/components/statsWidget/StatsWidgets.js +1 -1
  406. package/components/statsWidget/StatsWidgets.js.map +1 -1
  407. package/components/statusBar/StatusBar.d.ts +98 -3
  408. package/components/statusBar/StatusBar.js +24 -17
  409. package/components/statusBar/StatusBar.js.map +1 -1
  410. package/components/statusBar/StatusBarIcon.d.ts +2 -2
  411. package/components/statusBar/StatusBarIcon.js +4 -4
  412. package/components/statusBar/StatusBarIcon.js.map +1 -1
  413. package/components/statusBar/StatusBarLabel.d.ts +2 -2
  414. package/components/statusBar/StatusBarLabel.js +5 -7
  415. package/components/statusBar/StatusBarLabel.js.map +1 -1
  416. package/components/statusBar/StatusBarProgressBar.d.ts +1 -1
  417. package/components/statusBar/StatusBarProgressBar.js +1 -1
  418. package/components/statusBar/StatusBarProgressBar.js.map +1 -1
  419. package/components/steppedProgressBar/SteppedProgressBar.d.ts +1 -1
  420. package/components/steppedProgressBar/SteppedProgressBar.js +1 -1
  421. package/components/steppedProgressBar/SteppedProgressBar.js.map +1 -1
  422. package/components/switch/Switch.d.ts +28 -1
  423. package/components/switch/Switch.js +77 -35
  424. package/components/switch/Switch.js.map +1 -1
  425. package/components/table/SortArrowDown.d.ts +1 -1
  426. package/components/table/SortArrowDown.js.map +1 -1
  427. package/components/table/SortArrowUp.d.ts +1 -1
  428. package/components/table/SortArrowUp.js.map +1 -1
  429. package/components/table/TableCardsSorting.js +4 -4
  430. package/components/table/TableCardsSorting.js.map +1 -1
  431. package/components/table/TableHead.js +1 -1
  432. package/components/table/TableHead.js.map +1 -1
  433. package/components/table/TableSearch.js +1 -1
  434. package/components/table/TableSearch.js.map +1 -1
  435. package/components/table/TableSettingsColumnButtons.d.ts +1 -1
  436. package/components/table/TableSettingsColumnButtons.js +1 -1
  437. package/components/table/TableSettingsColumnButtons.js.map +1 -1
  438. package/components/table/TableSettingsColumnDetails.d.ts +1 -1
  439. package/components/table/TableSettingsColumnDetails.js +1 -1
  440. package/components/table/TableSettingsColumnDetails.js.map +1 -1
  441. package/components/table/TableSettingsDialog.d.ts +56 -1
  442. package/components/table/TableSettingsDialog.js +170 -144
  443. package/components/table/TableSettingsDialog.js.map +1 -1
  444. package/components/table/TableSettingsDialogFooter.js +9 -9
  445. package/components/table/TableSettingsDialogFooter.js.map +1 -1
  446. package/components/table/TableSettingsListContainer.d.ts +1 -1
  447. package/components/table/TableSettingsListContainer.js.map +1 -1
  448. package/components/table/TableSettingsListItem.d.ts +1 -1
  449. package/components/table/TableSettingsListItem.js +8 -8
  450. package/components/table/TableSettingsListItem.js.map +1 -1
  451. package/components/table/TableToolbar.js +1 -1
  452. package/components/table/TableToolbar.js.map +1 -1
  453. package/components/table/TableViewToggles.d.ts +21 -1
  454. package/components/table/TableViewToggles.js +1 -1
  455. package/components/table/TableViewToggles.js.map +1 -1
  456. package/components/tag/Tag.d.ts +7 -2
  457. package/components/tag/Tag.js +1 -1
  458. package/components/tag/Tag.js.map +1 -1
  459. package/components/tag/TagList.js +1 -1
  460. package/components/tag/TagList.js.map +1 -1
  461. package/components/tagManager/CustomSuggestionItem.js +1 -1
  462. package/components/tagManager/CustomSuggestionItem.js.map +1 -1
  463. package/components/tagManager/TagManager.d.ts +29 -2
  464. package/components/tagManager/TagManager.js +6 -6
  465. package/components/tagManager/TagManager.js.map +1 -1
  466. package/components/tagManager/TagManagerItemList.d.ts +1 -1
  467. package/components/tagManager/TagManagerItemList.js +1 -1
  468. package/components/tagManager/TagManagerItemList.js.map +1 -1
  469. package/components/teaser/Teaser.d.ts +57 -55
  470. package/components/teaser/Teaser.js +1 -1
  471. package/components/teaser/Teaser.js.map +1 -1
  472. package/components/teaser/TeaserContainer.d.ts +1 -1
  473. package/components/teaser/TeaserContainer.js +1 -1
  474. package/components/teaser/TeaserContainer.js.map +1 -1
  475. package/components/timepicker/TimePicker.d.ts +20 -0
  476. package/components/timepicker/TimePicker.js +153 -99
  477. package/components/timepicker/TimePicker.js.map +1 -1
  478. package/components/tooltip/SimpleTooltip.d.ts +22 -4
  479. package/components/tooltip/SimpleTooltip.js.map +1 -1
  480. package/components/tooltip/Tooltip.d.ts +22 -2
  481. package/components/tooltip/Tooltip.js +1 -1
  482. package/components/tooltip/Tooltip.js.map +1 -1
  483. package/components/tracker/Tracker.d.ts +85 -0
  484. package/components/tracker/Tracker.js +54 -0
  485. package/components/tracker/Tracker.js.map +1 -0
  486. package/components/tracker/TrackerBlock.d.ts +11 -0
  487. package/components/tracker/TrackerBlock.js +34 -0
  488. package/components/tracker/TrackerBlock.js.map +1 -0
  489. package/components/video/ResponsiveVideo.d.ts +8 -3
  490. package/components/video/ResponsiveVideo.js +1 -1
  491. package/components/video/ResponsiveVideo.js.map +1 -1
  492. package/hooks/useCookies.d.ts +79 -0
  493. package/hooks/useCookies.js +33 -0
  494. package/hooks/useCookies.js.map +1 -0
  495. package/hooks/useInterval.js +5 -5
  496. package/hooks/useInterval.js.map +1 -1
  497. package/hooks/useIsFocusWithin.js +3 -3
  498. package/hooks/useIsFocusWithin.js.map +1 -1
  499. package/hooks/useKey.d.ts +1 -1
  500. package/hooks/useKey.js.map +1 -1
  501. package/hooks/useLatest.d.ts +16 -0
  502. package/hooks/useLatest.js +11 -0
  503. package/hooks/useLatest.js.map +1 -0
  504. package/hooks/useOnboarding.d.ts +86 -80
  505. package/hooks/useOnboarding.js.map +1 -1
  506. package/hooks/usePostMessage.d.ts +2 -1
  507. package/hooks/usePostMessage.js.map +1 -1
  508. package/hooks/useRioCookieConsent.d.ts +49 -0
  509. package/hooks/useRioCookieConsent.js +44 -0
  510. package/hooks/useRioCookieConsent.js.map +1 -0
  511. package/hooks/useSearch.d.ts +1 -1
  512. package/hooks/useSearch.js +28 -17
  513. package/hooks/useSearch.js.map +1 -1
  514. package/hooks/useSearchHighlight.d.ts +60 -0
  515. package/hooks/useSearchHighlight.js +54 -0
  516. package/hooks/useSearchHighlight.js.map +1 -0
  517. package/hooks/useTableExport.js.map +1 -1
  518. package/hooks/useTimeout.js +11 -11
  519. package/hooks/useTimeout.js.map +1 -1
  520. package/hooks/useUncontrollable.d.ts +1 -1
  521. package/hooks/useUncontrollable.js.map +1 -1
  522. package/hooks/useUrlState.d.ts +62 -0
  523. package/hooks/useUrlState.js +137 -0
  524. package/hooks/useUrlState.js.map +1 -0
  525. package/mergeClassNameOverrides.d.ts +1 -0
  526. package/mergeClassNameOverrides.js +5 -0
  527. package/mergeClassNameOverrides.js.map +1 -0
  528. package/package.json +18 -21
  529. package/routeUtils.js +11 -5
  530. package/routeUtils.js.map +1 -1
  531. package/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js +1 -1
  532. package/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js.map +1 -1
  533. package/useCookies.d.ts +2 -0
  534. package/useCookies.js +5 -0
  535. package/useCookies.js.map +1 -0
  536. package/useRioCookieConsent.d.ts +2 -0
  537. package/useRioCookieConsent.js +5 -0
  538. package/useRioCookieConsent.js.map +1 -0
  539. package/useSearchHighlight.d.ts +2 -0
  540. package/useSearchHighlight.js +6 -0
  541. package/useSearchHighlight.js.map +1 -0
  542. package/useUrlState.d.ts +2 -0
  543. package/useUrlState.js +5 -0
  544. package/useUrlState.js.map +1 -0
  545. package/utils/classNames.d.ts +3 -0
  546. package/utils/classNames.js +5 -0
  547. package/utils/classNames.js.map +1 -0
  548. package/utils/colorScheme.js +14 -13
  549. package/utils/colorScheme.js.map +1 -1
  550. package/utils/cssuseragent.js.map +1 -1
  551. package/utils/mergeClassNameOverrides.d.ts +1 -0
  552. package/utils/mergeClassNameOverrides.js +55 -0
  553. package/utils/mergeClassNameOverrides.js.map +1 -0
  554. package/utils/routeUtils.d.ts +122 -13
  555. package/utils/routeUtils.js +89 -31
  556. package/utils/routeUtils.js.map +1 -1
  557. package/utils/scrollItemIntoView.js +12 -11
  558. package/utils/scrollItemIntoView.js.map +1 -1
  559. package/utils/urlFeatureToggles.js +19 -20
  560. package/utils/urlFeatureToggles.js.map +1 -1
  561. package/version.d.ts +1 -1
  562. package/version.js +1 -1
  563. package/version.js.map +1 -1
  564. package/components/states/BaseStateProps.d.ts +0 -66
  565. package/components/statusBar/StatusBar.types.d.ts +0 -85
  566. package/components/table/TableSettingsDialog.types.d.ts +0 -39
  567. package/components/tagManager/TagManagerTag.d.ts +0 -5
@@ -1,43 +1,48 @@
1
- import { jsxs as l, Fragment as j, jsx as t } from "react/jsx-runtime";
2
- import v, { useState as h } from "react";
3
- import { AnimatePresence as I } from "motion/react";
4
- import c from "classnames";
5
- import { noop as A } from "es-toolkit/function";
1
+ import { jsxs as c, Fragment as L, jsx as i } from "react/jsx-runtime";
2
+ import I, { useState as T } from "react";
3
+ import { AnimatePresence as M, motion as O } from "motion/react";
4
+ import { noop as j } from "es-toolkit/function";
6
5
  import { usePopper as U } from "react-popper";
6
+ import p from "../../../../../utils/classNames.js";
7
7
  import B from "../../../../overlay/OverlayTrigger.js";
8
- import M from "../../../../tooltip/Tooltip.js";
9
- import S from "../../../../../hooks/useClickOutside.js";
10
- import F from "../../../../menuItems/MenuItemList.js";
11
- import q from "../../../../menuItems/MenuItem.js";
12
- import { isMobileScreen as z } from "../../../../../utils/deviceUtils.js";
13
- const G = 800, J = 100, b = (p, s) => /* @__PURE__ */ t(
8
+ import S from "../../../../tooltip/Tooltip.js";
9
+ import F, { useClickOutsideWithRef as q } from "../../../../../hooks/useClickOutside.js";
10
+ import z from "../../../../menuItems/MenuItemList.js";
11
+ import G from "../../../../menuItems/MenuItem.js";
12
+ import { isMobileScreen as J } from "../../../../../utils/deviceUtils.js";
13
+ const K = 800, Q = 100, n = {
14
+ initial: { opacity: 0, y: 10 },
15
+ animate: { opacity: 1, y: 0 },
16
+ exit: { opacity: 0, y: 10 },
17
+ transition: { duration: 0.08, ease: "easeOut" }
18
+ }, b = (m, o) => /* @__PURE__ */ i(
14
19
  B,
15
20
  {
16
- placement: M.TOP,
17
- delay: { show: G, hide: J },
18
- overlay: /* @__PURE__ */ t(M, { id: "tooltip", width: "auto", children: s }),
19
- children: p
21
+ placement: S.TOP,
22
+ delay: { show: K, hide: Q },
23
+ overlay: /* @__PURE__ */ i(S, { id: "tooltip", width: "auto", children: o }),
24
+ children: m
20
25
  }
21
- ), ae = (p) => {
26
+ ), re = (m) => {
22
27
  const {
23
- onToggle: s = A,
24
- activeIcon: m,
25
- inactiveIcon: d,
26
- isActive: T = !1,
27
- panel: f,
28
- items: n,
29
- className: O,
28
+ onToggle: o = j,
29
+ activeIcon: d,
30
+ inactiveIcon: f,
31
+ isActive: v = !1,
32
+ panel: u,
33
+ items: s,
34
+ className: C,
30
35
  buttonClassName: w,
31
- tooltip: r,
32
- ...y
33
- } = p, [e, u] = h(!1), C = () => {
34
- const o = !e;
35
- u(o), s(o), g.current.blur();
36
- }, g = S(() => {
37
- e && f && (u(!1), s(!1), g.current.blur());
38
- }), [N, P] = h(null), [_, R] = h(null), { styles: E, attributes: k } = U(N, _, {
36
+ tooltip: a,
37
+ ...x
38
+ } = m, [e, h] = T(!1), P = () => {
39
+ const t = !e;
40
+ h(t), o(t), g.current.blur();
41
+ }, g = F(() => {
42
+ e && u && (h(!1), o(!1), g.current.blur());
43
+ }), [N, _] = T(null), [y, R] = T(null), { styles: k, attributes: E } = U(N, y, {
39
44
  placement: "top-end",
40
- modifiers: e && z() ? [
45
+ modifiers: e && J() ? [
41
46
  {
42
47
  name: "offset",
43
48
  options: {
@@ -45,48 +50,69 @@ const G = 800, J = 100, b = (p, s) => /* @__PURE__ */ t(
45
50
  }
46
51
  }
47
52
  ] : []
48
- }), x = S((o) => {
49
- const i = o.target instanceof Node ? o.target : null;
50
- i && N?.contains(i) || e && (u(!1), s(!1));
51
- }), D = c("MapSettingsTile", O), W = c("MapSettingsButton", e && "active", w), H = c(
53
+ });
54
+ q(y, (t) => {
55
+ const r = t.target instanceof Node ? t.target : null;
56
+ r && N?.contains(r) || e && (h(!1), o(!1));
57
+ });
58
+ const D = p("MapSettingsTile", C), W = p("MapSettingsButton", e && "active", w), A = p(
52
59
  "MapSettingsTileIcon",
53
60
  "hover-scale-110",
54
- T ? "display-block" : "display-none",
55
- m?.props.className || ""
56
- ), L = c(
61
+ v ? "display-block" : "display-none",
62
+ d?.props.className || ""
63
+ ), H = p(
57
64
  "MapSettingsTileIcon",
58
65
  "hover-scale-110",
59
- T ? "display-none" : "display-block",
60
- d?.props.className || ""
61
- ), a = /* @__PURE__ */ l("div", { className: W, onClick: C, children: [
62
- m && v.cloneElement(m, {
63
- className: H
66
+ v ? "display-none" : "display-block",
67
+ f?.props.className || ""
68
+ ), l = /* @__PURE__ */ c("div", { className: W, onClick: P, children: [
69
+ d && I.cloneElement(d, {
70
+ className: A
64
71
  }),
65
- d && v.cloneElement(d, {
66
- className: L
72
+ f && I.cloneElement(f, {
73
+ className: H
67
74
  })
68
75
  ] });
69
- return /* @__PURE__ */ l("div", { className: D, ref: g, ...y, children: [
70
- !n && /* @__PURE__ */ l(j, { children: [
71
- r && !e ? b(a, r) : a,
72
- /* @__PURE__ */ t("div", { className: "overflow-hidden", children: /* @__PURE__ */ t(I, { children: e && f && f }) })
73
- ] }),
74
- n && /* @__PURE__ */ l("div", { className: "MapSettingsTile-inner position-relative", ref: P, children: [
75
- r && !e ? b(a, r) : a,
76
- /* @__PURE__ */ t(I, { children: /* @__PURE__ */ t("div", { className: "dropdown", ref: x, children: e && n && /* @__PURE__ */ t(
77
- F,
76
+ return /* @__PURE__ */ c("div", { className: D, ref: g, ...x, children: [
77
+ !s && /* @__PURE__ */ c(L, { children: [
78
+ a && !e ? b(l, a) : l,
79
+ /* @__PURE__ */ i("div", { className: "overflow-hidden", children: /* @__PURE__ */ i(M, { children: e && u && /* @__PURE__ */ i(
80
+ O.div,
78
81
  {
79
- className: "margin-bottom-10 shadow-smooth border-none",
80
- ref: R,
81
- style: { ...E.popper, minWidth: "180px" },
82
- ...k.popper,
83
- children: n?.map((o, i) => o.type.isMapSettingsDropdownHeader ? o : /* @__PURE__ */ t(q, { value: o }, i))
82
+ initial: n.initial,
83
+ animate: n.animate,
84
+ exit: n.exit,
85
+ transition: n.transition,
86
+ children: u
84
87
  }
85
88
  ) }) })
89
+ ] }),
90
+ s && /* @__PURE__ */ c("div", { className: "MapSettingsTile-inner position-relative", ref: _, children: [
91
+ a && !e ? b(l, a) : l,
92
+ /* @__PURE__ */ i(M, { children: e && s && /* @__PURE__ */ i(
93
+ O.div,
94
+ {
95
+ className: "dropdown",
96
+ initial: n.initial,
97
+ animate: n.animate,
98
+ exit: n.exit,
99
+ transition: n.transition,
100
+ children: /* @__PURE__ */ i(
101
+ z,
102
+ {
103
+ className: "margin-bottom-5 shadow-smooth border-none",
104
+ ref: R,
105
+ style: { ...k.popper, minWidth: "180px" },
106
+ ...E.popper,
107
+ children: s?.map((t, r) => t.type.isMapSettingsDropdownHeader ? t : /* @__PURE__ */ i(G, { value: t }, r))
108
+ }
109
+ )
110
+ }
111
+ ) })
86
112
  ] })
87
113
  ] });
88
114
  };
89
115
  export {
90
- ae as default
116
+ re as default
91
117
  };
92
118
  //# sourceMappingURL=MapSettingsTile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapSettingsTile.js","sources":["../../../../../../src/components/map/components/features/settings/MapSettingsTile.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { AnimatePresence } from 'motion/react';\nimport classNames from 'classnames';\nimport { noop } from 'es-toolkit/function';\nimport { usePopper } from 'react-popper';\n\nimport OverlayTrigger from '../../../../overlay/OverlayTrigger';\nimport Tooltip from '../../../../tooltip/Tooltip';\nimport useClickOutside from '../../../../../hooks/useClickOutside';\nimport MenuItemList from '../../../../menuItems/MenuItemList';\nimport MenuItem from '../../../../menuItems/MenuItem';\nimport { isMobileScreen } from '../../../../../utils/deviceUtils';\n\nconst TOOLTIP_SHOW_TIMEOUT_IN_MS = 800;\nconst TOOLTIP_HIDE_TIMEOUT_IN_MS = 100;\n\nconst getComponentWithTooltip = (component: React.ReactNode, tooltip: React.ReactNode) => {\n return (\n <OverlayTrigger\n placement={Tooltip.TOP}\n delay={{ show: TOOLTIP_SHOW_TIMEOUT_IN_MS, hide: TOOLTIP_HIDE_TIMEOUT_IN_MS }}\n overlay={\n <Tooltip id='tooltip' width='auto'>\n {tooltip}\n </Tooltip>\n }\n >\n {component}\n </OverlayTrigger>\n );\n};\n\nexport type MapSettingsTileProps = {\n onToggle?: (newState: boolean) => void;\n tooltip?: React.ReactNode;\n panel?: React.ReactNode;\n items?: JSX.Element[] | undefined;\n activeIcon?: JSX.Element | undefined;\n inactiveIcon?: JSX.Element | undefined;\n isActive?: boolean;\n buttonClassName?: string;\n className?: string;\n};\n\nconst MapSettingsTile = (props: MapSettingsTileProps) => {\n const {\n onToggle = noop,\n activeIcon,\n inactiveIcon,\n isActive = false,\n panel,\n items,\n className,\n buttonClassName,\n tooltip,\n ...remainingProps\n } = props;\n\n const [isOpen, setIsOpen] = useState(false);\n\n const handleToggle = () => {\n const newState = !isOpen;\n setIsOpen(newState);\n onToggle(newState);\n\n buttonRef.current.blur();\n };\n\n const handleClosePanel = () => {\n if (isOpen && panel) {\n setIsOpen(false);\n onToggle(false);\n buttonRef.current.blur();\n }\n };\n\n const buttonRef = useClickOutside(handleClosePanel);\n\n const [toggleRef, setToggleRef] = useState<HTMLDivElement | null>(null);\n const [refDropdownMenu, setRefDropdownMenu] = useState<HTMLUListElement | null>(null);\n\n const { styles, attributes } = usePopper(toggleRef, refDropdownMenu, {\n placement: 'top-end',\n modifiers:\n isOpen && isMobileScreen()\n ? [\n {\n name: 'offset',\n options: {\n offset: [-60, -60],\n },\n },\n ]\n : [],\n });\n\n const dropdownWrapperRef = useClickOutside((event: MouseEvent | TouchEvent) => {\n const target = event.target instanceof Node ? event.target : null;\n\n if (target && toggleRef?.contains(target)) {\n return;\n }\n\n if (isOpen) {\n setIsOpen(false);\n onToggle(false);\n }\n });\n\n const wrapperClasses = classNames('MapSettingsTile', className);\n\n const buttonClasses = classNames('MapSettingsButton', isOpen && 'active', buttonClassName);\n\n const activeIconClassNames = classNames(\n 'MapSettingsTileIcon',\n 'hover-scale-110',\n isActive ? 'display-block' : 'display-none',\n activeIcon?.props.className || ''\n );\n\n const inactiveIconClassNames = classNames(\n 'MapSettingsTileIcon',\n 'hover-scale-110',\n isActive ? 'display-none' : 'display-block',\n inactiveIcon?.props.className || ''\n );\n\n const button = (\n <div className={buttonClasses} onClick={handleToggle}>\n {activeIcon &&\n React.cloneElement(activeIcon, {\n className: activeIconClassNames,\n })}\n {inactiveIcon &&\n React.cloneElement(inactiveIcon, {\n className: inactiveIconClassNames,\n })}\n </div>\n );\n\n return (\n <div className={wrapperClasses} ref={buttonRef} {...remainingProps}>\n {/* backwards compatible way of still showing a panel without labels */}\n {!items && (\n <>\n {tooltip && !isOpen ? getComponentWithTooltip(button, tooltip) : button}\n <div className='overflow-hidden'>\n {/* @ts-ignore-next-line */}\n <AnimatePresence>{isOpen && panel && panel}</AnimatePresence>\n </div>\n </>\n )}\n {/* new way of showing a dropdown without labels */}\n {items && (\n <div className='MapSettingsTile-inner position-relative' ref={setToggleRef}>\n {tooltip && !isOpen ? getComponentWithTooltip(button, tooltip) : button}\n {/* @ts-ignore-next-line */}\n <AnimatePresence>\n <div className='dropdown' ref={dropdownWrapperRef}>\n {isOpen && items && (\n <MenuItemList\n className='margin-bottom-10 shadow-smooth border-none'\n ref={setRefDropdownMenu}\n style={{ ...styles.popper, minWidth: '180px' }}\n {...attributes.popper}\n >\n {items?.map((item, index) => {\n if (item.type.isMapSettingsDropdownHeader) {\n return item;\n }\n return <MenuItem key={index} value={item} />;\n })}\n </MenuItemList>\n )}\n </div>\n </AnimatePresence>\n </div>\n )}\n </div>\n );\n};\n\nexport default MapSettingsTile;\n"],"names":["TOOLTIP_SHOW_TIMEOUT_IN_MS","TOOLTIP_HIDE_TIMEOUT_IN_MS","getComponentWithTooltip","component","tooltip","jsx","OverlayTrigger","Tooltip","MapSettingsTile","props","onToggle","noop","activeIcon","inactiveIcon","isActive","panel","items","className","buttonClassName","remainingProps","isOpen","setIsOpen","useState","handleToggle","newState","buttonRef","useClickOutside","toggleRef","setToggleRef","refDropdownMenu","setRefDropdownMenu","styles","attributes","usePopper","isMobileScreen","dropdownWrapperRef","event","target","wrapperClasses","classNames","buttonClasses","activeIconClassNames","inactiveIconClassNames","button","jsxs","React","Fragment","AnimatePresence","MenuItemList","item","index","MenuItem"],"mappings":"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"}
1
+ {"version":3,"file":"MapSettingsTile.js","sources":["../../../../../../src/components/map/components/features/settings/MapSettingsTile.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { AnimatePresence, motion, type Transition } from 'motion/react';\nimport { noop } from 'es-toolkit/function';\nimport { usePopper } from 'react-popper';\n\nimport classNames from '../../../../../utils/classNames';\nimport OverlayTrigger from '../../../../overlay/OverlayTrigger';\nimport Tooltip from '../../../../tooltip/Tooltip';\nimport useClickOutside, { useClickOutsideWithRef } from '../../../../../hooks/useClickOutside';\nimport MenuItemList from '../../../../menuItems/MenuItemList';\nimport MenuItem from '../../../../menuItems/MenuItem';\nimport { isMobileScreen } from '../../../../../utils/deviceUtils';\n\nconst TOOLTIP_SHOW_TIMEOUT_IN_MS = 800;\nconst TOOLTIP_HIDE_TIMEOUT_IN_MS = 100;\n\nconst tileAnimation = {\n initial: { opacity: 0, y: 10 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: 10 },\n transition: { duration: 0.08, ease: 'easeOut' } as Transition,\n};\n\nconst getComponentWithTooltip = (component: React.ReactNode, tooltip: React.ReactNode) => {\n return (\n <OverlayTrigger\n placement={Tooltip.TOP}\n delay={{ show: TOOLTIP_SHOW_TIMEOUT_IN_MS, hide: TOOLTIP_HIDE_TIMEOUT_IN_MS }}\n overlay={\n <Tooltip id='tooltip' width='auto'>\n {tooltip}\n </Tooltip>\n }\n >\n {component}\n </OverlayTrigger>\n );\n};\n\nexport type MapSettingsTileProps = {\n onToggle?: (newState: boolean) => void;\n tooltip?: React.ReactNode;\n panel?: React.ReactNode;\n items?: JSX.Element[] | undefined;\n activeIcon?: JSX.Element | undefined;\n inactiveIcon?: JSX.Element | undefined;\n isActive?: boolean;\n buttonClassName?: string;\n className?: string;\n};\n\nconst MapSettingsTile = (props: MapSettingsTileProps) => {\n const {\n onToggle = noop,\n activeIcon,\n inactiveIcon,\n isActive = false,\n panel,\n items,\n className,\n buttonClassName,\n tooltip,\n ...remainingProps\n } = props;\n\n const [isOpen, setIsOpen] = useState(false);\n\n const handleToggle = () => {\n const newState = !isOpen;\n setIsOpen(newState);\n onToggle(newState);\n\n buttonRef.current.blur();\n };\n\n const handleClosePanel = () => {\n if (isOpen && panel) {\n setIsOpen(false);\n onToggle(false);\n buttonRef.current.blur();\n }\n };\n\n const buttonRef = useClickOutside(handleClosePanel);\n\n const [toggleRef, setToggleRef] = useState<HTMLDivElement | null>(null);\n const [refDropdownMenu, setRefDropdownMenu] = useState<HTMLUListElement | null>(null);\n\n const { styles, attributes } = usePopper(toggleRef, refDropdownMenu, {\n placement: 'top-end',\n modifiers:\n isOpen && isMobileScreen()\n ? [\n {\n name: 'offset',\n options: {\n offset: [-60, -60],\n },\n },\n ]\n : [],\n });\n\n useClickOutsideWithRef(refDropdownMenu, (event: MouseEvent | TouchEvent) => {\n const target = event.target instanceof Node ? event.target : null;\n\n if (target && toggleRef?.contains(target)) {\n return;\n }\n\n if (isOpen) {\n setIsOpen(false);\n onToggle(false);\n }\n });\n\n const wrapperClasses = classNames('MapSettingsTile', className);\n\n const buttonClasses = classNames('MapSettingsButton', isOpen && 'active', buttonClassName);\n\n const activeIconClassNames = classNames(\n 'MapSettingsTileIcon',\n 'hover-scale-110',\n isActive ? 'display-block' : 'display-none',\n activeIcon?.props.className || ''\n );\n\n const inactiveIconClassNames = classNames(\n 'MapSettingsTileIcon',\n 'hover-scale-110',\n isActive ? 'display-none' : 'display-block',\n inactiveIcon?.props.className || ''\n );\n\n const button = (\n <div className={buttonClasses} onClick={handleToggle}>\n {activeIcon &&\n React.cloneElement(activeIcon, {\n className: activeIconClassNames,\n })}\n {inactiveIcon &&\n React.cloneElement(inactiveIcon, {\n className: inactiveIconClassNames,\n })}\n </div>\n );\n\n return (\n <div className={wrapperClasses} ref={buttonRef} {...remainingProps}>\n {/* backwards compatible way of still showing a panel without labels */}\n {!items && (\n <>\n {tooltip && !isOpen ? getComponentWithTooltip(button, tooltip) : button}\n <div className='overflow-hidden'>\n <AnimatePresence>\n {isOpen && panel && (\n <motion.div\n initial={tileAnimation.initial}\n animate={tileAnimation.animate}\n exit={tileAnimation.exit}\n transition={tileAnimation.transition}\n >\n {panel}\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n </>\n )}\n {/* new way of showing a dropdown without labels */}\n {items && (\n <div className='MapSettingsTile-inner position-relative' ref={setToggleRef}>\n {tooltip && !isOpen ? getComponentWithTooltip(button, tooltip) : button}\n <AnimatePresence>\n {isOpen && items && (\n <motion.div\n className='dropdown'\n initial={tileAnimation.initial}\n animate={tileAnimation.animate}\n exit={tileAnimation.exit}\n transition={tileAnimation.transition}\n >\n <MenuItemList\n className='margin-bottom-5 shadow-smooth border-none'\n ref={setRefDropdownMenu}\n style={{ ...styles.popper, minWidth: '180px' }}\n {...attributes.popper}\n >\n {items?.map((item, index) => {\n if (item.type.isMapSettingsDropdownHeader) {\n return item;\n }\n return <MenuItem key={index} value={item} />;\n })}\n </MenuItemList>\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n )}\n </div>\n );\n};\n\nexport default MapSettingsTile;\n"],"names":["TOOLTIP_SHOW_TIMEOUT_IN_MS","TOOLTIP_HIDE_TIMEOUT_IN_MS","tileAnimation","getComponentWithTooltip","component","tooltip","jsx","OverlayTrigger","Tooltip","MapSettingsTile","props","onToggle","noop","activeIcon","inactiveIcon","isActive","panel","items","className","buttonClassName","remainingProps","isOpen","setIsOpen","useState","handleToggle","newState","buttonRef","useClickOutside","toggleRef","setToggleRef","refDropdownMenu","setRefDropdownMenu","styles","attributes","usePopper","isMobileScreen","useClickOutsideWithRef","event","target","wrapperClasses","classNames","buttonClasses","activeIconClassNames","inactiveIconClassNames","button","jsxs","React","Fragment","AnimatePresence","motion","MenuItemList","item","index","MenuItem"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsxs as l, jsx as s } from "react/jsx-runtime";
2
- import o from "classnames";
2
+ import o from "../../../../../utils/classNames.js";
3
3
  import { MapIcon as e, ZOOM_IN as c, ZOOM_OUT as m } from "../../../icons/MapIcon.js";
4
4
  const h = ({ onZoomIn: a, onZoomOut: i }) => {
5
5
  const t = o("ZoomButtons");
@@ -1 +1 @@
1
- {"version":3,"file":"ZoomButtons.js","sources":["../../../../../../src/components/map/components/features/settings/ZoomButtons.tsx"],"sourcesContent":["import type React from 'react';\n\nimport classNames from 'classnames';\n\nimport { MapIcon, ZOOM_IN, ZOOM_OUT } from '../../../icons/MapIcon';\n\nexport type ZoomButtonsProps = {\n onZoomIn?: (event: React.MouseEvent<HTMLDivElement>) => void;\n onZoomOut?: (event: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nconst ZoomButtons = ({ onZoomIn, onZoomOut }: ZoomButtonsProps) => {\n const buttonClasses = classNames('ZoomButtons');\n\n return (\n <div className={buttonClasses}>\n <div className='MapSettingsTile' onClick={onZoomIn}>\n <MapIcon name={ZOOM_IN} className='display-block hover-scale-110' height={16} width={16} />\n </div>\n <div className='MapSettingsTileSpacer' />\n <div className='MapSettingsTile' onClick={onZoomOut}>\n <MapIcon name={ZOOM_OUT} className='display-block hover-scale-110' height={16} width={16} />\n </div>\n </div>\n );\n};\n\nexport default ZoomButtons;\n"],"names":["ZoomButtons","onZoomIn","onZoomOut","buttonClasses","classNames","jsxs","jsx","MapIcon","ZOOM_IN","ZOOM_OUT"],"mappings":";;;AAWA,MAAMA,IAAc,CAAC,EAAE,UAAAC,GAAU,WAAAC,QAAkC;AAC/D,QAAMC,IAAgBC,EAAW,aAAa;AAE9C,SACI,gBAAAC,EAAC,OAAA,EAAI,WAAWF,GACZ,UAAA;AAAA,IAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,mBAAkB,SAASL,GACtC,UAAA,gBAAAK,EAACC,GAAA,EAAQ,MAAMC,GAAS,WAAU,iCAAgC,QAAQ,IAAI,OAAO,IAAI,GAC7F;AAAA,IACA,gBAAAF,EAAC,OAAA,EAAI,WAAU,wBAAA,CAAwB;AAAA,sBACtC,OAAA,EAAI,WAAU,mBAAkB,SAASJ,GACtC,UAAA,gBAAAI,EAACC,GAAA,EAAQ,MAAME,GAAU,WAAU,iCAAgC,QAAQ,IAAI,OAAO,IAAI,EAAA,CAC9F;AAAA,EAAA,GACJ;AAER;"}
1
+ {"version":3,"file":"ZoomButtons.js","sources":["../../../../../../src/components/map/components/features/settings/ZoomButtons.tsx"],"sourcesContent":["import type React from 'react';\n\nimport classNames from '../../../../../utils/classNames';\nimport { MapIcon, ZOOM_IN, ZOOM_OUT } from '../../../icons/MapIcon';\n\nexport type ZoomButtonsProps = {\n onZoomIn?: (event: React.MouseEvent<HTMLDivElement>) => void;\n onZoomOut?: (event: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nconst ZoomButtons = ({ onZoomIn, onZoomOut }: ZoomButtonsProps) => {\n const buttonClasses = classNames('ZoomButtons');\n\n return (\n <div className={buttonClasses}>\n <div className='MapSettingsTile' onClick={onZoomIn}>\n <MapIcon name={ZOOM_IN} className='display-block hover-scale-110' height={16} width={16} />\n </div>\n <div className='MapSettingsTileSpacer' />\n <div className='MapSettingsTile' onClick={onZoomOut}>\n <MapIcon name={ZOOM_OUT} className='display-block hover-scale-110' height={16} width={16} />\n </div>\n </div>\n );\n};\n\nexport default ZoomButtons;\n"],"names":["ZoomButtons","onZoomIn","onZoomOut","buttonClasses","classNames","jsxs","jsx","MapIcon","ZOOM_IN","ZOOM_OUT"],"mappings":";;;AAUA,MAAMA,IAAc,CAAC,EAAE,UAAAC,GAAU,WAAAC,QAAkC;AAC/D,QAAMC,IAAgBC,EAAW,aAAa;AAE9C,SACI,gBAAAC,EAAC,OAAA,EAAI,WAAWF,GACZ,UAAA;AAAA,IAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,mBAAkB,SAASL,GACtC,UAAA,gBAAAK,EAACC,GAAA,EAAQ,MAAMC,GAAS,WAAU,iCAAgC,QAAQ,IAAI,OAAO,IAAI,GAC7F;AAAA,IACA,gBAAAF,EAAC,OAAA,EAAI,WAAU,wBAAA,CAAwB;AAAA,sBACtC,OAAA,EAAI,WAAU,mBAAkB,SAASJ,GACtC,UAAA,gBAAAI,EAACC,GAAA,EAAQ,MAAME,GAAU,WAAU,iCAAgC,QAAQ,IAAI,OAAO,IAAI,EAAA,CAC9F;AAAA,EAAA,GACJ;AAER;"}
@@ -1,15 +1,52 @@
1
1
  import { default as React } from 'react';
2
2
  import { MapType } from '../../../../utils/mapTypes';
3
3
  export type MapTypeSettingsProps = {
4
- mapType?: string;
4
+ /**
5
+ * Currently selected base map type.
6
+ */
7
+ mapType?: MapType;
8
+ /**
9
+ * Global switch to enable or disable the night map type entry.
10
+ *
11
+ * @deprecated Prefer controlling night visibility via `visibleMapTypes`
12
+ * by including or excluding `MAP_TYPE_NIGHT`.
13
+ */
5
14
  enableNightMap?: boolean;
15
+ /**
16
+ * Map types that should be shown in the settings panel/dropdown.
17
+ */
18
+ visibleMapTypes?: MapType[];
19
+ /**
20
+ * Called when the user selects a different map type.
21
+ */
6
22
  onMapTypeChange?: (type: MapType) => void;
23
+ /**
24
+ * Custom label for the default map type entry.
25
+ */
7
26
  defaultTypeLabel?: string | JSX.Element;
27
+ /**
28
+ * Custom label for the truck/fleet-style map type entry.
29
+ */
8
30
  truckTypeLabel?: string | JSX.Element;
31
+ /**
32
+ * Custom label for the terrain map type entry.
33
+ */
9
34
  terrainTypeLabel?: string | JSX.Element;
35
+ /**
36
+ * Custom label for the satellite map type entry.
37
+ */
10
38
  satelliteTypeLabel?: string | JSX.Element;
39
+ /**
40
+ * Custom label for the night map type entry.
41
+ */
11
42
  nightTypeLabel?: string | JSX.Element;
43
+ /**
44
+ * Tooltip content shown for the map type settings trigger.
45
+ */
12
46
  tooltip?: string | React.ReactNode;
47
+ /**
48
+ * Optional dropdown header text shown above labeled map type entries.
49
+ */
13
50
  dropdownHeaderText?: string | JSX.Element;
14
51
  };
15
52
  declare const MapTypeSettings: (props: MapTypeSettingsProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,126 +1,162 @@
1
- import { jsx as e, jsxs as k } from "react/jsx-runtime";
2
- import { useMemo as R } from "react";
3
- import { noop as D } from "es-toolkit/function";
4
- import { compact as H } from "es-toolkit/compat";
5
- import { MAP_TYPE_NIGHT as y, MAP_TYPE_SATELLITE as N, MAP_TYPE_TERRAIN as f, MAP_TYPE_FLEET_STYLE as L, MAP_TYPE_DEFAULT as S } from "../../../constants.js";
6
- import w from "../MapSettingsPanel.js";
7
- import p from "../MapSettingsItem.js";
8
- import x from "../MapSettingsTile.js";
9
- import { MapIcon as a, MAP_TYPE_NIGHT_INACTIVE as C, MAP_TYPE_NIGHT_ACTIVE as G, MAP_TYPE_SATELLITE_INACTIVE as g, MAP_TYPE_SATELLITE_ACTIVE as U, MAP_TYPE_TERRAIN_INACTIVE as v, MAP_TYPE_TERRAIN_ACTIVE as j, MAP_TYPE_FLAT_TRUCK_INACTIVE as Y, MAP_TYPE_FLAT_TRUCK_ACTIVE as K, MAP_TYPE_FLAT_INACTIVE as d, MAP_TYPE_FLAT_ACTIVE as q } from "../../../../icons/MapIcon.js";
10
- import z from "../items/MapSettingsDropdownHeader.js";
11
- const te = (u) => {
1
+ import { jsx as e, jsxs as U } from "react/jsx-runtime";
2
+ import { useMemo as N, useEffect as K } from "react";
3
+ import { noop as O } from "es-toolkit/function";
4
+ import { compact as b } from "es-toolkit/compat";
5
+ import { MAP_TYPE_DEFAULT as t, MAP_TYPE_FLEET_STYLE as n, MAP_TYPE_TERRAIN as s, MAP_TYPE_SATELLITE as p, MAP_TYPE_NIGHT as _ } from "../../../constants.js";
6
+ import W from "../MapSettingsPanel.js";
7
+ import M from "../MapSettingsItem.js";
8
+ import $ from "../MapSettingsTile.js";
9
+ import { MapIcon as a, MAP_TYPE_NIGHT_INACTIVE as Y, MAP_TYPE_NIGHT_ACTIVE as q, MAP_TYPE_SATELLITE_INACTIVE as V, MAP_TYPE_SATELLITE_ACTIVE as z, MAP_TYPE_TERRAIN_INACTIVE as F, MAP_TYPE_TERRAIN_ACTIVE as B, MAP_TYPE_FLAT_TRUCK_INACTIVE as k, MAP_TYPE_FLAT_TRUCK_ACTIVE as J, MAP_TYPE_FLAT_INACTIVE as D, MAP_TYPE_FLAT_ACTIVE as Q } from "../../../../icons/MapIcon.js";
10
+ import X from "../items/MapSettingsDropdownHeader.js";
11
+ const le = (R) => {
12
12
  const {
13
- mapType: t,
14
- onMapTypeChange: n = D,
15
- enableNightMap: b = !0,
16
- defaultTypeLabel: o,
17
- truckTypeLabel: l,
18
- terrainTypeLabel: s,
19
- satelliteTypeLabel: r,
20
- nightTypeLabel: c,
21
- dropdownHeaderText: m,
22
- ...F
23
- } = u, i = R(
13
+ mapType: T,
14
+ onMapTypeChange: c = O,
15
+ enableNightMap: H = !0,
16
+ visibleMapTypes: g = [
17
+ t,
18
+ n,
19
+ s,
20
+ p,
21
+ _
22
+ ],
23
+ defaultTypeLabel: A,
24
+ truckTypeLabel: E,
25
+ terrainTypeLabel: I,
26
+ satelliteTypeLabel: y,
27
+ nightTypeLabel: P,
28
+ dropdownHeaderText: v,
29
+ ...w
30
+ } = R, l = N(() => new Set(g), [g]), i = (o) => l.has(o), m = i(_) && H, f = N(
31
+ () => b([
32
+ l.has(t) && !A && t,
33
+ l.has(n) && !E && n,
34
+ l.has(s) && !I && s,
35
+ l.has(p) && !y && p,
36
+ m && !P && _
37
+ ]),
38
+ [
39
+ A,
40
+ m,
41
+ P,
42
+ y,
43
+ I,
44
+ E,
45
+ l
46
+ ]
47
+ );
48
+ K(() => {
49
+ typeof process < "u" && process.env.NODE_ENV === "production" || f.length !== 0 && console.warn(
50
+ `[MapTypeSettings] Missing labels for visible map types: ${f.join(", ")}. Pass the corresponding \`...TypeLabel\` props to improve clarity.`
51
+ );
52
+ }, [f]);
53
+ const r = N(
24
54
  () => ({
25
- isDefault: t === S,
26
- isFleetStyle: t === L,
27
- isTerrain: t === f,
28
- isSatellite: t === N,
29
- isNight: t === y
55
+ isDefault: T === t,
56
+ isFleetStyle: T === n,
57
+ isTerrain: T === s,
58
+ isSatellite: T === p,
59
+ isNight: T === _
30
60
  }),
31
- [t]
32
- ), h = (T) => {
33
- if (T.isDefault)
34
- return /* @__PURE__ */ e(a, { name: d });
35
- if (T.isFleetStyle)
61
+ [T]
62
+ ), x = (o) => {
63
+ if (o.isDefault)
64
+ return /* @__PURE__ */ e(a, { name: D });
65
+ if (o.isFleetStyle)
66
+ return /* @__PURE__ */ e(a, { name: k });
67
+ if (o.isTerrain)
68
+ return /* @__PURE__ */ e(a, { name: F });
69
+ if (o.isSatellite)
70
+ return /* @__PURE__ */ e(a, { name: V });
71
+ if (o.isNight)
36
72
  return /* @__PURE__ */ e(a, { name: Y });
37
- if (T.isTerrain)
38
- return /* @__PURE__ */ e(a, { name: v });
39
- if (T.isSatellite)
40
- return /* @__PURE__ */ e(a, { name: g });
41
- if (T.isNight)
42
- return /* @__PURE__ */ e(a, { name: C });
43
- }, V = m && /* @__PURE__ */ e(z, { label: m }, "mapTypeDropdownHeader"), _ = /* @__PURE__ */ e(
44
- p,
73
+ }, j = v && /* @__PURE__ */ e(X, { label: v }, "mapTypeDropdownHeader"), S = /* @__PURE__ */ e(
74
+ M,
45
75
  {
46
76
  className: "MapTypeNight",
47
- onClick: () => n(y),
48
- isActive: i.isNight,
49
- activeIcon: /* @__PURE__ */ e(a, { name: G }),
50
- inactiveIcon: /* @__PURE__ */ e(a, { name: C }),
51
- label: c
77
+ onClick: () => c(_),
78
+ isActive: r.isNight,
79
+ activeIcon: /* @__PURE__ */ e(a, { name: q }),
80
+ inactiveIcon: /* @__PURE__ */ e(a, { name: Y }),
81
+ label: P
52
82
  },
53
83
  "MapTypeNight"
54
- ), A = /* @__PURE__ */ e(
55
- p,
84
+ ), h = /* @__PURE__ */ e(
85
+ M,
56
86
  {
57
87
  className: "MapTypeSatellite",
58
- onClick: () => n(N),
59
- isActive: i.isSatellite,
60
- activeIcon: /* @__PURE__ */ e(a, { name: U }),
61
- inactiveIcon: /* @__PURE__ */ e(a, { name: g }),
62
- label: r
88
+ onClick: () => c(p),
89
+ isActive: r.isSatellite,
90
+ activeIcon: /* @__PURE__ */ e(a, { name: z }),
91
+ inactiveIcon: /* @__PURE__ */ e(a, { name: V }),
92
+ label: y
63
93
  },
64
94
  "MapTypeSatellite"
65
- ), E = /* @__PURE__ */ e(
66
- p,
95
+ ), u = /* @__PURE__ */ e(
96
+ M,
67
97
  {
68
98
  className: "MapTypeTerrain",
69
- onClick: () => n(f),
70
- isActive: i.isTerrain,
71
- activeIcon: /* @__PURE__ */ e(a, { name: j }),
72
- inactiveIcon: /* @__PURE__ */ e(a, { name: v }),
73
- label: s
99
+ onClick: () => c(s),
100
+ isActive: r.isTerrain,
101
+ activeIcon: /* @__PURE__ */ e(a, { name: B }),
102
+ inactiveIcon: /* @__PURE__ */ e(a, { name: F }),
103
+ label: I
74
104
  },
75
105
  "MapTypeTerrain"
76
- ), I = /* @__PURE__ */ e(
77
- p,
106
+ ), L = /* @__PURE__ */ e(
107
+ M,
78
108
  {
79
109
  className: "MapTypeFlatTruck",
80
- onClick: () => n(L),
81
- isActive: i.isFleetStyle,
82
- activeIcon: /* @__PURE__ */ e(a, { name: K }),
83
- inactiveIcon: /* @__PURE__ */ e(a, { name: Y }),
84
- label: l
110
+ onClick: () => c(n),
111
+ isActive: r.isFleetStyle,
112
+ activeIcon: /* @__PURE__ */ e(a, { name: J }),
113
+ inactiveIcon: /* @__PURE__ */ e(a, { name: k }),
114
+ label: E
85
115
  },
86
116
  "MapTypeFlatTruck"
87
- ), M = /* @__PURE__ */ e(
88
- p,
117
+ ), d = /* @__PURE__ */ e(
118
+ M,
89
119
  {
90
120
  className: "MapTypeFlat",
91
- onClick: () => n(S),
92
- isActive: i.isDefault,
93
- activeIcon: /* @__PURE__ */ e(a, { name: q }),
94
- inactiveIcon: /* @__PURE__ */ e(a, { name: d }),
95
- label: o
121
+ onClick: () => c(t),
122
+ isActive: r.isDefault,
123
+ activeIcon: /* @__PURE__ */ e(a, { name: Q }),
124
+ inactiveIcon: /* @__PURE__ */ e(a, { name: D }),
125
+ label: A
96
126
  },
97
127
  "MapTypeFlat"
98
- ), P = !!o || !!l || !!s || !!r || !!c;
128
+ ), G = b([
129
+ j,
130
+ m && S,
131
+ i(p) && h,
132
+ i(s) && u,
133
+ i(n) && L,
134
+ i(t) && d
135
+ ]), C = b([
136
+ i(t) && A,
137
+ i(n) && E,
138
+ i(s) && I,
139
+ i(p) && y,
140
+ m && P
141
+ ]).length > 0;
99
142
  return /* @__PURE__ */ e(
100
- x,
143
+ $,
101
144
  {
102
145
  className: "MapTypeSettings",
103
- inactiveIcon: h(i),
104
- items: P ? H([
105
- V,
106
- _,
107
- A,
108
- E,
109
- I,
110
- M
111
- ]) : void 0,
112
- panel: !P && /* @__PURE__ */ k(w, { children: [
113
- b && _,
114
- A,
115
- E,
116
- I,
117
- M
146
+ inactiveIcon: x(r),
147
+ items: C ? G : void 0,
148
+ panel: !C && /* @__PURE__ */ U(W, { children: [
149
+ m && S,
150
+ i(p) && h,
151
+ i(s) && u,
152
+ i(n) && L,
153
+ i(t) && d
118
154
  ] }),
119
- ...F
155
+ ...w
120
156
  }
121
157
  );
122
158
  };
123
159
  export {
124
- te as default
160
+ le as default
125
161
  };
126
162
  //# sourceMappingURL=MapTypeSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapTypeSettings.js","sources":["../../../../../../../src/components/map/components/features/settings/builtinSettings/MapTypeSettings.tsx"],"sourcesContent":["import type React from 'react';\nimport { useMemo } from 'react';\nimport { noop } from 'es-toolkit/function';\nimport { compact } from 'es-toolkit/compat';\n\nimport {\n MAP_TYPE_DEFAULT,\n MAP_TYPE_FLEET_STYLE,\n MAP_TYPE_NIGHT,\n MAP_TYPE_SATELLITE,\n MAP_TYPE_TERRAIN,\n} from '../../../constants';\nimport MapSettingsPanel from '../MapSettingsPanel';\nimport MapSettingsItem from '../MapSettingsItem';\nimport MapSettingsTile from '../MapSettingsTile';\n\nimport {\n MapIcon,\n MAP_TYPE_FLAT_ACTIVE,\n MAP_TYPE_FLAT_INACTIVE,\n MAP_TYPE_FLAT_TRUCK_ACTIVE,\n MAP_TYPE_FLAT_TRUCK_INACTIVE,\n MAP_TYPE_SATELLITE_ACTIVE,\n MAP_TYPE_SATELLITE_INACTIVE,\n MAP_TYPE_TERRAIN_ACTIVE,\n MAP_TYPE_TERRAIN_INACTIVE,\n MAP_TYPE_NIGHT_ACTIVE,\n MAP_TYPE_NIGHT_INACTIVE,\n} from '../../../../icons/MapIcon';\nimport type { MapType } from '../../../../utils/mapTypes';\nimport MapSettingsDropdownHeader from '../items/MapSettingsDropdownHeader';\n\nexport type MapTypeSettingsProps = {\n mapType?: string;\n enableNightMap?: boolean;\n onMapTypeChange?: (type: MapType) => void;\n defaultTypeLabel?: string | JSX.Element;\n truckTypeLabel?: string | JSX.Element;\n terrainTypeLabel?: string | JSX.Element;\n satelliteTypeLabel?: string | JSX.Element;\n nightTypeLabel?: string | JSX.Element;\n tooltip?: string | React.ReactNode;\n dropdownHeaderText?: string | JSX.Element;\n};\n\nconst MapTypeSettings = (props: MapTypeSettingsProps) => {\n const {\n mapType,\n onMapTypeChange = noop,\n enableNightMap = true,\n defaultTypeLabel,\n truckTypeLabel,\n terrainTypeLabel,\n satelliteTypeLabel,\n nightTypeLabel,\n dropdownHeaderText,\n ...remainingProps\n } = props;\n\n const type = useMemo(\n () => ({\n isDefault: mapType === MAP_TYPE_DEFAULT,\n isFleetStyle: mapType === MAP_TYPE_FLEET_STYLE,\n isTerrain: mapType === MAP_TYPE_TERRAIN,\n isSatellite: mapType === MAP_TYPE_SATELLITE,\n isNight: mapType === MAP_TYPE_NIGHT,\n }),\n [mapType]\n );\n\n const getIcon = (currentType: typeof type) => {\n if (currentType.isDefault) {\n return <MapIcon name={MAP_TYPE_FLAT_INACTIVE} />;\n }\n if (currentType.isFleetStyle) {\n return <MapIcon name={MAP_TYPE_FLAT_TRUCK_INACTIVE} />;\n }\n if (currentType.isTerrain) {\n return <MapIcon name={MAP_TYPE_TERRAIN_INACTIVE} />;\n }\n if (currentType.isSatellite) {\n return <MapIcon name={MAP_TYPE_SATELLITE_INACTIVE} />;\n }\n if (currentType.isNight) {\n return <MapIcon name={MAP_TYPE_NIGHT_INACTIVE} />;\n }\n };\n\n const dropdownHeader = dropdownHeaderText && (\n <MapSettingsDropdownHeader key='mapTypeDropdownHeader' label={dropdownHeaderText} />\n );\n\n const mapTypeNight = (\n <MapSettingsItem\n key='MapTypeNight'\n className='MapTypeNight'\n onClick={() => onMapTypeChange(MAP_TYPE_NIGHT)}\n isActive={type.isNight}\n activeIcon={<MapIcon name={MAP_TYPE_NIGHT_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_NIGHT_INACTIVE} />}\n label={nightTypeLabel}\n />\n );\n\n const mapTypeSatellite = (\n <MapSettingsItem\n key='MapTypeSatellite'\n className='MapTypeSatellite'\n onClick={() => onMapTypeChange(MAP_TYPE_SATELLITE)}\n isActive={type.isSatellite}\n activeIcon={<MapIcon name={MAP_TYPE_SATELLITE_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_SATELLITE_INACTIVE} />}\n label={satelliteTypeLabel}\n />\n );\n\n const mapTypeTerrain = (\n <MapSettingsItem\n key='MapTypeTerrain'\n className='MapTypeTerrain'\n onClick={() => onMapTypeChange(MAP_TYPE_TERRAIN)}\n isActive={type.isTerrain}\n activeIcon={<MapIcon name={MAP_TYPE_TERRAIN_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_TERRAIN_INACTIVE} />}\n label={terrainTypeLabel}\n />\n );\n\n const mapTypeTruck = (\n <MapSettingsItem\n key='MapTypeFlatTruck'\n className='MapTypeFlatTruck'\n onClick={() => onMapTypeChange(MAP_TYPE_FLEET_STYLE)}\n isActive={type.isFleetStyle}\n activeIcon={<MapIcon name={MAP_TYPE_FLAT_TRUCK_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_FLAT_TRUCK_INACTIVE} />}\n label={truckTypeLabel}\n />\n );\n\n const mapTypeDefault = (\n <MapSettingsItem\n key='MapTypeFlat'\n className='MapTypeFlat'\n onClick={() => onMapTypeChange(MAP_TYPE_DEFAULT)}\n isActive={type.isDefault}\n activeIcon={<MapIcon name={MAP_TYPE_FLAT_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_FLAT_INACTIVE} />}\n label={defaultTypeLabel}\n />\n );\n\n const hasLabels =\n !!defaultTypeLabel || !!truckTypeLabel || !!terrainTypeLabel || !!satelliteTypeLabel || !!nightTypeLabel;\n\n return (\n <MapSettingsTile\n className='MapTypeSettings'\n inactiveIcon={getIcon(type)}\n items={\n hasLabels\n ? compact([\n dropdownHeader,\n mapTypeNight,\n mapTypeSatellite,\n mapTypeTerrain,\n mapTypeTruck,\n mapTypeDefault,\n ])\n : undefined\n }\n panel={\n !hasLabels && (\n <MapSettingsPanel>\n {enableNightMap && mapTypeNight}\n {mapTypeSatellite}\n {mapTypeTerrain}\n {mapTypeTruck}\n {mapTypeDefault}\n </MapSettingsPanel>\n )\n }\n {...remainingProps}\n />\n );\n};\n\nexport default MapTypeSettings;\n"],"names":["MapTypeSettings","props","mapType","onMapTypeChange","noop","enableNightMap","defaultTypeLabel","truckTypeLabel","terrainTypeLabel","satelliteTypeLabel","nightTypeLabel","dropdownHeaderText","remainingProps","type","useMemo","MAP_TYPE_DEFAULT","MAP_TYPE_FLEET_STYLE","MAP_TYPE_TERRAIN","MAP_TYPE_SATELLITE","MAP_TYPE_NIGHT","getIcon","currentType","jsx","MapIcon","MAP_TYPE_FLAT_INACTIVE","MAP_TYPE_FLAT_TRUCK_INACTIVE","MAP_TYPE_TERRAIN_INACTIVE","MAP_TYPE_SATELLITE_INACTIVE","MAP_TYPE_NIGHT_INACTIVE","dropdownHeader","MapSettingsDropdownHeader","mapTypeNight","MapSettingsItem","MAP_TYPE_NIGHT_ACTIVE","mapTypeSatellite","MAP_TYPE_SATELLITE_ACTIVE","mapTypeTerrain","MAP_TYPE_TERRAIN_ACTIVE","mapTypeTruck","MAP_TYPE_FLAT_TRUCK_ACTIVE","mapTypeDefault","MAP_TYPE_FLAT_ACTIVE","hasLabels","MapSettingsTile","compact","jsxs","MapSettingsPanel"],"mappings":"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"}
1
+ {"version":3,"file":"MapTypeSettings.js","sources":["../../../../../../../src/components/map/components/features/settings/builtinSettings/MapTypeSettings.tsx"],"sourcesContent":["import React from 'react';\nimport { useEffect, useMemo } from 'react';\nimport { noop } from 'es-toolkit/function';\nimport { compact } from 'es-toolkit/compat';\n\nimport {\n MAP_TYPE_DEFAULT,\n MAP_TYPE_FLEET_STYLE,\n MAP_TYPE_NIGHT,\n MAP_TYPE_SATELLITE,\n MAP_TYPE_TERRAIN,\n} from '../../../constants';\nimport MapSettingsPanel from '../MapSettingsPanel';\nimport MapSettingsItem from '../MapSettingsItem';\nimport MapSettingsTile from '../MapSettingsTile';\n\nimport {\n MapIcon,\n MAP_TYPE_FLAT_ACTIVE,\n MAP_TYPE_FLAT_INACTIVE,\n MAP_TYPE_FLAT_TRUCK_ACTIVE,\n MAP_TYPE_FLAT_TRUCK_INACTIVE,\n MAP_TYPE_SATELLITE_ACTIVE,\n MAP_TYPE_SATELLITE_INACTIVE,\n MAP_TYPE_TERRAIN_ACTIVE,\n MAP_TYPE_TERRAIN_INACTIVE,\n MAP_TYPE_NIGHT_ACTIVE,\n MAP_TYPE_NIGHT_INACTIVE,\n} from '../../../../icons/MapIcon';\nimport type { MapType } from '../../../../utils/mapTypes';\nimport MapSettingsDropdownHeader from '../items/MapSettingsDropdownHeader';\n\nexport type MapTypeSettingsProps = {\n /**\n * Currently selected base map type.\n */\n mapType?: MapType;\n\n /**\n * Global switch to enable or disable the night map type entry.\n *\n * @deprecated Prefer controlling night visibility via `visibleMapTypes`\n * by including or excluding `MAP_TYPE_NIGHT`.\n */\n enableNightMap?: boolean;\n\n /**\n * Map types that should be shown in the settings panel/dropdown.\n */\n visibleMapTypes?: MapType[];\n\n /**\n * Called when the user selects a different map type.\n */\n onMapTypeChange?: (type: MapType) => void;\n\n /**\n * Custom label for the default map type entry.\n */\n defaultTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the truck/fleet-style map type entry.\n */\n truckTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the terrain map type entry.\n */\n terrainTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the satellite map type entry.\n */\n satelliteTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the night map type entry.\n */\n nightTypeLabel?: string | JSX.Element;\n\n /**\n * Tooltip content shown for the map type settings trigger.\n */\n tooltip?: string | React.ReactNode;\n\n /**\n * Optional dropdown header text shown above labeled map type entries.\n */\n dropdownHeaderText?: string | JSX.Element;\n};\n\nconst MapTypeSettings = (props: MapTypeSettingsProps) => {\n const {\n mapType,\n onMapTypeChange = noop,\n enableNightMap = true,\n visibleMapTypes = [\n MAP_TYPE_DEFAULT,\n MAP_TYPE_FLEET_STYLE,\n MAP_TYPE_TERRAIN,\n MAP_TYPE_SATELLITE,\n MAP_TYPE_NIGHT,\n ],\n defaultTypeLabel,\n truckTypeLabel,\n terrainTypeLabel,\n satelliteTypeLabel,\n nightTypeLabel,\n dropdownHeaderText,\n ...remainingProps\n } = props;\n\n const visibleMapTypesSet = useMemo(() => {\n return new Set(visibleMapTypes);\n }, [visibleMapTypes]);\n\n const isMapTypeVisible = (type: MapType) => visibleMapTypesSet.has(type);\n\n const isNightMapVisible = isMapTypeVisible(MAP_TYPE_NIGHT) && enableNightMap;\n\n const visibleMapTypesWithoutLabel = useMemo(\n () =>\n compact([\n visibleMapTypesSet.has(MAP_TYPE_DEFAULT) && !defaultTypeLabel && MAP_TYPE_DEFAULT,\n visibleMapTypesSet.has(MAP_TYPE_FLEET_STYLE) && !truckTypeLabel && MAP_TYPE_FLEET_STYLE,\n visibleMapTypesSet.has(MAP_TYPE_TERRAIN) && !terrainTypeLabel && MAP_TYPE_TERRAIN,\n visibleMapTypesSet.has(MAP_TYPE_SATELLITE) && !satelliteTypeLabel && MAP_TYPE_SATELLITE,\n isNightMapVisible && !nightTypeLabel && MAP_TYPE_NIGHT,\n ]),\n [\n defaultTypeLabel,\n isNightMapVisible,\n nightTypeLabel,\n satelliteTypeLabel,\n terrainTypeLabel,\n truckTypeLabel,\n visibleMapTypesSet,\n ]\n );\n\n useEffect(() => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV === 'production') {\n return;\n }\n\n if (visibleMapTypesWithoutLabel.length === 0) {\n return;\n }\n\n console.warn(\n `[MapTypeSettings] Missing labels for visible map types: ${visibleMapTypesWithoutLabel.join(', ')}. ` +\n 'Pass the corresponding `...TypeLabel` props to improve clarity.'\n );\n }, [visibleMapTypesWithoutLabel]);\n\n const type = useMemo(\n () => ({\n isDefault: mapType === MAP_TYPE_DEFAULT,\n isFleetStyle: mapType === MAP_TYPE_FLEET_STYLE,\n isTerrain: mapType === MAP_TYPE_TERRAIN,\n isSatellite: mapType === MAP_TYPE_SATELLITE,\n isNight: mapType === MAP_TYPE_NIGHT,\n }),\n [mapType]\n );\n\n const getIcon = (currentType: typeof type) => {\n if (currentType.isDefault) {\n return <MapIcon name={MAP_TYPE_FLAT_INACTIVE} />;\n }\n if (currentType.isFleetStyle) {\n return <MapIcon name={MAP_TYPE_FLAT_TRUCK_INACTIVE} />;\n }\n if (currentType.isTerrain) {\n return <MapIcon name={MAP_TYPE_TERRAIN_INACTIVE} />;\n }\n if (currentType.isSatellite) {\n return <MapIcon name={MAP_TYPE_SATELLITE_INACTIVE} />;\n }\n if (currentType.isNight) {\n return <MapIcon name={MAP_TYPE_NIGHT_INACTIVE} />;\n }\n };\n\n const dropdownHeader = dropdownHeaderText && (\n <MapSettingsDropdownHeader key='mapTypeDropdownHeader' label={dropdownHeaderText} />\n );\n\n const mapTypeNight = (\n <MapSettingsItem\n key='MapTypeNight'\n className='MapTypeNight'\n onClick={() => onMapTypeChange(MAP_TYPE_NIGHT)}\n isActive={type.isNight}\n activeIcon={<MapIcon name={MAP_TYPE_NIGHT_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_NIGHT_INACTIVE} />}\n label={nightTypeLabel}\n />\n );\n\n const mapTypeSatellite = (\n <MapSettingsItem\n key='MapTypeSatellite'\n className='MapTypeSatellite'\n onClick={() => onMapTypeChange(MAP_TYPE_SATELLITE)}\n isActive={type.isSatellite}\n activeIcon={<MapIcon name={MAP_TYPE_SATELLITE_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_SATELLITE_INACTIVE} />}\n label={satelliteTypeLabel}\n />\n );\n\n const mapTypeTerrain = (\n <MapSettingsItem\n key='MapTypeTerrain'\n className='MapTypeTerrain'\n onClick={() => onMapTypeChange(MAP_TYPE_TERRAIN)}\n isActive={type.isTerrain}\n activeIcon={<MapIcon name={MAP_TYPE_TERRAIN_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_TERRAIN_INACTIVE} />}\n label={terrainTypeLabel}\n />\n );\n\n const mapTypeTruck = (\n <MapSettingsItem\n key='MapTypeFlatTruck'\n className='MapTypeFlatTruck'\n onClick={() => onMapTypeChange(MAP_TYPE_FLEET_STYLE)}\n isActive={type.isFleetStyle}\n activeIcon={<MapIcon name={MAP_TYPE_FLAT_TRUCK_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_FLAT_TRUCK_INACTIVE} />}\n label={truckTypeLabel}\n />\n );\n\n const mapTypeDefault = (\n <MapSettingsItem\n key='MapTypeFlat'\n className='MapTypeFlat'\n onClick={() => onMapTypeChange(MAP_TYPE_DEFAULT)}\n isActive={type.isDefault}\n activeIcon={<MapIcon name={MAP_TYPE_FLAT_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_FLAT_INACTIVE} />}\n label={defaultTypeLabel}\n />\n );\n\n const mapTypeItems = compact([\n dropdownHeader,\n isNightMapVisible && mapTypeNight,\n isMapTypeVisible(MAP_TYPE_SATELLITE) && mapTypeSatellite,\n isMapTypeVisible(MAP_TYPE_TERRAIN) && mapTypeTerrain,\n isMapTypeVisible(MAP_TYPE_FLEET_STYLE) && mapTypeTruck,\n isMapTypeVisible(MAP_TYPE_DEFAULT) && mapTypeDefault,\n ]);\n\n const hasVisibleLabels =\n compact([\n isMapTypeVisible(MAP_TYPE_DEFAULT) && defaultTypeLabel,\n isMapTypeVisible(MAP_TYPE_FLEET_STYLE) && truckTypeLabel,\n isMapTypeVisible(MAP_TYPE_TERRAIN) && terrainTypeLabel,\n isMapTypeVisible(MAP_TYPE_SATELLITE) && satelliteTypeLabel,\n isNightMapVisible && nightTypeLabel,\n ]).length > 0;\n\n return (\n <MapSettingsTile\n className='MapTypeSettings'\n inactiveIcon={getIcon(type)}\n items={hasVisibleLabels ? mapTypeItems : undefined}\n panel={\n !hasVisibleLabels && (\n <MapSettingsPanel>\n {isNightMapVisible && mapTypeNight}\n {isMapTypeVisible(MAP_TYPE_SATELLITE) && mapTypeSatellite}\n {isMapTypeVisible(MAP_TYPE_TERRAIN) && mapTypeTerrain}\n {isMapTypeVisible(MAP_TYPE_FLEET_STYLE) && mapTypeTruck}\n {isMapTypeVisible(MAP_TYPE_DEFAULT) && mapTypeDefault}\n </MapSettingsPanel>\n )\n }\n {...remainingProps}\n />\n );\n};\n\nexport default MapTypeSettings;\n"],"names":["MapTypeSettings","props","mapType","onMapTypeChange","noop","enableNightMap","visibleMapTypes","MAP_TYPE_DEFAULT","MAP_TYPE_FLEET_STYLE","MAP_TYPE_TERRAIN","MAP_TYPE_SATELLITE","MAP_TYPE_NIGHT","defaultTypeLabel","truckTypeLabel","terrainTypeLabel","satelliteTypeLabel","nightTypeLabel","dropdownHeaderText","remainingProps","visibleMapTypesSet","useMemo","isMapTypeVisible","type","isNightMapVisible","visibleMapTypesWithoutLabel","compact","useEffect","getIcon","currentType","jsx","MapIcon","MAP_TYPE_FLAT_INACTIVE","MAP_TYPE_FLAT_TRUCK_INACTIVE","MAP_TYPE_TERRAIN_INACTIVE","MAP_TYPE_SATELLITE_INACTIVE","MAP_TYPE_NIGHT_INACTIVE","dropdownHeader","MapSettingsDropdownHeader","mapTypeNight","MapSettingsItem","MAP_TYPE_NIGHT_ACTIVE","mapTypeSatellite","MAP_TYPE_SATELLITE_ACTIVE","mapTypeTerrain","MAP_TYPE_TERRAIN_ACTIVE","mapTypeTruck","MAP_TYPE_FLAT_TRUCK_ACTIVE","mapTypeDefault","MAP_TYPE_FLAT_ACTIVE","mapTypeItems","hasVisibleLabels","MapSettingsTile","jsxs","MapSettingsPanel"],"mappings":"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"}