@payloadcms/ui 3.35.0-internal.5e55452 → 3.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/elements/BulkUpload/ActionsBar/index.scss +0 -4
  2. package/dist/elements/Button/index.scss +1 -1
  3. package/dist/elements/Localizer/LocalizerLabel/index.js +1 -2
  4. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  5. package/dist/elements/Localizer/LocalizerLabel/index.scss +1 -2
  6. package/dist/elements/PerPage/index.scss +0 -4
  7. package/dist/elements/Pill/index.scss +2 -1
  8. package/dist/elements/Popup/PopupTrigger/index.scss +3 -3
  9. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  10. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +14 -24
  11. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  12. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  13. package/dist/elements/QueryPresets/fields/WhereField/index.js +3 -15
  14. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  15. package/dist/elements/ReactSelect/index.scss +0 -4
  16. package/dist/elements/SortColumn/index.scss +1 -1
  17. package/dist/exports/client/index.js +11 -11
  18. package/dist/exports/client/index.js.map +4 -4
  19. package/dist/fields/Array/index.d.ts.map +1 -1
  20. package/dist/fields/Array/index.js +5 -4
  21. package/dist/fields/Array/index.js.map +1 -1
  22. package/dist/fields/Blocks/index.d.ts.map +1 -1
  23. package/dist/fields/Blocks/index.js +5 -4
  24. package/dist/fields/Blocks/index.js.map +1 -1
  25. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  26. package/dist/fields/Checkbox/index.js +3 -2
  27. package/dist/fields/Checkbox/index.js.map +1 -1
  28. package/dist/fields/Code/index.d.ts.map +1 -1
  29. package/dist/fields/Code/index.js +3 -2
  30. package/dist/fields/Code/index.js.map +1 -1
  31. package/dist/fields/DateTime/index.d.ts.map +1 -1
  32. package/dist/fields/DateTime/index.js +3 -2
  33. package/dist/fields/DateTime/index.js.map +1 -1
  34. package/dist/fields/Email/index.d.ts.map +1 -1
  35. package/dist/fields/Email/index.js +4 -3
  36. package/dist/fields/Email/index.js.map +1 -1
  37. package/dist/fields/Hidden/index.d.ts.map +1 -1
  38. package/dist/fields/Hidden/index.js +6 -4
  39. package/dist/fields/Hidden/index.js.map +1 -1
  40. package/dist/fields/JSON/index.d.ts.map +1 -1
  41. package/dist/fields/JSON/index.js +3 -2
  42. package/dist/fields/JSON/index.js.map +1 -1
  43. package/dist/fields/Join/index.d.ts.map +1 -1
  44. package/dist/fields/Join/index.js +3 -2
  45. package/dist/fields/Join/index.js.map +1 -1
  46. package/dist/fields/Number/index.d.ts.map +1 -1
  47. package/dist/fields/Number/index.js +3 -2
  48. package/dist/fields/Number/index.js.map +1 -1
  49. package/dist/fields/Point/index.d.ts.map +1 -1
  50. package/dist/fields/Point/index.js +3 -2
  51. package/dist/fields/Point/index.js.map +1 -1
  52. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  53. package/dist/fields/RadioGroup/index.js +3 -2
  54. package/dist/fields/RadioGroup/index.js.map +1 -1
  55. package/dist/fields/Relationship/index.d.ts.map +1 -1
  56. package/dist/fields/Relationship/index.js +85 -22
  57. package/dist/fields/Relationship/index.js.map +1 -1
  58. package/dist/fields/Select/index.d.ts.map +1 -1
  59. package/dist/fields/Select/index.js +3 -2
  60. package/dist/fields/Select/index.js.map +1 -1
  61. package/dist/fields/Tabs/index.js +41 -51
  62. package/dist/fields/Tabs/index.js.map +1 -1
  63. package/dist/fields/Text/index.d.ts.map +1 -1
  64. package/dist/fields/Text/index.js +3 -2
  65. package/dist/fields/Text/index.js.map +1 -1
  66. package/dist/fields/Textarea/index.d.ts.map +1 -1
  67. package/dist/fields/Textarea/index.js +3 -2
  68. package/dist/fields/Textarea/index.js.map +1 -1
  69. package/dist/fields/Upload/index.d.ts.map +1 -1
  70. package/dist/fields/Upload/index.js +3 -2
  71. package/dist/fields/Upload/index.js.map +1 -1
  72. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  73. package/dist/forms/Form/fieldReducer.js +3 -1
  74. package/dist/forms/Form/fieldReducer.js.map +1 -1
  75. package/dist/forms/RenderFields/context.d.ts +4 -0
  76. package/dist/forms/RenderFields/context.d.ts.map +1 -0
  77. package/dist/forms/RenderFields/context.js +11 -0
  78. package/dist/forms/RenderFields/context.js.map +1 -0
  79. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  80. package/dist/forms/RenderFields/index.js +15 -11
  81. package/dist/forms/RenderFields/index.js.map +1 -1
  82. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  83. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
  84. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  85. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  86. package/dist/forms/fieldSchemasToFormState/iterateFields.js +1 -0
  87. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  88. package/dist/forms/useField/index.d.ts +1 -1
  89. package/dist/forms/useField/index.d.ts.map +1 -1
  90. package/dist/forms/useField/index.js +128 -116
  91. package/dist/forms/useField/index.js.map +1 -1
  92. package/dist/forms/useField/types.d.ts +22 -1
  93. package/dist/forms/useField/types.d.ts.map +1 -1
  94. package/dist/forms/useField/types.js.map +1 -1
  95. package/dist/icons/Chevron/index.js +2 -2
  96. package/dist/icons/Chevron/index.js.map +1 -1
  97. package/dist/icons/Chevron/index.scss +4 -4
  98. package/dist/styles.css +1 -1
  99. package/package.json +5 -5
@@ -11,8 +11,8 @@ import { withCondition } from '../../forms/withCondition/index.js';
11
11
  import { useTranslation } from '../../providers/Translation/index.js';
12
12
  import { FieldLabel } from '../FieldLabel/index.js';
13
13
  import { mergeFieldStyles } from '../mergeFieldStyles.js';
14
- import './index.scss';
15
14
  import { fieldBaseClass } from '../shared/index.js';
