@geotab/zenith 3.1.1-beta.6 → 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 (430) 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.js +12 -11
  86. package/dist/formField/hooks/useError.js +100 -36
  87. package/dist/formGroup/components/reviewListToggle/reviewListToggle.js +72 -7
  88. package/dist/formGroup/hooks/useToggle.js +37 -11
  89. package/dist/formGroup/utils/getControls.js +8 -7
  90. package/dist/formLayout/hooks/useError.js +55 -15
  91. package/dist/formLayout/hooks/useFormButtons.js +128 -27
  92. package/dist/formSection/components/formSectionModal.js +1 -1
  93. package/dist/formSection/formSection.js +1 -1
  94. package/dist/formSection/hooks/useError.js +70 -22
  95. package/dist/formStepper/components/formStep.js +65 -10
  96. package/dist/formStepper/formStepper.js +129 -33
  97. package/dist/formStepperButtons/formStepperButtons.js +184 -38
  98. package/dist/groupsFilter/groupsHelper.d.ts +1 -1
  99. package/dist/groupsFilterRaw/groupsFilterAdjustmentState.js +162 -17
  100. package/dist/groupsFilterRaw/groupsFilterBox.js +137 -32
  101. package/dist/groupsFilterRaw/groupsFilterCommon.js +75 -8
  102. package/dist/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +184 -25
  103. package/dist/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  104. package/dist/groupsFilterRaw/groupsFilterHelper.js +284 -168
  105. package/dist/groupsFilterRaw/groupsFilterInitialState.js +266 -18
  106. package/dist/groupsFilterRaw/groupsFilterMenu.js +124 -9
  107. package/dist/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  108. package/dist/groupsFilterRaw/groupsFilterRaw.js +816 -308
  109. package/dist/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  110. package/dist/groupsFilterRaw/groupsFilterTestData.js +153 -58
  111. package/dist/groupsFilterRaw/groupsFilterTrigger.js +139 -35
  112. package/dist/groupsFilterRaw/groupsHelper.js +739 -208
  113. package/dist/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  114. package/dist/groupsFilterRaw/types.d.ts +1 -0
  115. package/dist/header/components/collapsedItemsControl/collapsedItemsControl.js +107 -52
  116. package/dist/header/components/mobileFilterControl/mobileFilterControl.js +62 -9
  117. package/dist/header/components/mobileSearchControl/mobileSearchControl.js +119 -14
  118. package/dist/header/headerBack.js +64 -20
  119. package/dist/index.css +110 -71
  120. package/dist/index.d.ts +1 -0
  121. package/dist/index.js +4 -1
  122. package/dist/list/itemData/itemDataInternal.js +216 -51
  123. package/dist/list/listItem/listItem.js +168 -55
  124. package/dist/menu/components/menuErrorItem.js +33 -5
  125. package/dist/mobileSheet/mobileSheet.js +195 -69
  126. package/dist/modal/modal.js +300 -142
  127. package/dist/nav/nav.js +1 -1
  128. package/dist/nav/navFooter/navFooter.js +82 -39
  129. package/dist/nav/navFooter/navFooterAction/navFooterAction.js +52 -13
  130. package/dist/nav/navHeader/navHeader.js +86 -36
  131. package/dist/nav/navHeader/navHeaderSearch/navHeaderSearch.js +88 -29
  132. package/dist/nav/navItem/navItem.d.ts +3 -3
  133. package/dist/nav/navItem/navItem.js +35 -33
  134. package/dist/nav/navMobileBar/navMobileBar.js +67 -21
  135. package/dist/notification/notification.js +124 -21
  136. package/dist/pagination/paginationArrow.js +81 -11
  137. package/dist/pagination/paginationText/paginationText.js +45 -11
  138. package/dist/pill/components/pillNonActionable/pillNonActionable.js +93 -24
  139. package/dist/pillBox/components/pillBoxItem.js +52 -9
  140. package/dist/pillBox/pillBox.js +121 -20
  141. package/dist/pillExpandable/pillExpandable.js +333 -139
  142. package/dist/rangeRaw/rangeRaw.js +486 -141
  143. package/dist/rangeRaw/utils/rangeHelper.js +209 -39
  144. package/dist/searchInputRaw/searchInputRaw.js +180 -65
  145. package/dist/skeleton/skeleton.js +51 -6
  146. package/dist/sortControl/sortControl.js +152 -42
  147. package/dist/stepperRaw/stepperRaw.js +116 -42
  148. package/dist/summary/summary.js +94 -8
  149. package/dist/table/actions/actionsMenu.js +171 -78
  150. package/dist/table/flexible/columnSettings.js +80 -10
  151. package/dist/table/flexible/columnsList.js +110 -43
  152. package/dist/table/flexible/columnsPopup.js +77 -20
  153. package/dist/table/nested/useNestedRows.js +167 -77
  154. package/dist/table/selectable/selectableHeader.js +180 -41
  155. package/dist/table/selectable/useSelectableRows.js +270 -191
  156. package/dist/table/sortable/sortableHeader.js +153 -75
  157. package/dist/tabs/tabs.js +227 -118
  158. package/dist/timePickerRaw/timePickerRaw.js +278 -58
  159. package/dist/toastRaw/toastRaw.js +138 -32
  160. package/dist/toggleButton/toggleButton.d.ts +0 -1
  161. package/dist/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  162. package/dist/toggleButtonRaw/toggleButtonRaw.js +146 -40
  163. package/dist/utils/formatDate.js +1001 -117
  164. package/{esm/utils/localization/translations/cs-json.js → dist/utils/localization/translations/cs.json} +11 -12
  165. package/{esm/utils/localization/translations/da-DK-json.js → dist/utils/localization/translations/da-DK.json} +31 -23
  166. package/{esm/utils/localization/translations/de-json.js → dist/utils/localization/translations/de.json} +12 -13
  167. package/dist/utils/localization/translations/en.json +308 -0
  168. package/{esm/utils/localization/translations/es-json.js → dist/utils/localization/translations/es.json} +11 -12
  169. package/{esm/utils/localization/translations/fi-FI-json.js → dist/utils/localization/translations/fi-FI.json} +31 -23
  170. package/{esm/utils/localization/translations/fr-FR-json.js → dist/utils/localization/translations/fr-FR.json} +12 -12
  171. package/{esm/utils/localization/translations/fr-json.js → dist/utils/localization/translations/fr.json} +11 -12
  172. package/{esm/utils/localization/translations/hu-HU-json.js → dist/utils/localization/translations/hu-HU.json} +31 -23
  173. package/{esm/utils/localization/translations/id-json.js → dist/utils/localization/translations/id.json} +11 -13
  174. package/{esm/utils/localization/translations/it-json.js → dist/utils/localization/translations/it.json} +11 -12
  175. package/{esm/utils/localization/translations/ja-json.js → dist/utils/localization/translations/ja.json} +11 -12
  176. package/{esm/utils/localization/translations/ko-KR-json.js → dist/utils/localization/translations/ko-KR.json} +24 -23
  177. package/{esm/utils/localization/translations/ms-json.js → dist/utils/localization/translations/ms.json} +11 -12
  178. package/{esm/utils/localization/translations/nb-NO-json.js → dist/utils/localization/translations/nb-NO.json} +31 -23
  179. package/{esm/utils/localization/translations/nl-json.js → dist/utils/localization/translations/nl.json} +11 -12
  180. package/{esm/utils/localization/translations/pl-json.js → dist/utils/localization/translations/pl.json} +11 -12
  181. package/{esm/utils/localization/translations/pt-BR-json.js → dist/utils/localization/translations/pt-BR.json} +11 -12
  182. package/{esm/utils/localization/translations/sk-SK-json.js → dist/utils/localization/translations/sk-SK.json} +31 -23
  183. package/{esm/utils/localization/translations/sv-json.js → dist/utils/localization/translations/sv.json} +11 -12
  184. package/{esm/utils/localization/translations/th-json.js → dist/utils/localization/translations/th.json} +11 -12
  185. package/{esm/utils/localization/translations/tr-json.js → dist/utils/localization/translations/tr.json} +11 -12
  186. package/{esm/utils/localization/translations/zh-Hans-json.js → dist/utils/localization/translations/zh-Hans.json} +11 -12
  187. package/{esm/utils/localization/translations/zh-TW-json.js → dist/utils/localization/translations/zh-TW.json} +11 -23
  188. package/dist/utils/localization/translationsDictionary.d.ts +2 -0
  189. package/dist/utils/localization/translationsDictionary.js +63 -0
  190. package/dist/utils/localization/useLanguage.js +2 -74
  191. package/esm/advancedGroupsFilter/advancedGroupsFilter.js +130 -29
  192. package/esm/advancedGroupsFilter/advancedGroupsFilterForm.js +133 -33
  193. package/esm/advancedGroupsFilter/advancedGroupsFilterFormSection.js +317 -65
  194. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
  195. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +77 -8
  196. package/esm/alertRaw/alertRaw.js +165 -51
  197. package/esm/banner/bannerMultipLine.js +121 -20
  198. package/esm/banner/bannerSingleLine.js +100 -13
  199. package/esm/betaPill/betaPill.js +105 -19
  200. package/esm/bookmark/bookmark.js +89 -27
  201. package/esm/bulkEditControl/bulkEditControl.js +161 -33
  202. package/esm/calendar/calendar.js +937 -272
  203. package/esm/calendar/calendarUtils.js +151 -84
  204. package/esm/card/card.js +233 -101
  205. package/esm/chart/accessibleChart/accessibleChartNarrative.js +642 -554
  206. package/esm/chart/accessibleChart/accessibleChartTable.js +239 -85
  207. package/esm/chart/chart.js +30 -20
  208. package/esm/chart/chartAxis/chartAxis.js +79 -6
  209. package/esm/checkboxListWithAction/checkboxListWithAction.js +218 -68
  210. package/esm/chip/chip.js +189 -90
  211. package/esm/columnsSelector/columnsSelector.js +91 -11
  212. package/esm/columnsSelector/columnsTab/columnsTab.js +53 -14
  213. package/esm/columnsSelector/columnsTabGroup/columnsTabGroup.js +75 -33
  214. package/esm/comboboxSelected/comboboxSelected.js +1 -3
  215. package/esm/dataFeed/feedExpandControl/feedExpandControl.js +21 -9
  216. package/esm/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +86 -10
  217. package/esm/dataGrid/dataGrid.js +221 -116
  218. package/esm/dataGrid/emptySearchList/emptySearchList.js +50 -8
  219. package/esm/dataGrid/entitiesListActions/actions/columnsListButton.js +45 -6
  220. package/esm/dataGrid/entitiesListActions/actions/fullscreenButton.js +58 -17
  221. package/esm/dataGrid/withFlexibleColumns/components/columnSettings.js +78 -9
  222. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +44 -15
  223. package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +217 -31
  224. package/esm/dataGrid/withSelectableRows/withSelectableRows.js +280 -212
  225. package/esm/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +172 -94
  226. package/esm/dateInputInner/dateInputInner.js +785 -475
  227. package/esm/dateInputInner/dateInputInnerControlBlock.js +119 -21
  228. package/esm/dateInputRaw/dateInputRaw.js +309 -103
  229. package/esm/dateInputRaw/utils/getLabel.js +32 -6
  230. package/esm/dateRangeInner/dateRangeInner.js +166 -57
  231. package/esm/dateRangeRaw/dateRangeRaw.js +595 -238
  232. package/esm/dateRangeRaw/utils/dateRangeUtils.js +622 -239
  233. package/esm/dateSelectionWrapper/dateSelectionWrapper.js +146 -13
  234. package/esm/dialog/dialogContent.js +117 -39
  235. package/esm/dropdownRaw/dropdownHelper.d.ts +2 -2
  236. package/esm/dropdownRaw/dropdownHelper.js +10 -10
  237. package/esm/dropdownRaw/dropdownList.js +412 -56
  238. package/esm/dropdownRaw/dropdownPopup.js +212 -19
  239. package/esm/dropdownRaw/dropdownRaw.js +862 -507
  240. package/esm/dropdownRaw/dropdownSearchableTrigger.js +217 -45
  241. package/esm/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
  242. package/esm/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
  243. package/esm/dropdownRaw/stateReducer/stateActionType.js +1 -0
  244. package/esm/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
  245. package/esm/dropdownRaw/stateReducer/stateReducer.js +24 -12
  246. package/esm/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
  247. package/esm/dropdownRaw/stateReducer/stateReducerHelper.js +18 -0
  248. package/esm/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
  249. package/esm/dropdownRaw/stateReducer/stateReducerTestData.js +71 -0
  250. package/esm/dropdownRaw/types.d.ts +1 -0
  251. package/esm/favoriteButton/favoriteButton.js +53 -9
  252. package/esm/filters/components/filtersContainer.js +141 -61
  253. package/esm/filters/components/filtersEmptySelectedList.js +24 -3
  254. package/esm/filters/components/filtersSaveModal.js +134 -41
  255. package/esm/filters/components/filtersSavedChipComponent.js +312 -107
  256. package/esm/filters/components/filtersSearchItemData.js +121 -46
  257. package/esm/filters/components/filtersSearchList.js +375 -178
  258. package/esm/filters/components/filtersSelect.js +122 -60
  259. package/esm/filters/components/filtersSelectListItem.js +119 -12
  260. package/esm/filters/components/filtersSidePanel.js +504 -177
  261. package/esm/filters/filters.js +435 -265
  262. package/esm/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +722 -270
  263. package/esm/filtersBar/components/resetComponentButton.js +39 -4
  264. package/esm/filtersBar/filtersBarActions/filtersBarActions.js +120 -14
  265. package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +149 -48
  266. package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +354 -103
  267. package/esm/filtersBar/filtersContainer/filtersContainer.js +198 -133
  268. package/esm/formField/components/formFieldWithLabel.d.ts +2 -1
  269. package/esm/formField/components/formFieldWithLabel.js +3 -2
  270. package/esm/formField/components/formFieldWithoutLabel.d.ts +2 -1
  271. package/esm/formField/components/formFieldWithoutLabel.js +3 -3
  272. package/esm/formField/components/trailingComponent.d.ts +8 -0
  273. package/esm/formField/components/trailingComponent.js +7 -0
  274. package/esm/formField/formField.js +12 -11
  275. package/esm/formField/hooks/useError.js +94 -35
  276. package/esm/formGroup/components/reviewListToggle/reviewListToggle.js +66 -6
  277. package/esm/formGroup/hooks/useToggle.js +31 -10
  278. package/esm/formGroup/utils/getControls.js +8 -7
  279. package/esm/formLayout/hooks/useError.js +49 -14
  280. package/esm/formLayout/hooks/useFormButtons.js +122 -26
  281. package/esm/formSection/components/formSectionModal.js +1 -1
  282. package/esm/formSection/formSection.js +1 -1
  283. package/esm/formSection/hooks/useError.js +64 -21
  284. package/esm/formStepper/components/formStep.js +59 -9
  285. package/esm/formStepper/formStepper.js +123 -32
  286. package/esm/formStepperButtons/formStepperButtons.js +178 -37
  287. package/esm/groupsFilter/groupsHelper.d.ts +1 -1
  288. package/esm/groupsFilterRaw/groupsFilterAdjustmentState.js +152 -14
  289. package/esm/groupsFilterRaw/groupsFilterBox.js +131 -31
  290. package/esm/groupsFilterRaw/groupsFilterCommon.js +69 -7
  291. package/esm/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +178 -24
  292. package/esm/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  293. package/esm/groupsFilterRaw/groupsFilterHelper.js +279 -168
  294. package/esm/groupsFilterRaw/groupsFilterInitialState.js +260 -17
  295. package/esm/groupsFilterRaw/groupsFilterMenu.js +118 -8
  296. package/esm/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  297. package/esm/groupsFilterRaw/groupsFilterRaw.js +811 -308
  298. package/esm/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  299. package/esm/groupsFilterRaw/groupsFilterTestData.js +152 -57
  300. package/esm/groupsFilterRaw/groupsFilterTrigger.js +133 -34
  301. package/esm/groupsFilterRaw/groupsHelper.js +733 -207
  302. package/esm/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  303. package/esm/groupsFilterRaw/types.d.ts +1 -0
  304. package/esm/header/components/collapsedItemsControl/collapsedItemsControl.js +101 -51
  305. package/esm/header/components/mobileFilterControl/mobileFilterControl.js +56 -8
  306. package/esm/header/components/mobileSearchControl/mobileSearchControl.js +113 -13
  307. package/esm/header/headerBack.js +58 -19
  308. package/esm/index.d.ts +1 -0
  309. package/esm/index.js +1 -0
  310. package/esm/list/itemData/itemDataInternal.js +210 -50
  311. package/esm/list/listItem/listItem.js +162 -54
  312. package/esm/menu/components/menuErrorItem.js +27 -4
  313. package/esm/mobileSheet/mobileSheet.js +189 -68
  314. package/esm/modal/modal.js +265 -120
  315. package/esm/nav/nav.js +1 -1
  316. package/esm/nav/navFooter/navFooter.js +76 -38
  317. package/esm/nav/navFooter/navFooterAction/navFooterAction.js +46 -12
  318. package/esm/nav/navHeader/navHeader.js +80 -35
  319. package/esm/nav/navHeader/navHeaderSearch/navHeaderSearch.js +82 -28
  320. package/esm/nav/navItem/navItem.d.ts +3 -3
  321. package/esm/nav/navItem/navItem.js +35 -33
  322. package/esm/nav/navMobileBar/navMobileBar.js +61 -20
  323. package/esm/notification/notification.js +114 -18
  324. package/esm/pagination/paginationArrow.js +75 -10
  325. package/esm/pagination/paginationText/paginationText.js +39 -10
  326. package/esm/pill/components/pillNonActionable/pillNonActionable.js +87 -23
  327. package/esm/pillBox/components/pillBoxItem.js +46 -8
  328. package/esm/pillBox/pillBox.js +115 -19
  329. package/esm/pillExpandable/pillExpandable.js +327 -138
  330. package/esm/rangeRaw/rangeRaw.js +480 -140
  331. package/esm/rangeRaw/utils/rangeHelper.js +203 -38
  332. package/esm/searchInputRaw/searchInputRaw.js +145 -43
  333. package/esm/skeleton/skeleton.js +45 -5
  334. package/esm/sortControl/sortControl.js +146 -41
  335. package/esm/stepperRaw/stepperRaw.js +112 -41
  336. package/esm/storybookHelpers/dataGridWithDifferentCellOptions/components/EntitiesListAction.js +178 -19
  337. package/esm/summary/summary.js +88 -7
  338. package/esm/table/actions/actionsMenu.js +165 -77
  339. package/esm/table/flexible/columnSettings.js +74 -9
  340. package/esm/table/flexible/columnsList.js +104 -42
  341. package/esm/table/flexible/columnsPopup.js +71 -19
  342. package/esm/table/nested/useNestedRows.js +161 -76
  343. package/esm/table/selectable/selectableHeader.js +174 -40
  344. package/esm/table/selectable/useSelectableRows.js +264 -190
  345. package/esm/table/sortable/sortableHeader.js +147 -74
  346. package/esm/tabs/tabs.js +221 -117
  347. package/esm/timePickerRaw/timePickerRaw.js +272 -57
  348. package/esm/toastRaw/toastRaw.js +132 -31
  349. package/esm/toggleButton/toggleButton.d.ts +0 -1
  350. package/esm/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  351. package/esm/toggleButtonRaw/toggleButtonRaw.js +111 -18
  352. package/esm/utils/formatDate.js +995 -116
  353. package/{dist/utils/localization/translations/cs-json.js → esm/utils/localization/translations/cs.json} +11 -15
  354. package/{dist/utils/localization/translations/da-DK-json.js → esm/utils/localization/translations/da-DK.json} +31 -26
  355. package/{dist/utils/localization/translations/de-json.js → esm/utils/localization/translations/de.json} +12 -16
  356. package/esm/utils/localization/translations/en.json +308 -0
  357. package/{dist/utils/localization/translations/es-json.js → esm/utils/localization/translations/es.json} +11 -15
  358. package/{dist/utils/localization/translations/fi-FI-json.js → esm/utils/localization/translations/fi-FI.json} +31 -26
  359. package/{dist/utils/localization/translations/fr-FR-json.js → esm/utils/localization/translations/fr-FR.json} +12 -15
  360. package/{dist/utils/localization/translations/fr-json.js → esm/utils/localization/translations/fr.json} +11 -15
  361. package/{dist/utils/localization/translations/hu-HU-json.js → esm/utils/localization/translations/hu-HU.json} +31 -26
  362. package/{dist/utils/localization/translations/id-json.js → esm/utils/localization/translations/id.json} +11 -16
  363. package/{dist/utils/localization/translations/it-json.js → esm/utils/localization/translations/it.json} +11 -15
  364. package/{dist/utils/localization/translations/ja-json.js → esm/utils/localization/translations/ja.json} +11 -15
  365. package/{dist/utils/localization/translations/ko-KR-json.js → esm/utils/localization/translations/ko-KR.json} +24 -26
  366. package/{dist/utils/localization/translations/ms-json.js → esm/utils/localization/translations/ms.json} +11 -15
  367. package/{dist/utils/localization/translations/nb-NO-json.js → esm/utils/localization/translations/nb-NO.json} +31 -26
  368. package/{dist/utils/localization/translations/nl-json.js → esm/utils/localization/translations/nl.json} +11 -15
  369. package/{dist/utils/localization/translations/pl-json.js → esm/utils/localization/translations/pl.json} +11 -15
  370. package/{dist/utils/localization/translations/pt-BR-json.js → esm/utils/localization/translations/pt-BR.json} +11 -15
  371. package/{dist/utils/localization/translations/sk-SK-json.js → esm/utils/localization/translations/sk-SK.json} +31 -26
  372. package/{dist/utils/localization/translations/sv-json.js → esm/utils/localization/translations/sv.json} +11 -15
  373. package/{dist/utils/localization/translations/th-json.js → esm/utils/localization/translations/th.json} +11 -15
  374. package/{dist/utils/localization/translations/tr-json.js → esm/utils/localization/translations/tr.json} +11 -15
  375. package/{dist/utils/localization/translations/zh-Hans-json.js → esm/utils/localization/translations/zh-Hans.json} +11 -15
  376. package/{dist/utils/localization/translations/zh-TW-json.js → esm/utils/localization/translations/zh-TW.json} +11 -26
  377. package/esm/utils/localization/translationsDictionary.d.ts +2 -0
  378. package/esm/utils/localization/translationsDictionary.js +59 -0
  379. package/esm/utils/localization/useLanguage.js +1 -50
  380. package/package.json +17 -10
  381. package/dist/utils/localization/translations/cs-json.d.ts +0 -251
  382. package/dist/utils/localization/translations/da-DK-json.d.ts +0 -252
  383. package/dist/utils/localization/translations/de-json.d.ts +0 -251
  384. package/dist/utils/localization/translations/en-json.d.ts +0 -314
  385. package/dist/utils/localization/translations/en-json.js +0 -317
  386. package/dist/utils/localization/translations/es-json.d.ts +0 -251
  387. package/dist/utils/localization/translations/fi-FI-json.d.ts +0 -252
  388. package/dist/utils/localization/translations/fr-FR-json.d.ts +0 -250
  389. package/dist/utils/localization/translations/fr-json.d.ts +0 -251
  390. package/dist/utils/localization/translations/hu-HU-json.d.ts +0 -252
  391. package/dist/utils/localization/translations/id-json.d.ts +0 -252
  392. package/dist/utils/localization/translations/it-json.d.ts +0 -251
  393. package/dist/utils/localization/translations/ja-json.d.ts +0 -251
  394. package/dist/utils/localization/translations/ko-KR-json.d.ts +0 -258
  395. package/dist/utils/localization/translations/ms-json.d.ts +0 -251
  396. package/dist/utils/localization/translations/nb-NO-json.d.ts +0 -252
  397. package/dist/utils/localization/translations/nl-json.d.ts +0 -251
  398. package/dist/utils/localization/translations/pl-json.d.ts +0 -251
  399. package/dist/utils/localization/translations/pt-BR-json.d.ts +0 -251
  400. package/dist/utils/localization/translations/sk-SK-json.d.ts +0 -251
  401. package/dist/utils/localization/translations/sv-json.d.ts +0 -251
  402. package/dist/utils/localization/translations/th-json.d.ts +0 -251
  403. package/dist/utils/localization/translations/tr-json.d.ts +0 -251
  404. package/dist/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  405. package/dist/utils/localization/translations/zh-TW-json.d.ts +0 -271
  406. package/esm/utils/localization/translations/cs-json.d.ts +0 -251
  407. package/esm/utils/localization/translations/da-DK-json.d.ts +0 -252
  408. package/esm/utils/localization/translations/de-json.d.ts +0 -251
  409. package/esm/utils/localization/translations/en-json.d.ts +0 -314
  410. package/esm/utils/localization/translations/en-json.js +0 -314
  411. package/esm/utils/localization/translations/es-json.d.ts +0 -251
  412. package/esm/utils/localization/translations/fi-FI-json.d.ts +0 -252
  413. package/esm/utils/localization/translations/fr-FR-json.d.ts +0 -250
  414. package/esm/utils/localization/translations/fr-json.d.ts +0 -251
  415. package/esm/utils/localization/translations/hu-HU-json.d.ts +0 -252
  416. package/esm/utils/localization/translations/id-json.d.ts +0 -252
  417. package/esm/utils/localization/translations/it-json.d.ts +0 -251
  418. package/esm/utils/localization/translations/ja-json.d.ts +0 -251
  419. package/esm/utils/localization/translations/ko-KR-json.d.ts +0 -258
  420. package/esm/utils/localization/translations/ms-json.d.ts +0 -251
  421. package/esm/utils/localization/translations/nb-NO-json.d.ts +0 -252
  422. package/esm/utils/localization/translations/nl-json.d.ts +0 -251
  423. package/esm/utils/localization/translations/pl-json.d.ts +0 -251
  424. package/esm/utils/localization/translations/pt-BR-json.d.ts +0 -251
  425. package/esm/utils/localization/translations/sk-SK-json.d.ts +0 -251
  426. package/esm/utils/localization/translations/sv-json.d.ts +0 -251
  427. package/esm/utils/localization/translations/th-json.d.ts +0 -251
  428. package/esm/utils/localization/translations/tr-json.d.ts +0 -251
  429. package/esm/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  430. package/esm/utils/localization/translations/zh-TW-json.d.ts +0 -271
