@payloadcms/ui 3.2.3-canary.5e3c2f6 → 3.2.3-canary.6302476

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 (78) hide show
  1. package/dist/elements/AnimateHeight/index.d.ts.map +1 -1
  2. package/dist/elements/AnimateHeight/index.js +4 -1
  3. package/dist/elements/AnimateHeight/index.js.map +1 -1
  4. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts +2 -1
  5. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  6. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +67 -80
  7. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  8. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  9. package/dist/elements/DeleteMany/index.js +10 -14
  10. package/dist/elements/DeleteMany/index.js.map +1 -1
  11. package/dist/elements/EditMany/index.d.ts.map +1 -1
  12. package/dist/elements/EditMany/index.js +11 -12
  13. package/dist/elements/EditMany/index.js.map +1 -1
  14. package/dist/elements/Localizer/index.d.ts.map +1 -1
  15. package/dist/elements/Localizer/index.js +14 -13
  16. package/dist/elements/Localizer/index.js.map +1 -1
  17. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  18. package/dist/elements/PublishMany/index.js +10 -10
  19. package/dist/elements/PublishMany/index.js.map +1 -1
  20. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  21. package/dist/elements/SortComplex/index.js +3 -6
  22. package/dist/elements/SortComplex/index.js.map +1 -1
  23. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  24. package/dist/elements/UnpublishMany/index.js +11 -11
  25. package/dist/elements/UnpublishMany/index.js.map +1 -1
  26. package/dist/exports/client/index.d.ts +4 -0
  27. package/dist/exports/client/index.d.ts.map +1 -1
  28. package/dist/exports/client/index.js +10 -10
  29. package/dist/exports/client/index.js.map +4 -4
  30. package/dist/fields/Array/index.d.ts.map +1 -1
  31. package/dist/fields/Array/index.js +4 -2
  32. package/dist/fields/Array/index.js.map +1 -1
  33. package/dist/fields/Blocks/index.d.ts.map +1 -1
  34. package/dist/fields/Blocks/index.js +4 -2
  35. package/dist/fields/Blocks/index.js.map +1 -1
  36. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  37. package/dist/fields/Collapsible/index.js +4 -2
  38. package/dist/fields/Collapsible/index.js.map +1 -1
  39. package/dist/fields/Group/index.d.ts.map +1 -1
  40. package/dist/fields/Group/index.js +6 -4
  41. package/dist/fields/Group/index.js.map +1 -1
  42. package/dist/fields/Number/index.js +5 -5
  43. package/dist/fields/Number/index.js.map +1 -1
  44. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  45. package/dist/fields/RadioGroup/index.js +4 -2
  46. package/dist/fields/RadioGroup/index.js.map +1 -1
  47. package/dist/fields/Relationship/index.d.ts.map +1 -1
  48. package/dist/fields/Relationship/index.js +4 -2
  49. package/dist/fields/Relationship/index.js.map +1 -1
  50. package/dist/fields/Tabs/index.d.ts +15 -0
  51. package/dist/fields/Tabs/index.d.ts.map +1 -1
  52. package/dist/fields/Tabs/index.js +2 -2
  53. package/dist/fields/Tabs/index.js.map +1 -1
  54. package/dist/providers/ListQuery/index.js +2 -2
  55. package/dist/providers/ListQuery/index.js.map +1 -1
  56. package/dist/providers/Locale/index.d.ts.map +1 -1
  57. package/dist/providers/Locale/index.js +66 -60
  58. package/dist/providers/Locale/index.js.map +1 -1
  59. package/dist/providers/Params/index.d.ts +16 -0
  60. package/dist/providers/Params/index.d.ts.map +1 -1
  61. package/dist/providers/Params/index.js +16 -1
  62. package/dist/providers/Params/index.js.map +1 -1
  63. package/dist/providers/SearchParams/index.d.ts +22 -4
  64. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  65. package/dist/providers/SearchParams/index.js +24 -10
  66. package/dist/providers/SearchParams/index.js.map +1 -1
  67. package/dist/providers/Selection/index.d.ts.map +1 -1
  68. package/dist/providers/Selection/index.js +4 -5
  69. package/dist/providers/Selection/index.js.map +1 -1
  70. package/dist/styles.css +1 -1
  71. package/dist/utilities/parseSearchParams.d.ts +4 -0
  72. package/dist/utilities/parseSearchParams.d.ts.map +1 -0
  73. package/dist/utilities/parseSearchParams.js +9 -0
  74. package/dist/utilities/parseSearchParams.js.map +1 -0
  75. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
  76. package/dist/views/Edit/SetDocumentStepNav/index.js +2 -0
  77. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  78. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Array/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAsB,MAAM,OAAO,CAAA;AAuB1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,mBAAmB,EAAE,yBA8TjC,CAAA;AAED,eAAO,MAAM,UAAU;;;;+EAAqC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Array/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAsB,MAAM,OAAO,CAAA;AAuB1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,mBAAmB,EAAE,yBAgUjC,CAAA;AAED,eAAO,MAAM,UAAU;;;;+EAAqC,CAAA"}
@@ -182,6 +182,8 @@ export const ArrayFieldComponent = props => {
182
182
  t12 = $[14];
183
183
  }
