@fuf-stack/uniform 0.14.5 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CheckboxGroup/index.cjs +7 -6
- package/dist/CheckboxGroup/index.cjs.map +1 -1
- package/dist/CheckboxGroup/index.d.cts +2 -2
- package/dist/CheckboxGroup/index.d.ts +2 -2
- package/dist/CheckboxGroup/index.js +6 -5
- package/dist/{CheckboxGroup-o-qWkWe1.d.cts → CheckboxGroup-fAdey3Td.d.cts} +1 -1
- package/dist/{CheckboxGroup-o-qWkWe1.d.ts → CheckboxGroup-fAdey3Td.d.ts} +1 -1
- package/dist/Controller/index.cjs +4 -2
- package/dist/Controller/index.cjs.map +1 -1
- package/dist/Controller/index.d.cts +7 -3
- package/dist/Controller/index.d.ts +7 -3
- package/dist/Controller/index.js +7 -5
- package/dist/Controller-8Nqugui5.d.cts +37 -0
- package/dist/Controller-8Nqugui5.d.ts +37 -0
- package/dist/FieldArray/index.cjs +6 -5
- package/dist/FieldArray/index.cjs.map +1 -1
- package/dist/FieldArray/index.d.cts +5 -3
- package/dist/FieldArray/index.d.ts +5 -3
- package/dist/FieldArray/index.js +5 -4
- package/dist/FieldArray-AqM2XKIh.d.cts +151 -0
- package/dist/FieldArray-AqM2XKIh.d.ts +151 -0
- package/dist/Form/index.cjs +5 -4
- package/dist/Form/index.cjs.map +1 -1
- package/dist/Form/index.js +4 -3
- package/dist/Grid/index.cjs +1 -0
- package/dist/Grid/index.cjs.map +1 -1
- package/dist/Grid/index.js +1 -0
- package/dist/Input/index.cjs +7 -6
- package/dist/Input/index.cjs.map +1 -1
- package/dist/Input/index.d.cts +2 -2
- package/dist/Input/index.d.ts +2 -2
- package/dist/Input/index.js +6 -5
- package/dist/{Input-IkWP4cWg.d.cts → Input-B_wjhY9e.d.cts} +1 -1
- package/dist/{Input-IkWP4cWg.d.ts → Input-B_wjhY9e.d.ts} +1 -1
- package/dist/RadioGroup/index.cjs +7 -6
- package/dist/RadioGroup/index.cjs.map +1 -1
- package/dist/RadioGroup/index.d.cts +2 -2
- package/dist/RadioGroup/index.d.ts +2 -2
- package/dist/RadioGroup/index.js +6 -5
- package/dist/{RadioGroup-1J39ASHa.d.cts → RadioGroup-Dxd2FPQj.d.cts} +1 -1
- package/dist/{RadioGroup-1J39ASHa.d.ts → RadioGroup-Dxd2FPQj.d.ts} +1 -1
- package/dist/Select/index.cjs +7 -6
- package/dist/Select/index.cjs.map +1 -1
- package/dist/Select/index.d.cts +2 -2
- package/dist/Select/index.d.ts +2 -2
- package/dist/Select/index.js +6 -5
- package/dist/{Select-BhS4z0Pj.d.cts → Select-JRwrSDew.d.cts} +1 -1
- package/dist/{Select-BhS4z0Pj.d.ts → Select-JRwrSDew.d.ts} +1 -1
- package/dist/SubmitButton/index.cjs +5 -4
- package/dist/SubmitButton/index.cjs.map +1 -1
- package/dist/SubmitButton/index.js +4 -3
- package/dist/Switch/index.cjs +7 -6
- package/dist/Switch/index.cjs.map +1 -1
- package/dist/Switch/index.d.cts +2 -2
- package/dist/Switch/index.d.ts +2 -2
- package/dist/Switch/index.js +6 -5
- package/dist/{Switch-Fdldj8LV.d.cts → Switch-mdolzzEc.d.cts} +1 -1
- package/dist/{Switch-Fdldj8LV.d.ts → Switch-mdolzzEc.d.ts} +1 -1
- package/dist/TextArea/index.cjs +7 -6
- package/dist/TextArea/index.cjs.map +1 -1
- package/dist/TextArea/index.d.cts +2 -2
- package/dist/TextArea/index.d.ts +2 -2
- package/dist/TextArea/index.js +6 -5
- package/dist/{TextArea-B-sKvTkd.d.cts → TextArea-DNpInDsW.d.cts} +1 -1
- package/dist/{TextArea-B-sKvTkd.d.ts → TextArea-DNpInDsW.d.ts} +1 -1
- package/dist/{chunk-QCVTB2NI.js → chunk-3QBYSFDX.js} +10 -9
- package/dist/chunk-3QBYSFDX.js.map +1 -0
- package/dist/chunk-4DAZAO6Y.cjs +59 -0
- package/dist/chunk-4DAZAO6Y.cjs.map +1 -0
- package/dist/{chunk-BS52M4SZ.js → chunk-5YDNHSEU.js} +47 -41
- package/dist/chunk-5YDNHSEU.js.map +1 -0
- package/dist/chunk-7ROOJK7G.cjs +110 -0
- package/dist/chunk-7ROOJK7G.cjs.map +1 -0
- package/dist/{chunk-WKM2D7LF.js → chunk-ASPOGQPS.js} +2 -5
- package/dist/chunk-ASPOGQPS.js.map +1 -0
- package/dist/{chunk-XCZKNTFT.cjs → chunk-BDVAK232.cjs} +23 -24
- package/dist/chunk-BDVAK232.cjs.map +1 -0
- package/dist/chunk-CESGUF6F.cjs +63 -0
- package/dist/chunk-CESGUF6F.cjs.map +1 -0
- package/dist/chunk-CRTRMMJ7.js +59 -0
- package/dist/chunk-CRTRMMJ7.js.map +1 -0
- package/dist/{chunk-VP7WDLJM.js → chunk-DS7GUNDT.js} +17 -14
- package/dist/chunk-DS7GUNDT.js.map +1 -0
- package/dist/chunk-ECDLVJLZ.js +246 -0
- package/dist/chunk-ECDLVJLZ.js.map +1 -0
- package/dist/{chunk-GN5NJ6ZU.js → chunk-GNDW3TAU.js} +3 -6
- package/dist/chunk-GNDW3TAU.js.map +1 -0
- package/dist/{chunk-VZ5MMFIF.cjs → chunk-H65I56SI.cjs} +4 -7
- package/dist/chunk-H65I56SI.cjs.map +1 -0
- package/dist/chunk-HCQJGNWT.cjs +246 -0
- package/dist/chunk-HCQJGNWT.cjs.map +1 -0
- package/dist/chunk-IBQCNI5H.js +372 -0
- package/dist/chunk-IBQCNI5H.js.map +1 -0
- package/dist/chunk-IUVEFLF3.cjs +133 -0
- package/dist/chunk-IUVEFLF3.cjs.map +1 -0
- package/dist/{chunk-Y3SFF6RN.cjs → chunk-KIAIGPG7.cjs} +11 -10
- package/dist/chunk-KIAIGPG7.cjs.map +1 -0
- package/dist/{chunk-QW44EUAH.js → chunk-MEK7YR46.js} +10 -10
- package/dist/chunk-MEK7YR46.js.map +1 -0
- package/dist/{chunk-OHJYXA6R.cjs → chunk-OE5IW4ZG.cjs} +4 -7
- package/dist/chunk-OE5IW4ZG.cjs.map +1 -0
- package/dist/chunk-PHGFXKPU.cjs +51 -0
- package/dist/chunk-PHGFXKPU.cjs.map +1 -0
- package/dist/{chunk-PZ4LZQI4.cjs → chunk-Q23XGBJ5.cjs} +18 -15
- package/dist/chunk-Q23XGBJ5.cjs.map +1 -0
- package/dist/{chunk-DDZMDOSG.js → chunk-STU7SBQX.js} +25 -23
- package/dist/chunk-STU7SBQX.js.map +1 -0
- package/dist/{chunk-BZAPTLMC.js → chunk-T4N6TMUL.js} +49 -49
- package/dist/chunk-T4N6TMUL.js.map +1 -0
- package/dist/chunk-TJESSWIB.cjs +372 -0
- package/dist/chunk-TJESSWIB.cjs.map +1 -0
- package/dist/chunk-UAV6PVB4.js +63 -0
- package/dist/chunk-UAV6PVB4.js.map +1 -0
- package/dist/{chunk-BYKOCVCK.js → chunk-WKJN5A2E.js} +22 -23
- package/dist/chunk-WKJN5A2E.js.map +1 -0
- package/dist/{chunk-XJZAS7NG.cjs → chunk-WRIXKFKW.cjs} +25 -23
- package/dist/chunk-WRIXKFKW.cjs.map +1 -0
- package/dist/{chunk-RBIX6EWU.cjs → chunk-Y7MJBI4A.cjs} +11 -11
- package/dist/chunk-Y7MJBI4A.cjs.map +1 -0
- package/dist/chunk-ZI22WT2P.js +51 -0
- package/dist/chunk-ZI22WT2P.js.map +1 -0
- package/dist/helpers/index.cjs +9 -2
- package/dist/helpers/index.cjs.map +1 -1
- package/dist/helpers/index.d.cts +67 -4
- package/dist/helpers/index.d.ts +67 -4
- package/dist/helpers/index.js +10 -3
- package/dist/hooks/index.cjs +6 -3
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.cts +3 -2
- package/dist/hooks/index.d.ts +3 -2
- package/dist/hooks/index.js +7 -4
- package/dist/index.cjs +25 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -10
- package/dist/index.d.ts +11 -10
- package/dist/index.js +31 -22
- package/dist/partials/FieldCopyTestIdButton/index.cjs +1 -0
- package/dist/partials/FieldCopyTestIdButton/index.cjs.map +1 -1
- package/dist/partials/FieldCopyTestIdButton/index.js +1 -0
- package/dist/partials/FieldValidationError/index.cjs +3 -3
- package/dist/partials/FieldValidationError/index.js +2 -2
- package/package.json +18 -20
- package/dist/FieldArray-DD9z-xZ3.d.cts +0 -37
- package/dist/FieldArray-DD9z-xZ3.d.ts +0 -37
- package/dist/chunk-BBB4FEY6.cjs +0 -22
- package/dist/chunk-BBB4FEY6.cjs.map +0 -1
- package/dist/chunk-BS52M4SZ.js.map +0 -1
- package/dist/chunk-BYKOCVCK.js.map +0 -1
- package/dist/chunk-BZAPTLMC.js.map +0 -1
- package/dist/chunk-DDZMDOSG.js.map +0 -1
- package/dist/chunk-EKE5URXQ.cjs +0 -104
- package/dist/chunk-EKE5URXQ.cjs.map +0 -1
- package/dist/chunk-GN5NJ6ZU.js.map +0 -1
- package/dist/chunk-HOETR36J.cjs +0 -299
- package/dist/chunk-HOETR36J.cjs.map +0 -1
- package/dist/chunk-HZP3EXGR.cjs +0 -241
- package/dist/chunk-HZP3EXGR.cjs.map +0 -1
- package/dist/chunk-IUNDGVMC.js +0 -241
- package/dist/chunk-IUNDGVMC.js.map +0 -1
- package/dist/chunk-KOKIM2ND.js +0 -9
- package/dist/chunk-KOKIM2ND.js.map +0 -1
- package/dist/chunk-OHJYXA6R.cjs.map +0 -1
- package/dist/chunk-PZ4LZQI4.cjs.map +0 -1
- package/dist/chunk-QCVTB2NI.js.map +0 -1
- package/dist/chunk-QW44EUAH.js.map +0 -1
- package/dist/chunk-RBIX6EWU.cjs.map +0 -1
- package/dist/chunk-V46BHM2U.js +0 -22
- package/dist/chunk-V46BHM2U.js.map +0 -1
- package/dist/chunk-VP7WDLJM.js.map +0 -1
- package/dist/chunk-VQWKXSHW.cjs +0 -9
- package/dist/chunk-VQWKXSHW.cjs.map +0 -1
- package/dist/chunk-VZ5MMFIF.cjs.map +0 -1
- package/dist/chunk-WKM2D7LF.js.map +0 -1
- package/dist/chunk-XCZKNTFT.cjs.map +0 -1
- package/dist/chunk-XJWEUCV3.cjs +0 -133
- package/dist/chunk-XJWEUCV3.cjs.map +0 -1
- package/dist/chunk-XJZAS7NG.cjs.map +0 -1
- package/dist/chunk-Y3SFF6RN.cjs.map +0 -1
- package/dist/chunk-Y53IHK6B.js +0 -299
- package/dist/chunk-Y53IHK6B.js.map +0 -1
package/dist/chunk-EKE5URXQ.cjs
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
var _chunkVQWKXSHWcjs = require('./chunk-VQWKXSHW.cjs');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _chunkJU5RT22Ycjs = require('./chunk-JU5RT22Y.cjs');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _chunkOHJYXA6Rcjs = require('./chunk-OHJYXA6R.cjs');
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var _chunkXJWEUCV3cjs = require('./chunk-XJWEUCV3.cjs');
|
|
13
|
-
|
|
14
|
-
// src/Switch/Switch.tsx
|
|
15
|
-
var _input = require('@nextui-org/input');
|
|
16
|
-
var _switch = require('@nextui-org/switch');
|
|
17
|
-
var _pixelutils = require('@fuf-stack/pixel-utils');
|
|
18
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
19
|
-
var switchVariants = _pixelutils.tv.call(void 0, {
|
|
20
|
-
slots: {
|
|
21
|
-
base: "",
|
|
22
|
-
endContent: "",
|
|
23
|
-
errorMessage: "ml-1 mt-1",
|
|
24
|
-
// See NextUI styles for group-data condition, e.g.: https://github.com/nextui-org/nextui/blob/main/packages/core/theme/src/components/select.ts
|
|
25
|
-
label: 'text-sm text-foreground 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-["*"]',
|
|
26
|
-
outerWrapper: "place-content-center",
|
|
27
|
-
startContent: "",
|
|
28
|
-
thumb: "",
|
|
29
|
-
thumbIcon: "",
|
|
30
|
-
wrapper: ""
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
var Switch = ({
|
|
34
|
-
className = void 0,
|
|
35
|
-
disabled = false,
|
|
36
|
-
label: _label = void 0,
|
|
37
|
-
name,
|
|
38
|
-
testId: _testId = void 0
|
|
39
|
-
}) => {
|
|
40
|
-
const { control, debugMode, getFieldState } = _chunkXJWEUCV3cjs.useFormContext.call(void 0, );
|
|
41
|
-
const { error, required, testId, invalid } = getFieldState(name, _testId);
|
|
42
|
-
const { label, getInputProps, getErrorMessageProps } = _input.useInput.call(void 0, {
|
|
43
|
-
errorMessage: JSON.stringify(error),
|
|
44
|
-
isInvalid: invalid,
|
|
45
|
-
isRequired: required,
|
|
46
|
-
label: _label,
|
|
47
|
-
labelPlacement: "outside",
|
|
48
|
-
placeholder: " "
|
|
49
|
-
});
|
|
50
|
-
const variants = switchVariants();
|
|
51
|
-
const classNames = _pixelutils.variantsToClassNames.call(void 0, variants, className, "outerWrapper");
|
|
52
|
-
const showTestIdCopyButton = debugMode === "debug-testids";
|
|
53
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
54
|
-
_chunkVQWKXSHWcjs.Controller,
|
|
55
|
-
{
|
|
56
|
-
name,
|
|
57
|
-
control,
|
|
58
|
-
disabled,
|
|
59
|
-
render: ({
|
|
60
|
-
field: { disabled: isDisabled, value, ref, onBlur, onChange }
|
|
61
|
-
}) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: classNames.outerWrapper, children: [
|
|
62
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
63
|
-
_switch.Switch,
|
|
64
|
-
{
|
|
65
|
-
"aria-describedby": getInputProps()["aria-describedby"],
|
|
66
|
-
classNames,
|
|
67
|
-
"data-invalid": invalid,
|
|
68
|
-
"data-required": required,
|
|
69
|
-
"data-testid": testId,
|
|
70
|
-
isDisabled,
|
|
71
|
-
isSelected: !!value,
|
|
72
|
-
name,
|
|
73
|
-
onBlur,
|
|
74
|
-
onChange,
|
|
75
|
-
ref,
|
|
76
|
-
required,
|
|
77
|
-
value,
|
|
78
|
-
children: [
|
|
79
|
-
label,
|
|
80
|
-
showTestIdCopyButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJU5RT22Ycjs.FieldCopyTestIdButton_default, { testId })
|
|
81
|
-
]
|
|
82
|
-
}
|
|
83
|
-
),
|
|
84
|
-
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: classNames.errorMessage, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
85
|
-
"div",
|
|
86
|
-
{
|
|
87
|
-
...getErrorMessageProps(),
|
|
88
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOHJYXA6Rcjs.FieldValidationError_default, { error })
|
|
89
|
-
}
|
|
90
|
-
) })
|
|
91
|
-
] })
|
|
92
|
-
}
|
|
93
|
-
);
|
|
94
|
-
};
|
|
95
|
-
var Switch_default = Switch;
|
|
96
|
-
|
|
97
|
-
// src/Switch/index.ts
|
|
98
|
-
var Switch_default2 = Switch_default;
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
exports.Switch_default = Switch_default; exports.Switch_default2 = Switch_default2;
|
|
104
|
-
//# sourceMappingURL=chunk-EKE5URXQ.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-EKE5URXQ.cjs","../src/Switch/Switch.tsx","../src/Switch/index.ts"],"names":["Switch_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-EKE5URXQ.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\n\nimport { useInput } from '@nextui-org/input';\nimport { Switch as NextSwitch } from '@nextui-org/switch';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport { Controller } from '../Controller';\nimport { useFormContext } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\n\nexport const switchVariants = tv({\n slots: {\n base: '',\n endContent: '',\n errorMessage: 'ml-1 mt-1',\n // See NextUI styles for group-data condition, e.g.: https://github.com/nextui-org/nextui/blob/main/packages/core/theme/src/components/select.ts\n label:\n 'text-sm text-foreground 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 outerWrapper: 'place-content-center',\n startContent: '',\n thumb: '',\n thumbIcon: '',\n wrapper: '',\n },\n});\n\ntype VariantProps = TVProps<typeof switchVariants>;\ntype ClassName = TVClassName<typeof switchVariants>;\n\nexport interface SwitchProps extends VariantProps {\n /** CSS class name */\n className?: ClassName;\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 = undefined,\n disabled = false,\n label: _label = undefined,\n name,\n testId: _testId = undefined,\n}: SwitchProps) => {\n const { control, debugMode, getFieldState } = useFormContext();\n const { error, required, testId, invalid } = getFieldState(name, _testId);\n\n const { label, getInputProps, getErrorMessageProps } = useInput({\n errorMessage: JSON.stringify(error),\n isInvalid: invalid,\n isRequired: required,\n label: _label,\n labelPlacement: 'outside',\n placeholder: ' ',\n });\n\n const variants = switchVariants();\n const classNames = variantsToClassNames(variants, className, 'outerWrapper');\n\n const showTestIdCopyButton = debugMode === 'debug-testids';\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 <div className={classNames.outerWrapper}>\n <NextSwitch\n aria-describedby={getInputProps()['aria-describedby']}\n classNames={classNames}\n // See NextUI styles for group-data condition (data-invalid), e.g.: https://github.com/nextui-org/nextui/blob/main/packages/components/select/src/use-select.ts\n data-invalid={invalid}\n data-required={required}\n data-testid={testId}\n isDisabled={isDisabled}\n isSelected={!!value}\n name={name}\n onBlur={onBlur}\n onChange={onChange}\n ref={ref}\n required={required}\n value={value}\n >\n {label}\n {showTestIdCopyButton && <FieldCopyTestIdButton testId={testId} />}\n </NextSwitch>\n {error && (\n <div className={classNames.errorMessage}>\n <div\n /* eslint-disable-next-line react/jsx-props-no-spreading */\n {...getErrorMessageProps()}\n >\n <FieldValidationError error={error} />\n </div>\n </div>\n )}\n </div>\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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/SubmitButton/SubmitButton.tsx","../src/SubmitButton/index.ts"],"sourcesContent":["import type { ButtonProps } from '@fuf-stack/pixels';\nimport type { ReactNode } from 'react';\n\nimport { cn } from '@fuf-stack/pixel-utils';\nimport { Button } from '@fuf-stack/pixels';\n\nimport { slugify } from '../helpers';\nimport { useFormContext } from '../hooks';\n\nexport interface SubmitButtonProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string;\n /** color of the button */\n color?: ButtonProps['color'];\n /** If set loading animation is shown */\n loading?: boolean;\n /** function called when the button is pressed. */\n onClick?: ButtonProps['onClick'];\n /** size of the button */\n size?: ButtonProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * From SubmitButton\n */\nconst SubmitButton = ({\n children = 'Submit',\n className = undefined,\n color = 'success',\n loading = false,\n onClick = undefined,\n size = 'md',\n testId = 'form_submit_button',\n}: SubmitButtonProps) => {\n const {\n formState: { isSubmitting, isValidating },\n } = useFormContext();\n return (\n <Button\n className={cn(className)}\n color={color}\n testId={slugify(testId)}\n disabled={isSubmitting || isValidating}\n loading={loading}\n onClick={onClick}\n size={size}\n type=\"submit\"\n >\n {children}\n </Button>\n );\n};\n\nexport default SubmitButton;\n","import SubmitButton from './SubmitButton';\n\nexport type { SubmitButtonProps } from './SubmitButton';\n\nexport { SubmitButton };\n\nexport default SubmitButton;\n"],"mappings":";;;;;;;;AAGA,SAAS,UAAU;AACnB,SAAS,cAAc;AAsCnB;AAbJ,IAAM,eAAe,CAAC;AAAA,EACpB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AACX,MAAyB;AACvB,QAAM;AAAA,IACJ,WAAW,EAAE,cAAc,aAAa;AAAA,EAC1C,IAAI,eAAe;AACnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,SAAS;AAAA,MACvB;AAAA,MACA,QAAQ,QAAQ,MAAM;AAAA,MACtB,UAAU,gBAAgB;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MAEJ;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,uBAAQ;;;ACnDf,IAAOA,wBAAQ;","names":["SubmitButton_default"]}
|
package/dist/chunk-HOETR36J.cjs
DELETED
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
-
|
|
3
|
-
var _chunkJU5RT22Ycjs = require('./chunk-JU5RT22Y.cjs');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _chunkOHJYXA6Rcjs = require('./chunk-OHJYXA6R.cjs');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _chunkXJWEUCV3cjs = require('./chunk-XJWEUCV3.cjs');
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var _chunkBBB4FEY6cjs = require('./chunk-BBB4FEY6.cjs');
|
|
14
|
-
|
|
15
|
-
// src/FieldArray/FieldArray.tsx
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
var _core = require('@dnd-kit/core');
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
var _modifiers = require('@dnd-kit/modifiers');
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
var _sortable = require('@dnd-kit/sortable');
|
|
32
|
-
var _input = require('@nextui-org/input');
|
|
33
|
-
var _pixels = require('@fuf-stack/pixels');
|
|
34
|
-
|
|
35
|
-
// src/FieldArray/FieldArrayField.tsx
|
|
36
|
-
var _fa = require('react-icons/fa');
|
|
37
|
-
|
|
38
|
-
var _utilities = require('@dnd-kit/utilities');
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
42
|
-
var FieldArrayField = ({
|
|
43
|
-
children,
|
|
44
|
-
className = void 0,
|
|
45
|
-
field,
|
|
46
|
-
fields,
|
|
47
|
-
hideButtons = [],
|
|
48
|
-
id,
|
|
49
|
-
index,
|
|
50
|
-
insert,
|
|
51
|
-
lastNotDeletable = true,
|
|
52
|
-
move,
|
|
53
|
-
moveField,
|
|
54
|
-
name,
|
|
55
|
-
remove,
|
|
56
|
-
testId = void 0
|
|
57
|
-
}) => {
|
|
58
|
-
const { attributes, listeners, setNodeRef, transform, transition } = _sortable.useSortable.call(void 0, { id });
|
|
59
|
-
const style = {
|
|
60
|
-
transform: _utilities.CSS.Translate.toString(transform),
|
|
61
|
-
transition
|
|
62
|
-
};
|
|
63
|
-
const { getFieldState, trigger } = _chunkXJWEUCV3cjs.useFormContext.call(void 0, );
|
|
64
|
-
const { error, invalid } = getFieldState(`${name}`, void 0);
|
|
65
|
-
const { getHelperWrapperProps, getErrorMessageProps } = _input.useInput.call(void 0, {
|
|
66
|
-
isInvalid: invalid,
|
|
67
|
-
errorMessage: JSON.stringify(error),
|
|
68
|
-
labelPlacement: "inside",
|
|
69
|
-
placeholder: " ",
|
|
70
|
-
classNames: { helperWrapper: "block" }
|
|
71
|
-
});
|
|
72
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
73
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
74
|
-
"li",
|
|
75
|
-
{
|
|
76
|
-
ref: setNodeRef,
|
|
77
|
-
style,
|
|
78
|
-
className,
|
|
79
|
-
onBlur: () => trigger(`${name}.${index}`),
|
|
80
|
-
children: [
|
|
81
|
-
!hideButtons.includes("move") && !hideButtons.includes("all") && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mr-6 flex flex-row items-center", children: [
|
|
82
|
-
moveField.includes("drag-drop") && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
83
|
-
"div",
|
|
84
|
-
{
|
|
85
|
-
className: "mr-2 text-base text-xl",
|
|
86
|
-
"data-testid": _chunkBBB4FEY6cjs.slugify.call(void 0, `${name}_${index}_movebutton`),
|
|
87
|
-
...attributes,
|
|
88
|
-
...listeners,
|
|
89
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _fa.FaGripLines, {})
|
|
90
|
-
}
|
|
91
|
-
),
|
|
92
|
-
moveField.includes("button") && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
93
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
94
|
-
_pixels.Button,
|
|
95
|
-
{
|
|
96
|
-
testId: `${name}.${index}.up`,
|
|
97
|
-
disabled: index === 0,
|
|
98
|
-
onClick: () => move(index, index - 1),
|
|
99
|
-
className: "flex rounded-b-none rounded-t-md border border-gray-300 px-2 py-2 shadow-sm",
|
|
100
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _fa.FaAngleUp, {})
|
|
101
|
-
}
|
|
102
|
-
),
|
|
103
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
104
|
-
_pixels.Button,
|
|
105
|
-
{
|
|
106
|
-
testId: `${name}.${index}.down`,
|
|
107
|
-
disabled: index === fields.length - 1,
|
|
108
|
-
onClick: () => move(index, index + 1),
|
|
109
|
-
className: "flex rounded-b-md rounded-t-none border border-gray-300 px-2 py-2 shadow-sm",
|
|
110
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _fa.FaAngleDown, {})
|
|
111
|
-
}
|
|
112
|
-
)
|
|
113
|
-
] })
|
|
114
|
-
] }),
|
|
115
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full", children: [
|
|
116
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-2 flex items-center", children: [
|
|
117
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-grow", "data-testid": testId, children }),
|
|
118
|
-
!hideButtons.includes("remove") && !hideButtons.includes("all") && (lastNotDeletable && fields.length === 1 ? null : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _pixels.Button, { onClick: () => remove(index), className: "ml-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
119
|
-
"svg",
|
|
120
|
-
{
|
|
121
|
-
className: "h-4 w-4",
|
|
122
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
123
|
-
viewBox: "0 0 20 20",
|
|
124
|
-
fill: "currentColor",
|
|
125
|
-
"aria-hidden": "true",
|
|
126
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
127
|
-
"path",
|
|
128
|
-
{
|
|
129
|
-
fillRule: "evenodd",
|
|
130
|
-
d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
|
|
131
|
-
clipRule: "evenodd"
|
|
132
|
-
}
|
|
133
|
-
)
|
|
134
|
-
}
|
|
135
|
-
) }))
|
|
136
|
-
] }),
|
|
137
|
-
!hideButtons.includes("insert") && !hideButtons.includes("all") && index !== fields.length - 1 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
138
|
-
_pixels.Button,
|
|
139
|
-
{
|
|
140
|
-
className: "text-xs font-medium",
|
|
141
|
-
testId: `add-harbor-button-${index}`,
|
|
142
|
-
onClick: () => {
|
|
143
|
-
insert(index + 1, {});
|
|
144
|
-
},
|
|
145
|
-
children: "insert"
|
|
146
|
-
}
|
|
147
|
-
) : null
|
|
148
|
-
] }, `rest-${field.id}`)
|
|
149
|
-
]
|
|
150
|
-
}
|
|
151
|
-
),
|
|
152
|
-
error && typeof error[index] !== "undefined" && // // @ts-expect-error rhf incompatibility
|
|
153
|
-
// error[Number(index)]?._errors && ( // TODO: was String(). Check if Number is correct. (same below in FieldValidationError)
|
|
154
|
-
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
155
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ...getHelperWrapperProps(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ...getErrorMessageProps(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
156
|
-
_chunkOHJYXA6Rcjs.FieldValidationError_default,
|
|
157
|
-
{
|
|
158
|
-
error: _optionalChain([error, 'access', _ => _[Number(index)], 'optionalAccess', _2 => _2._errors])
|
|
159
|
-
}
|
|
160
|
-
) }) })
|
|
161
|
-
] });
|
|
162
|
-
};
|
|
163
|
-
var FieldArrayField_default = FieldArrayField;
|
|
164
|
-
|
|
165
|
-
// src/FieldArray/FieldArray.tsx
|
|
166
|
-
|
|
167
|
-
var FieldArray = ({
|
|
168
|
-
children,
|
|
169
|
-
elementInitialValue = void 0,
|
|
170
|
-
hideButtons = [],
|
|
171
|
-
label: _label = void 0,
|
|
172
|
-
lastElementNotDeletable = true,
|
|
173
|
-
name,
|
|
174
|
-
testId: _testId = void 0,
|
|
175
|
-
moveField = ["button"]
|
|
176
|
-
}) => {
|
|
177
|
-
const {
|
|
178
|
-
control,
|
|
179
|
-
debugMode,
|
|
180
|
-
getValues,
|
|
181
|
-
getFieldState,
|
|
182
|
-
trigger
|
|
183
|
-
// watch
|
|
184
|
-
} = _chunkXJWEUCV3cjs.useFormContext.call(void 0, );
|
|
185
|
-
const { fields, append, remove, insert, move } = _chunkXJWEUCV3cjs.useFieldArray.call(void 0, {
|
|
186
|
-
control,
|
|
187
|
-
name
|
|
188
|
-
});
|
|
189
|
-
const { error, testId, invalid, required } = getFieldState(name, _testId);
|
|
190
|
-
const { label, getLabelProps, getHelperWrapperProps, getErrorMessageProps } = _input.useInput.call(void 0, {
|
|
191
|
-
isInvalid: invalid,
|
|
192
|
-
isRequired: required,
|
|
193
|
-
errorMessage: JSON.stringify(error),
|
|
194
|
-
label: _label,
|
|
195
|
-
labelPlacement: "inside",
|
|
196
|
-
placeholder: " ",
|
|
197
|
-
classNames: { helperWrapper: "block" }
|
|
198
|
-
});
|
|
199
|
-
if (lastElementNotDeletable && fields.length === 0) {
|
|
200
|
-
append(elementInitialValue);
|
|
201
|
-
}
|
|
202
|
-
const sensors = _core.useSensors.call(void 0,
|
|
203
|
-
_core.useSensor.call(void 0, _core.PointerSensor),
|
|
204
|
-
_core.useSensor.call(void 0, _core.KeyboardSensor)
|
|
205
|
-
);
|
|
206
|
-
const handleDragEnd = (event) => {
|
|
207
|
-
const { active, over } = event;
|
|
208
|
-
if (active.id !== _optionalChain([over, 'optionalAccess', _3 => _3.id])) {
|
|
209
|
-
const oldIndex = fields.findIndex((field) => field.id === active.id);
|
|
210
|
-
const newIndex = fields.findIndex((field) => field.id === _optionalChain([over, 'optionalAccess', _4 => _4.id]));
|
|
211
|
-
move(oldIndex, newIndex);
|
|
212
|
-
}
|
|
213
|
-
};
|
|
214
|
-
const showTestIdCopyButton = debugMode === "debug-testids";
|
|
215
|
-
const showLabel = label || showTestIdCopyButton;
|
|
216
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
217
|
-
_core.DndContext,
|
|
218
|
-
{
|
|
219
|
-
sensors,
|
|
220
|
-
collisionDetection: _core.closestCenter,
|
|
221
|
-
onDragEnd: handleDragEnd,
|
|
222
|
-
modifiers: [_modifiers.restrictToVerticalAxis, _modifiers.restrictToWindowEdges],
|
|
223
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
224
|
-
_sortable.SortableContext,
|
|
225
|
-
{
|
|
226
|
-
items: fields.map((field) => field.id),
|
|
227
|
-
strategy: _sortable.verticalListSortingStrategy,
|
|
228
|
-
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "ul", { "data-testid": testId, onBlur: () => trigger(`${name}`), children: [
|
|
229
|
-
showLabel && // eslint-disable-next-line jsx-a11y/label-has-associated-control
|
|
230
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
231
|
-
"label",
|
|
232
|
-
{
|
|
233
|
-
...getLabelProps(),
|
|
234
|
-
className: `${getLabelProps().className} !pointer-events-auto !static !z-0 -mb-1 ml-1 !inline-block`,
|
|
235
|
-
children: label
|
|
236
|
-
}
|
|
237
|
-
),
|
|
238
|
-
showTestIdCopyButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJU5RT22Ycjs.FieldCopyTestIdButton_default, { testId }),
|
|
239
|
-
fields.map((field, index) => {
|
|
240
|
-
const duplicate = (i) => {
|
|
241
|
-
const values = getValues(name);
|
|
242
|
-
insert(i + 1, { ...values[i], id: null });
|
|
243
|
-
};
|
|
244
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
245
|
-
FieldArrayField_default,
|
|
246
|
-
{
|
|
247
|
-
className: "mb-3 mt-5 flex flex-row items-center",
|
|
248
|
-
field,
|
|
249
|
-
fields,
|
|
250
|
-
hideButtons,
|
|
251
|
-
id: field.id,
|
|
252
|
-
index,
|
|
253
|
-
insert,
|
|
254
|
-
lastNotDeletable: lastElementNotDeletable,
|
|
255
|
-
move,
|
|
256
|
-
moveField,
|
|
257
|
-
name,
|
|
258
|
-
remove,
|
|
259
|
-
testId: `${testId}_${index}`,
|
|
260
|
-
children: children({
|
|
261
|
-
duplicate,
|
|
262
|
-
index,
|
|
263
|
-
insert,
|
|
264
|
-
length: fields.length,
|
|
265
|
-
move,
|
|
266
|
-
name: `${name}.${index}`,
|
|
267
|
-
remove
|
|
268
|
-
})
|
|
269
|
-
},
|
|
270
|
-
field.id
|
|
271
|
-
);
|
|
272
|
-
}),
|
|
273
|
-
!hideButtons.includes("add") && !hideButtons.includes("all") && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
274
|
-
_pixels.Button,
|
|
275
|
-
{
|
|
276
|
-
testId: `${testId}_append`,
|
|
277
|
-
size: "sm",
|
|
278
|
-
onClick: () => append(elementInitialValue),
|
|
279
|
-
children: "Add"
|
|
280
|
-
}
|
|
281
|
-
),
|
|
282
|
-
_optionalChain([error, 'optionalAccess', _5 => _5._errors]) && // eslint-disable-next-line react/jsx-props-no-spreading
|
|
283
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ...getHelperWrapperProps(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ...getErrorMessageProps(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOHJYXA6Rcjs.FieldValidationError_default, { error: _optionalChain([error, 'optionalAccess', _6 => _6._errors]) }) }) })
|
|
284
|
-
] })
|
|
285
|
-
}
|
|
286
|
-
)
|
|
287
|
-
}
|
|
288
|
-
);
|
|
289
|
-
};
|
|
290
|
-
var FieldArray_default = FieldArray;
|
|
291
|
-
|
|
292
|
-
// src/FieldArray/index.ts
|
|
293
|
-
var FieldArray_default2 = FieldArray_default;
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
exports.FieldArray_default = FieldArray_default; exports.FieldArray_default2 = FieldArray_default2;
|
|
299
|
-
//# sourceMappingURL=chunk-HOETR36J.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-HOETR36J.cjs","../src/FieldArray/FieldArray.tsx","../src/FieldArray/FieldArrayField.tsx","../src/FieldArray/index.ts"],"names":["jsx","Button"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-HOETR36J.cjs","sourcesContent":[null,"import type { DragEndEvent } from '@dnd-kit/core';\nimport type { JSX } from 'react';\nimport type {\n FieldValues,\n UseFieldArrayInsert,\n UseFieldArrayMove,\n UseFieldArrayRemove,\n} 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';\nimport { useInput } from '@nextui-org/input';\n\nimport { Button } from '@fuf-stack/pixels';\n\nimport { useFieldArray, useFormContext } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\nimport FieldArrayField from './FieldArrayField';\n\nexport type FieldArrayHideOption = 'add' | 'remove' | 'move' | 'insert' | 'all';\nexport type FieldArrayFieldChildren = (args: {\n duplicate: (i: number) => void;\n index: number;\n insert: UseFieldArrayInsert<FieldValues, string>;\n length: number;\n move: UseFieldArrayMove;\n name: string;\n remove: UseFieldArrayRemove;\n}) => JSX.Element;\n\nexport type MoveField = 'drag-drop' | 'button';\n\nexport interface FieldArrayProps {\n /** function that renders the children with provided Properties. */\n children: FieldArrayFieldChildren;\n /* The initial value of a filed that is created in the array */\n elementInitialValue?: unknown;\n /** Hide a set of buttons. */\n hideButtons?: FieldArrayHideOption[];\n /** label of the FieldArray. */\n label?: React.ReactNode;\n /** stops user from deleting all items. */\n lastElementNotDeletable?: boolean;\n /** name the FieldArray is registered in RHF */\n name: string;\n /** ID for test purposes. */\n testId?: string;\n /* how the fields can be moved */\n moveField?: MoveField[];\n}\n\n/**\n * FieldArray component using react-hook-form\n */\nconst FieldArray = ({\n children,\n elementInitialValue = undefined,\n hideButtons = [],\n label: _label = undefined,\n lastElementNotDeletable = true,\n name,\n testId: _testId = undefined,\n moveField = ['button'],\n}: FieldArrayProps) => {\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 if (lastElementNotDeletable && fields.length === 0) {\n append(elementInitialValue); // TODO: Check if this breaks something\n }\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor),\n );\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event;\n\n if (active.id !== over?.id) {\n const oldIndex = fields.findIndex((field) => field.id === active.id);\n const newIndex = fields.findIndex((field) => field.id === over?.id);\n move(oldIndex, newIndex);\n }\n };\n\n const showTestIdCopyButton = debugMode === 'debug-testids';\n const showLabel = label || showTestIdCopyButton;\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n modifiers={[restrictToVerticalAxis, restrictToWindowEdges]}\n >\n <SortableContext\n items={fields.map((field) => field.id)}\n strategy={verticalListSortingStrategy}\n >\n <ul data-testid={testId} onBlur={() => trigger(`${name}`)}>\n {showLabel && (\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...getLabelProps()}\n className={`${getLabelProps().className} !pointer-events-auto !static !z-0 -mb-1 ml-1 !inline-block`}\n >\n {label}\n </label>\n )}\n {showTestIdCopyButton && <FieldCopyTestIdButton testId={testId} />}\n\n {fields.map((field, index) => {\n const duplicate = (i: number) => {\n const values = getValues(name);\n insert(i + 1, { ...values[i], id: null });\n };\n\n return (\n <FieldArrayField\n className=\"mb-3 mt-5 flex flex-row items-center\"\n field={field}\n fields={fields}\n hideButtons={hideButtons}\n id={field.id}\n index={index}\n insert={insert}\n key={field.id}\n lastNotDeletable={lastElementNotDeletable}\n move={move}\n moveField={moveField}\n name={name}\n remove={remove}\n testId={`${testId}_${index}`}\n >\n {children({\n duplicate,\n index,\n insert,\n length: fields.length,\n move,\n name: `${name}.${index}`,\n remove,\n })}\n </FieldArrayField>\n );\n })}\n\n {!hideButtons.includes('add') && !hideButtons.includes('all') && (\n <Button\n testId={`${testId}_append`}\n size=\"sm\"\n onClick={() => append(elementInitialValue)} // TODO: Check if this breaks something\n >\n Add\n </Button>\n )}\n {/* @ts-expect-error rhf incompatibility */}\n {error?._errors && (\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 {/* @ts-expect-error rhf incompatibility */}\n <FieldValidationError error={error?._errors} />\n </div>\n </div>\n )}\n </ul>\n </SortableContext>\n </DndContext>\n );\n};\n\nexport default FieldArray;\n","import type {\n FieldValues,\n UseFieldArrayInsert,\n UseFieldArrayMove,\n UseFieldArrayRemove,\n} from 'react-hook-form';\nimport type { FieldArrayHideOption, MoveField } from './FieldArray';\n\n// import { useEffect } from 'react';\nimport { FaAngleDown, FaAngleUp, FaGripLines } from 'react-icons/fa';\n\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { useInput } from '@nextui-org/input';\n\nimport { Button } from '@fuf-stack/pixels';\n\nimport { slugify } from '../helpers';\nimport { useFormContext } from '../hooks';\nimport { FieldValidationError } from '../partials/FieldValidationError';\n\ninterface FieldArrayFieldProps {\n children: React.ReactNode;\n className?: string;\n field: Record<'id', string>;\n fields: Record<'id', string>[];\n hideButtons?: FieldArrayHideOption[];\n id: string | number;\n index: number;\n insert: UseFieldArrayInsert<FieldValues, string>;\n lastNotDeletable?: boolean;\n move: UseFieldArrayMove;\n moveField: MoveField[];\n testId?: string;\n name: string;\n remove: UseFieldArrayRemove;\n}\n\n/**\n * FieldArrayField component using react-hook-form\n */\nconst FieldArrayField = ({\n children,\n className = undefined,\n field,\n fields,\n hideButtons = [],\n id,\n index,\n insert,\n lastNotDeletable = true,\n move,\n moveField,\n name,\n remove,\n testId = undefined,\n}: FieldArrayFieldProps) => {\n const { attributes, listeners, setNodeRef, transform, transition } =\n useSortable({ id });\n\n const style = {\n transform: CSS.Translate.toString(transform),\n transition,\n };\n\n const { getFieldState, trigger } = useFormContext();\n const { error, invalid } = getFieldState(`${name}`, undefined);\n\n // TODO: what about input props? and label props? Do we need a label?\n const { getHelperWrapperProps, getErrorMessageProps } = useInput({\n isInvalid: invalid,\n errorMessage: JSON.stringify(error),\n labelPlacement: 'inside',\n placeholder: ' ',\n classNames: { helperWrapper: 'block' },\n });\n\n return (\n <>\n <li\n ref={setNodeRef}\n style={style}\n className={className}\n onBlur={() => trigger(`${name}.${index}`)}\n >\n {/** Start Button up/down */}\n {!hideButtons.includes('move') && !hideButtons.includes('all') && (\n <div className=\"mr-6 flex flex-row items-center\">\n {moveField.includes('drag-drop') && (\n <div\n className=\"mr-2 text-base text-xl\"\n data-testid={slugify(`${name}_${index}_movebutton`)}\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 <FaGripLines />\n </div>\n )}\n {moveField.includes('button') && (\n <div className=\"flex flex-col\">\n <Button\n testId={`${name}.${index}.up`}\n disabled={index === 0}\n onClick={() => move(index, index - 1)}\n className=\"flex rounded-b-none rounded-t-md border border-gray-300 px-2 py-2 shadow-sm\"\n >\n <FaAngleUp />\n </Button>\n <Button\n testId={`${name}.${index}.down`}\n disabled={index === fields.length - 1}\n onClick={() => move(index, index + 1)}\n className=\"flex rounded-b-md rounded-t-none border border-gray-300 px-2 py-2 shadow-sm\"\n >\n <FaAngleDown />\n </Button>\n </div>\n )}\n </div>\n )}\n {/** End Button up/down */}\n <div key={`rest-${field.id}`} className=\"w-full\">\n <div className=\"mb-2 flex items-center\">\n {/** RENDER CHILDREN */}\n <div className=\"flex-grow\" data-testid={testId}>\n {children}\n </div>\n {!hideButtons.includes('remove') &&\n !hideButtons.includes('all') &&\n (lastNotDeletable && fields.length === 1 ? null : (\n <Button onClick={() => remove(index)} className=\"ml-1\">\n <svg\n className=\"h-4 w-4\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </Button>\n ))}\n </div>\n\n {!hideButtons.includes('insert') &&\n !hideButtons.includes('all') &&\n index !== fields.length - 1 ? (\n <Button\n className=\"text-xs font-medium\"\n testId={`add-harbor-button-${index}`}\n onClick={() => {\n insert(index + 1, {});\n }}\n >\n insert\n </Button>\n ) : null}\n </div>\n </li>\n {error && typeof error[index] !== 'undefined' && (\n // // @ts-expect-error rhf incompatibility\n // error[Number(index)]?._errors && ( // TODO: was String(). Check if Number is correct. (same below in FieldValidationError)\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\n /* @ts-expect-error rhf incompatibility */\n error={error[Number(index)]?._errors}\n />\n </div>\n </div>\n )}\n </>\n );\n};\nexport default FieldArrayField;\n","import FieldArray from './FieldArray';\n\nexport type {\n FieldArrayProps,\n FieldArrayHideOption,\n FieldArrayFieldChildren,\n} from './FieldArray';\n\nexport { FieldArray };\n\nexport default FieldArray;\n"]}
|