@geotab/zenith 3.1.1-beta.6 → 3.2.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 +20 -0
- package/dist/advancedGroupsFilter/advancedGroupsFilter.js +136 -30
- package/dist/advancedGroupsFilter/advancedGroupsFilterForm.js +139 -34
- package/dist/advancedGroupsFilter/advancedGroupsFilterFormSection.js +352 -87
- package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
- package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +83 -9
- package/dist/alertRaw/alertRaw.js +175 -54
- package/dist/banner/bannerMultipLine.js +131 -23
- package/dist/banner/bannerSingleLine.js +110 -16
- package/dist/betaPill/betaPill.js +111 -20
- package/dist/bookmark/bookmark.js +95 -28
- package/dist/bulkEditControl/bulkEditControl.js +167 -34
- package/dist/calendar/calendar.js +943 -273
- package/dist/calendar/calendarUtils.js +157 -85
- package/dist/card/card.js +268 -123
- package/dist/chart/accessibleChart/accessibleChartNarrative.js +648 -555
- package/dist/chart/accessibleChart/accessibleChartTable.js +245 -86
- package/dist/chart/chart.js +36 -21
- package/dist/chart/chartAxis/chartAxis.js +85 -7
- package/dist/checkboxListWithAction/checkboxListWithAction.js +224 -69
- package/dist/chip/chip.js +195 -91
- package/dist/columnsSelector/columnsSelector.js +97 -12
- package/dist/columnsSelector/columnsTab/columnsTab.js +59 -15
- package/dist/columnsSelector/columnsTabGroup/columnsTabGroup.js +81 -34
- package/dist/comboboxSelected/comboboxSelected.js +1 -3
- package/dist/dataFeed/feedExpandControl/feedExpandControl.js +25 -10
- package/dist/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +92 -11
- package/dist/dataGrid/dataGrid.js +227 -117
- package/dist/dataGrid/emptySearchList/emptySearchList.js +56 -9
- package/dist/dataGrid/entitiesListActions/actions/columnsListButton.js +51 -7
- package/dist/dataGrid/entitiesListActions/actions/fullscreenButton.js +64 -18
- package/dist/dataGrid/withFlexibleColumns/components/columnSettings.js +84 -10
- package/dist/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +48 -16
- package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +223 -32
- package/dist/dataGrid/withSelectableRows/withSelectableRows.js +286 -213
- package/dist/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +178 -95
- package/dist/dateInputInner/dateInputInner.js +791 -476
- package/dist/dateInputInner/dateInputInnerControlBlock.js +125 -22
- package/dist/dateInputRaw/dateInputRaw.js +315 -104
- package/dist/dateInputRaw/utils/getLabel.js +38 -7
- package/dist/dateRangeInner/dateRangeInner.js +173 -59
- package/dist/dateRangeRaw/dateRangeRaw.js +601 -239
- package/dist/dateRangeRaw/utils/dateRangeUtils.js +629 -241
- package/dist/dateSelectionWrapper/dateSelectionWrapper.js +152 -14
- package/dist/dialog/dialogContent.js +123 -40
- package/dist/dropdownRaw/dropdownHelper.d.ts +2 -2
- package/dist/dropdownRaw/dropdownHelper.js +9 -9
- package/dist/dropdownRaw/dropdownList.js +447 -78
- package/dist/dropdownRaw/dropdownPopup.js +218 -20
- package/dist/dropdownRaw/dropdownRaw.js +866 -506
- package/dist/dropdownRaw/dropdownSearchableTrigger.js +223 -46
- package/dist/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
- package/dist/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
- package/dist/dropdownRaw/stateReducer/stateActionType.js +1 -0
- package/dist/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
- package/dist/dropdownRaw/stateReducer/stateReducer.js +24 -12
- package/dist/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
- package/dist/dropdownRaw/stateReducer/stateReducerHelper.js +20 -1
- package/dist/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
- package/dist/dropdownRaw/stateReducer/stateReducerTestData.js +74 -0
- package/dist/dropdownRaw/types.d.ts +1 -0
- package/dist/favoriteButton/favoriteButton.js +59 -10
- package/dist/filters/components/filtersContainer.js +151 -64
- package/dist/filters/components/filtersEmptySelectedList.js +30 -4
- package/dist/filters/components/filtersSaveModal.js +140 -42
- package/dist/filters/components/filtersSavedChipComponent.js +318 -108
- package/dist/filters/components/filtersSearchItemData.js +127 -47
- package/dist/filters/components/filtersSearchList.js +381 -179
- package/dist/filters/components/filtersSelect.js +128 -61
- package/dist/filters/components/filtersSelectListItem.js +125 -13
- package/dist/filters/components/filtersSidePanel.js +510 -178
- package/dist/filters/components/filtersSidePanelDropdown.js +2 -2
- package/dist/filters/filters.js +445 -268
- package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +729 -272
- package/dist/filtersBar/components/resetComponentButton.js +45 -5
- package/dist/filtersBar/filtersBarActions/filtersBarActions.js +126 -15
- package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRadioGroup/filtersBarSidePanelRadioGroup.js +2 -2
- package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +155 -49
- package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +360 -104
- package/dist/filtersBar/filtersContainer/filtersContainer.js +204 -134
- package/dist/formField/components/formFieldWithLabel.d.ts +2 -1
- package/dist/formField/components/formFieldWithLabel.js +3 -2
- package/dist/formField/components/formFieldWithoutLabel.d.ts +2 -1
- package/dist/formField/components/formFieldWithoutLabel.js +3 -3
- package/dist/formField/components/trailingComponent.d.ts +8 -0
- package/dist/formField/components/trailingComponent.js +11 -0
- package/dist/formField/formField.js +26 -11
- package/dist/formField/hooks/useError.js +100 -36
- package/dist/formGroup/components/reviewListToggle/reviewListToggle.js +72 -7
- package/dist/formGroup/hooks/useToggle.js +37 -11
- package/dist/formGroup/utils/getControls.js +8 -7
- package/dist/formLayout/hooks/useError.js +55 -15
- package/dist/formLayout/hooks/useFormButtons.js +128 -27
- package/dist/formSection/components/formSectionModal.js +1 -1
- package/dist/formSection/formSection.js +1 -1
- package/dist/formSection/hooks/useError.js +70 -22
- package/dist/formStepper/components/formStep.js +65 -10
- package/dist/formStepper/formStepper.js +129 -33
- package/dist/formStepperButtons/formStepperButtons.js +184 -38
- package/dist/groupsFilter/groupsHelper.d.ts +1 -1
- package/dist/groupsFilterRaw/groupsFilterAdjustmentState.js +162 -17
- package/dist/groupsFilterRaw/groupsFilterBox.js +137 -32
- package/dist/groupsFilterRaw/groupsFilterCommon.js +75 -8
- package/dist/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +184 -25
- package/dist/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
- package/dist/groupsFilterRaw/groupsFilterHelper.js +284 -168
- package/dist/groupsFilterRaw/groupsFilterInitialState.js +266 -18
- package/dist/groupsFilterRaw/groupsFilterMenu.js +124 -9
- package/dist/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
- package/dist/groupsFilterRaw/groupsFilterRaw.js +816 -308
- package/dist/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
- package/dist/groupsFilterRaw/groupsFilterTestData.js +153 -58
- package/dist/groupsFilterRaw/groupsFilterTrigger.js +139 -35
- package/dist/groupsFilterRaw/groupsHelper.js +739 -208
- package/dist/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
- package/dist/groupsFilterRaw/types.d.ts +1 -0
- package/dist/header/components/collapsedItemsControl/collapsedItemsControl.js +107 -52
- package/dist/header/components/mobileFilterControl/mobileFilterControl.js +62 -9
- package/dist/header/components/mobileSearchControl/mobileSearchControl.js +119 -14
- package/dist/header/headerBack.js +64 -20
- package/dist/index.css +116 -74
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -1
- package/dist/list/itemData/itemDataInternal.js +216 -51
- package/dist/list/listItem/listItem.js +168 -55
- package/dist/menu/components/menuErrorItem.js +33 -5
- package/dist/mobileSheet/mobileSheet.js +195 -69
- package/dist/modal/modal.js +300 -142
- package/dist/nav/nav.js +1 -1
- package/dist/nav/navFooter/navFooter.js +82 -39
- package/dist/nav/navFooter/navFooterAction/navFooterAction.js +52 -13
- package/dist/nav/navHeader/navHeader.js +86 -36
- package/dist/nav/navHeader/navHeaderSearch/navHeaderSearch.js +88 -29
- package/dist/nav/navItem/navItem.d.ts +3 -3
- package/dist/nav/navItem/navItem.js +35 -33
- package/dist/nav/navMobileBar/navMobileBar.js +67 -21
- package/dist/notification/notification.js +124 -21
- package/dist/pagination/paginationArrow.js +81 -11
- package/dist/pagination/paginationText/paginationText.js +45 -11
- package/dist/pill/components/pillNonActionable/pillNonActionable.js +93 -24
- package/dist/pillBox/components/pillBoxItem.js +52 -9
- package/dist/pillBox/pillBox.js +121 -20
- package/dist/pillExpandable/pillExpandable.js +333 -139
- package/dist/rangeRaw/rangeRaw.js +486 -141
- package/dist/rangeRaw/utils/rangeHelper.js +209 -39
- package/dist/searchInputRaw/searchInputRaw.js +180 -65
- package/dist/skeleton/skeleton.js +51 -6
- package/dist/sortControl/sortControl.js +152 -42
- package/dist/stepperRaw/stepperRaw.js +116 -42
- package/dist/summary/summary.js +94 -8
- package/dist/table/actions/actionsMenu.js +171 -78
- package/dist/table/flexible/columnSettings.js +80 -10
- package/dist/table/flexible/columnsList.js +110 -43
- package/dist/table/flexible/columnsPopup.js +77 -20
- package/dist/table/nested/useNestedRows.js +167 -77
- package/dist/table/selectable/selectableHeader.js +180 -41
- package/dist/table/selectable/useSelectableRows.js +270 -191
- package/dist/table/sortable/sortableHeader.js +153 -75
- package/dist/tabs/tabs.js +227 -118
- package/dist/timePickerRaw/timePickerRaw.js +278 -58
- package/dist/toastRaw/toastRaw.js +138 -32
- package/dist/toggleButton/toggleButton.d.ts +0 -1
- package/dist/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
- package/dist/toggleButtonRaw/toggleButtonRaw.js +146 -40
- package/dist/utils/formatDate.js +1001 -117
- package/{esm/utils/localization/translations/cs-json.js → dist/utils/localization/translations/cs.json} +11 -12
- package/{esm/utils/localization/translations/da-DK-json.js → dist/utils/localization/translations/da-DK.json} +31 -23
- package/{esm/utils/localization/translations/de-json.js → dist/utils/localization/translations/de.json} +12 -13
- package/dist/utils/localization/translations/en.json +308 -0
- package/{esm/utils/localization/translations/es-json.js → dist/utils/localization/translations/es.json} +11 -12
- package/{esm/utils/localization/translations/fi-FI-json.js → dist/utils/localization/translations/fi-FI.json} +31 -23
- package/{esm/utils/localization/translations/fr-FR-json.js → dist/utils/localization/translations/fr-FR.json} +12 -12
- package/{esm/utils/localization/translations/fr-json.js → dist/utils/localization/translations/fr.json} +11 -12
- package/{esm/utils/localization/translations/hu-HU-json.js → dist/utils/localization/translations/hu-HU.json} +31 -23
- package/{esm/utils/localization/translations/id-json.js → dist/utils/localization/translations/id.json} +11 -13
- package/{esm/utils/localization/translations/it-json.js → dist/utils/localization/translations/it.json} +11 -12
- package/{esm/utils/localization/translations/ja-json.js → dist/utils/localization/translations/ja.json} +11 -12
- package/{esm/utils/localization/translations/ko-KR-json.js → dist/utils/localization/translations/ko-KR.json} +24 -23
- package/{esm/utils/localization/translations/ms-json.js → dist/utils/localization/translations/ms.json} +11 -12
- package/{esm/utils/localization/translations/nb-NO-json.js → dist/utils/localization/translations/nb-NO.json} +31 -23
- package/{esm/utils/localization/translations/nl-json.js → dist/utils/localization/translations/nl.json} +11 -12
- package/{esm/utils/localization/translations/pl-json.js → dist/utils/localization/translations/pl.json} +11 -12
- package/{esm/utils/localization/translations/pt-BR-json.js → dist/utils/localization/translations/pt-BR.json} +11 -12
- package/{esm/utils/localization/translations/sk-SK-json.js → dist/utils/localization/translations/sk-SK.json} +31 -23
- package/{esm/utils/localization/translations/sv-json.js → dist/utils/localization/translations/sv.json} +11 -12
- package/{esm/utils/localization/translations/th-json.js → dist/utils/localization/translations/th.json} +11 -12
- package/{esm/utils/localization/translations/tr-json.js → dist/utils/localization/translations/tr.json} +11 -12
- package/{esm/utils/localization/translations/zh-Hans-json.js → dist/utils/localization/translations/zh-Hans.json} +11 -12
- package/{esm/utils/localization/translations/zh-TW-json.js → dist/utils/localization/translations/zh-TW.json} +11 -23
- package/dist/utils/localization/translationsDictionary.d.ts +2 -0
- package/dist/utils/localization/translationsDictionary.js +63 -0
- package/dist/utils/localization/useLanguage.js +2 -74
- package/esm/advancedGroupsFilter/advancedGroupsFilter.js +130 -29
- package/esm/advancedGroupsFilter/advancedGroupsFilterForm.js +133 -33
- package/esm/advancedGroupsFilter/advancedGroupsFilterFormSection.js +317 -65
- package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
- package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +77 -8
- package/esm/alertRaw/alertRaw.js +165 -51
- package/esm/banner/bannerMultipLine.js +121 -20
- package/esm/banner/bannerSingleLine.js +100 -13
- package/esm/betaPill/betaPill.js +105 -19
- package/esm/bookmark/bookmark.js +89 -27
- package/esm/bulkEditControl/bulkEditControl.js +161 -33
- package/esm/calendar/calendar.js +937 -272
- package/esm/calendar/calendarUtils.js +151 -84
- package/esm/card/card.js +233 -101
- package/esm/chart/accessibleChart/accessibleChartNarrative.js +642 -554
- package/esm/chart/accessibleChart/accessibleChartTable.js +239 -85
- package/esm/chart/chart.js +30 -20
- package/esm/chart/chartAxis/chartAxis.js +79 -6
- package/esm/checkboxListWithAction/checkboxListWithAction.js +218 -68
- package/esm/chip/chip.js +189 -90
- package/esm/columnsSelector/columnsSelector.js +91 -11
- package/esm/columnsSelector/columnsTab/columnsTab.js +53 -14
- package/esm/columnsSelector/columnsTabGroup/columnsTabGroup.js +75 -33
- package/esm/comboboxSelected/comboboxSelected.js +1 -3
- package/esm/dataFeed/feedExpandControl/feedExpandControl.js +21 -9
- package/esm/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +86 -10
- package/esm/dataGrid/dataGrid.js +221 -116
- package/esm/dataGrid/emptySearchList/emptySearchList.js +50 -8
- package/esm/dataGrid/entitiesListActions/actions/columnsListButton.js +45 -6
- package/esm/dataGrid/entitiesListActions/actions/fullscreenButton.js +58 -17
- package/esm/dataGrid/withFlexibleColumns/components/columnSettings.js +78 -9
- package/esm/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +44 -15
- package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +217 -31
- package/esm/dataGrid/withSelectableRows/withSelectableRows.js +280 -212
- package/esm/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +172 -94
- package/esm/dateInputInner/dateInputInner.js +785 -475
- package/esm/dateInputInner/dateInputInnerControlBlock.js +119 -21
- package/esm/dateInputRaw/dateInputRaw.js +309 -103
- package/esm/dateInputRaw/utils/getLabel.js +32 -6
- package/esm/dateRangeInner/dateRangeInner.js +167 -58
- package/esm/dateRangeRaw/dateRangeRaw.js +595 -238
- package/esm/dateRangeRaw/utils/dateRangeUtils.js +622 -239
- package/esm/dateSelectionWrapper/dateSelectionWrapper.js +146 -13
- package/esm/dialog/dialogContent.js +117 -39
- package/esm/dropdownRaw/dropdownHelper.d.ts +2 -2
- package/esm/dropdownRaw/dropdownHelper.js +10 -10
- package/esm/dropdownRaw/dropdownList.js +412 -56
- package/esm/dropdownRaw/dropdownPopup.js +212 -19
- package/esm/dropdownRaw/dropdownRaw.js +862 -507
- package/esm/dropdownRaw/dropdownSearchableTrigger.js +217 -45
- package/esm/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
- package/esm/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
- package/esm/dropdownRaw/stateReducer/stateActionType.js +1 -0
- package/esm/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
- package/esm/dropdownRaw/stateReducer/stateReducer.js +24 -12
- package/esm/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
- package/esm/dropdownRaw/stateReducer/stateReducerHelper.js +18 -0
- package/esm/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
- package/esm/dropdownRaw/stateReducer/stateReducerTestData.js +71 -0
- package/esm/dropdownRaw/types.d.ts +1 -0
- package/esm/favoriteButton/favoriteButton.js +53 -9
- package/esm/filters/components/filtersContainer.js +141 -61
- package/esm/filters/components/filtersEmptySelectedList.js +24 -3
- package/esm/filters/components/filtersSaveModal.js +134 -41
- package/esm/filters/components/filtersSavedChipComponent.js +312 -107
- package/esm/filters/components/filtersSearchItemData.js +121 -46
- package/esm/filters/components/filtersSearchList.js +375 -178
- package/esm/filters/components/filtersSelect.js +122 -60
- package/esm/filters/components/filtersSelectListItem.js +119 -12
- package/esm/filters/components/filtersSidePanel.js +504 -177
- package/esm/filters/components/filtersSidePanelDropdown.js +2 -2
- package/esm/filters/filters.js +435 -265
- package/esm/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +722 -270
- package/esm/filtersBar/components/resetComponentButton.js +39 -4
- package/esm/filtersBar/filtersBarActions/filtersBarActions.js +120 -14
- package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRadioGroup/filtersBarSidePanelRadioGroup.js +2 -2
- package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +149 -48
- package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +354 -103
- package/esm/filtersBar/filtersContainer/filtersContainer.js +198 -133
- package/esm/formField/components/formFieldWithLabel.d.ts +2 -1
- package/esm/formField/components/formFieldWithLabel.js +3 -2
- package/esm/formField/components/formFieldWithoutLabel.d.ts +2 -1
- package/esm/formField/components/formFieldWithoutLabel.js +3 -3
- package/esm/formField/components/trailingComponent.d.ts +8 -0
- package/esm/formField/components/trailingComponent.js +7 -0
- package/esm/formField/formField.js +27 -12
- package/esm/formField/hooks/useError.js +94 -35
- package/esm/formGroup/components/reviewListToggle/reviewListToggle.js +66 -6
- package/esm/formGroup/hooks/useToggle.js +31 -10
- package/esm/formGroup/utils/getControls.js +8 -7
- package/esm/formLayout/hooks/useError.js +49 -14
- package/esm/formLayout/hooks/useFormButtons.js +122 -26
- package/esm/formSection/components/formSectionModal.js +1 -1
- package/esm/formSection/formSection.js +1 -1
- package/esm/formSection/hooks/useError.js +64 -21
- package/esm/formStepper/components/formStep.js +59 -9
- package/esm/formStepper/formStepper.js +123 -32
- package/esm/formStepperButtons/formStepperButtons.js +178 -37
- package/esm/groupsFilter/groupsHelper.d.ts +1 -1
- package/esm/groupsFilterRaw/groupsFilterAdjustmentState.js +152 -14
- package/esm/groupsFilterRaw/groupsFilterBox.js +131 -31
- package/esm/groupsFilterRaw/groupsFilterCommon.js +69 -7
- package/esm/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +178 -24
- package/esm/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
- package/esm/groupsFilterRaw/groupsFilterHelper.js +279 -168
- package/esm/groupsFilterRaw/groupsFilterInitialState.js +260 -17
- package/esm/groupsFilterRaw/groupsFilterMenu.js +118 -8
- package/esm/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
- package/esm/groupsFilterRaw/groupsFilterRaw.js +811 -308
- package/esm/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
- package/esm/groupsFilterRaw/groupsFilterTestData.js +152 -57
- package/esm/groupsFilterRaw/groupsFilterTrigger.js +133 -34
- package/esm/groupsFilterRaw/groupsHelper.js +733 -207
- package/esm/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
- package/esm/groupsFilterRaw/types.d.ts +1 -0
- package/esm/header/components/collapsedItemsControl/collapsedItemsControl.js +101 -51
- package/esm/header/components/mobileFilterControl/mobileFilterControl.js +56 -8
- package/esm/header/components/mobileSearchControl/mobileSearchControl.js +113 -13
- package/esm/header/headerBack.js +58 -19
- package/esm/index.d.ts +1 -0
- package/esm/index.js +1 -0
- package/esm/list/itemData/itemDataInternal.js +210 -50
- package/esm/list/listItem/listItem.js +162 -54
- package/esm/menu/components/menuErrorItem.js +27 -4
- package/esm/mobileSheet/mobileSheet.js +189 -68
- package/esm/modal/modal.js +265 -120
- package/esm/nav/nav.js +1 -1
- package/esm/nav/navFooter/navFooter.js +76 -38
- package/esm/nav/navFooter/navFooterAction/navFooterAction.js +46 -12
- package/esm/nav/navHeader/navHeader.js +80 -35
- package/esm/nav/navHeader/navHeaderSearch/navHeaderSearch.js +82 -28
- package/esm/nav/navItem/navItem.d.ts +3 -3
- package/esm/nav/navItem/navItem.js +35 -33
- package/esm/nav/navMobileBar/navMobileBar.js +61 -20
- package/esm/notification/notification.js +114 -18
- package/esm/pagination/paginationArrow.js +75 -10
- package/esm/pagination/paginationText/paginationText.js +39 -10
- package/esm/pill/components/pillNonActionable/pillNonActionable.js +87 -23
- package/esm/pillBox/components/pillBoxItem.js +46 -8
- package/esm/pillBox/pillBox.js +115 -19
- package/esm/pillExpandable/pillExpandable.js +327 -138
- package/esm/rangeRaw/rangeRaw.js +480 -140
- package/esm/rangeRaw/utils/rangeHelper.js +203 -38
- package/esm/searchInputRaw/searchInputRaw.js +145 -43
- package/esm/skeleton/skeleton.js +45 -5
- package/esm/sortControl/sortControl.js +146 -41
- package/esm/stepperRaw/stepperRaw.js +112 -41
- package/esm/storybookHelpers/dataGridWithDifferentCellOptions/components/EntitiesListAction.js +178 -19
- package/esm/summary/summary.js +88 -7
- package/esm/table/actions/actionsMenu.js +165 -77
- package/esm/table/flexible/columnSettings.js +74 -9
- package/esm/table/flexible/columnsList.js +104 -42
- package/esm/table/flexible/columnsPopup.js +71 -19
- package/esm/table/nested/useNestedRows.js +161 -76
- package/esm/table/selectable/selectableHeader.js +174 -40
- package/esm/table/selectable/useSelectableRows.js +264 -190
- package/esm/table/sortable/sortableHeader.js +147 -74
- package/esm/tabs/tabs.js +221 -117
- package/esm/timePickerRaw/timePickerRaw.js +272 -57
- package/esm/toastRaw/toastRaw.js +132 -31
- package/esm/toggleButton/toggleButton.d.ts +0 -1
- package/esm/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
- package/esm/toggleButtonRaw/toggleButtonRaw.js +111 -18
- package/esm/utils/formatDate.js +995 -116
- package/{dist/utils/localization/translations/cs-json.js → esm/utils/localization/translations/cs.json} +11 -15
- package/{dist/utils/localization/translations/da-DK-json.js → esm/utils/localization/translations/da-DK.json} +31 -26
- package/{dist/utils/localization/translations/de-json.js → esm/utils/localization/translations/de.json} +12 -16
- package/esm/utils/localization/translations/en.json +308 -0
- package/{dist/utils/localization/translations/es-json.js → esm/utils/localization/translations/es.json} +11 -15
- package/{dist/utils/localization/translations/fi-FI-json.js → esm/utils/localization/translations/fi-FI.json} +31 -26
- package/{dist/utils/localization/translations/fr-FR-json.js → esm/utils/localization/translations/fr-FR.json} +12 -15
- package/{dist/utils/localization/translations/fr-json.js → esm/utils/localization/translations/fr.json} +11 -15
- package/{dist/utils/localization/translations/hu-HU-json.js → esm/utils/localization/translations/hu-HU.json} +31 -26
- package/{dist/utils/localization/translations/id-json.js → esm/utils/localization/translations/id.json} +11 -16
- package/{dist/utils/localization/translations/it-json.js → esm/utils/localization/translations/it.json} +11 -15
- package/{dist/utils/localization/translations/ja-json.js → esm/utils/localization/translations/ja.json} +11 -15
- package/{dist/utils/localization/translations/ko-KR-json.js → esm/utils/localization/translations/ko-KR.json} +24 -26
- package/{dist/utils/localization/translations/ms-json.js → esm/utils/localization/translations/ms.json} +11 -15
- package/{dist/utils/localization/translations/nb-NO-json.js → esm/utils/localization/translations/nb-NO.json} +31 -26
- package/{dist/utils/localization/translations/nl-json.js → esm/utils/localization/translations/nl.json} +11 -15
- package/{dist/utils/localization/translations/pl-json.js → esm/utils/localization/translations/pl.json} +11 -15
- package/{dist/utils/localization/translations/pt-BR-json.js → esm/utils/localization/translations/pt-BR.json} +11 -15
- package/{dist/utils/localization/translations/sk-SK-json.js → esm/utils/localization/translations/sk-SK.json} +31 -26
- package/{dist/utils/localization/translations/sv-json.js → esm/utils/localization/translations/sv.json} +11 -15
- package/{dist/utils/localization/translations/th-json.js → esm/utils/localization/translations/th.json} +11 -15
- package/{dist/utils/localization/translations/tr-json.js → esm/utils/localization/translations/tr.json} +11 -15
- package/{dist/utils/localization/translations/zh-Hans-json.js → esm/utils/localization/translations/zh-Hans.json} +11 -15
- package/{dist/utils/localization/translations/zh-TW-json.js → esm/utils/localization/translations/zh-TW.json} +11 -26
- package/esm/utils/localization/translationsDictionary.d.ts +2 -0
- package/esm/utils/localization/translationsDictionary.js +59 -0
- package/esm/utils/localization/useLanguage.js +1 -50
- package/package.json +19 -12
- package/dist/utils/localization/translations/cs-json.d.ts +0 -251
- package/dist/utils/localization/translations/da-DK-json.d.ts +0 -252
- package/dist/utils/localization/translations/de-json.d.ts +0 -251
- package/dist/utils/localization/translations/en-json.d.ts +0 -314
- package/dist/utils/localization/translations/en-json.js +0 -317
- package/dist/utils/localization/translations/es-json.d.ts +0 -251
- package/dist/utils/localization/translations/fi-FI-json.d.ts +0 -252
- package/dist/utils/localization/translations/fr-FR-json.d.ts +0 -250
- package/dist/utils/localization/translations/fr-json.d.ts +0 -251
- package/dist/utils/localization/translations/hu-HU-json.d.ts +0 -252
- package/dist/utils/localization/translations/id-json.d.ts +0 -252
- package/dist/utils/localization/translations/it-json.d.ts +0 -251
- package/dist/utils/localization/translations/ja-json.d.ts +0 -251
- package/dist/utils/localization/translations/ko-KR-json.d.ts +0 -258
- package/dist/utils/localization/translations/ms-json.d.ts +0 -251
- package/dist/utils/localization/translations/nb-NO-json.d.ts +0 -252
- package/dist/utils/localization/translations/nl-json.d.ts +0 -251
- package/dist/utils/localization/translations/pl-json.d.ts +0 -251
- package/dist/utils/localization/translations/pt-BR-json.d.ts +0 -251
- package/dist/utils/localization/translations/sk-SK-json.d.ts +0 -251
- package/dist/utils/localization/translations/sv-json.d.ts +0 -251
- package/dist/utils/localization/translations/th-json.d.ts +0 -251
- package/dist/utils/localization/translations/tr-json.d.ts +0 -251
- package/dist/utils/localization/translations/zh-Hans-json.d.ts +0 -251
- package/dist/utils/localization/translations/zh-TW-json.d.ts +0 -271
- package/esm/utils/localization/translations/cs-json.d.ts +0 -251
- package/esm/utils/localization/translations/da-DK-json.d.ts +0 -252
- package/esm/utils/localization/translations/de-json.d.ts +0 -251
- package/esm/utils/localization/translations/en-json.d.ts +0 -314
- package/esm/utils/localization/translations/en-json.js +0 -314
- package/esm/utils/localization/translations/es-json.d.ts +0 -251
- package/esm/utils/localization/translations/fi-FI-json.d.ts +0 -252
- package/esm/utils/localization/translations/fr-FR-json.d.ts +0 -250
- package/esm/utils/localization/translations/fr-json.d.ts +0 -251
- package/esm/utils/localization/translations/hu-HU-json.d.ts +0 -252
- package/esm/utils/localization/translations/id-json.d.ts +0 -252
- package/esm/utils/localization/translations/it-json.d.ts +0 -251
- package/esm/utils/localization/translations/ja-json.d.ts +0 -251
- package/esm/utils/localization/translations/ko-KR-json.d.ts +0 -258
- package/esm/utils/localization/translations/ms-json.d.ts +0 -251
- package/esm/utils/localization/translations/nb-NO-json.d.ts +0 -252
- package/esm/utils/localization/translations/nl-json.d.ts +0 -251
- package/esm/utils/localization/translations/pl-json.d.ts +0 -251
- package/esm/utils/localization/translations/pt-BR-json.d.ts +0 -251
- package/esm/utils/localization/translations/sk-SK-json.d.ts +0 -251
- package/esm/utils/localization/translations/sv-json.d.ts +0 -251
- package/esm/utils/localization/translations/th-json.d.ts +0 -251
- package/esm/utils/localization/translations/tr-json.d.ts +0 -251
- package/esm/utils/localization/translations/zh-Hans-json.d.ts +0 -251
- package/esm/utils/localization/translations/zh-TW-json.d.ts +0 -271
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { injectString } from "../../utils/localization/translationsDictionary";
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { classNames } from "../../commonHelpers/classNames/classNames";
|
|
3
4
|
import { Children, useMemo } from "react";
|
|
@@ -9,33 +10,77 @@ import { NavItem } from "../navItem/navItem";
|
|
|
9
10
|
import { useLanguage } from "../../utils/localization/useLanguage";
|
|
10
11
|
import { NavAddMenu } from "../navAddMenu/navAddMenu";
|
|
11
12
|
import { IconMenu } from "../../icons/iconMenu";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
injectString("en", "Expand Navigation", "Expand Navigation");
|
|
14
|
+
injectString("en", "Collapse Navigation", "Collapse Navigation");
|
|
15
|
+
const NavHeaderToggler = ({
|
|
16
|
+
className
|
|
17
|
+
}) => {
|
|
18
|
+
const {
|
|
19
|
+
collapsed,
|
|
20
|
+
onCollapseToggle
|
|
21
|
+
} = useNavContext();
|
|
22
|
+
const {
|
|
23
|
+
translate
|
|
24
|
+
} = useLanguage();
|
|
25
|
+
const isMobile = useMobile();
|
|
26
|
+
const title = collapsed ? translate("Expand Navigation") : translate("Collapse Navigation");
|
|
27
|
+
return isMobile ? null : _jsx("div", {
|
|
28
|
+
className: classNames(["zen-nav-header__toggler", className || ""]),
|
|
29
|
+
children: _jsx(NavItem, {
|
|
30
|
+
className: "zen-nav-header__button",
|
|
31
|
+
title: title,
|
|
32
|
+
primaryIcon: IconMenu,
|
|
33
|
+
collapsed: true,
|
|
34
|
+
isMenuItem: false,
|
|
35
|
+
onClick: () => onCollapseToggle && onCollapseToggle(!collapsed),
|
|
36
|
+
tooltipAlignment: collapsed ? "right" : "bottom"
|
|
37
|
+
}, "collapse-button")
|
|
38
|
+
});
|
|
20
39
|
};
|
|
21
40
|
NavHeaderToggler.displayName = "NavHeaderToggler";
|
|
22
|
-
const NavHeaderComponent = ({
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
41
|
+
const NavHeaderComponent = ({
|
|
42
|
+
className,
|
|
43
|
+
logo,
|
|
44
|
+
logoLink,
|
|
45
|
+
imgTitle,
|
|
46
|
+
collapsedLogo,
|
|
47
|
+
children
|
|
48
|
+
}) => {
|
|
49
|
+
const {
|
|
50
|
+
collapsed,
|
|
51
|
+
searchOpen
|
|
52
|
+
} = useNavContext();
|
|
53
|
+
const isLogoImageString = useMemo(() => isImageUrl(logo), [logo]);
|
|
54
|
+
const isCollapsedLogoImageString = useMemo(() => isImageUrl(collapsedLogo), [collapsedLogo]);
|
|
55
|
+
const logoElement = isLogoImageString ? _jsx("img", {
|
|
56
|
+
className: "zen-nav-header__logo-image",
|
|
57
|
+
src: logo,
|
|
58
|
+
alt: imgTitle
|
|
59
|
+
}) : logo;
|
|
60
|
+
const logoCollapsedElement = isCollapsedLogoImageString ? _jsx("img", {
|
|
61
|
+
className: "zen-nav-header__logo-image",
|
|
62
|
+
src: collapsedLogo,
|
|
63
|
+
alt: imgTitle
|
|
64
|
+
}) : collapsedLogo;
|
|
65
|
+
const logoImage = collapsed && collapsedLogo ? logoCollapsedElement : logoElement;
|
|
66
|
+
const logoToRender = logoImage && logoLink ? _jsx("a", {
|
|
67
|
+
href: logoLink,
|
|
68
|
+
className: "zen-nav-header__logo-link",
|
|
69
|
+
children: logoImage
|
|
70
|
+
}) : logoImage;
|
|
71
|
+
const navChildren = Children.toArray(children).filter(child => {
|
|
72
|
+
const element = child;
|
|
73
|
+
return element && element.type && (element.type.displayName === "NavHeaderSearch" || element.type.displayName === "NavHeaderActions" ||
|
|
74
|
+
// TODO: Left for backward compatibility, to be removed in future releases
|
|
75
|
+
element.type.displayName === "NavAddMenu");
|
|
76
|
+
});
|
|
77
|
+
return _jsxs("div", {
|
|
78
|
+
className: classNames(["zen-nav-header", collapsed ? "zen-nav-header--collapsed" : "", searchOpen ? "zen-nav-header--mode-search" : "", className || ""]),
|
|
79
|
+
children: [collapsed ? null : _jsx(NavHeaderToggler, {}), searchOpen ? null : logoToRender, _jsxs("div", {
|
|
80
|
+
className: "zen-nav-header__controls",
|
|
81
|
+
children: [collapsed ? _jsx(NavHeaderToggler, {}) : null, navChildren]
|
|
82
|
+
})]
|
|
83
|
+
});
|
|
39
84
|
};
|
|
40
85
|
/**
|
|
41
86
|
* @deprecated Use NavAddMenu instead. This component is left for backward compatibility and will be removed in future releases.
|
|
@@ -51,14 +96,14 @@ NavHeaderAction.displayName = "NavItem";
|
|
|
51
96
|
* @beta This component is not fully ready yet and may change in future releases.
|
|
52
97
|
*/
|
|
53
98
|
export const NavHeader = Object.assign(NavHeaderComponent, {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
99
|
+
/**
|
|
100
|
+
* @deprecated Use NavAddMenu instead. Will be removed in future releases.
|
|
101
|
+
*/
|
|
102
|
+
Actions: NavHeaderActions,
|
|
103
|
+
/**
|
|
104
|
+
* @deprecated Use NavItem instead. Will be removed in future releases.
|
|
105
|
+
*/
|
|
106
|
+
Action: NavHeaderAction,
|
|
107
|
+
Search: NavHeaderSearch
|
|
63
108
|
});
|
|
64
|
-
NavHeader.displayName = "NavHeader";
|
|
109
|
+
NavHeader.displayName = "NavHeader";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { injectString } from "../../../utils/localization/translationsDictionary";
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { useCallback } from "react";
|
|
3
4
|
import { useMobile } from "../../../commonHelpers/hooks/useMobile";
|
|
@@ -8,32 +9,85 @@ import { classNames } from "../../../commonHelpers/classNames/classNames";
|
|
|
8
9
|
import { IconSearch } from "../../../icons/iconSearch";
|
|
9
10
|
import { SearchInput } from "../../../searchInput/searchInput";
|
|
10
11
|
import { NavItem } from "../../navItem/navItem";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
12
|
+
injectString("cs", "Search", "Hledat");
|
|
13
|
+
injectString("da-DK", "Search", "S\xF8g");
|
|
14
|
+
injectString("de", "Search", "Suche");
|
|
15
|
+
injectString("en", "Search", "Search");
|
|
16
|
+
injectString("es", "Search", "Buscar");
|
|
17
|
+
injectString("fi-FI", "Search", "Etsi");
|
|
18
|
+
injectString("fr", "Search", "Rechercher");
|
|
19
|
+
injectString("fr-FR", "Search", "Rechercher");
|
|
20
|
+
injectString("hu-HU", "Search", "Keres\xE9s");
|
|
21
|
+
injectString("id", "Search", "Cari");
|
|
22
|
+
injectString("it", "Search", "Cercare");
|
|
23
|
+
injectString("ja", "Search", "\u691C\u7D22");
|
|
24
|
+
injectString("ko-KR", "Search", "\uAC80\uC0C9");
|
|
25
|
+
injectString("ms", "Search", "Cari");
|
|
26
|
+
injectString("nb-NO", "Search", "S\xF8k");
|
|
27
|
+
injectString("nl", "Search", "Zoeken");
|
|
28
|
+
injectString("pl", "Search", "Wyszukaj");
|
|
29
|
+
injectString("pt-BR", "Search", "Pesquisar");
|
|
30
|
+
injectString("sk-SK", "Search", "H\u013Eadaj.");
|
|
31
|
+
injectString("sv", "Search", "S\xF6k");
|
|
32
|
+
injectString("th", "Search", "\u0E04\u0E49\u0E19\u0E2B\u0E32");
|
|
33
|
+
injectString("tr", "Search", "Ara");
|
|
34
|
+
injectString("zh-Hans", "Search", "\u641C\u7D22");
|
|
35
|
+
injectString("zh-TW", "Search", "\u641C\u5C0B");
|
|
36
|
+
export const NavHeaderSearch = ({
|
|
37
|
+
className,
|
|
38
|
+
onSearch
|
|
39
|
+
}) => {
|
|
40
|
+
const isMobile = useMobile();
|
|
41
|
+
const {
|
|
42
|
+
searchOpen,
|
|
43
|
+
onSearchToggle,
|
|
44
|
+
searchTerm = "",
|
|
45
|
+
onSearch: contextOnSearch,
|
|
46
|
+
collapsed
|
|
47
|
+
} = useNavContext();
|
|
48
|
+
const {
|
|
49
|
+
translate
|
|
50
|
+
} = useLanguage();
|
|
51
|
+
const onSearchCallback = useCallback(term => {
|
|
52
|
+
onSearch === null || onSearch === void 0 ? void 0 : onSearch(term);
|
|
53
|
+
}, [onSearch]);
|
|
54
|
+
const debouncedSearch = useDebounce(onSearchCallback);
|
|
55
|
+
const handleChange = useCallback(term => {
|
|
56
|
+
contextOnSearch === null || contextOnSearch === void 0 ? void 0 : contextOnSearch(term);
|
|
57
|
+
debouncedSearch(term);
|
|
58
|
+
}, [debouncedSearch, contextOnSearch]);
|
|
59
|
+
const handleBlur = useCallback(() => {
|
|
60
|
+
// On desktop, close search if term is empty
|
|
61
|
+
if (!isMobile && !searchTerm.trim()) {
|
|
62
|
+
onSearchToggle === null || onSearchToggle === void 0 ? void 0 : onSearchToggle(false);
|
|
63
|
+
}
|
|
64
|
+
}, [isMobile, searchTerm, onSearchToggle]);
|
|
65
|
+
const handleKeyDown = useCallback(event => {
|
|
66
|
+
if (event.key === "Escape") {
|
|
67
|
+
handleChange("");
|
|
68
|
+
onSearchToggle === null || onSearchToggle === void 0 ? void 0 : onSearchToggle(false);
|
|
69
|
+
}
|
|
70
|
+
}, [handleChange, onSearchToggle]);
|
|
71
|
+
return _jsxs("div", {
|
|
72
|
+
className: classNames(["zen-nav-header-search", className || ""]),
|
|
73
|
+
children: [!searchOpen && !isMobile ? _jsx(NavItem, {
|
|
74
|
+
title: translate("Search"),
|
|
75
|
+
className: "zen-nav-header-search__button",
|
|
76
|
+
primaryIcon: IconSearch,
|
|
77
|
+
collapsed: true,
|
|
78
|
+
isMenuItem: false,
|
|
79
|
+
onClick: () => onSearchToggle === null || onSearchToggle === void 0 ? void 0 : onSearchToggle(true),
|
|
80
|
+
tooltipAlignment: collapsed ? "right" : "bottom"
|
|
81
|
+
}) : null, searchOpen || isMobile ? _jsx(SearchInput, {
|
|
82
|
+
autoFocus: true,
|
|
83
|
+
ariaLabel: translate("Search"),
|
|
84
|
+
value: searchTerm,
|
|
85
|
+
placeholder: translate("Search"),
|
|
86
|
+
className: "zen-nav-header-search__input",
|
|
87
|
+
onChange: handleChange,
|
|
88
|
+
onBlur: handleBlur,
|
|
89
|
+
onKeyDown: handleKeyDown
|
|
90
|
+
}) : null]
|
|
91
|
+
});
|
|
38
92
|
};
|
|
39
|
-
NavHeaderSearch.displayName = "NavHeaderSearch";
|
|
93
|
+
NavHeaderSearch.displayName = "NavHeaderSearch";
|
|
@@ -7,9 +7,9 @@ interface INavItemCommon extends IZenComponentProps {
|
|
|
7
7
|
title: string;
|
|
8
8
|
primaryIcon?: FC<IIcon> | ReactNode;
|
|
9
9
|
secondaryIcon?: FC<IIcon>;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
actionIcon?: FC<IIcon>;
|
|
11
|
+
actionIconTitle?: string;
|
|
12
|
+
onActionIconClick?: (e: React.MouseEvent) => void;
|
|
13
13
|
isBeta?: boolean;
|
|
14
14
|
counter?: string;
|
|
15
15
|
collapsed?: boolean;
|
|
@@ -24,44 +24,56 @@ const SUBMENU_ICON_SIZE = "large";
|
|
|
24
24
|
export const NavItemContext = createContext({ parentLevel: 0 });
|
|
25
25
|
const defaultTooltipAlignment = "right";
|
|
26
26
|
const isLinkNavItem = (item) => !!item.link;
|
|
27
|
-
const NavItemContent = ({ primaryIcon, secondaryIcon,
|
|
27
|
+
const NavItemContent = ({ primaryIcon, secondaryIcon, isBeta, counter, collapsed, hasSubmenu, iconClass, level = 1, children }) => {
|
|
28
28
|
const primaryIconRef = useRef(null);
|
|
29
29
|
const PrimaryIconComponent = typeof primaryIcon === "function" ? primaryIcon : null;
|
|
30
30
|
const SecondaryIconComponent = secondaryIcon;
|
|
31
|
-
const TertiaryIconComponent = tertiaryIcon;
|
|
32
31
|
const iconSize = level > 1 ? SUBMENU_ICON_SIZE : ICON_SIZE;
|
|
33
32
|
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;
|
|
34
|
-
|
|
33
|
+
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
|
+
const NavItemAction = ({ actionIcon, actionIconTitle = "", onActionIconClick, collapsed, level = 1 }) => {
|
|
36
|
+
const ActionIconComponent = actionIcon;
|
|
37
|
+
const iconSize = level > 1 ? SUBMENU_ICON_SIZE : ICON_SIZE;
|
|
38
|
+
if (!ActionIconComponent || collapsed) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const handleActionIconClick = (e) => {
|
|
35
42
|
e.stopPropagation();
|
|
36
|
-
|
|
43
|
+
onActionIconClick === null || onActionIconClick === void 0 ? void 0 : onActionIconClick(e);
|
|
37
44
|
};
|
|
38
|
-
return (
|
|
45
|
+
return (_jsx("button", { type: "button", className: "zen-nav-item__action", onClick: handleActionIconClick, "aria-label": actionIconTitle, title: actionIconTitle, children: _jsx(ActionIconComponent, { size: iconSize }) }));
|
|
39
46
|
};
|
|
47
|
+
const getWrapperClassName = ({ className, collapsed, active, isMobile, hasNested, isNested, isLink }) => classNames([
|
|
48
|
+
"zen-nav-item",
|
|
49
|
+
isLink ? "zen-nav-item--link" : "zen-nav-item--button",
|
|
50
|
+
isMobile ? "zen-nav-item--mobile" : "",
|
|
51
|
+
collapsed ? "zen-nav-item--collapsed" : "",
|
|
52
|
+
active ? "zen-nav-item--active" : "",
|
|
53
|
+
hasNested ? "zen-nav-item--has-nested" : "",
|
|
54
|
+
isNested ? "zen-nav-item--nested" : "",
|
|
55
|
+
className || ""
|
|
56
|
+
]);
|
|
40
57
|
const LinkNavItem = (_a) => {
|
|
41
|
-
var { className, title, collapsed, active, link, isExternalLink, tabIndex, isMenuItem = true, tooltipAlignment = defaultTooltipAlignment } = _a, rest = __rest(_a, ["className", "title", "collapsed", "active", "link", "isExternalLink", "tabIndex", "isMenuItem", "tooltipAlignment"]);
|
|
58
|
+
var { className, title, collapsed, active, link, isExternalLink, tabIndex, isMenuItem = true, tooltipAlignment = defaultTooltipAlignment, actionIcon, actionIconTitle, onActionIconClick } = _a, rest = __rest(_a, ["className", "title", "collapsed", "active", "link", "isExternalLink", "tabIndex", "isMenuItem", "tooltipAlignment", "actionIcon", "actionIconTitle", "onActionIconClick"]);
|
|
42
59
|
const isMobile = useMobile();
|
|
43
60
|
const { parentLevel = 0, closeParentMenu } = useContext(NavItemContext);
|
|
44
61
|
const { onNavigate } = useNavContext();
|
|
45
|
-
const
|
|
62
|
+
const currentLevel = parentLevel + 1;
|
|
63
|
+
const linkElement = (_jsx("a", { href: link, "aria-label": title, title: title, target: isExternalLink ? "_blank" : undefined, rel: isExternalLink ? "noopener noreferrer" : undefined, tabIndex: tabIndex, role: isMenuItem ? "menuitem" : undefined, onClick: () => {
|
|
46
64
|
closeParentMenu && closeParentMenu();
|
|
47
65
|
onNavigate && onNavigate();
|
|
48
|
-
}, className:
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
"zen-nav-item--link",
|
|
52
|
-
isMobile ? "zen-nav-item--mobile" : "",
|
|
53
|
-
collapsed ? "zen-nav-item--collapsed" : "",
|
|
54
|
-
active ? "zen-nav-item--active" : "",
|
|
55
|
-
className || ""
|
|
56
|
-
]), children: _jsxs(NavItemContent, Object.assign({ title: title, collapsed: collapsed, level: parentLevel + 1 }, 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] })) }));
|
|
57
|
-
return collapsed ? (_jsx(Tooltip, { trigger: item, alignment: tooltipAlignment, children: title })) : (item);
|
|
66
|
+
}, 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
|
+
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 })] }));
|
|
58
69
|
};
|
|
59
70
|
LinkNavItem.displayName = "LinkNavItem";
|
|
60
71
|
const ButtonNavItem = (_a) => {
|
|
61
|
-
var { className, title, onClick, collapsed, active, children, tabIndex, menuAlignment = "right-top", isMenuItem = true, tooltipAlignment = defaultTooltipAlignment } = _a, rest = __rest(_a, ["className", "title", "onClick", "collapsed", "active", "children", "tabIndex", "menuAlignment", "isMenuItem", "tooltipAlignment"]);
|
|
72
|
+
var { className, title, onClick, collapsed, active, children, tabIndex, menuAlignment = "right-top", isMenuItem = true, tooltipAlignment = defaultTooltipAlignment, actionIcon, actionIconTitle, onActionIconClick } = _a, rest = __rest(_a, ["className", "title", "onClick", "collapsed", "active", "children", "tabIndex", "menuAlignment", "isMenuItem", "tooltipAlignment", "actionIcon", "actionIconTitle", "onActionIconClick"]);
|
|
62
73
|
const [menuOpen, setMenuOpen] = useState(false);
|
|
63
74
|
const { parentLevel = 0, closeParentMenu } = useContext(NavItemContext);
|
|
64
75
|
const triggerRef = useRef(null);
|
|
76
|
+
const currentLevel = parentLevel + 1;
|
|
65
77
|
const validChildren = Children.toArray(children).filter(child => {
|
|
66
78
|
const element = child;
|
|
67
79
|
return element.type && element.type.displayName === "NavItem";
|
|
@@ -84,20 +96,11 @@ const ButtonNavItem = (_a) => {
|
|
|
84
96
|
}
|
|
85
97
|
};
|
|
86
98
|
const isMobile = useMobile();
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
"zen-nav-item--button",
|
|
90
|
-
isMobile ? "zen-nav-item--mobile" : "",
|
|
91
|
-
collapsed ? "zen-nav-item--collapsed" : "",
|
|
92
|
-
active ? "zen-nav-item--active" : "",
|
|
93
|
-
hasNestedItems ? "zen-nav-item--has-nested" : "",
|
|
94
|
-
hasNestedItems && menuOpen ? "zen-nav-item--active" : "",
|
|
95
|
-
className || ""
|
|
96
|
-
]), onClick: handleClick, onKeyDown: handleKeyPress, children: _jsx(NavItemContent, Object.assign({ title: title, collapsed: collapsed, hasSubmenu: hasNestedItems, level: parentLevel + 1 }, rest, { children: _jsx("span", { className: "zen-nav-item__title-text", children: title }) })) }));
|
|
99
|
+
const isActive = active || (hasNestedItems && menuOpen);
|
|
100
|
+
const buttonElement = (_jsx("button", { 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 }) })) }));
|
|
97
101
|
const trigger = collapsed ? (_jsx(Tooltip, { trigger: buttonElement, alignment: tooltipAlignment, children: title })) : (buttonElement);
|
|
98
102
|
if (hasNestedItems) {
|
|
99
103
|
// Process children to add appropriate level classes while allowing unlimited nesting
|
|
100
|
-
const currentLevel = parentLevel + 1;
|
|
101
104
|
const childLevel = currentLevel + 1;
|
|
102
105
|
const processedChildren = validChildren.map(child => {
|
|
103
106
|
const childElement = child;
|
|
@@ -115,9 +118,9 @@ const ButtonNavItem = (_a) => {
|
|
|
115
118
|
setMenuOpen(false);
|
|
116
119
|
closeParentMenu && closeParentMenu();
|
|
117
120
|
};
|
|
118
|
-
return (_jsxs(
|
|
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 }) })] }));
|
|
119
122
|
}
|
|
120
|
-
return trigger;
|
|
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 })] }));
|
|
121
124
|
};
|
|
122
125
|
ButtonNavItem.displayName = "ButtonNavItem";
|
|
123
126
|
/**
|
|
@@ -126,7 +129,6 @@ ButtonNavItem.displayName = "ButtonNavItem";
|
|
|
126
129
|
export const NavItem = (props) => {
|
|
127
130
|
const isLink = isLinkNavItem(props);
|
|
128
131
|
const { collapsed } = useNavContext();
|
|
129
|
-
return isLink ? (_jsx(LinkNavItem, Object.assign({ collapsed: collapsed }, props))
|
|
130
|
-
) : (_jsx(ButtonNavItem, Object.assign({ collapsed: collapsed }, props)));
|
|
132
|
+
return isLink ? (_jsx(LinkNavItem, Object.assign({ collapsed: collapsed }, props))) : (_jsx(ButtonNavItem, Object.assign({ collapsed: collapsed }, props)));
|
|
131
133
|
};
|
|
132
134
|
NavItem.displayName = "NavItem";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { injectString } from "../../utils/localization/translationsDictionary";
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { Children, cloneElement } from "react";
|
|
3
4
|
import { classNames } from "../../commonHelpers/classNames/classNames";
|
|
@@ -9,23 +10,63 @@ import { generateId } from "../../commonHelpers/generateId";
|
|
|
9
10
|
/**
|
|
10
11
|
* @beta This component is not fully ready yet and may change in future releases.
|
|
11
12
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
13
|
+
injectString("cs", "More", "V\xEDce");
|
|
14
|
+
injectString("da-DK", "More", "Mere");
|
|
15
|
+
injectString("de", "More", "Mehr");
|
|
16
|
+
injectString("en", "More", "More");
|
|
17
|
+
injectString("es", "More", "M\xE1s");
|
|
18
|
+
injectString("fi-FI", "More", "Lis\xE4\xE4");
|
|
19
|
+
injectString("fr", "More", "Plus");
|
|
20
|
+
injectString("fr-FR", "More", "En savoir plus");
|
|
21
|
+
injectString("hu-HU", "More", "M\xE9g t\xF6bb.");
|
|
22
|
+
injectString("id", "More", "Lainnya");
|
|
23
|
+
injectString("it", "More", "Altro");
|
|
24
|
+
injectString("ja", "More", "\u305D\u306E\u4ED6");
|
|
25
|
+
injectString("ko-KR", "More", "\uC790\uC138\uD788");
|
|
26
|
+
injectString("ms", "More", "Lagi");
|
|
27
|
+
injectString("nb-NO", "More", "Mer");
|
|
28
|
+
injectString("nl", "More", "Meer");
|
|
29
|
+
injectString("pl", "More", "Wi\u0119cej");
|
|
30
|
+
injectString("pt-BR", "More", "Mais");
|
|
31
|
+
injectString("sk-SK", "More", "Viac");
|
|
32
|
+
injectString("sv", "More", "Mer");
|
|
33
|
+
injectString("th", "More", "\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21");
|
|
34
|
+
injectString("tr", "More", "Di\u011Fer");
|
|
35
|
+
injectString("zh-Hans", "More", "\u66F4\u591A");
|
|
36
|
+
injectString("zh-TW", "More", "\u66F4\u591A");
|
|
37
|
+
export const NavMobileBar = ({
|
|
38
|
+
className,
|
|
39
|
+
children,
|
|
40
|
+
isMenuOpen,
|
|
41
|
+
onMenuToggle
|
|
42
|
+
}) => {
|
|
43
|
+
const {
|
|
44
|
+
translate
|
|
45
|
+
} = useLanguage();
|
|
46
|
+
const mobileBarClassNames = classNames(["zen-nav-mobile-bar", className !== null && className !== void 0 ? className : ""]);
|
|
47
|
+
const items = Children.toArray(children).filter(child => {
|
|
48
|
+
const element = child;
|
|
49
|
+
return element.type && element.type.displayName === "NavItem";
|
|
50
|
+
}).map(child => {
|
|
51
|
+
const element = child;
|
|
52
|
+
const existingClassName = element.props.className || "";
|
|
53
|
+
const key = generateId();
|
|
54
|
+
return cloneElement(element, Object.assign(Object.assign({}, element.props), {
|
|
55
|
+
key,
|
|
56
|
+
collapsed: true,
|
|
57
|
+
className: classNames([existingClassName, "zen-nav-item--mobile-bar"]),
|
|
58
|
+
tooltipAlignment: "top"
|
|
59
|
+
}));
|
|
60
|
+
});
|
|
61
|
+
return _jsxs("div", {
|
|
62
|
+
className: mobileBarClassNames,
|
|
63
|
+
children: [items, _jsx(NavItem, {
|
|
64
|
+
className: "zen-nav-item--mobile-bar",
|
|
65
|
+
title: translate("More"),
|
|
66
|
+
primaryIcon: isMenuOpen ? IconClose : IconMenu,
|
|
67
|
+
collapsed: true,
|
|
68
|
+
onClick: onMenuToggle,
|
|
69
|
+
tooltipAlignment: "top"
|
|
70
|
+
}, "nav-mobile-bar-more-button")]
|
|
71
|
+
});
|
|
72
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { injectString } from "../utils/localization/translationsDictionary";
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { createElement, useCallback } from "react";
|
|
3
4
|
import PushNotification from "./pushNotification/pushNotification";
|
|
@@ -10,22 +11,117 @@ import { IconHexonalWarning } from "../icons/iconHexonalWarning";
|
|
|
10
11
|
import { IconCheckRadio } from "../icons/iconCheckRadio";
|
|
11
12
|
import { IconDiamondWarning } from "../icons/iconDiamondWarning";
|
|
12
13
|
import { useLanguage } from "../utils/localization/useLanguage";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
injectString("cs", "Close", "Zav\u0159\xEDt");
|
|
15
|
+
injectString("da-DK", "Close", "Luk");
|
|
16
|
+
injectString("de", "Close", "Schlie\xDFen");
|
|
17
|
+
injectString("en", "Close", "Close");
|
|
18
|
+
injectString("es", "Close", "Cerrar");
|
|
19
|
+
injectString("fi-FI", "Close", "Sulje");
|
|
20
|
+
injectString("fr", "Close", "Fermer");
|
|
21
|
+
injectString("fr-FR", "Close", "Fermer");
|
|
22
|
+
injectString("hu-HU", "Close", "Z\xE1rd be.");
|
|
23
|
+
injectString("id", "Close", "Tutup");
|
|
24
|
+
injectString("it", "Close", "Chiudere");
|
|
25
|
+
injectString("ja", "Close", "\u9589\u3058\u308B");
|
|
26
|
+
injectString("ko-KR", "Close", "\uB2EB\uAE30");
|
|
27
|
+
injectString("ms", "Close", "Tutup");
|
|
28
|
+
injectString("nb-NO", "Close", "Lukk");
|
|
29
|
+
injectString("nl", "Close", "Sluiten");
|
|
30
|
+
injectString("pl", "Close", "Zamknij");
|
|
31
|
+
injectString("pt-BR", "Close", "Fechar");
|
|
32
|
+
injectString("sk-SK", "Close", "Zatvor");
|
|
33
|
+
injectString("sv", "Close", "St\xE4ng");
|
|
34
|
+
injectString("th", "Close", "\u0E1B\u0E34\u0E14");
|
|
35
|
+
injectString("tr", "Close", "Kapat");
|
|
36
|
+
injectString("zh-Hans", "Close", "\u5173\u95ED");
|
|
37
|
+
injectString("zh-TW", "Close", "\u95DC\u9589");
|
|
38
|
+
export const Notification = ({
|
|
39
|
+
id,
|
|
40
|
+
isCollapsible = true,
|
|
41
|
+
type,
|
|
42
|
+
title,
|
|
43
|
+
text,
|
|
44
|
+
footerButtons,
|
|
45
|
+
className,
|
|
46
|
+
onClose,
|
|
47
|
+
isOpen = true,
|
|
48
|
+
ref
|
|
49
|
+
}) => {
|
|
50
|
+
const getIcon = useCallback(t => {
|
|
51
|
+
switch (t) {
|
|
52
|
+
case "error":
|
|
53
|
+
return IconHexonalWarning;
|
|
54
|
+
case "success":
|
|
55
|
+
return IconCheckRadio;
|
|
56
|
+
case "warning":
|
|
57
|
+
return IconDiamondWarning;
|
|
58
|
+
case "info":
|
|
59
|
+
default:
|
|
60
|
+
return IconInfoCircle;
|
|
61
|
+
}
|
|
62
|
+
}, []);
|
|
63
|
+
const {
|
|
64
|
+
translate
|
|
65
|
+
} = useLanguage();
|
|
66
|
+
return _jsx(PushNotification, {
|
|
67
|
+
isOpen: isOpen,
|
|
68
|
+
children: _jsxs("div", {
|
|
69
|
+
ref: ref,
|
|
70
|
+
className: `zen-push zen-push--${type || "info"} ${className || ""}`,
|
|
71
|
+
id: id,
|
|
72
|
+
children: [_jsxs("div", {
|
|
73
|
+
className: "zen-push__content",
|
|
74
|
+
children: [_jsxs("div", {
|
|
75
|
+
className: "zen-push__header",
|
|
76
|
+
children: [_jsx("div", {
|
|
77
|
+
className: "zen-push__icon",
|
|
78
|
+
children: createElement(getIcon(type || "info"), {
|
|
79
|
+
size: "huge",
|
|
80
|
+
className: `zen-push__icon--${type || "info"}`
|
|
81
|
+
})
|
|
82
|
+
}), _jsx("div", {
|
|
83
|
+
className: `zen-push__title zen-push__title--${type || "info"}`,
|
|
84
|
+
children: title
|
|
85
|
+
})]
|
|
86
|
+
}), _jsxs("div", {
|
|
87
|
+
className: "zen-push__body",
|
|
88
|
+
children: [_jsx("div", {
|
|
89
|
+
className: "zen-push__text",
|
|
90
|
+
children: text
|
|
91
|
+
}), _jsx("div", {
|
|
92
|
+
className: "zen-push__body-buttons",
|
|
93
|
+
children: footerButtons && _jsxs("div", {
|
|
94
|
+
className: "zen-push__body-buttons",
|
|
95
|
+
children: [footerButtons.teritary && _jsx(Button, {
|
|
96
|
+
title: footerButtons.teritary.title,
|
|
97
|
+
type: ButtonType.Tertiary,
|
|
98
|
+
className: `zen-push__button zen-push__tertiary-button zen-push__tertiary-button--${type || "info"}`,
|
|
99
|
+
onClick: footerButtons.teritary.onClick,
|
|
100
|
+
link: footerButtons.teritary.link,
|
|
101
|
+
children: footerButtons.teritary.text
|
|
102
|
+
}), footerButtons.primary && _jsx(Button, {
|
|
103
|
+
onClick: footerButtons.primary.onClick,
|
|
104
|
+
link: footerButtons.primary.link,
|
|
105
|
+
className: "zen-push__button zen-push__primary-button zen-push__primary-button--" + (type || "info"),
|
|
106
|
+
title: footerButtons.primary.title,
|
|
107
|
+
type: ButtonType.Primary,
|
|
108
|
+
children: footerButtons.primary.text
|
|
109
|
+
})]
|
|
110
|
+
})
|
|
111
|
+
})]
|
|
112
|
+
})]
|
|
113
|
+
}), isCollapsible && _jsx("div", {
|
|
114
|
+
className: "zen-push__actions",
|
|
115
|
+
children: _jsx("button", {
|
|
116
|
+
type: "button",
|
|
117
|
+
className: classNames(["zen-push__close-button", `zen-push__close-button--${type || "info"}`]),
|
|
118
|
+
onClick: onClose,
|
|
119
|
+
title: translate("Close"),
|
|
120
|
+
"aria-label": translate("Close"),
|
|
121
|
+
children: _jsx(IconCrossThin, {})
|
|
122
|
+
})
|
|
123
|
+
})]
|
|
124
|
+
})
|
|
125
|
+
});
|
|
28
126
|
};
|
|
29
|
-
export const TRANSLATIONS = [
|
|
30
|
-
"Close"
|
|
31
|
-
];
|
|
127
|
+
export const TRANSLATIONS = ["Close"];
|