@fuf-stack/uniform 0.0.5 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/FieldCopyTestIdButton-D-z1usqE.d.cts +9 -0
  2. package/dist/FieldCopyTestIdButton-D-z1usqE.d.ts +9 -0
  3. package/dist/FieldValidationError-BSXedjCA.d.cts +13 -0
  4. package/dist/FieldValidationError-BSXedjCA.d.ts +13 -0
  5. package/dist/SubmitButton/index.cjs +5 -39
  6. package/dist/SubmitButton/index.cjs.map +1 -1
  7. package/dist/SubmitButton/index.d.cts +7 -22
  8. package/dist/SubmitButton/index.d.ts +7 -22
  9. package/dist/SubmitButton/index.js +5 -39
  10. package/dist/SubmitButton/index.js.map +1 -1
  11. package/dist/SubmitButton-Bi87hRzl.d.cts +24 -0
  12. package/dist/SubmitButton-Bi87hRzl.d.ts +24 -0
  13. package/dist/chunk-22AA557I.cjs +40 -0
  14. package/dist/chunk-22AA557I.cjs.map +1 -0
  15. package/dist/chunk-DBLODROX.js +45 -0
  16. package/dist/chunk-DBLODROX.js.map +1 -0
  17. package/dist/chunk-FNVT6LS4.js +40 -0
  18. package/dist/chunk-FNVT6LS4.js.map +1 -0
  19. package/dist/chunk-JNTIBBIY.cjs +46 -0
  20. package/dist/chunk-JNTIBBIY.cjs.map +1 -0
  21. package/dist/chunk-L3BVHWGU.js +46 -0
  22. package/dist/chunk-L3BVHWGU.js.map +1 -0
  23. package/dist/chunk-QTL5FREE.cjs +45 -0
  24. package/dist/chunk-QTL5FREE.cjs.map +1 -0
  25. package/dist/index.cjs +23 -3
  26. package/dist/index.d.cts +8 -0
  27. package/dist/index.d.ts +8 -0
  28. package/dist/index.js +23 -3
  29. package/dist/partials/FieldCopyTestIdButton/index.cjs +5 -31
  30. package/dist/partials/FieldCopyTestIdButton/index.cjs.map +1 -1
  31. package/dist/partials/FieldCopyTestIdButton/index.d.cts +5 -7
  32. package/dist/partials/FieldCopyTestIdButton/index.d.ts +5 -7
  33. package/dist/partials/FieldCopyTestIdButton/index.js +5 -31
  34. package/dist/partials/FieldCopyTestIdButton/index.js.map +1 -1
  35. package/dist/partials/FieldValidationError/index.cjs +3 -36
  36. package/dist/partials/FieldValidationError/index.cjs.map +1 -1
  37. package/dist/partials/FieldValidationError/index.d.cts +6 -11
  38. package/dist/partials/FieldValidationError/index.d.ts +6 -11
  39. package/dist/partials/FieldValidationError/index.js +5 -38
  40. package/dist/partials/FieldValidationError/index.js.map +1 -1
  41. package/package.json +17 -17
@@ -0,0 +1,9 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ interface FieldCopyTestIdButtonProps {
4
+ className?: string;
5
+ testId: string;
6
+ }
7
+ declare const FieldCopyTestIdButton: ({ className, testId, }: FieldCopyTestIdButtonProps) => react_jsx_runtime.JSX.Element | null;
8
+
9
+ export { FieldCopyTestIdButton as F, type FieldCopyTestIdButtonProps as a };
@@ -0,0 +1,9 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ interface FieldCopyTestIdButtonProps {
4
+ className?: string;
5
+ testId: string;
6
+ }
7
+ declare const FieldCopyTestIdButton: ({ className, testId, }: FieldCopyTestIdButtonProps) => react_jsx_runtime.JSX.Element | null;
8
+
9
+ export { FieldCopyTestIdButton as F, type FieldCopyTestIdButtonProps as a };
@@ -0,0 +1,13 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { FieldError } from 'react-hook-form';
3
+
4
+ interface FieldValidationErrorProps {
5
+ error: FieldError[] | Record<string, FieldError[]>;
6
+ testId?: string;
7
+ }
8
+ /**
9
+ * Renders a validation error of a field
10
+ */
11
+ declare const FieldValidationError: ({ error, testId, }: FieldValidationErrorProps) => react_jsx_runtime.JSX.Element | null;
12
+
13
+ export { FieldValidationError as F, type FieldValidationErrorProps as a };
@@ -0,0 +1,13 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { FieldError } from 'react-hook-form';
3
+
4
+ interface FieldValidationErrorProps {
5
+ error: FieldError[] | Record<string, FieldError[]>;
6
+ testId?: string;
7
+ }
8
+ /**
9
+ * Renders a validation error of a field
10
+ */
11
+ declare const FieldValidationError: ({ error, testId, }: FieldValidationErrorProps) => react_jsx_runtime.JSX.Element | null;
12
+
13
+ export { FieldValidationError as F, type FieldValidationErrorProps as a };
@@ -1,45 +1,11 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkWQRM7G4Ccjs = require('../chunk-WQRM7G4C.cjs');
4
3
 
4
+ var _chunkJNTIBBIYcjs = require('../chunk-JNTIBBIY.cjs');
5
+ require('../chunk-WQRM7G4C.cjs');
6
+ require('../chunk-BBB4FEY6.cjs');
5
7
 
6
- var _chunkBBB4FEY6cjs = require('../chunk-BBB4FEY6.cjs');
7
8
 
8
- // src/SubmitButton/SubmitButton.tsx
9
- var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
10
- var _pixels = require('@fuf-stack/pixels');
11
- var _jsxruntime = require('react/jsx-runtime');
12
- var SubmitButton = ({
13
- children = "Submit",
14
- className = void 0,
15
- color = "success",
16
- loading = false,
17
- onClick = void 0,
18
- testId = "form_submit_button"
19
- }) => {
20
- const {
21
- formState: { isValid, isSubmitting, isValidating }
22
- } = _chunkWQRM7G4Ccjs.useFormContext.call(void 0, );
23
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24
- _pixels.Button,
25
- {
26
- className: _classnames2.default.call(void 0, className),
27
- color,
28
- testId: _chunkBBB4FEY6cjs.slugify.call(void 0, testId),
29
- disabled: !isValid || isSubmitting || isValidating,
30
- loading,
31
- onClick,
32
- type: "submit",
33
- children
34
- }
35
- );
36
- };
37
- var SubmitButton_default = SubmitButton;
38
9
 
39
- // src/SubmitButton/index.ts
40
- var SubmitButton_default2 = SubmitButton_default;
41
-
42
-
43
-
44
- exports.SubmitButton = SubmitButton_default; exports.default = SubmitButton_default2;
10
+ exports.SubmitButton = _chunkJNTIBBIYcjs.SubmitButton_default; exports.default = _chunkJNTIBBIYcjs.SubmitButton_default2;
45
11
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/SubmitButton/SubmitButton.tsx","../../src/SubmitButton/index.ts"],"names":["SubmitButton_default"],"mappings":";;;;;;;;AAGA,OAAO,QAAQ;AAEf,SAAS,cAAc;AAoCnB;AAbJ,IAAM,eAAe,CAAC;AAAA,EACpB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AAAA,EACV,SAAS;AACX,MAAyB;AACvB,QAAM;AAAA,IACJ,WAAW,EAAE,SAAS,cAAc,aAAa;AAAA,EACnD,IAAI,eAAe;AAEnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,SAAS;AAAA,MACvB;AAAA,MACA,QAAQ,QAAQ,MAAM;AAAA,MACtB,UAAU,CAAC,WAAW,gBAAgB;AAAA,MACtC;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MAEJ;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,uBAAQ;;;ACjDf,IAAOA,wBAAQ","sourcesContent":["import type { ButtonProps } from '@fuf-stack/pixels';\nimport type { ReactNode } from 'react';\n\nimport cn from 'classnames';\n\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 | 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 /** 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 testId = 'form_submit_button',\n}: SubmitButtonProps) => {\n const {\n formState: { isValid, isSubmitting, isValidating },\n } = useFormContext();\n\n return (\n <Button\n className={cn(className)}\n color={color}\n testId={slugify(testId)}\n disabled={!isValid || isSubmitting || isValidating}\n loading={loading}\n onClick={onClick}\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"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,24 +1,9 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ButtonProps } from '@fuf-stack/pixels';
3
- import { ReactNode } from 'react';
1
+ import { S as SubmitButton } from '../SubmitButton-Bi87hRzl.cjs';
2
+ export { a as SubmitButtonProps } from '../SubmitButton-Bi87hRzl.cjs';
3
+ import 'react/jsx-runtime';
4
+ import '@fuf-stack/pixels';
5
+ import 'react';
4
6
 
5
- interface SubmitButtonProps {
6
- /** child components */
7
- children?: ReactNode;
8
- /** CSS class name */
9
- className?: string | string[];
10
- /** color of the button */
11
- color?: ButtonProps['color'];
12
- /** If set loading animation is shown */
13
- loading?: boolean;
14
- /** function called when the button is pressed. */
15
- onClick?: ButtonProps['onClick'];
16
- /** HTML data-testid attribute used in e2e tests */
17
- testId?: string;
18
- }
19
- /**
20
- * From SubmitButton
21
- */
22
- declare const SubmitButton: ({ children, className, color, loading, onClick, testId, }: SubmitButtonProps) => react_jsx_runtime.JSX.Element;
23
7
 
