@fuf-stack/uniform 0.19.3 → 0.20.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 (111) hide show
  1. package/dist/CheckboxGroup/index.cjs +3 -3
  2. package/dist/CheckboxGroup/index.d.cts +4 -3
  3. package/dist/CheckboxGroup/index.d.ts +4 -3
  4. package/dist/CheckboxGroup/index.js +2 -2
  5. package/dist/CheckboxGroup-B_1mu8Xo.d.cts +280 -0
  6. package/dist/CheckboxGroup-B_1mu8Xo.d.ts +280 -0
  7. package/dist/FieldArray/index.cjs +4 -3
  8. package/dist/FieldArray/index.cjs.map +1 -1
  9. package/dist/FieldArray/index.js +3 -2
  10. package/dist/Form/index.cjs +3 -3
  11. package/dist/Form/index.js +2 -2
  12. package/dist/Grid/index.cjs +2 -2
  13. package/dist/Grid/index.js +1 -1
  14. package/dist/Input/index.cjs +3 -3
  15. package/dist/Input/index.js +2 -2
  16. package/dist/RadioBoxes/index.cjs +3 -3
  17. package/dist/RadioBoxes/index.d.cts +2 -2
  18. package/dist/RadioBoxes/index.d.ts +2 -2
  19. package/dist/RadioBoxes/index.js +2 -2
  20. package/dist/RadioGroup/index.cjs +3 -3
  21. package/dist/RadioGroup/index.d.cts +2 -2
  22. package/dist/RadioGroup/index.d.ts +2 -2
  23. package/dist/RadioGroup/index.js +2 -2
  24. package/dist/RadioTabs/index.cjs +3 -3
  25. package/dist/RadioTabs/index.js +2 -2
  26. package/dist/Select/index.cjs +3 -3
  27. package/dist/Select/index.js +2 -2
  28. package/dist/SubmitButton/index.cjs +3 -3
  29. package/dist/SubmitButton/index.js +2 -2
  30. package/dist/Switch/index.cjs +3 -3
  31. package/dist/Switch/index.js +2 -2
  32. package/dist/TextArea/index.cjs +3 -3
  33. package/dist/TextArea/index.js +2 -2
  34. package/dist/{chunk-BPZ3U5RV.js → chunk-6G5UDAYH.js} +2 -2
  35. package/dist/{chunk-FA74PMQ3.js → chunk-7GNNET4A.js} +2 -2
  36. package/dist/{chunk-43R3EVIW.js → chunk-AQHJJ6WW.js} +2 -2
  37. package/dist/{chunk-PDCEKC3G.js → chunk-B62HKKMS.js} +2 -2
  38. package/dist/{chunk-PDCEKC3G.js.map → chunk-B62HKKMS.js.map} +1 -1
  39. package/dist/{chunk-FJTWQ6UG.js → chunk-C4WU74Y4.js} +3 -3
  40. package/dist/chunk-C4WU74Y4.js.map +1 -0
  41. package/dist/{chunk-3ISETOB3.cjs → chunk-CVCXMVCJ.cjs} +13 -10
  42. package/dist/chunk-CVCXMVCJ.cjs.map +1 -0
  43. package/dist/{chunk-EHTJ2BYB.cjs → chunk-DIVINFK2.cjs} +5 -5
  44. package/dist/{chunk-EHTJ2BYB.cjs.map → chunk-DIVINFK2.cjs.map} +1 -1
  45. package/dist/{chunk-Q5KXDJU7.cjs → chunk-EBMEIX2P.cjs} +4 -4
  46. package/dist/chunk-EBMEIX2P.cjs.map +1 -0
  47. package/dist/{chunk-F4VYFBYC.cjs → chunk-GDNP6OU3.cjs} +2 -2
  48. package/dist/chunk-GDNP6OU3.cjs.map +1 -0
  49. package/dist/{chunk-RKZQKPRJ.cjs → chunk-H5JXWAGH.cjs} +5 -5
  50. package/dist/{chunk-RKZQKPRJ.cjs.map → chunk-H5JXWAGH.cjs.map} +1 -1
  51. package/dist/{chunk-BC6ZP7TF.js → chunk-H7JL3BPU.js} +57 -27
  52. package/dist/chunk-H7JL3BPU.js.map +1 -0
  53. package/dist/{chunk-LBFJL6IA.js → chunk-HGEOXAH4.js} +7 -5
  54. package/dist/chunk-HGEOXAH4.js.map +1 -0
  55. package/dist/{chunk-M7CZ526K.js → chunk-K4E35FS6.js} +3 -3
  56. package/dist/chunk-K4E35FS6.js.map +1 -0
  57. package/dist/{chunk-3PAVDSMW.js → chunk-KJYR5Q6G.js} +2 -2
  58. package/dist/{chunk-5R7ZPSN2.js → chunk-NXTFRKYX.js} +2 -2
  59. package/dist/{chunk-5R7ZPSN2.js.map → chunk-NXTFRKYX.js.map} +1 -1
  60. package/dist/{chunk-CUDJVXZX.cjs → chunk-O46U5DHL.cjs} +9 -7
  61. package/dist/chunk-O46U5DHL.cjs.map +1 -0
  62. package/dist/{chunk-YLJC74CQ.cjs → chunk-PHK5PELP.cjs} +9 -7
  63. package/dist/chunk-PHK5PELP.cjs.map +1 -0
  64. package/dist/{chunk-4WVYRJCV.js → chunk-PSWYP5SU.js} +6 -4
  65. package/dist/chunk-PSWYP5SU.js.map +1 -0
  66. package/dist/{chunk-JWYMBKE6.cjs → chunk-PT2XYC26.cjs} +4 -4
  67. package/dist/{chunk-JWYMBKE6.cjs.map → chunk-PT2XYC26.cjs.map} +1 -1
  68. package/dist/{chunk-IYR5A3CV.cjs → chunk-R4ICWOU4.cjs} +4 -4
  69. package/dist/{chunk-IYR5A3CV.cjs.map → chunk-R4ICWOU4.cjs.map} +1 -1
  70. package/dist/{chunk-LX775YU7.js → chunk-TKE5V4IU.js} +8 -5
  71. package/dist/chunk-TKE5V4IU.js.map +1 -0
  72. package/dist/{chunk-6GN255GP.cjs → chunk-TTD3KL6E.cjs} +2 -2
  73. package/dist/{chunk-6GN255GP.cjs.map → chunk-TTD3KL6E.cjs.map} +1 -1
  74. package/dist/{chunk-BDJHUA55.cjs → chunk-UKZDZ7B3.cjs} +4 -4
  75. package/dist/{chunk-BDJHUA55.cjs.map → chunk-UKZDZ7B3.cjs.map} +1 -1
  76. package/dist/{chunk-Y33HTDL6.cjs → chunk-UN7777T3.cjs} +8 -6
  77. package/dist/chunk-UN7777T3.cjs.map +1 -0
  78. package/dist/{chunk-YLTKVPHE.cjs → chunk-UYLC4JOU.cjs} +57 -27
  79. package/dist/chunk-UYLC4JOU.cjs.map +1 -0
  80. package/dist/{chunk-YNX7IORC.js → chunk-XGRFOK3R.js} +7 -5
  81. package/dist/{chunk-YNX7IORC.js.map → chunk-XGRFOK3R.js.map} +1 -1
  82. package/dist/hooks/index.cjs +2 -2
  83. package/dist/hooks/index.js +1 -1
  84. package/dist/index.cjs +14 -14
  85. package/dist/index.d.cts +4 -4
  86. package/dist/index.d.ts +4 -4
  87. package/dist/index.js +13 -13
  88. package/package.json +6 -6
  89. package/dist/CheckboxGroup-Dh0YW4KV.d.cts +0 -132
  90. package/dist/CheckboxGroup-Dh0YW4KV.d.ts +0 -132
  91. package/dist/chunk-3ISETOB3.cjs.map +0 -1
  92. package/dist/chunk-4WVYRJCV.js.map +0 -1
  93. package/dist/chunk-BC6ZP7TF.js.map +0 -1
  94. package/dist/chunk-CUDJVXZX.cjs.map +0 -1
  95. package/dist/chunk-F4VYFBYC.cjs.map +0 -1
  96. package/dist/chunk-FJTWQ6UG.js.map +0 -1
  97. package/dist/chunk-LBFJL6IA.js.map +0 -1
  98. package/dist/chunk-LX775YU7.js.map +0 -1
  99. package/dist/chunk-M7CZ526K.js.map +0 -1
  100. package/dist/chunk-Q5KXDJU7.cjs.map +0 -1
  101. package/dist/chunk-Y33HTDL6.cjs.map +0 -1
  102. package/dist/chunk-YLJC74CQ.cjs.map +0 -1
  103. package/dist/chunk-YLTKVPHE.cjs.map +0 -1
  104. package/dist/{RadioBoxes-C61IRDCU.d.cts → RadioBoxes-BmJBBZVd.d.cts} +15 -15
  105. package/dist/{RadioBoxes-C61IRDCU.d.ts → RadioBoxes-BmJBBZVd.d.ts} +15 -15
  106. package/dist/{RadioGroup-C7I27oav.d.cts → RadioGroup-BJijfixt.d.cts} +15 -15
  107. package/dist/{RadioGroup-C7I27oav.d.ts → RadioGroup-BJijfixt.d.ts} +15 -15
  108. /package/dist/{chunk-BPZ3U5RV.js.map → chunk-6G5UDAYH.js.map} +0 -0
  109. /package/dist/{chunk-FA74PMQ3.js.map → chunk-7GNNET4A.js.map} +0 -0
  110. /package/dist/{chunk-43R3EVIW.js.map → chunk-AQHJJ6WW.js.map} +0 -0
  111. /package/dist/{chunk-3PAVDSMW.js.map → chunk-KJYR5Q6G.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Grid_default,
3
3
  Grid_default2
4
- } from "../chunk-PDCEKC3G.js";
4
+ } from "../chunk-B62HKKMS.js";
5
5
  import "../chunk-K2V4ULA2.js";
