@geotab/zenith 3.1.1-beta.5 → 3.2.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.
Files changed (442) hide show
  1. package/README.md +20 -0
  2. package/dist/advancedGroupsFilter/advancedGroupsFilter.js +136 -30
  3. package/dist/advancedGroupsFilter/advancedGroupsFilterForm.js +139 -34
  4. package/dist/advancedGroupsFilter/advancedGroupsFilterFormSection.js +352 -87
  5. package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
  6. package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +83 -9
  7. package/dist/alertRaw/alertRaw.js +175 -54
  8. package/dist/banner/bannerMultipLine.js +131 -23
  9. package/dist/banner/bannerSingleLine.js +110 -16
  10. package/dist/betaPill/betaPill.js +111 -20
  11. package/dist/bookmark/bookmark.js +95 -28
  12. package/dist/bulkEditControl/bulkEditControl.js +167 -34
  13. package/dist/calendar/calendar.js +943 -273
  14. package/dist/calendar/calendarUtils.js +157 -85
  15. package/dist/card/card.js +268 -123
  16. package/dist/chart/accessibleChart/accessibleChartNarrative.js +648 -555
  17. package/dist/chart/accessibleChart/accessibleChartTable.js +245 -86
  18. package/dist/chart/chart.js +36 -21
  19. package/dist/chart/chartAxis/chartAxis.js +85 -7
  20. package/dist/checkboxListWithAction/checkboxListWithAction.js +224 -69
  21. package/dist/chip/chip.js +195 -91
  22. package/dist/columnsSelector/columnsSelector.js +97 -12
  23. package/dist/columnsSelector/columnsTab/columnsTab.js +59 -15
  24. package/dist/columnsSelector/columnsTabGroup/columnsTabGroup.js +81 -34
  25. package/dist/comboboxSelected/comboboxSelected.js +1 -3
  26. package/dist/dataFeed/feedExpandControl/feedExpandControl.js +25 -10
  27. package/dist/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +92 -11
  28. package/dist/dataGrid/dataGrid.js +227 -117
  29. package/dist/dataGrid/emptySearchList/emptySearchList.js +56 -9
  30. package/dist/dataGrid/entitiesListActions/actions/columnsListButton.js +51 -7
  31. package/dist/dataGrid/entitiesListActions/actions/fullscreenButton.js +64 -18
  32. package/dist/dataGrid/withFlexibleColumns/components/columnSettings.js +84 -10
  33. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +48 -16
  34. package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +223 -32
  35. package/dist/dataGrid/withSelectableRows/withSelectableRows.js +286 -213
  36. package/dist/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +178 -95
  37. package/dist/dateInputInner/dateInputInner.js +791 -476
  38. package/dist/dateInputInner/dateInputInnerControlBlock.js +125 -22
  39. package/dist/dateInputRaw/dateInputRaw.js +315 -104
  40. package/dist/dateInputRaw/utils/getLabel.js +38 -7
  41. package/dist/dateRangeInner/dateRangeInner.js +172 -58
  42. package/dist/dateRangeRaw/dateRangeRaw.js +601 -239
  43. package/dist/dateRangeRaw/utils/dateRangeUtils.js +629 -241
  44. package/dist/dateSelectionWrapper/dateSelectionWrapper.js +152 -14
  45. package/dist/dialog/dialogContent.js +123 -40
  46. package/dist/dropdownRaw/dropdownHelper.d.ts +2 -2
  47. package/dist/dropdownRaw/dropdownHelper.js +9 -9
  48. package/dist/dropdownRaw/dropdownList.js +447 -78
  49. package/dist/dropdownRaw/dropdownPopup.js +218 -20
  50. package/dist/dropdownRaw/dropdownRaw.js +866 -506
  51. package/dist/dropdownRaw/dropdownSearchableTrigger.js +223 -46
  52. package/dist/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
  53. package/dist/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
  54. package/dist/dropdownRaw/stateReducer/stateActionType.js +1 -0
  55. package/dist/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
  56. package/dist/dropdownRaw/stateReducer/stateReducer.js +24 -12
  57. package/dist/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
  58. package/dist/dropdownRaw/stateReducer/stateReducerHelper.js +20 -1
  59. package/dist/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
  60. package/dist/dropdownRaw/stateReducer/stateReducerTestData.js +74 -0
  61. package/dist/dropdownRaw/types.d.ts +1 -0
  62. package/dist/favoriteButton/favoriteButton.js +59 -10
  63. package/dist/filters/components/filtersContainer.js +151 -64
  64. package/dist/filters/components/filtersEmptySelectedList.js +30 -4
  65. package/dist/filters/components/filtersSaveModal.js +140 -42
  66. package/dist/filters/components/filtersSavedChipComponent.js +318 -108
  67. package/dist/filters/components/filtersSearchItemData.js +127 -47
  68. package/dist/filters/components/filtersSearchList.js +381 -179
  69. package/dist/filters/components/filtersSelect.js +128 -61
  70. package/dist/filters/components/filtersSelectListItem.js +125 -13
  71. package/dist/filters/components/filtersSidePanel.js +510 -178
  72. package/dist/filters/filters.js +445 -268
  73. package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +729 -272
  74. package/dist/filtersBar/components/resetComponentButton.js +45 -5
  75. package/dist/filtersBar/filtersBarActions/filtersBarActions.js +126 -15
  76. package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +155 -49
  77. package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +360 -104
  78. package/dist/filtersBar/filtersContainer/filtersContainer.js +204 -134
  79. package/dist/formField/components/formFieldWithLabel.d.ts +2 -1
  80. package/dist/formField/components/formFieldWithLabel.js +3 -2
  81. package/dist/formField/components/formFieldWithoutLabel.d.ts +2 -1
  82. package/dist/formField/components/formFieldWithoutLabel.js +3 -3
  83. package/dist/formField/components/trailingComponent.d.ts +8 -0
  84. package/dist/formField/components/trailingComponent.js +11 -0
  85. package/dist/formField/formField.d.ts +0 -1
  86. package/dist/formField/formField.js +15 -16
  87. package/dist/formField/hooks/useError.js +100 -36
  88. package/dist/formGroup/components/reviewListToggle/reviewListToggle.js +72 -7
  89. package/dist/formGroup/hooks/useToggle.js +37 -11
  90. package/dist/formGroup/utils/getControls.js +8 -7
  91. package/dist/formLayout/hooks/useError.js +55 -15
  92. package/dist/formLayout/hooks/useFormButtons.js +128 -27
  93. package/dist/formSection/components/formSectionModal.js +1 -1
  94. package/dist/formSection/formSection.js +1 -1
  95. package/dist/formSection/hooks/useError.js +70 -22
  96. package/dist/formStepper/components/formStep.js +65 -10
  97. package/dist/formStepper/formStepper.js +129 -33
  98. package/dist/formStepperButtons/formStepperButtons.js +184 -38
  99. package/dist/groupsFilter/groupsFilterTestData.d.ts +37 -0
  100. package/dist/groupsFilter/groupsFilterTestData.js +7 -0
  101. package/dist/groupsFilter/groupsHelper.d.ts +24 -1
  102. package/dist/groupsFilter/groupsHelper.js +25 -15
  103. package/dist/groupsFilterRaw/groupsFilterAdjustmentState.js +162 -17
  104. package/dist/groupsFilterRaw/groupsFilterBox.js +137 -32
  105. package/dist/groupsFilterRaw/groupsFilterCommon.js +75 -8
  106. package/dist/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +184 -25
  107. package/dist/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  108. package/dist/groupsFilterRaw/groupsFilterHelper.js +284 -168
  109. package/dist/groupsFilterRaw/groupsFilterInitialState.js +266 -18
  110. package/dist/groupsFilterRaw/groupsFilterMenu.js +124 -9
  111. package/dist/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  112. package/dist/groupsFilterRaw/groupsFilterRaw.js +816 -308
  113. package/dist/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  114. package/dist/groupsFilterRaw/groupsFilterTestData.js +153 -58
  115. package/dist/groupsFilterRaw/groupsFilterTrigger.js +139 -35
  116. package/dist/groupsFilterRaw/groupsHelper.js +739 -208
  117. package/dist/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  118. package/dist/groupsFilterRaw/types.d.ts +1 -0
  119. package/dist/header/components/collapsedItemsControl/collapsedItemsControl.js +107 -52
  120. package/dist/header/components/mobileFilterControl/mobileFilterControl.js +62 -9
  121. package/dist/header/components/mobileSearchControl/mobileSearchControl.js +119 -14
  122. package/dist/header/headerBack.js +64 -20
  123. package/dist/index.css +110 -71
  124. package/dist/index.d.ts +2 -1
  125. package/dist/index.js +5 -2
  126. package/dist/list/itemData/itemDataInternal.js +216 -51
  127. package/dist/list/listItem/listItem.js +168 -55
  128. package/dist/menu/components/menuErrorItem.js +33 -5
  129. package/dist/mobileSheet/mobileSheet.js +195 -69
  130. package/dist/modal/modal.js +300 -142
  131. package/dist/nav/nav.js +1 -1
  132. package/dist/nav/navFooter/navFooter.js +82 -39
  133. package/dist/nav/navFooter/navFooterAction/navFooterAction.js +52 -13
  134. package/dist/nav/navHeader/navHeader.js +86 -36
  135. package/dist/nav/navHeader/navHeaderSearch/navHeaderSearch.js +88 -29
  136. package/dist/nav/navItem/navItem.d.ts +3 -3
  137. package/dist/nav/navItem/navItem.js +35 -33
  138. package/dist/nav/navMobileBar/navMobileBar.js +67 -21
  139. package/dist/notification/notification.js +124 -21
  140. package/dist/pagination/paginationArrow.js +81 -11
  141. package/dist/pagination/paginationText/paginationText.js +45 -11
  142. package/dist/pill/components/pillNonActionable/pillNonActionable.js +93 -24
  143. package/dist/pillBox/components/pillBoxItem.js +52 -9
  144. package/dist/pillBox/pillBox.js +121 -20
  145. package/dist/pillExpandable/pillExpandable.js +333 -139
  146. package/dist/rangeRaw/rangeRaw.js +486 -141
  147. package/dist/rangeRaw/utils/rangeHelper.js +209 -39
  148. package/dist/searchInputRaw/searchInputRaw.js +180 -65
  149. package/dist/skeleton/skeleton.js +51 -6
  150. package/dist/sortControl/sortControl.js +152 -42
  151. package/dist/stepperRaw/stepperRaw.js +116 -42
  152. package/dist/summary/summary.js +94 -8
  153. package/dist/table/actions/actionsMenu.js +171 -78
  154. package/dist/table/flexible/columnSettings.js +80 -10
  155. package/dist/table/flexible/columnsList.js +110 -43
  156. package/dist/table/flexible/columnsPopup.js +77 -20
  157. package/dist/table/nested/useNestedRows.js +167 -77
  158. package/dist/table/selectable/selectableHeader.js +180 -41
  159. package/dist/table/selectable/useSelectableRows.js +270 -191
  160. package/dist/table/sortable/sortableHeader.js +153 -75
  161. package/dist/tabs/tabs.js +227 -118
  162. package/dist/timePickerRaw/timePickerRaw.js +278 -58
  163. package/dist/toastRaw/toastRaw.js +138 -32
  164. package/dist/toggleButton/toggleButton.d.ts +0 -1
  165. package/dist/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  166. package/dist/toggleButtonRaw/toggleButtonRaw.js +146 -40
  167. package/dist/utils/formatDate.js +1001 -117
  168. package/{esm/utils/localization/translations/cs-json.js → dist/utils/localization/translations/cs.json} +11 -12
  169. package/{esm/utils/localization/translations/da-DK-json.js → dist/utils/localization/translations/da-DK.json} +31 -23
  170. package/{esm/utils/localization/translations/de-json.js → dist/utils/localization/translations/de.json} +12 -13
  171. package/dist/utils/localization/translations/en.json +308 -0
  172. package/{esm/utils/localization/translations/es-json.js → dist/utils/localization/translations/es.json} +11 -12
  173. package/{esm/utils/localization/translations/fi-FI-json.js → dist/utils/localization/translations/fi-FI.json} +31 -23
  174. package/{esm/utils/localization/translations/fr-FR-json.js → dist/utils/localization/translations/fr-FR.json} +12 -12
  175. package/{esm/utils/localization/translations/fr-json.js → dist/utils/localization/translations/fr.json} +11 -12
  176. package/{esm/utils/localization/translations/hu-HU-json.js → dist/utils/localization/translations/hu-HU.json} +31 -23
  177. package/{esm/utils/localization/translations/id-json.js → dist/utils/localization/translations/id.json} +11 -13
  178. package/{esm/utils/localization/translations/it-json.js → dist/utils/localization/translations/it.json} +11 -12
  179. package/{esm/utils/localization/translations/ja-json.js → dist/utils/localization/translations/ja.json} +11 -12
  180. package/{esm/utils/localization/translations/ko-KR-json.js → dist/utils/localization/translations/ko-KR.json} +24 -23
  181. package/{esm/utils/localization/translations/ms-json.js → dist/utils/localization/translations/ms.json} +11 -12
  182. package/{esm/utils/localization/translations/nb-NO-json.js → dist/utils/localization/translations/nb-NO.json} +31 -23
  183. package/{esm/utils/localization/translations/nl-json.js → dist/utils/localization/translations/nl.json} +11 -12
  184. package/{esm/utils/localization/translations/pl-json.js → dist/utils/localization/translations/pl.json} +11 -12
  185. package/{esm/utils/localization/translations/pt-BR-json.js → dist/utils/localization/translations/pt-BR.json} +11 -12
  186. package/{esm/utils/localization/translations/sk-SK-json.js → dist/utils/localization/translations/sk-SK.json} +31 -23
  187. package/{esm/utils/localization/translations/sv-json.js → dist/utils/localization/translations/sv.json} +11 -12
  188. package/{esm/utils/localization/translations/th-json.js → dist/utils/localization/translations/th.json} +11 -12
  189. package/{esm/utils/localization/translations/tr-json.js → dist/utils/localization/translations/tr.json} +11 -12
  190. package/{esm/utils/localization/translations/zh-Hans-json.js → dist/utils/localization/translations/zh-Hans.json} +11 -12
  191. package/{esm/utils/localization/translations/zh-TW-json.js → dist/utils/localization/translations/zh-TW.json} +11 -23
  192. package/dist/utils/localization/translationsDictionary.d.ts +2 -0
  193. package/dist/utils/localization/translationsDictionary.js +63 -0
  194. package/dist/utils/localization/useLanguage.js +2 -74
  195. package/esm/advancedGroupsFilter/advancedGroupsFilter.js +130 -29
  196. package/esm/advancedGroupsFilter/advancedGroupsFilterForm.js +133 -33
  197. package/esm/advancedGroupsFilter/advancedGroupsFilterFormSection.js +317 -65
  198. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
  199. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +77 -8
  200. package/esm/alertRaw/alertRaw.js +165 -51
  201. package/esm/banner/bannerMultipLine.js +121 -20
  202. package/esm/banner/bannerSingleLine.js +100 -13
  203. package/esm/betaPill/betaPill.js +105 -19
  204. package/esm/bookmark/bookmark.js +89 -27
  205. package/esm/bulkEditControl/bulkEditControl.js +161 -33
  206. package/esm/calendar/calendar.js +937 -272
  207. package/esm/calendar/calendarUtils.js +151 -84
  208. package/esm/card/card.js +233 -101
  209. package/esm/chart/accessibleChart/accessibleChartNarrative.js +642 -554
  210. package/esm/chart/accessibleChart/accessibleChartTable.js +239 -85
  211. package/esm/chart/chart.js +30 -20
  212. package/esm/chart/chartAxis/chartAxis.js +79 -6
  213. package/esm/checkboxListWithAction/checkboxListWithAction.js +218 -68
  214. package/esm/chip/chip.js +189 -90
  215. package/esm/columnsSelector/columnsSelector.js +91 -11
  216. package/esm/columnsSelector/columnsTab/columnsTab.js +53 -14
  217. package/esm/columnsSelector/columnsTabGroup/columnsTabGroup.js +75 -33
  218. package/esm/comboboxSelected/comboboxSelected.js +1 -3
  219. package/esm/dataFeed/feedExpandControl/feedExpandControl.js +21 -9
  220. package/esm/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +86 -10
  221. package/esm/dataGrid/dataGrid.js +221 -116
  222. package/esm/dataGrid/emptySearchList/emptySearchList.js +50 -8
  223. package/esm/dataGrid/entitiesListActions/actions/columnsListButton.js +45 -6
  224. package/esm/dataGrid/entitiesListActions/actions/fullscreenButton.js +58 -17
  225. package/esm/dataGrid/withFlexibleColumns/components/columnSettings.js +78 -9
  226. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +44 -15
  227. package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +217 -31
  228. package/esm/dataGrid/withSelectableRows/withSelectableRows.js +280 -212
  229. package/esm/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +172 -94
  230. package/esm/dateInputInner/dateInputInner.js +785 -475
  231. package/esm/dateInputInner/dateInputInnerControlBlock.js +119 -21
  232. package/esm/dateInputRaw/dateInputRaw.js +309 -103
  233. package/esm/dateInputRaw/utils/getLabel.js +32 -6
  234. package/esm/dateRangeInner/dateRangeInner.js +166 -57
  235. package/esm/dateRangeRaw/dateRangeRaw.js +595 -238
  236. package/esm/dateRangeRaw/utils/dateRangeUtils.js +622 -239
  237. package/esm/dateSelectionWrapper/dateSelectionWrapper.js +146 -13
  238. package/esm/dialog/dialogContent.js +117 -39
  239. package/esm/dropdownRaw/dropdownHelper.d.ts +2 -2
  240. package/esm/dropdownRaw/dropdownHelper.js +10 -10
  241. package/esm/dropdownRaw/dropdownList.js +412 -56
  242. package/esm/dropdownRaw/dropdownPopup.js +212 -19
  243. package/esm/dropdownRaw/dropdownRaw.js +862 -507
  244. package/esm/dropdownRaw/dropdownSearchableTrigger.js +217 -45
  245. package/esm/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
  246. package/esm/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
  247. package/esm/dropdownRaw/stateReducer/stateActionType.js +1 -0
  248. package/esm/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
  249. package/esm/dropdownRaw/stateReducer/stateReducer.js +24 -12
  250. package/esm/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
  251. package/esm/dropdownRaw/stateReducer/stateReducerHelper.js +18 -0
  252. package/esm/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
  253. package/esm/dropdownRaw/stateReducer/stateReducerTestData.js +71 -0
  254. package/esm/dropdownRaw/types.d.ts +1 -0
  255. package/esm/favoriteButton/favoriteButton.js +53 -9
  256. package/esm/filters/components/filtersContainer.js +141 -61
  257. package/esm/filters/components/filtersEmptySelectedList.js +24 -3
  258. package/esm/filters/components/filtersSaveModal.js +134 -41
  259. package/esm/filters/components/filtersSavedChipComponent.js +312 -107
  260. package/esm/filters/components/filtersSearchItemData.js +121 -46
  261. package/esm/filters/components/filtersSearchList.js +375 -178
  262. package/esm/filters/components/filtersSelect.js +122 -60
  263. package/esm/filters/components/filtersSelectListItem.js +119 -12
  264. package/esm/filters/components/filtersSidePanel.js +504 -177
  265. package/esm/filters/filters.js +435 -265
  266. package/esm/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +722 -270
  267. package/esm/filtersBar/components/resetComponentButton.js +39 -4
  268. package/esm/filtersBar/filtersBarActions/filtersBarActions.js +120 -14
  269. package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +149 -48
  270. package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +354 -103
  271. package/esm/filtersBar/filtersContainer/filtersContainer.js +198 -133
  272. package/esm/formField/components/formFieldWithLabel.d.ts +2 -1
  273. package/esm/formField/components/formFieldWithLabel.js +3 -2
  274. package/esm/formField/components/formFieldWithoutLabel.d.ts +2 -1
  275. package/esm/formField/components/formFieldWithoutLabel.js +3 -3
  276. package/esm/formField/components/trailingComponent.d.ts +8 -0
  277. package/esm/formField/components/trailingComponent.js +7 -0
  278. package/esm/formField/formField.d.ts +0 -1
  279. package/esm/formField/formField.js +15 -16
  280. package/esm/formField/hooks/useError.js +94 -35
  281. package/esm/formGroup/components/reviewListToggle/reviewListToggle.js +66 -6
  282. package/esm/formGroup/hooks/useToggle.js +31 -10
  283. package/esm/formGroup/utils/getControls.js +8 -7
  284. package/esm/formLayout/hooks/useError.js +49 -14
  285. package/esm/formLayout/hooks/useFormButtons.js +122 -26
  286. package/esm/formSection/components/formSectionModal.js +1 -1
  287. package/esm/formSection/formSection.js +1 -1
  288. package/esm/formSection/hooks/useError.js +64 -21
  289. package/esm/formStepper/components/formStep.js +59 -9
  290. package/esm/formStepper/formStepper.js +123 -32
  291. package/esm/formStepperButtons/formStepperButtons.js +178 -37
  292. package/esm/groupsFilter/groupsFilterTestData.d.ts +37 -0
  293. package/esm/groupsFilter/groupsFilterTestData.js +4 -0
  294. package/esm/groupsFilter/groupsHelper.d.ts +24 -1
  295. package/esm/groupsFilter/groupsHelper.js +24 -1
  296. package/esm/groupsFilterRaw/groupsFilterAdjustmentState.js +152 -14
  297. package/esm/groupsFilterRaw/groupsFilterBox.js +131 -31
  298. package/esm/groupsFilterRaw/groupsFilterCommon.js +69 -7
  299. package/esm/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +178 -24
  300. package/esm/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  301. package/esm/groupsFilterRaw/groupsFilterHelper.js +279 -168
  302. package/esm/groupsFilterRaw/groupsFilterInitialState.js +260 -17
  303. package/esm/groupsFilterRaw/groupsFilterMenu.js +118 -8
  304. package/esm/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  305. package/esm/groupsFilterRaw/groupsFilterRaw.js +811 -308
  306. package/esm/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  307. package/esm/groupsFilterRaw/groupsFilterTestData.js +152 -57
  308. package/esm/groupsFilterRaw/groupsFilterTrigger.js +133 -34
  309. package/esm/groupsFilterRaw/groupsHelper.js +733 -207
  310. package/esm/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  311. package/esm/groupsFilterRaw/types.d.ts +1 -0
  312. package/esm/header/components/collapsedItemsControl/collapsedItemsControl.js +101 -51
  313. package/esm/header/components/mobileFilterControl/mobileFilterControl.js +56 -8
  314. package/esm/header/components/mobileSearchControl/mobileSearchControl.js +113 -13
  315. package/esm/header/headerBack.js +58 -19
  316. package/esm/index.d.ts +2 -1
  317. package/esm/index.js +2 -1
  318. package/esm/list/itemData/itemDataInternal.js +210 -50
  319. package/esm/list/listItem/listItem.js +162 -54
  320. package/esm/menu/components/menuErrorItem.js +27 -4
  321. package/esm/mobileSheet/mobileSheet.js +189 -68
  322. package/esm/modal/modal.js +265 -120
  323. package/esm/nav/nav.js +1 -1
  324. package/esm/nav/navFooter/navFooter.js +76 -38
  325. package/esm/nav/navFooter/navFooterAction/navFooterAction.js +46 -12
  326. package/esm/nav/navHeader/navHeader.js +80 -35
  327. package/esm/nav/navHeader/navHeaderSearch/navHeaderSearch.js +82 -28
  328. package/esm/nav/navItem/navItem.d.ts +3 -3
  329. package/esm/nav/navItem/navItem.js +35 -33
  330. package/esm/nav/navMobileBar/navMobileBar.js +61 -20
  331. package/esm/notification/notification.js +114 -18
  332. package/esm/pagination/paginationArrow.js +75 -10
  333. package/esm/pagination/paginationText/paginationText.js +39 -10
  334. package/esm/pill/components/pillNonActionable/pillNonActionable.js +87 -23
  335. package/esm/pillBox/components/pillBoxItem.js +46 -8
  336. package/esm/pillBox/pillBox.js +115 -19
  337. package/esm/pillExpandable/pillExpandable.js +327 -138
  338. package/esm/rangeRaw/rangeRaw.js +480 -140
  339. package/esm/rangeRaw/utils/rangeHelper.js +203 -38
  340. package/esm/searchInputRaw/searchInputRaw.js +145 -43
  341. package/esm/skeleton/skeleton.js +45 -5
  342. package/esm/sortControl/sortControl.js +146 -41
  343. package/esm/stepperRaw/stepperRaw.js +112 -41
  344. package/esm/storybookHelpers/dataGridWithDifferentCellOptions/components/EntitiesListAction.js +178 -19
  345. package/esm/summary/summary.js +88 -7
  346. package/esm/table/actions/actionsMenu.js +165 -77
  347. package/esm/table/flexible/columnSettings.js +74 -9
  348. package/esm/table/flexible/columnsList.js +104 -42
  349. package/esm/table/flexible/columnsPopup.js +71 -19
  350. package/esm/table/nested/useNestedRows.js +161 -76
  351. package/esm/table/selectable/selectableHeader.js +174 -40
  352. package/esm/table/selectable/useSelectableRows.js +264 -190
  353. package/esm/table/sortable/sortableHeader.js +147 -74
  354. package/esm/tabs/tabs.js +221 -117
  355. package/esm/timePickerRaw/timePickerRaw.js +272 -57
  356. package/esm/toastRaw/toastRaw.js +132 -31
  357. package/esm/toggleButton/toggleButton.d.ts +0 -1
  358. package/esm/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  359. package/esm/toggleButtonRaw/toggleButtonRaw.js +111 -18
  360. package/esm/utils/formatDate.js +995 -116
  361. package/{dist/utils/localization/translations/cs-json.js → esm/utils/localization/translations/cs.json} +11 -15
  362. package/{dist/utils/localization/translations/da-DK-json.js → esm/utils/localization/translations/da-DK.json} +31 -26
  363. package/{dist/utils/localization/translations/de-json.js → esm/utils/localization/translations/de.json} +12 -16
  364. package/esm/utils/localization/translations/en.json +308 -0
  365. package/{dist/utils/localization/translations/es-json.js → esm/utils/localization/translations/es.json} +11 -15
  366. package/{dist/utils/localization/translations/fi-FI-json.js → esm/utils/localization/translations/fi-FI.json} +31 -26
  367. package/{dist/utils/localization/translations/fr-FR-json.js → esm/utils/localization/translations/fr-FR.json} +12 -15
  368. package/{dist/utils/localization/translations/fr-json.js → esm/utils/localization/translations/fr.json} +11 -15
  369. package/{dist/utils/localization/translations/hu-HU-json.js → esm/utils/localization/translations/hu-HU.json} +31 -26
  370. package/{dist/utils/localization/translations/id-json.js → esm/utils/localization/translations/id.json} +11 -16
  371. package/{dist/utils/localization/translations/it-json.js → esm/utils/localization/translations/it.json} +11 -15
  372. package/{dist/utils/localization/translations/ja-json.js → esm/utils/localization/translations/ja.json} +11 -15
  373. package/{dist/utils/localization/translations/ko-KR-json.js → esm/utils/localization/translations/ko-KR.json} +24 -26
  374. package/{dist/utils/localization/translations/ms-json.js → esm/utils/localization/translations/ms.json} +11 -15
  375. package/{dist/utils/localization/translations/nb-NO-json.js → esm/utils/localization/translations/nb-NO.json} +31 -26
  376. package/{dist/utils/localization/translations/nl-json.js → esm/utils/localization/translations/nl.json} +11 -15
  377. package/{dist/utils/localization/translations/pl-json.js → esm/utils/localization/translations/pl.json} +11 -15
  378. package/{dist/utils/localization/translations/pt-BR-json.js → esm/utils/localization/translations/pt-BR.json} +11 -15
  379. package/{dist/utils/localization/translations/sk-SK-json.js → esm/utils/localization/translations/sk-SK.json} +31 -26
  380. package/{dist/utils/localization/translations/sv-json.js → esm/utils/localization/translations/sv.json} +11 -15
  381. package/{dist/utils/localization/translations/th-json.js → esm/utils/localization/translations/th.json} +11 -15
  382. package/{dist/utils/localization/translations/tr-json.js → esm/utils/localization/translations/tr.json} +11 -15
  383. package/{dist/utils/localization/translations/zh-Hans-json.js → esm/utils/localization/translations/zh-Hans.json} +11 -15
  384. package/{dist/utils/localization/translations/zh-TW-json.js → esm/utils/localization/translations/zh-TW.json} +11 -26
  385. package/esm/utils/localization/translationsDictionary.d.ts +2 -0
  386. package/esm/utils/localization/translationsDictionary.js +59 -0
  387. package/esm/utils/localization/useLanguage.js +1 -50
  388. package/package.json +17 -10
  389. package/dist/formField/hooks/useClasses.d.ts +0 -8
  390. package/dist/formField/hooks/useClasses.js +0 -25
  391. package/dist/utils/localization/translations/cs-json.d.ts +0 -251
  392. package/dist/utils/localization/translations/da-DK-json.d.ts +0 -252
  393. package/dist/utils/localization/translations/de-json.d.ts +0 -251
  394. package/dist/utils/localization/translations/en-json.d.ts +0 -314
  395. package/dist/utils/localization/translations/en-json.js +0 -317
  396. package/dist/utils/localization/translations/es-json.d.ts +0 -251
  397. package/dist/utils/localization/translations/fi-FI-json.d.ts +0 -252
  398. package/dist/utils/localization/translations/fr-FR-json.d.ts +0 -250
  399. package/dist/utils/localization/translations/fr-json.d.ts +0 -251
  400. package/dist/utils/localization/translations/hu-HU-json.d.ts +0 -252
  401. package/dist/utils/localization/translations/id-json.d.ts +0 -252
  402. package/dist/utils/localization/translations/it-json.d.ts +0 -251
  403. package/dist/utils/localization/translations/ja-json.d.ts +0 -251
  404. package/dist/utils/localization/translations/ko-KR-json.d.ts +0 -258
  405. package/dist/utils/localization/translations/ms-json.d.ts +0 -251
  406. package/dist/utils/localization/translations/nb-NO-json.d.ts +0 -252
  407. package/dist/utils/localization/translations/nl-json.d.ts +0 -251
  408. package/dist/utils/localization/translations/pl-json.d.ts +0 -251
  409. package/dist/utils/localization/translations/pt-BR-json.d.ts +0 -251
  410. package/dist/utils/localization/translations/sk-SK-json.d.ts +0 -251
  411. package/dist/utils/localization/translations/sv-json.d.ts +0 -251
  412. package/dist/utils/localization/translations/th-json.d.ts +0 -251
  413. package/dist/utils/localization/translations/tr-json.d.ts +0 -251
  414. package/dist/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  415. package/dist/utils/localization/translations/zh-TW-json.d.ts +0 -271
  416. package/esm/formField/hooks/useClasses.d.ts +0 -8
  417. package/esm/formField/hooks/useClasses.js +0 -21
  418. package/esm/utils/localization/translations/cs-json.d.ts +0 -251
  419. package/esm/utils/localization/translations/da-DK-json.d.ts +0 -252
  420. package/esm/utils/localization/translations/de-json.d.ts +0 -251
  421. package/esm/utils/localization/translations/en-json.d.ts +0 -314
  422. package/esm/utils/localization/translations/en-json.js +0 -314
  423. package/esm/utils/localization/translations/es-json.d.ts +0 -251
  424. package/esm/utils/localization/translations/fi-FI-json.d.ts +0 -252
  425. package/esm/utils/localization/translations/fr-FR-json.d.ts +0 -250
  426. package/esm/utils/localization/translations/fr-json.d.ts +0 -251
  427. package/esm/utils/localization/translations/hu-HU-json.d.ts +0 -252
  428. package/esm/utils/localization/translations/id-json.d.ts +0 -252
  429. package/esm/utils/localization/translations/it-json.d.ts +0 -251
  430. package/esm/utils/localization/translations/ja-json.d.ts +0 -251
  431. package/esm/utils/localization/translations/ko-KR-json.d.ts +0 -258
  432. package/esm/utils/localization/translations/ms-json.d.ts +0 -251
  433. package/esm/utils/localization/translations/nb-NO-json.d.ts +0 -252
  434. package/esm/utils/localization/translations/nl-json.d.ts +0 -251
  435. package/esm/utils/localization/translations/pl-json.d.ts +0 -251
  436. package/esm/utils/localization/translations/pt-BR-json.d.ts +0 -251
  437. package/esm/utils/localization/translations/sk-SK-json.d.ts +0 -251
  438. package/esm/utils/localization/translations/sv-json.d.ts +0 -251
  439. package/esm/utils/localization/translations/th-json.d.ts +0 -251
  440. package/esm/utils/localization/translations/tr-json.d.ts +0 -251
  441. package/esm/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  442. package/esm/utils/localization/translations/zh-TW-json.d.ts +0 -271
