@rio-cloud/rio-uikit 1.6.0 → 1.7.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/.DS_Store +0 -0
- package/AccentBar.d.ts +2 -0
- package/AccentBar.js +2 -0
- package/Avatar.d.ts +2 -0
- package/Avatar.js +2 -0
- package/AvatarGroup.d.ts +2 -0
- package/AvatarGroup.js +2 -0
- package/Banner.d.ts +2 -0
- package/Banner.js +2 -0
- package/ButtonToolbar.d.ts +2 -0
- package/ButtonToolbar.js +2 -0
- package/Card.d.ts +2 -0
- package/Card.js +2 -0
- package/DateRangePicker.js +2 -3
- package/FormLabel.d.ts +2 -0
- package/FormLabel.js +2 -0
- package/LabeledElement.d.ts +2 -0
- package/LabeledElement.js +2 -0
- package/StepButton.d.ts +2 -0
- package/StepButton.js +2 -0
- package/VirtualList.d.ts +2 -0
- package/VirtualList.js +2 -0
- package/components/accentBar/AccentBar.d.ts +21 -0
- package/components/accentBar/AccentBar.js +12 -0
- package/components/actionBarItem/ActionBarItem.d.ts +2 -6
- package/components/actionBarItem/ActionBarItem.js +6 -7
- package/components/actionBarItem/ActionBarItemIcon.d.ts +2 -2
- package/components/actionBarItem/ActionBarItemIcon.js +2 -3
- package/components/actionBarItem/ActionBarItemList.js +2 -6
- package/components/actionBarItem/ActionBarItemListItem.js +2 -5
- package/components/actionBarItem/ActionBarItemListSeparator.js +2 -6
- package/components/actionBarItem/ActionBarItemPopoverContent.js +2 -6
- package/components/actionBarItem/ActionBarOverlay.d.ts +1 -1
- package/components/actionBarItem/ActionBarOverlay.js +3 -4
- package/components/activity/Activity.js +2 -3
- package/components/animatedNumber/AnimatedNumber.d.ts +6 -6
- package/components/animatedNumber/AnimatedNumber.js +2 -3
- package/components/applicationHeader/AppMenu.js +3 -6
- package/components/applicationHeader/AppMenuContent.js +2 -4
- package/components/applicationHeader/AppMenuDropdown.js +4 -4
- package/components/applicationHeader/ApplicationActionBar.js +4 -7
- package/components/applicationHeader/ApplicationHeader.js +4 -5
- package/components/applicationHeader/CollapsedNavItem.js +3 -3
- package/components/applicationHeader/MobileAppMenu.js +2 -2
- package/components/applicationHeader/MobileHeaderModal.js +2 -2
- package/components/applicationHeader/MobileSubmoduleNavigation.js +3 -3
- package/components/applicationHeader/NavItems.js +2 -2
- package/components/applicationLayout/ApplicationLayout.js +2 -4
- package/components/applicationLayout/ApplicationLayoutBody.d.ts +1 -1
- package/components/applicationLayout/ApplicationLayoutBody.js +9 -9
- package/components/applicationLayout/ApplicationLayoutBodyBanner.d.ts +1 -1
- package/components/applicationLayout/ApplicationLayoutBodyBanner.js +2 -3
- package/components/applicationLayout/ApplicationLayoutBodyBottomBar.js +2 -3
- package/components/applicationLayout/ApplicationLayoutBodyNavigation.d.ts +1 -1
- package/components/applicationLayout/ApplicationLayoutBodyNavigation.js +2 -3
- package/components/applicationLayout/ApplicationLayoutHeader.d.ts +1 -1
- package/components/applicationLayout/ApplicationLayoutHeader.js +2 -3
- package/components/applicationLayout/ApplicationLayoutSidebar.d.ts +1 -1
- package/components/applicationLayout/ApplicationLayoutSidebar.js +2 -3
- package/components/applicationLayout/SubNavigation.js +2 -3
- package/components/aspectRatioPlaceholder/AspectRatioPlaceholder.js +1 -3
- package/components/assetTree/AssetTree.d.ts +1 -1
- package/components/assetTree/AssetTree.js +4 -5
- package/components/assetTree/Tree.d.ts +2 -2
- package/components/assetTree/Tree.js +9 -12
- package/components/assetTree/TreeLeaf.js +1 -1
- package/components/assetTree/TreeLeafList.js +0 -2
- package/components/assetTree/TreeNode.js +1 -1
- package/components/assetTree/TreeNodeContainer.js +1 -3
- package/components/assetTree/TreeNothingFound.js +2 -2
- package/components/assetTree/TreeOption.js +2 -5
- package/components/assetTree/TreeOptions.js +3 -5
- package/components/assetTree/TreeRoot.js +1 -3
- package/components/assetTree/TreeSearch.js +1 -1
- package/components/assetTree/TreeSelectAll.js +1 -3
- package/components/assetTree/TreeSidebar.js +2 -3
- package/components/assetTree/TreeSidebarCategories.js +2 -4
- package/components/assetTree/TreeSummary.js +1 -1
- package/components/assetTree/TreeSummaryRow.js +1 -3
- package/components/assetTree/TypeCounter.js +2 -3
- package/components/assetTree/treeReducer.js +8 -8
- package/components/assetTree/treeUtils.d.ts +0 -2
- package/components/assetTree/treeUtils.js +14 -11
- package/components/autosuggest/AutoSuggest.js +12 -16
- package/components/autosuggest/AutoSuggestAddons.js +1 -3
- package/components/autosuggest/DropdownSpinner.js +1 -2
- package/components/autosuggest/NoItemMessage.js +1 -3
- package/components/avatar/Avatar.d.ts +54 -0
- package/components/avatar/Avatar.js +27 -0
- package/components/avatar/AvatarContent.d.ts +10 -0
- package/components/avatar/AvatarContent.js +20 -0
- package/components/avatar/AvatarGroup.d.ts +15 -0
- package/components/avatar/AvatarGroup.js +23 -0
- package/components/banner/Banner.d.ts +66 -0
- package/components/banner/Banner.js +49 -0
- package/components/banner/BannerActions.d.ts +9 -0
- package/components/banner/BannerActions.js +5 -0
- package/components/banner/BannerContent.d.ts +25 -0
- package/components/banner/BannerContent.js +16 -0
- package/components/banner/BannerIcon.d.ts +9 -0
- package/components/banner/BannerIcon.js +5 -0
- package/components/banner/BannerPage.d.ts +9 -0
- package/components/banner/BannerPage.js +5 -0
- package/components/bottomSheet/BottomSheet.d.ts +2 -2
- package/components/bottomSheet/BottomSheet.js +5 -6
- package/components/bottomSheet/TimedBottomSheet.js +3 -4
- package/components/button/Button.d.ts +2 -0
- package/components/button/Button.js +4 -5
- package/components/button/ButtonToolbar.d.ts +13 -0
- package/components/button/ButtonToolbar.js +8 -0
- package/components/button/StepButton.d.ts +12 -0
- package/components/button/StepButton.js +8 -0
- package/components/button/ToggleButton.js +1 -3
- package/components/calendarStripe/CalendarStripe.js +1 -1
- package/components/card/Card.d.ts +21 -0
- package/components/card/Card.js +8 -0
- package/components/carousel/Carousel.d.ts +4 -6
- package/components/charts/AreaChart.js +6 -9
- package/components/charts/AreaGradient.js +1 -2
- package/components/charts/BarChart.js +13 -12
- package/components/charts/ChartGrid.js +1 -1
- package/components/charts/ChartLabel.d.ts +0 -1
- package/components/charts/ChartNeedle.js +13 -4
- package/components/charts/ComposedChart.js +13 -16
- package/components/charts/Legend.js +0 -2
- package/components/charts/LineChart.js +7 -10
- package/components/charts/PieChart.js +6 -9
- package/components/charts/RadialBarChart.js +5 -8
- package/components/charts/ReferenceLine.js +3 -6
- package/components/charts/ResponsiveContainer.js +1 -1
- package/components/charts/XAxis.js +2 -2
- package/components/charts/YAxis.d.ts +0 -1
- package/components/charts/chartHelper.d.ts +2 -2
- package/components/charts/chartHelper.js +1 -1
- package/components/checkbox/Checkbox.js +4 -7
- package/components/checkbox/CheckboxIcon.js +1 -1
- package/components/clearableInput/ClearableInput.js +18 -7
- package/components/collapse/Collapse.d.ts +1 -1
- package/components/collapse/Collapse.js +1 -3
- package/components/contentLoader/ContentLoader.js +2 -5
- package/components/dataTabs/DataTab.js +3 -6
- package/components/dataTabs/DataTabHeader.js +1 -1
- package/components/dataTabs/DataTabs.js +7 -9
- package/components/datepicker/DatePicker.d.ts +16 -16
- package/components/datepicker/DatePicker.js +3 -4
- package/components/datepicker/DateRangePicker.d.ts +55 -55
- package/components/datepicker/DateRangePicker.js +28 -14
- package/components/dialog/ConfirmationDialog.js +3 -6
- package/components/dialog/Dialog.d.ts +2 -2
- package/components/dialog/Dialog.js +13 -13
- package/components/dialog/DialogBody.js +2 -6
- package/components/dialog/DialogFooter.js +2 -5
- package/components/dialog/DialogHeader.js +2 -3
- package/components/dialog/FrameDialog.js +2 -2
- package/components/dialog/InfoDialog.js +2 -5
- package/components/dialog/MediaDialog.js +7 -9
- package/components/dialog/OnboardingDialog.js +2 -5
- package/components/dialog/ReleaseNotesDialog.js +1 -3
- package/components/dialog/SaveDialog.js +3 -6
- package/components/dialog/SimpleDialog.js +2 -5
- package/components/dialog/SplitDialog.js +3 -6
- package/components/divider/Divider.js +3 -5
- package/components/dropdown/ButtonDropdown.d.ts +1 -1
- package/components/dropdown/ButtonDropdown.js +11 -11
- package/components/dropdown/Caret.js +0 -2
- package/components/dropdown/DropdownSubmenu.js +2 -3
- package/components/dropdown/DropdownToggleButton.js +2 -3
- package/components/dropdown/SimpleButtonDropdown.js +1 -3
- package/components/dropdown/SingleButtonDropdown.js +1 -3
- package/components/dropdown/SplitButtonDropdown.js +1 -3
- package/components/dropdown/SplitCaretButton.js +2 -3
- package/components/editableContent/EditableContent.js +6 -9
- package/components/expander/ExpanderList.js +5 -5
- package/components/expander/ExpanderPanel.js +2 -3
- package/components/fade/Fade.js +2 -2
- package/components/fade/FadeExpander.js +2 -2
- package/components/fade/FadeUp.js +2 -3
- package/components/feedback/FeedbackInlineButtons.js +2 -5
- package/components/feedback/FeedbackRating.js +4 -6
- package/components/feedback/FeedbackReactions.js +4 -5
- package/components/filepicker/FilePicker.js +5 -6
- package/components/formLabel/FormLabel.d.ts +13 -0
- package/components/formLabel/FormLabel.js +17 -0
- package/components/formLabel/LabeledElement.d.ts +28 -0
- package/components/formLabel/LabeledElement.js +11 -0
- package/components/groupedItemList/GroupedItemList.js +2 -5
- package/components/licensePlate/LicensePlate.js +4 -6
- package/components/listMenu/ListMenu.d.ts +1 -0
- package/components/listMenu/ListMenu.js +11 -11
- package/components/listMenu/ListMenuGroup.d.ts +17 -0
- package/components/listMenu/ListMenuGroup.js +1 -3
- package/components/listMenu/ListMenuHeader.d.ts +3 -1
- package/components/listMenu/ListMenuHeader.js +3 -5
- package/components/loadMore/LoadMoreButton.js +2 -5
- package/components/loadMore/LoadMoreProgress.js +1 -1
- package/components/map/components/Map.js +5 -7
- package/components/map/components/MapContext.d.ts +0 -1
- package/components/map/components/MapElements.js +1 -1
- package/components/map/components/MapPosition.js +3 -5
- package/components/map/components/MapSize.js +3 -3
- package/components/map/components/constants.d.ts +1 -2
- package/components/map/components/features/ContextMenu.d.ts +0 -2
- package/components/map/components/features/ContextMenu.js +3 -4
- package/components/map/components/features/ContextMenuItem.d.ts +0 -1
- package/components/map/components/features/MapSettings.d.ts +0 -1
- package/components/map/components/features/MapSettings.js +6 -7
- package/components/map/components/features/MapZoom.js +6 -9
- package/components/map/components/features/Route.d.ts +1 -1
- package/components/map/components/features/Route.js +23 -4
- package/components/map/components/features/basics/Circle.d.ts +0 -1
- package/components/map/components/features/basics/Circle.js +3 -5
- package/components/map/components/features/basics/InfoBubble.d.ts +0 -1
- package/components/map/components/features/basics/InfoBubble.js +4 -6
- package/components/map/components/features/basics/Marker.d.ts +2 -3
- package/components/map/components/features/basics/Marker.js +2 -4
- package/components/map/components/features/basics/Polygon.d.ts +0 -1
- package/components/map/components/features/basics/Polygon.js +3 -5
- package/components/map/components/features/basics/Polyline.d.ts +0 -1
- package/components/map/components/features/basics/Polyline.js +18 -7
- package/components/map/components/features/basics/TextMarker.js +2 -5
- package/components/map/components/features/layers/MapLayerGroup.js +11 -7
- package/components/map/components/features/layers/MapOverlayLayers.js +0 -1
- package/components/map/components/features/layers/MarkerLayer.js +6 -6
- package/components/map/components/features/layers/clustering/ClusterLayer.d.ts +0 -1
- package/components/map/components/features/layers/clustering/ClusterLayer.js +2 -4
- package/components/map/components/features/layers/clustering/SimpleClusterLayer.js +2 -4
- package/components/map/components/features/layers/overlayLayers/IncidentsLayer.js +13 -16
- package/components/map/components/features/layers/overlayLayers/Layer.d.ts +0 -1
- package/components/map/components/features/layers/overlayLayers/Layer.js +4 -8
- package/components/map/components/features/layers/overlayLayers/RoadRestrictionLayer.js +2 -5
- package/components/map/components/features/layers/overlayLayers/TrafficLayer.js +4 -8
- package/components/map/components/features/settings/MapSettingsItem.js +3 -3
- package/components/map/components/features/settings/MapSettingsPanel.js +2 -4
- package/components/map/components/features/settings/MapSettingsTile.js +9 -10
- package/components/map/components/features/settings/ZoomButtons.js +1 -3
- package/components/map/components/features/settings/builtinSettings/MapAdditionalLayerSettings.js +2 -5
- package/components/map/components/features/settings/builtinSettings/MapClusterSettings.js +2 -5
- package/components/map/components/features/settings/builtinSettings/MapLayerSettings.js +8 -13
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +3 -4
- package/components/map/components/features/settings/buttons/MapBoundingBoxButton.js +2 -5
- package/components/map/components/features/settings/buttons/MapCenterMarkerButton.js +2 -5
- package/components/map/components/features/settings/buttons/MapLockMarkerButton.js +2 -5
- package/components/map/components/features/settings/items/MapCustomerPoiSettingsItem.d.ts +0 -1
- package/components/map/components/features/settings/items/MapCustomerPoiSettingsItem.js +2 -4
- package/components/map/components/features/settings/items/MapLayerIncidentsItem.d.ts +0 -1
- package/components/map/components/features/settings/items/MapLayerIncidentsItem.js +2 -4
- package/components/map/components/features/settings/items/MapLayerRoadRestrictionsItem.d.ts +0 -1
- package/components/map/components/features/settings/items/MapLayerRoadRestrictionsItem.js +2 -4
- package/components/map/components/features/settings/items/MapLayerTrafficItem.d.ts +0 -1
- package/components/map/components/features/settings/items/MapLayerTrafficItem.js +2 -4
- package/components/map/components/features/settings/items/MapSettingsDropdownHeader.js +2 -4
- package/components/map/components/features/settings/items/MapWorkshopPoiSettingsItem.d.ts +0 -1
- package/components/map/components/features/settings/items/MapWorkshopPoiSettingsItem.js +2 -4
- package/components/map/icons/MapIcon.js +35 -35
- package/components/map/utils/clustering.d.ts +0 -1
- package/components/map/utils/eventHandling.d.ts +0 -1
- package/components/map/utils/eventHandling.js +1 -1
- package/components/map/utils/mapTypes.d.ts +0 -2
- package/components/map/utils/mapUi.d.ts +0 -1
- package/components/map/utils/mapUtils.d.ts +0 -1
- package/components/map/utils/mapUtils.js +5 -5
- package/components/map/utils/positions.js +2 -2
- package/components/map/utils/rendering.d.ts +0 -1
- package/components/map/utils/rendering.js +8 -10
- package/components/mapMarker/ClusterMapMarker.js +1 -2
- package/components/mapMarker/SingleMapMarker.js +4 -7
- package/components/menuItems/MenuItem.js +1 -1
- package/components/menuItems/MenuItemList.js +2 -3
- package/components/menuItems/MenuItems.js +1 -5
- package/components/navigation/AppNavigationBar.d.ts +17 -0
- package/components/navigation/AppNavigationBar.js +3 -4
- package/components/noData/NoData.js +3 -6
- package/components/notification/Notification.d.ts +50 -30
- package/components/notification/Notification.js +96 -3
- package/components/notification/NotificationsContainer.d.ts +2 -0
- package/components/notification/NotificationsContainer.js +2 -4
- package/components/numberControl/NumberControl.js +3 -4
- package/components/numberInput/NumberInput.js +4 -5
- package/components/onboarding/OnboardingTip.js +3 -5
- package/components/overlay/OverlayTrigger.js +29 -14
- package/components/page/Page.js +1 -3
- package/components/pager/Pager.js +4 -5
- package/components/popover/Popover.d.ts +5 -5
- package/components/popover/Popover.js +4 -6
- package/components/position/Position.js +1 -2
- package/components/radiobutton/RadioButton.js +3 -4
- package/components/releaseNotes/ReleaseNotes.js +3 -6
- package/components/resizer/Resizer.js +2 -3
- package/components/responsiveColumnStripe/ResponsiveColumnStripe.d.ts +1 -1
- package/components/responsiveColumnStripe/ResponsiveColumnStripe.js +8 -12
- package/components/rules/RuleConnector.js +2 -5
- package/components/rules/RuleContainer.js +4 -6
- package/components/rules/RulesWrapper.js +3 -9
- package/components/saveableInput/SaveableInput.js +4 -6
- package/components/selects/BaseSelectDropdown.js +9 -9
- package/components/selects/ClearButton.js +1 -3
- package/components/selects/DropdownHeader.js +1 -3
- package/components/selects/Multiselect.js +7 -9
- package/components/selects/MultiselectToggleCounter.js +1 -3
- package/components/selects/MultiselectToggleFilter.js +0 -2
- package/components/selects/MultiselectTogglePlaceholder.js +1 -3
- package/components/selects/MultiselectToggleSelection.js +5 -7
- package/components/selects/NoItemMessage.js +1 -3
- package/components/selects/Select.js +5 -7
- package/components/selects/SelectFilter.js +0 -2
- package/components/selects/SelectedOption.js +6 -8
- package/components/selects/WithFeedbackAndAddon.js +1 -3
- package/components/sidebars/Sidebar.js +8 -10
- package/components/sidebars/SidebarBackdrop.js +0 -1
- package/components/sidebars/SidebarCloseButton.js +1 -2
- package/components/sidebars/SidebarFooter.js +1 -3
- package/components/sidebars/SidebarFullscreenToggle.js +2 -3
- package/components/slider/RangeSlider.js +2 -3
- package/components/slider/Slider.js +2 -3
- package/components/smoothScrollbars/SmoothScrollbars.d.ts +1 -1
- package/components/smoothScrollbars/SmoothScrollbars.js +7 -7
- package/components/spinner/Spinner.js +6 -9
- package/components/states/BaseStateProps.js +1 -2
- package/components/states/CustomState.js +12 -15
- package/components/states/EmptyState.js +2 -5
- package/components/states/ErrorState.js +2 -5
- package/components/states/ForbiddenState.js +2 -5
- package/components/states/MaintenanceState.js +2 -5
- package/components/states/NotBookedState.js +4 -7
- package/components/states/NotFoundState.js +2 -5
- package/components/states/StateButton.js +2 -4
- package/components/states/StateIcon.js +0 -1
- package/components/statsWidget/StatsWidget.d.ts +4 -4
- package/components/statsWidget/StatsWidget.js +3 -6
- package/components/statsWidget/StatsWidgetBody.js +2 -5
- package/components/statsWidget/StatsWidgetFooter.js +2 -5
- package/components/statsWidget/StatsWidgetHeader.js +2 -5
- package/components/statsWidget/StatsWidgetNumber.js +2 -5
- package/components/statsWidget/StatsWidgetSpacer.js +2 -4
- package/components/statsWidget/StatsWidgets.js +2 -5
- package/components/statusBar/StatusBar.js +3 -5
- package/components/statusBar/StatusBarIcon.js +2 -5
- package/components/statusBar/StatusBarLabel.js +2 -5
- package/components/statusBar/StatusBarProgressBar.js +2 -3
- package/components/steppedProgressBar/SteppedProgressBar.js +1 -1
- package/components/switch/Switch.d.ts +4 -6
- package/components/switch/Switch.js +2 -3
- package/components/table/SortArrowDown.js +0 -1
- package/components/table/SortArrowUp.js +0 -1
- package/components/table/SortArrows.js +0 -1
- package/components/table/TableCardsSorting.js +1 -1
- package/components/table/TableSearch.js +2 -4
- package/components/table/TableSettingsColumnButtons.js +3 -4
- package/components/table/TableSettingsColumnDetails.js +1 -3
- package/components/table/TableSettingsDialog.js +8 -6
- package/components/table/TableSettingsDialog.types.d.ts +0 -1
- package/components/table/TableSettingsDialogFooter.js +1 -3
- package/components/table/TableSettingsListContainer.js +1 -1
- package/components/table/TableSettingsListItem.js +2 -4
- package/components/table/TableToolbar.js +1 -3
- package/components/table/TableViewToggles.js +4 -5
- package/components/tag/Tag.js +2 -3
- package/components/tag/TagList.js +3 -6
- package/components/tagManager/CustomSuggestionItem.js +1 -3
- package/components/tagManager/TagManager.js +2 -3
- package/components/tagManager/TagManagerItemList.js +3 -4
- package/components/teaser/Teaser.js +11 -15
- package/components/teaser/TeaserContainer.js +3 -3
- package/components/timepicker/TimePicker.js +3 -4
- package/components/tooltip/SimpleTooltip.js +2 -5
- package/components/tooltip/Tooltip.js +2 -3
- package/components/video/ResponsiveVideo.js +1 -2
- package/components/virtualList/VirtualList.d.ts +59 -0
- package/components/virtualList/VirtualList.js +140 -0
- package/components/virtualList/VirtualListItemWrapper.d.ts +10 -0
- package/components/virtualList/VirtualListItemWrapper.js +13 -0
- package/components/virtualList/useVirtualListResizeObserver.d.ts +2 -0
- package/components/virtualList/useVirtualListResizeObserver.js +44 -0
- package/hooks/useClickOutside.d.ts +4 -3
- package/hooks/useClickOutside.js +10 -4
- package/hooks/useClipboard.js +1 -1
- package/hooks/useDebugInfo.js +6 -3
- package/hooks/useFocusTrap.js +7 -7
- package/hooks/useFullscreen.js +8 -9
- package/hooks/useHover.d.ts +2 -2
- package/hooks/useInterval.js +1 -1
- package/hooks/useKey.d.ts +1 -1
- package/hooks/useMutationObserver.js +1 -1
- package/hooks/usePostMessage.d.ts +1 -1
- package/hooks/useResizeObserver.js +3 -4
- package/hooks/useStorage.d.ts +2 -3
- package/hooks/useTimeout.js +2 -2
- package/hooks/useToggle.d.ts +13 -0
- package/hooks/useToggle.js +31 -0
- package/hooks/useUncontrollable.js +7 -4
- package/lib/es/AccentBar.d.ts +2 -0
- package/lib/es/AccentBar.js +7 -0
- package/lib/es/Avatar.d.ts +2 -0
- package/lib/es/Avatar.js +7 -0
- package/lib/es/AvatarGroup.d.ts +2 -0
- package/lib/es/AvatarGroup.js +7 -0
- package/lib/es/Banner.d.ts +2 -0
- package/lib/es/Banner.js +7 -0
- package/lib/es/ButtonToolbar.d.ts +2 -0
- package/lib/es/ButtonToolbar.js +7 -0
- package/lib/es/Card.d.ts +2 -0
- package/lib/es/Card.js +7 -0
- package/lib/es/Colors.js +2 -4
- package/lib/es/DateRangePicker.js +2 -2
- package/lib/es/FormLabel.d.ts +2 -0
- package/lib/es/FormLabel.js +7 -0
- package/lib/es/LabeledElement.d.ts +2 -0
- package/lib/es/LabeledElement.js +7 -0
- package/lib/es/StatsWidgets.js +2 -4
- package/lib/es/StepButton.d.ts +2 -0
- package/lib/es/{Onboarding.js → StepButton.js} +3 -3
- package/lib/es/TagList.js +2 -4
- package/lib/es/VirtualList.d.ts +2 -0
- package/lib/es/VirtualList.js +7 -0
- package/lib/es/components/accentBar/AccentBar.d.ts +21 -0
- package/lib/es/components/accentBar/AccentBar.js +15 -0
- package/lib/es/components/actionBarItem/ActionBarItem.d.ts +2 -6
- package/lib/es/components/actionBarItem/ActionBarItem.js +6 -6
- package/lib/es/components/actionBarItem/ActionBarItemIcon.d.ts +2 -2
- package/lib/es/components/actionBarItem/ActionBarItemIcon.js +2 -2
- package/lib/es/components/actionBarItem/ActionBarItemList.js +2 -5
- package/lib/es/components/actionBarItem/ActionBarItemListItem.js +2 -4
- package/lib/es/components/actionBarItem/ActionBarItemListSeparator.js +2 -5
- package/lib/es/components/actionBarItem/ActionBarItemPopoverContent.js +2 -5
- package/lib/es/components/actionBarItem/ActionBarOverlay.d.ts +1 -1
- package/lib/es/components/actionBarItem/ActionBarOverlay.js +3 -3
- package/lib/es/components/activity/Activity.js +2 -2
- package/lib/es/components/animatedNumber/AnimatedNumber.d.ts +6 -6
- package/lib/es/components/animatedNumber/AnimatedNumber.js +2 -2
- package/lib/es/components/applicationHeader/AppMenu.js +3 -5
- package/lib/es/components/applicationHeader/AppMenuContent.js +2 -4
- package/lib/es/components/applicationHeader/AppMenuDropdown.js +4 -4
- package/lib/es/components/applicationHeader/ApplicationActionBar.js +4 -7
- package/lib/es/components/applicationHeader/ApplicationHeader.js +4 -4
- package/lib/es/components/applicationHeader/CollapsedNavItem.js +3 -3
- package/lib/es/components/applicationHeader/MobileAppMenu.js +2 -2
- package/lib/es/components/applicationHeader/MobileHeaderModal.js +2 -2
- package/lib/es/components/applicationHeader/MobileSubmoduleNavigation.js +3 -3
- package/lib/es/components/applicationHeader/NavItems.js +2 -2
- package/lib/es/components/applicationLayout/ApplicationLayout.js +2 -3
- package/lib/es/components/applicationLayout/ApplicationLayoutBody.d.ts +1 -1
- package/lib/es/components/applicationLayout/ApplicationLayoutBody.js +9 -8
- package/lib/es/components/applicationLayout/ApplicationLayoutBodyBanner.d.ts +1 -1
- package/lib/es/components/applicationLayout/ApplicationLayoutBodyBanner.js +2 -2
- package/lib/es/components/applicationLayout/ApplicationLayoutBodyBottomBar.js +2 -2
- package/lib/es/components/applicationLayout/ApplicationLayoutBodyNavigation.d.ts +1 -1
- package/lib/es/components/applicationLayout/ApplicationLayoutBodyNavigation.js +2 -2
- package/lib/es/components/applicationLayout/ApplicationLayoutHeader.d.ts +1 -1
- package/lib/es/components/applicationLayout/ApplicationLayoutHeader.js +2 -2
- package/lib/es/components/applicationLayout/ApplicationLayoutSidebar.d.ts +1 -1
- package/lib/es/components/applicationLayout/ApplicationLayoutSidebar.js +2 -2
- package/lib/es/components/applicationLayout/SubNavigation.js +2 -2
- package/lib/es/components/aspectRatioPlaceholder/AspectRatioPlaceholder.js +1 -3
- package/lib/es/components/assetTree/AssetTree.d.ts +1 -1
- package/lib/es/components/assetTree/AssetTree.js +4 -4
- package/lib/es/components/assetTree/Tree.d.ts +2 -2
- package/lib/es/components/assetTree/Tree.js +9 -11
- package/lib/es/components/assetTree/TreeLeaf.js +1 -1
- package/lib/es/components/assetTree/TreeLeafList.js +0 -2
- package/lib/es/components/assetTree/TreeNode.js +1 -1
- package/lib/es/components/assetTree/TreeNodeContainer.js +1 -3
- package/lib/es/components/assetTree/TreeNothingFound.js +2 -2
- package/lib/es/components/assetTree/TreeOption.js +2 -4
- package/lib/es/components/assetTree/TreeOptions.js +3 -5
- package/lib/es/components/assetTree/TreeRoot.js +1 -3
- package/lib/es/components/assetTree/TreeSearch.js +1 -1
- package/lib/es/components/assetTree/TreeSelectAll.js +1 -3
- package/lib/es/components/assetTree/TreeSidebar.js +2 -2
- package/lib/es/components/assetTree/TreeSidebarCategories.js +2 -4
- package/lib/es/components/assetTree/TreeSummary.js +1 -1
- package/lib/es/components/assetTree/TreeSummaryRow.js +1 -3
- package/lib/es/components/assetTree/TypeCounter.js +2 -2
- package/lib/es/components/assetTree/treeReducer.js +8 -8
- package/lib/es/components/assetTree/treeUtils.d.ts +0 -2
- package/lib/es/components/assetTree/treeUtils.js +14 -11
- package/lib/es/components/autosuggest/AutoSuggest.js +12 -15
- package/lib/es/components/autosuggest/AutoSuggestAddons.js +1 -3
- package/lib/es/components/autosuggest/DropdownSpinner.js +1 -2
- package/lib/es/components/autosuggest/NoItemMessage.js +1 -3
- package/lib/es/components/avatar/Avatar.d.ts +54 -0
- package/lib/es/components/avatar/Avatar.js +30 -0
- package/lib/es/components/avatar/AvatarContent.d.ts +10 -0
- package/lib/es/components/avatar/AvatarContent.js +22 -0
- package/lib/es/components/avatar/AvatarGroup.d.ts +15 -0
- package/lib/es/components/avatar/AvatarGroup.js +26 -0
- package/lib/es/components/banner/Banner.d.ts +66 -0
- package/lib/es/components/banner/Banner.js +52 -0
- package/lib/es/components/banner/BannerActions.d.ts +9 -0
- package/lib/es/components/banner/BannerActions.js +7 -0
- package/lib/es/components/banner/BannerContent.d.ts +25 -0
- package/lib/es/components/banner/BannerContent.js +19 -0
- package/lib/es/components/banner/BannerIcon.d.ts +9 -0
- package/lib/es/components/banner/BannerIcon.js +7 -0
- package/lib/es/components/banner/BannerPage.d.ts +9 -0
- package/lib/es/components/banner/BannerPage.js +7 -0
- package/lib/es/components/bottomSheet/BottomSheet.d.ts +2 -2
- package/lib/es/components/bottomSheet/BottomSheet.js +5 -5
- package/lib/es/components/bottomSheet/TimedBottomSheet.js +3 -3
- package/lib/es/components/button/Button.d.ts +2 -0
- package/lib/es/components/button/Button.js +4 -4
- package/lib/es/components/button/ButtonToolbar.d.ts +13 -0
- package/lib/es/components/button/ButtonToolbar.js +11 -0
- package/lib/es/components/button/StepButton.d.ts +12 -0
- package/lib/es/components/button/StepButton.js +11 -0
- package/lib/es/components/button/ToggleButton.js +1 -3
- package/lib/es/components/calendarStripe/CalendarStripe.js +1 -1
- package/lib/es/components/card/Card.d.ts +21 -0
- package/lib/es/components/card/Card.js +11 -0
- package/lib/es/components/carousel/Carousel.d.ts +4 -6
- package/lib/es/components/charts/AreaChart.js +6 -8
- package/lib/es/components/charts/AreaGradient.js +1 -2
- package/lib/es/components/charts/BarChart.js +13 -11
- package/lib/es/components/charts/ChartGrid.js +0 -1
- package/lib/es/components/charts/ChartLabel.d.ts +0 -1
- package/lib/es/components/charts/ChartNeedle.js +13 -4
- package/lib/es/components/charts/ComposedChart.js +13 -15
- package/lib/es/components/charts/Legend.js +0 -2
- package/lib/es/components/charts/LineChart.js +7 -9
- package/lib/es/components/charts/PieChart.js +6 -8
- package/lib/es/components/charts/RadialBarChart.js +5 -7
- package/lib/es/components/charts/ReferenceLine.js +3 -6
- package/lib/es/components/charts/ResponsiveContainer.js +0 -1
- package/lib/es/components/charts/XAxis.js +2 -2
- package/lib/es/components/charts/YAxis.d.ts +0 -1
- package/lib/es/components/charts/chartHelper.d.ts +2 -2
- package/lib/es/components/charts/chartHelper.js +1 -1
- package/lib/es/components/checkbox/Checkbox.js +4 -6
- package/lib/es/components/checkbox/CheckboxIcon.js +1 -1
- package/lib/es/components/clearableInput/ClearableInput.js +18 -6
- package/lib/es/components/collapse/Collapse.d.ts +1 -1
- package/lib/es/components/collapse/Collapse.js +1 -3
- package/lib/es/components/contentLoader/ContentLoader.js +2 -4
- package/lib/es/components/dataTabs/DataTab.js +3 -6
- package/lib/es/components/dataTabs/DataTabHeader.js +1 -1
- package/lib/es/components/dataTabs/DataTabs.js +7 -8
- package/lib/es/components/datepicker/DatePicker.d.ts +16 -16
- package/lib/es/components/datepicker/DatePicker.js +3 -3
- package/lib/es/components/datepicker/DateRangePicker.d.ts +55 -55
- package/lib/es/components/datepicker/DateRangePicker.js +28 -14
- package/lib/es/components/dialog/ConfirmationDialog.js +3 -5
- package/lib/es/components/dialog/Dialog.d.ts +2 -2
- package/lib/es/components/dialog/Dialog.js +12 -11
- package/lib/es/components/dialog/DialogBody.js +2 -5
- package/lib/es/components/dialog/DialogFooter.js +2 -4
- package/lib/es/components/dialog/DialogHeader.js +2 -2
- package/lib/es/components/dialog/FrameDialog.js +2 -2
- package/lib/es/components/dialog/InfoDialog.js +2 -4
- package/lib/es/components/dialog/MediaDialog.js +6 -7
- package/lib/es/components/dialog/OnboardingDialog.js +2 -4
- package/lib/es/components/dialog/ReleaseNotesDialog.js +1 -3
- package/lib/es/components/dialog/SaveDialog.js +3 -5
- package/lib/es/components/dialog/SimpleDialog.js +2 -4
- package/lib/es/components/dialog/SplitDialog.js +3 -5
- package/lib/es/components/divider/Divider.js +3 -5
- package/lib/es/components/dropdown/ButtonDropdown.d.ts +1 -1
- package/lib/es/components/dropdown/ButtonDropdown.js +11 -10
- package/lib/es/components/dropdown/Caret.js +0 -2
- package/lib/es/components/dropdown/DropdownSubmenu.js +2 -2
- package/lib/es/components/dropdown/DropdownToggleButton.js +2 -2
- package/lib/es/components/dropdown/SimpleButtonDropdown.js +1 -3
- package/lib/es/components/dropdown/SingleButtonDropdown.js +1 -3
- package/lib/es/components/dropdown/SplitButtonDropdown.js +1 -3
- package/lib/es/components/dropdown/SplitCaretButton.js +2 -2
- package/lib/es/components/editableContent/EditableContent.js +6 -8
- package/lib/es/components/expander/ExpanderList.js +5 -5
- package/lib/es/components/expander/ExpanderPanel.js +2 -2
- package/lib/es/components/fade/Fade.js +2 -2
- package/lib/es/components/fade/FadeExpander.js +2 -2
- package/lib/es/components/fade/FadeUp.js +2 -2
- package/lib/es/components/feedback/FeedbackInlineButtons.js +2 -5
- package/lib/es/components/feedback/FeedbackRating.js +4 -5
- package/lib/es/components/feedback/FeedbackReactions.js +4 -4
- package/lib/es/components/filepicker/FilePicker.js +5 -5
- package/lib/es/components/formLabel/FormLabel.d.ts +13 -0
- package/lib/es/components/formLabel/FormLabel.js +20 -0
- package/lib/es/components/formLabel/LabeledElement.d.ts +28 -0
- package/lib/es/components/formLabel/LabeledElement.js +14 -0
- package/lib/es/components/groupedItemList/GroupedItemList.js +2 -5
- package/lib/es/components/licensePlate/LicensePlate.js +4 -6
- package/lib/es/components/listMenu/ListMenu.d.ts +1 -0
- package/lib/es/components/listMenu/ListMenu.js +11 -10
- package/lib/es/components/listMenu/ListMenuGroup.d.ts +17 -0
- package/lib/es/components/listMenu/ListMenuGroup.js +1 -3
- package/lib/es/components/listMenu/ListMenuHeader.d.ts +3 -1
- package/lib/es/components/listMenu/ListMenuHeader.js +2 -4
- package/lib/es/components/loadMore/LoadMoreButton.js +2 -4
- package/lib/es/components/loadMore/LoadMoreProgress.js +1 -1
- package/lib/es/components/map/components/Map.js +5 -7
- package/lib/es/components/map/components/MapContext.d.ts +0 -1
- package/lib/es/components/map/components/MapElements.js +1 -1
- package/lib/es/components/map/components/MapPosition.js +3 -5
- package/lib/es/components/map/components/MapSize.js +3 -3
- package/lib/es/components/map/components/constants.d.ts +1 -2
- package/lib/es/components/map/components/features/ContextMenu.d.ts +0 -2
- package/lib/es/components/map/components/features/ContextMenu.js +3 -4
- package/lib/es/components/map/components/features/ContextMenuItem.d.ts +0 -1
- package/lib/es/components/map/components/features/MapSettings.d.ts +0 -1
- package/lib/es/components/map/components/features/MapSettings.js +6 -7
- package/lib/es/components/map/components/features/MapZoom.js +6 -9
- package/lib/es/components/map/components/features/Route.d.ts +1 -1
- package/lib/es/components/map/components/features/Route.js +24 -5
- package/lib/es/components/map/components/features/basics/Circle.d.ts +0 -1
- package/lib/es/components/map/components/features/basics/Circle.js +3 -5
- package/lib/es/components/map/components/features/basics/InfoBubble.d.ts +0 -1
- package/lib/es/components/map/components/features/basics/InfoBubble.js +4 -6
- package/lib/es/components/map/components/features/basics/Marker.d.ts +2 -3
- package/lib/es/components/map/components/features/basics/Marker.js +2 -4
- package/lib/es/components/map/components/features/basics/Polygon.d.ts +0 -1
- package/lib/es/components/map/components/features/basics/Polygon.js +3 -5
- package/lib/es/components/map/components/features/basics/Polyline.d.ts +0 -1
- package/lib/es/components/map/components/features/basics/Polyline.js +18 -7
- package/lib/es/components/map/components/features/basics/TextMarker.js +2 -4
- package/lib/es/components/map/components/features/layers/MapLayerGroup.js +11 -7
- package/lib/es/components/map/components/features/layers/MapOverlayLayers.js +0 -1
- package/lib/es/components/map/components/features/layers/MarkerLayer.js +6 -5
- package/lib/es/components/map/components/features/layers/clustering/ClusterLayer.d.ts +0 -1
- package/lib/es/components/map/components/features/layers/clustering/ClusterLayer.js +2 -4
- package/lib/es/components/map/components/features/layers/clustering/SimpleClusterLayer.js +2 -3
- package/lib/es/components/map/components/features/layers/overlayLayers/IncidentsLayer.js +13 -16
- package/lib/es/components/map/components/features/layers/overlayLayers/Layer.d.ts +0 -1
- package/lib/es/components/map/components/features/layers/overlayLayers/Layer.js +4 -8
- package/lib/es/components/map/components/features/layers/overlayLayers/RoadRestrictionLayer.js +2 -5
- package/lib/es/components/map/components/features/layers/overlayLayers/TrafficLayer.js +4 -8
- package/lib/es/components/map/components/features/settings/MapSettingsItem.js +3 -3
- package/lib/es/components/map/components/features/settings/MapSettingsPanel.js +2 -4
- package/lib/es/components/map/components/features/settings/MapSettingsTile.js +9 -9
- package/lib/es/components/map/components/features/settings/ZoomButtons.js +1 -3
- package/lib/es/components/map/components/features/settings/builtinSettings/MapAdditionalLayerSettings.js +2 -4
- package/lib/es/components/map/components/features/settings/builtinSettings/MapClusterSettings.js +2 -4
- package/lib/es/components/map/components/features/settings/builtinSettings/MapLayerSettings.js +8 -12
- package/lib/es/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +3 -3
- package/lib/es/components/map/components/features/settings/buttons/MapBoundingBoxButton.js +2 -4
- package/lib/es/components/map/components/features/settings/buttons/MapCenterMarkerButton.js +2 -4
- package/lib/es/components/map/components/features/settings/buttons/MapLockMarkerButton.js +2 -4
- package/lib/es/components/map/components/features/settings/items/MapCustomerPoiSettingsItem.d.ts +0 -1
- package/lib/es/components/map/components/features/settings/items/MapCustomerPoiSettingsItem.js +2 -3
- package/lib/es/components/map/components/features/settings/items/MapLayerIncidentsItem.d.ts +0 -1
- package/lib/es/components/map/components/features/settings/items/MapLayerIncidentsItem.js +2 -3
- package/lib/es/components/map/components/features/settings/items/MapLayerRoadRestrictionsItem.d.ts +0 -1
- package/lib/es/components/map/components/features/settings/items/MapLayerRoadRestrictionsItem.js +2 -3
- package/lib/es/components/map/components/features/settings/items/MapLayerTrafficItem.d.ts +0 -1
- package/lib/es/components/map/components/features/settings/items/MapLayerTrafficItem.js +2 -3
- package/lib/es/components/map/components/features/settings/items/MapSettingsDropdownHeader.js +2 -3
- package/lib/es/components/map/components/features/settings/items/MapWorkshopPoiSettingsItem.d.ts +0 -1
- package/lib/es/components/map/components/features/settings/items/MapWorkshopPoiSettingsItem.js +2 -3
- package/lib/es/components/map/icons/MapIcon.js +35 -35
- package/lib/es/components/map/utils/clustering.d.ts +0 -1
- package/lib/es/components/map/utils/eventHandling.d.ts +0 -1
- package/lib/es/components/map/utils/eventHandling.js +1 -1
- package/lib/es/components/map/utils/mapTypes.d.ts +0 -2
- package/lib/es/components/map/utils/mapUi.d.ts +0 -1
- package/lib/es/components/map/utils/mapUtils.d.ts +0 -1
- package/lib/es/components/map/utils/mapUtils.js +5 -5
- package/lib/es/components/map/utils/positions.js +2 -2
- package/lib/es/components/map/utils/rendering.d.ts +0 -1
- package/lib/es/components/map/utils/rendering.js +8 -10
- package/lib/es/components/mapMarker/ClusterMapMarker.js +1 -2
- package/lib/es/components/mapMarker/SingleMapMarker.js +4 -7
- package/lib/es/components/menuItems/MenuItem.js +1 -1
- package/lib/es/components/menuItems/MenuItemList.js +2 -2
- package/lib/es/components/menuItems/MenuItems.js +1 -5
- package/lib/es/components/navigation/AppNavigationBar.d.ts +17 -0
- package/lib/es/components/navigation/AppNavigationBar.js +3 -3
- package/lib/es/components/noData/NoData.js +3 -5
- package/lib/es/components/notification/Notification.d.ts +50 -30
- package/lib/es/components/notification/Notification.js +99 -4
- package/lib/es/components/notification/NotificationsContainer.d.ts +2 -0
- package/lib/es/components/notification/NotificationsContainer.js +2 -4
- package/lib/es/components/numberControl/NumberControl.js +3 -3
- package/lib/es/components/numberInput/NumberInput.js +4 -4
- package/lib/es/components/onboarding/OnboardingTip.js +3 -5
- package/lib/es/components/overlay/OverlayTrigger.js +29 -14
- package/lib/es/components/page/Page.js +1 -3
- package/lib/es/components/pager/Pager.js +4 -4
- package/lib/es/components/popover/Popover.d.ts +5 -5
- package/lib/es/components/popover/Popover.js +4 -5
- package/lib/es/components/position/Position.js +1 -2
- package/lib/es/components/radiobutton/RadioButton.js +3 -3
- package/lib/es/components/releaseNotes/ReleaseNotes.js +3 -5
- package/lib/es/components/resizer/Resizer.js +2 -2
- package/lib/es/components/responsiveColumnStripe/ResponsiveColumnStripe.d.ts +1 -1
- package/lib/es/components/responsiveColumnStripe/ResponsiveColumnStripe.js +8 -11
- package/lib/es/components/rules/RuleConnector.js +2 -4
- package/lib/es/components/rules/RuleContainer.js +4 -5
- package/lib/es/components/rules/RulesWrapper.js +3 -9
- package/lib/es/components/saveableInput/SaveableInput.js +4 -5
- package/lib/es/components/selects/BaseSelectDropdown.js +8 -8
- package/lib/es/components/selects/ClearButton.js +1 -3
- package/lib/es/components/selects/DropdownHeader.js +1 -3
- package/lib/es/components/selects/Multiselect.js +7 -8
- package/lib/es/components/selects/MultiselectToggleCounter.js +1 -3
- package/lib/es/components/selects/MultiselectToggleFilter.js +0 -2
- package/lib/es/components/selects/MultiselectTogglePlaceholder.js +1 -3
- package/lib/es/components/selects/MultiselectToggleSelection.js +5 -7
- package/lib/es/components/selects/NoItemMessage.js +1 -3
- package/lib/es/components/selects/Select.js +5 -6
- package/lib/es/components/selects/SelectFilter.js +0 -2
- package/lib/es/components/selects/SelectedOption.js +5 -7
- package/lib/es/components/selects/WithFeedbackAndAddon.js +1 -3
- package/lib/es/components/sidebars/Sidebar.js +8 -9
- package/lib/es/components/sidebars/SidebarBackdrop.js +0 -1
- package/lib/es/components/sidebars/SidebarCloseButton.js +1 -2
- package/lib/es/components/sidebars/SidebarFooter.js +1 -3
- package/lib/es/components/sidebars/SidebarFullscreenToggle.js +2 -3
- package/lib/es/components/slider/RangeSlider.js +2 -2
- package/lib/es/components/slider/Slider.js +2 -2
- package/lib/es/components/smoothScrollbars/SmoothScrollbars.d.ts +1 -1
- package/lib/es/components/smoothScrollbars/SmoothScrollbars.js +7 -7
- package/lib/es/components/spinner/Spinner.js +6 -8
- package/lib/es/components/states/BaseStateProps.js +0 -2
- package/lib/es/components/states/CustomState.js +12 -14
- package/lib/es/components/states/EmptyState.js +2 -4
- package/lib/es/components/states/ErrorState.js +2 -4
- package/lib/es/components/states/ForbiddenState.js +2 -4
- package/lib/es/components/states/MaintenanceState.js +2 -4
- package/lib/es/components/states/NotBookedState.js +3 -5
- package/lib/es/components/states/NotFoundState.js +2 -4
- package/lib/es/components/states/StateButton.js +2 -4
- package/lib/es/components/states/StateIcon.js +0 -1
- package/lib/es/components/statsWidget/StatsWidget.d.ts +4 -4
- package/lib/es/components/statsWidget/StatsWidget.js +3 -5
- package/lib/es/components/statsWidget/StatsWidgetBody.js +2 -4
- package/lib/es/components/statsWidget/StatsWidgetFooter.js +2 -4
- package/lib/es/components/statsWidget/StatsWidgetHeader.js +2 -4
- package/lib/es/components/statsWidget/StatsWidgetNumber.js +2 -4
- package/lib/es/components/statsWidget/StatsWidgetSpacer.js +2 -3
- package/lib/es/components/statsWidget/StatsWidgets.js +2 -4
- package/lib/es/components/statusBar/StatusBar.js +3 -5
- package/lib/es/components/statusBar/StatusBarIcon.js +2 -5
- package/lib/es/components/statusBar/StatusBarLabel.js +2 -5
- package/lib/es/components/statusBar/StatusBarProgressBar.js +2 -3
- package/lib/es/components/steppedProgressBar/SteppedProgressBar.js +1 -1
- package/lib/es/components/switch/Switch.d.ts +4 -6
- package/lib/es/components/switch/Switch.js +2 -2
- package/lib/es/components/table/SortArrowDown.js +0 -1
- package/lib/es/components/table/SortArrowUp.js +0 -1
- package/lib/es/components/table/SortArrows.js +0 -1
- package/lib/es/components/table/TableCardsSorting.js +1 -1
- package/lib/es/components/table/TableSearch.js +2 -3
- package/lib/es/components/table/TableSettingsColumnButtons.js +3 -4
- package/lib/es/components/table/TableSettingsColumnDetails.js +1 -3
- package/lib/es/components/table/TableSettingsDialog.js +8 -6
- package/lib/es/components/table/TableSettingsDialog.types.d.ts +0 -1
- package/lib/es/components/table/TableSettingsDialogFooter.js +1 -3
- package/lib/es/components/table/TableSettingsListContainer.js +1 -1
- package/lib/es/components/table/TableSettingsListItem.js +2 -4
- package/lib/es/components/table/TableToolbar.js +1 -3
- package/lib/es/components/table/TableViewToggles.js +4 -4
- package/lib/es/components/tag/Tag.js +2 -2
- package/lib/es/components/tag/TagList.js +3 -5
- package/lib/es/components/tagManager/CustomSuggestionItem.js +1 -3
- package/lib/es/components/tagManager/TagManager.js +2 -2
- package/lib/es/components/tagManager/TagManagerItemList.js +3 -4
- package/lib/es/components/teaser/Teaser.js +11 -15
- package/lib/es/components/teaser/TeaserContainer.js +3 -3
- package/lib/es/components/timepicker/TimePicker.js +3 -3
- package/lib/es/components/tooltip/SimpleTooltip.js +2 -4
- package/lib/es/components/tooltip/Tooltip.js +2 -2
- package/lib/es/components/video/ResponsiveVideo.js +1 -2
- package/lib/es/components/virtualList/VirtualList.d.ts +59 -0
- package/lib/es/components/virtualList/VirtualList.js +145 -0
- package/lib/es/components/virtualList/VirtualListItemWrapper.d.ts +10 -0
- package/lib/es/components/virtualList/VirtualListItemWrapper.js +16 -0
- package/lib/es/components/virtualList/useVirtualListResizeObserver.d.ts +2 -0
- package/lib/es/components/virtualList/useVirtualListResizeObserver.js +46 -0
- package/lib/es/hooks/useClickOutside.d.ts +4 -3
- package/lib/es/hooks/useClickOutside.js +11 -5
- package/lib/es/hooks/useClipboard.js +1 -1
- package/lib/es/hooks/useDebugInfo.js +6 -3
- package/lib/es/hooks/useFocusTrap.js +7 -7
- package/lib/es/hooks/useFullscreen.js +8 -8
- package/lib/es/hooks/useHover.d.ts +2 -2
- package/lib/es/hooks/useInterval.js +1 -1
- package/lib/es/hooks/useKey.d.ts +1 -1
- package/lib/es/hooks/useMutationObserver.js +1 -1
- package/lib/es/hooks/usePostMessage.d.ts +1 -1
- package/lib/es/hooks/useResizeObserver.js +3 -4
- package/lib/es/hooks/useStorage.d.ts +2 -3
- package/lib/es/hooks/useTimeout.js +2 -2
- package/lib/es/hooks/useToggle.d.ts +13 -0
- package/lib/es/hooks/useToggle.js +33 -0
- package/lib/es/hooks/useUncontrollable.js +10 -8
- package/lib/es/styles/variables/colors/colors.json +7 -1
- package/lib/es/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.d.ts +7 -7
- package/lib/es/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js +2 -2
- package/lib/es/useAfterMount.js +2 -4
- package/lib/es/useClipboard.js +2 -4
- package/lib/es/useDarkMode.js +2 -4
- package/lib/es/useDebugInfo.js +2 -4
- package/lib/es/useEffectOnce.js +2 -4
- package/lib/es/useElementSize.js +2 -4
- package/lib/es/useEsc.js +2 -4
- package/lib/es/useEvent.js +2 -4
- package/lib/es/useFocusTrap.js +2 -4
- package/lib/es/useFullscreen.js +2 -4
- package/lib/es/useHover.js +2 -4
- package/lib/es/useInterval.js +2 -4
- package/lib/es/useKey.js +2 -4
- package/lib/es/useToggle.d.ts +2 -0
- package/lib/es/useToggle.js +7 -0
- package/lib/es/utils/colorScheme.js +2 -3
- package/lib/es/utils/darkModeCDN.js +1 -1
- package/lib/es/utils/deviceUtils.js +5 -6
- package/lib/es/utils/init/checkForReleaseVersion.d.ts +1 -0
- package/lib/es/utils/init/checkForReleaseVersion.js +21 -0
- package/lib/es/utils/init/doNotUseTailwind.d.ts +1 -0
- package/lib/es/utils/init/doNotUseTailwind.js +57 -0
- package/lib/es/utils/init/initCSS.js +1 -2
- package/lib/es/utils/init/initDocumentBootstrapping.js +23 -27
- package/lib/es/utils/init/styledLogs.d.ts +3 -0
- package/lib/es/utils/init/styledLogs.js +7 -0
- package/lib/es/utils/init/usedUikitVersion.d.ts +1 -0
- package/lib/es/utils/init/usedUikitVersion.js +11 -0
- package/lib/es/utils/init/weAreHiring.d.ts +1 -0
- package/lib/es/utils/init/weAreHiring.js +10 -0
- package/lib/es/utils/mergeRefs.d.ts +2 -2
- package/lib/es/utils/mergeRefs.js +0 -2
- package/lib/es/utils/routeUtils.d.ts +1 -1
- package/lib/es/utils/routeUtils.js +3 -3
- package/lib/es/utils/urlFeatureToggles.d.ts +0 -1
- package/lib/es/utils/urlFeatureToggles.js +1 -2
- package/lib/es/version.json +1 -1
- package/package.json +39 -39
- package/styles/variables/colors/colors.json +7 -1
- package/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.d.ts +7 -7
- package/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js +2 -3
- package/useToggle.d.ts +2 -0
- package/useToggle.js +2 -0
- package/utils/colorScheme.js +2 -3
- package/utils/darkModeCDN.js +1 -1
- package/utils/deviceUtils.js +5 -6
- package/utils/init/checkForReleaseVersion.d.ts +1 -0
- package/utils/init/checkForReleaseVersion.js +17 -0
- package/utils/init/doNotUseTailwind.d.ts +1 -0
- package/utils/init/doNotUseTailwind.js +53 -0
- package/utils/init/initCSS.js +1 -2
- package/utils/init/initDocumentBootstrapping.js +24 -28
- package/utils/init/styledLogs.d.ts +3 -0
- package/utils/init/styledLogs.js +3 -0
- package/utils/init/usedUikitVersion.d.ts +1 -0
- package/utils/init/usedUikitVersion.js +7 -0
- package/utils/init/weAreHiring.d.ts +1 -0
- package/utils/init/weAreHiring.js +6 -0
- package/utils/mergeRefs.d.ts +2 -2
- package/utils/mergeRefs.js +0 -2
- package/utils/routeUtils.d.ts +1 -1
- package/utils/routeUtils.js +3 -3
- package/utils/urlFeatureToggles.d.ts +0 -1
- package/utils/urlFeatureToggles.js +1 -2
- package/version.json +1 -1
- package/lib/es/Onboarding.d.ts +0 -2
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
// @ts-ignore-next-line importsNotUsedAsValues
|
|
3
|
-
import 'react';
|
|
4
2
|
import classNames from 'classnames';
|
|
5
|
-
const TableToolbar = ({ className, children }) => (_jsx("div",
|
|
3
|
+
const TableToolbar = ({ className, children }) => (_jsx("div", { className: classNames('table-toolbar', className), children: children }));
|
|
6
4
|
export default TableToolbar;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __rest } from "tslib";
|
|
2
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
2
|
import { useEffect, useState } from 'react';
|
|
4
3
|
import classNames from 'classnames';
|
|
@@ -6,7 +5,7 @@ import noop from 'lodash/noop';
|
|
|
6
5
|
import OverlayTrigger from '../overlay/OverlayTrigger';
|
|
7
6
|
import Tooltip from '../tooltip/Tooltip';
|
|
8
7
|
// TODO: add responsive behaviour and trigger a change from table to list for small screen -> see DriverAdministration
|
|
9
|
-
const wrapWithTooltip = (tooltipContent, element) => (_jsx(OverlayTrigger,
|
|
8
|
+
const wrapWithTooltip = (tooltipContent, element) => (_jsx(OverlayTrigger, { placement: 'bottom', overlay: _jsx(Tooltip, { id: 'tooltip', allowOnTouch: true, children: tooltipContent }), children: element }));
|
|
10
9
|
const typeIcons = {
|
|
11
10
|
TABLE: 'rioglyph-table-view',
|
|
12
11
|
SINGLE_CARD: 'rioglyph-th-list',
|
|
@@ -18,11 +17,11 @@ const TypeButton = (props) => {
|
|
|
18
17
|
return null;
|
|
19
18
|
}
|
|
20
19
|
const classes = classNames('btn btn-default btn-icon-only', disabled && 'disabled pointer-events-none', viewType === currentViewType && 'active');
|
|
21
|
-
const button = (_jsx("button",
|
|
20
|
+
const button = (_jsx("button", { className: classes, type: 'button', onClick: () => onClick(viewType), children: _jsx("span", { className: `rioglyph ${typeIcons[viewType]}` }) }));
|
|
22
21
|
return tooltipContent ? wrapWithTooltip(tooltipContent, button) : button;
|
|
23
22
|
};
|
|
24
23
|
const TableViewToggles = (props) => {
|
|
25
|
-
const { viewType, initialViewType = 'TABLE', disabledViewTypes = [], onViewTypeChange = noop, tableViewTooltipContent, singleCardViewTooltipContent, multiCardsViewTooltipContent, disabled = false, className
|
|
24
|
+
const { viewType, initialViewType = 'TABLE', disabledViewTypes = [], onViewTypeChange = noop, tableViewTooltipContent, singleCardViewTooltipContent, multiCardsViewTooltipContent, disabled = false, className, ...remainingProps } = props;
|
|
26
25
|
const [internalViewType, setInternalViewType] = useState(initialViewType);
|
|
27
26
|
// update internal state when external state changes - controlled component case
|
|
28
27
|
useEffect(() => {
|
|
@@ -35,7 +34,7 @@ const TableViewToggles = (props) => {
|
|
|
35
34
|
onViewTypeChange(vt);
|
|
36
35
|
};
|
|
37
36
|
const wrapperClassNames = classNames('TableViewToggles', 'btn-group', 'display-flex', 'flex-row', className && className);
|
|
38
|
-
return (_jsxs("div",
|
|
37
|
+
return (_jsxs("div", { ...remainingProps, className: wrapperClassNames, children: [_jsx(TypeButton, { viewType: 'TABLE', currentViewType: internalViewType, disabledViewTypes: disabledViewTypes, tooltipContent: tableViewTooltipContent, onClick: setViewType, disabled: disabled }), _jsx(TypeButton, { viewType: 'SINGLE_CARD', currentViewType: internalViewType, disabledViewTypes: disabledViewTypes, tooltipContent: singleCardViewTooltipContent, onClick: setViewType, disabled: disabled }), _jsx(TypeButton, { viewType: 'MULTI_CARDS', currentViewType: internalViewType, disabledViewTypes: disabledViewTypes, tooltipContent: multiCardsViewTooltipContent, onClick: setViewType, disabled: disabled })] }));
|
|
39
38
|
};
|
|
40
39
|
// Don't export values as string but as a distinct union type
|
|
41
40
|
TableViewToggles.VIEW_TYPE_TABLE = 'TABLE';
|
package/components/tag/Tag.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { __rest } from "tslib";
|
|
2
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
2
|
// @ts-ignore-next-line importsNotUsedAsValues
|
|
4
3
|
import { forwardRef } from 'react';
|
|
5
4
|
import classNames from 'classnames';
|
|
6
5
|
const Tag = forwardRef((props, ref) => {
|
|
7
|
-
const { children, icon, active = false, disabled = false, clickable = false, selectable = false, deletable = false, revertable = false, multiline = false, muted = false, round = true, size, className
|
|
6
|
+
const { children, icon, active = false, disabled = false, clickable = false, selectable = false, deletable = false, revertable = false, multiline = false, muted = false, round = true, size, className, ...remainingProps } = props;
|
|
8
7
|
const tagClasses = classNames('tag', size === 'small' && 'tag-small', icon && `rioglyph ${icon}`, active && 'active clickable rioglyph rioglyph-ok', disabled && 'disabled', clickable && 'clickable', selectable && 'selectable clickable rioglyph rioglyph-checkbox', deletable && 'deletable clickable rioglyph rioglyph-remove', revertable && 'revertable clickable rioglyph rioglyph-revert', multiline && 'multiline', muted && 'tag-muted', !round && 'rounded', className);
|
|
9
|
-
return (_jsx("div",
|
|
8
|
+
return (_jsx("div", { ref: ref, ...remainingProps, className: tagClasses, children: _jsx("div", { className: 'tag-inner', children: children }) }));
|
|
10
9
|
});
|
|
11
10
|
export default Tag;
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import { __rest } from "tslib";
|
|
2
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
// @ts-ignore-next-line importsNotUsedAsValues
|
|
4
|
-
import 'react';
|
|
5
2
|
import classNames from 'classnames';
|
|
6
3
|
const TagList = (props) => {
|
|
7
|
-
const { children, inline = true, autoTagWidth = false, tagsPerRow
|
|
4
|
+
const { children, inline = true, autoTagWidth = false, tagsPerRow, ...remainingProps } = props;
|
|
8
5
|
const tagListClasses = classNames('taglist', !autoTagWidth && 'taglist-autowidth', !inline && 'taglist-vertical', tagsPerRow && 'row display-flex-sm flex-wrap-sm', props.className);
|
|
9
|
-
const wrappedChildren = _jsx("div",
|
|
10
|
-
return (_jsx("div",
|
|
6
|
+
const wrappedChildren = _jsx("div", { className: `tags-per-row-${tagsPerRow}`, children: children });
|
|
7
|
+
return (_jsx("div", { ...remainingProps, className: tagListClasses, children: tagsPerRow ? wrappedChildren : children }));
|
|
11
8
|
};
|
|
12
9
|
export default TagList;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
// @ts-ignore-next-line importsNotUsedAsValues
|
|
3
|
-
import 'react';
|
|
4
2
|
import classNames from 'classnames';
|
|
5
3
|
const CustomSuggestionItem = ({ value, placeholder }) => {
|
|
6
4
|
const wrapperClassNames = classNames('display-flex align-items-center padding-top-5 padding-bottom-5', !value && 'text-color-gray');
|
|
7
5
|
const iconClassNames = classNames('margin-left--5 margin-right-5 margin-top--1 rioglyph', value ? 'rioglyph-plus' : 'rioglyph-arrow-up');
|
|
8
|
-
return (_jsxs("span",
|
|
6
|
+
return (_jsxs("span", { className: wrapperClassNames, children: [_jsx("span", { className: iconClassNames }), _jsx("span", { className: 'text-italic', children: value || placeholder })] }));
|
|
9
7
|
};
|
|
10
8
|
export default CustomSuggestionItem;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __rest } from "tslib";
|
|
2
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
2
|
import { useEffect, useState } from 'react';
|
|
4
3
|
import classNames from 'classnames';
|
|
@@ -53,7 +52,7 @@ const filterSuggestions = (suggestions, selectedTagNames, value = '') => suggest
|
|
|
53
52
|
!suggestion.customSuggestion);
|
|
54
53
|
});
|
|
55
54
|
const TagManager = (props) => {
|
|
56
|
-
const { tagList, tagSuggestions, placeholder, className, customTagPlaceholder, dropdownSeparatorText, onTagListChange = noop, useCustomTags = true, noItemMessage, showInput = true
|
|
55
|
+
const { tagList, tagSuggestions, placeholder, className, customTagPlaceholder, dropdownSeparatorText, onTagListChange = noop, useCustomTags = true, noItemMessage, showInput = true, ...remainingProps } = props;
|
|
57
56
|
const [tags, setTags] = useState(tagList);
|
|
58
57
|
const [inputValue, setInputValue] = useState('');
|
|
59
58
|
const [currentSuggestions, setCurrentSuggestions] = useState([]);
|
|
@@ -115,6 +114,6 @@ const TagManager = (props) => {
|
|
|
115
114
|
tabIndex: 1,
|
|
116
115
|
};
|
|
117
116
|
const autoSuggestClasses = classNames(!isEmpty(tags) && 'margin-bottom-10');
|
|
118
|
-
return (_jsxs("div",
|
|
117
|
+
return (_jsxs("div", { ...remainingProps, className: classNames('TagManager', className), children: [showInput && (_jsx(AutoSuggest, { className: autoSuggestClasses, inputProps: inputProps, suggestions: currentSuggestions, onSuggestionSelected: handleSuggestionSelected, onSuggestionsFetchRequested: handleSuggestionsChange, openOnFocus: true, noItemMessage: noItemMessage })), _jsx(TagManagerItemList, { tags: tags, onRemoveFromTagList: handleRemoveFromTagList })] }));
|
|
119
118
|
};
|
|
120
119
|
export default TagManager;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import 'react';
|
|
3
2
|
import classNames from 'classnames';
|
|
4
3
|
import TagList from '../tag/TagList';
|
|
5
4
|
import Tag from '../tag/Tag';
|
|
6
5
|
const TagManagerItemList = (props) => {
|
|
7
6
|
const { tags, onRemoveFromTagList = () => { } } = props;
|
|
8
|
-
return (_jsx(TagList,
|
|
7
|
+
return (_jsx(TagList, { inline: false, children: tags.map(tag => {
|
|
9
8
|
const tagClasses = classNames(tag.toAdd && 'border-color-success text-color-success', tag.toRemove && 'border-color-danger text-color-danger');
|
|
10
|
-
return (_jsx(Tag,
|
|
11
|
-
}) }))
|
|
9
|
+
return (_jsx(Tag, { className: tagClasses, deletable: true, round: false, onClick: () => onRemoveFromTagList(tag), children: tag.label }, tag.label));
|
|
10
|
+
}) }));
|
|
12
11
|
};
|
|
13
12
|
export default TagManagerItemList;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
// @ts-ignore-next-line importsNotUsedAsValues
|
|
3
|
-
import 'react';
|
|
4
2
|
import classNames from 'classnames';
|
|
5
3
|
import noop from 'lodash/fp/noop';
|
|
6
4
|
import Button from '../button/Button';
|
|
@@ -8,49 +6,48 @@ const Teaser = (props) => {
|
|
|
8
6
|
const { segmentation, verticalAlignment = 'top' } = props;
|
|
9
7
|
const alignmentClass = verticalAlignment === 'center' ? 'align-items-center-sm' : '';
|
|
10
8
|
if (segmentation === '100') {
|
|
11
|
-
return _jsx(SingleColumnTeaser,
|
|
9
|
+
return _jsx(SingleColumnTeaser, { alignmentClass: alignmentClass, ...props });
|
|
12
10
|
}
|
|
13
11
|
// Thumbnail based layout for multiple segments or multiple teaser in a row
|
|
14
|
-
return _jsx(MultipleSegmentsOrRowsTeaser,
|
|
12
|
+
return _jsx(MultipleSegmentsOrRowsTeaser, { alignmentClass: alignmentClass, ...props });
|
|
15
13
|
};
|
|
16
14
|
export default Teaser;
|
|
17
15
|
const SingleColumnTeaser = (props) => {
|
|
18
16
|
const { headline, content, footer, image, button, segmentation, className, alignmentClass } = props;
|
|
19
17
|
const wrapperClassNames = classNames('teaser panel panel-default panel-body padding-20 margin-bottom-20 text-center', alignmentClass, className);
|
|
20
|
-
return (_jsxs("div",
|
|
18
|
+
return (_jsxs("div", { className: wrapperClassNames, children: [_jsx(TeaserHeadline, { headline: headline, segmentation: segmentation }), _jsx(TeaserImageComp, { image: image, segmentation: segmentation }), _jsx(TeaserContent, { content: content, segmentation: segmentation }), _jsx(TeaserButtonComp, { button: button }), _jsx(TeaserFooter, { footer: footer })] }));
|
|
21
19
|
};
|
|
22
20
|
const MultipleSegmentsOrRowsTeaser = (props) => {
|
|
23
21
|
const { headline, content, footer, image, button, segmentation, className, alignmentClass } = props;
|
|
24
22
|
const wrapperClasses = classNames('teaser thumbnail display-flex-sm', !segmentation && 'flex-column height-100pct-sm', // only for multiple teasers in a row
|
|
25
23
|
alignmentClass, className);
|
|
26
|
-
const captionClasses = classNames('caption',
|
|
27
|
-
return (_jsxs("div",
|
|
24
|
+
const captionClasses = classNames('caption', image?.align === 'left' && 'flex-order-2-sm', image?.align === 'right' && 'flex-order-1-sm', segmentation === '50' && 'width-50pct-sm', segmentation === '25:75' && 'width-50pct-sm width-25pct-lg', segmentation === '75:25' && 'width-50pct-sm width-75pct-lg', !segmentation && 'display-flex-sm flex-column-sm flex-1-0-sm');
|
|
25
|
+
return (_jsxs("div", { className: wrapperClasses, children: [_jsx(TeaserImageComp, { image: image, segmentation: segmentation }), (headline || content || button) && (_jsxs("div", { className: captionClasses, children: [_jsx(TeaserHeadline, { headline: headline, segmentation: segmentation }), _jsx(TeaserContent, { content: content, segmentation: segmentation }), _jsx(TeaserButtonComp, { button: button }), _jsx(TeaserFooter, { footer: footer })] }))] }));
|
|
28
26
|
};
|
|
29
27
|
const TeaserHeadline = ({ headline, segmentation }) => {
|
|
30
28
|
if (!headline) {
|
|
31
29
|
return null;
|
|
32
30
|
}
|
|
33
|
-
return _jsx("h2",
|
|
31
|
+
return _jsx("h2", { className: segmentation === '100' ? 'margin-top-20 margin-bottom-25' : 'margin-top-5', children: headline });
|
|
34
32
|
};
|
|
35
33
|
const TeaserContent = ({ content, segmentation }) => {
|
|
36
34
|
if (!content) {
|
|
37
35
|
return null;
|
|
38
36
|
}
|
|
39
37
|
const classes = classNames('teaser-content-wrapper text-size-16', segmentation === '100' ? 'padding-left-25-sm padding-right-25-sm' : 'flex-1-0-sm');
|
|
40
|
-
return _jsx("div",
|
|
38
|
+
return _jsx("div", { className: classes, children: content });
|
|
41
39
|
};
|
|
42
40
|
const TeaserFooter = ({ footer }) => {
|
|
43
41
|
if (!footer) {
|
|
44
42
|
return null;
|
|
45
43
|
}
|
|
46
|
-
return _jsx("div",
|
|
44
|
+
return _jsx("div", { className: 'teaser-footer-wrapper', children: footer });
|
|
47
45
|
};
|
|
48
46
|
const TeaserButtonComp = ({ button }) => {
|
|
49
|
-
var _a;
|
|
50
47
|
if (!button) {
|
|
51
48
|
return null;
|
|
52
49
|
}
|
|
53
|
-
return (_jsx("span", { children: _jsx(Button,
|
|
50
|
+
return (_jsx("span", { children: _jsx(Button, { bsStyle: button.bsStyle ?? 'primary', className: button.className, onClick: button.onClick, children: button.text }) }));
|
|
54
51
|
};
|
|
55
52
|
/* eslint-disable max-len */
|
|
56
53
|
const placeholderImage1by1 = 'data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAPoCAQAAADnqhxvAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiCw8ODSFLsnJ3AAAPvUlEQVR42u3VMQ0AIADAMMC/ZxDBQVhaBfs29wAAfrdeBwAA9wwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDgTLCM9BHrU/AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE4LTExLTE1VDEzOjEzOjMzKzAxOjAwgedH5AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOC0xMS0xNVQxMzoxMzozMyswMTowMPC6/1gAAAAASUVORK5CYII=';
|
|
@@ -65,7 +62,6 @@ const teaserPlaceholderImages = {
|
|
|
65
62
|
'16:9': placeholderImage16by9,
|
|
66
63
|
};
|
|
67
64
|
const TeaserImageComp = ({ image, segmentation }) => {
|
|
68
|
-
var _a, _b, _c;
|
|
69
65
|
if (!image) {
|
|
70
66
|
return null;
|
|
71
67
|
}
|
|
@@ -74,6 +70,6 @@ const TeaserImageComp = ({ image, segmentation }) => {
|
|
|
74
70
|
specificClassNames = classNames(image.align === 'left' && 'flex-order-1-sm padding-left-20-sm', image.align === 'right' && 'flex-order-2-sm padding-right-20-sm', segmentation === '50' && 'width-50pct-sm', segmentation === '25:75' && 'width-50pct-sm width-75pct-lg', segmentation === '75:25' && 'width-50pct-sm width-25pct-lg', segmentation && 'padding-top-20-sm padding-bottom-20-sm');
|
|
75
71
|
}
|
|
76
72
|
const imageWrapperClassNames = classNames('teaser-image-wrapper', specificClassNames, image.className && image.className);
|
|
77
|
-
const callback =
|
|
78
|
-
return (_jsx("div",
|
|
73
|
+
const callback = image?.onClick ?? noop;
|
|
74
|
+
return (_jsx("div", { className: imageWrapperClassNames, onClick: callback, children: _jsx("img", { className: 'img-responsive cover center', src: teaserPlaceholderImages[image.aspectRatio] ?? placeholderImage16by9, alt: image.alt ?? '', style: { backgroundImage: `url(${image.src})` } }) }));
|
|
79
75
|
};
|
|
@@ -26,8 +26,8 @@ const TeaserContainer = (props) => {
|
|
|
26
26
|
? getGridClasses(teaserPerRow)
|
|
27
27
|
: getGridClasses(Children.count(children) || 1);
|
|
28
28
|
const aggregatedColumnClassNames = classNames(columnClassNames, columnClassName);
|
|
29
|
-
return (_jsx("div",
|
|
30
|
-
return _jsx("div",
|
|
31
|
-
}) }))
|
|
29
|
+
return (_jsx("div", { className: rowClassNames, children: Children.map(children, child => {
|
|
30
|
+
return _jsx("div", { className: aggregatedColumnClassNames, children: child });
|
|
31
|
+
}) }));
|
|
32
32
|
};
|
|
33
33
|
export default TeaserContainer;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __rest } from "tslib";
|
|
2
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
2
|
import { useEffect, useState } from 'react';
|
|
4
3
|
import InputMask from 'react-input-mask';
|
|
@@ -30,7 +29,7 @@ const isControlledAndValid = (value) => {
|
|
|
30
29
|
return hasExternalValue && isValid;
|
|
31
30
|
};
|
|
32
31
|
const TimePicker = (props) => {
|
|
33
|
-
const { value, onChange = noop, alwaysShowMask = true, showIcon = false, errorMessage, warningMessage, messageWhiteSpace = 'normal', className = '', inputProps = {}
|
|
32
|
+
const { value, onChange = noop, alwaysShowMask = true, showIcon = false, errorMessage, warningMessage, messageWhiteSpace = 'normal', className = '', inputProps = {}, ...remainingProps } = props;
|
|
34
33
|
const initialTime = isControlledAndValid(value) ? value : getInitialTime();
|
|
35
34
|
const [timeValue, setTimeValue] = useState(initialTime);
|
|
36
35
|
// Update internal time value from outside when used as a controlled component
|
|
@@ -66,8 +65,8 @@ const TimePicker = (props) => {
|
|
|
66
65
|
setTimeValue(updatedTimeValue);
|
|
67
66
|
onChange(updatedTimeValue);
|
|
68
67
|
};
|
|
69
|
-
const { className: inputClassName
|
|
68
|
+
const { className: inputClassName, ...otherInputProps } = inputProps;
|
|
70
69
|
const hasFeedback = errorMessage || warningMessage;
|
|
71
|
-
return (_jsxs("div",
|
|
70
|
+
return (_jsxs("div", { ...remainingProps, className: classNames('TimePicker', 'input-group', className), children: [showIcon && (_jsx("span", { className: 'input-group-addon', children: _jsx("span", { className: 'rioglyph rioglyph-time-alt' }) })), _jsxs("div", { className: 'form-control-feedback-wrapper', children: [_jsx(InputMask, { ...otherInputProps, className: classNames('TimePickerInput', 'form-control', inputClassName), mask: mask, maskPlaceholder: '-', value: timeValue, onChange: handleChangeTime, alwaysShowMask: alwaysShowMask }), hasFeedback && (_jsxs(_Fragment, { children: [errorMessage && _jsx("span", { className: 'form-control-feedback rioglyph rioglyph-error-sign' }), warningMessage && _jsx("span", { className: 'form-control-feedback rioglyph rioglyph-warning-sign' }), _jsx("span", { className: `help-block white-space-${messageWhiteSpace}`, children: _jsx("span", { children: errorMessage || warningMessage }) })] }))] }), isValid && (_jsxs("div", { className: 'TimePickerIncreaseButton input-group-addon', children: [_jsx("div", { className: 'text-color-gray hover-text-color-dark display-grid place-items-center cursor-pointer', onClick: handleDecrease, children: _jsx("div", { className: 'rioglyph rioglyph-chevron-left scale-90' }) }), _jsx("div", { className: 'text-color-gray hover-text-color-dark margin-left-5 display-grid place-items-center cursor-pointer', onClick: handleIncrease, children: _jsx("div", { className: 'rioglyph rioglyph-chevron-right scale-90' }) })] }))] }));
|
|
72
71
|
};
|
|
73
72
|
export default TimePicker;
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import { __rest } from "tslib";
|
|
2
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
// @ts-ignore-next-line importsNotUsedAsValues
|
|
4
|
-
import 'react';
|
|
5
2
|
import Tooltip from './Tooltip';
|
|
6
3
|
import OverlayTrigger from '../overlay/OverlayTrigger';
|
|
7
4
|
import { PLACEMENT } from '../../values/Placement';
|
|
8
5
|
import { TRIGGER } from '../../values/Trigger';
|
|
9
6
|
const SimpleTooltip = (props) => {
|
|
10
|
-
const { children, placement = PLACEMENT.AUTO, trigger, content, delay, popperConfig, targetRef
|
|
11
|
-
return (_jsx(OverlayTrigger,
|
|
7
|
+
const { children, placement = PLACEMENT.AUTO, trigger, content, delay, popperConfig, targetRef, ...remainingProps } = props;
|
|
8
|
+
return (_jsx(OverlayTrigger, { placement: placement, trigger: trigger, overlay: _jsx(Tooltip, { ...remainingProps, ref: targetRef, children: content }), delay: delay, popperConfig: popperConfig, children: children }));
|
|
12
9
|
};
|
|
13
10
|
SimpleTooltip.TRIGGER_CLICK = TRIGGER.CLICK;
|
|
14
11
|
SimpleTooltip.TRIGGER_HOVER = TRIGGER.HOVER;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __rest } from "tslib";
|
|
2
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
2
|
import { useEffect, useState, forwardRef, } from 'react';
|
|
4
3
|
import classNames from 'classnames';
|
|
@@ -16,7 +15,7 @@ const TEXT_ALIGNMENT_MAP = {
|
|
|
16
15
|
TEXT_ALIGNMENT_RIGHT: TEXT_ALIGNMENT.RIGHT,
|
|
17
16
|
};
|
|
18
17
|
const Tooltip = forwardRef((props, ref) => {
|
|
19
|
-
const
|
|
18
|
+
const { allowOnTouch = false, arrowProps, children, className = '', innerClassName = '', placement = 'bottom', style, textAlignment = 'center', tooltipStyle = 'default', width = 'auto', ...remainingProps } = omit(['popper', 'positionLeft', 'positionTop'], props);
|
|
20
19
|
// Mount the component but don't show it yet via CSS.
|
|
21
20
|
// After it is mounted, we set the visibility class to use CSS animation
|
|
22
21
|
const [isMounted, setIsMounted] = useState(false);
|
|
@@ -30,7 +29,7 @@ const Tooltip = forwardRef((props, ref) => {
|
|
|
30
29
|
const wrapperClasses = classNames('tooltip', tooltipStyle && `tooltip-${tooltipStyle}`, placement, 'fade', isMounted && 'show', className);
|
|
31
30
|
const innerClasses = classNames('tooltip-inner', textAlignment && `text-${textAlignment}`, width && `width-${width}`, innerClassName && innerClassName);
|
|
32
31
|
/* eslint-disable react/no-unknown-property */
|
|
33
|
-
return (_jsxs("div",
|
|
32
|
+
return (_jsxs("div", { ...remainingProps, role: 'tooltip', "x-placement": placement, ref: ref, className: wrapperClasses, style: { ...style }, "data-offset": 20, children: [_jsx("div", { className: 'tooltip-arrow', ...arrowProps }), _jsx("div", { className: innerClasses, children: children })] }));
|
|
34
33
|
});
|
|
35
34
|
// statics
|
|
36
35
|
Object.assign(Tooltip, STYLE_MAP);
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import 'react';
|
|
3
2
|
import classNames from 'classnames';
|
|
4
3
|
const FOUR_BY_THREE = '4by3';
|
|
5
4
|
const SIXTEEN_BY_NINE = '16by9';
|
|
6
5
|
const ResponsiveVideo = (props) => {
|
|
7
6
|
const { src, className = '', allowFullScreen = true, aspectRatio = '16by9' } = props;
|
|
8
7
|
const wrapperClassName = classNames('video-responsive', `video-responsive-${aspectRatio}`, className && className);
|
|
9
|
-
return (_jsx("div",
|
|
8
|
+
return (_jsx("div", { className: wrapperClassName, children: _jsx("iframe", { src: src, allowFullScreen: allowFullScreen }) }));
|
|
10
9
|
};
|
|
11
10
|
ResponsiveVideo.ASPECT_RATIO_4_BY_3 = FOUR_BY_THREE;
|
|
12
11
|
ResponsiveVideo.ASPECT_RATIO_16_BY_9 = SIXTEEN_BY_NINE;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type VirtualListProps<T> = {
|
|
3
|
+
/**
|
|
4
|
+
* The array of items to be rendered in the list.
|
|
5
|
+
*/
|
|
6
|
+
items: T[];
|
|
7
|
+
/**
|
|
8
|
+
* A function that renders an item given its data and index.
|
|
9
|
+
*
|
|
10
|
+
* @param item
|
|
11
|
+
* @param index
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
renderItem: (item: T, index: number) => React.ReactElement;
|
|
15
|
+
/**
|
|
16
|
+
* The number of items to render outside the visible area for smoother scrolling.
|
|
17
|
+
*
|
|
18
|
+
* @default 3
|
|
19
|
+
*/
|
|
20
|
+
overscanCount?: number;
|
|
21
|
+
/**
|
|
22
|
+
* The default height for items if their height cannot be determined.
|
|
23
|
+
*
|
|
24
|
+
* @default 50
|
|
25
|
+
*/
|
|
26
|
+
defaultHeight?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Optional ref to an external scroll container.
|
|
29
|
+
* Use this when VirtualList is inside a scrollable container.
|
|
30
|
+
*/
|
|
31
|
+
scrollContainerRef?: React.RefObject<HTMLElement>;
|
|
32
|
+
/**
|
|
33
|
+
* Additional classNames for the container of the list items.
|
|
34
|
+
*/
|
|
35
|
+
containerClassName?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Additional classNames for each individual list item wrapper.
|
|
38
|
+
* This wrapper is required for proper positioning each item in the list using an absolute top value.
|
|
39
|
+
*/
|
|
40
|
+
listItemWrapperClassName?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Additional classNames for the outer list container
|
|
43
|
+
*/
|
|
44
|
+
className?: string;
|
|
45
|
+
};
|
|
46
|
+
export type ItemHeight = number;
|
|
47
|
+
export type ItemIndex = number;
|
|
48
|
+
export type VisibleRange = {
|
|
49
|
+
start: number;
|
|
50
|
+
end: number;
|
|
51
|
+
};
|
|
52
|
+
export type VirtualListState = {
|
|
53
|
+
itemHeights: Record<ItemIndex, ItemHeight>;
|
|
54
|
+
visibleRange: VisibleRange;
|
|
55
|
+
scrollTop: number;
|
|
56
|
+
viewportHeight: number;
|
|
57
|
+
};
|
|
58
|
+
export declare const VirtualList: <T>(props: VirtualListProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
59
|
+
export default VirtualList;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// @ts-ignore-next-line importsNotUsedAsValues
|
|
3
|
+
import { useRef, useState, useEffect, useCallback } from 'react';
|
|
4
|
+
import VirtualListItemWrapper from './VirtualListItemWrapper';
|
|
5
|
+
import useWindowResize from '../../hooks/useWindowResize';
|
|
6
|
+
import useVirtualListResizeObserver from './useVirtualListResizeObserver';
|
|
7
|
+
export const VirtualList = (props) => {
|
|
8
|
+
const { items, renderItem, overscanCount = 3, defaultHeight = 50, scrollContainerRef, containerClassName = '', listItemWrapperClassName = '', className = '', ...remainingProps } = props;
|
|
9
|
+
const [state, setState] = useState({
|
|
10
|
+
itemHeights: {},
|
|
11
|
+
visibleRange: { start: 0, end: 10 },
|
|
12
|
+
scrollTop: 0,
|
|
13
|
+
viewportHeight: 0,
|
|
14
|
+
});
|
|
15
|
+
const containerRef = useRef(null);
|
|
16
|
+
const itemsRef = useRef(null);
|
|
17
|
+
const lastMeasuredIndexRef = useRef(-1);
|
|
18
|
+
// Get the actual scroll container - either external or internal
|
|
19
|
+
const getScrollContainer = useCallback(() => {
|
|
20
|
+
return scrollContainerRef?.current || containerRef.current;
|
|
21
|
+
}, [scrollContainerRef]);
|
|
22
|
+
// Ensure we never return NaN or invalid heights
|
|
23
|
+
const getSafeHeight = useCallback((height) => {
|
|
24
|
+
return !Number.isNaN(height) && height > 0 ? height : defaultHeight;
|
|
25
|
+
}, [defaultHeight]);
|
|
26
|
+
const getItemPosition = useCallback((index) => {
|
|
27
|
+
let position = 0;
|
|
28
|
+
for (let i = 0; i < index; i++) {
|
|
29
|
+
const height = state.itemHeights[i] ?? defaultHeight;
|
|
30
|
+
position += getSafeHeight(height);
|
|
31
|
+
}
|
|
32
|
+
return position;
|
|
33
|
+
}, [state.itemHeights, getSafeHeight, defaultHeight]);
|
|
34
|
+
const getTotalHeight = useCallback(() => {
|
|
35
|
+
const measuredHeight = Object.values(state.itemHeights).reduce((sum, height) => sum + getSafeHeight(height), 0);
|
|
36
|
+
const measuredCount = Object.keys(state.itemHeights).length;
|
|
37
|
+
const averageHeight = measuredCount > 0 ? getSafeHeight(measuredHeight / measuredCount) : defaultHeight;
|
|
38
|
+
const unmeasuredCount = items.length - measuredCount;
|
|
39
|
+
return getSafeHeight(measuredHeight + unmeasuredCount * averageHeight);
|
|
40
|
+
}, [items.length, state.itemHeights, getSafeHeight, defaultHeight]);
|
|
41
|
+
const calculateVisibleRange = useCallback(() => {
|
|
42
|
+
const scrollContainer = getScrollContainer();
|
|
43
|
+
if (!scrollContainer) {
|
|
44
|
+
return state.visibleRange;
|
|
45
|
+
}
|
|
46
|
+
const viewportHeight = scrollContainer.clientHeight;
|
|
47
|
+
const scrollTop = scrollContainer.scrollTop;
|
|
48
|
+
let start = 0;
|
|
49
|
+
let currentPosition = 0;
|
|
50
|
+
while (start < items.length) {
|
|
51
|
+
const height = getSafeHeight(state.itemHeights[start] ?? defaultHeight);
|
|
52
|
+
if (currentPosition + height > scrollTop - overscanCount * height) {
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
currentPosition += height;
|
|
56
|
+
start++;
|
|
57
|
+
}
|
|
58
|
+
let end = start;
|
|
59
|
+
while (end < items.length) {
|
|
60
|
+
const height = getSafeHeight(state.itemHeights[end] ?? defaultHeight);
|
|
61
|
+
if (currentPosition > scrollTop + viewportHeight + overscanCount * height) {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
currentPosition += height;
|
|
65
|
+
end++;
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
start: Math.max(0, start - overscanCount),
|
|
69
|
+
end: Math.min(items.length, end + overscanCount),
|
|
70
|
+
};
|
|
71
|
+
}, [
|
|
72
|
+
items.length,
|
|
73
|
+
overscanCount,
|
|
74
|
+
state.itemHeights,
|
|
75
|
+
state.visibleRange,
|
|
76
|
+
getSafeHeight,
|
|
77
|
+
defaultHeight,
|
|
78
|
+
getScrollContainer,
|
|
79
|
+
]);
|
|
80
|
+
const measureItem = useCallback((index, element) => {
|
|
81
|
+
const rect = element.getBoundingClientRect();
|
|
82
|
+
const computedStyle = window.getComputedStyle(element);
|
|
83
|
+
// Calculate total height with safety checks
|
|
84
|
+
const totalSafeHeight = getSafeHeight(rect.height +
|
|
85
|
+
Number.parseFloat(computedStyle.marginTop || '0') +
|
|
86
|
+
Number.parseFloat(computedStyle.marginBottom || '0'));
|
|
87
|
+
setState(prev => {
|
|
88
|
+
if (prev.itemHeights[index] === totalSafeHeight) {
|
|
89
|
+
return prev;
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
...prev,
|
|
93
|
+
itemHeights: { ...prev.itemHeights, [index]: totalSafeHeight },
|
|
94
|
+
};
|
|
95
|
+
});
|
|
96
|
+
lastMeasuredIndexRef.current = Math.max(lastMeasuredIndexRef.current, index);
|
|
97
|
+
}, [getSafeHeight]);
|
|
98
|
+
useVirtualListResizeObserver(itemsRef, measureItem, [state.visibleRange]);
|
|
99
|
+
const handleScroll = useCallback(() => {
|
|
100
|
+
const scrollContainer = getScrollContainer();
|
|
101
|
+
if (!scrollContainer) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const newRange = calculateVisibleRange();
|
|
105
|
+
setState(prev => ({
|
|
106
|
+
...prev,
|
|
107
|
+
visibleRange: newRange,
|
|
108
|
+
scrollTop: scrollContainer.scrollTop,
|
|
109
|
+
viewportHeight: scrollContainer.clientHeight,
|
|
110
|
+
}));
|
|
111
|
+
}, [calculateVisibleRange, getScrollContainer]);
|
|
112
|
+
// Register container scroll event
|
|
113
|
+
useEffect(() => {
|
|
114
|
+
const scrollContainer = getScrollContainer();
|
|
115
|
+
if (!scrollContainer) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
scrollContainer.addEventListener('scroll', handleScroll, { passive: true });
|
|
119
|
+
return () => scrollContainer.removeEventListener('scroll', handleScroll);
|
|
120
|
+
}, [handleScroll, getScrollContainer]);
|
|
121
|
+
// On window resize, update scroll position
|
|
122
|
+
useWindowResize(handleScroll);
|
|
123
|
+
const renderItemWithPosition = (item, index) => {
|
|
124
|
+
const renderedItem = renderItem(item, index);
|
|
125
|
+
const translateY = getItemPosition(index);
|
|
126
|
+
return (_jsx(VirtualListItemWrapper, { "data-index": index, translateY: translateY, className: listItemWrapperClassName, children: renderedItem }, index));
|
|
127
|
+
};
|
|
128
|
+
const { start, end } = state.visibleRange;
|
|
129
|
+
const totalHeight = getTotalHeight();
|
|
130
|
+
// Adjust the root element style based on whether we're using an external scroll container
|
|
131
|
+
const rootStyle = {
|
|
132
|
+
height: scrollContainerRef ? totalHeight : '100%',
|
|
133
|
+
position: 'relative',
|
|
134
|
+
overflow: scrollContainerRef ? 'visible' : 'auto',
|
|
135
|
+
};
|
|
136
|
+
return (_jsx("div", { ...remainingProps, ref: containerRef, className: `VirtualList overflow-y-auto ${className}`, style: rootStyle, children: _jsx("div", { className: 'position-relative', style: {
|
|
137
|
+
height: scrollContainerRef ? 'auto' : totalHeight,
|
|
138
|
+
}, children: _jsx("div", { ref: itemsRef, className: `VirtualListItemContainer ${containerClassName}`, children: items.slice(start, end).map((item, idx) => renderItemWithPosition(item, start + idx)) }) }) }));
|
|
139
|
+
};
|
|
140
|
+
export default VirtualList;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type VirtualListItemWrapperProps = {
|
|
3
|
+
translateY: number;
|
|
4
|
+
'data-index': number;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
style?: React.CSSProperties;
|
|
8
|
+
};
|
|
9
|
+
declare const VirtualListItemWrapper: React.ForwardRefExoticComponent<VirtualListItemWrapperProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export default VirtualListItemWrapper;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
const VirtualListItemWrapper = React.forwardRef((props, ref) => {
|
|
4
|
+
const { translateY, children, className = '', style = {}, ...remainingProps } = props;
|
|
5
|
+
return (_jsx("div", { ref: ref, className: `VirtualListItemWrapper ${className}`, style: {
|
|
6
|
+
...style,
|
|
7
|
+
position: 'absolute',
|
|
8
|
+
transform: `translateY(${translateY}px)`,
|
|
9
|
+
width: '100%',
|
|
10
|
+
willChange: 'transform',
|
|
11
|
+
}, ...remainingProps, children: children }));
|
|
12
|
+
});
|
|
13
|
+
export default VirtualListItemWrapper;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { useEffect, useRef, useCallback } from 'react';
|
|
2
|
+
const useVirtualListResizeObserver = (itemsRef, measureItem, dependencies = []) => {
|
|
3
|
+
const resizeObserverRef = useRef(null);
|
|
4
|
+
const measureItems = useCallback(() => {
|
|
5
|
+
if (!itemsRef.current) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const children = Array.from(itemsRef.current.children);
|
|
9
|
+
children.forEach(child => {
|
|
10
|
+
const index = Number.parseInt(child.getAttribute('data-index') || '', 10);
|
|
11
|
+
if (!Number.isNaN(index)) {
|
|
12
|
+
measureItem(index, child);
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
}, [measureItem]);
|
|
16
|
+
// Setup resize observer
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (!itemsRef.current) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
resizeObserverRef.current = new ResizeObserver(() => {
|
|
22
|
+
measureItems();
|
|
23
|
+
});
|
|
24
|
+
return () => resizeObserverRef.current?.disconnect();
|
|
25
|
+
}, [measureItems]);
|
|
26
|
+
// Observe children
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (!itemsRef.current || !resizeObserverRef.current) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const children = Array.from(itemsRef.current.children);
|
|
32
|
+
children.forEach(child => {
|
|
33
|
+
resizeObserverRef.current?.observe(child);
|
|
34
|
+
});
|
|
35
|
+
// Initial measurement
|
|
36
|
+
measureItems();
|
|
37
|
+
return () => {
|
|
38
|
+
children.forEach(child => {
|
|
39
|
+
resizeObserverRef.current?.unobserve(child);
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
}, [...dependencies, measureItems]);
|
|
43
|
+
};
|
|
44
|
+
export default useVirtualListResizeObserver;
|