24
- export { SubmitButton, type SubmitButtonProps, SubmitButton as default };
8
+
9
+ export { SubmitButton, SubmitButton as default };
@@ -1,24 +1,9 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ButtonProps } from '@fuf-stack/pixels';
3
- import { ReactNode } from 'react';
1
+ import { S as SubmitButton } from '../SubmitButton-Bi87hRzl.js';
2
+ export { a as SubmitButtonProps } from '../SubmitButton-Bi87hRzl.js';
3
+ import 'react/jsx-runtime';
4
+ import '@fuf-stack/pixels';
5
+ import 'react';
4
6
 
5
- interface SubmitButtonProps {
6
- /** child components */
7
- children?: ReactNode;
8
- /** CSS class name */
9
- className?: string | string[];
10
- /** color of the button */
11
- color?: ButtonProps['color'];
12
- /** If set loading animation is shown */
13
- loading?: boolean;
14
- /** function called when the button is pressed. */
15
- onClick?: ButtonProps['onClick'];
16
- /** HTML data-testid attribute used in e2e tests */
17
- testId?: string;
18
- }
19
- /**
20
- * From SubmitButton
21
- */
22
- declare const SubmitButton: ({ children, className, color, loading, onClick, testId, }: SubmitButtonProps) => react_jsx_runtime.JSX.Element;
23
7
 
