@payloadcms/ui 3.23.0 → 3.24.0-canary.05013b2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +2 -4
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/Banner/index.d.ts.map +1 -1
- package/dist/elements/Banner/index.js +1 -2
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +6 -2
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +22 -20
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +11 -12
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +5 -0
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.d.ts +7 -3
- package/dist/elements/Card/index.d.ts.map +1 -1
- package/dist/elements/Card/index.js +0 -2
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +220 -99
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +7 -3
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +2 -2
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.js +67 -39
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +28 -12
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +8 -4
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +3 -2
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditUpload/index.js +1 -1
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -17
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +2 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.d.ts +1 -0
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +6 -2
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/formatUrl.d.ts +4 -0
- package/dist/elements/Link/formatUrl.d.ts.map +1 -0
- package/dist/elements/Link/formatUrl.js +87 -0
- package/dist/elements/Link/formatUrl.js.map +1 -0
- package/dist/elements/Link/index.d.ts +6 -0
- package/dist/elements/Link/index.d.ts.map +1 -0
- package/dist/elements/Link/index.js +58 -0
- package/dist/elements/Link/index.js.map +1 -0
- package/dist/elements/ListControls/index.d.ts +2 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +5 -3
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/Logout/index.d.ts +5 -0
- package/dist/elements/Logout/index.d.ts.map +1 -1
- package/dist/elements/Logout/index.js +10 -13
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +3 -1
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Pill/index.d.ts.map +1 -1
- package/dist/elements/Pill/index.js +1 -2
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +1 -2
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +2 -1
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +2 -2
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +1 -1
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +1 -2
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts +2 -3
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +2 -2
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/SaveButton/index.d.ts +2 -3
- package/dist/elements/SaveButton/index.d.ts.map +1 -1
- package/dist/elements/SaveButton/index.js +3 -3
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts +2 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +2 -2
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +32 -27
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/index.d.ts +5 -0
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +18 -25
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +12 -4
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +1 -2
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/index.d.ts +1 -9
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/index.d.ts +1 -2
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +2 -2
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +5 -1
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.d.ts +2 -5
- package/dist/elements/ViewDescription/index.d.ts.map +1 -1
- package/dist/elements/ViewDescription/index.js +2 -2
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts +2 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +2 -0
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +4 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +2 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts +2 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +2 -0
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +3 -1
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/types.d.ts +2 -1
- package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/exports/client/{CodeEditor-BMYVMDNZ.js → CodeEditor-L6GW2VQ6.js} +2 -2
- package/dist/exports/client/chunk-ZZDNSFEW.js +26 -0
- package/dist/exports/client/{chunk-CQQHQHCB.js.map → chunk-ZZDNSFEW.js.map} +4 -4
- package/dist/exports/client/index.d.ts +47 -4
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +23 -23
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +1 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +1 -2
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +31 -23
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +1 -1
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +6 -4
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +5 -6
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +20 -4
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +1 -0
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts +1 -0
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +5 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +4 -3
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +9 -13
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Config/index.d.ts +2 -2
- package/dist/providers/Config/index.d.ts.map +1 -1
- package/dist/providers/Config/index.js +17 -2
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +2 -1
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +44 -41
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.d.ts +17 -0
- package/dist/providers/RouteTransition/ProgressBar/index.d.ts.map +1 -0
- package/dist/providers/RouteTransition/ProgressBar/index.js +104 -0
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -0
- package/dist/providers/RouteTransition/ProgressBar/index.scss +21 -0
- package/dist/providers/RouteTransition/index.d.ts +51 -0
- package/dist/providers/RouteTransition/index.d.ts.map +1 -0
- package/dist/providers/RouteTransition/index.js +133 -0
- package/dist/providers/RouteTransition/index.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +3 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +4 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildTableState.d.ts +1 -2
- package/dist/utilities/buildTableState.d.ts.map +1 -1
- package/dist/utilities/buildTableState.js +1 -0
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +22 -18
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/getClientConfig.js.map +1 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/resolveFilterOptions.d.ts +5 -0
- package/dist/utilities/resolveFilterOptions.d.ts.map +1 -0
- package/dist/{forms/fieldSchemasToFormState/getFilterOptionsQuery.js → utilities/resolveFilterOptions.js} +2 -2
- package/dist/utilities/resolveFilterOptions.js.map +1 -0
- package/dist/views/Edit/index.d.ts +2 -2
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +8 -4
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +1 -4
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/index.d.ts +2 -24
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +7 -7
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/types.d.ts +1 -18
- package/dist/views/List/types.d.ts.map +1 -1
- package/dist/views/List/types.js.map +1 -1
- package/package.json +6 -6
- package/dist/exports/client/chunk-CQQHQHCB.js +0 -26
- package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts +0 -7
- package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts.map +0 -1
- package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.js.map +0 -1
- /package/dist/exports/client/{CodeEditor-BMYVMDNZ.js.map → CodeEditor-L6GW2VQ6.js.map} +0 -0
|
@@ -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","AfterInput","BeforeInput","Description","Error","Label","RowLabels","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","isLoading","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, RowLabels } = {},\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, isLoading } = 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 isLoading={isLoading}\n isSortable={isSortable}\n Label={RowLabels?.[i]}\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
|
+
{"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","blockReferences","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","RowLabels","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","isLoading","row","blockConfig","blocksMap","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, ClientBlock } 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 blockReferences,\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 config,\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, RowLabels } = {},\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, isLoading } = row\n const blockConfig: ClientBlock =\n config.blocksMap[blockType] ??\n ((blockReferences ?? blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockType,\n ) as ClientBlock)\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={blockReferences ?? blocks}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={blockConfig.fields}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n Label={RowLabels?.[i]}\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={blockReferences ?? 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/JSON/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/JSON/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAQxE,OAAO,cAAc,CAAA;AAqJrB,eAAO,MAAM,SAAS;;;;;+EAAoC,CAAA"}
|
|
@@ -8,9 +8,9 @@ import { useField } from '../../forms/useField/index.js';
|
|
|
8
8
|
import { withCondition } from '../../forms/withCondition/index.js';
|
|
9
9
|
import { FieldDescription } from '../FieldDescription/index.js';
|
|
10
10
|
import { FieldError } from '../FieldError/index.js';
|
|
11
|
+
import './index.scss';
|
|
11
12
|
import { FieldLabel } from '../FieldLabel/index.js';
|
|
12
13
|
import { mergeFieldStyles } from '../mergeFieldStyles.js';
|
|
13
|
-
import './index.scss';
|
|
14
14
|
import { fieldBaseClass } from '../shared/index.js';
|
|
15
15
|
const baseClass = 'json-field';
|
|
16
16
|
const JSONFieldComponent = props => {
|
|
@@ -64,15 +64,14 @@ const JSONFieldComponent = props => {
|
|
|
64
64
|
if (!jsonSchema) {
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
|
-
const existingSchemas = monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || [];
|
|
68
|
-
const modelUri = monaco.Uri.parse(jsonSchema.uri);
|
|
69
|
-
const model = monaco.editor.createModel(JSON.stringify(value_0, null, 2), 'json', modelUri);
|
|
70
67
|
monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
|
|
71
68
|
enableSchemaRequest: true,
|
|
72
|
-
schemas: [...
|
|
69
|
+
schemas: [...(monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || []), jsonSchema],
|
|
73
70
|
validate: true
|
|
74
71
|
});
|
|
75
|
-
|
|
72
|
+
const uri = jsonSchema.uri;
|
|
73
|
+
const newUri = uri.includes('?') ? `${uri}&${crypto.randomUUID()}` : `${uri}?${crypto.randomUUID()}`;
|
|
74
|
+
editor.setModel(monaco.editor.createModel(JSON.stringify(value_0, null, 2), 'json', monaco.Uri.parse(newUri)));
|
|
76
75
|
}, [jsonSchema, value_0]);
|
|
77
76
|
const handleChange = useCallback(val => {
|
|
78
77
|
if (readOnly) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useState","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","stringValue","setStringValue","jsonError","setJsonError","hasLoadedValue","setHasLoadedValue","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","initialValue","setValue","showError","handleMount","editor","monaco","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useState","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","stringValue","setStringValue","jsonError","setJsonError","hasLoadedValue","setHasLoadedValue","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","initialValue","setValue","showError","handleMount","editor","monaco","languages","json","jsonDefaults","setDiagnosticsOptions","enableSchemaRequest","schemas","diagnosticsOptions","uri","newUri","includes","crypto","randomUUID","setModel","createModel","JSON","stringify","Uri","parse","handleChange","val","undefined","e","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","message","defaultLanguage","onChange","onMount","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'\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 './index.scss'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\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 [stringValue, setStringValue] = useState<string>()\n const [jsonError, setJsonError] = useState<string>()\n const [hasLoadedValue, setHasLoadedValue] = useState(false)\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 initialValue,\n setValue,\n showError,\n value,\n } = useField<string>({\n path,\n validate: memoizedValidate,\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()}`\n : `${uri}?${crypto.randomUUID()}`\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) {\n return\n }\n setStringValue(val)\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, setValue, setStringValue],\n )\n\n useEffect(() => {\n if (hasLoadedValue || value === undefined) {\n return\n }\n\n setStringValue(\n value || initialValue ? JSON.stringify(value ? value : initialValue, null, 2) : '',\n )\n\n setHasLoadedValue(true)\n }, [initialValue, value, hasLoadedValue])\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 && '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 maxHeight={maxHeight}\n onChange={handleChange}\n onMount={handleMount}\n options={editorOptions}\n readOnly={readOnly}\n value={stringValue}\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,
|
|
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;AAuNtC,eAAO,MAAM,SAAS;;;;+EAAoC,CAAA"}
|
|
@@ -11,6 +11,7 @@ import { withCondition } from '../../forms/withCondition/index.js';
|
|
|
11
11
|
import { useConfig } from '../../providers/Config/index.js';
|
|
12
12
|
import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
|
|
13
13
|
import { FieldDescription } from '../FieldDescription/index.js';
|
|
14
|
+
import { FieldError } from '../FieldError/index.js';
|
|
14
15
|
import { FieldLabel } from '../FieldLabel/index.js';
|
|
15
16
|
import { fieldBaseClass } from '../index.js';
|
|
16
17
|
const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
@@ -19,6 +20,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
19
20
|
*/
|
|
20
21
|
const getInitialDrawerData = ({
|
|
21
22
|
collectionSlug,
|
|
23
|
+
config,
|
|
22
24
|
docID,
|
|
23
25
|
fields,
|
|
24
26
|
segments
|
|
@@ -46,6 +48,7 @@ const getInitialDrawerData = ({
|
|
|
46
48
|
return {
|
|
47
49
|
[field.name]: getInitialDrawerData({
|
|
48
50
|
collectionSlug,
|
|
51
|
+
config,
|
|
49
52
|
docID,
|
|
50
53
|
fields: field.fields,
|
|
51
54
|
segments: nextSegments
|
|
@@ -55,6 +58,7 @@ const getInitialDrawerData = ({
|
|
|
55
58
|
if (field.type === 'array') {
|
|
56
59
|
const initialData = getInitialDrawerData({
|
|
57
60
|
collectionSlug,
|
|
61
|
+
config,
|
|
58
62
|
docID,
|
|
59
63
|
fields: field.fields,
|
|
60
64
|
segments: nextSegments
|
|
@@ -65,9 +69,11 @@ const getInitialDrawerData = ({
|
|
|
65
69
|
};
|
|
66
70
|
}
|
|
67
71
|
if (field.type === 'blocks') {
|
|
68
|
-
for (const
|
|
72
|
+
for (const _block of field.blockReferences ?? field.blocks) {
|
|
73
|
+
const block = typeof _block === 'string' ? config.blocksMap[_block] : _block;
|
|
69
74
|
const blockInitialData = getInitialDrawerData({
|
|
70
75
|
collectionSlug,
|
|
76
|
+
config,
|
|
71
77
|
docID,
|
|
72
78
|
fields: block.fields,
|
|
73
79
|
segments: nextSegments
|
|
@@ -103,6 +109,7 @@ const JoinFieldComponent = props => {
|
|
|
103
109
|
docConfig
|
|
104
110
|
} = useDocumentInfo();
|
|
105
111
|
const {
|
|
112
|
+
config,
|
|
106
113
|
getEntityConfig
|
|
107
114
|
} = useConfig();
|
|
108
115
|
const {
|
|
@@ -110,8 +117,10 @@ const JoinFieldComponent = props => {
|
|
|
110
117
|
AfterInput,
|
|
111
118
|
BeforeInput,
|
|
112
119
|
Description,
|
|
120
|
+
Error,
|
|
113
121
|
Label
|
|
114
122
|
} = {},
|
|
123
|
+
showError,
|
|
115
124
|
value
|
|
116
125
|
} = useField({
|
|
117
126
|
path
|
|
@@ -145,18 +154,25 @@ const JoinFieldComponent = props => {
|
|
|
145
154
|
});
|
|
146
155
|
return getInitialDrawerData({
|
|
147
156
|
collectionSlug: docConfig?.slug,
|
|
157
|
+
config,
|
|
148
158
|
docID,
|
|
149
159
|
fields: relatedCollection.fields,
|
|
150
160
|
segments: field.on.split('.')
|
|
151
161
|
});
|
|
152
|
-
}, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID]);
|
|
162
|
+
}, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID, config]);
|
|
153
163
|
if (!docConfig) {
|
|
154
164
|
return null;
|
|
155
165
|
}
|
|
156
166
|
return /*#__PURE__*/_jsxs("div", {
|
|
157
|
-
className: [fieldBaseClass, 'join'].filter(Boolean).join(' '),
|
|
167
|
+
className: [fieldBaseClass, showError && 'error', 'join'].filter(Boolean).join(' '),
|
|
158
168
|
id: `field-${path?.replace(/\./g, '__')}`,
|
|
159
|
-
children: [/*#__PURE__*/_jsx(
|
|
169
|
+
children: [/*#__PURE__*/_jsx(RenderCustomComponent, {
|
|
170
|
+
CustomComponent: Error,
|
|
171
|
+
Fallback: /*#__PURE__*/_jsx(FieldError, {
|
|
172
|
+
path: path,
|
|
173
|
+
showError: showError
|
|
174
|
+
})
|
|
175
|
+
}), /*#__PURE__*/_jsx(RelationshipTable, {
|
|
160
176
|
AfterInput: AfterInput,
|
|
161
177
|
allowCreate: typeof docID !== 'undefined' && allowCreate,
|
|
162
178
|
BeforeInput: BeforeInput,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ObjectIdImport","flattenTopLevelFields","React","useMemo","RelationshipTable","RenderCustomComponent","useField","withCondition","useConfig","useDocumentInfo","FieldDescription","FieldLabel","fieldBaseClass","ObjectId","default","getInitialDrawerData","collectionSlug","docID","fields","segments","flattenedFields","path","field","find","name","type","value","Array","isArray","relationTo","hasMany","nextSegments","slice","length","initialData","id","toHexString","block","blocks","blockInitialData","blockType","slug","JoinFieldComponent","props","admin","allowCreate","description","collection","label","localized","on","required","docConfig","getEntityConfig","customComponents","AfterInput","BeforeInput","Description","Label","filterOptions","targetField","where","equals","and","initialDrawerData","relatedCollection","split","_jsxs","className","filter","Boolean","join","replace","_jsx","disableTable","docs","style","margin","CustomComponent","Fallback","JoinField"],"sources":["../../../src/fields/Join/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientField,\n JoinFieldClient,\n JoinFieldClientComponent,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { flattenTopLevelFields } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RelationshipTable } from '../../elements/RelationshipTable/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../index.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\n/**\n * Recursively builds the default data for joined collection\n */\nconst getInitialDrawerData = ({\n collectionSlug,\n docID,\n fields,\n segments,\n}: {\n collectionSlug: string\n docID: number | string\n fields: ClientField[]\n segments: string[]\n}) => {\n const flattenedFields = flattenTopLevelFields(fields)\n\n const path = segments[0]\n\n const field = flattenedFields.find((field) => field.name === path)\n\n if (!field) {\n return null\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n let value: { relationTo: string; value: number | string } | number | string = docID\n if (Array.isArray(field.relationTo)) {\n value = {\n relationTo: collectionSlug,\n value: docID,\n }\n }\n return {\n [field.name]: field.hasMany ? [value] : value,\n }\n }\n\n const nextSegments = segments.slice(1, segments.length)\n\n if (field.type === 'tab' || field.type === 'group') {\n return {\n [field.name]: getInitialDrawerData({\n collectionSlug,\n docID,\n fields: field.fields,\n segments: nextSegments,\n }),\n }\n }\n\n if (field.type === 'array') {\n const initialData = getInitialDrawerData({\n collectionSlug,\n docID,\n fields: field.fields,\n segments: nextSegments,\n })\n\n initialData.id = ObjectId().toHexString()\n\n return {\n [field.name]: [initialData],\n }\n }\n\n if (field.type === 'blocks') {\n for (const block of field.blocks) {\n const blockInitialData = getInitialDrawerData({\n collectionSlug,\n docID,\n fields: block.fields,\n segments: nextSegments,\n })\n\n if (blockInitialData) {\n blockInitialData.id = ObjectId().toHexString()\n blockInitialData.blockType = block.slug\n\n return {\n [field.name]: [blockInitialData],\n }\n }\n }\n }\n}\n\nconst JoinFieldComponent: JoinFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { allowCreate, description },\n collection,\n label,\n localized,\n on,\n required,\n },\n path,\n } = props\n\n const { id: docID, docConfig } = useDocumentInfo()\n\n const { getEntityConfig } = useConfig()\n\n const { customComponents: { AfterInput, BeforeInput, Description, Label } = {}, value } =\n useField<PaginatedDocs>({\n path,\n })\n\n const filterOptions: null | Where = useMemo(() => {\n if (!docID) {\n return null\n }\n\n let value: { relationTo: string; value: number | string } | number | string = docID\n\n if (Array.isArray(field.targetField.relationTo)) {\n value = {\n relationTo: docConfig.slug,\n value,\n }\n }\n\n const where = {\n [on]: {\n equals: value,\n },\n }\n\n if (field.where) {\n return {\n and: [where, field.where],\n }\n }\n\n return where\n }, [docID, field.targetField.relationTo, field.where, on, docConfig?.slug])\n\n const initialDrawerData = useMemo(() => {\n const relatedCollection = getEntityConfig({ collectionSlug: field.collection })\n\n return getInitialDrawerData({\n collectionSlug: docConfig?.slug,\n docID,\n fields: relatedCollection.fields,\n segments: field.on.split('.'),\n })\n }, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID])\n\n if (!docConfig) {\n return null\n }\n\n return (\n <div\n className={[fieldBaseClass, 'join'].filter(Boolean).join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n <RelationshipTable\n AfterInput={AfterInput}\n allowCreate={typeof docID !== 'undefined' && allowCreate}\n BeforeInput={BeforeInput}\n disableTable={filterOptions === null}\n field={field as JoinFieldClient}\n filterOptions={filterOptions}\n initialData={docID && value ? value : ({ docs: [] } as PaginatedDocs)}\n initialDrawerData={initialDrawerData}\n Label={\n <h4 style={{ margin: 0 }}>\n {Label || (\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n )}\n </h4>\n }\n relationTo={collection}\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JoinField = withCondition(JoinFieldComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"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","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 = {\n [on]: {\n equals: value,\n },\n }\n\n if (field.where) {\n return {\n and: [where, field.where],\n }\n }\n\n return where\n }, [docID, field.targetField.relationTo, field.where, on, docConfig?.slug])\n\n const initialDrawerData = useMemo(() => {\n const relatedCollection = getEntityConfig({ collectionSlug: field.collection })\n\n return getInitialDrawerData({\n collectionSlug: docConfig?.slug,\n 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 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":"optionsReducer.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/optionsReducer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAU,WAAW,EAAE,MAAM,YAAY,CAAA;AAyB7D,eAAO,MAAM,cAAc,UAAW,WAAW,EAAE,UAAU,MAAM,KAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"optionsReducer.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/optionsReducer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAU,WAAW,EAAE,MAAM,YAAY,CAAA;AAyB7D,eAAO,MAAM,cAAc,UAAW,WAAW,EAAE,UAAU,MAAM,KAAG,WAAW,EAkJhF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optionsReducer.js","names":["getTranslation","formatDocTitle","reduceToIDs","options","reduce","ids","option","id","value","relationTo","sortOptions","sort","a","b","label","localeCompare","optionsReducer","state","action","type","collection","config","docs","i18n","relation","slug","loadedIDs","newOptions","optionsToAddTo","find","optionGroup","labels","plural","newSubOptions","docSubOptions","doc","filter","item","length","push","docTitle","collectionConfig","data","dateFormat","admin","fallback","t","forEach","subOptions","exemptValues","Array","isArray","clearedStateWithExemptValues","clearedOptions","some","exemptValue","indexOfGroup","findIndex","foundOptionGroup","foundOption"],"sources":["../../../src/fields/Relationship/optionsReducer.ts"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { Action, Option, OptionGroup } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\n\nconst reduceToIDs = (options) =>\n options.reduce((ids, option) => {\n if (option.options) {\n return [...ids, ...reduceToIDs(option.options)]\n }\n\n return [...ids, { id: option.value, relationTo: option.relationTo }]\n }, [])\n\nconst sortOptions = (options: Option[]): Option[] =>\n options.sort((a: Option, b: Option) => {\n if (\n typeof a?.label?.localeCompare === 'function' &&\n typeof b?.label?.localeCompare === 'function'\n ) {\n return a.label.localeCompare(b.label)\n }\n\n return 0\n })\n\nexport const optionsReducer = (state: OptionGroup[], action: Action): OptionGroup[] => {\n switch (action.type) {\n case 'ADD': {\n const { collection, config, docs, i18n, ids = [], sort } = action\n const relation = collection.slug\n const loadedIDs = reduceToIDs(state)\n const newOptions = [...state]\n const optionsToAddTo = newOptions.find(\n (optionGroup) => optionGroup.label === collection.labels.plural,\n )\n const newSubOptions = docs.reduce((docSubOptions, doc) => {\n if (\n loadedIDs.filter((item) => item.id === doc.id && item.relationTo === relation).length ===\n 0\n ) {\n loadedIDs.push({ id: doc.id, relationTo: relation })\n\n const docTitle = formatDocTitle({\n collectionConfig: collection,\n data: doc,\n dateFormat: config.admin.dateFormat,\n fallback: `${i18n.t('general:untitled')} - ID: ${doc.id}`,\n i18n,\n })\n\n return [\n ...docSubOptions,\n {\n label: docTitle,\n relationTo: relation,\n value: doc.id,\n },\n ]\n }\n\n return docSubOptions\n }, [])\n\n ids.forEach((id) => {\n if (\n loadedIDs.filter((item) => item.id === id && item.relationTo === relation).length === 0\n ) {\n loadedIDs.push({ id, relationTo: relation })\n newSubOptions.push({\n label: `${i18n.t('general:untitled')} - ID: ${id}`,\n relationTo: relation,\n value: id,\n })\n }\n })\n\n if (optionsToAddTo) {\n const subOptions = [...optionsToAddTo.options, ...newSubOptions]\n\n optionsToAddTo.options = sort ? sortOptions(subOptions) : subOptions\n } else {\n newOptions.push({\n label: getTranslation(collection.labels.plural, i18n),\n options: sort ? sortOptions(newSubOptions) : newSubOptions,\n })\n }\n\n return newOptions\n }\n\n case 'CLEAR': {\n const exemptValues = action.exemptValues\n ? Array.isArray(action.exemptValues)\n ? action.exemptValues\n : [action.exemptValues]\n : []\n\n const clearedStateWithExemptValues = state.filter((optionGroup) => {\n const clearedOptions = optionGroup.options.filter((option) => {\n if (exemptValues) {\n return exemptValues.some((exemptValue) => {\n return (\n exemptValue &&\n option.value === (typeof exemptValue === 'object' ? exemptValue.value : exemptValue)\n )\n })\n }\n\n return false\n })\n\n optionGroup.options = clearedOptions\n\n return clearedOptions.length > 0\n })\n\n return clearedStateWithExemptValues\n }\n\n case 'REMOVE': {\n const { id, collection } = action\n\n const newOptions = [...state]\n\n const indexOfGroup = newOptions.findIndex(\n (optionGroup) => optionGroup.label === collection.labels.plural,\n )\n\n if (indexOfGroup === -1) {\n return newOptions\n }\n\n newOptions[indexOfGroup] = {\n ...newOptions[indexOfGroup],\n options: newOptions[indexOfGroup].options.filter((option) => option.value !== id),\n }\n\n return newOptions\n }\n\n case 'UPDATE': {\n const { collection, config, doc, i18n } = action\n const relation = collection.slug\n const newOptions = [...state]\n\n const docTitle = formatDocTitle({\n collectionConfig: collection,\n data: doc,\n dateFormat: config.admin.dateFormat,\n fallback: `${i18n.t('general:untitled')} - ID: ${doc.id}`,\n i18n,\n })\n\n const foundOptionGroup = newOptions.find(\n (optionGroup) => optionGroup.label === collection.labels.plural,\n )\n const foundOption = foundOptionGroup?.options?.find((option) => option.value === doc.id)\n\n if (foundOption) {\n foundOption.label = docTitle\n foundOption.relationTo = relation\n }\n\n return newOptions\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"optionsReducer.js","names":["getTranslation","formatDocTitle","reduceToIDs","options","reduce","ids","option","id","value","relationTo","sortOptions","sort","a","b","label","localeCompare","optionsReducer","state","action","type","collection","config","docs","i18n","relation","slug","loadedIDs","newOptions","optionsToAddTo","find","optionGroup","labels","plural","newSubOptions","docSubOptions","doc","filter","item","length","push","docTitle","collectionConfig","data","dateFormat","admin","fallback","t","forEach","allowEdit","subOptions","exemptValues","Array","isArray","clearedStateWithExemptValues","clearedOptions","some","exemptValue","indexOfGroup","findIndex","foundOptionGroup","foundOption"],"sources":["../../../src/fields/Relationship/optionsReducer.ts"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { Action, Option, OptionGroup } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\n\nconst reduceToIDs = (options) =>\n options.reduce((ids, option) => {\n if (option.options) {\n return [...ids, ...reduceToIDs(option.options)]\n }\n\n return [...ids, { id: option.value, relationTo: option.relationTo }]\n }, [])\n\nconst sortOptions = (options: Option[]): Option[] =>\n options.sort((a: Option, b: Option) => {\n if (\n typeof a?.label?.localeCompare === 'function' &&\n typeof b?.label?.localeCompare === 'function'\n ) {\n return a.label.localeCompare(b.label)\n }\n\n return 0\n })\n\nexport const optionsReducer = (state: OptionGroup[], action: Action): OptionGroup[] => {\n switch (action.type) {\n case 'ADD': {\n const { collection, config, docs, i18n, ids = [], sort } = action\n const relation = collection.slug\n const loadedIDs = reduceToIDs(state)\n const newOptions = [...state]\n const optionsToAddTo = newOptions.find(\n (optionGroup) => optionGroup.label === collection.labels.plural,\n )\n const newSubOptions = docs.reduce((docSubOptions, doc) => {\n if (\n loadedIDs.filter((item) => item.id === doc.id && item.relationTo === relation).length ===\n 0\n ) {\n loadedIDs.push({ id: doc.id, relationTo: relation })\n\n const docTitle = formatDocTitle({\n collectionConfig: collection,\n data: doc,\n dateFormat: config.admin.dateFormat,\n fallback: `${i18n.t('general:untitled')} - ID: ${doc.id}`,\n i18n,\n })\n\n return [\n ...docSubOptions,\n {\n label: docTitle,\n relationTo: relation,\n value: doc.id,\n },\n ]\n }\n\n return docSubOptions\n }, [])\n\n ids.forEach((id) => {\n if (\n loadedIDs.filter((item) => item.id === id && item.relationTo === relation).length === 0\n ) {\n loadedIDs.push({ id, relationTo: relation })\n newSubOptions.push({\n allowEdit: false,\n label: `${i18n.t('general:untitled')} - ID: ${id}`,\n relationTo: relation,\n value: id,\n })\n }\n })\n\n if (optionsToAddTo) {\n const subOptions = [...optionsToAddTo.options, ...newSubOptions]\n\n optionsToAddTo.options = sort ? sortOptions(subOptions) : subOptions\n } else {\n newOptions.push({\n label: getTranslation(collection.labels.plural, i18n),\n options: sort ? sortOptions(newSubOptions) : newSubOptions,\n })\n }\n\n return newOptions\n }\n\n case 'CLEAR': {\n const exemptValues = action.exemptValues\n ? Array.isArray(action.exemptValues)\n ? action.exemptValues\n : [action.exemptValues]\n : []\n\n const clearedStateWithExemptValues = state.filter((optionGroup) => {\n const clearedOptions = optionGroup.options.filter((option) => {\n if (exemptValues) {\n return exemptValues.some((exemptValue) => {\n return (\n exemptValue &&\n option.value === (typeof exemptValue === 'object' ? exemptValue.value : exemptValue)\n )\n })\n }\n\n return false\n })\n\n optionGroup.options = clearedOptions\n\n return clearedOptions.length > 0\n })\n\n return clearedStateWithExemptValues\n }\n\n case 'REMOVE': {\n const { id, collection } = action\n\n const newOptions = [...state]\n\n const indexOfGroup = newOptions.findIndex(\n (optionGroup) => optionGroup.label === collection.labels.plural,\n )\n\n if (indexOfGroup === -1) {\n return newOptions\n }\n\n newOptions[indexOfGroup] = {\n ...newOptions[indexOfGroup],\n options: newOptions[indexOfGroup].options.filter((option) => option.value !== id),\n }\n\n return newOptions\n }\n\n case 'UPDATE': {\n const { collection, config, doc, i18n } = action\n const relation = collection.slug\n const newOptions = [...state]\n\n const docTitle = formatDocTitle({\n collectionConfig: collection,\n data: doc,\n dateFormat: config.admin.dateFormat,\n fallback: `${i18n.t('general:untitled')} - ID: ${doc.id}`,\n i18n,\n })\n\n const foundOptionGroup = newOptions.find(\n (optionGroup) => optionGroup.label === collection.labels.plural,\n )\n const foundOption = foundOptionGroup?.options?.find((option) => option.value === doc.id)\n\n if (foundOption) {\n foundOption.label = docTitle\n foundOption.relationTo = relation\n }\n\n return newOptions\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,6 +19,7 @@ export type UploadInputProps = {
|
|
|
19
19
|
readonly Error?: React.ReactNode;
|
|
20
20
|
readonly filterOptions?: FilterOptionsResult;
|
|
21
21
|
readonly hasMany?: boolean;
|
|
22
|
+
readonly hideRemoveFile?: boolean;
|
|
22
23
|
readonly isSortable?: boolean;
|
|
23
24
|
readonly Label?: React.ReactNode;
|
|
24
25
|
readonly label?: StaticLabel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EAEnB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,WAAW,IAAI,eAAe,EAE/B,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAO,KAA0C,MAAM,OAAO,CAAA;AAqB9D,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,WAAW,CAAA;AAIjC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAA;IAC5C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;IACpF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;CACzD,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,qBAmhBlD"}
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EAEnB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,WAAW,IAAI,eAAe,EAE/B,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAO,KAA0C,MAAM,OAAO,CAAA;AAqB9D,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,WAAW,CAAA;AAIjC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAA;IAC5C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;IACpF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;CACzD,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,qBAmhBlD"}
|