@rio-cloud/rio-uikit 2.1.0 → 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 (445) 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.js +7 -7
  22. package/components/actionBarItem/ActionBarItem.js.map +1 -1
  23. package/components/actionBarItem/ActionBarItemIcon.js +1 -1
  24. package/components/actionBarItem/ActionBarItemIcon.js.map +1 -1
  25. package/components/actionBarItem/ActionBarItemList.js +1 -1
  26. package/components/actionBarItem/ActionBarItemList.js.map +1 -1
  27. package/components/actionBarItem/ActionBarItemListItem.js +1 -1
  28. package/components/actionBarItem/ActionBarItemListItem.js.map +1 -1
  29. package/components/actionBarItem/ActionBarItemListSeparator.js +1 -1
  30. package/components/actionBarItem/ActionBarItemListSeparator.js.map +1 -1
  31. package/components/actionBarItem/ActionBarItemPopoverContent.js +3 -3
  32. package/components/actionBarItem/ActionBarItemPopoverContent.js.map +1 -1
  33. package/components/actionBarItem/ActionBarOverlay.js +1 -1
  34. package/components/actionBarItem/ActionBarOverlay.js.map +1 -1
  35. package/components/activity/Activity.js +1 -1
  36. package/components/activity/Activity.js.map +1 -1
  37. package/components/animatedTextReveal/AnimatedTextReveal.js +1 -1
  38. package/components/animatedTextReveal/AnimatedTextReveal.js.map +1 -1
  39. package/components/applicationHeader/AppMenu.js +2 -2
  40. package/components/applicationHeader/AppMenu.js.map +1 -1
  41. package/components/applicationHeader/AppMenuDropdown.js +13 -11
  42. package/components/applicationHeader/AppMenuDropdown.js.map +1 -1
  43. package/components/applicationHeader/ApplicationHeader.js +1 -1
  44. package/components/applicationHeader/ApplicationHeader.js.map +1 -1
  45. package/components/applicationHeader/MobileHeaderModal.js +8 -8
  46. package/components/applicationHeader/MobileHeaderModal.js.map +1 -1
  47. package/components/applicationHeader/MobileSubmoduleNavigation.js +1 -1
  48. package/components/applicationHeader/MobileSubmoduleNavigation.js.map +1 -1
  49. package/components/applicationHeader/NavItems.js +4 -4
  50. package/components/applicationHeader/NavItems.js.map +1 -1
  51. package/components/applicationLayout/ApplicationLayout.js +10 -10
  52. package/components/applicationLayout/ApplicationLayout.js.map +1 -1
  53. package/components/applicationLayout/ApplicationLayoutBody.js +2 -2
  54. package/components/applicationLayout/ApplicationLayoutBody.js.map +1 -1
  55. package/components/applicationLayout/ApplicationLayoutBodyBanner.js +1 -1
  56. package/components/applicationLayout/ApplicationLayoutBodyBanner.js.map +1 -1
  57. package/components/applicationLayout/ApplicationLayoutBodyBottomBar.js +1 -1
  58. package/components/applicationLayout/ApplicationLayoutBodyBottomBar.js.map +1 -1
  59. package/components/applicationLayout/ApplicationLayoutBodyNavigation.js +1 -1
  60. package/components/applicationLayout/ApplicationLayoutBodyNavigation.js.map +1 -1
  61. package/components/applicationLayout/ApplicationLayoutHeader.js +1 -1
  62. package/components/applicationLayout/ApplicationLayoutHeader.js.map +1 -1
  63. package/components/applicationLayout/ApplicationLayoutSidebar.js +1 -1
  64. package/components/applicationLayout/ApplicationLayoutSidebar.js.map +1 -1
  65. package/components/applicationLayout/SubNavigation.js +1 -1
  66. package/components/applicationLayout/SubNavigation.js.map +1 -1
  67. package/components/assetTree/AssetTree.js +1 -1
  68. package/components/assetTree/AssetTree.js.map +1 -1
  69. package/components/assetTree/Tree.js +1 -1
  70. package/components/assetTree/Tree.js.map +1 -1
  71. package/components/assetTree/TreeIcon.js +3 -3
  72. package/components/assetTree/TreeIcon.js.map +1 -1
  73. package/components/assetTree/TreeLeaf.js +4 -4
  74. package/components/assetTree/TreeLeaf.js.map +1 -1
  75. package/components/assetTree/TreeNode.js +1 -1
  76. package/components/assetTree/TreeNode.js.map +1 -1
  77. package/components/assetTree/TreeNodeContainer.js +1 -1
  78. package/components/assetTree/TreeNodeContainer.js.map +1 -1
  79. package/components/assetTree/TreeOption.js +3 -3
  80. package/components/assetTree/TreeOption.js.map +1 -1
  81. package/components/assetTree/TreeOptions.js +4 -4
  82. package/components/assetTree/TreeOptions.js.map +1 -1
  83. package/components/assetTree/TreeRoot.js +3 -3
  84. package/components/assetTree/TreeRoot.js.map +1 -1
  85. package/components/assetTree/TreeSearch.js +3 -3
  86. package/components/assetTree/TreeSearch.js.map +1 -1
  87. package/components/assetTree/TreeSidebar.js +1 -1
  88. package/components/assetTree/TreeSidebar.js.map +1 -1
  89. package/components/assetTree/TreeSidebarCategories.js +4 -4
  90. package/components/assetTree/TreeSidebarCategories.js.map +1 -1
  91. package/components/assetTree/TreeSummary.js +1 -1
  92. package/components/assetTree/TreeSummary.js.map +1 -1
  93. package/components/assetTree/TypeCounter.js +1 -1
  94. package/components/assetTree/TypeCounter.js.map +1 -1
  95. package/components/autosuggest/AutoSuggest.js +1 -1
  96. package/components/autosuggest/AutoSuggest.js.map +1 -1
  97. package/components/avatar/Avatar.js +1 -1
  98. package/components/avatar/Avatar.js.map +1 -1
  99. package/components/banner/Banner.js +1 -1
  100. package/components/banner/Banner.js.map +1 -1
  101. package/components/banner/BannerContent.js +1 -1
  102. package/components/banner/BannerContent.js.map +1 -1
  103. package/components/barList/BarList.js +1 -1
  104. package/components/barList/BarList.js.map +1 -1
  105. package/components/bottomSheet/BottomSheet.js +1 -1
  106. package/components/bottomSheet/BottomSheet.js.map +1 -1
  107. package/components/button/Button.d.ts +53 -7
  108. package/components/button/Button.js +87 -64
  109. package/components/button/Button.js.map +1 -1
  110. package/components/button/ButtonToolbar.js +1 -1
  111. package/components/button/ButtonToolbar.js.map +1 -1
  112. package/components/button/ToggleButton.d.ts +4 -1
  113. package/components/button/ToggleButton.js.map +1 -1
  114. package/components/calendarStripe/CalendarStripe.js +16 -16
  115. package/components/calendarStripe/CalendarStripe.js.map +1 -1
  116. package/components/card/Card.js +1 -1
  117. package/components/card/Card.js.map +1 -1
  118. package/components/charts/RadialBarChart.js +106 -103
  119. package/components/charts/RadialBarChart.js.map +1 -1
  120. package/components/checkbox/Checkbox.js +6 -6
  121. package/components/checkbox/Checkbox.js.map +1 -1
  122. package/components/circularProgress/CircularProgress.d.ts +139 -0
  123. package/components/circularProgress/CircularProgress.js +197 -0
  124. package/components/circularProgress/CircularProgress.js.map +1 -0
  125. package/components/clearableInput/ClearableInput.js +9 -9
  126. package/components/clearableInput/ClearableInput.js.map +1 -1
  127. package/components/dataTabs/DataTabHeader.js +1 -1
  128. package/components/dataTabs/DataTabHeader.js.map +1 -1
  129. package/components/dataTabs/DataTabs.js +4 -4
  130. package/components/dataTabs/DataTabs.js.map +1 -1
  131. package/components/datepicker/DatePicker.js +6 -6
  132. package/components/datepicker/DatePicker.js.map +1 -1
  133. package/components/datepicker/DateRangePicker.js +1 -1
  134. package/components/datepicker/DateRangePicker.js.map +1 -1
  135. package/components/datepicker/DayPicker.js +1 -1
  136. package/components/datepicker/DayPicker.js.map +1 -1
  137. package/components/dialog/Dialog.js +55 -55
  138. package/components/dialog/Dialog.js.map +1 -1
  139. package/components/dialog/DialogBody.js +1 -1
  140. package/components/dialog/DialogBody.js.map +1 -1
  141. package/components/dialog/DialogFooter.js +1 -1
  142. package/components/dialog/DialogFooter.js.map +1 -1
  143. package/components/dialog/DialogHeader.js +1 -1
  144. package/components/dialog/DialogHeader.js.map +1 -1
  145. package/components/dialog/MediaDialog.js +1 -1
  146. package/components/dialog/MediaDialog.js.map +1 -1
  147. package/components/dialog/SplitDialog.js +1 -1
  148. package/components/dialog/SplitDialog.js.map +1 -1
  149. package/components/divider/Divider.js +1 -1
  150. package/components/divider/Divider.js.map +1 -1
  151. package/components/dropdown/ButtonDropdown.js +1 -1
  152. package/components/dropdown/ButtonDropdown.js.map +1 -1
  153. package/components/dropdown/DropdownSubmenu.js +3 -3
  154. package/components/dropdown/DropdownSubmenu.js.map +1 -1
  155. package/components/dropdown/DropdownToggleButton.d.ts +1 -1
  156. package/components/dropdown/DropdownToggleButton.js +4 -3
  157. package/components/dropdown/DropdownToggleButton.js.map +1 -1
  158. package/components/dropdown/SplitCaretButton.js +6 -6
  159. package/components/dropdown/SplitCaretButton.js.map +1 -1
  160. package/components/editableContent/EditableContent.js +1 -1
  161. package/components/editableContent/EditableContent.js.map +1 -1
  162. package/components/ellipsis/TextTruncateMiddle.d.ts +23 -0
  163. package/components/ellipsis/TextTruncateMiddle.js +21 -0
  164. package/components/ellipsis/TextTruncateMiddle.js.map +1 -0
  165. package/components/expander/ExpanderList.js +5 -5
  166. package/components/expander/ExpanderList.js.map +1 -1
  167. package/components/expander/ExpanderPanel.js +1 -1
  168. package/components/expander/ExpanderPanel.js.map +1 -1
  169. package/components/feedback/FeedbackRating.js +1 -1
  170. package/components/feedback/FeedbackRating.js.map +1 -1
  171. package/components/feedback/FeedbackReactions.js +1 -1
  172. package/components/feedback/FeedbackReactions.js.map +1 -1
  173. package/components/formLabel/FormLabel.js +6 -9
  174. package/components/formLabel/FormLabel.js.map +1 -1
  175. package/components/formLabel/LabeledElement.js +1 -1
  176. package/components/formLabel/LabeledElement.js.map +1 -1
  177. package/components/listMenu/ListMenu.js +2 -5
  178. package/components/listMenu/ListMenu.js.map +1 -1
  179. package/components/listMenu/ListMenuGroup.js +2 -2
  180. package/components/listMenu/ListMenuGroup.js.map +1 -1
  181. package/components/loadMore/LoadMoreButton.js +1 -1
  182. package/components/loadMore/LoadMoreButton.js.map +1 -1
  183. package/components/loadMore/LoadMoreProgress.js +1 -1
  184. package/components/loadMore/LoadMoreProgress.js.map +1 -1
  185. package/components/map/components/features/MapSettings.js +4 -4
  186. package/components/map/components/features/MapSettings.js.map +1 -1
  187. package/components/map/components/features/settings/MapSettingsItem.js +1 -1
  188. package/components/map/components/features/settings/MapSettingsItem.js.map +1 -1
  189. package/components/map/components/features/settings/MapSettingsPanel.js +6 -20
  190. package/components/map/components/features/settings/MapSettingsPanel.js.map +1 -1
  191. package/components/map/components/features/settings/MapSettingsTile.js +87 -61
  192. package/components/map/components/features/settings/MapSettingsTile.js.map +1 -1
  193. package/components/map/components/features/settings/ZoomButtons.js +1 -1
  194. package/components/map/components/features/settings/ZoomButtons.js.map +1 -1
  195. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.d.ts +38 -1
  196. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +128 -92
  197. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js.map +1 -1
  198. package/components/map/utils/eventHandling.js +9 -9
  199. package/components/map/utils/eventHandling.js.map +1 -1
  200. package/components/map/utils/mapUtils.d.ts +6 -6
  201. package/components/map/utils/mapUtils.js +14 -19
  202. package/components/map/utils/mapUtils.js.map +1 -1
  203. package/components/mapMarker/ClusterMapMarker.js +1 -1
  204. package/components/mapMarker/ClusterMapMarker.js.map +1 -1
  205. package/components/mapMarker/SingleMapMarker.js +1 -1
  206. package/components/mapMarker/SingleMapMarker.js.map +1 -1
  207. package/components/menuItems/MenuItem.js +1 -1
  208. package/components/menuItems/MenuItem.js.map +1 -1
  209. package/components/menuItems/MenuItemList.js +1 -1
  210. package/components/menuItems/MenuItemList.js.map +1 -1
  211. package/components/navigation/AppNavigationBar.js +4 -4
  212. package/components/navigation/AppNavigationBar.js.map +1 -1
  213. package/components/noData/NoData.js +1 -1
  214. package/components/noData/NoData.js.map +1 -1
  215. package/components/numberControl/NumberControl.js +4 -4
  216. package/components/numberControl/NumberControl.js.map +1 -1
  217. package/components/numberInput/NumberInput.js +1 -1
  218. package/components/numberInput/NumberInput.js.map +1 -1
  219. package/components/onboarding/OnboardingTip.js +4 -4
  220. package/components/onboarding/OnboardingTip.js.map +1 -1
  221. package/components/page/Page.js +1 -1
  222. package/components/page/Page.js.map +1 -1
  223. package/components/pager/Pager.js +1 -1
  224. package/components/pager/Pager.js.map +1 -1
  225. package/components/radiobutton/RadioButton.d.ts +1 -1
  226. package/components/radiobutton/RadioButton.js +5 -5
  227. package/components/radiobutton/RadioButton.js.map +1 -1
  228. package/components/radiobutton/RadioCardGroup.d.ts +86 -0
  229. package/components/radiobutton/RadioCardGroup.js +110 -0
  230. package/components/radiobutton/RadioCardGroup.js.map +1 -0
  231. package/components/resizer/Resizer.js +1 -1
  232. package/components/resizer/Resizer.js.map +1 -1
  233. package/components/responsiveColumnStripe/ResponsiveColumnStripe.js +1 -1
  234. package/components/responsiveColumnStripe/ResponsiveColumnStripe.js.map +1 -1
  235. package/components/rioglyph/Rioglyph.js +1 -1
  236. package/components/rioglyph/Rioglyph.js.map +1 -1
  237. package/components/rioglyph/RioglyphIconType.d.ts +1 -1
  238. package/components/rules/RuleConnector.js +1 -1
  239. package/components/rules/RuleConnector.js.map +1 -1
  240. package/components/rules/RuleContainer.js +27 -27
  241. package/components/rules/RuleContainer.js.map +1 -1
  242. package/components/saveableInput/SaveableDateInput.js +1 -1
  243. package/components/saveableInput/SaveableDateInput.js.map +1 -1
  244. package/components/saveableInput/SaveableInput.js +49 -49
  245. package/components/saveableInput/SaveableInput.js.map +1 -1
  246. package/components/searchHighlight/SearchHighlightText.d.ts +28 -0
  247. package/components/searchHighlight/SearchHighlightText.js +15 -0
  248. package/components/searchHighlight/SearchHighlightText.js.map +1 -0
  249. package/components/selects/BaseSelectDropdown.js +1 -1
  250. package/components/selects/BaseSelectDropdown.js.map +1 -1
  251. package/components/selects/ClearButton.js +4 -4
  252. package/components/selects/ClearButton.js.map +1 -1
  253. package/components/selects/Multiselect.js +6 -6
  254. package/components/selects/Multiselect.js.map +1 -1
  255. package/components/selects/MultiselectToggleFilter.js +4 -4
  256. package/components/selects/MultiselectToggleFilter.js.map +1 -1
  257. package/components/selects/MultiselectToggleSelection.js +1 -1
  258. package/components/selects/MultiselectToggleSelection.js.map +1 -1
  259. package/components/selects/Select.js +6 -6
  260. package/components/selects/Select.js.map +1 -1
  261. package/components/selects/SelectFilter.js +1 -1
  262. package/components/selects/SelectFilter.js.map +1 -1
  263. package/components/selects/WithFeedbackAndAddon.js +1 -1
  264. package/components/selects/WithFeedbackAndAddon.js.map +1 -1
  265. package/components/sidebars/Sidebar.js +54 -54
  266. package/components/sidebars/Sidebar.js.map +1 -1
  267. package/components/sidebars/SidebarBackdrop.js +4 -4
  268. package/components/sidebars/SidebarBackdrop.js.map +1 -1
  269. package/components/sidebars/SidebarFooter.js +1 -1
  270. package/components/sidebars/SidebarFooter.js.map +1 -1
  271. package/components/sidebars/SidebarFullscreenToggle.js +4 -4
  272. package/components/sidebars/SidebarFullscreenToggle.js.map +1 -1
  273. package/components/slider/RangeSlider.js +1 -1
  274. package/components/slider/RangeSlider.js.map +1 -1
  275. package/components/slider/Slider.js +1 -1
  276. package/components/slider/Slider.js.map +1 -1
  277. package/components/smoothScrollbars/SmoothScrollbars.js +1 -1
  278. package/components/smoothScrollbars/SmoothScrollbars.js.map +1 -1
  279. package/components/spinner/Spinner.js +5 -4
  280. package/components/spinner/Spinner.js.map +1 -1
  281. package/components/states/CustomState.d.ts +69 -1
  282. package/components/states/CustomState.js +1 -1
  283. package/components/states/CustomState.js.map +1 -1
  284. package/components/states/EmptyState.d.ts +1 -1
  285. package/components/states/EmptyState.js.map +1 -1
  286. package/components/states/ErrorState.d.ts +1 -1
  287. package/components/states/ErrorState.js.map +1 -1
  288. package/components/states/ForbiddenState.d.ts +1 -1
  289. package/components/states/ForbiddenState.js.map +1 -1
  290. package/components/states/MaintenanceState.d.ts +1 -1
  291. package/components/states/MaintenanceState.js.map +1 -1
  292. package/components/states/NotBookedState.d.ts +1 -1
  293. package/components/states/NotBookedState.js.map +1 -1
  294. package/components/states/NotFoundState.d.ts +1 -1
  295. package/components/states/NotFoundState.js.map +1 -1
  296. package/components/states/StateButton.js +1 -1
  297. package/components/states/StateButton.js.map +1 -1
  298. package/components/statsWidget/StatsWidget.js +1 -1
  299. package/components/statsWidget/StatsWidget.js.map +1 -1
  300. package/components/statsWidget/StatsWidgetBody.js +1 -1
  301. package/components/statsWidget/StatsWidgetBody.js.map +1 -1
  302. package/components/statsWidget/StatsWidgetFooter.js +1 -1
  303. package/components/statsWidget/StatsWidgetFooter.js.map +1 -1
  304. package/components/statsWidget/StatsWidgetHeader.js +1 -1
  305. package/components/statsWidget/StatsWidgetHeader.js.map +1 -1
  306. package/components/statsWidget/StatsWidgetNumber.js +2 -2
  307. package/components/statsWidget/StatsWidgetNumber.js.map +1 -1
  308. package/components/statsWidget/StatsWidgetSpacer.js +1 -1
  309. package/components/statsWidget/StatsWidgetSpacer.js.map +1 -1
  310. package/components/statsWidget/StatsWidgets.js +1 -1
  311. package/components/statsWidget/StatsWidgets.js.map +1 -1
  312. package/components/statusBar/StatusBar.d.ts +126 -2
  313. package/components/statusBar/StatusBar.js +24 -17
  314. package/components/statusBar/StatusBar.js.map +1 -1
  315. package/components/statusBar/StatusBarIcon.d.ts +1 -1
  316. package/components/statusBar/StatusBarIcon.js +4 -4
  317. package/components/statusBar/StatusBarIcon.js.map +1 -1
  318. package/components/statusBar/StatusBarLabel.d.ts +1 -1
  319. package/components/statusBar/StatusBarLabel.js +5 -7
  320. package/components/statusBar/StatusBarLabel.js.map +1 -1
  321. package/components/statusBar/StatusBarProgressBar.d.ts +1 -1
  322. package/components/statusBar/StatusBarProgressBar.js +1 -1
  323. package/components/statusBar/StatusBarProgressBar.js.map +1 -1
  324. package/components/steppedProgressBar/SteppedProgressBar.js +1 -1
  325. package/components/steppedProgressBar/SteppedProgressBar.js.map +1 -1
  326. package/components/switch/Switch.d.ts +16 -1
  327. package/components/switch/Switch.js +77 -35
  328. package/components/switch/Switch.js.map +1 -1
  329. package/components/table/TableCardsSorting.js +4 -4
  330. package/components/table/TableCardsSorting.js.map +1 -1
  331. package/components/table/TableHead.js +1 -1
  332. package/components/table/TableHead.js.map +1 -1
  333. package/components/table/TableSearch.js +1 -1
  334. package/components/table/TableSearch.js.map +1 -1
  335. package/components/table/TableSettingsColumnButtons.d.ts +1 -1
  336. package/components/table/TableSettingsColumnButtons.js +1 -1
  337. package/components/table/TableSettingsColumnButtons.js.map +1 -1
  338. package/components/table/TableSettingsColumnDetails.d.ts +1 -1
  339. package/components/table/TableSettingsColumnDetails.js +1 -1
  340. package/components/table/TableSettingsColumnDetails.js.map +1 -1
  341. package/components/table/TableSettingsDialog.d.ts +51 -1
  342. package/components/table/TableSettingsDialog.js +164 -148
  343. package/components/table/TableSettingsDialog.js.map +1 -1
  344. package/components/table/TableSettingsDialogFooter.js +1 -1
  345. package/components/table/TableSettingsDialogFooter.js.map +1 -1
  346. package/components/table/TableSettingsListContainer.d.ts +1 -1
  347. package/components/table/TableSettingsListContainer.js.map +1 -1
  348. package/components/table/TableSettingsListItem.d.ts +1 -1
  349. package/components/table/TableSettingsListItem.js +8 -8
  350. package/components/table/TableSettingsListItem.js.map +1 -1
  351. package/components/table/TableToolbar.js +1 -1
  352. package/components/table/TableToolbar.js.map +1 -1
  353. package/components/table/TableViewToggles.js +1 -1
  354. package/components/table/TableViewToggles.js.map +1 -1
  355. package/components/tag/Tag.js +1 -1
  356. package/components/tag/Tag.js.map +1 -1
  357. package/components/tag/TagList.js +1 -1
  358. package/components/tag/TagList.js.map +1 -1
  359. package/components/tagManager/CustomSuggestionItem.js +1 -1
  360. package/components/tagManager/CustomSuggestionItem.js.map +1 -1
  361. package/components/tagManager/TagManager.d.ts +14 -2
  362. package/components/tagManager/TagManager.js +6 -6
  363. package/components/tagManager/TagManager.js.map +1 -1
  364. package/components/tagManager/TagManagerItemList.d.ts +1 -1
  365. package/components/tagManager/TagManagerItemList.js +1 -1
  366. package/components/tagManager/TagManagerItemList.js.map +1 -1
  367. package/components/teaser/Teaser.js +1 -1
  368. package/components/teaser/Teaser.js.map +1 -1
  369. package/components/teaser/TeaserContainer.js +1 -1
  370. package/components/teaser/TeaserContainer.js.map +1 -1
  371. package/components/timepicker/TimePicker.d.ts +20 -0
  372. package/components/timepicker/TimePicker.js +153 -99
  373. package/components/timepicker/TimePicker.js.map +1 -1
  374. package/components/tooltip/Tooltip.js +1 -1
  375. package/components/tooltip/Tooltip.js.map +1 -1
  376. package/components/tracker/Tracker.d.ts +85 -0
  377. package/components/tracker/Tracker.js +54 -0
  378. package/components/tracker/Tracker.js.map +1 -0
  379. package/components/tracker/TrackerBlock.d.ts +11 -0
  380. package/components/tracker/TrackerBlock.js +34 -0
  381. package/components/tracker/TrackerBlock.js.map +1 -0
  382. package/components/video/ResponsiveVideo.js +1 -1
  383. package/components/video/ResponsiveVideo.js.map +1 -1
  384. package/hooks/useCookies.d.ts +79 -0
  385. package/hooks/useCookies.js +33 -0
  386. package/hooks/useCookies.js.map +1 -0
  387. package/hooks/useInterval.js +5 -5
  388. package/hooks/useInterval.js.map +1 -1
  389. package/hooks/useIsFocusWithin.js +3 -3
  390. package/hooks/useIsFocusWithin.js.map +1 -1
  391. package/hooks/useLatest.d.ts +16 -0
  392. package/hooks/useLatest.js +11 -0
  393. package/hooks/useLatest.js.map +1 -0
  394. package/hooks/usePostMessage.d.ts +2 -1
  395. package/hooks/usePostMessage.js.map +1 -1
  396. package/hooks/useRioCookieConsent.d.ts +49 -0
  397. package/hooks/useRioCookieConsent.js +44 -0
  398. package/hooks/useRioCookieConsent.js.map +1 -0
  399. package/hooks/useSearch.d.ts +1 -1
  400. package/hooks/useSearch.js +28 -17
  401. package/hooks/useSearch.js.map +1 -1
  402. package/hooks/useSearchHighlight.d.ts +60 -0
  403. package/hooks/useSearchHighlight.js +54 -0
  404. package/hooks/useSearchHighlight.js.map +1 -0
  405. package/hooks/useTimeout.js +11 -11
  406. package/hooks/useTimeout.js.map +1 -1
  407. package/hooks/useUrlState.d.ts +62 -0
  408. package/hooks/useUrlState.js +137 -0
  409. package/hooks/useUrlState.js.map +1 -0
  410. package/mergeClassNameOverrides.d.ts +1 -0
  411. package/mergeClassNameOverrides.js +5 -0
  412. package/mergeClassNameOverrides.js.map +1 -0
  413. package/package.json +17 -18
  414. package/routeUtils.js +11 -5
  415. package/routeUtils.js.map +1 -1
  416. package/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js +1 -1
  417. package/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js.map +1 -1
  418. package/useCookies.d.ts +2 -0
  419. package/useCookies.js +5 -0
  420. package/useCookies.js.map +1 -0
  421. package/useRioCookieConsent.d.ts +2 -0
  422. package/useRioCookieConsent.js +5 -0
  423. package/useRioCookieConsent.js.map +1 -0
  424. package/useSearchHighlight.d.ts +2 -0
  425. package/useSearchHighlight.js +6 -0
  426. package/useSearchHighlight.js.map +1 -0
  427. package/useUrlState.d.ts +2 -0
  428. package/useUrlState.js +5 -0
  429. package/useUrlState.js.map +1 -0
  430. package/utils/classNames.d.ts +3 -0
  431. package/utils/classNames.js +5 -0
  432. package/utils/classNames.js.map +1 -0
  433. package/utils/mergeClassNameOverrides.d.ts +1 -0
  434. package/utils/mergeClassNameOverrides.js +55 -0
  435. package/utils/mergeClassNameOverrides.js.map +1 -0
  436. package/utils/routeUtils.d.ts +122 -13
  437. package/utils/routeUtils.js +89 -31
  438. package/utils/routeUtils.js.map +1 -1
  439. package/version.d.ts +1 -1
  440. package/version.js +1 -1
  441. package/version.js.map +1 -1
  442. package/components/states/BaseStateProps.d.ts +0 -70
  443. package/components/statusBar/StatusBarProps.d.ts +0 -127
  444. package/components/table/TableSettingsDialog.types.d.ts +0 -39
  445. package/components/tagManager/TagManagerTag.d.ts +0 -14
