@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,14 +1,15 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkXCZKNTFTcjs = require('../chunk-XCZKNTFT.cjs');
5
- require('../chunk-VQWKXSHW.cjs');
4
+ var _chunkBDVAK232cjs = require('../chunk-BDVAK232.cjs');
5
+ require('../chunk-PHGFXKPU.cjs');
6
6
  require('../chunk-JU5RT22Y.cjs');
7
- require('../chunk-OHJYXA6R.cjs');
8
- require('../chunk-XJWEUCV3.cjs');
9
- require('../chunk-BBB4FEY6.cjs');
7
+ require('../chunk-OE5IW4ZG.cjs');
8
+ require('../chunk-IUVEFLF3.cjs');
9
+ require('../chunk-CESGUF6F.cjs');
10
+ require('../chunk-4DAZAO6Y.cjs');
10
11
 
11
12
 
12
13
 
13
- exports.CheckboxGroup = _chunkXCZKNTFTcjs.CheckboxGroup_default; exports.default = _chunkXCZKNTFTcjs.CheckboxGroup_default2;
14
+ exports.CheckboxGroup = _chunkBDVAK232cjs.CheckboxGroup_default; exports.default = _chunkBDVAK232cjs.CheckboxGroup_default2;
14
15
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/CheckboxGroup/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACF,4HAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/CheckboxGroup/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/CheckboxGroup/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACF,4HAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/CheckboxGroup/index.cjs"}
@@ -1,5 +1,5 @@
1
- import { C as CheckboxGroup } from '../CheckboxGroup-o-qWkWe1.cjs';
2
- export { b as CheckboxGroupOption, a as CheckboxGroupProps } from '../CheckboxGroup-o-qWkWe1.cjs';
1
+ import { C as CheckboxGroup } from '../CheckboxGroup-fAdey3Td.cjs';
2
+ export { b as CheckboxGroupOption, a as CheckboxGroupProps } from '../CheckboxGroup-fAdey3Td.cjs';
3
3
  import 'react/jsx-runtime';
4
4
  import 'tailwind-variants/dist/config.js';
5
5
  import 'tailwind-variants';
@@ -1,5 +1,5 @@
1
- import { C as CheckboxGroup } from '../CheckboxGroup-o-qWkWe1.js';
2
- export { b as CheckboxGroupOption, a as CheckboxGroupProps } from '../CheckboxGroup-o-qWkWe1.js';
1
+ import { C as CheckboxGroup } from '../CheckboxGroup-fAdey3Td.js';
2
+ export { b as CheckboxGroupOption, a as CheckboxGroupProps } from '../CheckboxGroup-fAdey3Td.js';
3
3
  import 'react/jsx-runtime';
4
4
  import 'tailwind-variants/dist/config.js';
5
5
  import 'tailwind-variants';
@@ -1,12 +1,13 @@
1
1
  import {
2
2
  CheckboxGroup_default,
3
3
  CheckboxGroup_default2
4
- } from "../chunk-BYKOCVCK.js";
5
- import "../chunk-KOKIM2ND.js";
4
+ } from "../chunk-WKJN5A2E.js";
5
+ import "../chunk-ZI22WT2P.js";
6
6
  import "../chunk-2CRY7VDQ.js";
