@payloadcms/ui 3.2.3-canary.673b4b5 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/AddNewRelation/index.js +40 -40
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AddNewRelation/useRelatedCollections.js +3 -3
- package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -1
- package/dist/elements/AnimateHeight/index.d.ts.map +1 -1
- package/dist/elements/AnimateHeight/index.js +4 -1
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts +2 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +67 -79
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +10 -10
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +13 -13
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +14 -14
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +3 -3
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +29 -26
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +2 -0
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +8 -8
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +28 -32
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/Collapsible/index.js +13 -13
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +10 -10
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +4 -4
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +10 -14
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +9 -9
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +4 -4
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +47 -47
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +21 -21
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +10 -10
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +9 -9
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +11 -11
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +8 -8
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +38 -38
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js +3 -3
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +32 -33
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +17 -16
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +15 -15
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +15 -15
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +4 -4
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +4 -4
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js +3 -3
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +11 -11
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +19 -18
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +3 -3
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/Loading/index.js +15 -15
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +18 -16
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +5 -5
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.d.ts.map +1 -1
- package/dist/elements/Localizer/index.js +20 -19
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +3 -3
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +7 -7
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +13 -13
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/NavGroup/index.js +12 -12
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +7 -7
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.js +8 -8
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/index.js +1 -0
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +3 -3
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +28 -28
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +10 -10
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.d.ts +2 -2
- package/dist/elements/ReactSelect/Input/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +10 -10
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +5 -5
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +4 -4
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +278 -142
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +3 -3
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +6 -6
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js +3 -3
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +6 -6
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +7 -7
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +16 -16
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.d.ts.map +1 -1
- package/dist/elements/SortComplex/index.js +38 -51
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/Status/index.js +38 -35
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +12 -12
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/SetStepNav.js +3 -3
- package/dist/elements/StepNav/SetStepNav.js.map +1 -1
- package/dist/elements/StepNav/context.js +3 -3
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +9 -9
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +3 -3
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +31 -31
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +3 -3
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +15 -15
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +12 -9
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/TableColumns/RenderDefaultCell/index.js +6 -6
- package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +27 -27
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +10 -10
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Tooltip/index.js +29 -24
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +11 -11
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +5 -5
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +3 -3
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +13 -10
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +5 -5
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +45 -45
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +11 -11
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/{DatePicker-QST7QHAX.js → CodeEditor-RZ32B2QF.js} +2 -2
- package/dist/exports/client/DatePicker-QW5V4BQV.js +14 -0
- package/dist/exports/client/DatePicker-QW5V4BQV.js.map +8 -0
- package/dist/exports/client/chunk-CKHKQPOO.js +26 -0
- package/dist/exports/client/{CodeEditor-5MCGR4GL.js.map → chunk-CKHKQPOO.js.map} +4 -4
- package/dist/exports/client/chunk-KZPVHMBR.js +29 -0
- package/dist/exports/client/chunk-KZPVHMBR.js.map +8 -0
- package/dist/exports/client/index.d.ts +4 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +16 -16
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.js +38 -38
- 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 +27 -25
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +51 -49
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +3 -3
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +13 -13
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +25 -25
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +8 -8
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +26 -24
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +4 -2
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +6 -6
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +18 -18
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +6 -4
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Hidden/index.js +7 -7
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/Number/index.js +5 -5
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/input.js +24 -24
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +9 -9
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +4 -2
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +4 -2
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +18 -18
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +18 -18
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Select/Input.js +28 -28
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +10 -10
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +69 -69
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.js +24 -24
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Textarea/Input.js +19 -19
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +11 -11
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +109 -104
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +20 -20
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/forms/NullifyField/index.js +3 -3
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +9 -9
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js +16 -16
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +10 -10
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/useField/index.js +44 -44
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/hooks/useDebounce.js +3 -3
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.js +6 -6
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useDelay.js +3 -3
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useHotkey.js +18 -14
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +13 -13
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/useThrottledEffect.js +3 -3
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/providers/Actions/index.js +4 -4
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +3 -3
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +9 -10
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +3 -3
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +3 -3
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +9 -10
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/ListQuery/index.js +2 -2
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +65 -59
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Params/index.d.ts +16 -0
- package/dist/providers/Params/index.d.ts.map +1 -1
- package/dist/providers/Params/index.js +19 -4
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +6 -6
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/SearchParams/index.d.ts +22 -4
- package/dist/providers/SearchParams/index.d.ts.map +1 -1
- package/dist/providers/SearchParams/index.js +28 -14
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +7 -8
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/Theme/index.js +7 -7
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/Translation/index.js +12 -12
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +3 -3
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.js +2 -0
- package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +2 -0
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/groupNavItems.js +3 -3
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/parseSearchParams.d.ts +4 -0
- package/dist/utilities/parseSearchParams.d.ts.map +1 -0
- package/dist/utilities/parseSearchParams.js +9 -0
- package/dist/utilities/parseSearchParams.js.map +1 -0
- package/dist/views/Edit/Auth/index.js +47 -47
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/Auth/types.d.ts +1 -1
- package/dist/views/Edit/Auth/types.d.ts.map +1 -1
- package/dist/views/Edit/Auth/types.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js +14 -14
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +5 -5
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.js +1 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/index.js +20 -24
- package/dist/views/List/index.js.map +1 -1
- package/package.json +16 -17
- package/dist/exports/client/CodeEditor-5MCGR4GL.js +0 -26
- package/dist/exports/client/chunk-4SO5UCQD.js +0 -14
- package/dist/exports/client/chunk-4SO5UCQD.js.map +0 -8
- package/dist/exports/client/chunk-5LUHGAPX.js +0 -30
- package/dist/exports/client/chunk-5LUHGAPX.js.map +0 -8
- /package/dist/exports/client/{DatePicker-QST7QHAX.js.map → CodeEditor-RZ32B2QF.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","createContext","useCallback","useContext","useEffect","useState","XIcon","useTranslation","Gutter","baseClass","drawerZBase","formatDrawerSlug","slug","depth","useDrawerSlug","DrawerToggler","t0","$","onClick","className","disabled","rest","children","openModal","t1","e","handleClick","t2","_jsx","type","Drawer","gutter","Header","hoverTitle","title","undefined","t","closeModal","modalState","drawerDepth","useDrawerDepth","isOpen","setIsOpen","animateIn","setAnimateIn","t3","t4","t5","t6","t7","t8","filter","Boolean","t9","join","t10","t11","t12","DrawerDepthProvider","_jsxs","style","zIndex","id","width","left","right","DrawerDepthContext","parentDepth","Provider","value"],"sources":["../../../src/elements/Drawer/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\n\nimport type { Props, TogglerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport './index.scss'\n\nconst baseClass = 'drawer'\n\nexport const drawerZBase = 100\n\nexport const formatDrawerSlug = ({ slug, depth }: { depth: number; slug: string }): string =>\n `drawer_${depth}_${slug}`\n\nexport { useDrawerSlug } from './useDrawerSlug.js'\n\nexport const DrawerToggler: React.FC<TogglerProps> = ({\n slug,\n children,\n className,\n disabled,\n onClick,\n ...rest\n}) => {\n const { openModal } = useModal()\n\n const handleClick = useCallback(\n (e) => {\n openModal(slug)\n if (typeof onClick === 'function') {\n onClick(e)\n }\n },\n [openModal, slug, onClick],\n )\n\n return (\n <button className={className} disabled={disabled} onClick={handleClick} type=\"button\" {...rest}>\n {children}\n </button>\n )\n}\n\nexport const Drawer: React.FC<Props> = ({\n slug,\n children,\n className,\n gutter = true,\n Header,\n hoverTitle,\n title,\n}) => {\n const { t } = useTranslation()\n const { closeModal, modalState } = useModal()\n const drawerDepth = useDrawerDepth()\n\n const [isOpen, setIsOpen] = useState(false)\n const [animateIn, setAnimateIn] = useState(false)\n\n useEffect(() => {\n setIsOpen(modalState[slug]?.isOpen)\n }, [slug, modalState])\n\n useEffect(() => {\n setAnimateIn(isOpen)\n }, [isOpen])\n\n if (isOpen) {\n // IMPORTANT: do not render the drawer until it is explicitly open, this is to avoid large html trees especially when nesting drawers\n return (\n <DrawerDepthProvider>\n <Modal\n className={[\n className,\n baseClass,\n animateIn && `${baseClass}--is-open`,\n drawerDepth > 1 && `${baseClass}--nested`,\n ]\n .filter(Boolean)\n .join(' ')}\n slug={slug}\n style={{\n zIndex: drawerZBase + drawerDepth,\n }}\n >\n {(!drawerDepth || drawerDepth === 1) && <div className={`${baseClass}__blur-bg`} />}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n />\n <div\n className={`${baseClass}__content`}\n style={{\n width: `calc(100% - (${drawerDepth} * var(--gutter-h))`,\n }}\n >\n <div className={`${baseClass}__blur-bg-content`} />\n <Gutter className={`${baseClass}__content-children`} left={gutter} right={gutter}>\n {Header}\n {Header === undefined && (\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`} title={hoverTitle ? title : null}>\n {title}\n </h2>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n )}\n {children}\n </Gutter>\n </div>\n </Modal>\n </DrawerDepthProvider>\n )\n }\n\n return null\n}\n\nexport const DrawerDepthContext = createContext(1)\n\nexport const DrawerDepthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const parentDepth = useDrawerDepth()\n const depth = parentDepth + 1\n\n return <DrawerDepthContext.Provider value={depth}>{children}</DrawerDepthContext.Provider>\n}\n\nexport const useDrawerDepth = (): number => useContext(DrawerDepthContext)\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","createContext","useCallback","useContext","useEffect","useState","XIcon","useTranslation","Gutter","baseClass","drawerZBase","formatDrawerSlug","slug","depth","useDrawerSlug","DrawerToggler","t0","$","children","className","disabled","onClick","rest","openModal","t1","e","handleClick","t2","_jsx","type","Drawer","gutter","Header","hoverTitle","title","undefined","t","closeModal","modalState","drawerDepth","useDrawerDepth","isOpen","setIsOpen","animateIn","setAnimateIn","t3","t4","t5","t6","t7","t8","filter","Boolean","t9","join","t10","t11","t12","DrawerDepthProvider","_jsxs","style","zIndex","id","width","left","right","DrawerDepthContext","parentDepth","Provider","value"],"sources":["../../../src/elements/Drawer/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\n\nimport type { Props, TogglerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport './index.scss'\n\nconst baseClass = 'drawer'\n\nexport const drawerZBase = 100\n\nexport const formatDrawerSlug = ({ slug, depth }: { depth: number; slug: string }): string =>\n `drawer_${depth}_${slug}`\n\nexport { useDrawerSlug } from './useDrawerSlug.js'\n\nexport const DrawerToggler: React.FC<TogglerProps> = ({\n slug,\n children,\n className,\n disabled,\n onClick,\n ...rest\n}) => {\n const { openModal } = useModal()\n\n const handleClick = useCallback(\n (e) => {\n openModal(slug)\n if (typeof onClick === 'function') {\n onClick(e)\n }\n },\n [openModal, slug, onClick],\n )\n\n return (\n <button className={className} disabled={disabled} onClick={handleClick} type=\"button\" {...rest}>\n {children}\n </button>\n )\n}\n\nexport const Drawer: React.FC<Props> = ({\n slug,\n children,\n className,\n gutter = true,\n Header,\n hoverTitle,\n title,\n}) => {\n const { t } = useTranslation()\n const { closeModal, modalState } = useModal()\n const drawerDepth = useDrawerDepth()\n\n const [isOpen, setIsOpen] = useState(false)\n const [animateIn, setAnimateIn] = useState(false)\n\n useEffect(() => {\n setIsOpen(modalState[slug]?.isOpen)\n }, [slug, modalState])\n\n useEffect(() => {\n setAnimateIn(isOpen)\n }, [isOpen])\n\n if (isOpen) {\n // IMPORTANT: do not render the drawer until it is explicitly open, this is to avoid large html trees especially when nesting drawers\n return (\n <DrawerDepthProvider>\n <Modal\n className={[\n className,\n baseClass,\n animateIn && `${baseClass}--is-open`,\n drawerDepth > 1 && `${baseClass}--nested`,\n ]\n .filter(Boolean)\n .join(' ')}\n slug={slug}\n style={{\n zIndex: drawerZBase + drawerDepth,\n }}\n >\n {(!drawerDepth || drawerDepth === 1) && <div className={`${baseClass}__blur-bg`} />}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n />\n <div\n className={`${baseClass}__content`}\n style={{\n width: `calc(100% - (${drawerDepth} * var(--gutter-h))`,\n }}\n >\n <div className={`${baseClass}__blur-bg-content`} />\n <Gutter className={`${baseClass}__content-children`} left={gutter} right={gutter}>\n {Header}\n {Header === undefined && (\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`} title={hoverTitle ? title : null}>\n {title}\n </h2>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n )}\n {children}\n </Gutter>\n </div>\n </Modal>\n </DrawerDepthProvider>\n )\n }\n\n return null\n}\n\nexport const DrawerDepthContext = createContext(1)\n\nexport const DrawerDepthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const parentDepth = useDrawerDepth()\n const depth = parentDepth + 1\n\n return <DrawerDepthContext.Provider value={depth}>{children}</DrawerDepthContext.Provider>\n}\n\nexport const useDrawerDepth = (): number => useContext(DrawerDepthContext)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,13 +10,13 @@ export const useDrawerSlug = slug => {
|
|
|
10
10
|
const editDepth = useEditDepth();
|
|
11
11
|
const t0 = `${slug}-${uuid}`;
|
|
12
12
|
let t1;
|
|
13
|
-
if ($[0] !==
|
|
13
|
+
if ($[0] !== editDepth || $[1] !== t0) {
|
|
14
14
|
t1 = formatDrawerSlug({
|
|
15
15
|
slug: t0,
|
|
16
16
|
depth: editDepth
|
|
17
17
|
});
|
|
18
|
-
$[0] =
|
|
19
|
-
$[1] =
|
|
18
|
+
$[0] = editDepth;
|
|
19
|
+
$[1] = t0;
|
|
20
20
|
$[2] = t1;
|
|
21
21
|
} else {
|
|
22
22
|
t1 = $[2];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDrawerSlug.js","names":["c","_c","useId","useEditDepth","formatDrawerSlug","useDrawerSlug","slug","$","uuid","editDepth","t0","t1","depth"],"sources":["../../../src/elements/Drawer/useDrawerSlug.tsx"],"sourcesContent":["'use client'\nimport { useId } from 'react'\n\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { formatDrawerSlug } from './index.js'\n\nexport const useDrawerSlug = (slug: string): string => {\n const uuid = useId()\n const editDepth = useEditDepth()\n return formatDrawerSlug({\n slug: `${slug}-${uuid}`,\n depth: editDepth,\n })\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AACA,SAASC,KAAK,QAAQ;AAEtB,SAASC,YAAY,QAAQ;AAC7B,SAASC,gBAAgB,QAAQ;AAEjC,OAAO,MAAMC,aAAA,GAAgBC,IAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EAC3B,MAAAO,IAAA,GAAaN,KAAA;EACb,MAAAO,SAAA,GAAkBN,YAAA;EAEV,MAAAO,EAAA,MAAGJ,IAAA,IAAQE,IAAA,EAAM;EAAA,IAAAG,EAAA;EAAA,IAAAJ,CAAA,
|
|
1
|
+
{"version":3,"file":"useDrawerSlug.js","names":["c","_c","useId","useEditDepth","formatDrawerSlug","useDrawerSlug","slug","$","uuid","editDepth","t0","t1","depth"],"sources":["../../../src/elements/Drawer/useDrawerSlug.tsx"],"sourcesContent":["'use client'\nimport { useId } from 'react'\n\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { formatDrawerSlug } from './index.js'\n\nexport const useDrawerSlug = (slug: string): string => {\n const uuid = useId()\n const editDepth = useEditDepth()\n return formatDrawerSlug({\n slug: `${slug}-${uuid}`,\n depth: editDepth,\n })\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AACA,SAASC,KAAK,QAAQ;AAEtB,SAASC,YAAY,QAAQ;AAC7B,SAASC,gBAAgB,QAAQ;AAEjC,OAAO,MAAMC,aAAA,GAAgBC,IAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EAC3B,MAAAO,IAAA,GAAaN,KAAA;EACb,MAAAO,SAAA,GAAkBN,YAAA;EAEV,MAAAO,EAAA,MAAGJ,IAAA,IAAQE,IAAA,EAAM;EAAA,IAAAG,EAAA;EAAA,IAAAJ,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAG,EAAA;IADlBC,EAAA,GAAAP,gBAAA;MAAAE,IAAA,EACCI,EAAiB;MAAAE,KAAA,EAChBH;IAAA,CACT;IAAAF,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAAA,OAHOI,EAGP;AAAA,CACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAa,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAa,MAAM,SAAS,CAAA;AAMhE,OAAO,KAAoD,MAAM,OAAO,CAAA;AAqBxE,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;CAC5C,CAAA;AAyED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA8M5C,CAAA"}
|
|
@@ -4,7 +4,8 @@ import { c as _c } from "react/compiler-runtime";
|
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { useModal } from '@faceless-ui/modal';
|
|
6
6
|
import { getTranslation } from '@payloadcms/translations';
|
|
7
|
-
import { useRouter } from 'next/navigation.js';
|
|
7
|
+
import { useRouter, useSearchParams } from 'next/navigation.js';
|
|
8
|
+
import * as qs from 'qs-esm';
|
|
8
9
|
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
9
10
|
import { useForm } from '../../forms/Form/context.js';
|
|
10
11
|
import { Form } from '../../forms/Form/index.js';
|
|
@@ -17,14 +18,14 @@ import { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js';
|
|
|
17
18
|
import { EditDepthProvider } from '../../providers/EditDepth/index.js';
|
|
18
19
|
import { OperationContext } from '../../providers/Operation/index.js';
|
|
19
20
|
import { useRouteCache } from '../../providers/RouteCache/index.js';
|
|
20
|
-
import { useSearchParams } from '../../providers/SearchParams/index.js';
|
|
21
21
|
import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
|
|
22
22
|
import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
|
|
23
23
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
24
24
|
import { abortAndIgnore } from '../../utilities/abortAndIgnore.js';
|
|
25
25
|
import { mergeListSearchAndWhere } from '../../utilities/mergeListSearchAndWhere.js';
|
|
26
|
-
import {
|
|
26
|
+
import { parseSearchParams } from '../../utilities/parseSearchParams.js';
|
|
27
27
|
import './index.scss';
|
|
28
|
+
import { Drawer, DrawerToggler } from '../Drawer/index.js';
|
|
28
29
|
import { FieldSelect } from '../FieldSelect/index.js';
|
|
29
30
|
const baseClass = 'edit-many';
|
|
30
31
|
const Submit = t0 => {
|
|
@@ -40,7 +41,7 @@ const Submit = t0 => {
|
|
|
40
41
|
t
|
|
41
42
|
} = useTranslation();
|
|
42
43
|
let t1;
|
|
43
|
-
if ($[0] !==
|
|
44
|
+
if ($[0] !== action || $[1] !== submit) {
|
|
44
45
|
t1 = () => {
|
|
45
46
|
submit({
|
|
46
47
|
action,
|
|
@@ -48,24 +49,24 @@ const Submit = t0 => {
|
|
|
48
49
|
skipValidation: true
|
|
49
50
|
});
|
|
50
51
|
};
|
|
51
|
-
$[0] =
|
|
52
|
-
$[1] =
|
|
52
|
+
$[0] = action;
|
|
53
|
+
$[1] = submit;
|
|
53
54
|
$[2] = t1;
|
|
54
55
|
} else {
|
|
55
56
|
t1 = $[2];
|
|
56
57
|
}
|
|
57
58
|
const save = t1;
|
|
58
59
|
let t2;
|
|
59
|
-
if ($[3] !==
|
|
60
|
+
if ($[3] !== disabled || $[4] !== save || $[5] !== t) {
|
|
60
61
|
t2 = _jsx(FormSubmit, {
|
|
61
62
|
className: `${baseClass}__save`,
|
|
62
63
|
disabled,
|
|
63
64
|
onClick: save,
|
|
64
65
|
children: t("general:save")
|
|
65
66
|
});
|
|
66
|
-
$[3] =
|
|
67
|
-
$[4] =
|
|
68
|
-
$[5] =
|
|
67
|
+
$[3] = disabled;
|
|
68
|
+
$[4] = save;
|
|
69
|
+
$[5] = t;
|
|
69
70
|
$[6] = t2;
|
|
70
71
|
} else {
|
|
71
72
|
t2 = $[6];
|
|
@@ -85,7 +86,7 @@ const PublishButton = t0 => {
|
|
|
85
86
|
t
|
|
86
87
|
} = useTranslation();
|
|
87
88
|
let t1;
|
|
88
|
-
if ($[0] !==
|
|
89
|
+
if ($[0] !== action || $[1] !== submit) {
|
|
89
90
|
t1 = () => {
|
|
90
91
|
submit({
|
|
91
92
|
action,
|
|
@@ -96,24 +97,24 @@ const PublishButton = t0 => {
|
|
|
96
97
|
skipValidation: true
|
|
97
98
|
});
|
|
98
99
|
};
|
|
99
|
-
$[0] =
|
|
100
|
-
$[1] =
|
|
100
|
+
$[0] = action;
|
|
101
|
+
$[1] = submit;
|
|
101
102
|
$[2] = t1;
|
|
102
103
|
} else {
|
|
103
104
|
t1 = $[2];
|
|
104
105
|
}
|
|
105
106
|
const save = t1;
|
|
106
107
|
let t2;
|
|
107
|
-
if ($[3] !==
|
|
108
|
+
if ($[3] !== disabled || $[4] !== save || $[5] !== t) {
|
|
108
109
|
t2 = _jsx(FormSubmit, {
|
|
109
110
|
className: `${baseClass}__publish`,
|
|
110
111
|
disabled,
|
|
111
112
|
onClick: save,
|
|
112
113
|
children: t("version:publishChanges")
|
|
113
114
|
});
|
|
114
|
-
$[3] =
|
|
115
|
-
$[4] =
|
|
116
|
-
$[5] =
|
|
115
|
+
$[3] = disabled;
|
|
116
|
+
$[4] = save;
|
|
117
|
+
$[5] = t;
|
|
117
118
|
$[6] = t2;
|
|
118
119
|
} else {
|
|
119
120
|
t2 = $[6];
|
|
@@ -133,7 +134,7 @@ const SaveDraftButton = t0 => {
|
|
|
133
134
|
t
|
|
134
135
|
} = useTranslation();
|
|
135
136
|
let t1;
|
|
136
|
-
if ($[0] !==
|
|
137
|
+
if ($[0] !== action || $[1] !== submit) {
|
|
137
138
|
t1 = () => {
|
|
138
139
|
submit({
|
|
139
140
|
action,
|
|
@@ -144,15 +145,15 @@ const SaveDraftButton = t0 => {
|
|
|
144
145
|
skipValidation: true
|
|
145
146
|
});
|
|
146
147
|
};
|
|
147
|
-
$[0] =
|
|
148
|
-
$[1] =
|
|
148
|
+
$[0] = action;
|
|
149
|
+
$[1] = submit;
|
|
149
150
|
$[2] = t1;
|
|
150
151
|
} else {
|
|
151
152
|
t1 = $[2];
|
|
152
153
|
}
|
|
153
154
|
const save = t1;
|
|
154
155
|
let t2;
|
|
155
|
-
if ($[3] !==
|
|
156
|
+
if ($[3] !== disabled || $[4] !== save || $[5] !== t) {
|
|
156
157
|
t2 = _jsx(FormSubmit, {
|
|
157
158
|
buttonStyle: "secondary",
|
|
158
159
|
className: `${baseClass}__draft`,
|
|
@@ -160,9 +161,9 @@ const SaveDraftButton = t0 => {
|
|
|
160
161
|
onClick: save,
|
|
161
162
|
children: t("version:saveDraft")
|
|
162
163
|
});
|
|
163
|
-
$[3] =
|
|
164
|
-
$[4] =
|
|
165
|
-
$[5] =
|
|
164
|
+
$[3] = disabled;
|
|
165
|
+
$[4] = save;
|
|
166
|
+
$[5] = t;
|
|
166
167
|
$[6] = t2;
|
|
167
168
|
} else {
|
|
168
169
|
t2 = $[6];
|
|
@@ -208,10 +209,7 @@ export const EditMany = props => {
|
|
|
208
209
|
t
|
|
209
210
|
} = useTranslation();
|
|
210
211
|
const [selected, setSelected] = useState([]);
|
|
211
|
-
const
|
|
212
|
-
searchParams,
|
|
213
|
-
stringifyParams
|
|
214
|
-
} = useSearchParams();
|
|
212
|
+
const searchParams = useSearchParams();
|
|
215
213
|
const router = useRouter();
|
|
216
214
|
const [initialState, setInitialState] = useState();
|
|
217
215
|
const hasInitializedState = React.useRef(false);
|
|
@@ -273,15 +271,16 @@ export const EditMany = props => {
|
|
|
273
271
|
const queryString = useMemo(() => {
|
|
274
272
|
const queryWithSearch = mergeListSearchAndWhere({
|
|
275
273
|
collectionConfig: collection,
|
|
276
|
-
search: searchParams
|
|
274
|
+
search: searchParams.get('search')
|
|
277
275
|
});
|
|
278
276
|
return getQueryParams(queryWithSearch);
|
|
279
277
|
}, [collection, searchParams, getQueryParams]);
|
|
280
278
|
const onSuccess = () => {
|
|
281
|
-
router.replace(
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
279
|
+
router.replace(qs.stringify({
|
|
280
|
+
...parseSearchParams(searchParams),
|
|
281
|
+
page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined
|
|
282
|
+
}, {
|
|
283
|
+
addQueryPrefix: true
|
|
285
284
|
}));
|
|
286
285
|
clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this
|
|
287
286
|
;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","useRouter","React","useCallback","useEffect","useMemo","useState","useForm","Form","RenderFields","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","EditDepthProvider","OperationContext","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useServerFunctions","useTranslation","abortAndIgnore","mergeListSearchAndWhere","Drawer","DrawerToggler","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditMany","props","collection","slug","fields","labels","plural","permissions","user","closeModal","config","routes","api","apiRoute","serverURL","getFormState","count","getQueryParams","selectAll","i18n","selected","setSelected","searchParams","stringifyParams","router","initialState","setInitialState","hasInitializedState","useRef","formStateAbortControllerRef","clearRouteCache","collectionPermissions","collections","hasUpdatePermission","update","drawerSlug","controller","AbortController","current","getInitialState","state","result","collectionSlug","data","docPermissions","docPreferences","operation","schemaPath","signal","onChange","formState","prevFormState","queryString","queryWithSearch","collectionConfig","search","onSuccess","replace","params","page","AllAvailable","undefined","None","_jsxs","Header","currentEditor","hasPublishedDoc","id","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","Provider","value","label","type","length","parentIndexPath","parentPath","parentSchemaPath","readOnly","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, FormState } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore } from '../../utilities/abortAndIgnore.js'\nimport { mergeListSearchAndWhere } from '../../utilities/mergeListSearchAndWhere.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport './index.scss'\nimport { FieldSelect } from '../FieldSelect/index.js'\n\nconst baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n}\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const { collection: { slug, fields, labels: { plural } } = {}, collection } = props\n\n const { permissions, user } = useAuth()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n const [selected, setSelected] = useState([])\n const { searchParams, stringifyParams } = useSearchParams()\n const router = useRouter()\n const [initialState, setInitialState] = useState<FormState>()\n const hasInitializedState = React.useRef(false)\n const formStateAbortControllerRef = React.useRef<AbortController>(null)\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update\n\n const drawerSlug = `edit-${slug}`\n\n React.useEffect(() => {\n const controller = new AbortController()\n\n if (!hasInitializedState.current) {\n const getInitialState = async () => {\n const { state: result } = await getFormState({\n collectionSlug: slug,\n data: {},\n docPermissions: collectionPermissions,\n docPreferences: null,\n operation: 'update',\n schemaPath: slug,\n signal: controller.signal,\n })\n\n setInitialState(result)\n hasInitializedState.current = true\n }\n\n void getInitialState()\n }\n\n return () => {\n abortAndIgnore(controller)\n }\n }, [apiRoute, hasInitializedState, serverURL, slug, getFormState, user, collectionPermissions])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n abortAndIgnore(formStateAbortControllerRef.current)\n\n const controller = new AbortController()\n formStateAbortControllerRef.current = controller\n\n const { state } = await getFormState({\n collectionSlug: slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: slug,\n signal: controller.signal,\n })\n\n return state\n },\n [slug, getFormState, collectionPermissions],\n )\n\n useEffect(() => {\n return () => {\n abortAndIgnore(formStateAbortControllerRef.current)\n }\n }, [])\n\n const queryString = useMemo(() => {\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams?.search as string,\n })\n\n return getQueryParams(queryWithSearch)\n }, [collection, searchParams, getQueryParams])\n\n const onSuccess = () => {\n router.replace(\n stringifyParams({\n params: { page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined },\n }),\n )\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n closeModal(drawerSlug)\n }\n\n if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <DrawerToggler\n aria-label={t('general:edit')}\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSelected([])\n }}\n slug={drawerSlug}\n >\n {t('general:edit')}\n </DrawerToggler>\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <DocumentInfoProvider\n collectionSlug={slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n initialState={initialState}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext.Provider value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', { count, label: getTranslation(plural, i18n) })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n initialState={initialState}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect fields={fields} setSelected={setSelected} />\n {selected.length === 0 ? null : (\n <RenderFields\n fields={selected}\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={slug}\n permissions={collectionPermissions?.fields}\n readOnly={false}\n />\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${slug}${queryString}&draft=true`}\n disabled={selected.length === 0}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${slug}${queryString}&draft=true`}\n disabled={selected.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${slug}${queryString}`}\n disabled={selected.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext.Provider>\n </DocumentInfoProvider>\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","useRouter","useSearchParams","qs","React","useCallback","useEffect","useMemo","useState","useForm","Form","RenderFields","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","EditDepthProvider","OperationContext","useRouteCache","SelectAllStatus","useSelection","useServerFunctions","useTranslation","abortAndIgnore","mergeListSearchAndWhere","parseSearchParams","Drawer","DrawerToggler","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditMany","props","collection","slug","fields","labels","plural","permissions","user","closeModal","config","routes","api","apiRoute","serverURL","getFormState","count","getQueryParams","selectAll","i18n","selected","setSelected","searchParams","router","initialState","setInitialState","hasInitializedState","useRef","formStateAbortControllerRef","clearRouteCache","collectionPermissions","collections","hasUpdatePermission","update","drawerSlug","controller","AbortController","current","getInitialState","state","result","collectionSlug","data","docPermissions","docPreferences","operation","schemaPath","signal","onChange","formState","prevFormState","queryString","queryWithSearch","collectionConfig","search","get","onSuccess","replace","stringify","page","AllAvailable","undefined","addQueryPrefix","None","_jsxs","Header","currentEditor","hasPublishedDoc","id","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","Provider","value","label","type","length","parentIndexPath","parentPath","parentSchemaPath","readOnly","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, FormState } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore } from '../../utilities/abortAndIgnore.js'\nimport { mergeListSearchAndWhere } from '../../utilities/mergeListSearchAndWhere.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport './index.scss'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\n\nconst baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n}\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const { collection: { slug, fields, labels: { plural } } = {}, collection } = props\n\n const { permissions, user } = useAuth()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n const [selected, setSelected] = useState([])\n const searchParams = useSearchParams()\n const router = useRouter()\n const [initialState, setInitialState] = useState<FormState>()\n const hasInitializedState = React.useRef(false)\n const formStateAbortControllerRef = React.useRef<AbortController>(null)\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update\n\n const drawerSlug = `edit-${slug}`\n\n React.useEffect(() => {\n const controller = new AbortController()\n\n if (!hasInitializedState.current) {\n const getInitialState = async () => {\n const { state: result } = await getFormState({\n collectionSlug: slug,\n data: {},\n docPermissions: collectionPermissions,\n docPreferences: null,\n operation: 'update',\n schemaPath: slug,\n signal: controller.signal,\n })\n\n setInitialState(result)\n hasInitializedState.current = true\n }\n\n void getInitialState()\n }\n\n return () => {\n abortAndIgnore(controller)\n }\n }, [apiRoute, hasInitializedState, serverURL, slug, getFormState, user, collectionPermissions])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n abortAndIgnore(formStateAbortControllerRef.current)\n\n const controller = new AbortController()\n formStateAbortControllerRef.current = controller\n\n const { state } = await getFormState({\n collectionSlug: slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: slug,\n signal: controller.signal,\n })\n\n return state\n },\n [slug, getFormState, collectionPermissions],\n )\n\n useEffect(() => {\n return () => {\n abortAndIgnore(formStateAbortControllerRef.current)\n }\n }, [])\n\n const queryString = useMemo(() => {\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n return getQueryParams(queryWithSearch)\n }, [collection, searchParams, getQueryParams])\n\n const onSuccess = () => {\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n closeModal(drawerSlug)\n }\n\n if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <DrawerToggler\n aria-label={t('general:edit')}\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSelected([])\n }}\n slug={drawerSlug}\n >\n {t('general:edit')}\n </DrawerToggler>\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <DocumentInfoProvider\n collectionSlug={slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n initialState={initialState}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext.Provider value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', { count, label: getTranslation(plural, i18n) })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n initialState={initialState}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect fields={fields} setSelected={setSelected} />\n {selected.length === 0 ? null : (\n <RenderFields\n fields={selected}\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={slug}\n permissions={collectionPermissions?.fields}\n readOnly={false}\n />\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${slug}${queryString}&draft=true`}\n disabled={selected.length === 0}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${slug}${queryString}&draft=true`}\n disabled={selected.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${slug}${queryString}`}\n disabled={selected.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext.Provider>\n </DocumentInfoProvider>\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,EAAEC,eAAe,QAAQ;AAC3C,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AAIjE,SAASC,OAAO,QAAQ;AACxB,SAASC,IAAI,QAAQ;AACrB,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAC3B,SAASC,KAAK,QAAQ;AACtB,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,uBAAuB,QAAQ;AACxC,SAASC,iBAAiB,QAAQ;AAClC,OAAO;AACP,SAASC,MAAM,EAAEC,aAAa,QAAQ;AACtC,SAASC,WAAW,QAAQ;AAE5B,MAAMC,SAAA,GAAY;AAMlB,MAAMC,MAAA,GAGDC,EAAA;EAAA,MAAAC,CAAA,GAAAnC,EAAA;EAAC;IAAAoC,MAAA;IAAAC;EAAA,IAAAH,EAAoB;EACxB;IAAAI;EAAA,IAAmB3B,OAAA;EACnB;IAAA4B;EAAA,IAAcd,cAAA;EAAA,IAAAe,EAAA;EAAA,IAAAL,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAG,MAAA;IAEWE,EAAA,GAAAA,CAAA;MAClBF,MAAA;QAAAF,MAAA;QAAAK,MAAA,EAEK;QAAAC,cAAA;MAAA,CAEV;IAAA;IACFP,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EANA,MAAAQ,IAAA,GAAaH,EAMM;EAAA,IAAAI,EAAA;EAAA,IAAAT,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAQ,IAAA,IAAAR,CAAA,QAAAI,CAAA;IAGjBK,EAAA,GAAAC,IAAA,CAAA/B,UAAA;MAAAgC,SAAA,EAAuB,GAAAd,SAAA,QAAoB;MAAAK,QAAA;MAAAU,OAAA,EAA+BJ,IAAA;MAAAK,QAAA,EACvET,CAAA,CAAE;IAAA,C;;;;;;;;SADLK,E;CAIJ;AAEA,MAAMK,aAAA,GAAiEf,EAAA;EAAA,MAAAC,CAAA,GAAAnC,EAAA;EAAC;IAAAoC,MAAA;IAAAC;EAAA,IAAAH,EAAoB;EAC1F;IAAAI;EAAA,IAAmB3B,OAAA;EACnB;IAAA4B;EAAA,IAAcd,cAAA;EAAA,IAAAe,EAAA;EAAA,IAAAL,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAG,MAAA;IAEWE,EAAA,GAAAA,CAAA;MAClBF,MAAA;QAAAF,MAAA;QAAAK,MAAA,EAEK;QAAAS,SAAA;UAAAC,OAAA,EAEG;QAAA;QAAAT,cAAA;MAAA,CAGb;IAAA;IACFP,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EATA,MAAAQ,IAAA,GAAaH,EASM;EAAA,IAAAI,EAAA;EAAA,IAAAT,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAQ,IAAA,IAAAR,CAAA,QAAAI,CAAA;IAGjBK,EAAA,GAAAC,IAAA,CAAA/B,UAAA;MAAAgC,SAAA,EAAuB,GAAAd,SAAA,WAAuB;MAAAK,QAAA;MAAAU,OAAA,EAA+BJ,IAAA;MAAAK,QAAA,EAC1ET,CAAA,CAAE;IAAA,C;;;;;;;;SADLK,E;CAIJ;AAEA,MAAMQ,eAAA,GAAmElB,EAAA;EAAA,MAAAC,CAAA,GAAAnC,EAAA;EAAC;IAAAoC,MAAA;IAAAC;EAAA,IAAAH,EAAoB;EAC5F;IAAAI;EAAA,IAAmB3B,OAAA;EACnB;IAAA4B;EAAA,IAAcd,cAAA;EAAA,IAAAe,EAAA;EAAA,IAAAL,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAG,MAAA;IAEWE,EAAA,GAAAA,CAAA;MAClBF,MAAA;QAAAF,MAAA;QAAAK,MAAA,EAEK;QAAAS,SAAA;UAAAC,OAAA,EAEG;QAAA;QAAAT,cAAA;MAAA,CAGb;IAAA;IACFP,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EATA,MAAAQ,IAAA,GAAaH,EASM;EAAA,IAAAI,EAAA;EAAA,IAAAT,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAQ,IAAA,IAAAR,CAAA,QAAAI,CAAA;IAGjBK,EAAA,GAAAC,IAAA,CAAA/B,UAAA;MAAAuC,WAAA,EACc;MAAAP,SAAA,EACD,GAAAd,SAAA,SAAqB;MAAAK,QAAA;MAAAU,OAAA,EAEvBJ,IAAA;MAAAK,QAAA,EAERT,CAAA,CAAE;IAAA,C;;;;;;;;SANLK,E;CASJ;AAEA,OAAO,MAAMU,QAAA,GAAqCC,KAAA;EAChD,MAAM;IAAEC,UAAA,EAAY;MAAEC,IAAI;MAAEC,MAAM;MAAEC,MAAA,EAAQ;QAAEC;MAAM;IAAE,CAAE,GAAG,CAAC,CAAC;IAAEJ;EAAU,CAAE,GAAGD,KAAA;EAE9E,MAAM;IAAEM,WAAW;IAAEC;EAAI,CAAE,GAAG9C,OAAA;EAE9B,MAAM;IAAE+C;EAAU,CAAE,GAAG9D,QAAA;EAEvB,MAAM;IACJ+D,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC,GAAA,EAAKC;MAAQ,CAAE;MACzBC;IAAS;EACV,CACF,GAAGnD,SAAA;EAEJ,MAAM;IAAEoD;EAAY,CAAE,GAAG7C,kBAAA;EAEzB,MAAM;IAAE8C,KAAK;IAAEC,cAAc;IAAEC;EAAS,CAAE,GAAGjD,YAAA;EAC7C,MAAM;IAAEkD,IAAI;IAAElC;EAAC,CAAE,GAAGd,cAAA;EACpB,MAAM,CAACiD,QAAA,EAAUC,WAAA,CAAY,GAAGjE,QAAA,CAAS,EAAE;EAC3C,MAAMkE,YAAA,GAAexE,eAAA;EACrB,MAAMyE,MAAA,GAAS1E,SAAA;EACf,MAAM,CAAC2E,YAAA,EAAcC,eAAA,CAAgB,GAAGrE,QAAA;EACxC,MAAMsE,mBAAA,GAAsB1E,KAAA,CAAM2E,MAAM,CAAC;EACzC,MAAMC,2BAAA,GAA8B5E,KAAA,CAAM2E,MAAM,CAAkB;EAClE,MAAM;IAAEE;EAAe,CAAE,GAAG9D,aAAA;EAE5B,MAAM+D,qBAAA,GAAwBvB,WAAA,EAAawB,WAAA,GAAc5B,IAAA,CAAK;EAC9D,MAAM6B,mBAAA,GAAsBF,qBAAA,EAAuBG,MAAA;EAEnD,MAAMC,UAAA,GAAa,QAAQ/B,IAAA,EAAM;EAEjCnD,KAAA,CAAME,SAAS,CAAC;IACd,MAAMiF,UAAA,GAAa,IAAIC,eAAA;IAEvB,IAAI,CAACV,mBAAA,CAAoBW,OAAO,EAAE;MAChC,MAAMC,eAAA,GAAkB,MAAAA,CAAA;QACtB,MAAM;UAAEC,KAAA,EAAOC;QAAM,CAAE,GAAG,MAAMzB,YAAA,CAAa;UAC3C0B,cAAA,EAAgBtC,IAAA;UAChBuC,IAAA,EAAM,CAAC;UACPC,cAAA,EAAgBb,qBAAA;UAChBc,cAAA,EAAgB;UAChBC,SAAA,EAAW;UACXC,UAAA,EAAY3C,IAAA;UACZ4C,MAAA,EAAQZ,UAAA,CAAWY;QACrB;QAEAtB,eAAA,CAAgBe,MAAA;QAChBd,mBAAA,CAAoBW,OAAO,GAAG;MAChC;MAEA,KAAKC,eAAA;IACP;IAEA,OAAO;MACLlE,cAAA,CAAe+D,UAAA;IACjB;EACF,GAAG,CAACtB,QAAA,EAAUa,mBAAA,EAAqBZ,SAAA,EAAWX,IAAA,EAAMY,YAAA,EAAcP,IAAA,EAAMsB,qBAAA,CAAsB;EAE9F,MAAMkB,QAAA,GAAqC/F,WAAA,CACzC,OAAO;IAAEgG,SAAA,EAAWC;EAAa,CAAE;IACjC9E,cAAA,CAAewD,2BAAA,CAA4BS,OAAO;IAElD,MAAMF,YAAA,GAAa,IAAIC,eAAA;IACvBR,2BAAA,CAA4BS,OAAO,GAAGF,YAAA;IAEtC,MAAM;MAAEI;IAAK,CAAE,GAAG,MAAMxB,YAAA,CAAa;MACnC0B,cAAA,EAAgBtC,IAAA;MAChBwC,cAAA,EAAgBb,qBAAA;MAChBc,cAAA,EAAgB;MAChBK,SAAA,EAAWC,aAAA;MACXL,SAAA,EAAW;MACXC,UAAA,EAAY3C,IAAA;MACZ4C,MAAA,EAAQZ,YAAA,CAAWY;IACrB;IAEA,OAAOR,KAAA;EACT,GACA,CAACpC,IAAA,EAAMY,YAAA,EAAce,qBAAA,CAAsB;EAG7C5E,SAAA,CAAU;IACR,OAAO;MACLkB,cAAA,CAAewD,2BAAA,CAA4BS,OAAO;IACpD;EACF,GAAG,EAAE;EAEL,MAAMc,WAAA,GAAchG,OAAA,CAAQ;IAC1B,MAAMiG,eAAA,GAAkB/E,uBAAA,CAAwB;MAC9CgF,gBAAA,EAAkBnD,UAAA;MAClBoD,MAAA,EAAQhC,YAAA,CAAaiC,GAAG,CAAC;IAC3B;IAEA,OAAOtC,cAAA,CAAemC,eAAA;EACxB,GAAG,CAAClD,UAAA,EAAYoB,YAAA,EAAcL,cAAA,CAAe;EAE7C,MAAMuC,SAAA,GAAYA,CAAA;IAChBjC,MAAA,CAAOkC,OAAO,CACZ1G,EAAA,CAAG2G,SAAS,CACV;MACE,GAAGpF,iBAAA,CAAkBgD,YAAA,CAAa;MAClCqC,IAAA,EAAMzC,SAAA,KAAclD,eAAA,CAAgB4F,YAAY,GAAG,MAAMC;IAC3D,GACA;MAAEC,cAAA,EAAgB;IAAK;IAG3BjC,eAAA,GAAkB;IAAA;IAClBpB,UAAA,CAAWyB,UAAA;EACb;EAEA,IAAIhB,SAAA,KAAclD,eAAA,CAAgB+F,IAAI,IAAI,CAAC/B,mBAAA,EAAqB;IAC9D,OAAO;EACT;EAEA,oBACEgC,KAAA,CAAC;IAAIxE,SAAA,EAAWd,SAAA;4BACda,IAAA,CAACf,aAAA;MACC,cAAYS,CAAA,CAAE;MACdO,SAAA,EAAW,GAAGd,SAAA,UAAmB;MACjCe,OAAA,EAASA,CAAA;QACP4B,WAAA,CAAY,EAAE;MAChB;MACAlB,IAAA,EAAM+B,UAAA;gBAELjD,CAAA,CAAE;qBAELM,IAAA,CAAC1B,iBAAA;gBACC,aAAA0B,IAAA,CAAChB,MAAA;QAAO0F,MAAA,EAAQ;QAAM9D,IAAA,EAAM+B,UAAA;kBAC1B,aAAA3C,IAAA,CAAC3B,oBAAA;UACC6E,cAAA,EAAgBtC,IAAA;UAChB+D,aAAA,EAAe1D,IAAA;UACf2D,eAAA,EAAiB;UACjBC,EAAA,EAAI;UACJC,WAAA,EAAa,CAAC;UACd7C,YAAA,EAAcA,YAAA;UACd8C,QAAA,EAAU;UACVC,cAAA,EAAgB;UAChBC,4BAAA,EAA8B;UAC9BC,uBAAA,EAAyB;UACzBC,YAAA,EAAc;oBAEd,aAAAnF,IAAA,CAACzB,gBAAA,CAAiB6G,QAAQ;YAACC,KAAA,EAAM;sBAC/B,aAAAZ,KAAA,CAAC;cAAIxE,SAAA,EAAW,GAAGd,SAAA,QAAiB;sCAClCsF,KAAA,CAAC;gBAAIxE,SAAA,EAAW,GAAGd,SAAA,UAAmB;wCACpCa,IAAA,CAAC;kBAAGC,SAAA,EAAW,GAAGd,SAAA,iBAA0B;4BACzCO,CAAA,CAAE,wBAAwB;oBAAE+B,KAAA;oBAAO6D,KAAA,EAAOjI,cAAA,CAAe0D,MAAA,EAAQa,IAAA;kBAAM;iCAE1E5B,IAAA,CAAC;kBACC,cAAYN,CAAA,CAAE;kBACdO,SAAA,EAAW,GAAGd,SAAA,iBAA0B;kBACxC0F,EAAA,EAAI,iBAAiBlC,UAAA,EAAY;kBACjCzC,OAAA,EAASA,CAAA,KAAMgB,UAAA,CAAWyB,UAAA;kBAC1B4C,IAAA,EAAK;4BAEL,aAAAvF,IAAA,CAAC9B,KAAA;;+BAGLuG,KAAA,CAAC1G,IAAA;gBACCkC,SAAA,EAAW,GAAGd,SAAA,QAAiB;gBAC/B8C,YAAA,EAAcA,YAAA;gBACdwB,QAAA,EAAU,CAACA,QAAA,CAAS;gBACpBQ,SAAA,EAAWA,SAAA;wCAEXjE,IAAA,CAACd,WAAA;kBAAY2B,MAAA,EAAQA,MAAA;kBAAQiB,WAAA,EAAaA;oBACzCD,QAAA,CAAS2D,MAAM,KAAK,IAAI,oBACvBxF,IAAA,CAAChC,YAAA;kBACC6C,MAAA,EAAQgB,QAAA;kBACR4D,eAAA,EAAgB;kBAChBC,UAAA,EAAW;kBACXC,gBAAA,EAAkB/E,IAAA;kBAClBI,WAAA,EAAauB,qBAAA,EAAuB1B,MAAA;kBACpC+E,QAAA,EAAU;iCAGd5F,IAAA,CAAC;kBAAIC,SAAA,EAAW,GAAGd,SAAA,gBAAyB;4BAC1C,aAAAa,IAAA,CAAC;oBAAIC,SAAA,EAAW,GAAGd,SAAA,WAAoB;8BACrC,aAAAa,IAAA,CAAC;sBAAIC,SAAA,EAAW,GAAGd,SAAA,uBAAgC;gCACjD,aAAAa,IAAA,CAAC;wBAAIC,SAAA,EAAW,GAAGd,SAAA,oBAA6B;kCAC7CwB,UAAA,EAAYkF,QAAA,EAAUC,MAAA,gBACrBrB,KAAA,CAAChH,KAAA,CAAMsI,QAAQ;kDACb/F,IAAA,CAACO,eAAA;4BACChB,MAAA,EAAQ,GAAGgC,SAAA,GAAYD,QAAA,IAAYV,IAAA,GAAOgD,WAAA,aAAwB;4BAClEpE,QAAA,EAAUqC,QAAA,CAAS2D,MAAM,KAAK;2CAEhCxF,IAAA,CAACI,aAAA;4BACCb,MAAA,EAAQ,GAAGgC,SAAA,GAAYD,QAAA,IAAYV,IAAA,GAAOgD,WAAA,aAAwB;4BAClEpE,QAAA,EAAUqC,QAAA,CAAS2D,MAAM,KAAK;;0CAIlCxF,IAAA,CAACZ,MAAA;0BACCG,MAAA,EAAQ,GAAGgC,SAAA,GAAYD,QAAA,IAAYV,IAAA,GAAOgD,WAAA,EAAa;0BACvDpE,QAAA,EAAUqC,QAAA,CAAS2D,MAAM,KAAK;;;;;;;;;;;;;AAe5D","ignoreList":[]}
|
|
@@ -117,18 +117,13 @@ export const FieldSelect = t0 => {
|
|
|
117
117
|
}
|
|
118
118
|
const [options] = useState(t1);
|
|
119
119
|
let t2;
|
|
120
|
-
if ($[3] !==
|
|
120
|
+
if ($[3] !== dispatchFields || $[4] !== getFields || $[5] !== setSelected) {
|
|
121
121
|
t2 = selected => {
|
|
122
122
|
const activeFields = getFields();
|
|
123
123
|
if (selected === null) {
|
|
124
124
|
setSelected([]);
|
|
125
125
|
} else {
|
|
126
|
-
setSelected(selected.map(
|
|
127
|
-
const {
|
|
128
|
-
value
|
|
129
|
-
} = t3;
|
|
130
|
-
return value;
|
|
131
|
-
}));
|
|
126
|
+
setSelected(selected.map(_temp));
|
|
132
127
|
}
|
|
133
128
|
if (selected === null || Object.keys(activeFields || []).length > selected.length) {
|
|
134
129
|
Object.keys(activeFields).forEach(path => {
|
|
@@ -141,37 +136,43 @@ export const FieldSelect = t0 => {
|
|
|
141
136
|
});
|
|
142
137
|
}
|
|
143
138
|
};
|
|
144
|
-
$[3] =
|
|
145
|
-
$[4] =
|
|
146
|
-
$[5] =
|
|
139
|
+
$[3] = dispatchFields;
|
|
140
|
+
$[4] = getFields;
|
|
141
|
+
$[5] = setSelected;
|
|
147
142
|
$[6] = t2;
|
|
148
143
|
} else {
|
|
149
144
|
t2 = $[6];
|
|
150
145
|
}
|
|
151
146
|
const handleChange = t2;
|
|
152
147
|
let t3;
|
|
153
|
-
if ($[7] !==
|
|
148
|
+
if ($[7] !== handleChange || $[8] !== options || $[9] !== t) {
|
|
154
149
|
t3 = _jsxs("div", {
|
|
155
150
|
className: baseClass,
|
|
156
151
|
children: [_jsx(FieldLabel, {
|
|
157
152
|
label: t("fields:selectFieldsToEdit")
|
|
158
153
|
}), _jsx(ReactSelect, {
|
|
159
|
-
getOptionValue:
|
|
154
|
+
getOptionValue: _temp2,
|
|
160
155
|
isMulti: true,
|
|
161
156
|
onChange: handleChange,
|
|
162
157
|
options
|
|
163
158
|
})]
|
|
164
159
|
});
|
|
165
|
-
$[7] =
|
|
166
|
-
$[8] =
|
|
167
|
-
$[9] =
|
|
160
|
+
$[7] = handleChange;
|
|
161
|
+
$[8] = options;
|
|
162
|
+
$[9] = t;
|
|
168
163
|
$[10] = t3;
|
|
169
164
|
} else {
|
|
170
165
|
t3 = $[10];
|
|
171
166
|
}
|
|
172
167
|
return t3;
|
|
173
168
|
};
|
|
174
|
-
function _temp(
|
|
169
|
+
function _temp(t0) {
|
|
170
|
+
const {
|
|
171
|
+
value
|
|
172
|
+
} = t0;
|
|
173
|
+
return value;
|
|
174
|
+
}
|
|
175
|
+
function _temp2(option) {
|
|
175
176
|
if (typeof option.value === "object" && "path" in option.value) {
|
|
176
177
|
return String(option.value.path);
|
|
177
178
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","fieldAffectsData","fieldHasSubFields","React","Fragment","useState","RenderCustomComponent","FieldLabel","useForm","createNestedClientFieldPath","useTranslation","ReactSelect","baseClass","combineLabel","CustomLabel","field","prefix","_jsxs","_jsx","style","display","CustomComponent","Fallback","label","reduceFields","fields","formState","labelPrefix","path","customComponents","Label","reduce","fieldsToUse","type","admin","disableBulkEdit","unique","hidden","readOnly","tabs","tabFields","tab","isNamedTab","name","formattedField","value","FieldSelect","t0","$","setSelected","t","dispatchFields","getFields","t1","options","t2","selected","activeFields","map","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","fieldAffectsData","fieldHasSubFields","React","Fragment","useState","RenderCustomComponent","FieldLabel","useForm","createNestedClientFieldPath","useTranslation","ReactSelect","baseClass","combineLabel","CustomLabel","field","prefix","_jsxs","_jsx","style","display","CustomComponent","Fallback","label","reduceFields","fields","formState","labelPrefix","path","customComponents","Label","reduce","fieldsToUse","type","admin","disableBulkEdit","unique","hidden","readOnly","tabs","tabFields","tab","isNamedTab","name","formattedField","value","FieldSelect","t0","$","setSelected","t","dispatchFields","getFields","t1","options","t2","selected","activeFields","map","_temp","Object","keys","length","forEach","find","handleChange","t3","className","children","getOptionValue","_temp2","isMulti","onChange","option","String"],"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FieldWithPath, FormState } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields } from 'payload/shared'\nimport React, { Fragment, useState } from 'react'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly setSelected: (fields: FieldWithPath[]) => void\n}\n\nexport const combineLabel = ({\n CustomLabel,\n field,\n prefix,\n}: {\n CustomLabel?: React.ReactNode\n field?: ClientField\n prefix?: React.ReactNode\n}): React.ReactNode => {\n return (\n <Fragment>\n {prefix ? (\n <Fragment>\n <span style={{ display: 'inline-block' }}>{prefix}</span>\n {' > '}\n </Fragment>\n ) : null}\n <span style={{ display: 'inline-block' }}>\n <RenderCustomComponent\n CustomComponent={CustomLabel}\n Fallback={<FieldLabel label={'label' in field && field.label} />}\n />\n </span>\n </Fragment>\n )\n}\n\nconst reduceFields = ({\n fields,\n formState,\n labelPrefix = null,\n path = '',\n}: {\n fields: ClientField[]\n formState?: FormState\n labelPrefix?: React.ReactNode\n path?: string\n}): { Label: React.ReactNode; value: FieldWithPath }[] => {\n if (!fields) {\n return []\n }\n\n const CustomLabel = formState?.[path]?.customComponents?.Label\n\n return fields?.reduce((fieldsToUse, field) => {\n // escape for a variety of reasons, include ui fields as they have `name`.\n if (\n (fieldAffectsData(field) || field.type === 'ui') &&\n (field.admin.disableBulkEdit ||\n field.unique ||\n field.admin.hidden ||\n ('readOnly' in field && field.readOnly))\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n return [\n ...fieldsToUse,\n ...reduceFields({\n fields: field.fields,\n labelPrefix: combineLabel({ CustomLabel, field, prefix: labelPrefix }),\n path: createNestedClientFieldPath(path, field),\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFields({\n fields: tab.fields,\n labelPrefix,\n path: isNamedTab ? createNestedClientFieldPath(path, field) : path,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField = {\n label: combineLabel({ CustomLabel, field, prefix: labelPrefix }),\n value: {\n ...field,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, setSelected }) => {\n const { t } = useTranslation()\n const { dispatchFields, getFields } = useForm()\n\n const [options] = useState(() => reduceFields({ fields, formState: getFields() }))\n\n const handleChange = (selected) => {\n const activeFields = getFields()\n\n if (selected === null) {\n setSelected([])\n } else {\n setSelected(selected.map(({ value }) => value))\n }\n\n // remove deselected values from form state\n if (selected === null || Object.keys(activeFields || []).length > selected.length) {\n Object.keys(activeFields).forEach((path) => {\n if (\n selected === null ||\n !selected.find((field) => {\n return field.value.path === path\n })\n ) {\n dispatchFields({\n type: 'REMOVE',\n path,\n })\n }\n })\n }\n }\n\n return (\n <div className={baseClass}>\n <FieldLabel label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={handleChange}\n options={options}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ;AACpD,OAAOC,KAAA,IAASC,QAAQ,EAAEC,QAAQ,QAAQ;AAE1C,SAASC,qBAAqB,QAAQ;AACtC,SAASC,UAAU,QAAQ;AAC3B,SAASC,OAAO,QAAQ;AACxB,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,cAAc,QAAQ;AAC/B,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAOlB,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAC3BC,WAAW;EACXC,KAAK;EACLC;AAAM,CAKP;EACC,oBACEC,KAAA,CAACb,QAAA;eACEY,MAAA,gBACCC,KAAA,CAACb,QAAA;8BACCc,IAAA,CAAC;QAAKC,KAAA,EAAO;UAAEC,OAAA,EAAS;QAAe;kBAAIJ;UAC1C;SAED,M,aACJE,IAAA,CAAC;MAAKC,KAAA,EAAO;QAAEC,OAAA,EAAS;MAAe;gBACrC,aAAAF,IAAA,CAACZ,qBAAA;QACCe,eAAA,EAAiBP,WAAA;QACjBQ,QAAA,eAAUJ,IAAA,CAACX,UAAA;UAAWgB,KAAA,EAAO,WAAWR,KAAA,IAASA,KAAA,CAAMQ;;;;;AAKjE;AAEA,MAAMC,YAAA,GAAeA,CAAC;EACpBC,MAAM;EACNC,SAAS;EACTC,WAAA,GAAc,IAAI;EAClBC,IAAA,GAAO;AAAE,CAMV;EACC,IAAI,CAACH,MAAA,EAAQ;IACX,OAAO,EAAE;EACX;EAEA,MAAMX,WAAA,GAAcY,SAAA,GAAYE,IAAA,CAAK,EAAEC,gBAAA,EAAkBC,KAAA;EAEzD,OAAOL,MAAA,EAAQM,MAAA,CAAO,CAACC,WAAA,EAAajB,KAAA;IAClC;IACA,IACE,CAACd,gBAAA,CAAiBc,KAAA,KAAUA,KAAA,CAAMkB,IAAI,KAAK,IAAG,MAC7ClB,KAAA,CAAMmB,KAAK,CAACC,eAAe,IAC1BpB,KAAA,CAAMqB,MAAM,IACZrB,KAAA,CAAMmB,KAAK,CAACG,MAAM,IACjB,cAActB,KAAA,IAASA,KAAA,CAAMuB,QAAQ,GACxC;MACA,OAAON,WAAA;IACT;IAEA,IAAI,EAAEjB,KAAA,CAAMkB,IAAI,KAAK,WAAWlB,KAAA,CAAMkB,IAAI,KAAK,QAAO,KAAM/B,iBAAA,CAAkBa,KAAA,GAAQ;MACpF,OAAO,C,GACFiB,WAAA,E,GACAR,YAAA,CAAa;QACdC,MAAA,EAAQV,KAAA,CAAMU,MAAM;QACpBE,WAAA,EAAad,YAAA,CAAa;UAAEC,WAAA;UAAaC,KAAA;UAAOC,MAAA,EAAQW;QAAY;QACpEC,IAAA,EAAMnB,2BAAA,CAA4BmB,IAAA,EAAMb,KAAA;MAC1C,GACD;IACH;IAEA,IAAIA,KAAA,CAAMkB,IAAI,KAAK,UAAU,UAAUlB,KAAA,EAAO;MAC5C,OAAO,C,GACFiB,WAAA,E,GACAjB,KAAA,CAAMwB,IAAI,CAACR,MAAM,CAAC,CAACS,SAAA,EAAWC,GAAA;QAC/B,IAAI,YAAYA,GAAA,EAAK;UACnB,MAAMC,UAAA,GAAa,UAAUD,GAAA,IAAOA,GAAA,CAAIE,IAAI;UAC5C,OAAO,C,GACFH,SAAA,E,GACAhB,YAAA,CAAa;YACdC,MAAA,EAAQgB,GAAA,CAAIhB,MAAM;YAClBE,WAAA;YACAC,IAAA,EAAMc,UAAA,GAAajC,2BAAA,CAA4BmB,IAAA,EAAMb,KAAA,IAASa;UAChE,GACD;QACH;MACF,GAAG,EAAE,EACN;IACH;IAEA,MAAMgB,cAAA,GAAiB;MACrBrB,KAAA,EAAOV,YAAA,CAAa;QAAEC,WAAA;QAAaC,KAAA;QAAOC,MAAA,EAAQW;MAAY;MAC9DkB,KAAA,EAAO;QACL,GAAG9B,KAAK;QACRa,IAAA,EAAMnB,2BAAA,CAA4BmB,IAAA,EAAMb,KAAA;MAC1C;IACF;IAEA,OAAO,C,GAAIiB,WAAA,EAAaY,cAAA,CAAe;EACzC,GAAG,EAAE;AACP;AAEA,OAAO,MAAME,WAAA,GAA0CC,EAAA;EAAA,MAAAC,CAAA,GAAAhD,EAAA;EAAC;IAAAyB,MAAA;IAAAwB;EAAA,IAAAF,EAAuB;EAC7E;IAAAG;EAAA,IAAcxC,cAAA;EACd;IAAAyC,cAAA;IAAAC;EAAA,IAAsC5C,OAAA;EAAA,IAAA6C,EAAA;EAAA,IAAAL,CAAA,QAAAvB,MAAA,IAAAuB,CAAA,QAAAI,SAAA;IAEXC,EAAA,GAAAA,CAAA,KAAM7B,YAAA;MAAAC,MAAA;MAAAC,SAAA,EAAkC0B,SAAA;IAAA,CAAY;IAAAJ,CAAA,MAAAvB,MAAA;IAAAuB,CAAA,MAAAI,SAAA;IAAAJ,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAA/E,OAAAM,OAAA,IAAkBjD,QAAA,CAASgD,EAAoD;EAAA,IAAAE,EAAA;EAAA,IAAAP,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAI,SAAA,IAAAJ,CAAA,QAAAC,WAAA;IAE1DM,EAAA,GAAAC,QAAA;MACnB,MAAAC,YAAA,GAAqBL,SAAA;MAAA,IAEjBI,QAAA,SAAa;QACfP,WAAA,GAAc;MAAA;QAEdA,WAAA,CAAYO,QAAA,CAAAE,GAAA,CAAAC,KAA4B;MAAA;MAAA,IAItCH,QAAA,SAAa,IAAQI,MAAA,CAAAC,IAAA,CAAYJ,YAAA,MAAkB,EAAAK,MAAA,GAAWN,QAAA,CAAAM,MAAe;QAC/EF,MAAA,CAAAC,IAAA,CAAYJ,YAAA,EAAAM,OAAA,CAAAnC,IAAA;UAAA,IAER4B,QAAA,SAAa,KACZA,QAAA,CAAAQ,IAAA,CAAAjD,KAAA,IACQA,KAAA,CAAA8B,KAAA,CAAAjB,IAAA,KAAqBA,IAC9B;YAEAuB,cAAA;cAAAlB,IAAA,EACQ;cAAAL;YAAA,CAER;UAAA;QAAA,CAEJ;MAAA;IAAA;IAEJoB,CAAA,MAAAG,cAAA;IAAAH,CAAA,MAAAI,SAAA;IAAAJ,CAAA,MAAAC,WAAA;IAAAD,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAzBA,MAAAiB,YAAA,GAAqBV,EAyBrB;EAAA,IAAAW,EAAA;EAAA,IAAAlB,CAAA,QAAAiB,YAAA,IAAAjB,CAAA,QAAAM,OAAA,IAAAN,CAAA,QAAAE,CAAA;IAGEgB,EAAA,GAAAjD,KAAA,CAAC;MAAAkD,SAAA,EAAAvD,SAAA;MAAAwD,QAAA,GACClD,IAAA,CAAAX,UAAA;QAAAgB,KAAA,EAAmB2B,CAAA,CAAE;MAAA,C,GACrBhC,IAAA,CAAAP,WAAA;QAAA0D,cAAA,EAAAC,MAAA;QAAAC,OAAA;QAAAC,QAAA,EAQYP,YAAA;QAAAX;MAAA,C;;;;;;;;;SAVdY,E;CAeJ;AAjDuD,SAAAP,MAAAZ,EAAA;EAYvB;IAAAF;EAAA,IAAAE,EAAS;EAAA,OAAKF,KAAA;AAAA;AAZS,SAAAyB,OAAAG,MAAA;EAAA,IAsCzC,OAAOA,MAAA,CAAA5B,KAAA,KAAiB,YAAY,UAAU4B,MAAA,CAAA5B,KAAY;IAAA,OACrD6B,MAAA,CAAOD,MAAA,CAAA5B,KAAA,CAAAjB,IAAiB;EAAA;EAAA,OAE1B8C,MAAA,CAAOD,MAAA,CAAA5B,KAAY;AAAA","ignoreList":[]}
|
|
@@ -29,20 +29,20 @@ export const DraggableFileDetails = props => {
|
|
|
29
29
|
url
|
|
30
30
|
} = doc;
|
|
31
31
|
let t0;
|
|
32
|
-
if ($[0] !==
|
|
32
|
+
if ($[0] !== collectionSlug || $[1] !== id) {
|
|
33
33
|
t0 = {
|
|
34
34
|
id,
|
|
35
35
|
collectionSlug
|
|
36
36
|
};
|
|
37
|
-
$[0] =
|
|
38
|
-
$[1] =
|
|
37
|
+
$[0] = collectionSlug;
|
|
38
|
+
$[1] = id;
|
|
39
39
|
$[2] = t0;
|
|
40
40
|
} else {
|
|
41
41
|
t0 = $[2];
|
|
42
42
|
}
|
|
43
43
|
const [DocumentDrawer, DocumentDrawerToggler] = useDocumentDrawer(t0);
|
|
44
44
|
let t1;
|
|
45
|
-
if ($[3] !==
|
|
45
|
+
if ($[3] !== DocumentDrawer || $[4] !== DocumentDrawerToggler || $[5] !== collectionSlug || $[6] !== doc || $[7] !== filename || $[8] !== imageCacheTag || $[9] !== isSortable || $[10] !== removeItem || $[11] !== rowIndex || $[12] !== thumbnailURL || $[13] !== uploadConfig || $[14] !== url) {
|
|
46
46
|
t1 = draggableSortableItemProps => _jsxs("div", {
|
|
47
47
|
className: [baseClass, draggableSortableItemProps && isSortable && `${baseClass}--has-drag-handle`].filter(Boolean).join(" "),
|
|
48
48
|
ref: draggableSortableItemProps.setNodeRef,
|
|
@@ -83,18 +83,18 @@ export const DraggableFileDetails = props => {
|
|
|
83
83
|
})]
|
|
84
84
|
})]
|
|
85
85
|
});
|
|
86
|
-
$[3] =
|
|
87
|
-
$[4] =
|
|
88
|
-
$[5] =
|
|
89
|
-
$[6] =
|
|
90
|
-
$[7] =
|
|
86
|
+
$[3] = DocumentDrawer;
|
|
87
|
+
$[4] = DocumentDrawerToggler;
|
|
88
|
+
$[5] = collectionSlug;
|
|
89
|
+
$[6] = doc;
|
|
90
|
+
$[7] = filename;
|
|
91
91
|
$[8] = imageCacheTag;
|
|
92
|
-
$[9] =
|
|
93
|
-
$[10] =
|
|
94
|
-
$[11] =
|
|
95
|
-
$[12] =
|
|
96
|
-
$[13] =
|
|
97
|
-
$[14] =
|
|
92
|
+
$[9] = isSortable;
|
|
93
|
+
$[10] = removeItem;
|
|
94
|
+
$[11] = rowIndex;
|
|
95
|
+
$[12] = thumbnailURL;
|
|
96
|
+
$[13] = uploadConfig;
|
|
97
|
+
$[14] = url;
|
|
98
98
|
$[15] = t1;
|
|
99
99
|
} else {
|
|
100
100
|
t1 = $[15];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","Button","Thumbnail","baseClass","DraggableSortableItem","DragHandleIcon","EditIcon","useDocumentDrawer","DraggableFileDetails","props","$","collectionSlug","doc","imageCacheTag","isSortable","removeItem","rowIndex","uploadConfig","id","filename","thumbnailURL","url","t0","DocumentDrawer","DocumentDrawerToggler","t1","draggableSortableItemProps","_jsxs","className","filter","Boolean","join","ref","setNodeRef","style","transform","transition","zIndex","isDragging","undefined","children","_jsx","attributes","listeners","fileSrc","buttonStyle","icon","iconStyle","onClick","round","t2"],"sources":["../../../../src/elements/FileDetails/DraggableFileDetails/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../../Button/index.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-details-draggable'\n\nimport type { Data, FileSizes, SanitizedCollectionConfig } from 'payload'\n\nimport { DraggableSortableItem } from '../../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DragHandleIcon } from '../../../icons/DragHandle/index.js'\nimport { EditIcon } from '../../../icons/Edit/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\n\nexport type DraggableFileDetailsProps = {\n collectionSlug: string\n customUploadActions?: React.ReactNode[]\n doc: {\n sizes?: FileSizes\n } & Data\n enableAdjustments?: boolean\n hasImageSizes?: boolean\n hasMany: boolean\n imageCacheTag?: string\n isSortable?: boolean\n removeItem?: (index: number) => void\n rowIndex: number\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const DraggableFileDetails: React.FC<DraggableFileDetailsProps> = (props) => {\n const { collectionSlug, doc, imageCacheTag, isSortable, removeItem, rowIndex, uploadConfig } =\n props\n\n const { id, filename, thumbnailURL, url } = doc\n\n const [DocumentDrawer, DocumentDrawerToggler] = useDocumentDrawer({\n id,\n collectionSlug,\n })\n\n return (\n <DraggableSortableItem id={id} key={id}>\n {(draggableSortableItemProps) => (\n <div\n className={[\n baseClass,\n draggableSortableItemProps && isSortable && `${baseClass}--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={draggableSortableItemProps.setNodeRef}\n style={{\n transform: draggableSortableItemProps.transform,\n transition: draggableSortableItemProps.transition,\n zIndex: draggableSortableItemProps.isDragging ? 1 : undefined,\n }}\n >\n <div className={`${baseClass}--drag-wrapper`}>\n {isSortable && draggableSortableItemProps && (\n <div\n className={`${baseClass}__drag`}\n {...draggableSortableItemProps.attributes}\n {...draggableSortableItemProps.listeners}\n >\n <DragHandleIcon />\n </div>\n )}\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionSlug}\n doc={doc}\n fileSrc={thumbnailURL || url}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n </div>\n <div className={`${baseClass}__main-detail`}>{filename}</div>\n\n <div className={`${baseClass}__actions`}>\n <DocumentDrawer />\n <DocumentDrawerToggler>\n <EditIcon />\n </DocumentDrawerToggler>\n {removeItem && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"none\"\n onClick={() => removeItem(rowIndex)}\n round\n />\n )}\n </div>\n </div>\n )}\n </DraggableSortableItem>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,MAAM,QAAQ;AACvB,SAASC,SAAS,QAAQ;AAC1B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAIlB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,iBAAiB,QAAQ;AAkBlC,OAAO,MAAMC,oBAAA,GAA4DC,KAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EACvE;IAAAY,cAAA;IAAAC,GAAA;IAAAC,aAAA;IAAAC,UAAA;IAAAC,UAAA;IAAAC,QAAA;IAAAC;EAAA,IACER,KAAA;EAEF;IAAAS,EAAA;IAAAC,QAAA;IAAAC,YAAA;IAAAC;EAAA,IAA4CT,GAAA;EAAA,IAAAU,EAAA;EAAA,IAAAZ,CAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","Button","Thumbnail","baseClass","DraggableSortableItem","DragHandleIcon","EditIcon","useDocumentDrawer","DraggableFileDetails","props","$","collectionSlug","doc","imageCacheTag","isSortable","removeItem","rowIndex","uploadConfig","id","filename","thumbnailURL","url","t0","DocumentDrawer","DocumentDrawerToggler","t1","draggableSortableItemProps","_jsxs","className","filter","Boolean","join","ref","setNodeRef","style","transform","transition","zIndex","isDragging","undefined","children","_jsx","attributes","listeners","fileSrc","buttonStyle","icon","iconStyle","onClick","round","t2"],"sources":["../../../../src/elements/FileDetails/DraggableFileDetails/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../../Button/index.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-details-draggable'\n\nimport type { Data, FileSizes, SanitizedCollectionConfig } from 'payload'\n\nimport { DraggableSortableItem } from '../../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DragHandleIcon } from '../../../icons/DragHandle/index.js'\nimport { EditIcon } from '../../../icons/Edit/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\n\nexport type DraggableFileDetailsProps = {\n collectionSlug: string\n customUploadActions?: React.ReactNode[]\n doc: {\n sizes?: FileSizes\n } & Data\n enableAdjustments?: boolean\n hasImageSizes?: boolean\n hasMany: boolean\n imageCacheTag?: string\n isSortable?: boolean\n removeItem?: (index: number) => void\n rowIndex: number\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const DraggableFileDetails: React.FC<DraggableFileDetailsProps> = (props) => {\n const { collectionSlug, doc, imageCacheTag, isSortable, removeItem, rowIndex, uploadConfig } =\n props\n\n const { id, filename, thumbnailURL, url } = doc\n\n const [DocumentDrawer, DocumentDrawerToggler] = useDocumentDrawer({\n id,\n collectionSlug,\n })\n\n return (\n <DraggableSortableItem id={id} key={id}>\n {(draggableSortableItemProps) => (\n <div\n className={[\n baseClass,\n draggableSortableItemProps && isSortable && `${baseClass}--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={draggableSortableItemProps.setNodeRef}\n style={{\n transform: draggableSortableItemProps.transform,\n transition: draggableSortableItemProps.transition,\n zIndex: draggableSortableItemProps.isDragging ? 1 : undefined,\n }}\n >\n <div className={`${baseClass}--drag-wrapper`}>\n {isSortable && draggableSortableItemProps && (\n <div\n className={`${baseClass}__drag`}\n {...draggableSortableItemProps.attributes}\n {...draggableSortableItemProps.listeners}\n >\n <DragHandleIcon />\n </div>\n )}\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionSlug}\n doc={doc}\n fileSrc={thumbnailURL || url}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n </div>\n <div className={`${baseClass}__main-detail`}>{filename}</div>\n\n <div className={`${baseClass}__actions`}>\n <DocumentDrawer />\n <DocumentDrawerToggler>\n <EditIcon />\n </DocumentDrawerToggler>\n {removeItem && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"none\"\n onClick={() => removeItem(rowIndex)}\n round\n />\n )}\n </div>\n </div>\n )}\n </DraggableSortableItem>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|