@povio/ui 3.3.0 → 3.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 (98) hide show
  1. package/README.md +1 -1
  2. package/dist/browser-tests/checkbox/CheckboxGroupHarness.d.ts +10 -0
  3. package/dist/browser-tests/checkbox/CheckboxHarness.d.ts +10 -0
  4. package/dist/browser-tests/checkbox/checkbox-group.spec.d.ts +1 -0
  5. package/dist/browser-tests/checkbox/checkbox.spec.d.ts +1 -0
  6. package/dist/browser-tests/datetime-picker/DateTimeHarnesses.d.ts +43 -0
  7. package/dist/browser-tests/datetime-picker/assertions.d.ts +9 -0
  8. package/dist/browser-tests/datetime-picker/date-input-focus.firefox.spec.d.ts +1 -0
  9. package/dist/browser-tests/datetime-picker/date-picker.spec.d.ts +1 -0
  10. package/dist/browser-tests/datetime-picker/date-range-picker.spec.d.ts +1 -0
  11. package/dist/browser-tests/datetime-picker/date-time-picker.spec.d.ts +1 -0
  12. package/dist/browser-tests/datetime-picker/time-picker.spec.d.ts +1 -0
  13. package/dist/browser-tests/file-upload/FileUploadHarness.d.ts +4 -0
  14. package/dist/browser-tests/file-upload/file-upload.spec.d.ts +1 -0
  15. package/dist/browser-tests/file-upload-container/FileUploadContainerHarness.d.ts +4 -0
  16. package/dist/browser-tests/file-upload-container/file-upload-container.spec.d.ts +1 -0
  17. package/dist/browser-tests/input-upload/InputUploadHarness.d.ts +9 -0
  18. package/dist/browser-tests/input-upload/input-upload.spec.d.ts +1 -0
  19. package/dist/browser-tests/modal/ModalHarness.d.ts +5 -0
  20. package/dist/browser-tests/modal/modal.spec.d.ts +1 -0
  21. package/dist/browser-tests/number-input/NumberInputHarness.d.ts +10 -0
  22. package/dist/browser-tests/number-input/number-input.spec.d.ts +1 -0
  23. package/dist/browser-tests/number-range-input/NumberRangeInputHarness.d.ts +10 -0
  24. package/dist/browser-tests/number-range-input/number-range-input.spec.d.ts +1 -0
  25. package/dist/browser-tests/password-input/PasswordInputHarness.d.ts +6 -0
  26. package/dist/browser-tests/password-input/password-input.spec.d.ts +1 -0
  27. package/dist/browser-tests/radio-group/RadioGroupHarness.d.ts +15 -0
  28. package/dist/browser-tests/radio-group/radio-group.spec.d.ts +1 -0
  29. package/dist/browser-tests/selection/SelectionHarnesses.d.ts +61 -0
  30. package/dist/browser-tests/selection/autocomplete.spec.d.ts +1 -0
  31. package/dist/browser-tests/selection/interactions.d.ts +2 -0
  32. package/dist/browser-tests/selection/query-autocomplete.spec.d.ts +1 -0
  33. package/dist/browser-tests/selection/query-select.spec.d.ts +1 -0
  34. package/dist/browser-tests/selection/select.spec.d.ts +1 -0
  35. package/dist/browser-tests/slider/SliderHarness.d.ts +11 -0
  36. package/dist/browser-tests/slider/slider.spec.d.ts +1 -0
  37. package/dist/browser-tests/text-area/TextAreaHarness.d.ts +10 -0
  38. package/dist/browser-tests/text-area/text-area.spec.d.ts +1 -0
  39. package/dist/browser-tests/text-input/TextInputHarness.d.ts +10 -0
  40. package/dist/browser-tests/text-input/text-input.spec.d.ts +1 -0
  41. package/dist/browser-tests/toggle/ToggleHarness.d.ts +10 -0
  42. package/dist/browser-tests/toggle/toggle.spec.d.ts +1 -0
  43. package/dist/browser-tests/utils/blur.d.ts +22 -0
  44. package/dist/browser-tests/utils/events.d.ts +4 -0
  45. package/dist/browser-tests/utils/input.d.ts +10 -0
  46. package/dist/components/Breadcrumbs/Breadcrumbs.js +206 -55
  47. package/dist/components/buttons/Button/button.cva.d.ts +1 -1
  48. package/dist/components/buttons/Button/button.cva.js +4 -4
  49. package/dist/components/buttons/InlineIconButton/InlineIconButton.js +34 -9
  50. package/dist/components/buttons/PillButton/pillButton.cva.js +4 -4
  51. package/dist/components/buttons/shared/ButtonContent.js +80 -22
  52. package/dist/components/inputs/Checkbox/CheckboxCheckmark.js +24 -10
  53. package/dist/components/inputs/DateTime/DatePicker/DatePicker.js +222 -74
  54. package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.js +182 -56
  55. package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.js +128 -41
  56. package/dist/components/inputs/DateTime/shared/Calendar.js +339 -139
  57. package/dist/components/inputs/DateTime/shared/CalendarCell.js +308 -114
  58. package/dist/components/inputs/DateTime/shared/CalendarGrid.js +150 -35
  59. package/dist/components/inputs/DateTime/shared/CalendarHeader.js +229 -95
  60. package/dist/components/inputs/DateTime/shared/CalendarSelectHeader.js +296 -115
  61. package/dist/components/inputs/DateTime/shared/DateField.js +306 -135
  62. package/dist/components/inputs/DateTime/shared/DatePickerInput.js +338 -140
  63. package/dist/components/inputs/DateTime/shared/DateTimeDialogFooter.js +59 -10
  64. package/dist/components/inputs/File/FileUpload.js +1 -1
  65. package/dist/components/inputs/File/InputUpload.js +261 -65
  66. package/dist/components/inputs/File/shared/FileUploadContentEmpty.js +180 -48
  67. package/dist/components/inputs/File/shared/FileUploadContentError.js +265 -95
  68. package/dist/components/inputs/File/shared/FileUploadContentFilled.js +261 -99
  69. package/dist/components/inputs/File/shared/FileUploadContentLoading.js +234 -56
  70. package/dist/components/inputs/File/shared/ProgressBar.js +102 -15
  71. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeInput.js +313 -75
  72. package/dist/components/inputs/Selection/Autocomplete/Autocomplete.js +83 -23
  73. package/dist/components/inputs/Selection/Select/QuerySelect.js +96 -30
  74. package/dist/components/inputs/Selection/shared/SelectListBox.js +163 -51
  75. package/dist/components/inputs/Selection/shared/useSelectItems.js +108 -48
  76. package/dist/components/inputs/Skeleton/InputFrame.js +550 -177
  77. package/dist/components/inputs/TextEditor/TextEditor.js +389 -87
  78. package/dist/components/navigation/Accordion/Accordion.js +69 -22
  79. package/dist/components/navigation/Accordion/AccordionItem.js +86 -41
  80. package/dist/components/navigation/Stepper/Stepper.js +67 -22
  81. package/dist/components/overlays/ActionModal/ActionModal.js +169 -35
  82. package/dist/components/overlays/BottomSheet/BottomSheet.js +1 -1
  83. package/dist/components/overlays/Modal/Modal.d.ts +3 -2
  84. package/dist/components/overlays/Modal/Modal.js +3 -1
  85. package/dist/components/overlays/ResponsivePopover/ResponsivePopover.js +110 -29
  86. package/dist/components/shared/pagination/Pagination.js +108 -22
  87. package/dist/components/shared/pagination/minWidth.cva.d.ts +1 -1
  88. package/dist/components/status/Alert/Alert.js +97 -30
  89. package/dist/components/table/InfiniteTable.js +67 -16
  90. package/dist/components/text/Typography/Typography.js +23 -8
  91. package/dist/config/confirmation.context.js +1 -1
  92. package/dist/config/theme.context.js +98 -45
  93. package/dist/config/uiConfig.context.js +39 -8
  94. package/dist/hooks/useDebounceCallback.js +51 -17
  95. package/dist/hooks/useFormAutosave.js +120 -33
  96. package/dist/hooks/useLongPressRepeat.js +55 -20
  97. package/dist/vitest.setup.browser.d.ts +6 -0
  98. package/package.json +1 -1
