@payloadcms/ui 3.20.0 → 3.21.0-canary.0a1cc6a

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Join/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,eAAe,EAIhB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAkB,MAAM,OAAO,CAAA;AAmMtC,eAAO,MAAM,SAAS;;;;+EAAoC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Join/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,eAAe,EAIhB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAkB,MAAM,OAAO,CAAA;AAuMtC,eAAO,MAAM,SAAS;;;;+EAAoC,CAAA"}
@@ -138,18 +138,21 @@ const JoinFieldComponent = props => {
138
138
  };
139
139
  }
140
140
  return where;
141
- }, [docID, field.targetField.relationTo, field.where, on, docConfig.slug]);
141
+ }, [docID, field.targetField.relationTo, field.where, on, docConfig?.slug]);
142
142
  const initialDrawerData = useMemo(() => {
143
143
  const relatedCollection = getEntityConfig({
144
144
  collectionSlug: field.collection
145
145
  });
146
146
  return getInitialDrawerData({
147
- collectionSlug: docConfig.slug,
147
+ collectionSlug: docConfig?.slug,
148
148
  docID,
149
149
  fields: relatedCollection.fields,
150
150
  segments: field.on.split('.')
151
151
  });
152
- }, [getEntityConfig, field.collection, field.on, docConfig.slug, docID]);
152
+ }, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID]);
153
+ if (!docConfig) {
154
+ return null;
155
+ }
153
156
  return /*#__PURE__*/_jsxs("div", {
154
157
  className: [fieldBaseClass, 'join'].filter(Boolean).join(' '),
155
158
  id: `field-${path?.replace(/\./g, '__')}`,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ObjectIdImport","flattenTopLevelFields","React","useMemo","RelationshipTable","RenderCustomComponent","useField","withCondition","useConfig","useDocumentInfo","FieldDescription","FieldLabel","fieldBaseClass","ObjectId","default","getInitialDrawerData","collectionSlug","docID","fields","segments","flattenedFields","path","field","find","name","type","value","Array","isArray","relationTo","hasMany","nextSegments","slice","length","initialData","id","toHexString","block","blocks","blockInitialData","blockType","slug","JoinFieldComponent","props","admin","allowCreate","description","collection","label","localized","on","required","docConfig","getEntityConfig","customComponents","AfterInput","BeforeInput","Description","Label","filterOptions","targetField","where","equals","and","initialDrawerData","relatedCollection","split","_jsxs","className","filter","Boolean","join","replace","_jsx","disableTable","docs","style","margin","CustomComponent","Fallback","JoinField"],"sources":["../../../src/fields/Join/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientField,\n JoinFieldClient,\n JoinFieldClientComponent,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { flattenTopLevelFields } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RelationshipTable } from '../../elements/RelationshipTable/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../index.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\n/**\n * Recursively builds the default data for joined collection\n */\nconst getInitialDrawerData = ({\n collectionSlug,\n docID,\n fields,\n segments,\n}: {\n collectionSlug: string\n docID: number | string\n fields: ClientField[]\n segments: string[]\n}) => {\n const flattenedFields = flattenTopLevelFields(fields)\n\n const path = segments[0]\n\n const field = flattenedFields.find((field) => field.name === path)\n\n if (!field) {\n return null\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n let value: { relationTo: string; value: number | string } | number | string = docID\n if (Array.isArray(field.relationTo)) {\n value = {\n relationTo: collectionSlug,\n value: docID,\n }\n }\n return {\n [field.name]: field.hasMany ? [value] : value,\n }\n }\n\n const nextSegments = segments.slice(1, segments.length)\n\n if (field.type === 'tab' || field.type === 'group') {\n return {\n [field.name]: getInitialDrawerData({\n collectionSlug,\n docID,\n fields: field.fields,\n segments: nextSegments,\n }),\n }\n }\n\n if (field.type === 'array') {\n const initialData = getInitialDrawerData({\n collectionSlug,\n docID,\n fields: field.fields,\n segments: nextSegments,\n })\n\n initialData.id = ObjectId().toHexString()\n\n return {\n [field.name]: [initialData],\n }\n }\n\n if (field.type === 'blocks') {\n for (const block of field.blocks) {\n const blockInitialData = getInitialDrawerData({\n collectionSlug,\n docID,\n fields: block.fields,\n segments: nextSegments,\n })\n\n if (blockInitialData) {\n blockInitialData.id = ObjectId().toHexString()\n blockInitialData.blockType = block.slug\n\n return {\n [field.name]: [blockInitialData],\n }\n }\n }\n }\n}\n\nconst JoinFieldComponent: JoinFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { allowCreate, description },\n collection,\n label,\n localized,\n on,\n required,\n },\n path,\n } = props\n\n const { id: docID, docConfig } = useDocumentInfo()\n\n const { getEntityConfig } = useConfig()\n\n const { customComponents: { AfterInput, BeforeInput, Description, Label } = {}, value } =\n useField<PaginatedDocs>({\n path,\n })\n\n const filterOptions: null | Where = useMemo(() => {\n if (!docID) {\n return null\n }\n\n let value: { relationTo: string; value: number | string } | number | string = docID\n\n if (Array.isArray(field.targetField.relationTo)) {\n value = {\n relationTo: docConfig.slug,\n value,\n }\n }\n\n const where = {\n [on]: {\n equals: value,\n },\n }\n\n if (field.where) {\n return {\n and: [where, field.where],\n }\n }\n\n return where\n }, [docID, field.targetField.relationTo, field.where, on, docConfig.slug])\n\n const initialDrawerData = useMemo(() => {\n const relatedCollection = getEntityConfig({ collectionSlug: field.collection })\n\n return getInitialDrawerData({\n collectionSlug: docConfig.slug,\n docID,\n fields: relatedCollection.fields,\n segments: field.on.split('.'),\n })\n }, [getEntityConfig, field.collection, field.on, docConfig.slug, docID])\n\n return (\n <div\n className={[fieldBaseClass, 'join'].filter(Boolean).join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n <RelationshipTable\n AfterInput={AfterInput}\n allowCreate={typeof docID !== 'undefined' && allowCreate}\n BeforeInput={BeforeInput}\n disableTable={filterOptions === null}\n field={field as JoinFieldClient}\n filterOptions={filterOptions}\n initialData={docID && value ? value : ({ docs: [] } as PaginatedDocs)}\n initialDrawerData={initialDrawerData}\n Label={\n <h4 style={{ margin: 0 }}>\n {Label || (\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n )}\n </h4>\n }\n relationTo={collection}\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JoinField = withCondition(JoinFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["ObjectIdImport","flattenTopLevelFields","React","useMemo","RelationshipTable","RenderCustomComponent","useField","withCondition","useConfig","useDocumentInfo","FieldDescription","FieldLabel","fieldBaseClass","ObjectId","default","getInitialDrawerData","collectionSlug","docID","fields","segments","flattenedFields","path","field","find","name","type","value","Array","isArray","relationTo","hasMany","nextSegments","slice","length","initialData","id","toHexString","block","blocks","blockInitialData","blockType","slug","JoinFieldComponent","props","admin","allowCreate","description","collection","label","localized","on","required","docConfig","getEntityConfig","customComponents","AfterInput","BeforeInput","Description","Label","filterOptions","targetField","where","equals","and","initialDrawerData","relatedCollection","split","_jsxs","className","filter","Boolean","join","replace","_jsx","disableTable","docs","style","margin","CustomComponent","Fallback","JoinField"],"sources":["../../../src/fields/Join/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientField,\n JoinFieldClient,\n JoinFieldClientComponent,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { flattenTopLevelFields } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RelationshipTable } from '../../elements/RelationshipTable/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../index.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\n/**\n * Recursively builds the default data for joined collection\n */\nconst getInitialDrawerData = ({\n collectionSlug,\n docID,\n fields,\n segments,\n}: {\n collectionSlug: string\n docID: number | string\n fields: ClientField[]\n segments: string[]\n}) => {\n const flattenedFields = flattenTopLevelFields(fields)\n\n const path = segments[0]\n\n const field = flattenedFields.find((field) => field.name === path)\n\n if (!field) {\n return null\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n let value: { relationTo: string; value: number | string } | number | string = docID\n if (Array.isArray(field.relationTo)) {\n value = {\n relationTo: collectionSlug,\n value: docID,\n }\n }\n return {\n [field.name]: field.hasMany ? [value] : value,\n }\n }\n\n const nextSegments = segments.slice(1, segments.length)\n\n if (field.type === 'tab' || field.type === 'group') {\n return {\n [field.name]: getInitialDrawerData({\n collectionSlug,\n docID,\n fields: field.fields,\n segments: nextSegments,\n }),\n }\n }\n\n if (field.type === 'array') {\n const initialData = getInitialDrawerData({\n collectionSlug,\n docID,\n fields: field.fields,\n segments: nextSegments,\n })\n\n initialData.id = ObjectId().toHexString()\n\n return {\n [field.name]: [initialData],\n }\n }\n\n if (field.type === 'blocks') {\n for (const block of field.blocks) {\n const blockInitialData = getInitialDrawerData({\n collectionSlug,\n docID,\n fields: block.fields,\n segments: nextSegments,\n })\n\n if (blockInitialData) {\n blockInitialData.id = ObjectId().toHexString()\n blockInitialData.blockType = block.slug\n\n return {\n [field.name]: [blockInitialData],\n }\n }\n }\n }\n}\n\nconst JoinFieldComponent: JoinFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { allowCreate, description },\n collection,\n label,\n localized,\n on,\n required,\n },\n path,\n } = props\n\n const { id: docID, docConfig } = useDocumentInfo()\n\n const { getEntityConfig } = useConfig()\n\n const { customComponents: { AfterInput, BeforeInput, Description, Label } = {}, value } =\n useField<PaginatedDocs>({\n path,\n })\n\n const filterOptions: null | Where = useMemo(() => {\n if (!docID) {\n return null\n }\n\n let value: { relationTo: string; value: number | string } | number | string = docID\n\n if (Array.isArray(field.targetField.relationTo)) {\n value = {\n relationTo: docConfig.slug,\n value,\n }\n }\n\n const where = {\n [on]: {\n equals: value,\n },\n }\n\n if (field.where) {\n return {\n and: [where, field.where],\n }\n }\n\n return where\n }, [docID, field.targetField.relationTo, field.where, on, docConfig?.slug])\n\n const initialDrawerData = useMemo(() => {\n const relatedCollection = getEntityConfig({ collectionSlug: field.collection })\n\n return getInitialDrawerData({\n collectionSlug: docConfig?.slug,\n docID,\n fields: relatedCollection.fields,\n segments: field.on.split('.'),\n })\n }, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID])\n\n if (!docConfig) {\n return null\n }\n\n return (\n <div\n className={[fieldBaseClass, 'join'].filter(Boolean).join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n <RelationshipTable\n AfterInput={AfterInput}\n allowCreate={typeof docID !== 'undefined' && allowCreate}\n BeforeInput={BeforeInput}\n disableTable={filterOptions === null}\n field={field as JoinFieldClient}\n filterOptions={filterOptions}\n initialData={docID && value ? value : ({ docs: [] } as PaginatedDocs)}\n initialDrawerData={initialDrawerData}\n Label={\n <h4 style={{ margin: 0 }}>\n {Label || (\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n )}\n </h4>\n }\n relationTo={collection}\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JoinField = withCondition(JoinFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Textarea/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAQpD,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0EtD,CAAA"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Textarea/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAQpD,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsEtD,CAAA"}
@@ -74,22 +74,15 @@ export const TextareaInput = props => {
74
74
  }), BeforeInput, _jsx("label", {
75
75
  className: "textarea-outer",
76
76
  htmlFor: `field-${path.replace(/\./g, "__")}`,
77
- children: _jsxs("div", {
78
- className: "textarea-inner",
79
- children: [_jsx("div", {
80
- className: "textarea-clone",
81
- "data-value": value || placeholder || ""
82
- }), _jsx("textarea", {
83
- className: "textarea-element",
84
- "data-rtl": rtl,
85
- disabled: readOnly,
86
- id: `field-${path.replace(/\./g, "__")}`,
87
- name: path,
88
- onChange,
89
- placeholder: getTranslation(placeholder, i18n),
90
- rows,
91
- value: value || ""
92
- })]
77
+ children: _jsx("textarea", {
78
+ "data-rtl": rtl,
79
+ disabled: readOnly,
80
+ id: `field-${path.replace(/\./g, "__")}`,
81
+ name: path,
82
+ onChange,
83
+ placeholder: getTranslation(placeholder, i18n),
84
+ rows,
85
+ value: value || ""
93
86
  })
94
87
  }), AfterInput, _jsx(RenderCustomComponent, {
95
88
  CustomComponent: Description,
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["c","_c","getTranslation","React","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useTranslation","fieldBaseClass","TextareaInput","props","$","AfterInput","BeforeInput","className","Description","description","Error","Label","label","localized","onChange","path","placeholder","readOnly","required","rows","rtl","showError","style","value","i18n","t0","t1","t2","filter","Boolean","t3","join","t4","_jsxs","children","_jsx","CustomComponent","Fallback","htmlFor","replace","disabled","id","name"],"sources":["../../../src/fields/Textarea/Input.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { TextAreaInputProps } from './types.js'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport const TextareaInput: React.FC<TextAreaInputProps> = (props) => {\n const {\n AfterInput,\n BeforeInput,\n className,\n Description,\n description,\n Error,\n Label,\n label,\n localized,\n onChange,\n path,\n placeholder,\n readOnly,\n required,\n rows,\n rtl,\n showError,\n style,\n value,\n } = props\n\n const { i18n } = useTranslation()\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'textarea',\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n <label className=\"textarea-outer\" htmlFor={`field-${path.replace(/\\./g, '__')}`}>\n <div className=\"textarea-inner\">\n <div className=\"textarea-clone\" data-value={value || placeholder || ''} />\n <textarea\n className=\"textarea-element\"\n data-rtl={rtl}\n disabled={readOnly}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={onChange}\n placeholder={getTranslation(placeholder, i18n)}\n rows={rows}\n value={value || ''}\n />\n </div>\n </label>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Input.js","names":["c","_c","getTranslation","React","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useTranslation","fieldBaseClass","TextareaInput","props","$","AfterInput","BeforeInput","className","Description","description","Error","Label","label","localized","onChange","path","placeholder","readOnly","required","rows","rtl","showError","style","value","i18n","t0","t1","t2","filter","Boolean","t3","join","t4","_jsxs","children","_jsx","CustomComponent","Fallback","htmlFor","replace","disabled","id","name"],"sources":["../../../src/fields/Textarea/Input.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { TextAreaInputProps } from './types.js'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport const TextareaInput: React.FC<TextAreaInputProps> = (props) => {\n const {\n AfterInput,\n BeforeInput,\n className,\n Description,\n description,\n Error,\n Label,\n label,\n localized,\n onChange,\n path,\n placeholder,\n readOnly,\n required,\n rows,\n rtl,\n showError,\n style,\n value,\n } = props\n\n const { i18n } = useTranslation()\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'textarea',\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n <label className=\"textarea-outer\" htmlFor={`field-${path.replace(/\\./g, '__')}`}>\n <textarea\n data-rtl={rtl}\n disabled={readOnly}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={onChange}\n placeholder={getTranslation(placeholder, i18n)}\n rows={rows}\n value={value || ''}\n />\n </label>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,20 +6,14 @@
6
6
  display: flex;
7
7
  flex-direction: column;
8
8
 
9
- .textarea-outer {
9
+ textarea {
10
10
  @include formInput();
11
- display: flex;
11
+ field-sizing: content;
12
+ overflow-y: auto;
12
13
  resize: vertical;
13
14
  min-height: base(3);
14
15
  height: 100%;
15
-
16
- // Scrollbar for giant content
17
- max-height: calc(100vh - $top-header-offset - calc(#{base(5)}));
18
- overflow: hidden;
19
-
20
- @include mid-break {
21
- max-height: 60vh;
22
- }
16
+ display: flex;
23
17
  }
24
18
 
25
19
  &.read-only {
@@ -28,78 +22,12 @@
28
22
  }
29
23
  }
30
24
 
31
- // This element takes exactly the same dimensions as the clone
32
- .textarea-inner {
33
- display: block;
34
- position: relative;
35
- line-height: inherit;
36
- flex-grow: 1;
37
- background: none;
38
- outline: none;
39
- }
40
-
41
- // Unstyle the textarea, the border is rendered on .textarea-outer
42
- .textarea-element {
43
- position: relative;
44
- z-index: 1;
45
- width: 100%;
46
- height: 100%;
47
- border: inherit;
48
- padding: inherit;
49
- font: inherit;
50
- line-height: inherit;
51
- color: inherit;
52
- background: none;
53
- overflow: auto;
54
- resize: none;
55
- outline: none;
56
- text-transform: inherit;
57
-
58
- &::-webkit-scrollbar {
59
- display: none;
60
- }
61
- &[data-rtl='true'] {
62
- direction: rtl;
63
- }
64
- }
65
-
66
- // Clone of textarea with same height
67
- .textarea-clone {
68
- position: absolute;
69
- top: 0;
70
- left: 0;
71
- right: 0;
72
- bottom: 0;
73
- pointer-events: none;
74
- white-space: pre-wrap;
75
- overflow-wrap: break-word;
76
- visibility: hidden;
77
- z-index: 0;
78
- line-height: inherit;
79
- }
80
-
81
- .textarea-clone::before {
82
- content: attr(data-value) ' ';
83
- visibility: hidden;
84
- opacity: 0;
85
- white-space: pre-wrap;
86
- overflow-wrap: break-word;
87
- }
88
-
89
- .textarea-clone::after {
90
- content: attr(data-after);
91
- opacity: 0.5;
92
- }
93
-
94
- @include mid-break {
95
- padding: 0;
96
- }
97
25
  }
98
26
 
99
27
  html[data-theme='light'] {
100
28
  .field-type.textarea {
101
29
  &.error {
102
- .textarea-outer {
30
+ textarea {
103
31
  @include lightInputError;
104
32
  }
105
33
  }
@@ -109,7 +37,7 @@
109
37
  html[data-theme='dark'] {
110
38
  .field-type.textarea {
111
39
  &.error {
112
- .textarea-outer {
40
+ textarea {
113
41
  @include darkInputError;
114
42
  }
115
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fieldReducer.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/fieldReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,SAAS,EAAO,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAwW7E"}
1
+ {"version":3,"file":"fieldReducer.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/fieldReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,SAAS,EAAO,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CA2X7E"}
@@ -285,17 +285,33 @@ export function fieldReducer(state, action) {
285
285
  // This is a performance enhancement for saving
286
286
  // large documents with hundreds of fields
287
287
  const newState = {};
288
- Object.entries(action.state).forEach(([path, field]) => {
288
+ for (const [path, newField] of Object.entries(action.state)) {
289
289
  const oldField = state[path];
290
- const newField = field;
290
+ if (newField.valid !== false) {
291
+ newField.valid = true;
292
+ }
293
+ if (newField.passesCondition !== false) {
294
+ newField.passesCondition = true;
295
+ }
291
296
  if (!dequal(oldField, newField)) {
292
297
  newState[path] = newField;
293
298
  } else if (oldField) {
294
299
  newState[path] = oldField;
295
300
  }
296
- });
301
+ }
297
302
  return newState;
298
303
  }
304
+ //TODO: Remove this in 4.0 - this is a temporary fix to prevent a breaking change
305
+ if (action.sanitize) {
306
+ for (const field of Object.values(action.state)) {
307
+ if (field.valid !== false) {
308
+ field.valid = true;
309
+ }
310
+ if (field.passesCondition !== false) {
311
+ field.passesCondition = true;
312
+ }
313
+ }
314
+ }
299
315
  // If we're not optimizing, just set the state to the new state
300
316
  return action.state;
301
317
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fieldReducer.js","names":["ObjectIdImport","dequal","deepCopyObjectSimple","deepCopyObjectSimpleWithoutReactComponents","flattenRows","separateRows","ObjectId","default","fieldReducer","state","action","type","blockType","path","rowIndex","rowIndexFromArgs","subFieldState","rows","length","withNewRow","newRow","id","value","toHexString","undefined","collapsed","isLoading","splice","initialValue","valid","remainingFields","siblingRows","newState","passesCondition","requiresRender","disableFormData","errorPaths","errors","forEach","message","fieldPath","errorMessage","segments","split","push","fieldErrorPath","parentPath","slice","join","Object","entries","reduce","acc","fieldState","fieldErrorPaths","errorACC","startsWith","changed","newErrorPaths","Array","isArray","includes","rowsMetadata","duplicateRowMetadata","duplicateRowState","key","keys","filter","endsWith","idState","isValid","moveFromIndex","moveToIndex","copyOfMovingRow","rowStateCopy","movingRowState","rowIndexArg","Math","max","min","optimize","field","oldField","newField","updatedRows","formState"],"sources":["../../../src/forms/Form/fieldReducer.ts"],"sourcesContent":["'use client'\nimport type { FormField, FormState, Row } from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { deepCopyObjectSimple, deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared'\n\nimport type { FieldAction } from './types.js'\n\nimport { flattenRows, separateRows } from './rows.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\n/**\n * Reducer which modifies the form field state (all the current data of the fields in the form). When called using dispatch, it will return a new state object.\n */\nexport function fieldReducer(state: FormState, action: FieldAction): FormState {\n switch (action.type) {\n case 'ADD_ROW': {\n const { blockType, path, rowIndex: rowIndexFromArgs, subFieldState = {} } = action\n\n const rowIndex =\n typeof rowIndexFromArgs === 'number' ? rowIndexFromArgs : state[path]?.rows?.length || 0\n\n const withNewRow = [...(state[path]?.rows || [])]\n\n const newRow: Row = {\n id: (subFieldState?.id?.value as string) || new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n isLoading: true,\n }\n\n withNewRow.splice(rowIndex, 0, newRow)\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // add new row to array _field state_\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n\n siblingRows.splice(rowIndex, 0, subFieldState)\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [`${path}.${rowIndex}.id`]: {\n initialValue: newRow.id,\n passesCondition: true,\n requiresRender: true,\n valid: true,\n value: newRow.id,\n },\n [path]: {\n ...state[path],\n disableFormData: true,\n requiresRender: true,\n rows: withNewRow,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'ADD_SERVER_ERRORS': {\n let newState = { ...state }\n\n const errorPaths: { fieldErrorPath: string; parentPath: string }[] = []\n\n action.errors.forEach(({ message, path: fieldPath }) => {\n newState[fieldPath] = {\n ...(newState[fieldPath] || {\n initialValue: null,\n value: null,\n }),\n errorMessage: message,\n valid: false,\n }\n\n const segments = fieldPath.split('.')\n if (segments.length > 1) {\n errorPaths.push({\n fieldErrorPath: fieldPath,\n parentPath: segments.slice(0, segments.length - 1).join('.'),\n })\n }\n })\n\n newState = Object.entries(newState).reduce((acc, [path, fieldState]) => {\n const fieldErrorPaths = errorPaths.reduce((errorACC, { fieldErrorPath, parentPath }) => {\n if (parentPath.startsWith(path)) {\n errorACC.push(fieldErrorPath)\n }\n return errorACC\n }, [])\n\n let changed = false\n\n if (fieldErrorPaths.length > 0) {\n const newErrorPaths = Array.isArray(fieldState.errorPaths) ? fieldState.errorPaths : []\n\n fieldErrorPaths.forEach((fieldErrorPath) => {\n if (!newErrorPaths.includes(fieldErrorPath)) {\n newErrorPaths.push(fieldErrorPath)\n changed = true\n }\n })\n\n if (changed) {\n acc[path] = {\n ...fieldState,\n errorPaths: newErrorPaths,\n }\n }\n }\n\n if (!changed) {\n acc[path] = fieldState\n }\n\n return acc\n }, {})\n\n return newState\n }\n\n case 'DUPLICATE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path].rows || [])]\n\n const duplicateRowMetadata = deepCopyObjectSimple(rowsMetadata[rowIndex])\n if (duplicateRowMetadata.id) {\n duplicateRowMetadata.id = new ObjectId().toHexString()\n }\n\n const duplicateRowState = deepCopyObjectSimpleWithoutReactComponents(rows[rowIndex])\n if (duplicateRowState.id) {\n duplicateRowState.id.value = new ObjectId().toHexString()\n duplicateRowState.id.initialValue = new ObjectId().toHexString()\n }\n\n for (const key of Object.keys(duplicateRowState).filter((key) => key.endsWith('.id'))) {\n const idState = duplicateRowState[key]\n\n if (idState && typeof idState.value === 'string' && ObjectId.isValid(idState.value)) {\n duplicateRowState[key].value = new ObjectId().toHexString()\n duplicateRowState[key].initialValue = new ObjectId().toHexString()\n }\n }\n\n // If there are subfields\n if (Object.keys(duplicateRowState).length > 0) {\n // Add new object containing subfield names to unflattenedRows array\n rows.splice(rowIndex + 1, 0, duplicateRowState)\n rowsMetadata.splice(rowIndex + 1, 0, duplicateRowMetadata)\n }\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n disableFormData: true,\n requiresRender: true,\n rows: rowsMetadata,\n value: rows.length,\n },\n }\n\n return newState\n }\n\n case 'MOVE_ROW': {\n const { moveFromIndex, moveToIndex, path } = action\n const { remainingFields, rows } = separateRows(path, state)\n\n // copy the row to move\n const copyOfMovingRow = rows[moveFromIndex]\n // delete the row by index\n rows.splice(moveFromIndex, 1)\n // insert row copyOfMovingRow back in\n rows.splice(moveToIndex, 0, copyOfMovingRow)\n\n // modify array/block internal row state (i.e. collapsed, blockType)\n const rowStateCopy = [...(state[path]?.rows || [])]\n const movingRowState = { ...rowStateCopy[moveFromIndex] }\n rowStateCopy.splice(moveFromIndex, 1)\n rowStateCopy.splice(moveToIndex, 0, movingRowState)\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n requiresRender: true,\n rows: rowStateCopy,\n },\n }\n\n return newState\n }\n\n case 'REMOVE': {\n const newState = { ...state }\n if (newState[action.path]) {\n delete newState[action.path]\n }\n return newState\n }\n\n case 'REMOVE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path]?.rows || [])]\n\n rows.splice(rowIndex, 1)\n rowsMetadata.splice(rowIndex, 1)\n\n const newState: FormState = {\n ...remainingFields,\n [path]: {\n ...state[path],\n disableFormData: rows.length > 0,\n requiresRender: true,\n rows: rowsMetadata,\n value: rows.length,\n },\n ...flattenRows(path, rows),\n }\n\n return newState\n }\n\n case 'REPLACE_ROW': {\n const { blockType, path, rowIndex: rowIndexArg, subFieldState = {} } = action\n\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n const rowIndex = Math.max(0, Math.min(rowIndexArg, siblingRows?.length - 1 || 0))\n\n const rowsMetadata = [...(state[path]?.rows || [])]\n rowsMetadata[rowIndex] = {\n id: new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n }\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // replace form _field state_\n siblingRows[rowIndex] = subFieldState\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsMetadata,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'REPLACE_STATE': {\n if (action.optimize !== false) {\n // Only update fields that have changed\n // by comparing old value / initialValue to new\n // ..\n // This is a performance enhancement for saving\n // large documents with hundreds of fields\n const newState = {}\n\n Object.entries(action.state).forEach(([path, field]) => {\n const oldField = state[path]\n const newField = field\n\n if (!dequal(oldField, newField)) {\n newState[path] = newField\n } else if (oldField) {\n newState[path] = oldField\n }\n })\n return newState\n }\n // If we're not optimizing, just set the state to the new state\n return action.state\n }\n\n case 'SET_ALL_ROWS_COLLAPSED': {\n const { path, updatedRows } = action\n\n return {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n }\n\n case 'SET_ROW_COLLAPSED': {\n const { path, updatedRows } = action\n\n const newState = {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n\n return newState\n }\n\n case 'UPDATE': {\n const newField = Object.entries(action).reduce(\n (field, [key, value]) => {\n if (\n [\n 'disableFormData',\n 'errorMessage',\n 'initialValue',\n 'rows',\n 'valid',\n 'validate',\n 'value',\n ].includes(key)\n ) {\n return {\n ...field,\n [key]: value,\n }\n }\n\n return field\n },\n state[action.path] || ({} as FormField),\n )\n\n const newState = {\n ...state,\n [action.path]: newField,\n }\n\n return newState\n }\n\n case 'UPDATE_MANY': {\n const newState = { ...state }\n\n Object.entries(action.formState).forEach(([path, field]) => {\n newState[path] = field\n })\n\n return newState\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"AAAA;;AAGA,OAAOA,cAAA,MAAoB;AAC3B,SAASC,MAAM,QAAQ,cAAa,CAAC;AACrC,SAASC,oBAAoB,EAAEC,0CAA0C,QAAQ;AAIjF,SAASC,WAAW,EAAEC,YAAY,QAAQ;AAE1C,MAAMC,QAAA,GAAYN,cAAA,CAAeO,OAAO,IACtCP,cAAA;AAEF;;;AAGA,OAAO,SAASQ,aAAaC,KAAgB,EAAEC,MAAmB;EAChE,QAAQA,MAAA,CAAOC,IAAI;IACjB,KAAK;MAAW;QACd,MAAM;UAAEC,SAAS;UAAEC,IAAI;UAAEC,QAAA,EAAUC,gBAAgB;UAAEC,aAAA,GAAgB,CAAC;QAAC,CAAE,GAAGN,MAAA;QAE5E,MAAMI,QAAA,GACJ,OAAOC,gBAAA,KAAqB,WAAWA,gBAAA,GAAmBN,KAAK,CAACI,IAAA,CAAK,EAAEI,IAAA,EAAMC,MAAA,IAAU;QAEzF,MAAMC,UAAA,GAAa,C,IAAKV,KAAK,CAACI,IAAA,CAAK,EAAEI,IAAA,IAAQ,EAAE,EAAE;QAEjD,MAAMG,MAAA,GAAc;UAClBC,EAAA,EAAIL,aAAC,EAAeK,EAAA,EAAIC,KAAA,IAAoB,IAAIhB,QAAA,GAAWiB,WAAW;UACtEX,SAAA,EAAWA,SAAA,IAAaY,SAAA;UACxBC,SAAA,EAAW;UACXC,SAAA,EAAW;QACb;QAEAP,UAAA,CAAWQ,MAAM,CAACb,QAAA,EAAU,GAAGM,MAAA;QAE/B,IAAIR,SAAA,EAAW;UACbI,aAAA,CAAcJ,SAAS,GAAG;YACxBgB,YAAA,EAAchB,SAAA;YACdiB,KAAA,EAAO;YACPP,KAAA,EAAOV;UACT;QACF;QAEA;QACA,MAAM;UAAEkB,eAAe;UAAEb,IAAA,EAAMc;QAAW,CAAE,GAAG1B,YAAA,CAAaQ,IAAA,EAAMJ,KAAA;QAElEsB,WAAA,CAAYJ,MAAM,CAACb,QAAA,EAAU,GAAGE,aAAA;QAEhC,MAAMgB,QAAA,GAAsB;UAC1B,GAAGF,eAAe;UAClB,GAAG1B,WAAA,CAAYS,IAAA,EAAMkB,WAAA,CAAY;UACjC,CAAC,GAAGlB,IAAA,IAAQC,QAAA,KAAa,GAAG;YAC1Bc,YAAA,EAAcR,MAAA,CAAOC,EAAE;YACvBY,eAAA,EAAiB;YACjBC,cAAA,EAAgB;YAChBL,KAAA,EAAO;YACPP,KAAA,EAAOF,MAAA,CAAOC;UAChB;UACA,CAACR,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdsB,eAAA,EAAiB;YACjBD,cAAA,EAAgB;YAChBjB,IAAA,EAAME,UAAA;YACNG,KAAA,EAAOS,WAAA,CAAYb;UACrB;QACF;QAEA,OAAOc,QAAA;MACT;IAEA,KAAK;MAAqB;QACxB,IAAIA,QAAA,GAAW;UAAE,GAAGvB;QAAM;QAE1B,MAAM2B,UAAA,GAA+D,EAAE;QAEvE1B,MAAA,CAAO2B,MAAM,CAACC,OAAO,CAAC,CAAC;UAAEC,OAAO;UAAE1B,IAAA,EAAM2B;QAAS,CAAE;UACjDR,QAAQ,CAACQ,SAAA,CAAU,GAAG;YACpB,IAAIR,QAAQ,CAACQ,SAAA,CAAU,IAAI;cACzBZ,YAAA,EAAc;cACdN,KAAA,EAAO;YACT,CAAC;YACDmB,YAAA,EAAcF,OAAA;YACdV,KAAA,EAAO;UACT;UAEA,MAAMa,QAAA,GAAWF,SAAA,CAAUG,KAAK,CAAC;UACjC,IAAID,QAAA,CAASxB,MAAM,GAAG,GAAG;YACvBkB,UAAA,CAAWQ,IAAI,CAAC;cACdC,cAAA,EAAgBL,SAAA;cAChBM,UAAA,EAAYJ,QAAA,CAASK,KAAK,CAAC,GAAGL,QAAA,CAASxB,MAAM,GAAG,GAAG8B,IAAI,CAAC;YAC1D;UACF;QACF;QAEAhB,QAAA,GAAWiB,MAAA,CAAOC,OAAO,CAAClB,QAAA,EAAUmB,MAAM,CAAC,CAACC,GAAA,EAAK,CAACvC,IAAA,EAAMwC,UAAA,CAAW;UACjE,MAAMC,eAAA,GAAkBlB,UAAA,CAAWe,MAAM,CAAC,CAACI,QAAA,EAAU;YAAEV,cAAc;YAAEC;UAAU,CAAE;YACjF,IAAIA,UAAA,CAAWU,UAAU,CAAC3C,IAAA,GAAO;cAC/B0C,QAAA,CAASX,IAAI,CAACC,cAAA;YAChB;YACA,OAAOU,QAAA;UACT,GAAG,EAAE;UAEL,IAAIE,OAAA,GAAU;UAEd,IAAIH,eAAA,CAAgBpC,MAAM,GAAG,GAAG;YAC9B,MAAMwC,aAAA,GAAgBC,KAAA,CAAMC,OAAO,CAACP,UAAA,CAAWjB,UAAU,IAAIiB,UAAA,CAAWjB,UAAU,GAAG,EAAE;YAEvFkB,eAAA,CAAgBhB,OAAO,CAAEO,cAAA;cACvB,IAAI,CAACa,aAAA,CAAcG,QAAQ,CAAChB,cAAA,GAAiB;gBAC3Ca,aAAA,CAAcd,IAAI,CAACC,cAAA;gBACnBY,OAAA,GAAU;cACZ;YACF;YAEA,IAAIA,OAAA,EAAS;cACXL,GAAG,CAACvC,IAAA,CAAK,GAAG;gBACV,GAAGwC,UAAU;gBACbjB,UAAA,EAAYsB;cACd;YACF;UACF;UAEA,IAAI,CAACD,OAAA,EAAS;YACZL,GAAG,CAACvC,IAAA,CAAK,GAAGwC,UAAA;UACd;UAEA,OAAOD,GAAA;QACT,GAAG,CAAC;QAEJ,OAAOpB,QAAA;MACT;IAEA,KAAK;MAAiB;QACpB,MAAM;UAAEnB,IAAI;UAAEC;QAAQ,CAAE,GAAGJ,MAAA;QAC3B,MAAM;UAAEoB,eAAe;UAAEb;QAAI,CAAE,GAAGZ,YAAA,CAAaQ,IAAA,EAAMJ,KAAA;QACrD,MAAMqD,YAAA,GAAe,C,IAAKrD,KAAK,CAACI,IAAA,CAAK,CAACI,IAAI,IAAI,EAAE,EAAE;QAElD,MAAM8C,oBAAA,GAAuB7D,oBAAA,CAAqB4D,YAAY,CAAChD,QAAA,CAAS;QACxE,IAAIiD,oBAAA,CAAqB1C,EAAE,EAAE;UAC3B0C,oBAAA,CAAqB1C,EAAE,GAAG,IAAIf,QAAA,GAAWiB,WAAW;QACtD;QAEA,MAAMyC,iBAAA,GAAoB7D,0CAAA,CAA2Cc,IAAI,CAACH,QAAA,CAAS;QACnF,IAAIkD,iBAAA,CAAkB3C,EAAE,EAAE;UACxB2C,iBAAA,CAAkB3C,EAAE,CAACC,KAAK,GAAG,IAAIhB,QAAA,GAAWiB,WAAW;UACvDyC,iBAAA,CAAkB3C,EAAE,CAACO,YAAY,GAAG,IAAItB,QAAA,GAAWiB,WAAW;QAChE;QAEA,KAAK,MAAM0C,GAAA,IAAOhB,MAAA,CAAOiB,IAAI,CAACF,iBAAA,EAAmBG,MAAM,CAAEF,GAAA,IAAQA,GAAA,CAAIG,QAAQ,CAAC,SAAS;UACrF,MAAMC,OAAA,GAAUL,iBAAiB,CAACC,GAAA,CAAI;UAEtC,IAAII,OAAA,IAAW,OAAOA,OAAA,CAAQ/C,KAAK,KAAK,YAAYhB,QAAA,CAASgE,OAAO,CAACD,OAAA,CAAQ/C,KAAK,GAAG;YACnF0C,iBAAiB,CAACC,GAAA,CAAI,CAAC3C,KAAK,GAAG,IAAIhB,QAAA,GAAWiB,WAAW;YACzDyC,iBAAiB,CAACC,GAAA,CAAI,CAACrC,YAAY,GAAG,IAAItB,QAAA,GAAWiB,WAAW;UAClE;QACF;QAEA;QACA,IAAI0B,MAAA,CAAOiB,IAAI,CAACF,iBAAA,EAAmB9C,MAAM,GAAG,GAAG;UAC7C;UACAD,IAAA,CAAKU,MAAM,CAACb,QAAA,GAAW,GAAG,GAAGkD,iBAAA;UAC7BF,YAAA,CAAanC,MAAM,CAACb,QAAA,GAAW,GAAG,GAAGiD,oBAAA;QACvC;QAEA,MAAM/B,QAAA,GAAW;UACf,GAAGF,eAAe;UAClB,GAAG1B,WAAA,CAAYS,IAAA,EAAMI,IAAA,CAAK;UAC1B,CAACJ,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdsB,eAAA,EAAiB;YACjBD,cAAA,EAAgB;YAChBjB,IAAA,EAAM6C,YAAA;YACNxC,KAAA,EAAOL,IAAA,CAAKC;UACd;QACF;QAEA,OAAOc,QAAA;MACT;IAEA,KAAK;MAAY;QACf,MAAM;UAAEuC,aAAa;UAAEC,WAAW;UAAE3D;QAAI,CAAE,GAAGH,MAAA;QAC7C,MAAM;UAAEoB,eAAe;UAAEb;QAAI,CAAE,GAAGZ,YAAA,CAAaQ,IAAA,EAAMJ,KAAA;QAErD;QACA,MAAMgE,eAAA,GAAkBxD,IAAI,CAACsD,aAAA,CAAc;QAC3C;QACAtD,IAAA,CAAKU,MAAM,CAAC4C,aAAA,EAAe;QAC3B;QACAtD,IAAA,CAAKU,MAAM,CAAC6C,WAAA,EAAa,GAAGC,eAAA;QAE5B;QACA,MAAMC,YAAA,GAAe,C,IAAKjE,KAAK,CAACI,IAAA,CAAK,EAAEI,IAAA,IAAQ,EAAE,EAAE;QACnD,MAAM0D,cAAA,GAAiB;UAAE,GAAGD,YAAY,CAACH,aAAA;QAAe;QACxDG,YAAA,CAAa/C,MAAM,CAAC4C,aAAA,EAAe;QACnCG,YAAA,CAAa/C,MAAM,CAAC6C,WAAA,EAAa,GAAGG,cAAA;QAEpC,MAAM3C,QAAA,GAAW;UACf,GAAGF,eAAe;UAClB,GAAG1B,WAAA,CAAYS,IAAA,EAAMI,IAAA,CAAK;UAC1B,CAACJ,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdqB,cAAA,EAAgB;YAChBjB,IAAA,EAAMyD;UACR;QACF;QAEA,OAAO1C,QAAA;MACT;IAEA,KAAK;MAAU;QACb,MAAMA,QAAA,GAAW;UAAE,GAAGvB;QAAM;QAC5B,IAAIuB,QAAQ,CAACtB,MAAA,CAAOG,IAAI,CAAC,EAAE;UACzB,OAAOmB,QAAQ,CAACtB,MAAA,CAAOG,IAAI,CAAC;QAC9B;QACA,OAAOmB,QAAA;MACT;IAEA,KAAK;MAAc;QACjB,MAAM;UAAEnB,IAAI;UAAEC;QAAQ,CAAE,GAAGJ,MAAA;QAC3B,MAAM;UAAEoB,eAAe;UAAEb;QAAI,CAAE,GAAGZ,YAAA,CAAaQ,IAAA,EAAMJ,KAAA;QACrD,MAAMqD,YAAA,GAAe,C,IAAKrD,KAAK,CAACI,IAAA,CAAK,EAAEI,IAAA,IAAQ,EAAE,EAAE;QAEnDA,IAAA,CAAKU,MAAM,CAACb,QAAA,EAAU;QACtBgD,YAAA,CAAanC,MAAM,CAACb,QAAA,EAAU;QAE9B,MAAMkB,QAAA,GAAsB;UAC1B,GAAGF,eAAe;UAClB,CAACjB,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdsB,eAAA,EAAiBlB,IAAA,CAAKC,MAAM,GAAG;YAC/BgB,cAAA,EAAgB;YAChBjB,IAAA,EAAM6C,YAAA;YACNxC,KAAA,EAAOL,IAAA,CAAKC;UACd;UACA,GAAGd,WAAA,CAAYS,IAAA,EAAMI,IAAA;QACvB;QAEA,OAAOe,QAAA;MACT;IAEA,KAAK;MAAe;QAClB,MAAM;UAAEpB,SAAS;UAAEC,IAAI;UAAEC,QAAA,EAAU8D,WAAW;UAAE5D,aAAA,GAAgB,CAAC;QAAC,CAAE,GAAGN,MAAA;QAEvE,MAAM;UAAEoB,eAAe;UAAEb,IAAA,EAAMc;QAAW,CAAE,GAAG1B,YAAA,CAAaQ,IAAA,EAAMJ,KAAA;QAClE,MAAMK,QAAA,GAAW+D,IAAA,CAAKC,GAAG,CAAC,GAAGD,IAAA,CAAKE,GAAG,CAACH,WAAA,EAAa7C,WAAA,EAAab,MAAA,GAAS,KAAK;QAE9E,MAAM4C,YAAA,GAAe,C,IAAKrD,KAAK,CAACI,IAAA,CAAK,EAAEI,IAAA,IAAQ,EAAE,EAAE;QACnD6C,YAAY,CAAChD,QAAA,CAAS,GAAG;UACvBO,EAAA,EAAI,IAAIf,QAAA,GAAWiB,WAAW;UAC9BX,SAAA,EAAWA,SAAA,IAAaY,SAAA;UACxBC,SAAA,EAAW;QACb;QAEA,IAAIb,SAAA,EAAW;UACbI,aAAA,CAAcJ,SAAS,GAAG;YACxBgB,YAAA,EAAchB,SAAA;YACdiB,KAAA,EAAO;YACPP,KAAA,EAAOV;UACT;QACF;QAEA;QACAmB,WAAW,CAACjB,QAAA,CAAS,GAAGE,aAAA;QAExB,MAAMgB,QAAA,GAAsB;UAC1B,GAAGF,eAAe;UAClB,GAAG1B,WAAA,CAAYS,IAAA,EAAMkB,WAAA,CAAY;UACjC,CAAClB,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdsB,eAAA,EAAiB;YACjBlB,IAAA,EAAM6C,YAAA;YACNxC,KAAA,EAAOS,WAAA,CAAYb;UACrB;QACF;QAEA,OAAOc,QAAA;MACT;IAEA,KAAK;MAAiB;QACpB,IAAItB,MAAA,CAAOsE,QAAQ,KAAK,OAAO;UAC7B;UACA;UACA;UACA;UACA;UACA,MAAMhD,QAAA,GAAW,CAAC;UAElBiB,MAAA,CAAOC,OAAO,CAACxC,MAAA,CAAOD,KAAK,EAAE6B,OAAO,CAAC,CAAC,CAACzB,IAAA,EAAMoE,KAAA,CAAM;YACjD,MAAMC,QAAA,GAAWzE,KAAK,CAACI,IAAA,CAAK;YAC5B,MAAMsE,QAAA,GAAWF,KAAA;YAEjB,IAAI,CAAChF,MAAA,CAAOiF,QAAA,EAAUC,QAAA,GAAW;cAC/BnD,QAAQ,CAACnB,IAAA,CAAK,GAAGsE,QAAA;YACnB,OAAO,IAAID,QAAA,EAAU;cACnBlD,QAAQ,CAACnB,IAAA,CAAK,GAAGqE,QAAA;YACnB;UACF;UACA,OAAOlD,QAAA;QACT;QACA;QACA,OAAOtB,MAAA,CAAOD,KAAK;MACrB;IAEA,KAAK;MAA0B;QAC7B,MAAM;UAAEI,IAAI;UAAEuE;QAAW,CAAE,GAAG1E,MAAA;QAE9B,OAAO;UACL,GAAGD,KAAK;UACR,CAACI,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdI,IAAA,EAAMmE;UACR;QACF;MACF;IAEA,KAAK;MAAqB;QACxB,MAAM;UAAEvE,IAAI;UAAEuE;QAAW,CAAE,GAAG1E,MAAA;QAE9B,MAAMsB,QAAA,GAAW;UACf,GAAGvB,KAAK;UACR,CAACI,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdI,IAAA,EAAMmE;UACR;QACF;QAEA,OAAOpD,QAAA;MACT;IAEA,KAAK;MAAU;QACb,MAAMmD,QAAA,GAAWlC,MAAA,CAAOC,OAAO,CAACxC,MAAA,EAAQyC,MAAM,CAC5C,CAAC8B,KAAA,EAAO,CAAChB,GAAA,EAAK3C,KAAA,CAAM;UAClB,IACE,CACE,mBACA,gBACA,gBACA,QACA,SACA,YACA,QACD,CAACuC,QAAQ,CAACI,GAAA,GACX;YACA,OAAO;cACL,GAAGgB,KAAK;cACR,CAAChB,GAAA,GAAM3C;YACT;UACF;UAEA,OAAO2D,KAAA;QACT,GACAxE,KAAK,CAACC,MAAA,CAAOG,IAAI,CAAC,IAAK,CAAC;QAG1B,MAAMmB,QAAA,GAAW;UACf,GAAGvB,KAAK;UACR,CAACC,MAAA,CAAOG,IAAI,GAAGsE;QACjB;QAEA,OAAOnD,QAAA;MACT;IAEA,KAAK;MAAe;QAClB,MAAMA,QAAA,GAAW;UAAE,GAAGvB;QAAM;QAE5BwC,MAAA,CAAOC,OAAO,CAACxC,MAAA,CAAO2E,SAAS,EAAE/C,OAAO,CAAC,CAAC,CAACzB,IAAA,EAAMoE,KAAA,CAAM;UACrDjD,QAAQ,CAACnB,IAAA,CAAK,GAAGoE,KAAA;QACnB;QAEA,OAAOjD,QAAA;MACT;IAEA;MAAS;QACP,OAAOvB,KAAA;MACT;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"fieldReducer.js","names":["ObjectIdImport","dequal","deepCopyObjectSimple","deepCopyObjectSimpleWithoutReactComponents","flattenRows","separateRows","ObjectId","default","fieldReducer","state","action","type","blockType","path","rowIndex","rowIndexFromArgs","subFieldState","rows","length","withNewRow","newRow","id","value","toHexString","undefined","collapsed","isLoading","splice","initialValue","valid","remainingFields","siblingRows","newState","passesCondition","requiresRender","disableFormData","errorPaths","errors","forEach","message","fieldPath","errorMessage","segments","split","push","fieldErrorPath","parentPath","slice","join","Object","entries","reduce","acc","fieldState","fieldErrorPaths","errorACC","startsWith","changed","newErrorPaths","Array","isArray","includes","rowsMetadata","duplicateRowMetadata","duplicateRowState","key","keys","filter","endsWith","idState","isValid","moveFromIndex","moveToIndex","copyOfMovingRow","rowStateCopy","movingRowState","rowIndexArg","Math","max","min","optimize","newField","oldField","sanitize","field","values","updatedRows","formState"],"sources":["../../../src/forms/Form/fieldReducer.ts"],"sourcesContent":["'use client'\nimport type { FormField, FormState, Row } from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { deepCopyObjectSimple, deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared'\n\nimport type { FieldAction } from './types.js'\n\nimport { flattenRows, separateRows } from './rows.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\n/**\n * Reducer which modifies the form field state (all the current data of the fields in the form). When called using dispatch, it will return a new state object.\n */\nexport function fieldReducer(state: FormState, action: FieldAction): FormState {\n switch (action.type) {\n case 'ADD_ROW': {\n const { blockType, path, rowIndex: rowIndexFromArgs, subFieldState = {} } = action\n\n const rowIndex =\n typeof rowIndexFromArgs === 'number' ? rowIndexFromArgs : state[path]?.rows?.length || 0\n\n const withNewRow = [...(state[path]?.rows || [])]\n\n const newRow: Row = {\n id: (subFieldState?.id?.value as string) || new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n isLoading: true,\n }\n\n withNewRow.splice(rowIndex, 0, newRow)\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // add new row to array _field state_\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n\n siblingRows.splice(rowIndex, 0, subFieldState)\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [`${path}.${rowIndex}.id`]: {\n initialValue: newRow.id,\n passesCondition: true,\n requiresRender: true,\n valid: true,\n value: newRow.id,\n },\n [path]: {\n ...state[path],\n disableFormData: true,\n requiresRender: true,\n rows: withNewRow,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'ADD_SERVER_ERRORS': {\n let newState = { ...state }\n\n const errorPaths: { fieldErrorPath: string; parentPath: string }[] = []\n\n action.errors.forEach(({ message, path: fieldPath }) => {\n newState[fieldPath] = {\n ...(newState[fieldPath] || {\n initialValue: null,\n value: null,\n }),\n errorMessage: message,\n valid: false,\n }\n\n const segments = fieldPath.split('.')\n if (segments.length > 1) {\n errorPaths.push({\n fieldErrorPath: fieldPath,\n parentPath: segments.slice(0, segments.length - 1).join('.'),\n })\n }\n })\n\n newState = Object.entries(newState).reduce((acc, [path, fieldState]) => {\n const fieldErrorPaths = errorPaths.reduce((errorACC, { fieldErrorPath, parentPath }) => {\n if (parentPath.startsWith(path)) {\n errorACC.push(fieldErrorPath)\n }\n return errorACC\n }, [])\n\n let changed = false\n\n if (fieldErrorPaths.length > 0) {\n const newErrorPaths = Array.isArray(fieldState.errorPaths) ? fieldState.errorPaths : []\n\n fieldErrorPaths.forEach((fieldErrorPath) => {\n if (!newErrorPaths.includes(fieldErrorPath)) {\n newErrorPaths.push(fieldErrorPath)\n changed = true\n }\n })\n\n if (changed) {\n acc[path] = {\n ...fieldState,\n errorPaths: newErrorPaths,\n }\n }\n }\n\n if (!changed) {\n acc[path] = fieldState\n }\n\n return acc\n }, {})\n\n return newState\n }\n\n case 'DUPLICATE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path].rows || [])]\n\n const duplicateRowMetadata = deepCopyObjectSimple(rowsMetadata[rowIndex])\n if (duplicateRowMetadata.id) {\n duplicateRowMetadata.id = new ObjectId().toHexString()\n }\n\n const duplicateRowState = deepCopyObjectSimpleWithoutReactComponents(rows[rowIndex])\n if (duplicateRowState.id) {\n duplicateRowState.id.value = new ObjectId().toHexString()\n duplicateRowState.id.initialValue = new ObjectId().toHexString()\n }\n\n for (const key of Object.keys(duplicateRowState).filter((key) => key.endsWith('.id'))) {\n const idState = duplicateRowState[key]\n\n if (idState && typeof idState.value === 'string' && ObjectId.isValid(idState.value)) {\n duplicateRowState[key].value = new ObjectId().toHexString()\n duplicateRowState[key].initialValue = new ObjectId().toHexString()\n }\n }\n\n // If there are subfields\n if (Object.keys(duplicateRowState).length > 0) {\n // Add new object containing subfield names to unflattenedRows array\n rows.splice(rowIndex + 1, 0, duplicateRowState)\n rowsMetadata.splice(rowIndex + 1, 0, duplicateRowMetadata)\n }\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n disableFormData: true,\n requiresRender: true,\n rows: rowsMetadata,\n value: rows.length,\n },\n }\n\n return newState\n }\n\n case 'MOVE_ROW': {\n const { moveFromIndex, moveToIndex, path } = action\n const { remainingFields, rows } = separateRows(path, state)\n\n // copy the row to move\n const copyOfMovingRow = rows[moveFromIndex]\n // delete the row by index\n rows.splice(moveFromIndex, 1)\n // insert row copyOfMovingRow back in\n rows.splice(moveToIndex, 0, copyOfMovingRow)\n\n // modify array/block internal row state (i.e. collapsed, blockType)\n const rowStateCopy = [...(state[path]?.rows || [])]\n const movingRowState = { ...rowStateCopy[moveFromIndex] }\n rowStateCopy.splice(moveFromIndex, 1)\n rowStateCopy.splice(moveToIndex, 0, movingRowState)\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n requiresRender: true,\n rows: rowStateCopy,\n },\n }\n\n return newState\n }\n\n case 'REMOVE': {\n const newState = { ...state }\n if (newState[action.path]) {\n delete newState[action.path]\n }\n return newState\n }\n\n case 'REMOVE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path]?.rows || [])]\n\n rows.splice(rowIndex, 1)\n rowsMetadata.splice(rowIndex, 1)\n\n const newState: FormState = {\n ...remainingFields,\n [path]: {\n ...state[path],\n disableFormData: rows.length > 0,\n requiresRender: true,\n rows: rowsMetadata,\n value: rows.length,\n },\n ...flattenRows(path, rows),\n }\n\n return newState\n }\n\n case 'REPLACE_ROW': {\n const { blockType, path, rowIndex: rowIndexArg, subFieldState = {} } = action\n\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n const rowIndex = Math.max(0, Math.min(rowIndexArg, siblingRows?.length - 1 || 0))\n\n const rowsMetadata = [...(state[path]?.rows || [])]\n rowsMetadata[rowIndex] = {\n id: new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n }\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // replace form _field state_\n siblingRows[rowIndex] = subFieldState\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsMetadata,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'REPLACE_STATE': {\n if (action.optimize !== false) {\n // Only update fields that have changed\n // by comparing old value / initialValue to new\n // ..\n // This is a performance enhancement for saving\n // large documents with hundreds of fields\n const newState: FormState = {}\n\n for (const [path, newField] of Object.entries(action.state)) {\n const oldField = state[path]\n\n if (newField.valid !== false) {\n newField.valid = true\n }\n if (newField.passesCondition !== false) {\n newField.passesCondition = true\n }\n\n if (!dequal(oldField, newField)) {\n newState[path] = newField\n } else if (oldField) {\n newState[path] = oldField\n }\n }\n\n return newState\n }\n\n //TODO: Remove this in 4.0 - this is a temporary fix to prevent a breaking change\n if (action.sanitize) {\n for (const field of Object.values(action.state)) {\n if (field.valid !== false) {\n field.valid = true\n }\n if (field.passesCondition !== false) {\n field.passesCondition = true\n }\n }\n }\n // If we're not optimizing, just set the state to the new state\n return action.state\n }\n\n case 'SET_ALL_ROWS_COLLAPSED': {\n const { path, updatedRows } = action\n\n return {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n }\n\n case 'SET_ROW_COLLAPSED': {\n const { path, updatedRows } = action\n\n const newState = {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n\n return newState\n }\n\n case 'UPDATE': {\n const newField = Object.entries(action).reduce(\n (field, [key, value]) => {\n if (\n [\n 'disableFormData',\n 'errorMessage',\n 'initialValue',\n 'rows',\n 'valid',\n 'validate',\n 'value',\n ].includes(key)\n ) {\n return {\n ...field,\n [key]: value,\n }\n }\n\n return field\n },\n state[action.path] || ({} as FormField),\n )\n\n const newState = {\n ...state,\n [action.path]: newField,\n }\n\n return newState\n }\n\n case 'UPDATE_MANY': {\n const newState = { ...state }\n\n Object.entries(action.formState).forEach(([path, field]) => {\n newState[path] = field\n })\n\n return newState\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"AAAA;;AAGA,OAAOA,cAAA,MAAoB;AAC3B,SAASC,MAAM,QAAQ,cAAa,CAAC;AACrC,SAASC,oBAAoB,EAAEC,0CAA0C,QAAQ;AAIjF,SAASC,WAAW,EAAEC,YAAY,QAAQ;AAE1C,MAAMC,QAAA,GAAYN,cAAA,CAAeO,OAAO,IACtCP,cAAA;AAEF;;;AAGA,OAAO,SAASQ,aAAaC,KAAgB,EAAEC,MAAmB;EAChE,QAAQA,MAAA,CAAOC,IAAI;IACjB,KAAK;MAAW;QACd,MAAM;UAAEC,SAAS;UAAEC,IAAI;UAAEC,QAAA,EAAUC,gBAAgB;UAAEC,aAAA,GAAgB,CAAC;QAAC,CAAE,GAAGN,MAAA;QAE5E,MAAMI,QAAA,GACJ,OAAOC,gBAAA,KAAqB,WAAWA,gBAAA,GAAmBN,KAAK,CAACI,IAAA,CAAK,EAAEI,IAAA,EAAMC,MAAA,IAAU;QAEzF,MAAMC,UAAA,GAAa,C,IAAKV,KAAK,CAACI,IAAA,CAAK,EAAEI,IAAA,IAAQ,EAAE,EAAE;QAEjD,MAAMG,MAAA,GAAc;UAClBC,EAAA,EAAIL,aAAC,EAAeK,EAAA,EAAIC,KAAA,IAAoB,IAAIhB,QAAA,GAAWiB,WAAW;UACtEX,SAAA,EAAWA,SAAA,IAAaY,SAAA;UACxBC,SAAA,EAAW;UACXC,SAAA,EAAW;QACb;QAEAP,UAAA,CAAWQ,MAAM,CAACb,QAAA,EAAU,GAAGM,MAAA;QAE/B,IAAIR,SAAA,EAAW;UACbI,aAAA,CAAcJ,SAAS,GAAG;YACxBgB,YAAA,EAAchB,SAAA;YACdiB,KAAA,EAAO;YACPP,KAAA,EAAOV;UACT;QACF;QAEA;QACA,MAAM;UAAEkB,eAAe;UAAEb,IAAA,EAAMc;QAAW,CAAE,GAAG1B,YAAA,CAAaQ,IAAA,EAAMJ,KAAA;QAElEsB,WAAA,CAAYJ,MAAM,CAACb,QAAA,EAAU,GAAGE,aAAA;QAEhC,MAAMgB,QAAA,GAAsB;UAC1B,GAAGF,eAAe;UAClB,GAAG1B,WAAA,CAAYS,IAAA,EAAMkB,WAAA,CAAY;UACjC,CAAC,GAAGlB,IAAA,IAAQC,QAAA,KAAa,GAAG;YAC1Bc,YAAA,EAAcR,MAAA,CAAOC,EAAE;YACvBY,eAAA,EAAiB;YACjBC,cAAA,EAAgB;YAChBL,KAAA,EAAO;YACPP,KAAA,EAAOF,MAAA,CAAOC;UAChB;UACA,CAACR,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdsB,eAAA,EAAiB;YACjBD,cAAA,EAAgB;YAChBjB,IAAA,EAAME,UAAA;YACNG,KAAA,EAAOS,WAAA,CAAYb;UACrB;QACF;QAEA,OAAOc,QAAA;MACT;IAEA,KAAK;MAAqB;QACxB,IAAIA,QAAA,GAAW;UAAE,GAAGvB;QAAM;QAE1B,MAAM2B,UAAA,GAA+D,EAAE;QAEvE1B,MAAA,CAAO2B,MAAM,CAACC,OAAO,CAAC,CAAC;UAAEC,OAAO;UAAE1B,IAAA,EAAM2B;QAAS,CAAE;UACjDR,QAAQ,CAACQ,SAAA,CAAU,GAAG;YACpB,IAAIR,QAAQ,CAACQ,SAAA,CAAU,IAAI;cACzBZ,YAAA,EAAc;cACdN,KAAA,EAAO;YACT,CAAC;YACDmB,YAAA,EAAcF,OAAA;YACdV,KAAA,EAAO;UACT;UAEA,MAAMa,QAAA,GAAWF,SAAA,CAAUG,KAAK,CAAC;UACjC,IAAID,QAAA,CAASxB,MAAM,GAAG,GAAG;YACvBkB,UAAA,CAAWQ,IAAI,CAAC;cACdC,cAAA,EAAgBL,SAAA;cAChBM,UAAA,EAAYJ,QAAA,CAASK,KAAK,CAAC,GAAGL,QAAA,CAASxB,MAAM,GAAG,GAAG8B,IAAI,CAAC;YAC1D;UACF;QACF;QAEAhB,QAAA,GAAWiB,MAAA,CAAOC,OAAO,CAAClB,QAAA,EAAUmB,MAAM,CAAC,CAACC,GAAA,EAAK,CAACvC,IAAA,EAAMwC,UAAA,CAAW;UACjE,MAAMC,eAAA,GAAkBlB,UAAA,CAAWe,MAAM,CAAC,CAACI,QAAA,EAAU;YAAEV,cAAc;YAAEC;UAAU,CAAE;YACjF,IAAIA,UAAA,CAAWU,UAAU,CAAC3C,IAAA,GAAO;cAC/B0C,QAAA,CAASX,IAAI,CAACC,cAAA;YAChB;YACA,OAAOU,QAAA;UACT,GAAG,EAAE;UAEL,IAAIE,OAAA,GAAU;UAEd,IAAIH,eAAA,CAAgBpC,MAAM,GAAG,GAAG;YAC9B,MAAMwC,aAAA,GAAgBC,KAAA,CAAMC,OAAO,CAACP,UAAA,CAAWjB,UAAU,IAAIiB,UAAA,CAAWjB,UAAU,GAAG,EAAE;YAEvFkB,eAAA,CAAgBhB,OAAO,CAAEO,cAAA;cACvB,IAAI,CAACa,aAAA,CAAcG,QAAQ,CAAChB,cAAA,GAAiB;gBAC3Ca,aAAA,CAAcd,IAAI,CAACC,cAAA;gBACnBY,OAAA,GAAU;cACZ;YACF;YAEA,IAAIA,OAAA,EAAS;cACXL,GAAG,CAACvC,IAAA,CAAK,GAAG;gBACV,GAAGwC,UAAU;gBACbjB,UAAA,EAAYsB;cACd;YACF;UACF;UAEA,IAAI,CAACD,OAAA,EAAS;YACZL,GAAG,CAACvC,IAAA,CAAK,GAAGwC,UAAA;UACd;UAEA,OAAOD,GAAA;QACT,GAAG,CAAC;QAEJ,OAAOpB,QAAA;MACT;IAEA,KAAK;MAAiB;QACpB,MAAM;UAAEnB,IAAI;UAAEC;QAAQ,CAAE,GAAGJ,MAAA;QAC3B,MAAM;UAAEoB,eAAe;UAAEb;QAAI,CAAE,GAAGZ,YAAA,CAAaQ,IAAA,EAAMJ,KAAA;QACrD,MAAMqD,YAAA,GAAe,C,IAAKrD,KAAK,CAACI,IAAA,CAAK,CAACI,IAAI,IAAI,EAAE,EAAE;QAElD,MAAM8C,oBAAA,GAAuB7D,oBAAA,CAAqB4D,YAAY,CAAChD,QAAA,CAAS;QACxE,IAAIiD,oBAAA,CAAqB1C,EAAE,EAAE;UAC3B0C,oBAAA,CAAqB1C,EAAE,GAAG,IAAIf,QAAA,GAAWiB,WAAW;QACtD;QAEA,MAAMyC,iBAAA,GAAoB7D,0CAAA,CAA2Cc,IAAI,CAACH,QAAA,CAAS;QACnF,IAAIkD,iBAAA,CAAkB3C,EAAE,EAAE;UACxB2C,iBAAA,CAAkB3C,EAAE,CAACC,KAAK,GAAG,IAAIhB,QAAA,GAAWiB,WAAW;UACvDyC,iBAAA,CAAkB3C,EAAE,CAACO,YAAY,GAAG,IAAItB,QAAA,GAAWiB,WAAW;QAChE;QAEA,KAAK,MAAM0C,GAAA,IAAOhB,MAAA,CAAOiB,IAAI,CAACF,iBAAA,EAAmBG,MAAM,CAAEF,GAAA,IAAQA,GAAA,CAAIG,QAAQ,CAAC,SAAS;UACrF,MAAMC,OAAA,GAAUL,iBAAiB,CAACC,GAAA,CAAI;UAEtC,IAAII,OAAA,IAAW,OAAOA,OAAA,CAAQ/C,KAAK,KAAK,YAAYhB,QAAA,CAASgE,OAAO,CAACD,OAAA,CAAQ/C,KAAK,GAAG;YACnF0C,iBAAiB,CAACC,GAAA,CAAI,CAAC3C,KAAK,GAAG,IAAIhB,QAAA,GAAWiB,WAAW;YACzDyC,iBAAiB,CAACC,GAAA,CAAI,CAACrC,YAAY,GAAG,IAAItB,QAAA,GAAWiB,WAAW;UAClE;QACF;QAEA;QACA,IAAI0B,MAAA,CAAOiB,IAAI,CAACF,iBAAA,EAAmB9C,MAAM,GAAG,GAAG;UAC7C;UACAD,IAAA,CAAKU,MAAM,CAACb,QAAA,GAAW,GAAG,GAAGkD,iBAAA;UAC7BF,YAAA,CAAanC,MAAM,CAACb,QAAA,GAAW,GAAG,GAAGiD,oBAAA;QACvC;QAEA,MAAM/B,QAAA,GAAW;UACf,GAAGF,eAAe;UAClB,GAAG1B,WAAA,CAAYS,IAAA,EAAMI,IAAA,CAAK;UAC1B,CAACJ,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdsB,eAAA,EAAiB;YACjBD,cAAA,EAAgB;YAChBjB,IAAA,EAAM6C,YAAA;YACNxC,KAAA,EAAOL,IAAA,CAAKC;UACd;QACF;QAEA,OAAOc,QAAA;MACT;IAEA,KAAK;MAAY;QACf,MAAM;UAAEuC,aAAa;UAAEC,WAAW;UAAE3D;QAAI,CAAE,GAAGH,MAAA;QAC7C,MAAM;UAAEoB,eAAe;UAAEb;QAAI,CAAE,GAAGZ,YAAA,CAAaQ,IAAA,EAAMJ,KAAA;QAErD;QACA,MAAMgE,eAAA,GAAkBxD,IAAI,CAACsD,aAAA,CAAc;QAC3C;QACAtD,IAAA,CAAKU,MAAM,CAAC4C,aAAA,EAAe;QAC3B;QACAtD,IAAA,CAAKU,MAAM,CAAC6C,WAAA,EAAa,GAAGC,eAAA;QAE5B;QACA,MAAMC,YAAA,GAAe,C,IAAKjE,KAAK,CAACI,IAAA,CAAK,EAAEI,IAAA,IAAQ,EAAE,EAAE;QACnD,MAAM0D,cAAA,GAAiB;UAAE,GAAGD,YAAY,CAACH,aAAA;QAAe;QACxDG,YAAA,CAAa/C,MAAM,CAAC4C,aAAA,EAAe;QACnCG,YAAA,CAAa/C,MAAM,CAAC6C,WAAA,EAAa,GAAGG,cAAA;QAEpC,MAAM3C,QAAA,GAAW;UACf,GAAGF,eAAe;UAClB,GAAG1B,WAAA,CAAYS,IAAA,EAAMI,IAAA,CAAK;UAC1B,CAACJ,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdqB,cAAA,EAAgB;YAChBjB,IAAA,EAAMyD;UACR;QACF;QAEA,OAAO1C,QAAA;MACT;IAEA,KAAK;MAAU;QACb,MAAMA,QAAA,GAAW;UAAE,GAAGvB;QAAM;QAC5B,IAAIuB,QAAQ,CAACtB,MAAA,CAAOG,IAAI,CAAC,EAAE;UACzB,OAAOmB,QAAQ,CAACtB,MAAA,CAAOG,IAAI,CAAC;QAC9B;QACA,OAAOmB,QAAA;MACT;IAEA,KAAK;MAAc;QACjB,MAAM;UAAEnB,IAAI;UAAEC;QAAQ,CAAE,GAAGJ,MAAA;QAC3B,MAAM;UAAEoB,eAAe;UAAEb;QAAI,CAAE,GAAGZ,YAAA,CAAaQ,IAAA,EAAMJ,KAAA;QACrD,MAAMqD,YAAA,GAAe,C,IAAKrD,KAAK,CAACI,IAAA,CAAK,EAAEI,IAAA,IAAQ,EAAE,EAAE;QAEnDA,IAAA,CAAKU,MAAM,CAACb,QAAA,EAAU;QACtBgD,YAAA,CAAanC,MAAM,CAACb,QAAA,EAAU;QAE9B,MAAMkB,QAAA,GAAsB;UAC1B,GAAGF,eAAe;UAClB,CAACjB,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdsB,eAAA,EAAiBlB,IAAA,CAAKC,MAAM,GAAG;YAC/BgB,cAAA,EAAgB;YAChBjB,IAAA,EAAM6C,YAAA;YACNxC,KAAA,EAAOL,IAAA,CAAKC;UACd;UACA,GAAGd,WAAA,CAAYS,IAAA,EAAMI,IAAA;QACvB;QAEA,OAAOe,QAAA;MACT;IAEA,KAAK;MAAe;QAClB,MAAM;UAAEpB,SAAS;UAAEC,IAAI;UAAEC,QAAA,EAAU8D,WAAW;UAAE5D,aAAA,GAAgB,CAAC;QAAC,CAAE,GAAGN,MAAA;QAEvE,MAAM;UAAEoB,eAAe;UAAEb,IAAA,EAAMc;QAAW,CAAE,GAAG1B,YAAA,CAAaQ,IAAA,EAAMJ,KAAA;QAClE,MAAMK,QAAA,GAAW+D,IAAA,CAAKC,GAAG,CAAC,GAAGD,IAAA,CAAKE,GAAG,CAACH,WAAA,EAAa7C,WAAA,EAAab,MAAA,GAAS,KAAK;QAE9E,MAAM4C,YAAA,GAAe,C,IAAKrD,KAAK,CAACI,IAAA,CAAK,EAAEI,IAAA,IAAQ,EAAE,EAAE;QACnD6C,YAAY,CAAChD,QAAA,CAAS,GAAG;UACvBO,EAAA,EAAI,IAAIf,QAAA,GAAWiB,WAAW;UAC9BX,SAAA,EAAWA,SAAA,IAAaY,SAAA;UACxBC,SAAA,EAAW;QACb;QAEA,IAAIb,SAAA,EAAW;UACbI,aAAA,CAAcJ,SAAS,GAAG;YACxBgB,YAAA,EAAchB,SAAA;YACdiB,KAAA,EAAO;YACPP,KAAA,EAAOV;UACT;QACF;QAEA;QACAmB,WAAW,CAACjB,QAAA,CAAS,GAAGE,aAAA;QAExB,MAAMgB,QAAA,GAAsB;UAC1B,GAAGF,eAAe;UAClB,GAAG1B,WAAA,CAAYS,IAAA,EAAMkB,WAAA,CAAY;UACjC,CAAClB,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdsB,eAAA,EAAiB;YACjBlB,IAAA,EAAM6C,YAAA;YACNxC,KAAA,EAAOS,WAAA,CAAYb;UACrB;QACF;QAEA,OAAOc,QAAA;MACT;IAEA,KAAK;MAAiB;QACpB,IAAItB,MAAA,CAAOsE,QAAQ,KAAK,OAAO;UAC7B;UACA;UACA;UACA;UACA;UACA,MAAMhD,QAAA,GAAsB,CAAC;UAE7B,KAAK,MAAM,CAACnB,IAAA,EAAMoE,QAAA,CAAS,IAAIhC,MAAA,CAAOC,OAAO,CAACxC,MAAA,CAAOD,KAAK,GAAG;YAC3D,MAAMyE,QAAA,GAAWzE,KAAK,CAACI,IAAA,CAAK;YAE5B,IAAIoE,QAAA,CAASpD,KAAK,KAAK,OAAO;cAC5BoD,QAAA,CAASpD,KAAK,GAAG;YACnB;YACA,IAAIoD,QAAA,CAAShD,eAAe,KAAK,OAAO;cACtCgD,QAAA,CAAShD,eAAe,GAAG;YAC7B;YAEA,IAAI,CAAChC,MAAA,CAAOiF,QAAA,EAAUD,QAAA,GAAW;cAC/BjD,QAAQ,CAACnB,IAAA,CAAK,GAAGoE,QAAA;YACnB,OAAO,IAAIC,QAAA,EAAU;cACnBlD,QAAQ,CAACnB,IAAA,CAAK,GAAGqE,QAAA;YACnB;UACF;UAEA,OAAOlD,QAAA;QACT;QAEA;QACA,IAAItB,MAAA,CAAOyE,QAAQ,EAAE;UACnB,KAAK,MAAMC,KAAA,IAASnC,MAAA,CAAOoC,MAAM,CAAC3E,MAAA,CAAOD,KAAK,GAAG;YAC/C,IAAI2E,KAAA,CAAMvD,KAAK,KAAK,OAAO;cACzBuD,KAAA,CAAMvD,KAAK,GAAG;YAChB;YACA,IAAIuD,KAAA,CAAMnD,eAAe,KAAK,OAAO;cACnCmD,KAAA,CAAMnD,eAAe,GAAG;YAC1B;UACF;QACF;QACA;QACA,OAAOvB,MAAA,CAAOD,KAAK;MACrB;IAEA,KAAK;MAA0B;QAC7B,MAAM;UAAEI,IAAI;UAAEyE;QAAW,CAAE,GAAG5E,MAAA;QAE9B,OAAO;UACL,GAAGD,KAAK;UACR,CAACI,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdI,IAAA,EAAMqE;UACR;QACF;MACF;IAEA,KAAK;MAAqB;QACxB,MAAM;UAAEzE,IAAI;UAAEyE;QAAW,CAAE,GAAG5E,MAAA;QAE9B,MAAMsB,QAAA,GAAW;UACf,GAAGvB,KAAK;UACR,CAACI,IAAA,GAAO;YACN,GAAGJ,KAAK,CAACI,IAAA,CAAK;YACdI,IAAA,EAAMqE;UACR;QACF;QAEA,OAAOtD,QAAA;MACT;IAEA,KAAK;MAAU;QACb,MAAMiD,QAAA,GAAWhC,MAAA,CAAOC,OAAO,CAACxC,MAAA,EAAQyC,MAAM,CAC5C,CAACiC,KAAA,EAAO,CAACnB,GAAA,EAAK3C,KAAA,CAAM;UAClB,IACE,CACE,mBACA,gBACA,gBACA,QACA,SACA,YACA,QACD,CAACuC,QAAQ,CAACI,GAAA,GACX;YACA,OAAO;cACL,GAAGmB,KAAK;cACR,CAACnB,GAAA,GAAM3C;YACT;UACF;UAEA,OAAO8D,KAAA;QACT,GACA3E,KAAK,CAACC,MAAA,CAAOG,IAAI,CAAC,IAAK,CAAC;QAG1B,MAAMmB,QAAA,GAAW;UACf,GAAGvB,KAAK;UACR,CAACC,MAAA,CAAOG,IAAI,GAAGoE;QACjB;QAEA,OAAOjD,QAAA;MACT;IAEA,KAAK;MAAe;QAClB,MAAMA,QAAA,GAAW;UAAE,GAAGvB;QAAM;QAE5BwC,MAAA,CAAOC,OAAO,CAACxC,MAAA,CAAO6E,SAAS,EAAEjD,OAAO,CAAC,CAAC,CAACzB,IAAA,EAAMuE,KAAA,CAAM;UACrDpD,QAAQ,CAACnB,IAAA,CAAK,GAAGuE,KAAA;QACnB;QAEA,OAAOpD,QAAA;MACT;IAEA;MAAS;QACP,OAAOvB,KAAA;MACT;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAGnF,OAAO,KAAK,EAGV,SAAS,EAGV,MAAM,YAAY,CAAA;AA6BnB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAmrBpC,CAAA;AAED,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAGnF,OAAO,KAAK,EAGV,SAAS,EAGV,MAAM,YAAY,CAAA;AA6BnB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAwrBpC,CAAA;AAED,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -515,6 +515,7 @@ export const Form = props => {
515
515
  dispatchFields({
516
516
  type: 'REPLACE_STATE',
517
517
  optimize: false,
518
+ sanitize: true,
518
519
  state: initialState
519
520
  });
520
521
  }