7
- import "../chunk-WKM2D7LF.js";
8
- import "../chunk-BZAPTLMC.js";
9
- import "../chunk-V46BHM2U.js";
7
+ import "../chunk-ASPOGQPS.js";
8
+ import "../chunk-T4N6TMUL.js";
9
+ import "../chunk-UAV6PVB4.js";
10
+ import "../chunk-CRTRMMJ7.js";
10
11
  export {
11
12
  CheckboxGroup_default as CheckboxGroup,
12
13
  CheckboxGroup_default2 as default
@@ -123,7 +123,7 @@ interface CheckboxGroupProps extends VariantProps {
123
123
  testId?: string;
124
124
  }
125
125
  /**
126
- * CheckboxGroup component based on [NextUI CheckboxGroup](https://nextui.org/docs/components/checkbox-group)
126
+ * CheckboxGroup component based on [HeroUI CheckboxGroup](https://www.heroui.com//docs/components/checkbox-group)
127
127
  */
128
128
  declare const CheckboxGroup: ({ className, label, options, disabled, name, testId: _testId, }: CheckboxGroupProps) => react_jsx_runtime.JSX.Element;
129
129
 
@@ -123,7 +123,7 @@ interface CheckboxGroupProps extends VariantProps {
123
123
  testId?: string;
124
124
  }
125
125
  /**
126
- * CheckboxGroup component based on [NextUI CheckboxGroup](https://nextui.org/docs/components/checkbox-group)
126
+ * CheckboxGroup component based on [HeroUI CheckboxGroup](https://www.heroui.com//docs/components/checkbox-group)
127
127
  */
128
128
  declare const CheckboxGroup: ({ className, label, options, disabled, name, testId: _testId, }: CheckboxGroupProps) => react_jsx_runtime.JSX.Element;
129
129
 
@@ -1,9 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkVQWKXSHWcjs = require('../chunk-VQWKXSHW.cjs');
4
+ var _chunkPHGFXKPUcjs = require('../chunk-PHGFXKPU.cjs');
5
+ require('../chunk-CESGUF6F.cjs');
6
+ require('../chunk-4DAZAO6Y.cjs');
5
7
 
6
8
 
7
9
 
8
- exports.Controller = _chunkVQWKXSHWcjs.Controller; exports.default = _chunkVQWKXSHWcjs.Controller_default;
10
+ exports.Controller = _chunkPHGFXKPUcjs.Controller_default; exports.default = _chunkPHGFXKPUcjs.Controller_default2;
9
11
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/Controller/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACF,0GAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/Controller/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/Controller/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACF,mHAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/Controller/index.cjs"}
@@ -1,4 +1,8 @@
1
- import { Controller } from 'react-hook-form';
2
- export { Controller, ControllerProps, Controller as default } from 'react-hook-form';
1
+ import { C as Controller } from '../Controller-8Nqugui5.cjs';
2
+ export { a as ControllerProps } from '../Controller-8Nqugui5.cjs';
3
+ import 'react/jsx-runtime';
4
+ import 'react-hook-form';
3
5
 
4
- /** @see https://react-hook-form.com/docs/usecontroller/controller */
6
+
7
+
8
+ export { Controller, Controller as default };
@@ -1,4 +1,8 @@
1
- import { Controller } from 'react-hook-form';
2
- export { Controller, ControllerProps, Controller as default } from 'react-hook-form';
1
+ import { C as Controller } from '../Controller-8Nqugui5.js';
2
+ export { a as ControllerProps } from '../Controller-8Nqugui5.js';
3
+ import 'react/jsx-runtime';
4
+ import 'react-hook-form';
3
5
 
4
- /** @see https://react-hook-form.com/docs/usecontroller/controller */
6
+
7
+
8
+ export { Controller, Controller as default };
@@ -1,9 +1,11 @@
1
1
  import {
2
- Controller,
3
- Controller_default
4
- } from "../chunk-KOKIM2ND.js";
2
+ Controller_default,
3
+ Controller_default2
4
+ } from "../chunk-ZI22WT2P.js";
5
+ import "../chunk-UAV6PVB4.js";
6
+ import "../chunk-CRTRMMJ7.js";
5
7
  export {
6
- Controller,
7
- Controller_default as default
8
+ Controller_default as Controller,
9
+ Controller_default2 as default
8
10
  };