184
184
  const {
185
+ AfterInput,
186
+ BeforeInput,
185
187
  Description,
186
188
  Error,
187
189
  Label,
@@ -427,7 +429,7 @@ export const ArrayFieldComponent = props => {
427
429
  fieldValue: value_0,
428
430
  localized,
429
431
  path
430
- }), (rowsData?.length > 0 || !valid && (showRequired || showMinRows)) && _jsxs(DraggableSortable, {
432
+ }), BeforeInput, (rowsData?.length > 0 || !valid && (showRequired || showMinRows)) && _jsxs(DraggableSortable, {
431
433
  className: `${baseClass}__draggable-rows`,
432
434
  ids: rowsData.map(_temp),
433
435
  onDragEnd: t24 => {
@@ -496,7 +498,7 @@ export const ArrayFieldComponent = props => {
496
498
  children: t("fields:addLabel", {
497
499
  label: getTranslation(labels.singular, i18n)
498
500
  })
499
- })]
501
+ }), AfterInput]
500
502
  });
501
503
  };
502
504
  export const ArrayField = withCondition(ArrayFieldComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","$","field","t0","forceRender","t1","path","permissions","readOnly","schemaPath","schemaPathFromProps","validate","name","admin","t2","fields","label","localized","maxRows","minRows","minRowsProp","required","t3","undefined","className","description","isSortable","t4","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","submitted","code","locale","i18n","t","config","t5","localization","t6","bb0","fallback","defaultLocale","editingDefaultLocale","t7","p","labels","plural","singular","getLabels","t8","value","options","memoizedValidate","t9","hasRows","customComponents","t10","errorPaths","rows","t11","showError","valid","value_0","t12","Description","Error","Label","RowLabels","t13","rowsData","t14","rowIndex","setTimeout","addRow","t15","rowIndex_0","type","duplicateRow","t16","rowIndex_1","removeRow","t17","moveFromIndex","moveToIndex","moveRow","t18","collapsed","collapsedIDs","updatedRows","toggleCollapseAll","t19","rowID","collapsed_0","collapsedIDs_0","updatedRows_0","setCollapse","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","t20","t21","filter","Boolean","t22","_jsx","CustomComponent","Fallback","t23","count","withMessage","_jsxs","join","id","replace","children","as","onClick","fieldValue","ids","map","_temp","onDragEnd","t24","moveFromIndex_0","moveToIndex_0","rowData","i","rowID_0","rowPath","rowErrorCount","errorPath","startsWith","disabled","draggableSortableItemProps","CustomRowLabel","errorCount","parentPath","row","rowCount","Fragment","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ArrayFieldClientComponent,\n ArrayFieldClientProps,\n ArrayField as ArrayFieldType,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\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, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/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 { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field: {\n name,\n admin: { className, description, isSortable = true } = {},\n fields,\n label,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n forceRender = false,\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = (minRowsProp ?? required) ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const submitted = useFormSubmitted()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale || 'en'\n return locale === defaultLocale\n }\n\n return true\n })()\n\n // Handle labeling for Arrays, Global Arrays, and Blocks\n const getLabels = (p: ArrayFieldClientProps): Partial<ArrayFieldType['labels']> => {\n if ('labels' in p && p?.labels) {\n return p.labels\n }\n\n if ('labels' in p.field && p.field.labels) {\n return { plural: p.field.labels?.plural, singular: p.field.labels?.singular }\n }\n\n if ('label' in p.field && p.field.label) {\n return { plural: undefined, singular: p.field.label }\n }\n\n return { plural: t('general:rows'), singular: t('general:row') }\n }\n\n const labels = getLabels(props)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { Description, Error, Label, RowLabels } = {},\n errorPaths,\n rows: rowsData = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n dispatchFields({ type: 'MOVE_ROW', moveFromIndex, moveToIndex, path })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows: rowsData,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows: rowsData,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rowsData.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && errorPaths.length > 0\n\n const showRequired = readOnly && rowsData.length === 0\n const showMinRows = rowsData.length < minRows || (required && rowsData.length === 0)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n as=\"span\"\n label={label}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rowsData?.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {(rowsData?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rowsData.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rowsData.map((rowData, i) => {\n const { id: rowID } = rowData\n\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem disabled={readOnly || !isSortable} id={rowID} key={rowID}>\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n CustomRowLabel={RowLabels?.[i]}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={fields}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly}\n removeRow={removeRow}\n row={rowData}\n rowCount={rowsData?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n })}\n {!valid && (\n <React.Fragment>\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:rows' : 'general:row'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-row`}\n disabled={readOnly}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n void addRow(value || 0)\n }}\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n )}\n </div>\n )\n}\n\nexport const ArrayField = withCondition(ArrayFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","$","field","t0","forceRender","t1","path","permissions","readOnly","schemaPath","schemaPathFromProps","validate","name","admin","t2","fields","label","localized","maxRows","minRows","minRowsProp","required","t3","undefined","className","description","isSortable","t4","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","submitted","code","locale","i18n","t","config","t5","localization","t6","bb0","fallback","defaultLocale","editingDefaultLocale","t7","p","labels","plural","singular","getLabels","t8","value","options","memoizedValidate","t9","hasRows","customComponents","t10","errorPaths","rows","t11","showError","valid","value_0","t12","AfterInput","BeforeInput","Description","Error","Label","RowLabels","t13","rowsData","t14","rowIndex","setTimeout","addRow","t15","rowIndex_0","type","duplicateRow","t16","rowIndex_1","removeRow","t17","moveFromIndex","moveToIndex","moveRow","t18","collapsed","collapsedIDs","updatedRows","toggleCollapseAll","t19","rowID","collapsed_0","collapsedIDs_0","updatedRows_0","setCollapse","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","t20","t21","filter","Boolean","t22","_jsx","CustomComponent","Fallback","t23","count","withMessage","_jsxs","join","id","replace","children","as","onClick","fieldValue","ids","map","_temp","onDragEnd","t24","moveFromIndex_0","moveToIndex_0","rowData","i","rowID_0","rowPath","rowErrorCount","errorPath","startsWith","disabled","draggableSortableItemProps","CustomRowLabel","errorCount","parentPath","row","rowCount","Fragment","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ArrayFieldClientComponent,\n ArrayFieldClientProps,\n ArrayField as ArrayFieldType,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\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, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/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 { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field: {\n name,\n admin: { className, description, isSortable = true } = {},\n fields,\n label,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n forceRender = false,\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = (minRowsProp ?? required) ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const submitted = useFormSubmitted()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale || 'en'\n return locale === defaultLocale\n }\n\n return true\n })()\n\n // Handle labeling for Arrays, Global Arrays, and Blocks\n const getLabels = (p: ArrayFieldClientProps): Partial<ArrayFieldType['labels']> => {\n if ('labels' in p && p?.labels) {\n return p.labels\n }\n\n if ('labels' in p.field && p.field.labels) {\n return { plural: p.field.labels?.plural, singular: p.field.labels?.singular }\n }\n\n if ('label' in p.field && p.field.label) {\n return { plural: undefined, singular: p.field.label }\n }\n\n return { plural: t('general:rows'), singular: t('general:row') }\n }\n\n const labels = getLabels(props)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label, RowLabels } = {},\n errorPaths,\n rows: rowsData = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n dispatchFields({ type: 'MOVE_ROW', moveFromIndex, moveToIndex, path })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows: rowsData,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows: rowsData,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rowsData.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && errorPaths.length > 0\n\n const showRequired = readOnly && rowsData.length === 0\n const showMinRows = rowsData.length < minRows || (required && rowsData.length === 0)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n as=\"span\"\n label={label}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rowsData?.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {BeforeInput}\n {(rowsData?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rowsData.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rowsData.map((rowData, i) => {\n const { id: rowID } = rowData\n\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem disabled={readOnly || !isSortable} id={rowID} key={rowID}>\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n CustomRowLabel={RowLabels?.[i]}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={fields}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly}\n removeRow={removeRow}\n row={rowData}\n rowCount={rowsData?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n })}\n {!valid && (\n <React.Fragment>\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:rows' : 'general:row'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-row`}\n disabled={readOnly}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n void addRow(value || 0)\n }}\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const ArrayField = withCondition(ArrayFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgC,MAAM,OAAO,CAAA;AA0BpD,OAAO,cAAc,CAAA;AAsUrB,eAAO,MAAM,WAAW;;;;+EAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgC,MAAM,OAAO,CAAA;AA0BpD,OAAO,cAAc,CAAA;AAwUrB,eAAO,MAAM,WAAW;;;;+EAAsC,CAAA"}
