@payloadcms/ui 3.0.0-beta.87 → 3.0.0-beta.89

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 (194) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -0
  2. package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.js +98 -82
  3. package/dist/elements/AddNewRelation/index.js.map +1 -0
  4. package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.scss +7 -3
  5. package/dist/elements/AddNewRelation/types.d.ts +11 -0
  6. package/dist/elements/AddNewRelation/types.d.ts.map +1 -0
  7. package/dist/elements/AddNewRelation/types.js.map +1 -0
  8. package/dist/elements/AddNewRelation/useRelatedCollections.d.ts.map +1 -0
  9. package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.js +1 -1
  10. package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -0
  11. package/dist/elements/Banner/index.d.ts +2 -2
  12. package/dist/elements/Banner/index.d.ts.map +1 -1
  13. package/dist/elements/Banner/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +9 -0
  15. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -0
  16. package/dist/elements/BulkUpload/ActionsBar/index.js +186 -0
  17. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -0
  18. package/dist/elements/BulkUpload/ActionsBar/index.scss +59 -0
  19. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +9 -0
  20. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -0
  21. package/dist/elements/BulkUpload/AddFilesView/index.js +44 -0
  22. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -0
  23. package/dist/elements/BulkUpload/AddFilesView/index.scss +15 -0
  24. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +4 -0
  25. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -0
  26. package/dist/elements/BulkUpload/AddingFilesView/index.js +98 -0
  27. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -0
  28. package/dist/elements/BulkUpload/AddingFilesView/index.scss +23 -0
  29. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts +4 -0
  30. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -0
  31. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +89 -0
  32. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -0
  33. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts +9 -0
  34. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts.map +1 -0
  35. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +38 -0
  36. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -0
  37. package/dist/elements/BulkUpload/DrawerCloseButton/index.scss +27 -0
  38. package/dist/elements/BulkUpload/EditForm/index.d.ts +5 -0
  39. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -0
  40. package/dist/elements/BulkUpload/EditForm/index.js +176 -0
  41. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -0
  42. package/dist/elements/BulkUpload/EditForm/index.scss +9 -0
  43. package/dist/elements/BulkUpload/EditForm/types.d.ts +4 -0
  44. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -0
  45. package/dist/elements/BulkUpload/EditForm/types.js +2 -0
  46. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -0
  47. package/dist/elements/BulkUpload/FileSidebar/index.d.ts +4 -0
  48. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -0
  49. package/dist/elements/BulkUpload/FileSidebar/index.js +242 -0
  50. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -0
  51. package/dist/elements/BulkUpload/FileSidebar/index.scss +275 -0
  52. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +3 -0
  53. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -0
  54. package/dist/elements/BulkUpload/FormsManager/createFormData.js +22 -0
  55. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -0
  56. package/dist/elements/BulkUpload/FormsManager/index.d.ts +35 -0
  57. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -0
  58. package/dist/elements/BulkUpload/FormsManager/index.js +308 -0
  59. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -0
  60. package/dist/elements/BulkUpload/FormsManager/reducer.d.ts +30 -0
  61. package/dist/elements/BulkUpload/FormsManager/reducer.d.ts.map +1 -0
  62. package/dist/elements/BulkUpload/FormsManager/reducer.js +69 -0
  63. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -0
  64. package/dist/elements/BulkUpload/Header/index.d.ts +9 -0
  65. package/dist/elements/BulkUpload/Header/index.d.ts.map +1 -0
  66. package/dist/elements/BulkUpload/Header/index.js +22 -0
  67. package/dist/elements/BulkUpload/Header/index.js.map +1 -0
  68. package/dist/elements/BulkUpload/Header/index.scss +12 -0
  69. package/dist/elements/BulkUpload/index.d.ts +10 -0
  70. package/dist/elements/BulkUpload/index.d.ts.map +1 -0
  71. package/dist/elements/BulkUpload/index.js +114 -0
  72. package/dist/elements/BulkUpload/index.js.map +1 -0
  73. package/dist/elements/BulkUpload/index.scss +0 -0
  74. package/dist/elements/Button/index.d.ts.map +1 -1
  75. package/dist/elements/Button/index.js +127 -79
  76. package/dist/elements/Button/index.js.map +1 -1
  77. package/dist/elements/Button/index.scss +109 -43
  78. package/dist/elements/Button/types.d.ts +2 -1
  79. package/dist/elements/Button/types.d.ts.map +1 -1
  80. package/dist/elements/Button/types.js.map +1 -1
  81. package/dist/elements/DocumentDrawer/DrawerContent.js +1 -1
  82. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  83. package/dist/elements/DocumentDrawer/index.js +1 -1
  84. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  85. package/dist/elements/Dropzone/index.scss +2 -0
  86. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +20 -0
  87. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -0
  88. package/dist/elements/FileDetails/DraggableFileDetails/index.js +116 -0
  89. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -0
  90. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +33 -0
  91. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +17 -0
  92. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -0
  93. package/dist/elements/FileDetails/StaticFileDetails/index.js +71 -0
  94. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -0
  95. package/dist/elements/FileDetails/{index.scss → StaticFileDetails/index.scss} +1 -1
  96. package/dist/elements/FileDetails/index.d.ts +19 -4
  97. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  98. package/dist/elements/FileDetails/index.js +11 -62
  99. package/dist/elements/FileDetails/index.js.map +1 -1
  100. package/dist/elements/FullscreenModal/index.d.ts +4 -0
  101. package/dist/elements/FullscreenModal/index.d.ts.map +1 -0
  102. package/dist/elements/FullscreenModal/index.js +38 -0
  103. package/dist/elements/FullscreenModal/index.js.map +1 -0
  104. package/dist/elements/ListControls/index.d.ts.map +1 -1
  105. package/dist/elements/ListControls/index.js +15 -10
  106. package/dist/elements/ListControls/index.js.map +1 -1
  107. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  108. package/dist/elements/ListDrawer/DrawerContent.js +45 -33
  109. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  110. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  111. package/dist/elements/ListDrawer/index.js.map +1 -1
  112. package/dist/elements/ListDrawer/types.d.ts +4 -1
  113. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  114. package/dist/elements/ListDrawer/types.js.map +1 -1
  115. package/dist/elements/ListHeader/index.d.ts +10 -0
  116. package/dist/elements/ListHeader/index.d.ts.map +1 -0
  117. package/dist/elements/ListHeader/index.js +17 -0
  118. package/dist/elements/ListHeader/index.js.map +1 -0
  119. package/dist/elements/ListHeader/index.scss +10 -0
  120. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -1
  121. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  122. package/dist/elements/Popup/PopupButtonList/index.js +4 -4
  123. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  124. package/dist/elements/Popup/PopupTrigger/index.d.ts +2 -0
  125. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  126. package/dist/elements/Popup/PopupTrigger/index.js +5 -2
  127. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  128. package/dist/elements/Popup/PopupTrigger/index.scss +4 -1
  129. package/dist/elements/Popup/index.d.ts +2 -0
  130. package/dist/elements/Popup/index.d.ts.map +1 -1
  131. package/dist/elements/Popup/index.js +6 -0
  132. package/dist/elements/Popup/index.js.map +1 -1
  133. package/dist/elements/SelectMany/index.d.ts +6 -0
  134. package/dist/elements/SelectMany/index.d.ts.map +1 -0
  135. package/dist/elements/SelectMany/index.js +29 -0
  136. package/dist/elements/SelectMany/index.js.map +1 -0
  137. package/dist/elements/Table/DefaultCell/index.js +1 -1
  138. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  139. package/dist/elements/ViewDescription/index.d.ts +3 -2
  140. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  141. package/dist/elements/ViewDescription/index.js +39 -16
  142. package/dist/elements/ViewDescription/index.js.map +1 -1
  143. package/dist/exports/client/index.d.ts +5 -0
  144. package/dist/exports/client/index.d.ts.map +1 -1
  145. package/dist/exports/client/index.js +19 -19
  146. package/dist/exports/client/index.js.map +4 -4
  147. package/dist/fields/Blocks/SectionTitle/index.scss +1 -1
  148. package/dist/fields/Relationship/index.d.ts.map +1 -1
  149. package/dist/fields/Relationship/index.js +1 -3
  150. package/dist/fields/Relationship/index.js.map +1 -1
  151. package/dist/fields/Upload/HasMany/index.d.ts +4 -0
  152. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -0
  153. package/dist/fields/Upload/HasMany/index.js +474 -0
  154. package/dist/fields/Upload/HasMany/index.js.map +1 -0
  155. package/dist/fields/Upload/HasMany/index.scss +47 -0
  156. package/dist/fields/Upload/{Input.d.ts → HasOne/Input.d.ts} +1 -1
  157. package/dist/fields/Upload/HasOne/Input.d.ts.map +1 -0
  158. package/dist/fields/Upload/{Input.js → HasOne/Input.js} +12 -12
  159. package/dist/fields/Upload/HasOne/Input.js.map +1 -0
  160. package/dist/fields/Upload/HasOne/index.d.ts +12 -0
  161. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -0
  162. package/dist/fields/Upload/HasOne/index.js +131 -0
  163. package/dist/fields/Upload/HasOne/index.js.map +1 -0
  164. package/dist/fields/Upload/{index.scss → HasOne/index.scss} +1 -1
  165. package/dist/fields/Upload/index.d.ts +4 -4
  166. package/dist/fields/Upload/index.d.ts.map +1 -1
  167. package/dist/fields/Upload/index.js +84 -98
  168. package/dist/fields/Upload/index.js.map +1 -1
  169. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  170. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +1 -27
  171. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  172. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  173. package/dist/providers/Config/createClientConfig/collections.js +3 -4
  174. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  175. package/dist/providers/ListInfo/index.d.ts +6 -0
  176. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  177. package/dist/providers/ListInfo/index.js.map +1 -1
  178. package/dist/providers/Selection/index.d.ts +5 -3
  179. package/dist/providers/Selection/index.d.ts.map +1 -1
  180. package/dist/providers/Selection/index.js.map +1 -1
  181. package/dist/styles.css +1 -1
  182. package/package.json +4 -4
  183. package/dist/fields/Relationship/AddNew/index.d.ts.map +0 -1
  184. package/dist/fields/Relationship/AddNew/index.js.map +0 -1
  185. package/dist/fields/Relationship/AddNew/types.d.ts +0 -12
  186. package/dist/fields/Relationship/AddNew/types.d.ts.map +0 -1
  187. package/dist/fields/Relationship/AddNew/types.js.map +0 -1
  188. package/dist/fields/Relationship/AddNew/useRelatedCollections.d.ts.map +0 -1
  189. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +0 -1
  190. package/dist/fields/Upload/Input.d.ts.map +0 -1
  191. package/dist/fields/Upload/Input.js.map +0 -1
  192. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.d.ts +0 -0
  193. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/types.js +0 -0
  194. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","React","useCallback","useEffect","useState","toast","useRelatedCollections","XIcon","RenderComponent","useConfig","DocumentInfoProvider","useDocumentInfo","useLocale","useTranslation","Gutter","IDLabel","RenderTitle","baseClass","DocumentDrawerContent","t0","$","id","existingDocID","Header","collectionSlug","drawerSlug","onSave","onSaveFromProps","config","routes","t1","serverURL","api","apiRoute","closeModal","modalState","toggleModal","locale","t","docID","setDocID","isOpen","setIsOpen","collectionConfig","Edit","admin","components","views","edit","default","Component","isEditing","Boolean","apiURL","code","t2","t3","t4","data","error","errors","message","onLoadError","t5","args","doc","t6","_jsx","element","t8","t7","BeforeDocument","_jsxs","className","children","onClick","type","DocumentTitle","slug","disableActions","disableLeaveWithoutSaving","mappedComponent","title","toString"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { useRelatedCollections } from '../../fields/Relationship/AddNew/useRelatedCollections.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider, useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { IDLabel } from '../IDLabel/index.js'\nimport { RenderTitle } from '../RenderTitle/index.js'\nimport { baseClass } from './index.js'\n\nexport const DocumentDrawerContent: React.FC<DocumentDrawerProps> = ({\n id: existingDocID,\n Header,\n collectionSlug,\n drawerSlug,\n onSave: onSaveFromProps,\n}) => {\n const { config } = useConfig()\n\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const { closeModal, modalState, toggleModal } = useModal()\n const locale = useLocale()\n const { t } = useTranslation()\n const [docID, setDocID] = useState(existingDocID)\n const [isOpen, setIsOpen] = useState(false)\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n const Edit = collectionConfig.admin.components.views.edit.default.Component\n\n const isEditing = Boolean(docID)\n const apiURL = docID\n ? `${serverURL}${apiRoute}/${collectionSlug}/${docID}${locale?.code ? `?locale=${locale.code}` : ''}`\n : null\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const onLoadError = React.useCallback(\n (data) => {\n if (isOpen) {\n closeModal(drawerSlug)\n toast.error(data.errors?.[0].message || t('error:unspecific'))\n }\n },\n [closeModal, drawerSlug, isOpen, t],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setDocID(args.doc.id)\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig],\n )\n\n return (\n <DocumentInfoProvider\n BeforeDocument={\n <Gutter className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {Header || <RenderTitle element=\"span\" />}\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 onClick={() => toggleModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <DocumentTitle />\n </Gutter>\n }\n apiURL={apiURL}\n collectionSlug={collectionConfig.slug}\n disableActions\n disableLeaveWithoutSaving\n id={docID}\n isEditing={isEditing}\n onLoadError={onLoadError}\n onSave={onSave}\n >\n <RenderComponent mappedComponent={Edit} />\n </DocumentInfoProvider>\n )\n}\n\nconst DocumentTitle: React.FC = () => {\n const { id, title } = useDocumentInfo()\n return id && id !== title ? <IDLabel id={id.toString()} /> : null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AACxD,SAASC,KAAK,QAAQ;AAItB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,KAAK,QAAQ;AACtB,SAASC,eAAe,QAAQ;AAChC,SAASC,SAAS,QAAQ;AAC1B,SAASC,oBAAoB,EAAEC,eAAe,QAAQ;AACtD,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,OAAO,QAAQ;AACxB,SAASC,WAAW,QAAQ;AAC5B,SAASC,SAAS,QAAQ;AAE1B,OAAO,MAAMC,qBAAA,GAAuDC,EAAA;EAAA,MAAAC,CAAA,GAAArB,EAAA;EAAC;IAAAsB,EAAA,EAAAC,aAAA;IAAAC,MAAA;IAAAC,cAAA;IAAAC,UAAA;IAAAC,MAAA,EAAAC;EAAA,IAAAR,EAMpE;EACC;IAAAS;EAAA,IAAmBnB,SAAA;EAEnB;IAAAoB,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAGIH,MAAA;EAFM;IAAAI,GAAA,EAAAC;EAAA,IAAAH,EAAiB;EAI3B;IAAAI,UAAA;IAAAC,UAAA;IAAAC;EAAA,IAAgDpC,QAAA;EAChD,MAAAqC,MAAA,GAAezB,SAAA;EACf;IAAA0B;EAAA,IAAczB,cAAA;EACd,OAAA0B,KAAA,EAAAC,QAAA,IAA0BpC,QAAA,CAASkB,aAAA;EACnC,OAAAmB,MAAA,EAAAC,SAAA,IAA4BtC,QAAA,MAAS;EACrC,OAAAuC,gBAAA,IAA2BrC,qBAAA,CAAsBkB,cAAA;EAEjD,MAAAoB,IAAA,GAAaD,gBAAA,CAAAE,KAAA,CAAAC,UAAA,CAAAC,KAAA,CAAAC,IAAA,CAAAC,OAAA,CAAAC,SAAA;EAEb,MAAAC,SAAA,GAAkBC,OAAA,CAAQb,KAAA;EAC1B,MAAAc,MAAA,GAAed,KAAA,GACX,GAAGR,SAAA,GAAYE,QAAA,IAAYT,cAAA,IAAkBe,KAAA,GAAQF,MAAA,EAAAiB,IAAA,GAAe,WAAWjB,MAAA,CAAAiB,IAAA,EAAa,GAAG,IAAI,OACnG;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAApC,CAAA,QAAAe,UAAA,IAAAf,CAAA,QAAAK,UAAA;IAEM8B,EAAA,GAAAA,CAAA;MACRb,SAAA,CAAUU,OAAA,CAAQjB,UAAU,CAACV,UAAA,GAAAgB,MAAa;IAAA;IACzCe,EAAA,IAACrB,UAAA,EAAYV,UAAA;IAAWL,CAAA,MAAAe,UAAA;IAAAf,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAmC,EAAA;IAAAnC,CAAA,MAAAoC,EAAA;EAAA;IAAAD,EAAA,GAAAnC,CAAA;IAAAoC,EAAA,GAAApC,CAAA;EAAA;EAF3BjB,SAAA,CAAUoD,EAEV,EAAGC,EAAwB;EAAA,IAAAC,EAAA;EAAA,IAAArC,CAAA,QAAAqB,MAAA,IAAArB,CAAA,QAAAc,UAAA,IAAAd,CAAA,QAAAK,UAAA,IAAAL,CAAA,QAAAkB,CAAA;IAGzBmB,EAAA,GAAAC,IAAA;MAAA,IACMjB,MAAA;QACFP,UAAA,CAAWT,UAAA;QACXpB,KAAA,CAAAsD,KAAA,CAAYD,IAAA,CAAAE,MAAA,MAAAC,OAAA,IAA4BvB,CAAA,CAAE;MAAA;IAAA;IAE9ClB,CAAA,MAAAqB,MAAA;IAAArB,CAAA,MAAAc,UAAA;IAAAd,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAkB,CAAA;IAAAlB,CAAA,MAAAqC,EAAA;EAAA;IAAAA,EAAA,GAAArC,CAAA;EAAA;EANF,MAAA0C,WAAA,GAAoBL,EAOiB;EAAA,IAAAM,EAAA;EAAA,IAAA3C,CAAA,QAAAO,eAAA,IAAAP,CAAA,SAAAuB,gBAAA;IAInCoB,EAAA,GAAAC,IAAA;MACExB,QAAA,CAASwB,IAAA,CAAAC,GAAA,CAAA5C,EAAW;MAAA,IAChB,OAAOM,eAAA,KAAoB;QACxBA,eAAA;UAAA,GACAqC,IAAI;UAAArB;QAAA,CAET;MAAA;IAAA;IAEJvB,CAAA,MAAAO,eAAA;IAAAP,CAAA,OAAAuB,gBAAA;IAAAvB,CAAA,OAAA2C,EAAA;EAAA;IAAAA,EAAA,GAAA3C,CAAA;EAAA;EATF,MAAAM,MAAA,GAAeqC,EAUsB;EAAA,IAAAG,EAAA;EAAA,IAAA9C,CAAA,SAAAG,MAAA;IASxB2C,EAAA,GAAA3C,MAAA,IAAU4C,IAAA,CAAAnD,WAAA;MAAAoD,OAAA,EAAqB;IAAA,C;;;;;;;;;;MAQvBC,EAAA,GAAAA,CAAA,KAAMjC,WAAA,CAAYX,UAAA;MAAAL,CAAA,OAAAgB,WAAA;MAAAhB,CAAA,OAAAK,UAAA;MAAAL,CAAA,OAAAiD,EAAA;IAAA;MAAAA,EAAA,GAAAjD,CAAA;IAAA;IAbrCkD,EAAA,GAAAH,IAAA,CAAAzD,oBAAA;MAAA6D,cAAA,EAEIC,KAAA,CAAA1D,MAAA;QAAA2D,SAAA,EAAmB,GAAAxD,SAAA,UAAsB;QAAAyD,QAAA,GACvCF,KAAA,CAAC;UAAAC,SAAA,EAAe,GAAAxD,SAAA,kBAA8B;UAAAyD,QAAA,GAC5CP,IAAA,CAAC;YAAAM,SAAA,EAAc,GAAAxD,SAAA,eAA2B;YAAAyD,QAAA,EACvCR;cAKHC,IAAA,CAAC;YAAA,cACa7B,CAAA,CAAE;YAAAmC,SAAA,EACH,GAAAxD,SAAA,gBAA4B;YAAA0D,OAAA,EAC9BN,EAAkB;YAAAO,IAAA,EACtB;YAAAF,QAAA,EAELP,IAAA,CAAA5D,KAAA,IAAC;UAAA,C;YAGL4D,IAAA,CAAAU,aAAA,IAAC;MAAA,C;;sBAIWlC,gBAAA,CAAAmC,IAAA;MAAAC,cAAA;MAAAC,yBAAA;MAAA3D,EAAA,EAGZkB,KAAA;MAAAY,SAAA;MAAAW,WAAA;MAAApC,MAAA;MAAAgD,QAAA,EAKJP,IAAA,CAAA3D,eAAA;QAAAyE,eAAA,EAAkCrC;MAAA,C;;;;;;;;;;;;;;;;;SA/BpC0B,E;CAkCJ;AAEA,MAAMO,aAAA,GAA0BA,CAAA;EAAA,MAAAzD,CAAA,GAAArB,EAAA;EAC9B;IAAAsB,EAAA;IAAA6D;EAAA,IAAsBvE,eAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAC,CAAA,QAAAC,EAAA,IAAAD,CAAA,QAAA8D,KAAA;IACf/D,EAAA,GAAAE,EAAA,IAAMA,EAAA,KAAO6D,KAAA,GAAQf,IAAA,CAAApD,OAAA;MAAAM,EAAA,EAAaA,EAAA,CAAA8D,QAAA,CAAW;IAAA,C,QAAS;IAAA/D,CAAA,MAAAC,EAAA;IAAAD,CAAA,MAAA8D,KAAA;IAAA9D,CAAA,MAAAD,EAAA;EAAA;IAAAA,EAAA,GAAAC,CAAA;EAAA;EAAA,OAAtDD,EAAsD;AAAA,CAC/D","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","React","useCallback","useEffect","useState","toast","XIcon","RenderComponent","useConfig","DocumentInfoProvider","useDocumentInfo","useLocale","useTranslation","useRelatedCollections","Gutter","IDLabel","RenderTitle","baseClass","DocumentDrawerContent","t0","$","id","existingDocID","Header","collectionSlug","drawerSlug","onSave","onSaveFromProps","config","routes","t1","serverURL","api","apiRoute","closeModal","modalState","toggleModal","locale","t","docID","setDocID","isOpen","setIsOpen","collectionConfig","Edit","admin","components","views","edit","default","Component","isEditing","Boolean","apiURL","code","t2","t3","t4","data","error","errors","message","onLoadError","t5","args","doc","t6","_jsx","element","t8","t7","BeforeDocument","_jsxs","className","children","onClick","type","DocumentTitle","slug","disableActions","disableLeaveWithoutSaving","mappedComponent","title","toString"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider, useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useRelatedCollections } from '../AddNewRelation/useRelatedCollections.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { IDLabel } from '../IDLabel/index.js'\nimport { RenderTitle } from '../RenderTitle/index.js'\nimport { baseClass } from './index.js'\n\nexport const DocumentDrawerContent: React.FC<DocumentDrawerProps> = ({\n id: existingDocID,\n Header,\n collectionSlug,\n drawerSlug,\n onSave: onSaveFromProps,\n}) => {\n const { config } = useConfig()\n\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const { closeModal, modalState, toggleModal } = useModal()\n const locale = useLocale()\n const { t } = useTranslation()\n const [docID, setDocID] = useState(existingDocID)\n const [isOpen, setIsOpen] = useState(false)\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n const Edit = collectionConfig.admin.components.views.edit.default.Component\n\n const isEditing = Boolean(docID)\n const apiURL = docID\n ? `${serverURL}${apiRoute}/${collectionSlug}/${docID}${locale?.code ? `?locale=${locale.code}` : ''}`\n : null\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const onLoadError = React.useCallback(\n (data) => {\n if (isOpen) {\n closeModal(drawerSlug)\n toast.error(data.errors?.[0].message || t('error:unspecific'))\n }\n },\n [closeModal, drawerSlug, isOpen, t],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setDocID(args.doc.id)\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig],\n )\n\n return (\n <DocumentInfoProvider\n BeforeDocument={\n <Gutter className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {Header || <RenderTitle element=\"span\" />}\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 onClick={() => toggleModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <DocumentTitle />\n </Gutter>\n }\n apiURL={apiURL}\n collectionSlug={collectionConfig.slug}\n disableActions\n disableLeaveWithoutSaving\n id={docID}\n isEditing={isEditing}\n onLoadError={onLoadError}\n onSave={onSave}\n >\n <RenderComponent mappedComponent={Edit} />\n </DocumentInfoProvider>\n )\n}\n\nconst DocumentTitle: React.FC = () => {\n const { id, title } = useDocumentInfo()\n return id && id !== title ? <IDLabel id={id.toString()} /> : null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AACxD,SAASC,KAAK,QAAQ;AAItB,SAASC,KAAK,QAAQ;AACtB,SAASC,eAAe,QAAQ;AAChC,SAASC,SAAS,QAAQ;AAC1B,SAASC,oBAAoB,EAAEC,eAAe,QAAQ;AACtD,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,MAAM,QAAQ;AACvB,SAASC,OAAO,QAAQ;AACxB,SAASC,WAAW,QAAQ;AAC5B,SAASC,SAAS,QAAQ;AAE1B,OAAO,MAAMC,qBAAA,GAAuDC,EAAA;EAAA,MAAAC,CAAA,GAAArB,EAAA;EAAC;IAAAsB,EAAA,EAAAC,aAAA;IAAAC,MAAA;IAAAC,cAAA;IAAAC,UAAA;IAAAC,MAAA,EAAAC;EAAA,IAAAR,EAMpE;EACC;IAAAS;EAAA,IAAmBpB,SAAA;EAEnB;IAAAqB,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAGIH,MAAA;EAFM;IAAAI,GAAA,EAAAC;EAAA,IAAAH,EAAiB;EAI3B;IAAAI,UAAA;IAAAC,UAAA;IAAAC;EAAA,IAAgDpC,QAAA;EAChD,MAAAqC,MAAA,GAAe1B,SAAA;EACf;IAAA2B;EAAA,IAAc1B,cAAA;EACd,OAAA2B,KAAA,EAAAC,QAAA,IAA0BpC,QAAA,CAASkB,aAAA;EACnC,OAAAmB,MAAA,EAAAC,SAAA,IAA4BtC,QAAA,MAAS;EACrC,OAAAuC,gBAAA,IAA2B9B,qBAAA,CAAsBW,cAAA;EAEjD,MAAAoB,IAAA,GAAaD,gBAAA,CAAAE,KAAA,CAAAC,UAAA,CAAAC,KAAA,CAAAC,IAAA,CAAAC,OAAA,CAAAC,SAAA;EAEb,MAAAC,SAAA,GAAkBC,OAAA,CAAQb,KAAA;EAC1B,MAAAc,MAAA,GAAed,KAAA,GACX,GAAGR,SAAA,GAAYE,QAAA,IAAYT,cAAA,IAAkBe,KAAA,GAAQF,MAAA,EAAAiB,IAAA,GAAe,WAAWjB,MAAA,CAAAiB,IAAA,EAAa,GAAG,IAAI,OACnG;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAApC,CAAA,QAAAe,UAAA,IAAAf,CAAA,QAAAK,UAAA;IAEM8B,EAAA,GAAAA,CAAA;MACRb,SAAA,CAAUU,OAAA,CAAQjB,UAAU,CAACV,UAAA,GAAAgB,MAAa;IAAA;IACzCe,EAAA,IAACrB,UAAA,EAAYV,UAAA;IAAWL,CAAA,MAAAe,UAAA;IAAAf,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAmC,EAAA;IAAAnC,CAAA,MAAAoC,EAAA;EAAA;IAAAD,EAAA,GAAAnC,CAAA;IAAAoC,EAAA,GAAApC,CAAA;EAAA;EAF3BjB,SAAA,CAAUoD,EAEV,EAAGC,EAAwB;EAAA,IAAAC,EAAA;EAAA,IAAArC,CAAA,QAAAqB,MAAA,IAAArB,CAAA,QAAAc,UAAA,IAAAd,CAAA,QAAAK,UAAA,IAAAL,CAAA,QAAAkB,CAAA;IAGzBmB,EAAA,GAAAC,IAAA;MAAA,IACMjB,MAAA;QACFP,UAAA,CAAWT,UAAA;QACXpB,KAAA,CAAAsD,KAAA,CAAYD,IAAA,CAAAE,MAAA,MAAAC,OAAA,IAA4BvB,CAAA,CAAE;MAAA;IAAA;IAE9ClB,CAAA,MAAAqB,MAAA;IAAArB,CAAA,MAAAc,UAAA;IAAAd,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAkB,CAAA;IAAAlB,CAAA,MAAAqC,EAAA;EAAA;IAAAA,EAAA,GAAArC,CAAA;EAAA;EANF,MAAA0C,WAAA,GAAoBL,EAOiB;EAAA,IAAAM,EAAA;EAAA,IAAA3C,CAAA,QAAAO,eAAA,IAAAP,CAAA,SAAAuB,gBAAA;IAInCoB,EAAA,GAAAC,IAAA;MACExB,QAAA,CAASwB,IAAA,CAAAC,GAAA,CAAA5C,EAAW;MAAA,IAChB,OAAOM,eAAA,KAAoB;QACxBA,eAAA;UAAA,GACAqC,IAAI;UAAArB;QAAA,CAET;MAAA;IAAA;IAEJvB,CAAA,MAAAO,eAAA;IAAAP,CAAA,OAAAuB,gBAAA;IAAAvB,CAAA,OAAA2C,EAAA;EAAA;IAAAA,EAAA,GAAA3C,CAAA;EAAA;EATF,MAAAM,MAAA,GAAeqC,EAUsB;EAAA,IAAAG,EAAA;EAAA,IAAA9C,CAAA,SAAAG,MAAA;IASxB2C,EAAA,GAAA3C,MAAA,IAAU4C,IAAA,CAAAnD,WAAA;MAAAoD,OAAA,EAAqB;IAAA,C;;;;;;;;;;MAQvBC,EAAA,GAAAA,CAAA,KAAMjC,WAAA,CAAYX,UAAA;MAAAL,CAAA,OAAAgB,WAAA;MAAAhB,CAAA,OAAAK,UAAA;MAAAL,CAAA,OAAAiD,EAAA;IAAA;MAAAA,EAAA,GAAAjD,CAAA;IAAA;IAbrCkD,EAAA,GAAAH,IAAA,CAAA1D,oBAAA;MAAA8D,cAAA,EAEIC,KAAA,CAAA1D,MAAA;QAAA2D,SAAA,EAAmB,GAAAxD,SAAA,UAAsB;QAAAyD,QAAA,GACvCF,KAAA,CAAC;UAAAC,SAAA,EAAe,GAAAxD,SAAA,kBAA8B;UAAAyD,QAAA,GAC5CP,IAAA,CAAC;YAAAM,SAAA,EAAc,GAAAxD,SAAA,eAA2B;YAAAyD,QAAA,EACvCR;cAKHC,IAAA,CAAC;YAAA,cACa7B,CAAA,CAAE;YAAAmC,SAAA,EACH,GAAAxD,SAAA,gBAA4B;YAAA0D,OAAA,EAC9BN,EAAkB;YAAAO,IAAA,EACtB;YAAAF,QAAA,EAELP,IAAA,CAAA7D,KAAA,IAAC;UAAA,C;YAGL6D,IAAA,CAAAU,aAAA,IAAC;MAAA,C;;sBAIWlC,gBAAA,CAAAmC,IAAA;MAAAC,cAAA;MAAAC,yBAAA;MAAA3D,EAAA,EAGZkB,KAAA;MAAAY,SAAA;MAAAW,WAAA;MAAApC,MAAA;MAAAgD,QAAA,EAKJP,IAAA,CAAA5D,eAAA;QAAA0E,eAAA,EAAkCrC;MAAA,C;;;;;;;;;;;;;;;;;SA/BpC0B,E;CAkCJ;AAEA,MAAMO,aAAA,GAA0BA,CAAA;EAAA,MAAAzD,CAAA,GAAArB,EAAA;EAC9B;IAAAsB,EAAA;IAAA6D;EAAA,IAAsBxE,eAAA;EAAA,IAAAS,EAAA;EAAA,IAAAC,CAAA,QAAAC,EAAA,IAAAD,CAAA,QAAA8D,KAAA;IACf/D,EAAA,GAAAE,EAAA,IAAMA,EAAA,KAAO6D,KAAA,GAAQf,IAAA,CAAApD,OAAA;MAAAM,EAAA,EAAaA,EAAA,CAAA8D,QAAA,CAAW;IAAA,C,QAAS;IAAA/D,CAAA,MAAAC,EAAA;IAAAD,CAAA,MAAA8D,KAAA;IAAA9D,CAAA,MAAAD,EAAA;EAAA;IAAAA,EAAA,GAAAC,CAAA;EAAA;EAAA,OAAtDD,EAAsD;AAAA,CAC/D","ignoreList":[]}