9
11
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,37 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ControllerProps as ControllerProps$1, ControllerRenderProps, UseFormStateReturn, ControllerFieldState } from 'react-hook-form';
3
+
4
+ type ControllerProps<TFieldValues extends object = object> = Omit<ControllerProps$1<TFieldValues>, 'render'> & {
5
+ /**
6
+ * Render prop that receives the form control props with nullish string handling.
7
+ * The field object contains all the properties needed to control an input:
8
+ * - onChange: Handles both direct value changes and event objects
9
+ * - value: Always provides a string value, converting null/undefined to empty string
10
+ * - name, ref, etc: Other standard field properties from react-hook-form
11
+ */
12
+ render: (props: {
13
+ field: Omit<ControllerRenderProps<TFieldValues>, 'onChange' | 'value'> & {
14
+ onChange: (...event: any[]) => void;
15
+ value: string;
16
+ };
17
+ formState: UseFormStateReturn<TFieldValues>;
18
+ fieldState: ControllerFieldState;
19
+ }) => React.ReactElement;
20
+ };
21
+ /**
22
+ * A wrapper around react-hook-form's Controller that transparently handles nullish string conversions.
23
+ *
24
+ * Key features:
25
+ * 1. Empty strings ('') in the UI are stored as null in form state
26
+ * 2. Null/undefined values in form state are displayed as empty strings in the UI
27
+ * 3. Handles both direct value changes and React synthetic events
28
+ * 4. Maintains the same API as react-hook-form's Controller
29
+ *
30
+ * This enables consistent handling of empty/null values while keeping a clean API
31
+ * for form inputs that expect string values.
32
+ *
33
+ * @see https://react-hook-form.com/docs/usecontroller/controller
34
+ */
35
+ declare const Controller: <TFieldValues extends object = object>({ render, ...props }: ControllerProps<TFieldValues>) => react_jsx_runtime.JSX.Element;
36
+
37
+ export { Controller as C, type ControllerProps as a };
@@ -0,0 +1,37 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ControllerProps as ControllerProps$1, ControllerRenderProps, UseFormStateReturn, ControllerFieldState } from 'react-hook-form';
3
+
4
+ type ControllerProps<TFieldValues extends object = object> = Omit<ControllerProps$1<TFieldValues>, 'render'> & {
5
+ /**
6
+ * Render prop that receives the form control props with nullish string handling.
7
+ * The field object contains all the properties needed to control an input:
8
+ * - onChange: Handles both direct value changes and event objects
9
+ * - value: Always provides a string value, converting null/undefined to empty string
10
+ * - name, ref, etc: Other standard field properties from react-hook-form
11
+ */
12
+ render: (props: {
13
+ field: Omit<ControllerRenderProps<TFieldValues>, 'onChange' | 'value'> & {
14
+ onChange: (...event: any[]) => void;
15
+ value: string;
16
+ };
17
+ formState: UseFormStateReturn<TFieldValues>;
18
+ fieldState: ControllerFieldState;
19
+ }) => React.ReactElement;
20
+ };
21
+ /**
22
+ * A wrapper around react-hook-form's Controller that transparently handles nullish string conversions.
23
+ *
24
+ * Key features:
25
+ * 1. Empty strings ('') in the UI are stored as null in form state
26
+ * 2. Null/undefined values in form state are displayed as empty strings in the UI
27
+ * 3. Handles both direct value changes and React synthetic events
28
+ * 4. Maintains the same API as react-hook-form's Controller
29
+ *
30
+ * This enables consistent handling of empty/null values while keeping a clean API
31
+ * for form inputs that expect string values.
32
+ *
33
+ * @see https://react-hook-form.com/docs/usecontroller/controller
34
+ */
35
+ declare const Controller: <TFieldValues extends object = object>({ render, ...props }: ControllerProps<TFieldValues>) => react_jsx_runtime.JSX.Element;
36
+
37
+ export { Controller as C, type ControllerProps as a };
@@ -1,13 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkHOETR36Jcjs = require('../chunk-HOETR36J.cjs');
4
+ var _chunkTJESSWIBcjs = require('../chunk-TJESSWIB.cjs');
5
5
  require('../chunk-JU5RT22Y.cjs');
6
- require('../chunk-OHJYXA6R.cjs');
7
- require('../chunk-XJWEUCV3.cjs');
8
- require('../chunk-BBB4FEY6.cjs');
6
+ require('../chunk-OE5IW4ZG.cjs');
7
+ require('../chunk-IUVEFLF3.cjs');
8
+ require('../chunk-CESGUF6F.cjs');
9
+ require('../chunk-4DAZAO6Y.cjs');
9
10
 
10
11
 
11
12
 
12
- exports.FieldArray = _chunkHOETR36Jcjs.FieldArray_default; exports.default = _chunkHOETR36Jcjs.FieldArray_default2;
13
+ exports.FieldArray = _chunkTJESSWIBcjs.FieldArray_default; exports.default = _chunkTJESSWIBcjs.FieldArray_default2;
13
14
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/FieldArray/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACF,mHAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/FieldArray/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/FieldArray/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACF,mHAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/FieldArray/index.cjs"}
@@ -1,8 +1,10 @@
1
- import { F as FieldArray } from '../FieldArray-DD9z-xZ3.cjs';
2
- export { c as FieldArrayFieldChildren, b as FieldArrayHideOption, a as FieldArrayProps } from '../FieldArray-DD9z-xZ3.cjs';
1
+ import { F as FieldArray } from '../FieldArray-AqM2XKIh.cjs';
2
+ export { a as FieldArrayChildrenRenderFn, b as FieldArrayFeatures, c as FieldArrayProps } from '../FieldArray-AqM2XKIh.cjs';
3
3
  import 'react/jsx-runtime';
