@povio/ui 2.3.0-rc.6 → 2.3.0-rc.8

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 (194) hide show
  1. package/dist/assets/icons/AlignCenter.js +26 -11
  2. package/dist/assets/icons/AlignLeft.js +26 -11
  3. package/dist/assets/icons/AlignLeftRight.js +26 -11
  4. package/dist/assets/icons/AlignRight.js +26 -11
  5. package/dist/assets/icons/ArrowDropDown.js +26 -11
  6. package/dist/assets/icons/ArrowDropUp.js +26 -11
  7. package/dist/assets/icons/ArrowLeft.js +26 -11
  8. package/dist/assets/icons/ArrowRight.js +26 -11
  9. package/dist/assets/icons/Bold.js +26 -11
  10. package/dist/assets/icons/BulletedList.js +26 -11
  11. package/dist/assets/icons/Calendar.js +28 -13
  12. package/dist/assets/icons/Check.js +28 -13
  13. package/dist/assets/icons/CheckCircle.js +26 -11
  14. package/dist/assets/icons/CheckboxCheckmark.js +29 -14
  15. package/dist/assets/icons/CheckboxIndeterminate.js +29 -14
  16. package/dist/assets/icons/ChevronDown.js +28 -13
  17. package/dist/assets/icons/ChevronLeft.js +28 -13
  18. package/dist/assets/icons/ChevronRight.js +28 -13
  19. package/dist/assets/icons/ChevronUp.js +28 -13
  20. package/dist/assets/icons/ChevronsLeft.js +28 -13
  21. package/dist/assets/icons/ChevronsRight.js +28 -13
  22. package/dist/assets/icons/Clock.js +26 -11
  23. package/dist/assets/icons/Close.js +26 -11
  24. package/dist/assets/icons/DateTime.js +35 -14
  25. package/dist/assets/icons/DragIndicator.js +26 -11
  26. package/dist/assets/icons/File.js +28 -13
  27. package/dist/assets/icons/Highlight.js +26 -11
  28. package/dist/assets/icons/HighlightOn.js +49 -15
  29. package/dist/assets/icons/Home.js +26 -11
  30. package/dist/assets/icons/Info.js +37 -16
  31. package/dist/assets/icons/Italic.js +26 -11
  32. package/dist/assets/icons/Link.js +26 -11
  33. package/dist/assets/icons/Menu.js +26 -11
  34. package/dist/assets/icons/NumberedList.js +26 -11
  35. package/dist/assets/icons/PointerHorizontal.js +26 -11
  36. package/dist/assets/icons/PointerVertical.js +26 -11
  37. package/dist/assets/icons/Search.js +26 -11
  38. package/dist/assets/icons/Send.js +28 -13
  39. package/dist/assets/icons/Strikethrough.js +26 -11
  40. package/dist/assets/icons/TextColor.js +48 -14
  41. package/dist/assets/icons/Today.js +26 -11
  42. package/dist/assets/icons/Underlined.js +28 -13
  43. package/dist/assets/icons/Upload.js +35 -14
  44. package/dist/assets/icons/Visibility.js +26 -11
  45. package/dist/assets/icons/VisibilityOff.js +26 -11
  46. package/dist/assets/icons/WarningFilled.js +28 -13
  47. package/dist/components/Breadcrumbs/Breadcrumbs.js +207 -56
  48. package/dist/components/Menu/Menu.js +18 -2
  49. package/dist/components/Menu/MenuDesktop.js +41 -7
  50. package/dist/components/Menu/MenuItem.js +32 -9
  51. package/dist/components/Menu/MenuMobile.js +97 -38
  52. package/dist/components/Menu/MenuPopover.js +105 -29
  53. package/dist/components/buttons/IconButton/IconButton.js +40 -8
  54. package/dist/components/buttons/InlineIconButton/InlineIconButton.js +34 -9
  55. package/dist/components/buttons/PillButton/PillButton.js +55 -17
  56. package/dist/components/buttons/SplitButton/SplitButton.js +103 -18
  57. package/dist/components/buttons/TextButton/TextButton.js +30 -8
  58. package/dist/components/buttons/ToggleButton/ToggleButton.js +28 -8
  59. package/dist/components/buttons/shared/ButtonContent.js +80 -22
  60. package/dist/components/inputs/Checkbox/Checkbox.js +164 -34
  61. package/dist/components/inputs/Checkbox/CheckboxCheckmark.js +24 -10
  62. package/dist/components/inputs/DateTime/DatePicker/DatePicker.js +8 -8
  63. package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.js +103 -103
  64. package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.js +9 -9
  65. package/dist/components/inputs/DateTime/TimePicker/TimePicker.js +384 -116
  66. package/dist/components/inputs/DateTime/shared/Calendar.js +331 -137
  67. package/dist/components/inputs/DateTime/shared/CalendarCell.js +283 -102
  68. package/dist/components/inputs/DateTime/shared/CalendarGrid.js +142 -33
  69. package/dist/components/inputs/DateTime/shared/CalendarHeader.js +245 -90
  70. package/dist/components/inputs/DateTime/shared/CalendarSelectHeader.js +318 -137
  71. package/dist/components/inputs/DateTime/shared/DateField.js +296 -112
  72. package/dist/components/inputs/DateTime/shared/DatePickerInput.js +345 -142
  73. package/dist/components/inputs/DateTime/shared/DateSegmentItem.js +94 -21
  74. package/dist/components/inputs/DateTime/shared/DateTimeDialog.js +81 -27
  75. package/dist/components/inputs/DateTime/shared/DateTimeDialogFooter.js +59 -10
  76. package/dist/components/inputs/DateTime/shared/MonthPicker.js +103 -58
  77. package/dist/components/inputs/DateTime/shared/RangeCalendar.js +193 -82
  78. package/dist/components/inputs/DateTime/shared/TimeField.js +27 -8
  79. package/dist/components/inputs/DateTime/shared/TimePickerForm.js +279 -110
  80. package/dist/components/inputs/DateTime/shared/TimePickerInput.js +205 -70
  81. package/dist/components/inputs/DateTime/shared/YearPicker.js +119 -68
  82. package/dist/components/inputs/File/FileUpload.js +86 -44
  83. package/dist/components/inputs/File/FileUploadContainer.js +15 -7
  84. package/dist/components/inputs/File/InputUpload.js +317 -79
  85. package/dist/components/inputs/File/shared/FileCard.js +104 -41
  86. package/dist/components/inputs/File/shared/FileCardList.js +47 -12
  87. package/dist/components/inputs/File/shared/FileUploadContent.js +175 -44
  88. package/dist/components/inputs/File/shared/FileUploadContentEmpty.js +149 -46
  89. package/dist/components/inputs/File/shared/FileUploadContentError.js +234 -93
  90. package/dist/components/inputs/File/shared/FileUploadContentFilled.js +230 -97
  91. package/dist/components/inputs/File/shared/FileUploadContentLoading.js +199 -55
  92. package/dist/components/inputs/File/shared/InputUploadContent.js +148 -35
  93. package/dist/components/inputs/File/shared/InputUploadFilled.js +49 -8
  94. package/dist/components/inputs/File/shared/ProgressBar.js +48 -9
  95. package/dist/components/inputs/FormField/FormField.js +119 -37
  96. package/dist/components/inputs/FormField/FormFieldError.js +25 -5
  97. package/dist/components/inputs/FormField/FormFieldHeader.js +79 -22
  98. package/dist/components/inputs/FormField/FormFieldHeaderClose.js +31 -7
  99. package/dist/components/inputs/FormField/FormFieldHelper.js +26 -6
  100. package/dist/components/inputs/FormField/FormFieldLabel.js +40 -9
  101. package/dist/components/inputs/Input/NumberInput/NumberInput.js +253 -82
  102. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeField.js +541 -116
  103. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeInput.js +314 -75
  104. package/dist/components/inputs/Input/PasswordInput/PasswordInput.js +48 -9
  105. package/dist/components/inputs/Input/TextArea/TextArea.js +298 -89
  106. package/dist/components/inputs/Input/TextInput/TextInput.js +241 -81
  107. package/dist/components/inputs/Input/shared/InputContent.js +190 -58
  108. package/dist/components/inputs/Inputs/Form.js +40 -11
  109. package/dist/components/inputs/Inputs/InputItem.js +65 -14
  110. package/dist/components/inputs/Inputs/Inputs.js +37 -11
  111. package/dist/components/inputs/RadioGroup/RadioGroup.js +317 -106
  112. package/dist/components/inputs/Selection/Autocomplete/QueryAutocomplete.js +2 -2
  113. package/dist/components/inputs/Selection/Select/QuerySelect.js +107 -27
  114. package/dist/components/inputs/Selection/shared/SelectBase.js +69 -20
  115. package/dist/components/inputs/Selection/shared/SelectDesktop.js +390 -143
  116. package/dist/components/inputs/Selection/shared/SelectInput.js +334 -136
  117. package/dist/components/inputs/Selection/shared/SelectInputTags.js +99 -25
  118. package/dist/components/inputs/Selection/shared/SelectListBox.js +163 -51
  119. package/dist/components/inputs/Selection/shared/SelectListBoxItem.js +85 -35
  120. package/dist/components/inputs/Selection/shared/SelectListBoxItemSelectAll.js +69 -16
  121. package/dist/components/inputs/Selection/shared/SelectListBoxLoadingItem.js +70 -21
  122. package/dist/components/inputs/Selection/shared/SelectListBoxSelectionBar.js +58 -9
  123. package/dist/components/inputs/Selection/shared/StaticSelectTrailingContent.js +36 -11
  124. package/dist/components/inputs/Selection/shared/querySelect.utils.d.ts +1 -1
  125. package/dist/components/inputs/Selection/shared/querySelect.utils.js +1 -7
  126. package/dist/components/inputs/Selection/shared/select.context.js +34 -34
  127. package/dist/components/inputs/Selection/shared/useSelectItems.js +109 -49
  128. package/dist/components/inputs/Skeleton/InputFrame.js +472 -145
  129. package/dist/components/inputs/Slider/Slider.js +247 -74
  130. package/dist/components/inputs/TextEditor/TextEditor.js +447 -103
  131. package/dist/components/inputs/TextEditor/Toolbar/ColorPicker.js +37 -11
  132. package/dist/components/inputs/TextEditor/Toolbar/ColorPickerDropdown.js +102 -30
  133. package/dist/components/inputs/TextEditor/Toolbar/HyperlinkAction.js +194 -45
  134. package/dist/components/inputs/TextEditor/Toolbar/TextAlignSelect.js +88 -28
  135. package/dist/components/inputs/TextEditor/Toolbar/TextColorSelect.js +48 -14
  136. package/dist/components/inputs/TextEditor/Toolbar/TextEditorToolbar.js +66 -19
  137. package/dist/components/inputs/TextEditor/Toolbar/TextHighlightSelect.js +49 -15
  138. package/dist/components/inputs/TextEditor/Toolbar/TextListActions.js +92 -32
  139. package/dist/components/inputs/TextEditor/Toolbar/TextMarksActions.js +126 -54
  140. package/dist/components/inputs/TextEditor/Toolbar/TextStyleSelect.js +141 -38
  141. package/dist/components/inputs/Toggle/Toggle.js +187 -41
  142. package/dist/components/inputs/shared/CheckContent.js +21 -10
  143. package/dist/components/inputs/shared/InputClear.js +78 -21
  144. package/dist/components/inputs/shared/TooltipWrapper.js +47 -12
  145. package/dist/components/inputs/shared/input.cva.js +13 -3
  146. package/dist/components/inputs/shared/useStaticInputHandoff.js +83 -55
  147. package/dist/components/navigation/Accordion/Accordion.js +69 -22
  148. package/dist/components/navigation/Accordion/AccordionItem.js +86 -41
  149. package/dist/components/navigation/Stepper/Stepper.js +67 -22
  150. package/dist/components/navigation/Stepper/StepperItem.js +104 -31
  151. package/dist/components/navigation/Stepper/StepperSeparator.js +23 -5
  152. package/dist/components/overlays/ActionModal/ActionModal.js +169 -35
  153. package/dist/components/overlays/BottomSheet/BottomSheet.js +96 -23
  154. package/dist/components/overlays/BottomSheet/BottomSheetHeader.js +48 -8
  155. package/dist/components/overlays/Drawer/Drawer.js +62 -20
  156. package/dist/components/overlays/ResponsivePopover/ResponsivePopover.js +83 -27
  157. package/dist/components/overlays/Tooltip/Tooltip.js +137 -28
  158. package/dist/components/overlays/Tooltip/TooltipEllipsis.js +37 -12
  159. package/dist/components/segment/Segment.js +218 -57
  160. package/dist/components/segment/SegmentItem.js +67 -10
  161. package/dist/components/shared/pagination/Pagination.js +108 -22
  162. package/dist/components/shared/pagination/PaginationList.js +167 -64
  163. package/dist/components/status/Alert/Alert.js +97 -30
  164. package/dist/components/status/Loader/Loader.js +77 -22
  165. package/dist/components/status/Toast/Toast.js +21 -13
  166. package/dist/components/status/Toast/useToast.js +62 -57
  167. package/dist/components/table/ColumnConfig.js +158 -54
  168. package/dist/components/table/InfiniteTable.js +67 -16
  169. package/dist/components/table/PaginatedTable.js +84 -18
  170. package/dist/components/table/Table.js +23 -23
  171. package/dist/components/text/Link/Link.js +19 -7
  172. package/dist/components/text/Typography/Typography.js +23 -8
  173. package/dist/config/confirmation.context.js +1 -1
  174. package/dist/config/link.context.js +23 -9
  175. package/dist/config/router.context.js +42 -16
  176. package/dist/config/theme.context.js +98 -45
  177. package/dist/config/uiConfig.context.js +39 -8
  178. package/dist/config/uiStyle.context.js +15 -5
  179. package/dist/hooks/useBreakpoint.js +16 -3
  180. package/dist/hooks/useDebounceCallback.js +51 -17
  181. package/dist/hooks/useFilters.js +125 -64
  182. package/dist/hooks/useForm.js +42 -8
  183. package/dist/hooks/useFormAutosave.js +101 -30
  184. package/dist/hooks/useIntersectionObserver.js +86 -32
  185. package/dist/hooks/useLocalStorage.js +43 -10
  186. package/dist/hooks/useLongPressRepeat.js +55 -20
  187. package/dist/hooks/usePagination.js +49 -19
  188. package/dist/hooks/useQueryAutocomplete.js +1 -1
  189. package/dist/hooks/useScrollableListBox.js +37 -16
  190. package/dist/hooks/useSorting.js +69 -28
  191. package/dist/hooks/useStateAndRef.js +21 -7
  192. package/dist/hooks/useTableColumnConfig.js +124 -31
  193. package/dist/hooks/useTranslationMemo.js +25 -5
  194. package/package.json +1 -1
