@payloadcms/ui 4.0.0-internal.b6f3b9a → 4.0.0-internal.b8e7c89
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.css +1 -0
- package/dist/elements/AppHeader/index.js +1 -1
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +1 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +45 -32
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +2 -3
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +2 -3
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/index.css +2 -2
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +2 -0
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +8 -9
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.d.ts +1 -0
- package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +10 -8
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +2 -3
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/Drawer/index.css +10 -4
- package/dist/elements/Dropzone/index.css +10 -4
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +2 -3
- 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 +2 -3
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
- package/dist/elements/FileManager/FileToolbar/index.js +3 -0
- package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
- package/dist/elements/FileManager/index.css +0 -30
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +379 -287
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +2 -3
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -3
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
- package/dist/elements/IDLabel/index.css +6 -0
- package/dist/elements/IDLabel/index.d.ts +1 -1
- package/dist/elements/IDLabel/index.d.ts.map +1 -1
- package/dist/elements/IDLabel/index.js +16 -21
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +2 -3
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +1 -1
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +1 -1
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.css +1 -1
- package/dist/elements/Popup/index.js +1 -1
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +5 -6
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +2 -3
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +5 -2
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.d.ts.map +1 -1
- package/dist/elements/RestoreMany/index.js +2 -3
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +2 -3
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SortHeader/index.d.ts.map +1 -1
- package/dist/elements/SortHeader/index.js +29 -26
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +2 -3
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StepNav/index.css +64 -14
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +143 -69
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +3 -11
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +2 -3
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +2 -3
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
- package/dist/elements/UnpublishButton/index.js +3 -4
- package/dist/elements/UnpublishButton/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +2 -3
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
- package/dist/elements/Upload/index.css +39 -32
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +37 -99
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
- package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
- package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
- package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.js +201 -0
- package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.css +31 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.js +62 -0
- package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
- package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.js +32 -0
- package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
- package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +15 -4
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +2 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +1 -1
- package/dist/exports/client/index.js.map +3 -3
- package/dist/fields/Array/ArrayRow.d.ts +1 -0
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +2 -0
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +40 -13
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +2 -0
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +1 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +22 -19
- 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 +37 -10
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.d.ts.map +1 -1
- package/dist/fields/FieldLabel/index.js +4 -5
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +2 -3
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +2 -3
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +46 -19
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/Input.spec.js +242 -0
- package/dist/fields/Upload/Input.spec.js.map +1 -0
- package/dist/fields/shared/index.d.ts +1 -1
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +6 -4
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/NullifyField/index.d.ts.map +1 -1
- package/dist/forms/NullifyField/index.js +2 -3
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +2 -3
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/icons/Edit/index.d.ts +0 -1
- package/dist/icons/Edit/index.d.ts.map +1 -1
- package/dist/icons/Edit/index.js +4 -4
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/providers/Actions/index.d.ts +1 -0
- package/dist/providers/Actions/index.d.ts.map +1 -1
- package/dist/providers/Actions/index.js +43 -11
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
- package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
- package/dist/providers/Auth/authSessionRequests.js +119 -0
- package/dist/providers/Auth/authSessionRequests.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
- package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
- package/dist/providers/Auth/index.d.ts +2 -56
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +283 -135
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/sessionActivity.d.ts +23 -0
- package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
- package/dist/providers/Auth/sessionActivity.js +49 -0
- package/dist/providers/Auth/sessionActivity.js.map +1 -0
- package/dist/providers/Auth/sessionActivity.spec.js +44 -0
- package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
- package/dist/providers/Auth/sessionTiming.d.ts +11 -0
- package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
- package/dist/providers/Auth/sessionTiming.js +18 -0
- package/dist/providers/Auth/sessionTiming.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.js +263 -0
- package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.js +6 -0
- package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
- package/dist/providers/Auth/types.d.ts +65 -0
- package/dist/providers/Auth/types.d.ts.map +1 -0
- package/dist/providers/Auth/types.js +2 -0
- package/dist/providers/Auth/types.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
- package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +2 -3
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/FormErrorHandler/index.d.ts +5 -1
- package/dist/providers/FormErrorHandler/index.d.ts.map +1 -1
- package/dist/providers/FormErrorHandler/index.js.map +1 -1
- package/dist/providers/LivePreview/index.d.ts.map +1 -1
- package/dist/providers/LivePreview/index.js +13 -6
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Locale/index.d.ts +1 -5
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +64 -137
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
- package/dist/providers/RouteTransition/index.d.ts +2 -2
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +10 -10
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +2 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +5 -1
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +15 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +0 -1
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/templates/Default/index.d.ts +1 -0
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +2 -0
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
- package/dist/utilities/formatAbsoluteURL.js +18 -8
- package/dist/utilities/formatAbsoluteURL.js.map +1 -1
- package/dist/utilities/formatAbsoluteURL.spec.js +27 -0
- package/dist/utilities/formatAbsoluteURL.spec.js.map +1 -0
- package/dist/utilities/formatMetadata.d.ts.map +1 -1
- package/dist/utilities/formatMetadata.js +0 -5
- package/dist/utilities/formatMetadata.js.map +1 -1
- package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
- package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
- package/dist/utilities/getFilesFromClipboard.js +49 -0
- package/dist/utilities/getFilesFromClipboard.js.map +1 -0
- package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
- package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
- package/dist/utilities/getHasScheduledPublish.js +2 -5
- package/dist/utilities/getHasScheduledPublish.js.map +1 -1
- package/dist/utilities/isAbsoluteURL.d.ts +3 -0
- package/dist/utilities/isAbsoluteURL.d.ts.map +1 -0
- package/dist/utilities/isAbsoluteURL.js +15 -0
- package/dist/utilities/isAbsoluteURL.js.map +1 -0
- package/dist/utilities/isAbsoluteURL.spec.js +11 -0
- package/dist/utilities/isAbsoluteURL.spec.js.map +1 -0
- package/dist/utilities/isHttpURL.d.ts +3 -0
- package/dist/utilities/isHttpURL.d.ts.map +1 -0
- package/dist/utilities/isHttpURL.js +12 -0
- package/dist/utilities/isHttpURL.js.map +1 -0
- package/dist/utilities/isHttpURL.spec.js +25 -0
- package/dist/utilities/isHttpURL.spec.js.map +1 -0
- package/dist/utilities/schedulePublishHandler.d.ts +8 -1
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +68 -4
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +2 -1
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +3 -0
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +2 -3
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +33 -140
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +1 -2
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +3 -2
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts +1 -10
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +1 -3
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +0 -14
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +5 -0
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +1 -0
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +10 -13
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +12 -13
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +1 -0
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +56 -50
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +41 -27
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.spec.js +258 -0
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.spec.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +10 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +33 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +56 -2
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +8 -2
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +17 -19
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +3 -13
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
- package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"countChangedFields.spec.js","names":["describe","it","expect","countChangedFields","countChangedFieldsInRows","locales","undefined","fields","name","type","valueFrom","a","b","valueTo","result","toBe","id","label","c","group","tabs","namedTab","admin","arrayField","blocks","slug","blockType","d","localized","en","de","tab","field","valueFromRows","valueToRows"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.ts"],"sourcesContent":["import type { ClientField } from 'payload'\nimport { describe, it, expect } from 'vitest'\n\nimport { countChangedFields, countChangedFieldsInRows } from './countChangedFields.js'\n\ndescribe('countChangedFields', () => {\n // locales can be undefined when not configured in payload.config.js\n const locales = undefined\n it('should return 0 when no fields have changed', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const valueFrom = { a: 'original', b: 123 }\n const valueTo = { a: 'original', b: 123 }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(0)\n })\n\n it('should count simple changed fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const valueFrom = { a: 'original', b: 123 }\n const valueTo = { a: 'changed', b: 123 }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(1)\n })\n\n it('should count previously undefined fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const valueFrom = {}\n const valueTo = { a: 'new', b: 123 }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should not count the id field because it is not displayed in the version view', () => {\n const fields: ClientField[] = [\n { name: 'id', type: 'text' },\n { name: 'a', type: 'text' },\n ]\n const valueFrom = { id: 'original', a: 'original' }\n const valueTo = { id: 'changed', a: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(0)\n })\n\n it('should count changed fields inside collapsible fields', () => {\n const fields: ClientField[] = [\n {\n type: 'collapsible',\n label: 'A collapsible field',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = { a: 'original', b: 'original', c: 'original' }\n const valueTo = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside row fields', () => {\n const fields: ClientField[] = [\n {\n type: 'row',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = { a: 'original', b: 'original', c: 'original' }\n const valueTo = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside group fields', () => {\n const fields: ClientField[] = [\n {\n type: 'group',\n name: 'group',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = { group: { a: 'original', b: 'original', c: 'original' } }\n const valueTo = { group: { a: 'changed', b: 'changed', c: 'original' } }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside unnamed tabs ', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n label: 'Unnamed tab',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = { a: 'original', b: 'original', c: 'original' }\n const valueTo = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside named tabs ', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n name: 'namedTab',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = { namedTab: { a: 'original', b: 'original', c: 'original' } }\n const valueTo = { namedTab: { a: 'changed', b: 'changed', c: 'original' } }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should ignore UI fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n {\n name: 'b',\n type: 'ui',\n admin: {},\n },\n ]\n const valueFrom = { a: 'original', b: 'original' }\n const valueTo = { a: 'original', b: 'changed' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(0)\n })\n\n it('should count changed fields inside array fields', () => {\n const fields: ClientField[] = [\n {\n name: 'arrayField',\n type: 'array',\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ]\n const valueFrom = {\n arrayField: [\n { a: 'original', b: 'original', c: 'original' },\n { a: 'original', b: 'original' },\n ],\n }\n const valueTo = {\n arrayField: [\n { a: 'changed', b: 'changed', c: 'original' },\n { a: 'changed', b: 'changed', c: 'changed' },\n ],\n }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(5)\n })\n\n it('should count changed fields inside arrays nested inside of collapsibles', () => {\n const fields: ClientField[] = [\n {\n type: 'collapsible',\n label: 'A collapsible field',\n fields: [\n {\n name: 'arrayField',\n type: 'array',\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ],\n },\n ]\n const valueFrom = { arrayField: [{ a: 'original', b: 'original', c: 'original' }] }\n const valueTo = { arrayField: [{ a: 'changed', b: 'changed', c: 'original' }] }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside blocks fields', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n blocks: [\n { blockType: 'blockA', a: 'original', b: 'original', c: 'original' },\n { blockType: 'blockA', a: 'original', b: 'original' },\n ],\n }\n const valueTo = {\n blocks: [\n { blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' },\n { blockType: 'blockA', a: 'changed', b: 'changed', c: 'changed' },\n ],\n }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(5)\n })\n\n it('should count changed fields between blocks with different slugs', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n {\n slug: 'blockB',\n fields: [\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n { name: 'd', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n blocks: [{ blockType: 'blockA', a: 'removed', b: 'original', c: 'original' }],\n }\n const valueTo = {\n blocks: [{ blockType: 'blockB', b: 'original', c: 'changed', d: 'new' }],\n }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n\n describe('localized fields', () => {\n const locales = ['en', 'de']\n it('should count simple localized fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text', localized: true },\n { name: 'b', type: 'text', localized: true },\n ]\n const valueFrom = {\n a: { en: 'original', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const valueTo = {\n a: { en: 'changed', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(1)\n })\n\n it('should count multiple locales of the same localized field', () => {\n const locales = ['en', 'de']\n const fields: ClientField[] = [\n { name: 'a', type: 'text', localized: true },\n { name: 'b', type: 'text', localized: true },\n ]\n const valueFrom = {\n a: { en: 'original', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const valueTo = {\n a: { en: 'changed', de: 'changed' },\n b: { en: 'original', de: 'original' },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside localized groups fields', () => {\n const fields: ClientField[] = [\n {\n type: 'group',\n name: 'group',\n localized: true,\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = {\n group: {\n en: { a: 'original', b: 'original', c: 'original' },\n de: { a: 'original', b: 'original', c: 'original' },\n },\n }\n const valueTo = {\n group: {\n en: { a: 'changed', b: 'changed', c: 'original' },\n de: { a: 'original', b: 'changed', c: 'original' },\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n it('should count changed fields inside localized tabs', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n name: 'tab',\n localized: true,\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n tab: {\n en: { a: 'original', b: 'original', c: 'original' },\n de: { a: 'original', b: 'original', c: 'original' },\n },\n }\n const valueTo = {\n tab: {\n en: { a: 'changed', b: 'changed', c: 'original' },\n de: { a: 'original', b: 'changed', c: 'original' },\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n\n it('should count changed fields inside localized array fields', () => {\n const fields: ClientField[] = [\n {\n name: 'arrayField',\n type: 'array',\n localized: true,\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ]\n const valueFrom = {\n arrayField: {\n en: [{ a: 'original', b: 'original', c: 'original' }],\n de: [{ a: 'original', b: 'original', c: 'original' }],\n },\n }\n const valueTo = {\n arrayField: {\n en: [{ a: 'changed', b: 'changed', c: 'original' }],\n de: [{ a: 'original', b: 'changed', c: 'original' }],\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n\n it('should count changed fields inside localized blocks fields', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n localized: true,\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n blocks: {\n en: [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }],\n de: [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }],\n },\n }\n const valueTo = {\n blocks: {\n en: [{ blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' }],\n de: [{ blockType: 'blockA', a: 'original', b: 'changed', c: 'original' }],\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n })\n})\n\ndescribe('countChangedFieldsInRows', () => {\n it('should count fields in array rows', () => {\n const field: ClientField = {\n name: 'myArray',\n type: 'array',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n }\n\n const valueFromRows = [{ a: 'original', b: 'original', c: 'original' }]\n const valueToRows = [{ a: 'changed', b: 'changed', c: 'original' }]\n\n const result = countChangedFieldsInRows({\n valueFromRows,\n field,\n locales: undefined,\n valueToRows: valueToRows,\n })\n expect(result).toBe(2)\n })\n\n it('should count fields in blocks', () => {\n const field: ClientField = {\n name: 'myBlocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n }\n\n const valueFromRows = [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }]\n const valueToRows = [{ blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' }]\n\n const result = countChangedFieldsInRows({\n valueFromRows,\n field,\n locales: undefined,\n valueToRows,\n })\n expect(result).toBe(2)\n })\n})\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"countChangedFields.spec.js","names":["describe","it","expect","countChangedFields","countChangedFieldsInRows","locales","undefined","fields","name","type","valueFrom","a","b","valueTo","result","toBe","id","label","c","group","tabs","namedTab","admin","arrayField","blocks","slug","blockType","d","localized","en","de","tab","field","valueFromRows","valueToRows","sourceDetails","sourceRow","replacementDetails","replacementRow"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.ts"],"sourcesContent":["import type { ClientField } from 'payload'\nimport { describe, it, expect } from 'vitest'\n\nimport { countChangedFields, countChangedFieldsInRows } from './countChangedFields.js'\n\ndescribe('countChangedFields', () => {\n // locales can be undefined when not configured in payload.config.js\n const locales = undefined\n it('should return 0 when no fields have changed', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const valueFrom = { a: 'original', b: 123 }\n const valueTo = { a: 'original', b: 123 }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(0)\n })\n\n it('should count simple changed fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const valueFrom = { a: 'original', b: 123 }\n const valueTo = { a: 'changed', b: 123 }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(1)\n })\n\n it('should count previously undefined fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const valueFrom = {}\n const valueTo = { a: 'new', b: 123 }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should not count the id field because it is not displayed in the version view', () => {\n const fields: ClientField[] = [\n { name: 'id', type: 'text' },\n { name: 'a', type: 'text' },\n ]\n const valueFrom = { id: 'original', a: 'original' }\n const valueTo = { id: 'changed', a: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(0)\n })\n\n it('should count changed fields inside collapsible fields', () => {\n const fields: ClientField[] = [\n {\n type: 'collapsible',\n label: 'A collapsible field',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = { a: 'original', b: 'original', c: 'original' }\n const valueTo = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside row fields', () => {\n const fields: ClientField[] = [\n {\n type: 'row',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = { a: 'original', b: 'original', c: 'original' }\n const valueTo = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside group fields', () => {\n const fields: ClientField[] = [\n {\n type: 'group',\n name: 'group',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = { group: { a: 'original', b: 'original', c: 'original' } }\n const valueTo = { group: { a: 'changed', b: 'changed', c: 'original' } }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside unnamed tabs ', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n label: 'Unnamed tab',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = { a: 'original', b: 'original', c: 'original' }\n const valueTo = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside named tabs ', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n name: 'namedTab',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = { namedTab: { a: 'original', b: 'original', c: 'original' } }\n const valueTo = { namedTab: { a: 'changed', b: 'changed', c: 'original' } }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should ignore UI fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n {\n name: 'b',\n type: 'ui',\n admin: {},\n },\n ]\n const valueFrom = { a: 'original', b: 'original' }\n const valueTo = { a: 'original', b: 'changed' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(0)\n })\n\n it('should count changed fields inside array fields', () => {\n const fields: ClientField[] = [\n {\n name: 'arrayField',\n type: 'array',\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ]\n const valueFrom = {\n arrayField: [\n { a: 'original', b: 'original', c: 'original' },\n { a: 'original', b: 'original' },\n ],\n }\n const valueTo = {\n arrayField: [\n { a: 'changed', b: 'changed', c: 'original' },\n { a: 'changed', b: 'changed', c: 'changed' },\n ],\n }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(5)\n })\n\n it('should count changed fields inside arrays nested inside of collapsibles', () => {\n const fields: ClientField[] = [\n {\n type: 'collapsible',\n label: 'A collapsible field',\n fields: [\n {\n name: 'arrayField',\n type: 'array',\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ],\n },\n ]\n const valueFrom = { arrayField: [{ a: 'original', b: 'original', c: 'original' }] }\n const valueTo = { arrayField: [{ a: 'changed', b: 'changed', c: 'original' }] }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside blocks fields', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n blocks: [\n { blockType: 'blockA', a: 'original', b: 'original', c: 'original' },\n { blockType: 'blockA', a: 'original', b: 'original' },\n ],\n }\n const valueTo = {\n blocks: [\n { blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' },\n { blockType: 'blockA', a: 'changed', b: 'changed', c: 'changed' },\n ],\n }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(5)\n })\n\n it('should count source and replacement fields between blocks with different slugs', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n {\n slug: 'blockB',\n fields: [\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n { name: 'd', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n blocks: [{ blockType: 'blockA', a: 'removed', b: 'original', c: 'original' }],\n }\n const valueTo = {\n blocks: [{ blockType: 'blockB', b: 'original', c: 'changed', d: 'new' }],\n }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(6)\n })\n\n describe('localized fields', () => {\n const locales = ['en', 'de']\n it('should count simple localized fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text', localized: true },\n { name: 'b', type: 'text', localized: true },\n ]\n const valueFrom = {\n a: { en: 'original', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const valueTo = {\n a: { en: 'changed', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(1)\n })\n\n it('should count multiple locales of the same localized field', () => {\n const locales = ['en', 'de']\n const fields: ClientField[] = [\n { name: 'a', type: 'text', localized: true },\n { name: 'b', type: 'text', localized: true },\n ]\n const valueFrom = {\n a: { en: 'original', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const valueTo = {\n a: { en: 'changed', de: 'changed' },\n b: { en: 'original', de: 'original' },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside localized groups fields', () => {\n const fields: ClientField[] = [\n {\n type: 'group',\n name: 'group',\n localized: true,\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = {\n group: {\n en: { a: 'original', b: 'original', c: 'original' },\n de: { a: 'original', b: 'original', c: 'original' },\n },\n }\n const valueTo = {\n group: {\n en: { a: 'changed', b: 'changed', c: 'original' },\n de: { a: 'original', b: 'changed', c: 'original' },\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n it('should count changed fields inside localized tabs', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n name: 'tab',\n localized: true,\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n tab: {\n en: { a: 'original', b: 'original', c: 'original' },\n de: { a: 'original', b: 'original', c: 'original' },\n },\n }\n const valueTo = {\n tab: {\n en: { a: 'changed', b: 'changed', c: 'original' },\n de: { a: 'original', b: 'changed', c: 'original' },\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n\n it('should count changed fields inside localized array fields', () => {\n const fields: ClientField[] = [\n {\n name: 'arrayField',\n type: 'array',\n localized: true,\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ]\n const valueFrom = {\n arrayField: {\n en: [{ a: 'original', b: 'original', c: 'original' }],\n de: [{ a: 'original', b: 'original', c: 'original' }],\n },\n }\n const valueTo = {\n arrayField: {\n en: [{ a: 'changed', b: 'changed', c: 'original' }],\n de: [{ a: 'original', b: 'changed', c: 'original' }],\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n\n it('should count changed fields inside localized blocks fields', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n localized: true,\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n blocks: {\n en: [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }],\n de: [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }],\n },\n }\n const valueTo = {\n blocks: {\n en: [{ blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' }],\n de: [{ blockType: 'blockA', a: 'original', b: 'changed', c: 'original' }],\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n })\n})\n\ndescribe('countChangedFieldsInRows', () => {\n it('should count fields in array rows', () => {\n const field: ClientField = {\n name: 'myArray',\n type: 'array',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n }\n\n const valueFromRows = [{ a: 'original', b: 'original', c: 'original' }]\n const valueToRows = [{ a: 'changed', b: 'changed', c: 'original' }]\n\n const result = countChangedFieldsInRows({\n valueFromRows,\n field,\n locales: undefined,\n valueToRows: valueToRows,\n })\n expect(result).toBe(2)\n })\n\n it('should count fields in blocks', () => {\n const field: ClientField = {\n name: 'myBlocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n }\n\n const valueFromRows = [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }]\n const valueToRows = [{ blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' }]\n\n const result = countChangedFieldsInRows({\n valueFromRows,\n field,\n locales: undefined,\n valueToRows,\n })\n expect(result).toBe(2)\n })\n\n it('should count source and replacement block fields separately', () => {\n const field: ClientField = {\n name: 'myBlocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'source',\n fields: [\n {\n type: 'row',\n fields: [{ name: 'sourceRow', type: 'text' }],\n },\n {\n type: 'collapsible',\n label: 'Source details',\n fields: [{ name: 'sourceDetails', type: 'text' }],\n },\n ],\n },\n {\n slug: 'replacement',\n fields: [\n {\n type: 'row',\n fields: [{ name: 'replacementRow', type: 'text' }],\n },\n {\n type: 'collapsible',\n label: 'Replacement details',\n fields: [{ name: 'replacementDetails', type: 'text' }],\n },\n ],\n },\n ],\n }\n\n const result = countChangedFieldsInRows({\n field,\n locales: undefined,\n valueFromRows: [\n { blockType: 'source', sourceDetails: 'original details', sourceRow: 'original row' },\n ],\n valueToRows: [\n {\n blockType: 'replacement',\n replacementDetails: 'replacement details',\n replacementRow: 'replacement row',\n },\n ],\n })\n\n expect(result).toBe(4)\n })\n})\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,8 +2,9 @@ import type { ArrayFieldClient, BaseVersionField, BlocksFieldClient, ClientConfi
|
|
|
2
2
|
/**
|
|
3
3
|
* Get the fields for a row in an iterable field for comparison.
|
|
4
4
|
* - Array fields: the fields of the array field, because the fields are the same for each row.
|
|
5
|
-
* - Blocks fields: the
|
|
6
|
-
*
|
|
5
|
+
* - Blocks fields: the fields of the matching block when the block types are the same.
|
|
6
|
+
* Replaced blocks intentionally return no shared field list because each block schema must be
|
|
7
|
+
* compared independently.
|
|
7
8
|
*/
|
|
8
9
|
export declare function getFieldsForRowComparison({ baseVersionField, config, field, row, valueFromRow, valueToRow, }: {
|
|
9
10
|
baseVersionField: BaseVersionField;
|
|
@@ -16,4 +17,9 @@ export declare function getFieldsForRowComparison({ baseVersionField, config, fi
|
|
|
16
17
|
fields: ClientField[];
|
|
17
18
|
versionFields: VersionField[];
|
|
18
19
|
};
|
|
20
|
+
export declare function getBlockFields({ blockSlug, config, field, }: {
|
|
21
|
+
blockSlug: string | undefined;
|
|
22
|
+
config: ClientConfig;
|
|
23
|
+
field: BlocksFieldClient;
|
|
24
|
+
}): ClientField[];
|
|
19
25
|
//# sourceMappingURL=getFieldsForRowComparison.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFieldsForRowComparison.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"getFieldsForRowComparison.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,SAAS,CAAA;AAEhB;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,GAAG,EACH,YAAY,EACZ,UAAU,GACX,EAAE;IACD,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;IAC3C,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,GAAG,CAAA;IACjB,UAAU,EAAE,GAAG,CAAA;CAChB,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,CAwB3D;AAED,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,MAAM,EACN,KAAK,GACN,EAAE;IACD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,iBAAiB,CAAA;CACzB,GAAG,WAAW,EAAE,CAMhB"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { getUniqueListBy } from 'payload/shared';
|
|
2
1
|
/**
|
|
3
2
|
* Get the fields for a row in an iterable field for comparison.
|
|
4
3
|
* - Array fields: the fields of the array field, because the fields are the same for each row.
|
|
5
|
-
* - Blocks fields: the
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
export function getFieldsForRowComparison({
|
|
4
|
+
* - Blocks fields: the fields of the matching block when the block types are the same.
|
|
5
|
+
* Replaced blocks intentionally return no shared field list because each block schema must be
|
|
6
|
+
* compared independently.
|
|
7
|
+
*/export function getFieldsForRowComparison({
|
|
9
8
|
baseVersionField,
|
|
10
9
|
config,
|
|
11
10
|
field,
|
|
@@ -20,26 +19,25 @@ export function getFieldsForRowComparison({
|
|
|
20
19
|
versionFields = baseVersionField.rows?.length ? baseVersionField.rows[row] : baseVersionField.fields;
|
|
21
20
|
} else if (field.type === 'blocks') {
|
|
22
21
|
if (valueToRow?.blockType === valueFromRow?.blockType) {
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
fields = getBlockFields({
|
|
23
|
+
blockSlug: valueToRow?.blockType,
|
|
24
|
+
config,
|
|
25
|
+
field
|
|
25
26
|
});
|
|
26
|
-
fields = matchedBlock.fields;
|
|
27
|
-
versionFields = baseVersionField.rows?.length ? baseVersionField.rows[row] : baseVersionField.fields;
|
|
28
|
-
} else {
|
|
29
|
-
const matchedVersionBlock = config?.blocksMap?.[valueToRow?.blockType] ?? (field.blocks.find(block => typeof block !== 'string' && block.slug === valueToRow?.blockType) || {
|
|
30
|
-
fields: []
|
|
31
|
-
});
|
|
32
|
-
const matchedComparisonBlock = config?.blocksMap?.[valueFromRow?.blockType] ?? (field.blocks.find(block => typeof block !== 'string' && block.slug === valueFromRow?.blockType) || {
|
|
33
|
-
fields: []
|
|
34
|
-
});
|
|
35
|
-
fields = getUniqueListBy([...matchedVersionBlock.fields, ...matchedComparisonBlock.fields], 'name');
|
|
36
|
-
// buildVersionFields already merged the fields of the version and comparison rows together
|
|
37
|
-
versionFields = baseVersionField.rows?.length ? baseVersionField.rows[row] : baseVersionField.fields;
|
|
38
27
|
}
|
|
28
|
+
versionFields = baseVersionField.rows?.length ? baseVersionField.rows[row] : baseVersionField.fields;
|
|
39
29
|
}
|
|
40
30
|
return {
|
|
41
31
|
fields,
|
|
42
32
|
versionFields
|
|
43
33
|
};
|
|
44
34
|
}
|
|
35
|
+
export function getBlockFields({
|
|
36
|
+
blockSlug,
|
|
37
|
+
config,
|
|
38
|
+
field
|
|
39
|
+
}) {
|
|
40
|
+
const matchedBlock = blockSlug && config?.blocksMap?.[blockSlug] || field.blocks.find(block => typeof block !== 'string' && block.slug === blockSlug);
|
|
41
|
+
return typeof matchedBlock === 'string' ? [] : matchedBlock?.fields ?? [];
|
|
42
|
+
}
|
|
45
43
|
//# sourceMappingURL=getFieldsForRowComparison.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFieldsForRowComparison.js","names":["
|
|
1
|
+
{"version":3,"file":"getFieldsForRowComparison.js","names":["getFieldsForRowComparison","baseVersionField","config","field","row","valueFromRow","valueToRow","fields","versionFields","type","rows","length","blockType","getBlockFields","blockSlug","matchedBlock","blocksMap","blocks","find","block","slug"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.ts"],"sourcesContent":["import type {\n ArrayFieldClient,\n BaseVersionField,\n BlocksFieldClient,\n ClientConfig,\n ClientField,\n VersionField,\n} from 'payload'\n\n/**\n * Get the fields for a row in an iterable field for comparison.\n * - Array fields: the fields of the array field, because the fields are the same for each row.\n * - Blocks fields: the fields of the matching block when the block types are the same.\n * Replaced blocks intentionally return no shared field list because each block schema must be\n * compared independently.\n */\nexport function getFieldsForRowComparison({\n baseVersionField,\n config,\n field,\n row,\n valueFromRow,\n valueToRow,\n}: {\n baseVersionField: BaseVersionField\n config: ClientConfig\n field: ArrayFieldClient | BlocksFieldClient\n row: number\n valueFromRow: any\n valueToRow: any\n}): { fields: ClientField[]; versionFields: VersionField[] } {\n let fields: ClientField[] = []\n let versionFields: VersionField[] = []\n\n if (field.type === 'array' && 'fields' in field) {\n fields = field.fields\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n } else if (field.type === 'blocks') {\n if (valueToRow?.blockType === valueFromRow?.blockType) {\n fields = getBlockFields({\n blockSlug: valueToRow?.blockType,\n config,\n field,\n })\n }\n\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n }\n\n return { fields, versionFields }\n}\n\nexport function getBlockFields({\n blockSlug,\n config,\n field,\n}: {\n blockSlug: string | undefined\n config: ClientConfig\n field: BlocksFieldClient\n}): ClientField[] {\n const matchedBlock =\n (blockSlug && config?.blocksMap?.[blockSlug]) ||\n field.blocks.find((block) => typeof block !== 'string' && block.slug === blockSlug)\n\n return typeof matchedBlock === 'string' ? [] : (matchedBlock?.fields ?? [])\n}\n"],"mappings":"AASA;;;;;;GAOA,OAAO,SAASA,0BAA0B;EACxCC,gBAAgB;EAChBC,MAAM;EACNC,KAAK;EACLC,GAAG;EACHC,YAAY;EACZC;AAAU,CAQX;EACC,IAAIC,MAAA,GAAwB,EAAE;EAC9B,IAAIC,aAAA,GAAgC,EAAE;EAEtC,IAAIL,KAAA,CAAMM,IAAI,KAAK,WAAW,YAAYN,KAAA,EAAO;IAC/CI,MAAA,GAASJ,KAAA,CAAMI,MAAM;IACrBC,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACN,GAAA,CAAI,GAC1BH,gBAAA,CAAiBM,MAAM;EAC7B,OAAO,IAAIJ,KAAA,CAAMM,IAAI,KAAK,UAAU;IAClC,IAAIH,UAAA,EAAYM,SAAA,KAAcP,YAAA,EAAcO,SAAA,EAAW;MACrDL,MAAA,GAASM,cAAA,CAAe;QACtBC,SAAA,EAAWR,UAAA,EAAYM,SAAA;QACvBV,MAAA;QACAC;MACF;IACF;IAEAK,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACN,GAAA,CAAI,GAC1BH,gBAAA,CAAiBM,MAAM;EAC7B;EAEA,OAAO;IAAEA,MAAA;IAAQC;EAAc;AACjC;AAEA,OAAO,SAASK,eAAe;EAC7BC,SAAS;EACTZ,MAAM;EACNC;AAAK,CAKN;EACC,MAAMY,YAAA,GACJD,SAAC,IAAaZ,MAAA,EAAQc,SAAA,GAAYF,SAAA,CAAU,IAC5CX,KAAA,CAAMc,MAAM,CAACC,IAAI,CAAEC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKN,SAAA;EAE3E,OAAO,OAAOC,YAAA,KAAiB,WAAW,EAAE,GAAIA,YAAA,EAAcR,MAAA,IAAU,EAAE;AAC5E","ignoreList":[]}
|
|
@@ -34,7 +34,7 @@ describe('getFieldsForRowComparison', () => {
|
|
|
34
34
|
});
|
|
35
35
|
});
|
|
36
36
|
describe('blocks fields', () => {
|
|
37
|
-
it('should return
|
|
37
|
+
it('should return the matching block fields when block types match', () => {
|
|
38
38
|
const blockAFields = [{
|
|
39
39
|
name: 'a',
|
|
40
40
|
type: 'text'
|
|
@@ -73,7 +73,7 @@ describe('getFieldsForRowComparison', () => {
|
|
|
73
73
|
});
|
|
74
74
|
expect(fields).toEqual(blockAFields);
|
|
75
75
|
});
|
|
76
|
-
it('should
|
|
76
|
+
it('should not merge fields when block types differ', () => {
|
|
77
77
|
const field = {
|
|
78
78
|
type: 'blocks',
|
|
79
79
|
name: 'myBlocks',
|
|
@@ -118,17 +118,7 @@ describe('getFieldsForRowComparison', () => {
|
|
|
118
118
|
},
|
|
119
119
|
config: {}
|
|
120
120
|
});
|
|
121
|
-
|
|
122
|
-
expect(fields).toEqual([{
|
|
123
|
-
name: 'a',
|
|
124
|
-
type: 'text'
|
|
125
|
-
}, {
|
|
126
|
-
name: 'b',
|
|
127
|
-
type: 'text'
|
|
128
|
-
}, {
|
|
129
|
-
name: 'c',
|
|
130
|
-
type: 'text'
|
|
131
|
-
}]);
|
|
121
|
+
expect(fields).toEqual([]);
|
|
132
122
|
});
|
|
133
123
|
});
|
|
134
124
|
});
|
package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFieldsForRowComparison.spec.js","names":["describe","it","expect","getFieldsForRowComparison","arrayFields","name","type","field","fields","valueToRow","valueFromRow","row","baseVersionField","path","schemaPath","config","toEqual","blockAFields","blocks","slug","blockType"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.ts"],"sourcesContent":["import type { ArrayFieldClient, BlocksFieldClient, ClientField } from 'payload'\nimport { describe, it, expect } from 'vitest'\n\nimport { getFieldsForRowComparison } from './getFieldsForRowComparison'\n\ndescribe('getFieldsForRowComparison', () => {\n describe('array fields', () => {\n it('should return fields from array field', () => {\n const arrayFields: ClientField[] = [\n { name: 'title', type: 'text' },\n { name: 'description', type: 'textarea' },\n ]\n\n const field: ArrayFieldClient = {\n type: 'array',\n name: 'items',\n fields: arrayFields,\n }\n\n const { fields } = getFieldsForRowComparison({\n field,\n valueToRow: {},\n valueFromRow: {},\n row: 0,\n baseVersionField: { fields: [], path: 'items', schemaPath: 'items', type: 'array' },\n config: {} as any,\n })\n\n expect(fields).toEqual(arrayFields)\n })\n })\n\n describe('blocks fields', () => {\n it('should return
|
|
1
|
+
{"version":3,"file":"getFieldsForRowComparison.spec.js","names":["describe","it","expect","getFieldsForRowComparison","arrayFields","name","type","field","fields","valueToRow","valueFromRow","row","baseVersionField","path","schemaPath","config","toEqual","blockAFields","blocks","slug","blockType"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.ts"],"sourcesContent":["import type { ArrayFieldClient, BlocksFieldClient, ClientField } from 'payload'\nimport { describe, it, expect } from 'vitest'\n\nimport { getFieldsForRowComparison } from './getFieldsForRowComparison'\n\ndescribe('getFieldsForRowComparison', () => {\n describe('array fields', () => {\n it('should return fields from array field', () => {\n const arrayFields: ClientField[] = [\n { name: 'title', type: 'text' },\n { name: 'description', type: 'textarea' },\n ]\n\n const field: ArrayFieldClient = {\n type: 'array',\n name: 'items',\n fields: arrayFields,\n }\n\n const { fields } = getFieldsForRowComparison({\n field,\n valueToRow: {},\n valueFromRow: {},\n row: 0,\n baseVersionField: { fields: [], path: 'items', schemaPath: 'items', type: 'array' },\n config: {} as any,\n })\n\n expect(fields).toEqual(arrayFields)\n })\n })\n\n describe('blocks fields', () => {\n it('should return the matching block fields when block types match', () => {\n const blockAFields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n ]\n\n const field: BlocksFieldClient = {\n type: 'blocks',\n name: 'myBlocks',\n blocks: [\n {\n slug: 'blockA',\n fields: blockAFields,\n },\n ],\n }\n\n const valueToRow = { blockType: 'blockA' }\n const valueFromRow = { blockType: 'blockA' }\n\n const { fields } = getFieldsForRowComparison({\n field,\n valueToRow,\n valueFromRow,\n row: 0,\n baseVersionField: { fields: [], path: 'myBlocks', schemaPath: 'myBlocks', type: 'blocks' },\n config: {} as any,\n })\n\n expect(fields).toEqual(blockAFields)\n })\n\n it('should not merge fields when block types differ', () => {\n const field: BlocksFieldClient = {\n type: 'blocks',\n name: 'myBlocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n ],\n },\n {\n slug: 'blockB',\n fields: [\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n }\n\n const valueToRow = { blockType: 'blockA' }\n const valueFromRow = { blockType: 'blockB' }\n\n const { fields } = getFieldsForRowComparison({\n field,\n valueToRow,\n valueFromRow,\n row: 0,\n baseVersionField: { fields: [], path: 'myBlocks', schemaPath: 'myBlocks', type: 'blocks' },\n config: {} as any,\n })\n\n expect(fields).toEqual([])\n })\n })\n})\n"],"mappings":"AACA,SAASA,QAAQ,EAAEC,EAAE,EAAEC,MAAM,QAAQ;AAErC,SAASC,yBAAyB,QAAQ;AAE1CH,QAAA,CAAS,6BAA6B;EACpCA,QAAA,CAAS,gBAAgB;IACvBC,EAAA,CAAG,yCAAyC;MAC1C,MAAMG,WAAA,GAA6B,CACjC;QAAEC,IAAA,EAAM;QAASC,IAAA,EAAM;MAAO,GAC9B;QAAED,IAAA,EAAM;QAAeC,IAAA,EAAM;MAAW,EACzC;MAED,MAAMC,KAAA,GAA0B;QAC9BD,IAAA,EAAM;QACND,IAAA,EAAM;QACNG,MAAA,EAAQJ;MACV;MAEA,MAAM;QAAEI;MAAM,CAAE,GAAGL,yBAAA,CAA0B;QAC3CI,KAAA;QACAE,UAAA,EAAY,CAAC;QACbC,YAAA,EAAc,CAAC;QACfC,GAAA,EAAK;QACLC,gBAAA,EAAkB;UAAEJ,MAAA,EAAQ,EAAE;UAAEK,IAAA,EAAM;UAASC,UAAA,EAAY;UAASR,IAAA,EAAM;QAAQ;QAClFS,MAAA,EAAQ,CAAC;MACX;MAEAb,MAAA,CAAOM,MAAA,EAAQQ,OAAO,CAACZ,WAAA;IACzB;EACF;EAEAJ,QAAA,CAAS,iBAAiB;IACxBC,EAAA,CAAG,kEAAkE;MACnE,MAAMgB,YAAA,GAA8B,CAClC;QAAEZ,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,EAC3B;MAED,MAAMC,KAAA,GAA2B;QAC/BD,IAAA,EAAM;QACND,IAAA,EAAM;QACNa,MAAA,EAAQ,CACN;UACEC,IAAA,EAAM;UACNX,MAAA,EAAQS;QACV;MAEJ;MAEA,MAAMR,UAAA,GAAa;QAAEW,SAAA,EAAW;MAAS;MACzC,MAAMV,YAAA,GAAe;QAAEU,SAAA,EAAW;MAAS;MAE3C,MAAM;QAAEZ;MAAM,CAAE,GAAGL,yBAAA,CAA0B;QAC3CI,KAAA;QACAE,UAAA;QACAC,YAAA;QACAC,GAAA,EAAK;QACLC,gBAAA,EAAkB;UAAEJ,MAAA,EAAQ,EAAE;UAAEK,IAAA,EAAM;UAAYC,UAAA,EAAY;UAAYR,IAAA,EAAM;QAAS;QACzFS,MAAA,EAAQ,CAAC;MACX;MAEAb,MAAA,CAAOM,MAAA,EAAQQ,OAAO,CAACC,YAAA;IACzB;IAEAhB,EAAA,CAAG,mDAAmD;MACpD,MAAMM,KAAA,GAA2B;QAC/BD,IAAA,EAAM;QACND,IAAA,EAAM;QACNa,MAAA,EAAQ,CACN;UACEC,IAAA,EAAM;UACNX,MAAA,EAAQ,CACN;YAAEH,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO;QAE9B,GACA;UACEa,IAAA,EAAM;UACNX,MAAA,EAAQ,CACN;YAAEH,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO;QAE9B;MAEJ;MAEA,MAAMG,UAAA,GAAa;QAAEW,SAAA,EAAW;MAAS;MACzC,MAAMV,YAAA,GAAe;QAAEU,SAAA,EAAW;MAAS;MAE3C,MAAM;QAAEZ;MAAM,CAAE,GAAGL,yBAAA,CAA0B;QAC3CI,KAAA;QACAE,UAAA;QACAC,YAAA;QACAC,GAAA,EAAK;QACLC,gBAAA,EAAkB;UAAEJ,MAAA,EAAQ,EAAE;UAAEK,IAAA,EAAM;UAAYC,UAAA,EAAY;UAAYR,IAAA,EAAM;QAAS;QACzFS,MAAA,EAAQ,CAAC;MACX;MAEAb,MAAA,CAAOM,MAAA,EAAQQ,OAAO,CAAC,EAAE;IAC3B;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateVersionViewMetadata.js","names":["getTranslation","formatDate","formatMetadata","generateVersionViewMetadata","collectionConfig","config","globalConfig","i18n","t","metaToUse","admin","meta","doc","formattedCreatedAt","createdAt","date","pattern","dateFormat","useAsTitle","entityLabel","labels","singular","titleFromData","description","documentTitle","title","components","views","edit","version","label","serverURL"],"sources":["../../../src/views/Version/generateVersionViewMetadata.ts"],"sourcesContent":["import type { MetaConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { GenerateEditViewMetadata } from '../API/generateAPIViewMetadata.js'\n\nimport { formatDate } from '../../utilities/formatDocTitle/formatDateTitle.js'\nimport { formatMetadata } from '../../utilities/formatMetadata.js'\n\n/**\n * @todo Remove the `MetaConfig` type assertions. They are currently required because of how the `Metadata` type from `next` consumes the `URL` type.\n */\nexport const generateVersionViewMetadata: GenerateEditViewMetadata = async ({\n collectionConfig,\n config,\n globalConfig,\n i18n,\n}): Promise<MetaConfig> => {\n const { t } = i18n\n\n let metaToUse: MetaConfig = {\n ...(config.admin.meta || {}),\n }\n\n const doc: any = {} // TODO: figure this out\n\n const formattedCreatedAt = doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: config?.admin?.dateFormat })\n : ''\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const entityLabel = getTranslation(collectionConfig.labels.singular, i18n)\n const titleFromData = doc?.[useAsTitle]\n\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersion', { documentTitle: titleFromData, entityLabel }),\n title: `${t('version:version')}${formattedCreatedAt ? ` - ${formattedCreatedAt}` : ''}${titleFromData ? ` - ${titleFromData}` : ''} - ${entityLabel}`,\n ...(collectionConfig?.admin?.meta || {}),\n ...(collectionConfig?.admin?.components?.views?.edit?.version?.meta || {}),\n }\n }\n\n if (globalConfig) {\n const entityLabel = getTranslation(globalConfig.label, i18n)\n\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersionGlobal', { entityLabel }),\n title: `${t('version:version')}${formattedCreatedAt ? ` - ${formattedCreatedAt}` : ''}${entityLabel}`,\n ...(
|
|
1
|
+
{"version":3,"file":"generateVersionViewMetadata.js","names":["getTranslation","formatDate","formatMetadata","generateVersionViewMetadata","collectionConfig","config","globalConfig","i18n","t","metaToUse","admin","meta","doc","formattedCreatedAt","createdAt","date","pattern","dateFormat","useAsTitle","entityLabel","labels","singular","titleFromData","description","documentTitle","title","components","views","edit","version","label","serverURL"],"sources":["../../../src/views/Version/generateVersionViewMetadata.ts"],"sourcesContent":["import type { MetaConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { GenerateEditViewMetadata } from '../API/generateAPIViewMetadata.js'\n\nimport { formatDate } from '../../utilities/formatDocTitle/formatDateTitle.js'\nimport { formatMetadata } from '../../utilities/formatMetadata.js'\n\n/**\n * @todo Remove the `MetaConfig` type assertions. They are currently required because of how the `Metadata` type from `next` consumes the `URL` type.\n */\nexport const generateVersionViewMetadata: GenerateEditViewMetadata = async ({\n collectionConfig,\n config,\n globalConfig,\n i18n,\n}): Promise<MetaConfig> => {\n const { t } = i18n\n\n let metaToUse: MetaConfig = {\n ...(config.admin.meta || {}),\n }\n\n const doc: any = {} // TODO: figure this out\n\n const formattedCreatedAt = doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: config?.admin?.dateFormat })\n : ''\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const entityLabel = getTranslation(collectionConfig.labels.singular, i18n)\n const titleFromData = doc?.[useAsTitle]\n\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersion', { documentTitle: titleFromData, entityLabel }),\n title: `${t('version:version')}${formattedCreatedAt ? ` - ${formattedCreatedAt}` : ''}${titleFromData ? ` - ${titleFromData}` : ''} - ${entityLabel}`,\n ...(collectionConfig?.admin?.meta || {}),\n ...(collectionConfig?.admin?.components?.views?.edit?.version?.meta || {}),\n }\n }\n\n if (globalConfig) {\n const entityLabel = getTranslation(globalConfig.label, i18n)\n\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersionGlobal', { entityLabel }),\n title: `${t('version:version')}${formattedCreatedAt ? ` - ${formattedCreatedAt}` : ''}${entityLabel}`,\n ...(globalConfig?.admin?.meta || {}),\n ...(globalConfig?.admin?.components?.views?.edit?.version?.meta || {}),\n }\n }\n\n return formatMetadata({\n ...metaToUse,\n serverURL: config.serverURL,\n })\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAI/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAE/B;;;AAGA,OAAO,MAAMC,2BAAA,GAAwD,MAAAA,CAAO;EAC1EC,gBAAgB;EAChBC,MAAM;EACNC,YAAY;EACZC;AAAI,CACL;EACC,MAAM;IAAEC;EAAC,CAAE,GAAGD,IAAA;EAEd,IAAIE,SAAA,GAAwB;IAC1B,IAAIJ,MAAA,CAAOK,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;EAC7B;EAEA,MAAMC,GAAA,GAAW,CAAC,EAAE;AAAA;EAEpB,MAAMC,kBAAA,GAAqBD,GAAA,EAAKE,SAAA,GAC5Bb,UAAA,CAAW;IAAEc,IAAA,EAAMH,GAAA,CAAIE,SAAS;IAAEP,IAAA;IAAMS,OAAA,EAASX,MAAA,EAAQK,KAAA,EAAOO;EAAW,KAC3E;EAEJ,IAAIb,gBAAA,EAAkB;IACpB,MAAMc,UAAA,GAAad,gBAAA,EAAkBM,KAAA,EAAOQ,UAAA,IAAc;IAC1D,MAAMC,WAAA,GAAcnB,cAAA,CAAeI,gBAAA,CAAiBgB,MAAM,CAACC,QAAQ,EAAEd,IAAA;IACrE,MAAMe,aAAA,GAAgBV,GAAA,GAAMM,UAAA,CAAW;IAEvCT,SAAA,GAAY;MACV,IAAIJ,MAAA,CAAOK,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;MAC3BY,WAAA,EAAaf,CAAA,CAAE,0BAA0B;QAAEgB,aAAA,EAAeF,aAAA;QAAeH;MAAY;MACrFM,KAAA,EAAO,GAAGjB,CAAA,CAAE,qBAAqBK,kBAAA,GAAqB,MAAMA,kBAAA,EAAoB,GAAG,KAAKS,aAAA,GAAgB,MAAMA,aAAA,EAAe,GAAG,QAAQH,WAAA,EAAa;MACrJ,IAAIf,gBAAA,EAAkBM,KAAA,EAAOC,IAAA,IAAQ,CAAC,CAAC;MACvC,IAAIP,gBAAA,EAAkBM,KAAA,EAAOgB,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAMC,OAAA,EAASlB,IAAA,IAAQ,CAAC,CAAC;IAC3E;EACF;EAEA,IAAIL,YAAA,EAAc;IAChB,MAAMa,WAAA,GAAcnB,cAAA,CAAeM,YAAA,CAAawB,KAAK,EAAEvB,IAAA;IAEvDE,SAAA,GAAY;MACV,IAAIJ,MAAA,CAAOK,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;MAC3BY,WAAA,EAAaf,CAAA,CAAE,gCAAgC;QAAEW;MAAY;MAC7DM,KAAA,EAAO,GAAGjB,CAAA,CAAE,qBAAqBK,kBAAA,GAAqB,MAAMA,kBAAA,EAAoB,GAAG,KAAKM,WAAA,EAAa;MACrG,IAAIb,YAAA,EAAcI,KAAA,EAAOC,IAAA,IAAQ,CAAC,CAAC;MACnC,IAAIL,YAAA,EAAcI,KAAA,EAAOgB,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAMC,OAAA,EAASlB,IAAA,IAAQ,CAAC,CAAC;IACvE;EACF;EAEA,OAAOT,cAAA,CAAe;IACpB,GAAGO,SAAS;IACZsB,SAAA,EAAW1B,MAAA,CAAO0B;EACpB;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionPillLabel.d.ts","sourceRoot":"","sources":["../../../../src/views/Versions/VersionPillLabel/VersionPillLabel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,aAAa,CAAA;AAkBpB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,yBAAyB,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;IAChD,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,GAAG,EAAE;QACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;QACtB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE;YACP,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;YACtB,OAAO,EAAE,OAAO,GAAG,WAAW,CAAA;YAC9B,SAAS,EAAE,MAAM,CAAA;SAClB,CAAA;KACF,CAAA;IACD;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,kBAAkB,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;CAC1C,
|
|
1
|
+
{"version":3,"file":"VersionPillLabel.d.ts","sourceRoot":"","sources":["../../../../src/views/Versions/VersionPillLabel/VersionPillLabel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,aAAa,CAAA;AAkBpB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,yBAAyB,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;IAChD,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,GAAG,EAAE;QACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;QACtB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE;YACP,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;YACtB,OAAO,EAAE,OAAO,GAAG,WAAW,CAAA;YAC9B,SAAS,EAAE,MAAM,CAAA;SAClB,CAAA;KACF,CAAA;IACD;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,kBAAkB,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;CAC1C,CAyEA,CAAA"}
|
|
@@ -54,9 +54,8 @@ export const VersionPillLabel = t0 => {
|
|
|
54
54
|
i18n,
|
|
55
55
|
t
|
|
56
56
|
} = useTranslation();
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
} = useLocale();
|
|
57
|
+
const activeLocale = useLocale();
|
|
58
|
+
const currentLocale = activeLocale?.code;
|
|
60
59
|
let t6;
|
|
61
60
|
if ($[0] !== currentLocale || $[1] !== currentlyPublishedVersion || $[2] !== dateFormat || $[3] !== disableDate || $[4] !== doc || $[5] !== i18n || $[6] !== labelFirst || $[7] !== labelOverride || $[8] !== labelStyle || $[9] !== labelSuffix || $[10] !== latestDraftVersion || $[11] !== localization || $[12] !== t) {
|
|
62
61
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionPillLabel.js","names":["c","_c","React","Pill","useConfig","useLocale","useTranslation","formatDate","getVersionLabel","baseClass","statusModifierMap","currentDraft","currentlyPublished","draft","previouslyPublished","published","renderStatus","label","name","modifier","_jsx","className","VersionPillLabel","t0","$","currentlyPublishedVersion","disableDate","t1","doc","labelFirst","t2","labelOverride","labelStyle","t3","labelSuffix","latestDraftVersion","undefined","config","t4","admin","t5","localization","dateFormat","i18n","t","
|
|
1
|
+
{"version":3,"file":"VersionPillLabel.js","names":["c","_c","React","Pill","useConfig","useLocale","useTranslation","formatDate","getVersionLabel","baseClass","statusModifierMap","currentDraft","currentlyPublished","draft","previouslyPublished","published","renderStatus","label","name","modifier","_jsx","className","VersionPillLabel","t0","$","currentlyPublishedVersion","disableDate","t1","doc","labelFirst","t2","labelOverride","labelStyle","t3","labelSuffix","latestDraftVersion","undefined","config","t4","admin","t5","localization","dateFormat","i18n","t","activeLocale","currentLocale","code","t6","version","labelText","_jsxs","children","showDate","updatedAt","formattedDate","date","pattern","localeCode","Array","isArray","publishedLocale","locale","locales","find","loc","localeLabel","language","Fragment","size"],"sources":["../../../../src/views/Versions/VersionPillLabel/VersionPillLabel.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithVersion } from 'payload'\n\nimport React from 'react'\n\nimport { Pill } from '../../../elements/Pill/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatDate } from '../../../utilities/formatDocTitle/formatDateTitle.js'\nimport './index.css'\nimport { getVersionLabel } from './getVersionLabel.js'\n\nconst baseClass = 'version-pill-label'\n\nconst statusModifierMap: Record<string, string> = {\n currentDraft: 'draft',\n currentlyPublished: 'published',\n draft: 'draft',\n previouslyPublished: 'previously-published',\n published: 'published',\n}\n\nconst renderStatus = (label: React.ReactNode, name: string) => {\n const modifier = statusModifierMap[name] || 'draft'\n return <span className={`status-cell status-cell--${modifier}`}>{label}</span>\n}\n\nexport const VersionPillLabel: React.FC<{\n currentlyPublishedVersion?: TypeWithVersion<any>\n disableDate?: boolean\n\n doc: {\n [key: string]: unknown\n id: number | string\n publishedLocale?: string\n updatedAt?: string\n version: {\n [key: string]: unknown\n _status: 'draft' | 'published'\n updatedAt: string\n }\n }\n /**\n * By default, the date is displayed first, followed by the version label.\n * @default false\n */\n labelFirst?: boolean\n labelOverride?: React.ReactNode\n /**\n * @default 'pill'\n */\n labelStyle?: 'pill' | 'text'\n labelSuffix?: React.ReactNode\n latestDraftVersion?: TypeWithVersion<any>\n}> = ({\n currentlyPublishedVersion,\n disableDate = false,\n doc,\n labelFirst = false,\n labelOverride,\n labelStyle = 'pill',\n labelSuffix,\n latestDraftVersion,\n}) => {\n const {\n config: {\n admin: { dateFormat },\n localization,\n },\n } = useConfig()\n const { i18n, t } = useTranslation()\n const activeLocale = useLocale()\n const currentLocale = activeLocale?.code\n\n const { name, label } = getVersionLabel({\n currentLocale,\n currentlyPublishedVersion,\n latestDraftVersion,\n t,\n version: doc,\n })\n const labelText: React.ReactNode = (\n <span>\n {labelOverride || label}\n {labelSuffix}\n </span>\n )\n\n const showDate = !disableDate && doc.updatedAt\n const formattedDate = showDate\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : null\n\n const localeCode = Array.isArray(doc.publishedLocale)\n ? doc.publishedLocale[0]\n : doc.publishedLocale\n\n const locale =\n localization && localization?.locales\n ? localization.locales.find((loc) => loc.code === localeCode)\n : null\n const localeLabel = locale ? locale?.label?.[i18n?.language] || locale?.label : null\n\n return (\n <div className={baseClass}>\n {labelFirst ? (\n <React.Fragment>\n {labelStyle === 'pill' ? (\n renderStatus(labelText, name)\n ) : (\n <span className={`${baseClass}-text`}>{labelText}</span>\n )}\n {showDate && <span className={`${baseClass}-date`}>{formattedDate}</span>}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {showDate && <span className={`${baseClass}-date`}>{formattedDate}</span>}\n {labelStyle === 'pill' ? (\n renderStatus(labelText, name)\n ) : (\n <span className={`${baseClass}-text`}>{labelText}</span>\n )}\n </React.Fragment>\n )}\n {localeLabel && <Pill size=\"small\">{localeLabel}</Pill>}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateVersionsViewMetadata.js","names":["getTranslation","formatMetadata","generateVersionsViewMetadata","collectionConfig","config","globalConfig","i18n","t","entityLabel","labels","singular","label","metaToUse","admin","meta","data","useAsTitle","titleFromData","description","documentTitle","entitySlug","slug","title","components","views","edit","versions","serverURL"],"sources":["../../../src/views/Versions/generateVersionsViewMetadata.ts"],"sourcesContent":["import type { MetaConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { GenerateEditViewMetadata } from '../API/generateAPIViewMetadata.js'\n\nimport { formatMetadata } from '../../utilities/formatMetadata.js'\n\n/**\n * @todo Remove the `MetaConfig` type assertions. They are currently required because of how the `Metadata` type from `next` consumes the `URL` type.\n */\nexport const generateVersionsViewMetadata: GenerateEditViewMetadata = async ({\n collectionConfig,\n config,\n globalConfig,\n i18n,\n}): Promise<MetaConfig> => {\n const { t } = i18n\n\n const entityLabel = collectionConfig\n ? getTranslation(collectionConfig.labels.singular, i18n)\n : globalConfig\n ? getTranslation(globalConfig.label, i18n)\n : ''\n\n let metaToUse: MetaConfig = {\n ...(config.admin.meta || {}),\n }\n\n const data: any = {} // TODO: figure this out\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const titleFromData = data?.[useAsTitle]\n\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersions', {\n documentTitle: data?.[useAsTitle],\n entitySlug: collectionConfig.slug,\n }),\n title: `${t('version:versions')}${titleFromData ? ` - ${titleFromData}` : ''} - ${entityLabel}`,\n ...(collectionConfig?.admin.meta || {}),\n ...(collectionConfig?.admin?.components?.views?.edit?.versions?.meta || {}),\n }\n }\n\n if (globalConfig) {\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersionsGlobal', { entitySlug: globalConfig.slug }),\n title: `${t('version:versions')} - ${entityLabel}`,\n ...(
|
|
1
|
+
{"version":3,"file":"generateVersionsViewMetadata.js","names":["getTranslation","formatMetadata","generateVersionsViewMetadata","collectionConfig","config","globalConfig","i18n","t","entityLabel","labels","singular","label","metaToUse","admin","meta","data","useAsTitle","titleFromData","description","documentTitle","entitySlug","slug","title","components","views","edit","versions","serverURL"],"sources":["../../../src/views/Versions/generateVersionsViewMetadata.ts"],"sourcesContent":["import type { MetaConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { GenerateEditViewMetadata } from '../API/generateAPIViewMetadata.js'\n\nimport { formatMetadata } from '../../utilities/formatMetadata.js'\n\n/**\n * @todo Remove the `MetaConfig` type assertions. They are currently required because of how the `Metadata` type from `next` consumes the `URL` type.\n */\nexport const generateVersionsViewMetadata: GenerateEditViewMetadata = async ({\n collectionConfig,\n config,\n globalConfig,\n i18n,\n}): Promise<MetaConfig> => {\n const { t } = i18n\n\n const entityLabel = collectionConfig\n ? getTranslation(collectionConfig.labels.singular, i18n)\n : globalConfig\n ? getTranslation(globalConfig.label, i18n)\n : ''\n\n let metaToUse: MetaConfig = {\n ...(config.admin.meta || {}),\n }\n\n const data: any = {} // TODO: figure this out\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const titleFromData = data?.[useAsTitle]\n\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersions', {\n documentTitle: data?.[useAsTitle],\n entitySlug: collectionConfig.slug,\n }),\n title: `${t('version:versions')}${titleFromData ? ` - ${titleFromData}` : ''} - ${entityLabel}`,\n ...(collectionConfig?.admin.meta || {}),\n ...(collectionConfig?.admin?.components?.views?.edit?.versions?.meta || {}),\n }\n }\n\n if (globalConfig) {\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersionsGlobal', { entitySlug: globalConfig.slug }),\n title: `${t('version:versions')} - ${entityLabel}`,\n ...(globalConfig?.admin.meta || {}),\n ...(globalConfig?.admin?.components?.views?.edit?.versions?.meta || {}),\n }\n }\n\n return formatMetadata({\n ...metaToUse,\n serverURL: config.serverURL,\n })\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAI/B,SAASC,cAAc,QAAQ;AAE/B;;;AAGA,OAAO,MAAMC,4BAAA,GAAyD,MAAAA,CAAO;EAC3EC,gBAAgB;EAChBC,MAAM;EACNC,YAAY;EACZC;AAAI,CACL;EACC,MAAM;IAAEC;EAAC,CAAE,GAAGD,IAAA;EAEd,MAAME,WAAA,GAAcL,gBAAA,GAChBH,cAAA,CAAeG,gBAAA,CAAiBM,MAAM,CAACC,QAAQ,EAAEJ,IAAA,IACjDD,YAAA,GACEL,cAAA,CAAeK,YAAA,CAAaM,KAAK,EAAEL,IAAA,IACnC;EAEN,IAAIM,SAAA,GAAwB;IAC1B,IAAIR,MAAA,CAAOS,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;EAC7B;EAEA,MAAMC,IAAA,GAAY,CAAC,EAAE;AAAA;EAErB,IAAIZ,gBAAA,EAAkB;IACpB,MAAMa,UAAA,GAAab,gBAAA,EAAkBU,KAAA,EAAOG,UAAA,IAAc;IAC1D,MAAMC,aAAA,GAAgBF,IAAA,GAAOC,UAAA,CAAW;IAExCJ,SAAA,GAAY;MACV,IAAIR,MAAA,CAAOS,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;MAC3BI,WAAA,EAAaX,CAAA,CAAE,2BAA2B;QACxCY,aAAA,EAAeJ,IAAA,GAAOC,UAAA,CAAW;QACjCI,UAAA,EAAYjB,gBAAA,CAAiBkB;MAC/B;MACAC,KAAA,EAAO,GAAGf,CAAA,CAAE,sBAAsBU,aAAA,GAAgB,MAAMA,aAAA,EAAe,GAAG,QAAQT,WAAA,EAAa;MAC/F,IAAIL,gBAAA,EAAkBU,KAAA,CAAMC,IAAA,IAAQ,CAAC,CAAC;MACtC,IAAIX,gBAAA,EAAkBU,KAAA,EAAOU,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAMC,QAAA,EAAUZ,IAAA,IAAQ,CAAC,CAAC;IAC5E;EACF;EAEA,IAAIT,YAAA,EAAc;IAChBO,SAAA,GAAY;MACV,IAAIR,MAAA,CAAOS,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;MAC3BI,WAAA,EAAaX,CAAA,CAAE,iCAAiC;QAAEa,UAAA,EAAYf,YAAA,CAAagB;MAAK;MAChFC,KAAA,EAAO,GAAGf,CAAA,CAAE,yBAAyBC,WAAA,EAAa;MAClD,IAAIH,YAAA,EAAcQ,KAAA,CAAMC,IAAA,IAAQ,CAAC,CAAC;MAClC,IAAIT,YAAA,EAAcQ,KAAA,EAAOU,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAMC,QAAA,EAAUZ,IAAA,IAAQ,CAAC,CAAC;IACxE;EACF;EAEA,OAAOb,cAAA,CAAe;IACpB,GAAGW,SAAS;IACZe,SAAA,EAAWvB,MAAA,CAAOuB;EACpB;AACF","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "4.0.0-internal.
|
|
3
|
+
"version": "4.0.0-internal.b8e7c89",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -274,6 +274,7 @@
|
|
|
274
274
|
"@faceless-ui/window-info": "3.0.1",
|
|
275
275
|
"@floating-ui/dom": "1.7.6",
|
|
276
276
|
"@monaco-editor/react": "4.7.0",
|
|
277
|
+
"@swc/helpers": ">=0.5.17",
|
|
277
278
|
"bson-objectid": "2.0.4",
|
|
278
279
|
"date-fns": "4.1.0",
|
|
279
280
|
"dequal": "2.0.3",
|
|
@@ -289,7 +290,7 @@
|
|
|
289
290
|
"ts-essentials": "10.0.3",
|
|
290
291
|
"use-context-selector": "2.0.0",
|
|
291
292
|
"uuid": "14.0.0",
|
|
292
|
-
"@payloadcms/translations": "4.0.0-internal.
|
|
293
|
+
"@payloadcms/translations": "4.0.0-internal.b8e7c89"
|
|
293
294
|
},
|
|
294
295
|
"devDependencies": {
|
|
295
296
|
"@babel/cli": "7.27.2",
|
|
@@ -303,13 +304,13 @@
|
|
|
303
304
|
"babel-plugin-react-compiler": "19.1.0-rc.3",
|
|
304
305
|
"esbuild": "0.27.1",
|
|
305
306
|
"esbuild-sass-plugin": "3.3.1",
|
|
306
|
-
"payload": "4.0.0-internal.
|
|
307
|
+
"payload": "4.0.0-internal.b8e7c89",
|
|
307
308
|
"@payloadcms/eslint-config": "3.28.0"
|
|
308
309
|
},
|
|
309
310
|
"peerDependencies": {
|
|
310
311
|
"react": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
311
312
|
"react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
312
|
-
"payload": "4.0.0-internal.
|
|
313
|
+
"payload": "4.0.0-internal.b8e7c89"
|
|
313
314
|
},
|
|
314
315
|
"engines": {
|
|
315
316
|
"node": ">=24.15.0"
|