@povio/ui 2.3.0-rc.9 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/dist/assets/icons/AlignCenter.js +11 -26
  2. package/dist/assets/icons/AlignLeft.js +11 -26
  3. package/dist/assets/icons/AlignLeftRight.js +11 -26
  4. package/dist/assets/icons/AlignRight.js +11 -26
  5. package/dist/assets/icons/ArrowDropDown.js +11 -26
  6. package/dist/assets/icons/ArrowDropUp.js +11 -26
  7. package/dist/assets/icons/ArrowLeft.js +11 -26
  8. package/dist/assets/icons/ArrowRight.js +11 -26
  9. package/dist/assets/icons/Bold.js +11 -26
  10. package/dist/assets/icons/BulletedList.js +11 -26
  11. package/dist/assets/icons/Calendar.js +13 -28
  12. package/dist/assets/icons/Check.js +13 -28
  13. package/dist/assets/icons/CheckCircle.js +11 -26
  14. package/dist/assets/icons/CheckboxCheckmark.js +14 -29
  15. package/dist/assets/icons/CheckboxIndeterminate.js +14 -29
  16. package/dist/assets/icons/ChevronDown.js +13 -28
  17. package/dist/assets/icons/ChevronLeft.js +13 -28
  18. package/dist/assets/icons/ChevronRight.js +13 -28
  19. package/dist/assets/icons/ChevronUp.js +13 -28
  20. package/dist/assets/icons/ChevronsLeft.js +13 -28
  21. package/dist/assets/icons/ChevronsRight.js +13 -28
  22. package/dist/assets/icons/Clock.js +11 -26
  23. package/dist/assets/icons/Close.js +11 -26
  24. package/dist/assets/icons/DateTime.js +14 -35
  25. package/dist/assets/icons/DragIndicator.js +11 -26
  26. package/dist/assets/icons/File.js +13 -28
  27. package/dist/assets/icons/Highlight.js +11 -26
  28. package/dist/assets/icons/HighlightOn.js +15 -49
  29. package/dist/assets/icons/Home.js +11 -26
  30. package/dist/assets/icons/Info.js +16 -37
  31. package/dist/assets/icons/Italic.js +11 -26
  32. package/dist/assets/icons/Link.js +11 -26
  33. package/dist/assets/icons/Menu.js +11 -26
  34. package/dist/assets/icons/NumberedList.js +11 -26
  35. package/dist/assets/icons/PointerHorizontal.js +11 -26
  36. package/dist/assets/icons/PointerVertical.js +11 -26
  37. package/dist/assets/icons/Search.js +11 -26
  38. package/dist/assets/icons/Send.js +13 -28
  39. package/dist/assets/icons/Strikethrough.js +11 -26
  40. package/dist/assets/icons/TextColor.js +14 -48
  41. package/dist/assets/icons/Today.js +11 -26
  42. package/dist/assets/icons/Underlined.js +13 -28
  43. package/dist/assets/icons/Upload.js +14 -35
  44. package/dist/assets/icons/Visibility.js +11 -26
  45. package/dist/assets/icons/VisibilityOff.js +11 -26
  46. package/dist/assets/icons/WarningFilled.js +13 -28
  47. package/dist/components/Breadcrumbs/Breadcrumbs.js +56 -207
  48. package/dist/components/Menu/Menu.js +2 -18
  49. package/dist/components/Menu/MenuDesktop.js +7 -41
  50. package/dist/components/Menu/MenuItem.js +9 -32
  51. package/dist/components/Menu/MenuMobile.js +38 -97
  52. package/dist/components/Menu/MenuPopover.js +29 -105
  53. package/dist/components/buttons/IconButton/IconButton.js +8 -40
  54. package/dist/components/buttons/InlineIconButton/InlineIconButton.d.ts +1 -2
  55. package/dist/components/buttons/InlineIconButton/InlineIconButton.js +9 -34
  56. package/dist/components/buttons/PillButton/PillButton.js +17 -55
  57. package/dist/components/buttons/SplitButton/SplitButton.js +18 -103
  58. package/dist/components/buttons/TextButton/TextButton.js +8 -30
  59. package/dist/components/buttons/ToggleButton/ToggleButton.js +8 -28
  60. package/dist/components/buttons/shared/ButtonContent.js +22 -80
  61. package/dist/components/inputs/Checkbox/Checkbox.js +35 -172
  62. package/dist/components/inputs/Checkbox/CheckboxCheckmark.js +10 -24
  63. package/dist/components/inputs/Checkbox/checkbox.cva.d.ts +0 -3
  64. package/dist/components/inputs/Checkbox/checkbox.cva.js +1 -2
  65. package/dist/components/inputs/DateTime/DatePicker/DatePicker.d.ts +5 -10
  66. package/dist/components/inputs/DateTime/DatePicker/DatePicker.js +20 -121
  67. package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.d.ts +5 -10
  68. package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.js +111 -215
  69. package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.d.ts +5 -11
  70. package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.js +19 -123
  71. package/dist/components/inputs/DateTime/TimePicker/TimePicker.d.ts +3 -5
  72. package/dist/components/inputs/DateTime/TimePicker/TimePicker.js +104 -448
  73. package/dist/components/inputs/DateTime/shared/Calendar.d.ts +2 -5
  74. package/dist/components/inputs/DateTime/shared/Calendar.js +119 -330
  75. package/dist/components/inputs/DateTime/shared/CalendarCell.d.ts +1 -1
  76. package/dist/components/inputs/DateTime/shared/CalendarCell.js +102 -283
  77. package/dist/components/inputs/DateTime/shared/CalendarGrid.d.ts +1 -1
  78. package/dist/components/inputs/DateTime/shared/CalendarGrid.js +33 -142
  79. package/dist/components/inputs/DateTime/shared/CalendarHeader.js +93 -249
  80. package/dist/components/inputs/DateTime/shared/CalendarSelectHeader.js +137 -318
  81. package/dist/components/inputs/DateTime/shared/DateField.js +112 -296
  82. package/dist/components/inputs/DateTime/shared/DatePickerInput.d.ts +3 -6
  83. package/dist/components/inputs/DateTime/shared/DatePickerInput.js +136 -355
  84. package/dist/components/inputs/DateTime/shared/DateSegmentItem.d.ts +0 -14
  85. package/dist/components/inputs/DateTime/shared/DateSegmentItem.js +11 -97
  86. package/dist/components/inputs/DateTime/shared/DateTimeDialog.js +27 -81
  87. package/dist/components/inputs/DateTime/shared/DateTimeDialogFooter.js +10 -59
  88. package/dist/components/inputs/DateTime/shared/MonthPicker.js +58 -103
  89. package/dist/components/inputs/DateTime/shared/RangeCalendar.js +82 -193
  90. package/dist/components/inputs/DateTime/shared/TimeField.js +8 -27
  91. package/dist/components/inputs/DateTime/shared/TimePickerForm.js +110 -279
  92. package/dist/components/inputs/DateTime/shared/TimePickerInput.d.ts +1 -2
  93. package/dist/components/inputs/DateTime/shared/TimePickerInput.js +65 -207
  94. package/dist/components/inputs/DateTime/shared/YearPicker.js +68 -119
  95. package/dist/components/inputs/File/FileUpload.js +44 -87
  96. package/dist/components/inputs/File/FileUploadContainer.js +7 -15
  97. package/dist/components/inputs/File/InputUpload.js +79 -317
  98. package/dist/components/inputs/File/shared/FileCard.js +41 -104
  99. package/dist/components/inputs/File/shared/FileCardList.js +12 -47
  100. package/dist/components/inputs/File/shared/FileUploadContent.js +44 -175
  101. package/dist/components/inputs/File/shared/FileUploadContentEmpty.js +46 -149
  102. package/dist/components/inputs/File/shared/FileUploadContentError.js +93 -234
  103. package/dist/components/inputs/File/shared/FileUploadContentFilled.js +97 -230
  104. package/dist/components/inputs/File/shared/FileUploadContentLoading.js +55 -199
  105. package/dist/components/inputs/File/shared/InputUploadContent.js +34 -148
  106. package/dist/components/inputs/File/shared/InputUploadFilled.js +8 -49
  107. package/dist/components/inputs/File/shared/ProgressBar.js +9 -48
  108. package/dist/components/inputs/FormField/FormField.d.ts +3 -3
  109. package/dist/components/inputs/FormField/FormField.js +37 -119
  110. package/dist/components/inputs/FormField/FormFieldError.js +5 -25
  111. package/dist/components/inputs/FormField/FormFieldHeader.d.ts +2 -2
  112. package/dist/components/inputs/FormField/FormFieldHeader.js +22 -81
  113. package/dist/components/inputs/FormField/FormFieldHeaderClose.js +7 -31
  114. package/dist/components/inputs/FormField/FormFieldHelper.js +6 -26
  115. package/dist/components/inputs/FormField/FormFieldLabel.d.ts +2 -2
  116. package/dist/components/inputs/FormField/FormFieldLabel.js +9 -40
  117. package/dist/components/inputs/Input/NumberInput/NumberInput.d.ts +2 -5
  118. package/dist/components/inputs/Input/NumberInput/NumberInput.js +88 -334
  119. package/dist/components/inputs/Input/PasswordInput/PasswordInput.js +9 -48
  120. package/dist/components/inputs/Input/TextArea/TextArea.js +90 -305
  121. package/dist/components/inputs/Input/TextInput/TextInput.d.ts +1 -3
  122. package/dist/components/inputs/Input/TextInput/TextInput.js +79 -319
  123. package/dist/components/inputs/Input/shared/InputContent.js +59 -192
  124. package/dist/components/inputs/Inputs/Form.js +11 -40
  125. package/dist/components/inputs/Inputs/InputItem.d.ts +21 -16
  126. package/dist/components/inputs/Inputs/InputItem.js +14 -71
  127. package/dist/components/inputs/Inputs/Inputs.js +11 -37
  128. package/dist/components/inputs/RadioGroup/RadioGroup.d.ts +1 -2
  129. package/dist/components/inputs/RadioGroup/RadioGroup.js +60 -352
  130. package/dist/components/inputs/RadioGroup/radio.cva.d.ts +0 -17
  131. package/dist/components/inputs/RadioGroup/radio.cva.js +1 -42
  132. package/dist/components/inputs/Selection/Autocomplete/Autocomplete.d.ts +2 -6
  133. package/dist/components/inputs/Selection/Autocomplete/Autocomplete.js +7 -109
  134. package/dist/components/inputs/Selection/Autocomplete/QueryAutocomplete.d.ts +18 -3
  135. package/dist/components/inputs/Selection/Autocomplete/QueryAutocomplete.js +8 -34
  136. package/dist/components/inputs/Selection/Select/Select.d.ts +3 -7
  137. package/dist/components/inputs/Selection/Select/Select.js +5 -132
  138. package/dist/components/inputs/Selection/shared/SelectBase.d.ts +1 -8
  139. package/dist/components/inputs/Selection/shared/SelectBase.js +18 -69
  140. package/dist/components/inputs/Selection/shared/SelectDesktop.d.ts +1 -1
  141. package/dist/components/inputs/Selection/shared/SelectDesktop.js +138 -393
  142. package/dist/components/inputs/Selection/shared/SelectInput.d.ts +2 -2
  143. package/dist/components/inputs/Selection/shared/SelectInput.js +116 -338
  144. package/dist/components/inputs/Selection/shared/SelectInputTags.js +25 -99
  145. package/dist/components/inputs/Selection/shared/SelectListBox.d.ts +2 -2
  146. package/dist/components/inputs/Selection/shared/SelectListBox.js +52 -164
  147. package/dist/components/inputs/Selection/shared/SelectListBoxItem.js +35 -85
  148. package/dist/components/inputs/Selection/shared/SelectListBoxItemSelectAll.js +16 -69
  149. package/dist/components/inputs/Selection/shared/SelectListBoxLoadingItem.js +21 -70
  150. package/dist/components/inputs/Selection/shared/SelectListBoxSelectionBar.js +9 -58
  151. package/dist/components/inputs/Selection/shared/SelectMobile.d.ts +1 -1
  152. package/dist/components/inputs/Selection/shared/SelectMobile.js +3 -9
  153. package/dist/components/inputs/Selection/shared/select.context.d.ts +2 -3
  154. package/dist/components/inputs/Selection/shared/select.context.js +34 -57
  155. package/dist/components/inputs/Selection/shared/select.types.d.ts +2 -3
  156. package/dist/components/inputs/Selection/shared/useSelectItems.js +49 -109
  157. package/dist/components/inputs/Slider/Slider.js +74 -250
  158. package/dist/components/inputs/TextEditor/TextEditor.d.ts +0 -1
  159. package/dist/components/inputs/TextEditor/TextEditor.js +98 -447
  160. package/dist/components/inputs/TextEditor/Toolbar/ColorPicker.js +11 -37
  161. package/dist/components/inputs/TextEditor/Toolbar/ColorPickerDropdown.js +30 -102
  162. package/dist/components/inputs/TextEditor/Toolbar/HyperlinkAction.js +45 -194
  163. package/dist/components/inputs/TextEditor/Toolbar/TextAlignSelect.js +28 -88
  164. package/dist/components/inputs/TextEditor/Toolbar/TextColorSelect.js +14 -48
  165. package/dist/components/inputs/TextEditor/Toolbar/TextEditorToolbar.js +19 -66
  166. package/dist/components/inputs/TextEditor/Toolbar/TextHighlightSelect.js +15 -49
  167. package/dist/components/inputs/TextEditor/Toolbar/TextListActions.js +32 -92
  168. package/dist/components/inputs/TextEditor/Toolbar/TextMarksActions.js +54 -126
  169. package/dist/components/inputs/TextEditor/Toolbar/TextStyleSelect.js +38 -141
  170. package/dist/components/inputs/Toggle/Toggle.js +37 -189
  171. package/dist/components/inputs/Toggle/toggle.cva.d.ts +0 -3
  172. package/dist/components/inputs/Toggle/toggle.cva.js +1 -2
  173. package/dist/components/inputs/shared/CheckContent.d.ts +1 -2
  174. package/dist/components/inputs/shared/CheckContent.js +11 -21
  175. package/dist/components/inputs/shared/InputClear.d.ts +1 -2
  176. package/dist/components/inputs/shared/InputClear.js +13 -79
  177. package/dist/components/inputs/shared/TooltipWrapper.js +11 -50
  178. package/dist/components/inputs/shared/input.cva.d.ts +0 -10
  179. package/dist/components/inputs/shared/input.cva.js +4 -32
  180. package/dist/components/navigation/Accordion/Accordion.js +22 -69
  181. package/dist/components/navigation/Accordion/AccordionItem.js +41 -86
  182. package/dist/components/navigation/Stepper/Stepper.js +22 -67
  183. package/dist/components/navigation/Stepper/StepperItem.js +31 -104
  184. package/dist/components/navigation/Stepper/StepperSeparator.js +5 -23
  185. package/dist/components/overlays/ActionModal/ActionModal.js +35 -169
  186. package/dist/components/overlays/BottomSheet/BottomSheet.js +49 -98
  187. package/dist/components/overlays/BottomSheet/BottomSheetHeader.js +8 -48
  188. package/dist/components/overlays/Drawer/Drawer.js +20 -62
  189. package/dist/components/overlays/ResponsivePopover/ResponsivePopover.js +27 -83
  190. package/dist/components/overlays/Tooltip/Tooltip.js +28 -137
  191. package/dist/components/overlays/Tooltip/TooltipEllipsis.js +12 -37
  192. package/dist/components/segment/Segment.js +57 -218
  193. package/dist/components/segment/SegmentItem.js +10 -67
  194. package/dist/components/shared/pagination/Pagination.js +22 -108
  195. package/dist/components/shared/pagination/PaginationList.js +64 -167
  196. package/dist/components/status/Alert/Alert.js +30 -97
  197. package/dist/components/status/Loader/Loader.js +22 -77
  198. package/dist/components/status/Toast/Toast.js +13 -21
  199. package/dist/components/status/Toast/useToast.js +57 -62
  200. package/dist/components/table/ColumnConfig.js +54 -158
  201. package/dist/components/table/InfiniteTable.js +16 -67
  202. package/dist/components/table/PaginatedTable.js +18 -84
  203. package/dist/components/table/Table.js +27 -28
  204. package/dist/components/text/Link/Link.js +7 -19
  205. package/dist/components/text/Typography/Typography.js +8 -23
  206. package/dist/config/confirmation.context.js +1 -1
  207. package/dist/config/link.context.js +9 -23
  208. package/dist/config/router.context.js +16 -42
  209. package/dist/config/theme.context.js +45 -98
  210. package/dist/config/uiConfig.context.d.ts +6 -16
  211. package/dist/config/uiConfig.context.js +13 -56
  212. package/dist/config/uiStyle.context.d.ts +4 -27
  213. package/dist/config/uiStyle.context.js +5 -15
  214. package/dist/helpers/dynamicInputs.d.ts +5 -5
  215. package/dist/helpers/dynamicInputs.js +0 -3
  216. package/dist/hooks/useBreakpoint.js +3 -16
  217. package/dist/hooks/useDebounceCallback.js +17 -51
  218. package/dist/hooks/useFilters.js +64 -125
  219. package/dist/hooks/useForm.js +8 -42
  220. package/dist/hooks/useFormAutosave.js +30 -101
  221. package/dist/hooks/useIntersectionObserver.d.ts +1 -1
  222. package/dist/hooks/useIntersectionObserver.js +24 -91
  223. package/dist/hooks/useLocalStorage.js +10 -43
  224. package/dist/hooks/useLongPressRepeat.js +20 -55
  225. package/dist/hooks/usePagination.js +19 -49
  226. package/dist/hooks/useScrollableListBox.js +16 -37
  227. package/dist/hooks/useSorting.js +28 -69
  228. package/dist/hooks/useStateAndRef.js +7 -21
  229. package/dist/hooks/useTableColumnConfig.js +31 -124
  230. package/dist/hooks/useTranslationMemo.js +5 -25
  231. package/dist/index.d.ts +0 -7
  232. package/dist/index.js +3 -5
  233. package/dist/tw-ui-plugin.js +0 -2
  234. package/dist/utils/date-time.utils.d.ts +10 -31
  235. package/dist/utils/date-time.utils.js +22 -123
  236. package/dist/utils/dom.utils.js +1 -1
  237. package/package.json +1 -1
  238. package/dist/components/inputs/DateTime/shared/datePicker.types.d.ts +0 -4
  239. package/dist/components/inputs/DateTime/shared/datePickerInput.cva.d.ts +0 -7
  240. package/dist/components/inputs/DateTime/shared/datePickerInput.cva.js +0 -13
  241. package/dist/components/inputs/DateTime/shared/datePickerTodayIcon.d.ts +0 -6
  242. package/dist/components/inputs/DateTime/shared/datePickerTodayIcon.js +0 -21
  243. package/dist/components/inputs/DateTime/shared/dateSegment.utils.d.ts +0 -2
  244. package/dist/components/inputs/DateTime/shared/dateSegment.utils.spec.d.ts +0 -1
  245. package/dist/components/inputs/DateTime/shared/staticDateTimeSegments.d.ts +0 -31
  246. package/dist/components/inputs/DateTime/shared/staticDateTimeSegments.js +0 -80
  247. package/dist/components/inputs/DateTime/shared/staticDateTimeSegments.spec.d.ts +0 -1
  248. package/dist/components/inputs/FormField/formFieldHeader.cva.d.ts +0 -6
  249. package/dist/components/inputs/FormField/formFieldHeader.cva.js +0 -11
  250. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeField.d.ts +0 -45
  251. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeField.js +0 -571
  252. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeInput.d.ts +0 -35
  253. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeInput.js +0 -479
  254. package/dist/components/inputs/Input/TextArea/TextArea.cva.d.ts +0 -4
  255. package/dist/components/inputs/Input/TextArea/TextArea.cva.js +0 -5
  256. package/dist/components/inputs/Input/shared/numberStatic.utils.d.ts +0 -1
  257. package/dist/components/inputs/Input/shared/numberStatic.utils.js +0 -7
  258. package/dist/components/inputs/Selection/Autocomplete/queryAutocomplete.types.d.ts +0 -36
  259. package/dist/components/inputs/Selection/Select/QuerySelect.d.ts +0 -14
  260. package/dist/components/inputs/Selection/Select/QuerySelect.js +0 -122
  261. package/dist/components/inputs/Selection/shared/StaticSelectTrailingContent.d.ts +0 -9
  262. package/dist/components/inputs/Selection/shared/StaticSelectTrailingContent.js +0 -47
  263. package/dist/components/inputs/Selection/shared/querySelect.utils.d.ts +0 -6
  264. package/dist/components/inputs/Selection/shared/querySelect.utils.js +0 -13
  265. package/dist/components/inputs/Selection/shared/selectDesktop.cva.d.ts +0 -3
  266. package/dist/components/inputs/Selection/shared/selectDesktop.cva.js +0 -5
  267. package/dist/components/inputs/Selection/shared/selectInput.cva.d.ts +0 -5
  268. package/dist/components/inputs/Selection/shared/selectInput.cva.js +0 -5
  269. package/dist/components/inputs/Selection/shared/staticSelect.utils.d.ts +0 -23
  270. package/dist/components/inputs/Selection/shared/staticSelect.utils.js +0 -37
  271. package/dist/components/inputs/Selection/shared/staticSelect.utils.spec.d.ts +0 -1
  272. package/dist/components/inputs/Skeleton/InputFrame.d.ts +0 -79
  273. package/dist/components/inputs/Skeleton/InputFrame.js +0 -526
  274. package/dist/components/inputs/shared/StaticInput.d.ts +0 -38
  275. package/dist/components/inputs/shared/tooltipWrapper.cva.d.ts +0 -4
  276. package/dist/components/inputs/shared/tooltipWrapper.cva.js +0 -5
  277. package/dist/components/inputs/shared/useStaticInputHandoff.d.ts +0 -14
  278. package/dist/components/inputs/shared/useStaticInputHandoff.js +0 -100
  279. package/dist/hooks/useQueryAutocomplete.d.ts +0 -14
  280. package/dist/hooks/useQueryAutocomplete.js +0 -57
  281. package/dist/utils/query.utils.d.ts +0 -4
  282. package/dist/utils/query.utils.js +0 -8
