@payloadcms/ui 3.55.0-canary.3 → 3.55.0-internal.b47bfce
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/BulkUpload/EditForm/index.js +18 -4
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +74 -173
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +67 -155
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/Collapsible/index.js +7 -15
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +8 -44
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +89 -97
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +2 -22
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +47 -83
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +27 -55
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +2 -10
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +47 -99
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.scss +1 -1
- package/dist/elements/Drawer/index.js +23 -57
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +3 -21
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +149 -225
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +19 -27
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +12 -23
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +10 -20
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +18 -24
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +19 -32
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeaderTabs/DefaultListPill.js +15 -8
- package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +1 -1
- package/dist/elements/ListSelection/index.js +11 -27
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +68 -139
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +2 -11
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +46 -102
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +23 -36
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +22 -11
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +41 -139
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
- package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +39 -40
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +20 -12
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +21 -30
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +9 -37
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +35 -37
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +12 -27
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +35 -75
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +17 -26
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Tooltip/index.js +51 -127
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Upload/index.js +2 -10
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +31 -44
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-MIIBUJZ4.js → CodeEditor-O6BWJHD2.js} +2 -2
- package/dist/exports/client/{DatePicker-NMDEHPWL.js → DatePicker-F432AIH3.js} +2 -2
- package/dist/exports/client/{chunk-7RGKTZG2.js → chunk-AZDI6MW4.js} +1 -1
- package/dist/exports/client/{chunk-7RGKTZG2.js.map → chunk-AZDI6MW4.js.map} +1 -1
- package/dist/exports/client/{chunk-Z6O2JA43.js → chunk-FXAFULZQ.js} +6 -6
- package/dist/exports/client/{chunk-Z6O2JA43.js.map → chunk-FXAFULZQ.js.map} +3 -3
- package/dist/exports/client/index.d.ts +4 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +12 -12
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +1 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts +2 -3
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +13 -23
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +273 -477
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +2 -19
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/FieldError/index.js +30 -29
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +12 -64
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +45 -103
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +29 -44
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.d.ts +1 -3
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +18 -31
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +2 -11
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +2 -1
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +185 -225
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +79 -127
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +245 -237
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/types.d.ts +2 -10
- package/dist/forms/RenderFields/types.d.ts.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +30 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +82 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -0
- package/dist/forms/useField/index.d.ts +5 -0
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +74 -45
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/hooks/useIntersect.js +35 -53
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +36 -44
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +4 -1
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +13 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/traverseForLocalizedFields.d.ts +3 -0
- package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -0
- package/dist/utilities/traverseForLocalizedFields.js +40 -0
- package/dist/utilities/traverseForLocalizedFields.js.map +1 -0
- package/dist/views/BrowseByFolder/index.js +37 -55
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +13 -40
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +93 -105
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/package.json +7 -7
- /package/dist/exports/client/{CodeEditor-MIIBUJZ4.js.map → CodeEditor-O6BWJHD2.js.map} +0 -0
- /package/dist/exports/client/{DatePicker-NMDEHPWL.js.map → DatePicker-F432AIH3.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","onClick","rest","_jsx","filter","Boolean","join","slug","ListDrawer","props","gutter","Header","useListDrawer","t0","$","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","config","t1","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","t2","t3","t4","t5","t6","length","filteredCollectionSlugs","t7","upload","map","_temp","toggleDrawer","t8","closeDrawer","t9","openDrawer","t10","t11","_createElement","key","MemoizedDrawer","t12","t13","props_0","MemoizedDrawerToggler","t14","t15","isDrawerOpen","MemoizedDrawerState","t16"],"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\n\nexport const baseClass = 'list-drawer'\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n onClick,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n onClick={onClick}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer className={baseClass} gutter={false} Header={null} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\n/**\n * Returns an array containing the ListDrawer component, the ListDrawerToggler component, and an object with state and methods for controlling the drawer.\n * @example\n * import { useListDrawer } from '@payloadcms/ui'\n *\n * // inside a React component\n * const [ListDrawer, ListDrawerToggler, { closeDrawer, openDrawer }] = useListDrawer({\n * collectionSlugs: ['users'],\n * selectedCollection: 'users',\n * })\n *\n * // inside the return statement\n * return (\n * <>\n * <ListDrawer />\n * <ListDrawerToggler onClick={openDrawer}>Open List Drawer</ListDrawerToggler>\n * </>\n * )\n */\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n collectionSlugs,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n setCollectionSlugs,\n toggleDrawer,\n }),\n [\n drawerDepth,\n drawerSlug,\n isOpen,\n toggleDrawer,\n closeDrawer,\n openDrawer,\n setCollectionSlugs,\n collectionSlugs,\n ],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","onClick","rest","_jsx","filter","Boolean","join","slug","ListDrawer","props","gutter","Header","useListDrawer","t0","$","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","config","t1","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","t2","t3","t4","t5","t6","length","filteredCollectionSlugs","t7","upload","map","_temp","toggleDrawer","t8","closeDrawer","t9","openDrawer","t10","_createElement","key","MemoizedDrawer","t11","props_0","MemoizedDrawerToggler","t12","isDrawerOpen","MemoizedDrawerState","t13"],"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\n\nexport const baseClass = 'list-drawer'\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n onClick,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n onClick={onClick}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer className={baseClass} gutter={false} Header={null} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\n/**\n * Returns an array containing the ListDrawer component, the ListDrawerToggler component, and an object with state and methods for controlling the drawer.\n * @example\n * import { useListDrawer } from '@payloadcms/ui'\n *\n * // inside a React component\n * const [ListDrawer, ListDrawerToggler, { closeDrawer, openDrawer }] = useListDrawer({\n * collectionSlugs: ['users'],\n * selectedCollection: 'users',\n * })\n *\n * // inside the return statement\n * return (\n * <>\n * <ListDrawer />\n * <ListDrawerToggler onClick={openDrawer}>Open List Drawer</ListDrawerToggler>\n * </>\n * )\n */\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n collectionSlugs,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n setCollectionSlugs,\n toggleDrawer,\n }),\n [\n drawerDepth,\n drawerSlug,\n isOpen,\n toggleDrawer,\n closeDrawer,\n openDrawer,\n setCollectionSlugs,\n collectionSlugs,\n ],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,7 @@ import { DocumentDrawer, useDocumentDrawer } from '../../DocumentDrawer/index.js
|
|
|
13
13
|
import { Popup, PopupList } from '../../Popup/index.js';
|
|
14
14
|
const baseClass = 'create-new-doc-in-folder';
|
|
15
15
|
export function ListCreateNewDocInFolderButton(t0) {
|
|
16
|
-
const $ = _c(
|
|
16
|
+
const $ = _c(22);
|
|
17
17
|
const {
|
|
18
18
|
buttonLabel,
|
|
19
19
|
collectionSlugs,
|
|
@@ -80,36 +80,6 @@ export function ListCreateNewDocInFolderButton(t0) {
|
|
|
80
80
|
}
|
|
81
81
|
let t4;
|
|
82
82
|
if ($[5] !== FolderDocumentDrawer || $[6] !== buttonLabel || $[7] !== closeFolderDrawer || $[8] !== closeModal || $[9] !== collectionSlugs || $[10] !== createCollectionSlug || $[11] !== enabledCollections || $[12] !== folderAssignedCollections || $[13] !== folderCollectionConfig.slug || $[14] !== folderFieldName || $[15] !== folderID || $[16] !== i18n || $[17] !== newDocInFolderDrawerSlug || $[18] !== onCreateSuccess || $[19] !== openFolderDrawer || $[20] !== openModal) {
|
|
83
|
-
let t5;
|
|
84
|
-
if ($[22] !== closeModal || $[23] !== createCollectionSlug || $[24] !== folderFieldName || $[25] !== folderID || $[26] !== newDocInFolderDrawerSlug || $[27] !== onCreateSuccess) {
|
|
85
|
-
t5 = createCollectionSlug && _jsx(DocumentDrawer, {
|
|
86
|
-
collectionSlug: createCollectionSlug,
|
|
87
|
-
drawerSlug: newDocInFolderDrawerSlug,
|
|
88
|
-
initialData: {
|
|
89
|
-
[folderFieldName]: folderID
|
|
90
|
-
},
|
|
91
|
-
onSave: async t6 => {
|
|
92
|
-
const {
|
|
93
|
-
doc
|
|
94
|
-
} = t6;
|
|
95
|
-
await onCreateSuccess({
|
|
96
|
-
collectionSlug: createCollectionSlug,
|
|
97
|
-
doc
|
|
98
|
-
});
|
|
99
|
-
closeModal(newDocInFolderDrawerSlug);
|
|
100
|
-
},
|
|
101
|
-
redirectAfterCreate: false
|
|
102
|
-
});
|
|
103
|
-
$[22] = closeModal;
|
|
104
|
-
$[23] = createCollectionSlug;
|
|
105
|
-
$[24] = folderFieldName;
|
|
106
|
-
$[25] = folderID;
|
|
107
|
-
$[26] = newDocInFolderDrawerSlug;
|
|
108
|
-
$[27] = onCreateSuccess;
|
|
109
|
-
$[28] = t5;
|
|
110
|
-
} else {
|
|
111
|
-
t5 = $[28];
|
|
112
|
-
}
|
|
113
83
|
t4 = _jsxs(React.Fragment, {
|
|
114
84
|
children: [enabledCollections.length === 1 ? _jsx(Button, {
|
|
115
85
|
buttonStyle: "pill",
|
|
@@ -149,7 +119,24 @@ export function ListCreateNewDocInFolderButton(t0) {
|
|
|
149
119
|
children: getTranslation(collection.labels.singular, i18n)
|
|
150
120
|
}, index))
|
|
151
121
|
})
|
|
152
|
-
}),
|
|
122
|
+
}), createCollectionSlug && _jsx(DocumentDrawer, {
|
|
123
|
+
collectionSlug: createCollectionSlug,
|
|
124
|
+
drawerSlug: newDocInFolderDrawerSlug,
|
|
125
|
+
initialData: {
|
|
126
|
+
[folderFieldName]: folderID
|
|
127
|
+
},
|
|
128
|
+
onSave: async t5 => {
|
|
129
|
+
const {
|
|
130
|
+
doc
|
|
131
|
+
} = t5;
|
|
132
|
+
await onCreateSuccess({
|
|
133
|
+
collectionSlug: createCollectionSlug,
|
|
134
|
+
doc
|
|
135
|
+
});
|
|
136
|
+
closeModal(newDocInFolderDrawerSlug);
|
|
137
|
+
},
|
|
138
|
+
redirectAfterCreate: false
|
|
139
|
+
}), collectionSlugs.includes(folderCollectionConfig.slug) && _jsx(FolderDocumentDrawer, {
|
|
153
140
|
initialData: {
|
|
154
141
|
[folderFieldName]: folderID,
|
|
155
142
|
folderType: createCollectionSlug ? folderAssignedCollections || [createCollectionSlug] : folderAssignedCollections
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListCreateNewDocInFolderButton.js","names":["c","_c","useModal","getTranslation","React","useConfig","useFolder","useTranslation","Button","DocumentDrawer","useDocumentDrawer","Popup","PopupList","baseClass","ListCreateNewDocInFolderButton","t0","$","buttonLabel","collectionSlugs","folderAssignedCollections","onCreateSuccess","slugPrefix","newDocInFolderDrawerSlug","i18n","closeModal","openModal","config","folderCollectionConfig","folderCollectionSlug","folderFieldName","folderID","t1","collectionSlug","FolderDocumentDrawer","t2","closeDrawer","closeFolderDrawer","openDrawer","openFolderDrawer","createCollectionSlug","setCreateCollectionSlug","useState","t3","reduce","acc","collectionConfig","collections","find","t4","slug","push","enabledCollections","length","t5","_jsx","drawerSlug","initialData","onSave","t6","doc","redirectAfterCreate","_jsxs","Fragment","children","buttonStyle","className","el","onClick","size","button","icon","ButtonGroup","map","collection","index","labels","singular","includes","folderType","result"],"sources":["../../../../src/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, CollectionSlug } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DocumentDrawer, useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { Popup, PopupList } from '../../Popup/index.js'\n\nconst baseClass = 'create-new-doc-in-folder'\n\nexport function ListCreateNewDocInFolderButton({\n buttonLabel,\n collectionSlugs,\n folderAssignedCollections,\n onCreateSuccess,\n slugPrefix,\n}: {\n buttonLabel: string\n collectionSlugs: CollectionSlug[]\n folderAssignedCollections: CollectionSlug[]\n onCreateSuccess: (args: {\n collectionSlug: CollectionSlug\n doc: Record<string, unknown>\n }) => Promise<void> | void\n slugPrefix: string\n}) {\n const newDocInFolderDrawerSlug = `${slugPrefix}-new-doc-in-folder-drawer`\n const { i18n } = useTranslation()\n const { closeModal, openModal } = useModal()\n const { config } = useConfig()\n const { folderCollectionConfig, folderCollectionSlug, folderFieldName, folderID } = useFolder()\n const [FolderDocumentDrawer, , { closeDrawer: closeFolderDrawer, openDrawer: openFolderDrawer }] =\n useDocumentDrawer({\n collectionSlug: folderCollectionSlug,\n })\n const [createCollectionSlug, setCreateCollectionSlug] = React.useState<string | undefined>()\n const [enabledCollections] = React.useState<ClientCollectionConfig[]>(() =>\n collectionSlugs.reduce((acc, collectionSlug) => {\n const collectionConfig = config.collections.find(({ slug }) => slug === collectionSlug)\n if (collectionConfig) {\n acc.push(collectionConfig)\n }\n return acc\n }, []),\n )\n\n if (enabledCollections.length === 0) {\n return null\n }\n\n return (\n <React.Fragment>\n {enabledCollections.length === 1 ? (\n // If there is only 1 option, do not render a popup\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__button`}\n el=\"div\"\n onClick={() => {\n if (enabledCollections[0].slug === folderCollectionConfig.slug) {\n openFolderDrawer()\n } else {\n setCreateCollectionSlug(enabledCollections[0].slug)\n openModal(newDocInFolderDrawerSlug)\n }\n }}\n size=\"small\"\n >\n {buttonLabel}\n </Button>\n ) : (\n <Popup\n button={\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__popup-button`}\n el=\"div\"\n icon=\"chevron\"\n size=\"small\"\n >\n {buttonLabel}\n </Button>\n }\n buttonType=\"default\"\n className={`${baseClass}__action-popup`}\n >\n <PopupList.ButtonGroup>\n {enabledCollections.map((collection, index) => {\n return (\n <PopupList.Button\n key={index}\n onClick={() => {\n if (collection.slug === folderCollectionConfig.slug) {\n openFolderDrawer()\n } else {\n setCreateCollectionSlug(collection.slug)\n openModal(newDocInFolderDrawerSlug)\n }\n }}\n >\n {getTranslation(collection.labels.singular, i18n)}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n\n {createCollectionSlug && (\n <DocumentDrawer\n collectionSlug={createCollectionSlug}\n drawerSlug={newDocInFolderDrawerSlug}\n initialData={{\n [folderFieldName]: folderID,\n }}\n onSave={async ({ doc }) => {\n await onCreateSuccess({\n collectionSlug: createCollectionSlug,\n doc,\n })\n closeModal(newDocInFolderDrawerSlug)\n }}\n redirectAfterCreate={false}\n />\n )}\n\n {collectionSlugs.includes(folderCollectionConfig.slug) && (\n <FolderDocumentDrawer\n initialData={{\n [folderFieldName]: folderID,\n folderType: createCollectionSlug\n ? folderAssignedCollections || [createCollectionSlug]\n : folderAssignedCollections,\n }}\n onSave={async (result) => {\n await onCreateSuccess({\n collectionSlug: folderCollectionConfig.slug,\n doc: result.doc,\n })\n closeFolderDrawer()\n }}\n redirectAfterCreate={false}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,cAAc,EAAEC,iBAAiB,QAAQ;AAClD,SAASC,KAAK,EAAEC,SAAS,QAAQ;AAEjC,MAAMC,SAAA,GAAY;AAElB,OAAO,SAAAC,+BAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAAwC;IAAAgB,WAAA;IAAAC,eAAA;IAAAC,yBAAA;IAAAC,eAAA;IAAAC;EAAA,IAAAN,EAe9C;EACC,MAAAO,wBAAA,GAAiC,GAAGD,UAAA,2BAAqC;EACzE;IAAAE;EAAA,IAAiBhB,cAAA;EACjB;IAAAiB,UAAA;IAAAC;EAAA,IAAkCvB,QAAA;EAClC;IAAAwB;EAAA,IAAmBrB,SAAA;EACnB;IAAAsB,sBAAA;IAAAC,oBAAA;IAAAC,eAAA;IAAAC;EAAA,IAAoFxB,SAAA;EAAA,IAAAyB,EAAA;EAAA,IAAAf,CAAA,QAAAY,oBAAA;IAEhEG,EAAA;MAAAC,cAAA,EACAJ;IAAA;IAClBZ,CAAA,MAAAY,oBAAA;IAAAZ,CAAA,MAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAHF,OAAAiB,oBAAA,GAAAC,EAAA,IACExB,iBAAA,CAAkBqB,EAElB;EAH6B;IAAAI,WAAA,EAAAC,iBAAA;IAAAC,UAAA,EAAAC;EAAA,IAAAJ,EAAgE;EAI/F,OAAAK,oBAAA,EAAAC,uBAAA,IAAwDpC,KAAA,CAAAqC,QAAA,CAAc;EAAA,IAAAC,EAAA;EAAA,IAAA1B,CAAA,QAAAE,eAAA,IAAAF,CAAA,QAAAU,MAAA;IACAgB,EAAA,GAAAA,CAAA,KACpExB,eAAA,CAAAyB,MAAA,EAAAC,GAAA,EAAAZ,cAAA;MACE,MAAAa,gBAAA,GAAyBnB,MAAA,CAAAoB,WAAA,CAAAC,IAAA,CAAAC,EAAA;QAAyB;UAAAC;QAAA,IAAAD,EAAQ;QAAA,OAAKC,IAAA,KAASjB,cAAA;MAAA;MAAA,IACpEa,gBAAA;QACFD,GAAA,CAAAM,IAAA,CAASL,gBAAA;MAAA;MAAA,OAEJD,GAAA;IAAA,KACJ;IAAA5B,CAAA,MAAAE,eAAA;IAAAF,CAAA,MAAAU,MAAA;IAAAV,CAAA,MAAA0B,EAAA;EAAA;IAAAA,EAAA,GAAA1B,CAAA;EAAA;EAPP,OAAAmC,kBAAA,IAA6B/C,KAAA,CAAAqC,QAAA,CAAyCC,EAO/D;EAAA,IAGHS,kBAAA,CAAAC,MAAA,MAA8B;IAAA;EAAA;EAAA,IAAAJ,EAAA;EAAA,IAAAhC,CAAA,QAAAiB,oBAAA,IAAAjB,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAoB,iBAAA,IAAApB,CAAA,QAAAQ,UAAA,IAAAR,CAAA,QAAAE,eAAA,IAAAF,CAAA,SAAAuB,oBAAA,IAAAvB,CAAA,SAAAmC,kBAAA,IAAAnC,CAAA,SAAAG,yBAAA,IAAAH,CAAA,SAAAW,sBAAA,CAAAsB,IAAA,IAAAjC,CAAA,SAAAa,eAAA,IAAAb,CAAA,SAAAc,QAAA,IAAAd,CAAA,SAAAO,IAAA,IAAAP,CAAA,SAAAM,wBAAA,IAAAN,CAAA,SAAAI,eAAA,IAAAJ,CAAA,SAAAsB,gBAAA,IAAAtB,CAAA,SAAAS,SAAA;IAAA,IAAA4B,EAAA;IAAA,IAAArC,CAAA,SAAAQ,UAAA,IAAAR,CAAA,SAAAuB,oBAAA,IAAAvB,CAAA,SAAAa,eAAA,IAAAb,CAAA,SAAAc,QAAA,IAAAd,CAAA,SAAAM,wBAAA,IAAAN,CAAA,SAAAI,eAAA;MA8D7BiC,EAAA,GAAAd,oBAAA,IACCe,IAAA,CAAA7C,cAAA;QAAAuB,cAAA,EACkBO,oBAAA;QAAAgB,UAAA,EACJjC,wBAAA;QAAAkC,WAAA;UAAA,CAET3B,eAAA,GAAkBC;QAAA;QAAA2B,MAAA,QAAAC,EAAA;UAEN;YAAAC;UAAA,IAAAD,EAAO;UAAA,MACdtC,eAAA;YAAAY,cAAA,EACYO,oBAAA;YAAAoB;UAAA,CAElB;UACAnC,UAAA,CAAWF,wBAAA;QAAA;QAAAsC,mBAAA;MAAA,C;;;;;;;;;;;IArEnBZ,EAAA,GAAAa,KAAA,CAAAzD,KAAA,CAAA0D,QAAA;MAAAC,QAAA,GACGZ,kBAAA,CAAAC,MAAA,MAA8B,GAE7BE,IAAA,CAAA9C,MAAA;QAAAwD,WAAA,EACc;QAAAC,SAAA,EACD,GAAApD,SAAA,UAAsB;QAAAqD,EAAA,EAC9B;QAAAC,OAAA,EAAAA,CAAA;UAAA,IAEGhB,kBAAkB,IAAAF,IAAA,KAAatB,sBAAA,CAAAsB,IAA2B;YAC5DX,gBAAA;UAAA;YAEAE,uBAAA,CAAwBW,kBAAkB,IAAAF,IAAQ;YAClDxB,SAAA,CAAUH,wBAAA;UAAA;QAAA;QAAA8C,IAAA,EAGT;QAAAL,QAAA,EAEJ9C;MAAA,C,IAGHqC,IAAA,CAAA3C,KAAA;QAAA0D,MAAA,EAEIf,IAAA,CAAA9C,MAAA;UAAAwD,WAAA,EACc;UAAAC,SAAA,EACD,GAAApD,SAAA,gBAA4B;UAAAqD,EAAA,EACpC;UAAAI,IAAA,EACE;UAAAF,IAAA,EACA;UAAAL,QAAA,EAEJ9C;QAAA,C;oBAGM;QAAAgD,SAAA,EACA,GAAApD,SAAA,gBAA4B;QAAAkD,QAAA,EAEvCT,IAAA,CAAA1C,SAAA,CAAA2D,WAAA;UAAAR,QAAA,EACGZ,kBAAA,CAAAqB,GAAA,EAAAC,UAAA,EAAAC,KAAA,KAEGpB,IAAA,CAAA1C,SAAA,CAAAJ,MAAA;YAAA2D,OAAA,EAAAA,CAAA;cAAA,IAGQM,UAAA,CAAAxB,IAAA,KAAoBtB,sBAAA,CAAAsB,IAA2B;gBACjDX,gBAAA;cAAA;gBAEAE,uBAAA,CAAwBiC,UAAA,CAAAxB,IAAe;gBACvCxB,SAAA,CAAUH,wBAAA;cAAA;YAAA;YAAAyC,QAAA,EAIb5D,cAAA,CAAesE,UAAA,CAAAE,MAAA,CAAAC,QAAA,EAA4BrD,IAAA;UAAA,GAVvCmD,KAAA,CAaX;QAAA,C;UAKLrB,E,EAkBAnC,eAAA,CAAA2D,QAAA,CAAyBlD,sBAAA,CAAAsB,IAA2B,KACnDK,IAAA,CAACrB,oBAAA;QAAAuB,WAAA;UAAA,CAEI3B,eAAA,GAAkBC,QAAA;UAAAgD,UAAA,EACPvC,oBAAA,GACRpB,yBAAA,KAA8BoB,oBAAA,CAAqB,GACnDpB;QAAA;QAAAsC,MAAA,QAAAsB,MAAA;UAAA,MAGE3D,eAAA;YAAAY,cAAA,EACYL,sBAAA,CAAAsB,IAAA;YAAAU,GAAA,EACXoB,MAAA,CAAApB;UAAA,CACP;UACAvB,iBAAA;QAAA;QAAAwB,mBAAA;MAAA,C;;;;;;;;;;;;;;;;;;;;;;SAxFRZ,E","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ListCreateNewDocInFolderButton.js","names":["c","_c","useModal","getTranslation","React","useConfig","useFolder","useTranslation","Button","DocumentDrawer","useDocumentDrawer","Popup","PopupList","baseClass","ListCreateNewDocInFolderButton","t0","$","buttonLabel","collectionSlugs","folderAssignedCollections","onCreateSuccess","slugPrefix","newDocInFolderDrawerSlug","i18n","closeModal","openModal","config","folderCollectionConfig","folderCollectionSlug","folderFieldName","folderID","t1","collectionSlug","FolderDocumentDrawer","t2","closeDrawer","closeFolderDrawer","openDrawer","openFolderDrawer","createCollectionSlug","setCreateCollectionSlug","useState","t3","reduce","acc","collectionConfig","collections","find","t4","slug","push","enabledCollections","length","_jsxs","Fragment","children","_jsx","buttonStyle","className","el","onClick","size","button","icon","ButtonGroup","map","collection","index","labels","singular","drawerSlug","initialData","onSave","t5","doc","redirectAfterCreate","includes","folderType","result"],"sources":["../../../../src/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, CollectionSlug } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DocumentDrawer, useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { Popup, PopupList } from '../../Popup/index.js'\n\nconst baseClass = 'create-new-doc-in-folder'\n\nexport function ListCreateNewDocInFolderButton({\n buttonLabel,\n collectionSlugs,\n folderAssignedCollections,\n onCreateSuccess,\n slugPrefix,\n}: {\n buttonLabel: string\n collectionSlugs: CollectionSlug[]\n folderAssignedCollections: CollectionSlug[]\n onCreateSuccess: (args: {\n collectionSlug: CollectionSlug\n doc: Record<string, unknown>\n }) => Promise<void> | void\n slugPrefix: string\n}) {\n const newDocInFolderDrawerSlug = `${slugPrefix}-new-doc-in-folder-drawer`\n const { i18n } = useTranslation()\n const { closeModal, openModal } = useModal()\n const { config } = useConfig()\n const { folderCollectionConfig, folderCollectionSlug, folderFieldName, folderID } = useFolder()\n const [FolderDocumentDrawer, , { closeDrawer: closeFolderDrawer, openDrawer: openFolderDrawer }] =\n useDocumentDrawer({\n collectionSlug: folderCollectionSlug,\n })\n const [createCollectionSlug, setCreateCollectionSlug] = React.useState<string | undefined>()\n const [enabledCollections] = React.useState<ClientCollectionConfig[]>(() =>\n collectionSlugs.reduce((acc, collectionSlug) => {\n const collectionConfig = config.collections.find(({ slug }) => slug === collectionSlug)\n if (collectionConfig) {\n acc.push(collectionConfig)\n }\n return acc\n }, []),\n )\n\n if (enabledCollections.length === 0) {\n return null\n }\n\n return (\n <React.Fragment>\n {enabledCollections.length === 1 ? (\n // If there is only 1 option, do not render a popup\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__button`}\n el=\"div\"\n onClick={() => {\n if (enabledCollections[0].slug === folderCollectionConfig.slug) {\n openFolderDrawer()\n } else {\n setCreateCollectionSlug(enabledCollections[0].slug)\n openModal(newDocInFolderDrawerSlug)\n }\n }}\n size=\"small\"\n >\n {buttonLabel}\n </Button>\n ) : (\n <Popup\n button={\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__popup-button`}\n el=\"div\"\n icon=\"chevron\"\n size=\"small\"\n >\n {buttonLabel}\n </Button>\n }\n buttonType=\"default\"\n className={`${baseClass}__action-popup`}\n >\n <PopupList.ButtonGroup>\n {enabledCollections.map((collection, index) => {\n return (\n <PopupList.Button\n key={index}\n onClick={() => {\n if (collection.slug === folderCollectionConfig.slug) {\n openFolderDrawer()\n } else {\n setCreateCollectionSlug(collection.slug)\n openModal(newDocInFolderDrawerSlug)\n }\n }}\n >\n {getTranslation(collection.labels.singular, i18n)}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n\n {createCollectionSlug && (\n <DocumentDrawer\n collectionSlug={createCollectionSlug}\n drawerSlug={newDocInFolderDrawerSlug}\n initialData={{\n [folderFieldName]: folderID,\n }}\n onSave={async ({ doc }) => {\n await onCreateSuccess({\n collectionSlug: createCollectionSlug,\n doc,\n })\n closeModal(newDocInFolderDrawerSlug)\n }}\n redirectAfterCreate={false}\n />\n )}\n\n {collectionSlugs.includes(folderCollectionConfig.slug) && (\n <FolderDocumentDrawer\n initialData={{\n [folderFieldName]: folderID,\n folderType: createCollectionSlug\n ? folderAssignedCollections || [createCollectionSlug]\n : folderAssignedCollections,\n }}\n onSave={async (result) => {\n await onCreateSuccess({\n collectionSlug: folderCollectionConfig.slug,\n doc: result.doc,\n })\n closeFolderDrawer()\n }}\n redirectAfterCreate={false}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ import { Button } from '../Button/index.js';
|
|
|
10
10
|
import './index.scss';
|
|
11
11
|
const baseClass = 'list-pills';
|
|
12
12
|
export function DefaultListPill(t0) {
|
|
13
|
-
const $ = _c(
|
|
13
|
+
const $ = _c(12);
|
|
14
14
|
const {
|
|
15
15
|
collectionConfig,
|
|
16
16
|
viewType
|
|
@@ -25,21 +25,28 @@ export function DefaultListPill(t0) {
|
|
|
25
25
|
const buttonLabel = `${t("general:all")} ${getTranslation(collectionConfig?.labels?.plural, i18n)}`;
|
|
26
26
|
let t1;
|
|
27
27
|
if ($[0] !== buttonLabel || $[1] !== collectionConfig.labels?.plural || $[2] !== collectionConfig.slug || $[3] !== config.routes.admin || $[4] !== config.serverURL || $[5] !== i18n || $[6] !== t || $[7] !== viewType) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if ($[9] !== t2) {
|
|
32
|
-
t3 = [`${baseClass}__button`, t2].filter(Boolean);
|
|
28
|
+
let t2;
|
|
29
|
+
if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
|
|
30
|
+
t2 = /\s+/g;
|
|
33
31
|
$[9] = t2;
|
|
32
|
+
} else {
|
|
33
|
+
t2 = $[9];
|
|
34
|
+
}
|
|
35
|
+
const buttonId = buttonLabel.toLowerCase().replace(t2, "-");
|
|
36
|
+
const t3 = viewType === "list" && `${baseClass}__button--active`;
|
|
37
|
+
let t4;
|
|
38
|
+
if ($[10] !== t3) {
|
|
39
|
+
t4 = [`${baseClass}__button`, t3].filter(Boolean);
|
|
34
40
|
$[10] = t3;
|
|
41
|
+
$[11] = t4;
|
|
35
42
|
} else {
|
|
36
|
-
|
|
43
|
+
t4 = $[11];
|
|
37
44
|
}
|
|
38
45
|
t1 = _jsx("div", {
|
|
39
46
|
className: baseClass,
|
|
40
47
|
children: _jsxs(Button, {
|
|
41
48
|
buttonStyle: "tab",
|
|
42
|
-
className:
|
|
49
|
+
className: t4.join(" "),
|
|
43
50
|
disabled: viewType === "list",
|
|
44
51
|
el: viewType === "folders" || viewType === "trash" ? "link" : "div",
|
|
45
52
|
id: buttonId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultListPill.js","names":["c","_c","getTranslation","formatAdminURL","useConfig","useTranslation","Button","baseClass","DefaultListPill","t0","$","collectionConfig","viewType","i18n","t","config","buttonLabel","labels","plural","t1","slug","routes","admin","serverURL","buttonId","toLowerCase","replace","
|
|
1
|
+
{"version":3,"file":"DefaultListPill.js","names":["c","_c","getTranslation","formatAdminURL","useConfig","useTranslation","Button","baseClass","DefaultListPill","t0","$","collectionConfig","viewType","i18n","t","config","buttonLabel","labels","plural","t1","slug","routes","admin","serverURL","t2","Symbol","for","buttonId","toLowerCase","replace","t3","t4","filter","Boolean","_jsx","className","children","_jsxs","buttonStyle","join","disabled","el","id","to","adminRoute","path"],"sources":["../../../src/elements/ListHeaderTabs/DefaultListPill.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ViewTypes } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-pills'\n\ntype DefaultListPillProps = {\n readonly collectionConfig: ClientCollectionConfig\n readonly viewType: ViewTypes\n}\n\nexport function DefaultListPill({ collectionConfig, viewType }: DefaultListPillProps) {\n const { i18n, t } = useTranslation()\n const { config } = useConfig()\n\n const buttonLabel = `${t('general:all')} ${getTranslation(collectionConfig?.labels?.plural, i18n)}`\n const buttonId = buttonLabel.toLowerCase().replace(/\\s+/g, '-')\n\n return (\n <div className={baseClass}>\n <Button\n buttonStyle=\"tab\"\n className={[`${baseClass}__button`, viewType === 'list' && `${baseClass}__button--active`]\n .filter(Boolean)\n .join(' ')}\n disabled={viewType === 'list'}\n el={viewType === 'folders' || viewType === 'trash' ? 'link' : 'div'}\n id={buttonId}\n to={formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionConfig.slug}`,\n serverURL: config.serverURL,\n })}\n >\n {t('general:all')} {getTranslation(collectionConfig?.labels?.plural, i18n)}\n </Button>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAE/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAOlB,OAAO,SAAAC,gBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAyB;IAAAU,gBAAA;IAAAC;EAAA,IAAAH,EAAoD;EAClF;IAAAI,IAAA;IAAAC;EAAA,IAAoBT,cAAA;EACpB;IAAAU;EAAA,IAAmBX,SAAA;EAEnB,MAAAY,WAAA,GAAoB,GAAGF,CAAA,CAAE,kBAAkBZ,cAAA,CAAeS,gBAAA,EAAAM,MAAA,EAAAC,MAAA,EAAkCL,IAAA,GAAO;EAAA,IAAAM,EAAA;EAAA,IAAAT,CAAA,QAAAM,WAAA,IAAAN,CAAA,QAAAC,gBAAA,CAAAM,MAAA,EAAAC,MAAA,IAAAR,CAAA,QAAAC,gBAAA,CAAAS,IAAA,IAAAV,CAAA,QAAAK,MAAA,CAAAM,MAAA,CAAAC,KAAA,IAAAZ,CAAA,QAAAK,MAAA,CAAAQ,SAAA,IAAAb,CAAA,QAAAG,IAAA,IAAAH,CAAA,QAAAI,CAAA,IAAAJ,CAAA,QAAAE,QAAA;IAAA,IAAAY,EAAA;IAAA,IAAAd,CAAA,QAAAe,MAAA,CAAAC,GAAA;MAChDF,EAAA;MAAAd,CAAA,MAAAc,EAAA;IAAA;MAAAA,EAAA,GAAAd,CAAA;IAAA;IAAnD,MAAAiB,QAAA,GAAiBX,WAAA,CAAAY,WAAA,CAAuB,EAAAC,OAAA,CAAWL,EAAA,EAAQ;IAMjB,MAAAM,EAAA,GAAAlB,QAAA,KAAa,UAAU,GAAAL,SAAA,kBAA8B;IAAA,IAAAwB,EAAA;IAAA,IAAArB,CAAA,SAAAoB,EAAA;MAA9EC,EAAA,IAAC,GAAAxB,SAAA,UAAsB,EAAEuB,EAAqD,EAAAE,MAAA,CAAAC,OAC/E;MAAAvB,CAAA,OAAAoB,EAAA;MAAApB,CAAA,OAAAqB,EAAA;IAAA;MAAAA,EAAA,GAAArB,CAAA;IAAA;IAJdS,EAAA,GAAAe,IAAA,CAAC;MAAAC,SAAA,EAAA5B,SAAA;MAAA6B,QAAA,EACCC,KAAA,CAAA/B,MAAA;QAAAgC,WAAA,EACc;QAAAH,SAAA,EACDJ,EACD,CAAAQ,IAAA,CACF;QAAAC,QAAA,EACE5B,QAAA,KAAa;QAAA6B,EAAA,EACnB7B,QAAA,KAAa,aAAaA,QAAA,KAAa,UAAU,SAAS;QAAA8B,EAAA,EAC1Df,QAAA;QAAAgB,EAAA,EACAxC,cAAA;UAAAyC,UAAA,EACU7B,MAAA,CAAAM,MAAA,CAAAC,KAAA;UAAAuB,IAAA,EACN,gBAAgBlC,gBAAA,CAAAS,IAAA,EAAuB;UAAAG,SAAA,EAClCR,MAAA,CAAAQ;QAAA,CACb;QAAAa,QAAA,GAECtB,CAAA,CAAE,gBAAe,KAAEZ,cAAA,CAAeS,gBAAA,EAAAM,MAAA,EAAAC,MAAA,EAAkCL,IAAA;MAAA,C;;;;;;;;;;;;;;SAfzEM,E","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ import { Button } from '../Button/index.js';
|
|
|
8
8
|
import './index.scss';
|
|
9
9
|
const baseClass = 'list-selection';
|
|
10
10
|
export function ListSelection_v4(t0) {
|
|
11
|
-
const $ = _c(
|
|
11
|
+
const $ = _c(5);
|
|
12
12
|
const {
|
|
13
13
|
count,
|
|
14
14
|
ListActions,
|
|
@@ -19,44 +19,28 @@ export function ListSelection_v4(t0) {
|
|
|
19
19
|
} = useTranslation();
|
|
20
20
|
let t1;
|
|
21
21
|
if ($[0] !== ListActions || $[1] !== SelectionActions || $[2] !== count || $[3] !== t) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
t1 = _jsxs("div", {
|
|
23
|
+
className: baseClass,
|
|
24
|
+
children: [_jsx("span", {
|
|
25
|
+
children: t("general:selectedCount", {
|
|
26
|
+
count,
|
|
27
|
+
label: ""
|
|
28
|
+
})
|
|
29
|
+
}), ListActions && ListActions.length > 0 && _jsxs(React.Fragment, {
|
|
25
30
|
children: [_jsx("span", {
|
|
26
31
|
children: "\u2014"
|
|
27
32
|
}), _jsx("div", {
|
|
28
33
|
className: `${baseClass}__actions`,
|
|
29
34
|
children: ListActions
|
|
30
35
|
})]
|
|
31
|
-
})
|
|
32
|
-
$[5] = ListActions;
|
|
33
|
-
$[6] = t2;
|
|
34
|
-
} else {
|
|
35
|
-
t2 = $[6];
|
|
36
|
-
}
|
|
37
|
-
let t3;
|
|
38
|
-
if ($[7] !== SelectionActions) {
|
|
39
|
-
t3 = SelectionActions && SelectionActions.length > 0 && _jsxs(React.Fragment, {
|
|
36
|
+
}), SelectionActions && SelectionActions.length > 0 && _jsxs(React.Fragment, {
|
|
40
37
|
children: [_jsx("span", {
|
|
41
38
|
children: "\u2014"
|
|
42
39
|
}), _jsx("div", {
|
|
43
40
|
className: `${baseClass}__actions`,
|
|
44
41
|
children: SelectionActions
|
|
45
42
|
})]
|
|
46
|
-
})
|
|
47
|
-
$[7] = SelectionActions;
|
|
48
|
-
$[8] = t3;
|
|
49
|
-
} else {
|
|
50
|
-
t3 = $[8];
|
|
51
|
-
}
|
|
52
|
-
t1 = _jsxs("div", {
|
|
53
|
-
className: baseClass,
|
|
54
|
-
children: [_jsx("span", {
|
|
55
|
-
children: t("general:selectedCount", {
|
|
56
|
-
count,
|
|
57
|
-
label: ""
|
|
58
|
-
})
|
|
59
|
-
}), t2, t3]
|
|
43
|
+
})]
|
|
60
44
|
});
|
|
61
45
|
$[0] = ListActions;
|
|
62
46
|
$[1] = SelectionActions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useTranslation","Button","baseClass","ListSelection_v4","t0","$","count","ListActions","SelectionActions","t","t1","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useTranslation","Button","baseClass","ListSelection_v4","t0","$","count","ListActions","SelectionActions","t","t1","_jsxs","className","children","_jsx","label","length","Fragment","ListSelectionButton","props","buttonStyle","filter","Boolean","join"],"sources":["../../../src/elements/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { Props as ButtonProps } from '../Button/types.js'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-selection'\n\ntype ListSelection_v4Props = {\n /**\n * The count of selected items\n */\n readonly count: number\n /**\n * Actions that apply to the list as a whole\n *\n * @example select all, clear selection\n */\n readonly ListActions?: React.ReactNode[]\n /**\n * Actions that apply to the selected items\n *\n * @example edit, delete, publish, unpublish\n */\n readonly SelectionActions?: React.ReactNode[]\n}\nexport function ListSelection_v4({ count, ListActions, SelectionActions }: ListSelection_v4Props) {\n const { t } = useTranslation()\n\n return (\n <div className={baseClass}>\n <span>{t('general:selectedCount', { count, label: '' })}</span>\n {ListActions && ListActions.length > 0 && (\n <React.Fragment>\n <span>—</span>\n <div className={`${baseClass}__actions`}>{ListActions}</div>\n </React.Fragment>\n )}\n {SelectionActions && SelectionActions.length > 0 && (\n <React.Fragment>\n <span>—</span>\n <div className={`${baseClass}__actions`}>{SelectionActions}</div>\n </React.Fragment>\n )}\n </div>\n )\n}\n\ntype ListSelectionButtonProps = {} & ButtonProps\nexport function ListSelectionButton({ children, className, ...props }: ListSelectionButtonProps) {\n return (\n <Button\n {...props}\n buttonStyle=\"none\"\n className={[`${baseClass}__button`, className].filter(Boolean).join(' ')}\n >\n {children}\n </Button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAIlB,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAoBlB,OAAO,SAAAC,iBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAA0B;IAAAQ,KAAA;IAAAC,WAAA;IAAAC;EAAA,IAAAJ,EAA+D;EAC9F;IAAAK;EAAA,IAAcT,cAAA;EAAA,IAAAU,EAAA;EAAA,IAAAL,CAAA,QAAAE,WAAA,IAAAF,CAAA,QAAAG,gBAAA,IAAAH,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAI,CAAA;IAGZC,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAAV,SAAA;MAAAW,QAAA,GACCC,IAAA,CAAC;QAAAD,QAAA,EAAMJ,CAAA,CAAE;UAAAH,KAAA;UAAAS,KAAA,EAAyC;QAAA,CAAG;MAAA,C,GACpDR,WAAA,IAAeA,WAAA,CAAAS,MAAA,IAAqB,IACnCL,KAAA,CAAAZ,KAAA,CAAAkB,QAAA;QAAAJ,QAAA,GACEC,IAAA,CAAC;UAAAD,QAAA,EAAK;QAAA,C,GACNC,IAAA,CAAC;UAAAF,SAAA,EAAe,GAAAV,SAAA,WAAuB;UAAAW,QAAA,EAAGN;QAAA,C;UAG7CC,gBAAA,IAAoBA,gBAAA,CAAAQ,MAAA,IAA0B,IAC7CL,KAAA,CAAAZ,KAAA,CAAAkB,QAAA;QAAAJ,QAAA,GACEC,IAAA,CAAC;UAAAD,QAAA,EAAK;QAAA,C,GACNC,IAAA,CAAC;UAAAF,SAAA,EAAe,GAAAV,SAAA,WAAuB;UAAAW,QAAA,EAAGL;QAAA,C;;;;;;;;;;;SAXhDE,E;;AAmBJ,OAAO,SAASQ,oBAAoB;EAAEL,QAAQ;EAAED,SAAS;EAAE,GAAGO;AAAA,CAAiC;EAC7F,oBACEL,IAAA,CAACb,MAAA;IACE,GAAGkB,KAAK;IACTC,WAAA,EAAY;IACZR,SAAA,EAAW,CAAC,GAAGV,SAAA,UAAmB,EAAEU,SAAA,CAAU,CAACS,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;cAEnEV;;AAGP","ignoreList":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
4
|
import { reduceFieldsToValues } from 'payload/shared';
|
|
6
5
|
import React, { useEffect } from 'react';
|
|
@@ -15,7 +14,6 @@ import { LivePreviewToolbar } from '../Toolbar/index.js';
|
|
|
15
14
|
import './index.scss';
|
|
16
15
|
const baseClass = 'live-preview-window';
|
|
17
16
|
export const LivePreviewWindow = props => {
|
|
18
|
-
const $ = _c(46);
|
|
19
17
|
const {
|
|
20
18
|
appIsReady,
|
|
21
19
|
breakpoint,
|
|
@@ -34,149 +32,80 @@ export const LivePreviewWindow = props => {
|
|
|
34
32
|
} = useDocumentEvents();
|
|
35
33
|
const prevWindowType = React.useRef(undefined);
|
|
36
34
|
const [formState] = useAllFormFields();
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
$[0] = appIsReady;
|
|
63
|
-
$[1] = fieldSchemaJSON;
|
|
64
|
-
$[2] = formState;
|
|
65
|
-
$[3] = iframeRef;
|
|
66
|
-
$[4] = isLivePreviewing;
|
|
67
|
-
$[5] = locale;
|
|
68
|
-
$[6] = mostRecentUpdate;
|
|
69
|
-
$[7] = popupRef;
|
|
70
|
-
$[8] = previewWindowType;
|
|
71
|
-
$[9] = url;
|
|
72
|
-
$[10] = t0;
|
|
73
|
-
} else {
|
|
74
|
-
t0 = $[10];
|
|
75
|
-
}
|
|
76
|
-
let t1;
|
|
77
|
-
if ($[11] !== appIsReady || $[12] !== fieldSchemaJSON || $[13] !== formState || $[14] !== iframeHasLoaded || $[15] !== iframeRef || $[16] !== isLivePreviewing || $[17] !== locale || $[18] !== mostRecentUpdate || $[19] !== popupRef || $[20] !== previewWindowType || $[21] !== setIframeHasLoaded || $[22] !== url) {
|
|
78
|
-
t1 = [formState, url, iframeHasLoaded, previewWindowType, popupRef, appIsReady, iframeRef, setIframeHasLoaded, fieldSchemaJSON, mostRecentUpdate, locale, isLivePreviewing];
|
|
79
|
-
$[11] = appIsReady;
|
|
80
|
-
$[12] = fieldSchemaJSON;
|
|
81
|
-
$[13] = formState;
|
|
82
|
-
$[14] = iframeHasLoaded;
|
|
83
|
-
$[15] = iframeRef;
|
|
84
|
-
$[16] = isLivePreviewing;
|
|
85
|
-
$[17] = locale;
|
|
86
|
-
$[18] = mostRecentUpdate;
|
|
87
|
-
$[19] = popupRef;
|
|
88
|
-
$[20] = previewWindowType;
|
|
89
|
-
$[21] = setIframeHasLoaded;
|
|
90
|
-
$[22] = url;
|
|
91
|
-
$[23] = t1;
|
|
92
|
-
} else {
|
|
93
|
-
t1 = $[23];
|
|
94
|
-
}
|
|
95
|
-
useEffect(t0, t1);
|
|
96
|
-
let t2;
|
|
97
|
-
if ($[24] !== iframeRef || $[25] !== isLivePreviewing || $[26] !== popupRef || $[27] !== previewWindowType || $[28] !== url) {
|
|
98
|
-
t2 = () => {
|
|
99
|
-
if (!isLivePreviewing) {
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
const message_0 = {
|
|
103
|
-
type: "payload-document-event"
|
|
35
|
+
// For client-side apps, send data through `window.postMessage`
|
|
36
|
+
// The preview could either be an iframe embedded on the page
|
|
37
|
+
// Or it could be a separate popup window
|
|
38
|
+
// We need to transmit data to both accordingly
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
if (!isLivePreviewing) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
// For performance, do no reduce fields to values until after the iframe or popup has loaded
|
|
44
|
+
if (formState && window && 'postMessage' in window && appIsReady) {
|
|
45
|
+
const values = reduceFieldsToValues(formState, true);
|
|
46
|
+
// To reduce on large `postMessage` payloads, only send `fieldSchemaToJSON` one time
|
|
47
|
+
// To do this, the underlying JS function maintains a cache of this value
|
|
48
|
+
// So we need to send it through each time the window type changes
|
|
49
|
+
// But only once per window type change, not on every render, because this is a potentially large obj
|
|
50
|
+
const shouldSendSchema = !prevWindowType.current || prevWindowType.current !== previewWindowType;
|
|
51
|
+
prevWindowType.current = previewWindowType;
|
|
52
|
+
const message = {
|
|
53
|
+
type: 'payload-live-preview',
|
|
54
|
+
data: values,
|
|
55
|
+
externallyUpdatedRelationship: mostRecentUpdate,
|
|
56
|
+
fieldSchemaJSON: shouldSendSchema ? fieldSchemaJSON : undefined,
|
|
57
|
+
locale: locale.code
|
|
104
58
|
};
|
|
105
|
-
|
|
106
|
-
|
|
59
|
+
// Post message to external popup window
|
|
60
|
+
if (previewWindowType === 'popup' && popupRef.current) {
|
|
61
|
+
popupRef.current.postMessage(message, url);
|
|
107
62
|
}
|
|
108
|
-
|
|
109
|
-
|
|
63
|
+
// Post message to embedded iframe
|
|
64
|
+
if (previewWindowType === 'iframe' && iframeRef.current) {
|
|
65
|
+
iframeRef.current.contentWindow?.postMessage(message, url);
|
|
110
66
|
}
|
|
67
|
+
}
|
|
68
|
+
}, [formState, url, iframeHasLoaded, previewWindowType, popupRef, appIsReady, iframeRef, setIframeHasLoaded, fieldSchemaJSON, mostRecentUpdate, locale, isLivePreviewing]);
|
|
69
|
+
// To support SSR, we transmit a `window.postMessage` event without a payload
|
|
70
|
+
// This is because the event will ultimately trigger a server-side roundtrip
|
|
71
|
+
// i.e., save, save draft, autosave, etc. will fire `router.refresh()`
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
if (!isLivePreviewing) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const message_0 = {
|
|
77
|
+
type: 'payload-document-event'
|
|
111
78
|
};
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
$[27] = previewWindowType;
|
|
116
|
-
$[28] = url;
|
|
117
|
-
$[29] = t2;
|
|
118
|
-
} else {
|
|
119
|
-
t2 = $[29];
|
|
120
|
-
}
|
|
121
|
-
let t3;
|
|
122
|
-
if ($[30] !== iframeRef || $[31] !== isLivePreviewing || $[32] !== mostRecentUpdate || $[33] !== popupRef || $[34] !== previewWindowType || $[35] !== url) {
|
|
123
|
-
t3 = [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url, isLivePreviewing];
|
|
124
|
-
$[30] = iframeRef;
|
|
125
|
-
$[31] = isLivePreviewing;
|
|
126
|
-
$[32] = mostRecentUpdate;
|
|
127
|
-
$[33] = popupRef;
|
|
128
|
-
$[34] = previewWindowType;
|
|
129
|
-
$[35] = url;
|
|
130
|
-
$[36] = t3;
|
|
131
|
-
} else {
|
|
132
|
-
t3 = $[36];
|
|
133
|
-
}
|
|
134
|
-
useEffect(t2, t3);
|
|
135
|
-
if (previewWindowType === "iframe") {
|
|
136
|
-
const t4 = isLivePreviewing && `${baseClass}--is-live-previewing`;
|
|
137
|
-
const t5 = breakpoint && breakpoint !== "responsive" && `${baseClass}--has-breakpoint`;
|
|
138
|
-
let t6;
|
|
139
|
-
if ($[37] !== t4 || $[38] !== t5) {
|
|
140
|
-
t6 = [baseClass, t4, t5].filter(Boolean);
|
|
141
|
-
$[37] = t4;
|
|
142
|
-
$[38] = t5;
|
|
143
|
-
$[39] = t6;
|
|
144
|
-
} else {
|
|
145
|
-
t6 = $[39];
|
|
79
|
+
// Post message to external popup window
|
|
80
|
+
if (previewWindowType === 'popup' && popupRef.current) {
|
|
81
|
+
popupRef.current.postMessage(message_0, url);
|
|
146
82
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
t8 = _jsx("div", {
|
|
151
|
-
className: t7,
|
|
152
|
-
children: _jsxs("div", {
|
|
153
|
-
className: `${baseClass}__wrapper`,
|
|
154
|
-
children: [_jsx(LivePreviewToolbar, {
|
|
155
|
-
...props
|
|
156
|
-
}), _jsx("div", {
|
|
157
|
-
className: `${baseClass}__main`,
|
|
158
|
-
children: _jsx(DeviceContainer, {
|
|
159
|
-
children: url ? _jsx(IFrame, {
|
|
160
|
-
ref: iframeRef,
|
|
161
|
-
setIframeHasLoaded,
|
|
162
|
-
url
|
|
163
|
-
}) : _jsx(ShimmerEffect, {
|
|
164
|
-
height: "100%"
|
|
165
|
-
})
|
|
166
|
-
})
|
|
167
|
-
})]
|
|
168
|
-
})
|
|
169
|
-
});
|
|
170
|
-
$[40] = iframeRef;
|
|
171
|
-
$[41] = props;
|
|
172
|
-
$[42] = setIframeHasLoaded;
|
|
173
|
-
$[43] = t7;
|
|
174
|
-
$[44] = url;
|
|
175
|
-
$[45] = t8;
|
|
176
|
-
} else {
|
|
177
|
-
t8 = $[45];
|
|
83
|
+
// Post message to embedded iframe
|
|
84
|
+
if (previewWindowType === 'iframe' && iframeRef.current) {
|
|
85
|
+
iframeRef.current.contentWindow?.postMessage(message_0, url);
|
|
178
86
|
}
|
|
179
|
-
|
|
87
|
+
}, [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url, isLivePreviewing]);
|
|
88
|
+
if (previewWindowType === 'iframe') {
|
|
89
|
+
return /*#__PURE__*/_jsx("div", {
|
|
90
|
+
className: [baseClass, isLivePreviewing && `${baseClass}--is-live-previewing`, breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`].filter(Boolean).join(' '),
|
|
91
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
92
|
+
className: `${baseClass}__wrapper`,
|
|
93
|
+
children: [/*#__PURE__*/_jsx(LivePreviewToolbar, {
|
|
94
|
+
...props
|
|
95
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
96
|
+
className: `${baseClass}__main`,
|
|
97
|
+
children: /*#__PURE__*/_jsx(DeviceContainer, {
|
|
98
|
+
children: url ? /*#__PURE__*/_jsx(IFrame, {
|
|
99
|
+
ref: iframeRef,
|
|
100
|
+
setIframeHasLoaded: setIframeHasLoaded,
|
|
101
|
+
url: url
|
|
102
|
+
}) : /*#__PURE__*/_jsx(ShimmerEffect, {
|
|
103
|
+
height: "100%"
|
|
104
|
+
})
|
|
105
|
+
})
|
|
106
|
+
})]
|
|
107
|
+
})
|
|
108
|
+
});
|
|
180
109
|
}
|
|
181
110
|
};
|
|
182
111
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","reduceFieldsToValues","React","useEffect","useAllFormFields","useDocumentEvents","useLivePreviewContext","useLocale","ShimmerEffect","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreviewWindow","props","$","appIsReady","breakpoint","fieldSchemaJSON","iframeHasLoaded","iframeRef","isLivePreviewing","popupRef","previewWindowType","setIframeHasLoaded","url","locale","mostRecentUpdate","prevWindowType","useRef","undefined","formState","t0","window","values","shouldSendSchema","current","message","type","data","externallyUpdatedRelationship","code","postMessage","contentWindow","t1","t2","message_0","t3","t4","t5","t6","filter","Boolean","t7","join","t8","_jsx","className","children","_jsxs","ref","height"],"sources":["../../../../src/elements/LivePreview/Window/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport { useAllFormFields } from '../../../forms/Form/context.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useLivePreviewContext } from '../../../providers/LivePreview/context.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { DeviceContainer } from '../Device/index.js'\nimport { IFrame } from '../IFrame/index.js'\nimport { LivePreviewToolbar } from '../Toolbar/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-window'\n\nexport const LivePreviewWindow: React.FC<EditViewProps> = (props) => {\n const {\n appIsReady,\n breakpoint,\n fieldSchemaJSON,\n iframeHasLoaded,\n iframeRef,\n isLivePreviewing,\n popupRef,\n previewWindowType,\n setIframeHasLoaded,\n url,\n } = useLivePreviewContext()\n\n const locale = useLocale()\n\n const { mostRecentUpdate } = useDocumentEvents()\n\n const prevWindowType =\n React.useRef<ReturnType<typeof useLivePreviewContext>['previewWindowType']>(undefined)\n\n const [formState] = useAllFormFields()\n\n // For client-side apps, send data through `window.postMessage`\n // The preview could either be an iframe embedded on the page\n // Or it could be a separate popup window\n // We need to transmit data to both accordingly\n useEffect(() => {\n if (!isLivePreviewing) {\n return\n }\n\n // For performance, do no reduce fields to values until after the iframe or popup has loaded\n if (formState && window && 'postMessage' in window && appIsReady) {\n const values = reduceFieldsToValues(formState, true)\n\n // To reduce on large `postMessage` payloads, only send `fieldSchemaToJSON` one time\n // To do this, the underlying JS function maintains a cache of this value\n // So we need to send it through each time the window type changes\n // But only once per window type change, not on every render, because this is a potentially large obj\n const shouldSendSchema =\n !prevWindowType.current || prevWindowType.current !== previewWindowType\n\n prevWindowType.current = previewWindowType\n\n const message = {\n type: 'payload-live-preview',\n data: values,\n externallyUpdatedRelationship: mostRecentUpdate,\n fieldSchemaJSON: shouldSendSchema ? fieldSchemaJSON : undefined,\n locale: locale.code,\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }\n }, [\n formState,\n url,\n iframeHasLoaded,\n previewWindowType,\n popupRef,\n appIsReady,\n iframeRef,\n setIframeHasLoaded,\n fieldSchemaJSON,\n mostRecentUpdate,\n locale,\n isLivePreviewing,\n ])\n\n // To support SSR, we transmit a `window.postMessage` event without a payload\n // This is because the event will ultimately trigger a server-side roundtrip\n // i.e., save, save draft, autosave, etc. will fire `router.refresh()`\n useEffect(() => {\n if (!isLivePreviewing) {\n return\n }\n\n const message = {\n type: 'payload-document-event',\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }, [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url, isLivePreviewing])\n\n if (previewWindowType === 'iframe') {\n return (\n <div\n className={[\n baseClass,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__wrapper`}>\n <LivePreviewToolbar {...props} />\n <div className={`${baseClass}__main`}>\n <DeviceContainer>\n {url ? (\n <IFrame ref={iframeRef} setIframeHasLoaded={setIframeHasLoaded} url={url} />\n ) : (\n <ShimmerEffect height=\"100%\" />\n )}\n </DeviceContainer>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["reduceFieldsToValues","React","useEffect","useAllFormFields","useDocumentEvents","useLivePreviewContext","useLocale","ShimmerEffect","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreviewWindow","props","appIsReady","breakpoint","fieldSchemaJSON","iframeHasLoaded","iframeRef","isLivePreviewing","popupRef","previewWindowType","setIframeHasLoaded","url","locale","mostRecentUpdate","prevWindowType","useRef","undefined","formState","window","values","shouldSendSchema","current","message","type","data","externallyUpdatedRelationship","code","postMessage","contentWindow","_jsx","className","filter","Boolean","join","_jsxs","ref","height"],"sources":["../../../../src/elements/LivePreview/Window/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport { useAllFormFields } from '../../../forms/Form/context.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useLivePreviewContext } from '../../../providers/LivePreview/context.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { DeviceContainer } from '../Device/index.js'\nimport { IFrame } from '../IFrame/index.js'\nimport { LivePreviewToolbar } from '../Toolbar/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-window'\n\nexport const LivePreviewWindow: React.FC<EditViewProps> = (props) => {\n const {\n appIsReady,\n breakpoint,\n fieldSchemaJSON,\n iframeHasLoaded,\n iframeRef,\n isLivePreviewing,\n popupRef,\n previewWindowType,\n setIframeHasLoaded,\n url,\n } = useLivePreviewContext()\n\n const locale = useLocale()\n\n const { mostRecentUpdate } = useDocumentEvents()\n\n const prevWindowType =\n React.useRef<ReturnType<typeof useLivePreviewContext>['previewWindowType']>(undefined)\n\n const [formState] = useAllFormFields()\n\n // For client-side apps, send data through `window.postMessage`\n // The preview could either be an iframe embedded on the page\n // Or it could be a separate popup window\n // We need to transmit data to both accordingly\n useEffect(() => {\n if (!isLivePreviewing) {\n return\n }\n\n // For performance, do no reduce fields to values until after the iframe or popup has loaded\n if (formState && window && 'postMessage' in window && appIsReady) {\n const values = reduceFieldsToValues(formState, true)\n\n // To reduce on large `postMessage` payloads, only send `fieldSchemaToJSON` one time\n // To do this, the underlying JS function maintains a cache of this value\n // So we need to send it through each time the window type changes\n // But only once per window type change, not on every render, because this is a potentially large obj\n const shouldSendSchema =\n !prevWindowType.current || prevWindowType.current !== previewWindowType\n\n prevWindowType.current = previewWindowType\n\n const message = {\n type: 'payload-live-preview',\n data: values,\n externallyUpdatedRelationship: mostRecentUpdate,\n fieldSchemaJSON: shouldSendSchema ? fieldSchemaJSON : undefined,\n locale: locale.code,\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }\n }, [\n formState,\n url,\n iframeHasLoaded,\n previewWindowType,\n popupRef,\n appIsReady,\n iframeRef,\n setIframeHasLoaded,\n fieldSchemaJSON,\n mostRecentUpdate,\n locale,\n isLivePreviewing,\n ])\n\n // To support SSR, we transmit a `window.postMessage` event without a payload\n // This is because the event will ultimately trigger a server-side roundtrip\n // i.e., save, save draft, autosave, etc. will fire `router.refresh()`\n useEffect(() => {\n if (!isLivePreviewing) {\n return\n }\n\n const message = {\n type: 'payload-document-event',\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }, [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url, isLivePreviewing])\n\n if (previewWindowType === 'iframe') {\n return (\n <div\n className={[\n baseClass,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__wrapper`}>\n <LivePreviewToolbar {...props} />\n <div className={`${baseClass}__main`}>\n <DeviceContainer>\n {url ? (\n <IFrame ref={iframeRef} setIframeHasLoaded={setIframeHasLoaded} url={url} />\n ) : (\n <ShimmerEffect height=\"100%\" />\n )}\n </DeviceContainer>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
|