4
+ import 'tailwind-variants/dist/config.js';
5
+ import 'tailwind-variants';
6
+ import '@fuf-stack/pixel-utils';
4
7
  import 'react';
5
- import 'react-hook-form';
6
8
 
7
9
 
8
10
 
@@ -1,8 +1,10 @@
1
- import { F as FieldArray } from '../FieldArray-DD9z-xZ3.js';
2
- export { c as FieldArrayFieldChildren, b as FieldArrayHideOption, a as FieldArrayProps } from '../FieldArray-DD9z-xZ3.js';
1
+ import { F as FieldArray } from '../FieldArray-AqM2XKIh.js';
2
+ export { a as FieldArrayChildrenRenderFn, b as FieldArrayFeatures, c as FieldArrayProps } from '../FieldArray-AqM2XKIh.js';
3
3
  import 'react/jsx-runtime';
4
+ import 'tailwind-variants/dist/config.js';
5
+ import 'tailwind-variants';
6
+ import '@fuf-stack/pixel-utils';
4
7
  import 'react';
5
- import 'react-hook-form';
6
8
 
7
9
 
8
10
 
@@ -1,11 +1,12 @@
1
1
  import {
2
2
  FieldArray_default,
3
3
  FieldArray_default2
4
- } from "../chunk-Y53IHK6B.js";
4
+ } from "../chunk-IBQCNI5H.js";
5
5
  import "../chunk-2CRY7VDQ.js";