@@ -160,6 +160,8 @@ const BlocksFieldComponent = props => {
160
160
  t10 = $[12];
161
161
  }
162
162
  const {
163
+ AfterInput,
164
+ BeforeInput,
163
165
  Description,
164
166
  Error,
165
167
  Label
@@ -399,7 +401,7 @@ const BlocksFieldComponent = props => {
399
401
  path
400
402
  })
401
403
  })]
402
- }), _jsx(NullifyLocaleField, {
404
+ }), BeforeInput, _jsx(NullifyLocaleField, {
403
405
  fieldValue: value_0,
404
406
  localized,
405
407
  path
@@ -487,7 +489,7 @@ const BlocksFieldComponent = props => {
487
489
  drawerSlug,
488
490
  labels
489
491
  })]
490
- })]
492
+ }), AfterInput]
491
493
  });
492
494
  };
493
495
  export const BlocksField = withCondition(BlocksFieldComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","RenderCustomComponent","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","BlocksFieldComponent","props","$","i18n","t","field","t0","path","permissions","readOnly","schemaPath","schemaPathFromProps","validate","name","admin","t1","blocks","label","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","required","t2","undefined","className","description","isSortable","t3","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","code","locale","config","t4","localization","drawerSlug","submitted","plural","singular","t5","bb0","fallback","defaultLocale","editingDefaultLocale","t6","value","options","memoizedValidate","t7","hasRows","customComponents","t8","errorPaths","rows","t9","showError","valid","value_0","t10","Description","Error","Label","t11","t12","rowIndex","blockType","setTimeout","addRow","t13","rowIndex_0","type","duplicateRow","t14","rowIndex_1","removeRow","t15","moveFromIndex","moveToIndex","moveRow","t16","collapsed","collapsedIDs","updatedRows","toggleCollapseAll","t17","rowID","collapsed_0","collapsedIDs_0","updatedRows_0","setCollapse","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showMinRows","showRequired","t18","t19","filter","Boolean","t20","_jsx","CustomComponent","Fallback","t21","count","withMessage","_jsxs","join","id","replace","children","onClick","fieldValue","ids","map","_temp","onDragEnd","t22","moveFromIndex_0","moveToIndex_0","row_0","i","blockType_0","row","blockConfig","find","block","slug","rowPath","rowErrorCount","errorPath","startsWith","disabled","draggableSortableItemProps","errorCount","fields","parentPath","rowCount","buttonStyle","el","icon","iconPosition","iconStyle","addRowIndex","BlocksField"],"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { DrawerToggler } from '../../elements/Drawer/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/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 { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'blocks-field'\n\nconst BlocksFieldComponent: BlocksFieldClientComponent = (props) => {\n const { i18n, t } = useTranslation()\n\n const {\n field: {\n name,\n admin: { className, description, isSortable = true } = {},\n blocks,\n label,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = (minRowsProp ?? required) ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const { code: locale } = useLocale()\n const {\n config: { localization },\n } = useConfig()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n const submitted = useFormSubmitted()\n\n const labels = {\n plural: t('fields:blocks'),\n singular: t('fields:block'),\n ...labelsFromProps,\n }\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale || 'en'\n return locale === defaultLocale\n }\n\n return true\n })()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { Description, Error, Label } = {},\n errorPaths,\n rows = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number, blockType: string) => {\n addFieldRow({\n blockType,\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({\n type: 'REMOVE_ROW',\n path,\n rowIndex,\n })\n\n setModified(true)\n },\n [path, dispatchFields, setModified],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n dispatchFields({ type: 'MOVE_ROW', moveFromIndex, moveToIndex, path })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows,\n })\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = readOnly && rows.length === 0\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__heading-with-error`}>\n <h3>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rows.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((row, i) => {\n const { blockType } = row\n const blockConfig = blocks.find((block) => block.slug === blockType)\n\n if (blockConfig) {\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem disabled={readOnly || !isSortable} id={row.id} key={row.id}>\n {(draggableSortableItemProps) => (\n <BlockRow\n {...draggableSortableItemProps}\n addRow={addRow}\n block={blockConfig}\n blocks={blocks}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={blockConfig.fields}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n Label={Label}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly}\n removeRow={removeRow}\n row={row}\n rowCount={rows.length}\n rowIndex={i}\n schemaPath={schemaPath + blockConfig.slug}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n }\n\n return null\n })}\n {!editingDefaultLocale && (\n <React.Fragment>\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:row' : 'general:rows'),\n })}\n </Banner>\n )}\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && (\n <Fragment>\n <DrawerToggler\n className={`${baseClass}__drawer-toggler`}\n disabled={readOnly}\n slug={drawerSlug}\n >\n <Button\n buttonStyle=\"icon-label\"\n disabled={readOnly}\n el=\"span\"\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n </DrawerToggler>\n <BlocksDrawer\n addRow={addRow}\n addRowIndex={rows?.length || 0}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n </Fragment>\n )}\n </div>\n )\n}\n\nexport const BlocksField = withCondition(BlocksFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","RenderCustomComponent","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","BlocksFieldComponent","props","$","i18n","t","field","t0","path","permissions","readOnly","schemaPath","schemaPathFromProps","validate","name","admin","t1","blocks","label","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","required","t2","undefined","className","description","isSortable","t3","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","code","locale","config","t4","localization","drawerSlug","submitted","plural","singular","t5","bb0","fallback","defaultLocale","editingDefaultLocale","t6","value","options","memoizedValidate","t7","hasRows","customComponents","t8","errorPaths","rows","t9","showError","valid","value_0","t10","AfterInput","BeforeInput","Description","Error","Label","t11","t12","rowIndex","blockType","setTimeout","addRow","t13","rowIndex_0","type","duplicateRow","t14","rowIndex_1","removeRow","t15","moveFromIndex","moveToIndex","moveRow","t16","collapsed","collapsedIDs","updatedRows","toggleCollapseAll","t17","rowID","collapsed_0","collapsedIDs_0","updatedRows_0","setCollapse","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showMinRows","showRequired","t18","t19","filter","Boolean","t20","_jsx","CustomComponent","Fallback","t21","count","withMessage","_jsxs","join","id","replace","children","onClick","fieldValue","ids","map","_temp","onDragEnd","t22","moveFromIndex_0","moveToIndex_0","row_0","i","blockType_0","row","blockConfig","find","block","slug","rowPath","rowErrorCount","errorPath","startsWith","disabled","draggableSortableItemProps","errorCount","fields","parentPath","rowCount","buttonStyle","el","icon","iconPosition","iconStyle","addRowIndex","BlocksField"],"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { DrawerToggler } from '../../elements/Drawer/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/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 { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'blocks-field'\n\nconst BlocksFieldComponent: BlocksFieldClientComponent = (props) => {\n const { i18n, t } = useTranslation()\n\n const {\n field: {\n name,\n admin: { className, description, isSortable = true } = {},\n blocks,\n label,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = (minRowsProp ?? required) ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const { code: locale } = useLocale()\n const {\n config: { localization },\n } = useConfig()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n const submitted = useFormSubmitted()\n\n const labels = {\n plural: t('fields:blocks'),\n singular: t('fields:block'),\n ...labelsFromProps,\n }\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale || 'en'\n return locale === defaultLocale\n }\n\n return true\n })()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n errorPaths,\n rows = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number, blockType: string) => {\n addFieldRow({\n blockType,\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({\n type: 'REMOVE_ROW',\n path,\n rowIndex,\n })\n\n setModified(true)\n },\n [path, dispatchFields, setModified],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n dispatchFields({ type: 'MOVE_ROW', moveFromIndex, moveToIndex, path })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows,\n })\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = readOnly && rows.length === 0\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__heading-with-error`}>\n <h3>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rows.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n {BeforeInput}\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((row, i) => {\n const { blockType } = row\n const blockConfig = blocks.find((block) => block.slug === blockType)\n\n if (blockConfig) {\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem disabled={readOnly || !isSortable} id={row.id} key={row.id}>\n {(draggableSortableItemProps) => (\n <BlockRow\n {...draggableSortableItemProps}\n addRow={addRow}\n block={blockConfig}\n blocks={blocks}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={blockConfig.fields}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n Label={Label}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly}\n removeRow={removeRow}\n row={row}\n rowCount={rows.length}\n rowIndex={i}\n schemaPath={schemaPath + blockConfig.slug}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n }\n\n return null\n })}\n {!editingDefaultLocale && (\n <React.Fragment>\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:row' : 'general:rows'),\n })}\n </Banner>\n )}\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && (\n <Fragment>\n <DrawerToggler\n className={`${baseClass}__drawer-toggler`}\n disabled={readOnly}\n slug={drawerSlug}\n >\n <Button\n buttonStyle=\"icon-label\"\n disabled={readOnly}\n el=\"span\"\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n </DrawerToggler>\n <BlocksDrawer\n addRow={addRow}\n addRowIndex={rows?.length || 0}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n </Fragment>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const BlocksField = withCondition(BlocksFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Collapsible/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAelF,OAAO,cAAc,CAAA;AAsIrB,eAAO,MAAM,gBAAgB;;+EAA2C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Collapsible/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAelF,OAAO,cAAc,CAAA;AAwIrB,eAAO,MAAM,gBAAgB;;+EAA2C,CAAA"}
