@fuf-stack/uniform 0.7.0 → 0.8.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.
- package/dist/CheckboxGroup/index.cjs +4 -4
- package/dist/CheckboxGroup/index.js +3 -3
- package/dist/FieldArray/index.cjs +4 -4
- package/dist/FieldArray/index.js +3 -3
- package/dist/Form/index.cjs +3 -3
- package/dist/Form/index.js +2 -2
- package/dist/Input/index.cjs +4 -4
- package/dist/Input/index.js +3 -3
- package/dist/RadioGroup/index.cjs +4 -4
- package/dist/RadioGroup/index.js +3 -3
- package/dist/Select/index.cjs +4 -4
- package/dist/Select/index.js +3 -3
- package/dist/SubmitButton/index.cjs +3 -3
- package/dist/SubmitButton/index.js +2 -2
- package/dist/Switch/index.cjs +4 -4
- package/dist/Switch/index.js +3 -3
- package/dist/TextArea/index.cjs +4 -4
- package/dist/TextArea/index.js +3 -3
- package/dist/chunk-B24NXJTR.js +129 -0
- package/dist/chunk-B24NXJTR.js.map +1 -0
- package/dist/{chunk-6NDSWWW7.cjs → chunk-DZPPA4BG.cjs} +5 -5
- package/dist/{chunk-6NDSWWW7.cjs.map → chunk-DZPPA4BG.cjs.map} +1 -1
- package/dist/{chunk-VXVDNHDV.cjs → chunk-ENVGJAWA.cjs} +5 -5
- package/dist/{chunk-VXVDNHDV.cjs.map → chunk-ENVGJAWA.cjs.map} +1 -1
- package/dist/{chunk-36F7BWKL.js → chunk-FYP5BTHS.js} +5 -5
- package/dist/{chunk-OFKYZAVG.cjs → chunk-J23BIH72.cjs} +5 -5
- package/dist/{chunk-OFKYZAVG.cjs.map → chunk-J23BIH72.cjs.map} +1 -1
- package/dist/{chunk-2BQWUW2F.cjs → chunk-JI7GA5XH.cjs} +5 -5
- package/dist/{chunk-2BQWUW2F.cjs.map → chunk-JI7GA5XH.cjs.map} +1 -1
- package/dist/{chunk-LIKSUWSM.js → chunk-OD5BASYZ.js} +5 -5
- package/dist/chunk-OL5DXVY4.cjs +129 -0
- package/dist/chunk-OL5DXVY4.cjs.map +1 -0
- package/dist/{chunk-UDRSTJBU.js → chunk-PDXVHUGH.js} +5 -5
- package/dist/{chunk-MV4JFCOJ.cjs → chunk-QP7FUODS.cjs} +5 -5
- package/dist/{chunk-MV4JFCOJ.cjs.map → chunk-QP7FUODS.cjs.map} +1 -1
- package/dist/{chunk-R7XP72I5.js → chunk-RULU2SJ5.js} +5 -5
- package/dist/{chunk-QD6IQL6U.js → chunk-TN6ZHEXV.js} +2 -2
- package/dist/{chunk-KGHLS6DM.js → chunk-UIVSMVUT.js} +5 -5
- package/dist/{chunk-G7FQPNDQ.cjs → chunk-VGJQLCH3.cjs} +5 -5
- package/dist/{chunk-G7FQPNDQ.cjs.map → chunk-VGJQLCH3.cjs.map} +1 -1
- package/dist/{chunk-XJ3JTLXZ.cjs → chunk-VN4U7FEE.cjs} +3 -3
- package/dist/{chunk-XJ3JTLXZ.cjs.map → chunk-VN4U7FEE.cjs.map} +1 -1
- package/dist/{chunk-ZVBX5EKB.cjs → chunk-WR2PNNMP.cjs} +6 -6
- package/dist/{chunk-ZVBX5EKB.cjs.map → chunk-WR2PNNMP.cjs.map} +1 -1
- package/dist/{chunk-Y4CFVCUN.js → chunk-X4CGRHLI.js} +22 -40
- package/dist/chunk-X4CGRHLI.js.map +1 -0
- package/dist/{chunk-EHPYBNHC.js → chunk-YTHRKULG.js} +5 -5
- package/dist/{chunk-Y5JGQJI7.js → chunk-ZLLK6TCU.js} +5 -5
- package/dist/{chunk-JFCOC5TW.cjs → chunk-ZWRZZGMZ.cjs} +23 -41
- package/dist/chunk-ZWRZZGMZ.cjs.map +1 -0
- package/dist/hooks/index.cjs +2 -2
- package/dist/hooks/index.d.cts +10 -9
- package/dist/hooks/index.d.ts +10 -9
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +13 -13
- package/dist/index.d.cts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +17 -17
- package/package.json +7 -7
- package/dist/chunk-BCMPSLSG.js +0 -87
- package/dist/chunk-BCMPSLSG.js.map +0 -1
- package/dist/chunk-JFCOC5TW.cjs.map +0 -1
- package/dist/chunk-WQRM7G4C.cjs +0 -87
- package/dist/chunk-WQRM7G4C.cjs.map +0 -1
- package/dist/chunk-Y4CFVCUN.js.map +0 -1
- /package/dist/{chunk-36F7BWKL.js.map → chunk-FYP5BTHS.js.map} +0 -0
- /package/dist/{chunk-LIKSUWSM.js.map → chunk-OD5BASYZ.js.map} +0 -0
- /package/dist/{chunk-UDRSTJBU.js.map → chunk-PDXVHUGH.js.map} +0 -0
- /package/dist/{chunk-R7XP72I5.js.map → chunk-RULU2SJ5.js.map} +0 -0
- /package/dist/{chunk-QD6IQL6U.js.map → chunk-TN6ZHEXV.js.map} +0 -0
- /package/dist/{chunk-KGHLS6DM.js.map → chunk-UIVSMVUT.js.map} +0 -0
- /package/dist/{chunk-EHPYBNHC.js.map → chunk-YTHRKULG.js.map} +0 -0
- /package/dist/{chunk-Y5JGQJI7.js.map → chunk-ZLLK6TCU.js.map} +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-QTL5FREE.cjs');
|
|
4
|
+
var _chunkQP7FUODScjs = require('../chunk-QP7FUODS.cjs');
|
|
6
5
|
require('../chunk-KMMS4G7A.cjs');
|
|
7
|
-
require('../chunk-
|
|
6
|
+
require('../chunk-QTL5FREE.cjs');
|
|
7
|
+
require('../chunk-OL5DXVY4.cjs');
|
|
8
8
|
require('../chunk-BBB4FEY6.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
exports.CheckboxGroup =
|
|
12
|
+
exports.CheckboxGroup = _chunkQP7FUODScjs.CheckboxGroup_default; exports.default = _chunkQP7FUODScjs.CheckboxGroup_default2;
|
|
13
13
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CheckboxGroup_default,
|
|
3
3
|
CheckboxGroup_default2
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-DBLODROX.js";
|
|
4
|
+
} from "../chunk-UIVSMVUT.js";
|
|
6
5
|
import "../chunk-T3CCNJHK.js";
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-DBLODROX.js";
|
|
7
|
+
import "../chunk-B24NXJTR.js";
|
|
8
8
|
import "../chunk-V46BHM2U.js";
|
|
9
9
|
export {
|
|
10
10
|
CheckboxGroup_default as CheckboxGroup,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-QTL5FREE.cjs');
|
|
4
|
+
var _chunkWR2PNNMPcjs = require('../chunk-WR2PNNMP.cjs');
|
|
6
5
|
require('../chunk-KMMS4G7A.cjs');
|
|
7
|
-
require('../chunk-
|
|
6
|
+
require('../chunk-QTL5FREE.cjs');
|
|
7
|
+
require('../chunk-OL5DXVY4.cjs');
|
|
8
8
|
require('../chunk-BBB4FEY6.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
exports.FieldArray =
|
|
12
|
+
exports.FieldArray = _chunkWR2PNNMPcjs.FieldArray_default; exports.default = _chunkWR2PNNMPcjs.FieldArray_default2;
|
|
13
13
|
//# sourceMappingURL=index.cjs.map
|
package/dist/FieldArray/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FieldArray_default,
|
|
3
3
|
FieldArray_default2
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-DBLODROX.js";
|
|
4
|
+
} from "../chunk-RULU2SJ5.js";
|
|
6
5
|
import "../chunk-T3CCNJHK.js";
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-DBLODROX.js";
|
|
7
|
+
import "../chunk-B24NXJTR.js";
|
|
8
8
|
import "../chunk-V46BHM2U.js";
|
|
9
9
|
export {
|
|
10
10
|
FieldArray_default as FieldArray,
|
package/dist/Form/index.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-
|
|
4
|
+
var _chunkZWRZZGMZcjs = require('../chunk-ZWRZZGMZ.cjs');
|
|
5
|
+
require('../chunk-OL5DXVY4.cjs');
|
|
6
6
|
require('../chunk-BBB4FEY6.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
exports.Form =
|
|
10
|
+
exports.Form = _chunkZWRZZGMZcjs.Form_default; exports.default = _chunkZWRZZGMZcjs.Form_default2;
|
|
11
11
|
//# sourceMappingURL=index.cjs.map
|
package/dist/Form/index.js
CHANGED
package/dist/Input/index.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-QTL5FREE.cjs');
|
|
4
|
+
var _chunkJI7GA5XHcjs = require('../chunk-JI7GA5XH.cjs');
|
|
6
5
|
require('../chunk-KMMS4G7A.cjs');
|
|
7
|
-
require('../chunk-
|
|
6
|
+
require('../chunk-QTL5FREE.cjs');
|
|
7
|
+
require('../chunk-OL5DXVY4.cjs');
|
|
8
8
|
require('../chunk-BBB4FEY6.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
exports.Input =
|
|
12
|
+
exports.Input = _chunkJI7GA5XHcjs.Input_default; exports.default = _chunkJI7GA5XHcjs.Input_default2;
|
|
13
13
|
//# sourceMappingURL=index.cjs.map
|
package/dist/Input/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Input_default,
|
|
3
3
|
Input_default2
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-DBLODROX.js";
|
|
4
|
+
} from "../chunk-ZLLK6TCU.js";
|
|
6
5
|
import "../chunk-T3CCNJHK.js";
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-DBLODROX.js";
|
|
7
|
+
import "../chunk-B24NXJTR.js";
|
|
8
8
|
import "../chunk-V46BHM2U.js";
|
|
9
9
|
export {
|
|
10
10
|
Input_default as Input,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-QTL5FREE.cjs');
|
|
4
|
+
var _chunkJ23BIH72cjs = require('../chunk-J23BIH72.cjs');
|
|
6
5
|
require('../chunk-KMMS4G7A.cjs');
|
|
7
|
-
require('../chunk-
|
|
6
|
+
require('../chunk-QTL5FREE.cjs');
|
|
7
|
+
require('../chunk-OL5DXVY4.cjs');
|
|
8
8
|
require('../chunk-BBB4FEY6.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
exports.RadioGroup =
|
|
12
|
+
exports.RadioGroup = _chunkJ23BIH72cjs.RadioGroup_default; exports.default = _chunkJ23BIH72cjs.RadioGroup_default2;
|
|
13
13
|
//# sourceMappingURL=index.cjs.map
|
package/dist/RadioGroup/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RadioGroup_default,
|
|
3
3
|
RadioGroup_default2
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-DBLODROX.js";
|
|
4
|
+
} from "../chunk-FYP5BTHS.js";
|
|
6
5
|
import "../chunk-T3CCNJHK.js";
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-DBLODROX.js";
|
|
7
|
+
import "../chunk-B24NXJTR.js";
|
|
8
8
|
import "../chunk-V46BHM2U.js";
|
|
9
9
|
export {
|
|
10
10
|
RadioGroup_default as RadioGroup,
|
package/dist/Select/index.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-QTL5FREE.cjs');
|
|
4
|
+
var _chunkVGJQLCH3cjs = require('../chunk-VGJQLCH3.cjs');
|
|
6
5
|
require('../chunk-KMMS4G7A.cjs');
|
|
7
|
-
require('../chunk-
|
|
6
|
+
require('../chunk-QTL5FREE.cjs');
|
|
7
|
+
require('../chunk-OL5DXVY4.cjs');
|
|
8
8
|
require('../chunk-BBB4FEY6.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
exports.Select =
|
|
12
|
+
exports.Select = _chunkVGJQLCH3cjs.Select_default; exports.default = _chunkVGJQLCH3cjs.Select_default2;
|
|
13
13
|
//# sourceMappingURL=index.cjs.map
|
package/dist/Select/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Select_default,
|
|
3
3
|
Select_default2
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-DBLODROX.js";
|
|
4
|
+
} from "../chunk-YTHRKULG.js";
|
|
6
5
|
import "../chunk-T3CCNJHK.js";
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-DBLODROX.js";
|
|
7
|
+
import "../chunk-B24NXJTR.js";
|
|
8
8
|
import "../chunk-V46BHM2U.js";
|
|
9
9
|
export {
|
|
10
10
|
Select_default as Select,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-
|
|
4
|
+
var _chunkVN4U7FEEcjs = require('../chunk-VN4U7FEE.cjs');
|
|
5
|
+
require('../chunk-OL5DXVY4.cjs');
|
|
6
6
|
require('../chunk-BBB4FEY6.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
exports.SubmitButton =
|
|
10
|
+
exports.SubmitButton = _chunkVN4U7FEEcjs.SubmitButton_default; exports.default = _chunkVN4U7FEEcjs.SubmitButton_default2;
|
|
11
11
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SubmitButton_default,
|
|
3
3
|
SubmitButton_default2
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-TN6ZHEXV.js";
|
|
5
|
+
import "../chunk-B24NXJTR.js";
|
|
6
6
|
import "../chunk-V46BHM2U.js";
|
|
7
7
|
export {
|
|
8
8
|
SubmitButton_default as SubmitButton,
|
package/dist/Switch/index.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-QTL5FREE.cjs');
|
|
4
|
+
var _chunkDZPPA4BGcjs = require('../chunk-DZPPA4BG.cjs');
|
|
6
5
|
require('../chunk-KMMS4G7A.cjs');
|
|
7
|
-
require('../chunk-
|
|
6
|
+
require('../chunk-QTL5FREE.cjs');
|
|
7
|
+
require('../chunk-OL5DXVY4.cjs');
|
|
8
8
|
require('../chunk-BBB4FEY6.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
exports.Switch =
|
|
12
|
+
exports.Switch = _chunkDZPPA4BGcjs.Switch_default; exports.default = _chunkDZPPA4BGcjs.Switch_default2;
|
|
13
13
|
//# sourceMappingURL=index.cjs.map
|
package/dist/Switch/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Switch_default,
|
|
3
3
|
Switch_default2
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-DBLODROX.js";
|
|
4
|
+
} from "../chunk-OD5BASYZ.js";
|
|
6
5
|
import "../chunk-T3CCNJHK.js";
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-DBLODROX.js";
|
|
7
|
+
import "../chunk-B24NXJTR.js";
|
|
8
8
|
import "../chunk-V46BHM2U.js";
|
|
9
9
|
export {
|
|
10
10
|
Switch_default as Switch,
|
package/dist/TextArea/index.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-QTL5FREE.cjs');
|
|
4
|
+
var _chunkENVGJAWAcjs = require('../chunk-ENVGJAWA.cjs');
|
|
6
5
|
require('../chunk-KMMS4G7A.cjs');
|
|
7
|
-
require('../chunk-
|
|
6
|
+
require('../chunk-QTL5FREE.cjs');
|
|
7
|
+
require('../chunk-OL5DXVY4.cjs');
|
|
8
8
|
require('../chunk-BBB4FEY6.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
exports.TextArea =
|
|
12
|
+
exports.TextArea = _chunkENVGJAWAcjs.TextArea_default; exports.default = _chunkENVGJAWAcjs.TextArea_default2;
|
|
13
13
|
//# sourceMappingURL=index.cjs.map
|
package/dist/TextArea/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TextArea_default,
|
|
3
3
|
TextArea_default2
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-DBLODROX.js";
|
|
4
|
+
} from "../chunk-PDXVHUGH.js";
|
|
6
5
|
import "../chunk-T3CCNJHK.js";
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-DBLODROX.js";
|
|
7
|
+
import "../chunk-B24NXJTR.js";
|
|
8
8
|
import "../chunk-V46BHM2U.js";
|
|
9
9
|
export {
|
|
10
10
|
TextArea_default as TextArea,
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import {
|
|
2
|
+
slugify
|
|
3
|
+
} from "./chunk-V46BHM2U.js";
|
|
4
|
+
|
|
5
|
+
// src/hooks/useFormContext/useFormContext.ts
|
|
6
|
+
import { useContext } from "react";
|
|
7
|
+
import { useFormContext as useHookFormContext } from "react-hook-form";
|
|
8
|
+
|
|
9
|
+
// src/Form/subcomponents/FormContext.tsx
|
|
10
|
+
import React, { useMemo, useState } from "react";
|
|
11
|
+
import { FormProvider as HookFormProvider, useForm } from "react-hook-form";
|
|
12
|
+
import { jsx } from "react/jsx-runtime";
|
|
13
|
+
var removeNullishFields = (obj) => {
|
|
14
|
+
return JSON.parse(
|
|
15
|
+
JSON.stringify(obj, (_key, value) => {
|
|
16
|
+
return value === null ? void 0 : value;
|
|
17
|
+
})
|
|
18
|
+
);
|
|
19
|
+
};
|
|
20
|
+
var UniformContext = React.createContext(void 0);
|
|
21
|
+
var FormProvider = ({
|
|
22
|
+
children,
|
|
23
|
+
initialValues = void 0,
|
|
24
|
+
onSubmit,
|
|
25
|
+
validation = void 0,
|
|
26
|
+
validationTrigger
|
|
27
|
+
}) => {
|
|
28
|
+
const [canSubmit, setCanSubmit] = useState(true);
|
|
29
|
+
const contextValue = useMemo(
|
|
30
|
+
() => ({ canSubmit, setCanSubmit, validation }),
|
|
31
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32
|
+
[canSubmit]
|
|
33
|
+
);
|
|
34
|
+
const methods = useForm({
|
|
35
|
+
defaultValues: initialValues,
|
|
36
|
+
// add validation config when validation schema provided
|
|
37
|
+
...validation ? {
|
|
38
|
+
// set rhf mode
|
|
39
|
+
// see: https://react-hook-form.com/docs/useform#mode
|
|
40
|
+
mode: validationTrigger,
|
|
41
|
+
resolver: async (values) => {
|
|
42
|
+
const { data, errors, ...rest } = await validation.validateAsync(
|
|
43
|
+
removeNullishFields(values)
|
|
44
|
+
);
|
|
45
|
+
return { values: data || {}, errors: errors || {}, ...rest };
|
|
46
|
+
}
|
|
47
|
+
} : {}
|
|
48
|
+
});
|
|
49
|
+
const handleSubmit = async (e) => {
|
|
50
|
+
if (!canSubmit) {
|
|
51
|
+
console.warn(
|
|
52
|
+
"[FormProvider] form submit was canceled canSubmit is false..."
|
|
53
|
+
);
|
|
54
|
+
e?.preventDefault();
|
|
55
|
+
return Promise.resolve();
|
|
56
|
+
}
|
|
57
|
+
await methods.handleSubmit(onSubmit)(e);
|
|
58
|
+
};
|
|
59
|
+
return /* @__PURE__ */ jsx(UniformContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(HookFormProvider, { ...methods, children: children({ handleSubmit }) }) });
|
|
60
|
+
};
|
|
61
|
+
var FormContext_default = FormProvider;
|
|
62
|
+
|
|
63
|
+
// src/hooks/useFormContext/useFormContext.ts
|
|
64
|
+
var recursiveSearchInnerType = (schema) => {
|
|
65
|
+
let currentSchema = schema;
|
|
66
|
+
while (currentSchema?._def?.innerType) {
|
|
67
|
+
currentSchema = currentSchema._def.innerType;
|
|
68
|
+
if (currentSchema?._def?.typeName === "ZodOptional") {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
};
|
|
74
|
+
var recursiveFieldKeySearch = (schema, path) => {
|
|
75
|
+
const [current, ...rest] = path;
|
|
76
|
+
let currentSchema = schema;
|
|
77
|
+
if (schema?._def?.typeName === "ZodOptional") {
|
|
78
|
+
currentSchema = schema.unwrap();
|
|
79
|
+
}
|
|
80
|
+
if (schema?._def?.typeName === "ZodEffects") {
|
|
81
|
+
return recursiveFieldKeySearch(schema._def.schema, path);
|
|
82
|
+
}
|
|
83
|
+
if (currentSchema?._def?.typeName === "ZodIntersection") {
|
|
84
|
+
return (currentSchema._def.left?.schema ? recursiveFieldKeySearch(currentSchema._def.left.schema, path) : recursiveFieldKeySearch(currentSchema._def.left, path)) || (currentSchema._def.right?.schema ? recursiveFieldKeySearch(currentSchema._def.right.schema, path) : recursiveFieldKeySearch(currentSchema._def.right, path));
|
|
85
|
+
}
|
|
86
|
+
const shape = currentSchema?.shape ?? currentSchema?.element?.shape;
|
|
87
|
+
if (shape && shape[current]) {
|
|
88
|
+
if (rest.length === 0) {
|
|
89
|
+
return shape[current]?._def?.typeName !== "ZodOptional" && recursiveSearchInnerType(shape[current]);
|
|
90
|
+
}
|
|
91
|
+
return recursiveFieldKeySearch(shape[current], rest);
|
|
92
|
+
}
|
|
93
|
+
return null;
|
|
94
|
+
};
|
|
95
|
+
var useFormContext = () => {
|
|
96
|
+
const {
|
|
97
|
+
formState,
|
|
98
|
+
// https://react-hook-form.com/docs/useform/getfieldstate
|
|
99
|
+
// for getFieldState a subscription to formState properties is needed!
|
|
100
|
+
getFieldState: getFieldStateOrig,
|
|
101
|
+
...otherMethods
|
|
102
|
+
} = useHookFormContext();
|
|
103
|
+
const uniformContext = useContext(UniformContext);
|
|
104
|
+
const getFieldState = (name, testId) => {
|
|
105
|
+
const fieldPath = typeof name === "string" ? name.replace(/\[\d+\]/g, "").split(".") : name;
|
|
106
|
+
const required = uniformContext?.validation && recursiveFieldKeySearch(uniformContext.validation.schema, fieldPath) || false;
|
|
107
|
+
const { error, ...rest } = getFieldStateOrig(name, formState);
|
|
108
|
+
return {
|
|
109
|
+
...rest,
|
|
110
|
+
error,
|
|
111
|
+
// Ensure correct type for error
|
|
112
|
+
required,
|
|
113
|
+
testId: slugify(testId || name)
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
return {
|
|
117
|
+
...otherMethods,
|
|
118
|
+
...uniformContext,
|
|
119
|
+
getFieldState,
|
|
120
|
+
formState
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export {
|
|
125
|
+
FormContext_default,
|
|
126
|
+
recursiveFieldKeySearch,
|
|
127
|
+
useFormContext
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=chunk-B24NXJTR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useFormContext/useFormContext.ts","../src/Form/subcomponents/FormContext.tsx"],"sourcesContent":["import type { VetoSchema } from '@fuf-stack/veto';\nimport type { FieldError } from 'react-hook-form';\n\nimport { useContext } from 'react';\nimport { useFormContext as useHookFormContext } from 'react-hook-form';\n\nimport { UniformContext } from '../../Form/subcomponents/FormContext';\nimport { slugify } from '../../helpers';\n\n/** Checks whether the field is an optional type by recursively checking inner types */\nconst recursiveSearchInnerType = (schema: VetoSchema): boolean => {\n let currentSchema = schema;\n\n // Loop through inner types to find the root type\n while (currentSchema?._def?.innerType) {\n currentSchema = currentSchema._def.innerType;\n if (currentSchema?._def?.typeName === 'ZodOptional') {\n // Stop recursion if optional is found\n return false;\n }\n }\n // If no optional was found, assume it's required\n return true;\n};\n\n/** Recursive search to check whether a field is required or optional */\nexport const recursiveFieldKeySearch = (\n schema: VetoSchema,\n path: string[],\n): boolean | null => {\n const [current, ...rest] = path;\n\n let currentSchema = schema;\n\n // Handle ZodOptional schema: unwrap and continue searching\n if (schema?._def?.typeName === 'ZodOptional') {\n // @ts-expect-error not sure here\n currentSchema = schema.unwrap();\n }\n\n // Handle ZodEffects (transformations or validation effects)\n if (schema?._def?.typeName === 'ZodEffects') {\n // Unwrap and continue\n return recursiveFieldKeySearch(schema._def.schema, path);\n }\n\n // Handle ZodIntersection (intersection types)\n if (currentSchema?._def?.typeName === 'ZodIntersection') {\n return (\n (currentSchema._def.left?.schema\n ? recursiveFieldKeySearch(currentSchema._def.left.schema, path)\n : recursiveFieldKeySearch(currentSchema._def.left, path)) ||\n (currentSchema._def.right?.schema\n ? recursiveFieldKeySearch(currentSchema._def.right.schema, path)\n : recursiveFieldKeySearch(currentSchema._def.right, path))\n );\n }\n\n // Get the shape of an object or elements of an array schema\n // @ts-expect-error not sure here\n const shape = currentSchema?.shape ?? currentSchema?.element?.shape;\n\n if (shape && shape[current]) {\n if (rest.length === 0) {\n // At the end of the path, check if the field is optional\n return (\n shape[current]?._def?.typeName !== 'ZodOptional' &&\n recursiveSearchInnerType(shape[current])\n );\n }\n return recursiveFieldKeySearch(shape[current], rest);\n }\n // Return null if field not found\n return null;\n};\n\n/**\n * Custom hook that extends react-hook-form's useFormContext to add validation and state management.\n */\nexport const useFormContext = () => {\n const {\n formState,\n // https://react-hook-form.com/docs/useform/getfieldstate\n // for getFieldState a subscription to formState properties is needed!\n getFieldState: getFieldStateOrig,\n ...otherMethods\n } = useHookFormContext();\n\n const uniformContext = useContext(UniformContext);\n\n /**\n * Updated getFieldState method which returns:\n * - Whether the field is required by checking the validation schema\n * - Existing field state information (errors, etc.)\n */\n const getFieldState = (name: string, testId?: string) => {\n const fieldPath =\n typeof name === 'string' ? name.replace(/\\[\\d+\\]/g, '').split('.') : name;\n\n // Check if the field is required using the validation schema\n const required =\n (uniformContext?.validation &&\n recursiveFieldKeySearch(uniformContext.validation.schema, fieldPath)) ||\n false;\n\n // Get the original field state (errors, etc.) from react-hook-form\n const { error, ...rest } = getFieldStateOrig(name, formState);\n\n return {\n ...rest,\n error: error as FieldError[] | undefined, // Ensure correct type for error\n required,\n testId: slugify(testId || name),\n };\n };\n\n return {\n ...otherMethods,\n ...uniformContext,\n getFieldState,\n formState,\n };\n};\n","import type { VetoInstance } from '@fuf-stack/veto';\nimport type { ReactNode } from 'react';\nimport type { FieldValues, SubmitHandler } from 'react-hook-form';\n\nimport React, { useMemo, useState } from 'react';\nimport { FormProvider as HookFormProvider, useForm } from 'react-hook-form';\n\n/**\n * recursively removes all fields that are null or undefined before\n * the form data is passed to the veto validation function\n */\nexport const removeNullishFields = (obj: Record<string, unknown>) => {\n return JSON.parse(\n JSON.stringify(obj, (_key, value) => {\n return value === null ? undefined : value;\n }),\n );\n};\n\n/**\n * The `UniformContext` provides the form submission state (`canSubmit`) and the ability to control\n * submission behavior (`setCanSubmit`). Additionally, it may provide an optional `validation` schema\n * (from Veto) for form validation purposes.\n *\n * This context is used by components that need to control or be aware of the form submission state,\n * or that require access to the validation schema for managing validation logic.\n *\n * The context's default value is `undefined` until provided by the `FormProvider` component.\n */\nexport const UniformContext = React.createContext<\n | {\n /** Whether the form can be submitted */\n canSubmit: boolean;\n /** Function to update the form's submission state (enabled/disabled) */\n setCanSubmit: React.Dispatch<React.SetStateAction<boolean>>;\n /** Optional Veto validation schema instance for form validation */\n validation?: VetoInstance;\n }\n | undefined\n>(undefined);\n\n// Define props for the FormProvider component, extending HookForm's props\ninterface FormProviderProps {\n /** children form render function */\n children: (childProps: {\n handleSubmit: (e?: React.BaseSyntheticEvent) => Promise<void>;\n }) => ReactNode;\n /** initial form values */\n initialValues?: FieldValues;\n /** form submit handler */\n onSubmit: SubmitHandler<FieldValues>;\n /** Veto validation schema instance */\n validation?: VetoInstance;\n /** when the validation should be triggered */\n validationTrigger: 'onChange' | 'onBlur' | 'onSubmit' | 'onTouched' | 'all';\n}\n\n/**\n * FormProvider component provides both:\n * 1. The veto validation schema context\n * 2. The form submission control context\n */\nconst FormProvider: React.FC<FormProviderProps> = ({\n children,\n initialValues = undefined,\n onSubmit,\n validation = undefined,\n validationTrigger,\n}) => {\n // Local state to control if form can be submitted\n const [canSubmit, setCanSubmit] = useState(true);\n\n // Memoize the context value to prevent re-renders\n const contextValue = useMemo(\n () => ({ canSubmit, setCanSubmit, validation }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [canSubmit],\n );\n\n // Initialize react hook form\n const methods = useForm({\n defaultValues: initialValues,\n // add validation config when validation schema provided\n ...(validation\n ? {\n // set rhf mode\n // see: https://react-hook-form.com/docs/useform#mode\n mode: validationTrigger,\n resolver: async (values) => {\n const { data, errors, ...rest } = await validation.validateAsync(\n removeNullishFields(values),\n );\n // https://github.com/react-hook-form/resolvers/blob/master/zod/src/zod.ts\n return { values: data || {}, errors: errors || {}, ...rest };\n },\n }\n : {}),\n });\n\n // Create submit handler\n // eslint-disable-next-line consistent-return\n const handleSubmit = async (e?: React.BaseSyntheticEvent) => {\n if (!canSubmit) {\n console.warn(\n '[FormProvider] form submit was canceled canSubmit is false...',\n );\n e?.preventDefault();\n return Promise.resolve();\n }\n await methods.handleSubmit(onSubmit)(e);\n };\n\n return (\n <UniformContext.Provider value={contextValue}>\n {/* Spread all hook form props into HookFormProvider */}\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <HookFormProvider {...methods}>\n {children({ handleSubmit })}\n </HookFormProvider>\n </UniformContext.Provider>\n );\n};\n\nexport default FormProvider;\n"],"mappings":"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","names":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkKMMS4G7Acjs = require('./chunk-KMMS4G7A.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkQTL5FREEcjs = require('./chunk-QTL5FREE.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkOL5DXVY4cjs = require('./chunk-OL5DXVY4.cjs');
|
|
10
10
|
|
|
11
11
|
// src/Switch/Switch.tsx
|
|
12
12
|
var _reacthookform = require('react-hook-form');
|
|
@@ -20,7 +20,7 @@ var Switch = ({
|
|
|
20
20
|
name,
|
|
21
21
|
testId: _testId = void 0
|
|
22
22
|
}) => {
|
|
23
|
-
const { control, getFieldState } =
|
|
23
|
+
const { control, getFieldState } = _chunkOL5DXVY4cjs.useFormContext.call(void 0, );
|
|
24
24
|
const { error, required, testId, invalid } = getFieldState(name, _testId);
|
|
25
25
|
const { label, getInputProps, getHelperWrapperProps, getErrorMessageProps } = _input.useInput.call(void 0, {
|
|
26
26
|
errorMessage: JSON.stringify(error),
|
|
@@ -78,4 +78,4 @@ var Switch_default2 = Switch_default;
|
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
exports.Switch_default = Switch_default; exports.Switch_default2 = Switch_default2;
|
|
81
|
-
//# sourceMappingURL=chunk-
|
|
81
|
+
//# sourceMappingURL=chunk-DZPPA4BG.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/uniform/uniform/packages/uniform/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/uniform/uniform/packages/uniform/dist/chunk-DZPPA4BG.cjs","../src/Switch/Switch.tsx","../src/Switch/index.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA,gDAA2B;AAE3B,0CAAyB;AACzB,4CAAqC;AAkD7B,+CAAA;AA5BR,IAAM,OAAA,EAAS,CAAC;AAAA,EACd,SAAA;AAAA,EACA,SAAA,EAAW,KAAA;AAAA,EACX,KAAA,EAAO,OAAA,EAAS,KAAA,CAAA;AAAA,EAChB,IAAA;AAAA,EACA,MAAA,EAAQ,QAAA,EAAU,KAAA;AACpB,CAAA,EAAA,GAAmB;AACjB,EAAA,MAAM,EAAE,OAAA,EAAS,cAAc,EAAA,EAAI,8CAAA,CAAe;AAClD,EAAA,MAAM,EAAE,KAAA,EAAO,QAAA,EAAU,MAAA,EAAQ,QAAQ,EAAA,EAAI,aAAA,CAAc,IAAA,EAAM,OAAO,CAAA;AAExE,EAAA,MAAM,EAAE,KAAA,EAAO,aAAA,EAAe,qBAAA,EAAuB,qBAAqB,EAAA,EACxE,6BAAA;AAAS,IACP,YAAA,EAAc,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA;AAAA,IAClC,SAAA,EAAW,OAAA;AAAA,IACX,UAAA,EAAY,QAAA;AAAA,IACZ,KAAA,EAAO,MAAA;AAAA,IACP,cAAA,EAAgB,SAAA;AAAA,IAChB,WAAA,EAAa;AAAA,EACf,CAAC,CAAA;AAEH,EAAA,uBACE,6BAAA;AAAA,IAAC,yBAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA,EAAQ,CAAC;AAAA,QACP,KAAA,EAAO,EAAE,QAAA,EAAU,UAAA,EAAY,KAAA,EAAO,GAAA,EAAK,MAAA,EAAQ,SAAS;AAAA,MAC9D,CAAA,EAAA,mBACE,8BAAA,oBAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAA,8BAAA;AAAA,UAAC,cAAA;AAAA,UAAA;AAAA,YACC,kBAAA,EAAkB,aAAA,CAAc,CAAA,CAAE,kBAAkB,CAAA;AAAA,YACpD,QAAA;AAAA,YACA,UAAA,EAAY,CAAC,CAAC,KAAA;AAAA,YACd,SAAA;AAAA,YACA,UAAA,EAAY;AAAA,cACV,KAAA,EAAO,CAAA,yCAAA,EAA4C,QAAA,EAAU,cAAA,EAAgB,EAAE,CAAA;AAAA,YAAA;AACjF,YAAA;AACa,YAAA;AACb,YAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AAEC,cAAA;AAAA,cAAA;AAE2C,8BAAA;AAEL,YAAA;AAAA,UAAA;AAAA,QAAA;AACzC,QAAA;AACC,wBAAA;AAOC,MAAA;AAEJ,IAAA;AAAA,EAAA;AAIR;AAEA;ADnBA;AACA;AEnEA;AFqEA;AACA;AACA;AACA;AACA","file":"/home/runner/work/uniform/uniform/packages/uniform/dist/chunk-DZPPA4BG.cjs","sourcesContent":[null,"import { Controller } from 'react-hook-form';\n\nimport { useInput } from '@nextui-org/input';\nimport { Switch as NextSwitch } from '@nextui-org/switch';\n\nimport { useFormContext } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\n\nexport interface SwitchProps {\n /** CSS class name */\n className: string;\n /** whether the select should be disabled */\n disabled?: boolean;\n /** component displayed next to the switch. */\n label: React.ReactNode;\n /** name the field is registered under */\n name: string;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Switch component based on [NextUI Switch](https://nextui.org/docs/components/switch)\n */\nconst Switch = ({\n className,\n disabled = false,\n label: _label = undefined,\n name,\n testId: _testId = undefined,\n}: SwitchProps) => {\n const { control, getFieldState } = useFormContext();\n const { error, required, testId, invalid } = getFieldState(name, _testId);\n\n const { label, getInputProps, getHelperWrapperProps, getErrorMessageProps } =\n useInput({\n errorMessage: JSON.stringify(error),\n isInvalid: invalid,\n isRequired: required,\n label: _label,\n labelPlacement: 'outside',\n placeholder: ' ',\n });\n\n return (\n <Controller\n name={name}\n control={control}\n disabled={disabled}\n render={({\n field: { disabled: isDisabled, value, ref, onBlur, onChange },\n }) => (\n <>\n <NextSwitch\n aria-describedby={getInputProps()['aria-describedby']}\n required={required}\n isSelected={!!value}\n className={className}\n classNames={{\n label: `text-bold block text-ellipsis text-small ${invalid ? 'text-danger' : ''}`,\n }}\n data-testid={testId}\n isDisabled={isDisabled}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n name={name}\n ref={ref}\n >\n {label}\n {!!required && !!_label && (\n <span className=\"!text-danger\">{' \\u002A'}</span>\n )}\n <FieldCopyTestIdButton testId={testId} />\n </NextSwitch>\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} />\n </div>\n </div>\n )}\n </>\n )}\n />\n );\n};\n\nexport default Switch;\n","import Switch from './Switch';\n\nexport type { SwitchProps } from './Switch';\n\nexport { Switch };\n\nexport default Switch;\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkKMMS4G7Acjs = require('./chunk-KMMS4G7A.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkQTL5FREEcjs = require('./chunk-QTL5FREE.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkOL5DXVY4cjs = require('./chunk-OL5DXVY4.cjs');
|
|
10
10
|
|
|
11
11
|
// src/TextArea/TextArea.tsx
|
|
12
12
|
var _reacthookform = require('react-hook-form');
|
|
@@ -22,7 +22,7 @@ var TextArea = ({
|
|
|
22
22
|
placeholder = " ",
|
|
23
23
|
testId: _testId = void 0
|
|
24
24
|
}) => {
|
|
25
|
-
const { control, getFieldState } =
|
|
25
|
+
const { control, getFieldState } = _chunkOL5DXVY4cjs.useFormContext.call(void 0, );
|
|
26
26
|
const { error, invalid, required, testId } = getFieldState(name, _testId);
|
|
27
27
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28
28
|
_reacthookform.Controller,
|
|
@@ -73,4 +73,4 @@ var TextArea_default2 = TextArea_default;
|
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
exports.TextArea_default = TextArea_default; exports.TextArea_default2 = TextArea_default2;
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
76
|
+
//# sourceMappingURL=chunk-ENVGJAWA.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/uniform/uniform/packages/uniform/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/uniform/uniform/packages/uniform/dist/chunk-ENVGJAWA.cjs","../src/TextArea/TextArea.tsx","../src/TextArea/index.ts"],"names":["TextArea_default"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACRA,gDAA2B;AAE3B,0CAAyC;AAEzC,oDAAmB;AAqDgB,+CAAA;AA3BnC,IAAM,SAAA,EAAW,CAAC;AAAA,EAChB,SAAA,EAAW,IAAA;AAAA,EACX,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,SAAA,EAAW,KAAA;AAAA,EACX,MAAA,EAAQ,KAAA,CAAA;AAAA,EACR,IAAA;AAAA,EACA,YAAA,EAAc,GAAA;AAAA,EACd,MAAA,EAAQ,QAAA,EAAU,KAAA;AACpB,CAAA,EAAA,GAAqB;AACnB,EAAA,MAAM,EAAE,OAAA,EAAS,cAAc,EAAA,EAAI,8CAAA,CAAe;AAClD,EAAA,MAAM,EAAE,KAAA,EAAO,OAAA,EAAS,QAAA,EAAU,OAAO,EAAA,EAAI,aAAA,CAAc,IAAA,EAAM,OAAO,CAAA;AAExE,EAAA,uBACE,6BAAA;AAAA,IAAC,yBAAA;AAAA,IAAA;AAAA,MACC,OAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA,EAAQ,CAAC;AAAA,QACP,KAAA,EAAO,EAAE,QAAA,EAAU,UAAA,EAAY,QAAA,EAAU,MAAA,EAAQ,KAAA,EAAO,IAAI;AAAA,MAC9D,CAAA,EAAA,GAAM;AACJ,QAAA,uBACE,6BAAA;AAAA,UAAC,eAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,4BAAA,SAAY,CAAA;AAAA,YACvB,UAAA,EAAY;AAAA,cACV,YAAA,EAAc;AAAA,YAChB,CAAA;AAAA,YACA,aAAA,EAAa,MAAA;AAAA,YACb,YAAA,EAAc,MAAA,mBAAS,6BAAA,8CAAC,EAAA,EAAqB,MAAA,CAAc,CAAA;AAAA,YAC3D,UAAA;AAAA,YACA,UAAA,EAAY,QAAA;AAAA,YACZ,SAAA,EAAW,OAAA;AAAA,YACX,KAAA,kBACE,8BAAA,oBAAA,EAAA,EACG,QAAA,EAAA;AAAA,cAAA,KAAA;AAAA,8BACD,6BAAA,+CAAC,EAAA,EAAsB,OAAA,CAAgB;AAAA,YAAA,EAAA,CACzC,CAAA;AAAA,YAEF,cAAA,EAAe,SAAA;AAAA,YACf,WAAA;AAAA,YACA,IAAA;AAAA,YACA,KAAA;AAAA,YACA,QAAA;AAAA,YACA,MAAA;AAAA,YACA,GAAA;AAAA,YACA,OAAA,EAAQ,UAAA;AAAA,YAEP;AAAA,UAAA;AAAA,QACH,CAAA;AAAA,MAEJ;AAAA,IAAA;AAAA,EACF,CAAA;AAEJ,CAAA;AAEA,IAAO,iBAAA,EAAQ,QAAA;ADnBf;AACA;AE9DA,IAAOA,kBAAAA,EAAQ,gBAAA;AFgEf;AACA;AACE;AACA;AACF,2FAAC","file":"/home/runner/work/uniform/uniform/packages/uniform/dist/chunk-ENVGJAWA.cjs","sourcesContent":[null,"import type { ReactNode } from 'react';\n\nimport { Controller } from 'react-hook-form';\n\nimport { Textarea as NextTextArea } from '@nextui-org/input';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nimport { useFormContext } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\n\nexport interface TextAreaProps {\n /** Child components. The content of the textarea. */\n children?: ReactNode;\n /** CSS class name */\n className?: string;\n /** Determines if the TextArea is disabled or not. */\n disabled?: boolean;\n /** Label displayed above the TextArea. */\n label?: ReactNode;\n /** Name the TextArea is registered at in HTML forms (react-hook-form). */\n name: string;\n /** placeholder for the textArea content. */\n placeholder?: string;\n /** Id to grab element in internal tests. */\n testId?: string;\n}\n\n/**\n * TextArea component based on [NextUI TextArea](https://nextui.org/docs/components/textarea)\n */\nconst TextArea = ({\n children = null,\n className = undefined,\n disabled = false,\n label = undefined,\n name,\n placeholder = ' ',\n testId: _testId = undefined,\n}: TextAreaProps) => {\n const { control, getFieldState } = useFormContext();\n const { error, invalid, required, testId } = getFieldState(name, _testId);\n\n return (\n <Controller\n control={control}\n name={name}\n disabled={disabled}\n render={({\n field: { disabled: isDisabled, onChange, onBlur, value, ref },\n }) => {\n return (\n <NextTextArea\n className={cn(className)}\n classNames={{\n inputWrapper: 'group-data-[focus=true]:border-primary',\n }}\n data-testid={testId}\n errorMessage={error && <FieldValidationError error={error} />}\n isDisabled={isDisabled}\n isRequired={required}\n isInvalid={invalid}\n label={\n <>\n {label}\n <FieldCopyTestIdButton testId={testId} />\n </>\n }\n labelPlacement=\"outside\"\n placeholder={placeholder}\n name={name}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n ref={ref}\n variant=\"bordered\"\n >\n {children}\n </NextTextArea>\n );\n }}\n />\n );\n};\n\nexport default TextArea;\n","import TextArea from './TextArea';\n\nexport type { TextAreaProps } from './TextArea';\n\nexport { TextArea };\n\nexport default TextArea;\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
FieldValidationError_default
|
|
3
|
-
} from "./chunk-DBLODROX.js";
|
|
4
1
|
import {
|
|
5
2
|
FieldCopyTestIdButton_default
|
|
6
3
|
} from "./chunk-T3CCNJHK.js";
|
|
4
|
+
import {
|
|
5
|
+
FieldValidationError_default
|
|
6
|
+
} from "./chunk-DBLODROX.js";
|
|
7
7
|
import {
|
|
8
8
|
useFormContext
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-B24NXJTR.js";
|
|
10
10
|
import {
|
|
11
11
|
slugify
|
|
12
12
|
} from "./chunk-V46BHM2U.js";
|
|
@@ -202,4 +202,4 @@ export {
|
|
|
202
202
|
RadioGroup_default,
|
|
203
203
|
RadioGroup_default2
|
|
204
204
|
};
|
|
205
|
-
//# sourceMappingURL=chunk-
|
|
205
|
+
//# sourceMappingURL=chunk-FYP5BTHS.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkKMMS4G7Acjs = require('./chunk-KMMS4G7A.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkQTL5FREEcjs = require('./chunk-QTL5FREE.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkOL5DXVY4cjs = require('./chunk-OL5DXVY4.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
var _chunkBBB4FEY6cjs = require('./chunk-BBB4FEY6.cjs');
|
|
@@ -103,7 +103,7 @@ var RadioGroup = ({
|
|
|
103
103
|
testId: _testId = void 0,
|
|
104
104
|
variant = "default"
|
|
105
105
|
}) => {
|
|
106
|
-
const { control, getFieldState, getValues } =
|
|
106
|
+
const { control, getFieldState, getValues } = _chunkOL5DXVY4cjs.useFormContext.call(void 0, );
|
|
107
107
|
const { error, invalid, required, testId } = getFieldState(name, _testId);
|
|
108
108
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
109
109
|
_reacthookform.Controller,
|
|
@@ -202,4 +202,4 @@ var RadioGroup_default2 = RadioGroup_default;
|
|
|
202
202
|
|
|
203
203
|
|
|
204
204
|
exports.RadioGroup_default = RadioGroup_default; exports.RadioGroup_default2 = RadioGroup_default2;
|
|
205
|
-
//# sourceMappingURL=chunk-
|
|
205
|
+
//# sourceMappingURL=chunk-J23BIH72.cjs.map
|