@povio/ui 3.2.0 → 3.2.2-rc.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 (33) hide show
  1. package/dist/components/inputs/Checkbox/Checkbox.d.ts +4 -2
  2. package/dist/components/inputs/Checkbox/Checkbox.js +83 -69
  3. package/dist/components/inputs/Checkbox/CheckboxGroup.d.ts +23 -0
  4. package/dist/components/inputs/Checkbox/CheckboxGroup.js +363 -0
  5. package/dist/components/inputs/Checkbox/checkbox.cva.d.ts +62 -0
  6. package/dist/components/inputs/Checkbox/checkbox.cva.js +103 -1
  7. package/dist/components/inputs/DateTime/DatePicker/DatePicker.js +1 -1
  8. package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.js +1 -1
  9. package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.js +1 -1
  10. package/dist/components/inputs/DateTime/TimePicker/TimePicker.js +1 -1
  11. package/dist/components/inputs/DateTime/shared/DateField.d.ts +2 -1
  12. package/dist/components/inputs/DateTime/shared/DateField.js +167 -149
  13. package/dist/components/inputs/DateTime/shared/DatePickerInput.js +136 -132
  14. package/dist/components/inputs/DateTime/shared/TimePickerInput.js +1 -1
  15. package/dist/components/inputs/FormField/FormFieldHeader.js +1 -1
  16. package/dist/components/inputs/Input/NumberInput/NumberInput.js +1 -1
  17. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeField.js +1 -1
  18. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeInput.js +1 -1
  19. package/dist/components/inputs/Input/TextArea/TextArea.js +2 -2
  20. package/dist/components/inputs/Input/TextInput/TextInput.js +1 -1
  21. package/dist/components/inputs/Input/shared/InputContent.js +1 -1
  22. package/dist/components/inputs/Inputs/InputItem.d.ts +1 -0
  23. package/dist/components/inputs/Inputs/InputItem.js +2 -0
  24. package/dist/components/inputs/RadioGroup/RadioGroup.js +1 -1
  25. package/dist/components/inputs/Selection/shared/SelectDesktop.js +1 -1
  26. package/dist/components/inputs/Selection/shared/SelectInput.js +1 -1
  27. package/dist/components/inputs/Skeleton/InputFrame.js +2 -2
  28. package/dist/components/inputs/TextEditor/TextEditor.js +1 -1
  29. package/dist/config/uiOverrides.context.d.ts +3 -0
  30. package/dist/index.d.ts +3 -1
  31. package/dist/index.js +8 -7
  32. package/dist/tw-ui-plugin.js +2 -0
  33. package/package.json +5 -5
@@ -5,22 +5,23 @@ import { Fragment, jsx } from "react/jsx-runtime";
5
5
  import { clsx } from "clsx";
6
6
  import { useEffect, useImperativeHandle, useRef } from "react";
7
7
  import { useDateField, useLocale } from "react-aria";
8
- import { createCalendar } from "@internationalized/date";
8
+ import { CalendarDate, CalendarDateTime, createCalendar } from "@internationalized/date";
9
9
  import { DateTime } from "luxon";
10
10
  import { useDateFieldState } from "react-stately";
11
11
  //#region src/components/inputs/DateTime/shared/DateField.tsx
12
12
  var omitNullValue = ({ value: _value, ...props }) => props;