@@ -1,7 +1,565 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ const {
4
+ injectString
5
+ } = require("../utils/localization/translationsDictionary");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
3
9
  exports.TRANSLATIONS = exports.Calendar = exports.monthLabelsArray = void 0;
4
10
  const jsx_runtime_1 = require("react/jsx-runtime");
11
+ injectString("cs", "ShortSunday", "Ne");
12
+ injectString("da-DK", "ShortSunday", "S");
13
+ injectString("de", "ShortSunday", "So");
14
+ injectString("en", "ShortSunday", "S");
15
+ injectString("es", "ShortSunday", "D");
16
+ injectString("fi-FI", "ShortSunday", "su");
17
+ injectString("fr", "ShortSunday", "D");
18
+ injectString("fr-FR", "ShortSunday", "D");
19
+ injectString("hu-HU", "ShortSunday", "V");
20
+ injectString("id", "ShortSunday", "S");
21
+ injectString("it", "ShortSunday", "D");
22
+ injectString("ja", "ShortSunday", "\u65E5");
23
+ injectString("ko-KR", "ShortSunday", "\uC77C");
24
+ injectString("ms", "ShortSunday", "A");
25
+ injectString("nb-NO", "ShortSunday", "s\xF8n");
26
+ injectString("nl", "ShortSunday", "z");
27
+ injectString("pl", "ShortSunday", "N");
28
+ injectString("pt-BR", "ShortSunday", "D");
29
+ injectString("sk-SK", "ShortSunday", "N");
30
+ injectString("sv", "ShortSunday", "S");
31
+ injectString("th", "ShortSunday", "\u0E2D\u0E32.");
32
+ injectString("tr", "ShortSunday", "Pa");
33
+ injectString("zh-Hans", "ShortSunday", "\u65E5");
34
+ injectString("zh-TW", "ShortSunday", "\u9031\u65E5");
35
+ injectString("cs", "ShortMonday", "Po");
36
+ injectString("da-DK", "ShortMonday", "M");
37
+ injectString("de", "ShortMonday", "Mo");
38
+ injectString("en", "ShortMonday", "M");
39
+ injectString("es", "ShortMonday", "L");
40
+ injectString("fi-FI", "ShortMonday", "ma");
41
+ injectString("fr", "ShortMonday", "L");
42
+ injectString("fr-FR", "ShortMonday", "L");
43
+ injectString("hu-HU", "ShortMonday", "H");
44
+ injectString("id", "ShortMonday", "M");
45
+ injectString("it", "ShortMonday", "L");
46
+ injectString("ja", "ShortMonday", "\u6708");
47
+ injectString("ko-KR", "ShortMonday", "\uC6D4");
48
+ injectString("ms", "ShortMonday", "I");
49
+ injectString("nb-NO", "ShortMonday", "man");
50
+ injectString("nl", "ShortMonday", "m");
51
+ injectString("pl", "ShortMonday", "P");
52
+ injectString("pt-BR", "ShortMonday", "S");
53
+ injectString("sk-SK", "ShortMonday", "P");
54
+ injectString("sv", "ShortMonday", "M");
55
+ injectString("th", "ShortMonday", "\u0E08.");
56
+ injectString("tr", "ShortMonday", "Pt");
57
+ injectString("zh-Hans", "ShortMonday", "\u4E00");
58
+ injectString("zh-TW", "ShortMonday", "\u9031\u4E00");
59
+ injectString("cs", "ShortTuesday", "\xDAt");
60
+ injectString("da-DK", "ShortTuesday", "T");
61
+ injectString("de", "ShortTuesday", "Di");
62
+ injectString("en", "ShortTuesday", "T");
63
+ injectString("es", "ShortTuesday", "M");
64
+ injectString("fi-FI", "ShortTuesday", "ti");
65
+ injectString("fr", "ShortTuesday", "M");
66
+ injectString("fr-FR", "ShortTuesday", "M");
67
+ injectString("hu-HU", "ShortTuesday", "K");
68
+ injectString("id", "ShortTuesday", "T");
69
+ injectString("it", "ShortTuesday", "M");
70
+ injectString("ja", "ShortTuesday", "\u706B");
71
+ injectString("ko-KR", "ShortTuesday", "\uD654");
72
+ injectString("ms", "ShortTuesday", "S");
73
+ injectString("nb-NO", "ShortTuesday", "tir");
74
+ injectString("nl", "ShortTuesday", "d");
75
+ injectString("pl", "ShortTuesday", "W");
76
+ injectString("pt-BR", "ShortTuesday", "T");
77
+ injectString("sk-SK", "ShortTuesday", "U");
78
+ injectString("sv", "ShortTuesday", "T");
79
+ injectString("th", "ShortTuesday", "\u0E2D.");
80
+ injectString("tr", "ShortTuesday", "Sa");
81
+ injectString("zh-Hans", "ShortTuesday", "\u4E8C");
82
+ injectString("zh-TW", "ShortTuesday", "\u9031\u4E8C");
83
+ injectString("cs", "ShortWednesday", "St");
84
+ injectString("da-DK", "ShortWednesday", "O");
85
+ injectString("de", "ShortWednesday", "Mi");
86
+ injectString("en", "ShortWednesday", "W");
87
+ injectString("es", "ShortWednesday", "X");
88
+ injectString("fi-FI", "ShortWednesday", "ke");
89
+ injectString("fr", "ShortWednesday", "M");
90
+ injectString("fr-FR", "ShortWednesday", "M");
91
+ injectString("hu-HU", "ShortWednesday", "S");
92
+ injectString("id", "ShortWednesday", "W");
93
+ injectString("it", "ShortWednesday", "M");
94
+ injectString("ja", "ShortWednesday", "\u6C34");
95
+ injectString("ko-KR", "ShortWednesday", "\uC218");
96
+ injectString("ms", "ShortWednesday", "R");
97
+ injectString("nb-NO", "ShortWednesday", "ons");
98
+ injectString("nl", "ShortWednesday", "w");
99
+ injectString("pl", "ShortWednesday", "\u015A");
100
+ injectString("pt-BR", "ShortWednesday", "Q");
101
+ injectString("sk-SK", "ShortWednesday", "S");
102
+ injectString("sv", "ShortWednesday", "O");
103
+ injectString("th", "ShortWednesday", "\u0E1E.");
104
+ injectString("tr", "ShortWednesday", "\xC7a");
105
+ injectString("zh-Hans", "ShortWednesday", "\u4E09");
106
+ injectString("zh-TW", "ShortWednesday", "\u9031\u4E09");
107
+ injectString("cs", "ShortThursday", "\u010Ct");
108
+ injectString("da-DK", "ShortThursday", "T");
109
+ injectString("de", "ShortThursday", "Do");
110
+ injectString("en", "ShortThursday", "T");
111
+ injectString("es", "ShortThursday", "J");
112
+ injectString("fi-FI", "ShortThursday", "to");
113
+ injectString("fr", "ShortThursday", "J");
114
+ injectString("fr-FR", "ShortThursday", "J");
115
+ injectString("hu-HU", "ShortThursday", "C");
116
+ injectString("id", "ShortThursday", "T");
117
+ injectString("it", "ShortThursday", "G");
118
+ injectString("ja", "ShortThursday", "\u6728");
119
+ injectString("ko-KR", "ShortThursday", "\uBAA9");
120
+ injectString("ms", "ShortThursday", "K");
121
+ injectString("nb-NO", "ShortThursday", "tor");
122
+ injectString("nl", "ShortThursday", "d");
123
+ injectString("pl", "ShortThursday", "C");
124
+ injectString("pt-BR", "ShortThursday", "Q");
125
+ injectString("sk-SK", "ShortThursday", "\u0160");
126
+ injectString("sv", "ShortThursday", "T");
127
+ injectString("th", "ShortThursday", "\u0E1E\u0E24.");
128
+ injectString("tr", "ShortThursday", "Pe");
129
+ injectString("zh-Hans", "ShortThursday", "\u56DB");
130
+ injectString("zh-TW", "ShortThursday", "\u9031\u56DB");
131
+ injectString("cs", "ShortFriday", "P\xE1");
132
+ injectString("da-DK", "ShortFriday", "F");
133
+ injectString("de", "ShortFriday", "Fr");
134
+ injectString("en", "ShortFriday", "F");
135
+ injectString("es", "ShortFriday", "V");
136
+ injectString("fi-FI", "ShortFriday", "pe");
137
+ injectString("fr", "ShortFriday", "V");
138
+ injectString("fr-FR", "ShortFriday", "V");
139
+ injectString("hu-HU", "ShortFriday", "P");
140
+ injectString("id", "ShortFriday", "F");
141
+ injectString("it", "ShortFriday", "V");
142
+ injectString("ja", "ShortFriday", "\u91D1");
143
+ injectString("ko-KR", "ShortFriday", "\uAE08");
144
+ injectString("ms", "ShortFriday", "J");
145
+ injectString("nb-NO", "ShortFriday", "fre");
146
+ injectString("nl", "ShortFriday", "v");
147
+ injectString("pl", "ShortFriday", "P");
148
+ injectString("pt-BR", "ShortFriday", "S");
149
+ injectString("sk-SK", "ShortFriday", "P");
150
+ injectString("sv", "ShortFriday", "F");
151
+ injectString("th", "ShortFriday", "\u0E28.");
152
+ injectString("tr", "ShortFriday", "Cu");
153
+ injectString("zh-Hans", "ShortFriday", "\u4E94");
154
+ injectString("zh-TW", "ShortFriday", "\u9031\u4E94");
155
+ injectString("cs", "ShortSaturday", "So");
156
+ injectString("da-DK", "ShortSaturday", "L");
157
+ injectString("de", "ShortSaturday", "Sa");
158
+ injectString("en", "ShortSaturday", "S");
159
+ injectString("es", "ShortSaturday", "S");
160
+ injectString("fi-FI", "ShortSaturday", "la");
161
+ injectString("fr", "ShortSaturday", "S");
162
+ injectString("fr-FR", "ShortSaturday", "S");
163
+ injectString("hu-HU", "ShortSaturday", "S");
164
+ injectString("id", "ShortSaturday", "S");
165
+ injectString("it", "ShortSaturday", "S");
166
+ injectString("ja", "ShortSaturday", "\u571F");
167
+ injectString("ko-KR", "ShortSaturday", "\uD1A0");
168
+ injectString("ms", "ShortSaturday", "S");
169
+ injectString("nb-NO", "ShortSaturday", "l\xF8r");
170
+ injectString("nl", "ShortSaturday", "z");
171
+ injectString("pl", "ShortSaturday", "S");
172
+ injectString("pt-BR", "ShortSaturday", "S");
173
+ injectString("sk-SK", "ShortSaturday", "S");
174
+ injectString("sv", "ShortSaturday", "L");
175
+ injectString("th", "ShortSaturday", "\u0E2A.");
176
+ injectString("tr", "ShortSaturday", "Ct");
177
+ injectString("zh-Hans", "ShortSaturday", "\u516D");
178
+ injectString("zh-TW", "ShortSaturday", "\u9031\u516D");
179
+ injectString("cs", "Jan", "Led");
180
+ injectString("da-DK", "Jan", "Jan");
181
+ injectString("de", "Jan", "Jan");
182
+ injectString("en", "Jan", "Jan");
183
+ injectString("es", "Jan", "Ene");
184
+ injectString("fi-FI", "Jan", "Tam.");
185
+ injectString("fr", "Jan", "janv");
186
+ injectString("fr-FR", "Jan", "Jan");
187
+ injectString("hu-HU", "Jan", "Jan");
188
+ injectString("id", "Jan", "Jan");
189
+ injectString("it", "Jan", "Gen");
190
+ injectString("ja", "Jan", "1\u6708");
191
+ injectString("ko-KR", "Jan", "1\uC6D4");
192
+ injectString("ms", "Jan", "Jan");
193
+ injectString("nb-NO", "Jan", "Jan");
194
+ injectString("nl", "Jan", "jan");
195
+ injectString("pl", "Jan", "Sty");
196
+ injectString("pt-BR", "Jan", "Jan");
197
+ injectString("sk-SK", "Jan", "an.");
198
+ injectString("sv", "Jan", "Jan");
199
+ injectString("th", "Jan", "\u0E21.\u0E04.");
200
+ injectString("tr", "Jan", "Oca");
201
+ injectString("zh-Hans", "Jan", "\u4E00\u6708");
202
+ injectString("zh-TW", "Jan", "\u4E00\u6708");
203
+ injectString("cs", "Feb", "\xDAno");
204
+ injectString("da-DK", "Feb", "Feb");
205
+ injectString("de", "Feb", "Feb");
206
+ injectString("en", "Feb", "Feb");
207
+ injectString("es", "Feb", "Feb");
208
+ injectString("fi-FI", "Feb", "Hel.");
209
+ injectString("fr", "Feb", "f\xE9vr");
210
+ injectString("fr-FR", "Feb", "F\xE9v");
211
+ injectString("hu-HU", "Feb", "Feb");
212
+ injectString("id", "Feb", "Feb");
213
+ injectString("it", "Feb", "Feb");
214
+ injectString("ja", "Feb", "2\u6708");
215
+ injectString("ko-KR", "Feb", "2\uC6D4");
216
+ injectString("ms", "Feb", "Feb");
217
+ injectString("nb-NO", "Feb", "Feb");
218
+ injectString("nl", "Feb", "feb");
219
+ injectString("pl", "Feb", "Lut");
220
+ injectString("pt-BR", "Feb", "Fev");
221
+ injectString("sk-SK", "Feb", "feb.");
222
+ injectString("sv", "Feb", "Feb");
223
+ injectString("th", "Feb", "\u0E01.\u0E1E.");
224
+ injectString("tr", "Feb", "\u015Eub");
225
+ injectString("zh-Hans", "Feb", "\u4E8C\u6708");
226
+ injectString("zh-TW", "Feb", "\u4E8C\u6708");
227
+ injectString("cs", "Mar", "B\u0159e");
228
+ injectString("da-DK", "Mar", "Mar");
229
+ injectString("de", "Mar", "M\xE4r");
230
+ injectString("en", "Mar", "Mar");
231
+ injectString("es", "Mar", "Mar");
232
+ injectString("fi-FI", "Mar", "Maal.");
233
+ injectString("fr", "Mar", "mars");
234
+ injectString("fr-FR", "Mar", "Mar");
235
+ injectString("hu-HU", "Mar", "M\xE1r");
236
+ injectString("id", "Mar", "Mar");
237
+ injectString("it", "Mar", "Mar");
238
+ injectString("ja", "Mar", "3\u6708");
239
+ injectString("ko-KR", "Mar", "3\uC6D4");
240
+ injectString("ms", "Mar", "Mac");
241
+ injectString("nb-NO", "Mar", "Mar");
242
+ injectString("nl", "Mar", "maa");
243
+ injectString("pl", "Mar", "Mar");
244
+ injectString("pt-BR", "Mar", "Mar");
245
+ injectString("sk-SK", "Mar", "mar.");
246
+ injectString("sv", "Mar", "Mar");
247
+ injectString("th", "Mar", "\u0E21\u0E35.\u0E04.");
248
+ injectString("tr", "Mar", "Mar");
249
+ injectString("zh-Hans", "Mar", "\u4E09\u6708");
250
+ injectString("zh-TW", "Mar", "\u4E09\u6708");
251
+ injectString("cs", "Apr", "Dub");
252
+ injectString("da-DK", "Apr", "Apr");
253
+ injectString("de", "Apr", "Apr");
254
+ injectString("en", "Apr", "Apr");
255
+ injectString("es", "Apr", "Abr");
256
+ injectString("fi-FI", "Apr", "Huht.");
257
+ injectString("fr", "Apr", "avr");
258
+ injectString("fr-FR", "Apr", "Avr");
259
+ injectString("hu-HU", "Apr", "\xC1pr");
260
+ injectString("id", "Apr", "Apr");
261
+ injectString("it", "Apr", "Apr");
262
+ injectString("ja", "Apr", "4\u6708");
263
+ injectString("ko-KR", "Apr", "4\uC6D4");
264
+ injectString("ms", "Apr", "Apr");
265
+ injectString("nb-NO", "Apr", "Apr");
266
+ injectString("nl", "Apr", "apr");
267
+ injectString("pl", "Apr", "Kwi");
268
+ injectString("pt-BR", "Apr", "Abr");
269
+ injectString("sk-SK", "Apr", "apr.");
270
+ injectString("sv", "Apr", "Apr");
271
+ injectString("th", "Apr", "\u0E40\u0E21.\u0E22.");
272
+ injectString("tr", "Apr", "Nis");
273
+ injectString("zh-Hans", "Apr", "\u56DB\u6708");
274
+ injectString("zh-TW", "Apr", "\u56DB\u6708");
275
+ injectString("cs", "May", "Kv\u011Bten");
276
+ injectString("da-DK", "May", "Maj");
277
+ injectString("de", "May", "Mai");
278
+ injectString("en", "May", "May");
279
+ injectString("es", "May", "Mayo");
280
+ injectString("fi-FI", "May", "Toukokuu");
281
+ injectString("fr", "May", "Mai");
282
+ injectString("fr-FR", "May", "Mai");
283
+ injectString("hu-HU", "May", "M\xE1jus");
284
+ injectString("id", "May", "Mei");
285
+ injectString("it", "May", "Mag");
286
+ injectString("ja", "May", "5\u6708");
287
+ injectString("ko-KR", "May", "5\uC6D4");
288
+ injectString("ms", "May", "Mei");
289
+ injectString("nb-NO", "May", "Mai");
290
+ injectString("nl", "May", "mei");
291
+ injectString("pl", "May", "Maj");
292
+ injectString("pt-BR", "May", "Maio");
293
+ injectString("sk-SK", "May", "m\xE1j");
294
+ injectString("sv", "May", "Maj");
295
+ injectString("th", "May", "\u0E1E\u0E24\u0E29\u0E20\u0E32\u0E04\u0E21");
296
+ injectString("tr", "May", "May\u0131s");
297
+ injectString("zh-Hans", "May", "\u4E94\u6708");
298
+ injectString("zh-TW", "May", "\u4E94\u6708");
299
+ injectString("cs", "Jun", "\u010Cvn");
300
+ injectString("da-DK", "Jun", "Jun");
301
+ injectString("de", "Jun", "Jun");
302
+ injectString("en", "Jun", "Jun");
303
+ injectString("es", "Jun", "Jun");
304
+ injectString("fi-FI", "Jun", "Kes.");
305
+ injectString("fr", "Jun", "juin");
306
+ injectString("fr-FR", "Jun", "Juin");
307
+ injectString("hu-HU", "Jun", "J\xFAn");
308
+ injectString("id", "Jun", "Jun");
309
+ injectString("it", "Jun", "Giu");
310
+ injectString("ja", "Jun", "6\u6708");
311
+ injectString("ko-KR", "Jun", "6\uC6D4");
312
+ injectString("ms", "Jun", "Jun");
313
+ injectString("nb-NO", "Jun", "Jun");
314
+ injectString("nl", "Jun", "jun");
315
+ injectString("pl", "Jun", "Cze");
316
+ injectString("pt-BR", "Jun", "Jun");
317
+ injectString("sk-SK", "Jun", "j\xFAn");
318
+ injectString("sv", "Jun", "Jun");
319
+ injectString("th", "Jun", "\u0E21\u0E34.\u0E22.");
320
+ injectString("tr", "Jun", "Haz");
321
+ injectString("zh-Hans", "Jun", "\u516D\u6708");
322
+ injectString("zh-TW", "Jun", "\u516D\u6708");
323
+ injectString("cs", "Jul", "\u010Cvc");
324
+ injectString("da-DK", "Jul", "Jul");
325
+ injectString("de", "Jul", "Jul");
326
+ injectString("en", "Jul", "Jul");
327
+ injectString("es", "Jul", "Jul");
328
+ injectString("fi-FI", "Jul", "Hei.");
329
+ injectString("fr", "Jul", "juil");
330
+ injectString("fr-FR", "Jul", "Juil");
331
+ injectString("hu-HU", "Jul", "J\xFAl");
332
+ injectString("id", "Jul", "Jul");
333
+ injectString("it", "Jul", "Lug");
334
+ injectString("ja", "Jul", "7\u6708");
335
+ injectString("ko-KR", "Jul", "7\uC6D4");
336
+ injectString("ms", "Jul", "Jul");
337
+ injectString("nb-NO", "Jul", "Jul");
338
+ injectString("nl", "Jul", "jul");
339
+ injectString("pl", "Jul", "Lip");
340
+ injectString("pt-BR", "Jul", "Jul");
341
+ injectString("sk-SK", "Jul", "j\xFAl");
342
+ injectString("sv", "Jul", "Jul");
343
+ injectString("th", "Jul", "\u0E01.\u0E04.");
344
+ injectString("tr", "Jul", "Tem");
345
+ injectString("zh-Hans", "Jul", "\u4E03\u6708");
346
+ injectString("zh-TW", "Jul", "\u4E03\u6708");
347
+ injectString("cs", "Aug", "Srp");
348
+ injectString("da-DK", "Aug", "Aug");
349
+ injectString("de", "Aug", "Aug");
350
+ injectString("en", "Aug", "Aug");
351
+ injectString("es", "Aug", "Ago");
352
+ injectString("fi-FI", "Aug", "Elo.");
353
+ injectString("fr", "Aug", "ao\xFBt");
354
+ injectString("fr-FR", "Aug", "Ao\xFB");
355
+ injectString("hu-HU", "Aug", "Aug");
356
+ injectString("id", "Aug", "Agu");
357
+ injectString("it", "Aug", "Ago");
358
+ injectString("ja", "Aug", "8\u6708");
359
+ injectString("ko-KR", "Aug", "8\uC6D4");
360
+ injectString("ms", "Aug", "Ogos");
361
+ injectString("nb-NO", "Aug", "Aug");
362
+ injectString("nl", "Aug", "aug");
363
+ injectString("pl", "Aug", "Sie");
364
+ injectString("pt-BR", "Aug", "Ago");
365
+ injectString("sk-SK", "Aug", "aug.");
366
+ injectString("sv", "Aug", "Aug");
367
+ injectString("th", "Aug", "\u0E2A.\u0E04.");
368
+ injectString("tr", "Aug", "A\u011Fu");
369
+ injectString("zh-Hans", "Aug", "\u516B\u6708");
370
+ injectString("zh-TW", "Aug", "\u516B\u6708");
371
+ injectString("cs", "Sep", "Z\xE1\u0159");
372
+ injectString("da-DK", "Sep", "Sep");
373
+ injectString("de", "Sep", "Sep");
374
+ injectString("en", "Sep", "Sep");
375
+ injectString("es", "Sep", "Sep");
376
+ injectString("fi-FI", "Sep", "Syys.");
377
+ injectString("fr", "Sep", "sept");
378
+ injectString("fr-FR", "Sep", "Sep");
379
+ injectString("hu-HU", "Sep", "Szept");
380
+ injectString("id", "Sep", "Sep");
381
+ injectString("it", "Sep", "Set");
382
+ injectString("ja", "Sep", "9\u6708");
383
+ injectString("ko-KR", "Sep", "9\uC6D4");
384
+ injectString("ms", "Sep", "Sep");
385
+ injectString("nb-NO", "Sep", "Sep");
386
+ injectString("nl", "Sep", "sep");
387
+ injectString("pl", "Sep", "Wrz");
388
+ injectString("pt-BR", "Sep", "Set");
389
+ injectString("sk-SK", "Sep", "sep.");
390
+ injectString("sv", "Sep", "Sep");
391
+ injectString("th", "Sep", "\u0E01.\u0E22.");
392
+ injectString("tr", "Sep", "Eyl");
393
+ injectString("zh-Hans", "Sep", "\u4E5D\u6708");
394
+ injectString("zh-TW", "Sep", "\u4E5D\u6708");
395
+ injectString("cs", "Oct", "\u0158\xEDj");
396
+ injectString("da-DK", "Oct", "Okt");
397
+ injectString("de", "Oct", "Okt");
398
+ injectString("en", "Oct", "Oct");
399
+ injectString("es", "Oct", "Oct");
400
+ injectString("fi-FI", "Oct", "Lok.");
401
+ injectString("fr", "Oct", "oct");
402
+ injectString("fr-FR", "Oct", "Oct");
403
+ injectString("hu-HU", "Oct", "Okt");
404
+ injectString("id", "Oct", "Okt");
405
+ injectString("it", "Oct", "Ott");
406
+ injectString("ja", "Oct", "10\u6708");
407
+ injectString("ko-KR", "Oct", "10\uC6D4");
408
+ injectString("ms", "Oct", "Okt");
409
+ injectString("nb-NO", "Oct", "Okt");
410
+ injectString("nl", "Oct", "okt");
411
+ injectString("pl", "Oct", "Pa\u017A");
412
+ injectString("pt-BR", "Oct", "Out");
413
+ injectString("sk-SK", "Oct", "okt.");
414
+ injectString("sv", "Oct", "Okt");
415
+ injectString("th", "Oct", "\u0E15.\u0E04.");
416
+ injectString("tr", "Oct", "Eki");
417
+ injectString("zh-Hans", "Oct", "\u5341\u6708");
418
+ injectString("zh-TW", "Oct", "\u5341\u6708");
419
+ injectString("cs", "Nov", "Lis");
420
+ injectString("da-DK", "Nov", "Nov");
421
+ injectString("de", "Nov", "Nov");
422
+ injectString("en", "Nov", "Nov");
423
+ injectString("es", "Nov", "Nov");
424
+ injectString("fi-FI", "Nov", "Marr.");
425
+ injectString("fr", "Nov", "nov");
426
+ injectString("fr-FR", "Nov", "Nov");
427
+ injectString("hu-HU", "Nov", "Nov");
428
+ injectString("id", "Nov", "Nov");
429
+ injectString("it", "Nov", "Nov");
430
+ injectString("ja", "Nov", "11\u6708");
431
+ injectString("ko-KR", "Nov", "11\uC6D4");
432
+ injectString("ms", "Nov", "Nov");
433
+ injectString("nb-NO", "Nov", "Nov");
434
+ injectString("nl", "Nov", "nov");
435
+ injectString("pl", "Nov", "Lis");
436
+ injectString("pt-BR", "Nov", "Nov");
437
+ injectString("sk-SK", "Nov", "nov.");
438
+ injectString("sv", "Nov", "Nov");
439
+ injectString("th", "Nov", "\u0E1E.\u0E22.");
440
+ injectString("tr", "Nov", "Kas");
441
+ injectString("zh-Hans", "Nov", "\u5341\u4E00\u6708");
442
+ injectString("zh-TW", "Nov", "\u5341\u4E00\u6708");
443
+ injectString("cs", "Dec", "Pro");
444
+ injectString("da-DK", "Dec", "Dec");
445
+ injectString("de", "Dec", "Dez");
446
+ injectString("en", "Dec", "Dec");
447
+ injectString("es", "Dec", "Dic");
448
+ injectString("fi-FI", "Dec", "Jou.");
449
+ injectString("fr", "Dec", "d\xE9c");
450
+ injectString("fr-FR", "Dec", "D\xE9c");
451
+ injectString("hu-HU", "Dec", "Dec");
452
+ injectString("id", "Dec", "Des");
453
+ injectString("it", "Dec", "Dic");
454
+ injectString("ja", "Dec", "12\u6708");
455
+ injectString("ko-KR", "Dec", "12\uC6D4");
456
+ injectString("ms", "Dec", "Dis");
457
+ injectString("nb-NO", "Dec", "Des");
458
+ injectString("nl", "Dec", "dec");
459
+ injectString("pl", "Dec", "Gru");
460
+ injectString("pt-BR", "Dec", "Dez");
461
+ injectString("sk-SK", "Dec", "dec.");
462
+ injectString("sv", "Dec", "Dec");
463
+ injectString("th", "Dec", "\u0E18.\u0E04.");
464
+ injectString("tr", "Dec", "Ara");
465
+ injectString("zh-Hans", "Dec", "\u5341\u4E8C\u6708");
466
+ injectString("zh-TW", "Dec", "\u5341\u4E8C\u6708");
467
+ injectString("cs", "Previous month", "P\u0159edchoz\xED m\u011Bs\xEDc");
468
+ injectString("da-DK", "Previous month", "Forrige m\xE5ned");
469
+ injectString("de", "Previous month", "Vorheriger Monat");
470
+ injectString("en", "Previous month", "Previous month");
471
+ injectString("es", "Previous month", "Mes anterior");
472
+ injectString("fi-FI", "Previous month", "Edellinen kuukausi");
473
+ injectString("fr", "Previous month", "Mois pr\xE9c\xE9dent");
474
+ injectString("fr-FR", "Previous month", "Mois pr\xE9c\xE9dent");
475
+ injectString("hu-HU", "Previous month", "El\u0151z\u0151 h\xF3nap");
476
+ injectString("id", "Previous month", "Bulan sebelumnya");
477
+ injectString("it", "Previous month", "Mese precedente");
478
+ injectString("ja", "Previous month", "\u5148\u6708");
479
+ injectString("ko-KR", "Previous month", "\uC774\uC804 \uB2EC");
480
+ injectString("ms", "Previous month", "Bulan sebelumnya");
481
+ injectString("nb-NO", "Previous month", "Forrige m\xE5ned");
482
+ injectString("nl", "Previous month", "Vorige maand");
483
+ injectString("pl", "Previous month", "Poprzedni miesi\u0105c");
484
+ injectString("pt-BR", "Previous month", "M\xEAs anterior");
485
+ injectString("sk-SK", "Previous month", "Predch\xE1dzaj\xFAci mesiac");
486
+ injectString("sv", "Previous month", "F\xF6reg\xE5ende m\xE5nad");
487
+ injectString("th", "Previous month", "\u0E40\u0E14\u0E37\u0E2D\u0E19\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32");
488
+ injectString("tr", "Previous month", "\xD6nceki ay");
489
+ injectString("zh-Hans", "Previous month", "\u524D\u4E00\u6708");
490
+ injectString("zh-TW", "Previous month", "\u4E0A\u500B\u6708");
491
+ injectString("cs", "Select year", "Vybrat rok");
492
+ injectString("da-DK", "Select year", "V\xE6lg \xE5r");
493
+ injectString("de", "Select year", "Jahr ausw\xE4hlen");
494
+ injectString("en", "Select year", "Select year");
495
+ injectString("es", "Select year", "Seleccionar a\xF1o");
496
+ injectString("fi-FI", "Select year", "Valitse vuosi");
497
+ injectString("fr", "Select year", "S\xE9lectionner l\u2019ann\xE9e");
498
+ injectString("fr-FR", "Select year", "S\xE9lectionner l\u2019ann\xE9e");
499
+ injectString("hu-HU", "Select year", "V\xE1laszd ki az \xE9vet.");
500
+ injectString("id", "Select year", "Pilih tahun");
501
+ injectString("it", "Select year", "Seleziona anno");
502
+ injectString("ja", "Select year", "\u5E74\u3092\u9078\u629E");
503
+ injectString("ko-KR", "Select year", "\uC5F0\uB3C4 \uC120\uD0DD");
504
+ injectString("ms", "Select year", "Pilih tahun");
505
+ injectString("nb-NO", "Select year", "Velg \xE5r");
506
+ injectString("nl", "Select year", "Jaar selecteren");
507
+ injectString("pl", "Select year", "Wybierz rok");
508
+ injectString("pt-BR", "Select year", "Selecionar ano");
509
+ injectString("sk-SK", "Select year", "Vyber rok");
510
+ injectString("sv", "Select year", "V\xE4lj \xE5r");
511
+ injectString("th", "Select year", "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E1B\u0E35");
512
+ injectString("tr", "Select year", "Y\u0131l se\xE7");
513
+ injectString("zh-Hans", "Select year", "\u9009\u62E9\u5E74");
514
+ injectString("zh-TW", "Select year", "\u9078\u53D6\u5E74\u4EFD");
515
+ injectString("cs", "Today", "Dnes");
516
+ injectString("da-DK", "Today", "I dag");
517
+ injectString("de", "Today", "Heute");
518
+ injectString("en", "Today", "Today");
519
+ injectString("es", "Today", "Hoy");
520
+ injectString("fi-FI", "Today", "T\xE4n\xE4\xE4n");
521
+ injectString("fr", "Today", "Aujourd\u2019hui");
522
+ injectString("fr-FR", "Today", "Aujourd\u2019hui");
523
+ injectString("hu-HU", "Today", "Ma");
524
+ injectString("id", "Today", "Hari ini");
525
+ injectString("it", "Today", "Oggi");
526
+ injectString("ja", "Today", "\u4ECA\u65E5");
527
+ injectString("ko-KR", "Today", "\uC624\uB298");
528
+ injectString("ms", "Today", "Hari Ini");
529
+ injectString("nb-NO", "Today", "I dag");
530
+ injectString("nl", "Today", "Vandaag");
531
+ injectString("pl", "Today", "Dzi\u015B");
532
+ injectString("pt-BR", "Today", "Hoje");
533
+ injectString("sk-SK", "Today", "Dnes");
534
+ injectString("sv", "Today", "Idag");
535
+ injectString("th", "Today", "\u0E27\u0E31\u0E19\u0E19\u0E35\u0E49");
536
+ injectString("tr", "Today", "Bug\xFCn");
537
+ injectString("zh-Hans", "Today", "\u4ECA\u65E5");
538
+ injectString("zh-TW", "Today", "\u4ECA\u5929");
539
+ injectString("cs", "Next month", "P\u0159\xED\u0161t\xED m\u011Bs\xEDc");
540
+ injectString("da-DK", "Next month", "N\xE6ste m\xE5ned");
541
+ injectString("de", "Next month", "N\xE4chsten Monat");
542
+ injectString("en", "Next month", "Next month");
543
+ injectString("es", "Next month", "Pr\xF3ximo mes");
544
+ injectString("fi-FI", "Next month", "Seuraava kuukausi");
545
+ injectString("fr", "Next month", "Mois prochain");
546
+ injectString("fr-FR", "Next month", "Le mois prochain");
547
+ injectString("hu-HU", "Next month", "K\xF6vetkez\u0151 h\xF3nap");
548
+ injectString("id", "Next month", "Bulan Berikutnya");
549
+ injectString("it", "Next month", "Prossimo mese");
550
+ injectString("ja", "Next month", "\u6765\u6708");
551
+ injectString("ko-KR", "Next month", "\uB2E4\uC74C \uB2EC");
552
+ injectString("ms", "Next month", "Bulan seterusnya");
553
+ injectString("nb-NO", "Next month", "Neste m\xE5ned");
554
+ injectString("nl", "Next month", "Volgende maand");
555
+ injectString("pl", "Next month", "Nast\u0119pny miesi\u0105c");
556
+ injectString("pt-BR", "Next month", "Pr\xF3ximo m\xEAs");
557
+ injectString("sk-SK", "Next month", "\u010Eal\u0161\xED mesiac");
558
+ injectString("sv", "Next month", "N\xE4sta m\xE5nad");
559
+ injectString("th", "Next month", "\u0E40\u0E14\u0E37\u0E2D\u0E19\u0E16\u0E31\u0E14\u0E44\u0E1B");
560
+ injectString("tr", "Next month", "Gelecek ay");
561
+ injectString("zh-Hans", "Next month", "\u4E0B\u6708");
562
+ injectString("zh-TW", "Next month", "\u4E0B\u500B\u6708");
5
563
  const react_1 = require("react");