15
+ import './index.scss';
16
16
  const EmailFieldComponent = props => {
17
17
  const {
18
18
  field,
@@ -27,7 +27,7 @@ const EmailFieldComponent = props => {
27
27
  localized,
28
28
  required
29
29
  } = {},
30
- path,
30
+ path: pathFromProps,
31
31
  readOnly,
32
32
  validate
33
33
  } = props;
@@ -51,11 +51,12 @@ const EmailFieldComponent = props => {
51
51
  Label
52
52
  } = {},
53
53
  disabled,
54
+ path,
54
55
  setValue,
55
56
  showError,
56
57
  value: value_0
57
58
  } = useField({
58
- path,
59
+ potentiallyStalePath: pathFromProps,
59
60
  validate: memoizedValidate
60
61
  });
61
62
  const styles = useMemo(() => mergeFieldStyles(field), [field]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useMemo","RenderCustomComponent","FieldDescription","FieldError","useField","withCondition","useTranslation","FieldLabel","mergeFieldStyles","fieldBaseClass","EmailFieldComponent","props","field","admin","autoComplete","className","description","placeholder","label","localized","required","path","readOnly","validate","i18n","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","id","replace","name","onChange","type","EmailField"],"sources":["../../../src/fields/Email/index.tsx"],"sourcesContent":["'use client'\nimport type {\n EmailFieldClientComponent,\n EmailFieldClientProps,\n EmailFieldValidation,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useMemo } from 'react'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst EmailFieldComponent: EmailFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n autoComplete,\n className,\n description,\n placeholder,\n } = {} as EmailFieldClientProps['field']['admin'],\n label,\n localized,\n required,\n } = {} as EmailFieldClientProps['field'],\n path,\n readOnly,\n validate,\n } = props\n\n const { i18n } = useTranslation()\n\n const memoizedValidate: EmailFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n setValue,\n showError,\n value,\n } = useField({\n path,\n validate: memoizedValidate,\n })\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'email',\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\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 {/* disable eslint here because the label is dynamic */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n autoComplete={autoComplete}\n disabled={readOnly || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n placeholder={getTranslation(placeholder, i18n)}\n required={required}\n type=\"email\"\n value={(value as string) || ''}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const EmailField = withCondition(EmailFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useMemo","RenderCustomComponent","FieldDescription","FieldError","useField","withCondition","useTranslation","FieldLabel","mergeFieldStyles","fieldBaseClass","EmailFieldComponent","props","field","admin","autoComplete","className","description","placeholder","label","localized","required","path","pathFromProps","readOnly","validate","i18n","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","potentiallyStalePath","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","id","replace","name","onChange","type","EmailField"],"sources":["../../../src/fields/Email/index.tsx"],"sourcesContent":["'use client'\nimport type {\n EmailFieldClientComponent,\n EmailFieldClientProps,\n EmailFieldValidation,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useMemo } from 'react'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst EmailFieldComponent: EmailFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n autoComplete,\n className,\n description,\n placeholder,\n } = {} as EmailFieldClientProps['field']['admin'],\n label,\n localized,\n required,\n } = {} as EmailFieldClientProps['field'],\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const { i18n } = useTranslation()\n\n const memoizedValidate: EmailFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value,\n } = useField({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'email',\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\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 {/* disable eslint here because the label is dynamic */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n autoComplete={autoComplete}\n disabled={readOnly || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n placeholder={getTranslation(placeholder, i18n)}\n required={required}\n type=\"email\"\n value={(value as string) || ''}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const EmailField = withCondition(EmailFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Hidden/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,KAAoB,MAAM,OAAO,CAAA;AAiCxC,eAAO,MAAM,WAAW,4BAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Hidden/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,KAAoB,MAAM,OAAO,CAAA;AAkCxC,eAAO,MAAM,WAAW,4BAAsC,CAAA"}
@@ -6,6 +6,7 @@ import React, { useEffect } from 'react';
6
6
  import { useField } from '../../forms/useField/index.js';
7
7
  import { withCondition } from '../../forms/withCondition/index.js';
8
8
  /**
9
+ * Renders an input with `type="hidden"`.
9
10
  * This is mainly used to save a value on the form that is not visible to the user.
10
11
  * For example, this sets the `ìd` property of a block in the Blocks field.
11
12
  */
@@ -13,21 +14,22 @@ const HiddenFieldComponent = props => {
13
14
  const $ = _c(12);
14
15
  const {
15
16
  disableModifyingForm: t0,
16
- path,
17
+ path: pathFromProps,
17
18
  value: valueFromProps
18
19
  } = props;
19
20
  const disableModifyingForm = t0 === undefined ? true : t0;
20
21
  let t1;
21
- if ($[0] !== path) {
22
+ if ($[0] !== pathFromProps) {
22
23
  t1 = {
23
- path
24
+ potentiallyStalePath: pathFromProps
24
25
  };
25
- $[0] = path;
26
+ $[0] = pathFromProps;
26
27
  $[1] = t1;
27
28
  } else {
28
29
  t1 = $[1];
29
30
  }
30
31
  const {
32
+ path,
31
33
  setValue,
32
34
  value
33
35
  } = useField(t1);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useEffect","useField","withCondition","HiddenFieldComponent","props","$","disableModifyingForm","t0","path","value","valueFromProps","undefined","t1","setValue","t2","t3","t4","replace","t5","t6","_jsx","id","name","onChange","type","HiddenField"],"sources":["../../../src/fields/Hidden/index.tsx"],"sourcesContent":["'use client'\n\nimport type { HiddenFieldProps } from 'payload'\n\nimport React, { useEffect } from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\n\n/**\n * This is mainly used to save a value on the form that is not visible to the user.\n * For example, this sets the `ìd` property of a block in the Blocks field.\n */\nconst HiddenFieldComponent: React.FC<HiddenFieldProps> = (props) => {\n const { disableModifyingForm = true, path, value: valueFromProps } = props\n\n const { setValue, value } = useField({\n path,\n })\n\n useEffect(() => {\n if (valueFromProps !== undefined) {\n setValue(valueFromProps, disableModifyingForm)\n }\n }, [valueFromProps, setValue, disableModifyingForm])\n\n return (\n <input\n id={`field-${path?.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n type=\"hidden\"\n value={(value as string) || ''}\n />\n )\n}\n\nexport const HiddenField = withCondition(HiddenFieldComponent)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAEjC,SAASC,QAAQ,QAAQ;AACzB,SAASC,aAAa,QAAQ;AAE9B;;;;AAIA,MAAMC,oBAAA,GAAmDC,KAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EACvD;IAAAQ,oBAAA,EAAAC,EAAA;IAAAC,IAAA;IAAAC,KAAA,EAAAC;EAAA,IAAqEN,KAAA;EAA7D,MAAAE,oBAAA,GAAAC,EAA2B,KAAAI,SAAA,UAA3BJ,EAA2B;EAAA,IAAAK,EAAA;EAAA,IAAAP,CAAA,QAAAG,IAAA;IAEEI,EAAA;MAAAJ;IAAA;IAErCH,CAAA,MAAAG,IAAA;IAAAH,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAFA;IAAAQ,QAAA;IAAAJ;EAAA,IAA4BR,QAAA,CAASW,EAErC;EAAA,IAAAE,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAV,CAAA,QAAAC,oBAAA,IAAAD,CAAA,QAAAQ,QAAA,IAAAR,CAAA,QAAAK,cAAA;IAEUI,EAAA,GAAAA,CAAA;MAAA,IACJJ,cAAA,KAAAC,SAAmB;QACrBE,QAAA,CAASH,cAAA,EAAgBJ,oBAAA;MAAA;IAAA;IAE1BS,EAAA,IAACL,cAAA,EAAgBG,QAAA,EAAUP,oBAAA;IAAqBD,CAAA,MAAAC,oBAAA;IAAAD,CAAA,MAAAQ,QAAA;IAAAR,CAAA,MAAAK,cAAA;IAAAL,CAAA,MAAAS,EAAA;IAAAT,CAAA,MAAAU,EAAA;EAAA;IAAAD,EAAA,GAAAT,CAAA;IAAAU,EAAA,GAAAV,CAAA;EAAA;EAJnDL,SAAA,CAAUc,EAIV,EAAGC,EAAgD;EAI3C,MAAAC,EAAA,YAASR,IAAA,EAAAS,OAAA,QAAqB,OAAO;EAIlC,MAAAC,EAAA,GAAAT,KAAC,IAAoB;EAAA,IAAAU,EAAA;EAAA,IAAAd,CAAA,QAAAG,IAAA,IAAAH,CAAA,QAAAQ,QAAA,IAAAR,CAAA,QAAAW,EAAA,IAAAX,CAAA,SAAAa,EAAA;IAL9BC,EAAA,GAAAC,IAAA,CAAC;MAAAC,EAAA,EACKL,EAAqC;MAAAM,IAAA,EACnCd,IAAA;MAAAe,QAAA,EACIV,QAAA;MAAAW,IAAA,EACL;MAAAf,KAAA,EACES;IAAqB,C;;;;;;;;;SAL9BC,E;CAQJ;AAEA,OAAO,MAAMM,WAAA,GAAcvB,aAAA,CAAcC,oBAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useEffect","useField","withCondition","HiddenFieldComponent","props","$","disableModifyingForm","t0","path","pathFromProps","value","valueFromProps","undefined","t1","potentiallyStalePath","setValue","t2","t3","t4","replace","t5","t6","_jsx","id","name","onChange","type","HiddenField"],"sources":["../../../src/fields/Hidden/index.tsx"],"sourcesContent":["'use client'\n\nimport type { HiddenFieldProps } from 'payload'\n\nimport React, { useEffect } from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\n\n/**\n * Renders an input with `type=\"hidden\"`.\n * This is mainly used to save a value on the form that is not visible to the user.\n * For example, this sets the `ìd` property of a block in the Blocks field.\n */\nconst HiddenFieldComponent: React.FC<HiddenFieldProps> = (props) => {\n const { disableModifyingForm = true, path: pathFromProps, value: valueFromProps } = props\n\n const { path, setValue, value } = useField({\n potentiallyStalePath: pathFromProps,\n })\n\n useEffect(() => {\n if (valueFromProps !== undefined) {\n setValue(valueFromProps, disableModifyingForm)\n }\n }, [valueFromProps, setValue, disableModifyingForm])\n\n return (\n <input\n id={`field-${path?.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n type=\"hidden\"\n value={(value as string) || ''}\n />\n )\n}\n\nexport const HiddenField = withCondition(HiddenFieldComponent)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAEjC,SAASC,QAAQ,QAAQ;AACzB,SAASC,aAAa,QAAQ;AAE9B;;;;;AAKA,MAAMC,oBAAA,GAAmDC,KAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EACvD;IAAAQ,oBAAA,EAAAC,EAAA;IAAAC,IAAA,EAAAC,aAAA;IAAAC,KAAA,EAAAC;EAAA,IAAoFP,KAAA;EAA5E,MAAAE,oBAAA,GAAAC,EAA2B,KAAAK,SAAA,UAA3BL,EAA2B;EAAA,IAAAM,EAAA;EAAA,IAAAR,CAAA,QAAAI,aAAA;IAEQI,EAAA;MAAAC,oBAAA,EACnBL;IAAA;IACxBJ,CAAA,MAAAI,aAAA;IAAAJ,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAFA;IAAAG,IAAA;IAAAO,QAAA;IAAAL;EAAA,IAAkCT,QAAA,CAASY,EAE3C;EAAA,IAAAG,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAZ,CAAA,QAAAC,oBAAA,IAAAD,CAAA,QAAAU,QAAA,IAAAV,CAAA,QAAAM,cAAA;IAEUK,EAAA,GAAAA,CAAA;MAAA,IACJL,cAAA,KAAAC,SAAmB;QACrBG,QAAA,CAASJ,cAAA,EAAgBL,oBAAA;MAAA;IAAA;IAE1BW,EAAA,IAACN,cAAA,EAAgBI,QAAA,EAAUT,oBAAA;IAAqBD,CAAA,MAAAC,oBAAA;IAAAD,CAAA,MAAAU,QAAA;IAAAV,CAAA,MAAAM,cAAA;IAAAN,CAAA,MAAAW,EAAA;IAAAX,CAAA,MAAAY,EAAA;EAAA;IAAAD,EAAA,GAAAX,CAAA;IAAAY,EAAA,GAAAZ,CAAA;EAAA;EAJnDL,SAAA,CAAUgB,EAIV,EAAGC,EAAgD;EAI3C,MAAAC,EAAA,YAASV,IAAA,EAAAW,OAAA,QAAqB,OAAO;EAIlC,MAAAC,EAAA,GAAAV,KAAC,IAAoB;EAAA,IAAAW,EAAA;EAAA,IAAAhB,CAAA,QAAAG,IAAA,IAAAH,CAAA,QAAAU,QAAA,IAAAV,CAAA,QAAAa,EAAA,IAAAb,CAAA,SAAAe,EAAA;IAL9BC,EAAA,GAAAC,IAAA,CAAC;MAAAC,EAAA,EACKL,EAAqC;MAAAM,IAAA,EACnChB,IAAA;MAAAiB,QAAA,EACIV,QAAA;MAAAW,IAAA,EACL;MAAAhB,KAAA,EACEU;IAAqB,C;;;;;;;;;SAL9BC,E;CAQJ;AAEA,OAAO,MAAMM,WAAA,GAAczB,aAAA,CAAcC,oBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/JSON/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAYxE,OAAO,cAAc,CAAA;AA8JrB,eAAO,MAAM,SAAS;;;;;+EAAoC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/JSON/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAYxE,OAAO,cAAc,CAAA;AA+JrB,eAAO,MAAM,SAAS;;;;;+EAAoC,CAAA"}
@@ -29,7 +29,7 @@ const JSONFieldComponent = props => {
29
29
  localized,
30
30
  required
31
31
  },
32
- path,
32
+ path: pathFromProps,
33
33
  readOnly,
34
34
  validate
35
35
  } = props;
@@ -55,11 +55,12 @@ const JSONFieldComponent = props => {
55
55
  } = {},
56
56
  disabled,
57
57
  initialValue,
58
+ path,
58
59
  setValue,
59
60
  showError,
60
61
  value: value_0
61
62
  } = useField({
62
- path,
63
+ potentiallyStalePath: pathFromProps,
63
64
  validate: memoizedValidate
64
65
  });
65
66
  const [initialStringValue, setInitialStringValue] = useState(() => (value_0 || initialValue) !== undefined ? JSON.stringify(value_0 ?? initialValue, null, 2) : undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useState","v4","uuidv4","CodeEditor","RenderCustomComponent","useField","withCondition","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","baseClass","JSONFieldComponent","props","field","admin","className","description","editorOptions","maxHeight","jsonSchema","label","localized","required","path","readOnly","validate","jsonError","setJsonError","inputChangeFromRef","useRef","editorKey","setEditorKey","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","initialValue","setValue","showError","initialStringValue","setInitialStringValue","undefined","JSON","stringify","handleMount","editor","monaco","languages","json","jsonDefaults","setDiagnosticsOptions","enableSchemaRequest","schemas","diagnosticsOptions","uri","newUri","includes","crypto","randomUUID","setModel","createModel","Uri","parse","handleChange","val","current","e","Date","toString","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","message","defaultLanguage","onChange","onMount","wrapperProps","id","replace","JSONField"],"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent } from 'payload'\n\nimport { type OnMount } from '@monaco-editor/react'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nconst JSONFieldComponent: JSONFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { className, description, editorOptions, maxHeight } = {},\n jsonSchema,\n label,\n localized,\n required,\n },\n path,\n readOnly,\n validate,\n } = props\n\n const [jsonError, setJsonError] = useState<string>()\n const inputChangeFromRef = React.useRef<'system' | 'user'>('system')\n const [editorKey, setEditorKey] = useState<string>('')\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, jsonError, required })\n }\n },\n [validate, required, jsonError],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n initialValue,\n setValue,\n showError,\n value,\n } = useField<string>({\n path,\n validate: memoizedValidate,\n })\n\n const [initialStringValue, setInitialStringValue] = useState<string | undefined>(() =>\n (value || initialValue) !== undefined\n ? JSON.stringify(value ?? initialValue, null, 2)\n : undefined,\n )\n\n const handleMount = useCallback<OnMount>(\n (editor, monaco) => {\n if (!jsonSchema) {\n return\n }\n\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n enableSchemaRequest: true,\n schemas: [\n ...(monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || []),\n jsonSchema,\n ],\n validate: true,\n })\n\n const uri = jsonSchema.uri\n const newUri = uri.includes('?')\n ? `${uri}&${crypto.randomUUID ? crypto.randomUUID() : uuidv4()}`\n : `${uri}?${crypto.randomUUID ? crypto.randomUUID() : uuidv4()}`\n\n editor.setModel(\n monaco.editor.createModel(JSON.stringify(value, null, 2), 'json', monaco.Uri.parse(newUri)),\n )\n },\n [jsonSchema, value],\n )\n\n const handleChange = useCallback(\n (val) => {\n if (readOnly || disabled) {\n return\n }\n inputChangeFromRef.current = 'user'\n\n try {\n setValue(val ? JSON.parse(val) : null)\n setJsonError(undefined)\n } catch (e) {\n setValue(val ? val : null)\n setJsonError(e)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n useEffect(() => {\n if (inputChangeFromRef.current === 'system') {\n setInitialStringValue(\n (value || initialValue) !== undefined\n ? JSON.stringify(value ?? initialValue, null, 2)\n : undefined,\n )\n setEditorKey(new Date().toString())\n }\n\n inputChangeFromRef.current = 'system'\n }, [initialValue, value])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\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 message={jsonError} path={path} showError={showError} />}\n />\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n key={editorKey}\n maxHeight={maxHeight}\n onChange={handleChange}\n onMount={handleMount}\n options={editorOptions}\n readOnly={readOnly || disabled}\n value={initialStringValue}\n wrapperProps={{\n id: `field-${path?.replace(/\\./g, '__')}`,\n }}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JSONField = withCondition(JSONFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useState","v4","uuidv4","CodeEditor","RenderCustomComponent","useField","withCondition","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","baseClass","JSONFieldComponent","props","field","admin","className","description","editorOptions","maxHeight","jsonSchema","label","localized","required","path","pathFromProps","readOnly","validate","jsonError","setJsonError","inputChangeFromRef","useRef","editorKey","setEditorKey","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","initialValue","setValue","showError","potentiallyStalePath","initialStringValue","setInitialStringValue","undefined","JSON","stringify","handleMount","editor","monaco","languages","json","jsonDefaults","setDiagnosticsOptions","enableSchemaRequest","schemas","diagnosticsOptions","uri","newUri","includes","crypto","randomUUID","setModel","createModel","Uri","parse","handleChange","val","current","e","Date","toString","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","message","defaultLanguage","onChange","onMount","wrapperProps","id","replace","JSONField"],"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent } from 'payload'\n\nimport { type OnMount } from '@monaco-editor/react'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nconst JSONFieldComponent: JSONFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { className, description, editorOptions, maxHeight } = {},\n jsonSchema,\n label,\n localized,\n required,\n },\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const [jsonError, setJsonError] = useState<string>()\n const inputChangeFromRef = React.useRef<'system' | 'user'>('system')\n const [editorKey, setEditorKey] = useState<string>('')\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, jsonError, required })\n }\n },\n [validate, required, jsonError],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n initialValue,\n path,\n setValue,\n showError,\n value,\n } = useField<string>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const [initialStringValue, setInitialStringValue] = useState<string | undefined>(() =>\n (value || initialValue) !== undefined\n ? JSON.stringify(value ?? initialValue, null, 2)\n : undefined,\n )\n\n const handleMount = useCallback<OnMount>(\n (editor, monaco) => {\n if (!jsonSchema) {\n return\n }\n\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n enableSchemaRequest: true,\n schemas: [\n ...(monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || []),\n jsonSchema,\n ],\n validate: true,\n })\n\n const uri = jsonSchema.uri\n const newUri = uri.includes('?')\n ? `${uri}&${crypto.randomUUID ? crypto.randomUUID() : uuidv4()}`\n : `${uri}?${crypto.randomUUID ? crypto.randomUUID() : uuidv4()}`\n\n editor.setModel(\n monaco.editor.createModel(JSON.stringify(value, null, 2), 'json', monaco.Uri.parse(newUri)),\n )\n },\n [jsonSchema, value],\n )\n\n const handleChange = useCallback(\n (val) => {\n if (readOnly || disabled) {\n return\n }\n inputChangeFromRef.current = 'user'\n\n try {\n setValue(val ? JSON.parse(val) : null)\n setJsonError(undefined)\n } catch (e) {\n setValue(val ? val : null)\n setJsonError(e)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n useEffect(() => {\n if (inputChangeFromRef.current === 'system') {\n setInitialStringValue(\n (value || initialValue) !== undefined\n ? JSON.stringify(value ?? initialValue, null, 2)\n : undefined,\n )\n setEditorKey(new Date().toString())\n }\n\n inputChangeFromRef.current = 'system'\n }, [initialValue, value])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\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 message={jsonError} path={path} showError={showError} />}\n />\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n key={editorKey}\n maxHeight={maxHeight}\n onChange={handleChange}\n onMount={handleMount}\n options={editorOptions}\n readOnly={readOnly || disabled}\n value={initialStringValue}\n wrapperProps={{\n id: `field-${path?.replace(/\\./g, '__')}`,\n }}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JSONField = withCondition(JSONFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Join/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,eAAe,EAIhB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAkB,MAAM,OAAO,CAAA;AAoOtC,eAAO,MAAM,SAAS;;;;+EAAoC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Join/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,eAAe,EAIhB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAkB,MAAM,OAAO,CAAA;AAqOtC,eAAO,MAAM,SAAS;;;;+EAAoC,CAAA"}
@@ -102,7 +102,7 @@ const JoinFieldComponent = props => {
102
102
  on,
103
103
  required
104
104
  },
105
- path
105
+ path: pathFromProps
106
106
  } = props;
107
107
  const {
108
108
  id: docID,
@@ -120,10 +120,11 @@ const JoinFieldComponent = props => {
120
120
  Error,
121
121
  Label
122
122
  } = {},
123
+ path,
123
124
  showError,
124
125
  value
125
126
  } = useField({
126
- path
127
+ potentiallyStalePath: pathFromProps
127
128
  });
128
129
  const filterOptions = useMemo(() => {
129
130
  if (!docID) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ObjectIdImport","flattenTopLevelFields","React","useMemo","RelationshipTable","RenderCustomComponent","useField","withCondition","useConfig","useDocumentInfo","FieldDescription","FieldError","FieldLabel","fieldBaseClass","ObjectId","default","getInitialDrawerData","collectionSlug","config","docID","fields","segments","flattenedFields","path","field","find","name","type","value","Array","isArray","relationTo","hasMany","nextSegments","slice","length","initialData","id","toHexString","_block","blockReferences","blocks","block","blocksMap","blockInitialData","blockType","slug","JoinFieldComponent","props","admin","allowCreate","description","collection","label","localized","on","required","docConfig","getEntityConfig","customComponents","AfterInput","BeforeInput","Description","Error","Label","showError","filterOptions","targetField","where","equals","and","initialDrawerData","relatedCollection","split","_jsxs","className","filter","Boolean","join","replace","_jsx","CustomComponent","Fallback","disableTable","docs","style","margin","parent","joinPath","undefined","JoinField"],"sources":["../../../src/fields/Join/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientConfig,\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 { FieldError } from '../FieldError/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 config,\n docID,\n fields,\n segments,\n}: {\n collectionSlug: string\n config: ClientConfig\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 config,\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 config,\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.blockReferences ?? field.blocks) {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n\n const blockInitialData = getInitialDrawerData({\n collectionSlug,\n config,\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 { config, getEntityConfig } = useConfig()\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n showError,\n 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 = Array.isArray(collection)\n ? {}\n : {\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, collection, field.targetField.relationTo, field.where, on, docConfig?.slug])\n\n const initialDrawerData = useMemo(() => {\n const relatedCollection = getEntityConfig({\n collectionSlug: Array.isArray(field.collection) ? field.collection[0] : field.collection,\n })\n\n return getInitialDrawerData({\n collectionSlug: docConfig?.slug,\n config,\n docID,\n fields: relatedCollection.fields,\n segments: field.on.split('.'),\n })\n }, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID, config])\n\n if (!docConfig) {\n return null\n }\n\n return (\n <div\n className={[fieldBaseClass, showError && 'error', 'join'].filter(Boolean).join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\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 parent={\n Array.isArray(collection)\n ? {\n id: docID,\n collectionSlug: docConfig.slug,\n joinPath: path,\n }\n : undefined\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","FieldError","FieldLabel","fieldBaseClass","ObjectId","default","getInitialDrawerData","collectionSlug","config","docID","fields","segments","flattenedFields","path","field","find","name","type","value","Array","isArray","relationTo","hasMany","nextSegments","slice","length","initialData","id","toHexString","_block","blockReferences","blocks","block","blocksMap","blockInitialData","blockType","slug","JoinFieldComponent","props","admin","allowCreate","description","collection","label","localized","on","required","pathFromProps","docConfig","getEntityConfig","customComponents","AfterInput","BeforeInput","Description","Error","Label","showError","potentiallyStalePath","filterOptions","targetField","where","equals","and","initialDrawerData","relatedCollection","split","_jsxs","className","filter","Boolean","join","replace","_jsx","CustomComponent","Fallback","disableTable","docs","style","margin","parent","joinPath","undefined","JoinField"],"sources":["../../../src/fields/Join/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientConfig,\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 { FieldError } from '../FieldError/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 config,\n docID,\n fields,\n segments,\n}: {\n collectionSlug: string\n config: ClientConfig\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 config,\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 config,\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.blockReferences ?? field.blocks) {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n\n const blockInitialData = getInitialDrawerData({\n collectionSlug,\n config,\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: pathFromProps,\n } = props\n\n const { id: docID, docConfig } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n path,\n showError,\n value,\n } = useField<PaginatedDocs>({\n potentiallyStalePath: pathFromProps,\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 = Array.isArray(collection)\n ? {}\n : {\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, collection, field.targetField.relationTo, field.where, on, docConfig?.slug])\n\n const initialDrawerData = useMemo(() => {\n const relatedCollection = getEntityConfig({\n collectionSlug: Array.isArray(field.collection) ? field.collection[0] : field.collection,\n })\n\n return getInitialDrawerData({\n collectionSlug: docConfig?.slug,\n config,\n docID,\n fields: relatedCollection.fields,\n segments: field.on.split('.'),\n })\n }, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID, config])\n\n if (!docConfig) {\n return null\n }\n\n return (\n <div\n className={[fieldBaseClass, showError && 'error', 'join'].filter(Boolean).join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\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 parent={\n Array.isArray(collection)\n ? {\n id: docID,\n collectionSlug: docConfig.slug,\n joinPath: path,\n }\n : undefined\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":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Number/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAaxE,OAAO,cAAc,CAAA;AA+LrB,eAAO,MAAM,WAAW;;;;;;+EAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Number/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAaxE,OAAO,cAAc,CAAA;AAgMrB,eAAO,MAAM,WAAW;;;;;;+EAAsC,CAAA"}
@@ -34,7 +34,7 @@ const NumberFieldComponent = props => {
34
34
  required
35
35
  },
36
36
  onChange: onChangeFromProps,
37
- path,
37
+ path: pathFromProps,
38
38
  readOnly,
39
39
  validate
40
40
  } = props;
@@ -61,11 +61,12 @@ const NumberFieldComponent = props => {
61
61
  Label
62
62
  } = {},
63
63
  disabled,
64
+ path,
64
65
  setValue,
65
66
  showError,
66
67
  value: value_0
67
68
  } = useField({
68
- path,
69
+ potentiallyStalePath: pathFromProps,
69
70
  validate: memoizedValidate
70
71
  });
71
72
  const handleChange = useCallback(e => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","isNumber","React","useCallback","useEffect","useMemo","useState","ReactSelect","RenderCustomComponent","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","NumberFieldComponent","props","field","admin","className","description","placeholder","step","hasMany","label","localized","max","Infinity","maxRows","min","required","onChange","onChangeFromProps","path","readOnly","validate","i18n","t","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","replace","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","name","onWheel","blur","type","NumberField"],"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["'use client'\nimport type { NumberFieldClientComponent, NumberFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isNumber } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst NumberFieldComponent: NumberFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n className,\n description,\n placeholder,\n step = 1,\n } = {} as NumberFieldClientProps['field']['admin'],\n hasMany = false,\n label,\n localized,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n required,\n },\n onChange: onChangeFromProps,\n path,\n readOnly,\n validate,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n setValue,\n showError,\n value,\n } = useField<number | number[]>({\n path,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = null\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\n )\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!(readOnly || disabled)) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(selectedOption.value?.value || selectedOption.value)]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n }\n }),\n )\n }\n }, [value, hasMany])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\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 {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly || disabled}\n filterOption={(_, rawInput) => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\n }}\n isClearable\n isCreatable\n isMulti\n isSortable\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={t('general:enterAValue')}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n <input\n disabled={readOnly || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n </div>\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","isNumber","React","useCallback","useEffect","useMemo","useState","ReactSelect","RenderCustomComponent","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","NumberFieldComponent","props","field","admin","className","description","placeholder","step","hasMany","label","localized","max","Infinity","maxRows","min","required","onChange","onChangeFromProps","path","pathFromProps","readOnly","validate","i18n","t","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","potentiallyStalePath","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","replace","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","name","onWheel","blur","type","NumberField"],"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["'use client'\nimport type { NumberFieldClientComponent, NumberFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isNumber } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst NumberFieldComponent: NumberFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n className,\n description,\n placeholder,\n step = 1,\n } = {} as NumberFieldClientProps['field']['admin'],\n hasMany = false,\n label,\n localized,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n required,\n },\n onChange: onChangeFromProps,\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value,\n } = useField<number | number[]>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = null\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\n )\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!(readOnly || disabled)) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(selectedOption.value?.value || selectedOption.value)]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n }\n }),\n )\n }\n }, [value, hasMany])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\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 {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly || disabled}\n filterOption={(_, rawInput) => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\n }}\n isClearable\n isCreatable\n isMulti\n isSortable\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={t('general:enterAValue')}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n <input\n disabled={readOnly || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n </div>\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Point/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAG9E,OAAO,KAA+B,MAAM,OAAO,CAAA;AAUnD,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,mBAAmB,EAAE,yBA6IjC,CAAA;AAED,eAAO,MAAM,UAAU;;;;;+EAAqC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Point/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAG9E,OAAO,KAA+B,MAAM,OAAO,CAAA;AAUnD,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,mBAAmB,EAAE,yBA8IjC,CAAA;AAED,eAAO,MAAM,UAAU;;;;;+EAAqC,CAAA"}
@@ -28,7 +28,7 @@ export const PointFieldComponent = props => {
28
28
  localized,
29
29
  required
30
30
  },
31
- path,
31
+ path: pathFromProps,
32
32
  readOnly,
33
33
  validate
34
34
  } = props;