13
13
  var DateField = (t0) => {
14
- const $ = c(63);
15
- const { ref, onClearChange, hidePlaceholder, isDisabled, disableManualEntry, dateGranularity: t1, isTimeOptional: t2, format, timeZone, segmentGroup, ...props } = t0;
14
+ const $ = c(65);
15
+ const { ref, onClearChange, hidePlaceholder, isDisabled, disableManualEntry, dateGranularity: t1, isTimeOptional: t2, format, timeZone, segmentGroup, shouldAutoFixYear: t3, ...props } = t0;
16
16
  const dateGranularity = t1 === void 0 ? "day" : t1;
17
17
  const isTimeOptional = t2 === void 0 ? false : t2;
18
+ const shouldAutoFixYear = t3 === void 0 ? false : t3;
18
19
  const { locale } = useLocale();
19
20
  const previousValueRef = useRef(props.value);
20
21
  const dateFieldProps = props.value == null ? omitNullValue(props) : props;
21
- let t3;
22
+ let t4;
22
23
  if ($[0] !== dateFieldProps || $[1] !== disableManualEntry || $[2] !== isDisabled || $[3] !== locale) {
23
- t3 = {
24
+ t4 = {
24
25
  ...dateFieldProps,
25
26
  isDisabled,
26
27
  isReadOnly: disableManualEntry,
@@ -31,13 +32,13 @@ var DateField = (t0) => {
31
32
  $[1] = disableManualEntry;
32
33
  $[2] = isDisabled;
33
34
  $[3] = locale;
34
- $[4] = t3;
35
- } else t3 = $[4];
36
- const state = useDateFieldState(t3);
35
+ $[4] = t4;
36
+ } else t4 = $[4];
37
+ const state = useDateFieldState(t4);
37
38
  const dataFieldRef = useRef(null);
38
- let t4;
39
+ let t5;
39
40
  if ($[5] !== dateFieldProps || $[6] !== disableManualEntry || $[7] !== isDisabled) {
40
- t4 = {
41
+ t5 = {
41
42
  ...dateFieldProps,
42
43
  isDisabled,
43
44
  isReadOnly: disableManualEntry
@@ -45,24 +46,24 @@ var DateField = (t0) => {
45
46
  $[5] = dateFieldProps;
46
47
  $[6] = disableManualEntry;
47
48
  $[7] = isDisabled;
48
- $[8] = t4;
49
- } else t4 = $[8];
50
- const { fieldProps } = useDateField(t4, state, dataFieldRef);
51
- let t5;
49
+ $[8] = t5;
50
+ } else t5 = $[8];
51
+ const { fieldProps } = useDateField(t5, state, dataFieldRef);
52
+ let t6;
52
53
  if ($[9] !== dateGranularity) {
53
- t5 = (segmentType) => {
54
+ t6 = (segmentType) => {
54
55
  if (dateGranularity === "day") return true;
55
56
  if (dateGranularity === "month") return segmentType !== "day";
56
57
  if (dateGranularity === "year") return segmentType === "year";
57
58
  return true;
58
59
  };
59
60
  $[9] = dateGranularity;
60
- $[10] = t5;
61
- } else t5 = $[10];
62
- const isSegmentVisible = t5;
63
- let t6;
61
+ $[10] = t6;
62
+ } else t6 = $[10];
63
+ const isSegmentVisible = t6;
64
+ let t7;
64
65
  if ($[11] !== isSegmentVisible || $[12] !== state.segments) {
65
- t6 = () => {
66
+ t7 = () => {
66
67
  const segments = [];
67
68
  for (const segment of state.segments) if (segment.type !== "literal") {
68
69
  if (isSegmentVisible(segment.type)) segments.push(segment);
@@ -71,24 +72,25 @@ var DateField = (t0) => {
71
72
  };
72
73
  $[11] = isSegmentVisible;
73
74
  $[12] = state.segments;
74
- $[13] = t6;
75
- } else t6 = $[13];
76
- const getSegmentsToRender = t6;
77
- let t7;
75
+ $[13] = t7;
76
+ } else t7 = $[13];
77
+ const getSegmentsToRender = t7;
78
+ let t8;
78
79
  if ($[14] !== getSegmentsToRender) {
79
- t7 = getSegmentsToRender();
80
+ t8 = getSegmentsToRender();
80
81
  $[14] = getSegmentsToRender;
81
- $[15] = t7;
82
- } else t7 = $[15];
83
- const segmentsToRender = t7;
84
- let t8;
82
+ $[15] = t8;
83
+ } else t8 = $[15];
84
+ const segmentsToRender = t8;
85
+ const getSegmentNumber = _temp;
86
+ let t9;
85
87
  if ($[16] !== isTimeOptional || $[17] !== props || $[18] !== state) {
86
- t8 = () => {
87
- const monthSegment = state.segments.find(_temp);
88
- const daySegment = state.segments.find(_temp2);
89
- const yearSegment = state.segments.find(_temp3);
90
- const hourSegment = state.segments.find(_temp4);
91
- const minuteSegment = state.segments.find(_temp5);
88
+ t9 = () => {
89
+ const monthSegment = state.segments.find(_temp2);
90
+ const daySegment = state.segments.find(_temp3);
91
+ const yearSegment = state.segments.find(_temp4);
92
+ const hourSegment = state.segments.find(_temp5);
93
+ const minuteSegment = state.segments.find(_temp6);
92
94
  const isMonthFilled = monthSegment && !monthSegment.isPlaceholder;
93
95
  const isDayFilled = daySegment && !daySegment.isPlaceholder;
94
96
  const isYearFilled = yearSegment && !yearSegment.isPlaceholder && yearSegment.text?.length > 0;
@@ -116,19 +118,27 @@ var DateField = (t0) => {
116
118
  let year = (/* @__PURE__ */ new Date()).getFullYear();
117
119
  if (yearSegment?.text?.length && yearSegment?.text?.length === 2) year = parseInt(`20${yearSegment?.text}`);
118
120
  state.setSegment("year", year);
119
- const correctedValue = state.value?.set({ year });
121
+ let correctedValue = null;
122
+ const month = getSegmentNumber(monthSegment);
123
+ const day = getSegmentNumber(daySegment);
124
+ const hasDateSegments = month !== null && day !== null;
125
+ const hasTimeSegment = !!(hourSegment || minuteSegment);
126
+ if (state.value) correctedValue = state.value.set({ year });
127
+ else if (hasDateSegments && hasTimeSegment) correctedValue = new CalendarDateTime(year, month, day, getSegmentNumber(hourSegment) ?? 0, getSegmentNumber(minuteSegment) ?? 0);
128
+ else if (hasDateSegments) correctedValue = new CalendarDate(year, month, day);
120
129
  if (correctedValue) props.onChange?.(correctedValue);
121
130
  }
122
131
  };
123
132
  $[16] = isTimeOptional;
124
133
  $[17] = props;
125
134
  $[18] = state;
126
- $[19] = t8;
127
- } else t8 = $[19];
128
- const autoFixYear = t8;
129
- let t9;
130
- if ($[20] !== fieldProps || $[21] !== props || $[22] !== state) {
131
- t9 = (e) => {
135
+ $[19] = t9;
136
+ } else t9 = $[19];
137
+ const autoFixYear = t9;
138
+ let t10;
139
+ if ($[20] !== autoFixYear || $[21] !== fieldProps || $[22] !== props || $[23] !== shouldAutoFixYear || $[24] !== state) {
140
+ t10 = (e) => {
141
+ if (shouldAutoFixYear) autoFixYear();
132
142
  fieldProps.onBlur?.(e);
133
143
  if (!state.value) return;
134
144
  const currentValue = state.value;
@@ -142,62 +152,64 @@ var DateField = (t0) => {
142
152
  }
143
153
  }
144
154
  };
145
- $[20] = fieldProps;
146
- $[21] = props;
147
- $[22] = state;
148
- $[23] = t9;
149
- } else t9 = $[23];
150
- const handleBlur = t9;
151
- let t10;
152
- if ($[24] !== autoFixYear || $[25] !== state) {
153
- t10 = () => ({
155
+ $[20] = autoFixYear;
156
+ $[21] = fieldProps;
157
+ $[22] = props;
158
+ $[23] = shouldAutoFixYear;
159
+ $[24] = state;
160
+ $[25] = t10;
161
+ } else t10 = $[25];
162
+ const handleBlur = t10;
163
+ let t11;
164
+ if ($[26] !== autoFixYear || $[27] !== state) {
165
+ t11 = () => ({
154
166
  clearField: () => {
155
167
  state.setValue(null);
156
168
  },
157
169
  autoFixYear
158
170
  });
159
- $[24] = autoFixYear;
160
- $[25] = state;
161
- $[26] = t10;
162
- } else t10 = $[26];
163
- useImperativeHandle(ref, t10);
164
- let t11;
165
- if ($[27] !== previousValueRef || $[28] !== props.value || $[29] !== state) {
166
- t11 = () => {
171
+ $[26] = autoFixYear;
172
+ $[27] = state;
173
+ $[28] = t11;
174
+ } else t11 = $[28];
175
+ useImperativeHandle(ref, t11);
176
+ let t12;
177
+ if ($[29] !== previousValueRef || $[30] !== props.value || $[31] !== state) {
178
+ t12 = () => {
167
179
  if (previousValueRef.current != null && props.value == null && state.value !== null) state.setValue(null);
168
180
  previousValueRef.current = props.value;
169
181
  };
170
- $[27] = previousValueRef;
171
- $[28] = props.value;
172
- $[29] = state;
173
- $[30] = t11;
174
- } else t11 = $[30];
175
- let t12;
176
- if ($[31] !== props.value || $[32] !== state) {
177
- t12 = [props.value, state];
178
- $[31] = props.value;
179
- $[32] = state;
180
- $[33] = t12;
181
- } else t12 = $[33];
182
- useEffect(t11, t12);
182
+ $[29] = previousValueRef;
183
+ $[30] = props.value;
184
+ $[31] = state;
185
+ $[32] = t12;
186
+ } else t12 = $[32];
183
187
  let t13;
188
+ if ($[33] !== props.value || $[34] !== state) {
189
+ t13 = [props.value, state];
190
+ $[33] = props.value;
191
+ $[34] = state;
192
+ $[35] = t13;
193
+ } else t13 = $[35];
194
+ useEffect(t12, t13);
184
195
  let t14;
185
- if ($[34] !== onClearChange || $[35] !== state.segments) {
186
- t13 = () => {
187
- onClearChange?.(state.segments.some(_temp6));
196
+ let t15;
197
+ if ($[36] !== onClearChange || $[37] !== state.segments) {
198
+ t14 = () => {
199
+ onClearChange?.(state.segments.some(_temp7));
188
200
  };
189
- t14 = [state.segments, onClearChange];
190
- $[34] = onClearChange;
191
- $[35] = state.segments;
192
- $[36] = t13;
193
- $[37] = t14;
201
+ t15 = [state.segments, onClearChange];
202
+ $[36] = onClearChange;
203
+ $[37] = state.segments;
204
+ $[38] = t14;
205
+ $[39] = t15;
194
206
  } else {
195
- t13 = $[36];
196
- t14 = $[37];
207
+ t14 = $[38];
208
+ t15 = $[39];
197
209
  }
198
- useEffect(t13, t14);
199
- let t15;
200
- if ($[38] !== disableManualEntry || $[39] !== format || $[40] !== state.value || $[41] !== timeZone) {
210
+ useEffect(t14, t15);
211
+ let t16;
212
+ if ($[40] !== disableManualEntry || $[41] !== format || $[42] !== state.value || $[43] !== timeZone) {
201
213
  const getFormattedDisplayValue = () => {
202
214
  if (!disableManualEntry) return null;
203
215
  if (!format) return null;
@@ -207,101 +219,107 @@ var DateField = (t0) => {
207
219
  if (!formattedDate.isValid) return null;
208
220
  return formattedDate.toFormat(format);
209
221
  };
210
- t15 = getFormattedDisplayValue();
211
- $[38] = disableManualEntry;
212
- $[39] = format;
213
- $[40] = state.value;
214
- $[41] = timeZone;
215
- $[42] = t15;
216
- } else t15 = $[42];
217
- const formattedDisplayValue = t15;
218
- let t16;
219
- if ($[43] !== hidePlaceholder || $[44] !== isDisabled || $[45] !== segmentGroup || $[46] !== segmentsToRender || $[47] !== state) {
220
- t16 = /* @__PURE__ */ jsx(Fragment, { children: segmentsToRender.map((segment_6, i) => /* @__PURE__ */ jsx(DateSegmentItem, {
221
- segment: segment_6,
222
+ t16 = getFormattedDisplayValue();
223
+ $[40] = disableManualEntry;
224
+ $[41] = format;
225
+ $[42] = state.value;
226
+ $[43] = timeZone;
227
+ $[44] = t16;
228
+ } else t16 = $[44];
229
+ const formattedDisplayValue = t16;
230
+ let t17;
231
+ if ($[45] !== hidePlaceholder || $[46] !== isDisabled || $[47] !== segmentGroup || $[48] !== segmentsToRender || $[49] !== state) {
232
+ t17 = /* @__PURE__ */ jsx(Fragment, { children: segmentsToRender.map((segment_7, i) => /* @__PURE__ */ jsx(DateSegmentItem, {
233
+ segment: segment_7,
222
234
  segmentGroup,
223
235
  state,
224
236
  isDisabled,
225
237
  hidePlaceholder
226
238
  }, i)) });
227
- $[43] = hidePlaceholder;
228
- $[44] = isDisabled;
229
- $[45] = segmentGroup;
230
- $[46] = segmentsToRender;
231
- $[47] = state;
232
- $[48] = t16;
233
- } else t16 = $[48];
234
- let fieldContent = t16;
239
+ $[45] = hidePlaceholder;
240
+ $[46] = isDisabled;
241
+ $[47] = segmentGroup;
242
+ $[48] = segmentsToRender;
243
+ $[49] = state;
244
+ $[50] = t17;
245
+ } else t17 = $[50];
246
+ let fieldContent = t17;
235
247
  if (formattedDisplayValue) {
236
- const t17 = isDisabled && "text-interactive-text-secondary-disabled";
237
- let t18;
238
- if ($[49] !== t17) {
239
- t18 = clsx("select-none", t17);
240
- $[49] = t17;
241
- $[50] = t18;
242
- } else t18 = $[50];
248
+ const t18 = isDisabled && "text-interactive-text-secondary-disabled";
243
249
  let t19;
244
- if ($[51] !== formattedDisplayValue || $[52] !== t18) {
245
- t19 = /* @__PURE__ */ jsx("span", {
246
- className: t18,
250
+ if ($[51] !== t18) {
251
+ t19 = clsx("select-none", t18);
252
+ $[51] = t18;
253
+ $[52] = t19;
254
+ } else t19 = $[52];
255
+ let t20;
256
+ if ($[53] !== formattedDisplayValue || $[54] !== t19) {
257
+ t20 = /* @__PURE__ */ jsx("span", {
258
+ className: t19,
247
259
  children: formattedDisplayValue
248
260
  });
249
- $[51] = formattedDisplayValue;
250
- $[52] = t18;
251
- $[53] = t19;
252
- } else t19 = $[53];
253
- fieldContent = t19;
261
+ $[53] = formattedDisplayValue;
262
+ $[54] = t19;
263
+ $[55] = t20;
264
+ } else t20 = $[55];
265
+ fieldContent = t20;
254
266
  }
255
- const t17 = disableManualEntry && "pointer-events-none";
256
- let t18;
257
- if ($[54] !== t17) {
258
- t18 = clsx("relative w-full", t17);
259
- $[54] = t17;
260
- $[55] = t18;
261
- } else t18 = $[55];
267
+ const t18 = disableManualEntry && "pointer-events-none";
262
268
  let t19;
263
- if ($[56] !== fieldContent) {
264
- t19 = /* @__PURE__ */ jsx("div", {
265
- className: "flex",
266
- children: fieldContent
267
- });
268
- $[56] = fieldContent;
269
+ if ($[56] !== t18) {
270
+ t19 = clsx("relative w-full", t18);
271
+ $[56] = t18;
269
272
  $[57] = t19;
270
273
  } else t19 = $[57];
271
274
  let t20;
272
- if ($[58] !== fieldProps || $[59] !== handleBlur || $[60] !== t18 || $[61] !== t19) {
275
+ if ($[58] !== fieldContent) {
273
276
  t20 = /* @__PURE__ */ jsx("div", {
277
+ className: "flex",
278
+ children: fieldContent
279
+ });
280
+ $[58] = fieldContent;
281
+ $[59] = t20;
282
+ } else t20 = $[59];
283
+ let t21;
284
+ if ($[60] !== fieldProps || $[61] !== handleBlur || $[62] !== t19 || $[63] !== t20) {
285
+ t21 = /* @__PURE__ */ jsx("div", {
274
286
  ...fieldProps,
275
287
  ref: dataFieldRef,
276
288
  onBlur: handleBlur,
277
- className: t18,
278
- children: t19
289
+ className: t19,
290
+ children: t20
279
291
  });
280
- $[58] = fieldProps;
281
- $[59] = handleBlur;
282
- $[60] = t18;
283
- $[61] = t19;
284
- $[62] = t20;
285
- } else t20 = $[62];
286
- return t20;
292
+ $[60] = fieldProps;
293
+ $[61] = handleBlur;
294
+ $[62] = t19;
295
+ $[63] = t20;
296
+ $[64] = t21;
297
+ } else t21 = $[64];
298
+ return t21;
287
299
  };
288
300
  function _temp(segment_0) {
289
- return segment_0.type === "month";
301
+ if (!segment_0) return null;
302
+ if (typeof segment_0.value === "number" && !Number.isNaN(segment_0.value)) return segment_0.value;
303
+ const parsedValue = parseInt(segment_0.text ?? "");
304
+ return Number.isNaN(parsedValue) ? null : parsedValue;
290
305
  }
291
306
  function _temp2(segment_1) {
292
- return segment_1.type === "day";
307
+ return segment_1.type === "month";
293
308
  }
294
309
  function _temp3(segment_2) {
295
- return segment_2.type === "year";
310
+ return segment_2.type === "day";
296
311
  }
297
312
  function _temp4(segment_3) {
298
- return segment_3.type === "hour";
313
+ return segment_3.type === "year";
299
314
  }
300
315
  function _temp5(segment_4) {
301
- return segment_4.type === "minute";
316
+ return segment_4.type === "hour";
302
317
  }
303
318
  function _temp6(segment_5) {
304
- return segment_5.type !== "literal" && segment_5.isPlaceholder === false;
319
+ return segment_5.type === "minute";
320
+ }
321
+ function _temp7(segment_6) {
322
+ return segment_6.type !== "literal" && segment_6.isPlaceholder === false;
305
323
  }
306
324
  //#endregion
307
325
  export { DateField };