@fuf-stack/uniform 0.14.5 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/dist/CheckboxGroup/index.cjs +7 -6
  2. package/dist/CheckboxGroup/index.cjs.map +1 -1
  3. package/dist/CheckboxGroup/index.d.cts +2 -2
  4. package/dist/CheckboxGroup/index.d.ts +2 -2
  5. package/dist/CheckboxGroup/index.js +6 -5
  6. package/dist/{CheckboxGroup-o-qWkWe1.d.cts → CheckboxGroup-fAdey3Td.d.cts} +1 -1
  7. package/dist/{CheckboxGroup-o-qWkWe1.d.ts → CheckboxGroup-fAdey3Td.d.ts} +1 -1
  8. package/dist/Controller/index.cjs +4 -2
  9. package/dist/Controller/index.cjs.map +1 -1
  10. package/dist/Controller/index.d.cts +7 -3
  11. package/dist/Controller/index.d.ts +7 -3
  12. package/dist/Controller/index.js +7 -5
  13. package/dist/Controller-8Nqugui5.d.cts +37 -0
  14. package/dist/Controller-8Nqugui5.d.ts +37 -0
  15. package/dist/FieldArray/index.cjs +6 -5
  16. package/dist/FieldArray/index.cjs.map +1 -1
  17. package/dist/FieldArray/index.d.cts +5 -3
  18. package/dist/FieldArray/index.d.ts +5 -3
  19. package/dist/FieldArray/index.js +5 -4
  20. package/dist/FieldArray-AqM2XKIh.d.cts +151 -0
  21. package/dist/FieldArray-AqM2XKIh.d.ts +151 -0
  22. package/dist/Form/index.cjs +5 -4
  23. package/dist/Form/index.cjs.map +1 -1
  24. package/dist/Form/index.js +4 -3
  25. package/dist/Grid/index.cjs +1 -0
  26. package/dist/Grid/index.cjs.map +1 -1
  27. package/dist/Grid/index.js +1 -0
  28. package/dist/Input/index.cjs +7 -6
  29. package/dist/Input/index.cjs.map +1 -1
  30. package/dist/Input/index.d.cts +2 -2
  31. package/dist/Input/index.d.ts +2 -2
  32. package/dist/Input/index.js +6 -5
  33. package/dist/{Input-IkWP4cWg.d.cts → Input-B_wjhY9e.d.cts} +1 -1
  34. package/dist/{Input-IkWP4cWg.d.ts → Input-B_wjhY9e.d.ts} +1 -1
  35. package/dist/RadioGroup/index.cjs +7 -6
  36. package/dist/RadioGroup/index.cjs.map +1 -1
  37. package/dist/RadioGroup/index.d.cts +2 -2
  38. package/dist/RadioGroup/index.d.ts +2 -2
  39. package/dist/RadioGroup/index.js +6 -5
  40. package/dist/{RadioGroup-1J39ASHa.d.cts → RadioGroup-Dxd2FPQj.d.cts} +1 -1
  41. package/dist/{RadioGroup-1J39ASHa.d.ts → RadioGroup-Dxd2FPQj.d.ts} +1 -1
  42. package/dist/Select/index.cjs +7 -6
  43. package/dist/Select/index.cjs.map +1 -1
  44. package/dist/Select/index.d.cts +2 -2
  45. package/dist/Select/index.d.ts +2 -2
  46. package/dist/Select/index.js +6 -5
  47. package/dist/{Select-BhS4z0Pj.d.cts → Select-JRwrSDew.d.cts} +1 -1
  48. package/dist/{Select-BhS4z0Pj.d.ts → Select-JRwrSDew.d.ts} +1 -1
  49. package/dist/SubmitButton/index.cjs +5 -4
  50. package/dist/SubmitButton/index.cjs.map +1 -1
  51. package/dist/SubmitButton/index.js +4 -3
  52. package/dist/Switch/index.cjs +7 -6
  53. package/dist/Switch/index.cjs.map +1 -1
  54. package/dist/Switch/index.d.cts +2 -2
  55. package/dist/Switch/index.d.ts +2 -2
  56. package/dist/Switch/index.js +6 -5
  57. package/dist/{Switch-Fdldj8LV.d.cts → Switch-mdolzzEc.d.cts} +1 -1
  58. package/dist/{Switch-Fdldj8LV.d.ts → Switch-mdolzzEc.d.ts} +1 -1
  59. package/dist/TextArea/index.cjs +7 -6
  60. package/dist/TextArea/index.cjs.map +1 -1
  61. package/dist/TextArea/index.d.cts +2 -2
  62. package/dist/TextArea/index.d.ts +2 -2
  63. package/dist/TextArea/index.js +6 -5
  64. package/dist/{TextArea-B-sKvTkd.d.cts → TextArea-DNpInDsW.d.cts} +1 -1
  65. package/dist/{TextArea-B-sKvTkd.d.ts → TextArea-DNpInDsW.d.ts} +1 -1
  66. package/dist/{chunk-QCVTB2NI.js → chunk-3QBYSFDX.js} +10 -9
  67. package/dist/chunk-3QBYSFDX.js.map +1 -0
  68. package/dist/chunk-4DAZAO6Y.cjs +59 -0
  69. package/dist/chunk-4DAZAO6Y.cjs.map +1 -0
  70. package/dist/{chunk-BS52M4SZ.js → chunk-5YDNHSEU.js} +47 -41
  71. package/dist/chunk-5YDNHSEU.js.map +1 -0
  72. package/dist/chunk-7ROOJK7G.cjs +110 -0
  73. package/dist/chunk-7ROOJK7G.cjs.map +1 -0
  74. package/dist/{chunk-WKM2D7LF.js → chunk-ASPOGQPS.js} +2 -5
  75. package/dist/chunk-ASPOGQPS.js.map +1 -0
  76. package/dist/{chunk-XCZKNTFT.cjs → chunk-BDVAK232.cjs} +23 -24
  77. package/dist/chunk-BDVAK232.cjs.map +1 -0
  78. package/dist/chunk-CESGUF6F.cjs +63 -0
  79. package/dist/chunk-CESGUF6F.cjs.map +1 -0
  80. package/dist/chunk-CRTRMMJ7.js +59 -0
  81. package/dist/chunk-CRTRMMJ7.js.map +1 -0
  82. package/dist/{chunk-VP7WDLJM.js → chunk-DS7GUNDT.js} +17 -14
  83. package/dist/chunk-DS7GUNDT.js.map +1 -0
  84. package/dist/chunk-ECDLVJLZ.js +246 -0
  85. package/dist/chunk-ECDLVJLZ.js.map +1 -0
  86. package/dist/{chunk-GN5NJ6ZU.js → chunk-GNDW3TAU.js} +3 -6
  87. package/dist/chunk-GNDW3TAU.js.map +1 -0
  88. package/dist/{chunk-VZ5MMFIF.cjs → chunk-H65I56SI.cjs} +4 -7
  89. package/dist/chunk-H65I56SI.cjs.map +1 -0
  90. package/dist/chunk-HCQJGNWT.cjs +246 -0
  91. package/dist/chunk-HCQJGNWT.cjs.map +1 -0
  92. package/dist/chunk-IBQCNI5H.js +372 -0
  93. package/dist/chunk-IBQCNI5H.js.map +1 -0
  94. package/dist/chunk-IUVEFLF3.cjs +133 -0
  95. package/dist/chunk-IUVEFLF3.cjs.map +1 -0
  96. package/dist/{chunk-Y3SFF6RN.cjs → chunk-KIAIGPG7.cjs} +11 -10
  97. package/dist/chunk-KIAIGPG7.cjs.map +1 -0
  98. package/dist/{chunk-QW44EUAH.js → chunk-MEK7YR46.js} +10 -10
  99. package/dist/chunk-MEK7YR46.js.map +1 -0
  100. package/dist/{chunk-OHJYXA6R.cjs → chunk-OE5IW4ZG.cjs} +4 -7
  101. package/dist/chunk-OE5IW4ZG.cjs.map +1 -0
  102. package/dist/chunk-PHGFXKPU.cjs +51 -0
  103. package/dist/chunk-PHGFXKPU.cjs.map +1 -0
  104. package/dist/{chunk-PZ4LZQI4.cjs → chunk-Q23XGBJ5.cjs} +18 -15
  105. package/dist/chunk-Q23XGBJ5.cjs.map +1 -0
  106. package/dist/{chunk-DDZMDOSG.js → chunk-STU7SBQX.js} +25 -23
  107. package/dist/chunk-STU7SBQX.js.map +1 -0
  108. package/dist/{chunk-BZAPTLMC.js → chunk-T4N6TMUL.js} +49 -49
  109. package/dist/chunk-T4N6TMUL.js.map +1 -0
  110. package/dist/chunk-TJESSWIB.cjs +372 -0
  111. package/dist/chunk-TJESSWIB.cjs.map +1 -0
  112. package/dist/chunk-UAV6PVB4.js +63 -0
  113. package/dist/chunk-UAV6PVB4.js.map +1 -0
  114. package/dist/{chunk-BYKOCVCK.js → chunk-WKJN5A2E.js} +22 -23
  115. package/dist/chunk-WKJN5A2E.js.map +1 -0
  116. package/dist/{chunk-XJZAS7NG.cjs → chunk-WRIXKFKW.cjs} +25 -23
  117. package/dist/chunk-WRIXKFKW.cjs.map +1 -0
  118. package/dist/{chunk-RBIX6EWU.cjs → chunk-Y7MJBI4A.cjs} +11 -11
  119. package/dist/chunk-Y7MJBI4A.cjs.map +1 -0
  120. package/dist/chunk-ZI22WT2P.js +51 -0
  121. package/dist/chunk-ZI22WT2P.js.map +1 -0
  122. package/dist/helpers/index.cjs +9 -2
  123. package/dist/helpers/index.cjs.map +1 -1
  124. package/dist/helpers/index.d.cts +67 -4
  125. package/dist/helpers/index.d.ts +67 -4
  126. package/dist/helpers/index.js +10 -3
  127. package/dist/hooks/index.cjs +6 -3
  128. package/dist/hooks/index.cjs.map +1 -1
  129. package/dist/hooks/index.d.cts +3 -2
  130. package/dist/hooks/index.d.ts +3 -2
  131. package/dist/hooks/index.js +7 -4
  132. package/dist/index.cjs +25 -16
  133. package/dist/index.cjs.map +1 -1
  134. package/dist/index.d.cts +11 -10
  135. package/dist/index.d.ts +11 -10
  136. package/dist/index.js +31 -22
  137. package/dist/partials/FieldCopyTestIdButton/index.cjs +1 -0
  138. package/dist/partials/FieldCopyTestIdButton/index.cjs.map +1 -1
  139. package/dist/partials/FieldCopyTestIdButton/index.js +1 -0
  140. package/dist/partials/FieldValidationError/index.cjs +3 -3
  141. package/dist/partials/FieldValidationError/index.js +2 -2
  142. package/package.json +18 -20
  143. package/dist/FieldArray-DD9z-xZ3.d.cts +0 -37
  144. package/dist/FieldArray-DD9z-xZ3.d.ts +0 -37
  145. package/dist/chunk-BBB4FEY6.cjs +0 -22
  146. package/dist/chunk-BBB4FEY6.cjs.map +0 -1
  147. package/dist/chunk-BS52M4SZ.js.map +0 -1
  148. package/dist/chunk-BYKOCVCK.js.map +0 -1
  149. package/dist/chunk-BZAPTLMC.js.map +0 -1
  150. package/dist/chunk-DDZMDOSG.js.map +0 -1
  151. package/dist/chunk-EKE5URXQ.cjs +0 -104
  152. package/dist/chunk-EKE5URXQ.cjs.map +0 -1
  153. package/dist/chunk-GN5NJ6ZU.js.map +0 -1
  154. package/dist/chunk-HOETR36J.cjs +0 -299
  155. package/dist/chunk-HOETR36J.cjs.map +0 -1
  156. package/dist/chunk-HZP3EXGR.cjs +0 -241
  157. package/dist/chunk-HZP3EXGR.cjs.map +0 -1
  158. package/dist/chunk-IUNDGVMC.js +0 -241
  159. package/dist/chunk-IUNDGVMC.js.map +0 -1
  160. package/dist/chunk-KOKIM2ND.js +0 -9
  161. package/dist/chunk-KOKIM2ND.js.map +0 -1
  162. package/dist/chunk-OHJYXA6R.cjs.map +0 -1
  163. package/dist/chunk-PZ4LZQI4.cjs.map +0 -1
  164. package/dist/chunk-QCVTB2NI.js.map +0 -1
  165. package/dist/chunk-QW44EUAH.js.map +0 -1
  166. package/dist/chunk-RBIX6EWU.cjs.map +0 -1
  167. package/dist/chunk-V46BHM2U.js +0 -22
  168. package/dist/chunk-V46BHM2U.js.map +0 -1
  169. package/dist/chunk-VP7WDLJM.js.map +0 -1
  170. package/dist/chunk-VQWKXSHW.cjs +0 -9
  171. package/dist/chunk-VQWKXSHW.cjs.map +0 -1
  172. package/dist/chunk-VZ5MMFIF.cjs.map +0 -1
  173. package/dist/chunk-WKM2D7LF.js.map +0 -1
  174. package/dist/chunk-XCZKNTFT.cjs.map +0 -1
  175. package/dist/chunk-XJWEUCV3.cjs +0 -133
  176. package/dist/chunk-XJWEUCV3.cjs.map +0 -1
  177. package/dist/chunk-XJZAS7NG.cjs.map +0 -1
  178. package/dist/chunk-Y3SFF6RN.cjs.map +0 -1
  179. package/dist/chunk-Y53IHK6B.js +0 -299
  180. package/dist/chunk-Y53IHK6B.js.map +0 -1