@@ -53,11 +53,12 @@ export const PointFieldComponent = props => {
53
53
  Label
54
54
  } = {},
55
55
  disabled,
56
+ path,
56
57
  setValue,
57
58
  showError,
58
59
  value: value_0 = [null, null]
59
60
  } = useField({
60
- path,
61
+ potentiallyStalePath: pathFromProps,
61
62
  validate: memoizedValidate
62
63
  });
63
64
  const handleChange = useCallback((e, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useMemo","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useField","withCondition","useTranslation","mergeFieldStyles","fieldBaseClass","baseClass","PointFieldComponent","props","field","admin","className","description","placeholder","step","label","localized","required","path","readOnly","validate","i18n","t","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","handleChange","e","index","val","parseFloat","target","Number","isNaN","coordinates","getCoordinateFieldLabel","type","suffix","fieldLabel","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","id","replace","name","onChange","PointField"],"sources":["../../../src/fields/Point/index.tsx"],"sourcesContent":["'use client'\nimport type { PointFieldClientComponent, PointFieldValidation } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useMemo } from 'react'\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 { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst baseClass = 'point'\n\nexport const PointFieldComponent: PointFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { className, description, placeholder, step } = {},\n label,\n localized,\n required,\n },\n path,\n readOnly,\n validate,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate: PointFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n setValue,\n showError,\n value = [null, null],\n } = useField<[number, number]>({\n path,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e, index: 0 | 1) => {\n let val = parseFloat(e.target.value)\n if (Number.isNaN(val)) {\n val = e.target.value\n }\n const coordinates = [...value]\n coordinates[index] = val\n setValue(coordinates)\n },\n [setValue, value],\n )\n\n const getCoordinateFieldLabel = (type: 'latitude' | 'longitude') => {\n const suffix = type === 'longitude' ? t('fields:longitude') : t('fields:latitude')\n const fieldLabel = label ? getTranslation(label, i18n) : ''\n\n return `${fieldLabel}${fieldLabel ? ' - ' : ''}${suffix}`\n }\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <ul className={`${baseClass}__wrap`}>\n <li>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n label={getCoordinateFieldLabel('longitude')}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n <div className=\"input-wrapper\">\n {BeforeInput}\n {/* disable eslint rule because the label is dynamic */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n disabled={readOnly || disabled}\n id={`field-longitude-${path?.replace(/\\./g, '__')}`}\n name={`${path}.longitude`}\n onChange={(e) => handleChange(e, 0)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[0] === 'number' ? value[0] : ''}\n />\n {AfterInput}\n </div>\n </li>\n <li>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n label={getCoordinateFieldLabel('latitude')}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n <div className=\"input-wrapper\">\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {/* disable eslint rule because the label is dynamic */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n disabled={readOnly || disabled}\n id={`field-latitude-${path?.replace(/\\./g, '__')}`}\n name={`${path}.latitude`}\n onChange={(e) => handleChange(e, 1)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[1] === 'number' ? value[1] : ''}\n />\n {AfterInput}\n </div>\n </li>\n </ul>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const PointField = withCondition(PointFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useMemo","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useField","withCondition","useTranslation","mergeFieldStyles","fieldBaseClass","baseClass","PointFieldComponent","props","field","admin","className","description","placeholder","step","label","localized","required","path","pathFromProps","readOnly","validate","i18n","t","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","potentiallyStalePath","handleChange","e","index","val","parseFloat","target","Number","isNaN","coordinates","getCoordinateFieldLabel","type","suffix","fieldLabel","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","id","replace","name","onChange","PointField"],"sources":["../../../src/fields/Point/index.tsx"],"sourcesContent":["'use client'\nimport type { PointFieldClientComponent, PointFieldValidation } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useMemo } from 'react'\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 { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst baseClass = 'point'\n\nexport const PointFieldComponent: PointFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { className, description, placeholder, step } = {},\n label,\n localized,\n required,\n },\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate: PointFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value = [null, null],\n } = useField<[number, number]>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e, index: 0 | 1) => {\n let val = parseFloat(e.target.value)\n if (Number.isNaN(val)) {\n val = e.target.value\n }\n const coordinates = [...value]\n coordinates[index] = val\n setValue(coordinates)\n },\n [setValue, value],\n )\n\n const getCoordinateFieldLabel = (type: 'latitude' | 'longitude') => {\n const suffix = type === 'longitude' ? t('fields:longitude') : t('fields:latitude')\n const fieldLabel = label ? getTranslation(label, i18n) : ''\n\n return `${fieldLabel}${fieldLabel ? ' - ' : ''}${suffix}`\n }\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <ul className={`${baseClass}__wrap`}>\n <li>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n label={getCoordinateFieldLabel('longitude')}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n <div className=\"input-wrapper\">\n {BeforeInput}\n {/* disable eslint rule because the label is dynamic */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n disabled={readOnly || disabled}\n id={`field-longitude-${path?.replace(/\\./g, '__')}`}\n name={`${path}.longitude`}\n onChange={(e) => handleChange(e, 0)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[0] === 'number' ? value[0] : ''}\n />\n {AfterInput}\n </div>\n </li>\n <li>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n label={getCoordinateFieldLabel('latitude')}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n <div className=\"input-wrapper\">\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {/* disable eslint rule because the label is dynamic */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n disabled={readOnly || disabled}\n id={`field-latitude-${path?.replace(/\\./g, '__')}`}\n name={`${path}.latitude`}\n onChange={(e) => handleChange(e, 1)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[1] === 'number' ? value[1] : ''}\n />\n {AfterInput}\n </div>\n </li>\n </ul>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const PointField = withCondition(PointFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RadioGroup/index.tsx"],"names":[],"mappings":"AAcA,OAAO,cAAc,CAAA;AA+HrB,eAAO,MAAM,eAAe,EAAE,GAA6C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RadioGroup/index.tsx"],"names":[],"mappings":"AAcA,OAAO,cAAc,CAAA;AAgIrB,eAAO,MAAM,eAAe,EAAE,GAA6C,CAAA"}