6
6
  export {
7
7
  Grid_default as Grid,
@@ -1,14 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkBDJHUA55cjs = require('../chunk-BDJHUA55.cjs');
4
+ var _chunkUKZDZ7B3cjs = require('../chunk-UKZDZ7B3.cjs');
5
5
  require('../chunk-GNYQC5IJ.cjs');
6
6
  require('../chunk-PA2DQCBY.cjs');
7
- require('../chunk-F4VYFBYC.cjs');
7
+ require('../chunk-GDNP6OU3.cjs');
8
8
  require('../chunk-CESGUF6F.cjs');
9
9
  require('../chunk-555JRYCS.cjs');
10
10
 
11
11
 
12
12
 
13
- exports.Input = _chunkBDJHUA55cjs.Input_default; exports.default = _chunkBDJHUA55cjs.Input_default2;
13
+ exports.Input = _chunkUKZDZ7B3cjs.Input_default; exports.default = _chunkUKZDZ7B3cjs.Input_default2;
14
14
  //# sourceMappingURL=index.cjs.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Input_default,
3
3
  Input_default2
4
- } from "../chunk-FA74PMQ3.js";
4
+ } from "../chunk-7GNNET4A.js";
5
5
  import "../chunk-UTFZRBBS.js";
6
6
  import "../chunk-BQGN3JTU.js";
7
- import "../chunk-5R7ZPSN2.js";
7
+ import "../chunk-NXTFRKYX.js";
8
8
  import "../chunk-UAV6PVB4.js";
9
9
  import "../chunk-K2V4ULA2.js";
10
10
  export {
@@ -1,14 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkYLJC74CQcjs = require('../chunk-YLJC74CQ.cjs');
4
+ var _chunkPHK5PELPcjs = require('../chunk-PHK5PELP.cjs');
5
5
  require('../chunk-GNYQC5IJ.cjs');
6
6
  require('../chunk-PA2DQCBY.cjs');
7
- require('../chunk-F4VYFBYC.cjs');
7
+ require('../chunk-GDNP6OU3.cjs');
8
8
  require('../chunk-CESGUF6F.cjs');
9
9
  require('../chunk-555JRYCS.cjs');
10
10
 
11
11
 
12
12
 
13
- exports.RadioBoxes = _chunkYLJC74CQcjs.RadioBoxes_default; exports.default = _chunkYLJC74CQcjs.RadioBoxes_default2;
13
+ exports.RadioBoxes = _chunkPHK5PELPcjs.RadioBoxes_default; exports.default = _chunkPHK5PELPcjs.RadioBoxes_default2;
14
14
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
- import { R as RadioBoxes } from '../RadioBoxes-C61IRDCU.cjs';
2
- export { a as RadioBoxesProps } from '../RadioBoxes-C61IRDCU.cjs';
1
+ import { R as RadioBoxes } from '../RadioBoxes-BmJBBZVd.cjs';
2
+ export { a as RadioBoxesProps } from '../RadioBoxes-BmJBBZVd.cjs';
3
3
  import 'tailwind-variants/dist/config.js';
4
4
  import 'tailwind-variants';
5
5
  import '@fuf-stack/pixel-utils';
@@ -1,5 +1,5 @@
1
- import { R as RadioBoxes } from '../RadioBoxes-C61IRDCU.js';
2
- export { a as RadioBoxesProps } from '../RadioBoxes-C61IRDCU.js';
1
+ import { R as RadioBoxes } from '../RadioBoxes-BmJBBZVd.js';
2
+ export { a as RadioBoxesProps } from '../RadioBoxes-BmJBBZVd.js';
3
3
  import 'tailwind-variants/dist/config.js';
4
4
  import 'tailwind-variants';
5
5
  import '@fuf-stack/pixel-utils';
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  RadioBoxes_default,
3
3
  RadioBoxes_default2
4
- } from "../chunk-LBFJL6IA.js";
4
+ } from "../chunk-HGEOXAH4.js";
5
5
  import "../chunk-UTFZRBBS.js";
6
6
  import "../chunk-BQGN3JTU.js";
7
- import "../chunk-5R7ZPSN2.js";
7
+ import "../chunk-NXTFRKYX.js";
8
8
  import "../chunk-UAV6PVB4.js";
9
9
  import "../chunk-K2V4ULA2.js";
10
10
  export {
@@ -1,14 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkCUDJVXZXcjs = require('../chunk-CUDJVXZX.cjs');
4
+ var _chunkO46U5DHLcjs = require('../chunk-O46U5DHL.cjs');
5
5
  require('../chunk-GNYQC5IJ.cjs');
6
6
  require('../chunk-PA2DQCBY.cjs');
7
- require('../chunk-F4VYFBYC.cjs');
7
+ require('../chunk-GDNP6OU3.cjs');
8
8
  require('../chunk-CESGUF6F.cjs');
9
9
  require('../chunk-555JRYCS.cjs');
10
10
 
11
11
 
12
12
 
13
- exports.RadioGroup = _chunkCUDJVXZXcjs.RadioGroup_default; exports.default = _chunkCUDJVXZXcjs.RadioGroup_default2;
13
+ exports.RadioGroup = _chunkO46U5DHLcjs.RadioGroup_default; exports.default = _chunkO46U5DHLcjs.RadioGroup_default2;
14
14
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
- import { R as RadioGroup } from '../RadioGroup-C7I27oav.cjs';
2
- export { a as RadioGroupProps } from '../RadioGroup-C7I27oav.cjs';
1
+ import { R as RadioGroup } from '../RadioGroup-BJijfixt.cjs';
2
+ export { a as RadioGroupProps } from '../RadioGroup-BJijfixt.cjs';
3
3
  import 'tailwind-variants/dist/config.js';
4
4
  import 'tailwind-variants';
5
5
  import '@fuf-stack/pixel-utils';
@@ -1,5 +1,5 @@
1
- import { R as RadioGroup } from '../RadioGroup-C7I27oav.js';
2
- export { a as RadioGroupProps } from '../RadioGroup-C7I27oav.js';
1
+ import { R as RadioGroup } from '../RadioGroup-BJijfixt.js';
2
+ export { a as RadioGroupProps } from '../RadioGroup-BJijfixt.js';
3
3
  import 'tailwind-variants/dist/config.js';
4
4
  import 'tailwind-variants';
5
5
  import '@fuf-stack/pixel-utils';
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  RadioGroup_default,
3
3
  RadioGroup_default2
4
- } from "../chunk-YNX7IORC.js";
4
+ } from "../chunk-XGRFOK3R.js";
5
5
  import "../chunk-UTFZRBBS.js";
6
6
  import "../chunk-BQGN3JTU.js";
7
- import "../chunk-5R7ZPSN2.js";
7
+ import "../chunk-NXTFRKYX.js";
8
8
  import "../chunk-UAV6PVB4.js";
9
9
  import "../chunk-K2V4ULA2.js";
10
10
  export {
@@ -1,14 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkY33HTDL6cjs = require('../chunk-Y33HTDL6.cjs');
4
+ var _chunkUN7777T3cjs = require('../chunk-UN7777T3.cjs');
5
5
  require('../chunk-GNYQC5IJ.cjs');
6
6
  require('../chunk-PA2DQCBY.cjs');
7
- require('../chunk-F4VYFBYC.cjs');
7
+ require('../chunk-GDNP6OU3.cjs');
8
8
  require('../chunk-CESGUF6F.cjs');
9
9
  require('../chunk-555JRYCS.cjs');
10
10
 
11
11
 
12
12
 
13
- exports.RadioTabs = _chunkY33HTDL6cjs.RadioTabs_default; exports.default = _chunkY33HTDL6cjs.RadioTabs_default2;
13
+ exports.RadioTabs = _chunkUN7777T3cjs.RadioTabs_default; exports.default = _chunkUN7777T3cjs.RadioTabs_default2;
14
14
  //# sourceMappingURL=index.cjs.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  RadioTabs_default,
3
3
  RadioTabs_default2
4
- } from "../chunk-4WVYRJCV.js";
4
+ } from "../chunk-PSWYP5SU.js";
5
5
  import "../chunk-UTFZRBBS.js";
6
6
  import "../chunk-BQGN3JTU.js";
7
- import "../chunk-5R7ZPSN2.js";
7
+ import "../chunk-NXTFRKYX.js";
8
8
  import "../chunk-UAV6PVB4.js";