@@ -1,21 +1,23 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunkVQWKXSHWcjs = require('./chunk-VQWKXSHW.cjs');
3
+ var _chunkPHGFXKPUcjs = require('./chunk-PHGFXKPU.cjs');
4
4
 
5
5
 
6
6
  var _chunkJU5RT22Ycjs = require('./chunk-JU5RT22Y.cjs');
7
7
 
8
8
 
9
- var _chunkOHJYXA6Rcjs = require('./chunk-OHJYXA6R.cjs');
9
+ var _chunkOE5IW4ZGcjs = require('./chunk-OE5IW4ZG.cjs');
10
10
 
11
11
 
12
- var _chunkXJWEUCV3cjs = require('./chunk-XJWEUCV3.cjs');
12
+ var _chunkIUVEFLF3cjs = require('./chunk-IUVEFLF3.cjs');
13
13
 
14
14
 
15
- var _chunkBBB4FEY6cjs = require('./chunk-BBB4FEY6.cjs');
15
+
16
+
17
+ var _chunk4DAZAO6Ycjs = require('./chunk-4DAZAO6Y.cjs');
16
18
 
17
19
  // src/RadioGroup/RadioGroup.tsx
18
- var _radio = require('@nextui-org/radio');
20
+ var _radio = require('@heroui/radio');
19
21
  var _pixelutils = require('@fuf-stack/pixel-utils');