6
564
  const dateUtils_1 = require("./dateUtils");
7
565
  const classNames_1 = require("../commonHelpers/classNames/classNames");
@@ -18,278 +576,390 @@ const buttonType_1 = require("../button/buttonType");
18
576
  const DEFAULT_START_DAY_OF_WEEK = 0;
19
577
  const DEFAULT_YEAR_RANGE = 20;
20
578
  exports.monthLabelsArray = ["Jan", "Feb", "Mar", "Apr", "Ma", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
21
- const Calendar = ({ id, value, onChange, disableFutureDates = false, disablePastDates = false, disableDatesAfter, disableDatesBefore, dateRangeMode = false, startDayOfWeek, yearRange, isMobileView, getCurrentActiveField, onTodayButtonClick }) => {
22
- const { translate } = (0, useLanguage_1.useLanguage)();
23
- const fromDate = (0, react_1.useMemo)(() => value.from ? (0, dateUtils_1.toDayStart)(value.from) : undefined, [value.from]);
24
- const toDate = (0, react_1.useMemo)(() => value.to ? (0, dateUtils_1.toDayStart)(value.to) : undefined, [value.to]);
25
- const driveClassName = (0, useDriveClassName_1.useDriveClassName)("zen-calendar");
26
- const parentRef = (0, react_1.useRef)(null);
27
- const focusRef = (0, react_1.useRef)(null);
28
- const parallelSelectionTriggerRef = (0, react_1.useRef)(null);
29
- const [viewDate, setViewDate] = (0, react_1.useState)(fromDate || new Date().toISOString());
30
- const [hoverDate, setHoverDate] = (0, react_1.useState)(fromDate);
31
- const [focusDate, setFocusDate] = (0, react_1.useState)(fromDate || new Date().toISOString());
32
- const changeView = (0, react_1.useCallback)((date) => {
33
- var _a, _b;
34
- focusRef.current = document.activeElement;
35
- const dateLike = new Date(date);
36
- dateLike.setDate(15);
37
- if ((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.classList.contains("zen-parallel-selection__select")) {
38
- (_b = parallelSelectionTriggerRef.current) === null || _b === void 0 ? void 0 : _b.focus();
39
- }
40
- setViewDate(dateLike.toISOString());
41
- }, [setViewDate]);
42
- const handleFocusDateChange = (0, react_1.useCallback)((focusing = false) => (date) => {
43
- var _a;
44
- if (date && focusing) {
579
+ const Calendar = ({
580
+ id,
581
+ value,
582
+ onChange,
583
+ disableFutureDates = false,
584
+ disablePastDates = false,
585
+ disableDatesAfter,
586
+ disableDatesBefore,
587
+ dateRangeMode = false,
588
+ startDayOfWeek,
589
+ yearRange,
590
+ isMobileView,
591
+ getCurrentActiveField,
592
+ onTodayButtonClick
593
+ }) => {
594
+ const {
595
+ translate
596
+ } = (0, useLanguage_1.useLanguage)();
597
+ const fromDate = (0, react_1.useMemo)(() => value.from ? (0, dateUtils_1.toDayStart)(value.from) : undefined, [value.from]);
598
+ const toDate = (0, react_1.useMemo)(() => value.to ? (0, dateUtils_1.toDayStart)(value.to) : undefined, [value.to]);
599
+ const driveClassName = (0, useDriveClassName_1.useDriveClassName)("zen-calendar");
600
+ const parentRef = (0, react_1.useRef)(null);
601
+ const focusRef = (0, react_1.useRef)(null);
602
+ const parallelSelectionTriggerRef = (0, react_1.useRef)(null);
603
+ const [viewDate, setViewDate] = (0, react_1.useState)(fromDate || new Date().toISOString());
604
+ const [hoverDate, setHoverDate] = (0, react_1.useState)(fromDate);
605
+ const [focusDate, setFocusDate] = (0, react_1.useState)(fromDate || new Date().toISOString());
606
+ const changeView = (0, react_1.useCallback)(date => {
607
+ var _a, _b;
608
+ focusRef.current = document.activeElement;
609
+ const dateLike = new Date(date);
610
+ dateLike.setDate(15);
611
+ if ((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.classList.contains("zen-parallel-selection__select")) {
612
+ (_b = parallelSelectionTriggerRef.current) === null || _b === void 0 ? void 0 : _b.focus();
613
+ }
614
+ setViewDate(dateLike.toISOString());
615
+ }, [setViewDate]);
616
+ const handleFocusDateChange = (0, react_1.useCallback)((focusing = false) => date => {
617
+ var _a;
618
+ if (date && focusing) {
619
+ const dateLike = new Date(date);
620
+ const button = (_a = parentRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-id="${id}-day-${dateLike.getDate()}-${dateLike.getMonth()}-${dateLike.getFullYear()}"]`);
621
+ button === null || button === void 0 ? void 0 : button.focus();
622
+ }
623
+ changeView(date);
624
+ setFocusDate(date);
625
+ }, [changeView, setFocusDate, id]);
626
+ const dayLabels = (0, react_1.useMemo)(() => ({
627
+ 0: translate("ShortSunday"),
628
+ 1: translate("ShortMonday"),
629
+ 2: translate("ShortTuesday"),
630
+ 3: translate("ShortWednesday"),
631
+ 4: translate("ShortThursday"),
632
+ 5: translate("ShortFriday"),
633
+ 6: translate("ShortSaturday")
634
+ }), [translate]);
635
+ const getDayOfWeek = (0, react_1.useCallback)(date => {
636
+ const dayOfWeek = new Date(date).getDay();
637
+ return dayLabels[dayOfWeek];
638
+ }, [dayLabels]);
639
+ const monthLabels = (0, react_1.useMemo)(() => ({
640
+ 0: translate("Jan"),
641
+ 1: translate("Feb"),
642
+ 2: translate("Mar"),
643
+ 3: translate("Apr"),
644
+ 4: translate("May"),
645
+ 5: translate("Jun"),
646
+ 6: translate("Jul"),
647
+ 7: translate("Aug"),
648
+ 8: translate("Sep"),
649
+ 9: translate("Oct"),
650
+ 10: translate("Nov"),
651
+ 11: translate("Dec")
652
+ }), [translate]);
653
+ const getMonthYear = (0, react_1.useCallback)(date => {
654
+ const month = new Date(date).getMonth();
655
+ const year = new Date(date).getFullYear();
656
+ return `${monthLabels[month]} ${year}`;
657
+ }, [monthLabels]);
658
+ const dates = (0, react_1.useMemo)(() => (0, dateUtils_1.getCalendarMonthDates)(viewDate, startDayOfWeek || DEFAULT_START_DAY_OF_WEEK), [viewDate, startDayOfWeek]);
659
+ const monthStart = (0, react_1.useMemo)(() => (0, dateUtils_1.getStartOfMonth)(viewDate), [viewDate]);
660
+ const monthEnd = (0, react_1.useMemo)(() => (0, dateUtils_1.getEndOfMonth)(viewDate), [viewDate]);
661
+ const now = new Date().toISOString();
662
+ const years = (0, dateUtils_1.getSelectableYears)(viewDate, yearRange || DEFAULT_YEAR_RANGE, disableFutureDates, disablePastDates, disableDatesBefore, disableDatesAfter);
663
+ const selectionHandler = (0, react_1.useCallback)(
664
+ // eslint-disable-next-line complexity
665
+ (selectedDate, isOtherMonth) => {
666
+ setHoverDate(undefined);
667
+ if (isOtherMonth) {
668
+ handleFocusDateChange()(selectedDate);
669
+ }
670
+ // single date mode
671
+ if (!dateRangeMode || !getCurrentActiveField) {
672
+ if (fromDate && fromDate === selectedDate) {
673
+ onChange({
674
+ from: undefined,
675
+ to: undefined
676
+ });
677
+ } else {
678
+ onChange({
679
+ from: selectedDate,
680
+ to: undefined
681
+ });
682
+ }
683
+ return;
684
+ }
685
+ const currentActiveField = getCurrentActiveField();
686
+ // no selection yet
687
+ if (!fromDate && !toDate) {
688
+ onChange({
689
+ from: currentActiveField === "start" ? selectedDate : undefined,
690
+ to: currentActiveField === "end" ? selectedDate : undefined
691
+ }, currentActiveField);
692
+ return;
693
+ }
694
+ if (currentActiveField === "start" && toDate && selectedDate > toDate) {
695
+ onChange({
696
+ from: selectedDate,
697
+ to: undefined
698
+ }, "start");
699
+ return;
700
+ }
701
+ if (currentActiveField === "end" && fromDate && selectedDate < fromDate) {
702
+ onChange({
703
+ from: undefined,
704
+ to: selectedDate
705
+ }, "end");
706
+ return;
707
+ }
708
+ if (fromDate && selectedDate === fromDate && currentActiveField === "end") {
709
+ onChange({
710
+ from: selectedDate,
711
+ to: selectedDate
712
+ }, "end");
713
+ return;
714
+ }
715
+ if (toDate && selectedDate === toDate && currentActiveField === "start") {
716
+ onChange({
717
+ from: selectedDate,
718
+ to: selectedDate
719
+ }, "start");
720
+ return;
721
+ }
722
+ const isWrongPeriodFn = (start, end) => (0, dateUtils_1.isDifferentPeriod)(start, end, disableFutureDates, disablePastDates, disableDatesBefore, disableDatesAfter);
723
+ const newRangeOptions = (0, calendarUtils_1.getCalendarRange)(selectedDate, currentActiveField, isWrongPeriodFn, fromDate, toDate);
724
+ onChange(newRangeOptions, currentActiveField);
725
+ return;
726
+ }, [dateRangeMode, getCurrentActiveField, fromDate, toDate, onChange, handleFocusDateChange, disableFutureDates, disablePastDates, disableDatesBefore, disableDatesAfter]);
727
+ const handleDateKeyDown = (0, react_1.useCallback)((e, isDisabled, date, isOtherMonth) => {
728
+ if (e.code === "Enter" || e.code === "Space") {
729
+ e.preventDefault();
730
+ !isDisabled && selectionHandler(date, isOtherMonth);
731
+ return;
732
+ }
733
+ if (e.code === "ArrowLeft") {
734
+ (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.addDays)(new Date(date), -1).toISOString(), handleFocusDateChange(true));
735
+ return;
736
+ }
737
+ if (e.code === "ArrowRight") {
738
+ (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.addDays)(new Date(date), 1).toISOString(), handleFocusDateChange(true));
739
+ return;
740
+ }
741
+ if (e.code === "ArrowUp") {
742
+ (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.addDays)(new Date(date), -7).toISOString(), handleFocusDateChange(true));
743
+ return;
744
+ }
745
+ if (e.code === "ArrowDown") {
746
+ (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.addDays)(new Date(date), 7).toISOString(), handleFocusDateChange(true));
747
+ return;
748
+ }
749
+ if (e.code === "Home") {
750
+ (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.getStartOfWeek)(date), handleFocusDateChange(true));
751
+ return;
752
+ }
753
+ if (e.code === "End") {
754
+ (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.getEndOfWeek)(date), handleFocusDateChange(true));
755
+ return;
756
+ }
757
+ if (e.code === "PageUp" && e.shiftKey) {
758
+ (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.getSameDateOrTheLastForMonth)(date, -12), handleFocusDateChange(true));
759
+ return;
760
+ }
761
+ if (e.code === "PageDown" && e.shiftKey) {
762
+ (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.getSameDateOrTheLastForMonth)(date, 12), handleFocusDateChange(true));
763
+ return;
764
+ }
765
+ if (e.code === "PageUp") {
766
+ (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.getSameDateOrTheLastForMonth)(date, -1), handleFocusDateChange(true));
767
+ return;
768
+ }
769
+ if (e.code === "PageDown") {
770
+ (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.getSameDateOrTheLastForMonth)(date, 1), handleFocusDateChange(true));
771
+ return;
772
+ }
773
+ }, [selectionHandler, handleFocusDateChange]);
774
+ const isDisabledDay = (0, react_1.useCallback)(date => {
775
+ const dateTime = new Date(date).getTime();
776
+ const nowDateTime = new Date(now).getTime();
777
+ return disableFutureDates && dateTime > nowDateTime || disablePastDates && dateTime < nowDateTime || (0, dateUtils_1.isDisableDate)(dateTime, disableDatesBefore, disableDatesAfter);
778
+ }, [disableFutureDates, disablePastDates, now, disableDatesAfter, disableDatesBefore]);
779
+ const onPointerDown = (0, react_1.useCallback)((date, isOtherMonth) => {
780
+ selectionHandler(date, isOtherMonth);
781
+ setFocusDate(undefined);
782
+ }, [selectionHandler]);
783
+ (0, react_1.useEffect)(() => {
784
+ value.to && handleFocusDateChange()(value.to);
785
+ }, [value.to, handleFocusDateChange]);
786
+ (0, react_1.useEffect)(() => {
787
+ value.from && handleFocusDateChange()(value.from);
788
+ }, [value.from, handleFocusDateChange]);
789
+ const getBeforeDecorator = (0, react_1.useCallback)((date, isFirstDayOfMonth, isFirstDayOfWeek) => {
790
+ if (!dateRangeMode) {
791
+ return null;
792
+ }
793
+ if (isFirstDayOfMonth && fromDate && fromDate < date && (0, calendarUtils_1.isDateInRange)(date, hoverDate || focusDate, fromDate, toDate)) {
794
+ return (0, jsx_runtime_1.jsx)("div", {
795
+ className: "zen-calendar__month-start"
796
+ });
797
+ }
798
+ if (isFirstDayOfWeek && (0, calendarUtils_1.isDateInRange)(date, hoverDate || focusDate, fromDate, toDate)) {
799
+ return (0, jsx_runtime_1.jsx)("div", {
800
+ className: "zen-calendar__week-start"
801
+ });
802
+ }
803
+ if ((0, calendarUtils_1.isLeftBorderVisible)(date, hoverDate || focusDate, fromDate, toDate)) {
804
+ return (0, jsx_runtime_1.jsx)("div", {
805
+ className: "zen-calendar__left-border"
806
+ });
807
+ }
808
+ return null;
809
+ }, [dateRangeMode, hoverDate, focusDate, fromDate, toDate]);
810
+ const getAfterDecorator = (0, react_1.useCallback)((date, isLastDayOfMonth, isLastDayOfWeek) => {
811
+ if (!dateRangeMode) {
812
+ return null;
813
+ }
814
+ if (isLastDayOfMonth && (0, calendarUtils_1.isDateInRange)(date, hoverDate || focusDate, fromDate, toDate)) {
815
+ return (0, jsx_runtime_1.jsx)("div", {
816
+ className: "zen-calendar__month-end"
817
+ });
818
+ }
819
+ if (isLastDayOfWeek && (0, calendarUtils_1.isDateInRange)(date, hoverDate || focusDate, fromDate, toDate)) {
820
+ return (0, jsx_runtime_1.jsx)("div", {
821
+ className: "zen-calendar__week-end"
822
+ });
823
+ }
824
+ if ((0, calendarUtils_1.isRightBorderVisible)(date, hoverDate || focusDate, fromDate, toDate)) {
825
+ return (0, jsx_runtime_1.jsx)("div", {
826
+ className: "zen-calendar__right-border"
827
+ });
828
+ }
829
+ return null;
830
+ }, [dateRangeMode, hoverDate, focusDate, fromDate, toDate]);
831
+ const handleTodayButtonClick = (0, react_1.useCallback)(e => {
832
+ if (!onTodayButtonClick) {
833
+ return;
834
+ }
835
+ setViewDate(new Date().toISOString());
836
+ onTodayButtonClick(e);
837
+ }, [onTodayButtonClick]);
838
+ const memoizedVisibleFocus = (0, react_1.useMemo)(() => focusDate ? dates.some(arr => arr.some(el => el === focusDate)) : true, [dates, focusDate]);
839
+ const currentActiveField = getCurrentActiveField ? getCurrentActiveField() : undefined;
840
+ return (0, jsx_runtime_1.jsxs)("div", {
841
+ ref: parentRef,
842
+ onBlur: () => setFocusDate(fromDate || viewDate),
843
+ className: (0, classNames_1.classNames)(["zen-calendar", driveClassName || ""]),
844
+ children: [(0, jsx_runtime_1.jsxs)("div", {
845
+ className: "zen-calendar__header",
846
+ children: [isMobileView ? null : (0, jsx_runtime_1.jsx)(textIconButton_1.TextIconButton, {
847
+ className: "zen-calendar__btn",
848
+ type: "tertiary-black",
849
+ icon: iconChevronLeftSmall_1.IconChevronLeftSmall,
850
+ title: translate("Previous month"),
851
+ onClick: () => changeView((0, dateUtils_1.addMonth)(viewDate, -1)),
852
+ iconPosition: textIconButton_2.ButtonIconPosition.Start
853
+ }), (0, jsx_runtime_1.jsxs)("div", {
854
+ className: (0, classNames_1.classNames)(["zen-calendar__year", onTodayButtonClick ? "zen-calendar__year--limited" : ""]),
855
+ children: [(0, jsx_runtime_1.jsx)("div", {
856
+ className: (0, classNames_1.classNames)(["zen-calendar__year-name", onTodayButtonClick ? "zen-calendar__year-name--left" : "", "zen-ellipsis"]),
857
+ "aria-live": "polite",
858
+ children: getMonthYear(viewDate)
859
+ }), (0, jsx_runtime_1.jsx)(parallelSelection_1.ParallelSelectionTrigger, {
860
+ className: "zen-calendar__year-trigger zen-calendar__btn",
861
+ title: translate("Select year"),
862
+ ref: parallelSelectionTriggerRef
863
+ }), (0, jsx_runtime_1.jsx)(parallelSelection_1.ParallelSelection, {
864
+ selected: new Date(viewDate).getFullYear().toString(),
865
+ items: years,
866
+ triggerRef: parallelSelectionTriggerRef,
867
+ title: translate("Select year"),
868
+ onSelect: year => changeView((0, dateUtils_1.setYear)(viewDate, year)),
869
+ isMobileView: isMobileView,
870
+ alignment: onTodayButtonClick ? "bottom" : "bottom-right"
871
+ })]
872
+ }), onTodayButtonClick ? (0, jsx_runtime_1.jsx)(button_1.Button, {
873
+ type: buttonType_1.ButtonType.Tertiary,
874
+ className: "zen-calendar__today-button",
875
+ disabled: false,
876
+ onClick: handleTodayButtonClick,
877
+ children: translate("Today")
878
+ }) : null, isMobileView ? (0, jsx_runtime_1.jsxs)("div", {
879
+ className: "zen-calendar__months",
880
+ children: [(0, jsx_runtime_1.jsx)(textIconButton_1.TextIconButton, {
881
+ className: "zen-calendar__btn",
882
+ type: "tertiary-black",
883
+ icon: iconChevronLeftSmall_1.IconChevronLeftSmall,
884
+ title: translate("Previous month"),
885
+ onClick: () => changeView((0, dateUtils_1.addMonth)(viewDate, -1)),
886
+ iconPosition: textIconButton_2.ButtonIconPosition.Start
887
+ }), (0, jsx_runtime_1.jsx)(textIconButton_1.TextIconButton, {
888
+ className: "zen-calendar__btn",
889
+ type: "tertiary-black",
890
+ icon: iconChevronRightSmall_1.IconChevronRightSmall,
891
+ title: translate("Next month"),
892
+ onClick: () => changeView((0, dateUtils_1.addMonth)(viewDate, 1)),
893
+ iconPosition: textIconButton_2.ButtonIconPosition.Start
894
+ })]
895
+ }) : null, isMobileView ? null : (0, jsx_runtime_1.jsx)(textIconButton_1.TextIconButton, {
896
+ className: "zen-calendar__btn",
897
+ type: "tertiary-black",
898
+ icon: iconChevronRightSmall_1.IconChevronRightSmall,
899
+ title: translate("Next month"),
900
+ onClick: () => changeView((0, dateUtils_1.addMonth)(viewDate, 1)),
901
+ iconPosition: textIconButton_2.ButtonIconPosition.Start
902
+ })]
903
+ }), (0, jsx_runtime_1.jsxs)("table", {
904
+ className: "zen-calendar__table",
905
+ children: [(0, jsx_runtime_1.jsx)("thead", {
906
+ children: (0, jsx_runtime_1.jsx)("tr", {
907
+ className: "zen-calendar__columns",
908
+ children: dates[0].map(date => (0, jsx_runtime_1.jsx)("th", {
909
+ className: "zen-calendar__column",
910
+ children: getDayOfWeek(date)
911
+ }, `cal-h-${date}`))
912
+ })
913
+ }), (0, jsx_runtime_1.jsx)("tbody", {
914
+ className: (0, classNames_1.classNames)(["zen-calendar__body", isMobileView ? "zen-calendar__body--mobile-view" : ""]),
915
+ children: dates.map((week, weekIndex) => (0, jsx_runtime_1.jsx)("tr", {
916
+ className: "zen-calendar__row",
917
+ children: week.map((date, index) => {
918
+ const isOtherMonth = date < monthStart || date > monthEnd;
919
+ const isDisabled = isDisabledDay(date);
45
920
  const dateLike = new Date(date);
46
- const button = (_a = parentRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-id="${id}-day-${dateLike.getDate()}-${dateLike.getMonth()}-${dateLike.getFullYear()}"]`);
47
- button === null || button === void 0 ? void 0 : button.focus();
48
- }
49
- changeView(date);
50
- setFocusDate(date);
51
- }, [changeView, setFocusDate, id]);
52
- const dayLabels = (0, react_1.useMemo)(() => ({
53
- 0: translate("ShortSunday"),
54
- 1: translate("ShortMonday"),
55
- 2: translate("ShortTuesday"),
56
- 3: translate("ShortWednesday"),
57
- 4: translate("ShortThursday"),
58
- 5: translate("ShortFriday"),
59
- 6: translate("ShortSaturday")
60
- }), [translate]);
61
- const getDayOfWeek = (0, react_1.useCallback)((date) => {
62
- const dayOfWeek = new Date(date).getDay();
63
- return dayLabels[dayOfWeek];
64
- }, [dayLabels]);
65
- const monthLabels = (0, react_1.useMemo)(() => ({
66
- 0: translate(exports.monthLabelsArray[0]),
67
- 1: translate(exports.monthLabelsArray[1]),
68
- 2: translate(exports.monthLabelsArray[2]),
69
- 3: translate(exports.monthLabelsArray[3]),
70
- 4: translate(exports.monthLabelsArray[4]),
71
- 5: translate(exports.monthLabelsArray[5]),
72
- 6: translate(exports.monthLabelsArray[6]),
73
- 7: translate(exports.monthLabelsArray[7]),
74
- 8: translate(exports.monthLabelsArray[8]),
75
- 9: translate(exports.monthLabelsArray[9]),
76
- 10: translate(exports.monthLabelsArray[10]),
77
- 11: translate(exports.monthLabelsArray[11])
78
- }), [translate]);
79
- const getMonthYear = (0, react_1.useCallback)((date) => {
80
- const month = new Date(date).getMonth();
81
- const year = new Date(date).getFullYear();
82
- return `${monthLabels[month]} ${year}`;
83
- }, [monthLabels]);
84
- const dates = (0, react_1.useMemo)(() => (0, dateUtils_1.getCalendarMonthDates)(viewDate, startDayOfWeek || DEFAULT_START_DAY_OF_WEEK), [viewDate, startDayOfWeek]);
85
- const monthStart = (0, react_1.useMemo)(() => (0, dateUtils_1.getStartOfMonth)(viewDate), [viewDate]);
86
- const monthEnd = (0, react_1.useMemo)(() => (0, dateUtils_1.getEndOfMonth)(viewDate), [viewDate]);
87
- const now = new Date().toISOString();
88
- const years = (0, dateUtils_1.getSelectableYears)(viewDate, yearRange || DEFAULT_YEAR_RANGE, disableFutureDates, disablePastDates, disableDatesBefore, disableDatesAfter);
89
- const selectionHandler = (0, react_1.useCallback)(
90
- // eslint-disable-next-line complexity
91
- (selectedDate, isOtherMonth) => {
92
- setHoverDate(undefined);
93
- if (isOtherMonth) {
94
- handleFocusDateChange()(selectedDate);
95
- }
96
- // single date mode
97
- if (!dateRangeMode || !getCurrentActiveField) {
98
- if (fromDate && fromDate === selectedDate) {
99
- onChange({ from: undefined, to: undefined });
100
- }
101
- else {
102
- onChange({ from: selectedDate, to: undefined });
103
- }
104
- return;
105
- }
106
- const currentActiveField = getCurrentActiveField();
107
- // no selection yet
108
- if (!fromDate && !toDate) {
109
- onChange({ from: currentActiveField === "start" ? selectedDate : undefined, to: currentActiveField === "end" ? selectedDate : undefined }, currentActiveField);
110
- return;
111
- }
112
- if (currentActiveField === "start" && toDate && selectedDate > toDate) {
113
- onChange({ from: selectedDate, to: undefined }, "start");
114
- return;
115
- }
116
- if (currentActiveField === "end" && fromDate && selectedDate < fromDate) {
117
- onChange({ from: undefined, to: selectedDate }, "end");
118
- return;
119
- }
120
- if (fromDate && selectedDate === fromDate && currentActiveField === "end") {
121
- onChange({ from: selectedDate, to: selectedDate }, "end");
122
- return;
123
- }
124
- if (toDate && selectedDate === toDate && currentActiveField === "start") {
125
- onChange({ from: selectedDate, to: selectedDate }, "start");
126
- return;
127
- }
128
- const isWrongPeriodFn = (start, end) => (0, dateUtils_1.isDifferentPeriod)(start, end, disableFutureDates, disablePastDates, disableDatesBefore, disableDatesAfter);
129
- const newRangeOptions = (0, calendarUtils_1.getCalendarRange)(selectedDate, currentActiveField, isWrongPeriodFn, fromDate, toDate);
130
- onChange(newRangeOptions, currentActiveField);
131
- return;
132
- }, [dateRangeMode, getCurrentActiveField, fromDate, toDate, onChange, handleFocusDateChange,
133
- disableFutureDates, disablePastDates, disableDatesBefore, disableDatesAfter]);
134
- const handleDateKeyDown = (0, react_1.useCallback)((e, isDisabled, date, isOtherMonth) => {
135
- if (e.code === "Enter" || e.code === "Space") {
136
- e.preventDefault();
137
- !isDisabled && selectionHandler(date, isOtherMonth);
138
- return;
139
- }
140
- if (e.code === "ArrowLeft") {
141
- (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.addDays)(new Date(date), -1).toISOString(), handleFocusDateChange(true));
142
- return;
143
- }
144
- if (e.code === "ArrowRight") {
145
- (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.addDays)(new Date(date), 1).toISOString(), handleFocusDateChange(true));
146
- return;
147
- }
148
- if (e.code === "ArrowUp") {
149
- (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.addDays)(new Date(date), -7).toISOString(), handleFocusDateChange(true));
150
- return;
151
- }
152
- if (e.code === "ArrowDown") {
153
- (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.addDays)(new Date(date), 7).toISOString(), handleFocusDateChange(true));
154
- return;
155
- }
156
- if (e.code === "Home") {
157
- (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.getStartOfWeek)(date), handleFocusDateChange(true));
158
- return;
159
- }
160
- if (e.code === "End") {
161
- (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.getEndOfWeek)(date), handleFocusDateChange(true));
162
- return;
163
- }
164
- if (e.code === "PageUp" && e.shiftKey) {
165
- (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.getSameDateOrTheLastForMonth)(date, -12), handleFocusDateChange(true));
166
- return;
167
- }
168
- if (e.code === "PageDown" && e.shiftKey) {
169
- (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.getSameDateOrTheLastForMonth)(date, 12), handleFocusDateChange(true));
170
- return;
171
- }
172
- if (e.code === "PageUp") {
173
- (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.getSameDateOrTheLastForMonth)(date, -1), handleFocusDateChange(true));
174
- return;
175
- }
176
- if (e.code === "PageDown") {
177
- (0, calendarUtils_1.setFocusTo)(e, (0, dateUtils_1.getSameDateOrTheLastForMonth)(date, 1), handleFocusDateChange(true));
178
- return;
179
- }
180
- }, [selectionHandler, handleFocusDateChange]);
181
- const isDisabledDay = (0, react_1.useCallback)((date) => {
182
- const dateTime = new Date(date).getTime();
183
- const nowDateTime = new Date(now).getTime();
184
- return (disableFutureDates && dateTime > nowDateTime) || (disablePastDates && dateTime < nowDateTime)
185
- || (0, dateUtils_1.isDisableDate)(dateTime, disableDatesBefore, disableDatesAfter);
186
- }, [disableFutureDates, disablePastDates, now, disableDatesAfter, disableDatesBefore]);
187
- const onPointerDown = (0, react_1.useCallback)((date, isOtherMonth) => {
188
- selectionHandler(date, isOtherMonth);
189
- setFocusDate(undefined);
190
- }, [selectionHandler]);
191
- (0, react_1.useEffect)(() => {
192
- value.to && handleFocusDateChange()(value.to);
193
- }, [value.to, handleFocusDateChange]);
194
- (0, react_1.useEffect)(() => {
195
- value.from && handleFocusDateChange()(value.from);
196
- }, [value.from, handleFocusDateChange]);
197
- const getBeforeDecorator = (0, react_1.useCallback)((date, isFirstDayOfMonth, isFirstDayOfWeek) => {
198
- if (!dateRangeMode) {
199
- return null;
200
- }
201
- if (isFirstDayOfMonth && (fromDate && fromDate < date) && (0, calendarUtils_1.isDateInRange)(date, hoverDate || focusDate, fromDate, toDate)) {
202
- return (0, jsx_runtime_1.jsx)("div", { className: "zen-calendar__month-start" });
203
- }
204
- if (isFirstDayOfWeek && (0, calendarUtils_1.isDateInRange)(date, hoverDate || focusDate, fromDate, toDate)) {
205
- return (0, jsx_runtime_1.jsx)("div", { className: "zen-calendar__week-start" });
206
- }
207
- if ((0, calendarUtils_1.isLeftBorderVisible)(date, hoverDate || focusDate, fromDate, toDate)) {
208
- return (0, jsx_runtime_1.jsx)("div", { className: "zen-calendar__left-border" });
209
- }
210
- return null;
211
- }, [dateRangeMode, hoverDate, focusDate, fromDate, toDate]);
212
- const getAfterDecorator = (0, react_1.useCallback)((date, isLastDayOfMonth, isLastDayOfWeek) => {
213
- if (!dateRangeMode) {
214
- return null;
215
- }
216
- if (isLastDayOfMonth && (0, calendarUtils_1.isDateInRange)(date, hoverDate || focusDate, fromDate, toDate)) {
217
- return (0, jsx_runtime_1.jsx)("div", { className: "zen-calendar__month-end" });
218
- }
219
- if (isLastDayOfWeek && (0, calendarUtils_1.isDateInRange)(date, hoverDate || focusDate, fromDate, toDate)) {
220
- return (0, jsx_runtime_1.jsx)("div", { className: "zen-calendar__week-end" });
221
- }
222
- if ((0, calendarUtils_1.isRightBorderVisible)(date, hoverDate || focusDate, fromDate, toDate)) {
223
- return (0, jsx_runtime_1.jsx)("div", { className: "zen-calendar__right-border" });
224
- }
225
- return null;
226
- }, [dateRangeMode, hoverDate, focusDate, fromDate, toDate]);
227
- const handleTodayButtonClick = (0, react_1.useCallback)((e) => {
228
- if (!onTodayButtonClick) {
229
- return;
230
- }
231
- setViewDate(new Date().toISOString());
232
- onTodayButtonClick(e);
233
- }, [onTodayButtonClick]);
234
- const memoizedVisibleFocus = (0, react_1.useMemo)(() => focusDate ? dates.some(arr => arr.some(el => el === focusDate)) : true, [dates, focusDate]);
235
- const currentActiveField = getCurrentActiveField ? getCurrentActiveField() : undefined;
236
- return ((0, jsx_runtime_1.jsxs)("div", { ref: parentRef, onBlur: () => setFocusDate(fromDate || viewDate), className: (0, classNames_1.classNames)(["zen-calendar", driveClassName || ""]), children: [(0, jsx_runtime_1.jsxs)("div", { className: "zen-calendar__header", children: [isMobileView ? null : (0, jsx_runtime_1.jsx)(textIconButton_1.TextIconButton, { className: "zen-calendar__btn", type: "tertiary-black", icon: iconChevronLeftSmall_1.IconChevronLeftSmall, title: translate("Previous month"), onClick: () => changeView((0, dateUtils_1.addMonth)(viewDate, -1)), iconPosition: textIconButton_2.ButtonIconPosition.Start }), (0, jsx_runtime_1.jsxs)("div", { className: (0, classNames_1.classNames)(["zen-calendar__year", onTodayButtonClick ? "zen-calendar__year--limited" : ""]), children: [(0, jsx_runtime_1.jsx)("div", { className: (0, classNames_1.classNames)(["zen-calendar__year-name", onTodayButtonClick ? "zen-calendar__year-name--left" : "", "zen-ellipsis"]), "aria-live": "polite", children: getMonthYear(viewDate) }), (0, jsx_runtime_1.jsx)(parallelSelection_1.ParallelSelectionTrigger, { className: "zen-calendar__year-trigger zen-calendar__btn", title: translate("Select year"), ref: parallelSelectionTriggerRef }), (0, jsx_runtime_1.jsx)(parallelSelection_1.ParallelSelection, { selected: new Date(viewDate).getFullYear().toString(), items: years, triggerRef: parallelSelectionTriggerRef, title: translate("Select year"), onSelect: year => changeView((0, dateUtils_1.setYear)(viewDate, year)), isMobileView: isMobileView, alignment: onTodayButtonClick ? "bottom" : "bottom-right" })] }), onTodayButtonClick ? (0, jsx_runtime_1.jsx)(button_1.Button, { type: buttonType_1.ButtonType.Tertiary, className: "zen-calendar__today-button", disabled: false, onClick: handleTodayButtonClick, children: translate("Today") }) : null, isMobileView ? (0, jsx_runtime_1.jsxs)("div", { className: "zen-calendar__months", children: [(0, jsx_runtime_1.jsx)(textIconButton_1.TextIconButton, { className: "zen-calendar__btn", type: "tertiary-black", icon: iconChevronLeftSmall_1.IconChevronLeftSmall, title: translate("Previous month"), onClick: () => changeView((0, dateUtils_1.addMonth)(viewDate, -1)), iconPosition: textIconButton_2.ButtonIconPosition.Start }), (0, jsx_runtime_1.jsx)(textIconButton_1.TextIconButton, { className: "zen-calendar__btn", type: "tertiary-black", icon: iconChevronRightSmall_1.IconChevronRightSmall, title: translate("Next month"), onClick: () => changeView((0, dateUtils_1.addMonth)(viewDate, 1)), iconPosition: textIconButton_2.ButtonIconPosition.Start })] }) : null, isMobileView ? null : (0, jsx_runtime_1.jsx)(textIconButton_1.TextIconButton, { className: "zen-calendar__btn", type: "tertiary-black", icon: iconChevronRightSmall_1.IconChevronRightSmall, title: translate("Next month"), onClick: () => changeView((0, dateUtils_1.addMonth)(viewDate, 1)), iconPosition: textIconButton_2.ButtonIconPosition.Start })] }), (0, jsx_runtime_1.jsxs)("table", { className: "zen-calendar__table", children: [(0, jsx_runtime_1.jsx)("thead", { children: (0, jsx_runtime_1.jsx)("tr", { className: "zen-calendar__columns", children: dates[0].map(date => (0, jsx_runtime_1.jsx)("th", { className: "zen-calendar__column", children: getDayOfWeek(date) }, `cal-h-${date}`)) }) }), (0, jsx_runtime_1.jsx)("tbody", { className: (0, classNames_1.classNames)(["zen-calendar__body", isMobileView ? "zen-calendar__body--mobile-view" : ""]), children: dates.map((week, weekIndex) => (0, jsx_runtime_1.jsx)("tr", { className: "zen-calendar__row", children: week.map((date, index) => {
237
- const isOtherMonth = date < monthStart || date > monthEnd;
238
- const isDisabled = isDisabledDay(date);
239
- const dateLike = new Date(date);
240
- const isActive = date === fromDate || date === toDate;
241
- const isReadyToChange = date === fromDate && currentActiveField === "start" || date === toDate && currentActiveField === "end";
242
- const isFocusable = memoizedVisibleFocus ? date === (fromDate || viewDate) : date.split("T")[0] === viewDate.split("T")[0];
243
- const isFirstDayOfWeek = index === 0;
244
- const isLastDayOfWeek = index === 6;
245
- const isFirstDayOfMonth = weekIndex === 0 && index === 0;
246
- const isLastDayOfMonth = weekIndex === dates.length - 1 && index === 6;
247
- const isInRange = dateRangeMode && !isFirstDayOfWeek && !isLastDayOfWeek && (0, calendarUtils_1.isDateInRange)(date, hoverDate || focusDate, fromDate, toDate);
248
- return (0, jsx_runtime_1.jsx)("td", { className: "zen-calendar__cell", children: (0, jsx_runtime_1.jsxs)("button", { className: (0, classNames_1.classNames)([
249
- "zen-calendar__day-wrapper",
250
- isActive ? "zen-calendar__day-wrapper--active" : "",
251
- isReadyToChange ? "zen-calendar__day-wrapper--ready-to-change" : ""
252
- ]), onPointerDown: evt => {
253
- evt.preventDefault();
254
- !isDisabled && evt.button !== 2 && onPointerDown(date, isOtherMonth);
255
- }, onPointerEnter: () => { !isDisabled && setHoverDate(date); }, onPointerLeave: () => { setHoverDate(undefined); }, tabIndex: isFocusable ? 0 : -1, type: "button", "data-id": `${id}-day-${dateLike.getDate()}-${dateLike.getMonth()}-${dateLike.getFullYear()}`, "aria-label": (0, calendarUtils_1.getButtonLabel)(translate, date, dateRangeMode, fromDate, toDate), onKeyDown: evt => handleDateKeyDown(evt, isDisabled, date, isOtherMonth), onFocus: () => {
256
- !isDisabled && !isOtherMonth && handleFocusDateChange(true)(date);
257
- }, disabled: isDisabled, children: [getBeforeDecorator(date, isFirstDayOfMonth, isFirstDayOfWeek), (0, jsx_runtime_1.jsx)("div", { className: (0, classNames_1.classNames)([
258
- "zen-calendar__day",
259
- isInRange ? "zen-calendar__day--in-range" : "",
260
- isOtherMonth ? "zen-calendar__day--other-month" : "",
261
- isDisabled ? "zen-calendar__day--disabled" : ""
262
- ]), children: dateLike.getDate() }), getAfterDecorator(date, isLastDayOfMonth, isLastDayOfWeek)] }) }, date);
263
- }) }, `week_${week[0]}`)) })] })] }));
921
+ const isActive = date === fromDate || date === toDate;
922
+ const isReadyToChange = date === fromDate && currentActiveField === "start" || date === toDate && currentActiveField === "end";
923
+ const isFocusable = memoizedVisibleFocus ? date === (fromDate || viewDate) : date.split("T")[0] === viewDate.split("T")[0];
924
+ const isFirstDayOfWeek = index === 0;
925
+ const isLastDayOfWeek = index === 6;
926
+ const isFirstDayOfMonth = weekIndex === 0 && index === 0;
927
+ const isLastDayOfMonth = weekIndex === dates.length - 1 && index === 6;
928
+ const isInRange = dateRangeMode && !isFirstDayOfWeek && !isLastDayOfWeek && (0, calendarUtils_1.isDateInRange)(date, hoverDate || focusDate, fromDate, toDate);
929
+ return (0, jsx_runtime_1.jsx)("td", {
930
+ className: "zen-calendar__cell",
931
+ children: (0, jsx_runtime_1.jsxs)("button", {
932
+ className: (0, classNames_1.classNames)(["zen-calendar__day-wrapper", isActive ? "zen-calendar__day-wrapper--active" : "", isReadyToChange ? "zen-calendar__day-wrapper--ready-to-change" : ""]),
933
+ onPointerDown: evt => {
934
+ evt.preventDefault();
935
+ !isDisabled && evt.button !== 2 && onPointerDown(date, isOtherMonth);
936
+ },
937
+ onPointerEnter: () => {
938
+ !isDisabled && setHoverDate(date);
939
+ },
940
+ onPointerLeave: () => {
941
+ setHoverDate(undefined);
942
+ },
943
+ tabIndex: isFocusable ? 0 : -1,
944
+ type: "button",
945
+ "data-id": `${id}-day-${dateLike.getDate()}-${dateLike.getMonth()}-${dateLike.getFullYear()}`,
946
+ "aria-label": (0, calendarUtils_1.getButtonLabel)(translate, date, dateRangeMode, fromDate, toDate),
947
+ onKeyDown: evt => handleDateKeyDown(evt, isDisabled, date, isOtherMonth),
948
+ onFocus: () => {
949
+ !isDisabled && !isOtherMonth && handleFocusDateChange(true)(date);
950
+ },
951
+ disabled: isDisabled,
952
+ children: [getBeforeDecorator(date, isFirstDayOfMonth, isFirstDayOfWeek), (0, jsx_runtime_1.jsx)("div", {
953
+ className: (0, classNames_1.classNames)(["zen-calendar__day", isInRange ? "zen-calendar__day--in-range" : "", isOtherMonth ? "zen-calendar__day--other-month" : "", isDisabled ? "zen-calendar__day--disabled" : ""]),
954
+ children: dateLike.getDate()
955
+ }), getAfterDecorator(date, isLastDayOfMonth, isLastDayOfWeek)]
956
+ })
957
+ }, date);
958
+ })
959
+ }, `week_${week[0]}`))
960
+ })]
961
+ })]
962
+ });
264
963
  };
