@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.
- package/CircularProgress.d.ts +2 -0
- package/CircularProgress.js +5 -0
- package/CircularProgress.js.map +1 -0
- package/RadioCardGroup.d.ts +2 -0
- package/RadioCardGroup.js +7 -0
- package/RadioCardGroup.js.map +1 -0
- package/SearchHighlightText.d.ts +2 -0
- package/SearchHighlightText.js +5 -0
- package/SearchHighlightText.js.map +1 -0
- package/TextTruncateMiddle.d.ts +2 -0
- package/TextTruncateMiddle.js +5 -0
- package/TextTruncateMiddle.js.map +1 -0
- package/Tracker.d.ts +2 -0
- package/Tracker.js +5 -0
- package/Tracker.js.map +1 -0
- package/classNames.d.ts +2 -0
- package/classNames.js +5 -0
- package/classNames.js.map +1 -0
- package/components/accentBar/AccentBar.js +1 -1
- package/components/accentBar/AccentBar.js.map +1 -1
- package/components/actionBarItem/ActionBarItem.js +7 -7
- package/components/actionBarItem/ActionBarItem.js.map +1 -1
- package/components/actionBarItem/ActionBarItemIcon.js +1 -1
- package/components/actionBarItem/ActionBarItemIcon.js.map +1 -1
- package/components/actionBarItem/ActionBarItemList.js +1 -1
- package/components/actionBarItem/ActionBarItemList.js.map +1 -1
- package/components/actionBarItem/ActionBarItemListItem.js +1 -1
- package/components/actionBarItem/ActionBarItemListItem.js.map +1 -1
- package/components/actionBarItem/ActionBarItemListSeparator.js +1 -1
- package/components/actionBarItem/ActionBarItemListSeparator.js.map +1 -1
- package/components/actionBarItem/ActionBarItemPopoverContent.js +3 -3
- package/components/actionBarItem/ActionBarItemPopoverContent.js.map +1 -1
- package/components/actionBarItem/ActionBarOverlay.js +1 -1
- package/components/actionBarItem/ActionBarOverlay.js.map +1 -1
- package/components/activity/Activity.js +1 -1
- package/components/activity/Activity.js.map +1 -1
- package/components/animatedTextReveal/AnimatedTextReveal.js +1 -1
- package/components/animatedTextReveal/AnimatedTextReveal.js.map +1 -1
- package/components/applicationHeader/AppMenu.js +2 -2
- package/components/applicationHeader/AppMenu.js.map +1 -1
- package/components/applicationHeader/AppMenuDropdown.js +13 -11
- package/components/applicationHeader/AppMenuDropdown.js.map +1 -1
- package/components/applicationHeader/ApplicationHeader.js +1 -1
- package/components/applicationHeader/ApplicationHeader.js.map +1 -1
- package/components/applicationHeader/MobileHeaderModal.js +8 -8
- package/components/applicationHeader/MobileHeaderModal.js.map +1 -1
- package/components/applicationHeader/MobileSubmoduleNavigation.js +1 -1
- package/components/applicationHeader/MobileSubmoduleNavigation.js.map +1 -1
- package/components/applicationHeader/NavItems.js +4 -4
- package/components/applicationHeader/NavItems.js.map +1 -1
- package/components/applicationLayout/ApplicationLayout.js +10 -10
- package/components/applicationLayout/ApplicationLayout.js.map +1 -1
- package/components/applicationLayout/ApplicationLayoutBody.js +2 -2
- package/components/applicationLayout/ApplicationLayoutBody.js.map +1 -1
- package/components/applicationLayout/ApplicationLayoutBodyBanner.js +1 -1
- package/components/applicationLayout/ApplicationLayoutBodyBanner.js.map +1 -1
- package/components/applicationLayout/ApplicationLayoutBodyBottomBar.js +1 -1
- package/components/applicationLayout/ApplicationLayoutBodyBottomBar.js.map +1 -1
- package/components/applicationLayout/ApplicationLayoutBodyNavigation.js +1 -1
- package/components/applicationLayout/ApplicationLayoutBodyNavigation.js.map +1 -1
- package/components/applicationLayout/ApplicationLayoutHeader.js +1 -1
- package/components/applicationLayout/ApplicationLayoutHeader.js.map +1 -1
- package/components/applicationLayout/ApplicationLayoutSidebar.js +1 -1
- package/components/applicationLayout/ApplicationLayoutSidebar.js.map +1 -1
- package/components/applicationLayout/SubNavigation.js +1 -1
- package/components/applicationLayout/SubNavigation.js.map +1 -1
- package/components/assetTree/AssetTree.js +1 -1
- package/components/assetTree/AssetTree.js.map +1 -1
- package/components/assetTree/Tree.js +1 -1
- package/components/assetTree/Tree.js.map +1 -1
- package/components/assetTree/TreeIcon.js +3 -3
- package/components/assetTree/TreeIcon.js.map +1 -1
- package/components/assetTree/TreeLeaf.js +4 -4
- package/components/assetTree/TreeLeaf.js.map +1 -1
- package/components/assetTree/TreeNode.js +1 -1
- package/components/assetTree/TreeNode.js.map +1 -1
- package/components/assetTree/TreeNodeContainer.js +1 -1
- package/components/assetTree/TreeNodeContainer.js.map +1 -1
- package/components/assetTree/TreeOption.js +3 -3
- package/components/assetTree/TreeOption.js.map +1 -1
- package/components/assetTree/TreeOptions.js +4 -4
- package/components/assetTree/TreeOptions.js.map +1 -1
- package/components/assetTree/TreeRoot.js +3 -3
- package/components/assetTree/TreeRoot.js.map +1 -1
- package/components/assetTree/TreeSearch.js +3 -3
- package/components/assetTree/TreeSearch.js.map +1 -1
- package/components/assetTree/TreeSidebar.js +1 -1
- package/components/assetTree/TreeSidebar.js.map +1 -1
- package/components/assetTree/TreeSidebarCategories.js +4 -4
- package/components/assetTree/TreeSidebarCategories.js.map +1 -1
- package/components/assetTree/TreeSummary.js +1 -1
- package/components/assetTree/TreeSummary.js.map +1 -1
- package/components/assetTree/TypeCounter.js +1 -1
- package/components/assetTree/TypeCounter.js.map +1 -1
- package/components/autosuggest/AutoSuggest.js +1 -1
- package/components/autosuggest/AutoSuggest.js.map +1 -1
- package/components/avatar/Avatar.js +1 -1
- package/components/avatar/Avatar.js.map +1 -1
- package/components/banner/Banner.js +1 -1
- package/components/banner/Banner.js.map +1 -1
- package/components/banner/BannerContent.js +1 -1
- package/components/banner/BannerContent.js.map +1 -1
- package/components/barList/BarList.js +1 -1
- package/components/barList/BarList.js.map +1 -1
- package/components/bottomSheet/BottomSheet.js +1 -1
- package/components/bottomSheet/BottomSheet.js.map +1 -1
- package/components/button/Button.d.ts +53 -7
- package/components/button/Button.js +87 -64
- package/components/button/Button.js.map +1 -1
- package/components/button/ButtonToolbar.js +1 -1
- package/components/button/ButtonToolbar.js.map +1 -1
- package/components/button/ToggleButton.d.ts +4 -1
- package/components/button/ToggleButton.js.map +1 -1
- package/components/calendarStripe/CalendarStripe.js +16 -16
- package/components/calendarStripe/CalendarStripe.js.map +1 -1
- package/components/card/Card.js +1 -1
- package/components/card/Card.js.map +1 -1
- package/components/charts/RadialBarChart.js +106 -103
- package/components/charts/RadialBarChart.js.map +1 -1
- package/components/checkbox/Checkbox.js +6 -6
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/circularProgress/CircularProgress.d.ts +139 -0
- package/components/circularProgress/CircularProgress.js +197 -0
- package/components/circularProgress/CircularProgress.js.map +1 -0
- package/components/clearableInput/ClearableInput.js +9 -9
- package/components/clearableInput/ClearableInput.js.map +1 -1
- package/components/dataTabs/DataTabHeader.js +1 -1
- package/components/dataTabs/DataTabHeader.js.map +1 -1
- package/components/dataTabs/DataTabs.js +4 -4
- package/components/dataTabs/DataTabs.js.map +1 -1
- package/components/datepicker/DatePicker.js +6 -6
- package/components/datepicker/DatePicker.js.map +1 -1
- package/components/datepicker/DateRangePicker.js +1 -1
- package/components/datepicker/DateRangePicker.js.map +1 -1
- package/components/datepicker/DayPicker.js +1 -1
- package/components/datepicker/DayPicker.js.map +1 -1
- package/components/dialog/Dialog.js +55 -55
- package/components/dialog/Dialog.js.map +1 -1
- package/components/dialog/DialogBody.js +1 -1
- package/components/dialog/DialogBody.js.map +1 -1
- package/components/dialog/DialogFooter.js +1 -1
- package/components/dialog/DialogFooter.js.map +1 -1
- package/components/dialog/DialogHeader.js +1 -1
- package/components/dialog/DialogHeader.js.map +1 -1
- package/components/dialog/MediaDialog.js +1 -1
- package/components/dialog/MediaDialog.js.map +1 -1
- package/components/dialog/SplitDialog.js +1 -1
- package/components/dialog/SplitDialog.js.map +1 -1
- package/components/divider/Divider.js +1 -1
- package/components/divider/Divider.js.map +1 -1
- package/components/dropdown/ButtonDropdown.js +1 -1
- package/components/dropdown/ButtonDropdown.js.map +1 -1
- package/components/dropdown/DropdownSubmenu.js +3 -3
- package/components/dropdown/DropdownSubmenu.js.map +1 -1
- package/components/dropdown/DropdownToggleButton.d.ts +1 -1
- package/components/dropdown/DropdownToggleButton.js +4 -3
- package/components/dropdown/DropdownToggleButton.js.map +1 -1
- package/components/dropdown/SplitCaretButton.js +6 -6
- package/components/dropdown/SplitCaretButton.js.map +1 -1
- package/components/editableContent/EditableContent.js +1 -1
- package/components/editableContent/EditableContent.js.map +1 -1
- package/components/ellipsis/TextTruncateMiddle.d.ts +23 -0
- package/components/ellipsis/TextTruncateMiddle.js +21 -0
- package/components/ellipsis/TextTruncateMiddle.js.map +1 -0
- package/components/expander/ExpanderList.js +5 -5
- package/components/expander/ExpanderList.js.map +1 -1
- package/components/expander/ExpanderPanel.js +1 -1
- package/components/expander/ExpanderPanel.js.map +1 -1
- package/components/feedback/FeedbackRating.js +1 -1
- package/components/feedback/FeedbackRating.js.map +1 -1
- package/components/feedback/FeedbackReactions.js +1 -1
- package/components/feedback/FeedbackReactions.js.map +1 -1
- package/components/formLabel/FormLabel.js +6 -9
- package/components/formLabel/FormLabel.js.map +1 -1
- package/components/formLabel/LabeledElement.js +1 -1
- package/components/formLabel/LabeledElement.js.map +1 -1
- package/components/listMenu/ListMenu.js +2 -5
- package/components/listMenu/ListMenu.js.map +1 -1
- package/components/listMenu/ListMenuGroup.js +2 -2
- package/components/listMenu/ListMenuGroup.js.map +1 -1
- package/components/loadMore/LoadMoreButton.js +1 -1
- package/components/loadMore/LoadMoreButton.js.map +1 -1
- package/components/loadMore/LoadMoreProgress.js +1 -1
- package/components/loadMore/LoadMoreProgress.js.map +1 -1
- package/components/map/components/features/MapSettings.js +4 -4
- package/components/map/components/features/MapSettings.js.map +1 -1
- package/components/map/components/features/settings/MapSettingsItem.js +1 -1
- package/components/map/components/features/settings/MapSettingsItem.js.map +1 -1
- package/components/map/components/features/settings/MapSettingsPanel.js +6 -20
- package/components/map/components/features/settings/MapSettingsPanel.js.map +1 -1
- package/components/map/components/features/settings/MapSettingsTile.js +87 -61
- package/components/map/components/features/settings/MapSettingsTile.js.map +1 -1
- package/components/map/components/features/settings/ZoomButtons.js +1 -1
- package/components/map/components/features/settings/ZoomButtons.js.map +1 -1
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.d.ts +38 -1
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +128 -92
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js.map +1 -1
- package/components/map/utils/eventHandling.js +9 -9
- package/components/map/utils/eventHandling.js.map +1 -1
- package/components/map/utils/mapUtils.d.ts +6 -6
- package/components/map/utils/mapUtils.js +14 -19
- package/components/map/utils/mapUtils.js.map +1 -1
- package/components/mapMarker/ClusterMapMarker.js +1 -1
- package/components/mapMarker/ClusterMapMarker.js.map +1 -1
- package/components/mapMarker/SingleMapMarker.js +1 -1
- package/components/mapMarker/SingleMapMarker.js.map +1 -1
- package/components/menuItems/MenuItem.js +1 -1
- package/components/menuItems/MenuItem.js.map +1 -1
- package/components/menuItems/MenuItemList.js +1 -1
- package/components/menuItems/MenuItemList.js.map +1 -1
- package/components/navigation/AppNavigationBar.js +4 -4
- package/components/navigation/AppNavigationBar.js.map +1 -1
- package/components/noData/NoData.js +1 -1
- package/components/noData/NoData.js.map +1 -1
- package/components/numberControl/NumberControl.js +4 -4
- package/components/numberControl/NumberControl.js.map +1 -1
- package/components/numberInput/NumberInput.js +1 -1
- package/components/numberInput/NumberInput.js.map +1 -1
- package/components/onboarding/OnboardingTip.js +4 -4
- package/components/onboarding/OnboardingTip.js.map +1 -1
- package/components/page/Page.js +1 -1
- package/components/page/Page.js.map +1 -1
- package/components/pager/Pager.js +1 -1
- package/components/pager/Pager.js.map +1 -1
- package/components/radiobutton/RadioButton.d.ts +1 -1
- package/components/radiobutton/RadioButton.js +5 -5
- package/components/radiobutton/RadioButton.js.map +1 -1
- package/components/radiobutton/RadioCardGroup.d.ts +86 -0
- package/components/radiobutton/RadioCardGroup.js +110 -0
- package/components/radiobutton/RadioCardGroup.js.map +1 -0
- package/components/resizer/Resizer.js +1 -1
- package/components/resizer/Resizer.js.map +1 -1
- package/components/responsiveColumnStripe/ResponsiveColumnStripe.js +1 -1
- package/components/responsiveColumnStripe/ResponsiveColumnStripe.js.map +1 -1
- package/components/rioglyph/Rioglyph.js +1 -1
- package/components/rioglyph/Rioglyph.js.map +1 -1
- package/components/rioglyph/RioglyphIconType.d.ts +1 -1
- package/components/rules/RuleConnector.js +1 -1
- package/components/rules/RuleConnector.js.map +1 -1
- package/components/rules/RuleContainer.js +27 -27
- package/components/rules/RuleContainer.js.map +1 -1
- package/components/saveableInput/SaveableDateInput.js +1 -1
- package/components/saveableInput/SaveableDateInput.js.map +1 -1
- package/components/saveableInput/SaveableInput.js +49 -49
- package/components/saveableInput/SaveableInput.js.map +1 -1
- package/components/searchHighlight/SearchHighlightText.d.ts +28 -0
- package/components/searchHighlight/SearchHighlightText.js +15 -0
- package/components/searchHighlight/SearchHighlightText.js.map +1 -0
- package/components/selects/BaseSelectDropdown.js +1 -1
- package/components/selects/BaseSelectDropdown.js.map +1 -1
- package/components/selects/ClearButton.js +4 -4
- package/components/selects/ClearButton.js.map +1 -1
- package/components/selects/Multiselect.js +6 -6
- package/components/selects/Multiselect.js.map +1 -1
- package/components/selects/MultiselectToggleFilter.js +4 -4
- package/components/selects/MultiselectToggleFilter.js.map +1 -1
- package/components/selects/MultiselectToggleSelection.js +1 -1
- package/components/selects/MultiselectToggleSelection.js.map +1 -1
- package/components/selects/Select.js +6 -6
- package/components/selects/Select.js.map +1 -1
- package/components/selects/SelectFilter.js +1 -1
- package/components/selects/SelectFilter.js.map +1 -1
- package/components/selects/WithFeedbackAndAddon.js +1 -1
- package/components/selects/WithFeedbackAndAddon.js.map +1 -1
- package/components/sidebars/Sidebar.js +54 -54
- package/components/sidebars/Sidebar.js.map +1 -1
- package/components/sidebars/SidebarBackdrop.js +4 -4
- package/components/sidebars/SidebarBackdrop.js.map +1 -1
- package/components/sidebars/SidebarFooter.js +1 -1
- package/components/sidebars/SidebarFooter.js.map +1 -1
- package/components/sidebars/SidebarFullscreenToggle.js +4 -4
- package/components/sidebars/SidebarFullscreenToggle.js.map +1 -1
- package/components/slider/RangeSlider.js +1 -1
- package/components/slider/RangeSlider.js.map +1 -1
- package/components/slider/Slider.js +1 -1
- package/components/slider/Slider.js.map +1 -1
- package/components/smoothScrollbars/SmoothScrollbars.js +1 -1
- package/components/smoothScrollbars/SmoothScrollbars.js.map +1 -1
- package/components/spinner/Spinner.js +5 -4
- package/components/spinner/Spinner.js.map +1 -1
- package/components/states/CustomState.d.ts +69 -1
- package/components/states/CustomState.js +1 -1
- package/components/states/CustomState.js.map +1 -1
- package/components/states/EmptyState.d.ts +1 -1
- package/components/states/EmptyState.js.map +1 -1
- package/components/states/ErrorState.d.ts +1 -1
- package/components/states/ErrorState.js.map +1 -1
- package/components/states/ForbiddenState.d.ts +1 -1
- package/components/states/ForbiddenState.js.map +1 -1
- package/components/states/MaintenanceState.d.ts +1 -1
- package/components/states/MaintenanceState.js.map +1 -1
- package/components/states/NotBookedState.d.ts +1 -1
- package/components/states/NotBookedState.js.map +1 -1
- package/components/states/NotFoundState.d.ts +1 -1
- package/components/states/NotFoundState.js.map +1 -1
- package/components/states/StateButton.js +1 -1
- package/components/states/StateButton.js.map +1 -1
- package/components/statsWidget/StatsWidget.js +1 -1
- package/components/statsWidget/StatsWidget.js.map +1 -1
- package/components/statsWidget/StatsWidgetBody.js +1 -1
- package/components/statsWidget/StatsWidgetBody.js.map +1 -1
- package/components/statsWidget/StatsWidgetFooter.js +1 -1
- package/components/statsWidget/StatsWidgetFooter.js.map +1 -1
- package/components/statsWidget/StatsWidgetHeader.js +1 -1
- package/components/statsWidget/StatsWidgetHeader.js.map +1 -1
- package/components/statsWidget/StatsWidgetNumber.js +2 -2
- package/components/statsWidget/StatsWidgetNumber.js.map +1 -1
- package/components/statsWidget/StatsWidgetSpacer.js +1 -1
- package/components/statsWidget/StatsWidgetSpacer.js.map +1 -1
- package/components/statsWidget/StatsWidgets.js +1 -1
- package/components/statsWidget/StatsWidgets.js.map +1 -1
- package/components/statusBar/StatusBar.d.ts +126 -2
- package/components/statusBar/StatusBar.js +24 -17
- package/components/statusBar/StatusBar.js.map +1 -1
- package/components/statusBar/StatusBarIcon.d.ts +1 -1
- package/components/statusBar/StatusBarIcon.js +4 -4
- package/components/statusBar/StatusBarIcon.js.map +1 -1
- package/components/statusBar/StatusBarLabel.d.ts +1 -1
- package/components/statusBar/StatusBarLabel.js +5 -7
- package/components/statusBar/StatusBarLabel.js.map +1 -1
- package/components/statusBar/StatusBarProgressBar.d.ts +1 -1
- package/components/statusBar/StatusBarProgressBar.js +1 -1
- package/components/statusBar/StatusBarProgressBar.js.map +1 -1
- package/components/steppedProgressBar/SteppedProgressBar.js +1 -1
- package/components/steppedProgressBar/SteppedProgressBar.js.map +1 -1
- package/components/switch/Switch.d.ts +16 -1
- package/components/switch/Switch.js +77 -35
- package/components/switch/Switch.js.map +1 -1
- package/components/table/TableCardsSorting.js +4 -4
- package/components/table/TableCardsSorting.js.map +1 -1
- package/components/table/TableHead.js +1 -1
- package/components/table/TableHead.js.map +1 -1
- package/components/table/TableSearch.js +1 -1
- package/components/table/TableSearch.js.map +1 -1
- package/components/table/TableSettingsColumnButtons.d.ts +1 -1
- package/components/table/TableSettingsColumnButtons.js +1 -1
- package/components/table/TableSettingsColumnButtons.js.map +1 -1
- package/components/table/TableSettingsColumnDetails.d.ts +1 -1
- package/components/table/TableSettingsColumnDetails.js +1 -1
- package/components/table/TableSettingsColumnDetails.js.map +1 -1
- package/components/table/TableSettingsDialog.d.ts +51 -1
- package/components/table/TableSettingsDialog.js +164 -148
- package/components/table/TableSettingsDialog.js.map +1 -1
- package/components/table/TableSettingsDialogFooter.js +1 -1
- package/components/table/TableSettingsDialogFooter.js.map +1 -1
- package/components/table/TableSettingsListContainer.d.ts +1 -1
- package/components/table/TableSettingsListContainer.js.map +1 -1
- package/components/table/TableSettingsListItem.d.ts +1 -1
- package/components/table/TableSettingsListItem.js +8 -8
- package/components/table/TableSettingsListItem.js.map +1 -1
- package/components/table/TableToolbar.js +1 -1
- package/components/table/TableToolbar.js.map +1 -1
- package/components/table/TableViewToggles.js +1 -1
- package/components/table/TableViewToggles.js.map +1 -1
- package/components/tag/Tag.js +1 -1
- package/components/tag/Tag.js.map +1 -1
- package/components/tag/TagList.js +1 -1
- package/components/tag/TagList.js.map +1 -1
- package/components/tagManager/CustomSuggestionItem.js +1 -1
- package/components/tagManager/CustomSuggestionItem.js.map +1 -1
- package/components/tagManager/TagManager.d.ts +14 -2
- package/components/tagManager/TagManager.js +6 -6
- package/components/tagManager/TagManager.js.map +1 -1
- package/components/tagManager/TagManagerItemList.d.ts +1 -1
- package/components/tagManager/TagManagerItemList.js +1 -1
- package/components/tagManager/TagManagerItemList.js.map +1 -1
- package/components/teaser/Teaser.js +1 -1
- package/components/teaser/Teaser.js.map +1 -1
- package/components/teaser/TeaserContainer.js +1 -1
- package/components/teaser/TeaserContainer.js.map +1 -1
- package/components/timepicker/TimePicker.d.ts +20 -0
- package/components/timepicker/TimePicker.js +153 -99
- package/components/timepicker/TimePicker.js.map +1 -1
- package/components/tooltip/Tooltip.js +1 -1
- package/components/tooltip/Tooltip.js.map +1 -1
- package/components/tracker/Tracker.d.ts +85 -0
- package/components/tracker/Tracker.js +54 -0
- package/components/tracker/Tracker.js.map +1 -0
- package/components/tracker/TrackerBlock.d.ts +11 -0
- package/components/tracker/TrackerBlock.js +34 -0
- package/components/tracker/TrackerBlock.js.map +1 -0
- package/components/video/ResponsiveVideo.js +1 -1
- package/components/video/ResponsiveVideo.js.map +1 -1
- package/hooks/useCookies.d.ts +79 -0
- package/hooks/useCookies.js +33 -0
- package/hooks/useCookies.js.map +1 -0
- package/hooks/useInterval.js +5 -5
- package/hooks/useInterval.js.map +1 -1
- package/hooks/useIsFocusWithin.js +3 -3
- package/hooks/useIsFocusWithin.js.map +1 -1
- package/hooks/useLatest.d.ts +16 -0
- package/hooks/useLatest.js +11 -0
- package/hooks/useLatest.js.map +1 -0
- package/hooks/usePostMessage.d.ts +2 -1
- package/hooks/usePostMessage.js.map +1 -1
- package/hooks/useRioCookieConsent.d.ts +49 -0
- package/hooks/useRioCookieConsent.js +44 -0
- package/hooks/useRioCookieConsent.js.map +1 -0
- package/hooks/useSearch.d.ts +1 -1
- package/hooks/useSearch.js +28 -17
- package/hooks/useSearch.js.map +1 -1
- package/hooks/useSearchHighlight.d.ts +60 -0
- package/hooks/useSearchHighlight.js +54 -0
- package/hooks/useSearchHighlight.js.map +1 -0
- package/hooks/useTimeout.js +11 -11
- package/hooks/useTimeout.js.map +1 -1
- package/hooks/useUrlState.d.ts +62 -0
- package/hooks/useUrlState.js +137 -0
- package/hooks/useUrlState.js.map +1 -0
- package/mergeClassNameOverrides.d.ts +1 -0
- package/mergeClassNameOverrides.js +5 -0
- package/mergeClassNameOverrides.js.map +1 -0
- package/package.json +17 -18
- package/routeUtils.js +11 -5
- package/routeUtils.js.map +1 -1
- package/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js +1 -1
- package/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js.map +1 -1
- package/useCookies.d.ts +2 -0
- package/useCookies.js +5 -0
- package/useCookies.js.map +1 -0
- package/useRioCookieConsent.d.ts +2 -0
- package/useRioCookieConsent.js +5 -0
- package/useRioCookieConsent.js.map +1 -0
- package/useSearchHighlight.d.ts +2 -0
- package/useSearchHighlight.js +6 -0
- package/useSearchHighlight.js.map +1 -0
- package/useUrlState.d.ts +2 -0
- package/useUrlState.js +5 -0
- package/useUrlState.js.map +1 -0
- package/utils/classNames.d.ts +3 -0
- package/utils/classNames.js +5 -0
- package/utils/classNames.js.map +1 -0
- package/utils/mergeClassNameOverrides.d.ts +1 -0
- package/utils/mergeClassNameOverrides.js +55 -0
- package/utils/mergeClassNameOverrides.js.map +1 -0
- package/utils/routeUtils.d.ts +122 -13
- package/utils/routeUtils.js +89 -31
- package/utils/routeUtils.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
- package/components/states/BaseStateProps.d.ts +0 -70
- package/components/statusBar/StatusBarProps.d.ts +0 -127
- package/components/table/TableSettingsDialog.types.d.ts +0 -39
- package/components/tagManager/TagManagerTag.d.ts +0 -14
|
@@ -1,126 +1,162 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import { useMemo as
|
|
3
|
-
import { noop as
|
|
4
|
-
import { compact as
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { MapIcon as a, MAP_TYPE_NIGHT_INACTIVE as
|
|
10
|
-
import
|
|
11
|
-
const
|
|
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:
|
|
14
|
-
onMapTypeChange:
|
|
15
|
-
enableNightMap:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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:
|
|
26
|
-
isFleetStyle:
|
|
27
|
-
isTerrain:
|
|
28
|
-
isSatellite:
|
|
29
|
-
isNight:
|
|
55
|
+
isDefault: T === t,
|
|
56
|
+
isFleetStyle: T === n,
|
|
57
|
+
isTerrain: T === s,
|
|
58
|
+
isSatellite: T === p,
|
|
59
|
+
isNight: T === _
|
|
30
60
|
}),
|
|
31
|
-
[
|
|
32
|
-
),
|
|
33
|
-
if (
|
|
34
|
-
return /* @__PURE__ */ e(a, { name:
|
|
35
|
-
if (
|
|
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
|
-
|
|
38
|
-
|
|
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: () =>
|
|
48
|
-
isActive:
|
|
49
|
-
activeIcon: /* @__PURE__ */ e(a, { name:
|
|
50
|
-
inactiveIcon: /* @__PURE__ */ e(a, { name:
|
|
51
|
-
label:
|
|
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
|
-
),
|
|
55
|
-
|
|
84
|
+
), h = /* @__PURE__ */ e(
|
|
85
|
+
M,
|
|
56
86
|
{
|
|
57
87
|
className: "MapTypeSatellite",
|
|
58
|
-
onClick: () =>
|
|
59
|
-
isActive:
|
|
60
|
-
activeIcon: /* @__PURE__ */ e(a, { name:
|
|
61
|
-
inactiveIcon: /* @__PURE__ */ e(a, { name:
|
|
62
|
-
label:
|
|
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
|
-
),
|
|
66
|
-
|
|
95
|
+
), u = /* @__PURE__ */ e(
|
|
96
|
+
M,
|
|
67
97
|
{
|
|
68
98
|
className: "MapTypeTerrain",
|
|
69
|
-
onClick: () =>
|
|
70
|
-
isActive:
|
|
71
|
-
activeIcon: /* @__PURE__ */ e(a, { name:
|
|
72
|
-
inactiveIcon: /* @__PURE__ */ e(a, { name:
|
|
73
|
-
label:
|
|
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
|
-
),
|
|
77
|
-
|
|
106
|
+
), L = /* @__PURE__ */ e(
|
|
107
|
+
M,
|
|
78
108
|
{
|
|
79
109
|
className: "MapTypeFlatTruck",
|
|
80
|
-
onClick: () => n
|
|
81
|
-
isActive:
|
|
82
|
-
activeIcon: /* @__PURE__ */ e(a, { name:
|
|
83
|
-
inactiveIcon: /* @__PURE__ */ e(a, { name:
|
|
84
|
-
label:
|
|
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
|
-
),
|
|
88
|
-
|
|
117
|
+
), d = /* @__PURE__ */ e(
|
|
118
|
+
M,
|
|
89
119
|
{
|
|
90
120
|
className: "MapTypeFlat",
|
|
91
|
-
onClick: () =>
|
|
92
|
-
isActive:
|
|
93
|
-
activeIcon: /* @__PURE__ */ e(a, { name:
|
|
94
|
-
inactiveIcon: /* @__PURE__ */ e(a, { name:
|
|
95
|
-
label:
|
|
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
|
-
),
|
|
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
|
-
|
|
143
|
+
$,
|
|
101
144
|
{
|
|
102
145
|
className: "MapTypeSettings",
|
|
103
|
-
inactiveIcon:
|
|
104
|
-
items:
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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
|
-
...
|
|
155
|
+
...w
|
|
120
156
|
}
|
|
121
157
|
);
|
|
122
158
|
};
|
|
123
159
|
export {
|
|
124
|
-
|
|
160
|
+
le as default
|
|
125
161
|
};
|
|
126
162
|
//# sourceMappingURL=MapTypeSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapTypeSettings.js","sources":["../../../../../../../src/components/map/components/features/settings/builtinSettings/MapTypeSettings.tsx"],"sourcesContent":["import type React from 'react';\nimport { useMemo } from 'react';\nimport { noop } from 'es-toolkit/function';\nimport { compact } from 'es-toolkit/compat';\n\nimport {\n MAP_TYPE_DEFAULT,\n MAP_TYPE_FLEET_STYLE,\n MAP_TYPE_NIGHT,\n MAP_TYPE_SATELLITE,\n MAP_TYPE_TERRAIN,\n} from '../../../constants';\nimport MapSettingsPanel from '../MapSettingsPanel';\nimport MapSettingsItem from '../MapSettingsItem';\nimport MapSettingsTile from '../MapSettingsTile';\n\nimport {\n MapIcon,\n MAP_TYPE_FLAT_ACTIVE,\n MAP_TYPE_FLAT_INACTIVE,\n MAP_TYPE_FLAT_TRUCK_ACTIVE,\n MAP_TYPE_FLAT_TRUCK_INACTIVE,\n MAP_TYPE_SATELLITE_ACTIVE,\n MAP_TYPE_SATELLITE_INACTIVE,\n MAP_TYPE_TERRAIN_ACTIVE,\n MAP_TYPE_TERRAIN_INACTIVE,\n MAP_TYPE_NIGHT_ACTIVE,\n MAP_TYPE_NIGHT_INACTIVE,\n} from '../../../../icons/MapIcon';\nimport type { MapType } from '../../../../utils/mapTypes';\nimport MapSettingsDropdownHeader from '../items/MapSettingsDropdownHeader';\n\nexport type MapTypeSettingsProps = {\n mapType?: string;\n enableNightMap?: boolean;\n onMapTypeChange?: (type: MapType) => void;\n defaultTypeLabel?: string | JSX.Element;\n truckTypeLabel?: string | JSX.Element;\n terrainTypeLabel?: string | JSX.Element;\n satelliteTypeLabel?: string | JSX.Element;\n nightTypeLabel?: string | JSX.Element;\n tooltip?: string | React.ReactNode;\n dropdownHeaderText?: string | JSX.Element;\n};\n\nconst MapTypeSettings = (props: MapTypeSettingsProps) => {\n const {\n mapType,\n onMapTypeChange = noop,\n enableNightMap = true,\n defaultTypeLabel,\n truckTypeLabel,\n terrainTypeLabel,\n satelliteTypeLabel,\n nightTypeLabel,\n dropdownHeaderText,\n ...remainingProps\n } = props;\n\n const type = useMemo(\n () => ({\n isDefault: mapType === MAP_TYPE_DEFAULT,\n isFleetStyle: mapType === MAP_TYPE_FLEET_STYLE,\n isTerrain: mapType === MAP_TYPE_TERRAIN,\n isSatellite: mapType === MAP_TYPE_SATELLITE,\n isNight: mapType === MAP_TYPE_NIGHT,\n }),\n [mapType]\n );\n\n const getIcon = (currentType: typeof type) => {\n if (currentType.isDefault) {\n return <MapIcon name={MAP_TYPE_FLAT_INACTIVE} />;\n }\n if (currentType.isFleetStyle) {\n return <MapIcon name={MAP_TYPE_FLAT_TRUCK_INACTIVE} />;\n }\n if (currentType.isTerrain) {\n return <MapIcon name={MAP_TYPE_TERRAIN_INACTIVE} />;\n }\n if (currentType.isSatellite) {\n return <MapIcon name={MAP_TYPE_SATELLITE_INACTIVE} />;\n }\n if (currentType.isNight) {\n return <MapIcon name={MAP_TYPE_NIGHT_INACTIVE} />;\n }\n };\n\n const dropdownHeader = dropdownHeaderText && (\n <MapSettingsDropdownHeader key='mapTypeDropdownHeader' label={dropdownHeaderText} />\n );\n\n const mapTypeNight = (\n <MapSettingsItem\n key='MapTypeNight'\n className='MapTypeNight'\n onClick={() => onMapTypeChange(MAP_TYPE_NIGHT)}\n isActive={type.isNight}\n activeIcon={<MapIcon name={MAP_TYPE_NIGHT_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_NIGHT_INACTIVE} />}\n label={nightTypeLabel}\n />\n );\n\n const mapTypeSatellite = (\n <MapSettingsItem\n key='MapTypeSatellite'\n className='MapTypeSatellite'\n onClick={() => onMapTypeChange(MAP_TYPE_SATELLITE)}\n isActive={type.isSatellite}\n activeIcon={<MapIcon name={MAP_TYPE_SATELLITE_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_SATELLITE_INACTIVE} />}\n label={satelliteTypeLabel}\n />\n );\n\n const mapTypeTerrain = (\n <MapSettingsItem\n key='MapTypeTerrain'\n className='MapTypeTerrain'\n onClick={() => onMapTypeChange(MAP_TYPE_TERRAIN)}\n isActive={type.isTerrain}\n activeIcon={<MapIcon name={MAP_TYPE_TERRAIN_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_TERRAIN_INACTIVE} />}\n label={terrainTypeLabel}\n />\n );\n\n const mapTypeTruck = (\n <MapSettingsItem\n key='MapTypeFlatTruck'\n className='MapTypeFlatTruck'\n onClick={() => onMapTypeChange(MAP_TYPE_FLEET_STYLE)}\n isActive={type.isFleetStyle}\n activeIcon={<MapIcon name={MAP_TYPE_FLAT_TRUCK_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_FLAT_TRUCK_INACTIVE} />}\n label={truckTypeLabel}\n />\n );\n\n const mapTypeDefault = (\n <MapSettingsItem\n key='MapTypeFlat'\n className='MapTypeFlat'\n onClick={() => onMapTypeChange(MAP_TYPE_DEFAULT)}\n isActive={type.isDefault}\n activeIcon={<MapIcon name={MAP_TYPE_FLAT_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_FLAT_INACTIVE} />}\n label={defaultTypeLabel}\n />\n );\n\n const hasLabels =\n !!defaultTypeLabel || !!truckTypeLabel || !!terrainTypeLabel || !!satelliteTypeLabel || !!nightTypeLabel;\n\n return (\n <MapSettingsTile\n className='MapTypeSettings'\n inactiveIcon={getIcon(type)}\n items={\n hasLabels\n ? compact([\n dropdownHeader,\n mapTypeNight,\n mapTypeSatellite,\n mapTypeTerrain,\n mapTypeTruck,\n mapTypeDefault,\n ])\n : undefined\n }\n panel={\n !hasLabels && (\n <MapSettingsPanel>\n {enableNightMap && mapTypeNight}\n {mapTypeSatellite}\n {mapTypeTerrain}\n {mapTypeTruck}\n {mapTypeDefault}\n </MapSettingsPanel>\n )\n }\n {...remainingProps}\n />\n );\n};\n\nexport default MapTypeSettings;\n"],"names":["MapTypeSettings","props","mapType","onMapTypeChange","noop","enableNightMap","defaultTypeLabel","truckTypeLabel","terrainTypeLabel","satelliteTypeLabel","nightTypeLabel","dropdownHeaderText","remainingProps","type","useMemo","MAP_TYPE_DEFAULT","MAP_TYPE_FLEET_STYLE","MAP_TYPE_TERRAIN","MAP_TYPE_SATELLITE","MAP_TYPE_NIGHT","getIcon","currentType","jsx","MapIcon","MAP_TYPE_FLAT_INACTIVE","MAP_TYPE_FLAT_TRUCK_INACTIVE","MAP_TYPE_TERRAIN_INACTIVE","MAP_TYPE_SATELLITE_INACTIVE","MAP_TYPE_NIGHT_INACTIVE","dropdownHeader","MapSettingsDropdownHeader","mapTypeNight","MapSettingsItem","MAP_TYPE_NIGHT_ACTIVE","mapTypeSatellite","MAP_TYPE_SATELLITE_ACTIVE","mapTypeTerrain","MAP_TYPE_TERRAIN_ACTIVE","mapTypeTruck","MAP_TYPE_FLAT_TRUCK_ACTIVE","mapTypeDefault","MAP_TYPE_FLAT_ACTIVE","hasLabels","MapSettingsTile","compact","jsxs","MapSettingsPanel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MapTypeSettings.js","sources":["../../../../../../../src/components/map/components/features/settings/builtinSettings/MapTypeSettings.tsx"],"sourcesContent":["import React from 'react';\nimport { useEffect, useMemo } from 'react';\nimport { noop } from 'es-toolkit/function';\nimport { compact } from 'es-toolkit/compat';\n\nimport {\n MAP_TYPE_DEFAULT,\n MAP_TYPE_FLEET_STYLE,\n MAP_TYPE_NIGHT,\n MAP_TYPE_SATELLITE,\n MAP_TYPE_TERRAIN,\n} from '../../../constants';\nimport MapSettingsPanel from '../MapSettingsPanel';\nimport MapSettingsItem from '../MapSettingsItem';\nimport MapSettingsTile from '../MapSettingsTile';\n\nimport {\n MapIcon,\n MAP_TYPE_FLAT_ACTIVE,\n MAP_TYPE_FLAT_INACTIVE,\n MAP_TYPE_FLAT_TRUCK_ACTIVE,\n MAP_TYPE_FLAT_TRUCK_INACTIVE,\n MAP_TYPE_SATELLITE_ACTIVE,\n MAP_TYPE_SATELLITE_INACTIVE,\n MAP_TYPE_TERRAIN_ACTIVE,\n MAP_TYPE_TERRAIN_INACTIVE,\n MAP_TYPE_NIGHT_ACTIVE,\n MAP_TYPE_NIGHT_INACTIVE,\n} from '../../../../icons/MapIcon';\nimport type { MapType } from '../../../../utils/mapTypes';\nimport MapSettingsDropdownHeader from '../items/MapSettingsDropdownHeader';\n\nexport type MapTypeSettingsProps = {\n /**\n * Currently selected base map type.\n */\n mapType?: MapType;\n\n /**\n * Global switch to enable or disable the night map type entry.\n *\n * @deprecated Prefer controlling night visibility via `visibleMapTypes`\n * by including or excluding `MAP_TYPE_NIGHT`.\n */\n enableNightMap?: boolean;\n\n /**\n * Map types that should be shown in the settings panel/dropdown.\n */\n visibleMapTypes?: MapType[];\n\n /**\n * Called when the user selects a different map type.\n */\n onMapTypeChange?: (type: MapType) => void;\n\n /**\n * Custom label for the default map type entry.\n */\n defaultTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the truck/fleet-style map type entry.\n */\n truckTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the terrain map type entry.\n */\n terrainTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the satellite map type entry.\n */\n satelliteTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the night map type entry.\n */\n nightTypeLabel?: string | JSX.Element;\n\n /**\n * Tooltip content shown for the map type settings trigger.\n */\n tooltip?: string | React.ReactNode;\n\n /**\n * Optional dropdown header text shown above labeled map type entries.\n */\n dropdownHeaderText?: string | JSX.Element;\n};\n\nconst MapTypeSettings = (props: MapTypeSettingsProps) => {\n const {\n mapType,\n onMapTypeChange = noop,\n enableNightMap = true,\n visibleMapTypes = [\n MAP_TYPE_DEFAULT,\n MAP_TYPE_FLEET_STYLE,\n MAP_TYPE_TERRAIN,\n MAP_TYPE_SATELLITE,\n MAP_TYPE_NIGHT,\n ],\n defaultTypeLabel,\n truckTypeLabel,\n terrainTypeLabel,\n satelliteTypeLabel,\n nightTypeLabel,\n dropdownHeaderText,\n ...remainingProps\n } = props;\n\n const visibleMapTypesSet = useMemo(() => {\n return new Set(visibleMapTypes);\n }, [visibleMapTypes]);\n\n const isMapTypeVisible = (type: MapType) => visibleMapTypesSet.has(type);\n\n const isNightMapVisible = isMapTypeVisible(MAP_TYPE_NIGHT) && enableNightMap;\n\n const visibleMapTypesWithoutLabel = useMemo(\n () =>\n compact([\n visibleMapTypesSet.has(MAP_TYPE_DEFAULT) && !defaultTypeLabel && MAP_TYPE_DEFAULT,\n visibleMapTypesSet.has(MAP_TYPE_FLEET_STYLE) && !truckTypeLabel && MAP_TYPE_FLEET_STYLE,\n visibleMapTypesSet.has(MAP_TYPE_TERRAIN) && !terrainTypeLabel && MAP_TYPE_TERRAIN,\n visibleMapTypesSet.has(MAP_TYPE_SATELLITE) && !satelliteTypeLabel && MAP_TYPE_SATELLITE,\n isNightMapVisible && !nightTypeLabel && MAP_TYPE_NIGHT,\n ]),\n [\n defaultTypeLabel,\n isNightMapVisible,\n nightTypeLabel,\n satelliteTypeLabel,\n terrainTypeLabel,\n truckTypeLabel,\n visibleMapTypesSet,\n ]\n );\n\n useEffect(() => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV === 'production') {\n return;\n }\n\n if (visibleMapTypesWithoutLabel.length === 0) {\n return;\n }\n\n console.warn(\n `[MapTypeSettings] Missing labels for visible map types: ${visibleMapTypesWithoutLabel.join(', ')}. ` +\n 'Pass the corresponding `...TypeLabel` props to improve clarity.'\n );\n }, [visibleMapTypesWithoutLabel]);\n\n const type = useMemo(\n () => ({\n isDefault: mapType === MAP_TYPE_DEFAULT,\n isFleetStyle: mapType === MAP_TYPE_FLEET_STYLE,\n isTerrain: mapType === MAP_TYPE_TERRAIN,\n isSatellite: mapType === MAP_TYPE_SATELLITE,\n isNight: mapType === MAP_TYPE_NIGHT,\n }),\n [mapType]\n );\n\n const getIcon = (currentType: typeof type) => {\n if (currentType.isDefault) {\n return <MapIcon name={MAP_TYPE_FLAT_INACTIVE} />;\n }\n if (currentType.isFleetStyle) {\n return <MapIcon name={MAP_TYPE_FLAT_TRUCK_INACTIVE} />;\n }\n if (currentType.isTerrain) {\n return <MapIcon name={MAP_TYPE_TERRAIN_INACTIVE} />;\n }\n if (currentType.isSatellite) {\n return <MapIcon name={MAP_TYPE_SATELLITE_INACTIVE} />;\n }\n if (currentType.isNight) {\n return <MapIcon name={MAP_TYPE_NIGHT_INACTIVE} />;\n }\n };\n\n const dropdownHeader = dropdownHeaderText && (\n <MapSettingsDropdownHeader key='mapTypeDropdownHeader' label={dropdownHeaderText} />\n );\n\n const mapTypeNight = (\n <MapSettingsItem\n key='MapTypeNight'\n className='MapTypeNight'\n onClick={() => onMapTypeChange(MAP_TYPE_NIGHT)}\n isActive={type.isNight}\n activeIcon={<MapIcon name={MAP_TYPE_NIGHT_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_NIGHT_INACTIVE} />}\n label={nightTypeLabel}\n />\n );\n\n const mapTypeSatellite = (\n <MapSettingsItem\n key='MapTypeSatellite'\n className='MapTypeSatellite'\n onClick={() => onMapTypeChange(MAP_TYPE_SATELLITE)}\n isActive={type.isSatellite}\n activeIcon={<MapIcon name={MAP_TYPE_SATELLITE_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_SATELLITE_INACTIVE} />}\n label={satelliteTypeLabel}\n />\n );\n\n const mapTypeTerrain = (\n <MapSettingsItem\n key='MapTypeTerrain'\n className='MapTypeTerrain'\n onClick={() => onMapTypeChange(MAP_TYPE_TERRAIN)}\n isActive={type.isTerrain}\n activeIcon={<MapIcon name={MAP_TYPE_TERRAIN_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_TERRAIN_INACTIVE} />}\n label={terrainTypeLabel}\n />\n );\n\n const mapTypeTruck = (\n <MapSettingsItem\n key='MapTypeFlatTruck'\n className='MapTypeFlatTruck'\n onClick={() => onMapTypeChange(MAP_TYPE_FLEET_STYLE)}\n isActive={type.isFleetStyle}\n activeIcon={<MapIcon name={MAP_TYPE_FLAT_TRUCK_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_FLAT_TRUCK_INACTIVE} />}\n label={truckTypeLabel}\n />\n );\n\n const mapTypeDefault = (\n <MapSettingsItem\n key='MapTypeFlat'\n className='MapTypeFlat'\n onClick={() => onMapTypeChange(MAP_TYPE_DEFAULT)}\n isActive={type.isDefault}\n activeIcon={<MapIcon name={MAP_TYPE_FLAT_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_FLAT_INACTIVE} />}\n label={defaultTypeLabel}\n />\n );\n\n const mapTypeItems = compact([\n dropdownHeader,\n isNightMapVisible && mapTypeNight,\n isMapTypeVisible(MAP_TYPE_SATELLITE) && mapTypeSatellite,\n isMapTypeVisible(MAP_TYPE_TERRAIN) && mapTypeTerrain,\n isMapTypeVisible(MAP_TYPE_FLEET_STYLE) && mapTypeTruck,\n isMapTypeVisible(MAP_TYPE_DEFAULT) && mapTypeDefault,\n ]);\n\n const hasVisibleLabels =\n compact([\n isMapTypeVisible(MAP_TYPE_DEFAULT) && defaultTypeLabel,\n isMapTypeVisible(MAP_TYPE_FLEET_STYLE) && truckTypeLabel,\n isMapTypeVisible(MAP_TYPE_TERRAIN) && terrainTypeLabel,\n isMapTypeVisible(MAP_TYPE_SATELLITE) && satelliteTypeLabel,\n isNightMapVisible && nightTypeLabel,\n ]).length > 0;\n\n return (\n <MapSettingsTile\n className='MapTypeSettings'\n inactiveIcon={getIcon(type)}\n items={hasVisibleLabels ? mapTypeItems : undefined}\n panel={\n !hasVisibleLabels && (\n <MapSettingsPanel>\n {isNightMapVisible && mapTypeNight}\n {isMapTypeVisible(MAP_TYPE_SATELLITE) && mapTypeSatellite}\n {isMapTypeVisible(MAP_TYPE_TERRAIN) && mapTypeTerrain}\n {isMapTypeVisible(MAP_TYPE_FLEET_STYLE) && mapTypeTruck}\n {isMapTypeVisible(MAP_TYPE_DEFAULT) && mapTypeDefault}\n </MapSettingsPanel>\n )\n }\n {...remainingProps}\n />\n );\n};\n\nexport default MapTypeSettings;\n"],"names":["MapTypeSettings","props","mapType","onMapTypeChange","noop","enableNightMap","visibleMapTypes","MAP_TYPE_DEFAULT","MAP_TYPE_FLEET_STYLE","MAP_TYPE_TERRAIN","MAP_TYPE_SATELLITE","MAP_TYPE_NIGHT","defaultTypeLabel","truckTypeLabel","terrainTypeLabel","satelliteTypeLabel","nightTypeLabel","dropdownHeaderText","remainingProps","visibleMapTypesSet","useMemo","isMapTypeVisible","type","isNightMapVisible","visibleMapTypesWithoutLabel","compact","useEffect","getIcon","currentType","jsx","MapIcon","MAP_TYPE_FLAT_INACTIVE","MAP_TYPE_FLAT_TRUCK_INACTIVE","MAP_TYPE_TERRAIN_INACTIVE","MAP_TYPE_SATELLITE_INACTIVE","MAP_TYPE_NIGHT_INACTIVE","dropdownHeader","MapSettingsDropdownHeader","mapTypeNight","MapSettingsItem","MAP_TYPE_NIGHT_ACTIVE","mapTypeSatellite","MAP_TYPE_SATELLITE_ACTIVE","mapTypeTerrain","MAP_TYPE_TERRAIN_ACTIVE","mapTypeTruck","MAP_TYPE_FLAT_TRUCK_ACTIVE","mapTypeDefault","MAP_TYPE_FLAT_ACTIVE","mapTypeItems","hasVisibleLabels","MapSettingsTile","jsxs","MapSettingsPanel"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const s = (e = 250) => {
|
|
2
2
|
let n;
|
|
3
3
|
const t = (r, ...E) => {
|
|
4
|
-
o(), n =
|
|
4
|
+
o(), n = setTimeout(() => r(...E), e);
|
|
5
5
|
}, o = () => {
|
|
6
|
-
|
|
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)),
|
|
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
|
-
},
|
|
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,
|
|
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:
|
|
76
|
+
isRightClick: _
|
|
77
77
|
};
|
|
78
78
|
export {
|
|
79
79
|
c as EventUtils,
|
|
80
|
-
|
|
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
|
-
|
|
87
|
-
|
|
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
|
|
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.
|
|
30
|
-
getMarkers: () => H.map.
|
|
31
|
-
getRoutePolylines: () => H.map.
|
|
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.
|
|
74
|
-
getMarkers: () => H.map.
|
|
75
|
-
getRoutePolylines: () =>
|
|
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 {
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
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: () =>
|
|
59
|
-
getMarkers: () =>
|
|
60
|
-
getRoutePolylines: () =>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
72
|
-
|
|
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 {
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterMapMarker.js","sources":["../../../src/components/mapMarker/ClusterMapMarker.tsx"],"sourcesContent":["import classNames from '
|
|
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 "
|
|
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 '
|
|
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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"}
|