9
9
  import "../chunk-K2V4ULA2.js";
10
10
  export {
@@ -1,14 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkRKZQKPRJcjs = require('../chunk-RKZQKPRJ.cjs');
4
+ var _chunkH5JXWAGHcjs = require('../chunk-H5JXWAGH.cjs');
5
5
  require('../chunk-GNYQC5IJ.cjs');
6
6
  require('../chunk-PA2DQCBY.cjs');
7
- require('../chunk-F4VYFBYC.cjs');
7
+ require('../chunk-GDNP6OU3.cjs');
8
8
  require('../chunk-CESGUF6F.cjs');
9
9
  require('../chunk-555JRYCS.cjs');
10
10
 
11
11
 
12
12
 
13
- exports.Select = _chunkRKZQKPRJcjs.Select_default; exports.default = _chunkRKZQKPRJcjs.Select_default2;
13
+ exports.Select = _chunkH5JXWAGHcjs.Select_default; exports.default = _chunkH5JXWAGHcjs.Select_default2;
14
14
  //# sourceMappingURL=index.cjs.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Select_default,
3
3
  Select_default2
4
- } from "../chunk-FJTWQ6UG.js";
4
+ } from "../chunk-C4WU74Y4.js";
5
5
  import "../chunk-UTFZRBBS.js";
6
6
  import "../chunk-BQGN3JTU.js";
7
- import "../chunk-5R7ZPSN2.js";
7
+ import "../chunk-NXTFRKYX.js";
8
8
  import "../chunk-UAV6PVB4.js";
9
9
  import "../chunk-K2V4ULA2.js";
10
10
  export {
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkQ5KXDJU7cjs = require('../chunk-Q5KXDJU7.cjs');
5
- require('../chunk-F4VYFBYC.cjs');
4
+ var _chunkEBMEIX2Pcjs = require('../chunk-EBMEIX2P.cjs');
5
+ require('../chunk-GDNP6OU3.cjs');
6
6
  require('../chunk-CESGUF6F.cjs');
7
7
  require('../chunk-555JRYCS.cjs');
8
8
 
9
9
 
10
10
 
11
- exports.SubmitButton = _chunkQ5KXDJU7cjs.SubmitButton_default; exports.default = _chunkQ5KXDJU7cjs.SubmitButton_default2;
11
+ exports.SubmitButton = _chunkEBMEIX2Pcjs.SubmitButton_default; exports.default = _chunkEBMEIX2Pcjs.SubmitButton_default2;
12
12
  //# sourceMappingURL=index.cjs.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  SubmitButton_default,
3
3
  SubmitButton_default2
4
- } from "../chunk-M7CZ526K.js";
5
- import "../chunk-5R7ZPSN2.js";
4
+ } from "../chunk-K4E35FS6.js";
5
+ import "../chunk-NXTFRKYX.js";
6
6
  import "../chunk-UAV6PVB4.js";
7
7
  import "../chunk-K2V4ULA2.js";
8
8
  export {
@@ -1,14 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkEHTJ2BYBcjs = require('../chunk-EHTJ2BYB.cjs');
4
+ var _chunkDIVINFK2cjs = require('../chunk-DIVINFK2.cjs');
5
5
  require('../chunk-GNYQC5IJ.cjs');
6
6
  require('../chunk-PA2DQCBY.cjs');
7
- require('../chunk-F4VYFBYC.cjs');
7
+ require('../chunk-GDNP6OU3.cjs');
8
8
  require('../chunk-CESGUF6F.cjs');
9
9
  require('../chunk-555JRYCS.cjs');
10
10
 
11
11
 
12
12
 
13
- exports.Switch = _chunkEHTJ2BYBcjs.Switch_default; exports.default = _chunkEHTJ2BYBcjs.Switch_default2;
13
+ exports.Switch = _chunkDIVINFK2cjs.Switch_default; exports.default = _chunkDIVINFK2cjs.Switch_default2;
14
14
  //# sourceMappingURL=index.cjs.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Switch_default,
3
3
  Switch_default2
4
- } from "../chunk-3PAVDSMW.js";
4
+ } from "../chunk-KJYR5Q6G.js";
5
5
  import "../chunk-UTFZRBBS.js";
6
6
  import "../chunk-BQGN3JTU.js";
7
- import "../chunk-5R7ZPSN2.js";
7
+ import "../chunk-NXTFRKYX.js";
8
8
  import "../chunk-UAV6PVB4.js";
9
9
  import "../chunk-K2V4ULA2.js";
10
10
  export {
@@ -1,14 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkJWYMBKE6cjs = require('../chunk-JWYMBKE6.cjs');
4
+ var _chunkPT2XYC26cjs = require('../chunk-PT2XYC26.cjs');
5
5
  require('../chunk-GNYQC5IJ.cjs');
6
6
  require('../chunk-PA2DQCBY.cjs');
7
- require('../chunk-F4VYFBYC.cjs');
7
+ require('../chunk-GDNP6OU3.cjs');
8
8
  require('../chunk-CESGUF6F.cjs');
9
9
  require('../chunk-555JRYCS.cjs');
10
10
 
11
11
 
12
12
 
13
- exports.TextArea = _chunkJWYMBKE6cjs.TextArea_default; exports.default = _chunkJWYMBKE6cjs.TextArea_default2;
13
+ exports.TextArea = _chunkPT2XYC26cjs.TextArea_default; exports.default = _chunkPT2XYC26cjs.TextArea_default2;
14
14
  //# sourceMappingURL=index.cjs.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  TextArea_default,
3
3
  TextArea_default2
4
- } from "../chunk-43R3EVIW.js";
4
+ } from "../chunk-AQHJJ6WW.js";
5
5
  import "../chunk-UTFZRBBS.js";
6
6
  import "../chunk-BQGN3JTU.js";
7
- import "../chunk-5R7ZPSN2.js";
7
+ import "../chunk-NXTFRKYX.js";
8
8
  import "../chunk-UAV6PVB4.js";
9
9
  import "../chunk-K2V4ULA2.js";
10
10
  export {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  FormContext_default,
3
3
  useFormContext
4
- } from "./chunk-5R7ZPSN2.js";
4
+ } from "./chunk-NXTFRKYX.js";
5
5
  import {
6
6
  toValidationFormat
7
7
  } from "./chunk-UAV6PVB4.js";
@@ -151,4 +151,4 @@ export {
151
151
  Form_default,
152
152
  Form_default2
153
153
  };
154
- //# sourceMappingURL=chunk-BPZ3U5RV.js.map
154
+ //# sourceMappingURL=chunk-6G5UDAYH.js.map
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  useController,
9
9
  useFormContext
10
- } from "./chunk-5R7ZPSN2.js";
10
+ } from "./chunk-NXTFRKYX.js";
11
11
 
12
12
  // src/Input/Input.tsx
13
13
  import { Input as HeroInput } from "@heroui/input";
@@ -86,4 +86,4 @@ export {
86
86
  Input_default,
87
87
  Input_default2
88
88
  };
89
- //# sourceMappingURL=chunk-FA74PMQ3.js.map
89
+ //# sourceMappingURL=chunk-7GNNET4A.js.map
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  useController,
9
9
  useFormContext
10
- } from "./chunk-5R7ZPSN2.js";
10
+ } from "./chunk-NXTFRKYX.js";
11
11
 
12
12
  // src/TextArea/TextArea.tsx
13
13
  import { Textarea as HeroTextArea } from "@heroui/input";
@@ -67,4 +67,4 @@ export {
67
67
  TextArea_default,
68
68
  TextArea_default2
69
69
  };
70
- //# sourceMappingURL=chunk-43R3EVIW.js.map
70
+ //# sourceMappingURL=chunk-AQHJJ6WW.js.map
@@ -6,7 +6,7 @@ var Grid = ({
6
6
  className = void 0,
7
7
  testId = void 0
8
8
  }) => {
9
- return /* @__PURE__ */ jsx("div", { className: cn("grid gap-6", className), "data-testid": testId, children });
9
+ return /* @__PURE__ */ jsx("div", { className: cn("grid gap-4", className), "data-testid": testId, children });
10
10
  };
11
11
  var Grid_default = Grid;
12
12
 
@@ -17,4 +17,4 @@ export {
17
17
  Grid_default,
18
18
  Grid_default2
19
19
  };