20
22
  var _pixels = require('@fuf-stack/pixels');
21
23
  var _Tabs = require('@fuf-stack/pixels/Tabs'); var _Tabs2 = _interopRequireDefault(_Tabs);
@@ -25,7 +27,8 @@ var _Tabs = require('@fuf-stack/pixels/Tabs'); var _Tabs2 = _interopRequireDefau
25
27
  var _visuallyhidden = require('@react-aria/visually-hidden');
26
28
 
27
29
  var _jsxruntime = require('react/jsx-runtime');
28
- var RadioBox = ({ icon = void 0, ...props }) => {
30
+ var RadioBox = (_a) => {
31
+ var _b = _a, { icon = void 0 } = _b, props = _chunk4DAZAO6Ycjs.__objRest.call(void 0, _b, ["icon"]);
29
32
  const {
30
33
  children,
31
34
  Component,
@@ -40,8 +43,7 @@ var RadioBox = ({ icon = void 0, ...props }) => {
40
43
  } = _radio.useRadio.call(void 0, props);
41
44
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
42
45
  Component,
43
- {
44
- ...getBaseProps(),
46
+ _chunk4DAZAO6Ycjs.__spreadProps.call(void 0, _chunk4DAZAO6Ycjs.__spreadValues.call(void 0, {}, getBaseProps()), {
45
47
  className: _pixelutils.cn.call(void 0,
46
48
  "group inline-flex flex-auto cursor-pointer items-center justify-between gap-4 rounded-lg border-2 border-default p-4 hover:bg-content2 data-[selected=true]:border-focus",
47
49
  {
@@ -50,22 +52,21 @@ var RadioBox = ({ icon = void 0, ...props }) => {
50
52
  }
51
53
  ),
52
54
  children: [
53
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _visuallyhidden.VisuallyHidden, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { ...getInputProps() }) }),
54
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ...getWrapperProps(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ...getControlProps() }) }),
55
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _visuallyhidden.VisuallyHidden, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", _chunk4DAZAO6Ycjs.__spreadValues.call(void 0, {}, getInputProps())) }),
56
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", _chunk4DAZAO6Ycjs.__spreadProps.call(void 0, _chunk4DAZAO6Ycjs.__spreadValues.call(void 0, {}, getWrapperProps()), { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", _chunk4DAZAO6Ycjs.__spreadValues.call(void 0, {}, getControlProps())) })),
55
57
  icon,
56
58
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
57
59
  "div",
58
- {
59
- ...getLabelWrapperProps(),
60
+ _chunk4DAZAO6Ycjs.__spreadProps.call(void 0, _chunk4DAZAO6Ycjs.__spreadValues.call(void 0, {}, getLabelWrapperProps()), {
60
61
  className: _pixelutils.cn.call(void 0, getLabelWrapperProps().className, "grow"),
61
62
  children: [
62
- children && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ...getLabelProps(), children }),
63
+ children && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", _chunk4DAZAO6Ycjs.__spreadProps.call(void 0, _chunk4DAZAO6Ycjs.__spreadValues.call(void 0, {}, getLabelProps()), { children })),
63
64
  description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-small text-foreground opacity-70", children: description })
64
65
  ]
65
- }
66
+ })
66
67
  )
67
68
  ]
68
- }
69
+ })
69
70
  );
70
71
  };
71
72
 