@@ -1,131 +1,315 @@
1
1
  import { DateSegmentItem } from "./DateSegmentItem.js";
2
2
  import { DateTimeUtils } from "../../../../utils/date-time.utils.js";
3
+ import { c } from "react/compiler-runtime";
3
4
  import { Fragment, jsx } from "react/jsx-runtime";
4
5
  import { clsx } from "clsx";
5
- import { useCallback, useEffect, useImperativeHandle, useMemo, useRef } from "react";
6
+ import { useEffect, useImperativeHandle, useRef } from "react";
6
7
  import { useDateField, useLocale } from "react-aria";
7
8
  import { createCalendar } from "@internationalized/date";
8
9
  import { DateTime } from "luxon";
9
10
  import { useDateFieldState } from "react-stately";
10
11
  //#region src/components/inputs/DateTime/shared/DateField.tsx
11
- var DateField = ({ ref, onClearChange, hidePlaceholder, isDisabled, disableManualEntry, dateGranularity = "day", isTimeOptional = false, format, timeZone, ...props }) => {
12
+ var DateField = (t0) => {
13
+ const $ = c(65);
14
+ let disableManualEntry;
15
+ let format;
16
+ let hidePlaceholder;
17
+ let isDisabled;
18
+ let onClearChange;
19
+ let props;
20
+ let ref;
21
+ let t1;
22
+ let t2;
23
+ let timeZone;
24
+ if ($[0] !== t0) {
25
+ ({ref, onClearChange, hidePlaceholder, isDisabled, disableManualEntry, dateGranularity: t1, isTimeOptional: t2, format, timeZone, ...props} = t0);
26
+ $[0] = t0;
27
+ $[1] = disableManualEntry;
28
+ $[2] = format;
29
+ $[3] = hidePlaceholder;
30
+ $[4] = isDisabled;
31
+ $[5] = onClearChange;
32
+ $[6] = props;
33
+ $[7] = ref;
34
+ $[8] = t1;
35
+ $[9] = t2;
36
+ $[10] = timeZone;
37
+ } else {
38
+ disableManualEntry = $[1];
39
+ format = $[2];
40
+ hidePlaceholder = $[3];
41
+ isDisabled = $[4];
42
+ onClearChange = $[5];
43
+ props = $[6];
44
+ ref = $[7];
45
+ t1 = $[8];
46
+ t2 = $[9];
47
+ timeZone = $[10];
48
+ }
49
+ const dateGranularity = t1 === void 0 ? "day" : t1;
50
+ const isTimeOptional = t2 === void 0 ? false : t2;
12
51
  const { locale } = useLocale();
13
- const state = useDateFieldState({
14
- ...props,
15
- isDisabled,
16
- isReadOnly: disableManualEntry,
17
- locale,
18
- createCalendar
19
- });
52
+ let t3;
53
+ if ($[11] !== disableManualEntry || $[12] !== isDisabled || $[13] !== locale || $[14] !== props) {
54
+ t3 = {
55
+ ...props,
56
+ isDisabled,
57
+ isReadOnly: disableManualEntry,
58
+ locale,
59
+ createCalendar
60
+ };
61
+ $[11] = disableManualEntry;
62
+ $[12] = isDisabled;
63
+ $[13] = locale;
64
+ $[14] = props;
65
+ $[15] = t3;
66
+ } else t3 = $[15];
67
+ const state = useDateFieldState(t3);
20
68
  const dataFieldRef = useRef(null);
21
- const { fieldProps } = useDateField({
22
- ...props,
23
- isDisabled,
24
- isReadOnly: disableManualEntry
25
- }, state, dataFieldRef);
26
- const isSegmentVisible = useCallback((segmentType) => {
27
- if (dateGranularity === "day") return true;
28
- if (dateGranularity === "month") return segmentType !== "day";
29
- if (dateGranularity === "year") return segmentType === "year";
30
- return true;
31
- }, [dateGranularity]);
32
- const getSegmentsToRender = useCallback(() => {
33
- const segments = [];
34
- for (const segment of state.segments) if (segment.type !== "literal") {
35
- if (isSegmentVisible(segment.type)) segments.push(segment);
36
- } else if (segments.length > 0 && segments.at(-1)?.type !== "literal") segments.push(segment);
37
- return segments;
38
- }, [state.segments, isSegmentVisible]);
39
- const segmentsToRender = useMemo(() => getSegmentsToRender(), [getSegmentsToRender]);
40
- const autoFixYear = () => {
41
- const monthSegment = state.segments.find((segment) => segment.type === "month");
42
- const daySegment = state.segments.find((segment) => segment.type === "day");
43
- const yearSegment = state.segments.find((segment) => segment.type === "year");
44
- const hourSegment = state.segments.find((segment) => segment.type === "hour");
45
- const minuteSegment = state.segments.find((segment) => segment.type === "minute");
46
- const isMonthFilled = monthSegment && !monthSegment.isPlaceholder;
47
- const isDayFilled = daySegment && !daySegment.isPlaceholder;
48
- const isYearFilled = yearSegment && !yearSegment.isPlaceholder && yearSegment.text?.length > 0;
49
- const isYearEmpty = yearSegment && !(parseInt(yearSegment.text) && yearSegment.text?.length === 4);
50
- const isDateFilled = isMonthFilled && isDayFilled && isYearFilled;
51
- const isHourEmpty = hourSegment && (hourSegment.isPlaceholder || Number.isNaN(parseInt(hourSegment.text ?? "", 10)));
52
- const isMinuteEmpty = minuteSegment && (minuteSegment.isPlaceholder || Number.isNaN(parseInt(minuteSegment.text ?? "", 10)));
53
- if (!isTimeOptional && isDateFilled && minuteSegment && isMinuteEmpty) {
54
- let minute = minuteSegment?.value || 0;
55
- if (minuteSegment?.text?.length && minuteSegment?.text?.length > 0) {
56
- minute = parseInt(minuteSegment?.text ?? "00");
57
- if (isNaN(minute)) minute = 0;
69
+ let t4;
70
+ if ($[16] !== disableManualEntry || $[17] !== isDisabled || $[18] !== props) {
71
+ t4 = {
72
+ ...props,
73
+ isDisabled,
74
+ isReadOnly: disableManualEntry
75
+ };
76
+ $[16] = disableManualEntry;
77
+ $[17] = isDisabled;
78
+ $[18] = props;
79
+ $[19] = t4;
80
+ } else t4 = $[19];
81
+ const { fieldProps } = useDateField(t4, state, dataFieldRef);
82
+ let t5;
83
+ if ($[20] !== dateGranularity) {
84
+ t5 = (segmentType) => {
85
+ if (dateGranularity === "day") return true;
86
+ if (dateGranularity === "month") return segmentType !== "day";
87
+ if (dateGranularity === "year") return segmentType === "year";
88
+ return true;
89
+ };
90
+ $[20] = dateGranularity;
91
+ $[21] = t5;
92
+ } else t5 = $[21];
93
+ const isSegmentVisible = t5;
94
+ let t6;
95
+ if ($[22] !== isSegmentVisible || $[23] !== state.segments) {
96
+ t6 = () => {
97
+ const segments = [];
98
+ for (const segment of state.segments) if (segment.type !== "literal") {
99
+ if (isSegmentVisible(segment.type)) segments.push(segment);
100
+ } else if (segments.length > 0 && segments.at(-1)?.type !== "literal") segments.push(segment);
101
+ return segments;
102
+ };
103
+ $[22] = isSegmentVisible;
104
+ $[23] = state.segments;
105
+ $[24] = t6;
106
+ } else t6 = $[24];
107
+ const getSegmentsToRender = t6;
108
+ let t7;
109
+ if ($[25] !== getSegmentsToRender) {
110
+ t7 = getSegmentsToRender();
111
+ $[25] = getSegmentsToRender;
112
+ $[26] = t7;
113
+ } else t7 = $[26];
114
+ const segmentsToRender = t7;
115
+ let t8;
116
+ if ($[27] !== isTimeOptional || $[28] !== state) {
117
+ t8 = () => {
118
+ const monthSegment = state.segments.find(_temp);
119
+ const daySegment = state.segments.find(_temp2);
120
+ const yearSegment = state.segments.find(_temp3);
121
+ const hourSegment = state.segments.find(_temp4);
122
+ const minuteSegment = state.segments.find(_temp5);
123
+ const isMonthFilled = monthSegment && !monthSegment.isPlaceholder;
124
+ const isDayFilled = daySegment && !daySegment.isPlaceholder;
125
+ const isYearFilled = yearSegment && !yearSegment.isPlaceholder && yearSegment.text?.length > 0;
126
+ const isYearEmpty = yearSegment && !(parseInt(yearSegment.text) && yearSegment.text?.length === 4);
127
+ const isDateFilled = isMonthFilled && isDayFilled && isYearFilled;
128
+ const isHourEmpty = hourSegment && (hourSegment.isPlaceholder || Number.isNaN(parseInt(hourSegment.text ?? "", 10)));
129
+ const isMinuteEmpty = minuteSegment && (minuteSegment.isPlaceholder || Number.isNaN(parseInt(minuteSegment.text ?? "", 10)));
130
+ if (!isTimeOptional && isDateFilled && minuteSegment && isMinuteEmpty) {
131
+ let minute = minuteSegment?.value || 0;
132
+ if (minuteSegment?.text?.length && minuteSegment?.text?.length > 0) {
133
+ minute = parseInt(minuteSegment?.text ?? "00");
134
+ if (isNaN(minute)) minute = 0;
135
+ }
136
+ state.setSegment("minute", minute);
58
137
  }
59
- state.setSegment("minute", minute);
60
- }
61
- if (!isTimeOptional && isDateFilled && hourSegment && isHourEmpty) {
62
- let hour = hourSegment?.value || 0;
63
- if (hourSegment?.text?.length && hourSegment?.text?.length > 0) {
64
- hour = parseInt(hourSegment?.text ?? "00");
65
- if (isNaN(hour)) hour = 0;
138
+ if (!isTimeOptional && isDateFilled && hourSegment && isHourEmpty) {
139
+ let hour = hourSegment?.value || 0;
140
+ if (hourSegment?.text?.length && hourSegment?.text?.length > 0) {
141
+ hour = parseInt(hourSegment?.text ?? "00");
142
+ if (isNaN(hour)) hour = 0;
143
+ }
144
+ state.setSegment("hour", hour);
66
145
  }
67
- state.setSegment("hour", hour);
68
- }
69
- if (isMonthFilled && isDayFilled && isYearEmpty) {
70
- let year = (/* @__PURE__ */ new Date()).getFullYear();
71
- if (yearSegment?.text?.length && yearSegment?.text?.length === 2) year = parseInt(`20${yearSegment?.text}`);
72
- state.setSegment("year", year);
73
- }
74
- };
75
- const handleBlur = (e) => {
76
- fieldProps.onBlur?.(e);
77
- if (!state.value) return;
78
- const currentValue = state.value;
79
- const { year } = currentValue;
80
- if (year >= 0 && year <= 99) {
81
- const correctedYear = year <= 50 ? 2e3 + year : 1900 + year;
82
- const correctedDate = currentValue.set({ year: correctedYear });
83
- if (correctedDate) {
84
- state.setValue(correctedDate);
85
- props.onChange?.(correctedDate);
146
+ if (isMonthFilled && isDayFilled && isYearEmpty) {
147
+ let year = (/* @__PURE__ */ new Date()).getFullYear();
148
+ if (yearSegment?.text?.length && yearSegment?.text?.length === 2) year = parseInt(`20${yearSegment?.text}`);
149
+ state.setSegment("year", year);
86
150
  }
87
- }
88
- };
89
- useImperativeHandle(ref, () => ({
90
- clearField: () => {
91
- state.setValue(null);
92
- for (const segment of state.segments) if (segment.type !== "literal") state.clearSegment(segment.type);
93
- },
94
- autoFixYear
95
- }));
96
- useEffect(() => {
97
- onClearChange?.(state.segments.some((segment) => segment.type !== "literal" && segment.isPlaceholder === false));
98
- }, [state.segments, onClearChange]);
99
- const getFormattedDisplayValue = () => {
100
- if (!disableManualEntry) return null;
101
- if (!format) return null;
102
- if (!state.value) return null;
103
- const jsDate = DateTimeUtils.fromDateValueToLocal(state.value, timeZone);
104
- const formattedDate = DateTime.fromJSDate(jsDate);
105
- if (!formattedDate.isValid) return null;
106
- return formattedDate.toFormat(format);
107
- };
108
- const formattedDisplayValue = getFormattedDisplayValue();
109
- let fieldContent = /* @__PURE__ */ jsx(Fragment, { children: segmentsToRender.map((segment, i) => /* @__PURE__ */ jsx(DateSegmentItem, {
110
- segment,
111
- state,
112
- isDisabled,
113
- hidePlaceholder
114
- }, i)) });
115
- if (formattedDisplayValue) fieldContent = /* @__PURE__ */ jsx("span", {
116
- className: clsx("select-none", isDisabled && "text-interactive-text-secondary-disabled"),
117
- children: formattedDisplayValue
118
- });
119
- return /* @__PURE__ */ jsx("div", {
120
- ...fieldProps,
121
- ref: dataFieldRef,
122
- onBlur: handleBlur,
123
- className: clsx("relative w-full", disableManualEntry && "pointer-events-none"),
124
- children: /* @__PURE__ */ jsx("div", {
151
+ };
152
+ $[27] = isTimeOptional;
153
+ $[28] = state;
154
+ $[29] = t8;
155
+ } else t8 = $[29];
156
+ const autoFixYear = t8;
157
+ let t9;
158
+ if ($[30] !== fieldProps || $[31] !== props || $[32] !== state) {
159
+ t9 = (e) => {
160
+ fieldProps.onBlur?.(e);
161
+ if (!state.value) return;
162
+ const currentValue = state.value;
163
+ const { year: year_0 } = currentValue;
164
+ if (year_0 >= 0 && year_0 <= 99) {
165
+ const correctedYear = year_0 <= 50 ? 2e3 + year_0 : 1900 + year_0;
166
+ const correctedDate = currentValue.set({ year: correctedYear });
167
+ if (correctedDate) {
168
+ state.setValue(correctedDate);
169
+ props.onChange?.(correctedDate);
170
+ }
171
+ }
172
+ };
173
+ $[30] = fieldProps;
174
+ $[31] = props;
175
+ $[32] = state;
176
+ $[33] = t9;
177
+ } else t9 = $[33];
178
+ const handleBlur = t9;
179
+ let t10;
180
+ if ($[34] !== autoFixYear || $[35] !== state) {
181
+ t10 = () => ({
182
+ clearField: () => {
183
+ state.setValue(null);
184
+ for (const segment_5 of state.segments) if (segment_5.type !== "literal") state.clearSegment(segment_5.type);
185
+ },
186
+ autoFixYear
187
+ });
188
+ $[34] = autoFixYear;
189
+ $[35] = state;
190
+ $[36] = t10;
191
+ } else t10 = $[36];
192
+ useImperativeHandle(ref, t10);
193
+ let t11;
194
+ let t12;
195
+ if ($[37] !== onClearChange || $[38] !== state.segments) {
196
+ t11 = () => {
197
+ onClearChange?.(state.segments.some(_temp6));
198
+ };
199
+ t12 = [state.segments, onClearChange];
200
+ $[37] = onClearChange;
201
+ $[38] = state.segments;
202
+ $[39] = t11;
203
+ $[40] = t12;
204
+ } else {
205
+ t11 = $[39];
206
+ t12 = $[40];
207
+ }
208
+ useEffect(t11, t12);
209
+ let t13;
210
+ if ($[41] !== disableManualEntry || $[42] !== format || $[43] !== state.value || $[44] !== timeZone) {
211
+ const getFormattedDisplayValue = () => {
212
+ if (!disableManualEntry) return null;
213
+ if (!format) return null;
214
+ if (!state.value) return null;
215
+ const jsDate = DateTimeUtils.fromDateValueToLocal(state.value, timeZone);
216
+ const formattedDate = DateTime.fromJSDate(jsDate);
217
+ if (!formattedDate.isValid) return null;
218
+ return formattedDate.toFormat(format);
219
+ };
220
+ t13 = getFormattedDisplayValue();
221
+ $[41] = disableManualEntry;
222
+ $[42] = format;
223
+ $[43] = state.value;
224
+ $[44] = timeZone;
225
+ $[45] = t13;
226
+ } else t13 = $[45];
227
+ const formattedDisplayValue = t13;
228
+ let t14;
229
+ if ($[46] !== hidePlaceholder || $[47] !== isDisabled || $[48] !== segmentsToRender || $[49] !== state) {
230
+ t14 = /* @__PURE__ */ jsx(Fragment, { children: segmentsToRender.map((segment_7, i) => /* @__PURE__ */ jsx(DateSegmentItem, {
231
+ segment: segment_7,
232
+ state,
233
+ isDisabled,
234
+ hidePlaceholder
235
+ }, i)) });
236
+ $[46] = hidePlaceholder;
237
+ $[47] = isDisabled;
238
+ $[48] = segmentsToRender;
239
+ $[49] = state;
240
+ $[50] = t14;
241
+ } else t14 = $[50];
242
+ let fieldContent = t14;
243
+ if (formattedDisplayValue) {
244
+ const t15 = isDisabled && "text-interactive-text-secondary-disabled";
245
+ let t16;
246
+ if ($[51] !== t15) {
247
+ t16 = clsx("select-none", t15);
248
+ $[51] = t15;
249
+ $[52] = t16;
250
+ } else t16 = $[52];
251
+ let t17;
252
+ if ($[53] !== formattedDisplayValue || $[54] !== t16) {
253
+ t17 = /* @__PURE__ */ jsx("span", {
254
+ className: t16,
255
+ children: formattedDisplayValue
256
+ });
257
+ $[53] = formattedDisplayValue;
258
+ $[54] = t16;
259
+ $[55] = t17;
260
+ } else t17 = $[55];
261
+ fieldContent = t17;
262
+ }
263
+ const t15 = disableManualEntry && "pointer-events-none";
264
+ let t16;
265
+ if ($[56] !== t15) {
266
+ t16 = clsx("relative w-full", t15);
267
+ $[56] = t15;
268
+ $[57] = t16;
269
+ } else t16 = $[57];
270
+ let t17;
271
+ if ($[58] !== fieldContent) {
272
+ t17 = /* @__PURE__ */ jsx("div", {
125
273
  className: "flex",
126
274
  children: fieldContent
127
- })
128
- });
275
+ });
276
+ $[58] = fieldContent;
277
+ $[59] = t17;
278
+ } else t17 = $[59];
279
+ let t18;
280
+ if ($[60] !== fieldProps || $[61] !== handleBlur || $[62] !== t16 || $[63] !== t17) {
281
+ t18 = /* @__PURE__ */ jsx("div", {
282
+ ...fieldProps,
283
+ ref: dataFieldRef,
284
+ onBlur: handleBlur,
285
+ className: t16,
286
+ children: t17
287
+ });
288
+ $[60] = fieldProps;
289
+ $[61] = handleBlur;
290
+ $[62] = t16;
291
+ $[63] = t17;
292
+ $[64] = t18;
293
+ } else t18 = $[64];
294
+ return t18;
129
295
  };
296
+ function _temp(segment_0) {
297
+ return segment_0.type === "month";
298
+ }
299
+ function _temp2(segment_1) {
300
+ return segment_1.type === "day";
301
+ }
302
+ function _temp3(segment_2) {
303
+ return segment_2.type === "year";
304
+ }
305
+ function _temp4(segment_3) {
306
+ return segment_3.type === "hour";
307
+ }
308
+ function _temp5(segment_4) {
309
+ return segment_4.type === "minute";
310
+ }
311
+ function _temp6(segment_6) {
312
+ return segment_6.type !== "literal" && segment_6.isPlaceholder === false;
313
+ }
130
314
  //#endregion
131
315
  export { DateField };