@@ -1,103 +1,170 @@
1
+ import { injectString } from "../utils/localization/translationsDictionary";
1
2
  import { isValidDate } from "./dateUtils";
3
+ injectString("en", "Choose end date", "Choose end date");
4
+ injectString("en", "Choose start date", "Choose start date");
5
+ injectString("cs", "Change date, {date}", "Zm\u011B\u0148te datum, {date}");
6
+ injectString("da-DK", "Change date, {date}", "Skift dato, {date}");
7
+ injectString("de", "Change date, {date}", "Datum \xE4ndern, {date}");
8
+ injectString("en", "Change date, {date}", "Change date, {date}");
9
+ injectString("es", "Change date, {date}", "Cambiar fecha, {date}");
10
+ injectString("fi-FI", "Change date, {date}", "Vaihda p\xE4iv\xE4m\xE4\xE4r\xE4\xE4, {date}");
11
+ injectString("fr", "Change date, {date}", "Changer la date, {date}");
12
+ injectString("fr-FR", "Change date, {date}", "Modifier la date, {date}");
13
+ injectString("hu-HU", "Change date, {date}", "V\xE1ltoztasd meg a d\xE1tumot, {date}.");
14
+ injectString("id", "Change date, {date}", "Ubah tanggal, {date}");
15
+ injectString("it", "Change date, {date}", "Modificare data, {date}");
16
+ injectString("ja", "Change date, {date}", "\u65E5\u4ED8\u3092\u5909\u66F4\u3001{date}");
17
+ injectString("ko-KR", "Change date, {date}", "\uB0A0\uC9DC \uBCC0\uACBD, {date}");
18
+ injectString("ms", "Change date, {date}", "Ubah tarikh, {date}");
19
+ injectString("nb-NO", "Change date, {date}", "Endre dato, {date}");
20
+ injectString("nl", "Change date, {date}", "Datum wijzigen, {date}");
21
+ injectString("pl", "Change date, {date}", "Zmie\u0144 dat\u0119, {date}");
22
+ injectString("pt-BR", "Change date, {date}", "Alterar data, {date}");
23
+ injectString("sk-SK", "Change date, {date}", "Zme\u0148 d\xE1tum, {date}");
24
+ injectString("sv", "Change date, {date}", "\xC4ndra datum, {date}");
25
+ injectString("th", "Change date, {date}", "\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48, {date}");
26
+ injectString("tr", "Change date, {date}", "Tarihi de\u011Fi\u015Ftir, {date}");
27
+ injectString("zh-Hans", "Change date, {date}", "\u66F4\u6539\u65E5\u671F {date}");
28
+ injectString("zh-TW", "Change date, {date}", "\u8B8A\u66F4\u65E5\u671F\uFF1A{date}");
29
+ injectString("cs", "Choose date", "Vybrat datum");
30
+ injectString("da-DK", "Choose date", "V\xE6lg dato");
31
+ injectString("de", "Choose date", "Datum ausw\xE4hlen");
32
+ injectString("en", "Choose date", "Choose date");
33
+ injectString("es", "Choose date", "Elegir fecha");
34
+ injectString("fi-FI", "Choose date", "Valitse p\xE4iv\xE4m\xE4\xE4r\xE4");
35
+ injectString("fr", "Choose date", "Choisir la date");
36
+ injectString("fr-FR", "Choose date", "Choisir la date");
37
+ injectString("hu-HU", "Choose date", "V\xE1laszd ki a d\xE1tumot.");
38
+ injectString("id", "Choose date", "Pilih tanggal");
39
+ injectString("it", "Choose date", "Scegliere data");
40
+ injectString("ja", "Choose date", "\u65E5\u4ED8\u3092\u9078\u629E");
41
+ injectString("ko-KR", "Choose date", "\uB0A0\uC9DC \uC120\uD0DD");
42
+ injectString("ms", "Choose date", "Pilih tarikh");
43
+ injectString("nb-NO", "Choose date", "Velg dato");
44
+ injectString("nl", "Choose date", "Kies datum");
45
+ injectString("pl", "Choose date", "Wybierz dat\u0119");
46
+ injectString("pt-BR", "Choose date", "Escolher data");
47
+ injectString("sk-SK", "Choose date", "Vyber d\xE1tum");
48
+ injectString("sv", "Choose date", "V\xE4lj datum");
49
+ injectString("th", "Choose date", "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48");
50
+ injectString("tr", "Choose date", "Tarih se\xE7");
51
+ injectString("zh-Hans", "Choose date", "\u9009\u62E9\u65E5\u671F");
52
+ injectString("zh-TW", "Choose date", "\u9078\u64C7\u65E5\u671F");
2
53
  export const isLeftBorderVisible = (date, hoverDate, startDate, endDate) => {
3
- if (!startDate) {
4
- return false;
5
- }
6
- if (endDate) {
7
- return date > startDate && date <= endDate;
8
- }
9
- if (hoverDate) {
10
- if (hoverDate < startDate) {
11
- return date > hoverDate && date <= startDate;
12
- }
13
- return date > startDate && date <= hoverDate;
14
- }
54
+ if (!startDate) {
15
55
  return false;
56
+ }
57
+ if (endDate) {
58
+ return date > startDate && date <= endDate;
59
+ }
60
+ if (hoverDate) {
61
+ if (hoverDate < startDate) {
62
+ return date > hoverDate && date <= startDate;
63
+ }
64
+ return date > startDate && date <= hoverDate;
65
+ }
66
+ return false;
16
67
  };