@@ -1,79 +1,38 @@
1
1
  import { UIRouter } from "../config/router.context.js";
2
2
  import { RoutingUtils } from "../utils/routing.utils.js";
3
- import { c } from "react/compiler-runtime";
4
- import { useEffect, useState } from "react";
3
+ import { useEffect, useMemo, useState } from "react";
5
4
  //#region src/hooks/useSorting.ts
6
- function useSorting(defaultSorting, t0) {
7
- const $ = c(16);
8
- const prefix = t0 === void 0 ? "" : t0;
5
+ function useSorting(defaultSorting, prefix = "") {
9
6
  const { replace, searchParams } = UIRouter.useUIRouter();
10
- let t1;
11
- if ($[0] !== defaultSorting || $[1] !== prefix || $[2] !== searchParams) {
12
- t1 = defaultSorting ?? searchParams.get(`order${prefix && `-${prefix}`}`)?.split(",").map(_temp) ?? [];
13
- $[0] = defaultSorting;
14
- $[1] = prefix;
15
- $[2] = searchParams;
16
- $[3] = t1;
17
- } else t1 = $[3];
18
- const [sorting, setSorting] = useState(t1);
19
- let t2;
20
- if ($[4] !== sorting) {
21
- t2 = sorting.map(_temp2).join(",");
22
- $[4] = sorting;
23
- $[5] = t2;
24
- } else t2 = $[5];
25
- const order = t2;
26
- let t3;
27
- if ($[6] !== order || $[7] !== prefix || $[8] !== replace || $[9] !== searchParams) {
28
- t3 = () => {
29
- const params = new URLSearchParams(searchParams);
30
- const orderKey = prefix ? `order-${prefix}` : "order";
31
- params.delete(orderKey);
32
- if (order) params.set(orderKey, order);
33
- if (params.toString() === searchParams.toString()) return;
34
- replace(".", RoutingUtils.toRouterSearch(params));
7
+ const [sorting, setSorting] = useState(defaultSorting ?? searchParams.get(`order${prefix && `-${prefix}`}`)?.split(",").map((item) => {
8
+ if (item.startsWith("-")) return {
9
+ id: item.slice(1),
10
+ desc: true
35
11
  };
36
- $[6] = order;
37
- $[7] = prefix;
38
- $[8] = replace;
39
- $[9] = searchParams;
40
- $[10] = t3;
41
- } else t3 = $[10];
42
- let t4;
43
- if ($[11] !== order) {
44
- t4 = [order];
45
- $[11] = order;
46
- $[12] = t4;
47
- } else t4 = $[12];
48
- useEffect(t3, t4);
49
- let t5;
50
- if ($[13] !== order || $[14] !== sorting) {
51
- t5 = {
52
- sorting,
53
- setSorting,
54
- order
12
+ if (item.startsWith("+")) return {
13
+ id: item.slice(1),
14
+ desc: false
55
15
  };
56
- $[13] = order;
57
- $[14] = sorting;
58
- $[15] = t5;
59
- } else t5 = $[15];
60
- return t5;
61
- }
62
- function _temp2(field) {
63
- return `${field.desc ? "-" : "+"}${field.id}`;
64
- }
65
- function _temp(item) {
66
- if (item.startsWith("-")) return {
67
- id: item.slice(1),
68
- desc: true
69
- };
70
- if (item.startsWith("+")) return {
71
- id: item.slice(1),
72
- desc: false
73
- };
16
+ return {
17
+ id: item,
18
+ desc: false
19
+ };
20
+ }) ?? []);
21
+ const order = useMemo(() => {
22
+ return sorting.map((field) => `${field.desc ? "-" : "+"}${field.id}`).join(",");
23
+ }, [sorting]);
24
+ useEffect(() => {
25
+ const params = new URLSearchParams(searchParams);
26
+ const orderKey = prefix ? `order-${prefix}` : "order";
27
+ params.delete(orderKey);
28
+ if (order) params.set(orderKey, order);
29
+ if (params.toString() === searchParams.toString()) return;
30
+ replace(".", RoutingUtils.toRouterSearch(params));
31
+ }, [order]);
74
32
  return {
75
- id: item,
76
- desc: false
33
+ sorting,
34
+ setSorting,
35
+ order
77
36
  };
78
37
  }
79
38
  //#endregion
@@ -1,31 +1,17 @@
1
1
  import { ObjectUtils } from "../utils/object.utils.js";
2
- import { c } from "react/compiler-runtime";
3
- import { useRef, useState } from "react";
2
+ import { useCallback, useRef, useState } from "react";
4
3
  //#region src/hooks/useStateAndRef.ts
5
4
  var useStateAndRef = (initialState) => {
6
- const $ = c(3);
7
5
  const [state, setState] = useState(initialState);
8
6
  const ref = useRef(state);
9
- let t0;
10
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
11
- t0 = (value) => {
7
+ return [
8
+ state,
9
+ ref,
10
+ useCallback((value) => {
12
11
  ref.current = ObjectUtils.isFunction(value) ? value(ref.current) : value;
13
12
  setState(ref.current);
14
- };
15
- $[0] = t0;
16
- } else t0 = $[0];
17
- const updateValue = t0;
18
- let t1;
19
- if ($[1] !== state) {
20
- t1 = [
21
- state,
22
- ref,
23
- updateValue
24
- ];
25
- $[1] = state;
26
- $[2] = t1;
27
- } else t1 = $[2];
28
- return t1;
13
+ }, [setState])
14
+ ];
29
15
  };
30
16
  //#endregion
31
17
  export { useStateAndRef };
@@ -1,133 +1,40 @@
1
- import { c } from "react/compiler-runtime";
2
- import { useEffect, useState } from "react";
1
+ import { useCallback, useEffect, useMemo, useState } from "react";
3
2
  //#region src/hooks/useTableColumnConfig.ts
4
3
  function sortByKeyOrder(data, orderedKeys = []) {
5
4
  return [...data].sort((a, b) => {
6
5
  return orderedKeys.findIndex((key) => key === (a.id ?? a.accessorKey)) - orderedKeys.findIndex((key) => key === (b.id ?? b.accessorKey));
7
6
  });
8
7
  }
9
- function useTableColumnConfig(defaultColumns, t0) {
10
- const $ = c(31);
11
- let t1;
12
- if ($[0] !== t0) {
13
- t1 = t0 === void 0 ? {} : t0;
14
- $[0] = t0;
15
- $[1] = t1;
16
- } else t1 = $[1];
17
- const options = t1;
18
- let t2;
19
- if ($[2] !== defaultColumns) {
20
- t2 = () => defaultColumns.reduce(_temp, {});
21
- $[2] = defaultColumns;
22
- $[3] = t2;
23
- } else t2 = $[3];
24
- const [internalVisibleColumns, setInternalVisibleColumns] = useState(t2);
25
- let t3;
26
- if ($[4] !== defaultColumns) {
27
- t3 = () => defaultColumns.map(_temp2);
28
- $[4] = defaultColumns;
29
- $[5] = t3;
30
- } else t3 = $[5];
31
- const [internalColumnOrder, setInternalColumnOrder] = useState(t3);
32
- let t4;
33
- let t5;
34
- if ($[6] !== options.visibleColumns) {
35
- t4 = () => {
36
- if (options.visibleColumns) setInternalVisibleColumns(options.visibleColumns);
37
- };
38
- t5 = [options.visibleColumns];
39
- $[6] = options.visibleColumns;
40
- $[7] = t4;
41
- $[8] = t5;
42
- } else {
43
- t4 = $[7];
44
- t5 = $[8];
45
- }
46
- useEffect(t4, t5);
47
- let t6;
48
- let t7;
49
- if ($[9] !== options.columnOrder) {
50
- t6 = () => {
51
- if (options.columnOrder) setInternalColumnOrder(options.columnOrder);
52
- };
53
- t7 = [options.columnOrder];
54
- $[9] = options.columnOrder;
55
- $[10] = t6;
56
- $[11] = t7;
57
- } else {
58
- t6 = $[10];
59
- t7 = $[11];
60
- }
61
- useEffect(t6, t7);
62
- let t8;
63
- if ($[12] !== options) {
64
- t8 = (value) => {
65
- setInternalVisibleColumns(value);
66
- options?.onVisibilityChange?.(value);
67
- };
68
- $[12] = options;
69
- $[13] = t8;
70
- } else t8 = $[13];
71
- const handleVisibilityChange = t8;
72
- let t9;
73
- if ($[14] !== options) {
74
- t9 = (value_0) => {
75
- setInternalColumnOrder(value_0);
76
- options?.onOrderChange?.(value_0);
77
- };
78
- $[14] = options;
79
- $[15] = t9;
80
- } else t9 = $[15];
81
- const handleOrderChange = t9;
82
- let t10;
83
- if ($[16] !== defaultColumns || $[17] !== internalColumnOrder) {
84
- t10 = sortByKeyOrder(defaultColumns, internalColumnOrder);
85
- $[16] = defaultColumns;
86
- $[17] = internalColumnOrder;
87
- $[18] = t10;
88
- } else t10 = $[18];
89
- const configColumns = t10;
90
- let t11;
91
- if ($[19] !== configColumns || $[20] !== internalVisibleColumns) {
92
- let t12;
93
- if ($[22] !== internalVisibleColumns) {
94
- t12 = (col_1) => internalVisibleColumns?.[col_1.id ?? col_1.accessorKey] ?? true;
95
- $[22] = internalVisibleColumns;
96
- $[23] = t12;
97
- } else t12 = $[23];
98
- t11 = configColumns.filter(t12);
99
- $[19] = configColumns;
100
- $[20] = internalVisibleColumns;
101
- $[21] = t11;
102
- } else t11 = $[21];
103
- const columns = t11;
104
- let t12;
105
- if ($[24] !== columns || $[25] !== configColumns || $[26] !== handleOrderChange || $[27] !== handleVisibilityChange || $[28] !== internalColumnOrder || $[29] !== internalVisibleColumns) {
106
- t12 = {
107
- configColumns,
108
- columns,
109
- visibleColumns: internalVisibleColumns,
110
- columnOrder: internalColumnOrder,
111
- onVisibilityChange: handleVisibilityChange,
112
- onOrderChange: handleOrderChange
113
- };
114
- $[24] = columns;
115
- $[25] = configColumns;
116
- $[26] = handleOrderChange;
117
- $[27] = handleVisibilityChange;
118
- $[28] = internalColumnOrder;
119
- $[29] = internalVisibleColumns;
120
- $[30] = t12;
121
- } else t12 = $[30];
122
- return t12;
123
- }
124
- function _temp2(col_0) {
125
- return col_0.id ?? col_0.accessorKey;
126
- }
127
- function _temp(acc, col) {
128
- const key = col.id ?? col.accessorKey;
129
- acc[key] = true;
130
- return acc;
8
+ function useTableColumnConfig(defaultColumns, options = {}) {
9
+ const [internalVisibleColumns, setInternalVisibleColumns] = useState(() => defaultColumns.reduce((acc, col) => {
10
+ const key = col.id ?? col.accessorKey;
11
+ acc[key] = true;
12
+ return acc;
13
+ }, {}));
14
+ const [internalColumnOrder, setInternalColumnOrder] = useState(() => defaultColumns.map((col) => col.id ?? col.accessorKey));
15
+ useEffect(() => {
16
+ if (options.visibleColumns) setInternalVisibleColumns(options.visibleColumns);
17
+ }, [options.visibleColumns]);
18
+ useEffect(() => {
19
+ if (options.columnOrder) setInternalColumnOrder(options.columnOrder);
20
+ }, [options.columnOrder]);
21
+ const handleVisibilityChange = useCallback((value) => {
22
+ setInternalVisibleColumns(value);
23
+ options?.onVisibilityChange?.(value);
24
+ }, [options]);
25
+ const handleOrderChange = useCallback((value) => {
26
+ setInternalColumnOrder(value);
27
+ options?.onOrderChange?.(value);
28
+ }, [options]);
29
+ const configColumns = useMemo(() => sortByKeyOrder(defaultColumns, internalColumnOrder), [defaultColumns, internalColumnOrder]);
30
+ return {
31
+ configColumns,
32
+ columns: useMemo(() => configColumns.filter((col) => internalVisibleColumns?.[col.id ?? col.accessorKey] ?? true), [configColumns, internalVisibleColumns]),
33
+ visibleColumns: internalVisibleColumns,
34
+ columnOrder: internalColumnOrder,
35
+ onVisibilityChange: handleVisibilityChange,
36
+ onOrderChange: handleOrderChange
37
+ };
131
38
  }
132
39
  //#endregion
133
40
  export { useTableColumnConfig };
@@ -1,32 +1,12 @@
1
- import { c } from "react/compiler-runtime";
1
+ import { useMemo } from "react";
2
2
  import { useTranslation } from "react-i18next";
3
3
  //#region src/hooks/useTranslationMemo.ts
4
4
  function useTranslationMemo(func) {
5
- const $ = c(5);
6
5
  const { t } = useTranslation();
7
- let t0;
8
- bb0: {
9
- if (func.length === 1) {
10
- let t1;
11
- if ($[0] !== func || $[1] !== t) {
12
- t1 = func(t);
13
- $[0] = func;
14
- $[1] = t;
15
- $[2] = t1;
16
- } else t1 = $[2];
17
- t0 = t1;
18
- break bb0;
19
- }
20
- const t1 = func;
21
- let t2;
22
- if ($[3] !== t1) {
23
- t2 = t1();
24
- $[3] = t1;
25
- $[4] = t2;
26
- } else t2 = $[4];
27
- t0 = t2;
28
- }
29
- return t0;
6
+ return useMemo(() => {
7
+ if (func.length === 1) return func(t);
8
+ return func();
9
+ }, [func, t]);
30
10
  }
31
11
  //#endregion
32
12
  export { useTranslationMemo };
package/dist/index.d.ts CHANGED
@@ -78,8 +78,6 @@ export type { FormFieldProps } from './components/inputs/FormField/FormField';
78
78
  export { FormField } from './components/inputs/FormField/FormField';
79
79
  export type { ControlledNumberInputProps, NumberInputProps } from './components/inputs/Input/NumberInput/NumberInput';
80
80
  export { NumberInput } from './components/inputs/Input/NumberInput/NumberInput';
81
- export type { ControlledNumberRangeInputProps, NumberRangeInputProps, NumberRangeValue, } from './components/inputs/Input/NumberRangeInput/NumberRangeInput';
82
- export { NumberRangeInput } from './components/inputs/Input/NumberRangeInput/NumberRangeInput';
83
81
  export type { ControlledPasswordInputProps, PasswordInputProps, } from './components/inputs/Input/PasswordInput/PasswordInput';
84
82
  export { PasswordInput } from './components/inputs/Input/PasswordInput/PasswordInput';
85
83
  export type { ControlledTextAreaProps, TextAreaProps } from './components/inputs/Input/TextArea/TextArea';
@@ -96,16 +94,11 @@ export type { RadioVariantProps } from './components/inputs/RadioGroup/radio.cva
96
94
  export type { AutocompleteProps, ControlledAutocompleteProps, } from './components/inputs/Selection/Autocomplete/Autocomplete';
97
95
  export { Autocomplete } from './components/inputs/Selection/Autocomplete/Autocomplete';
98
96
  export { QueryAutocomplete } from './components/inputs/Selection/Autocomplete/QueryAutocomplete';
99
- export type { SelectBaseProps } from './components/inputs/Selection/shared/SelectBase';
100
- export type { DefaultInitialSelectItem, SelectAsyncProps, SelectItem, } from './components/inputs/Selection/shared/select.types';
101
- export type { QuerySelectProps } from './components/inputs/Selection/Select/QuerySelect';
102
- export { QuerySelect } from './components/inputs/Selection/Select/QuerySelect';
103
97
  export type { ControlledSelectProps, SelectProps } from './components/inputs/Selection/Select/Select';
104
98
  export { Select } from './components/inputs/Selection/Select/Select';
105
99
  export type { ControlledSliderProps, SliderProps } from './components/inputs/Slider/Slider';
106
100
  export { Slider } from './components/inputs/Slider/Slider';
107
101
  export type { InputVariantProps } from './components/inputs/shared/input.cva';
108
- export type { TooltipWrapperTriggerVariantProps } from './components/inputs/shared/tooltipWrapper.cva';
109
102
  export type { ControlledToggleProps, ToggleProps } from './components/inputs/Toggle/Toggle';
110
103
  export { Toggle } from './components/inputs/Toggle/Toggle';
111
104
  export type { MenuProps } from './components/Menu/Menu';
package/dist/index.js CHANGED
@@ -69,9 +69,9 @@ import { useLongPressRepeat } from "./hooks/useLongPressRepeat.js";
69
69
  import { useScrollableListBox } from "./hooks/useScrollableListBox.js";
70
70
  import { DateTimeUtils } from "./utils/date-time.utils.js";
71
71
  import { FormField } from "./components/inputs/FormField/FormField.js";
72
- import { useDebounceCallback } from "./hooks/useDebounceCallback.js";
73
72
  import { DatePicker } from "./components/inputs/DateTime/DatePicker/DatePicker.js";
74
73
  import { Tag } from "./components/text/Tag/Tag.js";
74
+ import { useDebounceCallback } from "./hooks/useDebounceCallback.js";
75
75
  import { useIntersectionObserver } from "./hooks/useIntersectionObserver.js";
76
76
  import { TextInput } from "./components/inputs/Input/TextInput/TextInput.js";
77
77
  import { Select } from "./components/inputs/Selection/Select/Select.js";
@@ -85,7 +85,6 @@ import { FileUpload } from "./components/inputs/File/FileUpload.js";
85
85
  import { FileUploadContainer } from "./components/inputs/File/FileUploadContainer.js";
86
86
  import { InputUpload } from "./components/inputs/File/InputUpload.js";
87
87
  import { NumberInput } from "./components/inputs/Input/NumberInput/NumberInput.js";
88
- import { NumberRangeInput } from "./components/inputs/Input/NumberRangeInput/NumberRangeInput.js";
89
88
  import { PasswordInput } from "./components/inputs/Input/PasswordInput/PasswordInput.js";
90
89
  import { TextArea } from "./components/inputs/Input/TextArea/TextArea.js";
91
90
  import { Autocomplete } from "./components/inputs/Selection/Autocomplete/Autocomplete.js";
@@ -93,8 +92,6 @@ import { QueryAutocomplete } from "./components/inputs/Selection/Autocomplete/Qu
93
92
  import { Slider } from "./components/inputs/Slider/Slider.js";
94
93
  import { Toggle } from "./components/inputs/Toggle/Toggle.js";
95
94
  import { Segment } from "./components/segment/Segment.js";
96
- import { QuerySelect } from "./components/inputs/Selection/Select/QuerySelect.js";
97
- import { ResponsivePopover } from "./components/overlays/ResponsivePopover/ResponsivePopover.js";
98
95
  import { StringUtils } from "./utils/string.utils.js";
99
96
  import { dynamicInputs } from "./helpers/dynamicInputs.js";
100
97
  import { Form } from "./components/inputs/Inputs/Form.js";
@@ -105,6 +102,7 @@ import { Stepper } from "./components/navigation/Stepper/Stepper.js";
105
102
  import { Modal } from "./components/overlays/Modal/Modal.js";
106
103
  import { ActionModal } from "./components/overlays/ActionModal/ActionModal.js";
107
104
  import { Drawer } from "./components/overlays/Drawer/Drawer.js";
105
+ import { ResponsivePopover } from "./components/overlays/ResponsivePopover/ResponsivePopover.js";
108
106
  import { TooltipEllipsis } from "./components/overlays/Tooltip/TooltipEllipsis.js";
109
107
  import { PaginationList } from "./components/shared/pagination/PaginationList.js";
110
108
  import { Pagination } from "./components/shared/pagination/Pagination.js";
@@ -137,4 +135,4 @@ import { useSorting } from "./hooks/useSorting.js";
137
135
  import { useTableColumnConfig } from "./hooks/useTableColumnConfig.js";
138
136
  import { ArrayUtils } from "./utils/array.utils.js";
139
137
  import { QueriesUtils } from "./utils/queries.utils.js";
140
- export { Accordion, ActionModal, Alert, AlignCenterIcon, AlignLeftIcon, AlignLeftRightIcon, AlignRightIcon, ArrayUtils, ArrowDropDownIcon, ArrowDropUpIcon, ArrowLeftIcon, ArrowRightIcon, Autocomplete, BoldIcon, BottomSheet, Breadcrumbs, BulletedListIcon, Button, CalendarIcon, CellText, CheckIcon, Checkbox, CheckboxCheckmarkIcon, CheckboxIndeterminateIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsLeftIcon, ChevronsRightIcon, ClockIcon, CloseIcon, ColumnConfigModal, Confirmation, DatePicker, DateRangePicker, DateTimeIcon, DateTimePicker, DateTimeUtils, DateUtils, DomUtils, Drawer, FileUpload, FileUploadContainer, FileUtils, Form, FormField, HeaderText, HighlightIcon, HighlightOnIcon, HomeIcon, IconButton, InfiniteTable, InfoIcon, InlineIconButton, InputUpload, Inputs, ItalicIcon, Link, LinkContext, LinkIcon, Loader, Menu, MenuIcon, MenuItem, MenuPopover, Modal, NumberInput, NumberRangeInput, NumberedListIcon, ObjectUtils, PaginatedTable, Pagination, PaginationList, PasswordInput, PillButton, PointerHorizontalIcon, PointerVerticalIcon, ProgressBar, QueriesUtils, QueryAutocomplete, QuerySelect, RadioGroup, ResponsivePopover, RestUtils, RoutingUtils, Segment, Select, SendIcon, Slider, SplitButton, Stepper, StrikethroughIcon, StringUtils, Table, Tag, TextArea, TextButton, TextColorIcon, TextInput, ThemeContext, TimePicker, Toast, ToastContainer, Toggle, ToggleButton, Tooltip, TooltipEllipsis, Typography, UIConfig, UIRouter, UIStyle, UnderlinedIcon, VisibilityIcon, VisibilityOffIcon, compoundMapper, dynamicColumns, dynamicInputs, isEqual, logger, ns, resources, uiOutlineClass, useAutosave, useBreakpoint, useDebounceCallback, useDeepCompareEffect, useDeepCompareLayoutEffect, useDeepCompareMemo, useFilters, useForm, useFormAutosave, useIntersectionObserver, useLocalStorage, useLongPressRepeat, usePagination, useScrollableListBox, useSorting, useStateAndRef, useTableColumnConfig, useTableNav, useToast, useTranslationMemo };
138
+ export { Accordion, ActionModal, Alert, AlignCenterIcon, AlignLeftIcon, AlignLeftRightIcon, AlignRightIcon, ArrayUtils, ArrowDropDownIcon, ArrowDropUpIcon, ArrowLeftIcon, ArrowRightIcon, Autocomplete, BoldIcon, BottomSheet, Breadcrumbs, BulletedListIcon, Button, CalendarIcon, CellText, CheckIcon, Checkbox, CheckboxCheckmarkIcon, CheckboxIndeterminateIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsLeftIcon, ChevronsRightIcon, ClockIcon, CloseIcon, ColumnConfigModal, Confirmation, DatePicker, DateRangePicker, DateTimeIcon, DateTimePicker, DateTimeUtils, DateUtils, DomUtils, Drawer, FileUpload, FileUploadContainer, FileUtils, Form, FormField, HeaderText, HighlightIcon, HighlightOnIcon, HomeIcon, IconButton, InfiniteTable, InfoIcon, InlineIconButton, InputUpload, Inputs, ItalicIcon, Link, LinkContext, LinkIcon, Loader, Menu, MenuIcon, MenuItem, MenuPopover, Modal, NumberInput, NumberedListIcon, ObjectUtils, PaginatedTable, Pagination, PaginationList, PasswordInput, PillButton, PointerHorizontalIcon, PointerVerticalIcon, ProgressBar, QueriesUtils, QueryAutocomplete, RadioGroup, ResponsivePopover, RestUtils, RoutingUtils, Segment, Select, SendIcon, Slider, SplitButton, Stepper, StrikethroughIcon, StringUtils, Table, Tag, TextArea, TextButton, TextColorIcon, TextInput, ThemeContext, TimePicker, Toast, ToastContainer, Toggle, ToggleButton, Tooltip, TooltipEllipsis, Typography, UIConfig, UIRouter, UIStyle, UnderlinedIcon, VisibilityIcon, VisibilityOffIcon, compoundMapper, dynamicColumns, dynamicInputs, isEqual, logger, ns, resources, uiOutlineClass, useAutosave, useBreakpoint, useDebounceCallback, useDeepCompareEffect, useDeepCompareLayoutEffect, useDeepCompareMemo, useFilters, useForm, useFormAutosave, useIntersectionObserver, useLocalStorage, useLongPressRepeat, usePagination, useScrollableListBox, useSorting, useStateAndRef, useTableColumnConfig, useTableNav, useToast, useTranslationMemo };
@@ -7,7 +7,6 @@ var uiPlugin = plugin(({ addVariant }) => {
7
7
  "&:is(:where(.group\\/select-content)[data-has-selection] *)",
8
8
  "&:is(:where(.group\\/select-content)[data-has-search] *)",
9
9
  "&:is(:where(.group\\/select-content)[data-searchable-focus-within] *)",
10
- "&:is(:where(.group\\/radio-group-content)[data-radio-group-content] *)",
11
10
  "&:is(:where(.group\\/date-picker-content)[data-has-selection] *)",
12
11
  "&:is(:where(.group\\/date-picker-content)[data-focus-within] *)"
13
12
  ].join(", "));
@@ -15,7 +14,6 @@ var uiPlugin = plugin(({ addVariant }) => {
15
14
  "&:is(:where(.group\\/input-content):has(*:is(input:disabled)) *)",
16
15
  "&:is(:where(.group\\/select-content)[data-disabled] *)",
17
16
  "&:is(:where(.group\\/select-content):has(*:is(input:disabled)) *)",
18
- "&:is(:where(.group\\/radio-group-content)[data-disabled] *)",
19
17
  "&:is(:where(.group\\/text-area):has(*:is(textarea:disabled)) *)",
20
18
  "&:is(:where(.group\\/text-editor):where([data-rac])[data-disabled] *)",
21
19
  "&:is(:where(.group\\/date-picker-content):where([data-rac])[data-disabled] *)"
@@ -1,36 +1,15 @@
1
1
  import { CalendarDate, CalendarDateTime, DateValue, ZonedDateTime } from '@internationalized/date';
2
2
  export declare namespace DateTimeUtils {
3
- interface LocalizedDateFormatOptions {
4
- shouldForceLeadingZeros?: boolean;
5
- }
6
- export interface LocalizedDatePart {
7
- type: Intl.DateTimeFormatPartTypes;
8
- value: string;
9
- placeholder: string;
10
- isPlaceholder: boolean;
11
- }
12
- export function getDatePlaceholder(locale?: string, options?: LocalizedDateFormatOptions): string;
13
- export function getTimePlaceholder(locale?: string): string;
14
- export function getDateTimePlaceholder(locale?: string, options?: LocalizedDateFormatOptions): string;
15
- export function getDateRangePlaceholder(locale?: string, options?: LocalizedDateFormatOptions): string;
16
- export function formatCalendarDateLocalized(calendarDate: CalendarDate, locale?: string, options?: LocalizedDateFormatOptions): string;
17
- export function formatCalendarDatePartsLocalized(calendarDate?: CalendarDate | null, locale?: string, options?: LocalizedDateFormatOptions): LocalizedDatePart[];
18
- export function formatTimeLocalized(timeValue: {
19
- hour: number;
20
- minute: number;
21
- }, locale?: string): string;
22
- export function formatCalendarDateTimeLocalized(calendarDateTime: Pick<CalendarDateTime, "day" | "month" | "year" | "hour" | "minute">, locale?: string, options?: LocalizedDateFormatOptions): string;
23
- export function fromISOtoZonedDateTime(isoString: string, timeZone?: string): ZonedDateTime;
24
- export function fromDateValueToISO(dateValue: DateValue, timeZone?: string): string;
25
- export function fromDateValueToOffsetISO(dateValue: DateValue, timeZone?: string): string;
26
- export function fromLocalToZonedDateTime(date: Date, timeZone?: string): ZonedDateTime;
27
- export function fromDateValueToLocal(dateValue: DateValue, timeZone?: string): Date;
28
- export function fromCalendarDateToUTCISO(calendarDate: CalendarDate, options?: {
3
+ function fromISOtoZonedDateTime(isoString: string, timeZone?: string): ZonedDateTime;
4
+ function fromDateValueToISO(dateValue: DateValue, timeZone?: string): string;
5
+ function fromDateValueToOffsetISO(dateValue: DateValue, timeZone?: string): string;
6
+ function fromLocalToZonedDateTime(date: Date, timeZone?: string): ZonedDateTime;
7
+ function fromDateValueToLocal(dateValue: DateValue, timeZone?: string): Date;
8
+ function fromCalendarDateToUTCISO(calendarDate: CalendarDate, options?: {
29
9
  endOfDay?: boolean;
30
10
  }): string;
31
- export function fromUTCISOToCalendarDate(isoString: string): CalendarDate;
32
- export function fromCalendarDateTimeToUTCISO(calendarDateTime: CalendarDateTime): string;
33
- export function fromUTCISOToCalendarDateTime(isoString: string, timeZone?: string): CalendarDateTime;
34
- export function formatTextDateToCalendarDateTime(textDate: string | null, timeZone?: string, locale?: string): CalendarDateTime | null;
35
- export {};
11
+ function fromUTCISOToCalendarDate(isoString: string): CalendarDate;
12
+ function fromCalendarDateTimeToUTCISO(calendarDateTime: CalendarDateTime): string;
13
+ function fromUTCISOToCalendarDateTime(isoString: string, timeZone?: string): CalendarDateTime;
14
+ function formatTextDateToCalendarDateTime(textDate: string | null, timeZone?: string, locale?: string): CalendarDateTime | null;
36
15
  }
@@ -1,134 +1,33 @@
1
- import { CalendarDate, CalendarDateTime, DateFormatter, fromDate, getLocalTimeZone, parseAbsolute } from "@internationalized/date";
1
+ import { CalendarDate, CalendarDateTime, fromDate, getLocalTimeZone, parseAbsolute } from "@internationalized/date";
2
2
  import { DateTime } from "luxon";
3
3
  //#region src/utils/date-time.utils.ts
4
4
  var DateTimeUtils;
5
5
  (function(_DateTimeUtils) {
6
- const DATE_SAMPLE_DATE_UTC = new Date(Date.UTC(2e3, 10, 22));
7
- const TIME_SAMPLE_DATE_UTC = new Date(Date.UTC(2e3, 10, 22, 13, 45));
8
- const getDayMonthFormat = (shouldForceLeadingZeros = false) => shouldForceLeadingZeros ? "2-digit" : "numeric";
9
- const getDatePlaceholderFormatter = (locale, options) => new Intl.DateTimeFormat(locale, {
10
- day: getDayMonthFormat(options?.shouldForceLeadingZeros),
11
- month: getDayMonthFormat(options?.shouldForceLeadingZeros),
12
- year: "numeric"
13
- });
14
- const getTimePlaceholderFormatter = (locale) => new Intl.DateTimeFormat(locale, {
15
- hour: "2-digit",
16
- minute: "2-digit",
17
- hourCycle: "h23"
18
- });
19
- const getResolvedLocale = (locale) => {
20
- if (locale) return locale;
21
- return new Intl.DateTimeFormat().resolvedOptions().locale;
22
- };
23
- const getDateFormatter = (locale, options) => new Intl.DateTimeFormat(getResolvedLocale(locale), {
24
- day: getDayMonthFormat(options?.shouldForceLeadingZeros),
25
- month: getDayMonthFormat(options?.shouldForceLeadingZeros),
26
- year: "numeric",
27
- timeZone: "UTC"
28
- });
29
- const getTimeFormatter = (locale) => new DateFormatter(getResolvedLocale(locale), {
30
- hour: "2-digit",
31
- minute: "2-digit",
32
- hourCycle: "h23",
33
- timeZone: "UTC"
34
- });
35
- const getDateTimeFormatter = (locale, options) => new Intl.DateTimeFormat(getResolvedLocale(locale), {
36
- day: getDayMonthFormat(options?.shouldForceLeadingZeros),
37
- month: getDayMonthFormat(options?.shouldForceLeadingZeros),
38
- year: "numeric",
39
- hour: "2-digit",
40
- minute: "2-digit",
41
- hourCycle: "h23",
42
- timeZone: "UTC"
43
- });
44
- const getLocaleDateFormat = (locale) => {
45
- const sampleDate = new Date(Date.UTC(2e3, 10, 22));
46
- return new Intl.DateTimeFormat(locale, {
6
+ function getLocaleDateFormat(locale) {
7
+ const parts = new Intl.DateTimeFormat(locale, {
47
8
  day: "2-digit",
48
9
  month: "2-digit",
49
- year: "numeric",
50
- timeZone: "UTC"
51
- }).formatToParts(sampleDate).map((part) => {
52
- if (part.type === "day") return "dd";
53
- if (part.type === "month") return "MM";
54
- if (part.type === "year") return "yyyy";
55
- return part.value;
56
- }).join("");
57
- };
58
- const repeatLocalizedFieldLabel = (type, length, locale) => {
59
- const placeholderChar = new Intl.DisplayNames(getResolvedLocale(locale), { type: "dateTimeField" }).of(type)?.trim().charAt(0).toLocaleLowerCase(getResolvedLocale(locale));
60
- if (!placeholderChar) return null;
61
- return placeholderChar.repeat(length);
62
- };
63
- const mapTypeToPlaceholder = (type, locale) => {
64
- switch (type) {
65
- case "day": return repeatLocalizedFieldLabel(type, 2, locale);
66
- case "month": return repeatLocalizedFieldLabel(type, 2, locale);
67
- case "year": return repeatLocalizedFieldLabel(type, 4, locale);
68
- case "hour": return "hh";
69
- case "minute": return "mm";
70
- default: return null;
10
+ year: "numeric"
11
+ }).formatToParts(new Date(2001, 10, 23));
12
+ let format = "";
13
+ for (const part of parts) {
14
+ if (part.type === "day") {
15
+ format += "dd";
16
+ continue;
17
+ }
18
+ if (part.type === "month") {
19
+ format += "MM";
20
+ continue;
21
+ }
22
+ if (part.type === "year") {
23
+ format += "yyyy";
24
+ continue;
25
+ }
26
+ if (part.type === "literal") format += part.value;
71
27
  }
72
- };
73
- const formatPlaceholder = (formatter, sampleDate) => {
74
- return formatter.formatToParts(sampleDate).map((part) => mapTypeToPlaceholder(part.type, formatter.resolvedOptions().locale) ?? part.value.replace(/\s+/gu, "")).join("");
75
- };
76
- const removeLeadingZero = (value) => value.replace(/^0+(?=\d)/u, "");
77
- const removeDateSeparatorSpacing = (value) => value.replace(/([./-])\s+(?=\d)/gu, "$1");
78
- const formatLocalizedDateParts = (formatter, date, options) => {
79
- if (options?.shouldForceLeadingZeros !== false) return removeDateSeparatorSpacing(formatter.format(date));
80
- return removeDateSeparatorSpacing(formatter.formatToParts(date).map((part) => {
81
- if (part.type === "day" || part.type === "month") return removeLeadingZero(part.value);
82
- return part.value;
83
- }).join(""));
84
- };
85
- const formatLocalizedDatePartList = (formatter, date, isPlaceholder, options) => {
86
- const locale = formatter.resolvedOptions().locale;
87
- return formatter.formatToParts(date).map((part) => {
88
- const value = options?.shouldForceLeadingZeros === false && (part.type === "day" || part.type === "month") ? removeLeadingZero(part.value) : part.value.replace(/\s+/gu, "");
89
- return {
90
- type: part.type,
91
- value,
92
- placeholder: mapTypeToPlaceholder(part.type, locale) ?? part.value.replace(/\s+/gu, ""),
93
- isPlaceholder
94
- };
95
- });
96
- };
97
- function getDatePlaceholder(locale, options) {
98
- return formatPlaceholder(getDatePlaceholderFormatter(locale, options), DATE_SAMPLE_DATE_UTC);
28
+ if (!format.includes("dd") || !format.includes("MM") || !format.includes("yyyy")) return "dd/MM/yyyy";
29
+ return format;
99
30
  }
100
- _DateTimeUtils.getDatePlaceholder = getDatePlaceholder;
101
- function getTimePlaceholder(locale) {
102
- return formatPlaceholder(getTimePlaceholderFormatter(locale), TIME_SAMPLE_DATE_UTC);
103
- }
104
- _DateTimeUtils.getTimePlaceholder = getTimePlaceholder;
105
- function getDateTimePlaceholder(locale, options) {
106
- return `${getDatePlaceholder(locale, options)}, ${getTimePlaceholder(locale)}`;
107
- }
108
- _DateTimeUtils.getDateTimePlaceholder = getDateTimePlaceholder;
109
- function getDateRangePlaceholder(locale, options) {
110
- const datePlaceholder = getDatePlaceholder(locale, options);
111
- return `${datePlaceholder} – ${datePlaceholder}`;
112
- }
113
- _DateTimeUtils.getDateRangePlaceholder = getDateRangePlaceholder;
114
- function formatCalendarDateLocalized(calendarDate, locale, options) {
115
- return formatLocalizedDateParts(getDateFormatter(locale, options), calendarDate.toDate("UTC"), options);
116
- }
117
- _DateTimeUtils.formatCalendarDateLocalized = formatCalendarDateLocalized;
118
- function formatCalendarDatePartsLocalized(calendarDate, locale, options) {
119
- return formatLocalizedDatePartList(getDateFormatter(locale, options), calendarDate?.toDate("UTC") ?? DATE_SAMPLE_DATE_UTC, !calendarDate, options);
120
- }
121
- _DateTimeUtils.formatCalendarDatePartsLocalized = formatCalendarDatePartsLocalized;
122
- function formatTimeLocalized(timeValue, locale) {
123
- const dateTime = new CalendarDateTime(2e3, 11, 22, timeValue.hour, timeValue.minute);
124
- return getTimeFormatter(locale).format(dateTime.toDate("UTC"));
125
- }
126
- _DateTimeUtils.formatTimeLocalized = formatTimeLocalized;
127
- function formatCalendarDateTimeLocalized(calendarDateTime, locale, options) {
128
- const normalizedValue = new CalendarDateTime(calendarDateTime.year, calendarDateTime.month, calendarDateTime.day, calendarDateTime.hour, calendarDateTime.minute);
129
- return formatLocalizedDateParts(getDateTimeFormatter(locale, options), normalizedValue.toDate("UTC"), options);
130
- }
131
- _DateTimeUtils.formatCalendarDateTimeLocalized = formatCalendarDateTimeLocalized;
132
31
  function resolveTimeZone(timeZone) {
133
32
  if (timeZone) return timeZone;
134
33
  return getLocalTimeZone();