@mage-ui/components 1.0.163 → 1.0.165
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/components/controls/file-input/FileInputMultipleS3.d.mts +1 -0
- package/dist/components/controls/file-input/FileInputMultipleS3.d.mts.map +1 -1
- package/dist/components/controls/file-input/FileInputMultipleS3.mjs +1 -1
- package/dist/components/controls/file-input/FileInputMultipleS3.mjs.map +1 -1
- package/dist/components/data-display/details/Details.d.mts +31 -0
- package/dist/components/data-display/details/Details.d.mts.map +1 -0
- package/dist/components/data-display/details/Details.mjs +2 -0
- package/dist/components/data-display/details/Details.mjs.map +1 -0
- package/dist/components/data-display/icons/icon/Icon.d.mts +4 -3
- package/dist/components/data-display/icons/icon/Icon.d.mts.map +1 -1
- package/dist/components/data-display/icons/icon/Icon.mjs +1 -1
- package/dist/components/data-display/icons/icon/Icon.mjs.map +1 -1
- package/dist/components/data-display/icons/icon-wrapped/IconWrapped.d.mts +4 -3
- package/dist/components/data-display/icons/icon-wrapped/IconWrapped.d.mts.map +1 -1
- package/dist/components/data-display/icons/icon-wrapped/IconWrapped.mjs +1 -1
- package/dist/components/data-display/icons/icon-wrapped/IconWrapped.mjs.map +1 -1
- package/dist/components/data-display/index.d.mts +1 -0
- package/dist/components/forms/index.d.mts +2 -0
- package/dist/components/forms/multi-step/MultiForm.d.mts +29 -0
- package/dist/components/forms/multi-step/MultiForm.d.mts.map +1 -0
- package/dist/components/forms/multi-step/MultiForm.mjs +2 -0
- package/dist/components/forms/multi-step/MultiForm.mjs.map +1 -0
- package/dist/components/forms/multi-step/Step.d.mts +46 -0
- package/dist/components/forms/multi-step/Step.d.mts.map +1 -0
- package/dist/components/forms/multi-step/Step.mjs +2 -0
- package/dist/components/forms/multi-step/Step.mjs.map +1 -0
- package/dist/components/forms/multi-step/parser/Form.d.mts +16 -0
- package/dist/components/forms/multi-step/parser/Form.d.mts.map +1 -0
- package/dist/components/forms/multi-step/parser/Form.mjs +2 -0
- package/dist/components/forms/multi-step/parser/Form.mjs.map +1 -0
- package/dist/components/forms/multi-step/parser/Result.mjs +2 -0
- package/dist/components/forms/multi-step/parser/Result.mjs.map +1 -0
- package/dist/components/forms/multi-step/parser/Schema.d.mts +92 -0
- package/dist/components/forms/multi-step/parser/Schema.d.mts.map +1 -0
- package/dist/components/forms/multi-step/parser/Schema.mjs +2 -0
- package/dist/components/forms/multi-step/parser/Schema.mjs.map +1 -0
- package/dist/components/forms/multi-step/parser/Schemas.mjs +2 -0
- package/dist/components/forms/multi-step/parser/Schemas.mjs.map +1 -0
- package/dist/components/forms/multi-step/parser/Yield.mjs +2 -0
- package/dist/components/forms/multi-step/parser/Yield.mjs.map +1 -0
- package/dist/components/forms/multi-step/parser/utils/extract-fields.mjs +2 -0
- package/dist/components/forms/multi-step/parser/utils/extract-fields.mjs.map +1 -0
- package/dist/components/forms/multi-step/parser/utils/extract-values.mjs +2 -0
- package/dist/components/forms/multi-step/parser/utils/extract-values.mjs.map +1 -0
- package/dist/components/forms/multi-step/parser/utils/replace-in-state.mjs +2 -0
- package/dist/components/forms/multi-step/parser/utils/replace-in-state.mjs.map +1 -0
- package/dist/components/forms/multi-step/parser/utils/use-local-storage.mjs +2 -0
- package/dist/components/forms/multi-step/parser/utils/use-local-storage.mjs.map +1 -0
- package/dist/components/index.d.mts +4 -0
- package/dist/components/navigations/index.d.mts +1 -0
- package/dist/components/navigations/stepper/Stepper.d.mts +64 -0
- package/dist/components/navigations/stepper/Stepper.d.mts.map +1 -0
- package/dist/components/navigations/stepper/Stepper.mjs +2 -0
- package/dist/components/navigations/stepper/Stepper.mjs.map +1 -0
- package/dist/index.d.mts +5 -1
- package/dist/index.mjs +1 -1
- package/dist/utils/NoSsr.mjs +2 -0
- package/dist/utils/NoSsr.mjs.map +1 -0
- package/package.json +4 -2
|
@@ -10,6 +10,7 @@ type FileInputMultipleS3Handle = {
|
|
|
10
10
|
};
|
|
11
11
|
type FileInputMultipleS3Props<TBody extends S3InitBody = S3InitBody> = Omit<FileInputMultipleProps, 'onChange'> & S3UploadConfig<TBody> & {
|
|
12
12
|
autoUpload?: boolean;
|
|
13
|
+
accumulate?: boolean;
|
|
13
14
|
onChange?: (results: UploadedS3File[] | null) => void;
|
|
14
15
|
onSelect?: (files: File[] | null) => void;
|
|
15
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileInputMultipleS3.d.mts","names":[],"sources":["../../../../src/components/controls/file-input/FileInputMultipleS3.tsx"],"mappings":";;;;;;KAuBY,yBAAA;EACV,MAAA,QAAc,OAAA,CAAQ,cAAA;EACtB,eAAA,GAAkB,KAAA,EAAO,IAAA;AAAA;AAAA,KAGf,wBAAA,eAAuC,UAAA,GAAa,UAAA,IAC9D,IAAA,CAAK,sBAAA,gBACH,cAAA,CAAe,KAAA;EACb,UAAA;EACA,QAAA,IAAY,OAAA,EAAS,cAAA;EACrB,QAAA,IAAY,KAAA,EAAO,IAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"FileInputMultipleS3.d.mts","names":[],"sources":["../../../../src/components/controls/file-input/FileInputMultipleS3.tsx"],"mappings":";;;;;;KAuBY,yBAAA;EACV,MAAA,QAAc,OAAA,CAAQ,cAAA;EACtB,eAAA,GAAkB,KAAA,EAAO,IAAA;AAAA;AAAA,KAGf,wBAAA,eAAuC,UAAA,GAAa,UAAA,IAC9D,IAAA,CAAK,sBAAA,gBACH,cAAA,CAAe,KAAA;EACb,UAAA;EACA,UAAA;EACA,QAAA,IAAY,OAAA,EAAS,cAAA;EACrB,QAAA,IAAY,KAAA,EAAO,IAAA;AAAA;AAAA,cA2FZ,mBAAA,iBACG,UAAA,GAAa,UAAA,EAE3B,KAAA,EAAO,wBAAA,CAAyB,KAAA;EAC9B,GAAA,GAAM,KAAA,CAAM,GAAA,CAAI,yBAAA;AAAA,MAEf,YAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defaultGetErrorMessage as e,useS3Upload as t}from"../dropzone/use-s3-upload.mjs";import{FileInputMultiple as n}from"./FileInputMultiple.mjs";import{jsx as r}from"react/jsx-runtime";import{forwardRef as i,useImperativeHandle as a,useRef as o,useState as s}from"react";function c({onChange:i,onSelect:c,autoUpload:l=!0,
|
|
1
|
+
import{defaultGetErrorMessage as e,useS3Upload as t}from"../dropzone/use-s3-upload.mjs";import{FileInputMultiple as n}from"./FileInputMultiple.mjs";import{jsx as r}from"react/jsx-runtime";import{forwardRef as i,useImperativeHandle as a,useRef as o,useState as s}from"react";function c({onChange:i,onSelect:c,autoUpload:l=!0,accumulate:u=!1,initUrl:d,buildInitBody:f,register:p,getHeaders:m,getErrorMessage:h=e,resolveUploadedUrl:g,acceptedTypes:_,texts:v,error:y,disabled:b,...x},S){let[C,w]=s(null),[T,E]=s(!1),D=o(null),{upload:O}=t({initUrl:d,buildInitBody:f,register:p,getHeaders:m,getErrorMessage:h,resolveUploadedUrl:g,acceptedTypes:_,texts:v}),k=async e=>{E(!0);try{let t=[];for(let n of e)t.push(await O(n));return i?.(t),t}catch(e){return w(e instanceof Error?e.message:`Upload failed`),null}finally{E(!1)}};a(S,()=>({upload:()=>D.current?k(D.current):Promise.resolve(null),setPendingFiles:e=>{D.current=e}}));let A=async e=>{if(w(null),!e){D.current=null,c?.(null),i?.(null);return}let t=u?[...D.current??[],...e]:e;D.current=t,c?.(t),l&&await k(e)};return r(n,{...x,disabled:b??T,error:y??C??void 0,onChange:A})}const l=i(c);export{l as FileInputMultipleS3};
|
|
2
2
|
//# sourceMappingURL=FileInputMultipleS3.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileInputMultipleS3.mjs","names":[],"sources":["../../../../src/components/controls/file-input/FileInputMultipleS3.tsx"],"sourcesContent":["import {\n forwardRef,\n type ReactElement,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\n\nimport {\n defaultGetErrorMessage,\n type S3InitBody,\n type S3UploadConfig,\n useS3Upload,\n} from '@/components/controls/dropzone/use-s3-upload';\n\nimport {\n FileInputMultiple,\n type FileInputMultipleProps,\n} from './FileInputMultiple';\nimport type { UploadedS3File } from './FileInputS3';\n\nexport type { UploadedS3File };\n\nexport type FileInputMultipleS3Handle = {\n upload: () => Promise<UploadedS3File[] | null>;\n setPendingFiles: (files: File[] | null) => void;\n};\n\nexport type FileInputMultipleS3Props<TBody extends S3InitBody = S3InitBody> =\n Omit<FileInputMultipleProps, 'onChange'> &\n S3UploadConfig<TBody> & {\n autoUpload?: boolean;\n onChange?: (results: UploadedS3File[] | null) => void;\n onSelect?: (files: File[] | null) => void;\n };\n\nfunction FileInputMultipleS3Inner<TBody extends S3InitBody = S3InitBody>(\n {\n onChange,\n onSelect,\n autoUpload = true,\n initUrl,\n buildInitBody,\n register,\n getHeaders,\n getErrorMessage = defaultGetErrorMessage,\n resolveUploadedUrl,\n acceptedTypes,\n texts,\n error,\n disabled,\n ...fileInputMultipleProps\n }: FileInputMultipleS3Props<TBody>,\n ref: React.ForwardedRef<FileInputMultipleS3Handle>,\n) {\n const [uploadError, setUploadError] = useState<string | null>(null);\n const [isUploading, setIsUploading] = useState(false);\n const pendingFilesRef = useRef<File[] | null>(null);\n\n const { upload } = useS3Upload<TBody>({\n initUrl,\n buildInitBody,\n register,\n getHeaders,\n getErrorMessage,\n resolveUploadedUrl,\n acceptedTypes,\n texts,\n });\n\n const doUpload = async (files: File[]): Promise<UploadedS3File[] | null> => {\n setIsUploading(true);\n try {\n const results: UploadedS3File[] = [];\n for (const file of files) {\n results.push(await upload(file));\n }\n onChange?.(results);\n return results;\n } catch (e) {\n setUploadError(e instanceof Error ? e.message : 'Upload failed');\n return null;\n } finally {\n setIsUploading(false);\n }\n };\n\n useImperativeHandle(ref, () => ({\n upload: () => {\n if (!pendingFilesRef.current) return Promise.resolve(null);\n return doUpload(pendingFilesRef.current);\n },\n setPendingFiles: (files) => {\n pendingFilesRef.current = files;\n },\n }));\n\n const handleChange = async (files: File[] | null) => {\n setUploadError(null);\n pendingFilesRef.current =
|
|
1
|
+
{"version":3,"file":"FileInputMultipleS3.mjs","names":[],"sources":["../../../../src/components/controls/file-input/FileInputMultipleS3.tsx"],"sourcesContent":["import {\n forwardRef,\n type ReactElement,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\n\nimport {\n defaultGetErrorMessage,\n type S3InitBody,\n type S3UploadConfig,\n useS3Upload,\n} from '@/components/controls/dropzone/use-s3-upload';\n\nimport {\n FileInputMultiple,\n type FileInputMultipleProps,\n} from './FileInputMultiple';\nimport type { UploadedS3File } from './FileInputS3';\n\nexport type { UploadedS3File };\n\nexport type FileInputMultipleS3Handle = {\n upload: () => Promise<UploadedS3File[] | null>;\n setPendingFiles: (files: File[] | null) => void;\n};\n\nexport type FileInputMultipleS3Props<TBody extends S3InitBody = S3InitBody> =\n Omit<FileInputMultipleProps, 'onChange'> &\n S3UploadConfig<TBody> & {\n autoUpload?: boolean;\n accumulate?: boolean;\n onChange?: (results: UploadedS3File[] | null) => void;\n onSelect?: (files: File[] | null) => void;\n };\n\nfunction FileInputMultipleS3Inner<TBody extends S3InitBody = S3InitBody>(\n {\n onChange,\n onSelect,\n autoUpload = true,\n accumulate = false,\n initUrl,\n buildInitBody,\n register,\n getHeaders,\n getErrorMessage = defaultGetErrorMessage,\n resolveUploadedUrl,\n acceptedTypes,\n texts,\n error,\n disabled,\n ...fileInputMultipleProps\n }: FileInputMultipleS3Props<TBody>,\n ref: React.ForwardedRef<FileInputMultipleS3Handle>,\n) {\n const [uploadError, setUploadError] = useState<string | null>(null);\n const [isUploading, setIsUploading] = useState(false);\n const pendingFilesRef = useRef<File[] | null>(null);\n\n const { upload } = useS3Upload<TBody>({\n initUrl,\n buildInitBody,\n register,\n getHeaders,\n getErrorMessage,\n resolveUploadedUrl,\n acceptedTypes,\n texts,\n });\n\n const doUpload = async (files: File[]): Promise<UploadedS3File[] | null> => {\n setIsUploading(true);\n try {\n const results: UploadedS3File[] = [];\n for (const file of files) {\n results.push(await upload(file));\n }\n onChange?.(results);\n return results;\n } catch (e) {\n setUploadError(e instanceof Error ? e.message : 'Upload failed');\n return null;\n } finally {\n setIsUploading(false);\n }\n };\n\n useImperativeHandle(ref, () => ({\n upload: () => {\n if (!pendingFilesRef.current) return Promise.resolve(null);\n return doUpload(pendingFilesRef.current);\n },\n setPendingFiles: (files) => {\n pendingFilesRef.current = files;\n },\n }));\n\n const handleChange = async (files: File[] | null) => {\n setUploadError(null);\n if (!files) {\n pendingFilesRef.current = null;\n onSelect?.(null);\n onChange?.(null);\n return;\n }\n const merged = accumulate\n ? [...(pendingFilesRef.current ?? []), ...files]\n : files;\n pendingFilesRef.current = merged;\n onSelect?.(merged);\n if (autoUpload) await doUpload(files);\n };\n\n return (\n <FileInputMultiple\n {...fileInputMultipleProps}\n disabled={disabled ?? isUploading}\n error={error ?? uploadError ?? undefined}\n onChange={handleChange}\n />\n );\n}\n\nexport const FileInputMultipleS3 = forwardRef(FileInputMultipleS3Inner) as <\n TBody extends S3InitBody = S3InitBody,\n>(\n props: FileInputMultipleS3Props<TBody> & {\n ref?: React.Ref<FileInputMultipleS3Handle>;\n },\n) => ReactElement;\n"],"mappings":"kRAqCA,SAAS,EACP,CACE,WACA,WACA,aAAa,GACb,aAAa,GACb,UACA,gBACA,WACA,aACA,kBAAkB,EAClB,qBACA,gBACA,QACA,QACA,WACA,GAAG,GAEL,EACA,CACA,GAAM,CAAC,EAAa,GAAkB,EAAwB,KAAK,CAC7D,CAAC,EAAa,GAAkB,EAAS,GAAM,CAC/C,EAAkB,EAAsB,KAAK,CAE7C,CAAE,UAAW,EAAmB,CACpC,UACA,gBACA,WACA,aACA,kBACA,qBACA,gBACA,QACD,CAAC,CAEI,EAAW,KAAO,IAAoD,CAC1E,EAAe,GAAK,CACpB,GAAI,CACF,IAAM,EAA4B,EAAE,CACpC,IAAK,IAAM,KAAQ,EACjB,EAAQ,KAAK,MAAM,EAAO,EAAK,CAAC,CAGlC,OADA,IAAW,EAAQ,CACZ,QACA,EAAG,CAEV,OADA,EAAe,aAAa,MAAQ,EAAE,QAAU,gBAAgB,CACzD,YACC,CACR,EAAe,GAAM,GAIzB,EAAoB,OAAY,CAC9B,WACO,EAAgB,QACd,EAAS,EAAgB,QAAQ,CADH,QAAQ,QAAQ,KAAK,CAG5D,gBAAkB,GAAU,CAC1B,EAAgB,QAAU,GAE7B,EAAE,CAEH,IAAM,EAAe,KAAO,IAAyB,CAEnD,GADA,EAAe,KAAK,CAChB,CAAC,EAAO,CACV,EAAgB,QAAU,KAC1B,IAAW,KAAK,CAChB,IAAW,KAAK,CAChB,OAEF,IAAM,EAAS,EACX,CAAC,GAAI,EAAgB,SAAW,EAAE,CAAG,GAAG,EAAM,CAC9C,EACJ,EAAgB,QAAU,EAC1B,IAAW,EAAO,CACd,GAAY,MAAM,EAAS,EAAM,EAGvC,OACE,EAAC,EAAD,CACE,GAAI,EACJ,SAAU,GAAY,EACtB,MAAO,GAAS,GAAe,IAAA,GAC/B,SAAU,EACV,CAAA,CAIN,MAAa,EAAsB,EAAW,EAAyB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { IconProps } from "../icons/icon/Icon.mjs";
|
|
2
|
+
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/data-display/details/Details.d.ts
|
|
5
|
+
type DetailsProps = Omit<ComponentPropsWithoutRef<'details'>, 'className'> & {
|
|
6
|
+
summary?: ReactNode;
|
|
7
|
+
icons?: {
|
|
8
|
+
close?: ReactNode;
|
|
9
|
+
open?: ReactNode;
|
|
10
|
+
};
|
|
11
|
+
classNames?: {
|
|
12
|
+
details?: string;
|
|
13
|
+
root?: string;
|
|
14
|
+
summary?: string;
|
|
15
|
+
summaryText?: string;
|
|
16
|
+
summaryIconSlot?: string;
|
|
17
|
+
content?: string;
|
|
18
|
+
iconClose?: IconProps['classNames'];
|
|
19
|
+
iconOpen?: IconProps['classNames'];
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
declare const Details: ({
|
|
23
|
+
summary,
|
|
24
|
+
children,
|
|
25
|
+
icons,
|
|
26
|
+
classNames,
|
|
27
|
+
...props
|
|
28
|
+
}: DetailsProps) => ReactNode;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { Details, DetailsProps };
|
|
31
|
+
//# sourceMappingURL=Details.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Details.d.mts","names":[],"sources":["../../../../src/components/data-display/details/Details.tsx"],"mappings":";;;;KAeY,YAAA,GAAe,IAAA,CACzB,wBAAA;EAGA,OAAA,GAAU,SAAA;EACV,KAAA;IACE,KAAA,GAAQ,SAAA;IACR,IAAA,GAAO,SAAA;EAAA;EAET,UAAA;IACE,OAAA;IACA,IAAA;IACA,OAAA;IACA,WAAA;IACA,eAAA;IACA,OAAA;IACA,SAAA,GAAY,SAAA;IACZ,QAAA,GAAW,SAAA;EAAA;AAAA;AAAA,cAIF,OAAA;EAAW,OAAA;EAAA,QAAA;EAAA,KAAA;EAAA,UAAA;EAAA,GAAA;AAAA,GAMrB,YAAA,KAAe,SAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Icon as e}from"../icons/icon/Icon.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{details as n,detailsContent as r,detailsIconClose as i,detailsIconOpen as a,detailsRoot as o,detailsSummary as s,detailsSummaryIconSlot as c,detailsSummaryText as l}from"@mage-ui/styled-system/recipes";import{jsx as u,jsxs as d}from"react/jsx-runtime";const f=({summary:f,children:p,icons:m,classNames:h,...g})=>d(`details`,{...g,className:t(h?.details??n(),h?.root??o(),`group`),children:[d(`summary`,{className:h?.summary??s(),children:[u(`span`,{className:h?.summaryText??l(),children:f}),d(`span`,{className:h?.summaryIconSlot??c(),children:[m?.close??u(e,{classNames:{icon:h?.iconClose?.icon??i()},path:`/icons/sprite-mage.svg`,name:`mage-dropdown-chevron-down`}),m?.open??u(e,{classNames:{icon:h?.iconOpen?.icon??a()},path:`/icons/sprite-mage.svg`,name:`mage-dropdown-chevron-up`})]})]}),u(`div`,{className:h?.content??r(),children:p})]});export{f as Details};
|
|
2
|
+
//# sourceMappingURL=Details.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Details.mjs","names":[],"sources":["../../../../src/components/data-display/details/Details.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n details,\n detailsContent,\n detailsIconClose,\n detailsIconOpen,\n detailsRoot,\n detailsSummary,\n detailsSummaryIconSlot,\n detailsSummaryText,\n} from '@mage-ui/styled-system/recipes';\nimport { Icon, type IconProps } from '@/components/data-display';\n\nexport type DetailsProps = Omit<\n ComponentPropsWithoutRef<'details'>,\n 'className'\n> & {\n summary?: ReactNode;\n icons?: {\n close?: ReactNode;\n open?: ReactNode;\n };\n classNames?: {\n details?: string;\n root?: string;\n summary?: string;\n summaryText?: string;\n summaryIconSlot?: string;\n content?: string;\n iconClose?: IconProps['classNames'];\n iconOpen?: IconProps['classNames'];\n };\n};\n\nexport const Details = ({\n summary,\n children,\n icons,\n classNames,\n ...props\n}: DetailsProps): ReactNode => {\n return (\n <details\n {...props}\n className={cx(\n classNames?.details ?? details(),\n classNames?.root ?? detailsRoot(),\n 'group',\n )}\n >\n <summary className={classNames?.summary ?? detailsSummary()}>\n <span className={classNames?.summaryText ?? detailsSummaryText()}>\n {summary}\n </span>\n <span\n className={classNames?.summaryIconSlot ?? detailsSummaryIconSlot()}\n >\n {icons?.close ?? (\n <Icon\n classNames={{\n icon: classNames?.iconClose?.icon ?? detailsIconClose(),\n }}\n path='/icons/sprite-mage.svg'\n name='mage-dropdown-chevron-down'\n />\n )}\n {icons?.open ?? (\n <Icon\n classNames={{\n icon: classNames?.iconOpen?.icon ?? detailsIconOpen(),\n }}\n path='/icons/sprite-mage.svg'\n name='mage-dropdown-chevron-up'\n />\n )}\n </span>\n </summary>\n <div className={classNames?.content ?? detailsContent()}>{children}</div>\n </details>\n );\n};\n"],"mappings":"iWAoCA,MAAa,GAAW,CACtB,UACA,WACA,QACA,aACA,GAAG,KAGD,EAAC,UAAD,CACE,GAAI,EACJ,UAAW,EACT,GAAY,SAAW,GAAS,CAChC,GAAY,MAAQ,GAAa,CACjC,QACD,UANH,CAQE,EAAC,UAAD,CAAS,UAAW,GAAY,SAAW,GAAgB,UAA3D,CACE,EAAC,OAAD,CAAM,UAAW,GAAY,aAAe,GAAoB,UAC7D,EACI,CAAA,CACP,EAAC,OAAD,CACE,UAAW,GAAY,iBAAmB,GAAwB,UADpE,CAGG,GAAO,OACN,EAAC,EAAD,CACE,WAAY,CACV,KAAM,GAAY,WAAW,MAAQ,GAAkB,CACxD,CACD,KAAK,yBACL,KAAK,6BACL,CAAA,CAEH,GAAO,MACN,EAAC,EAAD,CACE,WAAY,CACV,KAAM,GAAY,UAAU,MAAQ,GAAiB,CACtD,CACD,KAAK,yBACL,KAAK,2BACL,CAAA,CAEC,GACC,GACV,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAAgB,CAAG,WAAe,CAAA,CACjE"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { IconVariantProps } from "@mage-ui/styled-system/recipes";
|
|
2
|
-
import { ReactNode } from "react";
|
|
2
|
+
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/components/data-display/icons/icon/Icon.d.ts
|
|
5
|
-
type IconProps = {
|
|
5
|
+
type IconProps = Omit<ComponentPropsWithoutRef<'span'>, 'className'> & {
|
|
6
6
|
name: string;
|
|
7
7
|
path: string;
|
|
8
8
|
classNames?: {
|
|
@@ -17,7 +17,8 @@ type IconProps = {
|
|
|
17
17
|
declare const Icon: ({
|
|
18
18
|
path,
|
|
19
19
|
name,
|
|
20
|
-
classNames
|
|
20
|
+
classNames,
|
|
21
|
+
...props
|
|
21
22
|
}: IconProps) => ReactNode;
|
|
22
23
|
//#endregion
|
|
23
24
|
export { Icon, IconProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.d.mts","names":[],"sources":["../../../../../src/components/data-display/icons/icon/Icon.tsx"],"mappings":";;;;KAYY,SAAA;
|
|
1
|
+
{"version":3,"file":"Icon.d.mts","names":[],"sources":["../../../../../src/components/data-display/icons/icon/Icon.tsx"],"mappings":";;;;KAYY,SAAA,GAAY,IAAA,CAAK,wBAAA;EAC3B,IAAA;EACA,IAAA;EACA,UAAA;IACE,IAAA;IACA,IAAA;IACA,OAAA;MACE,OAAA;MACA,IAAA;IAAA;EAAA;AAAA,IAGF,gBAAA;AAAA,cAES,IAAA;EAAQ,IAAA;EAAA,IAAA;EAAA,UAAA;EAAA,GAAA;AAAA,GAKlB,SAAA,KAAY,SAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{IconRaw as e}from"../icon-raw/IconRaw.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{icon as n,iconIconRaw as r,iconIconRawRoot as i,iconRoot as a}from"@mage-ui/styled-system/recipes";import{jsx as o}from"react/jsx-runtime";const s=({path:s,name:c,classNames:l})=>o(`span`,{className:t(l?.icon??n(),l?.root??a()),children:o(e,{classNames:{iconRaw:l?.iconRaw?.iconRaw??r(),root:l?.iconRaw?.root??i()},path:s,name:c})});export{s as Icon};
|
|
1
|
+
import{IconRaw as e}from"../icon-raw/IconRaw.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{icon as n,iconIconRaw as r,iconIconRawRoot as i,iconRoot as a}from"@mage-ui/styled-system/recipes";import{jsx as o}from"react/jsx-runtime";const s=({path:s,name:c,classNames:l,...u})=>o(`span`,{...u,className:t(l?.icon??n(),l?.root??a()),children:o(e,{classNames:{iconRaw:l?.iconRaw?.iconRaw??r(),root:l?.iconRaw?.root??i()},path:s,name:c})});export{s as Icon};
|
|
2
2
|
//# sourceMappingURL=Icon.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.mjs","names":[],"sources":["../../../../../src/components/data-display/icons/icon/Icon.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n type IconVariantProps,\n icon,\n iconIconRaw,\n iconIconRawRoot,\n iconRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { IconRaw } from '@/components/data-display/icons/icon-raw/IconRaw';\n\nexport type IconProps = {\n name: string;\n path: string;\n classNames?: {\n icon?: string;\n root?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n} & IconVariantProps;\n\nexport const Icon = ({
|
|
1
|
+
{"version":3,"file":"Icon.mjs","names":[],"sources":["../../../../../src/components/data-display/icons/icon/Icon.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n type IconVariantProps,\n icon,\n iconIconRaw,\n iconIconRawRoot,\n iconRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { IconRaw } from '@/components/data-display/icons/icon-raw/IconRaw';\n\nexport type IconProps = Omit<ComponentPropsWithoutRef<'span'>, 'className'> & {\n name: string;\n path: string;\n classNames?: {\n icon?: string;\n root?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n} & IconVariantProps;\n\nexport const Icon = ({\n path,\n name,\n classNames,\n ...props\n}: IconProps): ReactNode => {\n return (\n <span\n {...props}\n className={cx(classNames?.icon ?? icon(), classNames?.root ?? iconRoot())}\n >\n <IconRaw\n classNames={{\n iconRaw: classNames?.iconRaw?.iconRaw ?? iconIconRaw(),\n root: classNames?.iconRaw?.root ?? iconIconRawRoot(),\n }}\n path={path}\n name={name}\n />\n </span>\n );\n};\n"],"mappings":"oPAyBA,MAAa,GAAQ,CACnB,OACA,OACA,aACA,GAAG,KAGD,EAAC,OAAD,CACE,GAAI,EACJ,UAAW,EAAG,GAAY,MAAQ,GAAM,CAAE,GAAY,MAAQ,GAAU,CAAC,UAEzE,EAAC,EAAD,CACE,WAAY,CACV,QAAS,GAAY,SAAS,SAAW,GAAa,CACtD,KAAM,GAAY,SAAS,MAAQ,GAAiB,CACrD,CACK,OACA,OACN,CAAA,CACG,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
2
2
|
|
|
3
3
|
//#region src/components/data-display/icons/icon-wrapped/IconWrapped.d.ts
|
|
4
|
-
type IconWrappedProps = {
|
|
4
|
+
type IconWrappedProps = Omit<ComponentPropsWithoutRef<'span'>, 'className'> & {
|
|
5
5
|
children: ReactNode;
|
|
6
6
|
classNames?: {
|
|
7
7
|
iconWrapped?: string;
|
|
@@ -10,7 +10,8 @@ type IconWrappedProps = {
|
|
|
10
10
|
};
|
|
11
11
|
declare const IconWrapped: ({
|
|
12
12
|
children,
|
|
13
|
-
classNames
|
|
13
|
+
classNames,
|
|
14
|
+
...props
|
|
14
15
|
}: IconWrappedProps) => ReactNode;
|
|
15
16
|
//#endregion
|
|
16
17
|
export { IconWrapped, IconWrappedProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconWrapped.d.mts","names":[],"sources":["../../../../../src/components/data-display/icons/icon-wrapped/IconWrapped.tsx"],"mappings":";;;KAMY,gBAAA;
|
|
1
|
+
{"version":3,"file":"IconWrapped.d.mts","names":[],"sources":["../../../../../src/components/data-display/icons/icon-wrapped/IconWrapped.tsx"],"mappings":";;;KAMY,gBAAA,GAAmB,IAAA,CAC7B,wBAAA;EAGA,QAAA,EAAU,SAAA;EACV,UAAA;IACE,WAAA;IACA,IAAA;EAAA;AAAA;AAAA,cAIS,WAAA;EAAe,QAAA;EAAA,UAAA;EAAA,GAAA;AAAA,GAIzB,gBAAA,KAAmB,SAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{cx as e}from"@mage-ui/styled-system/css";import{iconWrapped as t,iconWrappedRoot as n}from"@mage-ui/styled-system/recipes";import{ThemeIcon as r}from"@mantine/core";import{jsx as i}from"react/jsx-runtime";const a=({children:a,classNames:o})=>i(r,{classNames:{root:e(o?.iconWrapped??t(),o?.root??n())},component:`span`,children:a});export{a as IconWrapped};
|
|
1
|
+
import{cx as e}from"@mage-ui/styled-system/css";import{iconWrapped as t,iconWrappedRoot as n}from"@mage-ui/styled-system/recipes";import{ThemeIcon as r}from"@mantine/core";import{jsx as i}from"react/jsx-runtime";const a=({children:a,classNames:o,...s})=>i(r,{...s,classNames:{root:e(o?.iconWrapped??t(),o?.root??n())},component:`span`,children:a});export{a as IconWrapped};
|
|
2
2
|
//# sourceMappingURL=IconWrapped.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconWrapped.mjs","names":[],"sources":["../../../../../src/components/data-display/icons/icon-wrapped/IconWrapped.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { iconWrapped, iconWrappedRoot } from '@mage-ui/styled-system/recipes';\nimport { ThemeIcon } from '@mantine/core';\n\nexport type IconWrappedProps = {\n children: ReactNode;\n classNames?: {\n iconWrapped?: string;\n root?: string;\n };\n};\n\nexport const IconWrapped = ({\n children,\n classNames,\n}: IconWrappedProps): ReactNode => {\n return (\n <ThemeIcon\n classNames={{\n root: cx(\n classNames?.iconWrapped ?? iconWrapped(),\n classNames?.root ?? iconWrappedRoot(),\n ),\n }}\n component={'span'}\n >\n {children}\n </ThemeIcon>\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"IconWrapped.mjs","names":[],"sources":["../../../../../src/components/data-display/icons/icon-wrapped/IconWrapped.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { iconWrapped, iconWrappedRoot } from '@mage-ui/styled-system/recipes';\nimport { ThemeIcon } from '@mantine/core';\n\nexport type IconWrappedProps = Omit<\n ComponentPropsWithoutRef<'span'>,\n 'className'\n> & {\n children: ReactNode;\n classNames?: {\n iconWrapped?: string;\n root?: string;\n };\n};\n\nexport const IconWrapped = ({\n children,\n classNames,\n ...props\n}: IconWrappedProps): ReactNode => {\n return (\n <ThemeIcon\n {...props}\n classNames={{\n root: cx(\n classNames?.iconWrapped ?? iconWrapped(),\n classNames?.root ?? iconWrappedRoot(),\n ),\n }}\n component={'span'}\n >\n {children}\n </ThemeIcon>\n );\n};\n"],"mappings":"oNAiBA,MAAa,GAAe,CAC1B,WACA,aACA,GAAG,KAGD,EAAC,EAAD,CACE,GAAI,EACJ,WAAY,CACV,KAAM,EACJ,GAAY,aAAe,GAAa,CACxC,GAAY,MAAQ,GAAiB,CACtC,CACF,CACD,UAAW,OAEV,WACS,CAAA"}
|
|
@@ -19,6 +19,7 @@ import { DataTableFeedback } from "./datatables/DataTableFeedback.mjs";
|
|
|
19
19
|
import { DataTableTopSlot, DataTableTopSlotProps } from "./datatables/DataTableTopSlot.mjs";
|
|
20
20
|
import { ColumnDef, ExpandedState, PaginationState, RowSelectionState, SortingState } from "./datatables/index.mjs";
|
|
21
21
|
import { DescriptionList, DescriptionListClassNames, DescriptionListItemProps, DescriptionListProps } from "./description-list/DescriptionList.mjs";
|
|
22
|
+
import { Details, DetailsProps } from "./details/Details.mjs";
|
|
22
23
|
import { FileIcon, FileIconProps } from "./file-icon/FileIcon.mjs";
|
|
23
24
|
import { DocumentItem, DocumentItemProps } from "./document-item/DocumentItem.mjs";
|
|
24
25
|
import { Icon, IconProps } from "./icons/icon/Icon.mjs";
|
|
@@ -2,5 +2,7 @@ import { FileMetadata, FormDropzoneS3Props, UploadTarget } from "./controls/Form
|
|
|
2
2
|
import { Form, FormProps } from "./Form.mjs";
|
|
3
3
|
import { FormS3Context, FormS3ContextValue, S3UploadCallback, useFormS3Context } from "./FormS3Context.mjs";
|
|
4
4
|
import { Fieldset, FieldsetProps } from "./layout/Fieldset.mjs";
|
|
5
|
+
import { MultiStepFormProps, RequestResponse, Schema, SchemaProps } from "./multi-step/parser/Schema.mjs";
|
|
6
|
+
import { MultiForm, MultiFormProps } from "./multi-step/MultiForm.mjs";
|
|
5
7
|
import { PASSWORD_RULES } from "./rules/password-rules.mjs";
|
|
6
8
|
import { z } from "./rules/zod.mjs";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { StepperProps } from "../../navigations/stepper/Stepper.mjs";
|
|
2
|
+
import { SchemaProps } from "./parser/Schema.mjs";
|
|
3
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
+
import { ComponentType } from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/forms/multi-step/MultiForm.d.ts
|
|
7
|
+
type MultiFormProps = {
|
|
8
|
+
name: string;
|
|
9
|
+
schema: SchemaProps[];
|
|
10
|
+
Success: ComponentType<{
|
|
11
|
+
values: Partial<unknown>;
|
|
12
|
+
}>;
|
|
13
|
+
Loading: ComponentType;
|
|
14
|
+
classNames?: {
|
|
15
|
+
root?: string;
|
|
16
|
+
};
|
|
17
|
+
stepperProps?: Omit<StepperProps, 'children' | 'active'>;
|
|
18
|
+
};
|
|
19
|
+
declare const MultiForm: ({
|
|
20
|
+
name,
|
|
21
|
+
schema,
|
|
22
|
+
Success,
|
|
23
|
+
Loading,
|
|
24
|
+
classNames,
|
|
25
|
+
stepperProps
|
|
26
|
+
}: MultiFormProps) => react_jsx_runtime0.JSX.Element;
|
|
27
|
+
//#endregion
|
|
28
|
+
export { MultiForm, MultiFormProps };
|
|
29
|
+
//# sourceMappingURL=MultiForm.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiForm.d.mts","names":[],"sources":["../../../../src/components/forms/multi-step/MultiForm.tsx"],"mappings":";;;;;;KAUY,cAAA;EACV,IAAA;EACA,MAAA,EAAQ,WAAA;EACR,OAAA,EAAS,aAAA;IAAgB,MAAA,EAAQ,OAAA;EAAA;EACjC,OAAA,EAAS,aAAA;EACT,UAAA;IAAe,IAAA;EAAA;EACf,YAAA,GAAe,IAAA,CAAK,YAAA;AAAA;AAAA,cAGT,SAAA;EAAa,IAAA;EAAA,MAAA;EAAA,OAAA;EAAA,OAAA;EAAA,UAAA;EAAA;AAAA,GAOvB,cAAA,KAAc,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{NoSsr as e}from"../../../utils/NoSsr.mjs";import{storage as t}from"./parser/utils/use-local-storage.mjs";import{Schemas as n}from"./parser/Schemas.mjs";import{jsx as r}from"react/jsx-runtime";import{useCallback as i,useState as a}from"react";import{Formity as o}from"@formity/react";const s=({name:s,schema:c,Success:l,Loading:u,classNames:d,stepperProps:f})=>{let[p,m]=a(!1),[h,g]=a({}),_=i(e=>{g({...h,...e})},[h]),v=i(()=>{m(!0)},[]);if(p)return t.set(s,{}),r(l,{values:h});let y=new n(s,c,t.get(s,{}),d,f);return r(e,{fallback:r(u,{}),children:r(o,{schema:y.toRender(),params:{fields:h,onChange:_,onSubmit:v},initialState:y.currentState(),onReturn:v})})};export{s as MultiForm};
|
|
2
|
+
//# sourceMappingURL=MultiForm.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiForm.mjs","names":[],"sources":["../../../../src/components/forms/multi-step/MultiForm.tsx"],"sourcesContent":["import { type ComponentType, useCallback, useState } from 'react';\n\nimport { Formity } from '@formity/react';\n\nimport { NoSsr } from '../../../utils/NoSsr';\nimport type { StepperProps } from '../../navigations/stepper/Stepper';\nimport type { SchemaProps } from './parser/Schema';\nimport { Schemas } from './parser/Schemas';\nimport { storage } from './parser/utils/use-local-storage';\n\nexport type MultiFormProps = {\n name: string;\n schema: SchemaProps[];\n Success: ComponentType<{ values: Partial<unknown> }>;\n Loading: ComponentType;\n classNames?: { root?: string };\n stepperProps?: Omit<StepperProps, 'children' | 'active'>;\n};\n\nexport const MultiForm = ({\n name,\n schema,\n Success,\n Loading,\n classNames,\n stepperProps,\n}: MultiFormProps) => {\n const [submitted, setSubmitted] = useState(false);\n const [fields, setFields] = useState({});\n\n const onChange = useCallback(\n (values: Partial<unknown>) => {\n setFields({ ...fields, ...values });\n },\n [fields],\n );\n\n const onSubmit = useCallback(() => {\n setSubmitted(true);\n }, []);\n\n if (submitted) {\n storage.set(name, {});\n return <Success values={fields} />;\n }\n\n const schemaObj = new Schemas(\n name,\n schema,\n storage.get(name, {}),\n classNames,\n stepperProps,\n );\n\n return (\n <NoSsr fallback={<Loading />}>\n <Formity\n schema={schemaObj.toRender()}\n params={{ fields, onChange, onSubmit }}\n initialState={schemaObj.currentState()}\n onReturn={onSubmit}\n />\n </NoSsr>\n );\n};\n\n// TODO: exportar component i subcomponet Multiform i dins MultiForm.Step > Form\n"],"mappings":"kSAmBA,MAAa,GAAa,CACxB,OACA,SACA,UACA,UACA,aACA,kBACoB,CACpB,GAAM,CAAC,EAAW,GAAgB,EAAS,GAAM,CAC3C,CAAC,EAAQ,GAAa,EAAS,EAAE,CAAC,CAElC,EAAW,EACd,GAA6B,CAC5B,EAAU,CAAE,GAAG,EAAQ,GAAG,EAAQ,CAAC,EAErC,CAAC,EAAO,CACT,CAEK,EAAW,MAAkB,CACjC,EAAa,GAAK,EACjB,EAAE,CAAC,CAEN,GAAI,EAEF,OADA,EAAQ,IAAI,EAAM,EAAE,CAAC,CACd,EAAC,EAAD,CAAS,OAAQ,EAAU,CAAA,CAGpC,IAAM,EAAY,IAAI,EACpB,EACA,EACA,EAAQ,IAAI,EAAM,EAAE,CAAC,CACrB,EACA,EACD,CAED,OACE,EAAC,EAAD,CAAO,SAAU,EAAC,EAAD,EAAW,CAAA,UAC1B,EAAC,EAAD,CACE,OAAQ,EAAU,UAAU,CAC5B,OAAQ,CAAE,SAAQ,WAAU,WAAU,CACtC,aAAc,EAAU,cAAc,CACtC,SAAU,EACV,CAAA,CACI,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { StepperProps } from "../../navigations/stepper/Stepper.mjs";
|
|
2
|
+
import { ComponentType } from "react";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { GetState, OnBack, OnNext, SetState } from "@formity/react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/forms/multi-step/Step.d.ts
|
|
7
|
+
type Props = {
|
|
8
|
+
values: object;
|
|
9
|
+
rules: z.ZodType;
|
|
10
|
+
step: {
|
|
11
|
+
current: number;
|
|
12
|
+
total: number;
|
|
13
|
+
};
|
|
14
|
+
steps: {
|
|
15
|
+
label: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
}[];
|
|
18
|
+
onBack: OnBack;
|
|
19
|
+
onNext: OnNext;
|
|
20
|
+
getState: GetState;
|
|
21
|
+
setState: SetState;
|
|
22
|
+
onWatch: (values: Record<string, unknown>) => void;
|
|
23
|
+
goTo: (step: number) => void;
|
|
24
|
+
onEnter: () => void;
|
|
25
|
+
classNames?: {
|
|
26
|
+
root?: string;
|
|
27
|
+
};
|
|
28
|
+
stepperProps?: Omit<StepperProps, 'children' | 'active'>;
|
|
29
|
+
Component: ComponentType<{
|
|
30
|
+
defaultValues: object;
|
|
31
|
+
rules: z.ZodType;
|
|
32
|
+
step: {
|
|
33
|
+
current: number;
|
|
34
|
+
total: number;
|
|
35
|
+
};
|
|
36
|
+
onBack: OnBack;
|
|
37
|
+
onNext: OnNext;
|
|
38
|
+
getState: GetState;
|
|
39
|
+
setState: SetState;
|
|
40
|
+
onWatch: (values: Record<string, unknown>) => void;
|
|
41
|
+
goTo: (step: number) => void;
|
|
42
|
+
}>;
|
|
43
|
+
};
|
|
44
|
+
//#endregion
|
|
45
|
+
export { Props };
|
|
46
|
+
//# sourceMappingURL=Step.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Step.d.mts","names":[],"sources":["../../../../src/components/forms/multi-step/Step.tsx"],"mappings":";;;;;;KAkBY,KAAA;EACV,MAAA;EACA,KAAA,EAAO,CAAA,CAAE,OAAA;EACT,IAAA;IAAQ,OAAA;IAAiB,KAAA;EAAA;EACzB,KAAA;IAAS,KAAA;IAAe,WAAA;EAAA;EACxB,MAAA,EAAQ,MAAA;EACR,MAAA,EAAQ,MAAA;EACR,QAAA,EAAU,QAAA;EACV,QAAA,EAAU,QAAA;EACV,OAAA,GAAU,MAAA,EAAQ,MAAA;EAClB,IAAA,GAAO,IAAA;EACP,OAAA;EACA,UAAA;IAAe,IAAA;EAAA;EACf,YAAA,GAAe,IAAA,CAAK,YAAA;EACpB,SAAA,EAAW,aAAA;IACT,aAAA;IACA,KAAA,EAAO,CAAA,CAAE,OAAA;IACT,IAAA;MAAQ,OAAA;MAAiB,KAAA;IAAA;IACzB,MAAA,EAAQ,MAAA;IACR,MAAA,EAAQ,MAAA;IACR,QAAA,EAAU,QAAA;IACV,QAAA,EAAU,QAAA;IACV,OAAA,GAAU,MAAA,EAAQ,MAAA;IAClB,IAAA,GAAO,IAAA;EAAA;AAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Stepper as e}from"../../navigations/stepper/Stepper.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{multiForm as n,multiFormRoot as r}from"@mage-ui/styled-system/recipes";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{createContext as o,useMemo as s}from"react";const c=o(null),l=({values:o,rules:l,step:u,steps:d,onBack:f,onNext:p,getState:m,setState:h,onWatch:g,goTo:_,onEnter:v,classNames:y,stepperProps:b,Component:x,...S})=>{let C=s(()=>({onNext:p,onBack:f,getState:m,setState:h,onWatch:g,onEnter:v,goTo:_,step:u}),[p,f,m,h,g,v,_,u]);return v(),i(c.Provider,{value:C,children:a(`div`,{className:t(n(),y?.root??r()),children:[i(e,{allowNextStepsSelect:!1,...b,onStepClick:b?.onStepClick??(e=>_(e+1)),active:u.current-1,children:d.map(t=>i(e.Step,{label:t.label,description:t.description},t.label))}),i(x,{defaultValues:o,rules:l,...C,...S})]})})};export{l as Step};
|
|
2
|
+
//# sourceMappingURL=Step.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Step.mjs","names":[],"sources":["../../../../src/components/forms/multi-step/Step.tsx"],"sourcesContent":["import { type ComponentType, createContext, useMemo } from 'react';\nimport type { z } from 'zod';\n\nimport type { GetState, OnBack, OnNext, SetState } from '@formity/react';\nimport { cx } from '@mage-ui/styled-system/css';\nimport { multiForm, multiFormRoot } from '@mage-ui/styled-system/recipes';\n\nimport { Stepper, type StepperProps } from '../../navigations/stepper/Stepper';\n\ntype MultiFormValue = {\n onNext: OnNext;\n onBack: OnBack;\n getState: GetState;\n setState: SetState;\n};\n\nconst MultiFormContext = createContext<MultiFormValue | null>(null);\n\nexport type Props = {\n values: object;\n rules: z.ZodType;\n step: { current: number; total: number };\n steps: { label: string; description?: string }[];\n onBack: OnBack;\n onNext: OnNext;\n getState: GetState;\n setState: SetState;\n onWatch: (values: Record<string, unknown>) => void;\n goTo: (step: number) => void;\n onEnter: () => void;\n classNames?: { root?: string };\n stepperProps?: Omit<StepperProps, 'children' | 'active'>;\n Component: ComponentType<{\n defaultValues: object;\n rules: z.ZodType;\n step: { current: number; total: number };\n onBack: OnBack;\n onNext: OnNext;\n getState: GetState;\n setState: SetState;\n onWatch: (values: Record<string, unknown>) => void;\n goTo: (step: number) => void;\n }>;\n};\n\nexport const Step = ({\n values,\n rules,\n step,\n steps,\n onBack,\n onNext,\n getState,\n setState,\n onWatch,\n goTo,\n onEnter,\n classNames,\n stepperProps,\n Component,\n ...props\n}: Props) => {\n const value = useMemo(\n () => ({\n onNext,\n onBack,\n getState,\n setState,\n onWatch,\n onEnter,\n goTo,\n step,\n }),\n [onNext, onBack, getState, setState, onWatch, onEnter, goTo, step],\n );\n onEnter();\n return (\n <MultiFormContext.Provider value={value}>\n <div className={cx(multiForm(), classNames?.root ?? multiFormRoot())}>\n <Stepper\n allowNextStepsSelect={false}\n {...stepperProps}\n onStepClick={\n stepperProps?.onStepClick ?? ((index: number) => goTo(index + 1))\n }\n active={step.current - 1}\n >\n {steps.map((s) => (\n <Stepper.Step\n key={s.label}\n label={s.label}\n description={s.description}\n />\n ))}\n </Stepper>\n <Component defaultValues={values} rules={rules} {...value} {...props} />\n </div>\n </MultiFormContext.Provider>\n );\n};\n"],"mappings":"mSAgBA,MAAM,EAAmB,EAAqC,KAAK,CA6BtD,GAAQ,CACnB,SACA,QACA,OACA,QACA,SACA,SACA,WACA,WACA,UACA,OACA,UACA,aACA,eACA,YACA,GAAG,KACQ,CACX,IAAM,EAAQ,OACL,CACL,SACA,SACA,WACA,WACA,UACA,UACA,OACA,OACD,EACD,CAAC,EAAQ,EAAQ,EAAU,EAAU,EAAS,EAAS,EAAM,EAAK,CACnE,CAED,OADA,GAAS,CAEP,EAAC,EAAiB,SAAlB,CAAkC,iBAChC,EAAC,MAAD,CAAK,UAAW,EAAG,GAAW,CAAE,GAAY,MAAQ,GAAe,CAAC,UAApE,CACE,EAAC,EAAD,CACE,qBAAsB,GACtB,GAAI,EACJ,YACE,GAAc,cAAiB,GAAkB,EAAK,EAAQ,EAAE,EAElE,OAAQ,EAAK,QAAU,WAEtB,EAAM,IAAK,GACV,EAAC,EAAQ,KAAT,CAEE,MAAO,EAAE,MACT,YAAa,EAAE,YACf,CAHK,EAAE,MAGP,CACF,CACM,CAAA,CACV,EAAC,EAAD,CAAW,cAAe,EAAe,QAAO,GAAI,EAAO,GAAI,EAAS,CAAA,CACpE,GACoB,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { GetState, OnBack, OnNext, SetState, State } from "@formity/react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/forms/multi-step/parser/Form.d.ts
|
|
5
|
+
type ZodSchema = z.ZodType;
|
|
6
|
+
type StatesProps = {
|
|
7
|
+
state: State;
|
|
8
|
+
check: ZodSchema;
|
|
9
|
+
};
|
|
10
|
+
type States = {
|
|
11
|
+
step: number;
|
|
12
|
+
states: StatesProps[];
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { States };
|
|
16
|
+
//# sourceMappingURL=Form.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Form.d.mts","names":[],"sources":["../../../../../src/components/forms/multi-step/parser/Form.tsx"],"mappings":";;;;KAWK,SAAA,GAAY,CAAA,CAAE,OAAA;AAAA,KA4BP,WAAA;EACV,KAAA,EAAO,KAAA;EACP,KAAA,EAAO,SAAA;AAAA;AAAA,KAGG,MAAA;EACV,IAAA;EACA,MAAA,EAAQ,WAAA;AAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Step as e}from"../Step.mjs";import{extractFields as t}from"./utils/extract-fields.mjs";import{extractValues as n}from"./utils/extract-values.mjs";import{replaceValues as r}from"./utils/replace-in-state.mjs";import{storage as i}from"./utils/use-local-storage.mjs";import{jsx as a}from"react/jsx-runtime";import{z as o}from"zod";function s(e){if(e instanceof o.ZodObject)return e.shape;if(e instanceof o.ZodPipe)return s(e.in);let t=e.unwrap;return typeof t==`function`?s(t.call(e)):{}}var c=class{values;name;rules;component;step;states;steps;classNames;stepperProps;constructor(e,n,r,i,a,o,s){this.values=t(n.rules),this.name=e,this.rules=n.rules,this.component=n.form,this.step=r,this.states=i,this.steps=a,this.classNames=o,this.stepperProps=s,this.fixState(this.states.states[r.current-1].state)}toRender(){return{form:{values:()=>this.values,render:({values:t,getState:o,setState:s,onBack:c,onNext:l,params:{fields:u,onChange:d},...f})=>{let p=n(this.states.states[this.step.current-1].state),m=Object.assign({},p,u);return a(e,{values:m,rules:this.rules,step:this.step,steps:this.steps,getState:o,setState:s,onNext:e=>{let t=Object.assign({},m,e);d(t),this.updateState(o(t),this.step.current+1),l(t)},onBack:()=>{d(m),this.updateState(o(m),this.step.current-1),c(m)},onWatch:e=>{d(e),this.states=r(this.states,e),s(this.fixState(this.states.states[this.step.current-1].state)),i.set(this.name,this.states)},onEnter:()=>{this.updateState(o(m),this.step.current)},goTo:e=>{this.updateState(o(m),e),s(this.fixState(this.states.states[e-1].state))},Component:this.component,classNames:this.classNames,stepperProps:this.stepperProps,...f})}}}}fixState(e){if(e.inputs.list.length===0)return e;let t=Number.parseInt(Object.keys(e.inputs.list)[this.step.current-1]);Number.isNaN(t)&&(t=(this.step.current-1)*2);let n=s(this.rules),r=Object.keys(n||{}),i=Object.keys(e.inputs.list[t]||[]);for(let n of r)i.includes(n)||(e.inputs.list[t]===void 0&&(e.inputs.list[t]={}),e.inputs.list[t][n]={data:{data:void 0}});return e}updateState(e,t){t<=this.states.states.length&&t>0&&(this.states.step=t,this.states.states[this.step.current-1].state=e,i.set(this.name,this.states))}getRules(){return this.rules}};export{c as Form};
|
|
2
|
+
//# sourceMappingURL=Form.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Form.mjs","names":[],"sources":["../../../../../src/components/forms/multi-step/parser/Form.tsx"],"sourcesContent":["import { z } from 'zod';\n\nimport type { GetState, OnBack, OnNext, SetState, State } from '@formity/react';\n\nimport { Step, type Props as StepProps } from '../Step';\nimport type { SchemaProps } from './Schema';\nimport { extractFields } from './utils/extract-fields';\nimport { extractValues } from './utils/extract-values';\nimport { replaceValues } from './utils/replace-in-state';\nimport { storage } from './utils/use-local-storage';\n\ntype ZodSchema = z.ZodType;\n\nfunction getSchemaShape(schema: ZodSchema): Record<string, z.ZodTypeAny> {\n if (schema instanceof z.ZodObject) {\n return schema.shape;\n }\n if (schema instanceof z.ZodPipe) {\n return getSchemaShape(schema.in as ZodSchema);\n }\n const unwrap = (schema as { unwrap?: () => ZodSchema }).unwrap;\n if (typeof unwrap === 'function') {\n return getSchemaShape(unwrap.call(schema));\n }\n return {};\n}\n\ntype Render = {\n values: object;\n getState: GetState;\n setState: SetState;\n onBack: OnBack;\n onNext: OnNext;\n params: {\n fields: Record<string, unknown>;\n onChange: (values: Record<string, unknown>) => void;\n };\n};\n\nexport type StatesProps = {\n state: State;\n check: ZodSchema;\n};\n\nexport type States = {\n step: number;\n states: StatesProps[];\n};\n\nexport class Form {\n private values;\n private name;\n private rules: ZodSchema;\n private component;\n private step;\n private states;\n private steps;\n private classNames;\n private stepperProps;\n\n constructor(\n name: string,\n schema: SchemaProps,\n step: { current: number; total: number },\n states: States,\n steps: { label: string; description?: string }[],\n classNames?: StepProps['classNames'],\n stepperProps?: StepProps['stepperProps'],\n ) {\n this.values = extractFields(schema.rules);\n this.name = name;\n this.rules = schema.rules;\n this.component = schema.form;\n this.step = step;\n this.states = states;\n this.steps = steps;\n this.classNames = classNames;\n this.stepperProps = stepperProps;\n this.fixState(this.states.states[step.current - 1].state);\n }\n\n toRender() {\n return {\n form: {\n values: () => this.values,\n render: ({\n values,\n getState,\n setState,\n onBack,\n onNext,\n params: { fields, onChange },\n ...props\n }: Render) => {\n const realValues = extractValues(\n this.states.states[this.step.current - 1].state,\n );\n const formValues = Object.assign({}, realValues, fields);\n\n return (\n <Step\n values={formValues}\n rules={this.rules}\n step={this.step}\n steps={this.steps}\n getState={getState}\n setState={setState}\n onNext={(nextValues?: object) => {\n const merged = Object.assign({}, formValues, nextValues);\n onChange(merged);\n this.updateState(getState(merged), this.step.current + 1);\n onNext(merged);\n }}\n onBack={() => {\n onChange(formValues);\n this.updateState(getState(formValues), this.step.current - 1);\n onBack(formValues);\n }}\n onWatch={(val: Record<string, unknown>) => {\n onChange(val);\n this.states = replaceValues(this.states, val);\n setState(\n this.fixState(\n this.states.states[this.step.current - 1].state,\n ),\n );\n storage.set(this.name, this.states);\n }}\n onEnter={() => {\n this.updateState(getState(formValues), this.step.current);\n }}\n goTo={(step: number) => {\n this.updateState(getState(formValues), step);\n setState(this.fixState(this.states.states[step - 1].state));\n }}\n Component={this.component}\n classNames={this.classNames}\n stepperProps={this.stepperProps}\n {...props}\n />\n );\n },\n },\n };\n }\n\n private fixState(state: State) {\n if ((state.inputs.list as []).length === 0) {\n return state;\n }\n\n let formIndex = Number.parseInt(\n Object.keys(state.inputs.list)[this.step.current - 1],\n );\n if (Number.isNaN(formIndex)) {\n formIndex = (this.step.current - 1) * 2;\n }\n\n const shape = getSchemaShape(this.rules);\n\n const keys = Object.keys(shape || {});\n const fields = Object.keys(state.inputs.list[formIndex] || []);\n for (const key of keys) {\n if (!fields.includes(key)) {\n if (state.inputs.list[formIndex] === undefined) {\n state.inputs.list[formIndex] = {};\n }\n\n (\n state.inputs.list[formIndex] as Record<\n string,\n { data: { data: unknown } }\n >\n )[key] = {\n data: { data: undefined },\n };\n }\n }\n\n return state;\n }\n\n private updateState(state: State, step: number) {\n if (step <= this.states.states.length && step > 0) {\n this.states.step = step;\n this.states.states[this.step.current - 1].state = state;\n storage.set(this.name, this.states);\n }\n }\n\n getRules() {\n return this.rules;\n }\n}\n"],"mappings":"8UAaA,SAAS,EAAe,EAAiD,CACvE,GAAI,aAAkB,EAAE,UACtB,OAAO,EAAO,MAEhB,GAAI,aAAkB,EAAE,QACtB,OAAO,EAAe,EAAO,GAAgB,CAE/C,IAAM,EAAU,EAAwC,OAIxD,OAHI,OAAO,GAAW,WACb,EAAe,EAAO,KAAK,EAAO,CAAC,CAErC,EAAE,CAyBX,IAAa,EAAb,KAAkB,CAChB,OACA,KACA,MACA,UACA,KACA,OACA,MACA,WACA,aAEA,YACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACA,KAAK,OAAS,EAAc,EAAO,MAAM,CACzC,KAAK,KAAO,EACZ,KAAK,MAAQ,EAAO,MACpB,KAAK,UAAY,EAAO,KACxB,KAAK,KAAO,EACZ,KAAK,OAAS,EACd,KAAK,MAAQ,EACb,KAAK,WAAa,EAClB,KAAK,aAAe,EACpB,KAAK,SAAS,KAAK,OAAO,OAAO,EAAK,QAAU,GAAG,MAAM,CAG3D,UAAW,CACT,MAAO,CACL,KAAM,CACJ,WAAc,KAAK,OACnB,QAAS,CACP,SACA,WACA,WACA,SACA,SACA,OAAQ,CAAE,SAAQ,YAClB,GAAG,KACS,CACZ,IAAM,EAAa,EACjB,KAAK,OAAO,OAAO,KAAK,KAAK,QAAU,GAAG,MAC3C,CACK,EAAa,OAAO,OAAO,EAAE,CAAE,EAAY,EAAO,CAExD,OACE,EAAC,EAAD,CACE,OAAQ,EACR,MAAO,KAAK,MACZ,KAAM,KAAK,KACX,MAAO,KAAK,MACF,WACA,WACV,OAAS,GAAwB,CAC/B,IAAM,EAAS,OAAO,OAAO,EAAE,CAAE,EAAY,EAAW,CACxD,EAAS,EAAO,CAChB,KAAK,YAAY,EAAS,EAAO,CAAE,KAAK,KAAK,QAAU,EAAE,CACzD,EAAO,EAAO,EAEhB,WAAc,CACZ,EAAS,EAAW,CACpB,KAAK,YAAY,EAAS,EAAW,CAAE,KAAK,KAAK,QAAU,EAAE,CAC7D,EAAO,EAAW,EAEpB,QAAU,GAAiC,CACzC,EAAS,EAAI,CACb,KAAK,OAAS,EAAc,KAAK,OAAQ,EAAI,CAC7C,EACE,KAAK,SACH,KAAK,OAAO,OAAO,KAAK,KAAK,QAAU,GAAG,MAC3C,CACF,CACD,EAAQ,IAAI,KAAK,KAAM,KAAK,OAAO,EAErC,YAAe,CACb,KAAK,YAAY,EAAS,EAAW,CAAE,KAAK,KAAK,QAAQ,EAE3D,KAAO,GAAiB,CACtB,KAAK,YAAY,EAAS,EAAW,CAAE,EAAK,CAC5C,EAAS,KAAK,SAAS,KAAK,OAAO,OAAO,EAAO,GAAG,MAAM,CAAC,EAE7D,UAAW,KAAK,UAChB,WAAY,KAAK,WACjB,aAAc,KAAK,aACnB,GAAI,EACJ,CAAA,EAGP,CACF,CAGH,SAAiB,EAAc,CAC7B,GAAK,EAAM,OAAO,KAAY,SAAW,EACvC,OAAO,EAGT,IAAI,EAAY,OAAO,SACrB,OAAO,KAAK,EAAM,OAAO,KAAK,CAAC,KAAK,KAAK,QAAU,GACpD,CACG,OAAO,MAAM,EAAU,GACzB,GAAa,KAAK,KAAK,QAAU,GAAK,GAGxC,IAAM,EAAQ,EAAe,KAAK,MAAM,CAElC,EAAO,OAAO,KAAK,GAAS,EAAE,CAAC,CAC/B,EAAS,OAAO,KAAK,EAAM,OAAO,KAAK,IAAc,EAAE,CAAC,CAC9D,IAAK,IAAM,KAAO,EACX,EAAO,SAAS,EAAI,GACnB,EAAM,OAAO,KAAK,KAAe,IAAA,KACnC,EAAM,OAAO,KAAK,GAAa,EAAE,EAIjC,EAAM,OAAO,KAAK,GAIlB,GAAO,CACP,KAAM,CAAE,KAAM,IAAA,GAAW,CAC1B,EAIL,OAAO,EAGT,YAAoB,EAAc,EAAc,CAC1C,GAAQ,KAAK,OAAO,OAAO,QAAU,EAAO,IAC9C,KAAK,OAAO,KAAO,EACnB,KAAK,OAAO,OAAO,KAAK,KAAK,QAAU,GAAG,MAAQ,EAClD,EAAQ,IAAI,KAAK,KAAM,KAAK,OAAO,EAIvC,UAAW,CACT,OAAO,KAAK"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Result.mjs","names":[],"sources":["../../../../../src/components/forms/multi-step/parser/Result.ts"],"sourcesContent":["export class Result {\n toRender() {\n return {\n return: (values: unknown) => values,\n };\n }\n}\n"],"mappings":"AAAA,IAAa,EAAb,KAAoB,CAClB,UAAW,CACT,MAAO,CACL,OAAS,GAAoB,EAC9B"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { Props } from "../Step.mjs";
|
|
2
|
+
import { States } from "./Form.mjs";
|
|
3
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
+
import { ComponentType } from "react";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { GetState, OnBack, OnNext, SetState } from "@formity/react";
|
|
7
|
+
|
|
8
|
+
//#region src/components/forms/multi-step/parser/Schema.d.ts
|
|
9
|
+
type RequestResponse = {
|
|
10
|
+
status: number;
|
|
11
|
+
data: unknown;
|
|
12
|
+
redirected: boolean;
|
|
13
|
+
url: string;
|
|
14
|
+
};
|
|
15
|
+
type MultiStepFormProps = {
|
|
16
|
+
defaultValues: object;
|
|
17
|
+
rules: z.ZodType;
|
|
18
|
+
step: {
|
|
19
|
+
current: number;
|
|
20
|
+
total: number;
|
|
21
|
+
};
|
|
22
|
+
initialErrors?: Record<string, string>;
|
|
23
|
+
onError?: (response: RequestResponse) => void;
|
|
24
|
+
getState: GetState;
|
|
25
|
+
setState: SetState;
|
|
26
|
+
onBack: OnBack;
|
|
27
|
+
onNext: OnNext;
|
|
28
|
+
goTo: (step: number) => void;
|
|
29
|
+
onWatch: (values: Record<string, unknown>) => void;
|
|
30
|
+
};
|
|
31
|
+
type SchemaProps = {
|
|
32
|
+
name: string;
|
|
33
|
+
rules: z.ZodType;
|
|
34
|
+
form: ComponentType<MultiStepFormProps>;
|
|
35
|
+
label?: string;
|
|
36
|
+
description?: string;
|
|
37
|
+
};
|
|
38
|
+
declare class Schema {
|
|
39
|
+
private form;
|
|
40
|
+
private yield;
|
|
41
|
+
constructor(name: string, schema: SchemaProps, step: {
|
|
42
|
+
current: number;
|
|
43
|
+
total: number;
|
|
44
|
+
}, states: States, steps: {
|
|
45
|
+
label: string;
|
|
46
|
+
description?: string;
|
|
47
|
+
}[], classNames?: Props['classNames'], stepperProps?: Props['stepperProps']);
|
|
48
|
+
getRules(): z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
49
|
+
toRender(): ({
|
|
50
|
+
form: {
|
|
51
|
+
values: () => {
|
|
52
|
+
[key: string]: [unknown, unknown[]];
|
|
53
|
+
}[];
|
|
54
|
+
render: ({
|
|
55
|
+
values,
|
|
56
|
+
getState,
|
|
57
|
+
setState,
|
|
58
|
+
onBack,
|
|
59
|
+
onNext,
|
|
60
|
+
params: {
|
|
61
|
+
fields,
|
|
62
|
+
onChange
|
|
63
|
+
},
|
|
64
|
+
...props
|
|
65
|
+
}: {
|
|
66
|
+
values: object;
|
|
67
|
+
getState: GetState;
|
|
68
|
+
setState: SetState;
|
|
69
|
+
onBack: OnBack;
|
|
70
|
+
onNext: OnNext;
|
|
71
|
+
params: {
|
|
72
|
+
fields: Record<string, unknown>;
|
|
73
|
+
onChange: (values: Record<string, unknown>) => void;
|
|
74
|
+
};
|
|
75
|
+
}) => react_jsx_runtime0.JSX.Element;
|
|
76
|
+
};
|
|
77
|
+
} | {
|
|
78
|
+
yield: {
|
|
79
|
+
next: (props: unknown) => {
|
|
80
|
+
type: string;
|
|
81
|
+
data: unknown;
|
|
82
|
+
}[];
|
|
83
|
+
back: (props: unknown) => {
|
|
84
|
+
type: string;
|
|
85
|
+
data: unknown;
|
|
86
|
+
}[];
|
|
87
|
+
};
|
|
88
|
+
})[];
|
|
89
|
+
}
|
|
90
|
+
//#endregion
|
|
91
|
+
export { MultiStepFormProps, RequestResponse, Schema, SchemaProps };
|
|
92
|
+
//# sourceMappingURL=Schema.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.d.mts","names":[],"sources":["../../../../../src/components/forms/multi-step/parser/Schema.ts"],"mappings":";;;;;;;;KASY,eAAA;EACV,MAAA;EACA,IAAA;EACA,UAAA;EACA,GAAA;AAAA;AAAA,KAGU,kBAAA;EACV,aAAA;EACA,KAAA,EAAO,CAAA,CAAE,OAAA;EACT,IAAA;IAAQ,OAAA;IAAiB,KAAA;EAAA;EACzB,aAAA,GAAgB,MAAA;EAChB,OAAA,IAAW,QAAA,EAAU,eAAA;EACrB,QAAA,EAAU,QAAA;EACV,QAAA,EAAU,QAAA;EACV,MAAA,EAAQ,MAAA;EACR,MAAA,EAAQ,MAAA;EACR,IAAA,GAAO,IAAA;EACP,OAAA,GAAU,MAAA,EAAQ,MAAA;AAAA;AAAA,KAGR,WAAA;EACV,IAAA;EACA,KAAA,EAAO,CAAA,CAAE,OAAA;EACT,IAAA,EAAM,aAAA,CAAc,kBAAA;EACpB,KAAA;EACA,WAAA;AAAA;AAAA,cAGW,MAAA;EAAA,QACH,IAAA;EAAA,QACA,KAAA;cAGN,IAAA,UACA,MAAA,EAAQ,WAAA,EACR,IAAA;IAAQ,OAAA;IAAiB,KAAA;EAAA,GACzB,MAAA,EAAQ,MAAA,EACR,KAAA;IAAS,KAAA;IAAe,WAAA;EAAA,KACxB,UAAA,GAAa,KAAA,gBACb,YAAA,GAAe,KAAA;EAcjB,QAAA,CAAA,GAAQ,CAAA,CAAA,OAAA,mBAAA,CAAA,CAAA,IAAA,CAAA,iBAAA;EAIR,QAAA,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Form as e}from"./Form.mjs";import{Yield as t}from"./Yield.mjs";var n=class{form;yield;constructor(n,r,i,a,o,s,c){this.form=new e(n,r,i,a,o,s,c),this.yield=new t}getRules(){return this.form.getRules()}toRender(){return[this.form.toRender(),this.yield.toRender()]}};export{n as Schema};
|
|
2
|
+
//# sourceMappingURL=Schema.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.mjs","names":[],"sources":["../../../../../src/components/forms/multi-step/parser/Schema.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type { z } from 'zod';\n\nimport type { GetState, OnBack, OnNext, SetState } from '@formity/react';\n\nimport type { Props as StepProps } from '../Step';\nimport { Form, type States } from './Form';\nimport { Yield } from './Yield';\n\nexport type RequestResponse = {\n status: number;\n data: unknown;\n redirected: boolean;\n url: string;\n};\n\nexport type MultiStepFormProps = {\n defaultValues: object;\n rules: z.ZodType;\n step: { current: number; total: number };\n initialErrors?: Record<string, string>;\n onError?: (response: RequestResponse) => void;\n getState: GetState;\n setState: SetState;\n onBack: OnBack;\n onNext: OnNext;\n goTo: (step: number) => void;\n onWatch: (values: Record<string, unknown>) => void;\n};\n\nexport type SchemaProps = {\n name: string;\n rules: z.ZodType;\n form: ComponentType<MultiStepFormProps>;\n label?: string;\n description?: string;\n};\n\nexport class Schema {\n private form: Form;\n private yield: Yield;\n\n constructor(\n name: string,\n schema: SchemaProps,\n step: { current: number; total: number },\n states: States,\n steps: { label: string; description?: string }[],\n classNames?: StepProps['classNames'],\n stepperProps?: StepProps['stepperProps'],\n ) {\n this.form = new Form(\n name,\n schema,\n step,\n states,\n steps,\n classNames,\n stepperProps,\n );\n this.yield = new Yield();\n }\n\n getRules() {\n return this.form.getRules();\n }\n\n toRender() {\n return [this.form.toRender(), this.yield.toRender()];\n }\n}\n"],"mappings":"sEAsCA,IAAa,EAAb,KAAoB,CAClB,KACA,MAEA,YACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACA,KAAK,KAAO,IAAI,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACD,CACD,KAAK,MAAQ,IAAI,EAGnB,UAAW,CACT,OAAO,KAAK,KAAK,UAAU,CAG7B,UAAW,CACT,MAAO,CAAC,KAAK,KAAK,UAAU,CAAE,KAAK,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Result as e}from"./Result.mjs";import{Schema as t}from"./Schema.mjs";import{z as n}from"zod";function r(e){if(e instanceof n.ZodObject)return e.shape;if(e instanceof n.ZodPipe)return r(e.in);let t=e.unwrap;return typeof t==`function`?r(t.call(e)):{}}var i=class i{schemas;states;constructor(e,t,n,r,a){i.validateSchema(t),this.states=i.getState(t,n);let o=t.map(e=>({label:e.label??e.name,description:e.description}));this.schemas=i.createSchemas(e,t,this.states,o,r,a)}static validateSchema(e){if(e.length===0)throw Error(`Schema must have at least one step`)}static getState(e,t){let n=[];if(Object.keys(t).length===0){let t=0;for(let r of e)n.push({state:{points:Array.from({length:++t},(e,t)=>({path:[{type:`list`,slot:t}],values:{}})),inputs:{type:`list`,list:[]}},check:r.rules});return{step:1,states:n}}return t}static createSchemas(e,n,r,a,o,s){let c,l=n.reduce((i,l,u)=>l.name===`summary`?(c=l,i):(i.push(new t(e,l,{current:u+1,total:n.length},r,a,o,s)),i),[]);return c!==void 0&&l.push(i.getSummary(e,l,c.form,{current:n.length,total:n.length},r,a,o,s)),l}static getSummary(e,i,a,o,s,c,l,u){return new t(e,{name:`summary`,rules:i.reduce((e,t)=>{let i=r(t.getRules());return n.object({...e.shape,...i})},n.object({})),form:a},o,s,c,l,u)}currentState(){return this.states.states[this.states.step-1].state}toRender(){let t=this.schemas.flatMap(e=>e.toRender());return t.push(new e().toRender()),t}};export{i as Schemas};
|
|
2
|
+
//# sourceMappingURL=Schemas.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schemas.mjs","names":[],"sources":["../../../../../src/components/forms/multi-step/parser/Schemas.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport { z } from 'zod';\n\nimport type { Schema as FormitySchema, Values } from '@formity/react';\n\nimport type { Props as StepProps } from '../Step';\nimport type { States, StatesProps } from './Form';\nimport { Result } from './Result';\nimport { type MultiStepFormProps, Schema, type SchemaProps } from './Schema';\n\ntype ZodSchema = z.ZodType;\n\nfunction getSchemaShape(schema: ZodSchema): Record<string, z.ZodTypeAny> {\n if (schema instanceof z.ZodObject) {\n return schema.shape;\n }\n if (schema instanceof z.ZodPipe) {\n return getSchemaShape(schema.in as ZodSchema);\n }\n const unwrap = (schema as { unwrap?: () => ZodSchema }).unwrap;\n if (typeof unwrap === 'function') {\n return getSchemaShape(unwrap.call(schema));\n }\n return {};\n}\n\nexport class Schemas {\n private schemas: Schema[];\n private states: States;\n\n constructor(\n name: string,\n schemas: SchemaProps[],\n initialState: States,\n classNames?: StepProps['classNames'],\n stepperProps?: StepProps['stepperProps'],\n ) {\n Schemas.validateSchema(schemas);\n this.states = Schemas.getState(schemas, initialState);\n const steps = schemas.map((schema) => ({\n label: schema.label ?? schema.name,\n description: schema.description,\n }));\n this.schemas = Schemas.createSchemas(\n name,\n schemas,\n this.states,\n steps,\n classNames,\n stepperProps,\n );\n }\n\n private static validateSchema(schemas: SchemaProps[]): void {\n if (schemas.length === 0) {\n throw new Error('Schema must have at least one step');\n }\n }\n\n private static getState(\n schemas: SchemaProps[],\n initialState: States,\n ): States {\n const arrStates: StatesProps[] = [];\n if (Object.keys(initialState).length === 0) {\n let i = 0;\n for (const schema of schemas) {\n arrStates.push({\n state: {\n points: Array.from({ length: ++i }, (_, index) => ({\n path: [{ type: 'list', slot: index }],\n values: {},\n })),\n inputs: { type: 'list', list: [] },\n },\n check: schema.rules,\n });\n }\n return {\n step: 1,\n states: arrStates,\n };\n }\n return initialState;\n }\n\n private static createSchemas(\n name: string,\n schemas: SchemaProps[],\n states: States,\n steps: { label: string; description?: string }[],\n classNames?: StepProps['classNames'],\n stepperProps?: StepProps['stepperProps'],\n ): Schema[] {\n let summary: SchemaProps | undefined;\n const formitySchemas = schemas.reduce<Schema[]>((acc, schema, index) => {\n if (schema.name === 'summary') {\n summary = schema;\n return acc;\n }\n acc.push(\n new Schema(\n name,\n schema,\n { current: index + 1, total: schemas.length },\n states,\n steps,\n classNames,\n stepperProps,\n ),\n );\n return acc;\n }, []);\n if (summary !== undefined) {\n formitySchemas.push(\n Schemas.getSummary(\n name,\n formitySchemas,\n summary.form,\n {\n current: schemas.length,\n total: schemas.length,\n },\n states,\n steps,\n classNames,\n stepperProps,\n ),\n );\n }\n\n return formitySchemas;\n }\n\n private static getSummary(\n name: string,\n schemas: Schema[],\n form: ComponentType<MultiStepFormProps>,\n step: { current: number; total: number },\n states: States,\n steps: { label: string; description?: string }[],\n classNames?: StepProps['classNames'],\n stepperProps?: StepProps['stepperProps'],\n ): Schema {\n const rules = schemas.reduce(\n (acc: z.ZodObject<{ [key: string]: z.ZodTypeAny }>, schema: Schema) => {\n const schemaShape = getSchemaShape(schema.getRules());\n return z.object({\n ...acc.shape,\n ...schemaShape,\n });\n },\n z.object({}),\n );\n\n return new Schema(\n name,\n {\n name: 'summary',\n rules,\n form,\n },\n step,\n states,\n steps,\n classNames,\n stepperProps,\n );\n }\n\n currentState() {\n const state = this.states.states[this.states.step - 1].state;\n return state;\n }\n\n toRender() {\n const render: object[] = this.schemas.flatMap((schema) => {\n return schema.toRender();\n });\n render.push(new Result().toRender());\n return render as FormitySchema<\n Values,\n Record<string, unknown>,\n Record<string, unknown>\n >;\n }\n}\n"],"mappings":"oGAYA,SAAS,EAAe,EAAiD,CACvE,GAAI,aAAkB,EAAE,UACtB,OAAO,EAAO,MAEhB,GAAI,aAAkB,EAAE,QACtB,OAAO,EAAe,EAAO,GAAgB,CAE/C,IAAM,EAAU,EAAwC,OAIxD,OAHI,OAAO,GAAW,WACb,EAAe,EAAO,KAAK,EAAO,CAAC,CAErC,EAAE,CAGX,IAAa,EAAb,MAAa,CAAQ,CACnB,QACA,OAEA,YACE,EACA,EACA,EACA,EACA,EACA,CACA,EAAQ,eAAe,EAAQ,CAC/B,KAAK,OAAS,EAAQ,SAAS,EAAS,EAAa,CACrD,IAAM,EAAQ,EAAQ,IAAK,IAAY,CACrC,MAAO,EAAO,OAAS,EAAO,KAC9B,YAAa,EAAO,YACrB,EAAE,CACH,KAAK,QAAU,EAAQ,cACrB,EACA,EACA,KAAK,OACL,EACA,EACA,EACD,CAGH,OAAe,eAAe,EAA8B,CAC1D,GAAI,EAAQ,SAAW,EACrB,MAAU,MAAM,qCAAqC,CAIzD,OAAe,SACb,EACA,EACQ,CACR,IAAM,EAA2B,EAAE,CACnC,GAAI,OAAO,KAAK,EAAa,CAAC,SAAW,EAAG,CAC1C,IAAI,EAAI,EACR,IAAK,IAAM,KAAU,EACnB,EAAU,KAAK,CACb,MAAO,CACL,OAAQ,MAAM,KAAK,CAAE,OAAQ,EAAE,EAAG,EAAG,EAAG,KAAW,CACjD,KAAM,CAAC,CAAE,KAAM,OAAQ,KAAM,EAAO,CAAC,CACrC,OAAQ,EAAE,CACX,EAAE,CACH,OAAQ,CAAE,KAAM,OAAQ,KAAM,EAAE,CAAE,CACnC,CACD,MAAO,EAAO,MACf,CAAC,CAEJ,MAAO,CACL,KAAM,EACN,OAAQ,EACT,CAEH,OAAO,EAGT,OAAe,cACb,EACA,EACA,EACA,EACA,EACA,EACU,CACV,IAAI,EACE,EAAiB,EAAQ,QAAkB,EAAK,EAAQ,IACxD,EAAO,OAAS,WAClB,EAAU,EACH,IAET,EAAI,KACF,IAAI,EACF,EACA,EACA,CAAE,QAAS,EAAQ,EAAG,MAAO,EAAQ,OAAQ,CAC7C,EACA,EACA,EACA,EACD,CACF,CACM,GACN,EAAE,CAAC,CAmBN,OAlBI,IAAY,IAAA,IACd,EAAe,KACb,EAAQ,WACN,EACA,EACA,EAAQ,KACR,CACE,QAAS,EAAQ,OACjB,MAAO,EAAQ,OAChB,CACD,EACA,EACA,EACA,EACD,CACF,CAGI,EAGT,OAAe,WACb,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACQ,CAYR,OAAO,IAAI,EACT,EACA,CACE,KAAM,UACN,MAfU,EAAQ,QACnB,EAAmD,IAAmB,CACrE,IAAM,EAAc,EAAe,EAAO,UAAU,CAAC,CACrD,OAAO,EAAE,OAAO,CACd,GAAG,EAAI,MACP,GAAG,EACJ,CAAC,EAEJ,EAAE,OAAO,EAAE,CAAC,CACb,CAOG,OACD,CACD,EACA,EACA,EACA,EACA,EACD,CAGH,cAAe,CAEb,OADc,KAAK,OAAO,OAAO,KAAK,OAAO,KAAO,GAAG,MAIzD,UAAW,CACT,IAAM,EAAmB,KAAK,QAAQ,QAAS,GACtC,EAAO,UAAU,CACxB,CAEF,OADA,EAAO,KAAK,IAAI,GAAQ,CAAC,UAAU,CAAC,CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Yield.mjs","names":[],"sources":["../../../../../src/components/forms/multi-step/parser/Yield.ts"],"sourcesContent":["export class Yield {\n toRender() {\n return {\n yield: {\n next: (props: unknown) => [{ type: 'next', data: props }],\n back: (props: unknown) => [{ type: 'back', data: props }],\n },\n };\n }\n}\n"],"mappings":"AAAA,IAAa,EAAb,KAAmB,CACjB,UAAW,CACT,MAAO,CACL,MAAO,CACL,KAAO,GAAmB,CAAC,CAAE,KAAM,OAAQ,KAAM,EAAO,CAAC,CACzD,KAAO,GAAmB,CAAC,CAAE,KAAM,OAAQ,KAAM,EAAO,CAAC,CAC1D,CACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{z as e}from"zod";function t(n){if(n instanceof e.ZodObject)return n.shape;if(n instanceof e.ZodPipe)return t(n.in);let r=n.unwrap;return typeof r==`function`?t(r.call(n)):{}}const n=e=>{let n=t(e);if(!n)return[];let r=Object.keys(n).map(e=>{let t=n[e]._def?.defaultValue,r=typeof t==`function`?t():void 0;return{[e]:[r,[]]}});return Object.assign({},...r)};export{n as extractFields};
|
|
2
|
+
//# sourceMappingURL=extract-fields.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-fields.mjs","names":[],"sources":["../../../../../../src/components/forms/multi-step/parser/utils/extract-fields.ts"],"sourcesContent":["import { z } from 'zod';\n\ntype DefaultValue = {\n [key: string]: [unknown, unknown[]];\n};\n\ntype ZodShape = {\n [key: string]: z.ZodTypeAny;\n};\n\nfunction getSchemaShape(schema: z.ZodType): ZodShape {\n if (schema instanceof z.ZodObject) {\n return schema.shape;\n }\n if (schema instanceof z.ZodPipe) {\n return getSchemaShape(schema.in as z.ZodType);\n }\n const unwrap = (schema as { unwrap?: () => z.ZodType }).unwrap;\n if (typeof unwrap === 'function') {\n return getSchemaShape(unwrap.call(schema));\n }\n return {};\n}\n\nexport const extractFields = (rules: z.ZodType): DefaultValue[] => {\n const shape = getSchemaShape(rules);\n\n if (!shape) {\n return [];\n }\n\n const fields = Object.keys(shape).map((key) => {\n const defaultValueFn = (shape[key]._def as { defaultValue?: unknown })\n ?.defaultValue;\n const value =\n typeof defaultValueFn === 'function' ? defaultValueFn() : undefined;\n return { [key]: [value, []] };\n });\n return Object.assign({}, ...fields);\n};\n"],"mappings":"wBAUA,SAAS,EAAe,EAA6B,CACnD,GAAI,aAAkB,EAAE,UACtB,OAAO,EAAO,MAEhB,GAAI,aAAkB,EAAE,QACtB,OAAO,EAAe,EAAO,GAAgB,CAE/C,IAAM,EAAU,EAAwC,OAIxD,OAHI,OAAO,GAAW,WACb,EAAe,EAAO,KAAK,EAAO,CAAC,CAErC,EAAE,CAGX,MAAa,EAAiB,GAAqC,CACjE,IAAM,EAAQ,EAAe,EAAM,CAEnC,GAAI,CAAC,EACH,MAAO,EAAE,CAGX,IAAM,EAAS,OAAO,KAAK,EAAM,CAAC,IAAK,GAAQ,CAC7C,IAAM,EAAkB,EAAM,GAAK,MAC/B,aACE,EACJ,OAAO,GAAmB,WAAa,GAAgB,CAAG,IAAA,GAC5D,MAAO,EAAG,GAAM,CAAC,EAAO,EAAE,CAAC,CAAE,EAC7B,CACF,OAAO,OAAO,OAAO,EAAE,CAAE,GAAG,EAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-values.mjs","names":[],"sources":["../../../../../../src/components/forms/multi-step/parser/utils/extract-values.ts"],"sourcesContent":["import type { State } from '@formity/react';\n\ntype ItemInputs = Record<string, { data: { data: unknown } }>;\ntype ListInputs = Record<string, ItemInputs>;\n\nexport const extractValues = (state: State): object => {\n return Object.values(state.inputs.list as ListInputs).reduce(\n (acc: Record<string, unknown>, inputs: ItemInputs) => {\n const fields = Object.keys(inputs).reduce<Record<string, unknown>>(\n (acc, key) => {\n const value = inputs[key].data.data;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n },\n {},\n );\n Object.keys(fields).forEach((key) => {\n acc[key] = fields[key];\n });\n return acc;\n },\n {},\n );\n};\n"],"mappings":"AAKA,MAAa,EAAiB,GACrB,OAAO,OAAO,EAAM,OAAO,KAAmB,CAAC,QACnD,EAA8B,IAAuB,CACpD,IAAM,EAAS,OAAO,KAAK,EAAO,CAAC,QAChC,EAAK,IAAQ,CACZ,IAAM,EAAQ,EAAO,GAAK,KAAK,KAK/B,OAJI,IAAU,IAAA,KAGd,EAAI,GAAO,GAFF,GAKX,EAAE,CACH,CAID,OAHA,OAAO,KAAK,EAAO,CAAC,QAAS,GAAQ,CACnC,EAAI,GAAO,EAAO,IAClB,CACK,GAET,EAAE,CACH"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(e,t,n){let r=JSON.parse(JSON.stringify(t));return r.data.data=n[e],r}function t(e,t){let n={...e};for(let r in e)r in t&&(n[r]=t[r]);return n}function n(e,t,n){return!!(e&&typeof e==`object`&&`data`in e&&e.data&&typeof e.data==`object`&&`data`in e.data&&t in n)}function r(r,a,o){return n(a,r,o)?e(r,a,o):r===`values`&&typeof a==`object`&&a?t(a,o):typeof a==`object`&&a?i(a,o):r in o?o[r]:a}function i(e,t){if(!e||typeof e!=`object`)return e;if(Array.isArray(e))return e.map(e=>i(e,t));let n={};for(let i in e)Object.hasOwn(e,i)&&(n[i]=r(i,e[i],t));return n}export{i as replaceValues};
|
|
2
|
+
//# sourceMappingURL=replace-in-state.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replace-in-state.mjs","names":[],"sources":["../../../../../../src/components/forms/multi-step/parser/utils/replace-in-state.ts"],"sourcesContent":["function handleNestedDataObject<R extends Record<string, unknown>>(\n key: string,\n value: unknown,\n replacementMap: R,\n): unknown {\n const result = JSON.parse(JSON.stringify(value));\n (result as { data: { data: unknown } }).data.data =\n replacementMap[key as keyof R];\n return result;\n}\n\nfunction handleValuesObject<R extends Record<string, unknown>>(\n obj: Record<string, unknown>,\n replacementMap: R,\n): Record<string, unknown> {\n const result = { ...obj };\n for (const valueKey in obj) {\n if (valueKey in replacementMap) {\n result[valueKey] = replacementMap[valueKey as keyof R];\n }\n }\n return result;\n}\n\nfunction isNestedDataObject<R extends Record<string, unknown>>(\n value: unknown,\n key: string,\n replacementMap: R,\n): boolean {\n return !!(\n value &&\n typeof value === 'object' &&\n 'data' in value &&\n value.data &&\n typeof value.data === 'object' &&\n 'data' in value.data &&\n key in replacementMap\n );\n}\n\nfunction processValue<R extends Record<string, unknown>>(\n key: string,\n value: unknown,\n replacementMap: R,\n): unknown {\n if (isNestedDataObject(value, key, replacementMap)) {\n return handleNestedDataObject(key, value, replacementMap);\n }\n if (key === 'values' && typeof value === 'object' && value !== null) {\n return handleValuesObject(value as Record<string, unknown>, replacementMap);\n }\n if (value !== null && typeof value === 'object') {\n return replaceValues(value as Record<string, unknown>, replacementMap);\n }\n if (key in replacementMap) {\n return replacementMap[key];\n }\n return value;\n}\n\nexport function replaceValues<\n T extends Record<string, unknown>,\n R extends Record<string, unknown>,\n>(obj: T, replacementMap: R): T {\n if (!obj || typeof obj !== 'object') {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map((item) =>\n replaceValues(item, replacementMap),\n ) as unknown as T;\n }\n\n const result: Record<string, unknown> = {};\n\n for (const key in obj) {\n if (Object.hasOwn(obj, key)) {\n result[key] = processValue(key, obj[key], replacementMap);\n }\n }\n\n return result as T;\n}\n"],"mappings":"AAAA,SAAS,EACP,EACA,EACA,EACS,CACT,IAAM,EAAS,KAAK,MAAM,KAAK,UAAU,EAAM,CAAC,CAGhD,MAFC,GAAuC,KAAK,KAC3C,EAAe,GACV,EAGT,SAAS,EACP,EACA,EACyB,CACzB,IAAM,EAAS,CAAE,GAAG,EAAK,CACzB,IAAK,IAAM,KAAY,EACjB,KAAY,IACd,EAAO,GAAY,EAAe,IAGtC,OAAO,EAGT,SAAS,EACP,EACA,EACA,EACS,CACT,MAAO,CAAC,EACN,GACA,OAAO,GAAU,UACjB,SAAU,GACV,EAAM,MACN,OAAO,EAAM,MAAS,UACtB,SAAU,EAAM,MAChB,KAAO,GAIX,SAAS,EACP,EACA,EACA,EACS,CAaT,OAZI,EAAmB,EAAO,EAAK,EAAe,CACzC,EAAuB,EAAK,EAAO,EAAe,CAEvD,IAAQ,UAAY,OAAO,GAAU,UAAY,EAC5C,EAAmB,EAAkC,EAAe,CAEvD,OAAO,GAAU,UAAnC,EACK,EAAc,EAAkC,EAAe,CAEpE,KAAO,EACF,EAAe,GAEjB,EAGT,SAAgB,EAGd,EAAQ,EAAsB,CAC9B,GAAI,CAAC,GAAO,OAAO,GAAQ,SACzB,OAAO,EAGT,GAAI,MAAM,QAAQ,EAAI,CACpB,OAAO,EAAI,IAAK,GACd,EAAc,EAAM,EAAe,CACpC,CAGH,IAAM,EAAkC,EAAE,CAE1C,IAAK,IAAM,KAAO,EACZ,OAAO,OAAO,EAAK,EAAI,GACzB,EAAO,GAAO,EAAa,EAAK,EAAI,GAAM,EAAe,EAI7D,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-local-storage.mjs","names":[],"sources":["../../../../../../src/components/forms/multi-step/parser/utils/use-local-storage.ts"],"sourcesContent":["export const storage = {\n set: (key: string, value: object) => {\n if (typeof localStorage !== 'undefined') {\n localStorage.setItem(key, JSON.stringify(value));\n }\n },\n get: (key: string, defaultValue: object | undefined = undefined) => {\n try {\n const value = localStorage.getItem(key);\n return value ? JSON.parse(value) : defaultValue;\n } catch (_) {\n return defaultValue;\n }\n },\n};\n"],"mappings":"AAAA,MAAa,EAAU,CACrB,KAAM,EAAa,IAAkB,CAC/B,OAAO,aAAiB,KAC1B,aAAa,QAAQ,EAAK,KAAK,UAAU,EAAM,CAAC,EAGpD,KAAM,EAAa,EAAmC,IAAA,KAAc,CAClE,GAAI,CACF,IAAM,EAAQ,aAAa,QAAQ,EAAI,CACvC,OAAO,EAAQ,KAAK,MAAM,EAAM,CAAG,OACzB,CACV,OAAO,IAGZ"}
|
|
@@ -27,6 +27,7 @@ import { DataTableFeedback } from "./data-display/datatables/DataTableFeedback.m
|
|
|
27
27
|
import { DataTableTopSlot, DataTableTopSlotProps } from "./data-display/datatables/DataTableTopSlot.mjs";
|
|
28
28
|
import { ColumnDef, ExpandedState, PaginationState, RowSelectionState, SortingState } from "./data-display/datatables/index.mjs";
|
|
29
29
|
import { DescriptionList, DescriptionListClassNames, DescriptionListItemProps, DescriptionListProps } from "./data-display/description-list/DescriptionList.mjs";
|
|
30
|
+
import { Details, DetailsProps } from "./data-display/details/Details.mjs";
|
|
30
31
|
import { FileIcon, FileIconProps } from "./data-display/file-icon/FileIcon.mjs";
|
|
31
32
|
import { DocumentItem, DocumentItemProps } from "./data-display/document-item/DocumentItem.mjs";
|
|
32
33
|
import { Icon, IconProps } from "./data-display/icons/icon/Icon.mjs";
|
|
@@ -82,6 +83,9 @@ import { FileMetadata, FormDropzoneS3Props, UploadTarget } from "./forms/control
|
|
|
82
83
|
import { Form, FormProps } from "./forms/Form.mjs";
|
|
83
84
|
import { FormS3Context, FormS3ContextValue, S3UploadCallback, useFormS3Context } from "./forms/FormS3Context.mjs";
|
|
84
85
|
import { Fieldset, FieldsetProps } from "./forms/layout/Fieldset.mjs";
|
|
86
|
+
import { Stepper, StepperClassNames, StepperProps, StepperStepProps } from "./navigations/stepper/Stepper.mjs";
|
|
87
|
+
import { MultiStepFormProps, RequestResponse, Schema, SchemaProps } from "./forms/multi-step/parser/Schema.mjs";
|
|
88
|
+
import { MultiForm, MultiFormProps } from "./forms/multi-step/MultiForm.mjs";
|
|
85
89
|
import { PASSWORD_RULES } from "./forms/rules/password-rules.mjs";
|
|
86
90
|
import { z } from "./forms/rules/zod.mjs";
|
|
87
91
|
import { Card, CardBase, CardBody, CardClassNames, CardFooter, CardHeader, CardProps, CardRoot } from "./layouts/card/Card.mjs";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Pagination, PaginationClassNames, PaginationRootProps } from "./pagination/Pagination.mjs";
|
|
2
|
+
import { Stepper, StepperClassNames, StepperProps, StepperStepProps } from "./stepper/Stepper.mjs";
|
|
2
3
|
import { BreadcrumbsBarProps } from "./breadcrumbs/BreadcrumbsBar.mjs";
|
|
3
4
|
import { Breadcrumbs, BreadcrumbsProps } from "./breadcrumbs/Breadcrumbs.mjs";
|
|
4
5
|
import { Menu, MenuProps } from "./menu/Menu.mjs";
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as _mantine_core0 from "@mantine/core";
|
|
2
|
+
import * as react from "react";
|
|
3
|
+
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/navigations/stepper/Stepper.d.ts
|
|
6
|
+
type StepperClassNames = {
|
|
7
|
+
stepper?: string;
|
|
8
|
+
root?: string;
|
|
9
|
+
steps?: string;
|
|
10
|
+
step?: string;
|
|
11
|
+
stepWrapper?: string;
|
|
12
|
+
stepIcon?: string;
|
|
13
|
+
stepCompletedIcon?: string;
|
|
14
|
+
stepLoader?: string;
|
|
15
|
+
stepBody?: string;
|
|
16
|
+
stepLabel?: string;
|
|
17
|
+
stepDescription?: string;
|
|
18
|
+
separator?: string;
|
|
19
|
+
content?: string;
|
|
20
|
+
};
|
|
21
|
+
type StepperProps = {
|
|
22
|
+
children: ReactNode;
|
|
23
|
+
active: number;
|
|
24
|
+
onStepClick?: (stepIndex: number) => void;
|
|
25
|
+
allowNextStepsSelect?: boolean;
|
|
26
|
+
classNames?: StepperClassNames;
|
|
27
|
+
};
|
|
28
|
+
type StepperStepProps = Omit<ComponentPropsWithoutRef<'button'>, 'style'> & {
|
|
29
|
+
label?: ReactNode;
|
|
30
|
+
description?: ReactNode;
|
|
31
|
+
withIcon?: boolean;
|
|
32
|
+
completedIcon?: ReactNode;
|
|
33
|
+
state?: 'stepInactive' | 'stepProgress' | 'stepCompleted';
|
|
34
|
+
allowStepClick?: boolean;
|
|
35
|
+
icon?: ReactNode;
|
|
36
|
+
};
|
|
37
|
+
declare const Stepper$1: {
|
|
38
|
+
({
|
|
39
|
+
classNames,
|
|
40
|
+
children,
|
|
41
|
+
active,
|
|
42
|
+
onStepClick,
|
|
43
|
+
allowNextStepsSelect
|
|
44
|
+
}: StepperProps): ReactNode;
|
|
45
|
+
displayName: string;
|
|
46
|
+
} & {
|
|
47
|
+
Step: {
|
|
48
|
+
({
|
|
49
|
+
label,
|
|
50
|
+
description,
|
|
51
|
+
withIcon,
|
|
52
|
+
completedIcon,
|
|
53
|
+
icon,
|
|
54
|
+
state,
|
|
55
|
+
allowStepClick,
|
|
56
|
+
...props
|
|
57
|
+
}: StepperStepProps): ReactNode;
|
|
58
|
+
displayName: string;
|
|
59
|
+
};
|
|
60
|
+
Completed: react.FC<_mantine_core0.StepperCompletedProps>;
|
|
61
|
+
};
|
|
62
|
+
//#endregion
|
|
63
|
+
export { Stepper$1 as Stepper, StepperClassNames, StepperProps, StepperStepProps };
|
|
64
|
+
//# sourceMappingURL=Stepper.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stepper.d.mts","names":[],"sources":["../../../../src/components/navigations/stepper/Stepper.tsx"],"mappings":";;;;;KAoBY,iBAAA;EACV,OAAA;EACA,IAAA;EACA,KAAA;EACA,IAAA;EACA,WAAA;EACA,QAAA;EACA,iBAAA;EACA,UAAA;EACA,QAAA;EACA,SAAA;EACA,eAAA;EACA,SAAA;EACA,OAAA;AAAA;AAAA,KAGU,YAAA;EACV,QAAA,EAAU,SAAA;EACV,MAAA;EACA,WAAA,IAAe,SAAA;EACf,oBAAA;EACA,UAAA,GAAa,iBAAA;AAAA;AAAA,KAwCH,gBAAA,GAAmB,IAAA,CAC7B,wBAAA;EAGA,KAAA,GAAQ,SAAA;EACR,WAAA,GAAc,SAAA;EACd,QAAA;EACA,aAAA,GAAgB,SAAA;EAChB,KAAA;EACA,cAAA;EACA,IAAA,GAAO,SAAA;AAAA;AAAA,cA+BI,SAAA;EAAA;;;;;;KAxEV,YAAA,GAAe,SAAA;;;;;;;;;;;;;OAqDf,gBAAA,GAAmB,SAAA;;;sBAAS,cAAA,CAAA,qBAAA;AAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{cx as e}from"@mage-ui/styled-system/css";import{stepper as t,stepperContent as n,stepperRoot as r,stepperSeparator as i,stepperStep as a,stepperStepBody as o,stepperStepCompletedIcon as s,stepperStepDescription as c,stepperStepIcon as l,stepperStepLabel as u,stepperStepLoader as d,stepperStepWrapper as f,stepperSteps as p}from"@mage-ui/styled-system/recipes";import{Stepper as m}from"@mantine/core";import{jsx as h}from"react/jsx-runtime";const g=({classNames:g,children:_,active:v,onStepClick:y,allowNextStepsSelect:b})=>h(m,{active:v,onStepClick:y,allowNextStepsSelect:b,classNames:{root:e(g?.stepper??t(),g?.root??r()),steps:g?.steps??p(),step:g?.step??a(),stepWrapper:g?.stepWrapper??f(),stepIcon:g?.stepIcon??l(),stepCompletedIcon:g?.stepCompletedIcon??s(),stepLoader:g?.stepLoader??d(),stepBody:g?.stepBody??o(),stepLabel:g?.stepLabel??u(),stepDescription:g?.stepDescription??c(),separator:g?.separator??i(),content:g?.content??n()},children:_}),_=({label:e,description:t,withIcon:n=!1,completedIcon:r,icon:i,state:a,allowStepClick:o,...s})=>h(m.Step,{label:e,description:t,withIcon:n,completedIcon:r,state:a,allowStepClick:o,icon:i,"aria-current":a===`stepProgress`?`step`:void 0,...s});_.displayName=`Stepper.Step`,g.displayName=`Stepper`;const v=Object.assign(g,{Step:_,Completed:m.Completed});export{v as Stepper};
|
|
2
|
+
//# sourceMappingURL=Stepper.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stepper.mjs","names":["MantineStepper","stepperRecipe","Stepper"],"sources":["../../../../src/components/navigations/stepper/Stepper.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n stepperContent,\n stepper as stepperRecipe,\n stepperRoot,\n stepperSeparator,\n stepperStep,\n stepperStepBody,\n stepperStepCompletedIcon,\n stepperStepDescription,\n stepperStepIcon,\n stepperStepLabel,\n stepperStepLoader,\n stepperSteps,\n stepperStepWrapper,\n} from '@mage-ui/styled-system/recipes';\nimport { Stepper as MantineStepper } from '@mantine/core';\n\nexport type StepperClassNames = {\n stepper?: string;\n root?: string;\n steps?: string;\n step?: string;\n stepWrapper?: string;\n stepIcon?: string;\n stepCompletedIcon?: string;\n stepLoader?: string;\n stepBody?: string;\n stepLabel?: string;\n stepDescription?: string;\n separator?: string;\n content?: string;\n};\n\nexport type StepperProps = {\n children: ReactNode;\n active: number;\n onStepClick?: (stepIndex: number) => void;\n allowNextStepsSelect?: boolean;\n classNames?: StepperClassNames;\n};\n\nconst StepperBase = ({\n classNames,\n children,\n active,\n onStepClick,\n allowNextStepsSelect,\n}: StepperProps): ReactNode => {\n return (\n <MantineStepper\n active={active}\n onStepClick={onStepClick}\n allowNextStepsSelect={allowNextStepsSelect}\n classNames={{\n root: cx(\n classNames?.stepper ?? stepperRecipe(),\n classNames?.root ?? stepperRoot(),\n ),\n steps: classNames?.steps ?? stepperSteps(),\n step: classNames?.step ?? stepperStep(),\n stepWrapper: classNames?.stepWrapper ?? stepperStepWrapper(),\n stepIcon: classNames?.stepIcon ?? stepperStepIcon(),\n stepCompletedIcon:\n classNames?.stepCompletedIcon ?? stepperStepCompletedIcon(),\n stepLoader: classNames?.stepLoader ?? stepperStepLoader(),\n stepBody: classNames?.stepBody ?? stepperStepBody(),\n stepLabel: classNames?.stepLabel ?? stepperStepLabel(),\n stepDescription:\n classNames?.stepDescription ?? stepperStepDescription(),\n separator: classNames?.separator ?? stepperSeparator(),\n content: classNames?.content ?? stepperContent(),\n }}\n >\n {children}\n </MantineStepper>\n );\n};\n\nexport type StepperStepProps = Omit<\n ComponentPropsWithoutRef<'button'>,\n 'style'\n> & {\n label?: ReactNode;\n description?: ReactNode;\n withIcon?: boolean;\n completedIcon?: ReactNode;\n state?: 'stepInactive' | 'stepProgress' | 'stepCompleted';\n allowStepClick?: boolean;\n icon?: ReactNode;\n};\n\nconst Step = ({\n label,\n description,\n withIcon = false,\n completedIcon,\n icon,\n state,\n allowStepClick,\n ...props\n}: StepperStepProps): ReactNode => {\n return (\n <MantineStepper.Step\n label={label}\n description={description}\n withIcon={withIcon}\n completedIcon={completedIcon}\n state={state}\n allowStepClick={allowStepClick}\n icon={icon}\n aria-current={state === 'stepProgress' ? 'step' : undefined}\n {...props}\n />\n );\n};\n\nStep.displayName = 'Stepper.Step';\nStepperBase.displayName = 'Stepper';\n\nexport const Stepper = Object.assign(StepperBase, {\n Step,\n Completed: MantineStepper.Completed,\n});\n"],"mappings":"gcA4CA,MAAM,GAAe,CACnB,aACA,WACA,SACA,cACA,0BAGE,EAACA,EAAD,CACU,SACK,cACS,uBACtB,WAAY,CACV,KAAM,EACJ,GAAY,SAAWC,GAAe,CACtC,GAAY,MAAQ,GAAa,CAClC,CACD,MAAO,GAAY,OAAS,GAAc,CAC1C,KAAM,GAAY,MAAQ,GAAa,CACvC,YAAa,GAAY,aAAe,GAAoB,CAC5D,SAAU,GAAY,UAAY,GAAiB,CACnD,kBACE,GAAY,mBAAqB,GAA0B,CAC7D,WAAY,GAAY,YAAc,GAAmB,CACzD,SAAU,GAAY,UAAY,GAAiB,CACnD,UAAW,GAAY,WAAa,GAAkB,CACtD,gBACE,GAAY,iBAAmB,GAAwB,CACzD,UAAW,GAAY,WAAa,GAAkB,CACtD,QAAS,GAAY,SAAW,GAAgB,CACjD,CAEA,WACc,CAAA,CAiBf,GAAQ,CACZ,QACA,cACA,WAAW,GACX,gBACA,OACA,QACA,iBACA,GAAG,KAGD,EAACD,EAAe,KAAhB,CACS,QACM,cACH,WACK,gBACR,QACS,iBACV,OACN,eAAc,IAAU,eAAiB,OAAS,IAAA,GAClD,GAAI,EACJ,CAAA,CAIN,EAAK,YAAc,eACnB,EAAY,YAAc,UAE1B,MAAaE,EAAU,OAAO,OAAO,EAAa,CAChD,OACA,UAAWF,EAAe,UAC3B,CAAC"}
|
package/dist/index.d.mts
CHANGED
|
@@ -27,6 +27,7 @@ import { DataTableFeedback } from "./components/data-display/datatables/DataTabl
|
|
|
27
27
|
import { DataTableTopSlot, DataTableTopSlotProps } from "./components/data-display/datatables/DataTableTopSlot.mjs";
|
|
28
28
|
import { ColumnDef, ExpandedState, PaginationState, RowSelectionState, SortingState } from "./components/data-display/datatables/index.mjs";
|
|
29
29
|
import { DescriptionList, DescriptionListClassNames, DescriptionListItemProps, DescriptionListProps } from "./components/data-display/description-list/DescriptionList.mjs";
|
|
30
|
+
import { Details, DetailsProps } from "./components/data-display/details/Details.mjs";
|
|
30
31
|
import { FileIcon, FileIconProps } from "./components/data-display/file-icon/FileIcon.mjs";
|
|
31
32
|
import { DocumentItem, DocumentItemProps } from "./components/data-display/document-item/DocumentItem.mjs";
|
|
32
33
|
import { Icon, IconProps } from "./components/data-display/icons/icon/Icon.mjs";
|
|
@@ -82,6 +83,9 @@ import { FileMetadata, FormDropzoneS3Props, UploadTarget } from "./components/fo
|
|
|
82
83
|
import { Form, FormProps } from "./components/forms/Form.mjs";
|
|
83
84
|
import { FormS3Context, FormS3ContextValue, S3UploadCallback, useFormS3Context } from "./components/forms/FormS3Context.mjs";
|
|
84
85
|
import { Fieldset, FieldsetProps } from "./components/forms/layout/Fieldset.mjs";
|
|
86
|
+
import { Stepper, StepperClassNames, StepperProps, StepperStepProps } from "./components/navigations/stepper/Stepper.mjs";
|
|
87
|
+
import { MultiStepFormProps, RequestResponse, Schema, SchemaProps } from "./components/forms/multi-step/parser/Schema.mjs";
|
|
88
|
+
import { MultiForm, MultiFormProps } from "./components/forms/multi-step/MultiForm.mjs";
|
|
85
89
|
import { PASSWORD_RULES } from "./components/forms/rules/password-rules.mjs";
|
|
86
90
|
import { z } from "./components/forms/rules/zod.mjs";
|
|
87
91
|
import { Card, CardBase, CardBody, CardClassNames, CardFooter, CardHeader, CardProps, CardRoot } from "./components/layouts/card/Card.mjs";
|
|
@@ -99,4 +103,4 @@ import { Modals } from "./components/overlays/modal/index.mjs";
|
|
|
99
103
|
import { Toast, ToastIntent, ToastOptions, ToastProviderProps } from "./components/overlays/toast/Toast.mjs";
|
|
100
104
|
import { Tooltip, TooltipProps } from "./components/overlays/tooltip/Tooltip.mjs";
|
|
101
105
|
import { MageUiProvider, MageUiProviderProps } from "./providers/MageUiProvider.mjs";
|
|
102
|
-
export { Autocomplete, AutocompleteProps, Avatar, AvatarDropzone, AvatarDropzoneProps, AvatarDropzoneS3, AvatarDropzoneS3Props, AvatarProps, AvatarUpload, AvatarUploadProps, Badge, BadgeProps, Breadcrumbs, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, CalendarView, Card, CardBase, CardBody, CardClassNames, CardFooter, CardHeader, CardProps, CardRoot, Checkbox, CheckboxProps, CheckboxTree, CheckboxTreeItem, CheckboxTreeProps, ColumnDef, Combobox, ComboboxProps, DEFAULT_DATA_TABLE_LABELS, DataTable, DataTableBottomSlot, DataTableBottomSlotProps, DataTableClassNames, DataTableColumnMeta, DataTableContextProvider, DataTableContextValue, DataTableExpansionConfig, DataTableExtraColumnConfig, DataTableFeedback, DataTableFiltersConfig, DataTableLabels, DataTablePageSize, DataTablePageSizeProps, DataTablePagination, DataTablePaginationConfig, DataTablePaginationProps, DataTableProps, DataTableRecord, DataTableSearchConfig, DataTableSelectionConfig, DataTableSortingConfig, DataTableTableConfig, DataTableTopSlot, DataTableTopSlotProps, DateLocalizer, DatePicker, DatePickerClassNames, DatePickerDate, DatePickerProps, DatePickerValue, DateTimePicker, DateTimePickerClassNames, DateTimePickerDate, DateTimePickerProps, DateTimePickerValue, DescriptionList, DescriptionListClassNames, DescriptionListItemProps, DescriptionListProps, DocumentItem, DocumentItemProps, Dropzone, DropzoneProps, DropzoneS3, DropzoneS3Props, DropzoneS3Texts, ExpandedState, Fieldset, FieldsetProps, FileData, FileIcon, FileIconProps, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputMultipleS3, FileInputMultipleS3Handle, FileInputMultipleS3Props, FileInputProps, FileInputS3, FileInputS3Handle, FileInputS3Props, FileMetadata, FluidGrid, FluidGridProps, Form, FormDropzoneS3Props, FormProps, FormS3Context, FormS3ContextValue, Grid, GridClassNames, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, LoaderDot, LoaderDotProps, LoaderOval, LoaderOvalProps, LogoImage, LogoImageProps, LogoSvg, LogoSvgProps, MageUiProvider, MageUiProviderProps, Menu, MenuProps, Modal, ModalClassNames, ModalIntent, ModalProps, ModalRegistry, ModalRegistryEntry, ModalRootProps, Modals, NavigationMenu, NavigationMenuProps, NotificationBanner, NotificationBannerIntent, NotificationBannerProps, PASSWORD_RULES, Pagination, PaginationClassNames, PaginationRootProps, PaginationState, PasswordInput, PasswordInputProps, PasswordRule, PasswordRuleDefinition, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps, Progress, ProgressClassNames, ProgressProps, Radio, RadioProps, RemovableItem, RemovableItemProps, ResourceItem, ResourceItemProps, RowSelectionState, S3FileMeta, S3InitBody, S3InitResponse, S3UploadCallback, ScrollArea, ScrollAreaAutosize, ScrollAreaAutosizeProps, ScrollAreaClassNames, ScrollAreaProps, Select, SelectProps, Sidebar, SidebarClassNames, SidebarProps, SortingState, Switch, SwitchGroup, SwitchGroupProps, SwitchProps, Table, TableBodyProps, TableCaptionProps, TableCellProps, TableClassNames, TableFootProps, TableHeadProps, TableHeaderCellProps, TableProps, TableRowProps, Tag, TagGroup, TagGroupProps, TagProps, TextInput, TextInputProps, Textarea, TextareaProps, Toast, ToastIntent, ToastOptions, ToastProviderProps, Tooltip, TooltipProps, UploadTarget, UploadedFile, UploadedFileDetails, UploadedFileDetailsProps, UploadedFileProps, UploadedFiles, UploadedFilesClassNames, UploadedFilesItemClassNames, UploadedFilesItemProps, UploadedFilesProps, UploadedS3File, UploadingFiles, UploadingFilesClassNames, UploadingFilesItemClassNames, UploadingFilesItemErrorClassNames, UploadingFilesItemErrorProps, UploadingFilesItemProps, UploadingFilesProps, Virtual, VirtualItem, VirtualPadding, VirtualProps, VisuallyHidden, VisuallyHiddenProps, getFileExtension, useDataTableContext, useFormS3Context, usePasswordRules, z };
|
|
106
|
+
export { Autocomplete, AutocompleteProps, Avatar, AvatarDropzone, AvatarDropzoneProps, AvatarDropzoneS3, AvatarDropzoneS3Props, AvatarProps, AvatarUpload, AvatarUploadProps, Badge, BadgeProps, Breadcrumbs, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, CalendarView, Card, CardBase, CardBody, CardClassNames, CardFooter, CardHeader, CardProps, CardRoot, Checkbox, CheckboxProps, CheckboxTree, CheckboxTreeItem, CheckboxTreeProps, ColumnDef, Combobox, ComboboxProps, DEFAULT_DATA_TABLE_LABELS, DataTable, DataTableBottomSlot, DataTableBottomSlotProps, DataTableClassNames, DataTableColumnMeta, DataTableContextProvider, DataTableContextValue, DataTableExpansionConfig, DataTableExtraColumnConfig, DataTableFeedback, DataTableFiltersConfig, DataTableLabels, DataTablePageSize, DataTablePageSizeProps, DataTablePagination, DataTablePaginationConfig, DataTablePaginationProps, DataTableProps, DataTableRecord, DataTableSearchConfig, DataTableSelectionConfig, DataTableSortingConfig, DataTableTableConfig, DataTableTopSlot, DataTableTopSlotProps, DateLocalizer, DatePicker, DatePickerClassNames, DatePickerDate, DatePickerProps, DatePickerValue, DateTimePicker, DateTimePickerClassNames, DateTimePickerDate, DateTimePickerProps, DateTimePickerValue, DescriptionList, DescriptionListClassNames, DescriptionListItemProps, DescriptionListProps, Details, DetailsProps, DocumentItem, DocumentItemProps, Dropzone, DropzoneProps, DropzoneS3, DropzoneS3Props, DropzoneS3Texts, ExpandedState, Fieldset, FieldsetProps, FileData, FileIcon, FileIconProps, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputMultipleS3, FileInputMultipleS3Handle, FileInputMultipleS3Props, FileInputProps, FileInputS3, FileInputS3Handle, FileInputS3Props, FileMetadata, FluidGrid, FluidGridProps, Form, FormDropzoneS3Props, FormProps, FormS3Context, FormS3ContextValue, Grid, GridClassNames, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, LoaderDot, LoaderDotProps, LoaderOval, LoaderOvalProps, LogoImage, LogoImageProps, LogoSvg, LogoSvgProps, MageUiProvider, MageUiProviderProps, Menu, MenuProps, Modal, ModalClassNames, ModalIntent, ModalProps, ModalRegistry, ModalRegistryEntry, ModalRootProps, Modals, MultiForm, MultiFormProps, MultiStepFormProps, NavigationMenu, NavigationMenuProps, NotificationBanner, NotificationBannerIntent, NotificationBannerProps, PASSWORD_RULES, Pagination, PaginationClassNames, PaginationRootProps, PaginationState, PasswordInput, PasswordInputProps, PasswordRule, PasswordRuleDefinition, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps, Progress, ProgressClassNames, ProgressProps, Radio, RadioProps, RemovableItem, RemovableItemProps, RequestResponse, ResourceItem, ResourceItemProps, RowSelectionState, S3FileMeta, S3InitBody, S3InitResponse, S3UploadCallback, Schema, SchemaProps, ScrollArea, ScrollAreaAutosize, ScrollAreaAutosizeProps, ScrollAreaClassNames, ScrollAreaProps, Select, SelectProps, Sidebar, SidebarClassNames, SidebarProps, SortingState, Stepper, StepperClassNames, StepperProps, StepperStepProps, Switch, SwitchGroup, SwitchGroupProps, SwitchProps, Table, TableBodyProps, TableCaptionProps, TableCellProps, TableClassNames, TableFootProps, TableHeadProps, TableHeaderCellProps, TableProps, TableRowProps, Tag, TagGroup, TagGroupProps, TagProps, TextInput, TextInputProps, Textarea, TextareaProps, Toast, ToastIntent, ToastOptions, ToastProviderProps, Tooltip, TooltipProps, UploadTarget, UploadedFile, UploadedFileDetails, UploadedFileDetailsProps, UploadedFileProps, UploadedFiles, UploadedFilesClassNames, UploadedFilesItemClassNames, UploadedFilesItemProps, UploadedFilesProps, UploadedS3File, UploadingFiles, UploadingFilesClassNames, UploadingFilesItemClassNames, UploadingFilesItemErrorClassNames, UploadingFilesItemErrorProps, UploadingFilesItemProps, UploadingFilesProps, Virtual, VirtualItem, VirtualPadding, VirtualProps, VisuallyHidden, VisuallyHiddenProps, getFileExtension, useDataTableContext, useFormS3Context, usePasswordRules, z };
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Button as e}from"./components/buttons/button/Button.mjs";import{VisuallyHidden as t}from"./components/misc/visually-hidden/VisuallyHidden.mjs";import{ButtonAction as n}from"./components/buttons/button-action/ButtonAction.mjs";import{ButtonLoader as r}from"./components/buttons/button-action/ButtonLoader.mjs";import{Avatar as i}from"./components/data-display/avatar/Avatar.mjs";import{Badge as a}from"./components/data-display/badge/Badge.mjs";import{Tooltip as o}from"./components/overlays/tooltip/Tooltip.mjs";import{Calendar as s}from"./components/data-display/calendar/Calendar.mjs";import{Virtual as c}from"./components/misc/virtual/Virtual.mjs";import{ScrollArea as l}from"./components/misc/scroll-area/ScrollArea.mjs";import{Table as u}from"./components/data-display/table/Table.mjs";import{IconRaw as d}from"./components/data-display/icons/icon-raw/IconRaw.mjs";import{Icon as f}from"./components/data-display/icons/icon/Icon.mjs";import{DEFAULT_DATA_TABLE_LABELS as p,DataTableContextProvider as m,useDataTableContext as h}from"./components/data-display/datatables/useDataTableContext.mjs";import{Checkbox as g}from"./components/controls/checkbox/Checkbox.mjs";import{DataTable as _}from"./components/data-display/datatables/DataTable.mjs";import{HorizontalDivider as v}from"./components/misc/horizontal-divider/HorizontalDivider.mjs";import{ScrollAreaAutosize as y}from"./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";import{TextInput as b}from"./components/controls/text-input/TextInput.mjs";import{IconWrapped as x}from"./components/data-display/icons/icon-wrapped/IconWrapped.mjs";import{Select as S}from"./components/controls/dropdown/select/Select.mjs";import{DataTablePageSize as C}from"./components/data-display/datatables/DataTablePageSize.mjs";import{Pagination as w}from"./components/navigations/pagination/Pagination.mjs";import{DataTablePagination as T}from"./components/data-display/datatables/DataTablePagination.mjs";import{DataTableBottomSlot as E}from"./components/data-display/datatables/DataTableBottomSlot.mjs";import{DataTableFeedback as D}from"./components/data-display/datatables/DataTableFeedback.mjs";import{DataTableTopSlot as O}from"./components/data-display/datatables/DataTableTopSlot.mjs";import{DescriptionList as k}from"./components/data-display/description-list/DescriptionList.mjs";import{
|
|
1
|
+
import{Button as e}from"./components/buttons/button/Button.mjs";import{VisuallyHidden as t}from"./components/misc/visually-hidden/VisuallyHidden.mjs";import{ButtonAction as n}from"./components/buttons/button-action/ButtonAction.mjs";import{ButtonLoader as r}from"./components/buttons/button-action/ButtonLoader.mjs";import{Avatar as i}from"./components/data-display/avatar/Avatar.mjs";import{Badge as a}from"./components/data-display/badge/Badge.mjs";import{Tooltip as o}from"./components/overlays/tooltip/Tooltip.mjs";import{Calendar as s}from"./components/data-display/calendar/Calendar.mjs";import{Virtual as c}from"./components/misc/virtual/Virtual.mjs";import{ScrollArea as l}from"./components/misc/scroll-area/ScrollArea.mjs";import{Table as u}from"./components/data-display/table/Table.mjs";import{IconRaw as d}from"./components/data-display/icons/icon-raw/IconRaw.mjs";import{Icon as f}from"./components/data-display/icons/icon/Icon.mjs";import{DEFAULT_DATA_TABLE_LABELS as p,DataTableContextProvider as m,useDataTableContext as h}from"./components/data-display/datatables/useDataTableContext.mjs";import{Checkbox as g}from"./components/controls/checkbox/Checkbox.mjs";import{DataTable as _}from"./components/data-display/datatables/DataTable.mjs";import{HorizontalDivider as v}from"./components/misc/horizontal-divider/HorizontalDivider.mjs";import{ScrollAreaAutosize as y}from"./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";import{TextInput as b}from"./components/controls/text-input/TextInput.mjs";import{IconWrapped as x}from"./components/data-display/icons/icon-wrapped/IconWrapped.mjs";import{Select as S}from"./components/controls/dropdown/select/Select.mjs";import{DataTablePageSize as C}from"./components/data-display/datatables/DataTablePageSize.mjs";import{Pagination as w}from"./components/navigations/pagination/Pagination.mjs";import{DataTablePagination as T}from"./components/data-display/datatables/DataTablePagination.mjs";import{DataTableBottomSlot as E}from"./components/data-display/datatables/DataTableBottomSlot.mjs";import{DataTableFeedback as D}from"./components/data-display/datatables/DataTableFeedback.mjs";import{DataTableTopSlot as O}from"./components/data-display/datatables/DataTableTopSlot.mjs";import{DescriptionList as k}from"./components/data-display/description-list/DescriptionList.mjs";import{Details as A}from"./components/data-display/details/Details.mjs";import{FileIcon as j}from"./components/data-display/file-icon/FileIcon.mjs";import{ResourceItem as M}from"./components/data-display/resource-item/ResourceItem.mjs";import{DocumentItem as N}from"./components/data-display/document-item/DocumentItem.mjs";import{IconSvg as P}from"./components/data-display/icons/icon-svg/IconSvg.mjs";import{Indicator as F}from"./components/data-display/indicator/Indicator.mjs";import{LoaderDot as I}from"./components/data-display/loader-dot/LoaderDot.mjs";import{LoaderOval as L}from"./components/data-display/loader-oval/LoaderOval.mjs";import{LogoImage as R}from"./components/data-display/logos/logo-image/LogoImage.mjs";import{LogoSvg as z}from"./components/data-display/logos/logo-svg/LogoSvg.mjs";import{NotificationBanner as B}from"./components/data-display/notification-banner/NotificationBanner.mjs";import{Progress as V}from"./components/data-display/progress/Progress.mjs";import{RemovableItem as H}from"./components/data-display/removable-item/RemovableItem.mjs";import{TagGroup as U}from"./components/data-display/tag-group/TagGroup.mjs";import{Tag as W}from"./components/data-display/tag/Tag.mjs";import{UploadedFile as G}from"./components/data-display/uploaded-file/UploadedFile.mjs";import{UploadedFileDetails as K}from"./components/data-display/uploaded-file/UploadedFileDetails.mjs";import{UploadedFiles as q}from"./components/data-display/uploaded-files/UploadedFiles.mjs";import{UploadingFiles as J}from"./components/data-display/uploading-files/UploadingFiles.mjs";import{ButtonIcon as Y}from"./components/buttons/button-icon/ButtonIcon.mjs";import{ButtonIconVisual as X}from"./components/buttons/button-icon-visual/ButtonIconVisual.mjs";import{ButtonVisual as Z}from"./components/buttons/button-visual/ButtonVisual.mjs";import{Modal as Q}from"./components/overlays/modal/Modal.mjs";import{Modals as $}from"./components/overlays/modal/index.mjs";import{Toast as ee}from"./components/overlays/toast/Toast.mjs";import{AvatarUpload as te}from"./components/controls/avatar-upload/AvatarUpload.mjs";import{CheckboxTree as ne}from"./components/controls/checkbox-tree/CheckboxTree.mjs";import{DatePicker as re}from"./components/controls/date-picker/DatePicker.mjs";import{DateTimePicker as ie}from"./components/controls/date-time-picker/DateTimePicker.mjs";import{Autocomplete as ae}from"./components/controls/dropdown/autocomplete/Autocomplete.mjs";import{Combobox as oe}from"./components/controls/dropdown/combobox/Combobox.mjs";import{AvatarDropzone as se}from"./components/controls/dropzone/avatar/AvatarDropzone.mjs";import{getFileExtension as ce}from"./components/controls/dropzone/use-s3-upload.mjs";import{AvatarDropzoneS3 as le}from"./components/controls/dropzone/avatar/AvatarDropzoneS3.mjs";import{Dropzone as ue}from"./components/controls/dropzone/Dropzone.mjs";import{DropzoneS3 as de}from"./components/controls/dropzone/DropzoneS3.mjs";import{FileInput as fe}from"./components/controls/file-input/FileInput.mjs";import{FileInputMultiple as pe}from"./components/controls/file-input/FileInputMultiple.mjs";import{FileInputMultipleS3 as me}from"./components/controls/file-input/FileInputMultipleS3.mjs";import{FileInputS3 as he}from"./components/controls/file-input/FileInputS3.mjs";import{PasswordInput as ge}from"./components/controls/password-input/PasswordInput.mjs";import{PasswordStrengthInput as _e}from"./components/controls/password-input/PasswordStrengthInput.mjs";import{usePasswordRules as ve}from"./components/controls/password-input/usePasswordRules.mjs";import{Radio as ye}from"./components/controls/radio/Radio.mjs";import{SwitchGroup as be}from"./components/controls/switch-group/SwitchGroup.mjs";import{Switch as xe}from"./components/controls/switch/Switch.mjs";import{Textarea as Se}from"./components/controls/textarea/Textarea.mjs";import{FormS3Context as Ce,useFormS3Context as we}from"./components/forms/FormS3Context.mjs";import{PASSWORD_RULES as Te}from"./components/forms/rules/password-rules.mjs";import{z as Ee}from"./components/forms/rules/zod.mjs";import{Form as De}from"./components/forms/Form.mjs";import{Fieldset as Oe}from"./components/forms/layout/Fieldset.mjs";import{Stepper as ke}from"./components/navigations/stepper/Stepper.mjs";import{Schema as Ae}from"./components/forms/multi-step/parser/Schema.mjs";import{MultiForm as je}from"./components/forms/multi-step/MultiForm.mjs";import{Card as Me,CardBase as Ne,CardBody as Pe,CardFooter as Fe,CardHeader as Ie,CardRoot as Le}from"./components/layouts/card/Card.mjs";import{FluidGrid as Re}from"./components/layouts/fluid-grid/FluidGrid.mjs";import{Grid as ze}from"./components/layouts/grid/Grid.mjs";import{Breadcrumbs as Be}from"./components/navigations/breadcrumbs/Breadcrumbs.mjs";import{Menu as Ve}from"./components/navigations/menu/Menu.mjs";import{NavigationMenu as He}from"./components/navigations/navigation-menu/NavigationMenu.mjs";import{Sidebar as Ue}from"./components/navigations/sidebars/sidebar/Sidebar.mjs";import{MageUiProvider as We}from"./providers/MageUiProvider.mjs";export{ae as Autocomplete,i as Avatar,se as AvatarDropzone,le as AvatarDropzoneS3,te as AvatarUpload,a as Badge,Be as Breadcrumbs,e as Button,n as ButtonAction,Y as ButtonIcon,X as ButtonIconVisual,r as ButtonLoader,Z as ButtonVisual,s as Calendar,Me as Card,Ne as CardBase,Pe as CardBody,Fe as CardFooter,Ie as CardHeader,Le as CardRoot,g as Checkbox,ne as CheckboxTree,oe as Combobox,p as DEFAULT_DATA_TABLE_LABELS,_ as DataTable,E as DataTableBottomSlot,m as DataTableContextProvider,D as DataTableFeedback,C as DataTablePageSize,T as DataTablePagination,O as DataTableTopSlot,re as DatePicker,ie as DateTimePicker,k as DescriptionList,A as Details,N as DocumentItem,ue as Dropzone,de as DropzoneS3,Oe as Fieldset,j as FileIcon,fe as FileInput,pe as FileInputMultiple,me as FileInputMultipleS3,he as FileInputS3,Re as FluidGrid,De as Form,Ce as FormS3Context,ze as Grid,v as HorizontalDivider,f as Icon,d as IconRaw,P as IconSvg,x as IconWrapped,F as Indicator,I as LoaderDot,L as LoaderOval,R as LogoImage,z as LogoSvg,We as MageUiProvider,Ve as Menu,Q as Modal,$ as Modals,je as MultiForm,He as NavigationMenu,B as NotificationBanner,Te as PASSWORD_RULES,w as Pagination,ge as PasswordInput,_e as PasswordStrengthInput,V as Progress,ye as Radio,H as RemovableItem,M as ResourceItem,Ae as Schema,l as ScrollArea,y as ScrollAreaAutosize,S as Select,Ue as Sidebar,ke as Stepper,xe as Switch,be as SwitchGroup,u as Table,W as Tag,U as TagGroup,b as TextInput,Se as Textarea,ee as Toast,o as Tooltip,G as UploadedFile,K as UploadedFileDetails,q as UploadedFiles,J as UploadingFiles,c as Virtual,t as VisuallyHidden,ce as getFileExtension,h as useDataTableContext,we as useFormS3Context,ve as usePasswordRules,Ee as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoSsr.mjs","names":[],"sources":["../../src/utils/NoSsr.tsx"],"sourcesContent":["'use client';\n\nimport { type ReactNode, useEffect, useState } from 'react';\n\ntype Props = {\n children: ReactNode;\n fallback?: ReactNode;\n};\n\nexport const NoSsr = ({ children, fallback = null }: Props) => {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => setMounted(true), []);\n\n if (!mounted) {\n return fallback;\n }\n\n return children;\n};\n\n//TODO: traslladar a /misc\n"],"mappings":"6DASA,MAAa,GAAS,CAAE,WAAU,WAAW,QAAkB,CAC7D,GAAM,CAAC,EAAS,GAAc,EAAS,GAAM,CAQ7C,OANA,MAAgB,EAAW,GAAK,CAAE,EAAE,CAAC,CAEhC,EAIE,EAHE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mage-ui/components",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.165",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [],
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"rimraf": "^6.1.3",
|
|
26
26
|
"tsdown": "^0.21.4",
|
|
27
27
|
"typescript": "^5.9.3",
|
|
28
|
-
"@mage-ui/preset": "1.0.
|
|
28
|
+
"@mage-ui/preset": "1.0.165",
|
|
29
29
|
"@mage-ui/styled-system": "1.0.8"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
"@dnd-kit/modifiers": "^9.0.0",
|
|
34
34
|
"@dnd-kit/utilities": "^3.2.2",
|
|
35
35
|
"@ebay/nice-modal-react": "^1.2.13",
|
|
36
|
+
"@formity/react": "1.0.0",
|
|
37
|
+
"@formity/system": "1.0.0",
|
|
36
38
|
"@hookform/resolvers": "^5.2.2",
|
|
37
39
|
"@mantine/core": "^8.3.18",
|
|
38
40
|
"@mantine/dates": "^8.3.18",
|