20
- //# sourceMappingURL=chunk-PDCEKC3G.js.map
20
+ //# sourceMappingURL=chunk-B62HKKMS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Grid/Grid.tsx","../src/Grid/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nexport interface GridProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Defines the default grid for form components\n */\nconst Grid = ({\n children = null,\n className = undefined,\n testId = undefined,\n}: GridProps) => {\n return (\n <div className={cn('grid gap-6', className)} data-testid={testId}>\n {children}\n </div>\n );\n};\n\nexport default Grid;\n","import Grid from './Grid';\n\nexport type { GridProps } from './Grid';\n\nexport { Grid };\n\nexport default Grid;\n"],"mappings":";AAEA,SAAS,UAAU;AAoBf;AANJ,IAAM,OAAO,CAAC;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AACX,MAAiB;AACf,SACE,oBAAC,SAAI,WAAW,GAAG,cAAc,SAAS,GAAG,eAAa,QACvD,UACH;AAEJ;AAEA,IAAO,eAAQ;;;ACtBf,IAAOA,gBAAQ;","names":["Grid_default"]}
1
+ {"version":3,"sources":["../src/Grid/Grid.tsx","../src/Grid/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nexport interface GridProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Defines the default grid for form components\n */\nconst Grid = ({\n children = null,\n className = undefined,\n testId = undefined,\n}: GridProps) => {\n return (\n <div className={cn('grid gap-4', className)} data-testid={testId}>\n {children}\n </div>\n );\n};\n\nexport default Grid;\n","import Grid from './Grid';\n\nexport type { GridProps } from './Grid';\n\nexport { Grid };\n\nexport default Grid;\n"],"mappings":";AAEA,SAAS,UAAU;AAoBf;AANJ,IAAM,OAAO,CAAC;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AACX,MAAiB;AACf,SACE,oBAAC,SAAI,WAAW,GAAG,cAAc,SAAS,GAAG,eAAa,QACvD,UACH;AAEJ;AAEA,IAAO,eAAQ;;;ACtBf,IAAOA,gBAAQ;","names":["Grid_default"]}
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  useController,
9
9
  useFormContext
