@payloadcms/ui 3.43.0-internal.693bd81 → 3.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/dist/elements/AddNewRelation/index.js +9 -8
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  4. package/dist/elements/BulkUpload/FileSidebar/index.js +1 -0
  5. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  6. package/dist/elements/Button/index.scss +19 -0
  7. package/dist/elements/Button/types.d.ts +1 -1
  8. package/dist/elements/Button/types.d.ts.map +1 -1
  9. package/dist/elements/Button/types.js.map +1 -1
  10. package/dist/elements/ColumnSelector/index.d.ts +0 -1
  11. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  12. package/dist/elements/ColumnSelector/index.js +34 -38
  13. package/dist/elements/ColumnSelector/index.js.map +1 -1
  14. package/dist/elements/Drawer/index.d.ts.map +1 -1
  15. package/dist/elements/Drawer/index.js +51 -67
  16. package/dist/elements/Drawer/index.js.map +1 -1
  17. package/dist/elements/FieldDiffContainer/index.d.ts +15 -0
  18. package/dist/elements/FieldDiffContainer/index.d.ts.map +1 -0
  19. package/dist/elements/FieldDiffContainer/index.js +40 -0
  20. package/dist/elements/FieldDiffContainer/index.js.map +1 -0
  21. package/dist/elements/FieldDiffContainer/index.scss +45 -0
  22. package/dist/elements/FieldDiffLabel/index.scss +6 -1
  23. package/dist/elements/FolderView/CollectionTypePill/index.d.ts.map +1 -1
  24. package/dist/elements/FolderView/CollectionTypePill/index.js +13 -10
  25. package/dist/elements/FolderView/CollectionTypePill/index.js.map +1 -1
  26. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -1
  27. package/dist/elements/FolderView/CurrentFolderActions/index.js +17 -11
  28. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  29. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +1 -3
  30. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -1
  31. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +7 -4
  32. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  33. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +1 -0
  34. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -1
  35. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +230 -201
  36. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  37. package/dist/elements/FolderView/FolderFileCard/index.d.ts +8 -0
  38. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -1
  39. package/dist/elements/FolderView/FolderFileCard/index.js +82 -0
  40. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  41. package/dist/elements/FolderView/FolderFileTable/index.d.ts +1 -22
  42. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -1
  43. package/dist/elements/FolderView/FolderFileTable/index.js +245 -163
  44. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  45. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +2 -8
  46. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -1
  47. package/dist/elements/FolderView/ItemCardGrid/index.js +24 -90
  48. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  49. package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -1
  50. package/dist/elements/FolderView/SortByPill/index.js +17 -15
  51. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  52. package/dist/elements/HTMLDiff/colors.scss +35 -0
  53. package/dist/elements/HTMLDiff/diff/index.d.ts +75 -0
  54. package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -0
  55. package/dist/elements/HTMLDiff/diff/index.js +536 -0
  56. package/dist/elements/HTMLDiff/diff/index.js.map +1 -0
  57. package/dist/elements/HTMLDiff/index.d.ts +11 -0
  58. package/dist/elements/HTMLDiff/index.d.ts.map +1 -0
  59. package/dist/elements/HTMLDiff/index.js +32 -0
  60. package/dist/elements/HTMLDiff/index.js.map +1 -0
  61. package/dist/elements/HTMLDiff/index.scss +170 -0
  62. package/dist/elements/ListControls/index.scss +2 -2
  63. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +1 -0
  64. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  65. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -1
  66. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +8 -10
  67. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  68. package/dist/elements/ListHeader/index.scss +1 -1
  69. package/dist/elements/Nav/context.d.ts.map +1 -1
  70. package/dist/elements/Nav/context.js +4 -1
  71. package/dist/elements/Nav/context.js.map +1 -1
  72. package/dist/elements/Pill/index.d.ts +5 -1
  73. package/dist/elements/Pill/index.d.ts.map +1 -1
  74. package/dist/elements/Pill/index.js.map +1 -1
  75. package/dist/elements/PillSelector/index.d.ts +26 -0
  76. package/dist/elements/PillSelector/index.d.ts.map +1 -0
  77. package/dist/elements/PillSelector/index.js +72 -0
  78. package/dist/elements/PillSelector/index.js.map +1 -0
  79. package/dist/elements/{ColumnSelector → PillSelector}/index.scss +5 -5
  80. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -1
  81. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  82. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  83. package/dist/elements/Popup/PopupTrigger/index.scss +4 -0
  84. package/dist/elements/Popup/index.d.ts +1 -1
  85. package/dist/elements/Popup/index.d.ts.map +1 -1
  86. package/dist/elements/Popup/index.js.map +1 -1
  87. package/dist/elements/Popup/index.scss +11 -0
  88. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +1 -0
  89. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  90. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -0
  91. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  92. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  93. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +1 -0
  94. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  95. package/dist/elements/QueryPresets/fields/WhereField/index.js +1 -0
  96. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  97. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  98. package/dist/elements/ReactSelect/ValueContainer/index.js +7 -4
  99. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  100. package/dist/elements/ReactSelect/ValueContainer/index.scss +8 -0
  101. package/dist/elements/ReactSelect/types.d.ts +1 -0
  102. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  103. package/dist/elements/ReactSelect/types.js.map +1 -1
  104. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  105. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  106. package/dist/elements/RelationshipTable/index.js +3 -1
  107. package/dist/elements/RelationshipTable/index.js.map +1 -1
  108. package/dist/elements/SelectMany/index.d.ts.map +1 -1
  109. package/dist/elements/SelectMany/index.js +1 -0
  110. package/dist/elements/SelectMany/index.js.map +1 -1
  111. package/dist/elements/Table/index.js +2 -2
  112. package/dist/elements/Table/index.js.map +1 -1
  113. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  114. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +7 -7
  115. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  116. package/dist/exports/client/{DatePicker-JDD2RARJ.js → DatePicker-QBWPYX2E.js} +2 -2
  117. package/dist/exports/client/{chunk-L7Q3DZ67.js → chunk-TIQCV7VX.js} +1 -1
  118. package/dist/exports/client/{chunk-L7Q3DZ67.js.map → chunk-TIQCV7VX.js.map} +2 -2
  119. package/dist/exports/client/index.d.ts +6 -1
  120. package/dist/exports/client/index.d.ts.map +1 -1
  121. package/dist/exports/client/index.js +22 -22
  122. package/dist/exports/client/index.js.map +4 -4
  123. package/dist/exports/rsc/index.d.ts +3 -0
  124. package/dist/exports/rsc/index.d.ts.map +1 -1
  125. package/dist/exports/rsc/index.js +3 -0
  126. package/dist/exports/rsc/index.js.map +1 -1
  127. package/dist/exports/shared/index.js.map +1 -1
  128. package/dist/fields/Checkbox/index.scss +1 -1
  129. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  130. package/dist/fields/FieldLabel/index.js +3 -2
  131. package/dist/fields/FieldLabel/index.js.map +1 -1
  132. package/dist/fields/Join/index.d.ts.map +1 -1
  133. package/dist/fields/Join/index.js +1 -0
  134. package/dist/fields/Join/index.js.map +1 -1
  135. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  136. package/dist/fields/Relationship/Input.js +4 -4
  137. package/dist/fields/Relationship/Input.js.map +1 -1
  138. package/dist/providers/Auth/index.d.ts.map +1 -1
  139. package/dist/providers/Auth/index.js +10 -5
  140. package/dist/providers/Auth/index.js.map +1 -1
  141. package/dist/providers/Folders/index.d.ts +59 -46
  142. package/dist/providers/Folders/index.d.ts.map +1 -1
  143. package/dist/providers/Folders/index.js +163 -572
  144. package/dist/providers/Folders/index.js.map +1 -1
  145. package/dist/providers/ServerFunctions/index.d.ts +27 -13
  146. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  147. package/dist/providers/ServerFunctions/index.js +20 -1
  148. package/dist/providers/ServerFunctions/index.js.map +1 -1
  149. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  150. package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -2
  151. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  152. package/dist/providers/TableColumns/index.js +1 -0
  153. package/dist/providers/TableColumns/index.js.map +1 -1
  154. package/dist/providers/Translation/index.d.ts.map +1 -1
  155. package/dist/providers/Translation/index.js.map +1 -1
  156. package/dist/styles.css +1 -1
  157. package/dist/utilities/buildFormState.d.ts +2 -2
  158. package/dist/utilities/buildFormState.d.ts.map +1 -1
  159. package/dist/utilities/buildFormState.js.map +1 -1
  160. package/dist/utilities/buildTableState.d.ts +2 -2
  161. package/dist/utilities/buildTableState.d.ts.map +1 -1
  162. package/dist/utilities/buildTableState.js.map +1 -1
  163. package/dist/utilities/copyDataFromLocale.d.ts +2 -2
  164. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  165. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  166. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  167. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  168. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  169. package/dist/utilities/generateFieldID.js +4 -1
  170. package/dist/utilities/generateFieldID.js.map +1 -1
  171. package/dist/utilities/getFolderResultsComponentAndData.d.ts +29 -0
  172. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -0
  173. package/dist/utilities/getFolderResultsComponentAndData.js +128 -0
  174. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -0
  175. package/dist/utilities/renderTable.js +1 -0
  176. package/dist/utilities/renderTable.js.map +1 -1
  177. package/dist/views/BrowseByFolder/index.d.ts +1 -4
  178. package/dist/views/BrowseByFolder/index.d.ts.map +1 -1
  179. package/dist/views/BrowseByFolder/index.js +219 -158
  180. package/dist/views/BrowseByFolder/index.js.map +1 -1
  181. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -1
  182. package/dist/views/CollectionFolder/ListSelection/index.js +25 -50
  183. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  184. package/dist/views/CollectionFolder/index.d.ts +1 -1
  185. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  186. package/dist/views/CollectionFolder/index.js +186 -153
  187. package/dist/views/CollectionFolder/index.js.map +1 -1
  188. package/package.json +4 -4
  189. /package/dist/exports/client/{DatePicker-JDD2RARJ.js.map → DatePicker-QBWPYX2E.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","createContext","use","useCallback","useEffect","useState","XIcon","useTranslation","Gutter","baseClass","drawerZBase","formatDrawerSlug","slug","depth","useDrawerSlug","DrawerToggler","t0","$","children","className","disabled","onClick","rest","openModal","t1","e","handleClick","t2","_jsx","type","Drawer","gutter","Header","hoverTitle","title","undefined","t","closeModal","modalState","drawerDepth","useDrawerDepth","isOpen","setIsOpen","animateIn","setAnimateIn","t3","t4","t5","t6","t7","t8","filter","Boolean","t9","join","t10","t11","t12","DrawerDepthProvider","_jsxs","style","zIndex","id","width","left","right","DrawerDepthContext","parentDepth","value"],"sources":["../../../src/elements/Drawer/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\n\nimport type { Props, TogglerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport './index.scss'\n\nconst baseClass = 'drawer'\n\nexport const drawerZBase = 100\n\nexport const formatDrawerSlug = ({ slug, depth }: { depth: number; slug: string }): string =>\n `drawer_${depth}_${slug}`\n\nexport { useDrawerSlug } from './useDrawerSlug.js'\n\nexport const DrawerToggler: React.FC<TogglerProps> = ({\n slug,\n children,\n className,\n disabled,\n onClick,\n ...rest\n}) => {\n const { openModal } = useModal()\n\n const handleClick = useCallback(\n (e) => {\n openModal(slug)\n if (typeof onClick === 'function') {\n onClick(e)\n }\n },\n [openModal, slug, onClick],\n )\n\n return (\n <button className={className} disabled={disabled} onClick={handleClick} type=\"button\" {...rest}>\n {children}\n </button>\n )\n}\n\nexport const Drawer: React.FC<Props> = ({\n slug,\n children,\n className,\n gutter = true,\n Header,\n hoverTitle,\n title,\n}) => {\n const { t } = useTranslation()\n const { closeModal, modalState } = useModal()\n const drawerDepth = useDrawerDepth()\n\n const [isOpen, setIsOpen] = useState(false)\n const [animateIn, setAnimateIn] = useState(false)\n\n useEffect(() => {\n setIsOpen(modalState[slug]?.isOpen)\n }, [slug, modalState])\n\n useEffect(() => {\n setAnimateIn(isOpen)\n }, [isOpen])\n\n if (isOpen) {\n // IMPORTANT: do not render the drawer until it is explicitly open, this is to avoid large html trees especially when nesting drawers\n return (\n <DrawerDepthProvider>\n <Modal\n className={[\n className,\n baseClass,\n animateIn && `${baseClass}--is-open`,\n drawerDepth > 1 && `${baseClass}--nested`,\n ]\n .filter(Boolean)\n .join(' ')}\n slug={slug}\n style={{\n zIndex: drawerZBase + drawerDepth,\n }}\n >\n {(!drawerDepth || drawerDepth === 1) && <div className={`${baseClass}__blur-bg`} />}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n />\n <div\n className={`${baseClass}__content`}\n style={{\n width: `calc(100% - (${drawerDepth} * var(--gutter-h)))`,\n }}\n >\n <div className={`${baseClass}__blur-bg-content`} />\n <Gutter className={`${baseClass}__content-children`} left={gutter} right={gutter}>\n {Header}\n {Header === undefined && (\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`} title={hoverTitle ? title : null}>\n {title}\n </h2>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n )}\n {children}\n </Gutter>\n </div>\n </Modal>\n </DrawerDepthProvider>\n )\n }\n\n return null\n}\n\nexport const DrawerDepthContext = createContext(1)\n\nexport const DrawerDepthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const parentDepth = useDrawerDepth()\n const depth = parentDepth + 1\n\n return <DrawerDepthContext value={depth}>{children}</DrawerDepthContext>\n}\n\nexport const useDrawerDepth = (): number => use(DrawerDepthContext)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","createContext","use","useCallback","useLayoutEffect","useState","XIcon","useTranslation","Gutter","baseClass","drawerZBase","formatDrawerSlug","slug","depth","useDrawerSlug","DrawerToggler","t0","$","children","className","disabled","onClick","rest","openModal","t1","e","handleClick","t2","_jsx","type","Drawer","gutter","Header","hoverTitle","title","undefined","t","closeModal","modalState","drawerDepth","useDrawerDepth","isOpen","animateIn","setAnimateIn","t3","t4","t5","t6","filter","Boolean","t7","join","t8","t9","t10","DrawerDepthProvider","_jsxs","style","zIndex","id","width","left","right","DrawerDepthContext","parentDepth","value"],"sources":["../../../src/elements/Drawer/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { createContext, use, useCallback, useLayoutEffect, useState } from 'react'\n\nimport type { Props, TogglerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport './index.scss'\n\nconst baseClass = 'drawer'\n\nexport const drawerZBase = 100\n\nexport const formatDrawerSlug = ({ slug, depth }: { depth: number; slug: string }): string =>\n `drawer_${depth}_${slug}`\n\nexport { useDrawerSlug } from './useDrawerSlug.js'\n\nexport const DrawerToggler: React.FC<TogglerProps> = ({\n slug,\n children,\n className,\n disabled,\n onClick,\n ...rest\n}) => {\n const { openModal } = useModal()\n\n const handleClick = useCallback(\n (e) => {\n openModal(slug)\n if (typeof onClick === 'function') {\n onClick(e)\n }\n },\n [openModal, slug, onClick],\n )\n\n return (\n <button className={className} disabled={disabled} onClick={handleClick} type=\"button\" {...rest}>\n {children}\n </button>\n )\n}\n\nexport const Drawer: React.FC<Props> = ({\n slug,\n children,\n className,\n gutter = true,\n Header,\n hoverTitle,\n title,\n}) => {\n const { t } = useTranslation()\n const { closeModal, modalState } = useModal()\n const drawerDepth = useDrawerDepth()\n\n const isOpen = !!modalState[slug]?.isOpen\n\n const [animateIn, setAnimateIn] = useState(isOpen)\n\n useLayoutEffect(() => {\n setAnimateIn(isOpen)\n }, [isOpen])\n\n if (isOpen) {\n // IMPORTANT: do not render the drawer until it is explicitly open, this is to avoid large html trees especially when nesting drawers\n return (\n <DrawerDepthProvider>\n <Modal\n className={[\n className,\n baseClass,\n animateIn && `${baseClass}--is-open`,\n drawerDepth > 1 && `${baseClass}--nested`,\n ]\n .filter(Boolean)\n .join(' ')}\n slug={slug}\n style={{\n zIndex: drawerZBase + drawerDepth,\n }}\n >\n {(!drawerDepth || drawerDepth === 1) && <div className={`${baseClass}__blur-bg`} />}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n />\n <div\n className={`${baseClass}__content`}\n style={{\n width: `calc(100% - (${drawerDepth} * var(--gutter-h)))`,\n }}\n >\n <div className={`${baseClass}__blur-bg-content`} />\n <Gutter className={`${baseClass}__content-children`} left={gutter} right={gutter}>\n {Header}\n {Header === undefined && (\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`} title={hoverTitle ? title : null}>\n {title}\n </h2>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n )}\n {children}\n </Gutter>\n </div>\n </Modal>\n </DrawerDepthProvider>\n )\n }\n\n return null\n}\n\nexport const DrawerDepthContext = createContext(1)\n\nexport const DrawerDepthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const parentDepth = useDrawerDepth()\n const depth = parentDepth + 1\n\n return <DrawerDepthContext value={depth}>{children}</DrawerDepthContext>\n}\n\nexport const useDrawerDepth = (): number => use(DrawerDepthContext)\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import type { LabelFunction, StaticLabel } from 'payload';
2
+ import './index.scss';
3
+ import { type I18nClient } from '@payloadcms/translations';
4
+ export declare const FieldDiffContainer: React.FC<{
5
+ className?: string;
6
+ From: React.ReactNode;
7
+ i18n: I18nClient;
8
+ label: {
9
+ label?: false | LabelFunction | StaticLabel;
10
+ locale?: string;
11
+ };
12
+ nestingLevel?: number;
13
+ To: React.ReactNode;
14
+ }>;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldDiffContainer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,OAAO,cAAc,CAAA;AAErB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAM1E,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE;QACL,KAAK,CAAC,EAAE,KAAK,GAAG,aAAa,GAAG,WAAW,CAAA;QAC3C,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,EAAE,EAAE,KAAK,CAAC,SAAS,CAAA;CACpB,CA2CA,CAAA"}
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import './index.scss';
3
+ import { getTranslation } from '@payloadcms/translations';
4
+ import { FieldDiffLabel } from '../FieldDiffLabel/index.js';
5
+ const baseClass = 'field-diff';
6
+ export const FieldDiffContainer = args => {
7
+ const {
8
+ className,
9
+ From,
10
+ i18n,
11
+ label: {
12
+ label,
13
+ locale
14
+ },
15
+ nestingLevel = 0,
16
+ To
17
+ } = args;
18
+ return /*#__PURE__*/_jsxs("div", {
19
+ className: `${baseClass}-container${className ? ` ${className}` : ''} nested-level-${nestingLevel}`,
20
+ style: nestingLevel ? {
21
+ // Need to use % instead of fr, as calc() doesn't work with fr when this is used in gridTemplateColumns
22
+ '--left-offset': `calc(50% - (${nestingLevel} * calc( calc(var(--base)* 0.5) - 2.5px )))`
23
+ } : {
24
+ '--left-offset': '50%'
25
+ },
26
+ children: [/*#__PURE__*/_jsxs(FieldDiffLabel, {
27
+ children: [locale && /*#__PURE__*/_jsx("span", {
28
+ className: `${baseClass}__locale-label`,
29
+ children: locale
30
+ }), typeof label !== 'function' && getTranslation(label || '', i18n)]
31
+ }), /*#__PURE__*/_jsxs("div", {
32
+ className: `${baseClass}-content`,
33
+ style: nestingLevel ? {
34
+ gridTemplateColumns: `calc(var(--left-offset) - calc(var(--base)*0.5) ) calc(50% - calc(var(--base)*0.5) + calc(50% - var(--left-offset)))`
35
+ } : undefined,
36
+ children: [From, To]
37
+ })]
38
+ });
39
+ };
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["getTranslation","FieldDiffLabel","baseClass","FieldDiffContainer","args","className","From","i18n","label","locale","nestingLevel","To","_jsxs","style","_jsx","gridTemplateColumns","undefined"],"sources":["../../../src/elements/FieldDiffContainer/index.tsx"],"sourcesContent":["import type { LabelFunction, StaticLabel } from 'payload'\n\nimport './index.scss'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\n\nimport { FieldDiffLabel } from '../FieldDiffLabel/index.js'\n\nconst baseClass = 'field-diff'\n\nexport const FieldDiffContainer: React.FC<{\n className?: string\n From: React.ReactNode\n i18n: I18nClient\n label: {\n label?: false | LabelFunction | StaticLabel\n locale?: string\n }\n nestingLevel?: number\n To: React.ReactNode\n}> = (args) => {\n const {\n className,\n From,\n i18n,\n label: { label, locale },\n nestingLevel = 0,\n To,\n } = args\n\n return (\n <div\n className={`${baseClass}-container${className ? ` ${className}` : ''} nested-level-${nestingLevel}`}\n style={\n nestingLevel\n ? ({\n // Need to use % instead of fr, as calc() doesn't work with fr when this is used in gridTemplateColumns\n '--left-offset': `calc(50% - (${nestingLevel} * calc( calc(var(--base)* 0.5) - 2.5px )))`,\n } as React.CSSProperties)\n : ({\n '--left-offset': '50%',\n } as React.CSSProperties)\n }\n >\n <FieldDiffLabel>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {typeof label !== 'function' && getTranslation(label || '', i18n)}\n </FieldDiffLabel>\n <div\n className={`${baseClass}-content`}\n style={\n nestingLevel\n ? {\n gridTemplateColumns: `calc(var(--left-offset) - calc(var(--base)*0.5) ) calc(50% - calc(var(--base)*0.5) + calc(50% - var(--left-offset)))`,\n }\n : undefined\n }\n >\n {From}\n {To}\n </div>\n </div>\n )\n}\n"],"mappings":";AAEA,OAAO;AAEP,SAASA,cAAc,QAAyB;AAEhD,SAASC,cAAc,QAAQ;AAE/B,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,kBAAA,GAUPC,IAAA;EACJ,MAAM;IACJC,SAAS;IACTC,IAAI;IACJC,IAAI;IACJC,KAAA,EAAO;MAAEA,KAAK;MAAEC;IAAM,CAAE;IACxBC,YAAA,GAAe,CAAC;IAChBC;EAAE,CACH,GAAGP,IAAA;EAEJ,oBACEQ,KAAA,CAAC;IACCP,SAAA,EAAW,GAAGH,SAAA,aAAsBG,SAAA,GAAY,IAAIA,SAAA,EAAW,GAAG,mBAAmBK,YAAA,EAAc;IACnGG,KAAA,EACEH,YAAA,GACK;MACC;MACA,iBAAiB,gBAAgBA,YAAA;IACnC,IACC;MACC,iBAAiB;IACnB;4BAGNE,KAAA,CAACX,cAAA;iBACEQ,MAAA,iBAAUK,IAAA,CAAC;QAAKT,SAAA,EAAW,GAAGH,SAAA,gBAAyB;kBAAGO;UAC1D,OAAOD,KAAA,KAAU,cAAcR,cAAA,CAAeQ,KAAA,IAAS,IAAID,IAAA;qBAE9DK,KAAA,CAAC;MACCP,SAAA,EAAW,GAAGH,SAAA,UAAmB;MACjCW,KAAA,EACEH,YAAA,GACI;QACEK,mBAAA,EAAqB;MACvB,IACAC,SAAA;iBAGLV,IAAA,EACAK,EAAA;;;AAIT","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ @import '../../scss/styles.scss';
2
+
3
+ @layer payload-default {
4
+ .field-diff {
5
+ &__locale-label {
6
+ background: var(--theme-elevation-100);
7
+ border-radius: var(--style-radius-s);
8
+ padding: calc(var(--base) * 0.2);
9
+ // border-radius: $style-radius-m;
10
+ [dir='ltr'] & {
11
+ margin-right: calc(var(--base) * 0.25);
12
+ }
13
+ [dir='rtl'] & {
14
+ margin-left: calc(var(--base) * 0.25);
15
+ }
16
+ }
17
+
18
+ &-container {
19
+ position: relative;
20
+
21
+ // Vertical separator line - not needed anymore, as the parent version view container adds a vertical line that spans the entire height of the container.
22
+ /*
23
+ &::after {
24
+ content: '';
25
+ position: absolute;
26
+ top: 0;
27
+ bottom: 0;
28
+ left: var(--left-offset);
29
+ width: 1px;
30
+ background-color: var(--theme-elevation-100);
31
+ transform: translateX(-50%); // Center the line
32
+ }*/
33
+ }
34
+
35
+ &-content {
36
+ display: grid;
37
+ // Need to use 50% 50% so that we can apply overflow-x without the column shrinking to the content width.
38
+ // Need -base(0.5) to enure the gap is center aligned - this is required when using 50% over 1fr.
39
+ grid-template-columns: calc(50% - base(0.5)) calc(50% - base(0.5));
40
+ gap: base(1);
41
+ background: var(--theme-elevation-50);
42
+ padding: base(0.5);
43
+ }
44
+ }
45
+ }
@@ -1,6 +1,11 @@
1
1
  @layer payload-default {
2
2
  .field-diff-label {
3
- margin-bottom: calc(var(--base) * 0.25);
3
+ margin-bottom: calc(var(--base) * 0.35);
4
4
  font-weight: 600;
5
+ display: flex;
6
+ flex-direction: row;
7
+ height: 100%;
8
+ align-items: center;
9
+ line-height: normal;
5
10
  }
6
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/CollectionTypePill/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,cAAc,CAAA;AAIrB,wBAAgB,kBAAkB,sBAgDjC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/CollectionTypePill/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,cAAc,CAAA;AAIrB,wBAAgB,kBAAkB,sBAoDjC"}
@@ -14,10 +14,10 @@ const baseClass = 'collection-type';
14
14
  export function CollectionTypePill() {
15
15
  const $ = _c(13);
16
16
  const {
17
- filterItems,
17
+ activeCollectionFolderSlugs: visibleCollectionSlugs,
18
+ allCollectionFolderSlugs: folderCollectionSlugs,
18
19
  folderCollectionSlug,
19
- folderCollectionSlugs,
20
- visibleCollectionSlugs
20
+ refineFolderData
21
21
  } = useFolder();
22
22
  const {
23
23
  i18n,
@@ -54,18 +54,21 @@ export function CollectionTypePill() {
54
54
  }
55
55
  const [allCollectionOptions] = React.useState(t0);
56
56
  let t1;
57
- if ($[6] !== allCollectionOptions || $[7] !== filterItems || $[8] !== t || $[9] !== visibleCollectionSlugs) {
57
+ if ($[6] !== allCollectionOptions || $[7] !== refineFolderData || $[8] !== t || $[9] !== visibleCollectionSlugs) {
58
58
  let t2;
59
- if ($[11] !== filterItems) {
59
+ if ($[11] !== refineFolderData) {
60
60
  t2 = t3 => {
61
61
  const {
62
- selectedValues
62
+ selectedValues: relationTo
63
63
  } = t3;
64
- filterItems({
65
- relationTo: selectedValues
64
+ refineFolderData({
65
+ query: {
66
+ relationTo
67
+ },
68
+ updateURL: true
66
69
  });
67
70
  };
68
- $[11] = filterItems;
71
+ $[11] = refineFolderData;
69
72
  $[12] = t2;
70
73
  } else {
71
74
  t2 = $[12];
@@ -87,7 +90,7 @@ export function CollectionTypePill() {
87
90
  selectedValues: visibleCollectionSlugs
88
91
  }, "relation-to-selection-popup");
89
92
  $[6] = allCollectionOptions;
90
- $[7] = filterItems;
93
+ $[7] = refineFolderData;
91
94
  $[8] = t;
92
95
  $[9] = visibleCollectionSlugs;
93
96
  $[10] = t1;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useConfig","useFolder","useTranslation","Button","CheckboxPopup","baseClass","CollectionTypePill","$","filterItems","folderCollectionSlug","folderCollectionSlugs","visibleCollectionSlugs","i18n","t","config","getEntityConfig","t0","collections","reduce","acc","collection","folders","includes","slug","push","label","labels","plural","value","collectionSlug","allCollectionOptions","useState","t1","t2","t3","selectedValues","relationTo","_jsx","_jsxs","buttonStyle","el","icon","margin","size","children","length","className","options"],"sources":["../../../../src/elements/FolderView/CollectionTypePill/index.tsx"],"sourcesContent":["'use client'\n\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 { CheckboxPopup } from '../../CheckboxPopup/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-type'\n\nexport function CollectionTypePill() {\n const { filterItems, folderCollectionSlug, folderCollectionSlugs, visibleCollectionSlugs } =\n useFolder()\n const { i18n, t } = useTranslation()\n const { config, getEntityConfig } = useConfig()\n\n const [allCollectionOptions] = React.useState(() => {\n return config.collections.reduce(\n (acc, collection) => {\n if (collection.folders && folderCollectionSlugs.includes(collection.slug)) {\n acc.push({\n label: getTranslation(collection.labels?.plural, i18n),\n value: collection.slug,\n })\n }\n\n return acc\n },\n [\n {\n label: getTranslation(\n getEntityConfig({ collectionSlug: folderCollectionSlug }).labels?.plural,\n i18n,\n ),\n value: folderCollectionSlug,\n },\n ],\n )\n })\n\n return (\n <CheckboxPopup\n Button={\n <Button buttonStyle=\"pill\" el=\"div\" icon=\"chevron\" margin={false} size=\"small\">\n {visibleCollectionSlugs.length ? (\n <span className={`${baseClass}__count`}>{visibleCollectionSlugs.length}</span>\n ) : null}\n {t('version:type')}\n </Button>\n }\n key=\"relation-to-selection-popup\"\n onChange={({ selectedValues }) => {\n void filterItems({ relationTo: selectedValues })\n }}\n options={allCollectionOptions}\n selectedValues={visibleCollectionSlugs}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useConfig","useFolder","useTranslation","Button","CheckboxPopup","baseClass","CollectionTypePill","$","activeCollectionFolderSlugs","visibleCollectionSlugs","allCollectionFolderSlugs","folderCollectionSlugs","folderCollectionSlug","refineFolderData","i18n","t","config","getEntityConfig","t0","collections","reduce","acc","collection","folders","includes","slug","push","label","labels","plural","value","collectionSlug","allCollectionOptions","useState","t1","t2","t3","selectedValues","relationTo","query","updateURL","_jsx","_jsxs","buttonStyle","el","icon","margin","size","children","length","className","options"],"sources":["../../../../src/elements/FolderView/CollectionTypePill/index.tsx"],"sourcesContent":["'use client'\n\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 { CheckboxPopup } from '../../CheckboxPopup/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-type'\n\nexport function CollectionTypePill() {\n const {\n activeCollectionFolderSlugs: visibleCollectionSlugs,\n allCollectionFolderSlugs: folderCollectionSlugs,\n folderCollectionSlug,\n refineFolderData,\n } = useFolder()\n const { i18n, t } = useTranslation()\n const { config, getEntityConfig } = useConfig()\n\n const [allCollectionOptions] = React.useState(() => {\n return config.collections.reduce(\n (acc, collection) => {\n if (collection.folders && folderCollectionSlugs.includes(collection.slug)) {\n acc.push({\n label: getTranslation(collection.labels?.plural, i18n),\n value: collection.slug,\n })\n }\n\n return acc\n },\n [\n {\n label: getTranslation(\n getEntityConfig({ collectionSlug: folderCollectionSlug }).labels?.plural,\n i18n,\n ),\n value: folderCollectionSlug,\n },\n ],\n )\n })\n\n return (\n <CheckboxPopup\n Button={\n <Button buttonStyle=\"pill\" el=\"div\" icon=\"chevron\" margin={false} size=\"small\">\n {visibleCollectionSlugs.length ? (\n <span className={`${baseClass}__count`}>{visibleCollectionSlugs.length}</span>\n ) : null}\n {t('version:type')}\n </Button>\n }\n key=\"relation-to-selection-popup\"\n onChange={({ selectedValues: relationTo }) => {\n void refineFolderData({ query: { relationTo }, updateURL: true })\n }}\n options={allCollectionOptions}\n selectedValues={visibleCollectionSlugs}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/CurrentFolderActions/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAkBzB,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AACD,wBAAgB,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,qBAoIxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/CurrentFolderActions/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAoBzB,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AACD,wBAAgB,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,qBA8IxD"}
@@ -1,11 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useModal } from '@faceless-ui/modal';
3
3
  import { getTranslation } from '@payloadcms/translations';
4
+ import { useRouter } from 'next/navigation.js';
4
5
  import React from 'react';
5
6
  import { toast } from 'sonner';
6
7
  import { Dots } from '../../../icons/Dots/index.js';
7
8
  import { useConfig } from '../../../providers/Config/index.js';
8
9
  import { useFolder } from '../../../providers/Folders/index.js';
10
+ import { useRouteCache } from '../../../providers/RouteCache/index.js';
11
+ import { useRouteTransition } from '../../../providers/RouteTransition/index.js';
9
12
  import { useTranslation } from '../../../providers/Translation/index.js';
10
13
  import { ConfirmationModal } from '../../ConfirmationModal/index.js';
11
14
  import { useDocumentDrawer } from '../../DocumentDrawer/index.js';
@@ -18,6 +21,10 @@ const baseClass = 'current-folder-actions';
18
21
  export function CurrentFolderActions({
19
22
  className
20
23
  }) {
24
+ const router = useRouter();
25
+ const {
26
+ startRouteTransition
27
+ } = useRouteTransition();
21
28
  const {
22
29
  breadcrumbs,
23
30
  currentFolder,
@@ -25,9 +32,8 @@ export function CurrentFolderActions({
25
32
  folderCollectionSlug,
26
33
  folderFieldName,
27
34
  folderID,
28
- moveToFolder,
29
- renameFolder,
30
- setFolderID
35
+ getFolderRoute,
36
+ moveToFolder
31
37
  } = useFolder();
32
38
  const [FolderDocumentDrawer,, {
33
39
  closeDrawer: closeFolderDrawer,
@@ -36,6 +42,9 @@ export function CurrentFolderActions({
36
42
  id: folderID,
37
43
  collectionSlug: folderCollectionSlug
38
44
  });
45
+ const {
46
+ clearRouteCache
47
+ } = useRouteCache();
39
48
  const {
40
49
  config
41
50
  } = useConfig();
@@ -56,10 +65,10 @@ export function CurrentFolderActions({
56
65
  credentials: 'include',
57
66
  method: 'DELETE'
58
67
  });
59
- await setFolderID({
60
- folderID: breadcrumbs[breadcrumbs.length - 2]?.id || null
68
+ startRouteTransition(() => {
69
+ router.push(getFolderRoute(breadcrumbs[breadcrumbs.length - 2]?.id || null));
61
70
  });
62
- }, [breadcrumbs, folderCollectionSlug, folderID, routes.api, serverURL, setFolderID]);
71
+ }, [breadcrumbs, folderCollectionSlug, folderID, getFolderRoute, router, serverURL, routes.api, startRouteTransition]);
63
72
  if (!folderID) {
64
73
  return null;
65
74
  }
@@ -139,12 +148,9 @@ export function CurrentFolderActions({
139
148
  modalSlug: confirmDeleteDrawerSlug,
140
149
  onConfirm: deleteCurrentFolder
141
150
  }), /*#__PURE__*/_jsx(FolderDocumentDrawer, {
142
- onSave: result => {
143
- renameFolder({
144
- folderID: result.doc.id,
145
- newName: result.doc[folderCollectionConfig.admin.useAsTitle]
146
- });
151
+ onSave: () => {
147
152
  closeFolderDrawer();
153
+ clearRouteCache();
148
154
  }
149
155
  })]
150
156
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","React","toast","Dots","useConfig","useFolder","useTranslation","ConfirmationModal","useDocumentDrawer","Popup","PopupList","Translation","MoveItemsToFolderDrawer","moveToFolderDrawerSlug","confirmDeleteDrawerSlug","baseClass","CurrentFolderActions","className","breadcrumbs","currentFolder","folderCollectionConfig","folderCollectionSlug","folderFieldName","folderID","moveToFolder","renameFolder","setFolderID","FolderDocumentDrawer","closeDrawer","closeFolderDrawer","openDrawer","openFolderDrawer","id","collectionSlug","config","routes","serverURL","closeModal","openModal","i18n","t","deleteCurrentFolder","useCallback","fetch","api","credentials","method","length","_jsxs","_Fragment","_jsx","button","filter","Boolean","join","render","ButtonGroup","Button","onClick","label","labels","singular","action","drawerSlug","fromFolderID","value","fromFolderName","_folderOrDocumentTitle","itemsToMove","onConfirm","name","toFolderID","success","folderName","title","body","elements","1","children","i18nKey","variables","confirmingLabel","heading","modalSlug","onSave","result","doc","newName","admin","useAsTitle"],"sources":["../../../../src/elements/FolderView/CurrentFolderActions/index.tsx"],"sourcesContent":["import { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { Dots } from '../../../icons/Dots/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ConfirmationModal } from '../../ConfirmationModal/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { Popup, PopupList } from '../../Popup/index.js'\nimport { Translation } from '../../Translation/index.js'\nimport { MoveItemsToFolderDrawer } from '../Drawers/MoveToFolder/index.js'\n\nconst moveToFolderDrawerSlug = 'move-to-folder--current-folder'\nconst confirmDeleteDrawerSlug = 'confirm-many-delete'\n\nconst baseClass = 'current-folder-actions'\n\ntype Props = {\n className?: string\n}\nexport function CurrentFolderActions({ className }: Props) {\n const {\n breadcrumbs,\n currentFolder,\n folderCollectionConfig,\n folderCollectionSlug,\n folderFieldName,\n folderID,\n moveToFolder,\n renameFolder,\n setFolderID,\n } = useFolder()\n const [FolderDocumentDrawer, , { closeDrawer: closeFolderDrawer, openDrawer: openFolderDrawer }] =\n useDocumentDrawer({\n id: folderID,\n collectionSlug: folderCollectionSlug,\n })\n const { config } = useConfig()\n const { routes, serverURL } = config\n const { closeModal, openModal } = useModal()\n const { i18n, t } = useTranslation()\n\n const deleteCurrentFolder = React.useCallback(async () => {\n await fetch(`${serverURL}${routes.api}/${folderCollectionSlug}/${folderID}?depth=0`, {\n credentials: 'include',\n method: 'DELETE',\n })\n await setFolderID({ folderID: breadcrumbs[breadcrumbs.length - 2]?.id || null })\n }, [breadcrumbs, folderCollectionSlug, folderID, routes.api, serverURL, setFolderID])\n\n if (!folderID) {\n return null\n }\n\n return (\n <>\n <Popup\n button={<Dots />}\n className={[baseClass, className].filter(Boolean).join(' ')}\n render={() => (\n <PopupList.ButtonGroup>\n <PopupList.Button\n onClick={() => {\n openFolderDrawer()\n }}\n >\n {t('general:editLabel', {\n label: getTranslation(folderCollectionConfig.labels.singular, i18n),\n })}\n </PopupList.Button>\n <PopupList.Button\n onClick={() => {\n openModal(moveToFolderDrawerSlug)\n }}\n >\n {t('folder:moveFolder')}\n </PopupList.Button>\n <PopupList.Button\n onClick={() => {\n openModal(confirmDeleteDrawerSlug)\n }}\n >\n {t('folder:deleteFolder')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n />\n <MoveItemsToFolderDrawer\n action=\"moveItemToFolder\"\n drawerSlug={moveToFolderDrawerSlug}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={currentFolder?.value.id}\n fromFolderName={currentFolder?.value._folderOrDocumentTitle}\n itemsToMove={[currentFolder]}\n onConfirm={async ({ id, name }) => {\n await moveToFolder({\n itemsToMove: [currentFolder],\n toFolderID: id,\n })\n if (id) {\n // moved to folder\n toast.success(\n t('folder:itemHasBeenMoved', {\n folderName: `\"${name}\"`,\n title: currentFolder.value._folderOrDocumentTitle,\n }),\n )\n } else {\n // moved to root\n toast.success(\n t('folder:itemHasBeenMovedToRoot', {\n title: currentFolder.value._folderOrDocumentTitle,\n }),\n )\n }\n closeModal(moveToFolderDrawerSlug)\n }}\n title={currentFolder.value._folderOrDocumentTitle}\n />\n\n <ConfirmationModal\n body={\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToDelete\"\n t={t}\n variables={{\n label: getTranslation(folderCollectionConfig.labels.singular, i18n),\n title: currentFolder.value._folderOrDocumentTitle,\n }}\n />\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={confirmDeleteDrawerSlug}\n onConfirm={deleteCurrentFolder}\n />\n\n <FolderDocumentDrawer\n onSave={(result) => {\n renameFolder({\n folderID: result.doc.id,\n newName: result.doc[folderCollectionConfig.admin.useAsTitle],\n })\n closeFolderDrawer()\n }}\n />\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","React","toast","Dots","useConfig","useFolder","useRouteCache","useRouteTransition","useTranslation","ConfirmationModal","useDocumentDrawer","Popup","PopupList","Translation","MoveItemsToFolderDrawer","moveToFolderDrawerSlug","confirmDeleteDrawerSlug","baseClass","CurrentFolderActions","className","router","startRouteTransition","breadcrumbs","currentFolder","folderCollectionConfig","folderCollectionSlug","folderFieldName","folderID","getFolderRoute","moveToFolder","FolderDocumentDrawer","closeDrawer","closeFolderDrawer","openDrawer","openFolderDrawer","id","collectionSlug","clearRouteCache","config","routes","serverURL","closeModal","openModal","i18n","t","deleteCurrentFolder","useCallback","fetch","api","credentials","method","push","length","_jsxs","_Fragment","_jsx","button","filter","Boolean","join","render","ButtonGroup","Button","onClick","label","labels","singular","action","drawerSlug","fromFolderID","value","fromFolderName","_folderOrDocumentTitle","itemsToMove","onConfirm","name","toFolderID","success","folderName","title","body","elements","1","children","i18nKey","variables","confirmingLabel","heading","modalSlug","onSave"],"sources":["../../../../src/elements/FolderView/CurrentFolderActions/index.tsx"],"sourcesContent":["import { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { Dots } from '../../../icons/Dots/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useRouteCache } from '../../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ConfirmationModal } from '../../ConfirmationModal/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { Popup, PopupList } from '../../Popup/index.js'\nimport { Translation } from '../../Translation/index.js'\nimport { MoveItemsToFolderDrawer } from '../Drawers/MoveToFolder/index.js'\n\nconst moveToFolderDrawerSlug = 'move-to-folder--current-folder'\nconst confirmDeleteDrawerSlug = 'confirm-many-delete'\n\nconst baseClass = 'current-folder-actions'\n\ntype Props = {\n className?: string\n}\nexport function CurrentFolderActions({ className }: Props) {\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n const {\n breadcrumbs,\n currentFolder,\n folderCollectionConfig,\n folderCollectionSlug,\n folderFieldName,\n folderID,\n getFolderRoute,\n moveToFolder,\n } = useFolder()\n const [FolderDocumentDrawer, , { closeDrawer: closeFolderDrawer, openDrawer: openFolderDrawer }] =\n useDocumentDrawer({\n id: folderID,\n collectionSlug: folderCollectionSlug,\n })\n const { clearRouteCache } = useRouteCache()\n const { config } = useConfig()\n const { routes, serverURL } = config\n const { closeModal, openModal } = useModal()\n const { i18n, t } = useTranslation()\n\n const deleteCurrentFolder = React.useCallback(async () => {\n await fetch(`${serverURL}${routes.api}/${folderCollectionSlug}/${folderID}?depth=0`, {\n credentials: 'include',\n method: 'DELETE',\n })\n startRouteTransition(() => {\n router.push(getFolderRoute(breadcrumbs[breadcrumbs.length - 2]?.id || null))\n })\n }, [\n breadcrumbs,\n folderCollectionSlug,\n folderID,\n getFolderRoute,\n router,\n serverURL,\n routes.api,\n startRouteTransition,\n ])\n\n if (!folderID) {\n return null\n }\n\n return (\n <>\n <Popup\n button={<Dots />}\n className={[baseClass, className].filter(Boolean).join(' ')}\n render={() => (\n <PopupList.ButtonGroup>\n <PopupList.Button\n onClick={() => {\n openFolderDrawer()\n }}\n >\n {t('general:editLabel', {\n label: getTranslation(folderCollectionConfig.labels.singular, i18n),\n })}\n </PopupList.Button>\n <PopupList.Button\n onClick={() => {\n openModal(moveToFolderDrawerSlug)\n }}\n >\n {t('folder:moveFolder')}\n </PopupList.Button>\n <PopupList.Button\n onClick={() => {\n openModal(confirmDeleteDrawerSlug)\n }}\n >\n {t('folder:deleteFolder')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n />\n <MoveItemsToFolderDrawer\n action=\"moveItemToFolder\"\n drawerSlug={moveToFolderDrawerSlug}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={currentFolder?.value.id}\n fromFolderName={currentFolder?.value._folderOrDocumentTitle}\n itemsToMove={[currentFolder]}\n onConfirm={async ({ id, name }) => {\n await moveToFolder({\n itemsToMove: [currentFolder],\n toFolderID: id,\n })\n if (id) {\n // moved to folder\n toast.success(\n t('folder:itemHasBeenMoved', {\n folderName: `\"${name}\"`,\n title: currentFolder.value._folderOrDocumentTitle,\n }),\n )\n } else {\n // moved to root\n toast.success(\n t('folder:itemHasBeenMovedToRoot', {\n title: currentFolder.value._folderOrDocumentTitle,\n }),\n )\n }\n closeModal(moveToFolderDrawerSlug)\n }}\n title={currentFolder.value._folderOrDocumentTitle}\n />\n\n <ConfirmationModal\n body={\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToDelete\"\n t={t}\n variables={{\n label: getTranslation(folderCollectionConfig.labels.singular, i18n),\n title: currentFolder.value._folderOrDocumentTitle,\n }}\n />\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={confirmDeleteDrawerSlug}\n onConfirm={deleteCurrentFolder}\n />\n\n <FolderDocumentDrawer\n onSave={() => {\n closeFolderDrawer()\n clearRouteCache()\n }}\n />\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,7 @@
1
- import type { DocumentDrawerContextProps } from '../../../DocumentDrawer/Provider.js';
2
1
  type EditFolderActionProps = {
3
2
  folderCollectionSlug: string;
4
3
  id: number | string;
5
- onSave: DocumentDrawerContextProps['onSave'];
6
4
  };
7
- export declare const EditFolderAction: ({ id, folderCollectionSlug, onSave }: EditFolderActionProps) => import("react").JSX.Element;
5
+ export declare const EditFolderAction: ({ id, folderCollectionSlug }: EditFolderActionProps) => import("react").JSX.Element;
8
6
  export {};
9
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/FolderView/Drawers/EditFolderAction/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAA;AAMrF,KAAK,qBAAqB,GAAG;IAC3B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAA;CAC7C,CAAA;AACD,eAAO,MAAM,gBAAgB,yCAA0C,qBAAqB,gCAyB3F,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/FolderView/Drawers/EditFolderAction/index.tsx"],"names":[],"mappings":"AAKA,KAAK,qBAAqB,GAAG;IAC3B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CACpB,CAAA;AACD,eAAO,MAAM,gBAAgB,iCAAkC,qBAAqB,gCA0BnF,CAAA"}
@@ -1,12 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useRouteCache } from '../../../../providers/RouteCache/index.js';
2
3
  import { useTranslation } from '../../../../providers/Translation/index.js';
3
4
  import { useDocumentDrawer } from '../../../DocumentDrawer/index.js';
4
5
  import { ListSelectionButton } from '../../../ListSelection/index.js';
5
6
  export const EditFolderAction = ({
6
7
  id,
7
- folderCollectionSlug,
8
- onSave
8
+ folderCollectionSlug
9
9
  }) => {
10
+ const {
11
+ clearRouteCache
12
+ } = useRouteCache();
10
13
  const {
11
14
  t
12
15
  } = useTranslation();
@@ -26,9 +29,9 @@ export const EditFolderAction = ({
26
29
  type: "button",
27
30
  children: t('general:edit')
28
31
  }), /*#__PURE__*/_jsx(FolderDocumentDrawer, {
29
- onSave: async args => {
30
- await onSave(args);
32
+ onSave: () => {
31
33
  closeDrawer();
34
+ clearRouteCache();
32
35
  }
33
36
  })]
34
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useTranslation","useDocumentDrawer","ListSelectionButton","EditFolderAction","id","folderCollectionSlug","onSave","t","FolderDocumentDrawer","closeDrawer","openDrawer","collectionSlug","_jsxs","_Fragment","_jsx","onClick","type","args"],"sources":["../../../../../src/elements/FolderView/Drawers/EditFolderAction/index.tsx"],"sourcesContent":["import type { DocumentDrawerContextProps } from '../../../DocumentDrawer/Provider.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../../../DocumentDrawer/index.js'\nimport { ListSelectionButton } from '../../../ListSelection/index.js'\n\ntype EditFolderActionProps = {\n folderCollectionSlug: string\n id: number | string\n onSave: DocumentDrawerContextProps['onSave']\n}\nexport const EditFolderAction = ({ id, folderCollectionSlug, onSave }: EditFolderActionProps) => {\n const { t } = useTranslation()\n const [FolderDocumentDrawer, , { closeDrawer, openDrawer }] = useDocumentDrawer({\n id,\n collectionSlug: folderCollectionSlug,\n })\n\n if (!id) {\n return null\n }\n\n return (\n <>\n <ListSelectionButton onClick={openDrawer} type=\"button\">\n {t('general:edit')}\n </ListSelectionButton>\n\n <FolderDocumentDrawer\n onSave={async (args) => {\n await onSave(args)\n closeDrawer()\n }}\n />\n </>\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,mBAAmB,QAAQ;AAOpC,OAAO,MAAMC,gBAAA,GAAmBA,CAAC;EAAEC,EAAE;EAAEC,oBAAoB;EAAEC;AAAM,CAAyB;EAC1F,MAAM;IAAEC;EAAC,CAAE,GAAGP,cAAA;EACd,MAAM,CAACQ,oBAAA,GAAwB;IAAEC,WAAW;IAAEC;EAAU,CAAE,CAAC,GAAGT,iBAAA,CAAkB;IAC9EG,EAAA;IACAO,cAAA,EAAgBN;EAClB;EAEA,IAAI,CAACD,EAAA,EAAI;IACP,OAAO;EACT;EAEA,oBACEQ,KAAA,CAAAC,SAAA;4BACEC,IAAA,CAACZ,mBAAA;MAAoBa,OAAA,EAASL,UAAA;MAAYM,IAAA,EAAK;gBAC5CT,CAAA,CAAE;qBAGLO,IAAA,CAACN,oBAAA;MACCF,MAAA,EAAQ,MAAOW,IAAA;QACb,MAAMX,MAAA,CAAOW,IAAA;QACbR,WAAA;MACF;;;AAIR","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useRouteCache","useTranslation","useDocumentDrawer","ListSelectionButton","EditFolderAction","id","folderCollectionSlug","clearRouteCache","t","FolderDocumentDrawer","closeDrawer","openDrawer","collectionSlug","_jsxs","_Fragment","_jsx","onClick","type","onSave"],"sources":["../../../../../src/elements/FolderView/Drawers/EditFolderAction/index.tsx"],"sourcesContent":["import { useRouteCache } from '../../../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../../../DocumentDrawer/index.js'\nimport { ListSelectionButton } from '../../../ListSelection/index.js'\n\ntype EditFolderActionProps = {\n folderCollectionSlug: string\n id: number | string\n}\nexport const EditFolderAction = ({ id, folderCollectionSlug }: EditFolderActionProps) => {\n const { clearRouteCache } = useRouteCache()\n const { t } = useTranslation()\n const [FolderDocumentDrawer, , { closeDrawer, openDrawer }] = useDocumentDrawer({\n id,\n collectionSlug: folderCollectionSlug,\n })\n\n if (!id) {\n return null\n }\n\n return (\n <>\n <ListSelectionButton onClick={openDrawer} type=\"button\">\n {t('general:edit')}\n </ListSelectionButton>\n\n <FolderDocumentDrawer\n onSave={() => {\n closeDrawer()\n clearRouteCache()\n }}\n />\n </>\n )\n}\n"],"mappings":";AAAA,SAASA,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,mBAAmB,QAAQ;AAMpC,OAAO,MAAMC,gBAAA,GAAmBA,CAAC;EAAEC,EAAE;EAAEC;AAAoB,CAAyB;EAClF,MAAM;IAAEC;EAAe,CAAE,GAAGP,aAAA;EAC5B,MAAM;IAAEQ;EAAC,CAAE,GAAGP,cAAA;EACd,MAAM,CAACQ,oBAAA,GAAwB;IAAEC,WAAW;IAAEC;EAAU,CAAE,CAAC,GAAGT,iBAAA,CAAkB;IAC9EG,EAAA;IACAO,cAAA,EAAgBN;EAClB;EAEA,IAAI,CAACD,EAAA,EAAI;IACP,OAAO;EACT;EAEA,oBACEQ,KAAA,CAAAC,SAAA;4BACEC,IAAA,CAACZ,mBAAA;MAAoBa,OAAA,EAASL,UAAA;MAAYM,IAAA,EAAK;gBAC5CT,CAAA,CAAE;qBAGLO,IAAA,CAACN,oBAAA;MACCS,MAAA,EAAQA,CAAA;QACNR,WAAA;QACAH,eAAA;MACF;;;AAIR","ignoreList":[]}
@@ -23,6 +23,7 @@ export type MoveToFolderDrawerProps = {
23
23
  id: null | number | string;
24
24
  name: null | string;
25
25
  }) => Promise<void> | void;
26
+ readonly populateMoveToFolderDrawer?: (folderID: null | number | string) => Promise<void> | void;
26
27
  /**
27
28
  * Set to `true` to skip the confirmation modal
28
29
  * @default false
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/FolderView/Drawers/MoveToFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,gBAAgB,EAEjB,MAAM,gBAAgB,CAAA;AAKvB,OAAO,KAAK,MAAM,OAAO,CAAA;AAkBzB,OAAO,cAAc,CAAA;AAMrB,KAAK,WAAW,GACZ;IACE,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAA;CACrC,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AACL,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAA;IACxC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE;QACzB,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;QAC1B,IAAI,EAAE,IAAI,GAAG,MAAM,CAAA;KACpB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC1B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CACpC,GAAG,WAAW,CAAA;AAEf,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,qBAMrE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/FolderView/Drawers/MoveToFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAKxE,OAAO,KAAK,MAAM,OAAO,CAAA;AAmBzB,OAAO,cAAc,CAAA;AAMrB,KAAK,WAAW,GACZ;IACE,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAA;CACrC,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AACL,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAA;IACxC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE;QACzB,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;QAC1B,IAAI,EAAE,IAAI,GAAG,MAAM,CAAA;KACpB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAChG;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CACpC,GAAG,WAAW,CAAA;AAEf,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,qBAMrE"}