24
- export { SubmitButton, type SubmitButtonProps, SubmitButton as default };
8
+
9
+ export { SubmitButton, SubmitButton as default };
@@ -1,43 +1,9 @@
1
1
  import {
2
- useFormContext
3
- } from "../chunk-BCMPSLSG.js";
4
- import {
5
- slugify
6
- } from "../chunk-V46BHM2U.js";
7
-
8
- // src/SubmitButton/SubmitButton.tsx
9
- import cn from "classnames";
10
- import { Button } from "@fuf-stack/pixels";
11
- import { jsx } from "react/jsx-runtime";
12
- var SubmitButton = ({
13
- children = "Submit",
14
- className = void 0,
15
- color = "success",
16
- loading = false,
17
- onClick = void 0,
18
- testId = "form_submit_button"
19
- }) => {
20
- const {
21
- formState: { isValid, isSubmitting, isValidating }
22
- } = useFormContext();
23
- return /* @__PURE__ */ jsx(
24
- Button,
25
- {
26
- className: cn(className),
27
- color,
28
- testId: slugify(testId),
29
- disabled: !isValid || isSubmitting || isValidating,
30
- loading,
31
- onClick,
32
- type: "submit",
33
- children
34
- }
35
- );
36
- };
37
- var SubmitButton_default = SubmitButton;
38
-
39
- // src/SubmitButton/index.ts
40
- var SubmitButton_default2 = SubmitButton_default;
2
+ SubmitButton_default,
3
+ SubmitButton_default2
4
+ } from "../chunk-L3BVHWGU.js";
5
+ import "../chunk-BCMPSLSG.js";
6
+ import "../chunk-V46BHM2U.js";
41
7
  export {
42
8
  SubmitButton_default as SubmitButton,
43
9
  SubmitButton_default2 as default
@@ -1 +1 @@
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 'classnames';\n\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 | 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 /** 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 testId = 'form_submit_button',\n}: SubmitButtonProps) => {\n const {\n formState: { isValid, isSubmitting, isValidating },\n } = useFormContext();\n\n return (\n <Button\n className={cn(className)}\n color={color}\n testId={slugify(testId)}\n disabled={!isValid || isSubmitting || isValidating}\n loading={loading}\n onClick={onClick}\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,OAAO,QAAQ;AAEf,SAAS,cAAc;AAoCnB;AAbJ,IAAM,eAAe,CAAC;AAAA,EACpB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AAAA,EACV,SAAS;AACX,MAAyB;AACvB,QAAM;AAAA,IACJ,WAAW,EAAE,SAAS,cAAc,aAAa;AAAA,EACnD,IAAI,eAAe;AAEnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,SAAS;AAAA,MACvB;AAAA,MACA,QAAQ,QAAQ,MAAM;AAAA,MACtB,UAAU,CAAC,WAAW,gBAAgB;AAAA,MACtC;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MAEJ;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,uBAAQ;;;ACjDf,IAAOA,wBAAQ;","names":["SubmitButton_default"]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,24 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ButtonProps } from '@fuf-stack/pixels';
3
+ import { ReactNode } from 'react';
4
+
5
+ interface SubmitButtonProps {
6
+ /** child components */
7
+ children?: ReactNode;
8
+ /** CSS class name */
9
+ className?: string | string[];
10
+ /** color of the button */
11
+ color?: ButtonProps['color'];
12
+ /** If set loading animation is shown */
13
+ loading?: boolean;
14
+ /** function called when the button is pressed. */
15
+ onClick?: ButtonProps['onClick'];
16
+ /** HTML data-testid attribute used in e2e tests */
17
+ testId?: string;
18
+ }
19
+ /**
20
+ * From SubmitButton
21
+ */
22
+ declare const SubmitButton: ({ children, className, color, loading, onClick, testId, }: SubmitButtonProps) => react_jsx_runtime.JSX.Element;
23
+
24
+ export { SubmitButton as S, type SubmitButtonProps as a };
@@ -0,0 +1,24 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ButtonProps } from '@fuf-stack/pixels';
3
+ import { ReactNode } from 'react';
4
+
5
+ interface SubmitButtonProps {
6
+ /** child components */
7
+ children?: ReactNode;
8
+ /** CSS class name */
9
+ className?: string | string[];
10
+ /** color of the button */
11
+ color?: ButtonProps['color'];
12
+ /** If set loading animation is shown */
13
+ loading?: boolean;
14
+ /** function called when the button is pressed. */
15
+ onClick?: ButtonProps['onClick'];
16
+ /** HTML data-testid attribute used in e2e tests */
17
+ testId?: string;
18
+ }
19
+ /**
20
+ * From SubmitButton
21
+ */
22
+ declare const SubmitButton: ({ children, className, color, loading, onClick, testId, }: SubmitButtonProps) => react_jsx_runtime.JSX.Element;
23
+
24
+ export { SubmitButton as S, type SubmitButtonProps as a };
@@ -0,0 +1,40 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/partials/FieldCopyTestIdButton/FieldCopyTestIdButton.tsx
2
+ var _fa6 = require('react-icons/fa6');
3
+ var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
4
+ var _pixels = require('@fuf-stack/pixels');
5
+ var _jsxruntime = require('react/jsx-runtime');
6
+ var LOCALSTORAGE_DEBUG_KEY = "uniform:form-debug-enabled";
7
+ var FieldCopyTestIdButton = ({
8
+ className = void 0,
9
+ testId
10
+ }) => {
11
+ const [debug] = _pixels.useLocalStorage.call(void 0, LOCALSTORAGE_DEBUG_KEY, false);
12
+ const copyToClipboard = () => {
13
+ navigator.clipboard.writeText(testId).catch((err) => {
14
+ console.error("Error copying TestId to clipboard", err);
15
+ });
16
+ };
17
+ if (!debug) {
18
+ return null;
19
+ }
20
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21
+ _pixels.Button,
22
+ {
23
+ className: _classnames2.default.call(void 0, className, "pointer-events-auto"),
24
+ variant: "light",
25
+ onClick: copyToClipboard,
26
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _fa6.FaBullseye, {}),
27
+ size: "sm"
28
+ }
29
+ );
30
+ };
31
+ var FieldCopyTestIdButton_default = FieldCopyTestIdButton;
32
+
33
+ // src/partials/FieldCopyTestIdButton/index.ts
34
+ var FieldCopyTestIdButton_default2 = FieldCopyTestIdButton_default;
35
+
36
+
37
+
38
+
39
+ exports.FieldCopyTestIdButton_default = FieldCopyTestIdButton_default; exports.FieldCopyTestIdButton_default2 = FieldCopyTestIdButton_default2;
40
+ //# sourceMappingURL=chunk-22AA557I.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/partials/FieldCopyTestIdButton/FieldCopyTestIdButton.tsx","../src/partials/FieldCopyTestIdButton/index.ts"],"names":["FieldCopyTestIdButton_default"],"mappings":";AAAA,SAAS,kBAAkB;AAE3B,OAAO,QAAQ;AAEf,SAAS,QAAQ,uBAAuB;AA8B5B;AAvBZ,IAAM,yBAAyB;AAE/B,IAAM,wBAAwB,CAAC;AAAA,EAC7B,YAAY;AAAA,EACZ;AACF,MAAkC;AAChC,QAAM,CAAC,KAAK,IAAI,gBAAgB,wBAAwB,KAAK;AAE7D,QAAM,kBAAkB,MAAM;AAC5B,cAAU,UAAU,UAAU,MAAM,EAAE,MAAM,CAAC,QAAQ;AACnD,cAAQ,MAAM,qCAAqC,GAAG;AAAA,IACxD,CAAC;AAAA,EACH;AAEA,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,WAAW,qBAAqB;AAAA,MAC9C,SAAQ;AAAA,MACR,SAAS;AAAA,MACT,MAAM,oBAAC,cAAW;AAAA,MAClB,MAAK;AAAA;AAAA,EACP;AAEJ;AACA,IAAO,gCAAQ;;;ACjCf,IAAOA,iCAAQ","sourcesContent":["import { FaBullseye } from 'react-icons/fa6';\n\nimport cn from 'classnames';\n\nimport { Button, useLocalStorage } from '@fuf-stack/pixels';\n\nexport interface FieldCopyTestIdButtonProps {\n className?: string;\n testId: string;\n}\n\nconst LOCALSTORAGE_DEBUG_KEY = 'uniform:form-debug-enabled';\n\nconst FieldCopyTestIdButton = ({\n className = undefined,\n testId,\n}: FieldCopyTestIdButtonProps) => {\n const [debug] = useLocalStorage(LOCALSTORAGE_DEBUG_KEY, false);\n\n const copyToClipboard = () => {\n navigator.clipboard.writeText(testId).catch((err) => {\n console.error('Error copying TestId to clipboard', err);\n });\n };\n\n if (!debug) {\n return null;\n }\n\n return (\n <Button\n className={cn(className, 'pointer-events-auto')}\n variant=\"light\"\n onClick={copyToClipboard}\n icon={<FaBullseye />}\n size=\"sm\"\n />\n );\n};\nexport default FieldCopyTestIdButton;\n","import FieldCopyTestIdButton from './FieldCopyTestIdButton';\n\nexport type { FieldCopyTestIdButtonProps } from './FieldCopyTestIdButton';\n\nexport { FieldCopyTestIdButton };\n\nexport default FieldCopyTestIdButton;\n"]}
@@ -0,0 +1,45 @@
1
+ import {
2
+ slugify
3
+ } from "./chunk-V46BHM2U.js";
4
+
5
+ // src/partials/FieldValidationError/FieldValidationError.tsx
6
+ import { jsx } from "react/jsx-runtime";
7
+ var FieldValidationError = ({
8
+ error,
9
+ testId = void 0
10
+ }) => {
11
+ if (!error) {
12
+ return null;
13
+ }
14
+ let tmp_errors = [];
15
+ if (typeof error === "object" && !(error instanceof Array)) {
16
+ const error_object = error;
17
+ Object.keys(error).forEach((key) => {
18
+ tmp_errors = [...tmp_errors, ...error_object[key]];
19
+ });
20
+ }
21
+ const errorArray = JSON.stringify(tmp_errors) !== "[]" ? tmp_errors : error;
22
+ const errorStrings = errorArray.map((e) => e.message);
23
+ const ariaString = `Error: ${errorStrings.join("\n")}`;
24
+ return /* @__PURE__ */ jsx(
25
+ "ul",
26
+ {
27
+ "data-testid": slugify(testId || errorStrings.join()),
28
+ "aria-label": ariaString,
29
+ children: errorStrings.map((errorString, i) => (
30
+ // eslint-disable-next-line react/no-array-index-key
31
+ /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx("div", { children: errorString }) }, `error_${i}`)
32
+ ))
33
+ }
34
+ );
35
+ };
36
+ var FieldValidationError_default = FieldValidationError;
37
+
38
+ // src/partials/FieldValidationError/index.ts
39
+ var FieldValidationError_default2 = FieldValidationError_default;
40
+
41
+ export {
42
+ FieldValidationError_default,
43
+ FieldValidationError_default2
44
+ };
45
+ //# sourceMappingURL=chunk-DBLODROX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/partials/FieldValidationError/FieldValidationError.tsx","../src/partials/FieldValidationError/index.ts"],"sourcesContent":["import type { FieldError } from 'react-hook-form';\n\nimport { slugify } from '../../helpers';\n\nexport interface FieldValidationErrorProps {\n error: FieldError[] | Record<string, FieldError[]>;\n testId?: string;\n}\n\n/**\n * Renders a validation error of a field\n */\nconst FieldValidationError = ({\n error,\n testId = undefined,\n}: FieldValidationErrorProps) => {\n if (!error) {\n return null;\n }\n\n let tmp_errors: FieldError[] = [];\n\n if (typeof error === 'object' && !(error instanceof Array)) {\n const error_object = error as Record<string, FieldError[]>;\n Object.keys(error).forEach((key) => {\n tmp_errors = [...tmp_errors, ...error_object[key]];\n });\n }\n\n const errorArray: FieldError[] =\n JSON.stringify(tmp_errors) !== '[]' ? tmp_errors : (error as FieldError[]);\n const errorStrings: string[] = errorArray.map((e) => e.message) as string[];\n const ariaString = `Error: ${errorStrings.join('\\n')}`;\n\n return (\n <ul\n data-testid={slugify(testId || errorStrings.join())}\n aria-label={ariaString} // TODO: ist das richtig @Hannes?\n >\n {errorStrings.map((errorString: string, i: number) => (\n // eslint-disable-next-line react/no-array-index-key\n <li key={`error_${i}`}>\n <div>{errorString}</div>\n </li>\n ))}\n </ul>\n );\n};\n\nexport default FieldValidationError;\n","import FieldValidationError from './FieldValidationError';\n\nexport type { FieldValidationErrorProps } from './FieldValidationError';\n\nexport { FieldValidationError };\n\nexport default FieldValidationError;\n"],"mappings":";;;;;AA0CU;AA9BV,IAAM,uBAAuB,CAAC;AAAA,EAC5B;AAAA,EACA,SAAS;AACX,MAAiC;AAC/B,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AAEA,MAAI,aAA2B,CAAC;AAEhC,MAAI,OAAO,UAAU,YAAY,EAAE,iBAAiB,QAAQ;AAC1D,UAAM,eAAe;AACrB,WAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAClC,mBAAa,CAAC,GAAG,YAAY,GAAG,aAAa,GAAG,CAAC;AAAA,IACnD,CAAC;AAAA,EACH;AAEA,QAAM,aACJ,KAAK,UAAU,UAAU,MAAM,OAAO,aAAc;AACtD,QAAM,eAAyB,WAAW,IAAI,CAAC,MAAM,EAAE,OAAO;AAC9D,QAAM,aAAa,UAAU,aAAa,KAAK,IAAI,CAAC;AAEpD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa,QAAQ,UAAU,aAAa,KAAK,CAAC;AAAA,MAClD,cAAY;AAAA,MAEX,uBAAa,IAAI,CAAC,aAAqB;AAAA;AAAA,QAEtC,oBAAC,QACC,8BAAC,SAAK,uBAAY,KADX,SAAS,CAAC,EAEnB;AAAA,OACD;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,+BAAQ;;;AC3Cf,IAAOA,gCAAQ;","names":["FieldValidationError_default"]}
@@ -0,0 +1,40 @@
1
+ // src/partials/FieldCopyTestIdButton/FieldCopyTestIdButton.tsx
2
+ import { FaBullseye } from "react-icons/fa6";
3
+ import cn from "classnames";
4
+ import { Button, useLocalStorage } from "@fuf-stack/pixels";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var LOCALSTORAGE_DEBUG_KEY = "uniform:form-debug-enabled";
7
+ var FieldCopyTestIdButton = ({
8
+ className = void 0,
9
+ testId
10
+ }) => {
11
+ const [debug] = useLocalStorage(LOCALSTORAGE_DEBUG_KEY, false);
12
+ const copyToClipboard = () => {
13
+ navigator.clipboard.writeText(testId).catch((err) => {
14
+ console.error("Error copying TestId to clipboard", err);
15
+ });
16
+ };
17
+ if (!debug) {
18
+ return null;
19
+ }
20
+ return /* @__PURE__ */ jsx(
21
+ Button,
22
+ {
23
+ className: cn(className, "pointer-events-auto"),
24
+ variant: "light",
25
+ onClick: copyToClipboard,
26
+ icon: /* @__PURE__ */ jsx(FaBullseye, {}),
27
+ size: "sm"
28
+ }
29
+ );
30
+ };
31
+ var FieldCopyTestIdButton_default = FieldCopyTestIdButton;
32
+
33
+ // src/partials/FieldCopyTestIdButton/index.ts
34
+ var FieldCopyTestIdButton_default2 = FieldCopyTestIdButton_default;
35
+
36
+ export {
37
+ FieldCopyTestIdButton_default,
38
+ FieldCopyTestIdButton_default2
39
+ };
40
+ //# sourceMappingURL=chunk-FNVT6LS4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/partials/FieldCopyTestIdButton/FieldCopyTestIdButton.tsx","../src/partials/FieldCopyTestIdButton/index.ts"],"sourcesContent":["import { FaBullseye } from 'react-icons/fa6';\n\nimport cn from 'classnames';\n\nimport { Button, useLocalStorage } from '@fuf-stack/pixels';\n\nexport interface FieldCopyTestIdButtonProps {\n className?: string;\n testId: string;\n}\n\nconst LOCALSTORAGE_DEBUG_KEY = 'uniform:form-debug-enabled';\n\nconst FieldCopyTestIdButton = ({\n className = undefined,\n testId,\n}: FieldCopyTestIdButtonProps) => {\n const [debug] = useLocalStorage(LOCALSTORAGE_DEBUG_KEY, false);\n\n const copyToClipboard = () => {\n navigator.clipboard.writeText(testId).catch((err) => {\n console.error('Error copying TestId to clipboard', err);\n });\n };\n\n if (!debug) {\n return null;\n }\n\n return (\n <Button\n className={cn(className, 'pointer-events-auto')}\n variant=\"light\"\n onClick={copyToClipboard}\n icon={<FaBullseye />}\n size=\"sm\"\n />\n );\n};\nexport default FieldCopyTestIdButton;\n","import FieldCopyTestIdButton from './FieldCopyTestIdButton';\n\nexport type { FieldCopyTestIdButtonProps } from './FieldCopyTestIdButton';\n\nexport { FieldCopyTestIdButton };\n\nexport default FieldCopyTestIdButton;\n"],"mappings":";AAAA,SAAS,kBAAkB;AAE3B,OAAO,QAAQ;AAEf,SAAS,QAAQ,uBAAuB;AA8B5B;AAvBZ,IAAM,yBAAyB;AAE/B,IAAM,wBAAwB,CAAC;AAAA,EAC7B,YAAY;AAAA,EACZ;AACF,MAAkC;AAChC,QAAM,CAAC,KAAK,IAAI,gBAAgB,wBAAwB,KAAK;AAE7D,QAAM,kBAAkB,MAAM;AAC5B,cAAU,UAAU,UAAU,MAAM,EAAE,MAAM,CAAC,QAAQ;AACnD,cAAQ,MAAM,qCAAqC,GAAG;AAAA,IACxD,CAAC;AAAA,EACH;AAEA,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,WAAW,qBAAqB;AAAA,MAC9C,SAAQ;AAAA,MACR,SAAS;AAAA,MACT,MAAM,oBAAC,cAAW;AAAA,MAClB,MAAK;AAAA;AAAA,EACP;AAEJ;AACA,IAAO,gCAAQ;;;ACjCf,IAAOA,iCAAQ;","names":["FieldCopyTestIdButton_default"]}
@@ -0,0 +1,46 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+ var _chunkWQRM7G4Ccjs = require('./chunk-WQRM7G4C.cjs');
4
+
5
+
6
+ var _chunkBBB4FEY6cjs = require('./chunk-BBB4FEY6.cjs');
7
+
8
+ // src/SubmitButton/SubmitButton.tsx
9
+ var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
10
+ var _pixels = require('@fuf-stack/pixels');
11
+ var _jsxruntime = require('react/jsx-runtime');
12
+ var SubmitButton = ({
13
+ children = "Submit",
14
+ className = void 0,
15
+ color = "success",
16
+ loading = false,
17
+ onClick = void 0,
18
+ testId = "form_submit_button"
19
+ }) => {
20
+ const {
21
+ formState: { isValid, isSubmitting, isValidating }
22
+ } = _chunkWQRM7G4Ccjs.useFormContext.call(void 0, );
23
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24
+ _pixels.Button,
25
+ {
26
+ className: _classnames2.default.call(void 0, className),
27
+ color,
28
+ testId: _chunkBBB4FEY6cjs.slugify.call(void 0, testId),
29
+ disabled: !isValid || isSubmitting || isValidating,
30
+ loading,
31
+ onClick,
32
+ type: "submit",
33
+ children
34
+ }
35
+ );
36
+ };
37
+ var SubmitButton_default = SubmitButton;
38
+
39
+ // src/SubmitButton/index.ts
40
+ var SubmitButton_default2 = SubmitButton_default;
41
+
42
+
43
+
44
+
45
+ exports.SubmitButton_default = SubmitButton_default; exports.SubmitButton_default2 = SubmitButton_default2;
46
+ //# sourceMappingURL=chunk-JNTIBBIY.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/SubmitButton/SubmitButton.tsx","../src/SubmitButton/index.ts"],"names":["SubmitButton_default"],"mappings":";;;;;;;;AAGA,OAAO,QAAQ;AAEf,SAAS,cAAc;AAoCnB;AAbJ,IAAM,eAAe,CAAC;AAAA,EACpB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AAAA,EACV,SAAS;AACX,MAAyB;AACvB,QAAM;AAAA,IACJ,WAAW,EAAE,SAAS,cAAc,aAAa;AAAA,EACnD,IAAI,eAAe;AAEnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,SAAS;AAAA,MACvB;AAAA,MACA,QAAQ,QAAQ,MAAM;AAAA,MACtB,UAAU,CAAC,WAAW,gBAAgB;AAAA,MACtC;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MAEJ;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,uBAAQ;;;ACjDf,IAAOA,wBAAQ","sourcesContent":["import type { ButtonProps } from '@fuf-stack/pixels';\nimport type { ReactNode } from 'react';\n\nimport cn from 'classnames';\n\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 | 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 /** 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 testId = 'form_submit_button',\n}: SubmitButtonProps) => {\n const {\n formState: { isValid, isSubmitting, isValidating },\n } = useFormContext();\n\n return (\n <Button\n className={cn(className)}\n color={color}\n testId={slugify(testId)}\n disabled={!isValid || isSubmitting || isValidating}\n loading={loading}\n onClick={onClick}\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"]}
@@ -0,0 +1,46 @@
1
+ import {
2
+ useFormContext
3
+ } from "./chunk-BCMPSLSG.js";
4
+ import {
5
+ slugify
6
+ } from "./chunk-V46BHM2U.js";
7
+
8
+ // src/SubmitButton/SubmitButton.tsx
9
+ import cn from "classnames";
10
+ import { Button } from "@fuf-stack/pixels";
11
+ import { jsx } from "react/jsx-runtime";
12
+ var SubmitButton = ({
13
+ children = "Submit",
14
+ className = void 0,
15
+ color = "success",
16
+ loading = false,
17
+ onClick = void 0,
18
+ testId = "form_submit_button"
19
+ }) => {
20
+ const {
21
+ formState: { isValid, isSubmitting, isValidating }
22
+ } = useFormContext();
23
+ return /* @__PURE__ */ jsx(
24
+ Button,
25
+ {
26
+ className: cn(className),
27
+ color,
28
+ testId: slugify(testId),
29
+ disabled: !isValid || isSubmitting || isValidating,
30
+ loading,
31
+ onClick,
32
+ type: "submit",
33
+ children
34
+ }
35
+ );
36
+ };
37
+ var SubmitButton_default = SubmitButton;
38
+
39
+ // src/SubmitButton/index.ts
40
+ var SubmitButton_default2 = SubmitButton_default;
41
+
42
+ export {
43
+ SubmitButton_default,
44
+ SubmitButton_default2
45
+ };
46
+ //# sourceMappingURL=chunk-L3BVHWGU.js.map
@@ -0,0 +1 @@
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 'classnames';\n\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 | 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 /** 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 testId = 'form_submit_button',\n}: SubmitButtonProps) => {\n const {\n formState: { isValid, isSubmitting, isValidating },\n } = useFormContext();\n\n return (\n <Button\n className={cn(className)}\n color={color}\n testId={slugify(testId)}\n disabled={!isValid || isSubmitting || isValidating}\n loading={loading}\n onClick={onClick}\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,OAAO,QAAQ;AAEf,SAAS,cAAc;AAoCnB;AAbJ,IAAM,eAAe,CAAC;AAAA,EACpB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AAAA,EACV,SAAS;AACX,MAAyB;AACvB,QAAM;AAAA,IACJ,WAAW,EAAE,SAAS,cAAc,aAAa;AAAA,EACnD,IAAI,eAAe;AAEnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,SAAS;AAAA,MACvB;AAAA,MACA,QAAQ,QAAQ,MAAM;AAAA,MACtB,UAAU,CAAC,WAAW,gBAAgB;AAAA,MACtC;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MAEJ;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,uBAAQ;;;ACjDf,IAAOA,wBAAQ;","names":["SubmitButton_default"]}
@@ -0,0 +1,45 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkBBB4FEY6cjs = require('./chunk-BBB4FEY6.cjs');
4
+
5
+ // src/partials/FieldValidationError/FieldValidationError.tsx
6
+ var _jsxruntime = require('react/jsx-runtime');
7
+ var FieldValidationError = ({
8
+ error,
9
+ testId = void 0
10
+ }) => {
11
+ if (!error) {
12
+ return null;
13
+ }
14
+ let tmp_errors = [];
15
+ if (typeof error === "object" && !(error instanceof Array)) {
16
+ const error_object = error;
17
+ Object.keys(error).forEach((key) => {
18
+ tmp_errors = [...tmp_errors, ...error_object[key]];
19
+ });
20
+ }
21
+ const errorArray = JSON.stringify(tmp_errors) !== "[]" ? tmp_errors : error;
22
+ const errorStrings = errorArray.map((e) => e.message);
23
+ const ariaString = `Error: ${errorStrings.join("\n")}`;
24
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25
+ "ul",
26
+ {
27
+ "data-testid": _chunkBBB4FEY6cjs.slugify.call(void 0, testId || errorStrings.join()),
28
+ "aria-label": ariaString,
29
+ children: errorStrings.map((errorString, i) => (
30
+ // eslint-disable-next-line react/no-array-index-key
31
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: errorString }) }, `error_${i}`)
32
+ ))
33
+ }
34
+ );
35
+ };
36
+ var FieldValidationError_default = FieldValidationError;
37
+
38
+ // src/partials/FieldValidationError/index.ts
39
+ var FieldValidationError_default2 = FieldValidationError_default;
40
+
41
+
42
+
43
+
44
+ exports.FieldValidationError_default = FieldValidationError_default; exports.FieldValidationError_default2 = FieldValidationError_default2;
45
+ //# sourceMappingURL=chunk-QTL5FREE.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/partials/FieldValidationError/FieldValidationError.tsx","../src/partials/FieldValidationError/index.ts"],"names":["FieldValidationError_default"],"mappings":";;;;;AA0CU;AA9BV,IAAM,uBAAuB,CAAC;AAAA,EAC5B;AAAA,EACA,SAAS;AACX,MAAiC;AAC/B,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AAEA,MAAI,aAA2B,CAAC;AAEhC,MAAI,OAAO,UAAU,YAAY,EAAE,iBAAiB,QAAQ;AAC1D,UAAM,eAAe;AACrB,WAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAClC,mBAAa,CAAC,GAAG,YAAY,GAAG,aAAa,GAAG,CAAC;AAAA,IACnD,CAAC;AAAA,EACH;AAEA,QAAM,aACJ,KAAK,UAAU,UAAU,MAAM,OAAO,aAAc;AACtD,QAAM,eAAyB,WAAW,IAAI,CAAC,MAAM,EAAE,OAAO;AAC9D,QAAM,aAAa,UAAU,aAAa,KAAK,IAAI,CAAC;AAEpD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa,QAAQ,UAAU,aAAa,KAAK,CAAC;AAAA,MAClD,cAAY;AAAA,MAEX,uBAAa,IAAI,CAAC,aAAqB;AAAA;AAAA,QAEtC,oBAAC,QACC,8BAAC,SAAK,uBAAY,KADX,SAAS,CAAC,EAEnB;AAAA,OACD;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,+BAAQ;;;AC3Cf,IAAOA,gCAAQ","sourcesContent":["import type { FieldError } from 'react-hook-form';\n\nimport { slugify } from '../../helpers';\n\nexport interface FieldValidationErrorProps {\n error: FieldError[] | Record<string, FieldError[]>;\n testId?: string;\n}\n\n/**\n * Renders a validation error of a field\n */\nconst FieldValidationError = ({\n error,\n testId = undefined,\n}: FieldValidationErrorProps) => {\n if (!error) {\n return null;\n }\n\n let tmp_errors: FieldError[] = [];\n\n if (typeof error === 'object' && !(error instanceof Array)) {\n const error_object = error as Record<string, FieldError[]>;\n Object.keys(error).forEach((key) => {\n tmp_errors = [...tmp_errors, ...error_object[key]];\n });\n }\n\n const errorArray: FieldError[] =\n JSON.stringify(tmp_errors) !== '[]' ? tmp_errors : (error as FieldError[]);\n const errorStrings: string[] = errorArray.map((e) => e.message) as string[];\n const ariaString = `Error: ${errorStrings.join('\\n')}`;\n\n return (\n <ul\n data-testid={slugify(testId || errorStrings.join())}\n aria-label={ariaString} // TODO: ist das richtig @Hannes?\n >\n {errorStrings.map((errorString: string, i: number) => (\n // eslint-disable-next-line react/no-array-index-key\n <li key={`error_${i}`}>\n <div>{errorString}</div>\n </li>\n ))}\n </ul>\n );\n};\n\nexport default FieldValidationError;\n","import FieldValidationError from './FieldValidationError';\n\nexport type { FieldValidationErrorProps } from './FieldValidationError';\n\nexport { FieldValidationError };\n\nexport default FieldValidationError;\n"]}
package/dist/index.cjs CHANGED
@@ -4,10 +4,30 @@ var _chunk4BELEHDQcjs = require('./chunk-4BELEHDQ.cjs');
4
4
 
5
5
 
6
6
  var _chunkZPFKVKGVcjs = require('./chunk-ZPFKVKGV.cjs');
7
- require('./chunk-WQRM7G4C.cjs');
8
- require('./chunk-BBB4FEY6.cjs');
9
7
 
10
8
 
9
+ var _chunkJNTIBBIYcjs = require('./chunk-JNTIBBIY.cjs');
11
10
 
12
- exports.Form = _chunk4BELEHDQcjs.Form_default; exports.Grid = _chunkZPFKVKGVcjs.Grid_default;
11
+
12
+
13
+ var _chunkWQRM7G4Ccjs = require('./chunk-WQRM7G4C.cjs');
14
+
15
+
16
+ var _chunk22AA557Icjs = require('./chunk-22AA557I.cjs');
17
+
18
+
19
+ var _chunkQTL5FREEcjs = require('./chunk-QTL5FREE.cjs');
20
+
21
+
22
+ var _chunkBBB4FEY6cjs = require('./chunk-BBB4FEY6.cjs');
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+ exports.FieldCopyTestIdButton = _chunk22AA557Icjs.FieldCopyTestIdButton_default; exports.FieldValidationError = _chunkQTL5FREEcjs.FieldValidationError_default; exports.Form = _chunk4BELEHDQcjs.Form_default; exports.Grid = _chunkZPFKVKGVcjs.Grid_default; exports.SubmitButton = _chunkJNTIBBIYcjs.SubmitButton_default; exports.recursiveFieldKeySearch = _chunkWQRM7G4Ccjs.recursiveFieldKeySearch; exports.slugify = _chunkBBB4FEY6cjs.slugify; exports.useFormContext = _chunkWQRM7G4Ccjs.useFormContext;
13
33
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.cts CHANGED
@@ -1,6 +1,14 @@
1
1
  export { F as Form, a as FormProps } from './Form-Bv0R3QNk.cjs';
2
2
  export { G as Grid, a as GridProps } from './Grid-DF3L9NF3.cjs';
3
+ export { slugify } from './helpers/index.cjs';
4
+ export { recursiveFieldKeySearch, useFormContext } from './hooks/index.cjs';
5
+ export { F as FieldCopyTestIdButton, a as FieldCopyTestIdButtonProps } from './FieldCopyTestIdButton-D-z1usqE.cjs';
6
+ export { F as FieldValidationError, a as FieldValidationErrorProps } from './FieldValidationError-BSXedjCA.cjs';
7
+ export { S as SubmitButton, a as SubmitButtonProps } from './SubmitButton-Bi87hRzl.cjs';
3
8
  import 'react/jsx-runtime';
4
9
  import '@fuf-stack/veto';
5
10
  import 'react';
6
11
  import 'react-hook-form';
12
+ import 'slug';
13
+ import 'zod';
14
+ import '@fuf-stack/pixels';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,14 @@
1
1
  export { F as Form, a as FormProps } from './Form-Bv0R3QNk.js';
2
2
  export { G as Grid, a as GridProps } from './Grid-DF3L9NF3.js';
3
+ export { slugify } from './helpers/index.js';
4
+ export { recursiveFieldKeySearch, useFormContext } from './hooks/index.js';
5
+ export { F as FieldCopyTestIdButton, a as FieldCopyTestIdButtonProps } from './FieldCopyTestIdButton-D-z1usqE.js';
6
+ export { F as FieldValidationError, a as FieldValidationErrorProps } from './FieldValidationError-BSXedjCA.js';
7
+ export { S as SubmitButton, a as SubmitButtonProps } from './SubmitButton-Bi87hRzl.js';
3
8
  import 'react/jsx-runtime';
4
9
  import '@fuf-stack/veto';
5
10
  import 'react';
6
11
  import 'react-hook-form';
12
+ import 'slug';
13
+ import 'zod';
14
+ import '@fuf-stack/pixels';
package/dist/index.js CHANGED
@@ -4,10 +4,30 @@ import {
4
4
  import {
5
5
  Grid_default
6
6
  } from "./chunk-4MEKDDB2.js";
7
- import "./chunk-BCMPSLSG.js";
8
- import "./chunk-V46BHM2U.js";
7
+ import {
8
+ SubmitButton_default
9
+ } from "./chunk-L3BVHWGU.js";
10
+ import {
11
+ recursiveFieldKeySearch,
12
+ useFormContext
13
+ } from "./chunk-BCMPSLSG.js";
14
+ import {
15
+ FieldCopyTestIdButton_default
16
+ } from "./chunk-FNVT6LS4.js";
17
+ import {
18
+ FieldValidationError_default
19
+ } from "./chunk-DBLODROX.js";
20
+ import {
21
+ slugify
22
+ } from "./chunk-V46BHM2U.js";
9
23
  export {
24
+ FieldCopyTestIdButton_default as FieldCopyTestIdButton,
25
+ FieldValidationError_default as FieldValidationError,
10
26
  Form_default as Form,
11
- Grid_default as Grid
27
+ Grid_default as Grid,
28
+ SubmitButton_default as SubmitButton,
29
+ recursiveFieldKeySearch,
30
+ slugify,
31
+ useFormContext
12
32
  };
13
33
  //# sourceMappingURL=index.js.map
@@ -1,35 +1,9 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/partials/FieldCopyTestIdButton/FieldCopyTestIdButton.tsx
2
- var _fa6 = require('react-icons/fa6');
3
- var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
4
- var _pixels = require('@fuf-stack/pixels');
5
- var _jsxruntime = require('react/jsx-runtime');
6
- var LOCALSTORAGE_DEBUG_KEY = "uniform:form-debug-enabled";
7
- var TestIdDebug = ({ className = void 0, testId }) => {
8
- const [debug] = _pixels.useLocalStorage.call(void 0, LOCALSTORAGE_DEBUG_KEY, false);
9
- const copyToClipboard = () => {
10
- navigator.clipboard.writeText(testId).catch((err) => {
11
- console.error("Error copying TestId to clipboard", err);
12
- });
13
- };
14
- if (!debug) {
15
- return null;
16
- }
17
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18
- _pixels.Button,
19
- {
20
- className: _classnames2.default.call(void 0, className, "pointer-events-auto"),
21
- variant: "light",
22
- onClick: copyToClipboard,
23
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _fa6.FaBullseye, {}),
24
- size: "sm"
25
- }
26
- );
27
- };
28
- var FieldCopyTestIdButton_default = TestIdDebug;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
29
2
 
30
- // src/partials/FieldCopyTestIdButton/index.ts
31
- var FieldCopyTestIdButton_default2 = FieldCopyTestIdButton_default;
32
3
 
4
+ var _chunk22AA557Icjs = require('../../chunk-22AA557I.cjs');
33
5
 
34
- exports.default = FieldCopyTestIdButton_default2;
6
+
7
+
8
+ exports.FieldCopyTestIdButton = _chunk22AA557Icjs.FieldCopyTestIdButton_default; exports.default = _chunk22AA557Icjs.FieldCopyTestIdButton_default2;
35
9
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/partials/FieldCopyTestIdButton/FieldCopyTestIdButton.tsx","../../../src/partials/FieldCopyTestIdButton/index.ts"],"names":["FieldCopyTestIdButton_default"],"mappings":";AAAA,SAAS,kBAAkB;AAE3B,OAAO,QAAQ;AAEf,SAAS,QAAQ,uBAAuB;AA2B5B;AApBZ,IAAM,yBAAyB;AAE/B,IAAM,cAAc,CAAC,EAAE,YAAY,QAAW,OAAO,MAAsB;AACzE,QAAM,CAAC,KAAK,IAAI,gBAAgB,wBAAwB,KAAK;AAE7D,QAAM,kBAAkB,MAAM;AAC5B,cAAU,UAAU,UAAU,MAAM,EAAE,MAAM,CAAC,QAAQ;AACnD,cAAQ,MAAM,qCAAqC,GAAG;AAAA,IACxD,CAAC;AAAA,EACH;AAEA,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,WAAW,qBAAqB;AAAA,MAC9C,SAAQ;AAAA,MACR,SAAS;AAAA,MACT,MAAM,oBAAC,cAAW;AAAA,MAClB,MAAK;AAAA;AAAA,EACP;AAEJ;AACA,IAAO,gCAAQ;;;AClCf,IAAOA,iCAAQ","sourcesContent":["import { FaBullseye } from 'react-icons/fa6';\n\nimport cn from 'classnames';\n\nimport { Button, useLocalStorage } from '@fuf-stack/pixels';\n\ninterface FormDebugProps {\n className?: string;\n testId: string;\n}\n\nconst LOCALSTORAGE_DEBUG_KEY = 'uniform:form-debug-enabled';\n\nconst TestIdDebug = ({ className = undefined, testId }: FormDebugProps) => {\n const [debug] = useLocalStorage(LOCALSTORAGE_DEBUG_KEY, false);\n\n const copyToClipboard = () => {\n navigator.clipboard.writeText(testId).catch((err) => {\n console.error('Error copying TestId to clipboard', err);\n });\n };\n\n if (!debug) {\n return null;\n }\n\n return (\n <Button\n className={cn(className, 'pointer-events-auto')}\n variant=\"light\"\n onClick={copyToClipboard}\n icon={<FaBullseye />}\n size=\"sm\"\n />\n );\n};\nexport default TestIdDebug;\n","import FieldCopyTestIdButton from './FieldCopyTestIdButton';\n\nexport default FieldCopyTestIdButton;\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,9 +1,7 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
1
+ import { F as FieldCopyTestIdButton } from '../../FieldCopyTestIdButton-D-z1usqE.cjs';
2
+ export { a as FieldCopyTestIdButtonProps } from '../../FieldCopyTestIdButton-D-z1usqE.cjs';
3
+ import 'react/jsx-runtime';
2
4
 
3
- interface FormDebugProps {
4
- className?: string;
5
- testId: string;
6
- }
7
- declare const TestIdDebug: ({ className, testId }: FormDebugProps) => react_jsx_runtime.JSX.Element | null;
8
5
 
9
- export { TestIdDebug as default };
6
+
7
+ export { FieldCopyTestIdButton, FieldCopyTestIdButton as default };
@@ -1,9 +1,7 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
1
+ import { F as FieldCopyTestIdButton } from '../../FieldCopyTestIdButton-D-z1usqE.js';
2
+ export { a as FieldCopyTestIdButtonProps } from '../../FieldCopyTestIdButton-D-z1usqE.js';
3
+ import 'react/jsx-runtime';
2
4
 
3
- interface FormDebugProps {
4
- className?: string;
5
- testId: string;
6
- }
7
- declare const TestIdDebug: ({ className, testId }: FormDebugProps) => react_jsx_runtime.JSX.Element | null;
8
5
 
9
- export { TestIdDebug as default };
6
+
7
+ export { FieldCopyTestIdButton, FieldCopyTestIdButton as default };
@@ -1,35 +1,9 @@
1
- // src/partials/FieldCopyTestIdButton/FieldCopyTestIdButton.tsx
2
- import { FaBullseye } from "react-icons/fa6";
3
- import cn from "classnames";
4
- import { Button, useLocalStorage } from "@fuf-stack/pixels";
5
- import { jsx } from "react/jsx-runtime";
6
- var LOCALSTORAGE_DEBUG_KEY = "uniform:form-debug-enabled";
7
- var TestIdDebug = ({ className = void 0, testId }) => {
8
- const [debug] = useLocalStorage(LOCALSTORAGE_DEBUG_KEY, false);
9
- const copyToClipboard = () => {
10
- navigator.clipboard.writeText(testId).catch((err) => {
11
- console.error("Error copying TestId to clipboard", err);
12
- });
13
- };
14
- if (!debug) {
15
- return null;
16
- }
17
- return /* @__PURE__ */ jsx(
18
- Button,
19
- {
20
- className: cn(className, "pointer-events-auto"),
21
- variant: "light",
22
- onClick: copyToClipboard,
23
- icon: /* @__PURE__ */ jsx(FaBullseye, {}),
24
- size: "sm"
25
- }
26
- );
27
- };
28
- var FieldCopyTestIdButton_default = TestIdDebug;
29
-
30
- // src/partials/FieldCopyTestIdButton/index.ts
31
- var FieldCopyTestIdButton_default2 = FieldCopyTestIdButton_default;
1
+ import {
2
+ FieldCopyTestIdButton_default,
3
+ FieldCopyTestIdButton_default2
4
+ } from "../../chunk-FNVT6LS4.js";
32
5
  export {
6
+ FieldCopyTestIdButton_default as FieldCopyTestIdButton,
33
7
  FieldCopyTestIdButton_default2 as default
34
8
  };
35
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/partials/FieldCopyTestIdButton/FieldCopyTestIdButton.tsx","../../../src/partials/FieldCopyTestIdButton/index.ts"],"sourcesContent":["import { FaBullseye } from 'react-icons/fa6';\n\nimport cn from 'classnames';\n\nimport { Button, useLocalStorage } from '@fuf-stack/pixels';\n\ninterface FormDebugProps {\n className?: string;\n testId: string;\n}\n\nconst LOCALSTORAGE_DEBUG_KEY = 'uniform:form-debug-enabled';\n\nconst TestIdDebug = ({ className = undefined, testId }: FormDebugProps) => {\n const [debug] = useLocalStorage(LOCALSTORAGE_DEBUG_KEY, false);\n\n const copyToClipboard = () => {\n navigator.clipboard.writeText(testId).catch((err) => {\n console.error('Error copying TestId to clipboard', err);\n });\n };\n\n if (!debug) {\n return null;\n }\n\n return (\n <Button\n className={cn(className, 'pointer-events-auto')}\n variant=\"light\"\n onClick={copyToClipboard}\n icon={<FaBullseye />}\n size=\"sm\"\n />\n );\n};\nexport default TestIdDebug;\n","import FieldCopyTestIdButton from './FieldCopyTestIdButton';\n\nexport default FieldCopyTestIdButton;\n"],"mappings":";AAAA,SAAS,kBAAkB;AAE3B,OAAO,QAAQ;AAEf,SAAS,QAAQ,uBAAuB;AA2B5B;AApBZ,IAAM,yBAAyB;AAE/B,IAAM,cAAc,CAAC,EAAE,YAAY,QAAW,OAAO,MAAsB;AACzE,QAAM,CAAC,KAAK,IAAI,gBAAgB,wBAAwB,KAAK;AAE7D,QAAM,kBAAkB,MAAM;AAC5B,cAAU,UAAU,UAAU,MAAM,EAAE,MAAM,CAAC,QAAQ;AACnD,cAAQ,MAAM,qCAAqC,GAAG;AAAA,IACxD,CAAC;AAAA,EACH;AAEA,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,WAAW,qBAAqB;AAAA,MAC9C,SAAQ;AAAA,MACR,SAAS;AAAA,MACT,MAAM,oBAAC,cAAW;AAAA,MAClB,MAAK;AAAA;AAAA,EACP;AAEJ;AACA,IAAO,gCAAQ;;;AClCf,IAAOA,iCAAQ;","names":["FieldCopyTestIdButton_default"]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,43 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkBBB4FEY6cjs = require('../../chunk-BBB4FEY6.cjs');
4
3
 
5
- // src/partials/FieldValidationError/FieldValidationError.tsx
6
- var _jsxruntime = require('react/jsx-runtime');
7
- var FieldValidationError = ({
8
- error,
9
- testId = void 0
10
- }) => {
11
- if (!error) {
12
- return null;
13
- }
14
- let tmp_errors = [];
15
- if (typeof error === "object" && !(error instanceof Array)) {
16
- const error_object = error;
17
- Object.keys(error).forEach((key) => {
18
- tmp_errors = [...tmp_errors, ...error_object[key]];
19
- });
20
- }
21
- const errorArray = JSON.stringify(tmp_errors) !== "[]" ? tmp_errors : error;
22
- const errorStrings = errorArray.map((e) => e.message);
23
- const ariaString = `Error: ${errorStrings.join("\n")}`;
24
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25
- "ul",
26
- {
27
- "data-testid": _chunkBBB4FEY6cjs.slugify.call(void 0, testId || errorStrings.join()),
28
- "aria-label": ariaString,
29
- children: errorStrings.map((errorString, i) => (
30
- // eslint-disable-next-line react/no-array-index-key
31
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: errorString }) }, `error_${i}`)
32
- ))
33
- }
34
- );
35
- };
36
- var FieldValidationError_default = FieldValidationError;
4
+ var _chunkQTL5FREEcjs = require('../../chunk-QTL5FREE.cjs');
5
+ require('../../chunk-BBB4FEY6.cjs');
37
6
 