17
68
  export const isRightBorderVisible = (date, hoverDate, startDate, endDate) => {
18
- if (!startDate) {
19
- return false;
20
- }
21
- const dateLike = new Date(date);
22
- dateLike.setHours(0, 0, 0, 0);
23
- if (endDate) {
24
- const endDateLike = new Date(endDate);
25
- endDateLike.setHours(0, 0, 0, 0);
26
- if (date >= startDate && date < endDate) {
27
- return true;
28
- }
29
- return false;
30
- }
31
- if (hoverDate) {
32
- const startDateLike = new Date(startDate);
33
- startDateLike.setHours(0, 0, 0, 0);
34
- const hoverDateLike = new Date(hoverDate);
35
- hoverDateLike.setHours(0, 0, 0, 0);
36
- if (hoverDate < startDate) {
37
- return date >= hoverDate && date < startDate;
38
- }
39
- return date >= startDate && date < hoverDate;
69
+ if (!startDate) {
70
+ return false;
71
+ }
72
+ const dateLike = new Date(date);
73
+ dateLike.setHours(0, 0, 0, 0);
74
+ if (endDate) {
75
+ const endDateLike = new Date(endDate);
76
+ endDateLike.setHours(0, 0, 0, 0);
77
+ if (date >= startDate && date < endDate) {
78
+ return true;
40
79
  }
41
80
  return false;
81
+ }
82
+ if (hoverDate) {
83
+ const startDateLike = new Date(startDate);
84
+ startDateLike.setHours(0, 0, 0, 0);
85
+ const hoverDateLike = new Date(hoverDate);
86
+ hoverDateLike.setHours(0, 0, 0, 0);
87
+ if (hoverDate < startDate) {
88
+ return date >= hoverDate && date < startDate;
89
+ }
90
+ return date >= startDate && date < hoverDate;
91
+ }
92
+ return false;
42
93
  };
43
94
  export const isDateInRange = (date, hoverDate, startDate, endDate) => {
44
- if (!startDate) {
45
- return false;
46
- }
47
- if (endDate) {
48
- return date >= startDate && date <= endDate;
49
- }
50
- if (hoverDate) {
51
- if (hoverDate < startDate) {
52
- return date >= hoverDate && date <= startDate;
53
- }
54
- return date >= startDate && date <= hoverDate;
55
- }
95
+ if (!startDate) {
56
96
  return false;
97
+ }
98
+ if (endDate) {
99
+ return date >= startDate && date <= endDate;
100
+ }
101
+ if (hoverDate) {
102
+ if (hoverDate < startDate) {
103
+ return date >= hoverDate && date <= startDate;
104
+ }
105
+ return date >= startDate && date <= hoverDate;
106
+ }
107
+ return false;
57
108
  };
58
109
  export const getButtonLabel = (translate, date, isRangeMode, startDate, endDate) => {
59
- if (isRangeMode) {
60
- if (startDate && endDate) {
61
- if (date < startDate) {
62
- return translate("Change daterange start date, {date}").replace("{date}", startDate);
63
- }
64
- return translate("Change daterange end date, {date}").replace("{date}", endDate);
65
- }
66
- if (startDate) {
67
- if (date < startDate) {
68
- return translate("Change daterange start date, {date}").replace("{date}", startDate);
69
- }
70
- return translate("Choose daterange end date");
71
- }
72
- return translate("Choose daterange start date");
110
+ if (isRangeMode) {
111
+ if (startDate && endDate) {
112
+ if (date < startDate) {
113
+ return translate("Change start date, {date}").replace("{date}", startDate);
114
+ }
115
+ return translate("Change end date, {date}").replace("{date}", endDate);
73
116
  }
74
- return startDate
75
- ? translate("Change date, {date}").replace("{date}", date)
76
- : translate("Choose date");
117
+ if (startDate) {
118
+ if (date < startDate) {
119
+ return translate("Change start date, {date}").replace("{date}", startDate);
120
+ }
121
+ return translate("Choose end date");
122
+ }
123
+ return translate("Choose start date");
124
+ }
125
+ return startDate ? translate("Change date, {date}").replace("{date}", date) : translate("Choose date");
77
126
  };
78
127
  export const setFocusTo = (e, date, selectionHandler) => {
79
- e.preventDefault();
80
- selectionHandler(date);
128
+ e.preventDefault();
129
+ selectionHandler(date);
81
130
  };
82
131
  // eslint-disable-next-line complexity
83
132
  export const getCalendarRange = (selectedDate, currentActiveField, isWrongPeriodFn, dateFrom, dateTo) => {
84
- const selectedDateObj = new Date(selectedDate);
85
- const dateFromObj = dateFrom && isValidDate(dateFrom) ? new Date(dateFrom) : undefined;
86
- const dateToObj = dateTo && isValidDate(dateTo) ? new Date(dateTo) : undefined;
87
- if (currentActiveField === "start") {
88
- // Cursor on Start Date
89
- if (dateToObj && selectedDateObj.getTime() < dateToObj.getTime()) {
90
- const isWrongPeriod = isWrongPeriodFn(selectedDateObj, dateToObj);
91
- return isWrongPeriod ? { from: selectedDate, to: undefined } : { from: selectedDate, to: dateTo };
92
- }
93
- // Overlapping dates: selectedDate later than dateTo
94
- return { from: selectedDate, to: undefined };
95
- }
96
- // Cursor on End Date
97
- if (dateFromObj && dateFromObj.getTime() < selectedDateObj.getTime()) {
98
- const isWrongPeriod = isWrongPeriodFn(dateFromObj, selectedDateObj);
99
- return isWrongPeriod ? { from: undefined, to: selectedDate } : { from: dateFrom, to: selectedDate };
133
+ const selectedDateObj = new Date(selectedDate);
134
+ const dateFromObj = dateFrom && isValidDate(dateFrom) ? new Date(dateFrom) : undefined;
135
+ const dateToObj = dateTo && isValidDate(dateTo) ? new Date(dateTo) : undefined;
136
+ if (currentActiveField === "start") {
137
+ // Cursor on Start Date
138
+ if (dateToObj && selectedDateObj.getTime() < dateToObj.getTime()) {
139
+ const isWrongPeriod = isWrongPeriodFn(selectedDateObj, dateToObj);
140
+ return isWrongPeriod ? {
141
+ from: selectedDate,
142
+ to: undefined
143
+ } : {
144
+ from: selectedDate,
145
+ to: dateTo
146
+ };
100
147
  }
101
- // Overlapping dates: selectedDate earlier than dateFrom
102
- return { from: undefined, to: selectedDate };
103
- };
148
+ // Overlapping dates: selectedDate later than dateTo
149
+ return {
150
+ from: selectedDate,
151
+ to: undefined
152
+ };
153
+ }
154
+ // Cursor on End Date
155
+ if (dateFromObj && dateFromObj.getTime() < selectedDateObj.getTime()) {
156
+ const isWrongPeriod = isWrongPeriodFn(dateFromObj, selectedDateObj);
157
+ return isWrongPeriod ? {
158
+ from: undefined,
159
+ to: selectedDate
160
+ } : {
161
+ from: dateFrom,
162
+ to: selectedDate
163
+ };
164
+ }
165
+ // Overlapping dates: selectedDate earlier than dateFrom
166
+ return {
167
+ from: undefined,
168
+ to: selectedDate
169
+ };
170
+ };
package/esm/card/card.js CHANGED
@@ -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
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
3
4
  /* eslint-disable react/prop-types */
@@ -29,113 +30,244 @@ import { getIconFromStatus } from "./helpers/getIconFromStatus";
29
30
  import { getIconTypeFromStatus } from "./helpers/getIconTypeFromStatus";
30
31
  import { isFormSection } from "../formSection/utils/isFormSection";
31
32
  // import { FormSection } from "../formSection/formSection";
33
+ injectString("cs", "Actions", "Akce");
34
+ injectString("da-DK", "Actions", "Handlinger");
35
+ injectString("de", "Actions", "Aktionen");
36
+ injectString("en", "Actions", "Actions");
37
+ injectString("es", "Actions", "Acciones");
38
+ injectString("fi-FI", "Actions", "Toimet");
39
+ injectString("fr", "Actions", "Actions");
40
+ injectString("fr-FR", "Actions", "Actions");
41
+ injectString("hu-HU", "Actions", "M\u0171veletek");
42
+ injectString("id", "Actions", "Tindakan");
43
+ injectString("it", "Actions", "Azioni");
44
+ injectString("ja", "Actions", "\u30A2\u30AF\u30B7\u30E7\u30F3");
45
+ injectString("ko-KR", "Actions", "\uC870\uCE58");
46
+ injectString("ms", "Actions", "Tindakan");
47
+ injectString("nb-NO", "Actions", "Handlinger");
48
+ injectString("nl", "Actions", "Acties");
49
+ injectString("pl", "Actions", "Dzia\u0142ania");
50
+ injectString("pt-BR", "Actions", "A\xE7\xF5es");
51
+ injectString("sk-SK", "Actions", "Akcie");
52
+ injectString("sv", "Actions", "\xC5tg\xE4rder");
53
+ injectString("th", "Actions", "\u0E01\u0E32\u0E23\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23");
54
+ injectString("tr", "Actions", "Eylemler");
55
+ injectString("zh-Hans", "Actions", "\u64CD\u4F5C");
56
+ injectString("zh-TW", "Actions", "\u52D5\u4F5C");
32
57
  export const DEFAULT_CARD_SIZE = "S";
33
58
  // eslint-disable-next-line @typescript-eslint/naming-convention, react/prop-types
34
- export const Card =
59
+ export const Card =
35
60
  // eslint-disable-next-line complexity
36
- (props) => {
37
- const { size, children, title, icon, iconType, secondary, status, date, tooltip, className = "", link, target, onClick, cardContentClasses = "", tooltipAlignment, tooltipSize, fullWidth, scrollableContent = true, autoHeight = false, fullHeight = false } = props;
38
- const { translate } = useLanguage();
39
- const [deviceType, setDeviceType] = useState(DeviceType.Mobile);
40
- const [cardSize, setCardSize] = useState(isAbsoluteSize(size) ? getContainerSize(size.width) : (size || DEFAULT_CARD_SIZE));
41
- const isMobile = deviceType === DeviceType.Mobile;
42
- const containerRef = useRef(null);
43
- const headerRef = useRef(null);
44
- const titleId = useId();
45
- const isDrive = useDrive();
46
- const dateDriveClasses = useDriveClassName("zen-card__date");
47
- const menuTriggerDriveClasses = useDriveClassName("zen-card__menu-trigger");
48
- const fullWidthValue = fullWidth === undefined ? getDefaultFullWidthValue(isDrive) : fullWidth;
49
- const { isAutoHeight, isScrollable, isFullWidth, isFullHeight } = useCardSizeState(deviceType, scrollableContent, fullWidthValue, fullHeight, autoHeight, size || "S");
50
- useDeviceType(setDeviceType);
51
- useCardSize(setCardSize, containerRef, isAbsoluteSize(size) ? getContainerSize(size.width) : (size || "S"));
52
- const { actions, content } = useMemo(() => {
53
- if (!children) {
54
- return { actions: [], content: [] };
61
+ props => {
62
+ const {
63
+ size,
64
+ children,
65
+ title,
66
+ icon,
67
+ iconType,
68
+ secondary,
69
+ status,
70
+ date,
71
+ tooltip,
72
+ className = "",
73
+ link,
74
+ target,
75
+ onClick,
76
+ cardContentClasses = "",
77
+ tooltipAlignment,
78
+ tooltipSize,
79
+ fullWidth,
80
+ scrollableContent = true,
81
+ autoHeight = false,
82
+ fullHeight = false
83
+ } = props;
84
+ const {
85
+ translate
86
+ } = useLanguage();
87
+ const [deviceType, setDeviceType] = useState(DeviceType.Mobile);
88
+ const [cardSize, setCardSize] = useState(isAbsoluteSize(size) ? getContainerSize(size.width) : size || DEFAULT_CARD_SIZE);
89
+ const isMobile = deviceType === DeviceType.Mobile;
90
+ const containerRef = useRef(null);
91
+ const headerRef = useRef(null);
92
+ const titleId = useId();
93
+ const isDrive = useDrive();
94
+ const dateDriveClasses = useDriveClassName("zen-card__date");
95
+ const menuTriggerDriveClasses = useDriveClassName("zen-card__menu-trigger");
96
+ const fullWidthValue = fullWidth === undefined ? getDefaultFullWidthValue(isDrive) : fullWidth;
97
+ const {
98
+ isAutoHeight,
99
+ isScrollable,
100
+ isFullWidth,
101
+ isFullHeight
102
+ } = useCardSizeState(deviceType, scrollableContent, fullWidthValue, fullHeight, autoHeight, size || "S");
103
+ useDeviceType(setDeviceType);
104
+ useCardSize(setCardSize, containerRef, isAbsoluteSize(size) ? getContainerSize(size.width) : size || "S");
105
+ const {
106
+ actions,
107
+ content
108
+ } = useMemo(() => {
109
+ if (!children) {
110
+ return {
111
+ actions: [],
112
+ content: []
113
+ };
114
+ }
115
+ if (Array.isArray(children)) {
116
+ const acts = [];
117
+ const cnt = [];
118
+ React.Children.forEach(children, el => {
119
+ if (!el) {
120
+ return;
55
121
  }
56
- if (Array.isArray(children)) {
57
- const acts = [];
58
- const cnt = [];
59
- React.Children.forEach(children, (el) => {
60
- if (!el) {
61
- return;
62
- }
63
- if (el.type === Card.Actions) {
64
- const actionChildren = el.props.children;
65
- if (!actionChildren) {
66
- return;
67
- }
68
- if (Array.isArray(actionChildren)) {
69
- acts.push(...actionChildren.filter((child) => (child === null || child === void 0 ? void 0 : child.type) === Card.Button));
70
- return;
71
- }
72
- if (typeof actionChildren === "object" && React.isValidElement(actionChildren) && actionChildren.type === Card.Button) {
73
- acts.push(actionChildren);
74
- }
75
- }
76
- if (el.type === Card.Content || isFormSection(el)) {
77
- cnt.push(el);
78
- }
79
- });
80
- return { actions: acts, content: cnt };
122
+ if (el.type === Card.Actions) {
123
+ const actionChildren = el.props.children;
124
+ if (!actionChildren) {
125
+ return;
126
+ }
127
+ if (Array.isArray(actionChildren)) {
128
+ acts.push(...actionChildren.filter(child => (child === null || child === void 0 ? void 0 : child.type) === Card.Button));
129
+ return;
130
+ }
131
+ if (typeof actionChildren === "object" && React.isValidElement(actionChildren) && actionChildren.type === Card.Button) {
132
+ acts.push(actionChildren);
133
+ }
81
134
  }
82
- return { actions: [], content: [children] };
83
- }, [children]);
84
- const maxNumberOfActions = getMaxNumberOfActions(cardSize);
85
- const { headerActions, menuActions } = useMemo(() => {
86
- const hActions = [];
87
- const mActions = [];
88
- for (let i = 0; i < actions.length; i++) {
89
- if (actions[i].props.inContextMenu || hActions.length >= maxNumberOfActions || isMobile) {
90
- mActions.push(actions[i]);
91
- }
92
- else {
93
- hActions.push(actions[i]);
94
- }
135
+ if (el.type === Card.Content || isFormSection(el)) {
136
+ cnt.push(el);
95
137
  }
96
- return { headerActions: hActions, menuActions: mActions };
97
- }, [actions, isMobile, maxNumberOfActions]);
98
- const menuTrigger = _jsx(Button, { className: classNames(["zen-card__menu-trigger", menuTriggerDriveClasses || ""]), type: "tertiary-black", "aria-label": translate("Actions"), htmlType: "button", children: _jsx(IconDotVertical, { size: isDrive ? SvgIconSize.Huge : SvgIconSize.Large }) });
99
- useEffect(() => {
100
- if (containerRef.current) {
101
- containerRef.current.setAttribute("role", "region");
102
- containerRef.current.setAttribute("aria-labelledby", titleId);
103
- }
104
- }, [containerRef, titleId]);
105
- const cardContentClassName = useMemo(() => classNames([
106
- "zen-card__content",
107
- isScrollable ? "zen-card__content--overflow-scroll" : "zen-card__content--overflow-hidden",
108
- cardContentClasses
109
- ]), [cardContentClasses, isScrollable]);
110
- const dateClassName = useMemo(() => classNames(["zen-card__date", (isMobile && !isDrive) ? "zen-card__date--mobile" : "", dateDriveClasses !== null && dateDriveClasses !== void 0 ? dateDriveClasses : ""]), [isMobile, isDrive, dateDriveClasses]);
111
- const favoriteButton = useMemo(() => {
112
- if (props.onFavoriteChange === undefined) {
113
- return null;
114
- }
115
- return _jsx(FavoriteButton, { isFavorite: props.isFavorite || false, onChange: props.onFavoriteChange, className: "zen-card__favorite-button" });
116
- }, [props.isFavorite, props.onFavoriteChange]);
117
- const { titleIcon, titleIconType } = useMemo(() => {
118
- if (status) {
119
- return {
120
- titleIcon: icon || getIconFromStatus(status),
121
- titleIconType: iconType || getIconTypeFromStatus(status)
122
- };
123
- }
124
- return {
125
- titleIcon: icon,
126
- titleIconType: iconType
127
- };
128
- }, [icon, iconType, status]);
129
- const isHeaderPrimaryVisible = title || icon || link || onClick || !!headerActions.length || date || !!favoriteButton || !!tooltip || !!menuActions.length;
130
- const isHeaderVisible = isHeaderPrimaryVisible || secondary;
131
- return _jsxs(CardContainer, { isMobile: isMobile, fullWidth: isFullWidth, fullHeight: isFullHeight, autoHeight: isAutoHeight, scrollable: isScrollable, ref: containerRef, size: size || "S", className: classNames(["zen-card", !isHeaderVisible ? "zen-card--no-header" : "", className]), children: [isHeaderVisible ? _jsxs("div", { className: "zen-card__header", ref: headerRef, children: [isHeaderPrimaryVisible && _jsxs("div", { className: "zen-card__header-primary", children: [title && _jsx(Title, { id: titleId, link: link, target: target, onClick: onClick, isMobile: isMobile, title: title, icon: titleIcon, iconType: titleIconType }), _jsxs("div", { className: "zen-card__header-right", children: [!!headerActions.length && headerActions, date ? _jsx("span", { className: dateClassName, children: date }) : null, favoriteButton, tooltip && _jsx(Status, { title: title, status: status, isMobile: isMobile, tooltip: tooltip, tooltipAlignment: tooltipAlignment, tooltipSize: tooltipSize }), !!menuActions.length && _jsx(Menu, { trigger: menuTrigger, title: title || translate("Actions"), children: menuActions.map((action, index) => {
132
- const actionProps = action.props;
133
- return createElement(Menu.Item, Object.assign({ key: actionProps.id || index, id: actionProps.id || `action-${index}`, name: actionProps.name || "" }, actionProps));
134
- }) })] })] }), secondary ? _jsx("div", { className: "zen-card__secondary", children: secondary }) : null] }) : null, _jsx("div", { className: cardContentClassName, children: content })] });
138
+ });
139
+ return {
140
+ actions: acts,
141
+ content: cnt
142
+ };
143
+ }
144
+ return {
145
+ actions: [],
146
+ content: [children]
147
+ };
148
+ }, [children]);
149
+ const maxNumberOfActions = getMaxNumberOfActions(cardSize);
150
+ const {
151
+ headerActions,
152
+ menuActions
153
+ } = useMemo(() => {
154
+ const hActions = [];
155
+ const mActions = [];
156
+ for (let i = 0; i < actions.length; i++) {
157
+ if (actions[i].props.inContextMenu || hActions.length >= maxNumberOfActions || isMobile) {
158
+ mActions.push(actions[i]);
159
+ } else {
160
+ hActions.push(actions[i]);
161
+ }
162
+ }
163
+ return {
164
+ headerActions: hActions,
165
+ menuActions: mActions
166
+ };
167
+ }, [actions, isMobile, maxNumberOfActions]);
168
+ const menuTrigger = _jsx(Button, {
169
+ className: classNames(["zen-card__menu-trigger", menuTriggerDriveClasses || ""]),
170
+ type: "tertiary-black",
171
+ "aria-label": translate("Actions"),
172
+ htmlType: "button",
173
+ children: _jsx(IconDotVertical, {
174
+ size: isDrive ? SvgIconSize.Huge : SvgIconSize.Large
175
+ })
176
+ });
177
+ useEffect(() => {
178
+ if (containerRef.current) {
179
+ containerRef.current.setAttribute("role", "region");
180
+ containerRef.current.setAttribute("aria-labelledby", titleId);
181
+ }
182
+ }, [containerRef, titleId]);
183
+ const cardContentClassName = useMemo(() => classNames(["zen-card__content", isScrollable ? "zen-card__content--overflow-scroll" : "zen-card__content--overflow-hidden", cardContentClasses]), [cardContentClasses, isScrollable]);
184
+ const dateClassName = useMemo(() => classNames(["zen-card__date", isMobile && !isDrive ? "zen-card__date--mobile" : "", dateDriveClasses !== null && dateDriveClasses !== void 0 ? dateDriveClasses : ""]), [isMobile, isDrive, dateDriveClasses]);
185
+ const favoriteButton = useMemo(() => {
186
+ if (props.onFavoriteChange === undefined) {
187
+ return null;
188
+ }
189
+ return _jsx(FavoriteButton, {
190
+ isFavorite: props.isFavorite || false,
191
+ onChange: props.onFavoriteChange,
192
+ className: "zen-card__favorite-button"
193
+ });
194
+ }, [props.isFavorite, props.onFavoriteChange]);
195
+ const {
196
+ titleIcon,
197
+ titleIconType
198
+ } = useMemo(() => {
199
+ if (status) {
200
+ return {
201
+ titleIcon: icon || getIconFromStatus(status),
202
+ titleIconType: iconType || getIconTypeFromStatus(status)
203
+ };
204
+ }
205
+ return {
206
+ titleIcon: icon,
207
+ titleIconType: iconType
208
+ };
209
+ }, [icon, iconType, status]);
210
+ const isHeaderPrimaryVisible = title || icon || link || onClick || !!headerActions.length || date || !!favoriteButton || !!tooltip || !!menuActions.length;
211
+ const isHeaderVisible = isHeaderPrimaryVisible || secondary;
212
+ return _jsxs(CardContainer, {
213
+ isMobile: isMobile,
214
+ fullWidth: isFullWidth,
215
+ fullHeight: isFullHeight,
216
+ autoHeight: isAutoHeight,
217
+ scrollable: isScrollable,
218
+ ref: containerRef,
219
+ size: size || "S",
220
+ className: classNames(["zen-card", !isHeaderVisible ? "zen-card--no-header" : "", className]),
221
+ children: [isHeaderVisible ? _jsxs("div", {
222
+ className: "zen-card__header",
223
+ ref: headerRef,
224
+ children: [isHeaderPrimaryVisible && _jsxs("div", {
225
+ className: "zen-card__header-primary",
226
+ children: [title && _jsx(Title, {
227
+ id: titleId,
228
+ link: link,
229
+ target: target,
230
+ onClick: onClick,
231
+ isMobile: isMobile,
232
+ title: title,
233
+ icon: titleIcon,
234
+ iconType: titleIconType
235
+ }), _jsxs("div", {
236
+ className: "zen-card__header-right",
237
+ children: [!!headerActions.length && headerActions, date ? _jsx("span", {
238
+ className: dateClassName,
239
+ children: date
240
+ }) : null, favoriteButton, tooltip && _jsx(Status, {
241
+ title: title,
242
+ status: status,
243
+ isMobile: isMobile,
244
+ tooltip: tooltip,
245
+ tooltipAlignment: tooltipAlignment,
246
+ tooltipSize: tooltipSize
247
+ }), !!menuActions.length && _jsx(Menu, {
248
+ trigger: menuTrigger,
249
+ title: title || translate("Actions"),
250
+ children: menuActions.map((action, index) => {
251
+ const actionProps = action.props;
252
+ return createElement(Menu.Item, Object.assign({
253
+ key: actionProps.id || index,
254
+ id: actionProps.id || `action-${index}`,
255
+ name: actionProps.name || ""
256
+ }, actionProps));
257
+ })
258
+ })]
259
+ })]
260
+ }), secondary ? _jsx("div", {
261
+ className: "zen-card__secondary",
262
+ children: secondary
263
+ }) : null]
264
+ }) : null, _jsx("div", {
265
+ className: cardContentClassName,
266
+ children: content
267
+ })]
268
+ });
135
269
  };
136
- export const TRANSLATIONS = [
137
- "Actions"
138
- ];
270
+ export const TRANSLATIONS = ["Actions"];
139
271
  Card.Actions = Actions;
140
272
  Card.Content = Content;
141
- Card.Button = CardButton;
273
+ Card.Button = CardButton;