10
- } from "./chunk-5R7ZPSN2.js";
10
+ } from "./chunk-NXTFRKYX.js";
11
11
  import {
12
12
  __spreadProps,
13
13
  __spreadValues
@@ -67,7 +67,7 @@ var ControlComponent = (props) => {
67
67
  };
68
68
  var OptionComponent = (props) => {
69
69
  var _a, _b, _c;
70
- const testId = `${props.selectProps["data-testid"]}_select_option_${slugify((_c = (_a = props == null ? void 0 : props.data) == null ? void 0 : _a.testId) != null ? _c : (_b = props == null ? void 0 : props.data) == null ? void 0 : _b.value)}`;
70
+ const testId = `${props.selectProps["data-testid"]}_select_option_${slugify((_c = (_a = props == null ? void 0 : props.data) == null ? void 0 : _a.testId) != null ? _c : (_b = props == null ? void 0 : props.data) == null ? void 0 : _b.value, { replaceDots: true })}`;
71
71
  return /* @__PURE__ */ jsx("div", { "data-testid": testId, children: /* @__PURE__ */ jsx(components.Option, __spreadValues({}, props)) });
72
72
  };
73
73
  var DropdownIndicatorComponent = (props) => {
@@ -233,4 +233,4 @@ export {
233
233
  Select_default,
234
234
  Select_default2
235
235
  };
236
- //# sourceMappingURL=chunk-FJTWQ6UG.js.map
236
+ //# sourceMappingURL=chunk-C4WU74Y4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Select/Select.tsx","../src/Select/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { Props } from 'react-select';\n\nimport { useState } from 'react';\nimport ReactSelect, { components } from 'react-select';\n\nimport { useSelect } from '@heroui/select';\n\nimport { cn, slugify, tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport { useController, useFormContext } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\n\nexport const selectVariants = tv({\n slots: {\n base: 'group leading-normal',\n clearIndicator:\n 'rounded-md p-1 text-foreground-500 hover:cursor-pointer hover:bg-default-200 hover:text-foreground-800',\n control:\n 'rounded-lg border-2 border-default-200 !duration-150 transition-background hover:border-default-400 group-data-[invalid=true]:border-danger group-data-[invalid=true]:hover:border-danger motion-reduce:transition-none',\n control_focused: 'border-focus',\n crossIcon: '',\n downChevron: '',\n dropdownIndicator:\n 'rounded-md p-1 text-foreground-500 hover:cursor-pointer hover:bg-default-200 hover:text-black',\n group: '',\n groupHeading: 'mb-1 ml-3 mt-2 text-sm text-foreground-500',\n indicatorsContainer: 'gap-1 p-1',\n indicatorSeparator: 'bg-default-300',\n input: 'py-0.5 pl-1',\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 'pointer-events-auto relative bottom-1.5 ml-1 text-small subpixel-antialiased group-data-[invalid=true]:!text-danger group-data-[required=true]:after:ml-0.5 group-data-[required=true]:after:text-danger group-data-[required=true]:after:content-[\"*\"]',\n loadingIndicator: '',\n loadingMessage: 'rounded-sm p-2 text-foreground-500',\n menu: 'mt-2 rounded-xl border border-default-200 bg-content1 p-1 shadow-lg',\n menuList: '',\n // ensure menu has same z-index as modal so it is visible when rendered in modal\n // see: https://github.com/heroui-inc/heroui/blob/main/packages/core/theme/src/components/modal.ts (see z-50)\n menuPortal: '!z-50',\n multiValue: 'items-center gap-1.5 rounded bg-default-100 py-0.5 pl-2 pr-1',\n multiValueContainer: '',\n multiValueLabel: 'py-0.5 leading-6',\n multiValueRemove:\n 'rounded text-default-500 hover:cursor-pointer hover:border-default-300 hover:text-default-800',\n noOptionsMessage: 'rounded-sm p-2 text-foreground-500',\n option_focused: 'bg-default-100 active:bg-default-200',\n option_selected: 'bg-default-300',\n option: 'rounded px-3 py-2 hover:cursor-pointer',\n placeholder: 'ml-1 py-0.5 pl-1 text-sm text-foreground-500',\n selectContainer: '',\n singleValue: '!ml-1 !leading-7',\n valueContainer: 'gap-1 p-1',\n },\n});\n\ntype SelectOption = {\n /** option label */\n label?: React.ReactNode;\n /** option value */\n value: string;\n};\n\ntype VariantProps = TVProps<typeof selectVariants>;\ntype ClassName = TVClassName<typeof selectVariants>;\n\nexport interface SelectProps extends VariantProps {\n /** CSS class name */\n className?: ClassName; // string;\n /** Determine if the */\n clearable?: boolean;\n /** Set the select to disabled state. */\n disabled?: boolean;\n /** Filter Select Options */\n filterOption?:\n | undefined\n | ((option?: SelectOption, inputValue?: string) => boolean);\n /** Format the label of the option */\n renderOptionLabel?: undefined | Props['formatOptionLabel'];\n /** The value of the search input */\n inputValue?: string;\n /** Label that should be associated with the select. */\n label?: React.ReactNode;\n /** Set the select to a loading state. */\n loading?: boolean;\n /** switch between single and multi select mode. */\n multiSelect?: boolean;\n /** The name for the Select component, used by react-hook-form */\n name: string;\n /** Placeholder that is displayed when nothing is selected */\n placeholder?: string;\n /** The options for the Select component */\n options: SelectOption[];\n /** Handle change events on the input */\n onInputChange?: Props['onInputChange'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\nconst InputComponent: typeof components.Input = (props) => {\n // @ts-expect-error data-testid is not a default prop\n // eslint-disable-next-line react/prop-types, react/destructuring-assignment\n const testId = `${props.selectProps['data-testid']}`;\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <components.Input data-testid={testId} {...props} />;\n};\n\nconst ControlComponent: typeof components.Control = (props) => {\n // @ts-expect-error data-testid is not a default prop\n // eslint-disable-next-line react/prop-types, react/destructuring-assignment\n const testId = `${props.selectProps['data-testid']}_select`;\n return (\n <div data-testid={testId}>\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <components.Control {...props} />\n </div>\n );\n};\n\nconst OptionComponent: typeof components.Option = (props) => {\n // @ts-expect-error data-testid is not a default prop\n // eslint-disable-next-line react/prop-types, react/destructuring-assignment\n const testId = `${props.selectProps['data-testid']}_select_option_${slugify(props?.data?.testId ?? props?.data?.value, { replaceDots: true })}`;\n return (\n <div data-testid={testId}>\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <components.Option {...props} />\n </div>\n );\n};\n\nconst DropdownIndicatorComponent: typeof components.DropdownIndicator = (\n props,\n) => {\n // @ts-expect-error data-testid is not a default prop\n // eslint-disable-next-line react/prop-types\n const testId = props?.selectProps['data-testid'] as string;\n return (\n <div data-testid={`${testId}_select_dropdown`}>\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <components.DropdownIndicator {...props} />\n </div>\n );\n};\n\n/** Select component based on [HeroUI Select](https://www.heroui.com//docs/components/select) and [React-Select](https://react-select.com/home) */\nconst Select = ({\n className = undefined,\n clearable = true,\n disabled = false,\n filterOption = undefined,\n renderOptionLabel = undefined,\n inputValue = undefined,\n label: _label = undefined,\n loading = false,\n multiSelect = false,\n name,\n onInputChange = undefined,\n options,\n placeholder = undefined,\n testId: _testId = undefined,\n}: SelectProps) => {\n const { control, debugMode, getFieldState } = useFormContext();\n const { error, invalid, required, testId } = getFieldState(name, _testId);\n\n const { field } = useController({ control, disabled, name });\n const { onChange, value, ref, onBlur } = field;\n\n const [isFocused, setIsFocused] = useState(false);\n\n const variants = selectVariants();\n const classNames = variantsToClassNames(variants, className, 'base');\n\n const {\n getBaseProps,\n getErrorMessageProps,\n getHelperWrapperProps,\n getLabelProps,\n getTriggerProps,\n getValueProps,\n label,\n } = useSelect({\n children: [],\n classNames,\n errorMessage: JSON.stringify(error),\n isDisabled: disabled,\n isInvalid: invalid,\n isLoading: loading,\n isRequired: required,\n label: _label,\n labelPlacement: 'outside',\n placeholder: ' ',\n });\n\n const showTestIdCopyButton = debugMode === 'debug-testids';\n const showLabel = label || showTestIdCopyButton;\n\n return (\n <div\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...getBaseProps()}\n className={cn(classNames.base)}\n data-testid={`${testId}_wrapper`}\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-required={required}\n >\n {showLabel && (\n <label\n className={classNames.label}\n data-slot=\"label\"\n htmlFor={`react-select-${name}-input`}\n id={getLabelProps().id}\n >\n {label}\n {showTestIdCopyButton && <FieldCopyTestIdButton testId={testId} />}\n </label>\n )}\n <ReactSelect\n aria-errormessage=\"\"\n aria-labelledby={getTriggerProps()['aria-labelledby']?.split(' ')[1]}\n aria-invalid={invalid}\n classNames={{\n control: () =>\n cn(classNames.control, {\n [classNames.control_focused]: isFocused && !invalid,\n }),\n clearIndicator: () => classNames.clearIndicator,\n dropdownIndicator: () => classNames.dropdownIndicator,\n groupHeading: () => classNames.groupHeading,\n indicatorsContainer: () => classNames.indicatorsContainer,\n indicatorSeparator: () => classNames.indicatorSeparator,\n loadingIndicator: () => classNames.loadingIndicator,\n loadingMessage: () => classNames.loadingMessage,\n input: () => classNames.input,\n menu: () => classNames.menu,\n menuList: () => classNames.menuList,\n menuPortal: () => classNames.menuPortal,\n multiValue: () => classNames.multiValue,\n multiValueLabel: () =>\n cn(classNames.multiValueLabel, `${getValueProps().className}`),\n multiValueRemove: () => classNames.multiValueRemove,\n noOptionsMessage: () => classNames.noOptionsMessage,\n option: ({\n isFocused: optionIsFocused,\n isSelected: optionIsSelected,\n }) =>\n cn(classNames.option, {\n [classNames.option_focused]: optionIsFocused,\n [classNames.option_selected]: optionIsSelected,\n }),\n placeholder: () => classNames.placeholder,\n singleValue: () =>\n cn(classNames.singleValue, `${getValueProps().className}`),\n valueContainer: () => classNames.valueContainer,\n }}\n components={{\n Input: InputComponent,\n Option: OptionComponent,\n DropdownIndicator: DropdownIndicatorComponent,\n Control: ControlComponent,\n }}\n // Does not affect the testId of the select, but is needed to pass it to sub-components\n data-testid={testId}\n filterOption={filterOption}\n formatOptionLabel={renderOptionLabel}\n inputValue={inputValue}\n instanceId={name}\n isClearable={clearable}\n isDisabled={disabled}\n isLoading={loading}\n isMulti={multiSelect}\n name={name}\n // set menuPosition to fixed so that menu can be rendered\n // inside Card / Modal components, menuShouldBlockScroll\n // prevents container scroll when menu is open\n menuPosition=\"fixed\"\n menuShouldBlockScroll\n options={options}\n placeholder={placeholder}\n onBlur={(_e) => {\n setIsFocused(false);\n return onBlur();\n }}\n onChange={(option) => {\n if (multiSelect) {\n onChange(\n (option as SelectOption[])?.map((_option) => _option.value),\n );\n } else {\n onChange((option as SelectOption)?.value);\n }\n }}\n onFocus={(_e) => {\n setIsFocused(true);\n }}\n onInputChange={onInputChange}\n ref={ref}\n // set complete option as value by current field value\n value={options.find((option) => option.value === value)}\n unstyled\n />\n {error && (\n // eslint-disable-next-line react/jsx-props-no-spreading\n <div {...getHelperWrapperProps()}>\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <div {...getErrorMessageProps()}>\n <FieldValidationError error={error} testId={testId} />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default Select;\n","import Select from './Select';\n\nexport type { SelectProps } from './Select';\n\nexport { Select };\n\nexport default Select;\n"],"mappings":"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","names":["Select_default"]}
@@ -1,5 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
+ var _chunkTTD3KL6Ecjs = require('./chunk-TTD3KL6E.cjs');
4
+
5
+
3
6
  var _chunkGNYQC5IJcjs = require('./chunk-GNYQC5IJ.cjs');
4
7
 
5
8
 
@@ -8,7 +11,7 @@ var _chunkPA2DQCBYcjs = require('./chunk-PA2DQCBY.cjs');
8
11
 
9
12
 
10
13
 
11
- var _chunkF4VYFBYCcjs = require('./chunk-F4VYFBYC.cjs');
14
+ var _chunkGDNP6OU3cjs = require('./chunk-GDNP6OU3.cjs');
12
15
 
13
16
 
14
17
  var _chunkCESGUF6Fcjs = require('./chunk-CESGUF6F.cjs');
@@ -115,9 +118,9 @@ var FieldArrayElement = ({
115
118
  testId = void 0
116
119
  }) => {
117
120
  var _a;
118
- const { getFieldState } = _chunkF4VYFBYCcjs.useFormContext.call(void 0, );
121
+ const { getFieldState } = _chunkGDNP6OU3cjs.useFormContext.call(void 0, );
119
122
  const { error, invalid } = getFieldState(arrayFieldName, void 0);
120
- const { getHelperWrapperProps, getErrorMessageProps } = _chunkF4VYFBYCcjs.useInput.call(void 0, {
123
+ const { getHelperWrapperProps, getErrorMessageProps } = _chunkGDNP6OU3cjs.useInput.call(void 0, {
121
124
  classNames: { helperWrapper: "block" },
122
125
  errorMessage: JSON.stringify(error),
123
126
  isInvalid: invalid,
@@ -150,7 +153,7 @@ var FieldArrayElement = ({
150
153
  {
151
154
  className: _pixelutils.cn.call(void 0, className.elementWrapper),
152
155
  "data-testid": `${testId}_element_wrapper`,
153
- children
156
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTTD3KL6Ecjs.Grid_default, { children })
154
157
  }
155
158
  ),
156
159
  lastNotDeletable && fields.length === 1 ? null : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -251,7 +254,7 @@ var fieldArrayVariants = _pixelutils.tv.call(void 0, {
251
254
  insertAfterButton: "text-xs font-medium",
252
255
  label: "!pointer-events-auto !static !z-0 -mb-1 ml-1 !inline-block",
253
256
  list: "m-0 w-full list-none",
254
- listItem: "mb-4 flex w-full flex-row items-center",
257
+ listItem: "mb-4 flex w-full flex-row",
255
258
  removeButton: "ml-1",
256
259
  sortDragHandle: "mr-2 text-base text-xl"
257
260
  }
@@ -279,13 +282,13 @@ var FieldArray = ({
279
282
  getFieldState,
280
283
  trigger
281
284
  // watch
282
- } = _chunkF4VYFBYCcjs.useFormContext.call(void 0, );
283
- const { fields, append, remove, insert, move } = _chunkF4VYFBYCcjs.useFieldArray.call(void 0, {
285
+ } = _chunkGDNP6OU3cjs.useFormContext.call(void 0, );
286
+ const { fields, append, remove, insert, move } = _chunkGDNP6OU3cjs.useFieldArray.call(void 0, {
284
287
  control,
285
288
  name
286
289
  });
287
290
  const { error, testId, invalid, required } = getFieldState(name, _testId);
288
- const { label, getLabelProps, getHelperWrapperProps, getErrorMessageProps } = _chunkF4VYFBYCcjs.useInput.call(void 0, {
291
+ const { label, getLabelProps, getHelperWrapperProps, getErrorMessageProps } = _chunkGDNP6OU3cjs.useInput.call(void 0, {
289
292
  isInvalid: invalid,
290
293
  isRequired: required,
291
294
  errorMessage: JSON.stringify(error),
@@ -320,7 +323,7 @@ var FieldArray = ({
320
323
  ] }),
321
324
  fields.map((field, index) => {
322
325
  const elementName = `${name}.${index}`;
323
- const elementTestId = `${testId}${index}`;
326
+ const elementTestId = `${testId}_${index}`;
324
327
  const elementMethods = {
325
328
  append: () => append(elementInitialValue),
326
329
  duplicate: () => {
@@ -380,4 +383,4 @@ var FieldArray_default2 = FieldArray_default;
380
383
 
381
384
 
382
385
  exports.FieldArray_default = FieldArray_default; exports.FieldArray_default2 = FieldArray_default2;
383
- //# sourceMappingURL=chunk-3ISETOB3.cjs.map
386
+ //# sourceMappingURL=chunk-CVCXMVCJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-CVCXMVCJ.cjs","../src/FieldArray/FieldArray.tsx","../src/FieldArray/subcomponents/FieldArrayElement.tsx","../src/FieldArray/subcomponents/ElementInsertAfterButton.tsx","../src/FieldArray/subcomponents/ElementRemoveButton.tsx","../src/FieldArray/subcomponents/SortDragHandle.tsx","../src/FieldArray/subcomponents/SortContext.tsx","../src/FieldArray/index.ts"],"names":["jsx","Button","cn","useSortable","Fragment","FieldArray_default"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACA;ACjBA,oDAA6C;AAC7C,2CAAuB;ADmBvB;AACA;AErBA,6CAA4B;AAC5B,+CAAoB;AAEpB;AFsBA;AACA;AG7BA,sCAAuB;AAEvB;AACA;AAoBY,+CAAA;AATZ,IAAM,yBAAA,EAA2B,CAAC;AAAA,EAChC,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,OAAA;AAAA,EACA,OAAA,EAAS,KAAA;AACX,CAAA,EAAA,GAAqC;AACnC,EAAA,uBACE,6BAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,4BAAA,SAAY,CAAA;AAAA,MACvB,KAAA,EAAM,SAAA;AAAA,MACN,IAAA,kBAAM,6BAAA,WAAC,EAAA,CAAA,CAAO,CAAA;AAAA,MACd,OAAA;AAAA,MACA,IAAA,EAAK,IAAA;AAAA,MACL,MAAA;AAAA,MACA,OAAA,EAAQ;AAAA,IAAA;AAAA,EACV,CAAA;AAEJ,CAAA;AAEA,IAAO,iCAAA,EAAQ,wBAAA;AHqBf;AACA;AItDA,oCAAwB;AAExB;AACA;AAqBY;AAVZ,IAAM,oBAAA,EAAsB,CAAC;AAAA,EAC3B,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,OAAA;AAAA,EACA,OAAA,EAAS,KAAA;AACX,CAAA,EAAA,GAAgC;AAC9B,EAAA,uBACEA,6BAAAA;AAAA,IAACC,cAAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,gBAAA;AAAA,MACV,SAAA,EAAWC,4BAAAA,SAAY,CAAA;AAAA,MACvB,KAAA,EAAM,QAAA;AAAA,MACN,IAAA,kBAAMF,6BAAAA,WAAC,EAAA,CAAA,CAAQ,CAAA;AAAA,MACf,OAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA,EAAQ;AAAA,IAAA;AAAA,EACV,CAAA;AAEJ,CAAA;AAEA,IAAO,4BAAA,EAAQ,mBAAA;AJ8Cf;AACA;AK/EA;AAEA;AAEA;AAgCM;AAjBN,IAAM,eAAA,EAAiB,CAAC;AAAA,EACtB,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,EAAA;AAAA,EACA,OAAA,EAAS,KAAA;AACX,CAAA,EAAA,GAA2B;AAEzB,EAAA,MAAM,EAAE,UAAA,EAAY,UAAU,EAAA,EAAI,mCAAA,EAAc,GAAG,CAAC,CAAA;AAEpD,EAAA,uBACEA,6BAAAA;AAAA,IAAC,KAAA;AAAA,IAAA,6CAAA,8CAAA,8CAAA;AAAA,MACC,SAAA,EAAWE,4BAAAA,SAAY,CAAA;AAAA,MACvB,aAAA,EAAa;AAAA,IAAA,CAAA,EAET,UAAA,CAAA,EAEA,SAAA,CAAA,EANL;AAAA,MAQC,QAAA,kBAAAF,6BAAAA,kBAAC,EAAA,CAAA,CAAe;AAAA,IAAA,CAAA;AAAA,EAClB,CAAA;AAEJ,CAAA;AAEA,IAAO,uBAAA,EAAQ,cAAA;AL4Df;AACA;AEHI;AArCJ,IAAM,kBAAA,EAAoB,CAAC;AAAA,EACzB,cAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,EAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA,EAAc,KAAA;AAAA,EACd,iBAAA,EAAmB,IAAA;AAAA,EACnB,OAAA;AAAA,EACA,SAAA,EAAW,KAAA;AAAA,EACX,OAAA,EAAS,KAAA;AACX,CAAA,EAAA,GAA8B;AA5E9B,EAAA,IAAA,EAAA;AA6EE,EAAA,MAAM,EAAE,cAAc,EAAA,EAAI,8CAAA,CAAe;AACzC,EAAA,MAAM,EAAE,KAAA,EAAO,QAAQ,EAAA,EAAI,aAAA,CAAc,cAAA,EAAgB,KAAA,CAAS,CAAA;AAGlE,EAAA,MAAM,EAAE,qBAAA,EAAuB,qBAAqB,EAAA,EAAI,wCAAA;AAAS,IAC/D,UAAA,EAAY,EAAE,aAAA,EAAe,QAAQ,CAAA;AAAA,IACrC,YAAA,EAAc,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA;AAAA,IAClC,SAAA,EAAW,OAAA;AAAA,IACX,cAAA,EAAgB,QAAA;AAAA,IAChB,WAAA,EAAa;AAAA,EACf,CAAC,CAAA;AAKD,EAAA,MAAM,EAAE,UAAA,EAAY,SAAA,EAAW,WAAW,EAAA,EAAIG,mCAAAA,EAAc,GAAG,CAAC,CAAA;AAChE,EAAA,MAAM,aAAA,EAAe,SAAA,EACjB;AAAA,IACE,SAAA,EAAW,cAAA,CAAI,SAAA,CAAU,QAAA,CAAS,SAAS,CAAA;AAAA,IAC3C;AAAA,EACF,EAAA,EACA,KAAA,CAAA;AAEJ,EAAA,uBACE,8BAAA,oBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,8BAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAWD,4BAAAA,SAAG,CAAU,QAAQ,CAAA;AAAA,QAChC,GAAA,EAAK,UAAA;AAAA,QACL,KAAA,EAAO,YAAA;AAAA,QAGN,QAAA,EAAA;AAAA,UAAA,SAAA,mBACCF,6BAAAA;AAAA,YAAC,sBAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,SAAA,CAAU,cAAA;AAAA,cACrB,EAAA;AAAA,cACA,MAAA,EAAQ,CAAA,EAAA;AAAS,YAAA;AACnB,UAAA;AAIF,0BAAA;AAAC,YAAA;AAAA,YAAA;AACC,cAAA;AACA,cAAA;AAGA,cAAA;AAAgB,YAAA;AAClB,UAAA;AAGC,UAAA;AACE,YAAA;AAAA,YAAA;AACC,cAAA;AACS,cAAA;AACD,cAAA;AAAS,YAAA;AACnB,UAAA;AAID,UAAA;AACE,YAAA;AAAA,YAAA;AACC,cAAA;AACS,cAAA;AACD,cAAA;AAAS,YAAA;AACnB,UAAA;AAAA,QAAA;AAAA,MAAA;AAEJ,IAAA;AAGiB,IAAA;AAGV,MAAA;AAAA,MAAA;AAEQ,QAAA;AACP,QAAA;AAAA,MAAA;AAGN,IAAA;AAEJ,EAAA;AAEJ;AAEO;AF2BgB;AACA;AMtLvB;AACE;AACA;AACA;AACA;AACA;AACA;AACK;AACP;AACE;AACA;AACK;AACP;AACE;AACA;AACK;AA8DDA;AAzCe;AACnB,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACsB;AAEN,EAAA;AACJ,IAAA;AACA,IAAA;AACZ,EAAA;AAGe,EAAA;AACN,IAAA;AACT,EAAA;AAMM,EAAA;AACY,IAAA;AAGE,IAAA;AAEC,MAAA;AACA,MAAA;AAEF,MAAA;AACjB,IAAA;AACF,EAAA;AAGE,EAAA;AAAC,IAAA;AAAA,IAAA;AACC,MAAA;AACY,MAAA;AACD,MAAA;AACX,MAAA;AAEA,MAAA;AAAC,QAAA;AAAA,QAAA;AACQ,UAAA;AACG,UAAA;AAET,UAAA;AAAA,QAAA;AACH,MAAA;AAAA,IAAA;AACF,EAAA;AAEJ;AAEO;ANyJgB;AACA;ACjJbI;AAvFG;AACJ,EAAA;AACS,IAAA;AACE,IAAA;AACG,IAAA;AACZ,IAAA;AACD,IAAA;AACI,IAAA;AACI,IAAA;AACE,IAAA;AAClB,EAAA;AACD;AAKmB;AACC,EAAA;AACnB,EAAA;AACW,EAAA;AACC,EAAA;AACS,EAAA;AACP,EAAA;AACE,EAAA;AAChB,EAAA;AACA,EAAA;AACW,EAAA;AACO,EAAA;AACG;AA3CvB,EAAA;AA6CmB,EAAA;AACC,EAAA;AAEZ,EAAA;AACJ,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAAA;AAEiB,EAAA;AAEH,EAAA;AACd,IAAA;AACA,IAAA;AACD,EAAA;AAEc,EAAA;AAGA,EAAA;AAEA,IAAA;AACC,IAAA;AACO,IAAA;AACZ,IAAA;AACS,IAAA;AACH,IAAA;AACC,IAAA;AACf,EAAA;AAGG,EAAA;AAIF,EAAA;AACK,IAAA;AACT,EAAA;AAEM,EAAA;AACY,EAAA;AAGhB,EAAA;AACG,IAAA;AAAA,IAAA;AACY,MAAA;AACE,MAAA;AAMC,MAAA;AAGb,MAAA;AACC,QAAA;AACG,UAAA;AAEC,0BAAA;AAAC,YAAA;AAAA,YAAA;AAEC,cAAA;AAEC,cAAA;AAAA,YAAA;AACH,UAAA;AAED,UAAA;AACH,QAAA;AAGW,QAAA;AACL,UAAA;AACA,UAAA;AAGA,UAAA;AACI,YAAA;AACG,YAAA;AACH,cAAA;AACC,cAAA;AACT,YAAA;AACQ,YAAA;AACA,YAAA;AACV,UAAA;AAGE,UAAA;AAAC,YAAA;AAAA,YAAA;AACC,cAAA;AACA,cAAA;AACA,cAAA;AACI,cAAA;AACJ,cAAA;AACA,cAAA;AACA,cAAA;AAEA,cAAA;AACS,cAAA;AACT,cAAA;AACQ,cAAA;AAEP,cAAA;AACC,gBAAA;AACA,gBAAA;AACA,gBAAA;AACM,gBAAA;AACN,gBAAA;AACD,cAAA;AAAA,YAAA;AAZU,YAAA;AAab,UAAA;AAEH,QAAA;AAGD,wBAAA;AAACH,UAAAA;AAAA,UAAA;AACY,YAAA;AACX,YAAA;AACS,YAAA;AACJ,YAAA;AACM,YAAA;AAEV,YAAA;AAAA,UAAA;AACH,QAAA;AAIC,QAAA;AAMC,MAAA;AAAA,IAAA;AAGN,EAAA;AAEJ;AAEO;ADkMgB;AACA;AOpXhBI;APsXgB;AACA;AACA;AACA;AACA","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-CVCXMVCJ.cjs","sourcesContent":[null,"/* eslint-disable react/jsx-props-no-spreading */\n\nimport type { FieldArrayElementMethods } from './subcomponents/FieldArrayElement';\nimport type { FieldArrayProps } from './types';\n\nimport { cn, tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\nimport { Button } from '@fuf-stack/pixels';\n\nimport { toNullishString } from '../helpers';\nimport { useFieldArray, useFormContext, useInput } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\nimport FieldArrayElement from './subcomponents/FieldArrayElement';\nimport SortContext from './subcomponents/SortContext';\n\nexport const fieldArrayVariants = tv({\n slots: {\n appendButton: 'w-full',\n elementWrapper: 'flex-grow',\n insertAfterButton: 'text-xs font-medium',\n label: '!pointer-events-auto !static !z-0 -mb-1 ml-1 !inline-block',\n list: 'm-0 w-full list-none',\n listItem: 'mb-4 flex w-full flex-row',\n removeButton: 'ml-1',\n sortDragHandle: 'mr-2 text-base text-xl',\n },\n});\n\n/**\n * FieldArray component based in [RHF useFieldArray](https://react-hook-form.com/docs/usefieldarray)\n */\nconst FieldArray = ({\n appendButtonText = 'Add Element',\n children,\n className: _className = undefined,\n duplicate = false,\n elementInitialValue: _elementInitialValue = null,\n insertAfter = false,\n label: _label = undefined,\n lastElementNotRemovable = false,\n name,\n sortable = false,\n testId: _testId = undefined,\n}: FieldArrayProps) => {\n // className from slots\n const variants = fieldArrayVariants();\n const className = variantsToClassNames(variants, _className, 'list');\n\n const {\n control,\n debugMode,\n getValues,\n getFieldState,\n trigger,\n // watch\n } = useFormContext();\n\n const { fields, append, remove, insert, move } = useFieldArray({\n control,\n name,\n });\n\n const { error, testId, invalid, required } = getFieldState(name, _testId);\n\n // TODO: what about input props?\n const { label, getLabelProps, getHelperWrapperProps, getErrorMessageProps } =\n useInput({\n isInvalid: invalid,\n isRequired: required,\n errorMessage: JSON.stringify(error),\n label: _label,\n labelPlacement: 'inside',\n placeholder: ' ',\n classNames: { helperWrapper: 'block' },\n });\n\n // TODO: add info\n const elementInitialValue = toNullishString(_elementInitialValue);\n\n // When lastElementNotRemovable is set and the field array is empty,\n // add an initial element to ensure there's always at least one visible element\n if (lastElementNotRemovable && fields.length === 0) {\n append(elementInitialValue);\n }\n\n const showTestIdCopyButton = debugMode === 'debug-testids';\n const showLabel = label || showTestIdCopyButton;\n\n return (\n <SortContext sortable={sortable} move={move} fields={fields}>\n <ul\n className={className.list}\n data-testid={testId}\n /**\n * TODO: this trigger causes the field array (not element)\n * are shown immediately, but this will cause additional\n * render cycles, not sure if we should do this...\n */\n onBlur={() => trigger(`${name}`)}\n >\n {/* field array label */}\n {showLabel && (\n <>\n {label && (\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label\n {...getLabelProps()}\n className={cn(getLabelProps()?.className, className.label)}\n >\n {label}\n </label>\n )}\n {showTestIdCopyButton && <FieldCopyTestIdButton testId={testId} />}\n </>\n )}\n\n {fields.map((field, index) => {\n const elementName = `${name}.${index}`;\n const elementTestId = `${testId}_${index}`;\n\n // create methods for element\n const elementMethods: FieldArrayElementMethods = {\n append: () => append(elementInitialValue),\n duplicate: () => {\n const values = getValues(name);\n insert(index + 1, values[index]);\n },\n insert: () => insert(index + 1, elementInitialValue),\n remove: () => remove(index),\n };\n\n return (\n <FieldArrayElement\n arrayFieldName={name}\n className={className}\n fields={fields}\n id={field.id}\n index={index}\n duplicate={duplicate}\n insertAfter={insertAfter}\n key={field.id}\n lastNotDeletable={lastElementNotRemovable}\n methods={elementMethods}\n sortable={sortable}\n testId={elementTestId}\n >\n {children({\n index,\n length: fields.length,\n methods: elementMethods,\n name: elementName,\n testId: elementTestId,\n })}\n </FieldArrayElement>\n );\n })}\n\n {/* append elements */}\n <Button\n className={className.appendButton}\n disableAnimation\n onClick={() => append(elementInitialValue)}\n size=\"sm\"\n testId={`${testId}_append_button`}\n >\n {appendButtonText}\n </Button>\n\n {/* top level field array errors */}\n {/* @ts-expect-error rhf incompatibility */}\n {error?._errors && (\n <div {...getHelperWrapperProps()}>\n <div {...getErrorMessageProps()}>\n {/* @ts-expect-error rhf incompatibility */}\n <FieldValidationError error={error?._errors} testId={testId} />\n </div>\n </div>\n )}\n </ul>\n </SortContext>\n );\n};\n\nexport default FieldArray;\n","/* eslint-disable react/jsx-props-no-spreading */\n\nimport type { ClassValue } from '@fuf-stack/pixel-utils';\nimport type { FieldArrayFeatures } from '../types';\n\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nimport { Grid } from '../../Grid';\nimport { useFormContext, useInput } from '../../hooks';\nimport { FieldValidationError } from '../../partials/FieldValidationError';\nimport ElementInsertAfterButton from './ElementInsertAfterButton';\nimport ElementRemoveButton from './ElementRemoveButton';\nimport SortDragHandle from './SortDragHandle';\n\nexport type FieldArrayElementMethods = {\n /** Add new element at end */\n append: () => void;\n /** Clone current element */\n duplicate: () => void;\n /** Add new element after current */\n insert: () => void;\n /** Remove current element */\n remove: () => void;\n};\n\ninterface FieldArrayElementProps extends FieldArrayFeatures {\n /** Base field name for form context */\n arrayFieldName: string;\n /** Form elements to render inside array element */\n children: React.ReactNode;\n /** CSS class names for component parts */\n className: {\n /** Class of wrapper div inside the li that wraps the rendered element fields directly */\n elementWrapper?: ClassValue;\n /** Class for the li */\n listItem?: ClassValue;\n /** Class for the insert button between elements */\n insertAfterButton?: ClassValue;\n /** Class for the remove element button */\n removeButton?: ClassValue;\n /** Class for the drag handle when sorting enabled */\n sortDragHandle?: ClassValue;\n };\n /** All fields in the form array */\n fields: Record<'id', string>[];\n /** Unique identifier for drag/drop */\n id: string | number;\n /** Field index in array */\n index: number;\n /** Prevent deletion of last remaining element */\n lastNotDeletable?: boolean;\n /** Field array operation methods */\n methods: FieldArrayElementMethods;\n /** HTML data-testid of the element */\n testId?: string;\n}\n\n/**\n * Form array element component using react-hook-form with drag-drop sorting\n * and validation capabilities\n */\nconst FieldArrayElement = ({\n arrayFieldName,\n children,\n className,\n fields,\n id,\n index,\n insertAfter = false,\n lastNotDeletable = true,\n methods,\n sortable = false,\n testId = undefined,\n}: FieldArrayElementProps) => {\n const { getFieldState } = useFormContext();\n const { error, invalid } = getFieldState(arrayFieldName, undefined);\n\n // TODO: what about input props? and label props? Do we need a label?\n const { getHelperWrapperProps, getErrorMessageProps } = useInput({\n classNames: { helperWrapper: 'block' },\n errorMessage: JSON.stringify(error),\n isInvalid: invalid,\n labelPlacement: 'inside',\n placeholder: ' ',\n });\n\n // Apply transform styles when sortable is enabled for smooth drag animations\n // transform: handles the item's position during drag\n // transition: controls the animation timing when dropping\n const { setNodeRef, transform, transition } = useSortable({ id });\n const sortingStyle = sortable\n ? {\n transform: CSS.Translate.toString(transform),\n transition,\n }\n : undefined;\n\n return (\n <>\n <li\n className={cn(className.listItem)}\n ref={setNodeRef}\n style={sortingStyle}\n >\n {/** sorting drag handle */}\n {sortable && (\n <SortDragHandle\n className={className.sortDragHandle}\n id={id}\n testId={`${testId}_sort_drag_handle`}\n />\n )}\n\n {/** render element fields */}\n <div\n className={cn(className.elementWrapper)}\n data-testid={`${testId}_element_wrapper`}\n >\n {/* TODO: this has to be improved */}\n <Grid>{children}</Grid>\n </div>\n\n {/** remove element */}\n {lastNotDeletable && fields.length === 1 ? null : (\n <ElementRemoveButton\n className={className.removeButton}\n onClick={() => methods.remove()}\n testId={`${testId}_remove_button`}\n />\n )}\n\n {/** insertAfter feature when not last element */}\n {insertAfter && index !== fields.length - 1 && (\n <ElementInsertAfterButton\n className={className.insertAfterButton}\n onClick={() => methods.insert()}\n testId={`${testId}_insert_after_button`}\n />\n )}\n </li>\n\n {/** element error */}\n {error && typeof error[index] !== 'undefined' && (\n <div {...getHelperWrapperProps()}>\n <div {...getErrorMessageProps()}>\n <FieldValidationError\n /* @ts-expect-error rhf incompatibility */\n error={error[Number(index)]?._errors}\n testId={testId as string}\n />\n </div>\n </div>\n )}\n </>\n );\n};\n\nexport default FieldArrayElement;\n","import type { ClassValue } from '@fuf-stack/pixel-utils';\n\nimport { FaPlus } from 'react-icons/fa6';\n\nimport { cn } from '@fuf-stack/pixel-utils';\nimport { Button } from '@fuf-stack/pixels';\n\ninterface ElementInsertAfterButtonProps {\n /** CSS class name */\n className?: ClassValue;\n /** click handler */\n onClick: () => void;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\nconst ElementInsertAfterButton = ({\n className = undefined,\n onClick,\n testId = undefined,\n}: ElementInsertAfterButtonProps) => {\n return (\n <Button\n className={cn(className)}\n color=\"success\"\n icon={<FaPlus />}\n onClick={onClick}\n size=\"sm\"\n testId={testId}\n variant=\"light\"\n />\n );\n};\n\nexport default ElementInsertAfterButton;\n","import type { ClassValue } from '@fuf-stack/pixel-utils';\n\nimport { FaTimes } from 'react-icons/fa';\n\nimport { cn } from '@fuf-stack/pixel-utils';\nimport { Button } from '@fuf-stack/pixels';\n\ninterface ElementRemoveButtonProps {\n /** CSS class name */\n className?: ClassValue;\n /** click handler */\n onClick: () => void;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\nconst ElementRemoveButton = ({\n className = undefined,\n onClick,\n testId = undefined,\n}: ElementRemoveButtonProps) => {\n return (\n <Button\n ariaLabel=\"remove element\"\n className={cn(className)}\n color=\"danger\"\n icon={<FaTimes />}\n onClick={onClick}\n testId={testId}\n variant=\"light\"\n />\n );\n};\n\nexport default ElementRemoveButton;\n","import type { ClassValue } from '@fuf-stack/pixel-utils';\n\nimport { FaGripVertical } from 'react-icons/fa';\n\nimport { useSortable } from '@dnd-kit/sortable';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\ninterface SortDragHandleProps {\n /** Optional CSS class name */\n className?: ClassValue;\n /** Unique identifier for sortable item */\n id: string | number;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Drag handle component that integrates with dnd-kit sortable functionality.\n * Renders a vertical grip icon that can be used to reorder items.\n */\nconst SortDragHandle = ({\n className = undefined,\n id,\n testId = undefined,\n}: SortDragHandleProps) => {\n // Get dnd-kit sortable attributes and listeners\n const { attributes, listeners } = useSortable({ id });\n\n return (\n <div\n className={cn(className)}\n data-testid={testId}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...attributes}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...listeners}\n >\n <FaGripVertical />\n </div>\n );\n};\n\nexport default SortDragHandle;\n","/* eslint-disable react/jsx-props-no-spreading */\n\nimport type { DragEndEvent } from '@dnd-kit/core';\nimport type { ReactNode } from 'react';\nimport type { UseFieldArrayMove } from 'react-hook-form';\n\nimport {\n closestCenter,\n DndContext,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {\n restrictToVerticalAxis,\n restrictToWindowEdges,\n} from '@dnd-kit/modifiers';\nimport {\n SortableContext,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable';\n\ninterface SortContextProps {\n /** child components */\n children: ReactNode;\n /** enable/disable sorting functionality */\n sortable: boolean;\n /** Array of objects containing unique IDs for sortable items */\n fields: Record<'id', string>[];\n /** react-hook-form's move function to update field array indices */\n move: UseFieldArrayMove;\n}\n\n/**\n * A wrapper component that provides drag-and-drop sorting functionality for field arrays\n * using dnd-kit and react-hook-form.\n *\n * This component integrates with react-hook-form's field arrays to enable vertical\n * drag-and-drop reordering of form fields. It supports both pointer (mouse/touch)\n * and keyboard interactions for accessibility.\n */\nconst SortContext = ({\n children,\n sortable,\n fields,\n move,\n}: SortContextProps) => {\n // Initialize sensors for both pointer (mouse/touch) and keyboard interactions\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor),\n );\n\n // Early return if sorting is disabled\n if (!sortable) {\n return children;\n }\n\n /**\n * Handles the end of a drag operation by updating field positions\n * @param event - The drag end event containing active and over elements\n */\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event;\n\n // Only move if dropping over a different item\n if (active.id !== over?.id) {\n // Find the indices of the dragged item and drop target\n const oldIndex = fields.findIndex((field) => field.id === active.id);\n const newIndex = fields.findIndex((field) => field.id === over?.id);\n // Update the field array order using react-hook-form's move function\n move(oldIndex, newIndex);\n }\n };\n\n return (\n <DndContext\n collisionDetection={closestCenter}\n modifiers={[restrictToVerticalAxis, restrictToWindowEdges]}\n onDragEnd={handleDragEnd}\n sensors={sensors}\n >\n <SortableContext\n items={fields.map((field) => field.id)}\n strategy={verticalListSortingStrategy}\n >\n {children}\n </SortableContext>\n </DndContext>\n );\n};\n\nexport default SortContext;\n","import FieldArray from './FieldArray';\n\nexport type * from './types';\n\nexport { FieldArray };\n\nexport default FieldArray;\n"]}
@@ -8,7 +8,7 @@ var _chunkPA2DQCBYcjs = require('./chunk-PA2DQCBY.cjs');
8
8
 
9
9
 
10
10
 
11
- var _chunkF4VYFBYCcjs = require('./chunk-F4VYFBYC.cjs');
11
+ var _chunkGDNP6OU3cjs = require('./chunk-GDNP6OU3.cjs');
12
12
 
13
13
 
14
14
 
@@ -40,11 +40,11 @@ var Switch = ({
40
40
  name,
41
41
  testId: _testId = void 0
42
42
  }) => {
43
- const { control, debugMode, getFieldState } = _chunkF4VYFBYCcjs.useFormContext.call(void 0, );
43
+ const { control, debugMode, getFieldState } = _chunkGDNP6OU3cjs.useFormContext.call(void 0, );
44
44
  const { error, required, testId, invalid } = getFieldState(name, _testId);
45
- const { field } = _chunkF4VYFBYCcjs.useController.call(void 0, { name, control, disabled });
45
+ const { field } = _chunkGDNP6OU3cjs.useController.call(void 0, { name, control, disabled });
46
46
  const { disabled: isDisabled, value, ref, onBlur, onChange } = field;
47
- const { label, getInputProps, getErrorMessageProps } = _chunkF4VYFBYCcjs.useInput.call(void 0, {
47
+ const { label, getInputProps, getErrorMessageProps } = _chunkGDNP6OU3cjs.useInput.call(void 0, {
48
48
  errorMessage: JSON.stringify(error),
49
49
  isInvalid: invalid,
50
50
  isRequired: required,
@@ -95,4 +95,4 @@ var Switch_default2 = Switch_default;
95
95
 
96
96
 
97
97
  exports.Switch_default = Switch_default; exports.Switch_default2 = Switch_default2;
98
- //# sourceMappingURL=chunk-EHTJ2BYB.cjs.map
98
+ //# sourceMappingURL=chunk-DIVINFK2.cjs.map