38
- // src/partials/FieldValidationError/index.ts
39
- var FieldValidationError_default2 = FieldValidationError_default;
40
7
 
41
8
 
42
- exports.default = FieldValidationError_default2;
9
+ exports.FieldValidationError = _chunkQTL5FREEcjs.FieldValidationError_default; exports.default = _chunkQTL5FREEcjs.FieldValidationError_default2;
43
10
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/partials/FieldValidationError/FieldValidationError.tsx","../../../src/partials/FieldValidationError/index.ts"],"names":["FieldValidationError_default"],"mappings":";;;;;AA0CU;AA9BV,IAAM,uBAAuB,CAAC;AAAA,EAC5B;AAAA,EACA,SAAS;AACX,MAAiC;AAC/B,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AAEA,MAAI,aAA2B,CAAC;AAEhC,MAAI,OAAO,UAAU,YAAY,EAAE,iBAAiB,QAAQ;AAC1D,UAAM,eAAe;AACrB,WAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAClC,mBAAa,CAAC,GAAG,YAAY,GAAG,aAAa,GAAG,CAAC;AAAA,IACnD,CAAC;AAAA,EACH;AAEA,QAAM,aACJ,KAAK,UAAU,UAAU,MAAM,OAAO,aAAc;AACtD,QAAM,eAAyB,WAAW,IAAI,CAAC,MAAM,EAAE,OAAO;AAC9D,QAAM,aAAa,UAAU,aAAa,KAAK,IAAI,CAAC;AAEpD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa,QAAQ,UAAU,aAAa,KAAK,CAAC;AAAA,MAClD,cAAY;AAAA,MAEX,uBAAa,IAAI,CAAC,aAAqB;AAAA;AAAA,QAEtC,oBAAC,QACC,8BAAC,SAAK,uBAAY,KADX,SAAS,CAAC,EAEnB;AAAA,OACD;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,+BAAQ;;;AC/Cf,IAAOA,gCAAQ","sourcesContent":["import type { FieldError } from 'react-hook-form';\n\nimport { slugify } from '../../helpers';\n\ninterface FieldValidationErrorProps {\n error: FieldError[] | Record<string, FieldError[]>;\n testId?: string;\n}\n\n/**\n * Renders a validation error of a field\n */\nconst FieldValidationError = ({\n error,\n testId = undefined,\n}: FieldValidationErrorProps) => {\n if (!error) {\n return null;\n }\n\n let tmp_errors: FieldError[] = [];\n\n if (typeof error === 'object' && !(error instanceof Array)) {\n const error_object = error as Record<string, FieldError[]>;\n Object.keys(error).forEach((key) => {\n tmp_errors = [...tmp_errors, ...error_object[key]];\n });\n }\n\n const errorArray: FieldError[] =\n JSON.stringify(tmp_errors) !== '[]' ? tmp_errors : (error as FieldError[]);\n const errorStrings: string[] = errorArray.map((e) => e.message) as string[];\n const ariaString = `Error: ${errorStrings.join('\\n')}`;\n\n return (\n <ul\n data-testid={slugify(testId || errorStrings.join())}\n aria-label={ariaString} // TODO: ist das richtig @Hannes?\n >\n {errorStrings.map((errorString: string, i: number) => (\n // eslint-disable-next-line react/no-array-index-key\n <li key={`error_${i}`}>\n <div>{errorString}</div>\n </li>\n ))}\n </ul>\n );\n};\n\nexport default FieldValidationError;\n","import FieldValidationError from './FieldValidationError';\n\nexport default FieldValidationError;\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,13 +1,8 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { FieldError } from 'react-hook-form';
1
+ import { F as FieldValidationError } from '../../FieldValidationError-BSXedjCA.cjs';
2
+ export { a as FieldValidationErrorProps } from '../../FieldValidationError-BSXedjCA.cjs';
3
+ import 'react/jsx-runtime';
4
+ import 'react-hook-form';
3
5
 
4
- interface FieldValidationErrorProps {
5
- error: FieldError[] | Record<string, FieldError[]>;
6
- testId?: string;
7
- }
8
- /**
9
- * Renders a validation error of a field
10
- */
11
- declare const FieldValidationError: ({ error, testId, }: FieldValidationErrorProps) => react_jsx_runtime.JSX.Element | null;
12
6
 
13
- export { FieldValidationError as default };
7
+
8
+ export { FieldValidationError, FieldValidationError as default };
@@ -1,13 +1,8 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { FieldError } from 'react-hook-form';
1
+ import { F as FieldValidationError } from '../../FieldValidationError-BSXedjCA.js';
2
+ export { a as FieldValidationErrorProps } from '../../FieldValidationError-BSXedjCA.js';
3
+ import 'react/jsx-runtime';
4
+ import 'react-hook-form';
3
5
 
4
- interface FieldValidationErrorProps {
5
- error: FieldError[] | Record<string, FieldError[]>;
6
- testId?: string;
7
- }
8
- /**
9
- * Renders a validation error of a field
10
- */
11
- declare const FieldValidationError: ({ error, testId, }: FieldValidationErrorProps) => react_jsx_runtime.JSX.Element | null;
12
6
 
13
- export { FieldValidationError as default };
7
+
8
+ export { FieldValidationError, FieldValidationError as default };
@@ -1,43 +1,10 @@
1
1
  import {
2
- slugify
3
- } from "../../chunk-V46BHM2U.js";
4
-
5
- // src/partials/FieldValidationError/FieldValidationError.tsx
6
- import { jsx } from "react/jsx-runtime";
7
- var FieldValidationError = ({
8
- error,
9
- testId = void 0
10
- }) => {
11
- if (!error) {
12
- return null;
13
- }
14
- let tmp_errors = [];
15
- if (typeof error === "object" && !(error instanceof Array)) {
16
- const error_object = error;
17
- Object.keys(error).forEach((key) => {
18
- tmp_errors = [...tmp_errors, ...error_object[key]];
19
- });
20
- }
21
- const errorArray = JSON.stringify(tmp_errors) !== "[]" ? tmp_errors : error;
22
- const errorStrings = errorArray.map((e) => e.message);
23
- const ariaString = `Error: ${errorStrings.join("\n")}`;
24
- return /* @__PURE__ */ jsx(
25
- "ul",
26
- {
27
- "data-testid": slugify(testId || errorStrings.join()),
28
- "aria-label": ariaString,
29
- children: errorStrings.map((errorString, i) => (
30
- // eslint-disable-next-line react/no-array-index-key
31
- /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx("div", { children: errorString }) }, `error_${i}`)
32
- ))
33
- }
34
- );
35
- };
36
- var FieldValidationError_default = FieldValidationError;
37
-
38
- // src/partials/FieldValidationError/index.ts
39
- var FieldValidationError_default2 = FieldValidationError_default;
2
+ FieldValidationError_default,
3
+ FieldValidationError_default2
4
+ } from "../../chunk-DBLODROX.js";
5
+ import "../../chunk-V46BHM2U.js";
40
6
  export {
7
+ FieldValidationError_default as FieldValidationError,
41
8
  FieldValidationError_default2 as default
42
9
  };