265
964
  exports.Calendar = Calendar;
266
- exports.TRANSLATIONS = [
267
- "Select year",
268
- "Previous month",
269
- "Next month",
270
- "Change daterange start date, {date}",
271
- "Change daterange end date, {date}",
272
- "Choose daterange end date",
273
- "Choose daterange start date",
274
- "Change date, {date}",
275
- "Choose date",
276
- "{short-day-of-week-sunday}S",
277
- "{short-day-of-week-monday}M",
278
- "{short-day-of-week-tuesday}T",
279
- "{short-day-of-week-wednesday}W",
280
- "{short-day-of-week-thursday}T",
281
- "{short-day-of-week-friday}F",
282
- "{short-day-of-week-saturday}S",
283
- "January",
284
- "February",
285
- "March",
286
- "April",
287
- "May",
288
- "June",
289
- "July",
290
- "August",
291
- "September",
292
- "October",
293
- "November",
294
- "December"
295
- ];
965
+ exports.TRANSLATIONS = ["Select year", "Previous month", "Next month", "Change start date, {date}", "Change end date, {date}", "Choose end date", "Choose start date", "Change date, {date}", "Choose date", "{short-day-of-week-sunday}S", "{short-day-of-week-monday}M", "{short-day-of-week-tuesday}T", "{short-day-of-week-wednesday}W", "{short-day-of-week-thursday}T", "{short-day-of-week-friday}F", "{short-day-of-week-saturday}S", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];