@@ -8,11 +8,13 @@ import { FormField } from "../FormField/FormField.js";
8
8
  import { inputBaseDefinition, inputContentWrapperDefinition, inputSizeDefinition } from "../shared/input.cva.js";
9
9
  import { InputClear } from "../shared/InputClear.js";
10
10
  import { TooltipWrapper } from "../shared/TooltipWrapper.js";
11
+ import { c } from "react/compiler-runtime";
11
12
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
13
  import { clsx } from "clsx";
13
14
  import { isValidElement, useId, useRef } from "react";
14
15
  //#region src/components/inputs/Skeleton/InputFrame.tsx
15
16
  var InputFrame = (props) => {
17
+ const $ = c(202);
16
18
  const ui = UIConfig.useConfig();
17
19
  const inputBaseCva = UIOverrides.useCva("input.baseCva", inputBaseDefinition);
18
20
  const inputSizeCva = UIOverrides.useCva("input.sizeCva", inputSizeDefinition);
@@ -20,200 +22,568 @@ var InputFrame = (props) => {
20
22
  const typographyCva = UIOverrides.useCva("typography.cva", typographyDefinition);
21
23
  const generatedInputId = useId();
22
24
  const pendingStaticPressPointerIdRef = useRef(null);
23
- const { ref, children, formFieldRef, labelProps: labelPropsProp, headerProps, error, label, tooltipText, helperText, isRequired, rightContent, isDisabled, isHeaderHidden, hideLabel: hideLabelProp, headerClassName, errorClassName, className, leadingContent, leadingIcon, actionContent, actionContentPlacement = "content-wrapper", trailingContent, trailingIcon, trailingAction, unit, isLoading, action, isClearable: isClearableProp, showClear, onStaticInteract, onStaticPress, staticPressTarget = "frame", clearClassName, onClear, dataAttributes, typographySize, id: idProp, inputClassName, contentClassName, contentWrapperClassName, contentGroup = "input", contentAndTrailingClassName, wrapContentAndTrailing, wrapTrailingContent = true, reserveTrailingContent, labelPlacement = "content-wrapper", trailingClassName, onMouseEnter, onFocusCapture, variant: variantProp, as: asProp, size: sizeProp } = props;
25
+ const { ref, children, formFieldRef, labelProps: labelPropsProp, headerProps, error, label, tooltipText, helperText, isRequired, rightContent, isDisabled, isHeaderHidden, hideLabel: hideLabelProp, headerClassName, errorClassName, className, leadingContent, leadingIcon, actionContent, actionContentPlacement: t0, trailingContent, trailingIcon, trailingAction, unit, isLoading, action, isClearable: isClearableProp, showClear, onStaticInteract, onStaticPress, staticPressTarget: t1, clearClassName, onClear, dataAttributes, typographySize, id: idProp, inputClassName, contentClassName, contentWrapperClassName, contentGroup: t2, contentAndTrailingClassName, wrapContentAndTrailing, wrapTrailingContent: t3, reserveTrailingContent, labelPlacement: t4, trailingClassName, onMouseEnter, onFocusCapture, variant: variantProp, as: asProp, size: sizeProp } = props;
26
+ const actionContentPlacement = t0 === void 0 ? "content-wrapper" : t0;
27
+ const staticPressTarget = t1 === void 0 ? "frame" : t1;
28
+ const contentGroup = t2 === void 0 ? "input" : t2;
29
+ const wrapTrailingContent = t3 === void 0 ? true : t3;
30
+ const labelPlacement = t4 === void 0 ? "content-wrapper" : t4;
24
31
  const as = asProp ?? ui.input.as;
25
32
  const size = sizeProp ?? ui.input.size;
26
33
  const variant = variantProp ?? ui.input.variant;
27
34
  const hideLabel = hideLabelProp ?? ui.input.hideLabel;
28
35
  const hasClear = !!(isClearableProp ?? ui.input.isClearable);
29
- const isLeadingIconElement = leadingIcon && isValidElement(leadingIcon);
30
- const isTrailingIconElement = trailingIcon && isValidElement(trailingIcon);
36
+ let t5;
37
+ if ($[0] !== leadingIcon) {
38
+ t5 = leadingIcon && isValidElement(leadingIcon);
39
+ $[0] = leadingIcon;
40
+ $[1] = t5;
41
+ } else t5 = $[1];
42
+ const isLeadingIconElement = t5;
43
+ let t6;
44
+ if ($[2] !== trailingIcon) {
45
+ t6 = trailingIcon && isValidElement(trailingIcon);
46
+ $[2] = trailingIcon;
47
+ $[3] = t6;
48
+ } else t6 = $[3];
49
+ const isTrailingIconElement = t6;
31
50
  const hasTrailingContent = reserveTrailingContent || hasClear || !!trailingContent || !!unit || !!isLoading || !!action || !!trailingIcon || !!trailingAction;
32
51
  const isTrailingInteractive = !!action || !!trailingAction || !!isTrailingIconElement || hasClear && !!showClear || !!trailingContent;
33
- const dataAttributeProps = getInputFrameDataAttributeProps(dataAttributes);
34
- const baseLabelProps = headerProps?.labelProps ?? labelPropsProp;
35
- const inputId = idProp ?? baseLabelProps?.htmlFor ?? `input-frame_${generatedInputId}`;
36
- const labelProps = {
37
- ...baseLabelProps,
38
- htmlFor: inputId
39
- };
40
- const formFieldProps = {
41
- error,
42
- label: label ?? "",
43
- tooltipText,
44
- helperText,
45
- isRequired,
46
- rightContent,
47
- isHeaderHidden: isHeaderHidden || as === "inline" || as === "filter" || as === "floating",
48
- hideLabel,
49
- isDisabled,
50
- headerClassName,
51
- errorClassName,
52
- className
53
- };
54
- const resolvedHeaderProps = headerProps ? {
55
- ...headerProps,
56
- labelProps
57
- } : {
58
- label: label ?? "",
59
- tooltipText,
60
- helperText,
61
- isRequired,
62
- rightContent,
63
- isHeaderHidden: hideLabel || isHeaderHidden,
64
- isDisabled,
65
- className: headerClassName,
66
- labelProps
67
- };
68
- const labelContent = as && ["filter", "floating"].includes(as) ? /* @__PURE__ */ jsx(FormFieldLabel, {
69
- as,
70
- size,
71
- ...resolvedHeaderProps
72
- }) : null;
73
- const resolvedContentWrapperClassName = contentWrapperClassName ?? inputContentWrapperCva({ as });
74
- const isInputContentGroup = contentGroup === "input";
75
- const contentRow = /* @__PURE__ */ jsxs("div", {
76
- ...dataAttributeProps,
77
- className: clsx(isInputContentGroup && inputFrameContentGroupClassNames.input, "group/input-frame flex min-w-0 w-full items-center gap-input-gap-input-text-to-elements", inputSizeCva({
78
- size,
79
- as
80
- }), typographySize && typographyCva({ size: typographySize }), contentClassName),
81
- children: [
82
- leadingContent,
83
- leadingIcon && /* @__PURE__ */ jsx("div", {
52
+ let dataAttributeProps;
53
+ let formFieldProps;
54
+ let isInputContentGroup;
55
+ let labelProps;
56
+ let t10;
57
+ let t11;
58
+ let t12;
59
+ let t13;
60
+ let t14;
61
+ let t15;
62
+ let t16;
63
+ let t7;
64
+ let t8;
65
+ let t9;
66
+ if ($[4] !== actionContent || $[5] !== actionContentPlacement || $[6] !== as || $[7] !== children || $[8] !== className || $[9] !== contentClassName || $[10] !== contentGroup || $[11] !== contentWrapperClassName || $[12] !== dataAttributes || $[13] !== error || $[14] !== errorClassName || $[15] !== generatedInputId || $[16] !== headerClassName || $[17] !== headerProps || $[18] !== helperText || $[19] !== hideLabel || $[20] !== idProp || $[21] !== inputContentWrapperCva || $[22] !== inputSizeCva || $[23] !== isDisabled || $[24] !== isHeaderHidden || $[25] !== isLeadingIconElement || $[26] !== isRequired || $[27] !== label || $[28] !== labelPlacement || $[29] !== labelPropsProp || $[30] !== leadingContent || $[31] !== leadingIcon || $[32] !== rightContent || $[33] !== size || $[34] !== tooltipText || $[35] !== typographyCva || $[36] !== typographySize) {
67
+ dataAttributeProps = getInputFrameDataAttributeProps(dataAttributes);
68
+ const baseLabelProps = headerProps?.labelProps ?? labelPropsProp;
69
+ const inputId = idProp ?? baseLabelProps?.htmlFor ?? `input-frame_${generatedInputId}`;
70
+ let t17;
71
+ if ($[51] !== baseLabelProps || $[52] !== inputId) {
72
+ t17 = {
73
+ ...baseLabelProps,
74
+ htmlFor: inputId
75
+ };
76
+ $[51] = baseLabelProps;
77
+ $[52] = inputId;
78
+ $[53] = t17;
79
+ } else t17 = $[53];
80
+ labelProps = t17;
81
+ const t18 = label ?? "";
82
+ const t19 = isHeaderHidden || as === "inline" || as === "filter" || as === "floating";
83
+ let t20;
84
+ if ($[54] !== className || $[55] !== error || $[56] !== errorClassName || $[57] !== headerClassName || $[58] !== helperText || $[59] !== hideLabel || $[60] !== isDisabled || $[61] !== isRequired || $[62] !== rightContent || $[63] !== t18 || $[64] !== t19 || $[65] !== tooltipText) {
85
+ t20 = {
86
+ error,
87
+ label: t18,
88
+ tooltipText,
89
+ helperText,
90
+ isRequired,
91
+ rightContent,
92
+ isHeaderHidden: t19,
93
+ hideLabel,
94
+ isDisabled,
95
+ headerClassName,
96
+ errorClassName,
97
+ className
98
+ };
99
+ $[54] = className;
100
+ $[55] = error;
101
+ $[56] = errorClassName;
102
+ $[57] = headerClassName;
103
+ $[58] = helperText;
104
+ $[59] = hideLabel;
105
+ $[60] = isDisabled;
106
+ $[61] = isRequired;
107
+ $[62] = rightContent;
108
+ $[63] = t18;
109
+ $[64] = t19;
110
+ $[65] = tooltipText;
111
+ $[66] = t20;
112
+ } else t20 = $[66];
113
+ formFieldProps = t20;
114
+ let t21;
115
+ if ($[67] !== headerClassName || $[68] !== headerProps || $[69] !== helperText || $[70] !== hideLabel || $[71] !== isDisabled || $[72] !== isHeaderHidden || $[73] !== isRequired || $[74] !== label || $[75] !== labelProps || $[76] !== rightContent || $[77] !== tooltipText) {
116
+ t21 = headerProps ? {
117
+ ...headerProps,
118
+ labelProps
119
+ } : {
120
+ label: label ?? "",
121
+ tooltipText,
122
+ helperText,
123
+ isRequired,
124
+ rightContent,
125
+ isHeaderHidden: hideLabel || isHeaderHidden,
126
+ isDisabled,
127
+ className: headerClassName,
128
+ labelProps
129
+ };
130
+ $[67] = headerClassName;
131
+ $[68] = headerProps;
132
+ $[69] = helperText;
133
+ $[70] = hideLabel;
134
+ $[71] = isDisabled;
135
+ $[72] = isHeaderHidden;
136
+ $[73] = isRequired;
137
+ $[74] = label;
138
+ $[75] = labelProps;
139
+ $[76] = rightContent;
140
+ $[77] = tooltipText;
141
+ $[78] = t21;
142
+ } else t21 = $[78];
143
+ const resolvedHeaderProps = t21;
144
+ let t22;
145
+ if ($[79] !== as) {
146
+ t22 = as && ["filter", "floating"].includes(as);
147
+ $[79] = as;
148
+ $[80] = t22;
149
+ } else t22 = $[80];
150
+ const shouldRenderLabel = t22;
151
+ let t23;
152
+ if ($[81] !== as || $[82] !== resolvedHeaderProps || $[83] !== shouldRenderLabel || $[84] !== size) {
153
+ t23 = shouldRenderLabel ? /* @__PURE__ */ jsx(FormFieldLabel, {
154
+ as,
155
+ size,
156
+ ...resolvedHeaderProps
157
+ }) : null;
158
+ $[81] = as;
159
+ $[82] = resolvedHeaderProps;
160
+ $[83] = shouldRenderLabel;
161
+ $[84] = size;
162
+ $[85] = t23;
163
+ } else t23 = $[85];
164
+ const labelContent = t23;
165
+ let t24;
166
+ if ($[86] !== as || $[87] !== contentWrapperClassName || $[88] !== inputContentWrapperCva) {
167
+ t24 = contentWrapperClassName ?? inputContentWrapperCva({ as });
168
+ $[86] = as;
169
+ $[87] = contentWrapperClassName;
170
+ $[88] = inputContentWrapperCva;
171
+ $[89] = t24;
172
+ } else t24 = $[89];
173
+ const resolvedContentWrapperClassName = t24;
174
+ isInputContentGroup = contentGroup === "input";
175
+ t11 = dataAttributeProps;
176
+ const t25 = isInputContentGroup && inputFrameContentGroupClassNames.input;
177
+ if ($[90] !== as || $[91] !== contentClassName || $[92] !== inputSizeCva || $[93] !== size || $[94] !== t25 || $[95] !== typographyCva || $[96] !== typographySize) {
178
+ let t26;
179
+ if ($[98] !== typographyCva || $[99] !== typographySize) {
180
+ t26 = typographySize && typographyCva({ size: typographySize });
181
+ $[98] = typographyCva;
182
+ $[99] = typographySize;
183
+ $[100] = t26;
184
+ } else t26 = $[100];
185
+ t12 = clsx(t25, "group/input-frame flex min-w-0 w-full items-center gap-input-gap-input-text-to-elements", inputSizeCva({
186
+ size,
187
+ as
188
+ }), t26, contentClassName);
189
+ $[90] = as;
190
+ $[91] = contentClassName;
191
+ $[92] = inputSizeCva;
192
+ $[93] = size;
193
+ $[94] = t25;
194
+ $[95] = typographyCva;
195
+ $[96] = typographySize;
196
+ $[97] = t12;
197
+ } else t12 = $[97];
198
+ t13 = leadingContent;
199
+ if ($[101] !== isLeadingIconElement || $[102] !== leadingIcon) {
200
+ t14 = leadingIcon && /* @__PURE__ */ jsx("div", {
84
201
  className: clsx(!isLeadingIconElement && "pointer-events-none"),
85
202
  children: renderIconVisual(leadingIcon)
203
+ });
204
+ $[101] = isLeadingIconElement;
205
+ $[102] = leadingIcon;
206
+ $[103] = t14;
207
+ } else t14 = $[103];
208
+ t15 = labelPlacement === "content-row" && labelContent;
209
+ t16 = actionContentPlacement === "content-row" && actionContent;
210
+ t7 = resolvedContentWrapperClassName;
211
+ t8 = labelPlacement === "content-wrapper" && labelContent;
212
+ t9 = actionContentPlacement === "content-wrapper" && actionContent;
213
+ t10 = typeof children === "function" ? children({
214
+ ...dataAttributeProps,
215
+ id: inputId
216
+ }) : children;
217
+ $[4] = actionContent;
218
+ $[5] = actionContentPlacement;
219
+ $[6] = as;
220
+ $[7] = children;
221
+ $[8] = className;
222
+ $[9] = contentClassName;
223
+ $[10] = contentGroup;
224
+ $[11] = contentWrapperClassName;
225
+ $[12] = dataAttributes;
226
+ $[13] = error;
227
+ $[14] = errorClassName;
228
+ $[15] = generatedInputId;
229
+ $[16] = headerClassName;
230
+ $[17] = headerProps;
231
+ $[18] = helperText;
232
+ $[19] = hideLabel;
233
+ $[20] = idProp;
234
+ $[21] = inputContentWrapperCva;
235
+ $[22] = inputSizeCva;
236
+ $[23] = isDisabled;
237
+ $[24] = isHeaderHidden;
238
+ $[25] = isLeadingIconElement;
239
+ $[26] = isRequired;
240
+ $[27] = label;
241
+ $[28] = labelPlacement;
242
+ $[29] = labelPropsProp;
243
+ $[30] = leadingContent;
244
+ $[31] = leadingIcon;
245
+ $[32] = rightContent;
246
+ $[33] = size;
247
+ $[34] = tooltipText;
248
+ $[35] = typographyCva;
249
+ $[36] = typographySize;
250
+ $[37] = dataAttributeProps;
251
+ $[38] = formFieldProps;
252
+ $[39] = isInputContentGroup;
253
+ $[40] = labelProps;
254
+ $[41] = t10;
255
+ $[42] = t11;
256
+ $[43] = t12;
257
+ $[44] = t13;
258
+ $[45] = t14;
259
+ $[46] = t15;
260
+ $[47] = t16;
261
+ $[48] = t7;
262
+ $[49] = t8;
263
+ $[50] = t9;
264
+ } else {
265
+ dataAttributeProps = $[37];
266
+ formFieldProps = $[38];
267
+ isInputContentGroup = $[39];
268
+ labelProps = $[40];
269
+ t10 = $[41];
270
+ t11 = $[42];
271
+ t12 = $[43];
272
+ t13 = $[44];
273
+ t14 = $[45];
274
+ t15 = $[46];
275
+ t16 = $[47];
276
+ t7 = $[48];
277
+ t8 = $[49];
278
+ t9 = $[50];
279
+ }
280
+ let t17;
281
+ if ($[104] !== t10 || $[105] !== t7 || $[106] !== t8 || $[107] !== t9) {
282
+ t17 = /* @__PURE__ */ jsxs("div", {
283
+ className: t7,
284
+ children: [
285
+ t8,
286
+ t9,
287
+ t10
288
+ ]
289
+ });
290
+ $[104] = t10;
291
+ $[105] = t7;
292
+ $[106] = t8;
293
+ $[107] = t9;
294
+ $[108] = t17;
295
+ } else t17 = $[108];
296
+ let t18;
297
+ if ($[109] !== t11 || $[110] !== t12 || $[111] !== t13 || $[112] !== t14 || $[113] !== t15 || $[114] !== t16 || $[115] !== t17) {
298
+ t18 = /* @__PURE__ */ jsxs("div", {
299
+ ...t11,
300
+ className: t12,
301
+ children: [
302
+ t13,
303
+ t14,
304
+ t15,
305
+ t16,
306
+ t17
307
+ ]
308
+ });
309
+ $[109] = t11;
310
+ $[110] = t12;
311
+ $[111] = t13;
312
+ $[112] = t14;
313
+ $[113] = t15;
314
+ $[114] = t16;
315
+ $[115] = t17;
316
+ $[116] = t18;
317
+ } else t18 = $[116];
318
+ const contentRow = t18;
319
+ let t19;
320
+ if ($[117] !== action || $[118] !== clearClassName || $[119] !== hasClear || $[120] !== hasTrailingContent || $[121] !== isDisabled || $[122] !== isLoading || $[123] !== onClear || $[124] !== onStaticPress || $[125] !== showClear || $[126] !== trailingAction || $[127] !== trailingContent || $[128] !== trailingIcon || $[129] !== typographyCva || $[130] !== unit) {
321
+ t19 = hasTrailingContent ? /* @__PURE__ */ jsxs(Fragment, { children: [
322
+ hasClear && /* @__PURE__ */ jsx(InputClear, {
323
+ onClear: () => onClear?.(),
324
+ className: clearClassName,
325
+ show: !!showClear,
326
+ renderStatic: true
327
+ }),
328
+ trailingContent,
329
+ unit && /* @__PURE__ */ jsx("span", {
330
+ className: typographyCva({
331
+ size: "label-2",
332
+ sizeMobile: "label-2",
333
+ variant: "prominent-1",
334
+ className: "text-text-default-3"
335
+ }),
336
+ children: unit
86
337
  }),
87
- labelPlacement === "content-row" && labelContent,
88
- actionContentPlacement === "content-row" && actionContent,
89
- /* @__PURE__ */ jsxs("div", {
90
- className: resolvedContentWrapperClassName,
91
- children: [
92
- labelPlacement === "content-wrapper" && labelContent,
93
- actionContentPlacement === "content-wrapper" && actionContent,
94
- typeof children === "function" ? children({
95
- ...dataAttributeProps,
96
- id: inputId
97
- }) : children
98
- ]
99
- })
100
- ]
101
- });
102
- const trailingContentNodes = hasTrailingContent ? /* @__PURE__ */ jsxs(Fragment, { children: [
103
- hasClear && /* @__PURE__ */ jsx(InputClear, {
104
- onClear: () => onClear?.(),
105
- className: clearClassName,
106
- show: !!showClear,
107
- renderStatic: true
108
- }),
109
- trailingContent,
110
- unit && /* @__PURE__ */ jsx("span", {
111
- className: typographyCva({
112
- size: "label-2",
113
- sizeMobile: "label-2",
114
- variant: "prominent-1",
115
- className: "text-text-default-3"
338
+ isLoading && /* @__PURE__ */ jsx("div", {
339
+ className: "inline-flex",
340
+ children: /* @__PURE__ */ jsx(Loader, {})
116
341
  }),
117
- children: unit
118
- }),
119
- isLoading && /* @__PURE__ */ jsx("div", {
120
- className: "inline-flex",
121
- children: /* @__PURE__ */ jsx(Loader, {})
122
- }),
123
- !isLoading && action && /* @__PURE__ */ jsx(InlineIconButton, {
124
- color: "secondary",
125
- icon: action.icon,
126
- isDisabled,
127
- onPress: () => {
128
- if (onStaticPress) {
129
- onStaticPress();
130
- return;
131
- }
132
- action.onClick();
133
- },
134
- excludeFromTabOrder: true,
135
- label: action.altText,
136
- className: clsx("border-0!", action.className),
137
- "data-static-press-action": ""
138
- }),
139
- !isLoading && !action && trailingIcon && renderIconVisual(trailingIcon),
140
- trailingAction
141
- ] }) : null;
142
- const trailingRow = wrapTrailingContent && trailingContentNodes ? /* @__PURE__ */ jsx("div", {
143
- className: clsx("flex items-center gap-input-gap-trailing-elements", inputSizeCva({
144
- size,
342
+ !isLoading && action && /* @__PURE__ */ jsx(InlineIconButton, {
343
+ color: "secondary",
344
+ icon: action.icon,
345
+ isDisabled,
346
+ onPress: () => {
347
+ if (onStaticPress) {
348
+ onStaticPress();
349
+ return;
350
+ }
351
+ action.onClick();
352
+ },
353
+ excludeFromTabOrder: true,
354
+ label: action.altText,
355
+ className: clsx("border-0!", action.className),
356
+ "data-static-press-action": ""
357
+ }),
358
+ !isLoading && !action && trailingIcon && renderIconVisual(trailingIcon),
359
+ trailingAction
360
+ ] }) : null;
361
+ $[117] = action;
362
+ $[118] = clearClassName;
363
+ $[119] = hasClear;
364
+ $[120] = hasTrailingContent;
365
+ $[121] = isDisabled;
366
+ $[122] = isLoading;
367
+ $[123] = onClear;
368
+ $[124] = onStaticPress;
369
+ $[125] = showClear;
370
+ $[126] = trailingAction;
371
+ $[127] = trailingContent;
372
+ $[128] = trailingIcon;
373
+ $[129] = typographyCva;
374
+ $[130] = unit;
375
+ $[131] = t19;
376
+ } else t19 = $[131];
377
+ const trailingContentNodes = t19;
378
+ let t20;
379
+ if ($[132] !== as || $[133] !== inputSizeCva || $[134] !== isDisabled || $[135] !== isTrailingInteractive || $[136] !== size || $[137] !== trailingClassName || $[138] !== trailingContentNodes || $[139] !== wrapTrailingContent) {
380
+ t20 = wrapTrailingContent && trailingContentNodes ? /* @__PURE__ */ jsx("div", {
381
+ className: clsx("flex items-center gap-input-gap-trailing-elements", inputSizeCva({
382
+ size,
383
+ as
384
+ }), !isTrailingInteractive && "pointer-events-none", isDisabled && "text-interactive-text-secondary-disabled", trailingClassName),
385
+ children: trailingContentNodes
386
+ }) : trailingContentNodes;
387
+ $[132] = as;
388
+ $[133] = inputSizeCva;
389
+ $[134] = isDisabled;
390
+ $[135] = isTrailingInteractive;
391
+ $[136] = size;
392
+ $[137] = trailingClassName;
393
+ $[138] = trailingContentNodes;
394
+ $[139] = wrapTrailingContent;
395
+ $[140] = t20;
396
+ } else t20 = $[140];
397
+ const trailingRow = t20;
398
+ let t21;
399
+ if ($[141] !== contentAndTrailingClassName || $[142] !== contentRow || $[143] !== trailingRow || $[144] !== wrapContentAndTrailing) {
400
+ t21 = wrapContentAndTrailing ? /* @__PURE__ */ jsxs("div", {
401
+ className: clsx("flex w-full items-center gap-input-gap-input-text-to-elements", contentAndTrailingClassName),
402
+ children: [contentRow, trailingRow]
403
+ }) : /* @__PURE__ */ jsxs(Fragment, { children: [contentRow, trailingRow] });
404
+ $[141] = contentAndTrailingClassName;
405
+ $[142] = contentRow;
406
+ $[143] = trailingRow;
407
+ $[144] = wrapContentAndTrailing;
408
+ $[145] = t21;
409
+ } else t21 = $[145];
410
+ const inputFrameContent = t21;
411
+ let t22;
412
+ if ($[146] !== staticPressTarget) {
413
+ t22 = (target) => staticPressTarget === "frame" || target instanceof Element && !!target.closest("[data-static-press-action]");
414
+ $[146] = staticPressTarget;
415
+ $[147] = t22;
416
+ } else t22 = $[147];
417
+ const shouldReplayStaticPress = t22;
418
+ const isStaticPressActionTarget = _temp;
419
+ const t23 = as === "inline" ? -1 : void 0;
420
+ const t24 = as === "inline" ? -1 : void 0;
421
+ let t25;
422
+ if ($[148] !== onMouseEnter || $[149] !== onStaticInteract) {
423
+ t25 = (event) => {
424
+ onMouseEnter?.(event);
425
+ if (isStaticPressActionTarget(event.target)) return;
426
+ onStaticInteract?.(false, event.target);
427
+ };
428
+ $[148] = onMouseEnter;
429
+ $[149] = onStaticInteract;
430
+ $[150] = t25;
431
+ } else t25 = $[150];
432
+ let t26;
433
+ if ($[151] !== onFocusCapture || $[152] !== onStaticInteract) {
434
+ t26 = (event_0) => {
435
+ onFocusCapture?.(event_0);
436
+ if (pendingStaticPressPointerIdRef.current == null) onStaticInteract?.(true, event_0.target);
437
+ };
438
+ $[151] = onFocusCapture;
439
+ $[152] = onStaticInteract;
440
+ $[153] = t26;
441
+ } else t26 = $[153];
442
+ const t27 = !isInputContentGroup && inputFrameContentGroupClassNames[contentGroup];
443
+ let t28;
444
+ if ($[154] !== as || $[155] !== inputBaseCva || $[156] !== inputClassName || $[157] !== t27 || $[158] !== variant) {
445
+ t28 = clsx("relative flex cursor-text has-disabled:cursor-default", t27, inputBaseCva({
446
+ variant,
145
447
  as
146
- }), !isTrailingInteractive && "pointer-events-none", isDisabled && "text-interactive-text-secondary-disabled", trailingClassName),
147
- children: trailingContentNodes
148
- }) : trailingContentNodes;
149
- const inputFrameContent = wrapContentAndTrailing ? /* @__PURE__ */ jsxs("div", {
150
- className: clsx("flex w-full items-center gap-input-gap-input-text-to-elements", contentAndTrailingClassName),
151
- children: [contentRow, trailingRow]
152
- }) : /* @__PURE__ */ jsxs(Fragment, { children: [contentRow, trailingRow] });
153
- const shouldReplayStaticPress = (target) => staticPressTarget === "frame" || target instanceof Element && !!target.closest("[data-static-press-action]");
154
- const isStaticPressActionTarget = (target_0) => target_0 instanceof Element && !!target_0.closest("[data-static-press-action]");
155
- return /* @__PURE__ */ jsx(TooltipWrapper, {
156
- as,
157
- error,
158
- triggerTabIndex: as === "inline" ? -1 : void 0,
159
- children: /* @__PURE__ */ jsx(FormField, {
448
+ }), inputClassName);
449
+ $[154] = as;
450
+ $[155] = inputBaseCva;
451
+ $[156] = inputClassName;
452
+ $[157] = t27;
453
+ $[158] = variant;
454
+ $[159] = t28;
455
+ } else t28 = $[159];
456
+ const t29 = isDisabled ? -1 : 0;
457
+ let t30;
458
+ if ($[160] !== onStaticInteract) {
459
+ t30 = (event_1) => {
460
+ if (pendingStaticPressPointerIdRef.current == null) onStaticInteract?.(true, event_1.target);
461
+ };
462
+ $[160] = onStaticInteract;
463
+ $[161] = t30;
464
+ } else t30 = $[161];
465
+ let t31;
466
+ if ($[162] !== onStaticInteract || $[163] !== onStaticPress || $[164] !== shouldReplayStaticPress) {
467
+ t31 = (event_2) => {
468
+ if (onStaticPress && shouldReplayStaticPress(event_2.target)) {
469
+ onStaticPress();
470
+ return;
471
+ }
472
+ onStaticInteract?.(true, event_2.target);
473
+ };
474
+ $[162] = onStaticInteract;
475
+ $[163] = onStaticPress;
476
+ $[164] = shouldReplayStaticPress;
477
+ $[165] = t31;
478
+ } else t31 = $[165];
479
+ let t32;
480
+ if ($[166] !== onStaticPress || $[167] !== shouldReplayStaticPress) {
481
+ t32 = (event_3) => {
482
+ if (onStaticPress && shouldReplayStaticPress(event_3.target) || isStaticPressActionTarget(event_3.target)) pendingStaticPressPointerIdRef.current = event_3.pointerId;
483
+ };
484
+ $[166] = onStaticPress;
485
+ $[167] = shouldReplayStaticPress;
486
+ $[168] = t32;
487
+ } else t32 = $[168];
488
+ let t33;
489
+ if ($[169] !== onStaticInteract || $[170] !== onStaticPress || $[171] !== shouldReplayStaticPress) {
490
+ t33 = (event_4) => {
491
+ if (pendingStaticPressPointerIdRef.current === event_4.pointerId) return;
492
+ if (onStaticPress && shouldReplayStaticPress(event_4.target)) {
493
+ pendingStaticPressPointerIdRef.current = event_4.pointerId;
494
+ return;
495
+ }
496
+ onStaticInteract?.(true, event_4.target);
497
+ };
498
+ $[169] = onStaticInteract;
499
+ $[170] = onStaticPress;
500
+ $[171] = shouldReplayStaticPress;
501
+ $[172] = t33;
502
+ } else t33 = $[172];
503
+ let t34;
504
+ if ($[173] === Symbol.for("react.memo_cache_sentinel")) {
505
+ t34 = (event_5) => {
506
+ if (pendingStaticPressPointerIdRef.current === event_5.pointerId) pendingStaticPressPointerIdRef.current = null;
507
+ };
508
+ $[173] = t34;
509
+ } else t34 = $[173];
510
+ let t35;
511
+ if ($[174] !== onStaticPress) {
512
+ t35 = (event_6) => {
513
+ if (pendingStaticPressPointerIdRef.current !== event_6.pointerId) return;
514
+ pendingStaticPressPointerIdRef.current = null;
515
+ onStaticPress?.();
516
+ };
517
+ $[174] = onStaticPress;
518
+ $[175] = t35;
519
+ } else t35 = $[175];
520
+ let t36;
521
+ if ($[176] !== dataAttributeProps || $[177] !== inputFrameContent || $[178] !== ref || $[179] !== t28 || $[180] !== t29 || $[181] !== t30 || $[182] !== t31 || $[183] !== t32 || $[184] !== t33 || $[185] !== t35) {
522
+ t36 = /* @__PURE__ */ jsx("div", {
523
+ ref,
524
+ ...dataAttributeProps,
525
+ className: t28,
526
+ tabIndex: t29,
527
+ onFocus: t30,
528
+ onClick: t31,
529
+ onPointerDownCapture: t32,
530
+ onPointerDown: t33,
531
+ onPointerCancel: t34,
532
+ onPointerUp: t35,
533
+ "data-rac": "",
534
+ children: inputFrameContent
535
+ });
536
+ $[176] = dataAttributeProps;
537
+ $[177] = inputFrameContent;
538
+ $[178] = ref;
539
+ $[179] = t28;
540
+ $[180] = t29;
541
+ $[181] = t30;
542
+ $[182] = t31;
543
+ $[183] = t32;
544
+ $[184] = t33;
545
+ $[185] = t35;
546
+ $[186] = t36;
547
+ } else t36 = $[186];
548
+ let t37;
549
+ if ($[187] !== as || $[188] !== dataAttributeProps || $[189] !== formFieldProps || $[190] !== formFieldRef || $[191] !== labelProps || $[192] !== t24 || $[193] !== t25 || $[194] !== t26 || $[195] !== t36) {
550
+ t37 = /* @__PURE__ */ jsx(FormField, {
160
551
  ...formFieldProps,
161
552
  ...dataAttributeProps,
162
553
  ref: formFieldRef,
163
554
  as,
164
555
  labelProps,
165
- tabIndex: as === "inline" ? -1 : void 0,
166
- onMouseEnter: (event) => {
167
- onMouseEnter?.(event);
168
- if (isStaticPressActionTarget(event.target)) return;
169
- onStaticInteract?.(false, event.target);
170
- },
171
- onFocusCapture: (event_0) => {
172
- onFocusCapture?.(event_0);
173
- if (pendingStaticPressPointerIdRef.current == null) onStaticInteract?.(true, event_0.target);
174
- },
175
- children: /* @__PURE__ */ jsx("div", {
176
- ref,
177
- ...dataAttributeProps,
178
- className: clsx("relative flex cursor-text has-disabled:cursor-default", !isInputContentGroup && inputFrameContentGroupClassNames[contentGroup], inputBaseCva({
179
- variant,
180
- as
181
- }), inputClassName),
182
- tabIndex: isDisabled ? -1 : 0,
183
- onFocus: (event_1) => {
184
- if (pendingStaticPressPointerIdRef.current == null) onStaticInteract?.(true, event_1.target);
185
- },
186
- onClick: (event_2) => {
187
- if (onStaticPress && shouldReplayStaticPress(event_2.target)) {
188
- onStaticPress();
189
- return;
190
- }
191
- onStaticInteract?.(true, event_2.target);
192
- },
193
- onPointerDownCapture: (event_3) => {
194
- if (onStaticPress && shouldReplayStaticPress(event_3.target) || isStaticPressActionTarget(event_3.target)) pendingStaticPressPointerIdRef.current = event_3.pointerId;
195
- },
196
- onPointerDown: (event_4) => {
197
- if (pendingStaticPressPointerIdRef.current === event_4.pointerId) return;
198
- if (onStaticPress && shouldReplayStaticPress(event_4.target)) {
199
- pendingStaticPressPointerIdRef.current = event_4.pointerId;
200
- return;
201
- }
202
- onStaticInteract?.(true, event_4.target);
203
- },
204
- onPointerCancel: (event_5) => {
205
- if (pendingStaticPressPointerIdRef.current === event_5.pointerId) pendingStaticPressPointerIdRef.current = null;
206
- },
207
- onPointerUp: (event_6) => {
208
- if (pendingStaticPressPointerIdRef.current !== event_6.pointerId) return;
209
- pendingStaticPressPointerIdRef.current = null;
210
- onStaticPress?.();
211
- },
212
- "data-rac": "",
213
- children: inputFrameContent
214
- })
215
- })
216
- });
556
+ tabIndex: t24,
557
+ onMouseEnter: t25,
558
+ onFocusCapture: t26,
559
+ children: t36
560
+ });
561
+ $[187] = as;
562
+ $[188] = dataAttributeProps;
563
+ $[189] = formFieldProps;
564
+ $[190] = formFieldRef;
565
+ $[191] = labelProps;
566
+ $[192] = t24;
567
+ $[193] = t25;
568
+ $[194] = t26;
569
+ $[195] = t36;
570
+ $[196] = t37;
571
+ } else t37 = $[196];
572
+ let t38;
573
+ if ($[197] !== as || $[198] !== error || $[199] !== t23 || $[200] !== t37) {
574
+ t38 = /* @__PURE__ */ jsx(TooltipWrapper, {
575
+ as,
576
+ error,
577
+ triggerTabIndex: t23,
578
+ children: t37
579
+ });
580
+ $[197] = as;
581
+ $[198] = error;
582
+ $[199] = t23;
583
+ $[200] = t37;
584
+ $[201] = t38;
585
+ } else t38 = $[201];
586
+ return t38;
217
587
  };
218
588
  var inputFrameContentGroupClassNames = {
219
589
  "date-picker": "group/date-picker-content",
@@ -235,5 +605,8 @@ var getInputFrameDataAttributeProps = (dataAttributes) => ({
235
605
  "data-invalid": dataAttributes?.dataInvalid || void 0,
236
606
  "data-has-selection": dataAttributes?.dataHasSelection || void 0
237
607
  });
608
+ function _temp(target_0) {
609
+ return target_0 instanceof Element && !!target_0.closest("[data-static-press-action]");
610
+ }
238
611
  //#endregion
239
612
  export { InputFrame };