@@ -6,9 +6,9 @@ import { createElement as _createElement } from "react";
6
6
  import { useModal } from '@faceless-ui/modal';
7
7
  import { getTranslation } from '@payloadcms/translations';
8
8
  import React, { useCallback, useEffect, useId, useMemo, useState } from 'react';
9
- import { useRelatedCollections } from '../../fields/Relationship/AddNew/useRelatedCollections.js';
10
9
  import { useEditDepth } from '../../providers/EditDepth/index.js';
11
10
  import { useTranslation } from '../../providers/Translation/index.js';
11
+ import { useRelatedCollections } from '../AddNewRelation/useRelatedCollections.js';
12
12
  import { Drawer, DrawerToggler } from '../Drawer/index.js';
13
13
  import { DocumentDrawerContent } from './DrawerContent.js';
14
14
  import './index.scss';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","React","useCallback","useEffect","useId","useMemo","useState","useRelatedCollections","useEditDepth","useTranslation","Drawer","DrawerToggler","DocumentDrawerContent","baseClass","formatDocumentDrawerSlug","id","collectionSlug","depth","uuid","DocumentDrawerToggler","t0","$","className","disabled","drawerSlug","rest","children","i18n","t","collectionConfig","t1","t2","labels","singular","t3","label","t4","filter","Boolean","_jsx","join","slug","DocumentDrawer","props","Header","gutter","useDocumentDrawer","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","toggleDrawer","t5","closeDrawer","t6","openDrawer","t7","t8","_createElement","key","MemoizedDrawer","t9","t10","props_0","MemoizedDrawerToggler","t11","t12","isDrawerOpen","MemoizedDrawerState","t13"],"sources":["../../../src/elements/DocumentDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { DocumentDrawerProps, DocumentTogglerProps, UseDocumentDrawer } from './types.js'\n\nimport { useRelatedCollections } from '../../fields/Relationship/AddNew/useRelatedCollections.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { DocumentDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'doc-drawer'\n\nconst formatDocumentDrawerSlug = ({\n id,\n collectionSlug,\n depth,\n uuid,\n}: {\n collectionSlug: string\n depth: number\n id: number | string\n uuid: string // supply when creating a new document and no id is available\n}) => `doc-drawer_${collectionSlug}_${depth}${id ? `_${id}` : ''}_${uuid}`\n\nexport const DocumentDrawerToggler: React.FC<DocumentTogglerProps> = ({\n id,\n children,\n className,\n collectionSlug,\n disabled,\n drawerSlug,\n ...rest\n}) => {\n const { i18n, t } = useTranslation()\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n return (\n <DrawerToggler\n aria-label={t(!id ? 'fields:addNewLabel' : 'general:editLabel', {\n label: getTranslation(collectionConfig.labels.singular, i18n),\n })}\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const DocumentDrawer: React.FC<DocumentDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer Header={null} className={baseClass} gutter={false} slug={drawerSlug}>\n <DocumentDrawerContent {...props} />\n </Drawer>\n )\n}\n\nexport const useDocumentDrawer: UseDocumentDrawer = ({ id, collectionSlug }) => {\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n\n const drawerSlug = formatDocumentDrawerSlug({\n id,\n collectionSlug,\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [closeModal, drawerSlug])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [openModal, drawerSlug])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <DocumentDrawer\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n id={id}\n key={drawerSlug}\n />\n )\n }, [id, drawerSlug, collectionSlug])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => (\n <DocumentDrawerToggler\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n id={id}\n />\n )\n }, [id, drawerSlug, collectionSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [drawerDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\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","getTranslation","React","useCallback","useEffect","useId","useMemo","useState","useEditDepth","useTranslation","useRelatedCollections","Drawer","DrawerToggler","DocumentDrawerContent","baseClass","formatDocumentDrawerSlug","id","collectionSlug","depth","uuid","DocumentDrawerToggler","t0","$","className","disabled","drawerSlug","rest","children","i18n","t","collectionConfig","t1","t2","labels","singular","t3","label","t4","filter","Boolean","_jsx","join","slug","DocumentDrawer","props","Header","gutter","useDocumentDrawer","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","toggleDrawer","t5","closeDrawer","t6","openDrawer","t7","t8","_createElement","key","MemoizedDrawer","t9","t10","props_0","MemoizedDrawerToggler","t11","t12","isDrawerOpen","MemoizedDrawerState","t13"],"sources":["../../../src/elements/DocumentDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { DocumentDrawerProps, DocumentTogglerProps, UseDocumentDrawer } from './types.js'\n\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useRelatedCollections } from '../AddNewRelation/useRelatedCollections.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { DocumentDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'doc-drawer'\n\nconst formatDocumentDrawerSlug = ({\n id,\n collectionSlug,\n depth,\n uuid,\n}: {\n collectionSlug: string\n depth: number\n id: number | string\n uuid: string // supply when creating a new document and no id is available\n}) => `doc-drawer_${collectionSlug}_${depth}${id ? `_${id}` : ''}_${uuid}`\n\nexport const DocumentDrawerToggler: React.FC<DocumentTogglerProps> = ({\n id,\n children,\n className,\n collectionSlug,\n disabled,\n drawerSlug,\n ...rest\n}) => {\n const { i18n, t } = useTranslation()\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n return (\n <DrawerToggler\n aria-label={t(!id ? 'fields:addNewLabel' : 'general:editLabel', {\n label: getTranslation(collectionConfig.labels.singular, i18n),\n })}\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const DocumentDrawer: React.FC<DocumentDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer Header={null} className={baseClass} gutter={false} slug={drawerSlug}>\n <DocumentDrawerContent {...props} />\n </Drawer>\n )\n}\n\nexport const useDocumentDrawer: UseDocumentDrawer = ({ id, collectionSlug }) => {\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n\n const drawerSlug = formatDocumentDrawerSlug({\n id,\n collectionSlug,\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [closeModal, drawerSlug])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [openModal, drawerSlug])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <DocumentDrawer\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n id={id}\n key={drawerSlug}\n />\n )\n }, [id, drawerSlug, collectionSlug])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => (\n <DocumentDrawerToggler\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n id={id}\n />\n )\n }, [id, drawerSlug, collectionSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [drawerDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,8 @@
16
16
 
17
17
  .btn {
18
18
  margin: 0;
19
+ display: flex;
20
+ justify-content: center;
19
21
  }
20
22
 
21
23
  &.dragging {
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ import type { Data, FileSizes, SanitizedCollectionConfig } from 'payload';
4
+ export type DraggableFileDetailsProps = {
5
+ collectionSlug: string;
6
+ customUploadActions?: React.ReactNode[];
7
+ doc: {
8
+ sizes?: FileSizes;
9
+ } & Data;
10
+ enableAdjustments?: boolean;
11
+ hasImageSizes?: boolean;
12
+ hasMany: boolean;
13
+ imageCacheTag?: string;
14
+ isSortable?: boolean;
15
+ removeItem?: (index: number) => void;
16
+ rowIndex: number;
17
+ uploadConfig: SanitizedCollectionConfig['upload'];
18
+ };
19
+ export declare const DraggableFileDetails: React.FC<DraggableFileDetailsProps>;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/FileDetails/DraggableFileDetails/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAOzE,MAAM,MAAM,yBAAyB,GAAG;IACtC,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACvC,GAAG,EAAE;QACH,KAAK,CAAC,EAAE,SAAS,CAAA;KAClB,GAAG,IAAI,CAAA;IACR,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAgFpE,CAAA"}
@@ -0,0 +1,116 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import React from 'react';
6
+ import { Button } from '../../Button/index.js';
7
+ import { Thumbnail } from '../../Thumbnail/index.js';
8
+ import './index.scss';
9
+ const baseClass = 'file-details-draggable';
10
+ import { DraggableSortableItem } from '../../../elements/DraggableSortable/DraggableSortableItem/index.js';
11
+ import { DragHandleIcon } from '../../../icons/DragHandle/index.js';
12
+ import { EditIcon } from '../../../icons/Edit/index.js';
13
+ import { useDocumentDrawer } from '../../DocumentDrawer/index.js';
14
+ export const DraggableFileDetails = props => {
15
+ const $ = _c(19);
16
+ const {
17
+ collectionSlug,
18
+ doc,
19
+ imageCacheTag,
20
+ isSortable,
21
+ removeItem,
22
+ rowIndex,
23
+ uploadConfig
24
+ } = props;
25
+ const {
26
+ id,
27
+ filename,
28
+ thumbnailURL,
29
+ url
30
+ } = doc;
31
+ let t0;
32
+ if ($[0] !== id || $[1] !== collectionSlug) {
33
+ t0 = {
34
+ id,
35
+ collectionSlug
36
+ };
37
+ $[0] = id;
38
+ $[1] = collectionSlug;
39
+ $[2] = t0;
40
+ } else {
41
+ t0 = $[2];
42
+ }
43
+ const [DocumentDrawer, DocumentDrawerToggler] = useDocumentDrawer(t0);
44
+ let t1;
45
+ if ($[3] !== isSortable || $[4] !== collectionSlug || $[5] !== doc || $[6] !== thumbnailURL || $[7] !== url || $[8] !== imageCacheTag || $[9] !== uploadConfig || $[10] !== filename || $[11] !== DocumentDrawer || $[12] !== DocumentDrawerToggler || $[13] !== removeItem || $[14] !== rowIndex) {
46
+ t1 = draggableSortableItemProps => _jsxs("div", {
47
+ className: [baseClass, draggableSortableItemProps && isSortable && `${baseClass}--has-drag-handle`].filter(Boolean).join(" "),
48
+ ref: draggableSortableItemProps.setNodeRef,
49
+ style: {
50
+ transform: draggableSortableItemProps.transform,
51
+ transition: draggableSortableItemProps.transition,
52
+ zIndex: draggableSortableItemProps.isDragging ? 1 : undefined
53
+ },
54
+ children: [_jsxs("div", {
55
+ className: `${baseClass}--drag-wrapper`,
56
+ children: [isSortable && draggableSortableItemProps && _jsx("div", {
57
+ className: `${baseClass}__drag`,
58
+ ...draggableSortableItemProps.attributes,
59
+ ...draggableSortableItemProps.listeners,
60
+ children: _jsx(DragHandleIcon, {})
61
+ }), _jsx(Thumbnail, {
62
+ className: `${baseClass}__thumbnail`,
63
+ collectionSlug,
64
+ doc,
65
+ fileSrc: thumbnailURL || url,
66
+ imageCacheTag,
67
+ uploadConfig
68
+ })]
69
+ }), _jsx("div", {
70
+ className: `${baseClass}__main-detail`,
71
+ children: filename
72
+ }), _jsxs("div", {
73
+ className: `${baseClass}__actions`,
74
+ children: [_jsx(DocumentDrawer, {}), _jsx(DocumentDrawerToggler, {
75
+ children: _jsx(EditIcon, {})
76
+ }), removeItem && _jsx(Button, {
77
+ buttonStyle: "icon-label",
78
+ className: `${baseClass}__remove`,
79
+ icon: "x",
80
+ iconStyle: "none",
81
+ onClick: () => removeItem(rowIndex),
82
+ round: true
83
+ })]
84
+ })]
85
+ });
86
+ $[3] = isSortable;
87
+ $[4] = collectionSlug;
88
+ $[5] = doc;
89
+ $[6] = thumbnailURL;
90
+ $[7] = url;
91
+ $[8] = imageCacheTag;
92
+ $[9] = uploadConfig;
93
+ $[10] = filename;
94
+ $[11] = DocumentDrawer;
95
+ $[12] = DocumentDrawerToggler;
96
+ $[13] = removeItem;
97
+ $[14] = rowIndex;
98
+ $[15] = t1;
99
+ } else {
100
+ t1 = $[15];
101
+ }
102
+ let t2;
103
+ if ($[16] !== id || $[17] !== t1) {
104
+ t2 = _jsx(DraggableSortableItem, {
105
+ id,
106
+ children: t1
107
+ }, id);
108
+ $[16] = id;
109
+ $[17] = t1;
110
+ $[18] = t2;
111
+ } else {
112
+ t2 = $[18];
113
+ }
114
+ return t2;
115
+ };
116
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","React","Button","Thumbnail","baseClass","DraggableSortableItem","DragHandleIcon","EditIcon","useDocumentDrawer","DraggableFileDetails","props","$","collectionSlug","doc","imageCacheTag","isSortable","removeItem","rowIndex","uploadConfig","id","filename","thumbnailURL","url","t0","DocumentDrawer","DocumentDrawerToggler","t1","draggableSortableItemProps","_jsxs","className","filter","Boolean","join","ref","setNodeRef","style","transform","transition","zIndex","isDragging","undefined","children","_jsx","attributes","listeners","fileSrc","buttonStyle","icon","iconStyle","onClick","round","t2"],"sources":["../../../../src/elements/FileDetails/DraggableFileDetails/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../../Button/index.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport { UploadActions } from '../../Upload/index.js'\nimport { FileMeta } from '../FileMeta/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-details-draggable'\n\nimport type { Data, FileSizes, SanitizedCollectionConfig } from 'payload'\n\nimport { DraggableSortableItem } from '../../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DragHandleIcon } from '../../../icons/DragHandle/index.js'\nimport { EditIcon } from '../../../icons/Edit/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\n\nexport type DraggableFileDetailsProps = {\n collectionSlug: string\n customUploadActions?: React.ReactNode[]\n doc: {\n sizes?: FileSizes\n } & Data\n enableAdjustments?: boolean\n hasImageSizes?: boolean\n hasMany: boolean\n imageCacheTag?: string\n isSortable?: boolean\n removeItem?: (index: number) => void\n rowIndex: number\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const DraggableFileDetails: React.FC<DraggableFileDetailsProps> = (props) => {\n const {\n collectionSlug,\n customUploadActions,\n doc,\n enableAdjustments,\n hasImageSizes,\n hasMany,\n imageCacheTag,\n isSortable,\n removeItem,\n rowIndex,\n uploadConfig,\n } = props\n\n const { id, filename, filesize, height, mimeType, thumbnailURL, url, width } = doc\n\n const [DocumentDrawer, DocumentDrawerToggler] = useDocumentDrawer({\n id,\n collectionSlug,\n })\n\n return (\n <DraggableSortableItem id={id} key={id}>\n {(draggableSortableItemProps) => (\n <div\n className={[\n baseClass,\n draggableSortableItemProps && isSortable && `${baseClass}--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={draggableSortableItemProps.setNodeRef}\n style={{\n transform: draggableSortableItemProps.transform,\n transition: draggableSortableItemProps.transition,\n zIndex: draggableSortableItemProps.isDragging ? 1 : undefined,\n }}\n >\n <div className={`${baseClass}--drag-wrapper`}>\n {isSortable && draggableSortableItemProps && (\n <div\n className={`${baseClass}__drag`}\n {...draggableSortableItemProps.attributes}\n {...draggableSortableItemProps.listeners}\n >\n <DragHandleIcon />\n </div>\n )}\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionSlug}\n doc={doc}\n fileSrc={thumbnailURL || url}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n </div>\n <div className={`${baseClass}__main-detail`}>{filename}</div>\n\n <div className={`${baseClass}__actions`}>\n <DocumentDrawer />\n <DocumentDrawerToggler>\n <EditIcon />\n </DocumentDrawerToggler>\n {removeItem && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"none\"\n onClick={() => removeItem(rowIndex)}\n round\n />\n )}\n </div>\n </div>\n )}\n </DraggableSortableItem>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ @import '../../../scss/styles.scss';
2
+
3
+ .file-details-draggable {
4
+ display: flex;
5
+ gap: 0.6rem;
6
+ //justify-content: space-between;
7
+ align-items: center;
8
+ background: var(--theme-elevation-50);
9
+ border-radius: 3px;
10
+ padding: 0.7rem 0.8rem;
11
+
12
+ &--drag-wrapper {
13
+ display: flex;
14
+ gap: 0.6rem;
15
+ align-items: center;
16
+ }
17
+
18
+ &__thumbnail {
19
+ max-width: 1.5rem;
20
+ }
21
+
22
+ &__actions {
23
+ flex-grow: 2;
24
+ display: flex;
25
+ gap: 0.6rem;
26
+ align-items: center;
27
+ justify-content: flex-end;
28
+ }
29
+
30
+ &__remove.btn--style-icon-label {
31
+ margin: 0;
32
+ }
33
+ }
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ import type { Data, FileSizes, SanitizedCollectionConfig } from 'payload';
4
+ export type StaticFileDetailsProps = {
5
+ collectionSlug: string;
6
+ customUploadActions?: React.ReactNode[];
7
+ doc: {
8
+ sizes?: FileSizes;
9
+ } & Data;
10
+ enableAdjustments?: boolean;
11
+ handleRemove?: () => void;
12
+ hasImageSizes?: boolean;
13
+ imageCacheTag?: string;
14
+ uploadConfig: SanitizedCollectionConfig['upload'];
15
+ };
16
+ export declare const StaticFileDetails: React.FC<StaticFileDetailsProps>;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/FileDetails/StaticFileDetails/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEzE,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACvC,GAAG,EAAE;QACH,KAAK,CAAC,EAAE,SAAS,CAAA;KAClB,GAAG,IAAI,CAAA;IACR,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA4D9D,CAAA"}
@@ -0,0 +1,71 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ import React from 'react';
5
+ import { Button } from '../../Button/index.js';
6
+ import { Thumbnail } from '../../Thumbnail/index.js';
7
+ import { UploadActions } from '../../Upload/index.js';
8
+ import { FileMeta } from '../FileMeta/index.js';
9
+ import './index.scss';
10
+ const baseClass = 'file-details';
11
+ export const StaticFileDetails = props => {
12
+ const {
13
+ collectionSlug,
14
+ customUploadActions,
15
+ doc,
16
+ enableAdjustments,
17
+ handleRemove,
18
+ hasImageSizes,
19
+ imageCacheTag,
20
+ uploadConfig
21
+ } = props;
22
+ const {
23
+ id,
24
+ filename,
25
+ filesize,
26
+ height,
27
+ mimeType,
28
+ thumbnailURL,
29
+ url,
30
+ width
31
+ } = doc;
32
+ return /*#__PURE__*/_jsx("div", {
33
+ className: baseClass,
34
+ children: /*#__PURE__*/_jsxs("header", {
35
+ children: [/*#__PURE__*/_jsx(Thumbnail, {
36
+ // size="small"
37
+ className: `${baseClass}__thumbnail`,
38
+ collectionSlug: collectionSlug,
39
+ doc: doc,
40
+ fileSrc: thumbnailURL || url,
41
+ imageCacheTag: imageCacheTag,
42
+ uploadConfig: uploadConfig
43
+ }), /*#__PURE__*/_jsxs("div", {
44
+ className: `${baseClass}__main-detail`,
45
+ children: [/*#__PURE__*/_jsx(FileMeta, {
46
+ collection: collectionSlug,
47
+ filename: filename,
48
+ filesize: filesize,
49
+ height: height,
50
+ id: id,
51
+ mimeType: mimeType,
52
+ url: url,
53
+ width: width
54
+ }), (enableAdjustments || customUploadActions) && /*#__PURE__*/_jsx(UploadActions, {
55
+ customActions: customUploadActions,
56
+ enableAdjustments: Boolean(enableAdjustments),
57
+ enablePreviewSizes: hasImageSizes && doc.filename,
58
+ mimeType: mimeType
59
+ })]
60
+ }), handleRemove && /*#__PURE__*/_jsx(Button, {
61
+ buttonStyle: "icon-label",
62
+ className: `${baseClass}__remove`,
63
+ icon: "x",
64
+ iconStyle: "with-border",
65
+ onClick: handleRemove,
66
+ round: true
67
+ })]
68
+ })
69
+ });
70
+ };
71
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","Button","Thumbnail","UploadActions","FileMeta","baseClass","StaticFileDetails","props","collectionSlug","customUploadActions","doc","enableAdjustments","handleRemove","hasImageSizes","imageCacheTag","uploadConfig","id","filename","filesize","height","mimeType","thumbnailURL","url","width","_jsx","className","_jsxs","fileSrc","collection","customActions","Boolean","enablePreviewSizes","buttonStyle","icon","iconStyle","onClick","round"],"sources":["../../../../src/elements/FileDetails/StaticFileDetails/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../../Button/index.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport { UploadActions } from '../../Upload/index.js'\nimport { FileMeta } from '../FileMeta/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-details'\n\nimport type { Data, FileSizes, SanitizedCollectionConfig } from 'payload'\n\nexport type StaticFileDetailsProps = {\n collectionSlug: string\n customUploadActions?: React.ReactNode[]\n doc: {\n sizes?: FileSizes\n } & Data\n enableAdjustments?: boolean\n handleRemove?: () => void\n hasImageSizes?: boolean\n imageCacheTag?: string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const StaticFileDetails: React.FC<StaticFileDetailsProps> = (props) => {\n const {\n collectionSlug,\n customUploadActions,\n doc,\n enableAdjustments,\n handleRemove,\n hasImageSizes,\n imageCacheTag,\n uploadConfig,\n } = props\n\n const { id, filename, filesize, height, mimeType, thumbnailURL, url, width } = doc\n\n return (\n <div className={baseClass}>\n <header>\n <Thumbnail\n // size=\"small\"\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionSlug}\n doc={doc}\n fileSrc={thumbnailURL || url}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n <div className={`${baseClass}__main-detail`}>\n <FileMeta\n collection={collectionSlug}\n filename={filename as string}\n filesize={filesize as number}\n height={height as number}\n id={id as string}\n mimeType={mimeType as string}\n url={url as string}\n width={width as number}\n />\n\n {(enableAdjustments || customUploadActions) && (\n <UploadActions\n customActions={customUploadActions}\n enableAdjustments={Boolean(enableAdjustments)}\n enablePreviewSizes={hasImageSizes && doc.filename}\n mimeType={mimeType}\n />\n )}\n </div>\n {handleRemove && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleRemove}\n round\n />\n )}\n </header>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,SAASC,MAAM,QAAQ;AACvB,SAASC,SAAS,QAAQ;AAC1B,SAASC,aAAa,QAAQ;AAC9B,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAiBlB,OAAO,MAAMC,iBAAA,GAAuDC,KAAA;EAClE,MAAM;IACJC,cAAc;IACdC,mBAAmB;IACnBC,GAAG;IACHC,iBAAiB;IACjBC,YAAY;IACZC,aAAa;IACbC,aAAa;IACbC;EAAY,CACb,GAAGR,KAAA;EAEJ,MAAM;IAAES,EAAE;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,QAAQ;IAAEC,YAAY;IAAEC,GAAG;IAAEC;EAAK,CAAE,GAAGb,GAAA;EAE/E,oBACEc,IAAA,CAAC;IAAIC,SAAA,EAAWpB,SAAA;cACd,aAAAqB,KAAA,CAAC;8BACCF,IAAA,CAACtB,SAAA;QACC;QACAuB,SAAA,EAAW,GAAGpB,SAAA,aAAsB;QACpCG,cAAA,EAAgBA,cAAA;QAChBE,GAAA,EAAKA,GAAA;QACLiB,OAAA,EAASN,YAAA,IAAgBC,GAAA;QACzBR,aAAA,EAAeA,aAAA;QACfC,YAAA,EAAcA;uBAEhBW,KAAA,CAAC;QAAID,SAAA,EAAW,GAAGpB,SAAA,eAAwB;gCACzCmB,IAAA,CAACpB,QAAA;UACCwB,UAAA,EAAYpB,cAAA;UACZS,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVC,MAAA,EAAQA,MAAA;UACRH,EAAA,EAAIA,EAAA;UACJI,QAAA,EAAUA,QAAA;UACVE,GAAA,EAAKA,GAAA;UACLC,KAAA,EAAOA;YAGP,CAAAZ,iBAAA,IAAqBF,mBAAkB,kBACvCe,IAAA,CAACrB,aAAA;UACC0B,aAAA,EAAepB,mBAAA;UACfE,iBAAA,EAAmBmB,OAAA,CAAQnB,iBAAA;UAC3BoB,kBAAA,EAAoBlB,aAAA,IAAiBH,GAAA,CAAIO,QAAQ;UACjDG,QAAA,EAAUA;;UAIfR,YAAA,iBACCY,IAAA,CAACvB,MAAA;QACC+B,WAAA,EAAY;QACZP,SAAA,EAAW,GAAGpB,SAAA,UAAmB;QACjC4B,IAAA,EAAK;QACLC,SAAA,EAAU;QACVC,OAAA,EAASvB,YAAA;QACTwB,KAAK;;;;AAMjB","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- @import '../../scss/styles.scss';
1
+ @import '../../../scss/styles.scss';
2
2
 
3
3
  .file-details {
4
4
  background: var(--theme-elevation-50);
@@ -1,17 +1,32 @@
1
- import React from 'react';
2
- import './index.scss';
3
1
  import type { Data, FileSizes, SanitizedCollectionConfig } from 'payload';
4
- export type FileDetailsProps = {
2
+ import React from 'react';
3
+ type SharedFileDetailsProps = {
5
4
  collectionSlug: string;
6
5
  customUploadActions?: React.ReactNode[];
7
6
  doc: {
8
7
  sizes?: FileSizes;
9
8
  } & Data;
10
9
  enableAdjustments?: boolean;
11
- handleRemove?: () => void;
12
10
  hasImageSizes?: boolean;
13
11
  imageCacheTag?: string;
14
12
  uploadConfig: SanitizedCollectionConfig['upload'];
15
13
  };
14
+ type StaticFileDetailsProps = {
15
+ draggableItemProps?: never;
16
+ handleRemove?: () => void;
17
+ hasMany?: never;
18
+ isSortable?: never;
19
+ removeItem?: never;
20
+ rowIndex?: never;
21
+ };
22
+ type DraggableFileDetailsProps = {
23
+ handleRemove?: never;
24
+ hasMany: boolean;
25
+ isSortable?: boolean;
26
+ removeItem?: (index: number) => void;
27
+ rowIndex: number;
28
+ };
29
+ export type FileDetailsProps = (DraggableFileDetailsProps | StaticFileDetailsProps) & SharedFileDetailsProps;
16
30
  export declare const FileDetails: React.FC<FileDetailsProps>;
31
+ export {};
17
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FileDetails/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEzE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACvC,GAAG,EAAE;QACH,KAAK,CAAC,EAAE,SAAS,CAAA;KAClB,GAAG,IAAI,CAAA;IACR,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA4DlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FileDetails/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,KAAK,sBAAsB,GAAG;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACvC,GAAG,EAAE;QACH,KAAK,CAAC,EAAE,SAAS,CAAA;KAClB,GAAG,IAAI,CAAA;IACR,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC5B,kBAAkB,CAAC,EAAE,KAAK,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAA;CACjB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,yBAAyB,GAAG,sBAAsB,CAAC,GACjF,sBAAsB,CAAA;AAExB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAQlD,CAAA"}
@@ -1,71 +1,20 @@
1
1
  'use client';
2
2
 
3
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import React from 'react';
5
- import { UploadActions } from '../../elements/Upload/index.js';
6
- import { Button } from '../Button/index.js';
7
- import { Thumbnail } from '../Thumbnail/index.js';
8
- import { FileMeta } from './FileMeta/index.js';
9
- import './index.scss';
10
- const baseClass = 'file-details';
5
+ import { DraggableFileDetails } from './DraggableFileDetails/index.js';
6
+ import { StaticFileDetails } from './StaticFileDetails/index.js';
11
7
  export const FileDetails = props => {
12
8
  const {
13
- collectionSlug,
14
- customUploadActions,
15
- doc,
16
- enableAdjustments,
17
- handleRemove,
18
- hasImageSizes,
19
- imageCacheTag,
20
- uploadConfig
9
+ hasMany
21
10
  } = props;
22
- const {
23
- id,
24
- filename,
25
- filesize,
26
- height,
27
- mimeType,
28
- thumbnailURL,
29
- url,
30
- width
31
- } = doc;
32
- return /*#__PURE__*/_jsx("div", {
33
- className: baseClass,
34
- children: /*#__PURE__*/_jsxs("header", {
35
- children: [/*#__PURE__*/_jsx(Thumbnail, {
36
- // size="small"
37
- className: `${baseClass}__thumbnail`,
38
- collectionSlug: collectionSlug,
39
- doc: doc,
40
- fileSrc: thumbnailURL || url,
41
- imageCacheTag: imageCacheTag,
42
- uploadConfig: uploadConfig
43
- }), /*#__PURE__*/_jsxs("div", {
44
- className: `${baseClass}__main-detail`,
45
- children: [/*#__PURE__*/_jsx(FileMeta, {
46
- collection: collectionSlug,
47
- filename: filename,
48
- filesize: filesize,
49
- height: height,
50
- id: id,
51
- mimeType: mimeType,
52
- url: url,
53
- width: width
54
- }), (enableAdjustments || customUploadActions) && /*#__PURE__*/_jsx(UploadActions, {
55
- customActions: customUploadActions,
56
- enableAdjustments: enableAdjustments,
57
- enablePreviewSizes: hasImageSizes && doc.filename,
58
- mimeType: mimeType
59
- })]
60
- }), handleRemove && /*#__PURE__*/_jsx(Button, {
61
- buttonStyle: "icon-label",
62
- className: `${baseClass}__remove`,
63
- icon: "x",
64
- iconStyle: "with-border",
65
- onClick: handleRemove,
66
- round: true
67
- })]
68
- })
11
+ if (hasMany) {
12
+ return /*#__PURE__*/_jsx(DraggableFileDetails, {
13
+ ...props
14
+ });
15
+ }
16
+ return /*#__PURE__*/_jsx(StaticFileDetails, {
17
+ ...props
69
18
  });
70
19
  };
71
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","UploadActions","Button","Thumbnail","FileMeta","baseClass","FileDetails","props","collectionSlug","customUploadActions","doc","enableAdjustments","handleRemove","hasImageSizes","imageCacheTag","uploadConfig","id","filename","filesize","height","mimeType","thumbnailURL","url","width","_jsx","className","_jsxs","fileSrc","collection","customActions","enablePreviewSizes","buttonStyle","icon","iconStyle","onClick","round"],"sources":["../../../src/elements/FileDetails/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { UploadActions } from '../../elements/Upload/index.js'\nimport { Button } from '../Button/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport { FileMeta } from './FileMeta/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-details'\n\nimport type { Data, FileSizes, SanitizedCollectionConfig } from 'payload'\n\nexport type FileDetailsProps = {\n collectionSlug: string\n customUploadActions?: React.ReactNode[]\n doc: {\n sizes?: FileSizes\n } & Data\n enableAdjustments?: boolean\n handleRemove?: () => void\n hasImageSizes?: boolean\n imageCacheTag?: string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const FileDetails: React.FC<FileDetailsProps> = (props) => {\n const {\n collectionSlug,\n customUploadActions,\n doc,\n enableAdjustments,\n handleRemove,\n hasImageSizes,\n imageCacheTag,\n uploadConfig,\n } = props\n\n const { id, filename, filesize, height, mimeType, thumbnailURL, url, width } = doc\n\n return (\n <div className={baseClass}>\n <header>\n <Thumbnail\n // size=\"small\"\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionSlug}\n doc={doc}\n fileSrc={thumbnailURL || url}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n <div className={`${baseClass}__main-detail`}>\n <FileMeta\n collection={collectionSlug}\n filename={filename as string}\n filesize={filesize as number}\n height={height as number}\n id={id as string}\n mimeType={mimeType as string}\n url={url as string}\n width={width as number}\n />\n\n {(enableAdjustments || customUploadActions) && (\n <UploadActions\n customActions={customUploadActions}\n enableAdjustments={enableAdjustments}\n enablePreviewSizes={hasImageSizes && doc.filename}\n mimeType={mimeType}\n />\n )}\n </div>\n {handleRemove && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleRemove}\n round\n />\n )}\n </header>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,SAASC,aAAa,QAAQ;AAC9B,SAASC,MAAM,QAAQ;AACvB,SAASC,SAAS,QAAQ;AAC1B,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAiBlB,OAAO,MAAMC,WAAA,GAA2CC,KAAA;EACtD,MAAM;IACJC,cAAc;IACdC,mBAAmB;IACnBC,GAAG;IACHC,iBAAiB;IACjBC,YAAY;IACZC,aAAa;IACbC,aAAa;IACbC;EAAY,CACb,GAAGR,KAAA;EAEJ,MAAM;IAAES,EAAE;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,QAAQ;IAAEC,YAAY;IAAEC,GAAG;IAAEC;EAAK,CAAE,GAAGb,GAAA;EAE/E,oBACEc,IAAA,CAAC;IAAIC,SAAA,EAAWpB,SAAA;cACd,aAAAqB,KAAA,CAAC;8BACCF,IAAA,CAACrB,SAAA;QACC;QACAsB,SAAA,EAAW,GAAGpB,SAAA,aAAsB;QACpCG,cAAA,EAAgBA,cAAA;QAChBE,GAAA,EAAKA,GAAA;QACLiB,OAAA,EAASN,YAAA,IAAgBC,GAAA;QACzBR,aAAA,EAAeA,aAAA;QACfC,YAAA,EAAcA;uBAEhBW,KAAA,CAAC;QAAID,SAAA,EAAW,GAAGpB,SAAA,eAAwB;gCACzCmB,IAAA,CAACpB,QAAA;UACCwB,UAAA,EAAYpB,cAAA;UACZS,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVC,MAAA,EAAQA,MAAA;UACRH,EAAA,EAAIA,EAAA;UACJI,QAAA,EAAUA,QAAA;UACVE,GAAA,EAAKA,GAAA;UACLC,KAAA,EAAOA;YAGP,CAAAZ,iBAAA,IAAqBF,mBAAkB,kBACvCe,IAAA,CAACvB,aAAA;UACC4B,aAAA,EAAepB,mBAAA;UACfE,iBAAA,EAAmBA,iBAAA;UACnBmB,kBAAA,EAAoBjB,aAAA,IAAiBH,GAAA,CAAIO,QAAQ;UACjDG,QAAA,EAAUA;;UAIfR,YAAA,iBACCY,IAAA,CAACtB,MAAA;QACC6B,WAAA,EAAY;QACZN,SAAA,EAAW,GAAGpB,SAAA,UAAmB;QACjC2B,IAAA,EAAK;QACLC,SAAA,EAAU;QACVC,OAAA,EAAStB,YAAA;QACTuB,KAAK;;;;AAMjB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","DraggableFileDetails","StaticFileDetails","FileDetails","props","hasMany","_jsx"],"sources":["../../../src/elements/FileDetails/index.tsx"],"sourcesContent":["'use client'\nimport type { Data, FileSizes, SanitizedCollectionConfig } from 'payload'\n\nimport React from 'react'\n\nimport { DraggableFileDetails } from './DraggableFileDetails/index.js'\nimport { StaticFileDetails } from './StaticFileDetails/index.js'\n\ntype SharedFileDetailsProps = {\n collectionSlug: string\n customUploadActions?: React.ReactNode[]\n doc: {\n sizes?: FileSizes\n } & Data\n enableAdjustments?: boolean\n hasImageSizes?: boolean\n imageCacheTag?: string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\ntype StaticFileDetailsProps = {\n draggableItemProps?: never\n handleRemove?: () => void\n hasMany?: never\n isSortable?: never\n removeItem?: never\n rowIndex?: never\n}\n\ntype DraggableFileDetailsProps = {\n handleRemove?: never\n hasMany: boolean\n isSortable?: boolean\n removeItem?: (index: number) => void\n rowIndex: number\n}\n\nexport type FileDetailsProps = (DraggableFileDetailsProps | StaticFileDetailsProps) &\n SharedFileDetailsProps\n\nexport const FileDetails: React.FC<FileDetailsProps> = (props) => {\n const { hasMany } = props\n\n if (hasMany) {\n return <DraggableFileDetails {...props} />\n }\n\n return <StaticFileDetails {...props} />\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAElB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,iBAAiB,QAAQ;AAkClC,OAAO,MAAMC,WAAA,GAA2CC,KAAA;EACtD,MAAM;IAAEC;EAAO,CAAE,GAAGD,KAAA;EAEpB,IAAIC,OAAA,EAAS;IACX,oBAAOC,IAAA,CAACL,oBAAA;MAAsB,GAAGG;;EACnC;EAEA,oBAAOE,IAAA,CAACJ,iBAAA;IAAmB,GAAGE;;AAChC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { Modal as ModalType } from '@faceless-ui/modal';
2
+ import React from 'react';
3
+ export declare function FullscreenModal(props: Parameters<typeof ModalType>[0]): React.JSX.Element;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FullscreenModal/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG5D,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,qBAYrE"}
@@ -0,0 +1,38 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { Modal } from '@faceless-ui/modal';
6
+ import React from 'react';
7
+ import { useEditDepth } from '../../providers/EditDepth/index.js';
8
+ export function FullscreenModal(props) {
9
+ const $ = _c(6);
10
+ const currentDepth = useEditDepth();
11
+ let t0;
12
+ if ($[0] !== props.style) {
13
+ t0 = props.style || {};
14
+ $[0] = props.style;
15
+ $[1] = t0;
16
+ } else {
17
+ t0 = $[1];
18
+ }
19
+ const t1 = `calc(100 + ${currentDepth || 0} + 1)`;
20
+ let t2;
21
+ if ($[2] !== t0 || $[3] !== t1 || $[4] !== props) {
22
+ t2 = _jsx(Modal, {
23
+ ...props,
24
+ style: {
25
+ ...t0,
26
+ zIndex: t1
27
+ }
28
+ });
29
+ $[2] = t0;
30
+ $[3] = t1;
31
+ $[4] = props;
32
+ $[5] = t2;
33
+ } else {
34
+ t2 = $[5];
35
+ }
36
+ return t2;
37
+ }
38
+ //# sourceMappingURL=index.js.map