@@ -54,6 +54,8 @@ const CollapsibleFieldComponent = props => {
54
54
  const fieldHasErrors = errorCount > 0;
55
55
  const {
56
56
  customComponents: {
57
+ AfterInput,
58
+ BeforeInput,
57
59
  Description,
58
60
  Label
59
61
  } = {}
@@ -114,7 +116,7 @@ const CollapsibleFieldComponent = props => {
114
116
  className: [fieldBaseClass, baseClass, className, fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`].filter(Boolean).join(' '),
115
117
  id: `field-${fieldPreferencesKey}`,
116
118
  style: styles,
117
- children: [/*#__PURE__*/_jsx(CollapsibleElement, {
119
+ children: [BeforeInput, /*#__PURE__*/_jsx(CollapsibleElement, {
118
120
  className: `${baseClass}__collapsible`,
119
121
  collapsibleStyle: fieldHasErrors ? 'error' : 'default',
120
122
  header: /*#__PURE__*/_jsxs("div", {
@@ -140,7 +142,7 @@ const CollapsibleFieldComponent = props => {
140
142
  permissions: permissions,
141
143
  readOnly: readOnly
142
144
  })
143
- }), /*#__PURE__*/_jsx(RenderCustomComponent, {
145
+ }), AfterInput, /*#__PURE__*/_jsx(RenderCustomComponent, {
144
146
  CustomComponent: Description,
145
147
  Fallback: /*#__PURE__*/_jsx(FieldDescription, {
146
148
  description: description,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","Fragment","useCallback","useEffect","useMemo","useState","Collapsible","CollapsibleElement","ErrorPill","RenderCustomComponent","FieldDescription","RenderFields","RowLabel","useField","WatchChildErrors","withCondition","useDocumentInfo","usePreferences","useTranslation","mergeFieldStyles","fieldBaseClass","baseClass","CollapsibleFieldComponent","props","field","admin","className","description","initCollapsed","fields","label","indexPath","parentPath","parentSchemaPath","path","permissions","readOnly","i18n","getPreference","setPreference","preferencesKey","collapsedOnMount","setCollapsedOnMount","fieldPreferencesKey","replace","errorCount","setErrorCount","fieldHasErrors","customComponents","Description","Label","onToggle","newCollapsedState","existingPreferences","collapsed","fetchInitialState","preferences","specificPreference","undefined","Boolean","styles","_jsxs","_jsx","split","filter","join","id","style","collapsibleStyle","header","CustomComponent","count","withMessage","margins","parentIndexPath","Fallback","CollapsibleField"],"sources":["../../../src/fields/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport type { CollapsibleFieldClientComponent, DocumentPreferences } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { Collapsible as CollapsibleElement } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { WatchChildErrors } from '../../forms/WatchChildErrors/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/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 = 'collapsible-field'\n\nconst CollapsibleFieldComponent: CollapsibleFieldClientComponent = (props) => {\n const {\n field,\n field: { admin: { className, description, initCollapsed = false } = {}, fields, label } = {},\n indexPath,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n readOnly,\n } = props\n\n const { i18n } = useTranslation()\n const { getPreference, setPreference } = usePreferences()\n const { preferencesKey } = useDocumentInfo()\n const [collapsedOnMount, setCollapsedOnMount] = useState<boolean>()\n const fieldPreferencesKey = `collapsible-${path?.replace(/\\./g, '__')}`\n const [errorCount, setErrorCount] = useState(0)\n const fieldHasErrors = errorCount > 0\n\n const { customComponents: { Description, Label } = {} } = useField({\n path,\n })\n\n const onToggle = useCallback(\n async (newCollapsedState: boolean): Promise<void> => {\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n\n if (preferencesKey) {\n void setPreference(preferencesKey, {\n ...existingPreferences,\n ...(path\n ? {\n fields: {\n ...(existingPreferences?.fields || {}),\n [path]: {\n ...existingPreferences?.fields?.[path],\n collapsed: newCollapsedState,\n },\n },\n }\n : {\n fields: {\n ...(existingPreferences?.fields || {}),\n [fieldPreferencesKey]: {\n ...existingPreferences?.fields?.[fieldPreferencesKey],\n collapsed: newCollapsedState,\n },\n },\n }),\n })\n }\n },\n [preferencesKey, fieldPreferencesKey, getPreference, setPreference, path],\n )\n\n useEffect(() => {\n const fetchInitialState = async () => {\n if (preferencesKey) {\n const preferences = await getPreference(preferencesKey)\n const specificPreference = path\n ? preferences?.fields?.[path]?.collapsed\n : preferences?.fields?.[fieldPreferencesKey]?.collapsed\n\n if (specificPreference !== undefined) {\n setCollapsedOnMount(Boolean(specificPreference))\n } else {\n setCollapsedOnMount(typeof initCollapsed === 'boolean' ? initCollapsed : false)\n }\n } else {\n setCollapsedOnMount(typeof initCollapsed === 'boolean' ? initCollapsed : false)\n }\n }\n\n void fetchInitialState()\n }, [getPreference, preferencesKey, fieldPreferencesKey, initCollapsed, path])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n if (typeof collapsedOnMount !== 'boolean') {\n return null\n }\n\n return (\n <Fragment>\n <WatchChildErrors fields={fields} path={path.split('.')} setErrorCount={setErrorCount} />\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${fieldPreferencesKey}`}\n style={styles}\n >\n <CollapsibleElement\n className={`${baseClass}__collapsible`}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n header={\n <div className={`${baseClass}__row-label-wrap`}>\n <RowLabel CustomComponent={Label} label={getTranslation(label, i18n)} path={path} />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n }\n initCollapsed={collapsedOnMount}\n onToggle={onToggle}\n >\n <RenderFields\n fields={fields}\n margins=\"small\"\n parentIndexPath={indexPath}\n parentPath={parentPath}\n parentSchemaPath={parentSchemaPath}\n permissions={permissions}\n readOnly={readOnly}\n />\n </CollapsibleElement>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </Fragment>\n )\n}\n\nexport const CollapsibleField = withCondition(CollapsibleFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","Fragment","useCallback","useEffect","useMemo","useState","Collapsible","CollapsibleElement","ErrorPill","RenderCustomComponent","FieldDescription","RenderFields","RowLabel","useField","WatchChildErrors","withCondition","useDocumentInfo","usePreferences","useTranslation","mergeFieldStyles","fieldBaseClass","baseClass","CollapsibleFieldComponent","props","field","admin","className","description","initCollapsed","fields","label","indexPath","parentPath","parentSchemaPath","path","permissions","readOnly","i18n","getPreference","setPreference","preferencesKey","collapsedOnMount","setCollapsedOnMount","fieldPreferencesKey","replace","errorCount","setErrorCount","fieldHasErrors","customComponents","AfterInput","BeforeInput","Description","Label","onToggle","newCollapsedState","existingPreferences","collapsed","fetchInitialState","preferences","specificPreference","undefined","Boolean","styles","_jsxs","_jsx","split","filter","join","id","style","collapsibleStyle","header","CustomComponent","count","withMessage","margins","parentIndexPath","Fallback","CollapsibleField"],"sources":["../../../src/fields/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport type { CollapsibleFieldClientComponent, DocumentPreferences } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { Collapsible as CollapsibleElement } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { WatchChildErrors } from '../../forms/WatchChildErrors/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/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 = 'collapsible-field'\n\nconst CollapsibleFieldComponent: CollapsibleFieldClientComponent = (props) => {\n const {\n field,\n field: { admin: { className, description, initCollapsed = false } = {}, fields, label } = {},\n indexPath,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n readOnly,\n } = props\n\n const { i18n } = useTranslation()\n const { getPreference, setPreference } = usePreferences()\n const { preferencesKey } = useDocumentInfo()\n const [collapsedOnMount, setCollapsedOnMount] = useState<boolean>()\n const fieldPreferencesKey = `collapsible-${path?.replace(/\\./g, '__')}`\n const [errorCount, setErrorCount] = useState(0)\n const fieldHasErrors = errorCount > 0\n\n const { customComponents: { AfterInput, BeforeInput, Description, Label } = {} } = useField({\n path,\n })\n\n const onToggle = useCallback(\n async (newCollapsedState: boolean): Promise<void> => {\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n\n if (preferencesKey) {\n void setPreference(preferencesKey, {\n ...existingPreferences,\n ...(path\n ? {\n fields: {\n ...(existingPreferences?.fields || {}),\n [path]: {\n ...existingPreferences?.fields?.[path],\n collapsed: newCollapsedState,\n },\n },\n }\n : {\n fields: {\n ...(existingPreferences?.fields || {}),\n [fieldPreferencesKey]: {\n ...existingPreferences?.fields?.[fieldPreferencesKey],\n collapsed: newCollapsedState,\n },\n },\n }),\n })\n }\n },\n [preferencesKey, fieldPreferencesKey, getPreference, setPreference, path],\n )\n\n useEffect(() => {\n const fetchInitialState = async () => {\n if (preferencesKey) {\n const preferences = await getPreference(preferencesKey)\n const specificPreference = path\n ? preferences?.fields?.[path]?.collapsed\n : preferences?.fields?.[fieldPreferencesKey]?.collapsed\n\n if (specificPreference !== undefined) {\n setCollapsedOnMount(Boolean(specificPreference))\n } else {\n setCollapsedOnMount(typeof initCollapsed === 'boolean' ? initCollapsed : false)\n }\n } else {\n setCollapsedOnMount(typeof initCollapsed === 'boolean' ? initCollapsed : false)\n }\n }\n\n void fetchInitialState()\n }, [getPreference, preferencesKey, fieldPreferencesKey, initCollapsed, path])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n if (typeof collapsedOnMount !== 'boolean') {\n return null\n }\n\n return (\n <Fragment>\n <WatchChildErrors fields={fields} path={path.split('.')} setErrorCount={setErrorCount} />\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${fieldPreferencesKey}`}\n style={styles}\n >\n {BeforeInput}\n <CollapsibleElement\n className={`${baseClass}__collapsible`}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n header={\n <div className={`${baseClass}__row-label-wrap`}>\n <RowLabel CustomComponent={Label} label={getTranslation(label, i18n)} path={path} />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n }\n initCollapsed={collapsedOnMount}\n onToggle={onToggle}\n >\n <RenderFields\n fields={fields}\n margins=\"small\"\n parentIndexPath={indexPath}\n parentPath={parentPath}\n parentSchemaPath={parentSchemaPath}\n permissions={permissions}\n readOnly={readOnly}\n />\n </CollapsibleElement>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </Fragment>\n )\n}\n\nexport const CollapsibleField = withCondition(CollapsibleFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Group/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGxD,OAAO,KAAkB,MAAM,OAAO,CAAA;AAetC,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAIvD,eAAO,MAAM,mBAAmB,EAAE,yBAmFjC,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;AAElC,eAAO,MAAM,UAAU;;+EAAqC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Group/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGxD,OAAO,KAAkB,MAAM,OAAO,CAAA;AAetC,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAIvD,eAAO,MAAM,mBAAmB,EAAE,yBAsFjC,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;AAElC,eAAO,MAAM,UAAU;;+EAAqC,CAAA"}
@@ -50,6 +50,8 @@ export const GroupFieldComponent = props => {
50
50
  const isWithinTab = useTabs();
51
51
  const {
52
52
  customComponents: {
53
+ AfterInput,
54
+ BeforeInput,
53
55
  Description,
54
56
  Label
55
57
  } = {},
@@ -62,11 +64,11 @@ export const GroupFieldComponent = props => {
62
64
  const fieldHasErrors = submitted && errorCount > 0;
63
65
  const isTopLevel = !(isWithinCollapsible || isWithinGroup || isWithinRow);
64
66
  const styles = useMemo(() => mergeFieldStyles(field), [field]);
65
- return /*#__PURE__*/_jsx("div", {
67
+ return /*#__PURE__*/_jsxs("div", {
66
68
  className: [fieldBaseClass, baseClass, isTopLevel && `${baseClass}--top-level`, isWithinCollapsible && `${baseClass}--within-collapsible`, isWithinGroup && `${baseClass}--within-group`, isWithinRow && `${baseClass}--within-row`, isWithinTab && `${baseClass}--within-tab`, !hideGutter && isWithinGroup && `${baseClass}--gutter`, fieldHasErrors && `${baseClass}--has-error`, className].filter(Boolean).join(' '),
67
69
  id: `field-${path?.replace(/\./g, '__')}`,
68
70
  style: styles,
69
- children: /*#__PURE__*/_jsx(GroupProvider, {
71
+ children: [/*#__PURE__*/_jsx(GroupProvider, {
70
72
  children: /*#__PURE__*/_jsxs("div", {
71
73
  className: `${baseClass}__wrap`,
72
74
  children: [/*#__PURE__*/_jsxs("div", {
@@ -95,7 +97,7 @@ export const GroupFieldComponent = props => {
95
97
  i18n: i18n,
96
98
  withMessage: true
97
99
  })]
98
- }), /*#__PURE__*/_jsx(RenderFields, {
100
+ }), BeforeInput, /*#__PURE__*/_jsx(RenderFields, {
99
101
  fields: fields,
100
102
  margins: "small",
101
103
  parentIndexPath: "",
@@ -105,7 +107,7 @@ export const GroupFieldComponent = props => {
105
107
  readOnly: readOnly
106
108
  })]
107
109
  })
108
- })
110
+ }), AfterInput]
109
111
  });
110
112
  };
111
113
  export { GroupProvider, useGroup };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","useMemo","useCollapsible","ErrorPill","RenderCustomComponent","FieldDescription","FieldLabel","useFormSubmitted","RenderFields","useField","withCondition","useTranslation","mergeFieldStyles","useRow","fieldBaseClass","useTabs","GroupProvider","useGroup","baseClass","GroupFieldComponent","props","field","name","admin","className","description","hideGutter","fields","label","path","permissions","readOnly","schemaPath","schemaPathFromProps","i18n","isWithinCollapsible","isWithinGroup","isWithinRow","isWithinTab","customComponents","Description","Label","errorPaths","submitted","errorCount","length","fieldHasErrors","isTopLevel","styles","_jsx","filter","Boolean","join","id","replace","style","_jsxs","CustomComponent","Fallback","localized","required","count","withMessage","margins","parentIndexPath","parentPath","parentSchemaPath","GroupField"],"sources":["../../../src/fields/Group/index.tsx"],"sourcesContent":["'use client'\n\nimport type { GroupFieldClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useMemo } from 'react'\n\nimport { useCollapsible } from '../../elements/Collapsible/provider.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/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 { useRow } from '../Row/provider.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\nimport { useTabs } from '../Tabs/provider.js'\nimport { GroupProvider, useGroup } from './provider.js'\n\nconst baseClass = 'group-field'\n\nexport const GroupFieldComponent: GroupFieldClientComponent = (props) => {\n const {\n field,\n field: { name, admin: { className, description, hideGutter } = {}, fields, label },\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n } = props\n const schemaPath = schemaPathFromProps ?? name\n\n const { i18n } = useTranslation()\n const { isWithinCollapsible } = useCollapsible()\n const isWithinGroup = useGroup()\n const isWithinRow = useRow()\n const isWithinTab = useTabs()\n const { customComponents: { Description, Label } = {}, errorPaths } = useField({ path })\n const submitted = useFormSubmitted()\n const errorCount = errorPaths.length\n const fieldHasErrors = submitted && errorCount > 0\n\n const isTopLevel = !(isWithinCollapsible || isWithinGroup || isWithinRow)\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n isTopLevel && `${baseClass}--top-level`,\n isWithinCollapsible && `${baseClass}--within-collapsible`,\n isWithinGroup && `${baseClass}--within-group`,\n isWithinRow && `${baseClass}--within-row`,\n isWithinTab && `${baseClass}--within-tab`,\n !hideGutter && isWithinGroup && `${baseClass}--gutter`,\n fieldHasErrors && `${baseClass}--has-error`,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={styles}\n >\n <GroupProvider>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header`}>\n {Boolean(Label || Description || label) && (\n <header>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <h3 className={`${baseClass}__title`}>\n <FieldLabel\n label={getTranslation(label, i18n)}\n localized={false}\n path={path}\n required={false}\n />\n </h3>\n }\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n )}\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n <RenderFields\n fields={fields}\n margins=\"small\"\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={permissions === true ? permissions : permissions?.fields}\n readOnly={readOnly}\n />\n </div>\n </GroupProvider>\n </div>\n )\n}\n\nexport { GroupProvider, useGroup }\n\nexport const GroupField = withCondition(GroupFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useMemo","useCollapsible","ErrorPill","RenderCustomComponent","FieldDescription","FieldLabel","useFormSubmitted","RenderFields","useField","withCondition","useTranslation","mergeFieldStyles","useRow","fieldBaseClass","useTabs","GroupProvider","useGroup","baseClass","GroupFieldComponent","props","field","name","admin","className","description","hideGutter","fields","label","path","permissions","readOnly","schemaPath","schemaPathFromProps","i18n","isWithinCollapsible","isWithinGroup","isWithinRow","isWithinTab","customComponents","AfterInput","BeforeInput","Description","Label","errorPaths","submitted","errorCount","length","fieldHasErrors","isTopLevel","styles","_jsxs","filter","Boolean","join","id","replace","style","_jsx","CustomComponent","Fallback","localized","required","count","withMessage","margins","parentIndexPath","parentPath","parentSchemaPath","GroupField"],"sources":["../../../src/fields/Group/index.tsx"],"sourcesContent":["'use client'\n\nimport type { GroupFieldClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useMemo } from 'react'\n\nimport { useCollapsible } from '../../elements/Collapsible/provider.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/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 { useRow } from '../Row/provider.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\nimport { useTabs } from '../Tabs/provider.js'\nimport { GroupProvider, useGroup } from './provider.js'\n\nconst baseClass = 'group-field'\n\nexport const GroupFieldComponent: GroupFieldClientComponent = (props) => {\n const {\n field,\n field: { name, admin: { className, description, hideGutter } = {}, fields, label },\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n } = props\n const schemaPath = schemaPathFromProps ?? name\n\n const { i18n } = useTranslation()\n const { isWithinCollapsible } = useCollapsible()\n const isWithinGroup = useGroup()\n const isWithinRow = useRow()\n const isWithinTab = useTabs()\n const { customComponents: { AfterInput, BeforeInput, Description, Label } = {}, errorPaths } =\n useField({ path })\n const submitted = useFormSubmitted()\n const errorCount = errorPaths.length\n const fieldHasErrors = submitted && errorCount > 0\n\n const isTopLevel = !(isWithinCollapsible || isWithinGroup || isWithinRow)\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n isTopLevel && `${baseClass}--top-level`,\n isWithinCollapsible && `${baseClass}--within-collapsible`,\n isWithinGroup && `${baseClass}--within-group`,\n isWithinRow && `${baseClass}--within-row`,\n isWithinTab && `${baseClass}--within-tab`,\n !hideGutter && isWithinGroup && `${baseClass}--gutter`,\n fieldHasErrors && `${baseClass}--has-error`,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={styles}\n >\n <GroupProvider>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header`}>\n {Boolean(Label || Description || label) && (\n <header>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <h3 className={`${baseClass}__title`}>\n <FieldLabel\n label={getTranslation(label, i18n)}\n localized={false}\n path={path}\n required={false}\n />\n </h3>\n }\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n )}\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n {BeforeInput}\n <RenderFields\n fields={fields}\n margins=\"small\"\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={permissions === true ? permissions : permissions?.fields}\n readOnly={readOnly}\n />\n </div>\n </GroupProvider>\n {AfterInput}\n </div>\n )\n}\n\nexport { GroupProvider, useGroup }\n\nexport const GroupField = withCondition(GroupFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -128,7 +128,7 @@ const NumberFieldComponent = props => {
128
128
  path: path,
129
129
  showError: showError
130
130
  })
131
- }), hasMany ? /*#__PURE__*/_jsx(ReactSelect, {
131
+ }), BeforeInput, hasMany ? /*#__PURE__*/_jsx(ReactSelect, {
132
132
  className: `field-${path.replace(/\./g, '__')}`,
133
133
  disabled: readOnly,
134
134
  filterOption: (_, rawInput) => {
@@ -155,8 +155,8 @@ const NumberFieldComponent = props => {
155
155
  placeholder: t('general:enterAValue'),
156
156
  showError: showError,
157
157
  value: valueToRender
158
- }) : /*#__PURE__*/_jsxs("div", {
159
- children: [BeforeInput, /*#__PURE__*/_jsx("input", {
158
+ }) : /*#__PURE__*/_jsx("div", {
159
+ children: /*#__PURE__*/_jsx("input", {
160
160
  disabled: readOnly,
161
161
  id: `field-${path.replace(/\./g, '__')}`,
162
162
  max: max,
@@ -171,8 +171,8 @@ const NumberFieldComponent = props => {
171
171
  step: step,
172
172
  type: "number",
173
173
  value: typeof value_0 === 'number' ? value_0 : ''
174
- }), AfterInput]
175
- }), /*#__PURE__*/_jsx(RenderCustomComponent, {
174
+ })
175
+ }), AfterInput, /*#__PURE__*/_jsx(RenderCustomComponent, {
176
176
  CustomComponent: Description,
177
177
  Fallback: /*#__PURE__*/_jsx(FieldDescription, {
178
178
  description: description,