43
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/partials/FieldValidationError/FieldValidationError.tsx","../../../src/partials/FieldValidationError/index.ts"],"sourcesContent":["import type { FieldError } from 'react-hook-form';\n\nimport { slugify } from '../../helpers';\n\ninterface FieldValidationErrorProps {\n error: FieldError[] | Record<string, FieldError[]>;\n testId?: string;\n}\n\n/**\n * Renders a validation error of a field\n */\nconst FieldValidationError = ({\n error,\n testId = undefined,\n}: FieldValidationErrorProps) => {\n if (!error) {\n return null;\n }\n\n let tmp_errors: FieldError[] = [];\n\n if (typeof error === 'object' && !(error instanceof Array)) {\n const error_object = error as Record<string, FieldError[]>;\n Object.keys(error).forEach((key) => {\n tmp_errors = [...tmp_errors, ...error_object[key]];\n });\n }\n\n const errorArray: FieldError[] =\n JSON.stringify(tmp_errors) !== '[]' ? tmp_errors : (error as FieldError[]);\n const errorStrings: string[] = errorArray.map((e) => e.message) as string[];\n const ariaString = `Error: ${errorStrings.join('\\n')}`;\n\n return (\n <ul\n data-testid={slugify(testId || errorStrings.join())}\n aria-label={ariaString} // TODO: ist das richtig @Hannes?\n >\n {errorStrings.map((errorString: string, i: number) => (\n // eslint-disable-next-line react/no-array-index-key\n <li key={`error_${i}`}>\n <div>{errorString}</div>\n </li>\n ))}\n </ul>\n );\n};\n\nexport default FieldValidationError;\n","import FieldValidationError from './FieldValidationError';\n\nexport default FieldValidationError;\n"],"mappings":";;;;;AA0CU;AA9BV,IAAM,uBAAuB,CAAC;AAAA,EAC5B;AAAA,EACA,SAAS;AACX,MAAiC;AAC/B,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AAEA,MAAI,aAA2B,CAAC;AAEhC,MAAI,OAAO,UAAU,YAAY,EAAE,iBAAiB,QAAQ;AAC1D,UAAM,eAAe;AACrB,WAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAClC,mBAAa,CAAC,GAAG,YAAY,GAAG,aAAa,GAAG,CAAC;AAAA,IACnD,CAAC;AAAA,EACH;AAEA,QAAM,aACJ,KAAK,UAAU,UAAU,MAAM,OAAO,aAAc;AACtD,QAAM,eAAyB,WAAW,IAAI,CAAC,MAAM,EAAE,OAAO;AAC9D,QAAM,aAAa,UAAU,aAAa,KAAK,IAAI,CAAC;AAEpD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa,QAAQ,UAAU,aAAa,KAAK,CAAC;AAAA,MAClD,cAAY;AAAA,MAEX,uBAAa,IAAI,CAAC,aAAqB;AAAA;AAAA,QAEtC,oBAAC,QACC,8BAAC,SAAK,uBAAY,KADX,SAAS,CAAC,EAEnB;AAAA,OACD;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,+BAAQ;;;AC/Cf,IAAOA,gCAAQ;","names":["FieldValidationError_default"]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fuf-stack/uniform",
3
- "version": "0.0.5",
3
+ "version": "0.1.0",
4
4
  "description": "fuf react form library",
5
5
  "author": "Hannes Tiede",
6
6
  "homepage": "https://github.com/fuf-stack/uniform#readme",
@@ -71,35 +71,35 @@
71
71
  "@dnd-kit/modifiers": "7.0.0",
72
72
  "@dnd-kit/sortable": "8.0.0",
73
73
  "@dnd-kit/utilities": "3.2.2",
74
- "@nextui-org/button": "2.0.27",
75
- "@nextui-org/checkbox": "2.0.25",
76
- "@nextui-org/input": "2.1.17",
77
- "@nextui-org/radio": "2.0.25",
78
- "@nextui-org/select": "2.1.21",
79
- "@nextui-org/switch": "2.0.25",
80
- "@nextui-org/system": "2.0.15",
74
+ "@nextui-org/button": "2.0.30",
75
+ "@nextui-org/checkbox": "2.0.29",
76
+ "@nextui-org/input": "2.1.20",
77
+ "@nextui-org/radio": "2.0.28",
78
+ "@nextui-org/select": "2.1.26",
79
+ "@nextui-org/switch": "2.0.28",
80
+ "@nextui-org/system": "2.1.2",
81
81
  "@react-aria/visually-hidden": "3.8.10",
82
- "react-icons": "5.0.1",
82
+ "react-icons": "5.1.0",
83
83
  "classnames": "2.5.1",
84
84
  "debug": "4.3.4",
85
85
  "react": "18.2.0",
86
86
  "react-dom": "18.2.0",
87
- "react-hook-form": "7.51.0",
87
+ "react-hook-form": "7.51.3",
88
88
  "react-select": "5.8.0",
89
89
  "slug": "9.0.0",
90
- "tailwind-variants": "0.1.20",
91
- "@fuf-stack/pixels": "0.3.0",
92
- "@fuf-stack/veto": "0.2.0"
90
+ "tailwind-variants": "0.2.1",
91
+ "@fuf-stack/pixels": "0.4.0",
92
+ "@fuf-stack/veto": "0.2.1"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@types/debug": "4.1.12",
96
- "@types/react": "18.2.69",
97
- "@types/react-dom": "18.2.22",
96
+ "@types/react": "18.2.79",
97
+ "@types/react-dom": "18.2.25",
98
98
  "@types/slug": "5.0.8",
99
99
  "@repo/storybook-config": "0.0.1",
100
- "@repo/tailwind-config": "0.0.1",
100
+ "@repo/vite-config": "0.0.1",
101
101
  "@repo/tsup-config": "0.0.1",
102
- "@repo/vite-config": "0.0.1"
102
+ "@repo/tailwind-config": "0.0.1"
103
103
  },
104
104
  "scripts": {
105
105
  "build": "tsup --config node_modules/@repo/tsup-config/config.ts",