@geotab/zenith 3.5.0 → 3.6.0-beta.1
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/README.md +22 -0
- package/dist/absolute/absolute.d.ts +2 -2
- package/dist/absolute/absolute.js +20 -9
- package/dist/advancedGroupsFilter/advancedGroupsFilter.js +7 -2
- package/dist/alert/alert.js +4 -4
- package/dist/alert/utils/isAlertTarget.d.ts +1 -0
- package/dist/alert/utils/isAlertTarget.js +12 -0
- package/dist/alertRaw/alertRaw.d.ts +1 -0
- package/dist/alertRaw/alertRaw.js +19 -18
- package/dist/banner/banner.d.ts +1 -0
- package/dist/banner/banner.js +3 -1
- package/dist/button/button.js +5 -9
- package/dist/calendar/calendar.js +5 -4
- package/dist/card/card.js +4 -2
- package/dist/card/components/status.js +1 -1
- package/dist/chart/barChart/getBarTooltipItems.js +1 -1
- package/dist/chart/barChart.js +7 -6
- package/dist/chart/chartAxis/chartAxis.d.ts +2 -1
- package/dist/chart/chartAxis/chartAxis.js +8 -5
- package/dist/chart/lineChart/useChartTicks.js +5 -2
- package/dist/chart/lineChart.js +7 -6
- package/dist/chart/pieChart.js +2 -3
- package/dist/chart/plugins/legend/legendPlugin.js +3 -1
- package/dist/chart/plugins/linePlugin/linePlugin.js +7 -3
- package/dist/chart/plugins/tooltip/renderTooltip.js +19 -10
- package/dist/chart/plugins/tooltip/tooltipPlugin.js +6 -2
- package/dist/checkbox/checkbox.js +3 -1
- package/dist/chip/chip.d.ts +2 -0
- package/dist/chip/chip.js +87 -73
- package/dist/commonHelpers/arrowNavigation/arrowNavigationHelper.js +5 -2
- package/dist/commonHelpers/arrowNavigation/hooks/useHoldOnScroll.js +3 -1
- package/dist/commonHelpers/arrowNavigation/hooks/useScrollWhileHolding.js +3 -1
- package/dist/commonHelpers/hooks/deviceProvider.d.ts +7 -0
- package/dist/commonHelpers/hooks/deviceProvider.js +11 -0
- package/dist/commonHelpers/hooks/useClientReady.d.ts +1 -0
- package/dist/commonHelpers/hooks/useClientReady.js +15 -0
- package/dist/commonHelpers/hooks/useDebounce.js +6 -3
- package/dist/commonHelpers/hooks/useDebouncedMemo.js +6 -3
- package/dist/commonHelpers/hooks/useDeviceType.js +2 -1
- package/dist/commonHelpers/hooks/useKeydown.js +5 -2
- package/dist/commonHelpers/hooks/useMobile.js +5 -2
- package/dist/commonHelpers/hooks/usePillSize.js +3 -1
- package/dist/commonHelpers/hooks/usePortal.d.ts +2 -0
- package/dist/commonHelpers/hooks/usePortal.js +16 -0
- package/dist/commonHelpers/hooks/useResize.js +6 -4
- package/dist/commonHelpers/hooks/useResizeObserver.js +12 -7
- package/dist/commonHelpers/hooks/useScroll.js +4 -1
- package/dist/commonHelpers/hooks/useThrottle.d.ts +1 -1
- package/dist/commonHelpers/hooks/useThrottle.js +4 -2
- package/dist/commonHelpers/hooks/useTrapFocus.js +14 -9
- package/dist/commonHelpers/isDomEnv.d.ts +1 -0
- package/dist/commonHelpers/isDomEnv.js +11 -0
- package/dist/commonHelpers/utils.js +3 -2
- package/dist/commonStyles/pillStyles/pillContent.less +28 -0
- package/dist/controlledPopup/controlledPopup.js +4 -2
- package/dist/dataFeed/dataFeed.js +30 -25
- package/dist/dataFeed/dataFeedCell/dataFeedCell.js +8 -4
- package/dist/dataFeed/dataFeedColumnsItems.js +1 -1
- package/dist/dataGrid/cell/cell.js +9 -4
- package/dist/dataGrid/dataGrid.js +32 -20
- package/dist/dataGrid/headerCell/headerCell.d.ts +2 -1
- package/dist/dataGrid/headerCell/headerCell.js +2 -2
- package/dist/dataGrid/listColumn.d.ts +4 -0
- package/dist/dataGrid/withFlexibleColumns/flexibleColumnsReorder.js +27 -18
- package/dist/dataGrid/withFlexibleColumns/flexibleColumnsResizer.js +18 -9
- package/dist/dataGrid/withFlexibleColumns/withFlexibleColumns.js +3 -1
- package/dist/dataGrid/withSortableColumns/withSortableColumns.js +3 -1
- package/dist/dateInputRaw/dateInputRaw.js +7 -2
- package/dist/dateRangeRaw/dateRangeRaw.js +48 -15
- package/dist/dialog/dialog.d.ts +1 -1
- package/dist/dialog/dialog.js +24 -9
- package/dist/dialog/dialogHelpers.js +7 -3
- package/dist/dropdownRaw/dropdownHelper.js +4 -1
- package/dist/dropdownRaw/dropdownRaw.js +22 -8
- package/dist/favoriteButton/favoriteButton.js +6 -2
- package/dist/feedbackContainer/feedbackContainer.js +12 -5
- package/dist/feedbackContainer/hooks/useFeedbackAlert.js +2 -1
- package/dist/feedbackContainer/hooks/useFeedbackToast.js +2 -1
- package/dist/feedbackProvider/utils/getDefaultProviderMode.js +5 -3
- package/dist/filterButton/filterButton.js +6 -2
- package/dist/filters/components/filtersChip.d.ts +2 -1
- package/dist/filters/components/filtersChip.js +18 -4
- package/dist/filters/components/filtersContainer.js +18 -0
- package/dist/filters/components/filtersCustomProvider.d.ts +17 -0
- package/dist/filters/components/filtersCustomProvider.js +16 -0
- package/dist/filters/components/filtersDateInput.d.ts +1 -1
- package/dist/filters/components/filtersDateInput.js +16 -4
- package/dist/filters/components/filtersDateRange.d.ts +1 -1
- package/dist/filters/components/filtersDateRange.js +17 -4
- package/dist/filters/components/filtersDropdown.d.ts +2 -2
- package/dist/filters/components/filtersDropdown.js +19 -7
- package/dist/filters/components/filtersEmptyState.d.ts +1 -0
- package/dist/filters/components/{filtersEmptySelectedList.js → filtersEmptyState.js} +12 -23
- package/dist/filters/components/filtersGroups.d.ts +2 -2
- package/dist/filters/components/filtersGroups.js +16 -4
- package/dist/filters/components/filtersItem.d.ts +20 -6
- package/dist/filters/components/filtersItem.js +8 -1
- package/dist/filters/components/filtersRange.d.ts +1 -1
- package/dist/filters/components/filtersRange.js +17 -4
- package/dist/filters/components/filtersSavedChipComponent.js +92 -23
- package/dist/filters/components/filtersSearch.d.ts +7 -1
- package/dist/filters/components/filtersSearch.js +23 -10
- package/dist/filters/components/filtersSearchItemData.js +174 -86
- package/dist/filters/components/filtersSearchList.d.ts +3 -1
- package/dist/filters/components/filtersSearchList.js +125 -36
- package/dist/filters/components/filtersSelect.d.ts +1 -1
- package/dist/filters/components/filtersSelect.js +26 -13
- package/dist/filters/components/filtersSelectCompact.d.ts +17 -0
- package/dist/filters/components/filtersSelectCompact.js +61 -0
- package/dist/filters/components/filtersSelectListItem.js +44 -6
- package/dist/filters/components/filtersSelectUnfoldingPill.d.ts +23 -0
- package/dist/filters/components/filtersSelectUnfoldingPill.js +46 -0
- package/dist/filters/components/filtersSidePanel.js +17 -10
- package/dist/filters/components/filtersSidePanelChip.js +1 -1
- package/dist/filters/components/filtersSidePanelDateRange.d.ts +2 -0
- package/dist/filters/components/filtersSidePanelDateRange.js +24 -0
- package/dist/filters/components/filtersSidePanelDropdown.js +21 -3
- package/dist/filters/components/filtersSidePanelItem.d.ts +2 -3
- package/dist/filters/components/filtersSidePanelItem.js +27 -55
- package/dist/filters/components/filtersSidePanelItemWrapper.d.ts +8 -0
- package/dist/filters/components/filtersSidePanelItemWrapper.js +17 -0
- package/dist/filters/components/filtersSidePanelProvider.d.ts +8 -0
- package/dist/filters/components/filtersSidePanelProvider.js +13 -0
- package/dist/filters/components/filtersSidePanelRange.d.ts +5 -3
- package/dist/filters/components/filtersSidePanelRange.js +5 -5
- package/dist/filters/filters.d.ts +7 -3
- package/dist/filters/filters.js +186 -87
- package/dist/filters/filtersHelper.d.ts +9 -1
- package/dist/filters/filtersHelper.js +68 -9
- package/dist/filtersBar/components/filtersBarDropdown/filtersBarDropdown.js +4 -5
- package/dist/filtersBar/components/filtersBarGroupButton/filtersBarGroupButton.js +2 -2
- package/dist/filtersBar/components/filtersBarGroupsFilter/filtersBarGroupsFilter.js +2 -2
- package/dist/filtersBar/components/filtersBarPeriodPicker/filtersBarPeriodPicker.d.ts +4 -4
- package/dist/filtersBar/components/filtersBarPeriodPicker/filtersBarPeriodPicker.js +68 -37
- package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.d.ts +2 -0
- package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +29 -21
- package/dist/filtersBar/components/filtersBarRange/filtersBarRange.js +2 -2
- package/dist/filtersBar/components/filtersBarSearch/filtersBarSearch.js +3 -3
- package/dist/filtersBar/filtersBar.js +13 -4
- package/dist/filtersBar/filtersBarProvider.js +3 -2
- package/dist/filtersBar/filtersBarProviderSearch.js +3 -1
- package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelCheckboxGroup/filtersBarSidePanelCheckboxGroup.js +1 -2
- package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRadioGroup/filtersBarSidePanelRadioGroup.js +2 -2
- package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +5 -4
- package/dist/filtersBar/filtersContainer/filtersContainer.js +17 -11
- package/dist/formField/hooks/useFormFieldClasses.js +3 -2
- package/dist/gridLayout/hooks/useTablet.js +2 -1
- package/dist/groupButtonRaw/groupButtonRaw.js +3 -1
- package/dist/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +3 -2
- package/dist/groupsFilterRaw/groupsFilterInitialState.js +3 -2
- package/dist/groupsFilterRaw/groupsFilterMenu.js +3 -2
- package/dist/groupsFilterRaw/groupsFilterRaw.d.ts +10 -9
- package/dist/groupsFilterRaw/groupsFilterRaw.js +31 -6
- package/dist/groupsFilterRaw/groupsFilterTrigger.js +3 -1
- package/dist/groupsFilterRaw/types.d.ts +7 -6
- package/dist/groupsFilterRaw/uiStateReducer/uiStateAction.d.ts +5 -1
- package/dist/groupsFilterRaw/uiStateReducer/uiStateReducer.d.ts +4 -2
- package/dist/groupsFilterRaw/uiStateReducer/uiStateReducer.js +3 -2
- package/dist/header/components/collapsedItemsControl/collapsedItemsControl.js +4 -2
- package/dist/header/components/mobileFilterControl/mobileFilterControl.js +3 -1
- package/dist/header/components/mobileSearchControl/mobileSearchControl.js +3 -1
- package/dist/header/header.js +14 -5
- package/dist/header/headerHelpers.d.ts +1 -1
- package/dist/header/headerHelpers.js +6 -3
- package/dist/header/headerMenu.js +1 -1
- package/dist/icons/deprecated/iconBackArrow.js +1 -2
- package/dist/icons/deprecated/iconCheckmark.js +1 -2
- package/dist/icons/deprecated/iconCrossThin.js +1 -2
- package/dist/icons/deprecated/iconFlatFilledArrowDown.js +1 -2
- package/dist/icons/deprecated/iconGlobe.js +1 -2
- package/dist/icons/deprecated/iconHouse.js +1 -2
- package/dist/icons/deprecated/iconInfoCircleTooltip.js +1 -2
- package/dist/icons/deprecated/iconLoupe.js +1 -2
- package/dist/icons/deprecated/iconMinusIcon.js +1 -2
- package/dist/icons/deprecated/iconOrgFilter.js +1 -2
- package/dist/icons/deprecated/iconRefresh.js +1 -2
- package/dist/icons/iconActivity.js +1 -2
- package/dist/icons/iconAddPeople.js +1 -2
- package/dist/icons/iconAiImages.js +1 -2
- package/dist/icons/iconAiSparkles.js +1 -2
- package/dist/icons/iconAiSparkles2.js +1 -2
- package/dist/icons/iconAirplay.js +1 -2
- package/dist/icons/iconAirpods.js +1 -2
- package/dist/icons/iconAlignBottom.js +1 -2
- package/dist/icons/iconAlignLeft.js +1 -2
- package/dist/icons/iconAlignRightBox.js +1 -2
- package/dist/icons/iconAlignTopBox.js +1 -2
- package/dist/icons/iconAlignmentCenter.js +1 -2
- package/dist/icons/iconAlignmentJustify.js +1 -2
- package/dist/icons/iconAlignmentLeft.js +1 -2
- package/dist/icons/iconAlignmentRight.js +1 -2
- package/dist/icons/iconAnchor.js +1 -2
- package/dist/icons/iconAnchor2.js +1 -2
- package/dist/icons/iconArchive.js +1 -2
- package/dist/icons/iconArchive2.js +1 -2
- package/dist/icons/iconArrowBottom.js +1 -2
- package/dist/icons/iconArrowBottomCircle.js +1 -2
- package/dist/icons/iconArrowBottomLeft.js +1 -2
- package/dist/icons/iconArrowBottomRight.js +1 -2
- package/dist/icons/iconArrowDownPath.js +1 -2
- package/dist/icons/iconArrowLeft.js +1 -2
- package/dist/icons/iconArrowLeftCircle.js +1 -2
- package/dist/icons/iconArrowLeftPath.js +1 -2
- package/dist/icons/iconArrowRight.js +1 -2
- package/dist/icons/iconArrowRightCircle.js +1 -2
- package/dist/icons/iconArrowRightPath.js +1 -2
- package/dist/icons/iconArrowTop.js +1 -2
- package/dist/icons/iconArrowTopCircle.js +1 -2
- package/dist/icons/iconArrowTopLeft.js +1 -2
- package/dist/icons/iconArrowTopRight.js +1 -2
- package/dist/icons/iconArrowUpPath.js +1 -2
- package/dist/icons/iconAt.js +1 -2
- package/dist/icons/iconAttachment.js +1 -2
- package/dist/icons/iconAttachment2.js +1 -2
- package/dist/icons/iconAttachmentFile.js +1 -2
- package/dist/icons/iconAudio.js +1 -2
- package/dist/icons/iconAutoSize.js +1 -2
- package/dist/icons/iconBackward.js +1 -2
- package/dist/icons/iconBadge.js +1 -2
- package/dist/icons/iconBag.js +1 -2
- package/dist/icons/iconBag2.js +1 -2
- package/dist/icons/iconBagLuggage.js +1 -2
- package/dist/icons/iconBagLuggage2.js +1 -2
- package/dist/icons/iconBasket.js +1 -2
- package/dist/icons/iconBasket2.js +1 -2
- package/dist/icons/iconBatteryError.js +1 -2
- package/dist/icons/iconBatteryFull.js +1 -2
- package/dist/icons/iconBatteryLoading.js +1 -2
- package/dist/icons/iconBatteryLow.js +1 -2
- package/dist/icons/iconBatteryLow2.js +1 -2
- package/dist/icons/iconBatteryMedium.js +1 -2
- package/dist/icons/iconBell.js +1 -2
- package/dist/icons/iconBeta.js +1 -2
- package/dist/icons/iconBitcoin.js +1 -2
- package/dist/icons/iconBluetooth.js +1 -2
- package/dist/icons/iconBold.js +1 -2
- package/dist/icons/iconBook.js +1 -2
- package/dist/icons/iconBook2.js +1 -2
- package/dist/icons/iconBookmark.js +1 -2
- package/dist/icons/iconBookmarkCheck.js +1 -2
- package/dist/icons/iconBookmarkDelete.js +1 -2
- package/dist/icons/iconBookmarkFill.js +1 -2
- package/dist/icons/iconBookmarkPlus.js +1 -2
- package/dist/icons/iconBookmarkSelectedHover.js +1 -2
- package/dist/icons/iconBranches.js +1 -2
- package/dist/icons/iconBrokenLink.js +1 -2
- package/dist/icons/iconBrowser.js +1 -2
- package/dist/icons/iconBrush.js +1 -2
- package/dist/icons/iconBubble.js +1 -2
- package/dist/icons/iconBubble2.js +1 -2
- package/dist/icons/iconBubble3.js +1 -2
- package/dist/icons/iconBubble4.js +1 -2
- package/dist/icons/iconBubble5.js +1 -2
- package/dist/icons/iconBubble6.js +1 -2
- package/dist/icons/iconBubbleAnnotation.js +1 -2
- package/dist/icons/iconBubbleAnnotation2.js +1 -2
- package/dist/icons/iconBubbleAnnotation4.js +1 -2
- package/dist/icons/iconBubbleAnnotation5.js +1 -2
- package/dist/icons/iconBubbleAnnotation6.js +1 -2
- package/dist/icons/iconBubbleNotification.js +1 -2
- package/dist/icons/iconBubbles.js +1 -2
- package/dist/icons/iconBucket.js +1 -2
- package/dist/icons/iconBuilding.js +1 -2
- package/dist/icons/iconBulkSelect.js +1 -2
- package/dist/icons/iconBulletList.js +1 -2
- package/dist/icons/iconBusiness.js +1 -2
- package/dist/icons/iconCalculator.js +1 -2
- package/dist/icons/iconCalendar.js +1 -2
- package/dist/icons/iconCamera.js +1 -2
- package/dist/icons/iconCamera2.js +1 -2
- package/dist/icons/iconCamera3.js +1 -2
- package/dist/icons/iconCameraAction.js +1 -2
- package/dist/icons/iconCanBus.js +1 -2
- package/dist/icons/iconChart.js +1 -2
- package/dist/icons/iconChart2.js +1 -2
- package/dist/icons/iconChart3.js +1 -2
- package/dist/icons/iconChart4.js +1 -2
- package/dist/icons/iconChart5.js +1 -2
- package/dist/icons/iconChart6.js +1 -2
- package/dist/icons/iconChart7.js +1 -2
- package/dist/icons/iconChart8.js +1 -2
- package/dist/icons/iconCheck.js +1 -2
- package/dist/icons/iconCheckRadio.js +1 -2
- package/dist/icons/iconCheckbox.js +1 -2
- package/dist/icons/iconChevronBottom.js +1 -2
- package/dist/icons/iconChevronDoubleDown.js +1 -2
- package/dist/icons/iconChevronDoubleLeft.js +1 -2
- package/dist/icons/iconChevronDoubleRight.js +1 -2
- package/dist/icons/iconChevronDoubleUp.js +1 -2
- package/dist/icons/iconChevronDownSmall.js +1 -2
- package/dist/icons/iconChevronGrabberHorizontal.js +1 -2
- package/dist/icons/iconChevronGrabberVertical.js +1 -2
- package/dist/icons/iconChevronLeft.js +1 -2
- package/dist/icons/iconChevronLeftSmall.js +1 -2
- package/dist/icons/iconChevronRight.js +1 -2
- package/dist/icons/iconChevronRightSmall.js +1 -2
- package/dist/icons/iconChevronTop.js +1 -2
- package/dist/icons/iconChevronTopSmall.js +1 -2
- package/dist/icons/iconChromecast.js +1 -2
- package/dist/icons/iconCircle.js +1 -2
- package/dist/icons/iconClipboard.js +1 -2
- package/dist/icons/iconClipboard2.js +1 -2
- package/dist/icons/iconClock.js +1 -2
- package/dist/icons/iconClock2.js +1 -2
- package/dist/icons/iconClockSnooze.js +1 -2
- package/dist/icons/iconClockTimer.js +1 -2
- package/dist/icons/iconClose.js +1 -2
- package/dist/icons/iconCloseCircle.js +1 -2
- package/dist/icons/iconCloseSquare.js +1 -2
- package/dist/icons/iconCloud.js +1 -2
- package/dist/icons/iconCloud2.js +1 -2
- package/dist/icons/iconCloudCheck.js +1 -2
- package/dist/icons/iconCloudDownload.js +1 -2
- package/dist/icons/iconCloudLines.js +1 -2
- package/dist/icons/iconCloudOff.js +1 -2
- package/dist/icons/iconCloudOff2.js +1 -2
- package/dist/icons/iconCloudQuestion.js +1 -2
- package/dist/icons/iconCloudSync.js +1 -2
- package/dist/icons/iconCloudUpload.js +1 -2
- package/dist/icons/iconCmd.js +1 -2
- package/dist/icons/iconCmd2.js +1 -2
- package/dist/icons/iconCode.js +1 -2
- package/dist/icons/iconCode2.js +1 -2
- package/dist/icons/iconColor.js +1 -2
- package/dist/icons/iconColorPicker.js +1 -2
- package/dist/icons/iconCommunity.js +1 -2
- package/dist/icons/iconCompass.js +1 -2
- package/dist/icons/iconConnectDevices.js +1 -2
- package/dist/icons/iconConsole.js +1 -2
- package/dist/icons/iconConstruction.js +1 -2
- package/dist/icons/iconCopy.js +1 -2
- package/dist/icons/iconCopy2.js +1 -2
- package/dist/icons/iconCopy3.js +1 -2
- package/dist/icons/iconCopy4.js +1 -2
- package/dist/icons/iconCopy5.js +1 -2
- package/dist/icons/iconCornerDownLeft.js +1 -2
- package/dist/icons/iconCornerDownRight.js +1 -2
- package/dist/icons/iconCornerLeftDown.js +1 -2
- package/dist/icons/iconCornerLeftUp.js +1 -2
- package/dist/icons/iconCornerRightDown.js +1 -2
- package/dist/icons/iconCornerRightUp.js +1 -2
- package/dist/icons/iconCornerUpLeft.js +1 -2
- package/dist/icons/iconCornerUpRight.js +1 -2
- package/dist/icons/iconCreditCard.js +1 -2
- package/dist/icons/iconCreditCard2.js +1 -2
- package/dist/icons/iconCreditCard3.js +1 -2
- package/dist/icons/iconCrop.js +1 -2
- package/dist/icons/iconCrypto.js +1 -2
- package/dist/icons/iconCryptoCoin.js +1 -2
- package/dist/icons/iconCup.js +1 -2
- package/dist/icons/iconCursor.js +1 -2
- package/dist/icons/iconCursor2.js +1 -2
- package/dist/icons/iconCursor3.js +1 -2
- package/dist/icons/iconCursorBox.js +1 -2
- package/dist/icons/iconCursorClick.js +1 -2
- package/dist/icons/iconCycle.js +1 -2
- package/dist/icons/iconDelete.js +1 -2
- package/dist/icons/iconDelete2.js +1 -2
- package/dist/icons/iconDelete3.js +1 -2
- package/dist/icons/iconDeviceUptime.js +1 -2
- package/dist/icons/iconDeviceUptimeDisconnected.js +1 -2
- package/dist/icons/iconDiamondWarning.js +1 -2
- package/dist/icons/iconDisk.js +1 -2
- package/dist/icons/iconDisk2.js +1 -2
- package/dist/icons/iconDispatchAsset.js +1 -2
- package/dist/icons/iconDock.js +1 -2
- package/dist/icons/iconDocument.js +1 -2
- package/dist/icons/iconDocumentWithLines.js +1 -2
- package/dist/icons/iconDollar.js +1 -2
- package/dist/icons/iconDotGrid.js +1 -2
- package/dist/icons/iconDotHorizontal.js +1 -2
- package/dist/icons/iconDotVertical.js +1 -2
- package/dist/icons/iconDownload.js +1 -2
- package/dist/icons/iconDrive.js +1 -2
- package/dist/icons/iconDriver.js +1 -2
- package/dist/icons/iconDvir.js +1 -2
- package/dist/icons/iconEdit.js +1 -2
- package/dist/icons/iconEdit2.js +1 -2
- package/dist/icons/iconEditBig.js +1 -2
- package/dist/icons/iconEditSmall.js +1 -2
- package/dist/icons/iconEmail.js +1 -2
- package/dist/icons/iconEmail2.js +1 -2
- package/dist/icons/iconEmailNotification.js +1 -2
- package/dist/icons/iconEsc.js +1 -2
- package/dist/icons/iconEthereum.js +1 -2
- package/dist/icons/iconEuro.js +1 -2
- package/dist/icons/iconEvse.js +1 -2
- package/dist/icons/iconExcel.js +1 -2
- package/dist/icons/iconException.js +1 -2
- package/dist/icons/iconExpand.js +1 -2
- package/dist/icons/iconEye.js +1 -2
- package/dist/icons/iconEyeOff.js +1 -2
- package/dist/icons/iconFaceId.js +1 -2
- package/dist/icons/iconFile.js +1 -2
- package/dist/icons/iconFileCopy.js +1 -2
- package/dist/icons/iconFileLocked.js +1 -2
- package/dist/icons/iconFileSync.js +1 -2
- package/dist/icons/iconFileSync2.js +1 -2
- package/dist/icons/iconFileSync3.js +1 -2
- package/dist/icons/iconFileSync4.js +1 -2
- package/dist/icons/iconFileSync5.js +1 -2
- package/dist/icons/iconFilter.js +1 -2
- package/dist/icons/iconFilter2.js +1 -2
- package/dist/icons/iconFilter3.js +1 -2
- package/dist/icons/iconFilter3Asc.js +1 -2
- package/dist/icons/iconFilter3Desc.js +1 -2
- package/dist/icons/iconFilterAsc.js +1 -2
- package/dist/icons/iconFilterDesc.js +1 -2
- package/dist/icons/iconFingerPrint.js +1 -2
- package/dist/icons/iconFocus.js +1 -2
- package/dist/icons/iconFolder.js +1 -2
- package/dist/icons/iconFolder2.js +1 -2
- package/dist/icons/iconFolderAdd.js +1 -2
- package/dist/icons/iconFolderBookmarks.js +1 -2
- package/dist/icons/iconFolderCloud.js +1 -2
- package/dist/icons/iconFolderCloud2.js +1 -2
- package/dist/icons/iconFolderDelete.js +1 -2
- package/dist/icons/iconFolderDownload.js +1 -2
- package/dist/icons/iconFolderRestricted.js +1 -2
- package/dist/icons/iconFolderShared.js +1 -2
- package/dist/icons/iconFolderUpload.js +1 -2
- package/dist/icons/iconFolders.js +1 -2
- package/dist/icons/iconFork.js +1 -2
- package/dist/icons/iconFuelGas.js +1 -2
- package/dist/icons/iconGamepad.js +1 -2
- package/dist/icons/iconGeotabDrive.js +1 -2
- package/dist/icons/iconGeotabSales.js +1 -2
- package/dist/icons/iconGift.js +1 -2
- package/dist/icons/iconGlobus.js +1 -2
- package/dist/icons/iconGrab.js +1 -2
- package/dist/icons/iconGraph.js +1 -2
- package/dist/icons/iconGraphChart.js +1 -2
- package/dist/icons/iconGraphLines.js +1 -2
- package/dist/icons/iconGraphPresentation.js +1 -2
- package/dist/icons/iconGraphStatistics.js +1 -2
- package/dist/icons/iconGrids.js +1 -2
- package/dist/icons/iconGrids2.js +1 -2
- package/dist/icons/iconHarness.js +1 -2
- package/dist/icons/iconHeadphones.js +1 -2
- package/dist/icons/iconHeart.js +1 -2
- package/dist/icons/iconHexonalWarning.js +1 -2
- package/dist/icons/iconHistory.js +1 -2
- package/dist/icons/iconHomeDoor.js +1 -2
- package/dist/icons/iconHomeDoor2.js +1 -2
- package/dist/icons/iconHomeRoof.js +1 -2
- package/dist/icons/iconHomeSimple.js +1 -2
- package/dist/icons/iconHourglass.js +1 -2
- package/dist/icons/iconITS.js +1 -2
- package/dist/icons/iconIcon.js +1 -2
- package/dist/icons/iconImac.js +1 -2
- package/dist/icons/iconImage.js +1 -2
- package/dist/icons/iconImages.js +1 -2
- package/dist/icons/iconImages2.js +1 -2
- package/dist/icons/iconInbox.js +1 -2
- package/dist/icons/iconInfoCircle.js +1 -2
- package/dist/icons/iconInfoSquare.js +1 -2
- package/dist/icons/iconInspect.js +1 -2
- package/dist/icons/iconItalic.js +1 -2
- package/dist/icons/iconKeyboard.js +1 -2
- package/dist/icons/iconKeyboardDown.js +1 -2
- package/dist/icons/iconKeyboardUp.js +1 -2
- package/dist/icons/iconKeyboardUp2.js +1 -2
- package/dist/icons/iconLab.js +1 -2
- package/dist/icons/iconLaptop.js +1 -2
- package/dist/icons/iconLayers.js +1 -2
- package/dist/icons/iconLayout.js +1 -2
- package/dist/icons/iconLayoutBottom.js +1 -2
- package/dist/icons/iconLayoutColumn.js +1 -2
- package/dist/icons/iconLayoutLeft.js +1 -2
- package/dist/icons/iconLayoutRight.js +1 -2
- package/dist/icons/iconLayoutSearch.js +1 -2
- package/dist/icons/iconLayoutSidebar.js +1 -2
- package/dist/icons/iconLayoutTop.js +1 -2
- package/dist/icons/iconLayoutTopbar.js +1 -2
- package/dist/icons/iconLayoutWindow.js +1 -2
- package/dist/icons/iconLayoutWindow2.js +1 -2
- package/dist/icons/iconLayoutWindow3.js +1 -2
- package/dist/icons/iconLayoutWindow4.js +1 -2
- package/dist/icons/iconLayoutWindow5.js +1 -2
- package/dist/icons/iconLeaf.js +1 -2
- package/dist/icons/iconLifeBuoy.js +1 -2
- package/dist/icons/iconLightBulb.js +1 -2
- package/dist/icons/iconLightning.js +1 -2
- package/dist/icons/iconLink.js +1 -2
- package/dist/icons/iconLink2.js +1 -2
- package/dist/icons/iconLink3.js +1 -2
- package/dist/icons/iconLinkLines.js +1 -2
- package/dist/icons/iconList.js +1 -2
- package/dist/icons/iconLoader.js +1 -2
- package/dist/icons/iconLocationCompass.js +1 -2
- package/dist/icons/iconLocationMap.js +1 -2
- package/dist/icons/iconLocationOff.js +1 -2
- package/dist/icons/iconLock.js +1 -2
- package/dist/icons/iconLogin.js +1 -2
- package/dist/icons/iconLogout.js +1 -2
- package/dist/icons/iconLowDataQuality.js +1 -2
- package/dist/icons/iconMacbook.js +1 -2
- package/dist/icons/iconMagic.js +1 -2
- package/dist/icons/iconMagic2.js +1 -2
- package/dist/icons/iconMagicEyes.js +1 -2
- package/dist/icons/iconMap.js +1 -2
- package/dist/icons/iconMarketplace.js +1 -2
- package/dist/icons/iconMedal.js +1 -2
- package/dist/icons/iconMemory.js +1 -2
- package/dist/icons/iconMemory2.js +1 -2
- package/dist/icons/iconMenu.js +1 -2
- package/dist/icons/iconMenu2.js +1 -2
- package/dist/icons/iconMenu3.js +1 -2
- package/dist/icons/iconMenuCircle.js +1 -2
- package/dist/icons/iconMicrophone.js +1 -2
- package/dist/icons/iconMicrophone2.js +1 -2
- package/dist/icons/iconMinimize.js +1 -2
- package/dist/icons/iconMinus.js +1 -2
- package/dist/icons/iconMinusCircle.js +1 -2
- package/dist/icons/iconMinusSquare.js +1 -2
- package/dist/icons/iconMobi.js +1 -2
- package/dist/icons/iconMoney.js +1 -2
- package/dist/icons/iconMoon.js +1 -2
- package/dist/icons/iconMouse.js +1 -2
- package/dist/icons/iconMouseScrollDown.js +1 -2
- package/dist/icons/iconMouseScrollUp.js +1 -2
- package/dist/icons/iconMove.js +1 -2
- package/dist/icons/iconMove2.js +1 -2
- package/dist/icons/iconMyAdmin.js +1 -2
- package/dist/icons/iconMyGeotab.js +1 -2
- package/dist/icons/iconNavigationFooterCollapsed.js +1 -2
- package/dist/icons/iconNavigationFooterExpanded.js +1 -2
- package/dist/icons/iconNews.js +1 -2
- package/dist/icons/iconNewspaper.js +1 -2
- package/dist/icons/iconNote.js +1 -2
- package/dist/icons/iconNotificationAlarm.js +1 -2
- package/dist/icons/iconNotificationBell.js +1 -2
- package/dist/icons/iconNotificationOff.js +1 -2
- package/dist/icons/iconNotifications.js +1 -2
- package/dist/icons/iconNumberedList.js +1 -2
- package/dist/icons/iconOnDuty.js +1 -2
- package/dist/icons/iconOpen.js +1 -2
- package/dist/icons/iconOpen2.js +1 -2
- package/dist/icons/iconOpt.js +1 -2
- package/dist/icons/iconOptAlt.js +1 -2
- package/dist/icons/iconPDF.js +1 -2
- package/dist/icons/iconPackage.js +1 -2
- package/dist/icons/iconPackage2.js +1 -2
- package/dist/icons/iconPackage3.js +1 -2
- package/dist/icons/iconPaperPlane.js +1 -2
- package/dist/icons/iconPassword.js +1 -2
- package/dist/icons/iconPause.js +1 -2
- package/dist/icons/iconPencil.js +1 -2
- package/dist/icons/iconPencil2.js +1 -2
- package/dist/icons/iconPeople.js +1 -2
- package/dist/icons/iconPeopleGroup.js +1 -2
- package/dist/icons/iconPeopleGroup2.js +1 -2
- package/dist/icons/iconPeopleLike.js +1 -2
- package/dist/icons/iconPercent.js +1 -2
- package/dist/icons/iconPerformance.js +1 -2
- package/dist/icons/iconPhone.js +1 -2
- package/dist/icons/iconPhoneMobile.js +1 -2
- package/dist/icons/iconPin.js +1 -2
- package/dist/icons/iconPin2.js +1 -2
- package/dist/icons/iconPinLocation.js +1 -2
- package/dist/icons/iconPinLocation2.js +1 -2
- package/dist/icons/iconPinLocation3.js +1 -2
- package/dist/icons/iconPlay.js +1 -2
- package/dist/icons/iconPlus.js +1 -2
- package/dist/icons/iconPlusCircle.js +1 -2
- package/dist/icons/iconPlusFile.js +1 -2
- package/dist/icons/iconPlusLines.js +1 -2
- package/dist/icons/iconPlusSquare.js +1 -2
- package/dist/icons/iconPound.js +1 -2
- package/dist/icons/iconPrinter.js +1 -2
- package/dist/icons/iconProcessor.js +1 -2
- package/dist/icons/iconPullRequest.js +1 -2
- package/dist/icons/iconPuzzle.js +1 -2
- package/dist/icons/iconQuestion.js +1 -2
- package/dist/icons/iconRadar.js +1 -2
- package/dist/icons/iconReceipt.js +1 -2
- package/dist/icons/iconRecord.js +1 -2
- package/dist/icons/iconRedo.js +1 -2
- package/dist/icons/iconRedo2.js +1 -2
- package/dist/icons/iconRefrigeration.js +1 -2
- package/dist/icons/iconRemovePeople.js +1 -2
- package/dist/icons/iconRepeat.js +1 -2
- package/dist/icons/iconRepeat2.js +1 -2
- package/dist/icons/iconResizeBig.js +1 -2
- package/dist/icons/iconResizeSmall.js +1 -2
- package/dist/icons/iconRotateClockwise.js +1 -2
- package/dist/icons/iconRotateCounterclockwise.js +1 -2
- package/dist/icons/iconRotateRepeat.js +1 -2
- package/dist/icons/iconRotateRepeat2.js +1 -2
- package/dist/icons/iconRoute.js +1 -2
- package/dist/icons/iconRuler.js +1 -2
- package/dist/icons/iconSdCard.js +1 -2
- package/dist/icons/iconSearch.js +1 -2
- package/dist/icons/iconSearchDocument.js +1 -2
- package/dist/icons/iconSearchLines.js +1 -2
- package/dist/icons/iconSearchPage.js +1 -2
- package/dist/icons/iconSeatbelt.js +1 -2
- package/dist/icons/iconSecured.js +1 -2
- package/dist/icons/iconSecuredLines.js +1 -2
- package/dist/icons/iconSend.js +1 -2
- package/dist/icons/iconServer.js +1 -2
- package/dist/icons/iconServer2.js +1 -2
- package/dist/icons/iconServer3.js +1 -2
- package/dist/icons/iconSettings1.js +1 -2
- package/dist/icons/iconSettings2.js +1 -2
- package/dist/icons/iconSettings3.js +1 -2
- package/dist/icons/iconSettings4.js +1 -2
- package/dist/icons/iconSettings6.js +1 -2
- package/dist/icons/iconSettings7.js +1 -2
- package/dist/icons/iconSettings8.js +1 -2
- package/dist/icons/iconShare.js +1 -2
- package/dist/icons/iconShare3.js +1 -2
- package/dist/icons/iconShield.js +1 -2
- package/dist/icons/iconShield2.js +1 -2
- package/dist/icons/iconShield3.js +1 -2
- package/dist/icons/iconShield4.js +1 -2
- package/dist/icons/iconSidebar.js +1 -2
- package/dist/icons/iconSign.js +1 -2
- package/dist/icons/iconSmiley.js +1 -2
- package/dist/icons/iconSort2Horizontal.js +1 -2
- package/dist/icons/iconSort2Vertical.js +1 -2
- package/dist/icons/iconSortHorizontal.js +1 -2
- package/dist/icons/iconSortVertical.js +1 -2
- package/dist/icons/iconSpeaker.js +1 -2
- package/dist/icons/iconSquare.js +1 -2
- package/dist/icons/iconStar.js +1 -2
- package/dist/icons/iconStarAi.js +1 -2
- package/dist/icons/iconStopwatch.js +1 -2
- package/dist/icons/iconStorage.js +1 -2
- package/dist/icons/iconStore.js +1 -2
- package/dist/icons/iconStrikeThrough.js +1 -2
- package/dist/icons/iconSun.js +1 -2
- package/dist/icons/iconSupport.js +1 -2
- package/dist/icons/iconTable.js +1 -2
- package/dist/icons/iconTachograph.js +1 -2
- package/dist/icons/iconTachographTimeCard.js +1 -2
- package/dist/icons/iconTarget.js +1 -2
- package/dist/icons/iconTarget2.js +1 -2
- package/dist/icons/iconTarget3.js +1 -2
- package/dist/icons/iconTelevision.js +1 -2
- package/dist/icons/iconTelevision2.js +1 -2
- package/dist/icons/iconTextSize.js +1 -2
- package/dist/icons/iconThermograph.js +1 -2
- package/dist/icons/iconThermometer.js +1 -2
- package/dist/icons/iconThumbsDown.js +1 -2
- package/dist/icons/iconThumbsUp.js +1 -2
- package/dist/icons/iconTrailer.js +1 -2
- package/dist/icons/iconUmbrella.js +1 -2
- package/dist/icons/iconUnderline.js +1 -2
- package/dist/icons/iconUndo.js +1 -2
- package/dist/icons/iconUndo2.js +1 -2
- package/dist/icons/iconUndock.js +1 -2
- package/dist/icons/iconUnlocked.js +1 -2
- package/dist/icons/iconUpload.js +1 -2
- package/dist/icons/iconUsb.js +1 -2
- package/dist/icons/iconUsbHub.js +1 -2
- package/dist/icons/iconVideo.js +1 -2
- package/dist/icons/iconVideo2.js +1 -2
- package/dist/icons/iconVideoReplay.js +1 -2
- package/dist/icons/iconVisitPage.js +1 -2
- package/dist/icons/iconVoice.js +1 -2
- package/dist/icons/iconVolumeDown.js +1 -2
- package/dist/icons/iconVolumeFull.js +1 -2
- package/dist/icons/iconVolumeHalf.js +1 -2
- package/dist/icons/iconVolumeMinimum.js +1 -2
- package/dist/icons/iconVolumeOff.js +1 -2
- package/dist/icons/iconVolumeOn.js +1 -2
- package/dist/icons/iconWallet.js +1 -2
- package/dist/icons/iconWallet1.js +1 -2
- package/dist/icons/iconWarning.js +1 -2
- package/dist/icons/iconWatch.js +1 -2
- package/dist/icons/iconWatch2.js +1 -2
- package/dist/icons/iconWebcam.js +1 -2
- package/dist/icons/iconWhisper.js +1 -2
- package/dist/icons/iconWifi.js +1 -2
- package/dist/icons/iconWifi2.js +1 -2
- package/dist/icons/iconWorkday.js +1 -2
- package/dist/icons/iconWorld.js +1 -2
- package/dist/icons/iconWrench.js +1 -2
- package/dist/icons/iconWrite.js +1 -2
- package/dist/icons/iconYen.js +1 -2
- package/dist/icons/iconZone.js +1 -2
- package/dist/icons/iconZoom.js +1 -2
- package/dist/icons/iconZoom2.js +1 -2
- package/dist/images/imageNothingFound.js +1 -2
- package/dist/index.css +3042 -2228
- package/dist/index.d.ts +6 -4
- package/dist/index.js +25 -18
- package/dist/inputAdornments/inputAdornments.d.ts +6 -1
- package/dist/inputAdornments/inputAdornments.js +9 -10
- package/dist/layout/layout.d.ts +3 -1
- package/dist/layout/layout.js +59 -18
- package/dist/layout/layoutBanner.d.ts +6 -0
- package/dist/layout/layoutBanner.js +7 -0
- package/dist/layout/layoutFullScreen.js +1 -2
- package/dist/lineChart/plugins/htmlLegend.js +33 -23
- package/dist/list/hooks/useContainerScroll.js +5 -2
- package/dist/list/hooks/useDragAndDrop.d.ts +19 -1
- package/dist/list/hooks/useDragAndDrop.js +79 -35
- package/dist/list/hooks/useVirtualScroll.js +21 -16
- package/dist/list/itemData/itemDataInternal.js +6 -4
- package/dist/list/listItem/listItem.js +5 -3
- package/dist/list/utils/findElement.d.ts +1 -0
- package/dist/list/utils/findElement.js +13 -0
- package/dist/list/utils/findItemPosition.d.ts +1 -1
- package/dist/list/utils/findItemPosition.js +2 -2
- package/dist/list/utils/isDragNotClick.d.ts +6 -0
- package/dist/list/utils/isDragNotClick.js +9 -0
- package/dist/menu/controlledMenu.js +1 -1
- package/dist/mobileSheet/mobileSheet.js +14 -7
- package/dist/modal/modal.js +42 -19
- package/dist/nav/context/nav.context.d.ts +2 -0
- package/dist/nav/context/nav.context.js +3 -1
- package/dist/nav/nav.d.ts +3 -1
- package/dist/nav/nav.js +32 -18
- package/dist/nav/navAddMenu/navAddMenu.js +3 -1
- package/dist/nav/navEditList/navEditList.d.ts +7 -0
- package/dist/nav/navEditList/navEditList.js +22 -0
- package/dist/nav/navEditList/navEditListUtils.d.ts +3 -0
- package/dist/nav/navEditList/navEditListUtils.js +14 -0
- package/dist/nav/navEditSection/navEditSection.d.ts +3 -0
- package/dist/nav/navEditSection/navEditSection.js +7 -0
- package/dist/nav/navFooter/navEditFooter/navEditFooter.d.ts +11 -0
- package/dist/nav/navFooter/navEditFooter/navEditFooter.js +110 -0
- package/dist/nav/navFooter/navFooter.d.ts +2 -7
- package/dist/nav/navFooter/navFooter.js +5 -4
- package/dist/nav/navFooter/navFooterAction/navFooterAction.js +1 -0
- package/dist/nav/navItem/navActionItem.d.ts +14 -0
- package/dist/nav/navItem/navActionItem.js +15 -0
- package/dist/nav/navItem/navItem.js +8 -6
- package/dist/nav/navMobileBar/navMobileBar.js +1 -0
- package/dist/nav/utils/navUtils.js +12 -4
- package/dist/pageHeader/pageHeader.d.ts +2 -2
- package/dist/pageHeader/pageHeader.js +3 -1
- package/dist/pageHeader/pageHeaderActions.js +12 -5
- package/dist/pageHeader/pageHeaderHelpers.js +6 -6
- package/dist/pagination/paginationText/paginationText.js +2 -0
- package/dist/pill/components/pillActionable/pillActionable.js +1 -1
- package/dist/pill/pill.js +3 -0
- package/dist/pillAction/pillAction.js +2 -2
- package/dist/pillExpandable/pillContent.js +2 -2
- package/dist/pillExpandable/pillExpandable.js +2 -1
- package/dist/radio/radio.js +3 -1
- package/dist/rangeRaw/components/rangeField.js +5 -1
- package/dist/rangeRaw/rangeRaw.js +13 -8
- package/dist/react-chartjs/chart.js +5 -2
- package/dist/searchInputRaw/searchInputRaw.js +25 -10
- package/dist/searchInputRaw/types.d.ts +8 -3
- package/dist/selectList/selectList.js +3 -2
- package/dist/selectRaw/select.helpers.js +6 -2
- package/dist/selectRaw/selectRaw.js +3 -1
- package/dist/shield/shield.js +3 -1
- package/dist/sidePanel/sidePanel.js +42 -25
- package/dist/skeletonList/skeletonList.d.ts +2 -1
- package/dist/skeletonList/skeletonList.js +2 -2
- package/dist/stepperRaw/stepperRaw.js +10 -5
- package/dist/table/flexible/useFlexibleColumns.js +3 -1
- package/dist/table/flexible/useSettingsStorage.js +6 -2
- package/dist/table/sortable/sortableHeader.js +0 -2
- package/dist/table/sortable/sortableStorage.js +11 -1
- package/dist/table/sortable/useSortableColumns.js +14 -2
- package/dist/tabs/tabItem/tabItem.js +3 -1
- package/dist/tabs/tabs.d.ts +1 -0
- package/dist/tabs/tabs.js +27 -15
- package/dist/textIconButton/textIconButton.js +2 -2
- package/dist/textInputRaw/textInputRaw.js +3 -1
- package/dist/timePickerRaw/timePickerRaw.js +3 -2
- package/dist/toast/toast.js +8 -6
- package/dist/toast/utils/isToastTarget.d.ts +1 -0
- package/dist/toast/utils/isToastTarget.js +11 -0
- package/dist/toastRaw/hooks/useProgress.js +7 -4
- package/dist/toastRaw/toastRaw.d.ts +2 -1
- package/dist/toastRaw/toastRaw.js +13 -11
- package/dist/toolbar/helpers/getWidthWithMargin.js +3 -1
- package/dist/toolbar/helpers/getWidthWithoutPadding.js +4 -2
- package/dist/tooltip/tooltip.js +32 -20
- package/dist/utils/getParentWithHiddenOverflow.js +3 -1
- package/dist/utils/getRelativeParent.js +3 -1
- package/dist/utils/globalThisPolyfill.d.ts +11 -0
- package/dist/utils/globalThisPolyfill.js +33 -0
- package/dist/utils/keyboardHelpers.js +3 -1
- package/dist/utils/localization/languageContext.d.ts +1 -1
- package/dist/utils/localization/translations/cs.json +3 -1
- package/dist/utils/localization/translations/da-DK.json +3 -1
- package/dist/utils/localization/translations/de.json +3 -1
- package/dist/utils/localization/translations/en.json +5 -1
- package/dist/utils/localization/translations/es.json +3 -1
- package/dist/utils/localization/translations/fi-FI.json +3 -1
- package/dist/utils/localization/translations/fr-FR.json +3 -1
- package/dist/utils/localization/translations/fr.json +3 -1
- package/dist/utils/localization/translations/hu-HU.json +3 -1
- package/dist/utils/localization/translations/id.json +3 -1
- package/dist/utils/localization/translations/it.json +3 -1
- package/dist/utils/localization/translations/ja.json +3 -1
- package/dist/utils/localization/translations/ko-KR.json +3 -1
- package/dist/utils/localization/translations/ms.json +3 -1
- package/dist/utils/localization/translations/nb-NO.json +3 -1
- package/dist/utils/localization/translations/nl.json +3 -1
- package/dist/utils/localization/translations/pl.json +3 -1
- package/dist/utils/localization/translations/pt-BR.json +3 -1
- package/dist/utils/localization/translations/pt-PT.json +3 -1
- package/dist/utils/localization/translations/ro-RO.json +3 -1
- package/dist/utils/localization/translations/sk-SK.json +3 -1
- package/dist/utils/localization/translations/sv.json +3 -1
- package/dist/utils/localization/translations/th.json +3 -1
- package/dist/utils/localization/translations/tr.json +3 -1
- package/dist/utils/localization/translations/zh-Hans.json +3 -1
- package/dist/utils/localization/translations/zh-TW.json +3 -1
- package/dist/utils/positioningUtils/adjustParentRect.js +3 -2
- package/dist/utils/positioningUtils/calculatePosition.js +19 -17
- package/dist/utils/positioningUtils/getBorders.js +11 -1
- package/dist/utils/positioningUtils/getMargins.js +11 -1
- package/dist/utils/positioningUtils/isChildPopup.js +3 -1
- package/dist/utils/theme/useMobileClassName.d.ts +1 -0
- package/dist/utils/theme/useMobileClassName.js +14 -0
- package/dist/utils/topWindow/topWindowContext.d.ts +2 -1
- package/dist/utils/topWindow/topWindowProvider.d.ts +2 -1
- package/dist/utils/useBodyScroll.js +5 -2
- package/dist/utils/useFadeComponent.js +5 -2
- package/dist/utils/useScrollWithAndroidKeyboard.js +9 -5
- package/dist/utils/zen.d.ts +4 -0
- package/dist/utils/zen.js +5 -0
- package/dist/waiting/waiting.js +4 -2
- package/esm/absolute/absolute.d.ts +2 -2
- package/esm/absolute/absolute.js +20 -9
- package/esm/advancedGroupsFilter/advancedGroupsFilter.js +7 -2
- package/esm/alert/alert.js +4 -4
- package/esm/alert/utils/isAlertTarget.d.ts +1 -0
- package/esm/alert/utils/isAlertTarget.js +8 -0
- package/esm/alertRaw/alertRaw.d.ts +1 -0
- package/esm/alertRaw/alertRaw.js +18 -17
- package/esm/banner/banner.d.ts +1 -0
- package/esm/banner/banner.js +2 -0
- package/esm/button/button.js +5 -9
- package/esm/calendar/calendar.js +5 -4
- package/esm/card/card.js +4 -2
- package/esm/card/components/status.js +1 -1
- package/esm/chart/barChart/getBarTooltipItems.js +1 -1
- package/esm/chart/barChart.js +8 -7
- package/esm/chart/chartAxis/chartAxis.d.ts +2 -1
- package/esm/chart/chartAxis/chartAxis.js +8 -5
- package/esm/chart/lineChart/useChartTicks.js +5 -2
- package/esm/chart/lineChart.js +8 -7
- package/esm/chart/pieChart.js +3 -4
- package/esm/chart/plugins/legend/legendPlugin.js +3 -1
- package/esm/chart/plugins/linePlugin/linePlugin.js +7 -3
- package/esm/chart/plugins/tooltip/renderTooltip.js +19 -10
- package/esm/chart/plugins/tooltip/tooltipPlugin.js +6 -2
- package/esm/checkbox/checkbox.js +3 -1
- package/esm/chip/chip.d.ts +2 -0
- package/esm/chip/chip.js +87 -73
- package/esm/commonHelpers/arrowNavigation/arrowNavigationHelper.js +5 -2
- package/esm/commonHelpers/arrowNavigation/hooks/useHoldOnScroll.js +3 -1
- package/esm/commonHelpers/arrowNavigation/hooks/useScrollWhileHolding.js +3 -1
- package/esm/commonHelpers/hooks/deviceProvider.d.ts +7 -0
- package/esm/commonHelpers/hooks/deviceProvider.js +4 -0
- package/esm/commonHelpers/hooks/useClientReady.d.ts +1 -0
- package/esm/commonHelpers/hooks/useClientReady.js +11 -0
- package/esm/commonHelpers/hooks/useDebounce.js +6 -3
- package/esm/commonHelpers/hooks/useDebouncedMemo.js +6 -3
- package/esm/commonHelpers/hooks/useDeviceType.js +2 -1
- package/esm/commonHelpers/hooks/useKeydown.js +5 -2
- package/esm/commonHelpers/hooks/useMobile.js +6 -3
- package/esm/commonHelpers/hooks/usePillSize.js +3 -1
- package/esm/commonHelpers/hooks/usePortal.d.ts +2 -0
- package/esm/commonHelpers/hooks/usePortal.js +12 -0
- package/esm/commonHelpers/hooks/useResize.js +6 -4
- package/esm/commonHelpers/hooks/useResizeObserver.js +12 -7
- package/esm/commonHelpers/hooks/useScroll.js +4 -1
- package/esm/commonHelpers/hooks/useThrottle.d.ts +1 -1
- package/esm/commonHelpers/hooks/useThrottle.js +4 -2
- package/esm/commonHelpers/hooks/useTrapFocus.js +14 -9
- package/esm/commonHelpers/isDomEnv.d.ts +1 -0
- package/esm/commonHelpers/isDomEnv.js +7 -0
- package/esm/commonHelpers/utils.js +3 -2
- package/esm/commonStyles/typography/components/typographyItem.js +3 -2
- package/esm/controlledPopup/controlledPopup.js +4 -2
- package/esm/dataFeed/dataFeed.js +30 -25
- package/esm/dataFeed/dataFeedCell/dataFeedCell.js +8 -4
- package/esm/dataFeed/dataFeedColumnsItems.js +1 -1
- package/esm/dataGrid/cell/cell.js +9 -4
- package/esm/dataGrid/dataGrid.js +32 -20
- package/esm/dataGrid/headerCell/headerCell.d.ts +2 -1
- package/esm/dataGrid/headerCell/headerCell.js +2 -2
- package/esm/dataGrid/listColumn.d.ts +4 -0
- package/esm/dataGrid/withFlexibleColumns/flexibleColumnsReorder.js +27 -18
- package/esm/dataGrid/withFlexibleColumns/flexibleColumnsResizer.js +18 -9
- package/esm/dataGrid/withFlexibleColumns/withFlexibleColumns.js +3 -1
- package/esm/dataGrid/withSortableColumns/withSortableColumns.js +3 -1
- package/esm/dateInputRaw/dateInputRaw.js +7 -2
- package/esm/dateRangeRaw/dateRangeRaw.js +49 -16
- package/esm/dialog/dialog.d.ts +1 -1
- package/esm/dialog/dialog.js +24 -9
- package/esm/dialog/dialogHelpers.js +7 -3
- package/esm/dropdownRaw/dropdownHelper.js +4 -1
- package/esm/dropdownRaw/dropdownRaw.js +22 -8
- package/esm/favoriteButton/favoriteButton.js +6 -2
- package/esm/feedbackContainer/feedbackContainer.js +12 -5
- package/esm/feedbackContainer/hooks/useFeedbackAlert.js +2 -1
- package/esm/feedbackContainer/hooks/useFeedbackToast.js +2 -1
- package/esm/feedbackProvider/utils/getDefaultProviderMode.js +5 -3
- package/esm/filterButton/filterButton.js +6 -2
- package/esm/filters/components/filtersChip.d.ts +2 -1
- package/esm/filters/components/filtersChip.js +14 -1
- package/esm/filters/components/filtersContainer.js +18 -0
- package/esm/filters/components/filtersCustomProvider.d.ts +17 -0
- package/esm/filters/components/filtersCustomProvider.js +11 -0
- package/esm/filters/components/filtersDateInput.d.ts +1 -1
- package/esm/filters/components/filtersDateInput.js +15 -3
- package/esm/filters/components/filtersDateRange.d.ts +1 -1
- package/esm/filters/components/filtersDateRange.js +16 -3
- package/esm/filters/components/filtersDropdown.d.ts +2 -2
- package/esm/filters/components/filtersDropdown.js +19 -7
- package/esm/filters/components/filtersEmptyState.d.ts +1 -0
- package/esm/filters/components/filtersEmptyState.js +21 -0
- package/esm/filters/components/filtersGroups.d.ts +2 -2
- package/esm/filters/components/filtersGroups.js +15 -3
- package/esm/filters/components/filtersItem.d.ts +20 -6
- package/esm/filters/components/filtersItem.js +8 -1
- package/esm/filters/components/filtersRange.d.ts +1 -1
- package/esm/filters/components/filtersRange.js +16 -3
- package/esm/filters/components/filtersSavedChipComponent.js +92 -23
- package/esm/filters/components/filtersSearch.d.ts +7 -1
- package/esm/filters/components/filtersSearch.js +23 -10
- package/esm/filters/components/filtersSearchItemData.js +175 -87
- package/esm/filters/components/filtersSearchList.d.ts +3 -1
- package/esm/filters/components/filtersSearchList.js +125 -36
- package/esm/filters/components/filtersSelect.d.ts +1 -1
- package/esm/filters/components/filtersSelect.js +27 -14
- package/esm/filters/components/filtersSelectCompact.d.ts +17 -0
- package/esm/filters/components/filtersSelectCompact.js +57 -0
- package/esm/filters/components/filtersSelectListItem.js +45 -7
- package/esm/filters/components/filtersSelectUnfoldingPill.d.ts +23 -0
- package/esm/filters/components/filtersSelectUnfoldingPill.js +41 -0
- package/esm/filters/components/filtersSidePanel.js +16 -9
- package/esm/filters/components/filtersSidePanelChip.js +1 -1
- package/esm/filters/components/filtersSidePanelDateRange.d.ts +2 -0
- package/esm/filters/components/filtersSidePanelDateRange.js +20 -0
- package/esm/filters/components/filtersSidePanelDropdown.js +22 -4
- package/esm/filters/components/filtersSidePanelItem.d.ts +2 -3
- package/esm/filters/components/filtersSidePanelItem.js +5 -56
- package/esm/filters/components/filtersSidePanelItemWrapper.d.ts +8 -0
- package/esm/filters/components/filtersSidePanelItemWrapper.js +13 -0
- package/esm/filters/components/filtersSidePanelProvider.d.ts +8 -0
- package/esm/filters/components/filtersSidePanelProvider.js +8 -0
- package/esm/filters/components/filtersSidePanelRange.d.ts +5 -3
- package/esm/filters/components/filtersSidePanelRange.js +5 -5
- package/esm/filters/filters.d.ts +7 -3
- package/esm/filters/filters.js +188 -89
- package/esm/filters/filtersHelper.d.ts +9 -1
- package/esm/filters/filtersHelper.js +66 -8
- package/esm/filtersBar/components/filtersBarDropdown/filtersBarDropdown.js +5 -6
- package/esm/filtersBar/components/filtersBarGroupButton/filtersBarGroupButton.js +2 -2
- package/esm/filtersBar/components/filtersBarGroupsFilter/filtersBarGroupsFilter.js +2 -2
- package/esm/filtersBar/components/filtersBarPeriodPicker/filtersBarPeriodPicker.d.ts +4 -4
- package/esm/filtersBar/components/filtersBarPeriodPicker/filtersBarPeriodPicker.js +70 -39
- package/esm/filtersBar/components/filtersBarPeriodPicker/getRangeOption.d.ts +2 -0
- package/esm/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +26 -20
- package/esm/filtersBar/components/filtersBarRange/filtersBarRange.js +2 -2
- package/esm/filtersBar/components/filtersBarSearch/filtersBarSearch.js +3 -3
- package/esm/filtersBar/filtersBar.js +13 -4
- package/esm/filtersBar/filtersBarProvider.js +3 -2
- package/esm/filtersBar/filtersBarProviderSearch.js +3 -1
- package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelCheckboxGroup/filtersBarSidePanelCheckboxGroup.js +2 -3
- package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRadioGroup/filtersBarSidePanelRadioGroup.js +2 -2
- package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +5 -4
- package/esm/filtersBar/filtersContainer/filtersContainer.js +17 -11
- package/esm/formField/hooks/useFormFieldClasses.js +3 -2
- package/esm/gridLayout/hooks/useTablet.js +2 -1
- package/esm/groupButtonRaw/groupButtonRaw.js +3 -1
- package/esm/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +3 -2
- package/esm/groupsFilterRaw/groupsFilterInitialState.js +3 -2
- package/esm/groupsFilterRaw/groupsFilterMenu.js +3 -2
- package/esm/groupsFilterRaw/groupsFilterRaw.d.ts +10 -9
- package/esm/groupsFilterRaw/groupsFilterRaw.js +31 -6
- package/esm/groupsFilterRaw/groupsFilterTrigger.js +3 -1
- package/esm/groupsFilterRaw/types.d.ts +7 -6
- package/esm/groupsFilterRaw/uiStateReducer/uiStateAction.d.ts +5 -1
- package/esm/groupsFilterRaw/uiStateReducer/uiStateReducer.d.ts +4 -2
- package/esm/groupsFilterRaw/uiStateReducer/uiStateReducer.js +3 -2
- package/esm/header/components/collapsedItemsControl/collapsedItemsControl.js +4 -2
- package/esm/header/components/mobileFilterControl/mobileFilterControl.js +3 -1
- package/esm/header/components/mobileSearchControl/mobileSearchControl.js +3 -1
- package/esm/header/header.js +14 -5
- package/esm/header/headerHelpers.d.ts +1 -1
- package/esm/header/headerHelpers.js +6 -3
- package/esm/header/headerMenu.js +1 -1
- package/esm/icons/deprecated/iconBackArrow.js +2 -3
- package/esm/icons/deprecated/iconCheckmark.js +2 -3
- package/esm/icons/deprecated/iconCrossThin.js +2 -3
- package/esm/icons/deprecated/iconFlatFilledArrowDown.js +2 -3
- package/esm/icons/deprecated/iconGlobe.js +2 -3
- package/esm/icons/deprecated/iconHouse.js +2 -3
- package/esm/icons/deprecated/iconInfoCircleTooltip.js +2 -3
- package/esm/icons/deprecated/iconLoupe.js +2 -3
- package/esm/icons/deprecated/iconMinusIcon.js +2 -3
- package/esm/icons/deprecated/iconOrgFilter.js +2 -3
- package/esm/icons/deprecated/iconRefresh.js +2 -3
- package/esm/icons/iconActivity.js +2 -3
- package/esm/icons/iconAddPeople.js +2 -3
- package/esm/icons/iconAiImages.js +2 -3
- package/esm/icons/iconAiSparkles.js +2 -3
- package/esm/icons/iconAiSparkles2.js +2 -3
- package/esm/icons/iconAirplay.js +2 -3
- package/esm/icons/iconAirpods.js +2 -3
- package/esm/icons/iconAlignBottom.js +2 -3
- package/esm/icons/iconAlignLeft.js +2 -3
- package/esm/icons/iconAlignRightBox.js +2 -3
- package/esm/icons/iconAlignTopBox.js +2 -3
- package/esm/icons/iconAlignmentCenter.js +2 -3
- package/esm/icons/iconAlignmentJustify.js +2 -3
- package/esm/icons/iconAlignmentLeft.js +2 -3
- package/esm/icons/iconAlignmentRight.js +2 -3
- package/esm/icons/iconAnchor.js +2 -3
- package/esm/icons/iconAnchor2.js +2 -3
- package/esm/icons/iconArchive.js +2 -3
- package/esm/icons/iconArchive2.js +2 -3
- package/esm/icons/iconArrowBottom.js +2 -3
- package/esm/icons/iconArrowBottomCircle.js +2 -3
- package/esm/icons/iconArrowBottomLeft.js +2 -3
- package/esm/icons/iconArrowBottomRight.js +2 -3
- package/esm/icons/iconArrowDownPath.js +2 -3
- package/esm/icons/iconArrowLeft.js +2 -3
- package/esm/icons/iconArrowLeftCircle.js +2 -3
- package/esm/icons/iconArrowLeftPath.js +2 -3
- package/esm/icons/iconArrowRight.js +2 -3
- package/esm/icons/iconArrowRightCircle.js +2 -3
- package/esm/icons/iconArrowRightPath.js +2 -3
- package/esm/icons/iconArrowTop.js +2 -3
- package/esm/icons/iconArrowTopCircle.js +2 -3
- package/esm/icons/iconArrowTopLeft.js +2 -3
- package/esm/icons/iconArrowTopRight.js +2 -3
- package/esm/icons/iconArrowUpPath.js +2 -3
- package/esm/icons/iconAt.js +2 -3
- package/esm/icons/iconAttachment.js +2 -3
- package/esm/icons/iconAttachment2.js +2 -3
- package/esm/icons/iconAttachmentFile.js +2 -3
- package/esm/icons/iconAudio.js +2 -3
- package/esm/icons/iconAutoSize.js +2 -3
- package/esm/icons/iconBackward.js +2 -3
- package/esm/icons/iconBadge.js +2 -3
- package/esm/icons/iconBag.js +2 -3
- package/esm/icons/iconBag2.js +2 -3
- package/esm/icons/iconBagLuggage.js +2 -3
- package/esm/icons/iconBagLuggage2.js +2 -3
- package/esm/icons/iconBasket.js +2 -3
- package/esm/icons/iconBasket2.js +2 -3
- package/esm/icons/iconBatteryError.js +2 -3
- package/esm/icons/iconBatteryFull.js +2 -3
- package/esm/icons/iconBatteryLoading.js +2 -3
- package/esm/icons/iconBatteryLow.js +2 -3
- package/esm/icons/iconBatteryLow2.js +2 -3
- package/esm/icons/iconBatteryMedium.js +2 -3
- package/esm/icons/iconBell.js +2 -3
- package/esm/icons/iconBeta.js +2 -3
- package/esm/icons/iconBitcoin.js +2 -3
- package/esm/icons/iconBluetooth.js +2 -3
- package/esm/icons/iconBold.js +2 -3
- package/esm/icons/iconBook.js +2 -3
- package/esm/icons/iconBook2.js +2 -3
- package/esm/icons/iconBookmark.js +2 -3
- package/esm/icons/iconBookmarkCheck.js +2 -3
- package/esm/icons/iconBookmarkDelete.js +2 -3
- package/esm/icons/iconBookmarkFill.js +2 -3
- package/esm/icons/iconBookmarkPlus.js +2 -3
- package/esm/icons/iconBookmarkSelectedHover.js +2 -3
- package/esm/icons/iconBranches.js +2 -3
- package/esm/icons/iconBrokenLink.js +2 -3
- package/esm/icons/iconBrowser.js +2 -3
- package/esm/icons/iconBrush.js +2 -3
- package/esm/icons/iconBubble.js +2 -3
- package/esm/icons/iconBubble2.js +2 -3
- package/esm/icons/iconBubble3.js +2 -3
- package/esm/icons/iconBubble4.js +2 -3
- package/esm/icons/iconBubble5.js +2 -3
- package/esm/icons/iconBubble6.js +2 -3
- package/esm/icons/iconBubbleAnnotation.js +2 -3
- package/esm/icons/iconBubbleAnnotation2.js +2 -3
- package/esm/icons/iconBubbleAnnotation4.js +2 -3
- package/esm/icons/iconBubbleAnnotation5.js +2 -3
- package/esm/icons/iconBubbleAnnotation6.js +2 -3
- package/esm/icons/iconBubbleNotification.js +2 -3
- package/esm/icons/iconBubbles.js +2 -3
- package/esm/icons/iconBucket.js +2 -3
- package/esm/icons/iconBuilding.js +2 -3
- package/esm/icons/iconBulkSelect.js +2 -3
- package/esm/icons/iconBulletList.js +2 -3
- package/esm/icons/iconBusiness.js +2 -3
- package/esm/icons/iconCalculator.js +2 -3
- package/esm/icons/iconCalendar.js +2 -3
- package/esm/icons/iconCamera.js +2 -3
- package/esm/icons/iconCamera2.js +2 -3
- package/esm/icons/iconCamera3.js +2 -3
- package/esm/icons/iconCameraAction.js +2 -3
- package/esm/icons/iconCanBus.js +2 -3
- package/esm/icons/iconChart.js +2 -3
- package/esm/icons/iconChart2.js +2 -3
- package/esm/icons/iconChart3.js +2 -3
- package/esm/icons/iconChart4.js +2 -3
- package/esm/icons/iconChart5.js +2 -3
- package/esm/icons/iconChart6.js +2 -3
- package/esm/icons/iconChart7.js +2 -3
- package/esm/icons/iconChart8.js +2 -3
- package/esm/icons/iconCheck.js +2 -3
- package/esm/icons/iconCheckRadio.js +2 -3
- package/esm/icons/iconCheckbox.js +2 -3
- package/esm/icons/iconChevronBottom.js +2 -3
- package/esm/icons/iconChevronDoubleDown.js +2 -3
- package/esm/icons/iconChevronDoubleLeft.js +2 -3
- package/esm/icons/iconChevronDoubleRight.js +2 -3
- package/esm/icons/iconChevronDoubleUp.js +2 -3
- package/esm/icons/iconChevronDownSmall.js +2 -3
- package/esm/icons/iconChevronGrabberHorizontal.js +2 -3
- package/esm/icons/iconChevronGrabberVertical.js +2 -3
- package/esm/icons/iconChevronLeft.js +2 -3
- package/esm/icons/iconChevronLeftSmall.js +2 -3
- package/esm/icons/iconChevronRight.js +2 -3
- package/esm/icons/iconChevronRightSmall.js +2 -3
- package/esm/icons/iconChevronTop.js +2 -3
- package/esm/icons/iconChevronTopSmall.js +2 -3
- package/esm/icons/iconChromecast.js +2 -3
- package/esm/icons/iconCircle.js +2 -3
- package/esm/icons/iconClipboard.js +2 -3
- package/esm/icons/iconClipboard2.js +2 -3
- package/esm/icons/iconClock.js +2 -3
- package/esm/icons/iconClock2.js +2 -3
- package/esm/icons/iconClockSnooze.js +2 -3
- package/esm/icons/iconClockTimer.js +2 -3
- package/esm/icons/iconClose.js +2 -3
- package/esm/icons/iconCloseCircle.js +2 -3
- package/esm/icons/iconCloseSquare.js +2 -3
- package/esm/icons/iconCloud.js +2 -3
- package/esm/icons/iconCloud2.js +2 -3
- package/esm/icons/iconCloudCheck.js +2 -3
- package/esm/icons/iconCloudDownload.js +2 -3
- package/esm/icons/iconCloudLines.js +2 -3
- package/esm/icons/iconCloudOff.js +2 -3
- package/esm/icons/iconCloudOff2.js +2 -3
- package/esm/icons/iconCloudQuestion.js +2 -3
- package/esm/icons/iconCloudSync.js +2 -3
- package/esm/icons/iconCloudUpload.js +2 -3
- package/esm/icons/iconCmd.js +2 -3
- package/esm/icons/iconCmd2.js +2 -3
- package/esm/icons/iconCode.js +2 -3
- package/esm/icons/iconCode2.js +2 -3
- package/esm/icons/iconColor.js +2 -3
- package/esm/icons/iconColorPicker.js +2 -3
- package/esm/icons/iconCommunity.js +2 -3
- package/esm/icons/iconCompass.js +2 -3
- package/esm/icons/iconConnectDevices.js +2 -3
- package/esm/icons/iconConsole.js +2 -3
- package/esm/icons/iconConstruction.js +2 -3
- package/esm/icons/iconCopy.js +2 -3
- package/esm/icons/iconCopy2.js +2 -3
- package/esm/icons/iconCopy3.js +2 -3
- package/esm/icons/iconCopy4.js +2 -3
- package/esm/icons/iconCopy5.js +2 -3
- package/esm/icons/iconCornerDownLeft.js +2 -3
- package/esm/icons/iconCornerDownRight.js +2 -3
- package/esm/icons/iconCornerLeftDown.js +2 -3
- package/esm/icons/iconCornerLeftUp.js +2 -3
- package/esm/icons/iconCornerRightDown.js +2 -3
- package/esm/icons/iconCornerRightUp.js +2 -3
- package/esm/icons/iconCornerUpLeft.js +2 -3
- package/esm/icons/iconCornerUpRight.js +2 -3
- package/esm/icons/iconCreditCard.js +2 -3
- package/esm/icons/iconCreditCard2.js +2 -3
- package/esm/icons/iconCreditCard3.js +2 -3
- package/esm/icons/iconCrop.js +2 -3
- package/esm/icons/iconCrypto.js +2 -3
- package/esm/icons/iconCryptoCoin.js +2 -3
- package/esm/icons/iconCup.js +2 -3
- package/esm/icons/iconCursor.js +2 -3
- package/esm/icons/iconCursor2.js +2 -3
- package/esm/icons/iconCursor3.js +2 -3
- package/esm/icons/iconCursorBox.js +2 -3
- package/esm/icons/iconCursorClick.js +2 -3
- package/esm/icons/iconCycle.js +2 -3
- package/esm/icons/iconDelete.js +2 -3
- package/esm/icons/iconDelete2.js +2 -3
- package/esm/icons/iconDelete3.js +2 -3
- package/esm/icons/iconDeviceUptime.js +2 -3
- package/esm/icons/iconDeviceUptimeDisconnected.js +2 -3
- package/esm/icons/iconDiamondWarning.js +2 -3
- package/esm/icons/iconDisk.js +2 -3
- package/esm/icons/iconDisk2.js +2 -3
- package/esm/icons/iconDispatchAsset.js +2 -3
- package/esm/icons/iconDock.js +2 -3
- package/esm/icons/iconDocument.js +2 -3
- package/esm/icons/iconDocumentWithLines.js +2 -3
- package/esm/icons/iconDollar.js +2 -3
- package/esm/icons/iconDotGrid.js +2 -3
- package/esm/icons/iconDotHorizontal.js +2 -3
- package/esm/icons/iconDotVertical.js +2 -3
- package/esm/icons/iconDownload.js +2 -3
- package/esm/icons/iconDrive.js +2 -3
- package/esm/icons/iconDriver.js +2 -3
- package/esm/icons/iconDvir.js +2 -3
- package/esm/icons/iconEdit.js +2 -3
- package/esm/icons/iconEdit2.js +2 -3
- package/esm/icons/iconEditBig.js +2 -3
- package/esm/icons/iconEditSmall.js +2 -3
- package/esm/icons/iconEmail.js +2 -3
- package/esm/icons/iconEmail2.js +2 -3
- package/esm/icons/iconEmailNotification.js +2 -3
- package/esm/icons/iconEsc.js +2 -3
- package/esm/icons/iconEthereum.js +2 -3
- package/esm/icons/iconEuro.js +2 -3
- package/esm/icons/iconEvse.js +2 -3
- package/esm/icons/iconExcel.js +2 -3
- package/esm/icons/iconException.js +2 -3
- package/esm/icons/iconExpand.js +2 -3
- package/esm/icons/iconEye.js +2 -3
- package/esm/icons/iconEyeOff.js +2 -3
- package/esm/icons/iconFaceId.js +2 -3
- package/esm/icons/iconFile.js +2 -3
- package/esm/icons/iconFileCopy.js +2 -3
- package/esm/icons/iconFileLocked.js +2 -3
- package/esm/icons/iconFileSync.js +2 -3
- package/esm/icons/iconFileSync2.js +2 -3
- package/esm/icons/iconFileSync3.js +2 -3
- package/esm/icons/iconFileSync4.js +2 -3
- package/esm/icons/iconFileSync5.js +2 -3
- package/esm/icons/iconFilter.js +2 -3
- package/esm/icons/iconFilter2.js +2 -3
- package/esm/icons/iconFilter3.js +2 -3
- package/esm/icons/iconFilter3Asc.js +2 -3
- package/esm/icons/iconFilter3Desc.js +2 -3
- package/esm/icons/iconFilterAsc.js +2 -3
- package/esm/icons/iconFilterDesc.js +2 -3
- package/esm/icons/iconFingerPrint.js +2 -3
- package/esm/icons/iconFocus.js +2 -3
- package/esm/icons/iconFolder.js +2 -3
- package/esm/icons/iconFolder2.js +2 -3
- package/esm/icons/iconFolderAdd.js +2 -3
- package/esm/icons/iconFolderBookmarks.js +2 -3
- package/esm/icons/iconFolderCloud.js +2 -3
- package/esm/icons/iconFolderCloud2.js +2 -3
- package/esm/icons/iconFolderDelete.js +2 -3
- package/esm/icons/iconFolderDownload.js +2 -3
- package/esm/icons/iconFolderRestricted.js +2 -3
- package/esm/icons/iconFolderShared.js +2 -3
- package/esm/icons/iconFolderUpload.js +2 -3
- package/esm/icons/iconFolders.js +2 -3
- package/esm/icons/iconFork.js +2 -3
- package/esm/icons/iconFuelGas.js +2 -3
- package/esm/icons/iconGamepad.js +2 -3
- package/esm/icons/iconGeotabDrive.js +2 -3
- package/esm/icons/iconGeotabSales.js +2 -3
- package/esm/icons/iconGift.js +2 -3
- package/esm/icons/iconGlobus.js +2 -3
- package/esm/icons/iconGrab.js +2 -3
- package/esm/icons/iconGraph.js +2 -3
- package/esm/icons/iconGraphChart.js +2 -3
- package/esm/icons/iconGraphLines.js +2 -3
- package/esm/icons/iconGraphPresentation.js +2 -3
- package/esm/icons/iconGraphStatistics.js +2 -3
- package/esm/icons/iconGrids.js +2 -3
- package/esm/icons/iconGrids2.js +2 -3
- package/esm/icons/iconHarness.js +2 -3
- package/esm/icons/iconHeadphones.js +2 -3
- package/esm/icons/iconHeart.js +2 -3
- package/esm/icons/iconHexonalWarning.js +2 -3
- package/esm/icons/iconHistory.js +2 -3
- package/esm/icons/iconHomeDoor.js +2 -3
- package/esm/icons/iconHomeDoor2.js +2 -3
- package/esm/icons/iconHomeRoof.js +2 -3
- package/esm/icons/iconHomeSimple.js +2 -3
- package/esm/icons/iconHourglass.js +2 -3
- package/esm/icons/iconITS.js +2 -3
- package/esm/icons/iconIcon.js +2 -3
- package/esm/icons/iconImac.js +2 -3
- package/esm/icons/iconImage.js +2 -3
- package/esm/icons/iconImages.js +2 -3
- package/esm/icons/iconImages2.js +2 -3
- package/esm/icons/iconInbox.js +2 -3
- package/esm/icons/iconInfoCircle.js +2 -3
- package/esm/icons/iconInfoSquare.js +2 -3
- package/esm/icons/iconInspect.js +2 -3
- package/esm/icons/iconItalic.js +2 -3
- package/esm/icons/iconKeyboard.js +2 -3
- package/esm/icons/iconKeyboardDown.js +2 -3
- package/esm/icons/iconKeyboardUp.js +2 -3
- package/esm/icons/iconKeyboardUp2.js +2 -3
- package/esm/icons/iconLab.js +2 -3
- package/esm/icons/iconLaptop.js +2 -3
- package/esm/icons/iconLayers.js +2 -3
- package/esm/icons/iconLayout.js +2 -3
- package/esm/icons/iconLayoutBottom.js +2 -3
- package/esm/icons/iconLayoutColumn.js +2 -3
- package/esm/icons/iconLayoutLeft.js +2 -3
- package/esm/icons/iconLayoutRight.js +2 -3
- package/esm/icons/iconLayoutSearch.js +2 -3
- package/esm/icons/iconLayoutSidebar.js +2 -3
- package/esm/icons/iconLayoutTop.js +2 -3
- package/esm/icons/iconLayoutTopbar.js +2 -3
- package/esm/icons/iconLayoutWindow.js +2 -3
- package/esm/icons/iconLayoutWindow2.js +2 -3
- package/esm/icons/iconLayoutWindow3.js +2 -3
- package/esm/icons/iconLayoutWindow4.js +2 -3
- package/esm/icons/iconLayoutWindow5.js +2 -3
- package/esm/icons/iconLeaf.js +2 -3
- package/esm/icons/iconLifeBuoy.js +2 -3
- package/esm/icons/iconLightBulb.js +2 -3
- package/esm/icons/iconLightning.js +2 -3
- package/esm/icons/iconLink.js +2 -3
- package/esm/icons/iconLink2.js +2 -3
- package/esm/icons/iconLink3.js +2 -3
- package/esm/icons/iconLinkLines.js +2 -3
- package/esm/icons/iconList.js +2 -3
- package/esm/icons/iconLoader.js +2 -3
- package/esm/icons/iconLocationCompass.js +2 -3
- package/esm/icons/iconLocationMap.js +2 -3
- package/esm/icons/iconLocationOff.js +2 -3
- package/esm/icons/iconLock.js +2 -3
- package/esm/icons/iconLogin.js +2 -3
- package/esm/icons/iconLogout.js +2 -3
- package/esm/icons/iconLowDataQuality.js +2 -3
- package/esm/icons/iconMacbook.js +2 -3
- package/esm/icons/iconMagic.js +2 -3
- package/esm/icons/iconMagic2.js +2 -3
- package/esm/icons/iconMagicEyes.js +2 -3
- package/esm/icons/iconMap.js +2 -3
- package/esm/icons/iconMarketplace.js +2 -3
- package/esm/icons/iconMedal.js +2 -3
- package/esm/icons/iconMemory.js +2 -3
- package/esm/icons/iconMemory2.js +2 -3
- package/esm/icons/iconMenu.js +2 -3
- package/esm/icons/iconMenu2.js +2 -3
- package/esm/icons/iconMenu3.js +2 -3
- package/esm/icons/iconMenuCircle.js +2 -3
- package/esm/icons/iconMicrophone.js +2 -3
- package/esm/icons/iconMicrophone2.js +2 -3
- package/esm/icons/iconMinimize.js +2 -3
- package/esm/icons/iconMinus.js +2 -3
- package/esm/icons/iconMinusCircle.js +2 -3
- package/esm/icons/iconMinusSquare.js +2 -3
- package/esm/icons/iconMobi.js +2 -3
- package/esm/icons/iconMoney.js +2 -3
- package/esm/icons/iconMoon.js +2 -3
- package/esm/icons/iconMouse.js +2 -3
- package/esm/icons/iconMouseScrollDown.js +2 -3
- package/esm/icons/iconMouseScrollUp.js +2 -3
- package/esm/icons/iconMove.js +2 -3
- package/esm/icons/iconMove2.js +2 -3
- package/esm/icons/iconMyAdmin.js +2 -3
- package/esm/icons/iconMyGeotab.js +2 -3
- package/esm/icons/iconNavigationFooterCollapsed.js +2 -3
- package/esm/icons/iconNavigationFooterExpanded.js +2 -3
- package/esm/icons/iconNews.js +2 -3
- package/esm/icons/iconNewspaper.js +2 -3
- package/esm/icons/iconNote.js +2 -3
- package/esm/icons/iconNotificationAlarm.js +2 -3
- package/esm/icons/iconNotificationBell.js +2 -3
- package/esm/icons/iconNotificationOff.js +2 -3
- package/esm/icons/iconNotifications.js +2 -3
- package/esm/icons/iconNumberedList.js +2 -3
- package/esm/icons/iconOnDuty.js +2 -3
- package/esm/icons/iconOpen.js +2 -3
- package/esm/icons/iconOpen2.js +2 -3
- package/esm/icons/iconOpt.js +2 -3
- package/esm/icons/iconOptAlt.js +2 -3
- package/esm/icons/iconPDF.js +2 -3
- package/esm/icons/iconPackage.js +2 -3
- package/esm/icons/iconPackage2.js +2 -3
- package/esm/icons/iconPackage3.js +2 -3
- package/esm/icons/iconPaperPlane.js +2 -3
- package/esm/icons/iconPassword.js +2 -3
- package/esm/icons/iconPause.js +2 -3
- package/esm/icons/iconPencil.js +2 -3
- package/esm/icons/iconPencil2.js +2 -3
- package/esm/icons/iconPeople.js +2 -3
- package/esm/icons/iconPeopleGroup.js +2 -3
- package/esm/icons/iconPeopleGroup2.js +2 -3
- package/esm/icons/iconPeopleLike.js +2 -3
- package/esm/icons/iconPercent.js +2 -3
- package/esm/icons/iconPerformance.js +2 -3
- package/esm/icons/iconPhone.js +2 -3
- package/esm/icons/iconPhoneMobile.js +2 -3
- package/esm/icons/iconPin.js +2 -3
- package/esm/icons/iconPin2.js +2 -3
- package/esm/icons/iconPinLocation.js +2 -3
- package/esm/icons/iconPinLocation2.js +2 -3
- package/esm/icons/iconPinLocation3.js +2 -3
- package/esm/icons/iconPlay.js +2 -3
- package/esm/icons/iconPlus.js +2 -3
- package/esm/icons/iconPlusCircle.js +2 -3
- package/esm/icons/iconPlusFile.js +2 -3
- package/esm/icons/iconPlusLines.js +2 -3
- package/esm/icons/iconPlusSquare.js +2 -3
- package/esm/icons/iconPound.js +2 -3
- package/esm/icons/iconPrinter.js +2 -3
- package/esm/icons/iconProcessor.js +2 -3
- package/esm/icons/iconPullRequest.js +2 -3
- package/esm/icons/iconPuzzle.js +2 -3
- package/esm/icons/iconQuestion.js +2 -3
- package/esm/icons/iconRadar.js +2 -3
- package/esm/icons/iconReceipt.js +2 -3
- package/esm/icons/iconRecord.js +2 -3
- package/esm/icons/iconRedo.js +2 -3
- package/esm/icons/iconRedo2.js +2 -3
- package/esm/icons/iconRefrigeration.js +2 -3
- package/esm/icons/iconRemovePeople.js +2 -3
- package/esm/icons/iconRepeat.js +2 -3
- package/esm/icons/iconRepeat2.js +2 -3
- package/esm/icons/iconResizeBig.js +2 -3
- package/esm/icons/iconResizeSmall.js +2 -3
- package/esm/icons/iconRotateClockwise.js +2 -3
- package/esm/icons/iconRotateCounterclockwise.js +2 -3
- package/esm/icons/iconRotateRepeat.js +2 -3
- package/esm/icons/iconRotateRepeat2.js +2 -3
- package/esm/icons/iconRoute.js +2 -3
- package/esm/icons/iconRuler.js +2 -3
- package/esm/icons/iconSdCard.js +2 -3
- package/esm/icons/iconSearch.js +2 -3
- package/esm/icons/iconSearchDocument.js +2 -3
- package/esm/icons/iconSearchLines.js +2 -3
- package/esm/icons/iconSearchPage.js +2 -3
- package/esm/icons/iconSeatbelt.js +2 -3
- package/esm/icons/iconSecured.js +2 -3
- package/esm/icons/iconSecuredLines.js +2 -3
- package/esm/icons/iconSend.js +2 -3
- package/esm/icons/iconServer.js +2 -3
- package/esm/icons/iconServer2.js +2 -3
- package/esm/icons/iconServer3.js +2 -3
- package/esm/icons/iconSettings1.js +2 -3
- package/esm/icons/iconSettings2.js +2 -3
- package/esm/icons/iconSettings3.js +2 -3
- package/esm/icons/iconSettings4.js +2 -3
- package/esm/icons/iconSettings6.js +2 -3
- package/esm/icons/iconSettings7.js +2 -3
- package/esm/icons/iconSettings8.js +2 -3
- package/esm/icons/iconShare.js +2 -3
- package/esm/icons/iconShare3.js +2 -3
- package/esm/icons/iconShield.js +2 -3
- package/esm/icons/iconShield2.js +2 -3
- package/esm/icons/iconShield3.js +2 -3
- package/esm/icons/iconShield4.js +2 -3
- package/esm/icons/iconSidebar.js +2 -3
- package/esm/icons/iconSign.js +2 -3
- package/esm/icons/iconSmiley.js +2 -3
- package/esm/icons/iconSort2Horizontal.js +2 -3
- package/esm/icons/iconSort2Vertical.js +2 -3
- package/esm/icons/iconSortHorizontal.js +2 -3
- package/esm/icons/iconSortVertical.js +2 -3
- package/esm/icons/iconSpeaker.js +2 -3
- package/esm/icons/iconSquare.js +2 -3
- package/esm/icons/iconStar.js +2 -3
- package/esm/icons/iconStarAi.js +2 -3
- package/esm/icons/iconStopwatch.js +2 -3
- package/esm/icons/iconStorage.js +2 -3
- package/esm/icons/iconStore.js +2 -3
- package/esm/icons/iconStrikeThrough.js +2 -3
- package/esm/icons/iconSun.js +2 -3
- package/esm/icons/iconSupport.js +2 -3
- package/esm/icons/iconTable.js +2 -3
- package/esm/icons/iconTachograph.js +2 -3
- package/esm/icons/iconTachographTimeCard.js +2 -3
- package/esm/icons/iconTarget.js +2 -3
- package/esm/icons/iconTarget2.js +2 -3
- package/esm/icons/iconTarget3.js +2 -3
- package/esm/icons/iconTelevision.js +2 -3
- package/esm/icons/iconTelevision2.js +2 -3
- package/esm/icons/iconTextSize.js +2 -3
- package/esm/icons/iconThermograph.js +2 -3
- package/esm/icons/iconThermometer.js +2 -3
- package/esm/icons/iconThumbsDown.js +2 -3
- package/esm/icons/iconThumbsUp.js +2 -3
- package/esm/icons/iconTrailer.js +2 -3
- package/esm/icons/iconUmbrella.js +2 -3
- package/esm/icons/iconUnderline.js +2 -3
- package/esm/icons/iconUndo.js +2 -3
- package/esm/icons/iconUndo2.js +2 -3
- package/esm/icons/iconUndock.js +2 -3
- package/esm/icons/iconUnlocked.js +2 -3
- package/esm/icons/iconUpload.js +2 -3
- package/esm/icons/iconUsb.js +2 -3
- package/esm/icons/iconUsbHub.js +2 -3
- package/esm/icons/iconVideo.js +2 -3
- package/esm/icons/iconVideo2.js +2 -3
- package/esm/icons/iconVideoReplay.js +2 -3
- package/esm/icons/iconVisitPage.js +2 -3
- package/esm/icons/iconVoice.js +2 -3
- package/esm/icons/iconVolumeDown.js +2 -3
- package/esm/icons/iconVolumeFull.js +2 -3
- package/esm/icons/iconVolumeHalf.js +2 -3
- package/esm/icons/iconVolumeMinimum.js +2 -3
- package/esm/icons/iconVolumeOff.js +2 -3
- package/esm/icons/iconVolumeOn.js +2 -3
- package/esm/icons/iconWallet.js +2 -3
- package/esm/icons/iconWallet1.js +2 -3
- package/esm/icons/iconWarning.js +2 -3
- package/esm/icons/iconWatch.js +2 -3
- package/esm/icons/iconWatch2.js +2 -3
- package/esm/icons/iconWebcam.js +2 -3
- package/esm/icons/iconWhisper.js +2 -3
- package/esm/icons/iconWifi.js +2 -3
- package/esm/icons/iconWifi2.js +2 -3
- package/esm/icons/iconWorkday.js +2 -3
- package/esm/icons/iconWorld.js +2 -3
- package/esm/icons/iconWrench.js +2 -3
- package/esm/icons/iconWrite.js +2 -3
- package/esm/icons/iconYen.js +2 -3
- package/esm/icons/iconZone.js +2 -3
- package/esm/icons/iconZoom.js +2 -3
- package/esm/icons/iconZoom2.js +2 -3
- package/esm/images/imageNothingFound.js +2 -3
- package/esm/index.d.ts +6 -4
- package/esm/index.js +4 -2
- package/esm/inputAdornments/inputAdornments.d.ts +6 -1
- package/esm/inputAdornments/inputAdornments.js +9 -10
- package/esm/layout/layout.d.ts +3 -1
- package/esm/layout/layout.js +59 -18
- package/esm/layout/layoutBanner.d.ts +6 -0
- package/esm/layout/layoutBanner.js +3 -0
- package/esm/layout/layoutFullScreen.js +2 -3
- package/esm/lineChart/plugins/htmlLegend.js +33 -23
- package/esm/list/hooks/useContainerScroll.js +5 -2
- package/esm/list/hooks/useDragAndDrop.d.ts +19 -1
- package/esm/list/hooks/useDragAndDrop.js +79 -35
- package/esm/list/hooks/useVirtualScroll.js +21 -16
- package/esm/list/itemData/itemDataInternal.js +6 -4
- package/esm/list/listItem/listItem.js +5 -3
- package/esm/list/utils/findElement.d.ts +1 -0
- package/esm/list/utils/findElement.js +9 -0
- package/esm/list/utils/findItemPosition.d.ts +1 -1
- package/esm/list/utils/findItemPosition.js +2 -2
- package/esm/list/utils/isDragNotClick.d.ts +6 -0
- package/esm/list/utils/isDragNotClick.js +5 -0
- package/esm/menu/controlledMenu.js +1 -1
- package/esm/mobileSheet/mobileSheet.js +14 -7
- package/esm/modal/modal.js +42 -19
- package/esm/nav/context/nav.context.d.ts +2 -0
- package/esm/nav/context/nav.context.js +3 -1
- package/esm/nav/nav.d.ts +3 -1
- package/esm/nav/nav.js +33 -19
- package/esm/nav/navAddMenu/navAddMenu.js +3 -1
- package/esm/nav/navEditList/navEditList.d.ts +7 -0
- package/esm/nav/navEditList/navEditList.js +18 -0
- package/esm/nav/navEditList/navEditListUtils.d.ts +3 -0
- package/esm/nav/navEditList/navEditListUtils.js +10 -0
- package/esm/nav/navEditSection/navEditSection.d.ts +3 -0
- package/esm/nav/navEditSection/navEditSection.js +3 -0
- package/esm/nav/navFooter/navEditFooter/navEditFooter.d.ts +11 -0
- package/esm/nav/navFooter/navEditFooter/navEditFooter.js +101 -0
- package/esm/nav/navFooter/navFooter.d.ts +2 -7
- package/esm/nav/navFooter/navFooter.js +5 -4
- package/esm/nav/navFooter/navFooterAction/navFooterAction.js +1 -0
- package/esm/nav/navItem/navActionItem.d.ts +14 -0
- package/esm/nav/navItem/navActionItem.js +11 -0
- package/esm/nav/navItem/navItem.js +8 -6
- package/esm/nav/navMobileBar/navMobileBar.js +1 -0
- package/esm/nav/utils/navUtils.js +12 -4
- package/esm/pageHeader/pageHeader.d.ts +2 -2
- package/esm/pageHeader/pageHeader.js +3 -1
- package/esm/pageHeader/pageHeaderActions.js +12 -5
- package/esm/pageHeader/pageHeaderHelpers.js +6 -6
- package/esm/pagination/paginationText/paginationText.js +2 -0
- package/esm/pill/components/pillActionable/pillActionable.js +1 -1
- package/esm/pill/pill.js +3 -0
- package/esm/pillAction/pillAction.js +2 -2
- package/esm/pillExpandable/pillContent.js +2 -2
- package/esm/pillExpandable/pillExpandable.js +2 -1
- package/esm/radio/radio.js +3 -1
- package/esm/rangeRaw/components/rangeField.js +5 -1
- package/esm/rangeRaw/rangeRaw.js +13 -8
- package/esm/react-chartjs/chart.js +5 -2
- package/esm/searchInputRaw/searchInputRaw.js +25 -10
- package/esm/searchInputRaw/types.d.ts +8 -3
- package/esm/selectList/selectList.js +3 -2
- package/esm/selectRaw/select.helpers.js +6 -2
- package/esm/selectRaw/selectRaw.js +3 -1
- package/esm/shield/shield.js +3 -1
- package/esm/sidePanel/sidePanel.js +43 -26
- package/esm/skeletonList/skeletonList.d.ts +2 -1
- package/esm/skeletonList/skeletonList.js +2 -2
- package/esm/stepperRaw/stepperRaw.js +10 -5
- package/esm/table/flexible/useFlexibleColumns.js +3 -1
- package/esm/table/flexible/useSettingsStorage.js +6 -2
- package/esm/table/sortable/sortableHeader.js +0 -2
- package/esm/table/sortable/sortableStorage.js +11 -1
- package/esm/table/sortable/useSortableColumns.js +14 -2
- package/esm/tabs/tabItem/tabItem.js +3 -1
- package/esm/tabs/tabs.d.ts +1 -0
- package/esm/tabs/tabs.js +27 -15
- package/esm/testHelpers/fakeFetch.js +5 -2
- package/esm/testHelpers/geotab-axe/index.js +3 -3
- package/esm/textIconButton/textIconButton.js +2 -2
- package/esm/textInputRaw/textInputRaw.js +3 -1
- package/esm/timePickerRaw/timePickerRaw.js +3 -2
- package/esm/toast/toast.js +8 -6
- package/esm/toast/utils/isToastTarget.d.ts +1 -0
- package/esm/toast/utils/isToastTarget.js +7 -0
- package/esm/toastRaw/hooks/useProgress.js +7 -4
- package/esm/toastRaw/toastRaw.d.ts +2 -1
- package/esm/toastRaw/toastRaw.js +12 -10
- package/esm/toolbar/helpers/getWidthWithMargin.js +3 -1
- package/esm/toolbar/helpers/getWidthWithoutPadding.js +4 -2
- package/esm/tooltip/tooltip.js +32 -20
- package/esm/utils/getParentWithHiddenOverflow.js +3 -1
- package/esm/utils/getRelativeParent.js +3 -1
- package/esm/utils/globalThisPolyfill.d.ts +11 -0
- package/esm/utils/globalThisPolyfill.js +29 -0
- package/esm/utils/keyboardHelpers.js +3 -1
- package/esm/utils/localization/languageContext.d.ts +1 -1
- package/esm/utils/localization/translations/cs.json +3 -1
- package/esm/utils/localization/translations/da-DK.json +3 -1
- package/esm/utils/localization/translations/de.json +3 -1
- package/esm/utils/localization/translations/en.json +5 -1
- package/esm/utils/localization/translations/es.json +3 -1
- package/esm/utils/localization/translations/fi-FI.json +3 -1
- package/esm/utils/localization/translations/fr-FR.json +3 -1
- package/esm/utils/localization/translations/fr.json +3 -1
- package/esm/utils/localization/translations/hu-HU.json +3 -1
- package/esm/utils/localization/translations/id.json +3 -1
- package/esm/utils/localization/translations/it.json +3 -1
- package/esm/utils/localization/translations/ja.json +3 -1
- package/esm/utils/localization/translations/ko-KR.json +3 -1
- package/esm/utils/localization/translations/ms.json +3 -1
- package/esm/utils/localization/translations/nb-NO.json +3 -1
- package/esm/utils/localization/translations/nl.json +3 -1
- package/esm/utils/localization/translations/pl.json +3 -1
- package/esm/utils/localization/translations/pt-BR.json +3 -1
- package/esm/utils/localization/translations/pt-PT.json +3 -1
- package/esm/utils/localization/translations/ro-RO.json +3 -1
- package/esm/utils/localization/translations/sk-SK.json +3 -1
- package/esm/utils/localization/translations/sv.json +3 -1
- package/esm/utils/localization/translations/th.json +3 -1
- package/esm/utils/localization/translations/tr.json +3 -1
- package/esm/utils/localization/translations/zh-Hans.json +3 -1
- package/esm/utils/localization/translations/zh-TW.json +3 -1
- package/esm/utils/positioningUtils/adjustParentRect.js +3 -2
- package/esm/utils/positioningUtils/calculatePosition.js +19 -17
- package/esm/utils/positioningUtils/getBorders.js +11 -1
- package/esm/utils/positioningUtils/getMargins.js +11 -1
- package/esm/utils/positioningUtils/isChildPopup.js +3 -1
- package/esm/utils/theme/useMobileClassName.d.ts +1 -0
- package/esm/utils/theme/useMobileClassName.js +10 -0
- package/esm/utils/topWindow/topWindowContext.d.ts +2 -1
- package/esm/utils/topWindow/topWindowProvider.d.ts +2 -1
- package/esm/utils/useBodyScroll.js +5 -2
- package/esm/utils/useFadeComponent.js +5 -2
- package/esm/utils/useScrollWithAndroidKeyboard.js +9 -5
- package/esm/utils/zen.d.ts +4 -0
- package/esm/utils/zen.js +2 -0
- package/esm/waiting/waiting.js +4 -2
- package/package.json +11 -3
- package/dist/filters/components/filtersCustom.d.ts +0 -13
- package/dist/filters/components/filtersCustom.js +0 -15
- package/dist/filters/components/filtersEmptySelectedList.d.ts +0 -2
- package/dist/list/utils/findListElement.d.ts +0 -1
- package/dist/list/utils/findListElement.js +0 -13
- package/esm/filters/components/filtersCustom.d.ts +0 -13
- package/esm/filters/components/filtersCustom.js +0 -11
- package/esm/filters/components/filtersEmptySelectedList.d.ts +0 -2
- package/esm/filters/components/filtersEmptySelectedList.js +0 -32
- package/esm/list/utils/findListElement.d.ts +0 -1
- package/esm/list/utils/findListElement.js +0 -9
package/esm/nav/nav.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { classNames } from "../commonHelpers/classNames/classNames";
|
|
3
|
-
import { NavContext } from "./context/nav.context";
|
|
3
|
+
import { NavContext, useNavContext } from "./context/nav.context";
|
|
4
4
|
import { Children, cloneElement, Fragment, useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
5
5
|
import { NavDivider } from "./navDivider/navDivider";
|
|
6
6
|
import { detectOverlayScrollbar, filterPrimaryNavItems, collectNavItems } from "./utils/navUtils";
|
|
@@ -9,7 +9,9 @@ import { createPortal } from "react-dom";
|
|
|
9
9
|
import { NavMobileBar } from "./navMobileBar/navMobileBar";
|
|
10
10
|
import { useMobile } from "../commonHelpers/hooks/useMobile";
|
|
11
11
|
import { FOCUSABLE_SELECTOR } from "../utils/focusableSelector";
|
|
12
|
+
import { zen } from "../utils/zen";
|
|
12
13
|
const NavContent = ({ children }) => {
|
|
14
|
+
const { isEditState } = useNavContext();
|
|
13
15
|
const contentRef = useRef(null);
|
|
14
16
|
const [hasScrollbar, setHasScrollbar] = useState(false);
|
|
15
17
|
const [showTopShadow, setShowTopShadow] = useState(false);
|
|
@@ -40,8 +42,8 @@ const NavContent = ({ children }) => {
|
|
|
40
42
|
}, [handleResize]);
|
|
41
43
|
return _jsx("div", { ref: contentRef, onScroll: handleScroll, className: classNames([
|
|
42
44
|
"zen-nav__content",
|
|
43
|
-
showTopShadow ? "zen-nav__content--show-top-shadow" : "",
|
|
44
|
-
showBottomShadow ? "zen-nav__content--show-bottom-shadow" : "",
|
|
45
|
+
showTopShadow && !isEditState ? "zen-nav__content--show-top-shadow" : "",
|
|
46
|
+
showBottomShadow && !isEditState ? "zen-nav__content--show-bottom-shadow" : "",
|
|
45
47
|
hasScrollbar ? "zen-nav__content--has-scrollbar" : "",
|
|
46
48
|
hasOverlayScrollbar ? "zen-nav__content--overlay-scrollbar" : ""
|
|
47
49
|
]), children: _jsx("div", { className: "zen-nav__content-inner", children: children }) });
|
|
@@ -49,48 +51,56 @@ const NavContent = ({ children }) => {
|
|
|
49
51
|
/**
|
|
50
52
|
* @beta This component is not fully ready yet and may change in future releases.
|
|
51
53
|
*/
|
|
52
|
-
export const Nav = ({ children, className, collapsed = false, onCollapseToggle, onMenuVisibilityToggle, mobileBarContainer
|
|
53
|
-
|
|
54
|
+
export const Nav = ({ children, className, collapsed = false, onCollapseToggle, onMenuVisibilityToggle, mobileBarContainer, isMobileMenuOpen = false, onIsMobileMenuOpenToggle
|
|
55
|
+
// eslint-disable-next-line complexity
|
|
56
|
+
}) => {
|
|
54
57
|
const menuRef = useRef(null);
|
|
55
58
|
const [isSearchOpen, setIsSearchOpen] = useState(false);
|
|
59
|
+
const [isEditState, setIsEditState] = useState(false);
|
|
56
60
|
const [searchTerm, setSearchTerm] = useState("");
|
|
57
61
|
const isMobile = useMobile();
|
|
58
62
|
const prevIsMobileRef = useRef(false);
|
|
59
63
|
// Focus the first active element inside the Nav when mobile menu opens
|
|
60
64
|
useLayoutEffect(() => {
|
|
61
|
-
var _a;
|
|
65
|
+
var _a, _b;
|
|
62
66
|
if (isMobile && isMobileMenuOpen && menuRef.current) {
|
|
63
|
-
const currentFocus = document.activeElement;
|
|
67
|
+
const currentFocus = (_a = zen.document) === null || _a === void 0 ? void 0 : _a.activeElement;
|
|
64
68
|
// If focused element is not inside the nav, focus the first focusable element
|
|
65
69
|
if (!currentFocus.closest(".zen-nav")) {
|
|
66
|
-
(
|
|
70
|
+
(_b = menuRef.current.querySelector(FOCUSABLE_SELECTOR)) === null || _b === void 0 ? void 0 : _b.focus();
|
|
67
71
|
}
|
|
68
72
|
}
|
|
69
73
|
}, [isMobile, isMobileMenuOpen]);
|
|
70
74
|
const childrenArray = Children.toArray(children);
|
|
71
|
-
const header = childrenArray.find(child => { var _a; return ((_a = child.type) === null || _a === void 0 ? void 0 : _a.displayName) === "NavHeader"; });
|
|
75
|
+
const header = isEditState ? undefined : childrenArray.find(child => { var _a; return ((_a = child.type) === null || _a === void 0 ? void 0 : _a.displayName) === "NavHeader"; });
|
|
72
76
|
const sections = childrenArray.filter(child => { var _a; return ((_a = child.type) === null || _a === void 0 ? void 0 : _a.displayName) === "NavSection"; });
|
|
73
77
|
const footer = childrenArray.find(child => { var _a; return ((_a = child.type) === null || _a === void 0 ? void 0 : _a.displayName) === "NavFooter"; });
|
|
78
|
+
const editFooter = childrenArray.find(child => { var _a; return ((_a = child.type) === null || _a === void 0 ? void 0 : _a.displayName) === "NavEditFooter"; });
|
|
74
79
|
const secondarySections = sections.map(section => filterPrimaryNavItems(section, true)).filter(section => !!section && Children.count(section.props.children) > 0);
|
|
75
80
|
const primarySections = sections.map(section => filterPrimaryNavItems(section, false)).filter(section => !!section && Children.count(section.props.children) > 0);
|
|
76
81
|
const sectionsToRender = isMobile ? secondarySections : sections;
|
|
77
82
|
const secondaryFooter = footer && filterPrimaryNavItems(footer, true);
|
|
78
83
|
const primaryFooter = footer && filterPrimaryNavItems(footer, false);
|
|
79
|
-
const footerToRender = isMobile ? secondaryFooter : footer;
|
|
84
|
+
const footerToRender = isEditState ? editFooter : (isMobile ? secondaryFooter : footer);
|
|
80
85
|
const primaryItems = [...primarySections, ...(primaryFooter ? [primaryFooter] : [])].flatMap(e => collectNavItems(e));
|
|
86
|
+
const editListItems = childrenArray.find(child => { var _a; return ((_a = child.type) === null || _a === void 0 ? void 0 : _a.name) === "NavEditSection"; });
|
|
81
87
|
const onSearchOpen = useCallback((isOpen) => {
|
|
82
88
|
isOpen && onCollapseToggle && onCollapseToggle(false);
|
|
83
89
|
setIsSearchOpen(isOpen || isMobile);
|
|
84
90
|
}, [onCollapseToggle, setIsSearchOpen, isMobile]);
|
|
85
91
|
const onMobileMenuToggle = useCallback(() => {
|
|
86
|
-
|
|
87
|
-
}, [isMobileMenuOpen,
|
|
92
|
+
onIsMobileMenuOpenToggle && onIsMobileMenuOpenToggle(!isMobileMenuOpen);
|
|
93
|
+
}, [isMobileMenuOpen, onIsMobileMenuOpenToggle]);
|
|
94
|
+
const onEditStateToggle = useCallback((isEdit) => {
|
|
95
|
+
isEdit && onCollapseToggle && onCollapseToggle(false);
|
|
96
|
+
editListItems && editFooter && setIsEditState(isEdit);
|
|
97
|
+
}, [onCollapseToggle, setIsEditState, editListItems, editFooter]);
|
|
88
98
|
useEffect(() => {
|
|
89
99
|
const wasMobile = prevIsMobileRef.current;
|
|
90
100
|
prevIsMobileRef.current = isMobile;
|
|
91
101
|
// Close mobile menu when switching to desktop
|
|
92
102
|
if (wasMobile && !isMobile) {
|
|
93
|
-
|
|
103
|
+
onIsMobileMenuOpenToggle && onIsMobileMenuOpenToggle(false);
|
|
94
104
|
}
|
|
95
105
|
// Close search input when collapsed
|
|
96
106
|
if (collapsed) {
|
|
@@ -111,7 +121,7 @@ export const Nav = ({ children, className, collapsed = false, onCollapseToggle,
|
|
|
111
121
|
if (wasMobile && !searchTerm.trim()) {
|
|
112
122
|
setIsSearchOpen(false);
|
|
113
123
|
}
|
|
114
|
-
}, [collapsed, setIsSearchOpen,
|
|
124
|
+
}, [collapsed, setIsSearchOpen, onIsMobileMenuOpenToggle, searchTerm, isMobile]);
|
|
115
125
|
useEffect(() => {
|
|
116
126
|
onMenuVisibilityToggle === null || onMenuVisibilityToggle === void 0 ? void 0 : onMenuVisibilityToggle(!isMobile || isMobileMenuOpen);
|
|
117
127
|
}, [isMobile, isMobileMenuOpen, onMenuVisibilityToggle]);
|
|
@@ -119,13 +129,17 @@ export const Nav = ({ children, className, collapsed = false, onCollapseToggle,
|
|
|
119
129
|
collapsed,
|
|
120
130
|
onCollapseToggle,
|
|
121
131
|
searchOpen: isSearchOpen,
|
|
132
|
+
isEditState: isEditState,
|
|
133
|
+
onEditStateToggle,
|
|
122
134
|
onSearchToggle: onSearchOpen,
|
|
123
135
|
searchTerm,
|
|
124
136
|
onSearch: setSearchTerm,
|
|
125
|
-
onNavigate: () =>
|
|
137
|
+
onNavigate: () => onIsMobileMenuOpenToggle && onIsMobileMenuOpenToggle(false)
|
|
126
138
|
}, children: [(!isMobile || isMobileMenuOpen)
|
|
127
|
-
? _jsxs("div", { ref: menuRef, className: classNames(["zen-nav", isMobile ? "zen-nav--mobile" : "", collapsed ? "zen-nav--collapsed" : "", className || ""]), children: [header ? cloneElement(header, Object.assign(Object.assign({}, header.props), { className: classNames(["zen-nav__header", header.props.className || ""]) })) : null, _jsx(NavContent, { children:
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
139
|
+
? _jsxs("div", { ref: menuRef, className: classNames(["zen-nav", isMobile ? "zen-nav--mobile" : "", collapsed ? "zen-nav--collapsed" : "", className || ""]), children: [header ? cloneElement(header, Object.assign(Object.assign({}, header.props), { className: classNames(["zen-nav__header", header.props.className || ""]) })) : null, _jsx(NavContent, { children: isEditState
|
|
140
|
+
? editListItems
|
|
141
|
+
: sectionsToRender.map((section, index) => (_jsxs(Fragment, { children: [cloneElement(section, {
|
|
142
|
+
className: classNames(["zen-nav__section", section.props.className || ""])
|
|
143
|
+
}), isMobile || index < sectionsToRender.length - 1 ? _jsx(NavDivider, {}) : null] }, index))) }), footerToRender] })
|
|
144
|
+
: null, mobileBarContainer && isMobile && createPortal(_jsx(NavMobileBar, { onMenuToggle: onMobileMenuToggle, isMenuOpen: isMobileMenuOpen, children: editListItems ? editListItems : primaryItems }), mobileBarContainer)] });
|
|
131
145
|
};
|
|
@@ -9,11 +9,13 @@ import { IconClose } from "../../icons/iconClose";
|
|
|
9
9
|
import { IconPlus } from "../../icons/iconPlus";
|
|
10
10
|
import { Tooltip } from "../../tooltip/tooltip";
|
|
11
11
|
import { useNavContext } from "../context/nav.context";
|
|
12
|
+
import { generateId } from "../../commonHelpers/utils";
|
|
12
13
|
export const NavAddMenu = ({ title, alignment, className, children }) => {
|
|
13
14
|
const [isOpen, setIsOpen] = useState(false);
|
|
14
15
|
const isMobile = useMobile();
|
|
15
16
|
const { collapsed } = useNavContext();
|
|
16
17
|
const triggerRef = useRef(null);
|
|
18
|
+
const triggerId = generateId();
|
|
17
19
|
const validChildren = Children.toArray(children)
|
|
18
20
|
.filter((child) => {
|
|
19
21
|
const element = child;
|
|
@@ -26,6 +28,6 @@ export const NavAddMenu = ({ title, alignment, className, children }) => {
|
|
|
26
28
|
]),
|
|
27
29
|
collapsed: false
|
|
28
30
|
}));
|
|
29
|
-
return _jsx(NavItemContext, { value: { parentLevel: 2 }, children: _jsxs("div", { className: classNames(["zen-nav-header__actions", className || ""]), children: [_jsx(Tooltip, { trigger: _jsx(TextIconButton, { title: title, className: classNames(["zen-nav-footer__actions-icon", className || ""]), icon: isOpen && !isMobile ? IconClose : IconPlus, iconSize: "large", ref: triggerRef, onClick: () => setIsOpen(!isOpen) }), alignment: isMobile ? "left" : collapsed ? "right" : "top", children: title }), _jsx(ControlledMenu, { title: title, isOpen: isOpen, setIsOpen: setIsOpen, triggerRef: triggerRef, alignment: alignment, paddingX: 8, paddingY: 8, className: classNames(["zen-nav-popup zen-nav-popup--narrow zen-nav-l2-popup zen-nav-l2-popup--narrow", isMobile ? "zen-nav-popup--mobile zen-nav-l2-popup--mobile" : ""]), listClassName: classNames(["zen-nav-popup__list zen-nav-l2-popup__list", isMobile ? "zen-nav-popup__list--mobile zen-nav-l2-popup__list--mobile" : ""]), children: validChildren })] }) });
|
|
31
|
+
return _jsx(NavItemContext, { value: { parentLevel: 2 }, children: _jsxs("div", { className: classNames(["zen-nav-header__actions", className || ""]), children: [_jsx(Tooltip, { trigger: _jsx(TextIconButton, { id: triggerId, title: title, className: classNames(["zen-nav-footer__actions-icon", className || ""]), icon: isOpen && !isMobile ? IconClose : IconPlus, iconSize: "large", ref: triggerRef, onClick: () => setIsOpen(!isOpen), role: !isMobile ? "menuitem" : undefined }), alignment: isMobile ? "left" : collapsed ? "right" : "top", children: title }), _jsx(ControlledMenu, { title: title, isOpen: isOpen, setIsOpen: setIsOpen, triggerRef: triggerRef, alignment: alignment, paddingX: 8, paddingY: 8, className: classNames(["zen-nav-popup zen-nav-popup--narrow zen-nav-l2-popup zen-nav-l2-popup--narrow", isMobile ? "zen-nav-popup--mobile zen-nav-l2-popup--mobile" : ""]), listClassName: classNames(["zen-nav-popup__list zen-nav-l2-popup__list", isMobile ? "zen-nav-popup__list--mobile zen-nav-l2-popup__list--mobile" : ""]), ariaLabelledby: triggerId, children: validChildren })] }) });
|
|
30
32
|
};
|
|
31
33
|
NavAddMenu.displayName = "NavAddMenu";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "./navEditList.less";
|
|
2
|
+
import { IZenComponentProps } from "../../commonHelpers/zenComponent";
|
|
3
|
+
export interface INavEditList extends IZenComponentProps {
|
|
4
|
+
onItemsChangeOrder?: (startPosition: number, endPosition: number) => void;
|
|
5
|
+
onBeforeItemDrag?: (position: number) => boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const NavEditList: ({ children, className, onItemsChangeOrder, onBeforeItemDrag }: INavEditList) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Children, useMemo, useRef } from "react";
|
|
3
|
+
import { useDragAndDrop } from "../../list/hooks/useDragAndDrop";
|
|
4
|
+
import { classNames } from "../../commonHelpers/classNames/classNames";
|
|
5
|
+
import { attachDndHandler } from "./navEditListUtils";
|
|
6
|
+
const marksClassNames = {
|
|
7
|
+
general: "zen-nav-edit-list__item",
|
|
8
|
+
placeholder: "zen-nav-edit-list__item--placeholder",
|
|
9
|
+
dragging: "zen-nav-edit-list__item--dragging",
|
|
10
|
+
dragged: "zen-nav-edit-list__item--dragged"
|
|
11
|
+
};
|
|
12
|
+
export const NavEditList = ({ children, className, onItemsChangeOrder, onBeforeItemDrag }) => {
|
|
13
|
+
const appsListRef = useRef(null);
|
|
14
|
+
const dragHandler = onItemsChangeOrder ? onItemsChangeOrder : () => { };
|
|
15
|
+
const { onDragStart } = useDragAndDrop(appsListRef, dragHandler, marksClassNames, onBeforeItemDrag);
|
|
16
|
+
const childrenArray = useMemo(() => onItemsChangeOrder ? Children.map(children, child => attachDndHandler(child, onDragStart)) : children, [children, onItemsChangeOrder, onDragStart]);
|
|
17
|
+
return _jsx("div", { className: classNames(["zen-nav-edit-list", className || ""]), ref: appsListRef, children: childrenArray });
|
|
18
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { PointerEvent, ReactElement } from "react";
|
|
2
|
+
import { INavActionItem } from "../navItem/navActionItem";
|
|
3
|
+
export declare const attachDndHandler: (item: ReactElement<INavActionItem>, onPointerDown: (e: PointerEvent<HTMLElement>) => void) => ReactElement<INavActionItem, string | import("react").JSXElementConstructor<any>>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cloneElement } from "react";
|
|
3
|
+
import { NavActionItem } from "../navItem/navActionItem";
|
|
4
|
+
import { IconGrab } from "../../icons/iconGrab";
|
|
5
|
+
export const attachDndHandler = (item, onPointerDown) => {
|
|
6
|
+
if (item.type === NavActionItem) {
|
|
7
|
+
return cloneElement(item, Object.assign(Object.assign({}, item.props), { startNode: _jsx("div", { className: "zen-nav-item__dnd", onPointerDown: onPointerDown, children: _jsx(IconGrab, { size: "large" }) }) }));
|
|
8
|
+
}
|
|
9
|
+
return item;
|
|
10
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { classNames } from "../../commonHelpers/classNames/classNames";
|
|
3
|
+
export const NavEditSection = ({ children, className }) => _jsx("div", { className: classNames(["zen-nav-edit-section", className || ""]), children: children });
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import "./navEditFooter.less";
|
|
3
|
+
import { IZenComponentProps } from "../../../commonHelpers/zenComponent";
|
|
4
|
+
/**
|
|
5
|
+
* @beta This component is not fully ready yet and may change in future releases.
|
|
6
|
+
*/
|
|
7
|
+
export interface INavEditFooter extends IZenComponentProps {
|
|
8
|
+
handleSaveClick: () => void;
|
|
9
|
+
handleCancelClick: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const NavEditFooter: React.FC<INavEditFooter>;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { injectString } from "../../../utils/localization/translationsDictionary";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Button } from "../../../button/button";
|
|
4
|
+
import { classNames } from "../../../commonHelpers/classNames/classNames";
|
|
5
|
+
import { useLanguage } from "../../../utils/localization/useLanguage";
|
|
6
|
+
import { useNavContext } from "../../context/nav.context";
|
|
7
|
+
import { useCallback } from "react";
|
|
8
|
+
import { useMobile } from "../../../commonHelpers/hooks/useMobile";
|
|
9
|
+
injectString("cs", "Save", "Ulo\u017Eit");
|
|
10
|
+
injectString("da-DK", "Save", "Spare");
|
|
11
|
+
injectString("de", "Save", "Speichern");
|
|
12
|
+
injectString("en", "Save", "Save");
|
|
13
|
+
injectString("es", "Save", "Guardar");
|
|
14
|
+
injectString("fi-FI", "Save", "S\xE4\xE4st\xE4\xE4");
|
|
15
|
+
injectString("fr", "Save", "Enregistrer");
|
|
16
|
+
injectString("fr-FR", "Save", "Enregistrer");
|
|
17
|
+
injectString("hu-HU", "Save", "Ment\xE9s");
|
|
18
|
+
injectString("id", "Save", "Simpan");
|
|
19
|
+
injectString("it", "Save", "Salvare");
|
|
20
|
+
injectString("ja", "Save", "\u4FDD\u5B58");
|
|
21
|
+
injectString("ko-KR", "Save", "\uC800\uC7A5");
|
|
22
|
+
injectString("ms", "Save", "Simpan");
|
|
23
|
+
injectString("nb-NO", "Save", "Lagre");
|
|
24
|
+
injectString("nl", "Save", "Opslaan");
|
|
25
|
+
injectString("pl", "Save", "Zapisz");
|
|
26
|
+
injectString("pt-BR", "Save", "Salvar");
|
|
27
|
+
injectString("pt-PT", "Save", "Guardar");
|
|
28
|
+
injectString("sk-SK", "Save", "Ulo\u017Ei\u0165");
|
|
29
|
+
injectString("sv", "Save", "Spara");
|
|
30
|
+
injectString("th", "Save", "\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01");
|
|
31
|
+
injectString("tr", "Save", "Kaydet");
|
|
32
|
+
injectString("zh-Hans", "Save", "\u4FDD\u5B58");
|
|
33
|
+
injectString("zh-TW", "Save", "\u5132\u5B58");
|
|
34
|
+
injectString("ro-RO", "Save", "Salva\u021Bi");
|
|
35
|
+
injectString("cs", "Cancel", "Zru\u0161it");
|
|
36
|
+
injectString("da-DK", "Cancel", "Annuller");
|
|
37
|
+
injectString("de", "Cancel", "Abbrechen");
|
|
38
|
+
injectString("en", "Cancel", "Cancel");
|
|
39
|
+
injectString("es", "Cancel", "Cancelar");
|
|
40
|
+
injectString("fi-FI", "Cancel", "Peruuta");
|
|
41
|
+
injectString("fr", "Cancel", "Annuler");
|
|
42
|
+
injectString("fr-FR", "Cancel", "Annuler");
|
|
43
|
+
injectString("hu-HU", "Cancel", "M\xE9gse");
|
|
44
|
+
injectString("id", "Cancel", "Batalkan");
|
|
45
|
+
injectString("it", "Cancel", "Annullare");
|
|
46
|
+
injectString("ja", "Cancel", "\u30AD\u30E3\u30F3\u30BB\u30EB");
|
|
47
|
+
injectString("ko-KR", "Cancel", "\uCDE8\uC18C");
|
|
48
|
+
injectString("ms", "Cancel", "Batal");
|
|
49
|
+
injectString("nb-NO", "Cancel", "Avbryt");
|
|
50
|
+
injectString("nl", "Cancel", "Annuleren");
|
|
51
|
+
injectString("pl", "Cancel", "Anuluj");
|
|
52
|
+
injectString("pt-BR", "Cancel", "Cancelar");
|
|
53
|
+
injectString("pt-PT", "Cancel", "Cancelar");
|
|
54
|
+
injectString("sk-SK", "Cancel", "Zru\u0161.");
|
|
55
|
+
injectString("sv", "Cancel", "Avbryt");
|
|
56
|
+
injectString("th", "Cancel", "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01");
|
|
57
|
+
injectString("tr", "Cancel", "\u0130ptal");
|
|
58
|
+
injectString("zh-Hans", "Cancel", "\u53D6\u6D88");
|
|
59
|
+
injectString("zh-TW", "Cancel", "\u53D6\u6D88");
|
|
60
|
+
injectString("ro-RO", "Cancel", "Anula\u021Bi");
|
|
61
|
+
export const NavEditFooter = ({
|
|
62
|
+
className,
|
|
63
|
+
handleSaveClick,
|
|
64
|
+
handleCancelClick
|
|
65
|
+
}) => {
|
|
66
|
+
const {
|
|
67
|
+
onEditStateToggle
|
|
68
|
+
} = useNavContext();
|
|
69
|
+
const isMobile = useMobile();
|
|
70
|
+
const {
|
|
71
|
+
translate
|
|
72
|
+
} = useLanguage();
|
|
73
|
+
const onSaveClick = useCallback(() => {
|
|
74
|
+
onEditStateToggle === null || onEditStateToggle === void 0 ? void 0 : onEditStateToggle(false);
|
|
75
|
+
handleSaveClick();
|
|
76
|
+
}, [onEditStateToggle, handleSaveClick]);
|
|
77
|
+
const onCancelClick = useCallback(() => {
|
|
78
|
+
onEditStateToggle === null || onEditStateToggle === void 0 ? void 0 : onEditStateToggle(false);
|
|
79
|
+
handleCancelClick();
|
|
80
|
+
}, [onEditStateToggle, handleCancelClick]);
|
|
81
|
+
const navEditFooterClassNames = classNames(["zen-nav-edit-footer", isMobile ? "zen-nav-edit-footer--mobile" : "", className !== null && className !== void 0 ? className : ""]);
|
|
82
|
+
// needed to change buttons order between mobile and desktop modes
|
|
83
|
+
const saveButtonClassNames = classNames(["zen-nav-edit-footer__button", isMobile ? "zen-nav-edit-footer__button--with-margin" : ""]);
|
|
84
|
+
const saveButton = _jsx(Button, {
|
|
85
|
+
onClick: onSaveClick,
|
|
86
|
+
className: saveButtonClassNames,
|
|
87
|
+
type: "primary",
|
|
88
|
+
children: translate("Save")
|
|
89
|
+
});
|
|
90
|
+
const cancelButton = _jsx(Button, {
|
|
91
|
+
onClick: onCancelClick,
|
|
92
|
+
className: "zen-nav-edit-footer__button",
|
|
93
|
+
type: "secondary",
|
|
94
|
+
children: translate("Cancel")
|
|
95
|
+
});
|
|
96
|
+
return _jsxs("div", {
|
|
97
|
+
className: navEditFooterClassNames,
|
|
98
|
+
children: [isMobile ? saveButton : cancelButton, isMobile ? cancelButton : saveButton]
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
NavEditFooter.displayName = "NavEditFooter";
|
|
@@ -3,11 +3,6 @@ import { IZenComponentProps } from "../../commonHelpers/zenComponent";
|
|
|
3
3
|
import { FC } from "react";
|
|
4
4
|
export interface INavFooter extends IZenComponentProps {
|
|
5
5
|
}
|
|
6
|
-
export interface INavFooterBottom extends IZenComponentProps {
|
|
7
|
-
}
|
|
8
|
-
export interface INavFooterEditButton extends IZenComponentProps {
|
|
9
|
-
onClick?: () => void;
|
|
10
|
-
}
|
|
11
6
|
/**
|
|
12
7
|
* @beta This component is not fully ready yet and may change in future releases.
|
|
13
8
|
*/
|
|
@@ -16,6 +11,6 @@ export declare const NavFooter: FC<INavFooter> & {
|
|
|
16
11
|
({ children }: import("./navFooterAction/navFooterAction").INavFooterActionProps): import("react/jsx-runtime").JSX.Element | null;
|
|
17
12
|
displayName: string;
|
|
18
13
|
};
|
|
19
|
-
Bottom: FC<
|
|
20
|
-
EditButton: FC<
|
|
14
|
+
Bottom: FC<IZenComponentProps>;
|
|
15
|
+
EditButton: FC<IZenComponentProps>;
|
|
21
16
|
};
|
|
@@ -52,6 +52,7 @@ const NavFooterBottom = ({
|
|
|
52
52
|
});
|
|
53
53
|
return _jsx("div", {
|
|
54
54
|
className: classNames(["zen-nav-footer__bottom", isMobile ? "zen-nav-footer__bottom--mobile" : "", className || ""]),
|
|
55
|
+
role: "menu",
|
|
55
56
|
children: childrenArray.map(child => {
|
|
56
57
|
const childElement = child;
|
|
57
58
|
return cloneElement(childElement, Object.assign(Object.assign({}, childElement.props), {
|
|
@@ -65,14 +66,14 @@ const NavFooterBottom = ({
|
|
|
65
66
|
};
|
|
66
67
|
NavFooterBottom.displayName = "NavFooterBottom";
|
|
67
68
|
const NavFooterEditButton = ({
|
|
68
|
-
className
|
|
69
|
-
onClick
|
|
69
|
+
className
|
|
70
70
|
}) => {
|
|
71
71
|
const {
|
|
72
72
|
translate
|
|
73
73
|
} = useLanguage();
|
|
74
74
|
const {
|
|
75
|
-
collapsed
|
|
75
|
+
collapsed,
|
|
76
|
+
onEditStateToggle
|
|
76
77
|
} = useNavContext();
|
|
77
78
|
const isMobile = useMobile();
|
|
78
79
|
return _jsx(NavItem, {
|
|
@@ -80,7 +81,7 @@ const NavFooterEditButton = ({
|
|
|
80
81
|
title: translate("Edit Navigation"),
|
|
81
82
|
collapsed: !isMobile,
|
|
82
83
|
primaryIcon: IconEdit,
|
|
83
|
-
onClick: () =>
|
|
84
|
+
onClick: () => onEditStateToggle === null || onEditStateToggle === void 0 ? void 0 : onEditStateToggle(true),
|
|
84
85
|
menuAlignment: "right-bottom",
|
|
85
86
|
tooltipAlignment: collapsed ? "right" : "top"
|
|
86
87
|
}, "edit-button");
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FC, MouseEvent, ReactNode } from "react";
|
|
2
|
+
import { IZenComponentProps } from "../../commonHelpers/zenComponent";
|
|
3
|
+
import { IIcon } from "../../icons/icon";
|
|
4
|
+
import "./navItem.less";
|
|
5
|
+
export interface INavActionItem extends IZenComponentProps {
|
|
6
|
+
title: string;
|
|
7
|
+
id?: string;
|
|
8
|
+
icon?: FC<IIcon>;
|
|
9
|
+
startNode?: ReactNode;
|
|
10
|
+
endButtonIcon?: FC<IIcon>;
|
|
11
|
+
endButtonTitle?: string;
|
|
12
|
+
onEndButtonClick?: (e: MouseEvent) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const NavActionItem: FC<INavActionItem>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { classNames } from "../../commonHelpers/classNames/classNames";
|
|
3
|
+
export const NavActionItem = ({ title, id, icon, className, startNode, endButtonIcon, endButtonTitle, onEndButtonClick }) => {
|
|
4
|
+
const PrimaryIconComponent = typeof icon === "function" ? icon : null;
|
|
5
|
+
const EndButtonIconComponent = typeof endButtonIcon === "function" ? endButtonIcon : null;
|
|
6
|
+
const itemClasses = classNames(["zen-nav-item", className || ""]);
|
|
7
|
+
return (_jsxs("div", { className: itemClasses, id: id, children: [_jsx("div", { className: "zen-nav-item__main", children: _jsxs("div", { className: "zen-nav-item__content-left", children: [startNode ? _jsx("span", { className: "zen-nav-item__icon", children: startNode }) : null, PrimaryIconComponent ? _jsx(PrimaryIconComponent, { size: "huge" }) : null, _jsx("span", { className: "zen-nav-item__title", children: _jsx("span", { className: "zen-nav-item__title-text", children: title }) })] }) }), EndButtonIconComponent && endButtonTitle && onEndButtonClick
|
|
8
|
+
? _jsx("button", { type: "button", className: "zen-nav-item__action", "aria-label": endButtonTitle, title: endButtonTitle, onClick: onEndButtonClick, children: _jsx(EndButtonIconComponent, { size: "huge" }) })
|
|
9
|
+
: null] }));
|
|
10
|
+
};
|
|
11
|
+
NavActionItem.displayName = "NavActionItem";
|
|
@@ -19,6 +19,7 @@ import { Tooltip } from "../../tooltip/tooltip";
|
|
|
19
19
|
import { ControlledMenu } from "../../menu/controlledMenu";
|
|
20
20
|
import { useNavContext } from "../context/nav.context";
|
|
21
21
|
import { useMobile } from "../../commonHelpers/hooks/useMobile";
|
|
22
|
+
import { generateId } from "../../commonHelpers/utils";
|
|
22
23
|
const ICON_SIZE = "huge";
|
|
23
24
|
const SUBMENU_ICON_SIZE = "large";
|
|
24
25
|
export const NavItemContext = createContext({ parentLevel: 0 });
|
|
@@ -32,7 +33,7 @@ const NavItemContent = ({ primaryIcon, secondaryIcon, isBeta, counter, collapsed
|
|
|
32
33
|
const primaryIconComponent = primaryIcon ? (_jsx("span", { ref: primaryIconRef, className: classNames(["zen-nav-item__icon", counter ? "zen-nav-item__icon--with-counter" : "", iconClass || ""]), children: PrimaryIconComponent ? _jsx(PrimaryIconComponent, { size: iconSize }) : primaryIcon })) : null;
|
|
33
34
|
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "zen-nav-item__content-left", children: [isBeta && !collapsed ? (_jsx("span", { className: "zen-nav-item__beta", children: _jsx(IconBeta, { size: "big" }) })) : null, primaryIconComponent, SecondaryIconComponent && !collapsed ? (_jsx("span", { className: "zen-nav-item__icon", children: _jsx(SecondaryIconComponent, { size: iconSize }) })) : null, !collapsed ? _jsx("span", { className: "zen-nav-item__title", children: children }) : null] }), !collapsed && (counter || hasSubmenu) ? (_jsxs("div", { className: "zen-nav-item__content-right", children: [counter ? _jsx("div", { className: "zen-nav-item__counter", children: counter }) : null, hasSubmenu ? _jsx(IconChevronRight, { className: "zen-nav-item__title-icon", size: iconSize }) : null] })) : null] }));
|
|
34
35
|
};
|
|
35
|
-
const NavItemAction = ({ actionIcon, actionIconTitle = "", onActionIconClick, collapsed, level = 1 }) => {
|
|
36
|
+
const NavItemAction = ({ actionIcon, actionIconTitle = "", onActionIconClick, collapsed, isMenuItem, level = 1 }) => {
|
|
36
37
|
const ActionIconComponent = actionIcon;
|
|
37
38
|
const iconSize = level > 1 ? SUBMENU_ICON_SIZE : ICON_SIZE;
|
|
38
39
|
if (!ActionIconComponent || collapsed) {
|
|
@@ -42,7 +43,7 @@ const NavItemAction = ({ actionIcon, actionIconTitle = "", onActionIconClick, co
|
|
|
42
43
|
e.stopPropagation();
|
|
43
44
|
onActionIconClick === null || onActionIconClick === void 0 ? void 0 : onActionIconClick(e);
|
|
44
45
|
};
|
|
45
|
-
return (_jsx("button", { type: "button", className: "zen-nav-item__action", onClick: handleActionIconClick, "aria-label": actionIconTitle, title: actionIconTitle, children: _jsx(ActionIconComponent, { size: iconSize }) }));
|
|
46
|
+
return (_jsx("button", { type: "button", className: "zen-nav-item__action", onClick: handleActionIconClick, "aria-label": actionIconTitle, title: actionIconTitle, role: isMenuItem ? "menuitem" : undefined, children: _jsx(ActionIconComponent, { size: iconSize }) }));
|
|
46
47
|
};
|
|
47
48
|
const getWrapperClassName = ({ className, collapsed, active, isMobile, hasNested, isNested, isLink }) => classNames([
|
|
48
49
|
"zen-nav-item",
|
|
@@ -65,7 +66,7 @@ const LinkNavItem = (_a) => {
|
|
|
65
66
|
onNavigate && onNavigate();
|
|
66
67
|
}, className: "zen-link--light zen-nav-item__main", children: _jsxs(NavItemContent, Object.assign({ title: title, collapsed: collapsed, level: currentLevel }, rest, { children: [_jsx("span", { className: "zen-nav-item__title-text", children: title }), isExternalLink && !collapsed ? _jsx(IconOpen2, { className: "zen-nav-item__title-icon", size: ICON_SIZE }) : null] })) }));
|
|
67
68
|
const item = collapsed ? (_jsx(Tooltip, { trigger: linkElement, alignment: tooltipAlignment, children: title })) : (linkElement);
|
|
68
|
-
return (_jsxs("div", { className: getWrapperClassName({ className, collapsed, active, isMobile, isLink: true }), children: [item, _jsx(NavItemAction, { actionIcon: actionIcon, actionIconTitle: actionIconTitle, onActionIconClick: onActionIconClick, collapsed: collapsed, level: currentLevel })] }));
|
|
69
|
+
return (_jsxs("div", { className: getWrapperClassName({ className, collapsed, active, isMobile, isLink: true }), children: [item, _jsx(NavItemAction, { actionIcon: actionIcon, actionIconTitle: actionIconTitle, onActionIconClick: onActionIconClick, collapsed: collapsed, level: currentLevel, isMenuItem: isMenuItem })] }));
|
|
69
70
|
};
|
|
70
71
|
LinkNavItem.displayName = "LinkNavItem";
|
|
71
72
|
const ButtonNavItem = (_a) => {
|
|
@@ -97,7 +98,8 @@ const ButtonNavItem = (_a) => {
|
|
|
97
98
|
};
|
|
98
99
|
const isMobile = useMobile();
|
|
99
100
|
const isActive = active || (hasNestedItems && menuOpen);
|
|
100
|
-
const
|
|
101
|
+
const triggerId = generateId();
|
|
102
|
+
const buttonElement = (_jsx("button", { id: triggerId, ref: triggerRef, "aria-label": title, title: title, tabIndex: tabIndex, role: isMenuItem ? "menuitem" : undefined, className: "zen-nav-item__main", onClick: handleClick, onKeyDown: handleKeyPress, children: _jsx(NavItemContent, Object.assign({ title: title, collapsed: collapsed, hasSubmenu: hasNestedItems, level: currentLevel }, rest, { children: _jsx("span", { className: "zen-nav-item__title-text", children: title }) })) }));
|
|
101
103
|
const trigger = collapsed ? (_jsx(Tooltip, { trigger: buttonElement, alignment: tooltipAlignment, children: title })) : (buttonElement);
|
|
102
104
|
if (hasNestedItems) {
|
|
103
105
|
// Process children to add appropriate level classes while allowing unlimited nesting
|
|
@@ -118,9 +120,9 @@ const ButtonNavItem = (_a) => {
|
|
|
118
120
|
setMenuOpen(false);
|
|
119
121
|
closeParentMenu && closeParentMenu();
|
|
120
122
|
};
|
|
121
|
-
return (_jsxs("div", { className: getWrapperClassName({ className, collapsed, active: isActive, isMobile, hasNested: hasNestedItems }), children: [trigger, _jsx(NavItemContext, { value: { parentLevel: currentLevel, closeParentMenu: closeLevelMenu }, children: _jsx(ControlledMenu, { triggerRef: triggerRef, isOpen: menuOpen, setIsOpen: setMenuOpen, title: title, alignment: menuAlignment, className: classNames([popupClass, isMobile ? popupClassMobile : ""]), listClassName: classNames([popupListClass, isMobile ? popupListClassMobile : ""]), children: processedChildren }) })] }));
|
|
123
|
+
return (_jsxs("div", { className: getWrapperClassName({ className, collapsed, active: isActive, isMobile, hasNested: hasNestedItems }), children: [trigger, _jsx(NavItemContext, { value: { parentLevel: currentLevel, closeParentMenu: closeLevelMenu }, children: _jsx(ControlledMenu, { triggerRef: triggerRef, isOpen: menuOpen, setIsOpen: setMenuOpen, title: title, alignment: menuAlignment, className: classNames([popupClass, isMobile ? popupClassMobile : ""]), listClassName: classNames([popupListClass, isMobile ? popupListClassMobile : ""]), ariaLabelledby: triggerId, children: processedChildren }) })] }));
|
|
122
124
|
}
|
|
123
|
-
return (_jsxs("div", { className: getWrapperClassName({ className, collapsed, active: isActive, isMobile, hasNested: hasNestedItems }), children: [trigger, _jsx(NavItemAction, { actionIcon: actionIcon, actionIconTitle: actionIconTitle, onActionIconClick: onActionIconClick, collapsed: collapsed, level: currentLevel })] }));
|
|
125
|
+
return (_jsxs("div", { className: getWrapperClassName({ className, collapsed, active: isActive, isMobile, hasNested: hasNestedItems }), children: [trigger, _jsx(NavItemAction, { actionIcon: actionIcon, actionIconTitle: actionIconTitle, onActionIconClick: onActionIconClick, collapsed: collapsed, level: currentLevel, isMenuItem: isMenuItem })] }));
|
|
124
126
|
};
|
|
125
127
|
ButtonNavItem.displayName = "ButtonNavItem";
|
|
126
128
|
/**
|
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
import { Children, isValidElement } from "react";
|
|
2
|
+
import { zen } from "../../utils/zen";
|
|
2
3
|
export const navHeaderImage = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIzIiBoZWlnaHQ9IjE1IiB2aWV3Qm94PSIwIDAgMTIzIDE1IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNDcuNDE3OCA1LjY2MDFIMzkuNTkxNVY2Ljc0NTI2SDQ1LjM1MjdDNDUuNDE5MiA3LjA2NjkzIDQ1LjQ1MjggNy4yNzc1IDQ1LjQ1MjggNy4zNzA5QzQ1LjQ1MjggOC41OTE3NyA0NS4xOTczIDkuMzU1MjUgNDQuNjk0IDkuNjM5OTdDNDQuMTg1NCA5LjkyODEzIDQyLjgyODkgMTAuMDczOSA0MC42NjIzIDEwLjA3MzlDMzcuODI1NyAxMC4wNzM5IDM2LjA1NzggOS45MTk3IDM1LjQwNzkgOS42MTUxNEMzNC43NjUzIDkuMzE0NDkgMzQuNDM5NyA4LjQ4ODM4IDM0LjQzOTcgNy4xNTkwM0wzNC40MjY2IDUuNjMwOThMMzQuNDUzIDQuMjExNTVDMzQuNDUzIDIuOTAyNCAzNC43NDYyIDIuMDc0MzkgMzUuMzI0MiAxLjc1MDMzQzM1LjkwNzcgMS40MjMxOSAzNy4zOTE1IDEuMjU3MzEgMzkuNzM0MiAxLjI1NzMxQzQyLjI3MjQgMS4yNTczMSA0My44NjMxIDEuMzYwOTMgNDQuNDYyIDEuNTY0ODRDNDUuMDQ5IDEuNzY1MTkgNDUuMzQ2NyAyLjI5OTU3IDQ1LjM0NjcgMy4xNTMwMVYzLjQ1MjQ2SDQ3LjQyMTlWMy4wMTE4NEM0Ny40MjE5IDEuODE2NCA0Ni45NjM3IDEuMDM0NjIgNDYuMDYwMyAwLjY4ODIyN0M0NS4xNjY1IDAuMzQ1NzU4IDQzLjE1ODUgMC4xNzIwMjggNDAuMDkyIDAuMTcyMDI4QzM3LjAzMjQgMC4xNzIwMjggMzQuOTY3NSAwLjQzNzI1NyAzMy45NTQxIDAuOTYwMjMxQzMyLjkzNDUgMS40ODcwMSAzMi40MTc2IDIuNTU5NTcgMzIuNDE3NiA0LjE0ODFMMzIuNDA0MyA1LjA5NzMyTDMyLjQxNzYgNi42NzMxM0MzMi40MTc2IDguNTYyODkgMzIuODgyNiA5Ljc5NzMgMzMuNzk5NyAxMC4zNDI0QzM0LjcxMjEgMTAuODg0MSAzNi43ODg3IDExLjE1OSAzOS45NzI3IDExLjE1OUM0My4zNDA5IDExLjE1OSA0NS40NTU0IDEwLjkyNjggNDYuMjU3NyAxMC40NjgyQzQ3LjA2NTMgMTAuMDA2NiA0Ny40NzQ4IDguNzkyODMgNDcuNDc0OCA2Ljg2MTM2QzQ3LjQ3NDggNi4zNjIzOSA0Ny40NTY5IDUuOTY4MTEgNDcuNDIxNCA1LjY4OTMzTDQ3LjQxNzggNS42NjAxWiIgZmlsbD0iIzI1NDc3QiIvPgo8cGF0aCBkPSJNNDkuNDEyMSAxMS4wNDk4SDYxLjExNDVWOS45NjQ2M0g1MS41MjcxVjYuMDMyMjlINjAuNzE2NlY0Ljk0NzI1SDUxLjUyNzFWMS4zNjc2SDYxLjExNDVWMC4yODI0NEg0OS40MTIxVjExLjA0OThaIiBmaWxsPSIjMjU0NzdCIi8+CjxwYXRoIGQ9Ik03Ni44NTk5IDEuMDY0OEM3NS45OTk4IDAuNDcyNTUgNzMuODMzIDAuMTcyMDI4IDcwLjQxOTcgMC4xNzIwMjhDNjcuNDY2NSAwLjE3MjAyOCA2NS40MTkyIDAuNDM1NzEzIDY0LjMzNjQgMC45NTU5NTNDNjMuMjQ1NSAxLjQ4IDYyLjY5MjUgMi40Njk3MyA2Mi42OTI1IDMuODk2ODlMNjIuNjY2IDQuOTA5MDlWNS42NjE2NEM2Mi42NjYgOC4xMjI2MiA2My4wOTIzIDkuNjcxOTQgNjMuOTMyNyAxMC4yNjYxQzY0Ljc3MTEgMTAuODU4NSA2Ni45NTM3IDExLjE1OSA3MC40MTk3IDExLjE1OUM3My45MDQgMTEuMTU5IDc2LjA4ODggMTAuODU2MSA3Ni45MTM5IDEwLjI1OEM3Ny43NDExIDkuNjU4NTEgNzguMTYwNiA4LjA2NDUyIDc4LjE2MDYgNS41MjA1OUM3OC4xNjA2IDMuMTU4NDggNzcuNzIzMSAxLjY1OTQzIDc2Ljg1OTkgMS4wNjQ4Wk02NS40MDQ1IDEuODEzNzlDNjUuODgxOCAxLjQ0NDU4IDY3LjU2NDUgMS4yNTcxOSA3MC40MDY3IDEuMjU3MTlDNzIuODgxNiAxLjI1NzE5IDc0LjQ3MzEgMS40MTY5IDc1LjEzNjkgMS43MzE4Qzc1Ljc5MzEgMi4wNDMxMyA3Ni4xMjUyIDIuNzkwMjIgNzYuMTI1MiAzLjk1Mjk4TDc2LjEzODYgNC45NjM4N1Y1LjY2MTc2Qzc2LjEzODYgNy44NTIyOCA3NS44OTc1IDkuMTQ5NTYgNzUuNDIyMSA5LjUxNzQ2Qzc0Ljk0NDggOS44ODY5IDczLjI1NzQgMTAuMDczOSA3MC40MDY3IDEwLjA3MzlDNjcuNTY0NSAxMC4wNzM5IDY1Ljg4MTYgOS44ODcwMiA2NS40MDQ1IDkuNTE3NDZDNjQuOTI5MiA5LjE0OTQ0IDY0LjY4ODEgNy44NTIxNiA2NC42ODgxIDUuNjYxNzZDNjQuNjg4MSAzLjQ3NjM1IDY0LjkyOTIgMi4xODE2OSA2NS40MDQ1IDEuODEzNzlaIiBmaWxsPSIjMjU0NzdCIi8+CjxwYXRoIGQ9Ik05Mi44NDYzIDAuMjgyNDRINzguOTgyNFYxLjQ2OTQ0SDg0Ljg4MzVWMTEuMDQ5OEg4Ni45OTg2VjEuNDY5NDRIOTIuODQ2M1YwLjI4MjQ0WiIgZmlsbD0iIzI1NDc3QiIvPgo8cGF0aCBkPSJNMTAwLjMxOCAwLjI4MjQ0SDk3LjQxMTVMOTAuNzQwMiAxMS4wNDk4SDkyLjk4NTRMOTQuMzc3NCA4Ljc4NDE3SDEwMy40OThMMTA0LjkwMyAxMS4wNDk4SDEwNy4xMjJMMTAwLjMyOSAwLjI5OTA3NkwxMDAuMzE4IDAuMjgyNDRaTTEwMi44NjEgNy44MDg4MUg5NS4wMDFMOTguOTA0OCAxLjM3MTE3TDEwMi44NjEgNy44MDg4MVoiIGZpbGw9IiMyNTQ3N0IiLz4KPHBhdGggZD0iTTEyMC4yMDcgNS40MDM2OEMxMjEuNjkxIDUuMDczOTMgMTIyLjQ0MiA0LjMxNDYgMTIyLjQ0MiAzLjE0NTU0QzEyMi40NDIgMS45NzI5MiAxMjIuMDkxIDEuMTkyOTIgMTIxLjM5NyAwLjgyNzc1NEMxMjAuNzA5IDAuNDY1Nzk2IDExOS4yMzcgMC4yODI0NCAxMTcuMDIyIDAuMjgyNDRIMTA4Ljk3N1YxMS4wNDk4SDExNy44ODRDMTE5Ljc1NyAxMS4wNDk4IDEyMS4wOTEgMTAuODE1OCAxMjEuODUgMTAuMzU0MkMxMjIuNjEzIDkuODkwMDEgMTIzIDkuMDc2MzggMTIzIDcuOTM1ODRDMTIzIDYuNTQ2MzYgMTIyLjA2IDUuNjk0ODIgMTIwLjIwNyA1LjQwMzY4Wk0xMTkuNzA0IDQuNjI5NUMxMTkuMjIgNC44NjYzMyAxMTguMTE4IDQuOTg2MjMgMTE2LjQyNiA0Ljk4NjIzSDExMS4wOTJWMS4zNjc0OEgxMTYuOTgzQzExOC40MjggMS4zNjc0OCAxMTkuMzc1IDEuNDczIDExOS43OTYgMS42ODA5NkMxMjAuMjExIDEuODg1NTggMTIwLjQyIDIuMzQ2NTMgMTIwLjQyIDMuMDUxNTVDMTIwLjQyIDMuODY1NjYgMTIwLjE4IDQuMzk2NTkgMTE5LjcwNCA0LjYyOTVaTTExMS4wOTIgNi4wNzEyN0gxMTYuMzJDMTE4LjQ2MSA2LjA3MTI3IDExOS43ODkgNi4xNzk3NiAxMjAuMjY5IDYuMzkzM0MxMjAuNzM5IDYuNjAzMzkgMTIwLjk3OCA3LjE4NTU1IDEyMC45NzggOC4xMjM3MUMxMjAuOTc4IDguODc1NDMgMTIwLjc0MSA5LjM3MzgxIDEyMC4yNzQgOS42MDM5OUMxMTkuOCA5LjgzODIgMTE4Ljc3NyA5Ljk1NzAzIDExNy4yMzUgOS45NTcwM0wxMTUuMzkxIDkuOTY0NTJIMTExLjA5MlY2LjA3MTI3WiIgZmlsbD0iIzI1NDc3QiIvPgo8cGF0aCBkPSJNMCAwLjI3NzM1MUgyLjk4NzI1VjEuNTE1OEMzLjQ5ODA3IDEuMDA3MjEgNC4wNjYzOCAwLjYyNzU0NCA0LjY4OTk1IDAuMzc2NDU1QzUuMzE0NyAwLjEyNTYwNCA1Ljk5NDg0IDAgNi43MzI3MiAwQzcuNDc2OTEgMCA4LjE0ODc4IDAuMTY1MjkzIDguNzQ3MTQgMC40OTUyODZDOS4zNDYxNyAwLjgyNTUxNiA5LjgyNzg2IDEuMzA3ODUgMTAuMTkzMyAxLjk0MTgxQzEwLjY2NzcgMS4zMDc4NSAxMS4yNDk2IDAuODI1NTE2IDExLjkzOTggMC40OTUyODZDMTIuNjMgMC4xNjUyOTMgMTMuMzgzNSAwIDE0LjIwMTQgMEMxNS4wNDc1IDAgMTUuNzkyNiAwLjE3ODI0NiAxNi40MzQ2IDAuNTM0OTc1QzE3LjA3NzYgMC44OTE3MDQgMTcuNTM5IDEuMzU3MjggMTcuODIwNyAxLjkzMjA3QzE4LjEwMTggMi41MDY2MSAxOC4yNDIgMy40NDEyMSAxOC4yNDIgNC43MzU3NVYxMS4wNTY1SDE1LjIzMjZWNS41ODc4OUMxNS4yMzI2IDQuMzY1OTUgMTUuMDY0OSAzLjUzODU0IDE0LjcyOTIgMy4xMDYxMUMxNC4zOTM4IDIuNjczMzMgMTMuODkwMyAyLjQ1NzE4IDEzLjIxOTEgMi40NTcxOEMxMi43MDg1IDIuNDU3MTggMTIuMjUwOSAyLjU4OTIgMTEuODQ1NyAyLjg1MzI0QzExLjQ0MSAzLjExNzUyIDExLjE0IDMuNDgyMzMgMTAuOTQzIDMuOTQ4MDNDMTAuNzQ2MSA0LjQxMzcyIDEwLjY0NzYgNS4xNjE2NCAxMC42NDc2IDYuMTkxOVYxMS4wNTY0SDcuNjM4MjJWNS44MzU1M0M3LjYzODIyIDQuODcxMjIgNy41NTk5OSA0LjE3MjczIDcuNDAyMSAzLjc0MDE5QzcuMjQ1MTIgMy4zMDc0MSA3LjAwOSAyLjk4NTUgNi42OTUzMiAyLjc3NDFDNi4zODA3MSAyLjU2MjU4IDYuMDAwNzQgMi40NTcxOCA1LjU1NDM2IDIuNDU3MThDNS4wNTY2NiAyLjQ1NzE4IDQuNjA1MDMgMi41OTA4NiA0LjE5OTQ3IDIuODU4MzVDMy43OTMzOCAzLjEyNTk2IDMuNDg5OTMgMy41MDA1MSAzLjI4OTI1IDMuOTgyODRDMy4wODc2NSA0LjQ2NDk0IDIuOTg3MjUgNS4yMjQ1IDIuOTg3MjUgNi4yNjE2NlYxMS4wNTY1SDBWMC4yNzczNTFaIiBmaWxsPSIjMDA3OEQzIi8+CjxwYXRoIGQ9Ik0xOC44MTg0IDAuMjc3MzY3SDIxLjg3MTJMMjQuOTYzOSA3LjA0MDg1TDI4LjM3NjkgMC4yNzczNjdIMzEuNDM4M0wyMy45ODE2IDE1SDIwLjg5NjZMMjMuMzQ0IDEwLjI1MjdMMTguODE4NCAwLjI3NzM2N1oiIGZpbGw9IiMwMDc4RDMiLz4KPC9zdmc+Cg==";
|
|
3
4
|
export const navHeaderImageCollapsed = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzOCIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDM4IDEzIiBmaWxsPSJub25lIj4KPHBhdGggZD0iTTE1LjE5OTcgMC4yMjU0NTdIMTcuNjAyOEwyMC4wMzczIDYuMDk0TDIyLjcyNCAwLjIyNTQ1N0gyNS4xMzM5TDE5LjI2NDEgMTNIMTYuODM1NkwxOC43NjIyIDguODgwODhMMTUuMTk5NyAwLjIyNTQ1N1oiIGZpbGw9IiMwMDc4RDMiLz4KPHBhdGggZD0iTTAuMzg2NzE5IDAuMjQwNjUySDIuNzM4MjVWMS4zMTUyM0MzLjE0MDM2IDAuODczOTM1IDMuNTg3NzMgMC41NDQ1MDggNC4wNzg2IDAuMzI2NjQzQzQuNTcwMzkgMC4xMDg5ODQgNS4xMDU3OSAwIDUuNjg2NjUgMEM2LjI3MjQ2IDAgNi44MDEzNSAwLjE0MzQyMiA3LjI3MjM4IDAuNDI5NzVDNy43NDM5MiAwLjcxNjI4NCA4LjEyMzEgMS4xMzQ4IDguNDEwNzQgMS42ODQ4N0M4Ljc4NDI0IDEuMTM0OCA5LjI0MjI1IDAuNzE2Mjg0IDkuNzg1NiAwLjQyOTc1QzEwLjMyODkgMC4xNDM0MjIgMTAuOTIyMSAwIDExLjU2NTkgMEMxMi4yMzIgMCAxMi44MTg1IDAuMTU0NjYgMTMuMzIzOCAwLjQ2NDE4OEMxMy44MyAwLjc3MzcxNSAxNC4xOTMzIDEuMTc3NjkgMTQuNDE1IDEuNjc2NDJDMTQuNjM2MyAyLjE3NDk0IDE0Ljc0NjYgMi45ODU4NyAxNC43NDY2IDQuMTA5MTJWOS41OTM0OEgxMi4zNzc3VjQuODQ4NUMxMi4zNzc3IDMuNzg4MjUgMTIuMjQ1NiAzLjA3MDMyIDExLjk4MTQgMi42OTUxMUMxMS43MTczIDIuMzE5NiAxMS4zMjEgMi4xMzIwNSAxMC43OTI2IDIuMTMyMDVDMTAuMzkwNyAyLjEzMjA1IDEwLjAzMDUgMi4yNDY2IDkuNzExNTIgMi40NzU3QzkuMzkyOTkgMi43MDUwMSA5LjE1NTk4IDMuMDIxNTUgOS4wMDA4OSAzLjQyNTYzQzguODQ1OTIgMy44Mjk3IDguNzY4NDMgNC40Nzg2NiA4Ljc2ODQzIDUuMzcyNTlWOS41OTMzOEg2LjM5OTQ0VjUuMDYzMzhDNi4zOTk0NCA0LjIyNjY2IDYuMzM3ODYgMy42MjA2IDYuMjEzNTcgMy4yNDUyOUM2LjA5IDIuODY5NzggNS45MDQxMyAyLjU5MDQ2IDUuNjU3MiAyLjQwNzAzQzUuNDA5NTQgMi4yMjM1IDUuMTEwNDQgMi4xMzIwNSA0Ljc1OTA1IDIuMTMyMDVDNC4zNjcyNyAyLjEzMjA1IDQuMDExNzUgMi4yNDgwNCAzLjY5MjUgMi40ODAxNEMzLjM3MjgzIDIuNzEyMzMgMy4xMzM5NiAzLjAzNzMzIDIuOTc1OTggMy40NTU4NEMyLjgxNzI5IDMuODc0MTQgMi43MzgyNSA0LjUzMzIgMi43MzgyNSA1LjQzMzEyVjkuNTkzNDhIMC4zODY3MTlWMC4yNDA2NTJaIiBmaWxsPSIjMDA3OEQzIi8+CjxwYXRoIGQ9Ik0zNy41Njg1IDQuODc0NjhIMzEuNDA3N1Y1LjgxNjI2SDM1Ljk0MjlDMzUuOTk1MiA2LjA5NTM3IDM2LjAyMTYgNi4yNzgwNyAzNi4wMjE2IDYuMzU5MTJDMzYuMDIxNiA3LjQxODQ0IDM1LjgyMDYgOC4wODA5IDM1LjQyNDMgOC4zMjc5NEMzNS4wMjQgOC41Nzc5OCAzMy45NTYyIDguNzA0NDkgMzIuMjUwNiA4LjcwNDQ5QzMwLjAxNzcgOC43MDQ0OSAyOC42MjYgOC41NzA2NiAyOC4xMTQ0IDguMzA2MzlDMjcuNjA4NiA4LjA0NTUzIDI3LjM1MjMgNy4zMjg3MyAyNy4zNTIzIDYuMTc1MjhMMjcuMzQxOSA0Ljg0OTQyTDI3LjM2MjcgMy42MTc4MUMyNy4zNjI3IDIuNDgxODggMjcuNTkzNSAxLjc2MzQzIDI4LjA0ODUgMS40ODIyNkMyOC41MDc5IDEuMTk4NDEgMjkuNjc1OSAxLjA1NDQ3IDMxLjUyIDEuMDU0NDdDMzMuNTE4MSAxLjA1NDQ3IDM0Ljc3MDIgMS4xNDQzOCAzNS4yNDE3IDEuMzIxMzFDMzUuNzAzOCAxLjQ5NTE1IDM1LjkzODEgMS45NTg4MiAzNS45MzgxIDIuNjk5MzNWMi45NTkxNkgzNy41NzE3VjIuNTc2ODRDMzcuNTcxNyAxLjUzOTU5IDM3LjIxMSAwLjg2MTI0NiAzNi40OTk5IDAuNTYwNjlDMzUuNzk2MyAwLjI2MzUzNSAzNC4yMTU2IDAuMTEyNzkzIDMxLjgwMTcgMC4xMTI3OTNDMjkuMzkzMiAwLjExMjc5MyAyNy43Njc3IDAuMzQyOTI4IDI2Ljk3IDAuNzk2NzAxQzI2LjE2NzQgMS4yNTM3NyAyNS43NjA0IDIuMTg0NDIgMjUuNzYwNCAzLjU2Mjc1TDI1Ljc1IDQuMzg2MzdMMjUuNzYwNCA1Ljc1MzY3QzI1Ljc2MDQgNy4zOTMzOCAyNi4xMjY1IDguNDY0NDYgMjYuODQ4NSA4LjkzNzQxQzI3LjU2NjYgOS40MDc0NyAyOS4yMDE0IDkuNjQ1OTYgMzEuNzA3OCA5LjY0NTk2QzM0LjM1OTIgOS42NDU5NiAzNi4wMjM3IDkuNDQ0NDkgMzYuNjU1MyA5LjA0NjZDMzcuMjkxIDguNjQ2MDMgMzcuNjEzMyA3LjU5Mjg5IDM3LjYxMzMgNS45MTY5OUMzNy42MTMzIDUuNDg0MDUgMzcuNTk5MyA1LjE0MTk0IDM3LjU3MTMgNC45MDAwNUwzNy41Njg1IDQuODc0NjhaIiBmaWxsPSIjMjU0NzdCIi8+Cjwvc3ZnPg==";
|
|
4
5
|
// Detect if scrollbar is overlay by checking if it takes up space
|
|
5
6
|
export const detectOverlayScrollbar = () => {
|
|
6
|
-
|
|
7
|
+
var _a, _b, _c, _d;
|
|
8
|
+
const outer = (_a = zen.document) === null || _a === void 0 ? void 0 : _a.createElement("div");
|
|
9
|
+
if (!outer) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
7
12
|
outer.style.visibility = "hidden";
|
|
8
13
|
outer.style.overflow = "scroll";
|
|
9
14
|
outer.style.width = "100px";
|
|
10
15
|
outer.style.position = "absolute";
|
|
11
|
-
document.body.appendChild(outer);
|
|
12
|
-
const inner = document.createElement("div");
|
|
16
|
+
(_b = zen.document) === null || _b === void 0 ? void 0 : _b.body.appendChild(outer);
|
|
17
|
+
const inner = (_c = zen.document) === null || _c === void 0 ? void 0 : _c.createElement("div");
|
|
18
|
+
if (!inner) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
13
21
|
inner.style.width = "100%";
|
|
14
22
|
outer.appendChild(inner);
|
|
15
23
|
const scrollbarWidth = outer.offsetWidth - inner.offsetWidth;
|
|
16
|
-
document.body.removeChild(outer);
|
|
24
|
+
(_d = zen.document) === null || _d === void 0 ? void 0 : _d.body.removeChild(outer);
|
|
17
25
|
// If scrollbarWidth is 0, the scrollbar is overlay (doesn't take space)
|
|
18
26
|
return scrollbarWidth === 0;
|
|
19
27
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./pageHeader.less";
|
|
2
2
|
import { IZenComponentProps } from "../commonHelpers/zenComponent";
|
|
3
|
-
import { ReactElement } from "react";
|
|
3
|
+
import React, { ReactElement } from "react";
|
|
4
4
|
import { IPageHeaderFilters } from "./pageHeaderFilters";
|
|
5
5
|
import { IPageHeaderActions } from "./pageHeaderActions";
|
|
6
6
|
export interface IPageHeader extends IZenComponentProps {
|
|
@@ -12,5 +12,5 @@ interface IPageHeaderComponents {
|
|
|
12
12
|
}
|
|
13
13
|
export declare const PageHeaderDisplayName = "PageHeader";
|
|
14
14
|
export declare const PageHeaderInner: React.FC<IPageHeader>;
|
|
15
|
-
export declare const PageHeader:
|
|
15
|
+
export declare const PageHeader: React.FC<IPageHeader> & IPageHeaderComponents;
|
|
16
16
|
export {};
|
|
@@ -5,11 +5,13 @@ import { regulatePageHeaderChildren } from "./pageHeaderHelpers";
|
|
|
5
5
|
import { PageHeaderFilters } from "./pageHeaderFilters";
|
|
6
6
|
import { PageHeaderActions } from "./pageHeaderActions";
|
|
7
7
|
import { HeaderCustomContent } from "../header/components/collapsedItemsControl/collapsedItemsControl";
|
|
8
|
+
import { useMobileClassName } from "../utils/theme/useMobileClassName";
|
|
8
9
|
export const PageHeaderDisplayName = "PageHeader";
|
|
9
10
|
export const PageHeaderInner = ({ className, children }) => {
|
|
10
11
|
const [filters, actions] = useMemo(() => regulatePageHeaderChildren(children), [children]);
|
|
12
|
+
const pageHeaderMobileClassName = useMobileClassName("zen-page-header-component");
|
|
11
13
|
const [content, setContent] = useState(null);
|
|
12
|
-
return _jsx("div", { className: classNames(["zen-page-header-component", className || ""]), children: _jsxs(HeaderCustomContent.Provider, { value: { content, setContent }, children: [filters.length > 0 ? filters : _jsx(PageHeaderFilters, { className: "zen-page-header-component__filters--empty" }), actions] }) });
|
|
14
|
+
return (_jsx("div", { className: classNames(["zen-page-header-component", pageHeaderMobileClassName || "", className || ""]), children: _jsxs(HeaderCustomContent.Provider, { value: { content, setContent }, children: [filters.length > 0 ? filters : _jsx(PageHeaderFilters, { className: "zen-page-header-component__filters--empty" }), actions] }) }));
|
|
13
15
|
};
|
|
14
16
|
export const PageHeader = memo(PageHeaderInner);
|
|
15
17
|
PageHeader.Filters = PageHeaderFilters;
|
|
@@ -2,27 +2,34 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Children, useMemo } from "react";
|
|
3
3
|
import { classNames } from "../commonHelpers/classNames/classNames";
|
|
4
4
|
import { isNamedChildComponent } from "../header/headerHelpers";
|
|
5
|
+
import { useMobile } from "../commonHelpers/hooks/useMobile";
|
|
5
6
|
import React from "react";
|
|
6
7
|
import { PageToolbarCollapsedItemsControl } from "../header/components/collapsedItemsControl/collapsedItemsControl";
|
|
7
8
|
import { PageHeaderButtonDisplayName } from "./pageHeaderButton";
|
|
8
9
|
import { PageHeaderMenuDisplayName } from "./pageHeaderMenu";
|
|
9
10
|
import { getItemsFromFragments } from "./pageHeaderHelpers";
|
|
11
|
+
import { usePortal } from "../commonHelpers/hooks/usePortal";
|
|
10
12
|
export const PageHeaderActions = ({ className = "", children }) => {
|
|
13
|
+
const isMobile = useMobile();
|
|
11
14
|
const childrenArray = useMemo(() => getItemsFromFragments(
|
|
12
15
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
13
16
|
Children.toArray(children).filter((child) => child !== null && child !== undefined && React.isValidElement(child))), [children]);
|
|
14
17
|
const nonFittingElements = useMemo(() => childrenArray.slice(2, childrenArray.length), [childrenArray]);
|
|
15
18
|
const fittingElements = useMemo(() => childrenArray.slice(0, 2).map(el => {
|
|
16
19
|
if (isNamedChildComponent(el, PageHeaderButtonDisplayName)) {
|
|
17
|
-
return React.cloneElement(el, { key: el.props.id,
|
|
18
|
-
children: undefined
|
|
19
|
-
});
|
|
20
|
+
return React.cloneElement(el, { key: el.props.id, children: undefined });
|
|
20
21
|
}
|
|
21
22
|
if (isNamedChildComponent(el, PageHeaderMenuDisplayName)) {
|
|
22
23
|
return React.cloneElement(el, { key: el.props.id, onlyIcon: true });
|
|
23
24
|
}
|
|
24
25
|
return el;
|
|
25
26
|
}), [childrenArray]);
|
|
26
|
-
const moreButton = useMemo(() => _jsx(PageToolbarCollapsedItemsControl, { className: "zen-page-header-component__actions-more", children: nonFittingElements }, "page-header-more-actions-key"), [nonFittingElements]);
|
|
27
|
-
|
|
27
|
+
const moreButton = useMemo(() => (_jsx(PageToolbarCollapsedItemsControl, { className: "zen-page-header-component__actions-more", children: nonFittingElements }, "page-header-more-actions-key")), [nonFittingElements]);
|
|
28
|
+
const actionsContent = childrenArray.length ? (_jsxs("div", { className: classNames(["zen-page-header-component__actions", isMobile ? "zen-page-header-component__actions--mobile-portal" : "", className]), children: [nonFittingElements.length > 0 ? moreButton : null, fittingElements] })) : null;
|
|
29
|
+
const portal = usePortal(actionsContent);
|
|
30
|
+
// For mobile, render actions in a portal at the bottom center of viewport
|
|
31
|
+
if (isMobile && actionsContent) {
|
|
32
|
+
return portal;
|
|
33
|
+
}
|
|
34
|
+
return actionsContent;
|
|
28
35
|
};
|