6
- import "../chunk-WKM2D7LF.js";
7
- import "../chunk-BZAPTLMC.js";
8
- import "../chunk-V46BHM2U.js";
6
+ import "../chunk-ASPOGQPS.js";
7
+ import "../chunk-T4N6TMUL.js";
8
+ import "../chunk-UAV6PVB4.js";
9
+ import "../chunk-CRTRMMJ7.js";
9
10
  export {
10
11
  FieldArray_default as FieldArray,
11
12
  FieldArray_default2 as default
@@ -0,0 +1,151 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as tailwind_variants_dist_config_js from 'tailwind-variants/dist/config.js';
3
+ import * as tailwind_variants from 'tailwind-variants';
4
+ import { TVProps, TVClassName } from '@fuf-stack/pixel-utils';
5
+ import { JSX } from 'react';
6
+
7
+ type FieldArrayElementMethods = {
8
+ /** Add new element at end */
9
+ append: () => void;
10
+ /** Clone current element */
11
+ duplicate: () => void;
12
+ /** Add new element after current */
13
+ insert: () => void;
14
+ /** Remove current element */
15
+ remove: () => void;
16
+ };
17
+
18
+ type VariantProps = TVProps<typeof fieldArrayVariants>;
19
+ type ClassName = TVClassName<typeof fieldArrayVariants>;
20
+ type FieldArrayChildrenRenderFn = (args: {
21
+ index: number;
22
+ length: number;
23
+ methods: FieldArrayElementMethods;
24
+ name: string;
25
+ testId: string;
26
+ }) => JSX.Element;
27
+ interface FieldArrayFeatures {
28
+ /** enables duplicating existing elements */
29
+ duplicate?: boolean;
30
+ /** enables inserting new elements after existing elements */
31
+ insertAfter?: boolean;
32
+ /** enables sorting by drag-n-drop */
33
+ sortable?: boolean;
34
+ }
35
+ interface FieldArrayProps extends FieldArrayFeatures, VariantProps {
36
+ /** text of the append element button */
37
+ appendButtonText: string;
38
+ /** function that renders the children with provided Properties. */
39
+ children: FieldArrayChildrenRenderFn;
40
+ /** CSS class name */
41
+ className?: ClassName;
42
+ elementInitialValue?: unknown;
43
+ /** label of the field array */
44
+ label?: React.ReactNode;
45
+ /** when true last element can not be deleted and will be shown even if empty */
46
+ lastElementNotDeletable?: boolean;
47
+ /** form field name */
48
+ name: string;
49
+ /** HTML data-testid attribute used in e2e tests */
50
+ testId?: string;
51
+ }
52
+
53
+ declare const fieldArrayVariants: tailwind_variants.TVReturnType<{
54
+ [key: string]: {
55
+ [key: string]: tailwind_variants.ClassValue | {
56
+ label?: tailwind_variants.ClassValue;
57
+ list?: tailwind_variants.ClassValue;
58
+ appendButton?: tailwind_variants.ClassValue;
59
+ elementContent?: tailwind_variants.ClassValue;
60
+ insertAfterButton?: tailwind_variants.ClassValue;
61
+ listItem?: tailwind_variants.ClassValue;
62
+ removeButton?: tailwind_variants.ClassValue;
63
+ sortDragHandle?: tailwind_variants.ClassValue;
64
+ };
65
+ };
66
+ } | {
67
+ [x: string]: {
68
+ [x: string]: tailwind_variants.ClassValue | {
69
+ label?: tailwind_variants.ClassValue;
70
+ list?: tailwind_variants.ClassValue;
71
+ appendButton?: tailwind_variants.ClassValue;
72
+ elementContent?: tailwind_variants.ClassValue;
73
+ insertAfterButton?: tailwind_variants.ClassValue;
74
+ listItem?: tailwind_variants.ClassValue;
75
+ removeButton?: tailwind_variants.ClassValue;
76
+ sortDragHandle?: tailwind_variants.ClassValue;
77
+ };
78
+ };
79
+ } | {}, {
80
+ appendButton: string;
81
+ elementContent: string;
82
+ insertAfterButton: string;
83
+ label: string;
84
+ list: string;
85
+ listItem: string;
86
+ removeButton: string;
87
+ sortDragHandle: string;
88
+ }, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
89
+ [key: string]: {
90
+ [key: string]: tailwind_variants.ClassValue | {
91
+ label?: tailwind_variants.ClassValue;
92
+ list?: tailwind_variants.ClassValue;
93
+ appendButton?: tailwind_variants.ClassValue;
94
+ elementContent?: tailwind_variants.ClassValue;
95
+ insertAfterButton?: tailwind_variants.ClassValue;
96
+ listItem?: tailwind_variants.ClassValue;
97
+ removeButton?: tailwind_variants.ClassValue;
98
+ sortDragHandle?: tailwind_variants.ClassValue;
99
+ };
100
+ };
101
+ } | {}>, {
102
+ [key: string]: {
103
+ [key: string]: tailwind_variants.ClassValue | {
104
+ label?: tailwind_variants.ClassValue;
105
+ list?: tailwind_variants.ClassValue;
106
+ appendButton?: tailwind_variants.ClassValue;
107
+ elementContent?: tailwind_variants.ClassValue;
108
+ insertAfterButton?: tailwind_variants.ClassValue;
109
+ listItem?: tailwind_variants.ClassValue;
110
+ removeButton?: tailwind_variants.ClassValue;
111
+ sortDragHandle?: tailwind_variants.ClassValue;
112
+ };
113
+ };
114
+ } | {}, {
115
+ appendButton: string;
116
+ elementContent: string;
117
+ insertAfterButton: string;
118
+ label: string;
119
+ list: string;
120
+ listItem: string;
121
+ removeButton: string;
122
+ sortDragHandle: string;
123
+ }, tailwind_variants.TVReturnType<unknown, {
124
+ appendButton: string;
125
+ elementContent: string;
126
+ insertAfterButton: string;
127
+ label: string;
128
+ list: string;
129
+ listItem: string;
130
+ removeButton: string;
131
+ sortDragHandle: string;
132
+ }, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
133
+ [key: string]: {
134
+ [key: string]: tailwind_variants.ClassValue | {
135
+ label?: tailwind_variants.ClassValue;
136
+ list?: tailwind_variants.ClassValue;
137
+ appendButton?: tailwind_variants.ClassValue;
138
+ elementContent?: tailwind_variants.ClassValue;
139
+ insertAfterButton?: tailwind_variants.ClassValue;
140
+ listItem?: tailwind_variants.ClassValue;
141
+ removeButton?: tailwind_variants.ClassValue;
142
+ sortDragHandle?: tailwind_variants.ClassValue;
143
+ };
144
+ };
145
+ } | {}>, unknown, unknown, undefined>>;
146
+ /**
147
+ * FieldArray component using TODO
148
+ */
149
+ declare const FieldArray: ({ appendButtonText, children, className: _className, duplicate, elementInitialValue: _elementInitialValue, insertAfter, label: _label, lastElementNotDeletable, name, sortable, testId: _testId, }: FieldArrayProps) => react_jsx_runtime.JSX.Element;
150
+
151
+ export { FieldArray as F, type FieldArrayChildrenRenderFn as a, type FieldArrayFeatures as b, type FieldArrayProps as c };
@@ -0,0 +1,151 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as tailwind_variants_dist_config_js from 'tailwind-variants/dist/config.js';
3
+ import * as tailwind_variants from 'tailwind-variants';
4
+ import { TVProps, TVClassName } from '@fuf-stack/pixel-utils';
5
+ import { JSX } from 'react';
6
+
7
+ type FieldArrayElementMethods = {
8
+ /** Add new element at end */
9
+ append: () => void;
10
+ /** Clone current element */
11
+ duplicate: () => void;
12
+ /** Add new element after current */
13
+ insert: () => void;
14
+ /** Remove current element */
15
+ remove: () => void;
16
+ };
17
+
18
+ type VariantProps = TVProps<typeof fieldArrayVariants>;
19
+ type ClassName = TVClassName<typeof fieldArrayVariants>;
20
+ type FieldArrayChildrenRenderFn = (args: {
21
+ index: number;
22
+ length: number;
23
+ methods: FieldArrayElementMethods;
24
+ name: string;
25
+ testId: string;
26
+ }) => JSX.Element;
27
+ interface FieldArrayFeatures {
28
+ /** enables duplicating existing elements */
29
+ duplicate?: boolean;
30
+ /** enables inserting new elements after existing elements */
31
+ insertAfter?: boolean;
32
+ /** enables sorting by drag-n-drop */
33
+ sortable?: boolean;
34
+ }
35
+ interface FieldArrayProps extends FieldArrayFeatures, VariantProps {
36
+ /** text of the append element button */
37
+ appendButtonText: string;
38
+ /** function that renders the children with provided Properties. */
39
+ children: FieldArrayChildrenRenderFn;
40
+ /** CSS class name */
41
+ className?: ClassName;
42
+ elementInitialValue?: unknown;
43
+ /** label of the field array */
44
+ label?: React.ReactNode;
45
+ /** when true last element can not be deleted and will be shown even if empty */
46
+ lastElementNotDeletable?: boolean;
47
+ /** form field name */
48
+ name: string;
49
+ /** HTML data-testid attribute used in e2e tests */
50
+ testId?: string;
51
+ }
52
+
53
+ declare const fieldArrayVariants: tailwind_variants.TVReturnType<{
54
+ [key: string]: {
55
+ [key: string]: tailwind_variants.ClassValue | {
56
+ label?: tailwind_variants.ClassValue;
57
+ list?: tailwind_variants.ClassValue;
58
+ appendButton?: tailwind_variants.ClassValue;
59
+ elementContent?: tailwind_variants.ClassValue;
60
+ insertAfterButton?: tailwind_variants.ClassValue;
61
+ listItem?: tailwind_variants.ClassValue;
62
+ removeButton?: tailwind_variants.ClassValue;
63
+ sortDragHandle?: tailwind_variants.ClassValue;
64
+ };
65
+ };
66
+ } | {
67
+ [x: string]: {
68
+ [x: string]: tailwind_variants.ClassValue | {
69
+ label?: tailwind_variants.ClassValue;
70
+ list?: tailwind_variants.ClassValue;
71
+ appendButton?: tailwind_variants.ClassValue;
72
+ elementContent?: tailwind_variants.ClassValue;
73
+ insertAfterButton?: tailwind_variants.ClassValue;
74
+ listItem?: tailwind_variants.ClassValue;
75
+ removeButton?: tailwind_variants.ClassValue;
76
+ sortDragHandle?: tailwind_variants.ClassValue;
77
+ };
78
+ };
79
+ } | {}, {
80
+ appendButton: string;
81
+ elementContent: string;
82
+ insertAfterButton: string;
83
+ label: string;
84
+ list: string;
85
+ listItem: string;
86
+ removeButton: string;
87
+ sortDragHandle: string;
88
+ }, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
89
+ [key: string]: {
90
+ [key: string]: tailwind_variants.ClassValue | {
91
+ label?: tailwind_variants.ClassValue;
92
+ list?: tailwind_variants.ClassValue;
93
+ appendButton?: tailwind_variants.ClassValue;
94
+ elementContent?: tailwind_variants.ClassValue;
95
+ insertAfterButton?: tailwind_variants.ClassValue;
96
+ listItem?: tailwind_variants.ClassValue;
97
+ removeButton?: tailwind_variants.ClassValue;
98
+ sortDragHandle?: tailwind_variants.ClassValue;
99
+ };
100
+ };
101
+ } | {}>, {
102
+ [key: string]: {
103
+ [key: string]: tailwind_variants.ClassValue | {
104
+ label?: tailwind_variants.ClassValue;
105
+ list?: tailwind_variants.ClassValue;
106
+ appendButton?: tailwind_variants.ClassValue;
107
+ elementContent?: tailwind_variants.ClassValue;
108
+ insertAfterButton?: tailwind_variants.ClassValue;
109
+ listItem?: tailwind_variants.ClassValue;
110
+ removeButton?: tailwind_variants.ClassValue;
111
+ sortDragHandle?: tailwind_variants.ClassValue;
112
+ };
113
+ };
114
+ } | {}, {
115
+ appendButton: string;
116
+ elementContent: string;
117
+ insertAfterButton: string;
118
+ label: string;
119
+ list: string;
120
+ listItem: string;
121
+ removeButton: string;
122
+ sortDragHandle: string;
123
+ }, tailwind_variants.TVReturnType<unknown, {
124
+ appendButton: string;
125
+ elementContent: string;
126
+ insertAfterButton: string;
127
+ label: string;
128
+ list: string;
129
+ listItem: string;
130
+ removeButton: string;
131
+ sortDragHandle: string;
132
+ }, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
133
+ [key: string]: {
134
+ [key: string]: tailwind_variants.ClassValue | {
135
+ label?: tailwind_variants.ClassValue;
136
+ list?: tailwind_variants.ClassValue;
137
+ appendButton?: tailwind_variants.ClassValue;
138
+ elementContent?: tailwind_variants.ClassValue;
139
+ insertAfterButton?: tailwind_variants.ClassValue;
140
+ listItem?: tailwind_variants.ClassValue;
141
+ removeButton?: tailwind_variants.ClassValue;
142
+ sortDragHandle?: tailwind_variants.ClassValue;
143
+ };
144
+ };
145
+ } | {}>, unknown, unknown, undefined>>;
146
+ /**
147
+ * FieldArray component using TODO
148
+ */
149
+ declare const FieldArray: ({ appendButtonText, children, className: _className, duplicate, elementInitialValue: _elementInitialValue, insertAfter, label: _label, lastElementNotDeletable, name, sortable, testId: _testId, }: FieldArrayProps) => react_jsx_runtime.JSX.Element;
150
+
151
+ export { FieldArray as F, type FieldArrayChildrenRenderFn as a, type FieldArrayFeatures as b, type FieldArrayProps as c };
@@ -1,11 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkPZ4LZQI4cjs = require('../chunk-PZ4LZQI4.cjs');
5
- require('../chunk-XJWEUCV3.cjs');
6
- require('../chunk-BBB4FEY6.cjs');
4
+ var _chunkQ23XGBJ5cjs = require('../chunk-Q23XGBJ5.cjs');
5
+ require('../chunk-IUVEFLF3.cjs');
6
+ require('../chunk-CESGUF6F.cjs');
7
+ require('../chunk-4DAZAO6Y.cjs');
7
8
 
8
9
 
9
10
 
10
- exports.Form = _chunkPZ4LZQI4cjs.Form_default; exports.default = _chunkPZ4LZQI4cjs.Form_default2;
11
+ exports.Form = _chunkQ23XGBJ5cjs.Form_default; exports.default = _chunkQ23XGBJ5cjs.Form_default2;
11
12
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/Form/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACF,iGAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/Form/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/Form/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACF,iGAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/Form/index.cjs"}
@@ -1,9 +1,10 @@
1
1
  import {
2
2
  Form_default,
3
3
  Form_default2
4
- } from "../chunk-VP7WDLJM.js";
5
- import "../chunk-BZAPTLMC.js";
6
- import "../chunk-V46BHM2U.js";
4
+ } from "../chunk-DS7GUNDT.js";
5
+ import "../chunk-T4N6TMUL.js";
6
+ import "../chunk-UAV6PVB4.js";
7
+ import "../chunk-CRTRMMJ7.js";
7
8
  export {
8
9
  Form_default as Form,
9
10
  Form_default2 as default
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  var _chunk6GN255GPcjs = require('../chunk-6GN255GP.cjs');
5
+ require('../chunk-4DAZAO6Y.cjs');
5
6
 
6
7
 
7
8