@@ -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":";;;;;;;;;;AA4FA,MAAMA,KAAkB,CAACC,MAAgC;AACrD,QAAM;AAAA,IACF,SAAAC;AAAA,IACA,iBAAAC,IAAkBC;AAAA,IAClB,gBAAAC,IAAiB;AAAA,IACjB,iBAAAC,IAAkB;AAAA,MACdC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,IAEJ,kBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACHjB,GAEEkB,IAAqBC,EAAQ,MACxB,IAAI,IAAId,CAAe,GAC/B,CAACA,CAAe,CAAC,GAEde,IAAmB,CAACC,MAAkBH,EAAmB,IAAIG,CAAI,GAEjEC,IAAoBF,EAAiBV,CAAc,KAAKN,GAExDmB,IAA8BJ;AAAA,IAChC,MACIK,EAAQ;AAAA,MACJN,EAAmB,IAAIZ,CAAgB,KAAK,CAACK,KAAoBL;AAAA,MACjEY,EAAmB,IAAIX,CAAoB,KAAK,CAACK,KAAkBL;AAAA,MACnEW,EAAmB,IAAIV,CAAgB,KAAK,CAACK,KAAoBL;AAAA,MACjEU,EAAmB,IAAIT,CAAkB,KAAK,CAACK,KAAsBL;AAAA,MACrEa,KAAqB,CAACP,KAAkBL;AAAA,IAAA,CAC3C;AAAA,IACL;AAAA,MACIC;AAAA,MACAW;AAAA,MACAP;AAAA,MACAD;AAAA,MACAD;AAAA,MACAD;AAAA,MACAM;AAAA,IAAA;AAAA,EACJ;AAGJ,EAAAO,EAAU,MAAM;AACZ,IAAI,OAAO,UAAY,OAAe,QAAQ,IAAI,aAAa,gBAI3DF,EAA4B,WAAW,KAI3C,QAAQ;AAAA,MACJ,2DAA2DA,EAA4B,KAAK,IAAI,CAAC;AAAA,IAAA;AAAA,EAGzG,GAAG,CAACA,CAA2B,CAAC;AAEhC,QAAMF,IAAOF;AAAA,IACT,OAAO;AAAA,MACH,WAAWlB,MAAYK;AAAA,MACvB,cAAcL,MAAYM;AAAA,MAC1B,WAAWN,MAAYO;AAAA,MACvB,aAAaP,MAAYQ;AAAA,MACzB,SAASR,MAAYS;AAAA,IAAA;AAAA,IAEzB,CAACT,CAAO;AAAA,EAAA,GAGNyB,IAAU,CAACC,MAA6B;AAC1C,QAAIA,EAAY;AACZ,aAAO,gBAAAC,EAACC,GAAA,EAAQ,MAAMC,EAAA,CAAwB;AAElD,QAAIH,EAAY;AACZ,aAAO,gBAAAC,EAACC,GAAA,EAAQ,MAAME,EAAA,CAA8B;AAExD,QAAIJ,EAAY;AACZ,aAAO,gBAAAC,EAACC,GAAA,EAAQ,MAAMG,EAAA,CAA2B;AAErD,QAAIL,EAAY;AACZ,aAAO,gBAAAC,EAACC,GAAA,EAAQ,MAAMI,EAAA,CAA6B;AAEvD,QAAIN,EAAY;AACZ,aAAO,gBAAAC,EAACC,GAAA,EAAQ,MAAMK,EAAA,CAAyB;AAAA,EAEvD,GAEMC,IAAiBnB,KACnB,gBAAAY,EAACQ,GAAA,EAAsD,OAAOpB,KAA/B,uBAAmD,GAGhFqB,IACF,gBAAAT;AAAA,IAACU;AAAA,IAAA;AAAA,MAEG,WAAU;AAAA,MACV,SAAS,MAAMpC,EAAgBQ,CAAc;AAAA,MAC7C,UAAUW,EAAK;AAAA,MACf,YAAY,gBAAAO,EAACC,GAAA,EAAQ,MAAMU,EAAA,CAAuB;AAAA,MAClD,cAAc,gBAAAX,EAACC,GAAA,EAAQ,MAAMK,EAAA,CAAyB;AAAA,MACtD,OAAOnB;AAAA,IAAA;AAAA,IANH;AAAA,EAAA,GAUNyB,IACF,gBAAAZ;AAAA,IAACU;AAAA,IAAA;AAAA,MAEG,WAAU;AAAA,MACV,SAAS,MAAMpC,EAAgBO,CAAkB;AAAA,MACjD,UAAUY,EAAK;AAAA,MACf,YAAY,gBAAAO,EAACC,GAAA,EAAQ,MAAMY,EAAA,CAA2B;AAAA,MACtD,cAAc,gBAAAb,EAACC,GAAA,EAAQ,MAAMI,EAAA,CAA6B;AAAA,MAC1D,OAAOnB;AAAA,IAAA;AAAA,IANH;AAAA,EAAA,GAUN4B,IACF,gBAAAd;AAAA,IAACU;AAAA,IAAA;AAAA,MAEG,WAAU;AAAA,MACV,SAAS,MAAMpC,EAAgBM,CAAgB;AAAA,MAC/C,UAAUa,EAAK;AAAA,MACf,YAAY,gBAAAO,EAACC,GAAA,EAAQ,MAAMc,EAAA,CAAyB;AAAA,MACpD,cAAc,gBAAAf,EAACC,GAAA,EAAQ,MAAMG,EAAA,CAA2B;AAAA,MACxD,OAAOnB;AAAA,IAAA;AAAA,IANH;AAAA,EAAA,GAUN+B,IACF,gBAAAhB;AAAA,IAACU;AAAA,IAAA;AAAA,MAEG,WAAU;AAAA,MACV,SAAS,MAAMpC,EAAgBK,CAAoB;AAAA,MACnD,UAAUc,EAAK;AAAA,MACf,YAAY,gBAAAO,EAACC,GAAA,EAAQ,MAAMgB,EAAA,CAA4B;AAAA,MACvD,cAAc,gBAAAjB,EAACC,GAAA,EAAQ,MAAME,EAAA,CAA8B;AAAA,MAC3D,OAAOnB;AAAA,IAAA;AAAA,IANH;AAAA,EAAA,GAUNkC,IACF,gBAAAlB;AAAA,IAACU;AAAA,IAAA;AAAA,MAEG,WAAU;AAAA,MACV,SAAS,MAAMpC,EAAgBI,CAAgB;AAAA,MAC/C,UAAUe,EAAK;AAAA,MACf,YAAY,gBAAAO,EAACC,GAAA,EAAQ,MAAMkB,EAAA,CAAsB;AAAA,MACjD,cAAc,gBAAAnB,EAACC,GAAA,EAAQ,MAAMC,EAAA,CAAwB;AAAA,MACrD,OAAOnB;AAAA,IAAA;AAAA,IANH;AAAA,EAAA,GAUNqC,IAAexB,EAAQ;AAAA,IACzBW;AAAA,IACAb,KAAqBe;AAAA,IACrBjB,EAAiBX,CAAkB,KAAK+B;AAAA,IACxCpB,EAAiBZ,CAAgB,KAAKkC;AAAA,IACtCtB,EAAiBb,CAAoB,KAAKqC;AAAA,IAC1CxB,EAAiBd,CAAgB,KAAKwC;AAAA,EAAA,CACzC,GAEKG,IACFzB,EAAQ;AAAA,IACJJ,EAAiBd,CAAgB,KAAKK;AAAA,IACtCS,EAAiBb,CAAoB,KAAKK;AAAA,IAC1CQ,EAAiBZ,CAAgB,KAAKK;AAAA,IACtCO,EAAiBX,CAAkB,KAAKK;AAAA,IACxCQ,KAAqBP;AAAA,EAAA,CACxB,EAAE,SAAS;AAEhB,SACI,gBAAAa;AAAA,IAACsB;AAAA,IAAA;AAAA,MACG,WAAU;AAAA,MACV,cAAcxB,EAAQL,CAAI;AAAA,MAC1B,OAAO4B,IAAmBD,IAAe;AAAA,MACzC,OACI,CAACC,KACG,gBAAAE,EAACC,GAAA,EACI,UAAA;AAAA,QAAA9B,KAAqBe;AAAA,QACrBjB,EAAiBX,CAAkB,KAAK+B;AAAA,QACxCpB,EAAiBZ,CAAgB,KAAKkC;AAAA,QACtCtB,EAAiBb,CAAoB,KAAKqC;AAAA,QAC1CxB,EAAiBd,CAAgB,KAAKwC;AAAA,MAAA,GAC3C;AAAA,MAGP,GAAG7B;AAAA,IAAA;AAAA,EAAA;AAGhB;"}
@@ -1,9 +1,9 @@
1
1
  const s = (e = 250) => {
2
2
  let n;
3
3
  const t = (r, ...E) => {
4
- o(), n = window.setTimeout(() => r(...E), e);
4
+ o(), n = setTimeout(() => r(...E), e);
5
5
  }, o = () => {
6
- window.clearTimeout(n);
6
+ clearTimeout(n);
7
7
  };
8
8
  return {
9
9
  delayTime: e,
@@ -23,7 +23,7 @@ const s = (e = 250) => {
23
23
  map: n,
24
24
  calculateGeoCoords: () => n.screenToGeo(t, o)
25
25
  };
26
- }, T = (e, n) => (t) => e(t, i(t, n)), _ = (e, n, t) => {
26
+ }, T = (e, n) => (t) => e(t, i(t, n)), l = (e, n, t) => {
27
27
  if (!n)
28
28
  return;
29
29
  const o = {};
@@ -33,7 +33,7 @@ const s = (e = 250) => {
33
33
  }), e.rioMapRemoveEvents = () => (Object.keys(o).forEach((r) => {
34
34
  e.removeEventListener(r, o[r]);
35
35
  }), delete e.rioMapRemoveEvents, t);
36
- }, l = (e) => {
36
+ }, N = (e) => {
37
37
  if (e.rioMapRemoveEvents)
38
38
  return e.rioMapRemoveEvents();
39
39
  }, u = (e, n = 300) => {
@@ -46,7 +46,7 @@ const s = (e = 250) => {
46
46
  }, t[c.DBL_TAP] = (...r) => {
47
47
  o.cancel(), e[c.DBL_TAP](...r);
48
48
  }, t;
49
- }, a = (e) => e.originalEvent.button, d = (e) => a(e) === c.MOUSE_BUTTONS.RIGHT, c = {
49
+ }, a = (e) => e.originalEvent.button, _ = (e) => a(e) === c.MOUSE_BUTTONS.RIGHT, c = {
50
50
  MOUSE_BUTTONS: {
51
51
  LEFT: 0,
52
52
  MIDDLE: 1,
@@ -73,17 +73,17 @@ const s = (e = 250) => {
73
73
  ENGINE_CHANGE: "enginechange",
74
74
  createTapOnDblTapPreventer: u,
75
75
  getMouseButton: a,
76
- isRightClick: d
76
+ isRightClick: _
77
77
  };
78
78
  export {
79
79
  c as EventUtils,
80
- _ as addEventListenerMap,
80
+ l as addEventListenerMap,
81
81
  T as createEnhancedListener,
82
82
  i as createEnhancedMapEvent,
83
83
  u as createTapOnDblTapPreventer,
84
84
  c as default,
85
85
  a as getMouseButton,
86
- d as isRightClick,
87
- l as removeEventListenerMap
86
+ _ as isRightClick,
87
+ N as removeEventListenerMap
88
88
  };
89
89
  //# sourceMappingURL=eventHandling.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventHandling.js","sources":["../../../../src/components/map/utils/eventHandling.ts"],"sourcesContent":["import type { MapEvent } from './mapTypes';\n\nexport type EventListenerMap = {\n [key: string]: Function;\n};\n\ntype Timer = number | undefined;\n\ntype MapTimeGuard = {\n delayTime: number;\n timer: Timer;\n delay(callback: Function, ...args: any[]): void;\n cancel(): void;\n};\n\nconst createMapTimeGuard = (delay = 250): MapTimeGuard => {\n let timer: Timer;\n\n const delayFunc = <T>(callback: Function, ...args: T[]): void => {\n cancelFunc();\n timer = window.setTimeout(() => callback(...args), delay);\n };\n\n const cancelFunc = (): void => {\n window.clearTimeout(timer);\n };\n\n return {\n delayTime: delay,\n timer,\n delay: delayFunc,\n cancel: cancelFunc,\n };\n};\n\ntype EnhancedMapEvent = {\n viewportX: number;\n viewportY: number;\n map: H.Map;\n calculateGeoCoords(): H.geo.Point;\n};\n\nexport const createEnhancedMapEvent = (\n event: H.mapevents.Event | null,\n mapApi: H.Map\n): EnhancedMapEvent | { map: H.Map } => {\n if (!event || !event.currentPointer) {\n return {\n map: mapApi,\n };\n }\n\n const viewportX = event.currentPointer.viewportX;\n const viewportY = event.currentPointer.viewportY;\n\n const calculateGeoCoords = (): H.geo.Point => {\n return mapApi.screenToGeo(viewportX, viewportY);\n };\n\n return {\n viewportX,\n viewportY,\n map: mapApi,\n calculateGeoCoords,\n };\n};\n\nexport const createEnhancedListener = (listener: Function, mapApi: H.Map) => {\n return (event: H.mapevents.Event) => listener(event, createEnhancedMapEvent(event, mapApi));\n};\n\nexport type RioEventTarget = H.util.EventTarget & {\n rioMapRemoveEvents?: Function;\n};\n\nexport const addEventListenerMap = (\n eventTarget: RioEventTarget,\n eventListenerMap: EventListenerMap | undefined,\n mapApi: H.Map\n) => {\n if (!eventListenerMap) {\n return;\n }\n\n const enhancedMap: Record<string, any> = {};\n\n Object.keys(eventListenerMap).forEach(key => {\n const enhancedListener = createEnhancedListener(eventListenerMap[key], mapApi);\n eventTarget.addEventListener(key, enhancedListener as any);\n enhancedMap[key] = enhancedListener;\n });\n\n eventTarget.rioMapRemoveEvents = () => {\n Object.keys(enhancedMap).forEach(key => {\n eventTarget.removeEventListener(key, enhancedMap[key]);\n });\n\n // biome-ignore lint/performance/noDelete: <explanation>\n delete eventTarget.rioMapRemoveEvents;\n\n return mapApi;\n };\n};\n\nexport const removeEventListenerMap = (eventTarget: RioEventTarget) => {\n if (eventTarget.rioMapRemoveEvents) {\n return eventTarget.rioMapRemoveEvents();\n }\n};\n\nexport const createTapOnDblTapPreventer = (\n eventListenerMap: EventListenerMap,\n delayBetweenTaps = 300\n): EventListenerMap => {\n const result = { ...eventListenerMap };\n if (!eventListenerMap[EventUtils.TAP] || !eventListenerMap[EventUtils.DBL_TAP]) {\n return result;\n }\n\n const guard = createMapTimeGuard(delayBetweenTaps);\n\n result[EventUtils.TAP] = <T>(...args: T[]) => {\n guard.delay(eventListenerMap[EventUtils.TAP], ...args);\n };\n\n result[EventUtils.DBL_TAP] = <T>(...args: T[]) => {\n guard.cancel();\n eventListenerMap[EventUtils.DBL_TAP](...args);\n };\n\n return result;\n};\n\nexport const getMouseButton = (event: MapEvent): number => {\n return (event.originalEvent as unknown as H.mapevents.Pointer).button;\n};\n\nexport const isRightClick = (event: MapEvent): boolean => {\n return getMouseButton(event) === EventUtils.MOUSE_BUTTONS.RIGHT;\n};\n\nexport const EventUtils = {\n MOUSE_BUTTONS: {\n LEFT: 0,\n MIDDLE: 1,\n RIGHT: 2,\n },\n\n POINTER_DOWN: 'pointerdown',\n POINTER_UP: 'pointerup',\n POINTER_MOVE: 'pointermove',\n POINTER_ENTER: 'pointerenter',\n POINTER_LEAVE: 'pointerleave',\n POINTER_CANCEL: 'pointercancel',\n\n DRAG_START: 'dragstart',\n DRAG: 'drag',\n DRAG_END: 'dragend',\n TAP: 'tap',\n DBL_TAP: 'dbltap',\n LONGPRESS: 'longpress',\n\n CONTEXTMENU: 'contextmenu',\n CONTEXTMENU_CLOSE: 'contextmenuclose',\n\n MAP_VIEW_CHANGE_START: 'mapviewchangestart',\n MAP_VIEW_CHANGE: 'mapviewchange',\n MAP_VIEW_CHANGE_END: 'mapviewchangeend',\n\n BASE_LAYER_CHANGE: 'baselayerchange',\n ENGINE_CHANGE: 'enginechange',\n\n createTapOnDblTapPreventer,\n getMouseButton,\n isRightClick,\n};\n\nexport default EventUtils;\n"],"names":["createMapTimeGuard","delay","timer","delayFunc","callback","args","cancelFunc","createEnhancedMapEvent","event","mapApi","viewportX","viewportY","createEnhancedListener","listener","addEventListenerMap","eventTarget","eventListenerMap","enhancedMap","key","enhancedListener","removeEventListenerMap","createTapOnDblTapPreventer","delayBetweenTaps","result","EventUtils","guard","getMouseButton","isRightClick"],"mappings":"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"}
1
+ {"version":3,"file":"eventHandling.js","sources":["../../../../src/components/map/utils/eventHandling.ts"],"sourcesContent":["import type { MapEvent } from './mapTypes';\n\nexport type EventListenerMap = {\n [key: string]: Function;\n};\n\ntype MapTimeGuard = {\n delayTime: number;\n timer: NodeJS.Timeout | undefined;\n delay(callback: Function, ...args: any[]): void;\n cancel(): void;\n};\n\nconst createMapTimeGuard = (delay = 250): MapTimeGuard => {\n let timer: NodeJS.Timeout | undefined;\n\n const delayFunc = <T>(callback: Function, ...args: T[]): void => {\n cancelFunc();\n timer = setTimeout(() => callback(...args), delay);\n };\n\n const cancelFunc = (): void => {\n clearTimeout(timer);\n };\n\n return {\n delayTime: delay,\n timer,\n delay: delayFunc,\n cancel: cancelFunc,\n };\n};\n\ntype EnhancedMapEvent = {\n viewportX: number;\n viewportY: number;\n map: H.Map;\n calculateGeoCoords(): H.geo.Point;\n};\n\nexport const createEnhancedMapEvent = (\n event: H.mapevents.Event | null,\n mapApi: H.Map\n): EnhancedMapEvent | { map: H.Map } => {\n if (!event || !event.currentPointer) {\n return {\n map: mapApi,\n };\n }\n\n const viewportX = event.currentPointer.viewportX;\n const viewportY = event.currentPointer.viewportY;\n\n const calculateGeoCoords = (): H.geo.Point => {\n return mapApi.screenToGeo(viewportX, viewportY);\n };\n\n return {\n viewportX,\n viewportY,\n map: mapApi,\n calculateGeoCoords,\n };\n};\n\nexport const createEnhancedListener = (listener: Function, mapApi: H.Map) => {\n return (event: H.mapevents.Event) => listener(event, createEnhancedMapEvent(event, mapApi));\n};\n\nexport type RioEventTarget = H.util.EventTarget & {\n rioMapRemoveEvents?: Function;\n};\n\nexport const addEventListenerMap = (\n eventTarget: RioEventTarget,\n eventListenerMap: EventListenerMap | undefined,\n mapApi: H.Map\n) => {\n if (!eventListenerMap) {\n return;\n }\n\n const enhancedMap: Record<string, any> = {};\n\n Object.keys(eventListenerMap).forEach(key => {\n const enhancedListener = createEnhancedListener(eventListenerMap[key], mapApi);\n eventTarget.addEventListener(key, enhancedListener as any);\n enhancedMap[key] = enhancedListener;\n });\n\n eventTarget.rioMapRemoveEvents = () => {\n Object.keys(enhancedMap).forEach(key => {\n eventTarget.removeEventListener(key, enhancedMap[key]);\n });\n\n delete eventTarget.rioMapRemoveEvents;\n\n return mapApi;\n };\n};\n\nexport const removeEventListenerMap = (eventTarget: RioEventTarget) => {\n if (eventTarget.rioMapRemoveEvents) {\n return eventTarget.rioMapRemoveEvents();\n }\n};\n\nexport const createTapOnDblTapPreventer = (\n eventListenerMap: EventListenerMap,\n delayBetweenTaps = 300\n): EventListenerMap => {\n const result = { ...eventListenerMap };\n if (!eventListenerMap[EventUtils.TAP] || !eventListenerMap[EventUtils.DBL_TAP]) {\n return result;\n }\n\n const guard = createMapTimeGuard(delayBetweenTaps);\n\n result[EventUtils.TAP] = <T>(...args: T[]) => {\n guard.delay(eventListenerMap[EventUtils.TAP], ...args);\n };\n\n result[EventUtils.DBL_TAP] = <T>(...args: T[]) => {\n guard.cancel();\n eventListenerMap[EventUtils.DBL_TAP](...args);\n };\n\n return result;\n};\n\nexport const getMouseButton = (event: MapEvent): number => {\n return (event.originalEvent as unknown as H.mapevents.Pointer).button;\n};\n\nexport const isRightClick = (event: MapEvent): boolean => {\n return getMouseButton(event) === EventUtils.MOUSE_BUTTONS.RIGHT;\n};\n\nexport const EventUtils = {\n MOUSE_BUTTONS: {\n LEFT: 0,\n MIDDLE: 1,\n RIGHT: 2,\n },\n\n POINTER_DOWN: 'pointerdown',\n POINTER_UP: 'pointerup',\n POINTER_MOVE: 'pointermove',\n POINTER_ENTER: 'pointerenter',\n POINTER_LEAVE: 'pointerleave',\n POINTER_CANCEL: 'pointercancel',\n\n DRAG_START: 'dragstart',\n DRAG: 'drag',\n DRAG_END: 'dragend',\n TAP: 'tap',\n DBL_TAP: 'dbltap',\n LONGPRESS: 'longpress',\n\n CONTEXTMENU: 'contextmenu',\n CONTEXTMENU_CLOSE: 'contextmenuclose',\n\n MAP_VIEW_CHANGE_START: 'mapviewchangestart',\n MAP_VIEW_CHANGE: 'mapviewchange',\n MAP_VIEW_CHANGE_END: 'mapviewchangeend',\n\n BASE_LAYER_CHANGE: 'baselayerchange',\n ENGINE_CHANGE: 'enginechange',\n\n createTapOnDblTapPreventer,\n getMouseButton,\n isRightClick,\n};\n\nexport default EventUtils;\n"],"names":["createMapTimeGuard","delay","timer","delayFunc","callback","args","cancelFunc","createEnhancedMapEvent","event","mapApi","viewportX","viewportY","createEnhancedListener","listener","addEventListenerMap","eventTarget","eventListenerMap","enhancedMap","key","enhancedListener","removeEventListenerMap","createTapOnDblTapPreventer","delayBetweenTaps","result","EventUtils","guard","getMouseButton","isRightClick"],"mappings":"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"}
@@ -26,9 +26,9 @@ export type MapUtils = {
26
26
  getObjects: () => H.map.Object[];
27
27
  getLayers: () => H.map.DataModel[];
28
28
  getBaseLayer: () => H.map.layer.Layer;
29
- getGroups: () => H.map.Object[];
30
- getMarkers: () => H.map.Object[];
31
- getRoutePolylines: () => H.map.Object[];
29
+ getGroups: () => H.map.Group[];
30
+ getMarkers: () => H.map.Marker[];
31
+ getRoutePolylines: () => H.map.Polyline[];
32
32
  getPosition: typeof getPosition;
33
33
  calculateBoundingBox: typeof calculateBoundingBox;
34
34
  isValidBoundingBox: typeof isValidBoundingBox;
@@ -70,9 +70,9 @@ export declare const createUtils: (mapApi: H.Map) => {
70
70
  getObjects: () => H.map.Object[];
71
71
  getLayers: () => any[];
72
72
  getBaseLayer: () => H.map.layer.Layer;
73
- getGroups: () => H.map.Object[];
74
- getMarkers: () => H.map.Object[];
75
- getRoutePolylines: () => any;
73
+ getGroups: () => H.map.Group[];
74
+ getMarkers: () => H.map.Marker[];
75
+ getRoutePolylines: () => H.map.Polyline[];
76
76
  getPosition: (marker: H.map.AbstractMarker) => H.geo.Point | H.geo.MultiPoint;
77
77
  calculateBoundingBox: (positions: {
78
78
  lat: number;
@@ -1,9 +1,8 @@
1
- import { flow as l, filter as n, flatMap as a } from "es-toolkit/compat";
2
- import { parsePositionFromString as c, isValidBoundingBox as d, calculateBoundingBox as u } from "./positions.js";
3
- const w = (e) => {
4
- const { top: t, left: o, bottom: s, right: i } = e;
5
- return new H.geo.Rect(t, o, s, i);
6
- }, g = (e) => (t) => t instanceof e, b = g(H.map.AbstractMarker), r = g(H.map.Group), f = g(H.map.Polyline), h = (e) => e.getGeometry(), L = (e) => ({
1
+ import { parsePositionFromString as i, isValidBoundingBox as l, calculateBoundingBox as c } from "./positions.js";
2
+ const b = (e) => {
3
+ const { top: t, left: o, bottom: g, right: n } = e;
4
+ return new H.geo.Rect(t, o, g, n);
5
+ }, r = (e) => (t) => t instanceof e, a = r(H.map.AbstractMarker), s = r(H.map.Group), d = r(H.map.Polyline), u = (e) => e.getGeometry(), y = (e) => ({
7
6
  getCenter: () => {
8
7
  const t = e.getCenter();
9
8
  return {
@@ -55,20 +54,16 @@ const w = (e) => {
55
54
  getObjects: () => e.getObjects(),
56
55
  getLayers: () => e.getLayers().asArray(),
57
56
  getBaseLayer: () => e.getBaseLayer(),
58
- getGroups: () => n(e.getObjects(), r),
59
- getMarkers: () => n(e.getObjects(), b),
60
- getRoutePolylines: () => l(
61
- n(r),
62
- a((t) => t.getObjects()),
63
- n(f)
64
- )(e.getObjects()),
65
- getPosition: h,
66
- calculateBoundingBox: u,
67
- isValidBoundingBox: d,
68
- parsePositionFromString: c
57
+ getGroups: () => e.getObjects().filter(s),
58
+ getMarkers: () => e.getObjects().filter(a),
59
+ getRoutePolylines: () => e.getObjects().filter(s).flatMap((n) => n.getObjects()).filter(d),
60
+ getPosition: u,
61
+ calculateBoundingBox: c,
62
+ isValidBoundingBox: l,
63
+ parsePositionFromString: i
69
64
  });
70
65
  export {
71
- L as createUtils,
72
- w as getMapBounds
66
+ y as createUtils,
67
+ b as getMapBounds
73
68
  };
74
69
  //# sourceMappingURL=mapUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapUtils.js","sources":["../../../../src/components/map/utils/mapUtils.ts"],"sourcesContent":["import { filter, flatMap, flow } from 'es-toolkit/compat';\n\nimport { calculateBoundingBox, isValidBoundingBox, parsePositionFromString } from './positions';\nimport type { BoundingBox, MapBoundingBox, Position } from './mapTypes';\n\n// Internal use for setting the map to a given bounding box\nexport const getMapBounds = (boundingBox: BoundingBox) => {\n const { top, left, bottom, right } = boundingBox;\n return new H.geo.Rect(top, left, bottom, right);\n};\n\nconst typeFilterFunction = (hereType: abstract new (...args: never[]) => H.map.Object) => (obj: H.map.Object) =>\n obj instanceof hereType;\n\nconst markerFilterFunction = typeFilterFunction(H.map.AbstractMarker);\n\nconst groupFilterFunction = typeFilterFunction(H.map.Group);\n\nconst polylineFilterFunction = typeFilterFunction(H.map.Polyline);\n\nconst getPosition = (marker: H.map.AbstractMarker) => marker.getGeometry();\n\nexport type MapUtils = {\n getCenter: () => Position;\n setCenter: (position: Position, animate: boolean) => void;\n getZoom: () => number;\n setZoom: (zoom: number, zoomAnimation: boolean) => void;\n getViewPort: () => {\n width: number;\n height: number;\n margin: number;\n padding: {\n top: number;\n right: number;\n bottom: number;\n left: number;\n };\n center: {\n x: number;\n y: number;\n };\n };\n getBounds: () => MapBoundingBox;\n getObjects: () => H.map.Object[];\n getLayers: () => H.map.DataModel[];\n getBaseLayer: () => H.map.layer.Layer;\n getGroups: () => H.map.Object[];\n getMarkers: () => H.map.Object[];\n getRoutePolylines: () => H.map.Object[];\n getPosition: typeof getPosition;\n calculateBoundingBox: typeof calculateBoundingBox;\n isValidBoundingBox: typeof isValidBoundingBox;\n parsePositionFromString: typeof parsePositionFromString;\n};\n\nexport const createUtils = (mapApi: H.Map) => {\n return {\n getCenter: () => {\n const center = mapApi.getCenter();\n return {\n lat: center.lat,\n lng: center.lng,\n };\n },\n setCenter: (position: Position, animate: boolean) => {\n mapApi.getViewModel().setLookAtData({ position }, animate);\n },\n getZoom: () => {\n const { zoom } = mapApi.getViewModel().getLookAtData();\n return Math.round(zoom === undefined ? 0 : zoom);\n },\n setZoom: (zoom: number, zoomAnimation = false) => {\n mapApi.getViewModel().setLookAtData({ zoom }, zoomAnimation);\n },\n getViewPort: () => {\n const viewPort = mapApi.getViewPort();\n return {\n width: viewPort.width,\n height: viewPort.height,\n margin: viewPort.margin,\n padding: {\n top: viewPort.padding.top,\n right: viewPort.padding.right,\n bottom: viewPort.padding.bottom,\n left: viewPort.padding.left,\n },\n center: {\n x: viewPort.center.x,\n y: viewPort.center.y,\n },\n };\n },\n\n getBounds: () => {\n const { bounds } = mapApi.getViewModel().getLookAtData();\n\n // HERE Maps API for JavaScript 3.1\n const boundingBox = bounds?.getBoundingBox();\n return {\n topLeft: {\n lng: boundingBox?.getTopLeft().lng,\n lat: boundingBox?.getTopLeft().lat,\n },\n bottomRight: {\n lng: boundingBox?.getBottomRight().lng,\n lat: boundingBox?.getBottomRight().lat,\n },\n };\n },\n getObjects: () => mapApi.getObjects(),\n getLayers: () => mapApi.getLayers().asArray(),\n getBaseLayer: () => mapApi.getBaseLayer(),\n getGroups: () => filter(mapApi.getObjects(), groupFilterFunction),\n getMarkers: () => filter(mapApi.getObjects(), markerFilterFunction),\n\n getRoutePolylines: () =>\n flow(\n filter(groupFilterFunction),\n flatMap((group: H.map.Group) => group.getObjects()),\n filter(polylineFilterFunction)\n )(mapApi.getObjects()),\n\n getPosition,\n calculateBoundingBox,\n isValidBoundingBox,\n parsePositionFromString,\n };\n};\n"],"names":["getMapBounds","boundingBox","top","left","bottom","right","typeFilterFunction","hereType","obj","markerFilterFunction","groupFilterFunction","polylineFilterFunction","getPosition","marker","createUtils","mapApi","center","position","animate","zoom","zoomAnimation","viewPort","bounds","filter","flow","flatMap","group","calculateBoundingBox","isValidBoundingBox","parsePositionFromString"],"mappings":";;AAMO,MAAMA,IAAe,CAACC,MAA6B;AACtD,QAAM,EAAE,KAAAC,GAAK,MAAAC,GAAM,QAAAC,GAAQ,OAAAC,MAAUJ;AACrC,SAAO,IAAI,EAAE,IAAI,KAAKC,GAAKC,GAAMC,GAAQC,CAAK;AAClD,GAEMC,IAAqB,CAACC,MAA8D,CAACC,MACvFA,aAAeD,GAEbE,IAAuBH,EAAmB,EAAE,IAAI,cAAc,GAE9DI,IAAsBJ,EAAmB,EAAE,IAAI,KAAK,GAEpDK,IAAyBL,EAAmB,EAAE,IAAI,QAAQ,GAE1DM,IAAc,CAACC,MAAiCA,EAAO,YAAA,GAmChDC,IAAc,CAACC,OACjB;AAAA,EACH,WAAW,MAAM;AACb,UAAMC,IAASD,EAAO,UAAA;AACtB,WAAO;AAAA,MACH,KAAKC,EAAO;AAAA,MACZ,KAAKA,EAAO;AAAA,IAAA;AAAA,EAEpB;AAAA,EACA,WAAW,CAACC,GAAoBC,MAAqB;AACjD,IAAAH,EAAO,eAAe,cAAc,EAAE,UAAAE,EAAA,GAAYC,CAAO;AAAA,EAC7D;AAAA,EACA,SAAS,MAAM;AACX,UAAM,EAAE,MAAAC,EAAA,IAASJ,EAAO,aAAA,EAAe,cAAA;AACvC,WAAO,KAAK,MAAMI,MAAS,SAAY,IAAIA,CAAI;AAAA,EACnD;AAAA,EACA,SAAS,CAACA,GAAcC,IAAgB,OAAU;AAC9C,IAAAL,EAAO,eAAe,cAAc,EAAE,MAAAI,EAAA,GAAQC,CAAa;AAAA,EAC/D;AAAA,EACA,aAAa,MAAM;AACf,UAAMC,IAAWN,EAAO,YAAA;AACxB,WAAO;AAAA,MACH,OAAOM,EAAS;AAAA,MAChB,QAAQA,EAAS;AAAA,MACjB,QAAQA,EAAS;AAAA,MACjB,SAAS;AAAA,QACL,KAAKA,EAAS,QAAQ;AAAA,QACtB,OAAOA,EAAS,QAAQ;AAAA,QACxB,QAAQA,EAAS,QAAQ;AAAA,QACzB,MAAMA,EAAS,QAAQ;AAAA,MAAA;AAAA,MAE3B,QAAQ;AAAA,QACJ,GAAGA,EAAS,OAAO;AAAA,QACnB,GAAGA,EAAS,OAAO;AAAA,MAAA;AAAA,IACvB;AAAA,EAER;AAAA,EAEA,WAAW,MAAM;AACb,UAAM,EAAE,QAAAC,EAAA,IAAWP,EAAO,aAAA,EAAe,cAAA,GAGnCd,IAAcqB,GAAQ,eAAA;AAC5B,WAAO;AAAA,MACH,SAAS;AAAA,QACL,KAAKrB,GAAa,WAAA,EAAa;AAAA,QAC/B,KAAKA,GAAa,aAAa;AAAA,MAAA;AAAA,MAEnC,aAAa;AAAA,QACT,KAAKA,GAAa,eAAA,EAAiB;AAAA,QACnC,KAAKA,GAAa,iBAAiB;AAAA,MAAA;AAAA,IACvC;AAAA,EAER;AAAA,EACA,YAAY,MAAMc,EAAO,WAAA;AAAA,EACzB,WAAW,MAAMA,EAAO,UAAA,EAAY,QAAA;AAAA,EACpC,cAAc,MAAMA,EAAO,aAAA;AAAA,EAC3B,WAAW,MAAMQ,EAAOR,EAAO,WAAA,GAAcL,CAAmB;AAAA,EAChE,YAAY,MAAMa,EAAOR,EAAO,WAAA,GAAcN,CAAoB;AAAA,EAElE,mBAAmB,MACfe;AAAA,IACID,EAAOb,CAAmB;AAAA,IAC1Be,EAAQ,CAACC,MAAuBA,EAAM,YAAY;AAAA,IAClDH,EAAOZ,CAAsB;AAAA,EAAA,EAC/BI,EAAO,YAAY;AAAA,EAEzB,aAAAH;AAAA,EACA,sBAAAe;AAAA,EACA,oBAAAC;AAAA,EACA,yBAAAC;AAAA;"}
1
+ {"version":3,"file":"mapUtils.js","sources":["../../../../src/components/map/utils/mapUtils.ts"],"sourcesContent":["import { calculateBoundingBox, isValidBoundingBox, parsePositionFromString } from './positions';\nimport type { BoundingBox, MapBoundingBox, Position } from './mapTypes';\n\n// Internal use for setting the map to a given bounding box\nexport const getMapBounds = (boundingBox: BoundingBox) => {\n const { top, left, bottom, right } = boundingBox;\n return new H.geo.Rect(top, left, bottom, right);\n};\n\nconst typeFilterFunction = (hereType: abstract new (...args: never[]) => H.map.Object) => (obj: H.map.Object) =>\n obj instanceof hereType;\n\nconst markerFilterFunction = typeFilterFunction(H.map.AbstractMarker);\n\nconst groupFilterFunction = typeFilterFunction(H.map.Group);\n\nconst polylineFilterFunction = typeFilterFunction(H.map.Polyline);\n\nconst getPosition = (marker: H.map.AbstractMarker) => marker.getGeometry();\n\nexport type MapUtils = {\n getCenter: () => Position;\n setCenter: (position: Position, animate: boolean) => void;\n getZoom: () => number;\n setZoom: (zoom: number, zoomAnimation: boolean) => void;\n getViewPort: () => {\n width: number;\n height: number;\n margin: number;\n padding: {\n top: number;\n right: number;\n bottom: number;\n left: number;\n };\n center: {\n x: number;\n y: number;\n };\n };\n getBounds: () => MapBoundingBox;\n getObjects: () => H.map.Object[];\n getLayers: () => H.map.DataModel[];\n getBaseLayer: () => H.map.layer.Layer;\n getGroups: () => H.map.Group[];\n getMarkers: () => H.map.Marker[];\n getRoutePolylines: () => H.map.Polyline[];\n getPosition: typeof getPosition;\n calculateBoundingBox: typeof calculateBoundingBox;\n isValidBoundingBox: typeof isValidBoundingBox;\n parsePositionFromString: typeof parsePositionFromString;\n};\n\nexport const createUtils = (mapApi: H.Map) => {\n return {\n getCenter: () => {\n const center = mapApi.getCenter();\n return {\n lat: center.lat,\n lng: center.lng,\n };\n },\n setCenter: (position: Position, animate: boolean) => {\n mapApi.getViewModel().setLookAtData({ position }, animate);\n },\n getZoom: () => {\n const { zoom } = mapApi.getViewModel().getLookAtData();\n return Math.round(zoom === undefined ? 0 : zoom);\n },\n setZoom: (zoom: number, zoomAnimation = false) => {\n mapApi.getViewModel().setLookAtData({ zoom }, zoomAnimation);\n },\n getViewPort: () => {\n const viewPort = mapApi.getViewPort();\n return {\n width: viewPort.width,\n height: viewPort.height,\n margin: viewPort.margin,\n padding: {\n top: viewPort.padding.top,\n right: viewPort.padding.right,\n bottom: viewPort.padding.bottom,\n left: viewPort.padding.left,\n },\n center: {\n x: viewPort.center.x,\n y: viewPort.center.y,\n },\n };\n },\n\n getBounds: () => {\n const { bounds } = mapApi.getViewModel().getLookAtData();\n\n // HERE Maps API for JavaScript 3.1\n const boundingBox = bounds?.getBoundingBox();\n return {\n topLeft: {\n lng: boundingBox?.getTopLeft().lng,\n lat: boundingBox?.getTopLeft().lat,\n },\n bottomRight: {\n lng: boundingBox?.getBottomRight().lng,\n lat: boundingBox?.getBottomRight().lat,\n },\n };\n },\n getObjects: () => mapApi.getObjects(),\n getLayers: () => mapApi.getLayers().asArray(),\n getBaseLayer: () => mapApi.getBaseLayer(),\n getGroups: () => mapApi.getObjects().filter(groupFilterFunction) as H.map.Group[],\n getMarkers: () => mapApi.getObjects().filter(markerFilterFunction) as H.map.Marker[],\n\n getRoutePolylines: () => {\n const groups = mapApi.getObjects().filter(groupFilterFunction) as H.map.Group[];\n const groupObjects = groups.flatMap(group => group.getObjects());\n const filteredPolylines = groupObjects.filter(polylineFilterFunction) as H.map.Polyline[];\n return filteredPolylines;\n },\n\n getPosition,\n calculateBoundingBox,\n isValidBoundingBox,\n parsePositionFromString,\n };\n};\n"],"names":["getMapBounds","boundingBox","top","left","bottom","right","typeFilterFunction","hereType","obj","markerFilterFunction","groupFilterFunction","polylineFilterFunction","getPosition","marker","createUtils","mapApi","center","position","animate","zoom","zoomAnimation","viewPort","bounds","group","calculateBoundingBox","isValidBoundingBox","parsePositionFromString"],"mappings":";AAIO,MAAMA,IAAe,CAACC,MAA6B;AACtD,QAAM,EAAE,KAAAC,GAAK,MAAAC,GAAM,QAAAC,GAAQ,OAAAC,MAAUJ;AACrC,SAAO,IAAI,EAAE,IAAI,KAAKC,GAAKC,GAAMC,GAAQC,CAAK;AAClD,GAEMC,IAAqB,CAACC,MAA8D,CAACC,MACvFA,aAAeD,GAEbE,IAAuBH,EAAmB,EAAE,IAAI,cAAc,GAE9DI,IAAsBJ,EAAmB,EAAE,IAAI,KAAK,GAEpDK,IAAyBL,EAAmB,EAAE,IAAI,QAAQ,GAE1DM,IAAc,CAACC,MAAiCA,EAAO,YAAA,GAmChDC,IAAc,CAACC,OACjB;AAAA,EACH,WAAW,MAAM;AACb,UAAMC,IAASD,EAAO,UAAA;AACtB,WAAO;AAAA,MACH,KAAKC,EAAO;AAAA,MACZ,KAAKA,EAAO;AAAA,IAAA;AAAA,EAEpB;AAAA,EACA,WAAW,CAACC,GAAoBC,MAAqB;AACjD,IAAAH,EAAO,eAAe,cAAc,EAAE,UAAAE,EAAA,GAAYC,CAAO;AAAA,EAC7D;AAAA,EACA,SAAS,MAAM;AACX,UAAM,EAAE,MAAAC,EAAA,IAASJ,EAAO,aAAA,EAAe,cAAA;AACvC,WAAO,KAAK,MAAMI,MAAS,SAAY,IAAIA,CAAI;AAAA,EACnD;AAAA,EACA,SAAS,CAACA,GAAcC,IAAgB,OAAU;AAC9C,IAAAL,EAAO,eAAe,cAAc,EAAE,MAAAI,EAAA,GAAQC,CAAa;AAAA,EAC/D;AAAA,EACA,aAAa,MAAM;AACf,UAAMC,IAAWN,EAAO,YAAA;AACxB,WAAO;AAAA,MACH,OAAOM,EAAS;AAAA,MAChB,QAAQA,EAAS;AAAA,MACjB,QAAQA,EAAS;AAAA,MACjB,SAAS;AAAA,QACL,KAAKA,EAAS,QAAQ;AAAA,QACtB,OAAOA,EAAS,QAAQ;AAAA,QACxB,QAAQA,EAAS,QAAQ;AAAA,QACzB,MAAMA,EAAS,QAAQ;AAAA,MAAA;AAAA,MAE3B,QAAQ;AAAA,QACJ,GAAGA,EAAS,OAAO;AAAA,QACnB,GAAGA,EAAS,OAAO;AAAA,MAAA;AAAA,IACvB;AAAA,EAER;AAAA,EAEA,WAAW,MAAM;AACb,UAAM,EAAE,QAAAC,EAAA,IAAWP,EAAO,aAAA,EAAe,cAAA,GAGnCd,IAAcqB,GAAQ,eAAA;AAC5B,WAAO;AAAA,MACH,SAAS;AAAA,QACL,KAAKrB,GAAa,WAAA,EAAa;AAAA,QAC/B,KAAKA,GAAa,aAAa;AAAA,MAAA;AAAA,MAEnC,aAAa;AAAA,QACT,KAAKA,GAAa,eAAA,EAAiB;AAAA,QACnC,KAAKA,GAAa,iBAAiB;AAAA,MAAA;AAAA,IACvC;AAAA,EAER;AAAA,EACA,YAAY,MAAMc,EAAO,WAAA;AAAA,EACzB,WAAW,MAAMA,EAAO,UAAA,EAAY,QAAA;AAAA,EACpC,cAAc,MAAMA,EAAO,aAAA;AAAA,EAC3B,WAAW,MAAMA,EAAO,WAAA,EAAa,OAAOL,CAAmB;AAAA,EAC/D,YAAY,MAAMK,EAAO,WAAA,EAAa,OAAON,CAAoB;AAAA,EAEjE,mBAAmB,MACAM,EAAO,WAAA,EAAa,OAAOL,CAAmB,EACjC,QAAQ,CAAAa,MAASA,EAAM,YAAY,EACxB,OAAOZ,CAAsB;AAAA,EAIxE,aAAAC;AAAA,EACA,sBAAAY;AAAA,EACA,oBAAAC;AAAA,EACA,yBAAAC;AAAA;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as r, jsxs as l } from "react/jsx-runtime";
2
- import o from "classnames";
2
+ import o from "../../utils/classNames.js";
3
3
  import { markerColorMapping as v } from "../map/utils/mapTypes.js";
4
4
  const g = (t) => {
5
5
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterMapMarker.js","sources":["../../../src/components/mapMarker/ClusterMapMarker.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport { markerColorMapping, type MarkerColor } from '../map/utils/mapTypes';\n\nexport type ClusterMapMarkerProps = {\n /**\n * Number displayed in the center.\n */\n count?: number;\n\n /**\n * Displayed in the orange badge if more than 0.\n *\n * @default 0\n */\n warningCount?: number;\n\n /**\n * Displayed in the red badge if more than 0.\n *\n * @default 0\n */\n exceptionCount?: number;\n\n /**\n * Defines if marker is selected or not.\n *\n * @default false\n */\n active?: boolean;\n\n /**\n * Defines if marker is clickable or not.\n *\n * @default true\n */\n clickable?: boolean;\n\n /**\n * Defines the color of the marker.\n *\n * Possible values are:\n * - `bg-map-marker-asset`\n * - `bg-map-marker-poi`\n * - `bg-map-marker-geofence`\n * - `bg-map-marker-route`\n * - `bg-map-marker-info`\n * - `bg-map-marker-success`\n * - `bg-map-marker-warning`\n * - `bg-map-marker-danger`\n *\n * @default 'bg-map-marker-asset'\n */\n markerColor?: MarkerColor;\n\n /**\n * Name of a rioglyph icon.\n */\n iconName?: string;\n\n /**\n * Marker cursor\n */\n cursor?: 'cursor-pointer' | 'cursor-grab' | 'cursor-not-allowed';\n};\n\nconst ClusterMapMarker = (props: ClusterMapMarkerProps) => {\n const {\n count,\n exceptionCount = 0,\n markerColor = 'bg-map-marker-asset',\n warningCount = 0,\n active = false,\n clickable = true,\n iconName,\n cursor = 'cursor-pointer',\n } = props;\n\n const clusterClasses = classNames('rio-map-cluster-circle', active && 'active', cursor);\n const classes = classNames(\n active && 'active',\n 'rio-map-marker',\n 'rio-map-marker-center-center',\n !clickable && 'not-clickable'\n );\n\n const markerBackgroundColor = `var(${markerColorMapping[markerColor]})`;\n\n return (\n <div\n className={classes}\n style={{ color: markerBackgroundColor }}\n data-marker-type={markerColor.replace('bg-', 'cluster-')}\n >\n <div className='rio-map-marker-translate'>\n <div className='rio-map-cluster'>\n <div className={clusterClasses}>\n <div className='rio-map-cluster-content'>\n {iconName && (\n <span className='rio-map-icon'>\n <span className={`rioglyph rioglyph-${iconName}`} />\n </span>\n )}\n <div className='rio-map-count'>{count}</div>\n </div>\n </div>\n {exceptionCount > 0 && <div className='rio-map-bubble exception'>{exceptionCount}</div>}\n {warningCount > 0 && <div className='rio-map-bubble warning'>{warningCount}</div>}\n </div>\n </div>\n </div>\n );\n};\n\nexport default ClusterMapMarker;\n"],"names":["ClusterMapMarker","props","count","exceptionCount","markerColor","warningCount","active","clickable","iconName","cursor","clusterClasses","classNames","classes","markerBackgroundColor","markerColorMapping","jsx","jsxs"],"mappings":";;;AAkEA,MAAMA,IAAmB,CAACC,MAAiC;AACvD,QAAM;AAAA,IACF,OAAAC;AAAA,IACA,gBAAAC,IAAiB;AAAA,IACjB,aAAAC,IAAc;AAAA,IACd,cAAAC,IAAe;AAAA,IACf,QAAAC,IAAS;AAAA,IACT,WAAAC,IAAY;AAAA,IACZ,UAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,EAAA,IACTR,GAEES,IAAiBC,EAAW,0BAA0BL,KAAU,UAAUG,CAAM,GAChFG,IAAUD;AAAA,IACZL,KAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,CAACC,KAAa;AAAA,EAAA,GAGZM,IAAwB,OAAOC,EAAmBV,CAAW,CAAC;AAEpE,SACI,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWH;AAAA,MACX,OAAO,EAAE,OAAOC,EAAA;AAAA,MAChB,oBAAkBT,EAAY,QAAQ,OAAO,UAAU;AAAA,MAEvD,4BAAC,OAAA,EAAI,WAAU,4BACX,UAAA,gBAAAY,EAAC,OAAA,EAAI,WAAU,mBACX,UAAA;AAAA,QAAA,gBAAAD,EAAC,SAAI,WAAWL,GACZ,UAAA,gBAAAM,EAAC,OAAA,EAAI,WAAU,2BACV,UAAA;AAAA,UAAAR,KACG,gBAAAO,EAAC,QAAA,EAAK,WAAU,gBACZ,UAAA,gBAAAA,EAAC,UAAK,WAAW,qBAAqBP,CAAQ,GAAA,CAAI,GACtD;AAAA,UAEJ,gBAAAO,EAAC,OAAA,EAAI,WAAU,iBAAiB,UAAAb,EAAA,CAAM;AAAA,QAAA,EAAA,CAC1C,EAAA,CACJ;AAAA,QACCC,IAAiB,KAAK,gBAAAY,EAAC,OAAA,EAAI,WAAU,4BAA4B,UAAAZ,GAAe;AAAA,QAChFE,IAAe,KAAK,gBAAAU,EAAC,OAAA,EAAI,WAAU,0BAA0B,UAAAV,EAAA,CAAa;AAAA,MAAA,EAAA,CAC/E,EAAA,CACJ;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
1
+ {"version":3,"file":"ClusterMapMarker.js","sources":["../../../src/components/mapMarker/ClusterMapMarker.tsx"],"sourcesContent":["import classNames from '../../utils/classNames';\nimport { markerColorMapping, type MarkerColor } from '../map/utils/mapTypes';\n\nexport type ClusterMapMarkerProps = {\n /**\n * Number displayed in the center.\n */\n count?: number;\n\n /**\n * Displayed in the orange badge if more than 0.\n *\n * @default 0\n */\n warningCount?: number;\n\n /**\n * Displayed in the red badge if more than 0.\n *\n * @default 0\n */\n exceptionCount?: number;\n\n /**\n * Defines if marker is selected or not.\n *\n * @default false\n */\n active?: boolean;\n\n /**\n * Defines if marker is clickable or not.\n *\n * @default true\n */\n clickable?: boolean;\n\n /**\n * Defines the color of the marker.\n *\n * Possible values are:\n * - `bg-map-marker-asset`\n * - `bg-map-marker-poi`\n * - `bg-map-marker-geofence`\n * - `bg-map-marker-route`\n * - `bg-map-marker-info`\n * - `bg-map-marker-success`\n * - `bg-map-marker-warning`\n * - `bg-map-marker-danger`\n *\n * @default 'bg-map-marker-asset'\n */\n markerColor?: MarkerColor;\n\n /**\n * Name of a rioglyph icon.\n */\n iconName?: string;\n\n /**\n * Marker cursor\n */\n cursor?: 'cursor-pointer' | 'cursor-grab' | 'cursor-not-allowed';\n};\n\nconst ClusterMapMarker = (props: ClusterMapMarkerProps) => {\n const {\n count,\n exceptionCount = 0,\n markerColor = 'bg-map-marker-asset',\n warningCount = 0,\n active = false,\n clickable = true,\n iconName,\n cursor = 'cursor-pointer',\n } = props;\n\n const clusterClasses = classNames('rio-map-cluster-circle', active && 'active', cursor);\n const classes = classNames(\n active && 'active',\n 'rio-map-marker',\n 'rio-map-marker-center-center',\n !clickable && 'not-clickable'\n );\n\n const markerBackgroundColor = `var(${markerColorMapping[markerColor]})`;\n\n return (\n <div\n className={classes}\n style={{ color: markerBackgroundColor }}\n data-marker-type={markerColor.replace('bg-', 'cluster-')}\n >\n <div className='rio-map-marker-translate'>\n <div className='rio-map-cluster'>\n <div className={clusterClasses}>\n <div className='rio-map-cluster-content'>\n {iconName && (\n <span className='rio-map-icon'>\n <span className={`rioglyph rioglyph-${iconName}`} />\n </span>\n )}\n <div className='rio-map-count'>{count}</div>\n </div>\n </div>\n {exceptionCount > 0 && <div className='rio-map-bubble exception'>{exceptionCount}</div>}\n {warningCount > 0 && <div className='rio-map-bubble warning'>{warningCount}</div>}\n </div>\n </div>\n </div>\n );\n};\n\nexport default ClusterMapMarker;\n"],"names":["ClusterMapMarker","props","count","exceptionCount","markerColor","warningCount","active","clickable","iconName","cursor","clusterClasses","classNames","classes","markerBackgroundColor","markerColorMapping","jsx","jsxs"],"mappings":";;;AAiEA,MAAMA,IAAmB,CAACC,MAAiC;AACvD,QAAM;AAAA,IACF,OAAAC;AAAA,IACA,gBAAAC,IAAiB;AAAA,IACjB,aAAAC,IAAc;AAAA,IACd,cAAAC,IAAe;AAAA,IACf,QAAAC,IAAS;AAAA,IACT,WAAAC,IAAY;AAAA,IACZ,UAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,EAAA,IACTR,GAEES,IAAiBC,EAAW,0BAA0BL,KAAU,UAAUG,CAAM,GAChFG,IAAUD;AAAA,IACZL,KAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,CAACC,KAAa;AAAA,EAAA,GAGZM,IAAwB,OAAOC,EAAmBV,CAAW,CAAC;AAEpE,SACI,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWH;AAAA,MACX,OAAO,EAAE,OAAOC,EAAA;AAAA,MAChB,oBAAkBT,EAAY,QAAQ,OAAO,UAAU;AAAA,MAEvD,4BAAC,OAAA,EAAI,WAAU,4BACX,UAAA,gBAAAY,EAAC,OAAA,EAAI,WAAU,mBACX,UAAA;AAAA,QAAA,gBAAAD,EAAC,SAAI,WAAWL,GACZ,UAAA,gBAAAM,EAAC,OAAA,EAAI,WAAU,2BACV,UAAA;AAAA,UAAAR,KACG,gBAAAO,EAAC,QAAA,EAAK,WAAU,gBACZ,UAAA,gBAAAA,EAAC,UAAK,WAAW,qBAAqBP,CAAQ,GAAA,CAAI,GACtD;AAAA,UAEJ,gBAAAO,EAAC,OAAA,EAAI,WAAU,iBAAiB,UAAAb,EAAA,CAAM;AAAA,QAAA,EAAA,CAC1C,EAAA,CACJ;AAAA,QACCC,IAAiB,KAAK,gBAAAY,EAAC,OAAA,EAAI,WAAU,4BAA4B,UAAAZ,GAAe;AAAA,QAChFE,IAAe,KAAK,gBAAAU,EAAC,OAAA,EAAI,WAAU,0BAA0B,UAAAV,EAAA,CAAa;AAAA,MAAA,EAAA,CAC/E,EAAA,CACJ;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as a, jsxs as l, Fragment as S } from "react/jsx-runtime";
2
- import c from "classnames";
2
+ import c from "../../utils/classNames.js";
3
3
  import { markerColorMapping as j } from "../map/utils/mapTypes.js";
4
4
  const B = 60, E = (s) => {
5
5
  const { moving: o, bearing: r, stateIconName: e } = s;
@@ -1 +1 @@
1
- {"version":3,"file":"SingleMapMarker.js","sources":["../../../src/components/mapMarker/SingleMapMarker.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\nimport classNames from 'classnames';\n\nimport { markerColorMapping, type MarkerColor } from '../map/utils/mapTypes';\n\nconst DEFAULT_BEARING = 60;\n\nconst MapStateIndicator = (props: { moving: boolean; bearing: number; stateIconName?: string }) => {\n const { moving, bearing, stateIconName } = props;\n\n if (!moving && !stateIconName) {\n return null;\n }\n\n const iconClassName = classNames('rioglyph', `rioglyph-${stateIconName || 'direction'}`);\n\n const style = stateIconName ? {} : { transform: `rotate(${bearing}deg)` };\n\n return (\n <div className={`rio-map-icon rio-map-marker-state ${stateIconName ? '' : 'rio-map-direction'}`}>\n <span className={iconClassName} style={style} />\n </div>\n );\n};\n\nconst getIcons = (iconNames: string[] = []) =>\n iconNames.map((name, index) => (\n <div key={`rio-map-icon-${name}-${index}`} className='rio-map-icon'>\n <span className={`rioglyph rioglyph-${name}`} />\n </div>\n ));\n\nexport type SingleMapMarkerProps = ComponentProps<'div'> & {\n /**\n * Defines the rotation of the arrow in deg.\n *\n * @default 60\n */\n bearing?: number;\n\n /**\n * Text for the marker.\n */\n name?: string | ReactNode;\n\n /**\n * Displayed in the orange badge if more than 0.\n *\n * @default 0\n */\n warningCount?: number;\n\n /**\n * Displayed in the red badge if more than 0.\n *\n * @default 0\n */\n exceptionCount?: number;\n\n /**\n * Defines if marker is selected.\n *\n * @default false\n */\n active?: boolean;\n\n /**\n * Defines if marker is clickable or not.\n *\n * @default true\n */\n clickable?: boolean;\n\n /**\n * Defines if marker is fixed and has no centering point.\n *\n * @default false\n */\n fixed?: boolean;\n\n /**\n * Defines whether the direction icon is displayed or not.\n *\n * @default false\n */\n moving?: boolean;\n\n /**\n * Optional icon that is shown in the state indicator and used instead of the moving direction arrow.\n */\n stateIconName?: string;\n\n /**\n * Defines if marker is displayed with pinging animation.\n *\n * @default false\n */\n pinging?: boolean;\n\n /**\n * List of rioglyph icon names.\n */\n iconNames?: string[];\n\n /**\n * Defines the color of the marker.\n *\n * Possible values are:\n * - `bg-map-marker-asset`\n * - `bg-map-marker-poi`\n * - `bg-map-marker-geofence`\n * - `bg-map-marker-route`\n * - `bg-map-marker-info`\n * - `bg-map-marker-success`\n * - `bg-map-marker-warning`\n * - `bg-map-marker-danger`\n * - `bg-map-marker-restrictions`\n *\n * @default 'bg-map-marker-asset'\n */\n markerColor?: MarkerColor;\n\n /**\n * Can be used to add a text-color class to the marker div.\n */\n textColor?: string;\n\n /**\n * Used to control the marker's anchor size.\n *\n * Possible values are:\n * - `md`\n * - `lg`\n *\n * @default 'md'\n */\n anchorSize?: 'md' | 'lg';\n\n /**\n * Whether the marker is only visible on hover.\n *\n * @default false\n */\n markerOnHover?: boolean;\n\n /**\n * Optional icon that is shown on the anchor of the DOM marker.\n * Use this when no marker content is shown.\n */\n anchorIconName?: string;\n\n /**\n * Shows only the anchor without the rest of the marker.\n */\n anchorOnly?: boolean;\n\n /**\n * Marker cursor\n */\n cursor?: 'cursor-pointer' | 'cursor-grab' | 'cursor-not-allowed';\n};\n\nconst SingleMapMarker = (props: SingleMapMarkerProps) => {\n const {\n bearing = DEFAULT_BEARING,\n name,\n warningCount = 0,\n exceptionCount = 0,\n active = false,\n clickable = true,\n fixed = false,\n moving = false,\n pinging = false,\n anchorIconName,\n stateIconName,\n iconNames,\n markerColor = 'bg-map-marker-asset',\n textColor,\n anchorSize,\n markerOnHover = false,\n anchorOnly = !name && !iconNames,\n cursor = 'cursor-pointer',\n className,\n style,\n } = props;\n\n const largeAnchor = anchorSize === 'lg';\n\n const classes = classNames(\n active && 'active',\n 'rio-map-marker',\n 'rio-map-marker-bottom-center',\n !clickable && 'not-clickable',\n className\n );\n\n const anchorClasses = classNames('rio-map-anchor', largeAnchor ? 'rio-map-anchor-lg' : '', cursor);\n\n const singleClasses = classNames(\n 'rio-map-single',\n fixed && 'fixed',\n moving && 'moving',\n textColor,\n markerOnHover && 'visible-on-hover',\n active && 'active',\n pinging && 'pinging',\n typeof name === 'string' && name.length === 1 && 'single-letter',\n cursor\n );\n\n const markerBackgroundColor = `var(${markerColorMapping[markerColor]})`;\n\n return (\n <div\n className={classes}\n style={{ ...style, color: markerBackgroundColor }}\n data-marker-type={markerColor.replace('bg-', 'single-')}\n >\n <div className='rio-map-marker-translate'>\n {!anchorOnly && (\n <>\n <div className={singleClasses}>\n <MapStateIndicator moving={moving} bearing={bearing} stateIconName={stateIconName} />\n {getIcons(iconNames)}\n {name && <div className='rio-map-name'>{name}</div>}\n {exceptionCount > 0 && <div className='rio-map-bubble exception'>{exceptionCount}</div>}\n {warningCount > 0 && <div className='rio-map-bubble warning'>{warningCount}</div>}\n </div>\n <div className='rio-map-anchor-arrow' />\n </>\n )}\n <div className={anchorClasses}>\n {anchorIconName && largeAnchor && <span className={`rioglyph rioglyph-${anchorIconName}`} />}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SingleMapMarker;\n"],"names":["DEFAULT_BEARING","MapStateIndicator","props","moving","bearing","stateIconName","iconClassName","classNames","style","jsx","getIcons","iconNames","name","index","SingleMapMarker","warningCount","exceptionCount","active","clickable","fixed","pinging","anchorIconName","markerColor","textColor","anchorSize","markerOnHover","anchorOnly","cursor","className","largeAnchor","classes","anchorClasses","singleClasses","markerBackgroundColor","markerColorMapping","jsxs","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"SingleMapMarker.js","sources":["../../../src/components/mapMarker/SingleMapMarker.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport classNames from '../../utils/classNames';\nimport { markerColorMapping, type MarkerColor } from '../map/utils/mapTypes';\n\nconst DEFAULT_BEARING = 60;\n\nconst MapStateIndicator = (props: { moving: boolean; bearing: number; stateIconName?: string }) => {\n const { moving, bearing, stateIconName } = props;\n\n if (!moving && !stateIconName) {\n return null;\n }\n\n const iconClassName = classNames('rioglyph', `rioglyph-${stateIconName || 'direction'}`);\n\n const style = stateIconName ? {} : { transform: `rotate(${bearing}deg)` };\n\n return (\n <div className={`rio-map-icon rio-map-marker-state ${stateIconName ? '' : 'rio-map-direction'}`}>\n <span className={iconClassName} style={style} />\n </div>\n );\n};\n\nconst getIcons = (iconNames: string[] = []) =>\n iconNames.map((name, index) => (\n <div key={`rio-map-icon-${name}-${index}`} className='rio-map-icon'>\n <span className={`rioglyph rioglyph-${name}`} />\n </div>\n ));\n\nexport type SingleMapMarkerProps = ComponentProps<'div'> & {\n /**\n * Defines the rotation of the arrow in deg.\n *\n * @default 60\n */\n bearing?: number;\n\n /**\n * Text for the marker.\n */\n name?: string | ReactNode;\n\n /**\n * Displayed in the orange badge if more than 0.\n *\n * @default 0\n */\n warningCount?: number;\n\n /**\n * Displayed in the red badge if more than 0.\n *\n * @default 0\n */\n exceptionCount?: number;\n\n /**\n * Defines if marker is selected.\n *\n * @default false\n */\n active?: boolean;\n\n /**\n * Defines if marker is clickable or not.\n *\n * @default true\n */\n clickable?: boolean;\n\n /**\n * Defines if marker is fixed and has no centering point.\n *\n * @default false\n */\n fixed?: boolean;\n\n /**\n * Defines whether the direction icon is displayed or not.\n *\n * @default false\n */\n moving?: boolean;\n\n /**\n * Optional icon that is shown in the state indicator and used instead of the moving direction arrow.\n */\n stateIconName?: string;\n\n /**\n * Defines if marker is displayed with pinging animation.\n *\n * @default false\n */\n pinging?: boolean;\n\n /**\n * List of rioglyph icon names.\n */\n iconNames?: string[];\n\n /**\n * Defines the color of the marker.\n *\n * Possible values are:\n * - `bg-map-marker-asset`\n * - `bg-map-marker-poi`\n * - `bg-map-marker-geofence`\n * - `bg-map-marker-route`\n * - `bg-map-marker-info`\n * - `bg-map-marker-success`\n * - `bg-map-marker-warning`\n * - `bg-map-marker-danger`\n * - `bg-map-marker-restrictions`\n *\n * @default 'bg-map-marker-asset'\n */\n markerColor?: MarkerColor;\n\n /**\n * Can be used to add a text-color class to the marker div.\n */\n textColor?: string;\n\n /**\n * Used to control the marker's anchor size.\n *\n * Possible values are:\n * - `md`\n * - `lg`\n *\n * @default 'md'\n */\n anchorSize?: 'md' | 'lg';\n\n /**\n * Whether the marker is only visible on hover.\n *\n * @default false\n */\n markerOnHover?: boolean;\n\n /**\n * Optional icon that is shown on the anchor of the DOM marker.\n * Use this when no marker content is shown.\n */\n anchorIconName?: string;\n\n /**\n * Shows only the anchor without the rest of the marker.\n */\n anchorOnly?: boolean;\n\n /**\n * Marker cursor\n */\n cursor?: 'cursor-pointer' | 'cursor-grab' | 'cursor-not-allowed';\n};\n\nconst SingleMapMarker = (props: SingleMapMarkerProps) => {\n const {\n bearing = DEFAULT_BEARING,\n name,\n warningCount = 0,\n exceptionCount = 0,\n active = false,\n clickable = true,\n fixed = false,\n moving = false,\n pinging = false,\n anchorIconName,\n stateIconName,\n iconNames,\n markerColor = 'bg-map-marker-asset',\n textColor,\n anchorSize,\n markerOnHover = false,\n anchorOnly = !name && !iconNames,\n cursor = 'cursor-pointer',\n className,\n style,\n } = props;\n\n const largeAnchor = anchorSize === 'lg';\n\n const classes = classNames(\n active && 'active',\n 'rio-map-marker',\n 'rio-map-marker-bottom-center',\n !clickable && 'not-clickable',\n className\n );\n\n const anchorClasses = classNames('rio-map-anchor', largeAnchor ? 'rio-map-anchor-lg' : '', cursor);\n\n const singleClasses = classNames(\n 'rio-map-single',\n fixed && 'fixed',\n moving && 'moving',\n textColor,\n markerOnHover && 'visible-on-hover',\n active && 'active',\n pinging && 'pinging',\n typeof name === 'string' && name.length === 1 && 'single-letter',\n cursor\n );\n\n const markerBackgroundColor = `var(${markerColorMapping[markerColor]})`;\n\n return (\n <div\n className={classes}\n style={{ ...style, color: markerBackgroundColor }}\n data-marker-type={markerColor.replace('bg-', 'single-')}\n >\n <div className='rio-map-marker-translate'>\n {!anchorOnly && (\n <>\n <div className={singleClasses}>\n <MapStateIndicator moving={moving} bearing={bearing} stateIconName={stateIconName} />\n {getIcons(iconNames)}\n {name && <div className='rio-map-name'>{name}</div>}\n {exceptionCount > 0 && <div className='rio-map-bubble exception'>{exceptionCount}</div>}\n {warningCount > 0 && <div className='rio-map-bubble warning'>{warningCount}</div>}\n </div>\n <div className='rio-map-anchor-arrow' />\n </>\n )}\n <div className={anchorClasses}>\n {anchorIconName && largeAnchor && <span className={`rioglyph rioglyph-${anchorIconName}`} />}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SingleMapMarker;\n"],"names":["DEFAULT_BEARING","MapStateIndicator","props","moving","bearing","stateIconName","iconClassName","classNames","style","jsx","getIcons","iconNames","name","index","SingleMapMarker","warningCount","exceptionCount","active","clickable","fixed","pinging","anchorIconName","markerColor","textColor","anchorSize","markerOnHover","anchorOnly","cursor","className","largeAnchor","classes","anchorClasses","singleClasses","markerBackgroundColor","markerColorMapping","jsxs","Fragment"],"mappings":"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"}