@rio-cloud/rio-uikit 2.2.1 → 2.3.0-beta.2
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/AnalyticsAnalysisOverlay.d.ts +1 -0
- package/AnalyticsAnalysisOverlay.js +5 -0
- package/AnalyticsAnalysisOverlay.js.map +1 -0
- package/DayPicker.js +6 -2
- package/DayPicker.js.map +1 -1
- package/DayPickerCalendar.d.ts +2 -0
- package/DayPickerCalendar.js +5 -0
- package/DayPickerCalendar.js.map +1 -0
- package/DayPickerPrototype.d.ts +2 -0
- package/DayPickerPrototype.js +5 -0
- package/DayPickerPrototype.js.map +1 -0
- package/Table.d.ts +2 -0
- package/Table.js +23 -0
- package/Table.js.map +1 -0
- package/TableCol.d.ts +2 -2
- package/TableCol.js +1 -1
- package/TableHead.d.ts +2 -2
- package/TableHead.js +1 -1
- package/TableNext.d.ts +2 -0
- package/TableNext.js +23 -0
- package/TableNext.js.map +1 -0
- package/TableSettingsDialog.d.ts +2 -2
- package/TableSettingsDialog.js +1 -1
- package/TableToolbar.js +4 -2
- package/TableToolbar.js.map +1 -1
- package/analyticsAnalysisUtils.d.ts +1 -0
- package/analyticsAnalysisUtils.js +13 -0
- package/analyticsAnalysisUtils.js.map +1 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.d.ts +18 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js +128 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js.map +1 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.d.ts +9 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js +73 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js.map +1 -0
- package/components/applicationHeader/AppMenuContent.js.map +1 -1
- package/components/applicationHeader/ApplicationActionBar.js +4 -4
- package/components/applicationHeader/ApplicationActionBar.js.map +1 -1
- package/components/applicationHeader/CollapsedNavItem.js +5 -14
- package/components/applicationHeader/CollapsedNavItem.js.map +1 -1
- package/components/applicationHeader/NavItems.js +10 -10
- package/components/applicationHeader/NavItems.js.map +1 -1
- package/components/assetTree/AssetTree.js +23 -23
- package/components/assetTree/AssetTree.js.map +1 -1
- package/components/assetTree/Tree.js +13 -13
- package/components/assetTree/TreeNothingFound.js +2 -2
- package/components/assetTree/TreeNothingFound.js.map +1 -1
- package/components/assetTree/treeUtils.js.map +1 -1
- package/components/autosuggest/AutoSuggest.js +31 -31
- package/components/autosuggest/AutoSuggest.js.map +1 -1
- package/components/autosuggest/AutoSuggestAddons.js +9 -9
- package/components/autosuggest/AutoSuggestAddons.js.map +1 -1
- package/components/banner/BannerActions.js +2 -2
- package/components/banner/BannerActions.js.map +1 -1
- package/components/banner/BannerIcon.js +3 -3
- package/components/banner/BannerIcon.js.map +1 -1
- package/components/banner/BannerPage.js +4 -4
- package/components/banner/BannerPage.js.map +1 -1
- package/components/button/Button.d.ts +7 -0
- package/components/button/Button.js +73 -65
- package/components/button/Button.js.map +1 -1
- package/components/charts/Area.d.ts +5 -3
- package/components/charts/Area.js +4 -3
- package/components/charts/Area.js.map +1 -1
- package/components/charts/AreaChart.js.map +1 -1
- package/components/charts/ComposedChart.js.map +1 -1
- package/components/checkbox/Checkbox.js +18 -17
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/clearableInput/ClearableInput.d.ts +30 -0
- package/components/clearableInput/ClearableInput.js +81 -78
- package/components/clearableInput/ClearableInput.js.map +1 -1
- package/components/datepicker/DateRangePicker.js +0 -2
- package/components/datepicker/DateRangePicker.js.map +1 -1
- package/components/datepicker/DayPicker.d.ts +4 -51
- package/components/datepicker/DayPicker.js +264 -256
- package/components/datepicker/DayPicker.js.map +1 -1
- package/components/datepicker/DayPickerCalendar.d.ts +4 -0
- package/components/datepicker/DayPickerCalendar.js +129 -0
- package/components/datepicker/DayPickerCalendar.js.map +1 -0
- package/components/datepicker/DayPickerDropdown.d.ts +18 -0
- package/components/datepicker/DayPickerDropdown.js +75 -0
- package/components/datepicker/DayPickerDropdown.js.map +1 -0
- package/components/datepicker/DayPickerDropdownFooter.d.ts +7 -0
- package/components/datepicker/DayPickerDropdownFooter.js +7 -0
- package/components/datepicker/DayPickerDropdownFooter.js.map +1 -0
- package/components/datepicker/DayPickerDropdownSidebar.d.ts +8 -0
- package/components/datepicker/DayPickerDropdownSidebar.js +7 -0
- package/components/datepicker/DayPickerDropdownSidebar.js.map +1 -0
- package/components/datepicker/DayPickerInput.d.ts +28 -0
- package/components/datepicker/DayPickerInput.js +65 -0
- package/components/datepicker/DayPickerInput.js.map +1 -0
- package/components/datepicker/DayPickerPrototype.d.ts +53 -0
- package/components/datepicker/DayPickerPrototype.js +285 -0
- package/components/datepicker/DayPickerPrototype.js.map +1 -0
- package/components/datepicker/dayPickerRangeSelectionUtils.d.ts +15 -0
- package/components/datepicker/dayPickerRangeSelectionUtils.js +31 -0
- package/components/datepicker/dayPickerRangeSelectionUtils.js.map +1 -0
- package/components/datepicker/dayPickerTypes.d.ts +517 -0
- package/components/datepicker/dayPickerTypes.js +7 -0
- package/components/datepicker/dayPickerTypes.js.map +1 -0
- package/components/datepicker/dayPickerUtils.d.ts +10 -0
- package/components/datepicker/dayPickerUtils.js +92 -0
- package/components/datepicker/dayPickerUtils.js.map +1 -0
- package/components/datepicker/useDayPickerInputState.d.ts +32 -0
- package/components/datepicker/useDayPickerInputState.js +85 -0
- package/components/datepicker/useDayPickerInputState.js.map +1 -0
- package/components/datepicker/useStackedDayPickerCalendars.d.ts +5 -0
- package/components/datepicker/useStackedDayPickerCalendars.js +39 -0
- package/components/datepicker/useStackedDayPickerCalendars.js.map +1 -0
- package/components/dialog/Dialog.js.map +1 -1
- package/components/dialog/DialogHeader.js +23 -20
- 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/divider/Divider.js +6 -6
- package/components/dropdown/ButtonDropdown.d.ts +4 -0
- package/components/dropdown/ButtonDropdown.js +70 -68
- package/components/dropdown/ButtonDropdown.js.map +1 -1
- package/components/dropdown/DropdownToggleButton.d.ts +1 -0
- package/components/dropdown/DropdownToggleButton.js +17 -15
- package/components/dropdown/DropdownToggleButton.js.map +1 -1
- package/components/editableContent/EditableContent.js +7 -7
- package/components/editableContent/EditableContent.js.map +1 -1
- package/components/expander/ExpanderList.d.ts +5 -0
- package/components/expander/ExpanderList.js +25 -16
- package/components/expander/ExpanderList.js.map +1 -1
- package/components/expander/ExpanderPanel.d.ts +5 -0
- package/components/expander/ExpanderPanel.js +29 -28
- package/components/expander/ExpanderPanel.js.map +1 -1
- package/components/fade/FadeExpander.js +17 -20
- package/components/fade/FadeExpander.js.map +1 -1
- package/components/filepicker/FilePicker.js.map +1 -1
- package/components/loadMore/LoadMoreButton.d.ts +5 -0
- package/components/loadMore/LoadMoreButton.js +33 -29
- package/components/loadMore/LoadMoreButton.js.map +1 -1
- package/components/loadMore/LoadMoreProgress.js +6 -7
- package/components/map/components/Map.js +3 -3
- package/components/map/components/features/ContextMenu.js +13 -13
- package/components/map/components/features/ContextMenu.js.map +1 -1
- package/components/map/components/features/basics/InfoBubble.js.map +1 -1
- package/components/map/components/features/settings/MapSettingsTile.js.map +1 -1
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +6 -6
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js.map +1 -1
- package/components/map/utils/eventHandling.js +18 -18
- package/components/map/utils/eventHandling.js.map +1 -1
- package/components/map/utils/positions.d.ts +1 -1
- package/components/map/utils/positions.js +15 -12
- package/components/map/utils/positions.js.map +1 -1
- package/components/map/utils/rendering.d.ts +1 -1
- package/components/map/utils/rendering.js +5 -5
- package/components/menuItems/MenuItems.js +6 -6
- package/components/menuItems/MenuItems.js.map +1 -1
- package/components/notification/NotificationsContainer.js.map +1 -1
- package/components/numberInput/NumberInput.js +57 -56
- package/components/numberInput/NumberInput.js.map +1 -1
- package/components/popover/Popover.js +3 -3
- package/components/popover/Popover.js.map +1 -1
- package/components/radiobutton/RadioCardGroup.js +3 -3
- package/components/resizer/Resizer.js +6 -3
- package/components/resizer/Resizer.js.map +1 -1
- package/components/rioglyph/RioglyphIconType.d.ts +1 -1
- package/components/selects/BaseSelectDropdown.js +34 -32
- package/components/selects/BaseSelectDropdown.js.map +1 -1
- package/components/selects/Multiselect.d.ts +6 -0
- package/components/selects/Multiselect.js +164 -150
- package/components/selects/Multiselect.js.map +1 -1
- package/components/selects/MultiselectTogglePlaceholder.js.map +1 -1
- package/components/selects/MultiselectToggleSelection.js +11 -11
- package/components/selects/MultiselectToggleSelection.js.map +1 -1
- package/components/selects/Select.js +39 -37
- package/components/selects/Select.js.map +1 -1
- package/components/sidebars/Sidebar.js +12 -12
- package/components/sidebars/Sidebar.js.map +1 -1
- package/components/sidebars/SidebarCloseButton.js +2 -2
- package/components/sidebars/SidebarCloseButton.js.map +1 -1
- package/components/smoothScrollbars/SmoothScrollbars.d.ts +4 -3
- package/components/smoothScrollbars/SmoothScrollbars.js +11 -11
- package/components/smoothScrollbars/SmoothScrollbars.js.map +1 -1
- package/components/states/CustomState.js.map +1 -1
- package/components/svgImage/svgConverter.js.map +1 -1
- package/components/table/Table.d.ts +46 -0
- package/components/table/Table.js +256 -0
- package/components/table/Table.js.map +1 -0
- package/components/table/Table.types.d.ts +379 -0
- package/components/table/TableBody.d.ts +70 -0
- package/components/table/TableBody.js +135 -0
- package/components/table/TableBody.js.map +1 -0
- package/components/table/TableCardsSorting.js +25 -32
- package/components/table/TableCardsSorting.js.map +1 -1
- package/components/table/TableColumn.d.ts +55 -0
- package/components/table/TableColumn.js +115 -0
- package/components/table/TableColumn.js.map +1 -0
- package/components/table/TableExpandedContentRow.d.ts +22 -0
- package/components/table/TableExpandedContentRow.js +110 -0
- package/components/table/TableExpandedContentRow.js.map +1 -0
- package/components/table/TableExpandedRow.d.ts +22 -0
- package/components/table/TableExpandedRow.js +150 -0
- package/components/table/TableExpandedRow.js.map +1 -0
- package/components/table/TableExpanderButton.d.ts +25 -0
- package/components/table/TableExpanderButton.js +24 -0
- package/components/table/TableExpanderButton.js.map +1 -0
- package/components/table/TableFooter.d.ts +17 -0
- package/components/table/TableFooter.js +52 -0
- package/components/table/TableFooter.js.map +1 -0
- package/components/table/TableGroupFooterRow.d.ts +18 -0
- package/components/table/TableGroupFooterRow.js +30 -0
- package/components/table/TableGroupFooterRow.js.map +1 -0
- package/components/table/TableGroupRow.d.ts +24 -0
- package/components/table/TableGroupRow.js +36 -0
- package/components/table/TableGroupRow.js.map +1 -0
- package/components/table/TableHeader.d.ts +14 -0
- package/components/table/TableHeader.js +107 -0
- package/components/table/TableHeader.js.map +1 -0
- package/components/table/TableHeaderColumn.d.ts +76 -0
- package/components/table/TableHeaderColumn.js +81 -0
- package/components/table/TableHeaderColumn.js.map +1 -0
- package/components/table/TableHeaderRow.d.ts +9 -0
- package/components/table/TableHeaderRow.js +14 -0
- package/components/table/TableHeaderRow.js.map +1 -0
- package/components/table/TableRow.d.ts +24 -0
- package/components/table/TableRow.js +111 -0
- package/components/table/TableRow.js.map +1 -0
- package/components/table/TableSpacerRow.d.ts +13 -0
- package/components/table/TableSpacerRow.js +29 -0
- package/components/table/TableSpacerRow.js.map +1 -0
- package/components/table/TableToolbar.d.ts +3 -0
- package/components/table/TableToolbar.js +49 -4
- package/components/table/TableToolbar.js.map +1 -1
- package/components/table/TableToolbarColumn.d.ts +31 -0
- package/components/table/TableToolbarColumn.js +33 -0
- package/components/table/TableToolbarColumn.js.map +1 -0
- package/components/table/TableViewToggles.d.ts +21 -3
- package/components/table/TableViewToggles.js +59 -87
- package/components/table/TableViewToggles.js.map +1 -1
- package/components/table/context/TableInteractionContext.d.ts +26 -0
- package/components/table/context/TableInteractionContext.js +7 -0
- package/components/table/context/TableInteractionContext.js.map +1 -0
- package/components/table/context/TableLayoutContext.d.ts +25 -0
- package/components/table/context/TableLayoutContext.js +7 -0
- package/components/table/context/TableLayoutContext.js.map +1 -0
- package/components/table/context/TableRenderConfigContext.d.ts +27 -0
- package/components/table/context/TableRenderConfigContext.js +7 -0
- package/components/table/context/TableRenderConfigContext.js.map +1 -0
- package/components/table/context/TableRenderContext.d.ts +85 -0
- package/components/table/context/TableRenderContext.js +7 -0
- package/components/table/context/TableRenderContext.js.map +1 -0
- package/components/table/context/TableStructureContext.d.ts +31 -0
- package/components/table/context/TableStructureContext.js +17 -0
- package/components/table/context/TableStructureContext.js.map +1 -0
- package/components/table/layout/columnSizing.d.ts +3 -0
- package/components/table/layout/columnSizing.js +23 -0
- package/components/table/layout/columnSizing.js.map +1 -0
- package/components/table/layout/useDraggableColumns.d.ts +14 -0
- package/components/table/layout/useDraggableColumns.js +47 -0
- package/components/table/layout/useDraggableColumns.js.map +1 -0
- package/components/table/layout/useHorizontalSectionSync.d.ts +13 -0
- package/components/table/layout/useHorizontalSectionSync.js +43 -0
- package/components/table/layout/useHorizontalSectionSync.js.map +1 -0
- package/components/table/layout/useMeasuredColumnMaxWidths.d.ts +12 -0
- package/components/table/layout/useMeasuredColumnMaxWidths.js +85 -0
- package/components/table/layout/useMeasuredColumnMaxWidths.js.map +1 -0
- package/components/table/layout/useResizableColumns.d.ts +15 -0
- package/components/table/layout/useResizableColumns.js +132 -0
- package/components/table/layout/useResizableColumns.js.map +1 -0
- package/components/table/layout/useTableBodyScrollBottom.d.ts +12 -0
- package/components/table/layout/useTableBodyScrollBottom.js +37 -0
- package/components/table/layout/useTableBodyScrollBottom.js.map +1 -0
- package/components/table/layout/useTableLayout.d.ts +36 -0
- package/components/table/layout/useTableLayout.js +59 -0
- package/components/table/layout/useTableLayout.js.map +1 -0
- package/components/table/layout/useTableVirtualization.d.ts +22 -0
- package/components/table/layout/useTableVirtualization.js +125 -0
- package/components/table/layout/useTableVirtualization.js.map +1 -0
- package/components/table/model/resolveRowMeta.d.ts +3 -0
- package/components/table/model/resolveRowMeta.js +15 -0
- package/components/table/model/resolveRowMeta.js.map +1 -0
- package/components/table/model/resolveTableClassConfig.d.ts +47 -0
- package/components/table/model/resolveTableClassConfig.js +64 -0
- package/components/table/model/resolveTableClassConfig.js.map +1 -0
- package/components/table/model/tableView.types.d.ts +41 -0
- package/components/table/native/TableCol.js.map +1 -0
- package/components/table/{TableHead.js → native/TableHead.js} +2 -2
- package/components/table/native/TableHead.js.map +1 -0
- package/components/table/native/TableSettingsColumnButtons.js +59 -0
- package/components/table/native/TableSettingsColumnButtons.js.map +1 -0
- package/components/table/{TableSettingsColumnDetails.js → native/TableSettingsColumnDetails.js} +2 -2
- package/components/table/native/TableSettingsColumnDetails.js.map +1 -0
- package/components/table/{TableSettingsDialog.d.ts → native/TableSettingsDialog.d.ts} +2 -3
- package/components/table/native/TableSettingsDialog.js +216 -0
- package/components/table/native/TableSettingsDialog.js.map +1 -0
- package/components/table/{TableSettingsDialogFooter.js → native/TableSettingsDialogFooter.js} +2 -2
- package/components/table/native/TableSettingsDialogFooter.js.map +1 -0
- package/components/table/native/TableSettingsListContainer.js.map +1 -0
- package/components/table/native/TableSettingsListItem.js +100 -0
- package/components/table/native/TableSettingsListItem.js.map +1 -0
- package/components/table/render/body/TableBodyContent.d.ts +21 -0
- package/components/table/render/body/TableBodyContent.js +52 -0
- package/components/table/render/body/TableBodyContent.js.map +1 -0
- package/components/table/render/body/TableEmptyRow.d.ts +7 -0
- package/components/table/render/body/TableEmptyRow.js +6 -0
- package/components/table/render/body/TableEmptyRow.js.map +1 -0
- package/components/table/render/footer/TableFooterContent.d.ts +6 -0
- package/components/table/render/footer/TableFooterContent.js +6 -0
- package/components/table/render/footer/TableFooterContent.js.map +1 -0
- package/components/table/render/header/TableBatchDropdown.d.ts +13 -0
- package/components/table/render/header/TableBatchDropdown.js +30 -0
- package/components/table/render/header/TableBatchDropdown.js.map +1 -0
- package/components/table/render/header/TableColumnFilter.d.ts +66 -0
- package/components/table/render/header/TableColumnFilter.js +72 -0
- package/components/table/render/header/TableColumnFilter.js.map +1 -0
- package/components/table/render/header/TableDraggableHeaderCell.d.ts +4 -0
- package/components/table/render/header/TableDraggableHeaderCell.js +64 -0
- package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -0
- package/components/table/render/header/TableHeader.types.d.ts +37 -0
- package/components/table/render/header/TableHeaderCellContent.d.ts +4 -0
- package/components/table/render/header/TableHeaderCellContent.js +57 -0
- package/components/table/render/header/TableHeaderCellContent.js.map +1 -0
- package/components/table/render/header/TableHeaderCellResizeHandle.d.ts +4 -0
- package/components/table/render/header/TableHeaderCellResizeHandle.js +22 -0
- package/components/table/render/header/TableHeaderCellResizeHandle.js.map +1 -0
- package/components/table/render/header/TableHeaderDragOverlay.d.ts +14 -0
- package/components/table/render/header/TableHeaderDragOverlay.js +35 -0
- package/components/table/render/header/TableHeaderDragOverlay.js.map +1 -0
- package/components/table/render/header/TableHeaderSelectionCell.d.ts +9 -0
- package/components/table/render/header/TableHeaderSelectionCell.js +41 -0
- package/components/table/render/header/TableHeaderSelectionCell.js.map +1 -0
- package/components/table/render/header/TableStaticHeaderCell.d.ts +4 -0
- package/components/table/render/header/TableStaticHeaderCell.js +48 -0
- package/components/table/render/header/TableStaticHeaderCell.js.map +1 -0
- package/components/table/render/header/resolveAriaSort.d.ts +3 -0
- package/components/table/render/header/resolveAriaSort.js +8 -0
- package/components/table/render/header/resolveAriaSort.js.map +1 -0
- package/components/table/render/header/resolveColumnCollisionDetection.d.ts +2 -0
- package/components/table/render/header/resolveColumnCollisionDetection.js +9 -0
- package/components/table/render/header/resolveColumnCollisionDetection.js.map +1 -0
- package/components/table/render/header/resolveHeaderCellClassName.d.ts +12 -0
- package/components/table/render/header/resolveHeaderCellClassName.js +23 -0
- package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -0
- package/components/table/render/header/resolveHeaderCellStyle.d.ts +830 -0
- package/components/table/render/header/resolveHeaderCellStyle.js +9 -0
- package/components/table/render/header/resolveHeaderCellStyle.js.map +1 -0
- package/components/table/runtime/shouldAnimateBodyRows.d.ts +17 -0
- package/components/table/runtime/shouldAnimateBodyRows.js +5 -0
- package/components/table/runtime/shouldAnimateBodyRows.js.map +1 -0
- package/components/table/runtime/useRenderDraftState.d.ts +14 -0
- package/components/table/runtime/useRenderDraftState.js +80 -0
- package/components/table/runtime/useRenderDraftState.js.map +1 -0
- package/components/table/runtime/useResolvedRenderColumns.d.ts +43 -0
- package/components/table/runtime/useResolvedRenderColumns.js +113 -0
- package/components/table/runtime/useResolvedRenderColumns.js.map +1 -0
- package/components/table/runtime/useResolvedRenderHeader.d.ts +27 -0
- package/components/table/runtime/useResolvedRenderHeader.js +67 -0
- package/components/table/runtime/useResolvedRenderHeader.js.map +1 -0
- package/components/table/selection/useInternalTableSelectionState.d.ts +17 -0
- package/components/table/selection/useInternalTableSelectionState.js +28 -0
- package/components/table/selection/useInternalTableSelectionState.js.map +1 -0
- package/components/table/selection/useTableSelection.d.ts +82 -0
- package/components/table/selection/useTableSelection.js +35 -0
- package/components/table/selection/useTableSelection.js.map +1 -0
- package/components/table/settings/TableColumnsDropdown.d.ts +90 -0
- package/components/table/settings/TableColumnsDropdown.js +137 -0
- package/components/table/settings/TableColumnsDropdown.js.map +1 -0
- package/components/table/settings/TableColumnsDropdownItem.d.ts +8 -0
- package/components/table/settings/TableColumnsDropdownItem.js +66 -0
- package/components/table/settings/TableColumnsDropdownItem.js.map +1 -0
- package/components/table/shared/getAlignClassName.d.ts +3 -0
- package/components/table/shared/getAlignClassName.js +6 -0
- package/components/table/shared/getAlignClassName.js.map +1 -0
- package/components/table/shared/getCellContentOverflowClassName.d.ts +3 -0
- package/components/table/shared/getCellContentOverflowClassName.js +18 -0
- package/components/table/shared/getCellContentOverflowClassName.js.map +1 -0
- package/components/table/shared/getInteractiveRowProps.d.ts +15 -0
- package/components/table/shared/getInteractiveRowProps.js +15 -0
- package/components/table/shared/getInteractiveRowProps.js.map +1 -0
- package/components/table/shared/resolveTableAria.d.ts +2 -0
- package/components/table/shared/resolveTableAria.js +6 -0
- package/components/table/shared/resolveTableAria.js.map +1 -0
- package/components/table/tableSizing.constants.d.ts +4 -0
- package/components/table/tableSizing.constants.js +8 -0
- package/components/table/tableSizing.constants.js.map +1 -0
- package/components/teaser/TeaserContainer.js +3 -3
- package/components/teaser/TeaserContainer.js.map +1 -1
- package/components/virtualList/VirtualList.js +16 -13
- package/components/virtualList/VirtualList.js.map +1 -1
- package/googleAnalyticsUtils.d.ts +1 -0
- package/googleAnalyticsUtils.js +9 -0
- package/googleAnalyticsUtils.js.map +1 -0
- package/hooks/useCookies.js +17 -17
- package/hooks/useCookies.js.map +1 -1
- package/hooks/useDraggableElement.d.ts +35 -0
- package/hooks/useDraggableElement.js +49 -0
- package/hooks/useDraggableElement.js.map +1 -0
- package/hooks/useElapsedTime.js +4 -4
- package/hooks/useElapsedTime.js.map +1 -1
- package/hooks/useLocationSuggestions.js +13 -10
- package/hooks/useLocationSuggestions.js.map +1 -1
- package/hooks/useMergeRefs.js +12 -12
- package/hooks/useMergeRefs.js.map +1 -1
- package/hooks/usePrevious.d.ts +1 -1
- package/hooks/usePrevious.js.map +1 -1
- package/hooks/useResizeObserver.js +25 -10
- package/hooks/useResizeObserver.js.map +1 -1
- package/hooks/useRioCookieConsent.js +7 -4
- package/hooks/useRioCookieConsent.js.map +1 -1
- package/hooks/useSorting.js +10 -10
- package/hooks/useSorting.js.map +1 -1
- package/hooks/useStorage.js +12 -12
- package/hooks/useStorage.js.map +1 -1
- package/hooks/useSum.js +10 -7
- package/hooks/useSum.js.map +1 -1
- package/hooks/useTableSelection.js.map +1 -1
- package/hooks/useTimeout.js +6 -3
- package/hooks/useTimeout.js.map +1 -1
- package/hooks/useUrlState.js +3 -3
- package/package.json +17 -18
- package/routeUtils.js +12 -10
- package/utils/analytics/analyticsAnalysisUtils.d.ts +27 -0
- package/utils/analytics/analyticsAnalysisUtils.js +161 -0
- package/utils/analytics/analyticsAnalysisUtils.js.map +1 -0
- package/utils/analytics/autoTracking.d.ts +14 -0
- package/utils/analytics/autoTracking.js +19 -0
- package/utils/analytics/autoTracking.js.map +1 -0
- package/utils/analytics/createAnalyticsOverlayTooltip.d.ts +36 -0
- package/utils/analytics/createAnalyticsOverlayTooltip.js +203 -0
- package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -0
- package/utils/analytics/googleAnalyticsUtils.d.ts +37 -0
- package/utils/analytics/googleAnalyticsUtils.js +37 -0
- package/utils/analytics/googleAnalyticsUtils.js.map +1 -0
- package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.d.ts +8 -0
- package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.js +61 -0
- package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.js.map +1 -0
- package/utils/analytics/useAnalyticsOverlayDom.d.ts +11 -0
- package/utils/analytics/useAnalyticsOverlayDom.js +120 -0
- package/utils/analytics/useAnalyticsOverlayDom.js.map +1 -0
- package/utils/arrayMove.js +11 -0
- package/utils/arrayMove.js.map +1 -0
- package/utils/cssuseragent.js +2 -2
- package/utils/cssuseragent.js.map +1 -1
- package/utils/deviceUtils.js.map +1 -1
- package/utils/formatUtils.js.map +1 -1
- package/utils/hasUtilityClass.js +3 -3
- package/utils/hasUtilityClass.js.map +1 -1
- package/utils/hidePiiData.js.map +1 -1
- package/utils/init/checkForReleaseVersion.js +4 -4
- package/utils/init/checkForReleaseVersion.js.map +1 -1
- package/utils/init/styledLogs.js.map +1 -1
- package/utils/mergeRefs.js +3 -3
- package/utils/mergeRefs.js.map +1 -1
- package/utils/routeUtils.d.ts +37 -3
- package/utils/routeUtils.js +88 -70
- package/utils/routeUtils.js.map +1 -1
- package/utils/storageUtils.js +9 -9
- package/utils/storageUtils.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +2 -2
- package/version.js.map +1 -1
- package/components/table/TableCol.js.map +0 -1
- package/components/table/TableHead.js.map +0 -1
- package/components/table/TableSettingsColumnButtons.js +0 -45
- package/components/table/TableSettingsColumnButtons.js.map +0 -1
- package/components/table/TableSettingsColumnDetails.js.map +0 -1
- package/components/table/TableSettingsDialog.js +0 -208
- package/components/table/TableSettingsDialog.js.map +0 -1
- package/components/table/TableSettingsDialogFooter.js.map +0 -1
- package/components/table/TableSettingsListContainer.js.map +0 -1
- package/components/table/TableSettingsListItem.js +0 -96
- package/components/table/TableSettingsListItem.js.map +0 -1
- /package/components/table/{TableCol.d.ts → native/TableCol.d.ts} +0 -0
- /package/components/table/{TableCol.js → native/TableCol.js} +0 -0
- /package/components/table/{TableHead.d.ts → native/TableHead.d.ts} +0 -0
- /package/components/table/{TableSettingsColumnButtons.d.ts → native/TableSettingsColumnButtons.d.ts} +0 -0
- /package/components/table/{TableSettingsColumnDetails.d.ts → native/TableSettingsColumnDetails.d.ts} +0 -0
- /package/components/table/{TableSettingsDialogFooter.d.ts → native/TableSettingsDialogFooter.d.ts} +0 -0
- /package/components/table/{TableSettingsListContainer.d.ts → native/TableSettingsListContainer.d.ts} +0 -0
- /package/components/table/{TableSettingsListContainer.js → native/TableSettingsListContainer.js} +0 -0
- /package/components/table/{TableSettingsListItem.d.ts → native/TableSettingsListItem.d.ts} +0 -0
|
@@ -5,10 +5,10 @@ import q from "../../utils/classNames.js";
|
|
|
5
5
|
import z from "../../hooks/useClickOutside.js";
|
|
6
6
|
import B from "./CollapsedNavItem.js";
|
|
7
7
|
const $ = 50, F = 15, Q = (C) => {
|
|
8
|
-
const { navItems:
|
|
8
|
+
const { navItems: n = [], actionBarItems: d = [], containerWidth: k } = C, [o, a] = m(!1), [u, W] = m([]), [y, g] = m([]), w = z(() => a(!1)), f = b(null), t = b(!0);
|
|
9
9
|
L(() => {
|
|
10
10
|
t.current = !0;
|
|
11
|
-
}, [
|
|
11
|
+
}, [n, d, k]), V(() => {
|
|
12
12
|
t.current && E();
|
|
13
13
|
});
|
|
14
14
|
const D = (e) => e.scrollWidth - $ - F, E = () => {
|
|
@@ -18,22 +18,22 @@ const $ = 50, F = 15, Q = (C) => {
|
|
|
18
18
|
const s = [...e.children || []], v = D(e);
|
|
19
19
|
if (v < 0)
|
|
20
20
|
return;
|
|
21
|
-
let
|
|
21
|
+
let r = 0;
|
|
22
22
|
const I = [], N = [];
|
|
23
23
|
s.forEach((l) => {
|
|
24
24
|
if (!l.className)
|
|
25
25
|
return;
|
|
26
|
-
|
|
27
|
-
const c =
|
|
26
|
+
r = r + l.scrollWidth;
|
|
27
|
+
const c = n.find((A) => {
|
|
28
28
|
const h = l.attributes.getNamedItem("data-nav-item-key");
|
|
29
29
|
return h && A.key === h.value;
|
|
30
30
|
});
|
|
31
|
-
c && (v >
|
|
31
|
+
c && (v > r ? I.push(c) : N.push(c));
|
|
32
32
|
}), t.current = !1, g(I), W(N);
|
|
33
33
|
}, O = () => {
|
|
34
|
-
a(!
|
|
34
|
+
a(!o);
|
|
35
35
|
}, S = () => {
|
|
36
|
-
|
|
36
|
+
o && a(!1);
|
|
37
37
|
}, p = (e, s) => /* @__PURE__ */ i(
|
|
38
38
|
"li",
|
|
39
39
|
{
|
|
@@ -48,7 +48,7 @@ const $ = 50, F = 15, Q = (C) => {
|
|
|
48
48
|
B,
|
|
49
49
|
{
|
|
50
50
|
ref: w,
|
|
51
|
-
show:
|
|
51
|
+
show: o,
|
|
52
52
|
navItems: u,
|
|
53
53
|
actionBarItems: d,
|
|
54
54
|
onDropdownClick: O,
|
|
@@ -56,7 +56,7 @@ const $ = 50, F = 15, Q = (C) => {
|
|
|
56
56
|
},
|
|
57
57
|
"CollapsedNavItem"
|
|
58
58
|
)
|
|
59
|
-
] :
|
|
59
|
+
] : n.map((e) => p(e, t.current)), R = q("SubmoduleNavigation", "nav");
|
|
60
60
|
return /* @__PURE__ */ i("ul", { className: R, ref: f, children: x() });
|
|
61
61
|
};
|
|
62
62
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavItems.js","sources":["../../../src/components/applicationHeader/NavItems.tsx"],"sourcesContent":["import type React from 'react';\nimport { useState, useEffect, useLayoutEffect, useRef } from 'react';\nimport { isEmpty } from 'es-toolkit/compat';\n\nimport classNames from '../../utils/classNames';\nimport useClickOutside from '../../hooks/useClickOutside';\nimport CollapsedNavItem from './CollapsedNavItem';\nimport type { ModulePropType } from './ApplicationHeader';\n\nconst collapsedDropdownWidth = 50;\nconst paddingLeft = 15;\n\nexport type NavItemsProps = {\n navItems?: ModulePropType[];\n containerWidth: number;\n actionBarItems?: React.ReactNode[];\n};\n\nexport const NavItems = (props: NavItemsProps) => {\n const { navItems: externalNavItems = [], actionBarItems = [], containerWidth } = props;\n\n const [isCollapsedNavItemOpen, setIsCollapsedNavItemOpen] = useState(false);\n const [collapsedNavItems, setCollapsedNavItems] = useState<ModulePropType[]>([]);\n const [visibleNavItems, setVisibleNavItems] = useState<ModulePropType[]>([]);\n\n const collapsedDropdownRef = useClickOutside(() => setIsCollapsedNavItemOpen(false));\n\n const navigationRef = useRef(null);\n const isOffscreen = useRef(true);\n\n // console.log({ containerWidth });\n\n // Before any new changes are applied\n useEffect(() => {\n // After the component received new props, every nav item has to be rendered offscreen\n // again without collapsing them into the dropdown to measure its width\n isOffscreen.current = true;\n }, [externalNavItems, actionBarItems, containerWidth]);\n\n // After the component has been rendered\n useLayoutEffect(() => {\n // After every nav item was rendered offscreen again we need to recalculate the width\n // of the items again and render the result with possible collapsible dropdown.\n if (isOffscreen.current) {\n computeNavItems();\n }\n });\n\n const getAvailableWidth = (element: HTMLElement) => {\n // Get relevant elements\n // const parent = element.parentNode;\n\n // const actionBar = head(parent.getElementsByClassName('ApplicationActionBar'));\n // const actionBarWidth = actionBar && actionBar.childElementCount > 0 ? actionBar.scrollWidth : 0;\n\n // Since the collapsed dropdown has not been rendered yet,\n // use the fixed with for it to compute available width\n const availableWidth = element.scrollWidth - collapsedDropdownWidth - paddingLeft;\n return availableWidth;\n };\n\n const computeNavItems = () => {\n const element: HTMLElement | null = navigationRef.current;\n\n if (!element) {\n return;\n }\n\n const navItems = [...((element as HTMLElement).children || [])];\n\n const availableWidth = getAvailableWidth(element);\n\n if (availableWidth < 0) {\n return;\n }\n\n // Iterate over all rendered navItems to figure out their widths in order to figure out\n // which navItems need to be rendered in the collapsed dropdown\n let requiredNavItemsSize = 0;\n\n const updatedVisibleItems: ModulePropType[] = [];\n const updatedCollapsedItems: ModulePropType[] = [];\n\n navItems.forEach(item => {\n if (!item.className) {\n return;\n }\n\n // Calculate the remaining width\n requiredNavItemsSize = requiredNavItemsSize + item.scrollWidth;\n\n // console.log({ requiredNavItemsSize });\n\n // Use the navItems.key to find corresponding navItems for each DOM node\n const matchedNavItem = externalNavItems.find(navItem => {\n const dataAttr = item.attributes.getNamedItem('data-nav-item-key');\n return dataAttr && navItem.key === dataAttr.value;\n });\n\n if (!matchedNavItem) {\n return;\n }\n\n // Add navItems to the visible group until the available with exceeds.\n // All other navItems will be added to the collapsed group\n if (availableWidth > requiredNavItemsSize) {\n updatedVisibleItems.push(matchedNavItem);\n } else {\n updatedCollapsedItems.push(matchedNavItem);\n }\n });\n\n // Set the state to render the navItems again\n isOffscreen.current = false;\n\n setVisibleNavItems(updatedVisibleItems);\n setCollapsedNavItems(updatedCollapsedItems);\n };\n\n const handleCollapsedDropdown = () => {\n // When the dropdown is open, set showCollapsedNavItems to false so all submodule items\n // are rendered and their size can be computed\n if (isCollapsedNavItemOpen) {\n setIsCollapsedNavItemOpen(false);\n } else {\n // When the dropdown is closed, just set the flag to open is enough\n setIsCollapsedNavItemOpen(true);\n }\n };\n\n const handleCollapsedNavItemSelected = () => {\n // Close collapsed dropdown on item select\n if (isCollapsedNavItemOpen) {\n setIsCollapsedNavItemOpen(false);\n }\n };\n\n const renderNavItem = (navItem: ModulePropType, isItemOffscreen: boolean) =>
|
|
1
|
+
{"version":3,"file":"NavItems.js","sources":["../../../src/components/applicationHeader/NavItems.tsx"],"sourcesContent":["import type React from 'react';\nimport { useState, useEffect, useLayoutEffect, useRef } from 'react';\nimport { isEmpty } from 'es-toolkit/compat';\n\nimport classNames from '../../utils/classNames';\nimport useClickOutside from '../../hooks/useClickOutside';\nimport CollapsedNavItem from './CollapsedNavItem';\nimport type { ModulePropType } from './ApplicationHeader';\n\nconst collapsedDropdownWidth = 50;\nconst paddingLeft = 15;\n\nexport type NavItemsProps = {\n navItems?: ModulePropType[];\n containerWidth: number;\n actionBarItems?: React.ReactNode[];\n};\n\nexport const NavItems = (props: NavItemsProps) => {\n const { navItems: externalNavItems = [], actionBarItems = [], containerWidth } = props;\n\n const [isCollapsedNavItemOpen, setIsCollapsedNavItemOpen] = useState(false);\n const [collapsedNavItems, setCollapsedNavItems] = useState<ModulePropType[]>([]);\n const [visibleNavItems, setVisibleNavItems] = useState<ModulePropType[]>([]);\n\n const collapsedDropdownRef = useClickOutside(() => setIsCollapsedNavItemOpen(false));\n\n const navigationRef = useRef(null);\n const isOffscreen = useRef(true);\n\n // console.log({ containerWidth });\n\n // Before any new changes are applied\n useEffect(() => {\n // After the component received new props, every nav item has to be rendered offscreen\n // again without collapsing them into the dropdown to measure its width\n isOffscreen.current = true;\n }, [externalNavItems, actionBarItems, containerWidth]);\n\n // After the component has been rendered\n useLayoutEffect(() => {\n // After every nav item was rendered offscreen again we need to recalculate the width\n // of the items again and render the result with possible collapsible dropdown.\n if (isOffscreen.current) {\n computeNavItems();\n }\n });\n\n const getAvailableWidth = (element: HTMLElement) => {\n // Get relevant elements\n // const parent = element.parentNode;\n\n // const actionBar = head(parent.getElementsByClassName('ApplicationActionBar'));\n // const actionBarWidth = actionBar && actionBar.childElementCount > 0 ? actionBar.scrollWidth : 0;\n\n // Since the collapsed dropdown has not been rendered yet,\n // use the fixed with for it to compute available width\n const availableWidth = element.scrollWidth - collapsedDropdownWidth - paddingLeft;\n return availableWidth;\n };\n\n const computeNavItems = () => {\n const element: HTMLElement | null = navigationRef.current;\n\n if (!element) {\n return;\n }\n\n const navItems = [...((element as HTMLElement).children || [])];\n\n const availableWidth = getAvailableWidth(element);\n\n if (availableWidth < 0) {\n return;\n }\n\n // Iterate over all rendered navItems to figure out their widths in order to figure out\n // which navItems need to be rendered in the collapsed dropdown\n let requiredNavItemsSize = 0;\n\n const updatedVisibleItems: ModulePropType[] = [];\n const updatedCollapsedItems: ModulePropType[] = [];\n\n navItems.forEach(item => {\n if (!item.className) {\n return;\n }\n\n // Calculate the remaining width\n requiredNavItemsSize = requiredNavItemsSize + item.scrollWidth;\n\n // console.log({ requiredNavItemsSize });\n\n // Use the navItems.key to find corresponding navItems for each DOM node\n const matchedNavItem = externalNavItems.find(navItem => {\n const dataAttr = item.attributes.getNamedItem('data-nav-item-key');\n return dataAttr && navItem.key === dataAttr.value;\n });\n\n if (!matchedNavItem) {\n return;\n }\n\n // Add navItems to the visible group until the available with exceeds.\n // All other navItems will be added to the collapsed group\n if (availableWidth > requiredNavItemsSize) {\n updatedVisibleItems.push(matchedNavItem);\n } else {\n updatedCollapsedItems.push(matchedNavItem);\n }\n });\n\n // Set the state to render the navItems again\n isOffscreen.current = false;\n\n setVisibleNavItems(updatedVisibleItems);\n setCollapsedNavItems(updatedCollapsedItems);\n };\n\n const handleCollapsedDropdown = () => {\n // When the dropdown is open, set showCollapsedNavItems to false so all submodule items\n // are rendered and their size can be computed\n if (isCollapsedNavItemOpen) {\n setIsCollapsedNavItemOpen(false);\n } else {\n // When the dropdown is closed, just set the flag to open is enough\n setIsCollapsedNavItemOpen(true);\n }\n };\n\n const handleCollapsedNavItemSelected = () => {\n // Close collapsed dropdown on item select\n if (isCollapsedNavItemOpen) {\n setIsCollapsedNavItemOpen(false);\n }\n };\n\n const renderNavItem = (navItem: ModulePropType, isItemOffscreen: boolean) => (\n <li\n key={navItem.key}\n className={`submodule ${isItemOffscreen ? 'offscreen' : ''}`}\n data-nav-item-key={navItem.key}\n >\n {navItem.route}\n </li>\n );\n\n const renderNavItems = () => {\n if (!isOffscreen.current && !isEmpty(collapsedNavItems)) {\n const visibleItems = visibleNavItems.map(navItem => renderNavItem(navItem, isOffscreen.current));\n\n return [\n ...visibleItems,\n <CollapsedNavItem\n key='CollapsedNavItem'\n ref={collapsedDropdownRef}\n show={isCollapsedNavItemOpen}\n navItems={collapsedNavItems}\n actionBarItems={actionBarItems}\n onDropdownClick={handleCollapsedDropdown}\n onItemClick={handleCollapsedNavItemSelected}\n />,\n ];\n }\n\n return externalNavItems.map(navItem => renderNavItem(navItem, isOffscreen.current));\n };\n\n // As all navItems need to be added to the DOM first in order to get their real size\n // the computation whether a navItem need to be shown under the collapsed dropdown or not\n // needs to be done after the component did mount to the DOM.\n\n const classes = classNames('SubmoduleNavigation', 'nav');\n\n return (\n <ul className={classes} ref={navigationRef}>\n {renderNavItems()}\n </ul>\n );\n};\n\nexport default NavItems;\n"],"names":["collapsedDropdownWidth","paddingLeft","NavItems","props","externalNavItems","actionBarItems","containerWidth","isCollapsedNavItemOpen","setIsCollapsedNavItemOpen","useState","collapsedNavItems","setCollapsedNavItems","visibleNavItems","setVisibleNavItems","collapsedDropdownRef","useClickOutside","navigationRef","useRef","isOffscreen","useEffect","useLayoutEffect","computeNavItems","getAvailableWidth","element","navItems","availableWidth","requiredNavItemsSize","updatedVisibleItems","updatedCollapsedItems","item","matchedNavItem","navItem","dataAttr","handleCollapsedDropdown","handleCollapsedNavItemSelected","renderNavItem","isItemOffscreen","jsx","renderNavItems","isEmpty","CollapsedNavItem","classes","classNames"],"mappings":";;;;;;AASA,MAAMA,IAAyB,IACzBC,IAAc,IAQPC,IAAW,CAACC,MAAyB;AAC9C,QAAM,EAAE,UAAUC,IAAmB,CAAA,GAAI,gBAAAC,IAAiB,CAAA,GAAI,gBAAAC,EAAA,IAAmBH,GAE3E,CAACI,GAAwBC,CAAyB,IAAIC,EAAS,EAAK,GACpE,CAACC,GAAmBC,CAAoB,IAAIF,EAA2B,CAAA,CAAE,GACzE,CAACG,GAAiBC,CAAkB,IAAIJ,EAA2B,CAAA,CAAE,GAErEK,IAAuBC,EAAgB,MAAMP,EAA0B,EAAK,CAAC,GAE7EQ,IAAgBC,EAAO,IAAI,GAC3BC,IAAcD,EAAO,EAAI;AAK/B,EAAAE,EAAU,MAAM;AAGZ,IAAAD,EAAY,UAAU;AAAA,EAC1B,GAAG,CAACd,GAAkBC,GAAgBC,CAAc,CAAC,GAGrDc,EAAgB,MAAM;AAGlB,IAAIF,EAAY,WACZG,EAAA;AAAA,EAER,CAAC;AAED,QAAMC,IAAoB,CAACC,MASAA,EAAQ,cAAcvB,IAAyBC,GAIpEoB,IAAkB,MAAM;AAC1B,UAAME,IAA8BP,EAAc;AAElD,QAAI,CAACO;AACD;AAGJ,UAAMC,IAAW,CAAC,GAAKD,EAAwB,YAAY,CAAA,CAAG,GAExDE,IAAiBH,EAAkBC,CAAO;AAEhD,QAAIE,IAAiB;AACjB;AAKJ,QAAIC,IAAuB;AAE3B,UAAMC,IAAwC,CAAA,GACxCC,IAA0C,CAAA;AAEhD,IAAAJ,EAAS,QAAQ,CAAAK,MAAQ;AACrB,UAAI,CAACA,EAAK;AACN;AAIJ,MAAAH,IAAuBA,IAAuBG,EAAK;AAKnD,YAAMC,IAAiB1B,EAAiB,KAAK,CAAA2B,MAAW;AACpD,cAAMC,IAAWH,EAAK,WAAW,aAAa,mBAAmB;AACjE,eAAOG,KAAYD,EAAQ,QAAQC,EAAS;AAAA,MAChD,CAAC;AAED,MAAKF,MAMDL,IAAiBC,IACjBC,EAAoB,KAAKG,CAAc,IAEvCF,EAAsB,KAAKE,CAAc;AAAA,IAEjD,CAAC,GAGDZ,EAAY,UAAU,IAEtBL,EAAmBc,CAAmB,GACtChB,EAAqBiB,CAAqB;AAAA,EAC9C,GAEMK,IAA0B,MAAM;AAGlC,IACIzB,EADA,CAAAD,CAC+B;AAAA,EAKvC,GAEM2B,IAAiC,MAAM;AAEzC,IAAI3B,KACAC,EAA0B,EAAK;AAAA,EAEvC,GAEM2B,IAAgB,CAACJ,GAAyBK,MAC5C,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MAEG,WAAW,aAAaD,IAAkB,cAAc,EAAE;AAAA,MAC1D,qBAAmBL,EAAQ;AAAA,MAE1B,UAAAA,EAAQ;AAAA,IAAA;AAAA,IAJJA,EAAQ;AAAA,EAAA,GAQfO,IAAiB,MACf,CAACpB,EAAY,WAAW,CAACqB,EAAQ7B,CAAiB,IAG3C;AAAA,IACH,GAHiBE,EAAgB,IAAI,CAAAmB,MAAWI,EAAcJ,GAASb,EAAY,OAAO,CAAC;AAAA,IAI3F,gBAAAmB;AAAA,MAACG;AAAA,MAAA;AAAA,QAEG,KAAK1B;AAAA,QACL,MAAMP;AAAA,QACN,UAAUG;AAAA,QACV,gBAAAL;AAAA,QACA,iBAAiB4B;AAAA,QACjB,aAAaC;AAAA,MAAA;AAAA,MANT;AAAA,IAAA;AAAA,EAOR,IAID9B,EAAiB,IAAI,CAAA2B,MAAWI,EAAcJ,GAASb,EAAY,OAAO,CAAC,GAOhFuB,IAAUC,EAAW,uBAAuB,KAAK;AAEvD,2BACK,MAAA,EAAG,WAAWD,GAAS,KAAKzB,GACxB,eACL;AAER;"}
|
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
import { jsxs as A, jsx as d } from "react/jsx-runtime";
|
|
2
|
-
import R, { memo as
|
|
3
|
-
import { noop as
|
|
2
|
+
import R, { memo as oe, forwardRef as re, useState as f, useRef as ne } from "react";
|
|
3
|
+
import { noop as T, head as E, isArray as L } from "es-toolkit/compat";
|
|
4
4
|
import ie from "tiny-invariant";
|
|
5
5
|
import g from "../../utils/classNames.js";
|
|
6
6
|
import de from "./TreeCategory.js";
|
|
7
|
-
import
|
|
7
|
+
import u from "../resizer/Resizer.js";
|
|
8
8
|
import ae from "./TreeSidebar.js";
|
|
9
9
|
import ce from "../../utils/getWidthInBoundaries.js";
|
|
10
10
|
import le from "../../utils/mergeRefs.js";
|
|
11
11
|
import fe from "../../hooks/usePrevious.js";
|
|
12
12
|
import me from "../smoothScrollbars/SmoothScrollbars.js";
|
|
13
|
-
const pe = 350, he = 100,
|
|
13
|
+
const pe = 350, he = 100, ye = 0, m = {
|
|
14
14
|
MODE_FLY: "fly",
|
|
15
15
|
MODE_FLUID: "fluid"
|
|
16
|
-
}, b = (e) => E(e?.current?.getElementsByClassName("AssetTreeBody")),
|
|
16
|
+
}, b = (e) => E(e?.current?.getElementsByClassName("AssetTreeBody")), Te = (e, o) => L(e) ? e.find((t) => t && t.props.id === o) : e, ue = (e, o) => R.Children.map(e, (t) => {
|
|
17
17
|
const p = g(
|
|
18
18
|
"TreeOffscreenWrapper",
|
|
19
|
-
t && t.props.id !==
|
|
19
|
+
t && t.props.id !== o && "position-offscreen pointer-events-none"
|
|
20
20
|
);
|
|
21
21
|
return /* @__PURE__ */ d("div", { className: p, children: t });
|
|
22
|
-
}), ge = (e) => R.isValidElement(e) && e.type === de, Re =
|
|
23
|
-
|
|
22
|
+
}), ge = (e) => R.isValidElement(e) && e.type === de, Re = oe(
|
|
23
|
+
re((e, o) => {
|
|
24
24
|
const {
|
|
25
25
|
className: t,
|
|
26
26
|
resizable: p = !0,
|
|
27
27
|
width: a = pe,
|
|
28
28
|
minWidth: M = he,
|
|
29
|
-
maxWidth: C =
|
|
29
|
+
maxWidth: C = ye,
|
|
30
30
|
height: D,
|
|
31
31
|
bordered: I = !1,
|
|
32
|
-
currentCategoryId:
|
|
32
|
+
currentCategoryId: r,
|
|
33
33
|
isOpen: n = !0,
|
|
34
34
|
useOffscreen: O = !1,
|
|
35
35
|
fly: i = !1,
|
|
36
|
-
onCategoryChange: S =
|
|
37
|
-
onToggleTree: N =
|
|
38
|
-
onResizeEnd: _ =
|
|
36
|
+
onCategoryChange: S = T,
|
|
37
|
+
onToggleTree: N = T,
|
|
38
|
+
onResizeEnd: _ = T,
|
|
39
39
|
children: c = [],
|
|
40
40
|
...w
|
|
41
|
-
} = e, W = (s) => s ? m.MODE_FLY : m.MODE_FLUID, [F, z] = f(a), [x, v] = f(!1), [B, H] = f(W(i)), h = ne(null), P = le([
|
|
41
|
+
} = e, W = (s) => s ? m.MODE_FLY : m.MODE_FLUID, [F, z] = f(a), [x, v] = f(!1), [B, H] = f(W(i)), h = ne(null), P = le([o, h]);
|
|
42
42
|
fe(a) !== a && z(a);
|
|
43
43
|
const [U, j] = f(i);
|
|
44
44
|
U !== i && (H(W(i)), j(i));
|
|
@@ -50,11 +50,11 @@ const pe = 350, he = 100, ue = 0, m = {
|
|
|
50
50
|
!n && "closed",
|
|
51
51
|
I && "border",
|
|
52
52
|
B === m.MODE_FLY ? "fly" : "fluid"
|
|
53
|
-
), k = g("AssetTreeResizeLimit", x && "display-block"), G = { left: C || window.innerWidth * 0.5 }, V = E(l), X =
|
|
53
|
+
), k = g("AssetTreeResizeLimit", x && "display-block"), G = { left: C || window.innerWidth * 0.5 }, V = E(l), X = r ? Te(l, r) : V, Z = {
|
|
54
54
|
width: F,
|
|
55
55
|
height: D
|
|
56
|
-
},
|
|
57
|
-
S(s), n ? n &&
|
|
56
|
+
}, y = () => N(!n), q = (s) => {
|
|
57
|
+
S(s), n ? n && r === s && y() : y();
|
|
58
58
|
}, J = (s) => {
|
|
59
59
|
const $ = window.innerWidth * 0.5, ee = C || $;
|
|
60
60
|
z((se) => {
|
|
@@ -75,21 +75,21 @@ const pe = 350, he = 100, ue = 0, m = {
|
|
|
75
75
|
ae,
|
|
76
76
|
{
|
|
77
77
|
onSelectCategory: q,
|
|
78
|
-
currentCategoryId:
|
|
79
|
-
onClick:
|
|
78
|
+
currentCategoryId: r,
|
|
79
|
+
onClick: y,
|
|
80
80
|
children: L(c) ? c : [c]
|
|
81
81
|
}
|
|
82
82
|
),
|
|
83
|
-
/* @__PURE__ */ d(me, { slideIn: !0, className: "AssetTreeBody", children: O ?
|
|
83
|
+
/* @__PURE__ */ d(me, { slideIn: !0, className: "AssetTreeBody", children: O ? ue(l, r) : X })
|
|
84
84
|
] }),
|
|
85
85
|
p && n && /* @__PURE__ */ d(
|
|
86
|
-
|
|
86
|
+
u,
|
|
87
87
|
{
|
|
88
88
|
onResizeStart: K,
|
|
89
89
|
onResize: J,
|
|
90
90
|
onResizeEnd: Q,
|
|
91
|
-
direction:
|
|
92
|
-
position:
|
|
91
|
+
direction: u.HORIZONTAL,
|
|
92
|
+
position: u.RIGHT
|
|
93
93
|
}
|
|
94
94
|
)
|
|
95
95
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetTree.js","sources":["../../../src/components/assetTree/AssetTree.tsx"],"sourcesContent":["import React, { memo, useState, useRef, forwardRef, type PropsWithChildren } from 'react';\nimport { head, isArray, noop } from 'es-toolkit/compat';\nimport invariant from 'tiny-invariant';\n\nimport classNames from '../../utils/classNames';\nimport TreeCategory, { type TreeCategoryProps } from './TreeCategory';\nimport Resizer from '../resizer/Resizer';\nimport TreeSidebar from './TreeSidebar';\nimport getWidthInBoundaries from '../../utils/getWidthInBoundaries';\nimport mergeRefs from '../../utils/mergeRefs';\nimport usePrevious from '../../usePrevious';\nimport SmoothScrollbars from '../smoothScrollbars/SmoothScrollbars';\n\nconst DEFAULT_WIDTH = 350;\nconst DEFAULT_MIN_WIDTH = 100;\nconst DEFAULT_MAX_WIDTH = 0;\n\nconst TreeMode = {\n MODE_FLY: 'fly',\n MODE_FLUID: 'fluid',\n} as const;\n\nconst getSidebarBodyRef = (sidebarRef: React.MutableRefObject<HTMLDivElement | null>) =>\n head(sidebarRef?.current?.getElementsByClassName('AssetTreeBody'));\n\nconst getCurrentCategoryElement = (children: React.ReactElement[], currentCategoryId: string) => {\n return isArray(children) ? children.find(child => child && child.props.id === currentCategoryId) : children;\n};\n\nconst renderTreesOffscreen = (children: React.ReactElement[], categoryId: string | undefined) => {\n return React.Children.map(children, child => {\n const offscreenClasses = classNames(\n 'TreeOffscreenWrapper',\n child && child.props.id !== categoryId && 'position-offscreen pointer-events-none'\n );\n return <div className={offscreenClasses}>{child}</div>;\n });\n};\n\nexport type AssetTreeProps = {\n /**\n * Defines if the component will overlap the body content.\n *\n * @default false\n */\n fly?: boolean;\n\n /**\n * Defines whether or not the sidebar is resizable.\n *\n * @default true\n */\n resizable?: boolean;\n\n /**\n * Defines whether the component has a border or not.\n *\n * @default false\n */\n bordered?: boolean;\n\n /**\n * Defines the width of the component. The value is set as inline style.\n *\n * Note: when component is resizable it will take the provided\n * width in px only and convert it to number in case.\n *\n * @default 350\n */\n width?: number;\n\n /**\n * Defines the minimum width of the component in px that will take effect when resizing.\n *\n * @default 100\n */\n minWidth?: number;\n\n /**\n * Defines the maximum width of the component in px that will take effect when resizing.\n *\n * @default 0\n */\n maxWidth?: number;\n\n /**\n * Defines the height of the component in px.\n */\n height?: number;\n\n /**\n * Defines whether the component is open or not.\n *\n * @default true\n */\n isOpen?: boolean;\n\n /**\n * Callback for when the tree visibility is toggled.\n *\n * @default () => {}\n * @param isOpen\n * @returns\n */\n onToggleTree?: (isOpen: boolean) => void;\n\n /**\n * The id of the category which is currently active and shall be shown.\n */\n currentCategoryId?: string;\n\n /**\n * Callback for handling change of category.\n *\n * @default () => {}\n * @param selectedCategoryId\n * @returns\n */\n onCategoryChange?: (selectedCategoryId: string) => void;\n\n /**\n * Callback for when the resize is done.\n *\n * @default () => {}\n */\n onResizeEnd?: VoidFunction;\n\n /**\n * Defines whether the tree components are rendered offscreen and kept mounted in the DOM.\n *\n * @default false\n */\n useOffscreen?: boolean;\n\n /**\n * Additional classes added on the wrapper element.\n */\n className?: string;\n};\n\n// Check if the child is a React element and if it has the type TreeCategory\nconst isTreeCategory = (child: React.ReactNode): child is React.ReactElement<TreeCategoryProps> => {\n return React.isValidElement(child) && child.type === TreeCategory;\n};\n\nconst AssetTree = memo(\n forwardRef<HTMLDivElement, PropsWithChildren<AssetTreeProps>>((props, ref) => {\n const {\n className,\n resizable = true,\n width = DEFAULT_WIDTH,\n minWidth = DEFAULT_MIN_WIDTH,\n maxWidth = DEFAULT_MAX_WIDTH,\n height,\n bordered = false,\n currentCategoryId,\n isOpen = true,\n useOffscreen = false,\n fly = false,\n onCategoryChange = noop,\n onToggleTree = noop,\n onResizeEnd = noop,\n children = [],\n ...remainingProps\n } = props;\n\n const getSidebarMode = (isFly: boolean) => (isFly ? TreeMode.MODE_FLY : TreeMode.MODE_FLUID);\n\n const [treeWidth, setTreeWidth] = useState(width);\n const [isResize, setIsResize] = useState(false);\n const [sidebarMode, setSidebarMode] = useState(getSidebarMode(fly));\n\n const sidebarRef = useRef<HTMLDivElement>(null);\n\n const mergedRefs = mergeRefs([ref, sidebarRef]);\n\n // Update internal state when props change\n const previousWidth = usePrevious(width);\n if (previousWidth !== width) {\n setTreeWidth(width);\n }\n\n const [previousMode, setPreviousMode] = useState(fly);\n if (previousMode !== fly) {\n setSidebarMode(getSidebarMode(fly));\n setPreviousMode(fly);\n }\n\n const childrenArray = React.Children.toArray(children);\n\n // check for children type of TreeCategory and throw error in case\n invariant(childrenArray.every(isTreeCategory), 'AssetTree only excepts children of type \"TreeCategory\"');\n\n const classes = classNames(\n 'AssetTree',\n className,\n !isOpen && 'closed',\n bordered && 'border',\n sidebarMode === TreeMode.MODE_FLY ? 'fly' : 'fluid'\n );\n\n const resizeLimitClasses = classNames('AssetTreeResizeLimit', isResize && 'display-block');\n\n const resizeIndicatorPosition = maxWidth || window.innerWidth * 0.5;\n const resizeLimitStyle = { left: resizeIndicatorPosition };\n\n const firstChild = head(childrenArray);\n\n const category = currentCategoryId ? getCurrentCategoryElement(childrenArray, currentCategoryId) : firstChild;\n\n const style = {\n width: treeWidth,\n height,\n };\n\n const handleToggleTreeContent = () => onToggleTree(!isOpen);\n\n const handleSelectCategory = (selectedCategoryId: string) => {\n onCategoryChange(selectedCategoryId);\n\n if (!isOpen) {\n handleToggleTreeContent();\n } else if (isOpen && currentCategoryId === selectedCategoryId) {\n handleToggleTreeContent();\n }\n };\n\n const handleResize = (diff: number) => {\n const halfWindowWidth = window.innerWidth * 0.5;\n const usedMaxWidth = maxWidth || halfWindowWidth;\n\n // Check for sidebar width if it is half window size. If it was before but the sidebar was resized so it is\n // no longer half window size, set the sidebar width to half the window size to avoid jumping sidebar\n // to old width\n setTreeWidth(oldWidth => {\n const updatedWidth = oldWidth - diff;\n return getWidthInBoundaries(minWidth, usedMaxWidth, updatedWidth);\n });\n };\n\n const handleResizeStart = () => {\n const body = getSidebarBodyRef(sidebarRef);\n if (body) {\n body.classList.add('pointer-events-none');\n }\n setIsResize(true);\n };\n\n const handleResizeEnd = () => {\n const body = getSidebarBodyRef(sidebarRef);\n if (body) {\n body.classList.remove('pointer-events-none');\n }\n setIsResize(false);\n onResizeEnd();\n };\n\n return (\n <div {...remainingProps} className={classes} style={style} ref={mergedRefs}>\n <div className={resizeLimitClasses} style={resizeLimitStyle} />\n <div className='AssetTreeContent'>\n <TreeSidebar\n onSelectCategory={handleSelectCategory}\n currentCategoryId={currentCategoryId}\n onClick={handleToggleTreeContent}\n >\n {isArray(children) ? children : [children]}\n </TreeSidebar>\n <SmoothScrollbars slideIn className='AssetTreeBody'>\n {useOffscreen ? renderTreesOffscreen(childrenArray, currentCategoryId) : category}\n </SmoothScrollbars>\n </div>\n {resizable && isOpen && (\n <Resizer\n onResizeStart={handleResizeStart}\n onResize={handleResize}\n onResizeEnd={handleResizeEnd}\n direction={Resizer.HORIZONTAL}\n position={Resizer.RIGHT}\n />\n )}\n </div>\n );\n })\n);\n\nObject.assign(AssetTree, TreeMode);\n\nexport default AssetTree;\n"],"names":["DEFAULT_WIDTH","DEFAULT_MIN_WIDTH","DEFAULT_MAX_WIDTH","TreeMode","getSidebarBodyRef","sidebarRef","head","getCurrentCategoryElement","children","currentCategoryId","isArray","child","renderTreesOffscreen","categoryId","React","offscreenClasses","classNames","jsx","isTreeCategory","TreeCategory","AssetTree","memo","forwardRef","props","ref","className","resizable","width","minWidth","maxWidth","height","bordered","isOpen","useOffscreen","fly","onCategoryChange","noop","onToggleTree","onResizeEnd","remainingProps","getSidebarMode","isFly","treeWidth","setTreeWidth","useState","isResize","setIsResize","sidebarMode","setSidebarMode","useRef","mergedRefs","mergeRefs","usePrevious","previousMode","setPreviousMode","childrenArray","invariant","classes","resizeLimitClasses","resizeLimitStyle","firstChild","category","style","handleToggleTreeContent","handleSelectCategory","selectedCategoryId","handleResize","diff","halfWindowWidth","usedMaxWidth","oldWidth","updatedWidth","getWidthInBoundaries","handleResizeStart","body","handleResizeEnd","jsxs","TreeSidebar","SmoothScrollbars","Resizer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AssetTree.js","sources":["../../../src/components/assetTree/AssetTree.tsx"],"sourcesContent":["import React, { memo, useState, useRef, forwardRef, type PropsWithChildren } from 'react';\nimport { head, isArray, noop } from 'es-toolkit/compat';\nimport invariant from 'tiny-invariant';\n\nimport classNames from '../../utils/classNames';\nimport TreeCategory, { type TreeCategoryProps } from './TreeCategory';\nimport Resizer from '../resizer/Resizer';\nimport TreeSidebar from './TreeSidebar';\nimport getWidthInBoundaries from '../../utils/getWidthInBoundaries';\nimport mergeRefs from '../../utils/mergeRefs';\nimport usePrevious from '../../usePrevious';\nimport SmoothScrollbars from '../smoothScrollbars/SmoothScrollbars';\n\nconst DEFAULT_WIDTH = 350;\nconst DEFAULT_MIN_WIDTH = 100;\nconst DEFAULT_MAX_WIDTH = 0;\n\nconst TreeMode = {\n MODE_FLY: 'fly',\n MODE_FLUID: 'fluid',\n} as const;\n\nconst getSidebarBodyRef = (sidebarRef: React.MutableRefObject<HTMLDivElement | null>) =>\n head(sidebarRef?.current?.getElementsByClassName('AssetTreeBody'));\n\nconst getCurrentCategoryElement = (children: React.ReactElement[], currentCategoryId: string) =>\n isArray(children) ? children.find(child => child && child.props.id === currentCategoryId) : children;\n\nconst renderTreesOffscreen = (children: React.ReactElement[], categoryId: string | undefined) =>\n React.Children.map(children, child => {\n const offscreenClasses = classNames(\n 'TreeOffscreenWrapper',\n child && child.props.id !== categoryId && 'position-offscreen pointer-events-none'\n );\n return <div className={offscreenClasses}>{child}</div>;\n });\n\nexport type AssetTreeProps = {\n /**\n * Defines if the component will overlap the body content.\n *\n * @default false\n */\n fly?: boolean;\n\n /**\n * Defines whether or not the sidebar is resizable.\n *\n * @default true\n */\n resizable?: boolean;\n\n /**\n * Defines whether the component has a border or not.\n *\n * @default false\n */\n bordered?: boolean;\n\n /**\n * Defines the width of the component. The value is set as inline style.\n *\n * Note: when component is resizable it will take the provided\n * width in px only and convert it to number in case.\n *\n * @default 350\n */\n width?: number;\n\n /**\n * Defines the minimum width of the component in px that will take effect when resizing.\n *\n * @default 100\n */\n minWidth?: number;\n\n /**\n * Defines the maximum width of the component in px that will take effect when resizing.\n *\n * @default 0\n */\n maxWidth?: number;\n\n /**\n * Defines the height of the component in px.\n */\n height?: number;\n\n /**\n * Defines whether the component is open or not.\n *\n * @default true\n */\n isOpen?: boolean;\n\n /**\n * Callback for when the tree visibility is toggled.\n *\n * @default () => {}\n * @param isOpen\n * @returns\n */\n onToggleTree?: (isOpen: boolean) => void;\n\n /**\n * The id of the category which is currently active and shall be shown.\n */\n currentCategoryId?: string;\n\n /**\n * Callback for handling change of category.\n *\n * @default () => {}\n * @param selectedCategoryId\n * @returns\n */\n onCategoryChange?: (selectedCategoryId: string) => void;\n\n /**\n * Callback for when the resize is done.\n *\n * @default () => {}\n */\n onResizeEnd?: VoidFunction;\n\n /**\n * Defines whether the tree components are rendered offscreen and kept mounted in the DOM.\n *\n * @default false\n */\n useOffscreen?: boolean;\n\n /**\n * Additional classes added on the wrapper element.\n */\n className?: string;\n};\n\n// Check if the child is a React element and if it has the type TreeCategory\nconst isTreeCategory = (child: React.ReactNode): child is React.ReactElement<TreeCategoryProps> =>\n React.isValidElement(child) && child.type === TreeCategory;\n\nconst AssetTree = memo(\n forwardRef<HTMLDivElement, PropsWithChildren<AssetTreeProps>>((props, ref) => {\n const {\n className,\n resizable = true,\n width = DEFAULT_WIDTH,\n minWidth = DEFAULT_MIN_WIDTH,\n maxWidth = DEFAULT_MAX_WIDTH,\n height,\n bordered = false,\n currentCategoryId,\n isOpen = true,\n useOffscreen = false,\n fly = false,\n onCategoryChange = noop,\n onToggleTree = noop,\n onResizeEnd = noop,\n children = [],\n ...remainingProps\n } = props;\n\n const getSidebarMode = (isFly: boolean) => (isFly ? TreeMode.MODE_FLY : TreeMode.MODE_FLUID);\n\n const [treeWidth, setTreeWidth] = useState(width);\n const [isResize, setIsResize] = useState(false);\n const [sidebarMode, setSidebarMode] = useState(getSidebarMode(fly));\n\n const sidebarRef = useRef<HTMLDivElement>(null);\n\n const mergedRefs = mergeRefs([ref, sidebarRef]);\n\n // Update internal state when props change\n const previousWidth = usePrevious(width);\n if (previousWidth !== width) {\n setTreeWidth(width);\n }\n\n const [previousMode, setPreviousMode] = useState(fly);\n if (previousMode !== fly) {\n setSidebarMode(getSidebarMode(fly));\n setPreviousMode(fly);\n }\n\n const childrenArray = React.Children.toArray(children);\n\n // check for children type of TreeCategory and throw error in case\n invariant(childrenArray.every(isTreeCategory), 'AssetTree only excepts children of type \"TreeCategory\"');\n\n const classes = classNames(\n 'AssetTree',\n className,\n !isOpen && 'closed',\n bordered && 'border',\n sidebarMode === TreeMode.MODE_FLY ? 'fly' : 'fluid'\n );\n\n const resizeLimitClasses = classNames('AssetTreeResizeLimit', isResize && 'display-block');\n\n const resizeIndicatorPosition = maxWidth || window.innerWidth * 0.5;\n const resizeLimitStyle = { left: resizeIndicatorPosition };\n\n const firstChild = head(childrenArray);\n\n const category = currentCategoryId ? getCurrentCategoryElement(childrenArray, currentCategoryId) : firstChild;\n\n const style = {\n width: treeWidth,\n height,\n };\n\n const handleToggleTreeContent = () => onToggleTree(!isOpen);\n\n const handleSelectCategory = (selectedCategoryId: string) => {\n onCategoryChange(selectedCategoryId);\n\n if (!isOpen) {\n handleToggleTreeContent();\n } else if (isOpen && currentCategoryId === selectedCategoryId) {\n handleToggleTreeContent();\n }\n };\n\n const handleResize = (diff: number) => {\n const halfWindowWidth = window.innerWidth * 0.5;\n const usedMaxWidth = maxWidth || halfWindowWidth;\n\n // Check for sidebar width if it is half window size. If it was before but the sidebar was resized so it is\n // no longer half window size, set the sidebar width to half the window size to avoid jumping sidebar\n // to old width\n setTreeWidth(oldWidth => {\n const updatedWidth = oldWidth - diff;\n return getWidthInBoundaries(minWidth, usedMaxWidth, updatedWidth);\n });\n };\n\n const handleResizeStart = () => {\n const body = getSidebarBodyRef(sidebarRef);\n if (body) {\n body.classList.add('pointer-events-none');\n }\n setIsResize(true);\n };\n\n const handleResizeEnd = () => {\n const body = getSidebarBodyRef(sidebarRef);\n if (body) {\n body.classList.remove('pointer-events-none');\n }\n setIsResize(false);\n onResizeEnd();\n };\n\n return (\n <div {...remainingProps} className={classes} style={style} ref={mergedRefs}>\n <div className={resizeLimitClasses} style={resizeLimitStyle} />\n <div className='AssetTreeContent'>\n <TreeSidebar\n onSelectCategory={handleSelectCategory}\n currentCategoryId={currentCategoryId}\n onClick={handleToggleTreeContent}\n >\n {isArray(children) ? children : [children]}\n </TreeSidebar>\n <SmoothScrollbars slideIn className='AssetTreeBody'>\n {useOffscreen ? renderTreesOffscreen(childrenArray, currentCategoryId) : category}\n </SmoothScrollbars>\n </div>\n {resizable && isOpen && (\n <Resizer\n onResizeStart={handleResizeStart}\n onResize={handleResize}\n onResizeEnd={handleResizeEnd}\n direction={Resizer.HORIZONTAL}\n position={Resizer.RIGHT}\n />\n )}\n </div>\n );\n })\n);\n\nObject.assign(AssetTree, TreeMode);\n\nexport default AssetTree;\n"],"names":["DEFAULT_WIDTH","DEFAULT_MIN_WIDTH","DEFAULT_MAX_WIDTH","TreeMode","getSidebarBodyRef","sidebarRef","head","getCurrentCategoryElement","children","currentCategoryId","isArray","child","renderTreesOffscreen","categoryId","React","offscreenClasses","classNames","jsx","isTreeCategory","TreeCategory","AssetTree","memo","forwardRef","props","ref","className","resizable","width","minWidth","maxWidth","height","bordered","isOpen","useOffscreen","fly","onCategoryChange","noop","onToggleTree","onResizeEnd","remainingProps","getSidebarMode","isFly","treeWidth","setTreeWidth","useState","isResize","setIsResize","sidebarMode","setSidebarMode","useRef","mergedRefs","mergeRefs","usePrevious","previousMode","setPreviousMode","childrenArray","invariant","classes","resizeLimitClasses","resizeLimitStyle","firstChild","category","style","handleToggleTreeContent","handleSelectCategory","selectedCategoryId","handleResize","diff","halfWindowWidth","usedMaxWidth","oldWidth","updatedWidth","getWidthInBoundaries","handleResizeStart","body","handleResizeEnd","jsxs","TreeSidebar","SmoothScrollbars","Resizer"],"mappings":";;;;;;;;;;;;AAaA,MAAMA,KAAgB,KAChBC,KAAoB,KACpBC,KAAoB,GAEpBC,IAAW;AAAA,EACb,UAAU;AAAA,EACV,YAAY;AAChB,GAEMC,IAAoB,CAACC,MACvBC,EAAKD,GAAY,SAAS,uBAAuB,eAAe,CAAC,GAE/DE,KAA4B,CAACC,GAAgCC,MAC/DC,EAAQF,CAAQ,IAAIA,EAAS,KAAK,OAASG,KAASA,EAAM,MAAM,OAAOF,CAAiB,IAAID,GAE1FI,KAAuB,CAACJ,GAAgCK,MAC1DC,EAAM,SAAS,IAAIN,GAAU,CAAAG,MAAS;AAClC,QAAMI,IAAmBC;AAAA,IACrB;AAAA,IACAL,KAASA,EAAM,MAAM,OAAOE,KAAc;AAAA,EAAA;AAE9C,SAAO,gBAAAI,EAAC,OAAA,EAAI,WAAWF,GAAmB,UAAAJ,GAAM;AACpD,CAAC,GAwGCO,KAAiB,CAACP,MACpBG,EAAM,eAAeH,CAAK,KAAKA,EAAM,SAASQ,IAE5CC,KAAYC;AAAA,EACdC,GAA8D,CAACC,GAAOC,MAAQ;AAC1E,UAAM;AAAA,MACF,WAAAC;AAAA,MACA,WAAAC,IAAY;AAAA,MACZ,OAAAC,IAAQ3B;AAAA,MACR,UAAA4B,IAAW3B;AAAA,MACX,UAAA4B,IAAW3B;AAAA,MACX,QAAA4B;AAAA,MACA,UAAAC,IAAW;AAAA,MACX,mBAAAtB;AAAA,MACA,QAAAuB,IAAS;AAAA,MACT,cAAAC,IAAe;AAAA,MACf,KAAAC,IAAM;AAAA,MACN,kBAAAC,IAAmBC;AAAA,MACnB,cAAAC,IAAeD;AAAA,MACf,aAAAE,IAAcF;AAAA,MACd,UAAA5B,IAAW,CAAA;AAAA,MACX,GAAG+B;AAAA,IAAA,IACHhB,GAEEiB,IAAiB,CAACC,MAAoBA,IAAQtC,EAAS,WAAWA,EAAS,YAE3E,CAACuC,GAAWC,CAAY,IAAIC,EAASjB,CAAK,GAC1C,CAACkB,GAAUC,CAAW,IAAIF,EAAS,EAAK,GACxC,CAACG,GAAaC,CAAc,IAAIJ,EAASJ,EAAeN,CAAG,CAAC,GAE5D7B,IAAa4C,GAAuB,IAAI,GAExCC,IAAaC,GAAU,CAAC3B,GAAKnB,CAAU,CAAC;AAI9C,IADsB+C,GAAYzB,CAAK,MACjBA,KAClBgB,EAAahB,CAAK;AAGtB,UAAM,CAAC0B,GAAcC,CAAe,IAAIV,EAASV,CAAG;AACpD,IAAImB,MAAiBnB,MACjBc,EAAeR,EAAeN,CAAG,CAAC,GAClCoB,EAAgBpB,CAAG;AAGvB,UAAMqB,IAAgBzC,EAAM,SAAS,QAAQN,CAAQ;AAGrD,IAAAgD,GAAUD,EAAc,MAAMrC,EAAc,GAAG,wDAAwD;AAEvG,UAAMuC,IAAUzC;AAAA,MACZ;AAAA,MACAS;AAAA,MACA,CAACO,KAAU;AAAA,MACXD,KAAY;AAAA,MACZgB,MAAgB5C,EAAS,WAAW,QAAQ;AAAA,IAAA,GAG1CuD,IAAqB1C,EAAW,wBAAwB6B,KAAY,eAAe,GAGnFc,IAAmB,EAAE,MADK9B,KAAY,OAAO,aAAa,IAC/B,GAE3B+B,IAAatD,EAAKiD,CAAa,GAE/BM,IAAWpD,IAAoBF,GAA0BgD,GAAe9C,CAAiB,IAAImD,GAE7FE,IAAQ;AAAA,MACV,OAAOpB;AAAA,MACP,QAAAZ;AAAA,IAAA,GAGEiC,IAA0B,MAAM1B,EAAa,CAACL,CAAM,GAEpDgC,IAAuB,CAACC,MAA+B;AACzD,MAAA9B,EAAiB8B,CAAkB,GAE9BjC,IAEMA,KAAUvB,MAAsBwD,KACvCF,EAAA,IAFAA,EAAA;AAAA,IAIR,GAEMG,IAAe,CAACC,MAAiB;AACnC,YAAMC,IAAkB,OAAO,aAAa,KACtCC,KAAexC,KAAYuC;AAKjC,MAAAzB,EAAa,CAAA2B,OAAY;AACrB,cAAMC,KAAeD,KAAWH;AAChC,eAAOK,GAAqB5C,GAAUyC,IAAcE,EAAY;AAAA,MACpE,CAAC;AAAA,IACL,GAEME,IAAoB,MAAM;AAC5B,YAAMC,IAAOtE,EAAkBC,CAAU;AACzC,MAAIqE,KACAA,EAAK,UAAU,IAAI,qBAAqB,GAE5C5B,EAAY,EAAI;AAAA,IACpB,GAEM6B,IAAkB,MAAM;AAC1B,YAAMD,IAAOtE,EAAkBC,CAAU;AACzC,MAAIqE,KACAA,EAAK,UAAU,OAAO,qBAAqB,GAE/C5B,EAAY,EAAK,GACjBR,EAAA;AAAA,IACJ;AAEA,WACI,gBAAAsC,EAAC,SAAK,GAAGrC,GAAgB,WAAWkB,GAAS,OAAAK,GAAc,KAAKZ,GAC5D,UAAA;AAAA,MAAA,gBAAAjC,EAAC,OAAA,EAAI,WAAWyC,GAAoB,OAAOC,GAAkB;AAAA,MAC7D,gBAAAiB,EAAC,OAAA,EAAI,WAAU,oBACX,UAAA;AAAA,QAAA,gBAAA3D;AAAA,UAAC4D;AAAA,UAAA;AAAA,YACG,kBAAkBb;AAAA,YAClB,mBAAAvD;AAAA,YACA,SAASsD;AAAA,YAER,UAAArD,EAAQF,CAAQ,IAAIA,IAAW,CAACA,CAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,QAE7C,gBAAAS,EAAC6D,IAAA,EAAiB,SAAO,IAAC,WAAU,iBAC/B,UAAA7C,IAAerB,GAAqB2C,GAAe9C,CAAiB,IAAIoD,EAAA,CAC7E;AAAA,MAAA,GACJ;AAAA,MACCnC,KAAaM,KACV,gBAAAf;AAAA,QAAC8D;AAAA,QAAA;AAAA,UACG,eAAeN;AAAA,UACf,UAAUP;AAAA,UACV,aAAaS;AAAA,UACb,WAAWI,EAAQ;AAAA,UACnB,UAAUA,EAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,IACtB,GAER;AAAA,EAER,CAAC;AACL;AAEA,OAAO,OAAO3D,IAAWjB,CAAQ;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as R, jsx as n } from "react/jsx-runtime";
|
|
2
2
|
import pt, { useReducer as mt, useRef as E, useCallback as pe, useEffect as F } from "react";
|
|
3
|
-
import { noop as k, size as y, isEmpty as u, filter as H, cond as q, stubTrue as Z, map as Y, flow as ht,
|
|
3
|
+
import { noop as k, size as y, isEmpty as u, filter as H, cond as q, stubTrue as Z, map as Y, flow as ht, find as ft, without as gt, omit as St } from "es-toolkit/compat";
|
|
4
4
|
import { isNil as It, isEqual as W } from "es-toolkit/predicate";
|
|
5
5
|
import me from "../../utils/classNames.js";
|
|
6
6
|
import Tt from "./TreeSearch.js";
|
|
@@ -13,15 +13,15 @@ import fe from "./TreeNothingFound.js";
|
|
|
13
13
|
import Ct from "./TreeOptions.js";
|
|
14
14
|
import At from "./TreeRoot.js";
|
|
15
15
|
import xt from "./TypeCounter.js";
|
|
16
|
-
import {
|
|
16
|
+
import { notEqual as K, getTypeCounts as ge, debounceFn as Nt, filterOutByItemId as Q, filterAssetByType as Et, notEmpty as S, containsItemById as Ft, addOrRemoveFromList as vt, getMappedItemsToGroups as bt, sortGroupsByName as Lt, sortGroupItemsByName as Ot, filterEmptyGroups as Vt, getFlatItems as Rt, excludeFromList as kt, getListIds as Se } from "./treeUtils.js";
|
|
17
17
|
import { getSubTypeCounts as xs } from "./treeUtils.js";
|
|
18
|
-
import { treeReducer as Ht, assetCounted as Ie, allCheckedChanged as v, visibleTypeCountersChanged as wt,
|
|
18
|
+
import { treeReducer as Ht, assetCounted as Ie, allCheckedChanged as v, visibleTypeCountersChanged as wt, searchValueChanged as zt, typeFilterChanged as $t, emptyGroupsChanged as Pt, groupedItemsChanged as Bt, flatItemsChanged as jt } from "./treeReducer.js";
|
|
19
19
|
import { useTreeVirtualization as Dt } from "./useTreeVirtualization.js";
|
|
20
20
|
import { useTreeExpansion as Mt } from "./useTreeExpansion.js";
|
|
21
21
|
import { useTreeHeight as Ut } from "./useTreeHeight.js";
|
|
22
22
|
import { useTreeScrollPosition as _t } from "./useTreeScrollPosition.js";
|
|
23
23
|
import qt from "../smoothScrollbars/SmoothScrollbars.js";
|
|
24
|
-
const Te = (I) =>
|
|
24
|
+
const Te = (I) => St(I, ["expandedGroups", "onExpandGroupsChange", "onSearchChange", "onSelectionChange", "treeOptions"]), Zt = (I, c) => W(Te(I), Te(c)), Yt = 50, Jt = 5, Gs = pt.memo((I) => {
|
|
25
25
|
const {
|
|
26
26
|
groups: c = [],
|
|
27
27
|
items: m = [],
|
|
@@ -134,18 +134,18 @@ const Te = (I) => ft(I, ["expandedGroups", "onExpandGroupsChange", "onSearchChan
|
|
|
134
134
|
groups: t
|
|
135
135
|
});
|
|
136
136
|
}, ae = (e, t) => {
|
|
137
|
-
const s = e.id, a = !i.includes(s) && !t ? [...i, s] : kt(i, s), h =
|
|
137
|
+
const s = e.id, a = !i.includes(s) && !t ? [...i, s] : kt(i, s), h = ft(o.groupedItems, (_) => _.id === s), p = Y(h?.items, (_) => _.id), N = gt(f, ...p), O = c.length, M = b ? 0 : o.emptyGroups.length, V = O - M === a.length;
|
|
138
138
|
d(v(V)), A(N, a);
|
|
139
139
|
}, De = (e) => {
|
|
140
|
-
Fe(e), d(
|
|
140
|
+
Fe(e), d(zt(e)), g && setTimeout(() => {
|
|
141
141
|
ke();
|
|
142
142
|
}, 10);
|
|
143
143
|
}, Me = (e, t) => {
|
|
144
|
-
const s =
|
|
145
|
-
d(
|
|
144
|
+
const s = Rt(e, t);
|
|
145
|
+
d(jt(s));
|
|
146
146
|
}, Ue = (e, t, s) => {
|
|
147
|
-
const r =
|
|
148
|
-
d(
|
|
147
|
+
const r = bt(e, t), l = ht(Lt, Ot)(r), a = s ? l : Vt(l), h = H(l, (p) => u(p.items));
|
|
148
|
+
d(Pt(h)), d(Ie(ge(m))), d(Bt(a));
|
|
149
149
|
}, L = (e, t) => {
|
|
150
150
|
const s = o.searchValue, r = o.typeFilter, l = e, a = t, h = (V) => V && S(V), p = () => u(s) && h(l), N = () => S(s) && h(l), O = u(r) ? a : Et(a, r), M = () => Ue(l, O, b), U = () => Me(O, s);
|
|
151
151
|
q([
|
|
@@ -238,7 +238,7 @@ const Te = (I) => ft(I, ["expandedGroups", "onExpandGroupsChange", "onSearchChan
|
|
|
238
238
|
}, qe = () => {
|
|
239
239
|
const { groupedItems: e } = o;
|
|
240
240
|
return u(e) ? /* @__PURE__ */ n(fe, {}) : D.length > te ? ie() : Y(e, (s) => {
|
|
241
|
-
const r = s.id, l = s.items, a = le?.includes(r) ?? !1, h = H(l,
|
|
241
|
+
const r = s.id, l = s.items, a = le?.includes(r) ?? !1, h = H(l, Ft(f)).length, p = i.includes(r), N = !p && h > 0;
|
|
242
242
|
return /* @__PURE__ */ R(w, { groupId: r, isOpen: a, disableAnimation: x, children: [
|
|
243
243
|
/* @__PURE__ */ n(
|
|
244
244
|
he,
|
|
@@ -285,8 +285,8 @@ const Te = (I) => ft(I, ["expandedGroups", "onExpandGroupsChange", "onSearchChan
|
|
|
285
285
|
[() => C() && !T(), () => qe()],
|
|
286
286
|
[Z, () => Ze()]
|
|
287
287
|
])(), nt = (e) => {
|
|
288
|
-
const t =
|
|
289
|
-
d(
|
|
288
|
+
const t = vt(o.typeFilter, e);
|
|
289
|
+
d($t(t)), Oe(t);
|
|
290
290
|
}, lt = y(o.visibleTypeCounters) !== 1, ct = S(o.typeFilter), at = !Ce, it = !et, dt = !Ge, ut = !Ne, ue = !It(X);
|
|
291
291
|
return /* @__PURE__ */ R("div", { ...Re, className: st, ref: se, children: [
|
|
292
292
|
/* @__PURE__ */ R("div", { className: "TreeHeader", children: [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import e from "react";
|
|
3
|
-
const
|
|
3
|
+
const n = e.memo(() => /* @__PURE__ */ t(
|
|
4
4
|
"div",
|
|
5
5
|
{
|
|
6
6
|
className: `TreeTreeNothingFound display-flex justify-content-center text-size-20
|
|
@@ -9,6 +9,6 @@ const r = e.memo(() => /* @__PURE__ */ t(
|
|
|
9
9
|
}
|
|
10
10
|
));
|
|
11
11
|
export {
|
|
12
|
-
|
|
12
|
+
n as default
|
|
13
13
|
};
|
|
14
14
|
//# sourceMappingURL=TreeNothingFound.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeNothingFound.js","sources":["../../../src/components/assetTree/TreeNothingFound.tsx"],"sourcesContent":["import React from 'react';\n\nconst TreeNothingFound = React.memo(() =>
|
|
1
|
+
{"version":3,"file":"TreeNothingFound.js","sources":["../../../src/components/assetTree/TreeNothingFound.tsx"],"sourcesContent":["import React from 'react';\n\nconst TreeNothingFound = React.memo(() => (\n <div\n className={`TreeTreeNothingFound display-flex justify-content-center text-size-20\n padding-top-25 margin-top-25 margin-bottom-25`}\n >\n <span className='rioglyph rioglyph-looking-glass-man text-size-400pct text-color-light' />\n </div>\n));\n\nexport default TreeNothingFound;\n"],"names":["TreeNothingFound","React","jsx"],"mappings":";;AAEA,MAAMA,IAAmBC,EAAM,KAAK,MAChC,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,WAAW;AAAA;AAAA,IAGX,UAAA,gBAAAA,EAAC,QAAA,EAAK,WAAU,wEAAA,CAAwE;AAAA,EAAA;AAC5F,CACH;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeUtils.js","sources":["../../../src/components/assetTree/treeUtils.ts"],"sourcesContent":["import { countBy, debounce, filter, isEmpty, isObject, mapValues, negate } from 'es-toolkit/compat';\nimport { isEqual } from 'es-toolkit/predicate';\nimport { orderBy } from 'es-toolkit/array';\n\nimport { searchNormalized } from '../../utils/searchNormalized';\nimport type { TreeItem, TreeGroup, TreeItemName, GroupedItems, GroupedItem } from './Tree';\n\nconst SEARCH_DEBOUNCE = 100;\n\nexport const notEqual = negate(isEqual);\nexport const notEmpty = negate(isEmpty);\n\nexport const filterOutByItemId = (list: string[]) => (item: TreeItem | TreeGroup) => !list.includes(item.id);\n\nexport const containsItemById = (list: string[]) => (item: TreeGroup) => list.includes(item.id);\n\nexport const getListIds = (list: TreeItem[] | TreeGroup[]) => list.map(listItem => listItem.id);\n\nexport const getTypeCounts = (items: TreeItem[]) => countBy(items, item => item.type);\nexport const getSubTypeCounts = (items: TreeItem[]) => countBy(items, item => item.subType);\n\n// biome-ignore lint/suspicious/noExplicitAny: we don't know the type\nexport const debounceFn = <T extends (...args: any[]) => any>(fn: T) => debounce(fn, SEARCH_DEBOUNCE);\n\nconst isNameObject = (item: TreeItem) => isObject(item.name);\n\nexport const getFullName = (item: TreeItem) =>\n `${(item.name as TreeItemName).firstName} ${(item.name as TreeItemName).lastName}`;\n\nconst getName = (item: TreeItem) => (isNameObject(item) ? getFullName(item) : (item.name as string));\n\nconst orderTreeItemsByName = (items: TreeItem[]) =>\n orderBy(\n items,\n [\n (item: TreeItem) =>\n isNameObject(item)\n ? (item.name as TreeItemName).lastName.toLowerCase()\n : ((item.name as string)?.toLowerCase() ?? ''),\n ],\n ['asc']\n ) as TreeItem[];\n\nconst orderGroupedItemsByName = (groups: GroupedItems) => {\n const groupArray = Object.values(groups);\n const sortedArray = orderBy(\n groupArray,\n [\n (group: GroupedItem) =>\n (typeof group.name === 'string' ? group.name.toLowerCase() : String(group.name)) ?? '',\n ],\n ['asc']\n ) as GroupedItem[];\n const sortedGroups: GroupedItems = {};\n for (const group of sortedArray) {\n sortedGroups[group.id] = group;\n }\n return sortedGroups;\n};\n\n// TODO: extend to use provided external search function instead?\nconst filterByName =\n (searchValue: string) =>\n (item: TreeItem): boolean => {\n if (searchValue) {\n return searchNormalized(getName(item), searchValue);\n }\n return true;\n };\n\nexport const getFlatItems = (items: TreeItem[], searchValue: string): TreeItem[] =>\n filter(orderTreeItemsByName(items), filterByName(searchValue));\n\nexport const filterEmptyGroups = (groups: GroupedItems): GroupedItems => {\n const result: GroupedItems = {};\n Object.values(groups).forEach(group => {\n if (notEmpty(group.items)) {\n result[group.id] = group;\n }\n });\n return result;\n};\n\nexport const filterAssetByType = (items: TreeItem[], types: string[] = []) =>\n filter(items, (asset: TreeItem) => types.includes(asset.type));\n\nexport const excludeFromList = <T>(list: T[], itemId: T): T[] => list.filter(item => item !== itemId);\n\nexport const sortGroupsByName = (groups: GroupedItems) => {\n const fixedGroups: GroupedItems = {};\n const sortableGroups: GroupedItems = {};\n\n mapValues(groups, (group: GroupedItem) => {\n if (group.position === 'last') {\n fixedGroups[group.id] = { ...group };\n } else {\n sortableGroups[group.id] = { ...group };\n }\n });\n\n const sortedGroups = orderGroupedItemsByName(sortableGroups);\n\n return isEmpty(fixedGroups) ? sortedGroups : { ...sortedGroups, ...fixedGroups };\n};\n\nexport const sortGroupItemsByName = (groups: GroupedItems): GroupedItems
|
|
1
|
+
{"version":3,"file":"treeUtils.js","sources":["../../../src/components/assetTree/treeUtils.ts"],"sourcesContent":["import { countBy, debounce, filter, isEmpty, isObject, mapValues, negate } from 'es-toolkit/compat';\nimport { isEqual } from 'es-toolkit/predicate';\nimport { orderBy } from 'es-toolkit/array';\n\nimport { searchNormalized } from '../../utils/searchNormalized';\nimport type { TreeItem, TreeGroup, TreeItemName, GroupedItems, GroupedItem } from './Tree';\n\nconst SEARCH_DEBOUNCE = 100;\n\nexport const notEqual = negate(isEqual);\nexport const notEmpty = negate(isEmpty);\n\nexport const filterOutByItemId = (list: string[]) => (item: TreeItem | TreeGroup) => !list.includes(item.id);\n\nexport const containsItemById = (list: string[]) => (item: TreeGroup) => list.includes(item.id);\n\nexport const getListIds = (list: TreeItem[] | TreeGroup[]) => list.map(listItem => listItem.id);\n\nexport const getTypeCounts = (items: TreeItem[]) => countBy(items, item => item.type);\nexport const getSubTypeCounts = (items: TreeItem[]) => countBy(items, item => item.subType);\n\n// biome-ignore lint/suspicious/noExplicitAny: we don't know the type\nexport const debounceFn = <T extends (...args: any[]) => any>(fn: T) => debounce(fn, SEARCH_DEBOUNCE);\n\nconst isNameObject = (item: TreeItem) => isObject(item.name);\n\nexport const getFullName = (item: TreeItem) =>\n `${(item.name as TreeItemName).firstName} ${(item.name as TreeItemName).lastName}`;\n\nconst getName = (item: TreeItem) => (isNameObject(item) ? getFullName(item) : (item.name as string));\n\nconst orderTreeItemsByName = (items: TreeItem[]) =>\n orderBy(\n items,\n [\n (item: TreeItem) =>\n isNameObject(item)\n ? (item.name as TreeItemName).lastName.toLowerCase()\n : ((item.name as string)?.toLowerCase() ?? ''),\n ],\n ['asc']\n ) as TreeItem[];\n\nconst orderGroupedItemsByName = (groups: GroupedItems) => {\n const groupArray = Object.values(groups);\n const sortedArray = orderBy(\n groupArray,\n [\n (group: GroupedItem) =>\n (typeof group.name === 'string' ? group.name.toLowerCase() : String(group.name)) ?? '',\n ],\n ['asc']\n ) as GroupedItem[];\n const sortedGroups: GroupedItems = {};\n for (const group of sortedArray) {\n sortedGroups[group.id] = group;\n }\n return sortedGroups;\n};\n\n// TODO: extend to use provided external search function instead?\nconst filterByName =\n (searchValue: string) =>\n (item: TreeItem): boolean => {\n if (searchValue) {\n return searchNormalized(getName(item), searchValue);\n }\n return true;\n };\n\nexport const getFlatItems = (items: TreeItem[], searchValue: string): TreeItem[] =>\n filter(orderTreeItemsByName(items), filterByName(searchValue));\n\nexport const filterEmptyGroups = (groups: GroupedItems): GroupedItems => {\n const result: GroupedItems = {};\n Object.values(groups).forEach(group => {\n if (notEmpty(group.items)) {\n result[group.id] = group;\n }\n });\n return result;\n};\n\nexport const filterAssetByType = (items: TreeItem[], types: string[] = []) =>\n filter(items, (asset: TreeItem) => types.includes(asset.type));\n\nexport const excludeFromList = <T>(list: T[], itemId: T): T[] => list.filter(item => item !== itemId);\n\nexport const sortGroupsByName = (groups: GroupedItems) => {\n const fixedGroups: GroupedItems = {};\n const sortableGroups: GroupedItems = {};\n\n mapValues(groups, (group: GroupedItem) => {\n if (group.position === 'last') {\n fixedGroups[group.id] = { ...group };\n } else {\n sortableGroups[group.id] = { ...group };\n }\n });\n\n const sortedGroups = orderGroupedItemsByName(sortableGroups);\n\n return isEmpty(fixedGroups) ? sortedGroups : { ...sortedGroups, ...fixedGroups };\n};\n\nexport const sortGroupItemsByName = (groups: GroupedItems): GroupedItems =>\n mapValues(groups, (group: GroupedItem) => ({\n ...group,\n items: orderTreeItemsByName(group.items) as TreeItem[],\n }));\n\nexport const getMappedItemsToGroups = (groups: TreeGroup[], items: TreeItem[]): GroupedItems => {\n const mappedGroups: GroupedItems = {};\n\n // build an object for listing the groups by id\n groups.forEach(group => {\n mappedGroups[group.id] = {\n ...group,\n items: [],\n };\n });\n\n items.forEach(item => {\n // add items to the respective group\n const groupIds = item.groupIds || [];\n groupIds.forEach(groupId => {\n const mappedGroup = mappedGroups[groupId];\n if (mappedGroup) {\n mappedGroup.items.push(item);\n }\n });\n });\n\n return mappedGroups;\n};\n\nexport const addOrRemoveFromList = <T>(list: T[], item: T): T[] => {\n const listSet = new Set(list);\n if (listSet.has(item)) {\n listSet.delete(item);\n } else {\n listSet.add(item);\n }\n return [...listSet];\n};\n\n// Add prefix `rioglyph-` if icon is given and does not start with the prefix\nexport const withRioglyphPrefix = (name?: string | null): string | null => {\n if (!name) {\n return null;\n }\n return name.startsWith('rioglyph-') ? name : `rioglyph-${name}`;\n};\n"],"names":["SEARCH_DEBOUNCE","notEqual","negate","isEqual","notEmpty","isEmpty","filterOutByItemId","list","item","containsItemById","getListIds","listItem","getTypeCounts","items","countBy","getSubTypeCounts","debounceFn","fn","debounce","isNameObject","isObject","getFullName","getName","orderTreeItemsByName","orderBy","orderGroupedItemsByName","groups","groupArray","sortedArray","group","sortedGroups","filterByName","searchValue","searchNormalized","getFlatItems","filter","filterEmptyGroups","result","filterAssetByType","types","asset","excludeFromList","itemId","sortGroupsByName","fixedGroups","sortableGroups","mapValues","sortGroupItemsByName","getMappedItemsToGroups","mappedGroups","groupId","mappedGroup","addOrRemoveFromList","listSet","withRioglyphPrefix","name"],"mappings":"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"}
|
|
@@ -49,8 +49,8 @@ const Ue = (U) => {
|
|
|
49
49
|
noItemMessage: w,
|
|
50
50
|
dropdownClassName: Z = "",
|
|
51
51
|
className: ee = "",
|
|
52
|
-
...
|
|
53
|
-
} = U, [l, N] = h(!1), [p, v] = h(r.value || ""), [u, m] = h(-1), [V, k] = h(B),
|
|
52
|
+
...oe
|
|
53
|
+
} = U, [l, N] = h(!1), [p, v] = h(r.value || ""), [u, m] = h(-1), [V, k] = h(B), ne = ve(() => P()), g = E(null), C = E(null), O = E([]), D = r.value;
|
|
54
54
|
!fe(D) && p !== D && v(D ?? ""), F(() => S({ value: p }), []), F(() => {
|
|
55
55
|
const e = se();
|
|
56
56
|
Se(V, g.current, e);
|
|
@@ -67,14 +67,14 @@ const Ue = (U) => {
|
|
|
67
67
|
}, re = (e) => {
|
|
68
68
|
switch (e.key) {
|
|
69
69
|
case "ArrowDown": {
|
|
70
|
-
const
|
|
71
|
-
l && t.length >
|
|
70
|
+
const o = u + 1;
|
|
71
|
+
l && t.length > o && (m(o), f(Number(o)), k(B));
|
|
72
72
|
return;
|
|
73
73
|
}
|
|
74
74
|
case "ArrowUp":
|
|
75
75
|
if (l && u > 0) {
|
|
76
|
-
const
|
|
77
|
-
m(
|
|
76
|
+
const o = u - 1;
|
|
77
|
+
m(o), f(Number(o)), k(Ie);
|
|
78
78
|
}
|
|
79
79
|
return;
|
|
80
80
|
case "Enter":
|
|
@@ -85,26 +85,26 @@ const Ue = (U) => {
|
|
|
85
85
|
P();
|
|
86
86
|
break;
|
|
87
87
|
}
|
|
88
|
-
}, se = () => [...O.current].find((e) => e.className.includes("active")), le = (e,
|
|
89
|
-
p !== e && K(e,
|
|
90
|
-
}, K = (e,
|
|
91
|
-
N(l ?
|
|
88
|
+
}, se = () => [...O.current].find((e) => e.className.includes("active")), le = (e, o) => {
|
|
89
|
+
p !== e && K(e, o);
|
|
90
|
+
}, K = (e, o, n = !1) => {
|
|
91
|
+
N(l ? n ? !1 : l : !0), v(e), m(-1), S({ value: e }), f(-1);
|
|
92
92
|
const { value: i, onChange: c = () => {
|
|
93
93
|
} } = r;
|
|
94
|
-
e !== i && c(
|
|
94
|
+
e !== i && c(o, { newValue: e });
|
|
95
95
|
}, f = (e) => {
|
|
96
|
-
const
|
|
97
|
-
L(
|
|
96
|
+
const o = e === -1 ? null : t[e];
|
|
97
|
+
L(o);
|
|
98
98
|
}, ue = (e) => {
|
|
99
99
|
v(""), m(-1), C.current && C.current.focus(), S({ value: "" }), f(-1), r.onClear && r.onClear();
|
|
100
|
-
}, ae = (e) => e.label ?? e[b ?? ""] ?? "", T = (e,
|
|
101
|
-
const s = (x || ae)(
|
|
100
|
+
}, ae = (e) => e.label ?? e[b ?? ""] ?? "", T = (e, o) => {
|
|
101
|
+
const s = (x || ae)(o);
|
|
102
102
|
K(s, e, Q), q(e, {
|
|
103
|
-
suggestion:
|
|
103
|
+
suggestion: o,
|
|
104
104
|
suggestionValue: s
|
|
105
105
|
});
|
|
106
106
|
}, ie = () => {
|
|
107
|
-
const { id: e, icon:
|
|
107
|
+
const { id: e, icon: o, value: n, ...s } = r, i = { id: M ?? e, ...s }, c = /* @__PURE__ */ d(
|
|
108
108
|
he,
|
|
109
109
|
{
|
|
110
110
|
...i,
|
|
@@ -117,10 +117,10 @@ const Ue = (U) => {
|
|
|
117
117
|
value: X ? p : ""
|
|
118
118
|
}
|
|
119
119
|
);
|
|
120
|
-
return
|
|
120
|
+
return o || A || R ? /* @__PURE__ */ d(
|
|
121
121
|
Ce,
|
|
122
122
|
{
|
|
123
|
-
icon:
|
|
123
|
+
icon: o,
|
|
124
124
|
leadingInputAddons: A,
|
|
125
125
|
trailingInputAddons: R,
|
|
126
126
|
children: c
|
|
@@ -134,25 +134,25 @@ const Ue = (U) => {
|
|
|
134
134
|
);
|
|
135
135
|
if (G)
|
|
136
136
|
return /* @__PURE__ */ d(De, { className: e });
|
|
137
|
-
const
|
|
138
|
-
return
|
|
139
|
-
|
|
140
|
-
t.map((
|
|
141
|
-
if (I && !
|
|
137
|
+
const o = ge(t);
|
|
138
|
+
return o && !w ? null : /* @__PURE__ */ _("ul", { role: "menu", className: e, ref: g, children: [
|
|
139
|
+
o && w && /* @__PURE__ */ d(ye, { message: w }, "NoItemMessage"),
|
|
140
|
+
t.map((n, s) => {
|
|
141
|
+
if (I && !n.label && !b)
|
|
142
142
|
throw new Error(
|
|
143
143
|
'The "customSuggestionKey" need to be set when using a custom renderer and not using the "label" prop for suggestions'
|
|
144
144
|
);
|
|
145
|
-
const i = `index-${
|
|
146
|
-
if (
|
|
147
|
-
return /* @__PURE__ */ d(we, { label:
|
|
145
|
+
const i = `index-${n.label ?? n[b ?? ""]}`;
|
|
146
|
+
if (n.header && n.label)
|
|
147
|
+
return /* @__PURE__ */ d(we, { label: n.label }, i);
|
|
148
148
|
const c = I || ce;
|
|
149
149
|
return /* @__PURE__ */ d(
|
|
150
150
|
Ne,
|
|
151
151
|
{
|
|
152
152
|
active: s === u,
|
|
153
|
-
disabled:
|
|
154
|
-
value:
|
|
155
|
-
onSelect: (Ee, me) => T(me,
|
|
153
|
+
disabled: n.disabled,
|
|
154
|
+
value: n.customSuggestion ? n.customSuggestion : c(n),
|
|
155
|
+
onSelect: (Ee, me) => T(me, n),
|
|
156
156
|
index: s
|
|
157
157
|
},
|
|
158
158
|
i
|
|
@@ -166,7 +166,7 @@ const Ue = (U) => {
|
|
|
166
166
|
H.dropup && "dropup",
|
|
167
167
|
ee
|
|
168
168
|
);
|
|
169
|
-
return /* @__PURE__ */ _("div", { ...
|
|
169
|
+
return /* @__PURE__ */ _("div", { ...oe, className: pe, onKeyDown: re, ref: ne, children: [
|
|
170
170
|
ie(),
|
|
171
171
|
de()
|
|
172
172
|
] });
|