@geotab/zenith 3.11.1 → 3.12.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -0
- package/dist/absolute/absolute.d.ts +21 -1
- package/dist/absolute/absolute.js +46 -6
- package/dist/advancedGroupsFilter/advancedGroupsFilter.js +3 -3
- package/dist/advancedGroupsFilter/advancedGroupsFilterForm.js +2 -2
- package/dist/advancedGroupsFilter/advancedGroupsFilterFormSection.js +7 -7
- package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +1 -1
- package/dist/alert/banner.d.ts +3 -1
- package/dist/alertRaw/alertRaw.js +1 -1
- package/dist/banner/banner.d.ts +5 -2
- package/dist/banner/banner.js +13 -2
- package/dist/banner/bannerErrorSummary.d.ts +7 -0
- package/dist/banner/bannerErrorSummary.js +8 -0
- package/dist/banner/bannerMultipLine.js +1 -1
- package/dist/banner/bannerSingleLine.js +1 -1
- package/dist/banner/utils/buildSummaryErrorList.d.ts +1 -0
- package/dist/banner/utils/buildSummaryErrorList.js +16 -0
- package/dist/banner/utils/hasSummaryErrorChild.d.ts +1 -0
- package/dist/banner/utils/hasSummaryErrorChild.js +7 -0
- package/dist/banner/utils/isSummaryErrorBanner.d.ts +2 -0
- package/dist/banner/utils/isSummaryErrorBanner.js +6 -0
- package/dist/banner/utils/isSummaryErrorElement.d.ts +3 -0
- package/dist/banner/utils/isSummaryErrorElement.js +7 -0
- package/dist/banner/utils/useSummaryBannerProp.d.ts +6 -0
- package/dist/banner/utils/useSummaryBannerProp.js +34 -0
- package/dist/betaPill/betaPill.js +4 -4
- package/dist/bookmark/bookmark.js +2 -2
- package/dist/bulkEditControl/bulkEditControl.js +5 -5
- package/dist/calendar/calendar.js +37 -34
- package/dist/calendar/calendarUtils.js +6 -4
- package/dist/card/card.js +1 -1
- package/dist/card/components/title.js +4 -1
- package/dist/card/components/titleLink.js +5 -2
- package/dist/chart/accessibleChart/accessibleChartNarrative.js +13 -13
- package/dist/chart/accessibleChart/accessibleChartTable.js +5 -5
- package/dist/chart/barChart/getDefaultOptions.d.ts +2 -1
- package/dist/chart/barChart/getDefaultOptions.js +5 -2
- package/dist/chart/barChart.js +6 -4
- package/dist/chart/chart.js +1 -1
- package/dist/chart/chartAxis/chartAxis.js +2 -2
- package/dist/chart/lineChart/getDefaultOptions.d.ts +4 -1
- package/dist/chart/lineChart/getDefaultOptions.js +7 -2
- package/dist/chart/lineChart.js +7 -3
- package/dist/chart/plugins/linePlugin/linePlugin.js +5 -4
- package/dist/chart/utils/getXAxisMeta.js +8 -5
- package/dist/chart/utils/isDateRange.js +1 -1
- package/dist/chart/utils/useHidden.d.ts +1 -0
- package/dist/chart/utils/useHidden.js +1 -1
- package/dist/chart/utils/useLastVisibleXAxisMeta.d.ts +2 -0
- package/dist/chart/utils/useLastVisibleXAxisMeta.js +15 -0
- package/dist/checkboxListWithAction/checkboxListWithAction.js +8 -5
- package/dist/chip/chip.js +1 -1
- package/dist/columnsSelector/columnsSelector.js +2 -2
- package/dist/columnsSelector/columnsTab/columnsTab.js +1 -1
- package/dist/columnsSelector/columnsTabGroup/columnsTabGroup.js +1 -1
- package/dist/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.js +4 -1
- package/dist/commonStyles/columnsList.less +59 -0
- package/dist/commonStyles/link/link.less +1 -1
- package/dist/commonStyles/pillStyles/pillContent.less +14 -15
- package/dist/commonStyles/pillStyles/pillStyles.less +4 -5
- package/dist/commonStyles/pillStyles/pillTextContent.less +2 -2
- package/dist/commonStyles/pillStyles/pillTypes.less +1 -1
- package/dist/commonStyles/popupMixin.less +1 -1
- package/dist/commonStyles/selectButton.less +1 -1
- package/dist/commonStyles/typography/typography.less +545 -19
- package/dist/controlledPopup/controlledPopup.d.ts +1 -0
- package/dist/controlledPopup/controlledPopup.js +3 -1
- package/dist/dataFeed/feedExpandControl/feedExpandControl.js +5 -0
- package/dist/dataGrid/cell/cell.d.ts +2 -1
- package/dist/dataGrid/cell/cell.js +2 -2
- package/dist/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +1 -1
- package/dist/dataGrid/dataGrid.js +8 -5
- package/dist/dataGrid/emptySearchList/emptySearchList.js +1 -1
- package/dist/dataGrid/entitiesListActions/actions/columnsListButton.js +1 -1
- package/dist/dataGrid/entitiesListActions/actions/fullscreenButton.js +2 -2
- package/dist/dataGrid/listColumn.d.ts +2 -0
- package/dist/dataGrid/row/row.d.ts +2 -1
- package/dist/dataGrid/row/row.js +13 -9
- package/dist/dataGrid/withFlexibleColumns/components/columnSettings.js +2 -2
- package/dist/dataGrid/withFlexibleColumns/components/columnSettingsList.d.ts +1 -1
- package/dist/dataGrid/withFlexibleColumns/components/columnSettingsList.js +45 -116
- package/dist/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +4 -0
- package/dist/dataGrid/withFlexibleColumns/withFlexibleColumns.js +1 -1
- package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.d.ts +4 -0
- package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +5 -5
- package/dist/dataGrid/withSelectableRows/withSelectableRows.js +4 -3
- package/dist/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +2 -2
- package/dist/dateInputInner/dateInputInner.js +7 -7
- package/dist/dateInputInner/dateInputInnerControlBlock.js +2 -2
- package/dist/dateInputRaw/dateInputRaw.js +4 -4
- package/dist/dateInputRaw/utils/getLabel.js +2 -2
- package/dist/dateRangeInner/dateRangeInner.js +6 -3
- package/dist/dateRangeRaw/dateRangeRaw.d.ts +1 -0
- package/dist/dateRangeRaw/dateRangeRaw.js +21 -15
- package/dist/dateRangeRaw/types.d.ts +1 -0
- package/dist/dateRangeRaw/utils/dateRangeUtils.js +17 -17
- package/dist/dateRangeRaw/utils/parseLabel.js +1 -1
- package/dist/dateSelectionWrapper/dateSelectionWrapper.js +4 -4
- package/dist/dialog/dialogContent.js +1 -1
- package/dist/dropdown/dropdownTrigger.d.ts +1 -1
- package/dist/dropdownRaw/dropdownList.js +9 -9
- package/dist/dropdownRaw/dropdownPopup.js +3 -3
- package/dist/dropdownRaw/dropdownRaw.js +34 -17
- package/dist/dropdownRaw/dropdownSearchableTrigger.d.ts +2 -1
- package/dist/dropdownRaw/dropdownSearchableTrigger.js +8 -6
- package/dist/dropdownRaw/dropdownTrigger.d.ts +2 -1
- package/dist/dropdownRaw/dropdownTrigger.js +2 -2
- package/dist/dropdownRaw/types.d.ts +2 -0
- package/dist/favoriteButton/favoriteButton.js +1 -1
- package/dist/fileUpload/components/dropZoneContent.js +104 -104
- package/dist/fileUpload/components/templateDownloadSection.js +1 -1
- package/dist/fileUpload/components/uploadedFilesSection.js +2 -2
- package/dist/fileUpload/fileUpload.js +106 -106
- package/dist/filterButton/filterButton.d.ts +1 -0
- package/dist/filters/components/filtersContainer.js +2 -2
- package/dist/filters/components/filtersDropdown.d.ts +1 -1
- package/dist/filters/components/filtersEmptyState.js +2 -2
- package/dist/filters/components/filtersSaveModal.js +5 -5
- package/dist/filters/components/filtersSavedChipComponent.js +11 -11
- package/dist/filters/components/filtersSearchItemData.js +1 -1
- package/dist/filters/components/filtersSearchList.js +14 -11
- package/dist/filters/components/filtersSelect.js +1 -1
- package/dist/filters/components/filtersSelectListItem.js +2 -2
- package/dist/filters/components/filtersSidePanel.js +8 -8
- package/dist/filters/filters.js +7 -7
- package/dist/filtersBar/components/filtersBarGroupsFilter/filtersBarGroupsFilter.d.ts +1 -1
- package/dist/filtersBar/components/filtersBarPeriodPicker/filtersBarPeriodPicker.d.ts +1 -0
- package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +18 -18
- package/dist/filtersBar/components/resetComponentButton.js +1 -1
- package/dist/filtersBar/filtersBarActions/filtersBarActions.js +3 -3
- package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +2 -2
- package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +5 -5
- package/dist/filtersBar/filtersContainer/filtersContainer.js +62 -61
- package/dist/formField/hooks/useError.js +3 -3
- package/dist/formField/hooks/useFormFieldProps.d.ts +1 -1
- package/dist/formField/hooks/useFormFieldProps.js +4 -2
- package/dist/formGroup/components/reviewListToggle/reviewListToggle.js +2 -2
- package/dist/formGroup/hooks/useCustomRow.js +46 -32
- package/dist/formGroup/hooks/useRowElements.js +9 -6
- package/dist/formGroup/hooks/useToggle.js +1 -1
- package/dist/formGroup/types.d.ts +4 -0
- package/dist/formGroup/utils/normalizeFieldId.d.ts +1 -0
- package/dist/formGroup/utils/normalizeFieldId.js +5 -0
- package/dist/formGroup/utils/resolveId.d.ts +7 -0
- package/dist/formGroup/utils/resolveId.js +6 -0
- package/dist/formLayout/components/getLayoutColumns.js +4 -2
- package/dist/formLayout/hooks/useError.js +3 -3
- package/dist/formLayout/hooks/useErrorSummary.d.ts +6 -0
- package/dist/formLayout/hooks/useErrorSummary.js +34 -0
- package/dist/formLayout/hooks/useFormButtons.js +3 -3
- package/dist/formLayout/utils/applyGridPropsStatic.js +1 -1
- package/dist/formLayout/utils/flattenErrors.d.ts +5 -0
- package/dist/formLayout/utils/flattenErrors.js +14 -0
- package/dist/formLayout/utils/getChildrenWithCustomColumns.js +3 -0
- package/dist/formLayout/utils/getFieldLabel.d.ts +1 -0
- package/dist/formLayout/utils/getFieldLabel.js +26 -0
- package/dist/formSection/hooks/useError.js +3 -3
- package/dist/formStepper/components/formStep.js +1 -1
- package/dist/formStepper/formStepper.js +2 -2
- package/dist/formStepperButtons/formStepperButtons.js +8 -5
- package/dist/gridLayout/hooks/useGridClasses.js +3 -9
- package/dist/groupButtonRaw/groupButtonRaw.js +2 -2
- package/dist/groupButtonRaw/types.d.ts +1 -0
- package/dist/groupsFilterRaw/groupsFilterAdjustmentState.js +8 -5
- package/dist/groupsFilterRaw/groupsFilterBox.js +3 -3
- package/dist/groupsFilterRaw/groupsFilterCommon.js +2 -2
- package/dist/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +5 -5
- package/dist/groupsFilterRaw/groupsFilterHelper.js +2 -2
- package/dist/groupsFilterRaw/groupsFilterInitialState.js +12 -9
- package/dist/groupsFilterRaw/groupsFilterMenu.js +3 -3
- package/dist/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
- package/dist/groupsFilterRaw/groupsFilterRaw.js +15 -10
- package/dist/groupsFilterRaw/groupsFilterTrigger.d.ts +2 -1
- package/dist/groupsFilterRaw/groupsFilterTrigger.js +8 -5
- package/dist/groupsFilterRaw/groupsHelper.js +22 -22
- package/dist/groupsFilterRaw/types.d.ts +2 -0
- package/dist/header/components/collapsedItemsControl/collapsedItemsControl.js +1 -1
- package/dist/header/components/mobileFilterControl/mobileFilterControl.js +1 -1
- package/dist/header/components/mobileSearchControl/mobileSearchControl.js +3 -3
- package/dist/header/header.js +1 -1
- package/dist/header/headerBack.js +5 -2
- package/dist/header/headerHelpers.d.ts +1 -0
- package/dist/header/headerHelpers.js +10 -1
- package/dist/header/hooks/useNonFittingElements.js +1 -1
- package/dist/icons/iconAlignLeft.js +1 -3
- package/dist/icons/iconAlignmentLeft.js +1 -3
- package/dist/icons/iconAlignmentRight.js +1 -3
- package/dist/icons/iconArrowBottomLeft.js +1 -3
- package/dist/icons/iconArrowBottomRight.js +1 -3
- package/dist/icons/iconArrowLeftPath.js +1 -3
- package/dist/icons/iconArrowRight.js +1 -3
- package/dist/icons/iconArrowRightCircle.js +1 -3
- package/dist/icons/iconArrowRightPath.js +1 -3
- package/dist/icons/iconArrowTopLeft.js +1 -3
- package/dist/icons/iconArrowTopRight.js +1 -3
- package/dist/icons/iconChevronDoubleRight.js +1 -3
- package/dist/icons/iconChevronRight.js +1 -3
- package/dist/icons/iconChevronRightSmall.js +1 -3
- package/dist/icons/iconCornerDownLeft.js +1 -3
- package/dist/icons/iconCornerDownRight.js +1 -3
- package/dist/icons/iconCornerLeftDown.js +1 -3
- package/dist/icons/iconCornerLeftUp.js +1 -3
- package/dist/icons/iconCornerRightDown.js +1 -3
- package/dist/icons/iconCornerRightUp.js +1 -3
- package/dist/icons/iconCornerUpLeft.js +1 -3
- package/dist/icons/iconCornerUpRight.js +1 -3
- package/dist/index.css +3628 -3321
- package/dist/index.d.ts +1 -0
- package/dist/index.js +16 -14
- package/dist/lineChartMini/lineChartMini.js +15 -3
- package/dist/list/itemData/itemDataInternal.js +6 -3
- package/dist/list/listItem/listItem.js +6 -3
- package/dist/menu/components/controlledMenuList/controlledMenuList.js +4 -1
- package/dist/menu/components/menuButton.d.ts +2 -1
- package/dist/menu/components/menuButton.js +7 -4
- package/dist/menu/components/menuErrorItem.js +2 -2
- package/dist/menu/components/menuItem.js +4 -4
- package/dist/menu/utils/useMenuItemCore.js +4 -3
- package/dist/miniTabs/miniTabs.d.ts +1 -0
- package/dist/miniTabs/miniTabs.js +1 -1
- package/dist/miniTabs/miniTabsHeaderItem.d.ts +2 -1
- package/dist/miniTabs/miniTabsHeaderItem.js +1 -1
- package/dist/miniTabs/miniTabsItem.d.ts +1 -0
- package/dist/mobileSheet/mobileSheet.js +2 -2
- package/dist/modal/modal.js +1 -1
- package/dist/nav/navFooter/navEditFooter/navEditFooter.js +2 -2
- package/dist/nav/navFooter/navFooter.js +1 -1
- package/dist/nav/navFooter/navFooterAction/navFooterAction.js +1 -1
- package/dist/nav/navHeader/navHeader.js +2 -2
- package/dist/nav/navHeader/navHeaderSearch/navHeaderSearch.js +2 -2
- package/dist/nav/navItem/navItem.js +4 -1
- package/dist/nav/navMobileBar/navMobileBar.js +1 -1
- package/dist/notification/notification.js +1 -1
- package/dist/pagination/paginationArrow.js +12 -5
- package/dist/pagination/paginationText/paginationText.js +1 -1
- package/dist/pill/components/pillNonActionable/pillNonActionable.js +1 -1
- package/dist/pillBox/components/pillBoxItem.js +1 -1
- package/dist/pillBox/pillBox.js +3 -3
- package/dist/pillExpandable/pillContent.js +12 -3
- package/dist/pillExpandable/pillExpandable.d.ts +4 -1
- package/dist/pillExpandable/pillExpandable.js +5 -3
- package/dist/pillExpandable/pillExpandableSimple.d.ts +1 -1
- package/dist/pillExpandable/pillExpandableSimple.js +4 -4
- package/dist/radioGroupRaw/radioGroupRaw.js +2 -1
- package/dist/rangeRaw/rangeRaw.js +7 -8
- package/dist/rangeRaw/utils/rangeHelper.js +7 -7
- package/dist/searchInputRaw/searchInputRaw.js +6 -3
- package/dist/selectList/selectList.js +2 -2
- package/dist/selectList/selectListItem.js +4 -1
- package/dist/skeleton/skeleton.js +1 -1
- package/dist/sortControl/sortControl.js +6 -7
- package/dist/stepperRaw/stepperRaw.js +5 -0
- package/dist/summary/summary.js +2 -2
- package/dist/summaryTile/summaryTile.d.ts +4 -2
- package/dist/summaryTile/summaryTile.js +59 -26
- package/dist/summaryTileBar/summaryTileBar.d.ts +4 -2
- package/dist/summaryTileBar/summaryTileBar.js +2 -2
- package/dist/table/actions/actionsMenu.js +2 -2
- package/dist/table/children/useTableChildren.d.ts +1 -1
- package/dist/table/children/useTableChildren.js +3 -3
- package/dist/table/detailPanel/detailPanel.js +1 -1
- package/dist/table/detailPanel/detailPanelHeader.js +2 -2
- package/dist/table/flexible/columnSettings.js +2 -2
- package/dist/table/flexible/columnsList.js +47 -117
- package/dist/table/flexible/columnsPopup.d.ts +1 -1
- package/dist/table/flexible/columnsPopup.js +1 -1
- package/dist/table/nested/useNestedRows.js +2 -2
- package/dist/table/selectable/selectableHeader.js +5 -4
- package/dist/table/selectable/useSelectableRows.d.ts +8 -0
- package/dist/table/selectable/useSelectableRows.js +16 -8
- package/dist/table/sortable/mobileSortControl.js +1 -1
- package/dist/table/sortable/sortableHeader.js +2 -2
- package/dist/table/table.js +3 -9
- package/dist/tabs/tabItem/tabItem.d.ts +2 -1
- package/dist/tabs/tabItem/tabItem.js +7 -2
- package/dist/tabs/tabs.d.ts +2 -1
- package/dist/tabs/tabs.js +71 -61
- package/dist/tabs/tabsTestHelper.js +2 -2
- package/dist/timePickerRaw/timePickerRaw.js +11 -9
- package/dist/timePickerRaw/types.d.ts +1 -0
- package/dist/toastRaw/toastRaw.js +1 -1
- package/dist/toggleButtonRaw/toggleButtonRaw.js +7 -4
- package/dist/tooltip/tooltip.js +13 -5
- package/dist/utils/formatDate.js +37 -37
- package/dist/utils/localization/flipAlignment.js +12 -1
- package/dist/utils/localization/languageContext.d.ts +1 -1
- package/dist/utils/localization/translations/cs.json +7 -5
- package/dist/utils/localization/translations/da-DK.json +7 -5
- package/dist/utils/localization/translations/de.json +7 -5
- package/dist/utils/localization/translations/en.json +12 -1
- package/dist/utils/localization/translations/es.json +7 -5
- package/dist/utils/localization/translations/fi-FI.json +7 -5
- package/dist/utils/localization/translations/fr-FR.json +7 -5
- package/dist/utils/localization/translations/fr.json +7 -5
- package/dist/utils/localization/translations/hu-HU.json +7 -5
- package/dist/utils/localization/translations/id.json +7 -5
- package/dist/utils/localization/translations/it.json +7 -5
- package/dist/utils/localization/translations/ja.json +7 -5
- package/dist/utils/localization/translations/ko-KR.json +7 -5
- package/dist/utils/localization/translations/ms.json +7 -5
- package/dist/utils/localization/translations/nb-NO.json +7 -5
- package/dist/utils/localization/translations/nl.json +7 -5
- package/dist/utils/localization/translations/pl.json +7 -5
- package/dist/utils/localization/translations/pt-BR.json +7 -5
- package/dist/utils/localization/translations/pt-PT.json +7 -5
- package/dist/utils/localization/translations/ro-RO.json +7 -5
- package/dist/utils/localization/translations/sk-SK.json +7 -5
- package/dist/utils/localization/translations/sv.json +7 -5
- package/dist/utils/localization/translations/th.json +7 -5
- package/dist/utils/localization/translations/tr.json +7 -5
- package/dist/utils/localization/translations/zh-Hans.json +7 -5
- package/dist/utils/localization/translations/zh-TW.json +7 -5
- package/dist/utils/localization/useDirectionalIcon.d.ts +3 -0
- package/dist/utils/localization/useDirectionalIcon.js +9 -0
- package/dist/utils/positioningUtils/alignments.d.ts +2 -2
- package/dist/utils/positioningUtils/alignments.js +2 -2
- package/dist/utils/positioningUtils/calculatePosition.d.ts +2 -1
- package/dist/utils/positioningUtils/calculatePosition.js +11 -11
- package/dist/utils/positioningUtils/normalizeLogicalAlignment.d.ts +4 -0
- package/dist/utils/positioningUtils/normalizeLogicalAlignment.js +36 -0
- package/esm/absolute/absolute.d.ts +21 -1
- package/esm/absolute/absolute.js +46 -6
- package/esm/advancedGroupsFilter/advancedGroupsFilter.js +3 -3
- package/esm/advancedGroupsFilter/advancedGroupsFilterForm.js +2 -2
- package/esm/advancedGroupsFilter/advancedGroupsFilterFormSection.js +7 -7
- package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +1 -1
- package/esm/alert/banner.d.ts +3 -1
- package/esm/alertRaw/alertRaw.js +1 -1
- package/esm/banner/banner.d.ts +5 -2
- package/esm/banner/banner.js +13 -2
- package/esm/banner/bannerErrorSummary.d.ts +7 -0
- package/esm/banner/bannerErrorSummary.js +4 -0
- package/esm/banner/bannerMultipLine.js +1 -1
- package/esm/banner/bannerSingleLine.js +1 -1
- package/esm/banner/utils/buildSummaryErrorList.d.ts +1 -0
- package/esm/banner/utils/buildSummaryErrorList.js +12 -0
- package/esm/banner/utils/hasSummaryErrorChild.d.ts +1 -0
- package/esm/banner/utils/hasSummaryErrorChild.js +3 -0
- package/esm/banner/utils/isSummaryErrorBanner.d.ts +2 -0
- package/esm/banner/utils/isSummaryErrorBanner.js +2 -0
- package/esm/banner/utils/isSummaryErrorElement.d.ts +3 -0
- package/esm/banner/utils/isSummaryErrorElement.js +3 -0
- package/esm/banner/utils/useSummaryBannerProp.d.ts +6 -0
- package/esm/banner/utils/useSummaryBannerProp.js +25 -0
- package/esm/betaPill/betaPill.js +4 -4
- package/esm/bookmark/bookmark.js +2 -2
- package/esm/bulkEditControl/bulkEditControl.js +5 -5
- package/esm/calendar/calendar.js +37 -34
- package/esm/calendar/calendarUtils.js +6 -4
- package/esm/card/card.js +1 -1
- package/esm/card/components/title.js +4 -1
- package/esm/card/components/titleLink.js +5 -2
- package/esm/chart/accessibleChart/accessibleChartNarrative.js +13 -13
- package/esm/chart/accessibleChart/accessibleChartTable.js +5 -5
- package/esm/chart/barChart/getDefaultOptions.d.ts +2 -1
- package/esm/chart/barChart/getDefaultOptions.js +5 -2
- package/esm/chart/barChart.js +6 -4
- package/esm/chart/chart.js +1 -1
- package/esm/chart/chartAxis/chartAxis.js +2 -2
- package/esm/chart/lineChart/getDefaultOptions.d.ts +4 -1
- package/esm/chart/lineChart/getDefaultOptions.js +7 -2
- package/esm/chart/lineChart.js +7 -3
- package/esm/chart/plugins/linePlugin/linePlugin.js +5 -4
- package/esm/chart/utils/getXAxisMeta.js +8 -5
- package/esm/chart/utils/isDateRange.js +1 -1
- package/esm/chart/utils/useHidden.d.ts +1 -0
- package/esm/chart/utils/useHidden.js +1 -1
- package/esm/chart/utils/useLastVisibleXAxisMeta.d.ts +2 -0
- package/esm/chart/utils/useLastVisibleXAxisMeta.js +11 -0
- package/esm/checkboxListWithAction/checkboxListWithAction.js +8 -5
- package/esm/chip/chip.js +1 -1
- package/esm/columnsSelector/columnsSelector.js +2 -2
- package/esm/columnsSelector/columnsTab/columnsTab.js +1 -1
- package/esm/columnsSelector/columnsTabGroup/columnsTabGroup.js +1 -1
- package/esm/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.js +4 -1
- package/esm/controlledPopup/controlledPopup.d.ts +1 -0
- package/esm/controlledPopup/controlledPopup.js +3 -1
- package/esm/dataFeed/feedExpandControl/feedExpandControl.js +3 -0
- package/esm/dataGrid/cell/cell.d.ts +2 -1
- package/esm/dataGrid/cell/cell.js +2 -2
- package/esm/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +1 -1
- package/esm/dataGrid/dataGrid.js +8 -5
- package/esm/dataGrid/emptySearchList/emptySearchList.js +1 -1
- package/esm/dataGrid/entitiesListActions/actions/columnsListButton.js +1 -1
- package/esm/dataGrid/entitiesListActions/actions/fullscreenButton.js +2 -2
- package/esm/dataGrid/listColumn.d.ts +2 -0
- package/esm/dataGrid/row/row.d.ts +2 -1
- package/esm/dataGrid/row/row.js +13 -9
- package/esm/dataGrid/withFlexibleColumns/components/columnSettings.js +2 -2
- package/esm/dataGrid/withFlexibleColumns/components/columnSettingsList.d.ts +1 -1
- package/esm/dataGrid/withFlexibleColumns/components/columnSettingsList.js +44 -110
- package/esm/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +2 -0
- package/esm/dataGrid/withFlexibleColumns/withFlexibleColumns.js +1 -1
- package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.d.ts +4 -0
- package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +5 -5
- package/esm/dataGrid/withSelectableRows/withSelectableRows.js +4 -3
- package/esm/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +2 -2
- package/esm/dateInputInner/dateInputInner.js +7 -7
- package/esm/dateInputInner/dateInputInnerControlBlock.js +2 -2
- package/esm/dateInputRaw/dateInputRaw.js +4 -4
- package/esm/dateInputRaw/utils/getLabel.js +2 -2
- package/esm/dateRangeInner/dateRangeInner.js +6 -3
- package/esm/dateRangeRaw/dateRangeRaw.d.ts +1 -0
- package/esm/dateRangeRaw/dateRangeRaw.js +21 -15
- package/esm/dateRangeRaw/types.d.ts +1 -0
- package/esm/dateRangeRaw/utils/dateRangeUtils.js +17 -17
- package/esm/dateRangeRaw/utils/parseLabel.js +1 -1
- package/esm/dateSelectionWrapper/dateSelectionWrapper.js +4 -4
- package/esm/dialog/dialogContent.js +1 -1
- package/esm/dropdown/dropdownTrigger.d.ts +1 -1
- package/esm/dropdownRaw/dropdownList.js +9 -9
- package/esm/dropdownRaw/dropdownPopup.js +3 -3
- package/esm/dropdownRaw/dropdownRaw.js +34 -17
- package/esm/dropdownRaw/dropdownSearchableTrigger.d.ts +2 -1
- package/esm/dropdownRaw/dropdownSearchableTrigger.js +8 -6
- package/esm/dropdownRaw/dropdownTrigger.d.ts +2 -1
- package/esm/dropdownRaw/dropdownTrigger.js +2 -2
- package/esm/dropdownRaw/types.d.ts +2 -0
- package/esm/favoriteButton/favoriteButton.js +1 -1
- package/esm/fileUpload/components/dropZoneContent.js +104 -104
- package/esm/fileUpload/components/templateDownloadSection.js +1 -1
- package/esm/fileUpload/components/uploadedFilesSection.js +2 -2
- package/esm/fileUpload/fileUpload.js +106 -106
- package/esm/filterButton/filterButton.d.ts +1 -0
- package/esm/filters/components/filtersContainer.js +2 -2
- package/esm/filters/components/filtersDropdown.d.ts +1 -1
- package/esm/filters/components/filtersEmptyState.js +2 -2
- package/esm/filters/components/filtersSaveModal.js +5 -5
- package/esm/filters/components/filtersSavedChipComponent.js +11 -11
- package/esm/filters/components/filtersSearchItemData.js +1 -1
- package/esm/filters/components/filtersSearchList.js +14 -11
- package/esm/filters/components/filtersSelect.js +1 -1
- package/esm/filters/components/filtersSelectListItem.js +2 -2
- package/esm/filters/components/filtersSidePanel.js +8 -8
- package/esm/filters/filters.js +7 -7
- package/esm/filtersBar/components/filtersBarGroupsFilter/filtersBarGroupsFilter.d.ts +1 -1
- package/esm/filtersBar/components/filtersBarPeriodPicker/filtersBarPeriodPicker.d.ts +1 -0
- package/esm/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +18 -18
- package/esm/filtersBar/components/resetComponentButton.js +1 -1
- package/esm/filtersBar/filtersBarActions/filtersBarActions.js +3 -3
- package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +2 -2
- package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +5 -5
- package/esm/filtersBar/filtersContainer/filtersContainer.js +62 -61
- package/esm/formField/hooks/useError.js +3 -3
- package/esm/formField/hooks/useFormFieldProps.d.ts +1 -1
- package/esm/formField/hooks/useFormFieldProps.js +4 -2
- package/esm/formGroup/components/reviewListToggle/reviewListToggle.js +2 -2
- package/esm/formGroup/hooks/useCustomRow.js +46 -32
- package/esm/formGroup/hooks/useRowElements.js +9 -6
- package/esm/formGroup/hooks/useToggle.js +1 -1
- package/esm/formGroup/types.d.ts +4 -0
- package/esm/formGroup/utils/normalizeFieldId.d.ts +1 -0
- package/esm/formGroup/utils/normalizeFieldId.js +1 -0
- package/esm/formGroup/utils/resolveId.d.ts +7 -0
- package/esm/formGroup/utils/resolveId.js +2 -0
- package/esm/formLayout/components/getLayoutColumns.js +4 -2
- package/esm/formLayout/hooks/useError.js +3 -3
- package/esm/formLayout/hooks/useErrorSummary.d.ts +6 -0
- package/esm/formLayout/hooks/useErrorSummary.js +30 -0
- package/esm/formLayout/hooks/useFormButtons.js +3 -3
- package/esm/formLayout/utils/applyGridPropsStatic.js +1 -1
- package/esm/formLayout/utils/flattenErrors.d.ts +5 -0
- package/esm/formLayout/utils/flattenErrors.js +10 -0
- package/esm/formLayout/utils/getChildrenWithCustomColumns.js +3 -0
- package/esm/formLayout/utils/getFieldLabel.d.ts +1 -0
- package/esm/formLayout/utils/getFieldLabel.js +22 -0
- package/esm/formSection/hooks/useError.js +3 -3
- package/esm/formStepper/components/formStep.js +1 -1
- package/esm/formStepper/formStepper.js +2 -2
- package/esm/formStepperButtons/formStepperButtons.js +8 -5
- package/esm/gridLayout/hooks/useGridClasses.js +3 -9
- package/esm/groupButtonRaw/groupButtonRaw.js +2 -2
- package/esm/groupButtonRaw/types.d.ts +1 -0
- package/esm/groupsFilterRaw/groupsFilterAdjustmentState.js +8 -5
- package/esm/groupsFilterRaw/groupsFilterBox.js +3 -3
- package/esm/groupsFilterRaw/groupsFilterCommon.js +2 -2
- package/esm/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +5 -5
- package/esm/groupsFilterRaw/groupsFilterHelper.js +2 -2
- package/esm/groupsFilterRaw/groupsFilterInitialState.js +12 -9
- package/esm/groupsFilterRaw/groupsFilterMenu.js +3 -3
- package/esm/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
- package/esm/groupsFilterRaw/groupsFilterRaw.js +15 -10
- package/esm/groupsFilterRaw/groupsFilterTrigger.d.ts +2 -1
- package/esm/groupsFilterRaw/groupsFilterTrigger.js +8 -5
- package/esm/groupsFilterRaw/groupsHelper.js +22 -22
- package/esm/groupsFilterRaw/types.d.ts +2 -0
- package/esm/header/components/collapsedItemsControl/collapsedItemsControl.js +1 -1
- package/esm/header/components/mobileFilterControl/mobileFilterControl.js +1 -1
- package/esm/header/components/mobileSearchControl/mobileSearchControl.js +3 -3
- package/esm/header/header.js +2 -2
- package/esm/header/headerBack.js +5 -2
- package/esm/header/headerHelpers.d.ts +1 -0
- package/esm/header/headerHelpers.js +8 -0
- package/esm/header/hooks/useNonFittingElements.js +1 -1
- package/esm/icons/iconAlignLeft.js +1 -3
- package/esm/icons/iconAlignmentLeft.js +1 -3
- package/esm/icons/iconAlignmentRight.js +1 -3
- package/esm/icons/iconArrowBottomLeft.js +1 -3
- package/esm/icons/iconArrowBottomRight.js +1 -3
- package/esm/icons/iconArrowLeftPath.js +1 -3
- package/esm/icons/iconArrowRight.js +1 -3
- package/esm/icons/iconArrowRightCircle.js +1 -3
- package/esm/icons/iconArrowRightPath.js +1 -3
- package/esm/icons/iconArrowTopLeft.js +1 -3
- package/esm/icons/iconArrowTopRight.js +1 -3
- package/esm/icons/iconChevronDoubleRight.js +1 -3
- package/esm/icons/iconChevronRight.js +1 -3
- package/esm/icons/iconChevronRightSmall.js +1 -3
- package/esm/icons/iconCornerDownLeft.js +1 -3
- package/esm/icons/iconCornerDownRight.js +1 -3
- package/esm/icons/iconCornerLeftDown.js +1 -3
- package/esm/icons/iconCornerLeftUp.js +1 -3
- package/esm/icons/iconCornerRightDown.js +1 -3
- package/esm/icons/iconCornerRightUp.js +1 -3
- package/esm/icons/iconCornerUpLeft.js +1 -3
- package/esm/icons/iconCornerUpRight.js +1 -3
- package/esm/index.d.ts +1 -0
- package/esm/index.js +1 -0
- package/esm/lineChartMini/lineChartMini.js +15 -3
- package/esm/list/itemData/itemDataInternal.js +6 -3
- package/esm/list/listItem/listItem.js +6 -3
- package/esm/menu/components/controlledMenuList/controlledMenuList.js +4 -1
- package/esm/menu/components/menuButton.d.ts +2 -1
- package/esm/menu/components/menuButton.js +7 -4
- package/esm/menu/components/menuErrorItem.js +2 -2
- package/esm/menu/components/menuItem.js +4 -4
- package/esm/menu/utils/useMenuItemCore.js +4 -3
- package/esm/miniTabs/miniTabs.d.ts +1 -0
- package/esm/miniTabs/miniTabs.js +1 -1
- package/esm/miniTabs/miniTabsHeaderItem.d.ts +2 -1
- package/esm/miniTabs/miniTabsHeaderItem.js +1 -1
- package/esm/miniTabs/miniTabsItem.d.ts +1 -0
- package/esm/mobileSheet/mobileSheet.js +2 -2
- package/esm/modal/modal.js +1 -1
- package/esm/nav/navFooter/navEditFooter/navEditFooter.js +2 -2
- package/esm/nav/navFooter/navFooter.js +1 -1
- package/esm/nav/navFooter/navFooterAction/navFooterAction.js +1 -1
- package/esm/nav/navHeader/navHeader.js +2 -2
- package/esm/nav/navHeader/navHeaderSearch/navHeaderSearch.js +2 -2
- package/esm/nav/navItem/navItem.js +4 -1
- package/esm/nav/navMobileBar/navMobileBar.js +1 -1
- package/esm/notification/notification.js +1 -1
- package/esm/pagination/paginationArrow.js +12 -5
- package/esm/pagination/paginationText/paginationText.js +1 -1
- package/esm/pill/components/pillNonActionable/pillNonActionable.js +1 -1
- package/esm/pillBox/components/pillBoxItem.js +1 -1
- package/esm/pillBox/pillBox.js +3 -3
- package/esm/pillExpandable/pillContent.js +12 -3
- package/esm/pillExpandable/pillExpandable.d.ts +4 -1
- package/esm/pillExpandable/pillExpandable.js +5 -3
- package/esm/pillExpandable/pillExpandableSimple.d.ts +1 -1
- package/esm/pillExpandable/pillExpandableSimple.js +4 -4
- package/esm/radioGroupRaw/radioGroupRaw.js +2 -1
- package/esm/rangeRaw/rangeRaw.js +7 -8
- package/esm/rangeRaw/utils/rangeHelper.js +7 -7
- package/esm/searchInputRaw/searchInputRaw.js +6 -3
- package/esm/selectList/selectList.js +2 -2
- package/esm/selectList/selectListItem.js +4 -1
- package/esm/skeleton/skeleton.js +1 -1
- package/esm/sortControl/sortControl.js +6 -7
- package/esm/stepperRaw/stepperRaw.js +3 -0
- package/esm/summary/summary.js +2 -2
- package/esm/summaryTile/summaryTile.d.ts +4 -2
- package/esm/summaryTile/summaryTile.js +59 -26
- package/esm/summaryTileBar/summaryTileBar.d.ts +4 -2
- package/esm/summaryTileBar/summaryTileBar.js +2 -2
- package/esm/table/actions/actionsMenu.js +2 -2
- package/esm/table/children/useTableChildren.d.ts +1 -1
- package/esm/table/children/useTableChildren.js +3 -3
- package/esm/table/detailPanel/detailPanel.js +1 -1
- package/esm/table/detailPanel/detailPanelHeader.js +2 -2
- package/esm/table/flexible/columnSettings.js +2 -2
- package/esm/table/flexible/columnsList.js +46 -111
- package/esm/table/flexible/columnsPopup.d.ts +1 -1
- package/esm/table/flexible/columnsPopup.js +1 -1
- package/esm/table/nested/useNestedRows.js +2 -2
- package/esm/table/selectable/selectableHeader.js +5 -4
- package/esm/table/selectable/useSelectableRows.d.ts +8 -0
- package/esm/table/selectable/useSelectableRows.js +16 -8
- package/esm/table/sortable/mobileSortControl.js +1 -1
- package/esm/table/sortable/sortableHeader.js +2 -2
- package/esm/table/table.js +3 -9
- package/esm/tabs/tabItem/tabItem.d.ts +2 -1
- package/esm/tabs/tabItem/tabItem.js +7 -2
- package/esm/tabs/tabs.d.ts +2 -1
- package/esm/tabs/tabs.js +71 -61
- package/esm/tabs/tabsTestHelper.js +2 -2
- package/esm/testHelpers/mockAbsoluteAlignment.d.ts +1 -0
- package/esm/testHelpers/mockAbsoluteAlignment.js +10 -0
- package/esm/timePickerRaw/timePickerRaw.js +11 -9
- package/esm/timePickerRaw/types.d.ts +1 -0
- package/esm/toastRaw/toastRaw.js +1 -1
- package/esm/toggleButtonRaw/toggleButtonRaw.js +7 -4
- package/esm/tooltip/tooltip.js +13 -5
- package/esm/utils/formatDate.js +37 -37
- package/esm/utils/localization/flipAlignment.js +12 -1
- package/esm/utils/localization/languageContext.d.ts +1 -1
- package/esm/utils/localization/translations/cs.json +7 -5
- package/esm/utils/localization/translations/da-DK.json +7 -5
- package/esm/utils/localization/translations/de.json +7 -5
- package/esm/utils/localization/translations/en.json +12 -1
- package/esm/utils/localization/translations/es.json +7 -5
- package/esm/utils/localization/translations/fi-FI.json +7 -5
- package/esm/utils/localization/translations/fr-FR.json +7 -5
- package/esm/utils/localization/translations/fr.json +7 -5
- package/esm/utils/localization/translations/hu-HU.json +7 -5
- package/esm/utils/localization/translations/id.json +7 -5
- package/esm/utils/localization/translations/it.json +7 -5
- package/esm/utils/localization/translations/ja.json +7 -5
- package/esm/utils/localization/translations/ko-KR.json +7 -5
- package/esm/utils/localization/translations/ms.json +7 -5
- package/esm/utils/localization/translations/nb-NO.json +7 -5
- package/esm/utils/localization/translations/nl.json +7 -5
- package/esm/utils/localization/translations/pl.json +7 -5
- package/esm/utils/localization/translations/pt-BR.json +7 -5
- package/esm/utils/localization/translations/pt-PT.json +7 -5
- package/esm/utils/localization/translations/ro-RO.json +7 -5
- package/esm/utils/localization/translations/sk-SK.json +7 -5
- package/esm/utils/localization/translations/sv.json +7 -5
- package/esm/utils/localization/translations/th.json +7 -5
- package/esm/utils/localization/translations/tr.json +7 -5
- package/esm/utils/localization/translations/zh-Hans.json +7 -5
- package/esm/utils/localization/translations/zh-TW.json +7 -5
- package/esm/utils/localization/useDirectionalIcon.d.ts +3 -0
- package/esm/utils/localization/useDirectionalIcon.js +5 -0
- package/esm/utils/positioningUtils/alignments.d.ts +2 -2
- package/esm/utils/positioningUtils/alignments.js +2 -2
- package/esm/utils/positioningUtils/calculatePosition.d.ts +2 -1
- package/esm/utils/positioningUtils/calculatePosition.js +11 -11
- package/esm/utils/positioningUtils/normalizeLogicalAlignment.d.ts +4 -0
- package/esm/utils/positioningUtils/normalizeLogicalAlignment.js +32 -0
- package/package.json +11 -12
- package/dist/utils/localization/translations/en-json.d.ts +0 -317
- package/dist/utils/localization/translations/en-json.js +0 -320
- package/esm/utils/localization/translations/en-json.d.ts +0 -317
- package/esm/utils/localization/translations/en-json.js +0 -317
|
@@ -7,8 +7,10 @@ const defaultGridBorderStyle = {
|
|
|
7
7
|
display: false,
|
|
8
8
|
dash: [2, 2]
|
|
9
9
|
};
|
|
10
|
-
export const getDefaultOptions = (yAxis, isTimedData, isDark, translate) => {
|
|
10
|
+
export const getDefaultOptions = (yAxis, isTimedData, isDark, translate, isRtl = false) => {
|
|
11
11
|
const textColor = isDark ? "#C0CCD8" : "#4E677E";
|
|
12
|
+
const primaryYPosition = isRtl ? "right" : "left";
|
|
13
|
+
const secondaryYPosition = isRtl ? "left" : "right";
|
|
12
14
|
const scales = {
|
|
13
15
|
x: {
|
|
14
16
|
title: {
|
|
@@ -17,6 +19,7 @@ export const getDefaultOptions = (yAxis, isTimedData, isDark, translate) => {
|
|
|
17
19
|
grid: {
|
|
18
20
|
display: false
|
|
19
21
|
},
|
|
22
|
+
reverse: isRtl,
|
|
20
23
|
type: isTimedData ? "time" : "category",
|
|
21
24
|
ticks: isTimedData
|
|
22
25
|
? {
|
|
@@ -54,7 +57,7 @@ export const getDefaultOptions = (yAxis, isTimedData, isDark, translate) => {
|
|
|
54
57
|
border: defaultGridBorderStyle,
|
|
55
58
|
min: yAxis[i].min,
|
|
56
59
|
max: yAxis[i].max,
|
|
57
|
-
position: i === 0 ?
|
|
60
|
+
position: i === 0 ? primaryYPosition : secondaryYPosition
|
|
58
61
|
};
|
|
59
62
|
}
|
|
60
63
|
return {
|
package/esm/chart/barChart.js
CHANGED
|
@@ -22,6 +22,7 @@ import { classNames } from "../commonHelpers/classNames/classNames";
|
|
|
22
22
|
import { legendPlugin } from "./plugins/legend/legendPlugin";
|
|
23
23
|
import { ChartAxis } from "./chartAxis/chartAxis";
|
|
24
24
|
import { useLanguage } from "../utils/localization/useLanguage";
|
|
25
|
+
import { useIsRTL } from "../utils/localization/useIsRTL";
|
|
25
26
|
import { isDateRange } from "./utils/isDateRange";
|
|
26
27
|
import { getYAxisMeta } from "./utils/getYAxisMeta";
|
|
27
28
|
import { getDefaultOptions } from "./barChart/getDefaultOptions";
|
|
@@ -41,6 +42,7 @@ export const BarChart = (_a) => {
|
|
|
41
42
|
const { translate } = useLanguage();
|
|
42
43
|
const isDrive = useDrive();
|
|
43
44
|
const isMobile = useMobile();
|
|
45
|
+
const isRtl = useIsRTL();
|
|
44
46
|
const fontSize = useMemo(() => (isDrive ? (isMobile ? 14 : 16) : 12), [isDrive, isMobile]);
|
|
45
47
|
const { dark } = useContext(themeContext);
|
|
46
48
|
useEffect(() => {
|
|
@@ -56,15 +58,15 @@ export const BarChart = (_a) => {
|
|
|
56
58
|
const isTimedData = useMemo(() => isDateRange(data, false), [data]);
|
|
57
59
|
const isStacked = useMemo(() => { var _a, _b; return ((_b = (_a = options.scales) === null || _a === void 0 ? void 0 : _a.y) === null || _b === void 0 ? void 0 : _b.stacked) === true; }, [options]);
|
|
58
60
|
const yAxisMeta = useMemo(() => getYAxisMeta(data, isStacked), [data, isStacked]);
|
|
59
|
-
const defOptions = useMemo(() => getDefaultOptions(yAxisMeta, isTimedData, dark, translate), [yAxisMeta, isTimedData, dark, translate]);
|
|
61
|
+
const defOptions = useMemo(() => getDefaultOptions(yAxisMeta, isTimedData, dark, translate, isRtl), [yAxisMeta, isTimedData, dark, translate, isRtl]);
|
|
60
62
|
const chartOptions = deepMerge(defOptions, options);
|
|
61
63
|
const { isHidden, toggleHidden } = useHidden();
|
|
62
64
|
const chartData = useMemo(() => {
|
|
63
65
|
const chData = convertDates(data, toLocalDateTime);
|
|
64
66
|
chData.datasets = chData.datasets.map((ds, i) => getDefaultDatasetStyle(ds, i));
|
|
65
|
-
chData.datasets = chData.datasets.map((ds, i) => (Object.assign(Object.assign({}, ds), { hidden: isHidden(i) })));
|
|
67
|
+
chData.datasets = chData.datasets.map((ds, i) => (Object.assign(Object.assign({}, ds), { hidden: isHidden(i), order: isRtl ? chData.datasets.length - 1 - i : i })));
|
|
66
68
|
return chData;
|
|
67
|
-
}, [data, isHidden, toLocalDateTime]);
|
|
69
|
+
}, [data, isHidden, toLocalDateTime, isRtl]);
|
|
68
70
|
const chartTooltip = useMemo(() => TooltipPlugin(tooltipId, tooltip, "top", isHidden, dark), [tooltipId, tooltip, isHidden, dark]);
|
|
69
71
|
const chartLegend = useMemo(() => legendPlugin(legendId, legend, isDrive, isHidden, toggleHidden), [isDrive, isHidden, legend, legendId, toggleHidden]);
|
|
70
72
|
const chartPlugins = useMemo(() => [...(plugins || []), chartTooltip, chartLegend], [chartLegend, chartTooltip, plugins]);
|
|
@@ -72,5 +74,5 @@ export const BarChart = (_a) => {
|
|
|
72
74
|
const intSummary = useSummary(summary, chartData);
|
|
73
75
|
const isMainHidden = useMemo(() => isHidden(0), [isHidden]);
|
|
74
76
|
const toggleMainData = useCallback(() => toggleHidden(0), [toggleHidden]);
|
|
75
|
-
return (_jsxs("div", { className: classNames(["zen-chart", className || ""]), children: [insight ? _jsx(ChartInsight, Object.assign({}, insight)) : null, summary ? _jsx(Summary, Object.assign({ onToggle: toggleMainData, isEnabled: isMainHidden }, intSummary)) : null, (isDrive ? undefined : xLabels) || yLabels.length > 0 ? (_jsx(ChartAxis, { xLabel: isDrive ? undefined : xLabels, yLabels: yLabels, yAxisPosition: "right" })) : null, _jsx("div", { className: "zen-chart__chart", children: _jsx(Bar, Object.assign({ options: chartOptions, data: chartData, plugins: chartPlugins }, rest, { "aria-hidden": true })) }), _jsx("div", { className: "zen-chart__legend", id: legendId }), isDrive && xLabels ? _jsx("div", { className: "zen-chart__x-axis", children: xLabels }) : null, _jsx(AccessibleChart, { type: "bar", data: chartData, options: chartOptions })] }));
|
|
77
|
+
return (_jsxs("div", { className: classNames(["zen-chart", className || ""]), children: [insight ? _jsx(ChartInsight, Object.assign({}, insight)) : null, summary ? _jsx(Summary, Object.assign({ onToggle: toggleMainData, isEnabled: isMainHidden }, intSummary)) : null, (isDrive ? undefined : xLabels) || yLabels.length > 0 ? (_jsx(ChartAxis, { xLabel: isDrive ? undefined : xLabels, yLabels: yLabels, yAxisPosition: isRtl ? "left" : "right" })) : null, _jsx("div", { className: "zen-chart__chart", children: _jsx(Bar, Object.assign({ options: chartOptions, data: chartData, plugins: chartPlugins }, rest, { "aria-hidden": true })) }), _jsx("div", { className: "zen-chart__legend", id: legendId }), isDrive && xLabels ? _jsx("div", { className: "zen-chart__x-axis", children: xLabels }) : null, _jsx(AccessibleChart, { type: "bar", data: chartData, options: chartOptions })] }));
|
|
76
78
|
};
|
package/esm/chart/chart.js
CHANGED
|
@@ -38,7 +38,7 @@ injectString("tr", "Chart data table and visualization", "Chart data table and v
|
|
|
38
38
|
injectString("zh-Hans", "Chart data table and visualization", "Chart data table and visualization");
|
|
39
39
|
injectString("zh-TW", "Chart data table and visualization", "Chart data table and visualization");
|
|
40
40
|
injectString("ro-RO", "Chart data table and visualization", "Tabelul \u0219i vizualizarea datelor din grafic");
|
|
41
|
-
injectString("ar
|
|
41
|
+
injectString("ar", "Chart data table and visualization", "\u062C\u062F\u0648\u0644 \u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0631\u0633\u0645 \u0627\u0644\u0628\u064A\u0627\u0646\u064A \u0648\u0627\u0644\u062A\u0635\u0648\u0631");
|
|
42
42
|
const isPieChart = (type, _) => type === "pie";
|
|
43
43
|
const isBarChart = (type, _) => type === "bar";
|
|
44
44
|
export const Chart = _a => {
|
|
@@ -29,7 +29,7 @@ injectString("tr", "Y-axis", "Y ekseni");
|
|
|
29
29
|
injectString("zh-Hans", "Y-axis", "Y \u8F74");
|
|
30
30
|
injectString("zh-TW", "Y-axis", "Y \u8EF8");
|
|
31
31
|
injectString("ro-RO", "Y-axis", "Axa Y");
|
|
32
|
-
injectString("ar
|
|
32
|
+
injectString("ar", "Y-axis", "\u0627\u0644\u0645\u062D\u0648\u0631 \u0635");
|
|
33
33
|
injectString("cs", "X-axis", "Osa X");
|
|
34
34
|
injectString("da-DK", "X-axis", "X-akse");
|
|
35
35
|
injectString("de", "X-axis", "X-Achse");
|
|
@@ -56,7 +56,7 @@ injectString("tr", "X-axis", "X ekseni");
|
|
|
56
56
|
injectString("zh-Hans", "X-axis", "X \u8F74");
|
|
57
57
|
injectString("zh-TW", "X-axis", "X \u8EF8");
|
|
58
58
|
injectString("ro-RO", "X-axis", "Axa X");
|
|
59
|
-
injectString("ar
|
|
59
|
+
injectString("ar", "X-axis", "\u0627\u0644\u0645\u062D\u0648\u0631 \u0633");
|
|
60
60
|
export const ChartAxis = ({
|
|
61
61
|
xLabel,
|
|
62
62
|
yLabels,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IXAxisMeta, IYAxisMeta } from "../interfaces";
|
|
2
|
-
export declare const getDefaultOptions: (yAxis: IYAxisMeta[], xAxis: IXAxisMeta, isTimedData: boolean, ticks: number, isDark: boolean, translate: (s: string) => string) => {
|
|
2
|
+
export declare const getDefaultOptions: (yAxis: IYAxisMeta[], xAxis: IXAxisMeta, isTimedData: boolean, ticks: number, isDark: boolean, translate: (s: string) => string, isRtl?: boolean) => {
|
|
3
3
|
responsive: boolean;
|
|
4
4
|
maintainAspectRatio: boolean;
|
|
5
5
|
scales: {
|
|
@@ -10,6 +10,7 @@ export declare const getDefaultOptions: (yAxis: IYAxisMeta[], xAxis: IXAxisMeta,
|
|
|
10
10
|
grid: {
|
|
11
11
|
display: boolean;
|
|
12
12
|
};
|
|
13
|
+
reverse: boolean;
|
|
13
14
|
type: string;
|
|
14
15
|
time: {
|
|
15
16
|
unit: string;
|
|
@@ -17,6 +18,8 @@ export declare const getDefaultOptions: (yAxis: IYAxisMeta[], xAxis: IXAxisMeta,
|
|
|
17
18
|
[x: string]: string;
|
|
18
19
|
};
|
|
19
20
|
} | undefined;
|
|
21
|
+
min: number | undefined;
|
|
22
|
+
max: number | undefined;
|
|
20
23
|
ticks: {
|
|
21
24
|
autoSkip: boolean;
|
|
22
25
|
maxRotation: number;
|
|
@@ -44,9 +44,11 @@ const getFormatFromDateRange = (minDate, maxDate, ticks) => {
|
|
|
44
44
|
}
|
|
45
45
|
return { unit: "millisecond", format: "HH:mm:ss.l" };
|
|
46
46
|
};
|
|
47
|
-
export const getDefaultOptions = (yAxis, xAxis, isTimedData, ticks, isDark, translate) => {
|
|
47
|
+
export const getDefaultOptions = (yAxis, xAxis, isTimedData, ticks, isDark, translate, isRtl = false) => {
|
|
48
48
|
const time = getFormatFromDateRange(xAxis.minDate, xAxis.maxDate, ticks);
|
|
49
49
|
const textColor = isDark ? "#C0CCD8" : "#4E677E";
|
|
50
|
+
const primaryYPosition = isRtl ? "right" : "left";
|
|
51
|
+
const secondaryYPosition = isRtl ? "left" : "right";
|
|
50
52
|
const scales = {
|
|
51
53
|
x: {
|
|
52
54
|
title: {
|
|
@@ -55,6 +57,7 @@ export const getDefaultOptions = (yAxis, xAxis, isTimedData, ticks, isDark, tran
|
|
|
55
57
|
grid: {
|
|
56
58
|
display: false
|
|
57
59
|
},
|
|
60
|
+
reverse: isRtl,
|
|
58
61
|
type: isTimedData ? "time" : "linear",
|
|
59
62
|
time: isTimedData
|
|
60
63
|
? {
|
|
@@ -64,6 +67,8 @@ export const getDefaultOptions = (yAxis, xAxis, isTimedData, ticks, isDark, tran
|
|
|
64
67
|
}
|
|
65
68
|
}
|
|
66
69
|
: undefined,
|
|
70
|
+
min: isTimedData ? Date.parse(xAxis.minDate) : undefined,
|
|
71
|
+
max: isTimedData ? Date.parse(xAxis.maxDate) : undefined,
|
|
67
72
|
ticks: isTimedData
|
|
68
73
|
? {
|
|
69
74
|
autoSkip: false,
|
|
@@ -101,7 +106,7 @@ export const getDefaultOptions = (yAxis, xAxis, isTimedData, ticks, isDark, tran
|
|
|
101
106
|
border: defaultGridBorderStyle,
|
|
102
107
|
min: yAxis[i].min,
|
|
103
108
|
max: yAxis[i].max,
|
|
104
|
-
position: i === 0 ?
|
|
109
|
+
position: i === 0 ? primaryYPosition : secondaryYPosition
|
|
105
110
|
};
|
|
106
111
|
}
|
|
107
112
|
return {
|
package/esm/chart/lineChart.js
CHANGED
|
@@ -29,8 +29,10 @@ import { useAxisLabels } from "./lineChart/useAxisLabels";
|
|
|
29
29
|
import { getYAxisMeta } from "./utils/getYAxisMeta";
|
|
30
30
|
import { getDefaultOptions } from "./lineChart/getDefaultOptions";
|
|
31
31
|
import { useHidden } from "./utils/useHidden";
|
|
32
|
+
import { useLastVisibleXAxisMeta } from "./utils/useLastVisibleXAxisMeta";
|
|
32
33
|
import { LinePlugin } from "./plugins/linePlugin/linePlugin";
|
|
33
34
|
import { useLanguage } from "../utils/localization/useLanguage";
|
|
35
|
+
import { useIsRTL } from "../utils/localization/useIsRTL";
|
|
34
36
|
import { useChartTicks } from "./lineChart/useChartTicks";
|
|
35
37
|
import { ChartInsight } from "./chartInsight/chartInsight";
|
|
36
38
|
import { getXAxisMeta } from "./utils/getXAxisMeta";
|
|
@@ -43,6 +45,7 @@ export const LineChart = (_a) => {
|
|
|
43
45
|
const { translate } = useLanguage();
|
|
44
46
|
const isDrive = useDrive();
|
|
45
47
|
const isMobile = useMobile();
|
|
48
|
+
const isRtl = useIsRTL();
|
|
46
49
|
const fontSize = useMemo(() => (isDrive ? (isMobile ? 14 : 16) : 12), [isDrive, isMobile]);
|
|
47
50
|
const { dark } = useContext(themeContext);
|
|
48
51
|
useEffect(() => {
|
|
@@ -54,7 +57,7 @@ export const LineChart = (_a) => {
|
|
|
54
57
|
}, [fontSize, dark]);
|
|
55
58
|
const legendId = useId();
|
|
56
59
|
const tooltipId = useId();
|
|
57
|
-
const { isHidden, toggleHidden } = useHidden();
|
|
60
|
+
const { isHidden, toggleHidden, hiddenCount } = useHidden();
|
|
58
61
|
const { toLocalDateTime } = useContext(userFormatContext);
|
|
59
62
|
const isTimedData = useMemo(() => isDateRange(data, true), [data]);
|
|
60
63
|
const chartData = useMemo(() => {
|
|
@@ -72,8 +75,9 @@ export const LineChart = (_a) => {
|
|
|
72
75
|
}, [data, isHidden, toLocalDateTime]);
|
|
73
76
|
const yAxisMeta = useMemo(() => getYAxisMeta(chartData), [chartData]);
|
|
74
77
|
const xAxisMeta = useMemo(() => getXAxisMeta(chartData, isTimedData), [chartData, isTimedData]);
|
|
78
|
+
const stableXAxisMeta = useLastVisibleXAxisMeta(xAxisMeta, hiddenCount, data.datasets.length);
|
|
75
79
|
const { chartRef, ticks } = useChartTicks();
|
|
76
|
-
const defOptions = useMemo(() => getDefaultOptions(yAxisMeta,
|
|
80
|
+
const defOptions = useMemo(() => getDefaultOptions(yAxisMeta, stableXAxisMeta, isTimedData, ticks, dark, translate, isRtl), [yAxisMeta, stableXAxisMeta, isTimedData, ticks, dark, translate, isRtl]);
|
|
77
81
|
const chartOptions = deepMerge(defOptions, options);
|
|
78
82
|
const chartTooltip = useMemo(() => LinePlugin(tooltipId, tooltip, dark), [tooltip, tooltipId, dark]);
|
|
79
83
|
const chartLegend = useMemo(() => legendPlugin(legendId, legend, isDrive, isHidden, toggleHidden), [isDrive, legend, legendId, isHidden, toggleHidden]);
|
|
@@ -82,5 +86,5 @@ export const LineChart = (_a) => {
|
|
|
82
86
|
const intSummary = useSummary(summary, chartData);
|
|
83
87
|
const isMainHidden = useMemo(() => isHidden(0), [isHidden]);
|
|
84
88
|
const toggleMainDataset = useCallback(() => toggleHidden(0), [toggleHidden]);
|
|
85
|
-
return (_jsxs("div", { className: classNames(["zen-chart", className || ""]), ref: chartRef, children: [insight ? _jsx(ChartInsight, Object.assign({}, insight)) : null, summary !== false ? _jsx(Summary, Object.assign({}, intSummary, { onToggle: toggleMainDataset, isEnabled: isMainHidden })) : null, (isDrive ? undefined : xLabels) || yLabels.length > 0 ? _jsx(ChartAxis, { xLabel: isDrive ? undefined : xLabels, yLabels: yLabels }) : null, _jsx("div", { className: "zen-chart__chart", children: _jsx(Line, Object.assign({ width: 100, height: 100, options: chartOptions, data: chartData, plugins: chartPlugins, "aria-hidden": true }, rest)) }), _jsx("div", { className: "zen-chart__legend", id: legendId }), isDrive && xLabels ? _jsx("div", { className: "zen-chart__x-axis", children: xLabels }) : null, _jsx(AccessibleChart, { type: "line", data: chartData, options: chartOptions })] }));
|
|
89
|
+
return (_jsxs("div", { className: classNames(["zen-chart", className || ""]), ref: chartRef, children: [insight ? _jsx(ChartInsight, Object.assign({}, insight)) : null, summary !== false ? _jsx(Summary, Object.assign({}, intSummary, { onToggle: toggleMainDataset, isEnabled: isMainHidden })) : null, (isDrive ? undefined : xLabels) || yLabels.length > 0 ? (_jsx(ChartAxis, { xLabel: isDrive ? undefined : xLabels, yLabels: yLabels, yAxisPosition: isRtl ? "left" : "right" })) : null, _jsx("div", { className: "zen-chart__chart", children: _jsx(Line, Object.assign({ width: 100, height: 100, options: chartOptions, data: chartData, plugins: chartPlugins, "aria-hidden": true }, rest)) }), _jsx("div", { className: "zen-chart__legend", id: legendId }), isDrive && xLabels ? _jsx("div", { className: "zen-chart__x-axis", children: xLabels }) : null, _jsx(AccessibleChart, { type: "line", data: chartData, options: chartOptions })] }));
|
|
86
90
|
};
|
|
@@ -41,11 +41,12 @@ export const LinePlugin = (containerId, options, isDark) => ({
|
|
|
41
41
|
canvas.addEventListener("mouseout", chart.verticalLine.mouseOut);
|
|
42
42
|
},
|
|
43
43
|
afterDraw: (chart) => {
|
|
44
|
-
var _a, _b;
|
|
44
|
+
var _a, _b, _c;
|
|
45
45
|
if (options === false) {
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
|
-
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
49
|
+
if ((_a = chart.verticalLine) === null || _a === void 0 ? void 0 : _a.enabled) {
|
|
49
50
|
const ctx = chart.ctx;
|
|
50
51
|
const x = chart.verticalLine.x;
|
|
51
52
|
const y = chart.verticalLine.y;
|
|
@@ -96,8 +97,8 @@ export const LinePlugin = (containerId, options, isDark) => ({
|
|
|
96
97
|
if (zen.document === undefined) {
|
|
97
98
|
return;
|
|
98
99
|
}
|
|
99
|
-
const scrollTop = zen.document.body.scrollTop + (((
|
|
100
|
-
const scrollLeft = zen.document.body.scrollLeft + (((
|
|
100
|
+
const scrollTop = zen.document.body.scrollTop + (((_b = zen.document.body.parentElement) === null || _b === void 0 ? void 0 : _b.scrollTop) || 0);
|
|
101
|
+
const scrollLeft = zen.document.body.scrollLeft + (((_c = zen.document.body.parentElement) === null || _c === void 0 ? void 0 : _c.scrollLeft) || 0);
|
|
101
102
|
let elementIdx = undefined;
|
|
102
103
|
const elementIds = new Set(chart.getActiveElements().map(el => el.index));
|
|
103
104
|
if (elementIds.size === 1) {
|
|
@@ -14,12 +14,15 @@ export const getXAxisMeta = (data, isTimedData) => {
|
|
|
14
14
|
const point = dataset.data[j];
|
|
15
15
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
16
16
|
if (point && typeof point === "object" && point.x) {
|
|
17
|
-
const date = point.x;
|
|
18
|
-
if (date.getTime()
|
|
19
|
-
|
|
17
|
+
const date = new Date(point.x);
|
|
18
|
+
if (isNaN(date.getTime())) {
|
|
19
|
+
continue;
|
|
20
20
|
}
|
|
21
|
-
if (date.getTime()
|
|
22
|
-
|
|
21
|
+
if (date.getTime() < minDate.getTime()) {
|
|
22
|
+
minDate = date;
|
|
23
|
+
}
|
|
24
|
+
if (date.getTime() > maxDate.getTime()) {
|
|
25
|
+
maxDate = date;
|
|
23
26
|
}
|
|
24
27
|
}
|
|
25
28
|
}
|
|
@@ -9,7 +9,7 @@ export const isDateRange = (data, defaultValue) => {
|
|
|
9
9
|
}
|
|
10
10
|
const point = dataset.data[0];
|
|
11
11
|
if (point.x) {
|
|
12
|
-
return typeof point.x === "string" && isDateString(point.x);
|
|
12
|
+
return (typeof point.x === "string" && isDateString(point.x)) || (point.x instanceof Date && !isNaN(point.x.getTime()));
|
|
13
13
|
}
|
|
14
14
|
return defaultValue;
|
|
15
15
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useRef } from "react";
|
|
2
|
+
export const useLastVisibleXAxisMeta = (xAxisMeta, hiddenCount, totalCount) => {
|
|
3
|
+
const allDatasetsHidden = totalCount > 0 && hiddenCount === totalCount;
|
|
4
|
+
const lastKnownMeta = useRef(xAxisMeta);
|
|
5
|
+
const lastVisibleXAxisMeta = useRef(xAxisMeta);
|
|
6
|
+
if (!allDatasetsHidden || lastKnownMeta.current.minDate !== xAxisMeta.minDate || lastKnownMeta.current.maxDate !== xAxisMeta.maxDate) {
|
|
7
|
+
lastVisibleXAxisMeta.current = xAxisMeta;
|
|
8
|
+
lastKnownMeta.current = xAxisMeta;
|
|
9
|
+
}
|
|
10
|
+
return lastVisibleXAxisMeta.current;
|
|
11
|
+
};
|
|
@@ -4,6 +4,8 @@ import { Fragment, useCallback, useEffect, useId, useRef, useState } from "react
|
|
|
4
4
|
import { Checkbox } from "../checkbox/checkbox";
|
|
5
5
|
import { classNames } from "../commonHelpers/classNames/classNames";
|
|
6
6
|
import { IconChevronRight } from "../icons/iconChevronRight";
|
|
7
|
+
import { IconChevronLeft } from "../icons/iconChevronLeft";
|
|
8
|
+
import { useDirectionalIcon } from "../utils/localization/useDirectionalIcon";
|
|
7
9
|
import { useLanguage } from "../utils/localization/useLanguage";
|
|
8
10
|
import { useDriveClassName } from "../utils/theme/useDriveClassName";
|
|
9
11
|
injectString("cs", "Number of selected child groups - {count}", "Po\u010Det vybran\xFDch pod\u0159\xEDzen\xFDch skupin\xA0\u2013 {count}");
|
|
@@ -32,7 +34,7 @@ injectString("tr", "Number of selected child groups - {count}", "Se\xE7ilen alt
|
|
|
32
34
|
injectString("zh-Hans", "Number of selected child groups - {count}", "\u9009\u4E2D\u7684\u5B50\u7EC4\u6570\u91CF - {count}");
|
|
33
35
|
injectString("zh-TW", "Number of selected child groups - {count}", "\u6240\u9078\u5B50\u7FA4\u7D44\u7684\u6578\u76EE - {count}");
|
|
34
36
|
injectString("ro-RO", "Number of selected child groups - {count}", "Num\u0103r de grupuri derivate selectate \u2013 {count}");
|
|
35
|
-
injectString("ar
|
|
37
|
+
injectString("ar", "Number of selected child groups - {count}", "\u0639\u062F\u062F \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A \u0627\u0644\u0641\u0631\u0639\u064A\u0629 \u0627\u0644\u0645\u062D\u062F\u062F\u0629 - {count}");
|
|
36
38
|
injectString("cs", "View {groupName} children", "Zobrazit pod\u0159\xEDzen\xE9 pro {groupName}");
|
|
37
39
|
injectString("da-DK", "View {groupName} children", "Se {groupName} b\xF8rn");
|
|
38
40
|
injectString("de", "View {groupName} children", "Untergruppen von {groupName} ansehen");
|
|
@@ -59,7 +61,7 @@ injectString("tr", "View {groupName} children", "{groupName} alt \xF6\u011Feleri
|
|
|
59
61
|
injectString("zh-Hans", "View {groupName} children", "\u67E5\u770B {groupName} \u5B50\u7EC4");
|
|
60
62
|
injectString("zh-TW", "View {groupName} children", "\u6AA2\u8996\u300C{groupName}\u300D\u5B50\u7FA4\u7D44");
|
|
61
63
|
injectString("ro-RO", "View {groupName} children", "Vede\u021Bi derivatele {groupName}");
|
|
62
|
-
injectString("ar
|
|
64
|
+
injectString("ar", "View {groupName} children", "\u0639\u0631\u0636 \u0639\u0646\u0627\u0635\u0631 {groupName} \u0627\u0644\u0641\u0631\u0639\u064A\u0629");
|
|
63
65
|
injectString("cs", "Toggle {groupName} filter", "P\u0159epnout filtr pro {groupName}");
|
|
64
66
|
injectString("da-DK", "Toggle {groupName} filter", "Sl\xE5 {groupName} filter til og fra");
|
|
65
67
|
injectString("de", "Toggle {groupName} filter", "Filter f\xFCr {groupName} ein-/ausschalten");
|
|
@@ -86,7 +88,7 @@ injectString("tr", "Toggle {groupName} filter", "{groupName} filtresini de\u011F
|
|
|
86
88
|
injectString("zh-Hans", "Toggle {groupName} filter", "\u5207\u6362 {groupName} \u7B5B\u9009\u5668");
|
|
87
89
|
injectString("zh-TW", "Toggle {groupName} filter", "\u5207\u63DB\u300C{groupName}\u300D\u7BE9\u9078\u689D\u4EF6");
|
|
88
90
|
injectString("ro-RO", "Toggle {groupName} filter", "Activa\u021Bi filtrul {groupName}");
|
|
89
|
-
injectString("ar
|
|
91
|
+
injectString("ar", "Toggle {groupName} filter", "\u062A\u0628\u062F\u064A\u0644 \u062A\u0635\u0641\u064A\u0629 {groupName}");
|
|
90
92
|
injectString("cs", "Has additional actions. Use right arrow to access button, left arrow to return.", "Has additional actions. Use right arrow to access button, left arrow to return.");
|
|
91
93
|
injectString("da-DK", "Has additional actions. Use right arrow to access button, left arrow to return.", "Has additional actions. Use right arrow to access button, left arrow to return.");
|
|
92
94
|
injectString("de", "Has additional actions. Use right arrow to access button, left arrow to return.", "Has additional actions. Use right arrow to access button, left arrow to return.");
|
|
@@ -113,7 +115,7 @@ injectString("tr", "Has additional actions. Use right arrow to access button, le
|
|
|
113
115
|
injectString("zh-Hans", "Has additional actions. Use right arrow to access button, left arrow to return.", "Has additional actions. Use right arrow to access button, left arrow to return.");
|
|
114
116
|
injectString("zh-TW", "Has additional actions. Use right arrow to access button, left arrow to return.", "Has additional actions. Use right arrow to access button, left arrow to return.");
|
|
115
117
|
injectString("ro-RO", "Has additional actions. Use right arrow to access button, left arrow to return.", "Has additional actions. Use right arrow to access button, left arrow to return.");
|
|
116
|
-
injectString("ar
|
|
118
|
+
injectString("ar", "Has additional actions. Use right arrow to access button, left arrow to return.", "\u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0625\u062C\u0631\u0627\u0621\u0627\u062A \u0625\u0636\u0627\u0641\u064A\u0629. \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0633\u0647\u0645 \u0627\u0644\u0623\u064A\u0645\u0646 \u0644\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0632\u0631\u060C \u0648\u0627\u0644\u0633\u0647\u0645 \u0627\u0644\u0623\u064A\u0633\u0631 \u0644\u0644\u0639\u0648\u062F\u0629.");
|
|
117
119
|
export const CheckboxListWithAction = ({
|
|
118
120
|
label,
|
|
119
121
|
options,
|
|
@@ -127,6 +129,7 @@ export const CheckboxListWithAction = ({
|
|
|
127
129
|
translate
|
|
128
130
|
} = useLanguage();
|
|
129
131
|
const driveComponentClass = useDriveClassName("zen-checkbox-list-with-action");
|
|
132
|
+
const ChevronIcon = useDirectionalIcon(IconChevronRight, IconChevronLeft);
|
|
130
133
|
const listId = useId();
|
|
131
134
|
const checkboxId = `${listId}_check_list-item_`;
|
|
132
135
|
const navigationInstructionsId = `${listId}_navigation_instructions`;
|
|
@@ -359,7 +362,7 @@ export const CheckboxListWithAction = ({
|
|
|
359
362
|
})), _jsxs("div", Object.assign({
|
|
360
363
|
className: "zen-checkbox-list-with-action__label-info"
|
|
361
364
|
}, otherArgs, {
|
|
362
|
-
children: [getLabelColorInfo(option.color, option.isWithAction, option.partialChecked, otherArgs), option.isWithAction && _jsx(
|
|
365
|
+
children: [getLabelColorInfo(option.color, option.isWithAction, option.partialChecked, otherArgs), option.isWithAction && _jsx(ChevronIcon, {
|
|
363
366
|
size: "large"
|
|
364
367
|
})]
|
|
365
368
|
}))]
|
package/esm/chip/chip.js
CHANGED
|
@@ -38,7 +38,7 @@ injectString("tr", "Clear selection", "Se\xE7imi temizle");
|
|
|
38
38
|
injectString("zh-Hans", "Clear selection", "\u6E05\u9664\u9009\u62E9");
|
|
39
39
|
injectString("zh-TW", "Clear selection", "\u6E05\u9664\u9078\u53D6\u9805\u76EE");
|
|
40
40
|
injectString("ro-RO", "Clear selection", "\u0218terge\u021Bi selec\u021Bia");
|
|
41
|
-
injectString("ar
|
|
41
|
+
injectString("ar", "Clear selection", "\u0645\u0633\u062D \u0627\u0644\u062A\u062D\u062F\u064A\u062F");
|
|
42
42
|
function isChipTrigger(props) {
|
|
43
43
|
return "triggerRef" in props;
|
|
44
44
|
}
|
|
@@ -38,7 +38,7 @@ injectString("tr", "Column Settings", "S\xFCtun Ayarlar\u0131");
|
|
|
38
38
|
injectString("zh-Hans", "Column Settings", "\u5217\u8BBE\u7F6E");
|
|
39
39
|
injectString("zh-TW", "Column Settings", "\u6B04\u8A2D\u5B9A");
|
|
40
40
|
injectString("ro-RO", "Column Settings", "Set\u0103ri coloane");
|
|
41
|
-
injectString("ar
|
|
41
|
+
injectString("ar", "Column Settings", "\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0627\u0644\u0623\u0639\u0645\u062F\u0629");
|
|
42
42
|
injectString("cs", "Reset to default", "Obnovit v\xFDchoz\xED");
|
|
43
43
|
injectString("da-DK", "Reset to default", "Nulstil til standard");
|
|
44
44
|
injectString("de", "Reset to default", "Auf Standard zur\xFCcksetzen");
|
|
@@ -65,7 +65,7 @@ injectString("tr", "Reset to default", "Varsay\u0131lana s\u0131f\u0131rla");
|
|
|
65
65
|
injectString("zh-Hans", "Reset to default", "\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u503C");
|
|
66
66
|
injectString("zh-TW", "Reset to default", "\u91CD\u8A2D\u70BA\u9810\u8A2D\u503C");
|
|
67
67
|
injectString("ro-RO", "Reset to default", "Reseta\u021Bi la implicit");
|
|
68
|
-
injectString("ar
|
|
68
|
+
injectString("ar", "Reset to default", "\u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u062A\u0639\u064A\u064A\u0646 \u0625\u0644\u0649 \u0627\u0644\u0627\u0641\u062A\u0631\u0627\u0636\u064A");
|
|
69
69
|
export const ColumnsSelector = ({
|
|
70
70
|
id,
|
|
71
71
|
columns = [],
|
|
@@ -29,7 +29,7 @@ injectString("tr", "Columns", "S\xFCtunlar");
|
|
|
29
29
|
injectString("zh-Hans", "Columns", "\u5217");
|
|
30
30
|
injectString("zh-TW", "Columns", "\u6B04");
|
|
31
31
|
injectString("ro-RO", "Columns", "Coloane");
|
|
32
|
-
injectString("ar
|
|
32
|
+
injectString("ar", "Columns", "\u0627\u0644\u0623\u0639\u0645\u062F\u0629");
|
|
33
33
|
export const ColumnsTab = ({
|
|
34
34
|
columns,
|
|
35
35
|
onColumnToggle,
|
|
@@ -30,7 +30,7 @@ injectString("tr", "Additional Properties", "Ek \xD6zellikler");
|
|
|
30
30
|
injectString("zh-Hans", "Additional Properties", "\u5176\u4ED6\u5C5E\u6027");
|
|
31
31
|
injectString("zh-TW", "Additional Properties", "\u5176\u4ED6\u5C6C\u6027");
|
|
32
32
|
injectString("ro-RO", "Additional Properties", "Propriet\u0103\u021Bi suplimentare");
|
|
33
|
-
injectString("ar
|
|
33
|
+
injectString("ar", "Additional Properties", "\u062E\u0635\u0627\u0626\u0635 \u0625\u0636\u0627\u0641\u064A\u0629");
|
|
34
34
|
export const ColumnsTabGroup = ({
|
|
35
35
|
columns,
|
|
36
36
|
onColumnToggle
|
|
@@ -4,9 +4,12 @@ import { Button } from "../../../../button/button";
|
|
|
4
4
|
import { IconChevronLeft } from "../../../../icons/iconChevronLeft";
|
|
5
5
|
import { IconChevronRight } from "../../../../icons/iconChevronRight";
|
|
6
6
|
import { useDrive } from "../../../../utils/theme/useDrive";
|
|
7
|
+
import { useDirectionalIcon } from "../../../../utils/localization/useDirectionalIcon";
|
|
7
8
|
import { driveIconSize } from "../../../../svgIcon/svgIconSize";
|
|
8
9
|
export const ArrowNavButton = ({ value, isHidden, disabled, className, arrowButtonHandler, onMouseDown, onMouseUp }) => {
|
|
9
10
|
const isDrive = useDrive();
|
|
10
11
|
const iconSize = isDrive ? driveIconSize("large") : "large";
|
|
11
|
-
|
|
12
|
+
const LeftIcon = useDirectionalIcon(IconChevronLeft, IconChevronRight);
|
|
13
|
+
const RightIcon = useDirectionalIcon(IconChevronRight, IconChevronLeft);
|
|
14
|
+
return (_jsx(Button, { type: "tertiary-black", className: classNames(["zen-arrow-nav-button", isHidden ? "zen-arrow-nav-button--invisible" : "", className !== null && className !== void 0 ? className : ""]), "aria-label": value, disabled: disabled, onClick: arrowButtonHandler, "data-action": value, onMouseDown: onMouseDown, onMouseUp: onMouseUp, children: value === "left" ? (_jsx(LeftIcon, { size: iconSize, className: "zen-arrow-nav-button__icon" })) : (_jsx(RightIcon, { size: iconSize, className: "zen-arrow-nav-button__icon" })) }));
|
|
12
15
|
};
|
|
@@ -9,6 +9,7 @@ import { TAlignment as TAlignmentAbsolute } from "../absolute/absolute";
|
|
|
9
9
|
export type TAlignment = "top" | "top-left" | "top-right" | "left" | "left-top" | "left-bottom" | "right" | "right-top" | "right-bottom" | "bottom" | "bottom-left" | "bottom-right";
|
|
10
10
|
export interface IControlledPopup extends IZenComponentProps {
|
|
11
11
|
triggerRef: RefObject<HTMLElement | null>;
|
|
12
|
+
/** Alignment of the popup relative to its trigger. Defaults to `"bottom-left"` (flips to `"bottom-right"` in RTL). */
|
|
12
13
|
alignment?: TAlignmentAbsolute;
|
|
13
14
|
id?: string;
|
|
14
15
|
className?: string;
|
|
@@ -3,10 +3,12 @@ import { useEffect, useId } from "react";
|
|
|
3
3
|
import { Absolute } from "../absolute/absolute";
|
|
4
4
|
import { classNames } from "../commonHelpers/classNames/classNames";
|
|
5
5
|
import { useClientReady } from "../commonHelpers/hooks/useClientReady";
|
|
6
|
+
import { useRTLAlignment } from "../utils/localization/useRTLAlignment";
|
|
6
7
|
export const ControlledPopup = ({ isOpen, id, paddingX, paddingY, triggerRef, className, children, alignment, inline, onOpenChange, useTrapFocusWithTrigger, shouldHoldScroll, ariaLabel, ariaLabelledby, recalculateOnScroll, closeOnScroll, preventAttributesAutoSet, focusOnOpen, role = "dialog" }) => {
|
|
7
8
|
const autoId = useId();
|
|
8
9
|
const popupId = id || autoId;
|
|
9
10
|
const isClientReady = useClientReady();
|
|
11
|
+
const rtlAlignment = useRTLAlignment(alignment !== null && alignment !== void 0 ? alignment : "bottom-left");
|
|
10
12
|
useEffect(() => {
|
|
11
13
|
if (!triggerRef.current || !isClientReady) {
|
|
12
14
|
return;
|
|
@@ -21,5 +23,5 @@ export const ControlledPopup = ({ isOpen, id, paddingX, paddingY, triggerRef, cl
|
|
|
21
23
|
triggerRef.current.setAttribute("aria-expanded", isOpen ? "true" : "false");
|
|
22
24
|
triggerRef.current.setAttribute("aria-controls", popupId);
|
|
23
25
|
}, [triggerRef, isOpen, popupId, preventAttributesAutoSet, isClientReady]);
|
|
24
|
-
return (_jsx(Absolute, Object.assign({ triggerRef: triggerRef, alignment:
|
|
26
|
+
return (_jsx(Absolute, Object.assign({ triggerRef: triggerRef, alignment: rtlAlignment, id: popupId, isOpen: isOpen, className: classNames(["zen-popup", className ? className : ""]), paddingX: paddingX, paddingY: paddingY, inline: inline, onOpenChange: onOpenChange, useTrapFocusWithTrigger: useTrapFocusWithTrigger, shouldHoldScroll: shouldHoldScroll }, (role !== false && typeof role === "string" ? { role } : {}), (role !== false && ariaLabel ? { ariaLabel } : {}), (role !== false && ariaLabelledby ? { ariaLabelledby } : {}), { recalculateOnScroll: recalculateOnScroll, closeOnScroll: closeOnScroll, focusOnOpen: focusOnOpen, children: children })));
|
|
25
27
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { injectString } from "../../utils/localization/translationsDictionary";
|
|
1
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
3
|
import { classNames } from "../../commonHelpers/classNames/classNames";
|
|
3
4
|
import { ButtonType } from "../../button/buttonType";
|
|
@@ -6,6 +7,8 @@ import { IconLayoutWindow4 } from "../../icons/iconLayoutWindow4";
|
|
|
6
7
|
import { SvgIconSize } from "../../svgIcon/svgIconSize";
|
|
7
8
|
import { ButtonIconPosition, TextIconButton } from "../../textIconButton/textIconButton";
|
|
8
9
|
import { useLanguage } from "../../utils/localization/useLanguage";
|
|
10
|
+
injectString("en", "Collapse feed", "Collapse feed");
|
|
11
|
+
injectString("en", "Expand feed", "Expand feed");
|
|
9
12
|
export const FeedExpandControl = ({
|
|
10
13
|
className = "",
|
|
11
14
|
isExpanded,
|
|
@@ -13,8 +13,9 @@ export interface IDataGridCell<T extends IEntityWithId> extends IZenComponentPro
|
|
|
13
13
|
defaultValue: string | undefined;
|
|
14
14
|
entity: T;
|
|
15
15
|
width?: number;
|
|
16
|
+
maxWidth?: number;
|
|
16
17
|
colspan?: number;
|
|
17
18
|
onClick?: () => void;
|
|
18
19
|
isActive?: boolean;
|
|
19
20
|
}
|
|
20
|
-
export declare const DataGridCell: <T extends IEntityWithId>({ index, limited, visibleOnHover, isVisible, width, render, renderWrappers, renderPlaceholder, defaultValue, entity, colspan, className, onClick, isActive }: IDataGridCell<T>) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare const DataGridCell: <T extends IEntityWithId>({ index, limited, visibleOnHover, isVisible, width, maxWidth, render, renderWrappers, renderPlaceholder, defaultValue, entity, colspan, className, onClick, isActive }: IDataGridCell<T>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -4,7 +4,7 @@ import { classNames } from "../../commonHelpers/classNames/classNames";
|
|
|
4
4
|
import { isPromiseLike } from "../columns/basicColumn";
|
|
5
5
|
import { isActiveElement } from "../../list/utils/isActiveElement";
|
|
6
6
|
import { zen } from "../../utils/zen";
|
|
7
|
-
const Cell = ({ index, limited, visibleOnHover, isVisible, width, render, renderWrappers, renderPlaceholder, defaultValue, entity, colspan, className, onClick, isActive }) => {
|
|
7
|
+
const Cell = ({ index, limited, visibleOnHover, isVisible, width, maxWidth, render, renderWrappers, renderPlaceholder, defaultValue, entity, colspan, className, onClick, isActive }) => {
|
|
8
8
|
const [content, setContent] = useState("");
|
|
9
9
|
const placeholderRenderer = useCallback(() => {
|
|
10
10
|
const renderFn = renderPlaceholder || (() => "...");
|
|
@@ -69,6 +69,6 @@ const Cell = ({ index, limited, visibleOnHover, isVisible, width, render, render
|
|
|
69
69
|
visibleOnHover ? "zen-data-grid__row-cell--visible-on-hover" : "",
|
|
70
70
|
onClick ? "zen-data-grid__row-cell--clickable" : "",
|
|
71
71
|
limited ? "zen-ellipsis" : ""
|
|
72
|
-
]), style: { minWidth: width || "auto", maxWidth: width || "auto" }, role: "gridcell", children: content }));
|
|
72
|
+
]), style: { minWidth: width || "auto", maxWidth: maxWidth ? `${Math.max(width !== null && width !== void 0 ? width : 0, maxWidth)}px` : width || "auto" }, role: "gridcell", children: content }));
|
|
73
73
|
};
|
|
74
74
|
export const DataGridCell = memo(Cell);
|
|
@@ -32,7 +32,7 @@ injectString("tr", "Multiple row selection menu", "\xC7oklu s\u0131ra se\xE7imi
|
|
|
32
32
|
injectString("zh-Hans", "Multiple row selection menu", "\u591A\u884C\u9009\u62E9\u83DC\u5355");
|
|
33
33
|
injectString("zh-TW", "Multiple row selection menu", "\u591A\u5217\u9078\u64C7\u9078\u55AE");
|
|
34
34
|
injectString("ro-RO", "Multiple row selection menu", "Meniu de selectare cu mai multe r\xE2nduri");
|
|
35
|
-
injectString("ar
|
|
35
|
+
injectString("ar", "Multiple row selection menu", "\u0642\u0627\u0626\u0645\u0629 \u062A\u062D\u062F\u064A\u062F \u0635\u0641\u0648\u0641 \u0645\u062A\u0639\u062F\u062F\u0629");
|
|
36
36
|
const CheckboxHandler = ({
|
|
37
37
|
onClick,
|
|
38
38
|
ref
|
package/esm/dataGrid/dataGrid.js
CHANGED
|
@@ -37,7 +37,7 @@ injectString("tr", "Action", "Eylem");
|
|
|
37
37
|
injectString("zh-Hans", "Action", "\u64CD\u4F5C");
|
|
38
38
|
injectString("zh-TW", "Action", "\u52D5\u4F5C");
|
|
39
39
|
injectString("ro-RO", "Action", "M\u0103sur\u0103");
|
|
40
|
-
injectString("ar
|
|
40
|
+
injectString("ar", "Action", "\u0625\u062C\u0631\u0627\u0621");
|
|
41
41
|
export const NOT_INTERACTIVE_MODIFIER = "zen-data-grid--not-interactive";
|
|
42
42
|
export const DRAGGING_MODIFIER = "zen-data-grid--dragging";
|
|
43
43
|
export const HORIZONTAL_SCROLL_MODIFIER = "zen-data-grid--horizontal-scroll";
|
|
@@ -49,7 +49,7 @@ const getHeaderPropsFromWrappers = wrappers => wrappers.reduce((result, wrapper)
|
|
|
49
49
|
const props = (_a = wrapper.getHeaderProps) === null || _a === void 0 ? void 0 : _a.call(wrapper);
|
|
50
50
|
return props ? Object.assign(Object.assign({}, result), props) : result;
|
|
51
51
|
}, {});
|
|
52
|
-
const getColumnWidth = defaultWidth => Math.floor(Math.max(defaultWidth, MIN_CELL_WIDTH));
|
|
52
|
+
const getColumnWidth = (defaultWidth, minWidth) => Math.floor(Math.max(defaultWidth, minWidth !== null && minWidth !== void 0 ? minWidth : MIN_CELL_WIDTH));
|
|
53
53
|
export const EmptyList = ({
|
|
54
54
|
children
|
|
55
55
|
}) => _jsx("div", {
|
|
@@ -144,12 +144,13 @@ const DataGridInner = ({
|
|
|
144
144
|
setVisibleRows(visible);
|
|
145
145
|
}, [entities]);
|
|
146
146
|
const listOfDefaultWidthColumns = useMemo(() => columnsList.map(column => column.meta.defaultWidth), [columnsList]);
|
|
147
|
+
const listOfMinWidthColumns = useMemo(() => columnsList.map(column => column.meta.minWidth), [columnsList]);
|
|
147
148
|
const {
|
|
148
149
|
result: observerResult
|
|
149
150
|
} = useResizeObserver({
|
|
150
151
|
target: gridRef.current
|
|
151
152
|
});
|
|
152
|
-
const allocatedSpace = listOfDefaultWidthColumns.reduce((acc, width) => acc + (width === undefined ? 0 : getColumnWidth(width)), 0);
|
|
153
|
+
const allocatedSpace = listOfDefaultWidthColumns.reduce((acc, width, index) => acc + (width === undefined ? 0 : getColumnWidth(width, listOfMinWidthColumns[index])), 0);
|
|
153
154
|
const unallocatedSpace = observerResult && observerResult.contentRect.width - allocatedSpace || 0;
|
|
154
155
|
const flexibleColumnsQty = listOfDefaultWidthColumns.filter(width => width === undefined).length;
|
|
155
156
|
const flexibleColumnWidth = getColumnWidth(unallocatedSpace / flexibleColumnsQty);
|
|
@@ -172,18 +173,19 @@ const DataGridInner = ({
|
|
|
172
173
|
}, [updateScroll, scheduleLazyRender]);
|
|
173
174
|
const getCellParams = useCallback(columnIndex => {
|
|
174
175
|
const defaultWidth = listOfDefaultWidthColumns[columnIndex];
|
|
176
|
+
const minWidth = listOfMinWidthColumns[columnIndex];
|
|
175
177
|
const limited = !!defaultWidth && defaultWidth > 0;
|
|
176
178
|
const isFirst = columnIndex === 0;
|
|
177
179
|
const isLast = columnIndex === listOfDefaultWidthColumns.length - 1;
|
|
178
180
|
// If the column is the last one or doesn't have a default width, it should be limited to the remaining space
|
|
179
|
-
const width = getColumnWidth(defaultWidth || flexibleColumnWidth);
|
|
181
|
+
const width = getColumnWidth(defaultWidth || flexibleColumnWidth, minWidth);
|
|
180
182
|
return {
|
|
181
183
|
limited,
|
|
182
184
|
isFirst,
|
|
183
185
|
isLast,
|
|
184
186
|
width
|
|
185
187
|
};
|
|
186
|
-
}, [listOfDefaultWidthColumns, flexibleColumnWidth]);
|
|
188
|
+
}, [listOfDefaultWidthColumns, listOfMinWidthColumns, flexibleColumnWidth]);
|
|
187
189
|
const renderHeaderCell = useCallback((column, columnIndex) => {
|
|
188
190
|
var _a;
|
|
189
191
|
const {
|
|
@@ -222,6 +224,7 @@ const DataGridInner = ({
|
|
|
222
224
|
expanded: expandedRows && expandedRows.indexOf(entity.id) > -1,
|
|
223
225
|
onExpandedChange: entity.children && entity.children.length > 0 ? isExpanded => onExpandedChange && onExpandedChange(entity.id, isExpanded) : undefined,
|
|
224
226
|
isActive: active === entity.id,
|
|
227
|
+
active: active,
|
|
225
228
|
onClick: onClick,
|
|
226
229
|
isTreeGrid: isTreeGrid,
|
|
227
230
|
ariaPosinset: entityIndex + 1,
|
|
@@ -36,7 +36,7 @@ injectString("tr", "Try adjusting your search or filter.", "Araman\u0131z\u0131
|
|
|
36
36
|
injectString("zh-Hans", "Try adjusting your search or filter.", "\u5C1D\u8BD5\u8C03\u6574\u60A8\u7684\u641C\u7D22\u6216\u7B5B\u9009\u6761\u4EF6\u3002");
|
|
37
37
|
injectString("zh-TW", "Try adjusting your search or filter.", "\u8ACB\u5617\u8A66\u8ABF\u6574\u60A8\u7684\u641C\u5C0B\u6216\u7BE9\u9078\u689D\u4EF6\u3002");
|
|
38
38
|
injectString("ro-RO", "Try adjusting your search or filter.", "\xCEncerca\u021Bi s\u0103 ajusta\u021Bi c\u0103utarea sau filtrul.");
|
|
39
|
-
injectString("ar
|
|
39
|
+
injectString("ar", "Try adjusting your search or filter.", "\u062D\u0627\u0648\u0644 \u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0628\u062D\u062B \u0623\u0648 \u0627\u0644\u062A\u0635\u0641\u064A\u0629.");
|
|
40
40
|
export const EmptySearchList = _a => {
|
|
41
41
|
var props = __rest(_a, []);
|
|
42
42
|
const {
|
|
@@ -31,7 +31,7 @@ injectString("tr", "Column Settings", "S\xFCtun Ayarlar\u0131");
|
|
|
31
31
|
injectString("zh-Hans", "Column Settings", "\u5217\u8BBE\u7F6E");
|
|
32
32
|
injectString("zh-TW", "Column Settings", "\u6B04\u8A2D\u5B9A");
|
|
33
33
|
injectString("ro-RO", "Column Settings", "Set\u0103ri coloane");
|
|
34
|
-
injectString("ar
|
|
34
|
+
injectString("ar", "Column Settings", "\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0627\u0644\u0623\u0639\u0645\u062F\u0629");
|
|
35
35
|
const ColumnsListButtonInner = ({
|
|
36
36
|
onClick,
|
|
37
37
|
ref
|