@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.
Files changed (158) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.js +18 -4
  2. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  3. package/dist/elements/ClipboardAction/index.js +74 -173
  4. package/dist/elements/ClipboardAction/index.js.map +1 -1
  5. package/dist/elements/CodeEditor/CodeEditor.js +67 -155
  6. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  7. package/dist/elements/Collapsible/index.js +7 -15
  8. package/dist/elements/Collapsible/index.js.map +1 -1
  9. package/dist/elements/ConfirmationModal/index.js +8 -44
  10. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  11. package/dist/elements/CopyLocaleData/index.js +89 -97
  12. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  13. package/dist/elements/CopyToClipboard/index.js +2 -22
  14. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  15. package/dist/elements/DeleteMany/index.js +47 -83
  16. package/dist/elements/DeleteMany/index.js.map +1 -1
  17. package/dist/elements/DocumentControls/index.js +27 -55
  18. package/dist/elements/DocumentControls/index.js.map +1 -1
  19. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +2 -10
  20. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  21. package/dist/elements/DocumentDrawer/index.js +47 -99
  22. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  23. package/dist/elements/DocumentFields/index.scss +1 -1
  24. package/dist/elements/Drawer/index.js +23 -57
  25. package/dist/elements/Drawer/index.js.map +1 -1
  26. package/dist/elements/DrawerActionHeader/index.js +3 -21
  27. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  28. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +149 -225
  29. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  30. package/dist/elements/FolderView/FolderFileCard/index.js +19 -27
  31. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  32. package/dist/elements/FolderView/MoveDocToFolder/index.js +12 -23
  33. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  34. package/dist/elements/FullscreenModal/index.js +10 -20
  35. package/dist/elements/FullscreenModal/index.js.map +1 -1
  36. package/dist/elements/ListDrawer/index.js +18 -24
  37. package/dist/elements/ListDrawer/index.js.map +1 -1
  38. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +19 -32
  39. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  40. package/dist/elements/ListHeaderTabs/DefaultListPill.js +15 -8
  41. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +1 -1
  42. package/dist/elements/ListSelection/index.js +11 -27
  43. package/dist/elements/ListSelection/index.js.map +1 -1
  44. package/dist/elements/LivePreview/Window/index.js +68 -139
  45. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  46. package/dist/elements/Loading/index.js +2 -11
  47. package/dist/elements/Loading/index.js.map +1 -1
  48. package/dist/elements/LoadingOverlay/index.js +46 -102
  49. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  50. package/dist/elements/Localizer/LocalizerLabel/index.js +23 -36
  51. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  52. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  53. package/dist/elements/PublishButton/index.js +22 -11
  54. package/dist/elements/PublishButton/index.js.map +1 -1
  55. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +41 -139
  56. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  57. package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
  58. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
  59. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  60. package/dist/elements/SelectRow/index.js +39 -40
  61. package/dist/elements/SelectRow/index.js.map +1 -1
  62. package/dist/elements/ShimmerEffect/index.js +20 -12
  63. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  64. package/dist/elements/SortColumn/index.js +21 -30
  65. package/dist/elements/SortColumn/index.js.map +1 -1
  66. package/dist/elements/Table/DefaultCell/fields/Date/index.js +9 -37
  67. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  68. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +35 -37
  69. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  70. package/dist/elements/Table/DefaultCell/fields/Select/index.js +12 -27
  71. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  72. package/dist/elements/Thumbnail/index.js +35 -75
  73. package/dist/elements/Thumbnail/index.js.map +1 -1
  74. package/dist/elements/ThumbnailCard/index.js +17 -26
  75. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  76. package/dist/elements/Tooltip/index.js +51 -127
  77. package/dist/elements/Tooltip/index.js.map +1 -1
  78. package/dist/elements/Upload/index.js +2 -10
  79. package/dist/elements/Upload/index.js.map +1 -1
  80. package/dist/elements/WhereBuilder/Condition/Select/index.js +31 -44
  81. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  82. package/dist/exports/client/{CodeEditor-MIIBUJZ4.js → CodeEditor-O6BWJHD2.js} +2 -2
  83. package/dist/exports/client/{DatePicker-NMDEHPWL.js → DatePicker-F432AIH3.js} +2 -2
  84. package/dist/exports/client/{chunk-7RGKTZG2.js → chunk-AZDI6MW4.js} +1 -1
  85. package/dist/exports/client/{chunk-7RGKTZG2.js.map → chunk-AZDI6MW4.js.map} +1 -1
  86. package/dist/exports/client/{chunk-Z6O2JA43.js → chunk-FXAFULZQ.js} +6 -6
  87. package/dist/exports/client/{chunk-Z6O2JA43.js.map → chunk-FXAFULZQ.js.map} +3 -3
  88. package/dist/exports/client/index.d.ts +4 -2
  89. package/dist/exports/client/index.d.ts.map +1 -1
  90. package/dist/exports/client/index.js +12 -12
  91. package/dist/exports/client/index.js.map +4 -4
  92. package/dist/exports/rsc/index.d.ts +1 -0
  93. package/dist/exports/rsc/index.d.ts.map +1 -1
  94. package/dist/exports/rsc/index.js +1 -0
  95. package/dist/exports/rsc/index.js.map +1 -1
  96. package/dist/fields/Array/ArrayRow.d.ts +2 -3
  97. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  98. package/dist/fields/Array/ArrayRow.js +13 -23
  99. package/dist/fields/Array/ArrayRow.js.map +1 -1
  100. package/dist/fields/Array/index.js +273 -477
  101. package/dist/fields/Array/index.js.map +1 -1
  102. package/dist/fields/Checkbox/Input.js +2 -19
  103. package/dist/fields/Checkbox/Input.js.map +1 -1
  104. package/dist/fields/FieldError/index.js +30 -29
  105. package/dist/fields/FieldError/index.js.map +1 -1
  106. package/dist/fields/FieldLabel/index.js +12 -64
  107. package/dist/fields/FieldLabel/index.js.map +1 -1
  108. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +45 -103
  109. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  110. package/dist/fields/Relationship/select-components/SingleValue/index.js +29 -44
  111. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  112. package/dist/fields/Row/index.d.ts +1 -3
  113. package/dist/fields/Row/index.d.ts.map +1 -1
  114. package/dist/fields/Select/Input.js +18 -31
  115. package/dist/fields/Select/Input.js.map +1 -1
  116. package/dist/fields/Tabs/Tab/index.js +2 -11
  117. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  118. package/dist/fields/Tabs/index.d.ts +2 -1
  119. package/dist/fields/Tabs/index.d.ts.map +1 -1
  120. package/dist/fields/Tabs/index.js +185 -225
  121. package/dist/fields/Tabs/index.js.map +1 -1
  122. package/dist/fields/Upload/RelationshipContent/index.js +79 -127
  123. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  124. package/dist/forms/RenderFields/RenderField.js +245 -237
  125. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  126. package/dist/forms/RenderFields/types.d.ts +2 -10
  127. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  128. package/dist/forms/RenderFields/types.js.map +1 -1
  129. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +30 -0
  130. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -0
  131. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +82 -0
  132. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -0
  133. package/dist/forms/useField/index.d.ts +5 -0
  134. package/dist/forms/useField/index.d.ts.map +1 -1
  135. package/dist/forms/useField/index.js +74 -45
  136. package/dist/forms/useField/index.js.map +1 -1
  137. package/dist/hooks/useIntersect.js +35 -53
  138. package/dist/hooks/useIntersect.js.map +1 -1
  139. package/dist/hooks/usePayloadAPI.js +36 -44
  140. package/dist/hooks/usePayloadAPI.js.map +1 -1
  141. package/dist/providers/ServerFunctions/index.d.ts +4 -1
  142. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  143. package/dist/providers/ServerFunctions/index.js +13 -0
  144. package/dist/providers/ServerFunctions/index.js.map +1 -1
  145. package/dist/styles.css +1 -1
  146. package/dist/utilities/traverseForLocalizedFields.d.ts +3 -0
  147. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -0
  148. package/dist/utilities/traverseForLocalizedFields.js +40 -0
  149. package/dist/utilities/traverseForLocalizedFields.js.map +1 -0
  150. package/dist/views/BrowseByFolder/index.js +37 -55
  151. package/dist/views/BrowseByFolder/index.js.map +1 -1
  152. package/dist/views/CollectionFolder/index.js +13 -40
  153. package/dist/views/CollectionFolder/index.js.map +1 -1
  154. package/dist/views/Edit/Auth/index.js +93 -105
  155. package/dist/views/Edit/Auth/index.js.map +1 -1
  156. package/package.json +7 -7
  157. /package/dist/exports/client/{CodeEditor-MIIBUJZ4.js.map → CodeEditor-O6BWJHD2.js.map} +0 -0
  158. /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(29);
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
- }), t5, collectionSlugs.includes(folderCollectionConfig.slug) && _jsx(FolderDocumentDrawer, {
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":"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","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(11);
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
- const buttonId = buttonLabel.toLowerCase().replace(/\s+/g, "-");
29
- const t2 = viewType === "list" && `${baseClass}__button--active`;
30
- let t3;
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
- t3 = $[10];
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: t3.join(" "),
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","t2","t3","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;IACnG,MAAAY,QAAA,GAAiBR,WAAA,CAAAS,WAAA,CAAuB,EAAAC,OAAA,SAAmB;IAMjB,MAAAC,EAAA,GAAAf,QAAA,KAAa,UAAU,GAAAL,SAAA,kBAA8B;IAAA,IAAAqB,EAAA;IAAA,IAAAlB,CAAA,QAAAiB,EAAA;MAA9EC,EAAA,IAAC,GAAArB,SAAA,UAAsB,EAAEoB,EAAqD,EAAAE,MAAA,CAAAC,OAC/E;MAAApB,CAAA,MAAAiB,EAAA;MAAAjB,CAAA,OAAAkB,EAAA;IAAA;MAAAA,EAAA,GAAAlB,CAAA;IAAA;IAJdS,EAAA,GAAAY,IAAA,CAAC;MAAAC,SAAA,EAAAzB,SAAA;MAAA0B,QAAA,EACCC,KAAA,CAAA5B,MAAA;QAAA6B,WAAA,EACc;QAAAH,SAAA,EACDJ,EACD,CAAAQ,IAAA,CACF;QAAAC,QAAA,EACEzB,QAAA,KAAa;QAAA0B,EAAA,EACnB1B,QAAA,KAAa,aAAaA,QAAA,KAAa,UAAU,SAAS;QAAA2B,EAAA,EAC1Df,QAAA;QAAAgB,EAAA,EACArC,cAAA;UAAAsC,UAAA,EACU1B,MAAA,CAAAM,MAAA,CAAAC,KAAA;UAAAoB,IAAA,EACN,gBAAgB/B,gBAAA,CAAAS,IAAA,EAAuB;UAAAG,SAAA,EAClCR,MAAA,CAAAQ;QAAA,CACb;QAAAU,QAAA,GAECnB,CAAA,CAAE,gBAAe,KAAEZ,cAAA,CAAeS,gBAAA,EAAAM,MAAA,EAAAC,MAAA,EAAkCL,IAAA;MAAA,C;;;;;;;;;;;;;;SAfzEM,E","ignoreList":[]}
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(9);
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
- let t2;
23
- if ($[5] !== ListActions) {
24
- t2 = ListActions && ListActions.length > 0 && _jsxs(React.Fragment, {
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","t2","length","_jsxs","Fragment","children","_jsx","className","t3","label","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>&mdash;</span>\n <div className={`${baseClass}__actions`}>{ListActions}</div>\n </React.Fragment>\n )}\n {SelectionActions && SelectionActions.length > 0 && (\n <React.Fragment>\n <span>&mdash;</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;IAAA,IAAAE,EAAA;IAAA,IAAAN,CAAA,QAAAE,WAAA;MAKTI,EAAA,GAAAJ,WAAA,IAAeA,WAAA,CAAAK,MAAA,IAAqB,IACnCC,KAAA,CAAAd,KAAA,CAAAe,QAAA;QAAAC,QAAA,GACEC,IAAA,CAAC;UAAAD,QAAA,EAAK;QAAA,C,GACNC,IAAA,CAAC;UAAAC,SAAA,EAAe,GAAAf,SAAA,WAAuB;UAAAa,QAAA,EAAGR;QAAA,C;;;;;;;;;MAG7CW,EAAA,GAAAV,gBAAA,IAAoBA,gBAAA,CAAAI,MAAA,IAA0B,IAC7CC,KAAA,CAAAd,KAAA,CAAAe,QAAA;QAAAC,QAAA,GACEC,IAAA,CAAC;UAAAD,QAAA,EAAK;QAAA,C,GACNC,IAAA,CAAC;UAAAC,SAAA,EAAe,GAAAf,SAAA,WAAuB;UAAAa,QAAA,EAAGP;QAAA,C;;;;;;;IAXhDE,EAAA,GAAAG,KAAA,CAAC;MAAAI,SAAA,EAAAf,SAAA;MAAAa,QAAA,GACCC,IAAA,CAAC;QAAAD,QAAA,EAAMN,CAAA,CAAE;UAAAH,KAAA;UAAAa,KAAA,EAAyC;QAAA,CAAG;MAAA,C,GACpDR,E,EAMAO,E;;;;;;;;;;SARHR,E;;AAmBJ,OAAO,SAASU,oBAAoB;EAAEL,QAAQ;EAAEE,SAAS;EAAE,GAAGI;AAAA,CAAiC;EAC7F,oBACEL,IAAA,CAACf,MAAA;IACE,GAAGoB,KAAK;IACTC,WAAA,EAAY;IACZL,SAAA,EAAW,CAAC,GAAGf,SAAA,UAAmB,EAAEe,SAAA,CAAU,CAACM,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;cAEnEV;;AAGP","ignoreList":[]}
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>&mdash;</span>\n <div className={`${baseClass}__actions`}>{ListActions}</div>\n </React.Fragment>\n )}\n {SelectionActions && SelectionActions.length > 0 && (\n <React.Fragment>\n <span>&mdash;</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
- let t0;
38
- if ($[0] !== appIsReady || $[1] !== fieldSchemaJSON || $[2] !== formState || $[3] !== iframeRef || $[4] !== isLivePreviewing || $[5] !== locale || $[6] !== mostRecentUpdate || $[7] !== popupRef || $[8] !== previewWindowType || $[9] !== url) {
39
- t0 = () => {
40
- if (!isLivePreviewing) {
41
- return;
42
- }
43
- if (formState && window && "postMessage" in window && appIsReady) {
44
- const values = reduceFieldsToValues(formState, true);
45
- const shouldSendSchema = !prevWindowType.current || prevWindowType.current !== previewWindowType;
46
- prevWindowType.current = previewWindowType;
47
- const message = {
48
- type: "payload-live-preview",
49
- data: values,
50
- externallyUpdatedRelationship: mostRecentUpdate,
51
- fieldSchemaJSON: shouldSendSchema ? fieldSchemaJSON : undefined,
52
- locale: locale.code
53
- };
54
- if (previewWindowType === "popup" && popupRef.current) {
55
- popupRef.current.postMessage(message, url);
56
- }
57
- if (previewWindowType === "iframe" && iframeRef.current) {
58
- iframeRef.current.contentWindow?.postMessage(message, url);
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
- if (previewWindowType === "popup" && popupRef.current) {
106
- popupRef.current.postMessage(message_0, url);
59
+ // Post message to external popup window
60
+ if (previewWindowType === 'popup' && popupRef.current) {
61
+ popupRef.current.postMessage(message, url);
107
62
  }
108
- if (previewWindowType === "iframe" && iframeRef.current) {
109
- iframeRef.current.contentWindow?.postMessage(message_0, url);
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
- $[24] = iframeRef;
113
- $[25] = isLivePreviewing;
114
- $[26] = popupRef;
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
- const t7 = t6.join(" ");
148
- let t8;
149
- if ($[40] !== iframeRef || $[41] !== props || $[42] !== setIframeHasLoaded || $[43] !== t7 || $[44] !== url) {
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
- return t8;
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":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,oBAAoB,QAAQ;AACrC,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAEjC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,SAAS,QAAQ;AAC1B,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,QAAQ;AAChC,SAASC,MAAM,QAAQ;AACvB,SAASC,kBAAkB,QAAQ;AACnC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,iBAAA,GAA6CC,KAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EACxD;IAAAgB,UAAA;IAAAC,UAAA;IAAAC,eAAA;IAAAC,eAAA;IAAAC,SAAA;IAAAC,gBAAA;IAAAC,QAAA;IAAAC,iBAAA;IAAAC,kBAAA;IAAAC;EAAA,IAWInB,qBAAA;EAEJ,MAAAoB,MAAA,GAAenB,SAAA;EAEf;IAAAoB;EAAA,IAA6BtB,iBAAA;EAE7B,MAAAuB,cAAA,GACE1B,KAAA,CAAA2B,MAAA,CAAAC,SAA4E;EAE9E,OAAAC,SAAA,IAAoB3B,gBAAA;EAAA,IAAA4B,EAAA;EAAA,IAAAjB,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAG,eAAA,IAAAH,CAAA,QAAAgB,SAAA,IAAAhB,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAM,gBAAA,IAAAN,CAAA,QAAAW,MAAA,IAAAX,CAAA,QAAAY,gBAAA,IAAAZ,CAAA,QAAAO,QAAA,IAAAP,CAAA,QAAAQ,iBAAA,IAAAR,CAAA,QAAAU,GAAA;IAMVO,EAAA,GAAAA,CAAA;MAAA,KACHX,gBAAA;QAAA;MAAA;MAAA,IAKDU,SAAA,IAAAE,MAAa,IAAU,iBAAAA,MAAiB,IAAUjB,UAAA;QACpD,MAAAkB,MAAA,GAAejC,oBAAA,CAAqB8B,SAAA,MAAW;QAM/C,MAAAI,gBAAA,GACE,CAACP,cAAA,CAAAQ,OAAA,IAA0BR,cAAA,CAAAQ,OAAA,KAA2Bb,iBAAA;QAExDK,cAAA,CAAAQ,OAAA,GAAyBb,iBAAA;QAEzB,MAAAc,OAAA;UAAAC,IAAA,EACQ;UAAAC,IAAA,EACAL,MAAA;UAAAM,6BAAA,EACyBb,gBAAA;UAAAT,eAAA,EACdiB,gBAAA,GAAmBjB,eAAA,GAAAY,SAAkB;UAAAJ,MAAA,EAC9CA,MAAA,CAAAe;QAAA;QACV,IAGIlB,iBAAA,KAAsB,WAAWD,QAAA,CAAAc,OAAgB;UACnDd,QAAA,CAAAc,OAAA,CAAAM,WAAA,CAA6BL,OAAA,EAASZ,GAAA;QAAA;QAAA,IAIpCF,iBAAA,KAAsB,YAAYH,SAAA,CAAAgB,OAAiB;UACrDhB,SAAA,CAAAgB,OAAA,CAAAO,aAAA,EAAAD,WAAA,CAA6CL,OAAA,EAASZ,GAAA;QAAA;MAAA;IAAA;IAG5DV,CAAA,MAAAC,UAAA;IAAAD,CAAA,MAAAG,eAAA;IAAAH,CAAA,MAAAgB,SAAA;IAAAhB,CAAA,MAAAK,SAAA;IAAAL,CAAA,MAAAM,gBAAA;IAAAN,CAAA,MAAAW,MAAA;IAAAX,CAAA,MAAAY,gBAAA;IAAAZ,CAAA,MAAAO,QAAA;IAAAP,CAAA,MAAAQ,iBAAA;IAAAR,CAAA,MAAAU,GAAA;IAAAV,CAAA,OAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EAAA,IAAA6B,EAAA;EAAA,IAAA7B,CAAA,SAAAC,UAAA,IAAAD,CAAA,SAAAG,eAAA,IAAAH,CAAA,SAAAgB,SAAA,IAAAhB,CAAA,SAAAI,eAAA,IAAAJ,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAM,gBAAA,IAAAN,CAAA,SAAAW,MAAA,IAAAX,CAAA,SAAAY,gBAAA,IAAAZ,CAAA,SAAAO,QAAA,IAAAP,CAAA,SAAAQ,iBAAA,IAAAR,CAAA,SAAAS,kBAAA,IAAAT,CAAA,SAAAU,GAAA;IAAGmB,EAAA,IACDb,SAAA,EACAN,GAAA,EACAN,eAAA,EACAI,iBAAA,EACAD,QAAA,EACAN,UAAA,EACAI,SAAA,EACAI,kBAAA,EACAN,eAAA,EACAS,gBAAA,EACAD,MAAA,EACAL,gBAAA;IACDN,CAAA,OAAAC,UAAA;IAAAD,CAAA,OAAAG,eAAA;IAAAH,CAAA,OAAAgB,SAAA;IAAAhB,CAAA,OAAAI,eAAA;IAAAJ,CAAA,OAAAK,SAAA;IAAAL,CAAA,OAAAM,gBAAA;IAAAN,CAAA,OAAAW,MAAA;IAAAX,CAAA,OAAAY,gBAAA;IAAAZ,CAAA,OAAAO,QAAA;IAAAP,CAAA,OAAAQ,iBAAA;IAAAR,CAAA,OAAAS,kBAAA;IAAAT,CAAA,OAAAU,GAAA;IAAAV,CAAA,OAAA6B,EAAA;EAAA;IAAAA,EAAA,GAAA7B,CAAA;EAAA;EAjDDZ,SAAA,CAAU6B,EAoCV,EAAGY,EAaF;EAAA,IAAAC,EAAA;EAAA,IAAA9B,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAM,gBAAA,IAAAN,CAAA,SAAAO,QAAA,IAAAP,CAAA,SAAAQ,iBAAA,IAAAR,CAAA,SAAAU,GAAA;IAKSoB,EAAA,GAAAA,CAAA;MAAA,KACHxB,gBAAA;QAAA;MAAA;MAIL,MAAAyB,SAAA;QAAAR,IAAA,EACQ;MAAA;MACR,IAGIf,iBAAA,KAAsB,WAAWD,QAAA,CAAAc,OAAgB;QACnDd,QAAA,CAAAc,OAAA,CAAAM,WAAA,CAA6BL,SAAA,EAASZ,GAAA;MAAA;MAAA,IAIpCF,iBAAA,KAAsB,YAAYH,SAAA,CAAAgB,OAAiB;QACrDhB,SAAA,CAAAgB,OAAA,CAAAO,aAAA,EAAAD,WAAA,CAA6CL,SAAA,EAASZ,GAAA;MAAA;IAAA;IAE1DV,CAAA,OAAAK,SAAA;IAAAL,CAAA,OAAAM,gBAAA;IAAAN,CAAA,OAAAO,QAAA;IAAAP,CAAA,OAAAQ,iBAAA;IAAAR,CAAA,OAAAU,GAAA;IAAAV,CAAA,OAAA8B,EAAA;EAAA;IAAAA,EAAA,GAAA9B,CAAA;EAAA;EAAA,IAAAgC,EAAA;EAAA,IAAAhC,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAM,gBAAA,IAAAN,CAAA,SAAAY,gBAAA,IAAAZ,CAAA,SAAAO,QAAA,IAAAP,CAAA,SAAAQ,iBAAA,IAAAR,CAAA,SAAAU,GAAA;IAAGsB,EAAA,IAACpB,gBAAA,EAAkBP,SAAA,EAAWE,QAAA,EAAUC,iBAAA,EAAmBE,GAAA,EAAKJ,gBAAA;IAAiBN,CAAA,OAAAK,SAAA;IAAAL,CAAA,OAAAM,gBAAA;IAAAN,CAAA,OAAAY,gBAAA;IAAAZ,CAAA,OAAAO,QAAA;IAAAP,CAAA,OAAAQ,iBAAA;IAAAR,CAAA,OAAAU,GAAA;IAAAV,CAAA,OAAAgC,EAAA;EAAA;IAAAA,EAAA,GAAAhC,CAAA;EAAA;EAlBpFZ,SAAA,CAAU0C,EAkBV,EAAGE,EAAiF;EAAA,IAEhFxB,iBAAA,KAAsB;IAKlB,MAAAyB,EAAA,GAAA3B,gBAAA,IAAoB,GAAAT,SAAA,sBAAkC;IACtD,MAAAqC,EAAA,GAAAhC,UAAA,IAAcA,UAAA,KAAe,gBAAgB,GAAAL,SAAA,kBAA8B;IAAA,IAAAsC,EAAA;IAAA,IAAAnC,CAAA,SAAAiC,EAAA,IAAAjC,CAAA,SAAAkC,EAAA;MAHlEC,EAAA,IAAAtC,SAAA,EAEToC,EAAsD,EACtDC,EAA2E,EAAAE,MAAA,CAAAC,OAEnE;MAAArC,CAAA,OAAAiC,EAAA;MAAAjC,CAAA,OAAAkC,EAAA;MAAAlC,CAAA,OAAAmC,EAAA;IAAA;MAAAA,EAAA,GAAAnC,CAAA;IAAA;IALC,MAAAsC,EAAA,GAAAH,EAKD,CAAAI,IAAA,CACF;IAAA,IAAAC,EAAA;IAAA,IAAAxC,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAD,KAAA,IAAAC,CAAA,SAAAS,kBAAA,IAAAT,CAAA,SAAAsC,EAAA,IAAAtC,CAAA,SAAAU,GAAA;MAPV8B,EAAA,GAAAC,IAAA,CAAC;QAAAC,SAAA,EACYJ,EAMH;QAAAK,QAAA,EAERC,KAAA,CAAC;UAAAF,SAAA,EAAe,GAAA7C,SAAA,WAAuB;UAAA8C,QAAA,GACrCF,IAAA,CAAA7C,kBAAA;YAAA,GAAwBG;UAAK,C,GAC7B0C,IAAA,CAAC;YAAAC,SAAA,EAAe,GAAA7C,SAAA,QAAoB;YAAA8C,QAAA,EAClCF,IAAA,CAAA/C,eAAA;cAAAiD,QAAA,EACGjC,GAAA,GACC+B,IAAA,CAAA9C,MAAA;gBAAAkD,GAAA,EAAaxC,SAAA;gBAAAI,kBAAA;gBAAAC;cAAA,C,IAEb+B,IAAA,CAAAhD,aAAA;gBAAAqD,MAAA,EAAsB;cAAA,C;;;;;;;;;;;;;;WAhBhCN,E;;CAwBN","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":"AAAA;;;AAIA,SAASA,oBAAoB,QAAQ;AACrC,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAEjC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,SAAS,QAAQ;AAC1B,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,QAAQ;AAChC,SAASC,MAAM,QAAQ;AACvB,SAASC,kBAAkB,QAAQ;AACnC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,iBAAA,GAA8CC,KAAA;EACzD,MAAM;IACJC,UAAU;IACVC,UAAU;IACVC,eAAe;IACfC,eAAe;IACfC,SAAS;IACTC,gBAAgB;IAChBC,QAAQ;IACRC,iBAAiB;IACjBC,kBAAkB;IAClBC;EAAG,CACJ,GAAGlB,qBAAA;EAEJ,MAAMmB,MAAA,GAASlB,SAAA;EAEf,MAAM;IAAEmB;EAAgB,CAAE,GAAGrB,iBAAA;EAE7B,MAAMsB,cAAA,GACJzB,KAAA,CAAM0B,MAAM,CAAgEC,SAAA;EAE9E,MAAM,CAACC,SAAA,CAAU,GAAG1B,gBAAA;EAEpB;EACA;EACA;EACA;EACAD,SAAA,CAAU;IACR,IAAI,CAACiB,gBAAA,EAAkB;MACrB;IACF;IAEA;IACA,IAAIU,SAAA,IAAaC,MAAA,IAAU,iBAAiBA,MAAA,IAAUhB,UAAA,EAAY;MAChE,MAAMiB,MAAA,GAAS/B,oBAAA,CAAqB6B,SAAA,EAAW;MAE/C;MACA;MACA;MACA;MACA,MAAMG,gBAAA,GACJ,CAACN,cAAA,CAAeO,OAAO,IAAIP,cAAA,CAAeO,OAAO,KAAKZ,iBAAA;MAExDK,cAAA,CAAeO,OAAO,GAAGZ,iBAAA;MAEzB,MAAMa,OAAA,GAAU;QACdC,IAAA,EAAM;QACNC,IAAA,EAAML,MAAA;QACNM,6BAAA,EAA+BZ,gBAAA;QAC/BT,eAAA,EAAiBgB,gBAAA,GAAmBhB,eAAA,GAAkBY,SAAA;QACtDJ,MAAA,EAAQA,MAAA,CAAOc;MACjB;MAEA;MACA,IAAIjB,iBAAA,KAAsB,WAAWD,QAAA,CAASa,OAAO,EAAE;QACrDb,QAAA,CAASa,OAAO,CAACM,WAAW,CAACL,OAAA,EAASX,GAAA;MACxC;MAEA;MACA,IAAIF,iBAAA,KAAsB,YAAYH,SAAA,CAAUe,OAAO,EAAE;QACvDf,SAAA,CAAUe,OAAO,CAACO,aAAa,EAAED,WAAA,CAAYL,OAAA,EAASX,GAAA;MACxD;IACF;EACF,GAAG,CACDM,SAAA,EACAN,GAAA,EACAN,eAAA,EACAI,iBAAA,EACAD,QAAA,EACAN,UAAA,EACAI,SAAA,EACAI,kBAAA,EACAN,eAAA,EACAS,gBAAA,EACAD,MAAA,EACAL,gBAAA,CACD;EAED;EACA;EACA;EACAjB,SAAA,CAAU;IACR,IAAI,CAACiB,gBAAA,EAAkB;MACrB;IACF;IAEA,MAAMe,SAAA,GAAU;MACdC,IAAA,EAAM;IACR;IAEA;IACA,IAAId,iBAAA,KAAsB,WAAWD,QAAA,CAASa,OAAO,EAAE;MACrDb,QAAA,CAASa,OAAO,CAACM,WAAW,CAACL,SAAA,EAASX,GAAA;IACxC;IAEA;IACA,IAAIF,iBAAA,KAAsB,YAAYH,SAAA,CAAUe,OAAO,EAAE;MACvDf,SAAA,CAAUe,OAAO,CAACO,aAAa,EAAED,WAAA,CAAYL,SAAA,EAASX,GAAA;IACxD;EACF,GAAG,CAACE,gBAAA,EAAkBP,SAAA,EAAWE,QAAA,EAAUC,iBAAA,EAAmBE,GAAA,EAAKJ,gBAAA,CAAiB;EAEpF,IAAIE,iBAAA,KAAsB,UAAU;IAClC,oBACEoB,IAAA,CAAC;MACCC,SAAA,EAAW,CACT/B,SAAA,EACAQ,gBAAA,IAAoB,GAAGR,SAAA,sBAA+B,EACtDI,UAAA,IAAcA,UAAA,KAAe,gBAAgB,GAAGJ,SAAA,kBAA2B,CAC5E,CACEgC,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;gBAER,aAAAC,KAAA,CAAC;QAAIJ,SAAA,EAAW,GAAG/B,SAAA,WAAoB;gCACrC8B,IAAA,CAAC/B,kBAAA;UAAoB,GAAGG;yBACxB4B,IAAA,CAAC;UAAIC,SAAA,EAAW,GAAG/B,SAAA,QAAiB;oBAClC,aAAA8B,IAAA,CAACjC,eAAA;sBACEe,GAAA,gBACCkB,IAAA,CAAChC,MAAA;cAAOsC,GAAA,EAAK7B,SAAA;cAAWI,kBAAA,EAAoBA,kBAAA;cAAoBC,GAAA,EAAKA;8BAErEkB,IAAA,CAAClC,aAAA;cAAcyC,MAAA,EAAO;;;;;;EAOpC;AACF","ignoreList":[]}