@@ -113,7 +114,8 @@ var radioGroupVariants = _pixelutils.tv.call(void 0, {
113
114
  itemLabelWrapper: "",
114
115
  itemWrapper: 'group-data-[invalid=true]:!border-danger [&:not(group-data-[invalid="true"]):not(group-data-[selected="false"])]:border-focus',
115
116
  // TODO: get rid of !.
116
- // See NextUI styles for group-data condition, e.g.: https://github.com/nextui-org/nextui/blob/main/packages/core/theme/src/components/select.ts
117
+ // see HeroUI styles for group-data condition,
118
+ // e.g.: https://github.com/heroui-inc/heroui/blob/main/packages/core/theme/src/components/select.ts
117
119
  label: "text-sm text-foreground subpixel-antialiased group-data-[invalid=true]:text-danger",
118
120
  wrapper: "",
119
121
  // Tabs
@@ -134,14 +136,14 @@ var RadioGroup = ({
134
136
  testId: _testId = void 0,
135
137
  variant = "default"
136
138
  }) => {
137
- const { control, debugMode, getFieldState, getValues } = _chunkXJWEUCV3cjs.useFormContext.call(void 0, );
139
+ const { control, debugMode, getFieldState, getValues } = _chunkIUVEFLF3cjs.useFormContext.call(void 0, );
138
140
  const { error, invalid, required, testId } = getFieldState(name, _testId);
139
141
  const showTestIdCopyButton = debugMode === "debug-testids";
140
142
  const showLabel = label || showTestIdCopyButton;
141
143
  const variants = radioGroupVariants();
142
144
  const classNames = _pixelutils.variantsToClassNames.call(void 0, variants, className, "base");
143
145
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
144
- _chunkVQWKXSHWcjs.Controller,
146
+ _chunkPHGFXKPUcjs.Controller_default,
145
147
  {
146
148
  control,
147
149
  disabled,
@@ -169,7 +171,7 @@ var RadioGroup = ({
169
171
  RadioBox,
170
172
  {
171
173
  classNames: itemClassNames,
172
- "data-testid": _chunkBBB4FEY6cjs.slugify.call(void 0,
174
+ "data-testid": _pixelutils.slugify.call(void 0,
173
175
  `${testId}_option_${option.testId || option.value}`
174
176
  ),
175
177
  description: option.description,
@@ -195,7 +197,7 @@ var RadioGroup = ({
195
197
  [classNames.itemBaseActive]: getValues()[name] !== option.value
196
198
  }),
197
199
  isDisabled: isDisabled || option.disabled,
198
- testID: _chunkBBB4FEY6cjs.slugify.call(void 0,
200
+ testID: _pixelutils.slugify.call(void 0,
199
201
  `${testId}_option_${option.testId || option.value}`
200
202
  ),
201
203
  onChange,
@@ -225,7 +227,7 @@ var RadioGroup = ({
225
227
  _radio.Radio,
226
228
  {
227
229
  classNames: itemClassNames,
228
- "data-testid": _chunkBBB4FEY6cjs.slugify.call(void 0,
230
+ "data-testid": _pixelutils.slugify.call(void 0,
229
231
  `${testId}_option_${option.testId || option.value}`
230
232
  ),
231
233
  isDisabled: isDisabled || option.disabled,
@@ -246,7 +248,7 @@ var RadioGroup = ({
246
248
  "data-invalid": invalid,
247
249
  "data-required": required,
248
250
  "data-testid": testId,
249
- errorMessage: error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOHJYXA6Rcjs.FieldValidationError_default, { error }),
251
+ errorMessage: error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOE5IW4ZGcjs.FieldValidationError_default, { error }),
250
252
  isDisabled,
251
253
  isInvalid: invalid,
252
254
  isRequired: required,
@@ -276,4 +278,4 @@ var RadioGroup_default2 = RadioGroup_default;
276
278
 
277
279
 
278
280
  exports.RadioGroup_default = RadioGroup_default; exports.RadioGroup_default2 = RadioGroup_default2;
279
- //# sourceMappingURL=chunk-XJZAS7NG.cjs.map
281
+ //# sourceMappingURL=chunk-WRIXKFKW.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-WRIXKFKW.cjs","../src/RadioGroup/RadioGroup.tsx","../src/RadioGroup/Variants/RadioBox.tsx","../src/RadioGroup/Variants/RadioButton.tsx","../src/RadioGroup/index.ts"],"names":["jsx","cn"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-WRIXKFKW.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { TabProps } from '@fuf-stack/pixels/Tabs';\nimport type { ReactElement, ReactNode } from 'react';\n\nimport { RadioGroup as HeroRadioGroup, Radio } from '@heroui/radio';\n\nimport { cn, slugify, tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\nimport { ButtonGroup } from '@fuf-stack/pixels';\nimport Tabs from '@fuf-stack/pixels/Tabs';\n\nimport { Controller } from '../Controller';\nimport { useFormContext } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\nimport { RadioBox } from './Variants/RadioBox';\nimport { RadioButton } from './Variants/RadioButton';\n\nexport const radioGroupVariants = tv({\n slots: {\n base: 'group', // Needs group for group-data condition\n buttonGroup:\n 'rounded-xl group-data-[invalid=true]:border group-data-[invalid=true]:border-danger', // optional if a button group is used\n itemBase: '',\n itemBaseActive: 'bg-opacity-50', // optional if a button group is used\n itemControl: 'bg-focus group-data-[invalid=true]:bg-danger',\n itemDescription: '',\n itemLabel: 'text-sm',\n itemLabelWrapper: '',\n itemWrapper:\n 'group-data-[invalid=true]:!border-danger [&:not(group-data-[invalid=\"true\"]):not(group-data-[selected=\"false\"])]:border-focus', // TODO: get rid of !.\n // see HeroUI styles for group-data condition,\n // e.g.: https://github.com/heroui-inc/heroui/blob/main/packages/core/theme/src/components/select.ts\n label:\n 'text-sm text-foreground subpixel-antialiased group-data-[invalid=true]:text-danger',\n wrapper: '',\n // Tabs\n tabList: '',\n tab: '',\n tabContent: '',\n cursor: '',\n panel: '',\n },\n});\n\ntype VariantProps = TVProps<typeof radioGroupVariants>;\ntype ClassName = TVClassName<typeof radioGroupVariants>;\n\nexport interface RadioGroupOption {\n /** Description of the value. Works with variant radioBox. */\n description?: React.ReactNode;\n /** disables the option */\n disabled?: boolean;\n /** option label */\n label?: React.ReactNode;\n /** option icon */\n icon?: ReactNode;\n /** HTML data-testid attribute of the option */\n testId?: string;\n /** option value */\n value: string;\n}\n\nexport interface RadioGroupProps<\n V extends 'default' | 'radioBox' | 'radioButton' | 'tabs',\n> extends VariantProps {\n /** CSS class name */\n className?: ClassName;\n /** Determines if the Buttons are disabled or not. */\n disabled?: boolean;\n /** determines orientation of the Buttons. */\n inline?: boolean;\n /** Label displayed next to the RadioButton. */\n label?: ReactNode;\n /** Name the RadioButtons are registered at in HTML forms (react-hook-form). */\n name: string;\n /** Radio button configuration. */\n options: V extends 'default' | 'radioBox' | 'radioButton'\n ? RadioGroupOption[]\n : TabProps[];\n /** Id to grab element in internal tests. */\n testId?: string;\n /** How the RadioGroup should look like. */\n variant?: V;\n}\n\n/**\n * RadioGroup component based on [HeroUI RadioGroup](https://www.heroui.com//docs/components/radio-group)\n */\nconst RadioGroup = ({\n className = undefined,\n disabled = false,\n inline = false,\n label = undefined,\n name,\n options,\n testId: _testId = undefined,\n variant = 'default',\n}: RadioGroupProps<\n 'default' | 'radioBox' | 'radioButton' | 'tabs'\n>): ReactElement => {\n const { control, debugMode, getFieldState, getValues } = useFormContext();\n\n const { error, invalid, required, testId } = getFieldState(name, _testId);\n\n const showTestIdCopyButton = debugMode === 'debug-testids';\n const showLabel = label || showTestIdCopyButton;\n\n const variants = radioGroupVariants();\n const classNames = variantsToClassNames(variants, className, 'base');\n\n return (\n <Controller\n control={control}\n disabled={disabled}\n name={name}\n render={({ field: { onChange, disabled: isDisabled, onBlur, ref } }) => {\n let RadioComponents: ReactNode;\n\n const itemClassNames = {\n base: classNames.itemBase,\n control: classNames.itemControl,\n description: classNames.itemDescription,\n label: classNames.itemLabel,\n labelWrapper: classNames.itemLabelWrapper,\n wrapper: classNames.itemWrapper,\n tabList: classNames.tabList,\n tab: classNames.tab,\n tabContent: classNames.tabContent,\n cursor: classNames.cursor,\n panel: classNames.panel,\n };\n\n switch (variant) {\n case 'radioBox':\n RadioComponents = options.map((option) => {\n if ('value' in option) {\n return (\n <RadioBox\n classNames={itemClassNames}\n data-testid={slugify(\n `${testId}_option_${option.testId || option.value}`,\n )}\n description={option.description}\n icon={option.icon}\n isDisabled={isDisabled || option.disabled}\n key={option.value}\n onChange={onChange}\n value={option.value}\n >\n {option.label ? option.label : option.value}\n </RadioBox>\n );\n }\n return null;\n });\n break;\n case 'radioButton':\n RadioComponents = options.map((option) => {\n if ('value' in option) {\n return (\n <RadioButton\n className={cn(classNames.itemBase, {\n [classNames.itemBaseActive]:\n getValues()[name] !== option.value,\n })}\n isDisabled={isDisabled || option.disabled}\n key={option.value}\n testID={slugify(\n `${testId}_option_${option.testId || option.value}`,\n )}\n onChange={onChange}\n value={option.value}\n // TODO: how to do the classNames properly (make selected option darker with same color)\n >\n {option.label ? option.label : option.value}\n </RadioButton>\n );\n }\n return null;\n });\n break;\n\n case 'tabs':\n RadioComponents = (\n <Tabs\n fullWidth={false}\n tabs={options as TabProps[]}\n onSelectionChange={onChange}\n />\n );\n break;\n default:\n RadioComponents = options.map((option) => {\n if ('value' in option) {\n return (\n <Radio\n classNames={itemClassNames}\n data-testid={slugify(\n `${testId}_option_${option.testId || option.value}`,\n )}\n isDisabled={isDisabled || option.disabled}\n key={option.value}\n onChange={onChange}\n value={option.value}\n >\n {option.label ? option.label : option.value}\n </Radio>\n );\n }\n return null;\n });\n }\n\n return (\n <HeroRadioGroup\n classNames={classNames}\n // see HeroUI styles for group-data condition (data-invalid),\n // e.g.: https://github.com/heroui-inc/heroui/blob/main/packages/components/select/src/use-select.ts\n data-invalid={invalid}\n data-required={required}\n data-testid={testId}\n errorMessage={error && <FieldValidationError error={error} />}\n isDisabled={isDisabled}\n isInvalid={invalid}\n isRequired={required}\n label={\n showLabel && (\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label>\n {label}\n {showTestIdCopyButton && (\n <FieldCopyTestIdButton testId={testId} />\n )}\n </label>\n )\n }\n name={name}\n orientation={inline ? 'horizontal' : 'vertical'}\n onBlur={onBlur}\n onChange={onChange}\n ref={ref}\n >\n {variant === 'radioButton' ? (\n <ButtonGroup className={classNames.buttonGroup}>\n {RadioComponents}\n </ButtonGroup>\n ) : (\n RadioComponents\n )}\n </HeroRadioGroup>\n );\n }}\n />\n );\n};\n\nexport default RadioGroup;\n","import type { RadioProps as HeroRadioProps } from '@heroui/radio';\nimport type { ReactNode } from 'react';\n\nimport { useRadio } from '@heroui/radio';\nimport { VisuallyHidden } from '@react-aria/visually-hidden';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\ninterface RadioProps extends HeroRadioProps {\n /** icon for the option */\n icon?: ReactNode;\n}\n\nexport const RadioBox = ({ icon = undefined, ...props }: RadioProps) => {\n const {\n children,\n Component,\n description,\n getBaseProps,\n getControlProps,\n getInputProps,\n getLabelProps,\n getLabelWrapperProps,\n getWrapperProps,\n isDisabled,\n } = useRadio(props);\n\n return (\n <Component\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...getBaseProps()}\n className={cn(\n 'group inline-flex flex-auto cursor-pointer items-center justify-between gap-4 rounded-lg border-2 border-default p-4 hover:bg-content2 data-[selected=true]:border-focus',\n {\n // disabled styles\n 'pointer-events-none opacity-disabled': isDisabled,\n },\n )}\n >\n <VisuallyHidden>\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <input {...getInputProps()} />\n </VisuallyHidden>\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <span {...getWrapperProps()}>\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <span {...getControlProps()} />\n </span>\n {icon}\n <div\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...getLabelWrapperProps()}\n className={cn(getLabelWrapperProps().className, 'grow')}\n >\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n {children && <span {...getLabelProps()}>{children}</span>}\n {description && (\n <span className=\"text-small text-foreground opacity-70\">\n {description}\n </span>\n )}\n </div>\n </Component>\n );\n};\n\nexport default RadioBox;\n","import { cn } from '@fuf-stack/pixel-utils';\nimport { Button } from '@fuf-stack/pixels';\n\ninterface RadioButtonProps {\n /** label of the value. */\n children: React.ReactNode;\n /** CSS class name */\n className?: string;\n /** disables the option */\n isDisabled?: boolean;\n /** HTML data-testid attribute of the option */\n testID?: string;\n /** Callback function. Executed if the option is clicked. */\n onChange: (...event: unknown[]) => void;\n /** value of the option. */\n value: string;\n}\n\nexport const RadioButton = ({\n children,\n className = undefined,\n isDisabled = false,\n onChange,\n testID = undefined,\n value,\n}: RadioButtonProps) => {\n return (\n <Button\n className={cn(className)}\n testId={testID}\n disabled={isDisabled}\n key={`index_${value}`}\n onClick={() => {\n return onChange(value);\n }}\n >\n {children}\n </Button>\n );\n};\n\nexport default RadioButton;\n","import RadioGroup from './RadioGroup';\n\nexport type { RadioGroupProps } from './RadioGroup';\n\nexport { RadioGroup };\n\nexport default RadioGroup;\n"]}
@@ -1,18 +1,18 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkVQWKXSHWcjs = require('./chunk-VQWKXSHW.cjs');
3
+ var _chunkPHGFXKPUcjs = require('./chunk-PHGFXKPU.cjs');
4
4
 
5
5
 
6
6
  var _chunkJU5RT22Ycjs = require('./chunk-JU5RT22Y.cjs');
7
7
 
8
8
 
9
- var _chunkOHJYXA6Rcjs = require('./chunk-OHJYXA6R.cjs');
9
+ var _chunkOE5IW4ZGcjs = require('./chunk-OE5IW4ZG.cjs');
10
10
 
11
11
 
12
- var _chunkXJWEUCV3cjs = require('./chunk-XJWEUCV3.cjs');
12
+ var _chunkIUVEFLF3cjs = require('./chunk-IUVEFLF3.cjs');
13
13
 
14
14
  // src/Input/Input.tsx
15
- var _input = require('@nextui-org/input');
15
+ var _input = require('@heroui/input');
16
16
  var _pixelutils = require('@fuf-stack/pixel-utils');
17
17
  var _jsxruntime = require('react/jsx-runtime');
18
18
  var Input = ({
@@ -27,12 +27,12 @@ var Input = ({
27
27
  transformValue = void 0,
28
28
  type = void 0
29
29
  }) => {
30
- const { control, debugMode, getFieldState } = _chunkXJWEUCV3cjs.useFormContext.call(void 0, );
30
+ const { control, debugMode, getFieldState } = _chunkIUVEFLF3cjs.useFormContext.call(void 0, );
31
31
  const { error, invalid, required, testId } = getFieldState(name, _testId);
32
32
  const showTestIdCopyButton = debugMode === "debug-testids";
33
33
  const showLabel = label || showTestIdCopyButton;
34
34
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35
- _chunkVQWKXSHWcjs.Controller,
35
+ _chunkPHGFXKPUcjs.Controller_default,
36
36
  {
37
37
  control,
38
38
  disabled,
@@ -40,14 +40,14 @@ var Input = ({
40
40
  render: ({
41
41
  field: { disabled: isDisabled, onChange, onBlur, value = "", ref }
42
42
  }) => {
43
- const displayValue = _optionalChain([transformValue, 'optionalAccess', _ => _.displayValue]) ? transformValue.displayValue(_nullishCoalesce(value, () => ( ""))) : _nullishCoalesce(value, () => ( ""));
43
+ const displayValue = (transformValue == null ? void 0 : transformValue.displayValue) ? transformValue.displayValue(value != null ? value : "") : value != null ? value : "";
44
44
  const handleChange = (e) => {
45
45
  const inputValue = e.target.value;
46
46
  if (type === "number") {
47
47
  onChange(inputValue === "" ? "" : Number(inputValue));
48
48
  } else {
49
49
  onChange(
50
- _optionalChain([transformValue, 'optionalAccess', _2 => _2.formValue]) ? transformValue.formValue(inputValue) : inputValue
50
+ (transformValue == null ? void 0 : transformValue.formValue) ? transformValue.formValue(inputValue) : inputValue
51
51
  );
52
52
  }
53
53
  };
@@ -60,7 +60,7 @@ var Input = ({
60
60
  },
61
61
  "data-testid": testId,
62
62
  endContent,
63
- errorMessage: error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOHJYXA6Rcjs.FieldValidationError_default, { error }),
63
+ errorMessage: error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOE5IW4ZGcjs.FieldValidationError_default, { error }),
64
64
  isDisabled,
65
65
  isInvalid: invalid,
66
66
  isRequired: required,
@@ -94,4 +94,4 @@ var Input_default2 = Input_default;
94
94
 
95
95
 
96
96
  exports.Input_default = Input_default; exports.Input_default2 = Input_default2;
97
- //# sourceMappingURL=chunk-RBIX6EWU.cjs.map
97
+ //# sourceMappingURL=chunk-Y7MJBI4A.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-Y7MJBI4A.cjs","../src/Input/Input.tsx","../src/Input/index.ts"],"names":["Input_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-Y7MJBI4A.cjs","sourcesContent":[null,"import type { ReactNode } from 'react';\n\nimport { Input as HeroInput } from '@heroui/input';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nimport { Controller } from '../Controller';\nimport { useFormContext } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\n\nexport interface InputProps {\n /** CSS class name */\n className?: string;\n /** input field is disabled */\n disabled?: boolean;\n /** added content to the end of the input Field. */\n endContent?: ReactNode;\n /** form field label (set to false to disable label) */\n label?: string | false;\n /** form field name */\n name: string;\n /** form field placeholder */\n placeholder?: string;\n /** content added to the start of the input field */\n startContent?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** allows disentangled display and form values for a field */\n transformValue?: {\n /** transforms the formValue of the field to the display value of the field */\n displayValue: (value: string | number) => string | number;\n /** transforms the displayValue of the field to the form value of the field */\n formValue: (value: string) => string | number;\n };\n /** input type */\n type?: 'number' | 'password';\n}\n\n/**\n * Input component based on [HeroUI Input](https://www.heroui.com//docs/components/input)\n */\nconst Input = ({\n className = undefined,\n disabled = false,\n endContent = undefined,\n label = undefined,\n name,\n placeholder = ' ',\n startContent = undefined,\n testId: _testId = undefined,\n transformValue = undefined,\n type = undefined,\n}: InputProps) => {\n const { control, debugMode, getFieldState } = useFormContext();\n const { error, invalid, required, testId } = getFieldState(name, _testId);\n\n const showTestIdCopyButton = debugMode === 'debug-testids';\n const showLabel = label || showTestIdCopyButton;\n\n return (\n <Controller\n control={control}\n disabled={disabled}\n name={name}\n render={({\n field: { disabled: isDisabled, onChange, onBlur, value = '', ref },\n }) => {\n /**\n * Determines the display value for the input field:\n * 1. If transformValue.displayValue is provided, applies the transform to the current value\n * (useful for formatting like adding currency symbols, date formatting, etc.)\n * 2. Falls back to the raw value if no transform is provided\n * 3. Ensures a defined value by using empty string as fallback (prevents uncontrolled input warnings)\n *\n * Examples:\n * - With transform: value \"1000\" → displayValue \"$1,000\"\n * - Without transform: value \"1000\" → displayValue \"1000\"\n * - Undefined value: value undefined → displayValue \"\"\n */\n const displayValue = transformValue?.displayValue\n ? transformValue.displayValue(value ?? '')\n : (value ?? '');\n\n /**\n * Handles input value changes with special processing:\n * 1. For number inputs:\n * - Preserves empty string (prevents NaN in the form state)\n * - Converts non-empty values to numbers\n * Example: \"\" → \"\" (empty stays empty)\n * \"42\" → 42 (converts to number)\n *\n * 2. For text inputs with transformValue.formValue:\n * - Applies custom transform before updating form state\n * - Useful for converting display format to storage format\n * Example: \"$1,000\" → \"1000\" (strips formatting)\n *\n * 3. For regular text inputs:\n * - Passes through the raw input value\n * Example: \"hello\" → \"hello\" (no transformation)\n *\n * @param e The input change event\n */\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n if (type === 'number') {\n onChange(inputValue === '' ? '' : Number(inputValue));\n } else {\n onChange(\n transformValue?.formValue\n ? transformValue.formValue(inputValue)\n : inputValue,\n );\n }\n };\n\n return (\n <HeroInput\n className={cn(className)}\n classNames={{\n inputWrapper: 'group-data-[focus=true]:border-focus',\n }}\n data-testid={testId}\n endContent={endContent}\n errorMessage={error && <FieldValidationError error={error} />}\n isDisabled={isDisabled}\n isInvalid={invalid}\n isRequired={required}\n label={\n showLabel && (\n <>\n {label}\n {showTestIdCopyButton && (\n <FieldCopyTestIdButton testId={testId} />\n )}\n </>\n )\n }\n labelPlacement=\"outside\"\n name={name}\n onBlur={onBlur}\n onChange={handleChange}\n placeholder={placeholder}\n radius=\"sm\"\n ref={ref}\n startContent={startContent}\n type={type}\n // @ts-expect-error number is ok here\n value={displayValue}\n variant=\"bordered\"\n />\n );\n }}\n />\n );\n};\n\nexport default Input;\n","import Input from './Input';\n\nexport type { InputProps } from './Input';\n\nexport { Input };\n\nexport default Input;\n"]}
@@ -0,0 +1,51 @@
1
+ import {
2
+ fromNullishString,
3
+ toNullishString
4
+ } from "./chunk-UAV6PVB4.js";
5
+ import {
6
+ __objRest,
7
+ __spreadProps,
8
+ __spreadValues
9
+ } from "./chunk-CRTRMMJ7.js";
10
+
11
+ // src/Controller/Controller.tsx
12
+ import { Controller as RHFController } from "react-hook-form";
13
+ import { jsx } from "react/jsx-runtime";
14
+ var Controller = (_a) => {
15
+ var _b = _a, {
16
+ render
17
+ } = _b, props = __objRest(_b, [
18
+ "render"
19
+ ]);
20
+ return /* @__PURE__ */ jsx(
21
+ RHFController,
22
+ __spreadProps(__spreadValues({}, props), {
23
+ render: (_a2) => {
24
+ var _b2 = _a2, { field } = _b2, rest = __objRest(_b2, ["field"]);
25
+ return render(__spreadValues({
26
+ field: __spreadProps(__spreadValues({}, field), {
27
+ // Handles both direct values (onChange("value")) and events (onChange(event))
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ onChange: (...event) => {
30
+ var _a3, _b3, _c;
31
+ const value = (_c = (_b3 = (_a3 = event[0]) == null ? void 0 : _a3.target) == null ? void 0 : _b3.value) != null ? _c : event[0];
32
+ field.onChange(toNullishString(value));
33
+ },
34
+ // Convert null/undefined to empty string for UI display
35
+ value: fromNullishString(field.value)
36
+ })
37
+ }, rest));
38
+ }
39
+ })
40
+ );
41
+ };
42
+ var Controller_default = Controller;
43
+
44
+ // src/Controller/index.ts
45
+ var Controller_default2 = Controller_default;
46
+
47
+ export {
48
+ Controller_default,
49
+ Controller_default2
50
+ };
51
+ //# sourceMappingURL=chunk-ZI22WT2P.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Controller/Controller.tsx","../src/Controller/index.ts"],"sourcesContent":["import type {\n ControllerFieldState,\n ControllerRenderProps,\n ControllerProps as RHFControllerProps,\n UseFormStateReturn,\n} from 'react-hook-form';\n\nimport { Controller as RHFController } from 'react-hook-form';\n\nimport { fromNullishString, toNullishString } from '../helpers';\n\nexport type ControllerProps<TFieldValues extends object = object> = Omit<\n RHFControllerProps<TFieldValues>,\n 'render'\n> & {\n /**\n * Render prop that receives the form control props with nullish string handling.\n * The field object contains all the properties needed to control an input:\n * - onChange: Handles both direct value changes and event objects\n * - value: Always provides a string value, converting null/undefined to empty string\n * - name, ref, etc: Other standard field properties from react-hook-form\n */\n render: (props: {\n field: Omit<ControllerRenderProps<TFieldValues>, 'onChange' | 'value'> & {\n // Using any[] to support both direct value changes and React synthetic events\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onChange: (...event: any[]) => void;\n value: string;\n };\n formState: UseFormStateReturn<TFieldValues>;\n fieldState: ControllerFieldState;\n }) => React.ReactElement;\n};\n\n/**\n * A wrapper around react-hook-form's Controller that transparently handles nullish string conversions.\n *\n * Key features:\n * 1. Empty strings ('') in the UI are stored as null in form state\n * 2. Null/undefined values in form state are displayed as empty strings in the UI\n * 3. Handles both direct value changes and React synthetic events\n * 4. Maintains the same API as react-hook-form's Controller\n *\n * This enables consistent handling of empty/null values while keeping a clean API\n * for form inputs that expect string values.\n *\n * @see https://react-hook-form.com/docs/usecontroller/controller\n */\nconst Controller = <TFieldValues extends object = object>({\n render,\n ...props\n}: ControllerProps<TFieldValues>) => {\n return (\n <RHFController<TFieldValues>\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n render={({ field, ...rest }) => {\n return render({\n field: {\n ...field,\n // Handles both direct values (onChange(\"value\")) and events (onChange(event))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onChange: (...event: any[]) => {\n const value = event[0]?.target?.value ?? event[0];\n field.onChange(toNullishString(value));\n },\n // Convert null/undefined to empty string for UI display\n value: fromNullishString(field.value) as string,\n },\n ...rest,\n });\n }}\n />\n );\n};\n\nexport default Controller;\n","import Controller from './Controller';\n\nexport type { ControllerProps } from './Controller';\n\nexport { Controller };\n\nexport default Controller;\n"],"mappings":";;;;;;;;;;;AAOA,SAAS,cAAc,qBAAqB;AA8CxC;AALJ,IAAM,aAAa,CAAuC,OAGrB;AAHqB,eACxD;AAAA;AAAA,EAjDF,IAgD0D,IAErD,kBAFqD,IAErD;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC;AAAA,qCAEK,QAFL;AAAA,MAGC,QAAQ,CAACA,QAAuB;AAAvB,YAAAC,MAAAD,KAAE,QAxDjB,IAwDeC,KAAY,iBAAZA,KAAY,CAAV;AACT,eAAO,OAAO;AAAA,UACZ,OAAO,iCACF,QADE;AAAA;AAAA;AAAA,YAIL,UAAU,IAAI,UAAiB;AA9D3C,kBAAAD,KAAAC,KAAA;AA+Dc,oBAAM,SAAQ,MAAAA,OAAAD,MAAA,MAAM,CAAC,MAAP,gBAAAA,IAAU,WAAV,gBAAAC,IAAkB,UAAlB,YAA2B,MAAM,CAAC;AAChD,oBAAM,SAAS,gBAAgB,KAAK,CAAC;AAAA,YACvC;AAAA;AAAA,YAEA,OAAO,kBAAkB,MAAM,KAAK;AAAA,UACtC;AAAA,WACG,KACJ;AAAA,MACH;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,qBAAQ;;;ACtEf,IAAOC,sBAAQ;","names":["_a","_b","Controller_default"]}
@@ -1,7 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkBBB4FEY6cjs = require('../chunk-BBB4FEY6.cjs');
4
3
 
5
4
 
6
- exports.slugify = _chunkBBB4FEY6cjs.slugify;
5
+
6
+ var _chunkCESGUF6Fcjs = require('../chunk-CESGUF6F.cjs');
7
+ require('../chunk-4DAZAO6Y.cjs');
8
+
9
+
10
+
11
+
12
+
13
+ exports.fromNullishString = _chunkCESGUF6Fcjs.fromNullishString; exports.toFormFormat = _chunkCESGUF6Fcjs.toFormFormat; exports.toNullishString = _chunkCESGUF6Fcjs.toNullishString; exports.toValidationFormat = _chunkCESGUF6Fcjs.toValidationFormat;
7
14
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/helpers/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,4CAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/helpers/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/helpers/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACF,uPAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/helpers/index.cjs"}
@@ -1,5 +1,68 @@
1
- import { Options } from 'slug';
1
+ /**
2
+ * Converts marker strings back to their original values when processing arrays
3
+ */
4
+ declare const fromNullishString: (value: unknown) => unknown;
5
+ /**
6
+ * Converts null/falsy values to marker strings for JSON processing
7
+ */
8
+ declare const toNullishString: (value: unknown) => unknown;
9
+ /**
10
+ * Converts field values to a format suitable for forms by:
11
+ * - Converting array values to their string markers to preserve null/falsy values
12
+ * - Removing empty strings and null values from objects
13
+ *
14
+ * This conversion is required because React Hook Form does not support arrays with
15
+ * flat values (string, number, boolean, null). Array fields must contain objects.
16
+ * We work around this by converting array values to string markers.
17
+ *
18
+ * @example
19
+ * const fields = {
20
+ * name: 'John',
21
+ * scores: [0, null, 75, false],
22
+ * contact: {
23
+ * email: '',
24
+ * phone: null,
25
+ * address: '123 Main St'
26
+ * }
27
+ * };
28
+ *
29
+ * // Result:
30
+ * {
31
+ * name: 'John',
32
+ * scores: ['__ZERO__', '__NULL__', 75, '__FALSE__'],
33
+ * contact: {
34
+ * address: '123 Main St'
35
+ * }
36
+ * }
37
+ */
38
+ declare const toFormFormat: (fields: Record<string, unknown>) => Record<string, unknown>;
39
+ /**
40
+ * Converts form state to a format suitable for validation by:
41
+ * - Converting array string markers (__NULL__, __FALSE__, __ZERO__) back to their original values
42
+ * - Converting _NULL__ to null
43
+ * - Removing fields that contain empty strings, null, or any string markers representing null/empty values
44
+ *
45
+ * @example
46
+ * const formState = {
47
+ * name: 'John',
48
+ * scores: [75, '__ZERO__', '_NULL__', '__FALSE__'],
49
+ * email: null,
50
+ * phone: '__NULL__',
51
+ * contact: {
52
+ * address: '123 Main St',
53
+ * fax: null
54
+ * }
55
+ * };
56
+ *
57
+ * // Result:
58
+ * {
59
+ * name: 'John',
60
+ * scores: [75, 0, null, false],
61
+ * contact: {
62
+ * address: '123 Main St'
63
+ * }
64
+ * }
65
+ */
66
+ declare const toValidationFormat: (formState: Record<string, unknown>) => Record<string, unknown>;
2
67
 
3
- declare const slugify: (string: string, options?: Options) => string;
4
-
5
- export { slugify };
68
+ export { fromNullishString, toFormFormat, toNullishString, toValidationFormat };
@@ -1,5 +1,68 @@
1
- import { Options } from 'slug';
1
+ /**
2
+ * Converts marker strings back to their original values when processing arrays
3
+ */
4
+ declare const fromNullishString: (value: unknown) => unknown;
5
+ /**
6
+ * Converts null/falsy values to marker strings for JSON processing
7
+ */
8
+ declare const toNullishString: (value: unknown) => unknown;
9
+ /**
10
+ * Converts field values to a format suitable for forms by:
11
+ * - Converting array values to their string markers to preserve null/falsy values
12
+ * - Removing empty strings and null values from objects
13
+ *
14
+ * This conversion is required because React Hook Form does not support arrays with
15
+ * flat values (string, number, boolean, null). Array fields must contain objects.
16
+ * We work around this by converting array values to string markers.
17
+ *
18
+ * @example
19
+ * const fields = {
20
+ * name: 'John',
21
+ * scores: [0, null, 75, false],
22
+ * contact: {
23
+ * email: '',
24
+ * phone: null,
25
+ * address: '123 Main St'
26
+ * }
27
+ * };
28
+ *
29
+ * // Result:
30
+ * {
31
+ * name: 'John',
32
+ * scores: ['__ZERO__', '__NULL__', 75, '__FALSE__'],
33
+ * contact: {
34
+ * address: '123 Main St'
35
+ * }
36
+ * }
37
+ */
38
+ declare const toFormFormat: (fields: Record<string, unknown>) => Record<string, unknown>;
39
+ /**
40
+ * Converts form state to a format suitable for validation by:
41
+ * - Converting array string markers (__NULL__, __FALSE__, __ZERO__) back to their original values
42
+ * - Converting _NULL__ to null
43
+ * - Removing fields that contain empty strings, null, or any string markers representing null/empty values
44
+ *
45
+ * @example
46
+ * const formState = {
47
+ * name: 'John',
48
+ * scores: [75, '__ZERO__', '_NULL__', '__FALSE__'],
49
+ * email: null,
50
+ * phone: '__NULL__',
51
+ * contact: {
52
+ * address: '123 Main St',
53
+ * fax: null
54
+ * }
55
+ * };
56
+ *
57
+ * // Result:
58
+ * {
59
+ * name: 'John',
60
+ * scores: [75, 0, null, false],
61
+ * contact: {
62
+ * address: '123 Main St'
63
+ * }
64
+ * }
65
+ */
66
+ declare const toValidationFormat: (formState: Record<string, unknown>) => Record<string, unknown>;
2
67
 
3
- declare const slugify: (string: string, options?: Options) => string;
4
-
5
- export { slugify };
68
+ export { fromNullishString, toFormFormat, toNullishString, toValidationFormat };
@@ -1,7 +1,14 @@
1
1
  import {
2
- slugify
3
- } from "../chunk-V46BHM2U.js";
2
+ fromNullishString,
3
+ toFormFormat,
4
+ toNullishString,
5
+ toValidationFormat
6
+ } from "../chunk-UAV6PVB4.js";
7
+ import "../chunk-CRTRMMJ7.js";
4
8
  export {
5
- slugify
9
+ fromNullishString,
10
+ toFormFormat,
11
+ toNullishString,
12
+ toValidationFormat
6
13
  };
7
14
  //# sourceMappingURL=index.js.map
@@ -2,11 +2,14 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkXJWEUCV3cjs = require('../chunk-XJWEUCV3.cjs');
6
- require('../chunk-BBB4FEY6.cjs');
7
5
 
6
+ var _chunkIUVEFLF3cjs = require('../chunk-IUVEFLF3.cjs');
7
+ require('../chunk-CESGUF6F.cjs');
8
+ require('../chunk-4DAZAO6Y.cjs');
8
9
 
9
10
 
10
11
 
11
- exports.checkFieldIsRequired = _chunkXJWEUCV3cjs.checkFieldIsRequired; exports.useFieldArray = _chunkXJWEUCV3cjs.useFieldArray; exports.useFormContext = _chunkXJWEUCV3cjs.useFormContext;
12
+
13
+
14
+ exports.checkFieldIsRequired = _chunkIUVEFLF3cjs.checkFieldIsRequired; exports.useFieldArray = _chunkIUVEFLF3cjs.useFieldArray; exports.useFormContext = _chunkIUVEFLF3cjs.useFormContext; exports.useInput = _chunkIUVEFLF3cjs.useInput;
12
15
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/hooks/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACF,0LAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/hooks/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/hooks/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACF,yOAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/hooks/index.cjs"}
@@ -3,6 +3,7 @@ import { FieldError } from 'react-hook-form';
3
3
  export { useFieldArray } from 'react-hook-form';
4
4
  import { D as DebugModeSettings } from '../FormContext-ldCpxKnY.cjs';
5
5
  import { VetoInstance } from '@fuf-stack/veto';
6
+ export { useInput } from '@heroui/input';
6
7
 
7
8
  /** Schema check whether a field is required or optional */
8
9
  declare const checkFieldIsRequired: (validation: VetoInstance, path: string[]) => boolean;
@@ -20,10 +21,10 @@ declare const useFormContext: () => {
20
21
  isValidating: boolean;
21
22
  };
22
23
  formState: react_hook_form.FormState<react_hook_form.FieldValues>;
23
- debugMode: "debug" | "debug-testids" | "off" | "disabled";
24
+ debugMode: "disabled" | "debug" | "debug-testids" | "off";
24
25
  debugModeSettings?: DebugModeSettings;
25
26
  preventSubmit: (prevent: boolean) => void;
26
- setDebugMode: (debugMode: "debug" | "debug-testids" | "off" | "disabled") => void;
27
+ setDebugMode: (debugMode: "disabled" | "debug" | "debug-testids" | "off") => void;
27
28
  validation?: VetoInstance;
28
29
  watch: react_hook_form.UseFormWatch<react_hook_form.FieldValues>;
29
30
  getValues: react_hook_form.UseFormGetValues<react_hook_form.FieldValues>;
@@ -3,6 +3,7 @@ import { FieldError } from 'react-hook-form';
3
3
  export { useFieldArray } from 'react-hook-form';
4
4
  import { D as DebugModeSettings } from '../FormContext-ldCpxKnY.js';
5
5
  import { VetoInstance } from '@fuf-stack/veto';
6
+ export { useInput } from '@heroui/input';
6
7
 
7
8
  /** Schema check whether a field is required or optional */
8
9
  declare const checkFieldIsRequired: (validation: VetoInstance, path: string[]) => boolean;
@@ -20,10 +21,10 @@ declare const useFormContext: () => {
20
21
  isValidating: boolean;
21
22
  };
22
23
  formState: react_hook_form.FormState<react_hook_form.FieldValues>;
23
- debugMode: "debug" | "debug-testids" | "off" | "disabled";
24
+ debugMode: "disabled" | "debug" | "debug-testids" | "off";
24
25
  debugModeSettings?: DebugModeSettings;
25
26
  preventSubmit: (prevent: boolean) => void;
26
- setDebugMode: (debugMode: "debug" | "debug-testids" | "off" | "disabled") => void;
27
+ setDebugMode: (debugMode: "disabled" | "debug" | "debug-testids" | "off") => void;
27
28
  validation?: VetoInstance;
28
29
  watch: react_hook_form.UseFormWatch<react_hook_form.FieldValues>;
29
30
  getValues: react_hook_form.UseFormGetValues<react_hook_form.FieldValues>;
@@ -1,12 +1,15 @@
1
1
  import {
2
2
  checkFieldIsRequired,
3
3
  useFieldArray,
4
- useFormContext
5
- } from "../chunk-BZAPTLMC.js";
6
- import "../chunk-V46BHM2U.js";
4
+ useFormContext,
5
+ useInput
6
+ } from "../chunk-T4N6TMUL.js";
7
+ import "../chunk-UAV6PVB4.js";
8
+ import "../chunk-CRTRMMJ7.js";
7
9
  export {
8
10
  checkFieldIsRequired,
9
11
  useFieldArray,
10
- useFormContext
12
+ useFormContext,
13
+ useInput
11
14
  };
12
15
  //# sourceMappingURL=index.js.map