@@ -31,7 +31,7 @@ const RadioGroupFieldComponent = props => {
31
31
  required
32
32
  } = {},
33
33
  onChange: onChangeFromProps,
34
- path,
34
+ path: pathFromProps,
35
35
  readOnly,
36
36
  validate,
37
37
  value: valueFromProps
@@ -57,11 +57,12 @@ const RadioGroupFieldComponent = props => {
57
57
  Label
58
58
  } = {},
59
59
  disabled,
60
+ path,
60
61
  setValue,
61
62
  showError,
62
63
  value: valueFromContext
63
64
  } = useField({
64
- path,
65
+ potentiallyStalePath: pathFromProps,
65
66
  validate: memoizedValidate
66
67
  });
67
68
  const value_0 = valueFromContext || valueFromProps;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["optionIsObject","React","useCallback","useMemo","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useField","withCondition","mergeFieldStyles","fieldBaseClass","Radio","baseClass","RadioGroupFieldComponent","props","disableModifyingForm","disableModifyingFormFromProps","field","admin","className","description","layout","label","localized","options","required","onChange","onChangeFromProps","path","readOnly","validate","value","valueFromProps","uuid","memoizedValidate","validationOptions","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","valueFromContext","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","id","replace","map","option","optionValue","isSelected","String","RadioGroupField"],"sources":["../../../src/fields/RadioGroup/index.tsx"],"sourcesContent":["'use client'\nimport type { RadioFieldClientComponent, RadioFieldClientProps } from 'payload'\n\nimport { optionIsObject } from 'payload/shared'\nimport React, { useCallback, useMemo } from 'react'\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 { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { Radio } from './Radio/index.js'\n\nconst baseClass = 'radio-group'\n\nconst RadioGroupFieldComponent: RadioFieldClientComponent = (props) => {\n const {\n disableModifyingForm: disableModifyingFormFromProps,\n field,\n field: {\n admin: {\n className,\n description,\n layout = 'horizontal',\n } = {} as RadioFieldClientProps['field']['admin'],\n label,\n localized,\n options = [],\n required,\n } = {} as RadioFieldClientProps['field'],\n onChange: onChangeFromProps,\n path,\n readOnly,\n validate,\n value: valueFromProps,\n } = props\n\n const { uuid } = useForm()\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, options, required })\n }\n },\n [validate, options, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n setValue,\n showError,\n value: valueFromContext,\n } = useField<string>({\n path,\n validate: memoizedValidate,\n })\n\n const value = valueFromContext || valueFromProps\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n `${baseClass}--layout-${layout}`,\n showError && 'error',\n (readOnly || disabled) && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\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 {BeforeInput}\n <ul className={`${baseClass}--group`} id={`field-${path.replace(/\\./g, '__')}`}>\n {options.map((option) => {\n let optionValue = ''\n\n if (optionIsObject(option)) {\n optionValue = option.value\n } else {\n optionValue = option\n }\n\n const isSelected = String(optionValue) === String(value)\n\n const id = `field-${path}-${optionValue}${uuid ? `-${uuid}` : ''}`\n\n return (\n <li key={`${path} - ${optionValue}`}>\n <Radio\n id={id}\n isSelected={isSelected}\n onChange={() => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(optionValue)\n }\n\n if (!(readOnly || disabled)) {\n setValue(optionValue, !!disableModifyingFormFromProps)\n }\n }}\n option={optionIsObject(option) ? option : { label: option, value: option }}\n path={path}\n readOnly={readOnly || disabled}\n uuid={uuid}\n />\n </li>\n )\n })}\n </ul>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n\nexport const RadioGroupField: any = withCondition(RadioGroupFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["optionIsObject","React","useCallback","useMemo","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useField","withCondition","mergeFieldStyles","fieldBaseClass","Radio","baseClass","RadioGroupFieldComponent","props","disableModifyingForm","disableModifyingFormFromProps","field","admin","className","description","layout","label","localized","options","required","onChange","onChangeFromProps","path","pathFromProps","readOnly","validate","value","valueFromProps","uuid","memoizedValidate","validationOptions","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","valueFromContext","potentiallyStalePath","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","id","replace","map","option","optionValue","isSelected","String","RadioGroupField"],"sources":["../../../src/fields/RadioGroup/index.tsx"],"sourcesContent":["'use client'\nimport type { RadioFieldClientComponent, RadioFieldClientProps } from 'payload'\n\nimport { optionIsObject } from 'payload/shared'\nimport React, { useCallback, useMemo } from 'react'\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 { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { Radio } from './Radio/index.js'\n\nconst baseClass = 'radio-group'\n\nconst RadioGroupFieldComponent: RadioFieldClientComponent = (props) => {\n const {\n disableModifyingForm: disableModifyingFormFromProps,\n field,\n field: {\n admin: {\n className,\n description,\n layout = 'horizontal',\n } = {} as RadioFieldClientProps['field']['admin'],\n label,\n localized,\n options = [],\n required,\n } = {} as RadioFieldClientProps['field'],\n onChange: onChangeFromProps,\n path: pathFromProps,\n readOnly,\n validate,\n value: valueFromProps,\n } = props\n\n const { uuid } = useForm()\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, options, required })\n }\n },\n [validate, options, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value: valueFromContext,\n } = useField<string>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const value = valueFromContext || valueFromProps\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n `${baseClass}--layout-${layout}`,\n showError && 'error',\n (readOnly || disabled) && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\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 {BeforeInput}\n <ul className={`${baseClass}--group`} id={`field-${path.replace(/\\./g, '__')}`}>\n {options.map((option) => {\n let optionValue = ''\n\n if (optionIsObject(option)) {\n optionValue = option.value\n } else {\n optionValue = option\n }\n\n const isSelected = String(optionValue) === String(value)\n\n const id = `field-${path}-${optionValue}${uuid ? `-${uuid}` : ''}`\n\n return (\n <li key={`${path} - ${optionValue}`}>\n <Radio\n id={id}\n isSelected={isSelected}\n onChange={() => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(optionValue)\n }\n\n if (!(readOnly || disabled)) {\n setValue(optionValue, !!disableModifyingFormFromProps)\n }\n }}\n option={optionIsObject(option) ? option : { label: option, value: option }}\n path={path}\n readOnly={readOnly || disabled}\n uuid={uuid}\n />\n </li>\n )\n })}\n </ul>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n\nexport const RadioGroupField: any = withCondition(RadioGroupFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAwE,MAAM,OAAO,CAAA;AAqB5F,OAAO,cAAc,CAAA;AAkrBrB,eAAO,MAAM,iBAAiB;;;;;+EAA4C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/index.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAwE,MAAM,OAAO,CAAA;AAuB5F,OAAO,cAAc,CAAA;AAovBrB,eAAO,MAAM,iBAAiB;;;;;+EAA4C,CAAA"}