@payloadcms/ui 3.41.0-internal.8617025 → 3.41.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 (144) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js +2 -1
  3. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  4. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  5. package/dist/elements/DatePicker/DatePicker.js +36 -50
  6. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  7. package/dist/elements/DocumentControls/index.d.ts +1 -0
  8. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  9. package/dist/elements/DocumentControls/index.js +4 -2
  10. package/dist/elements/DocumentControls/index.js.map +1 -1
  11. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +1 -0
  12. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  13. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +30 -19
  14. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  15. package/dist/elements/DocumentDrawer/DrawerHeader/index.scss +16 -8
  16. package/dist/elements/DrawerActionHeader/index.d.ts +2 -1
  17. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  18. package/dist/elements/DrawerActionHeader/index.js +41 -30
  19. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  20. package/dist/elements/DrawerActionHeader/index.scss +2 -2
  21. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  22. package/dist/elements/EmailAndUsername/index.js +3 -0
  23. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  24. package/dist/elements/FolderView/Cell/index.client.d.ts +6 -5
  25. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -1
  26. package/dist/elements/FolderView/Cell/index.client.js +6 -3
  27. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  28. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -1
  29. package/dist/elements/FolderView/Cell/index.server.js +4 -0
  30. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  31. package/dist/elements/FolderView/CollectionTypePill/index.d.ts.map +1 -1
  32. package/dist/elements/FolderView/CollectionTypePill/index.js +20 -18
  33. package/dist/elements/FolderView/CollectionTypePill/index.js.map +1 -1
  34. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -1
  35. package/dist/elements/FolderView/CurrentFolderActions/index.js +20 -14
  36. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  37. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +9 -0
  38. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -0
  39. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +36 -0
  40. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -0
  41. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +2 -0
  42. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -1
  43. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +120 -101
  44. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  45. package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +1 -1
  46. package/dist/elements/FolderView/Field/index.server.d.ts.map +1 -1
  47. package/dist/elements/FolderView/Field/index.server.js +4 -0
  48. package/dist/elements/FolderView/Field/index.server.js.map +1 -1
  49. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +19 -16
  50. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -1
  51. package/dist/elements/FolderView/MoveDocToFolder/index.js +52 -41
  52. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  53. package/dist/elements/ListFolderPills/index.d.ts +4 -3
  54. package/dist/elements/ListFolderPills/index.d.ts.map +1 -1
  55. package/dist/elements/ListFolderPills/index.js +5 -1
  56. package/dist/elements/ListFolderPills/index.js.map +1 -1
  57. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -1
  58. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +75 -55
  59. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  60. package/dist/elements/Upload/index.scss +2 -3
  61. package/dist/elements/WhereBuilder/reduceFields.d.ts.map +1 -1
  62. package/dist/elements/WhereBuilder/reduceFields.js +1 -28
  63. package/dist/elements/WhereBuilder/reduceFields.js.map +1 -1
  64. package/dist/exports/client/{CodeEditor-7N7BMHRP.js → CodeEditor-Z3ZZJH7C.js} +2 -2
  65. package/dist/exports/client/{DatePicker-4DPXLCID.js → DatePicker-JDD2RARJ.js} +2 -2
  66. package/dist/exports/client/chunk-CNCOIY3Y.js +26 -0
  67. package/dist/exports/client/{chunk-QPA2ZA5J.js.map → chunk-CNCOIY3Y.js.map} +3 -3
  68. package/dist/exports/client/{chunk-OA4JPMVI.js → chunk-L7Q3DZ67.js} +2 -2
  69. package/dist/exports/client/{chunk-OA4JPMVI.js.map → chunk-L7Q3DZ67.js.map} +3 -3
  70. package/dist/exports/client/index.d.ts +0 -1
  71. package/dist/exports/client/index.d.ts.map +1 -1
  72. package/dist/exports/client/index.js +22 -22
  73. package/dist/exports/client/index.js.map +4 -4
  74. package/dist/exports/shared/index.js +2 -2
  75. package/dist/exports/shared/index.js.map +1 -1
  76. package/dist/fields/Number/index.d.ts.map +1 -1
  77. package/dist/fields/Number/index.js +4 -3
  78. package/dist/fields/Number/index.js.map +1 -1
  79. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  80. package/dist/fields/Relationship/Input.js +118 -112
  81. package/dist/fields/Relationship/Input.js.map +1 -1
  82. package/dist/fields/Relationship/types.d.ts +2 -2
  83. package/dist/fields/Relationship/types.d.ts.map +1 -1
  84. package/dist/fields/Relationship/types.js.map +1 -1
  85. package/dist/fields/Text/Input.d.ts.map +1 -1
  86. package/dist/fields/Text/Input.js +55 -52
  87. package/dist/fields/Text/Input.js.map +1 -1
  88. package/dist/fields/Text/index.d.ts.map +1 -1
  89. package/dist/fields/Text/index.js +4 -0
  90. package/dist/fields/Text/index.js.map +1 -1
  91. package/dist/fields/Text/types.d.ts +4 -1
  92. package/dist/fields/Text/types.d.ts.map +1 -1
  93. package/dist/fields/Text/types.js.map +1 -1
  94. package/dist/forms/WatchChildErrors/index.js +1 -2
  95. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  96. package/dist/providers/Config/index.d.ts.map +1 -1
  97. package/dist/providers/Config/index.js +12 -6
  98. package/dist/providers/Config/index.js.map +1 -1
  99. package/dist/providers/Folders/index.d.ts +10 -2
  100. package/dist/providers/Folders/index.d.ts.map +1 -1
  101. package/dist/providers/Folders/index.js +7 -5
  102. package/dist/providers/Folders/index.js.map +1 -1
  103. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  104. package/dist/providers/ListQuery/index.js +2 -2
  105. package/dist/providers/ListQuery/index.js.map +1 -1
  106. package/dist/providers/TableColumns/index.js +4 -2
  107. package/dist/providers/TableColumns/index.js.map +1 -1
  108. package/dist/styles.css +1 -1
  109. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts +3 -3
  110. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  111. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  112. package/dist/views/BrowseByFolder/index.d.ts.map +1 -1
  113. package/dist/views/BrowseByFolder/index.js +4 -3
  114. package/dist/views/BrowseByFolder/index.js.map +1 -1
  115. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -1
  116. package/dist/views/CollectionFolder/ListSelection/index.js +36 -37
  117. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  118. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  119. package/dist/views/CollectionFolder/index.js +7 -4
  120. package/dist/views/CollectionFolder/index.js.map +1 -1
  121. package/dist/views/Edit/index.d.ts +1 -1
  122. package/dist/views/Edit/index.d.ts.map +1 -1
  123. package/dist/views/Edit/index.js +7 -3
  124. package/dist/views/Edit/index.js.map +1 -1
  125. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  126. package/dist/views/List/ListHeader/index.js +2 -1
  127. package/dist/views/List/ListHeader/index.js.map +1 -1
  128. package/package.json +16 -13
  129. package/dist/elements/FolderView/Drawers/DrawerHeader/index.d.ts +0 -10
  130. package/dist/elements/FolderView/Drawers/DrawerHeader/index.d.ts.map +0 -1
  131. package/dist/elements/FolderView/Drawers/DrawerHeader/index.js +0 -55
  132. package/dist/elements/FolderView/Drawers/DrawerHeader/index.js.map +0 -1
  133. package/dist/elements/FolderView/Drawers/DrawerHeader/index.scss +0 -30
  134. package/dist/elements/FolderView/Drawers/NewFolder/index.d.ts +0 -9
  135. package/dist/elements/FolderView/Drawers/NewFolder/index.d.ts.map +0 -1
  136. package/dist/elements/FolderView/Drawers/NewFolder/index.js +0 -157
  137. package/dist/elements/FolderView/Drawers/NewFolder/index.js.map +0 -1
  138. package/dist/elements/FolderView/Drawers/RenameFolder/index.d.ts +0 -13
  139. package/dist/elements/FolderView/Drawers/RenameFolder/index.d.ts.map +0 -1
  140. package/dist/elements/FolderView/Drawers/RenameFolder/index.js +0 -140
  141. package/dist/elements/FolderView/Drawers/RenameFolder/index.js.map +0 -1
  142. package/dist/exports/client/chunk-QPA2ZA5J.js +0 -26
  143. /package/dist/exports/client/{CodeEditor-7N7BMHRP.js.map → CodeEditor-Z3ZZJH7C.js.map} +0 -0
  144. /package/dist/exports/client/{DatePicker-4DPXLCID.js.map → DatePicker-JDD2RARJ.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAiC,MAAM,OAAO,CAAA;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAmB/C,OAAO,cAAc,CAAA;AAQrB,wBAAgB,QAAQ,CAAC,EACvB,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,EAAE,aAAa,qBAmKf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAiC,MAAM,OAAO,CAAA;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAmB/C,OAAO,cAAc,CAAA;AAQrB,wBAAgB,QAAQ,CAAC,EACvB,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,EAAE,aAAa,qBAoKf"}
@@ -139,11 +139,12 @@ export function EditForm({
139
139
  BeforeFields: /*#__PURE__*/_jsx(React.Fragment, {
140
140
  children: CustomUpload || /*#__PURE__*/_jsx(Upload_v4, {
141
141
  collectionSlug: collectionConfig.slug,
142
- customActions: [collectionConfig.folders && /*#__PURE__*/_jsx(MoveDocToFolder, {
142
+ customActions: [folders && collectionConfig.folders && /*#__PURE__*/_jsx(MoveDocToFolder, {
143
143
  buttonProps: {
144
144
  buttonStyle: 'pill',
145
145
  size: 'small'
146
146
  },
147
+ folderCollectionSlug: folders.slug,
147
148
  folderFieldName: folders.fieldName
148
149
  }, "move-doc-to-folder")].filter(Boolean),
149
150
  initialState: initialState,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useRouter","useSearchParams","formatAdminURL","React","useCallback","useEffect","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useRouteTransition","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","MoveDocToFolder","Upload_v4","useFormsManager","BulkUploadProvider","baseClass","EditForm","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isEditing","isInitializing","Upload","CustomUpload","onSave","onSaveFromContext","getFormState","config","folders","routes","admin","adminRoute","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","router","depth","params","reportUpdate","startRouteTransition","locale","get","slug","schemaPath","useState","json","entitySlug","updatedAt","result","Date","toISOString","operation","redirectRoute","path","doc","id","push","onChange","formState","prevFormState","controller","docPreferences","state","newFormState","signal","skipValidation","current","abortOnChange","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","BeforeFields","Fragment","customActions","buttonProps","buttonStyle","size","folderFieldName","fieldName","filter","Boolean","uploadConfig","upload","fields","schemaPathSegments","ReportAllErrors","GetFieldProxy","getFields","getFormDataRef","docConfig","activeIndex","setFormTotalErrorCount","errorCountRef","reportFormErrorCount","errorCount","index","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useEffect } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { MoveDocToFolder } from '../../FolderView/MoveDocToFolder/index.js'\nimport { Upload_v4 } from '../../Upload/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { BulkUploadProvider } from '../index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({\n resetUploadEdits,\n submitted,\n updateUploadEdits,\n uploadEdits,\n}: EditFormProps) {\n const {\n action,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n hasSavePermission,\n initialState,\n isEditing,\n isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const {\n config: {\n folders,\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const router = useRouter()\n const depth = useEditDepth()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { startRouteTransition } = useRouteTransition()\n\n const locale = params.get('locale')\n\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n entitySlug: collectionSlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n },\n [\n adminRoute,\n collectionSlug,\n depth,\n isEditing,\n locale,\n onSaveFromContext,\n reportUpdate,\n resetUploadEdits,\n router,\n startRouteTransition,\n ],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newFormState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n return newFormState\n },\n [collectionSlug, schemaPath, getDocPreferences, getFormState, docPermissions],\n )\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <OperationProvider operation=\"create\">\n <BulkUploadProvider>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <DocumentFields\n BeforeFields={\n <React.Fragment>\n {CustomUpload || (\n <Upload_v4\n collectionSlug={collectionConfig.slug}\n customActions={[\n collectionConfig.folders && (\n <MoveDocToFolder\n buttonProps={{\n buttonStyle: 'pill',\n size: 'small',\n }}\n folderFieldName={folders.fieldName}\n key=\"move-doc-to-folder\"\n />\n ),\n ].filter(Boolean)}\n initialState={initialState}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadConfig={collectionConfig.upload}\n uploadEdits={uploadEdits}\n />\n )}\n </React.Fragment>\n }\n docPermissions={docPermissions}\n fields={collectionConfig.fields}\n schemaPathSegments={[collectionConfig.slug]}\n />\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n </BulkUploadProvider>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n useEffect(() => {\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n getFormDataRef.current = getFields\n }, [getFields, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const reportFormErrorCount = React.useCallback(\n (errorCount) => {\n if (errorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount, index: activeIndex })\n errorCountRef.current = errorCount\n },\n [activeIndex, setFormTotalErrorCount],\n )\n\n if (!docConfig) {\n return null\n }\n\n return (\n <WatchChildErrors fields={docConfig.fields} path={[]} setErrorCount={reportFormErrorCount} />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useRouter","useSearchParams","formatAdminURL","React","useCallback","useEffect","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useRouteTransition","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","MoveDocToFolder","Upload_v4","useFormsManager","BulkUploadProvider","baseClass","EditForm","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isEditing","isInitializing","Upload","CustomUpload","onSave","onSaveFromContext","getFormState","config","folders","routes","admin","adminRoute","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","router","depth","params","reportUpdate","startRouteTransition","locale","get","slug","schemaPath","useState","json","entitySlug","updatedAt","result","Date","toISOString","operation","redirectRoute","path","doc","id","push","onChange","formState","prevFormState","controller","docPreferences","state","newFormState","signal","skipValidation","current","abortOnChange","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","BeforeFields","Fragment","customActions","buttonProps","buttonStyle","size","folderCollectionSlug","folderFieldName","fieldName","filter","Boolean","uploadConfig","upload","fields","schemaPathSegments","ReportAllErrors","GetFieldProxy","getFields","getFormDataRef","docConfig","activeIndex","setFormTotalErrorCount","errorCountRef","reportFormErrorCount","errorCount","index","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useEffect } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { MoveDocToFolder } from '../../FolderView/MoveDocToFolder/index.js'\nimport { Upload_v4 } from '../../Upload/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { BulkUploadProvider } from '../index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({\n resetUploadEdits,\n submitted,\n updateUploadEdits,\n uploadEdits,\n}: EditFormProps) {\n const {\n action,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n hasSavePermission,\n initialState,\n isEditing,\n isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const {\n config: {\n folders,\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const router = useRouter()\n const depth = useEditDepth()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { startRouteTransition } = useRouteTransition()\n\n const locale = params.get('locale')\n\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n entitySlug: collectionSlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n },\n [\n adminRoute,\n collectionSlug,\n depth,\n isEditing,\n locale,\n onSaveFromContext,\n reportUpdate,\n resetUploadEdits,\n router,\n startRouteTransition,\n ],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newFormState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n return newFormState\n },\n [collectionSlug, schemaPath, getDocPreferences, getFormState, docPermissions],\n )\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <OperationProvider operation=\"create\">\n <BulkUploadProvider>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <DocumentFields\n BeforeFields={\n <React.Fragment>\n {CustomUpload || (\n <Upload_v4\n collectionSlug={collectionConfig.slug}\n customActions={[\n folders && collectionConfig.folders && (\n <MoveDocToFolder\n buttonProps={{\n buttonStyle: 'pill',\n size: 'small',\n }}\n folderCollectionSlug={folders.slug}\n folderFieldName={folders.fieldName}\n key=\"move-doc-to-folder\"\n />\n ),\n ].filter(Boolean)}\n initialState={initialState}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadConfig={collectionConfig.upload}\n uploadEdits={uploadEdits}\n />\n )}\n </React.Fragment>\n }\n docPermissions={docPermissions}\n fields={collectionConfig.fields}\n schemaPathSegments={[collectionConfig.slug]}\n />\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n </BulkUploadProvider>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n useEffect(() => {\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n getFormDataRef.current = getFields\n }, [getFields, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const reportFormErrorCount = React.useCallback(\n (errorCount) => {\n if (errorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount, index: activeIndex })\n errorCountRef.current = errorCount\n },\n [activeIndex, setFormTotalErrorCount],\n )\n\n if (!docConfig) {\n return null\n }\n\n return (\n <WatchChildErrors fields={docConfig.fields} path={[]} setErrorCount={reportFormErrorCount} />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/elements/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAKvC,OAAO,gBAAgB,CAAA;AACvB,OAAO,cAAc,CAAA;AAKrB,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAwH/B,CAAA;AAGD,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/elements/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAKvC,OAAO,gBAAgB,CAAA;AACvB,OAAO,cAAc,CAAA;AAKrB,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+H/B,CAAA;AAGD,eAAe,UAAU,CAAA"}
@@ -13,7 +13,7 @@ import './index.scss';
13
13
  import { getFormattedLocale } from './getFormattedLocale.js';
14
14
  const baseClass = 'date-time-picker';
15
15
  const DatePicker = props => {
16
- const $ = _c(11);
16
+ const $ = _c(6);
17
17
  const {
18
18
  id,
19
19
  displayFormat: customDisplayFormat,
@@ -60,33 +60,19 @@ const DatePicker = props => {
60
60
  }
61
61
  }
62
62
  }
63
- let t4;
64
- if ($[0] !== onChangeFromProps || $[1] !== pickerAppearance) {
65
- t4 = incomingDate => {
66
- const newDate = incomingDate;
67
- if (newDate instanceof Date && ["dayOnly", "default", "monthOnly"].includes(pickerAppearance)) {
68
- const tzOffset = incomingDate.getTimezoneOffset() / 60;
69
- newDate.setHours(12 - tzOffset, 0);
70
- }
71
- if (typeof onChangeFromProps === "function") {
72
- onChangeFromProps(newDate);
73
- }
74
- };
75
- $[0] = onChangeFromProps;
76
- $[1] = pickerAppearance;
77
- $[2] = t4;
78
- } else {
79
- t4 = $[2];
80
- }
81
- const onChange = t4;
82
- let t5;
83
- if ($[3] !== value) {
84
- t5 = value && new Date(value);
85
- $[3] = value;
86
- $[4] = t5;
87
- } else {
88
- t5 = $[4];
89
- }
63
+ const onChange = incomingDate => {
64
+ const newDate = incomingDate;
65
+ if (newDate instanceof Date && ["dayOnly", "default", "monthOnly"].includes(pickerAppearance)) {
66
+ const tzOffset = incomingDate.getTimezoneOffset() / 60;
67
+ newDate.setHours(12 - tzOffset, 0);
68
+ }
69
+ if (newDate instanceof Date && !dateFormat.includes("SSS")) {
70
+ newDate.setMilliseconds(0);
71
+ }
72
+ if (typeof onChangeFromProps === "function") {
73
+ onChangeFromProps(newDate);
74
+ }
75
+ };
90
76
  const dateTimePickerProps = {
91
77
  customInputRef: "ref",
92
78
  dateFormat,
@@ -99,7 +85,7 @@ const DatePicker = props => {
99
85
  onChange,
100
86
  placeholderText,
101
87
  popperPlacement: "bottom-start",
102
- selected: t5,
88
+ selected: value && new Date(value),
103
89
  showMonthYearPicker: pickerAppearance === "monthOnly",
104
90
  showPopperArrow: false,
105
91
  showTimeSelect: pickerAppearance === "dayAndTime" || pickerAppearance === "timeOnly",
@@ -107,41 +93,41 @@ const DatePicker = props => {
107
93
  timeIntervals,
108
94
  ...overrides
109
95
  };
110
- const t6 = `${baseClass}__appearance--${pickerAppearance}`;
111
- let t7;
112
- if ($[5] !== t6) {
113
- t7 = [baseClass, t6].filter(Boolean);
114
- $[5] = t6;
115
- $[6] = t7;
96
+ const t4 = `${baseClass}__appearance--${pickerAppearance}`;
97
+ let t5;
98
+ if ($[0] !== t4) {
99
+ t5 = [baseClass, t4].filter(Boolean);
100
+ $[0] = t4;
101
+ $[1] = t5;
116
102
  } else {
117
- t7 = $[6];
103
+ t5 = $[1];
118
104
  }
119
- const classes = t7.join(" ");
120
- let t8;
121
- let t9;
122
- if ($[7] !== i18n.dateFNS || $[8] !== i18n.language) {
123
- t8 = () => {
105
+ const classes = t5.join(" ");
106
+ let t6;
107
+ let t7;
108
+ if ($[2] !== i18n.dateFNS || $[3] !== i18n.language) {
109
+ t6 = () => {
124
110
  if (i18n.dateFNS) {
125
111
  ;
126
112
  try {
127
113
  const datepickerLocale = getFormattedLocale(i18n.language);
128
114
  registerLocale(datepickerLocale, i18n.dateFNS);
129
115
  setDefaultLocale(datepickerLocale);
130
- } catch (t10) {
116
+ } catch (t8) {
131
117
  console.warn(`Could not find DatePicker locale for ${i18n.language}`);
132
118
  }
133
119
  }
134
120
  };
135
- t9 = [i18n.language, i18n.dateFNS];
136
- $[7] = i18n.dateFNS;
137
- $[8] = i18n.language;
138
- $[9] = t8;
139
- $[10] = t9;
121
+ t7 = [i18n.language, i18n.dateFNS];
122
+ $[2] = i18n.dateFNS;
123
+ $[3] = i18n.language;
124
+ $[4] = t6;
125
+ $[5] = t7;
140
126
  } else {
141
- t8 = $[9];
142
- t9 = $[10];
127
+ t6 = $[4];
128
+ t7 = $[5];
143
129
  }
144
- React.useEffect(t8, t9);
130
+ React.useEffect(t6, t7);
145
131
  return _jsxs("div", {
146
132
  className: classes,
147
133
  id,
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","names":["c","_c","React","ReactDatePickerDefaultImport","registerLocale","setDefaultLocale","ReactDatePicker","default","CalendarIcon","XIcon","useTranslation","getFormattedLocale","baseClass","DatePicker","props","$","id","displayFormat","customDisplayFormat","maxDate","maxTime","minDate","minTime","monthsToShow","t0","onChange","onChangeFromProps","overrides","pickerAppearance","t1","placeholder","placeholderText","readOnly","timeFormat","t2","timeIntervals","t3","value","undefined","i18n","dateFormat","t4","incomingDate","newDate","Date","includes","tzOffset","getTimezoneOffset","setHours","t5","dateTimePickerProps","customInputRef","disabled","monthsShown","Math","min","popperPlacement","selected","showMonthYearPicker","showPopperArrow","showTimeSelect","t6","t7","filter","Boolean","classes","join","t8","t9","dateFNS","language","datepickerLocale","t10","console","warn","useEffect","_jsxs","className","children","_jsx","onClick","type","dropdownMode","showMonthDropdown","showYearDropdown"],"sources":["../../../src/elements/DatePicker/DatePicker.tsx"],"sourcesContent":["'use client'\nimport type { DatePickerProps } from 'react-datepicker'\n\nimport React from 'react'\nimport ReactDatePickerDefaultImport, { registerLocale, setDefaultLocale } from 'react-datepicker'\nconst ReactDatePicker = (ReactDatePickerDefaultImport.default ||\n ReactDatePickerDefaultImport) as unknown as typeof ReactDatePickerDefaultImport.default\n\nimport type { Props } from './types.js'\n\nimport { CalendarIcon } from '../../icons/Calendar/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './library.scss'\nimport './index.scss'\nimport { getFormattedLocale } from './getFormattedLocale.js'\n\nconst baseClass = 'date-time-picker'\n\nconst DatePicker: React.FC<Props> = (props) => {\n const {\n id,\n displayFormat: customDisplayFormat,\n maxDate,\n maxTime,\n minDate,\n minTime,\n monthsToShow = 1,\n onChange: onChangeFromProps,\n overrides,\n pickerAppearance = 'default',\n placeholder: placeholderText,\n readOnly,\n timeFormat = 'h:mm aa',\n timeIntervals = 30,\n value,\n } = props\n\n // Use the user's AdminUI language preference for the locale\n const { i18n } = useTranslation()\n\n let dateFormat = customDisplayFormat\n\n if (!customDisplayFormat) {\n // when no displayFormat is provided, determine format based on the picker appearance\n if (pickerAppearance === 'default') {\n dateFormat = 'MM/dd/yyyy'\n } else if (pickerAppearance === 'dayAndTime') {\n dateFormat = 'MMM d, yyy h:mm a'\n } else if (pickerAppearance === 'timeOnly') {\n dateFormat = 'h:mm a'\n } else if (pickerAppearance === 'dayOnly') {\n dateFormat = 'MMM dd'\n } else if (pickerAppearance === 'monthOnly') {\n dateFormat = 'MMMM'\n }\n }\n\n const onChange: Extract<\n DatePickerProps,\n { selectsMultiple?: never; selectsRange?: never }\n >['onChange'] = (incomingDate) => {\n const newDate = incomingDate\n if (newDate instanceof Date && ['dayOnly', 'default', 'monthOnly'].includes(pickerAppearance)) {\n const tzOffset = incomingDate.getTimezoneOffset() / 60\n newDate.setHours(12 - tzOffset, 0)\n }\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newDate)\n }\n }\n\n const dateTimePickerProps: Extract<\n DatePickerProps,\n { selectsMultiple?: never; selectsRange?: never }\n > = {\n customInputRef: 'ref',\n dateFormat,\n disabled: readOnly,\n maxDate,\n maxTime,\n minDate,\n minTime,\n monthsShown: Math.min(2, monthsToShow),\n onChange,\n placeholderText,\n popperPlacement: 'bottom-start',\n selected: value && new Date(value),\n showMonthYearPicker: pickerAppearance === 'monthOnly',\n showPopperArrow: false,\n showTimeSelect: pickerAppearance === 'dayAndTime' || pickerAppearance === 'timeOnly',\n timeFormat,\n timeIntervals,\n ...(overrides as Extract<\n DatePickerProps,\n { selectsMultiple?: never; selectsRange?: never } // to satisfy TypeScript. Overrides can enable selectsMultiple or selectsRange but then it's up to the user to ensure they pass in the correct onChange\n >),\n }\n\n const classes = [baseClass, `${baseClass}__appearance--${pickerAppearance}`]\n .filter(Boolean)\n .join(' ')\n\n React.useEffect(() => {\n if (i18n.dateFNS) {\n try {\n const datepickerLocale = getFormattedLocale(i18n.language)\n registerLocale(datepickerLocale, i18n.dateFNS)\n setDefaultLocale(datepickerLocale)\n } catch (e) {\n console.warn(`Could not find DatePicker locale for ${i18n.language}`)\n }\n }\n }, [i18n.language, i18n.dateFNS])\n\n return (\n <div className={classes} id={id}>\n <div className={`${baseClass}__icon-wrap`}>\n {dateTimePickerProps.selected && (\n <button\n className={`${baseClass}__clear-button`}\n onClick={() => onChange(null)}\n type=\"button\"\n >\n <XIcon />\n </button>\n )}\n <CalendarIcon />\n </div>\n <div className={`${baseClass}__input-wrapper`}>\n <ReactDatePicker\n {...dateTimePickerProps}\n dropdownMode=\"select\"\n showMonthDropdown\n showYearDropdown\n />\n </div>\n </div>\n )\n}\n\n// eslint-disable-next-line no-restricted-exports\nexport default DatePicker\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DatePicker.js","names":["c","_c","React","ReactDatePickerDefaultImport","registerLocale","setDefaultLocale","ReactDatePicker","default","CalendarIcon","XIcon","useTranslation","getFormattedLocale","baseClass","DatePicker","props","$","id","displayFormat","customDisplayFormat","maxDate","maxTime","minDate","minTime","monthsToShow","t0","onChange","onChangeFromProps","overrides","pickerAppearance","t1","placeholder","placeholderText","readOnly","timeFormat","t2","timeIntervals","t3","value","undefined","i18n","dateFormat","incomingDate","newDate","Date","includes","tzOffset","getTimezoneOffset","setHours","setMilliseconds","dateTimePickerProps","customInputRef","disabled","monthsShown","Math","min","popperPlacement","selected","showMonthYearPicker","showPopperArrow","showTimeSelect","t4","t5","filter","Boolean","classes","join","t6","t7","dateFNS","language","datepickerLocale","t8","console","warn","useEffect","_jsxs","className","children","_jsx","onClick","type","dropdownMode","showMonthDropdown","showYearDropdown"],"sources":["../../../src/elements/DatePicker/DatePicker.tsx"],"sourcesContent":["'use client'\nimport type { DatePickerProps } from 'react-datepicker'\n\nimport React from 'react'\nimport ReactDatePickerDefaultImport, { registerLocale, setDefaultLocale } from 'react-datepicker'\nconst ReactDatePicker = (ReactDatePickerDefaultImport.default ||\n ReactDatePickerDefaultImport) as unknown as typeof ReactDatePickerDefaultImport.default\n\nimport type { Props } from './types.js'\n\nimport { CalendarIcon } from '../../icons/Calendar/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './library.scss'\nimport './index.scss'\nimport { getFormattedLocale } from './getFormattedLocale.js'\n\nconst baseClass = 'date-time-picker'\n\nconst DatePicker: React.FC<Props> = (props) => {\n const {\n id,\n displayFormat: customDisplayFormat,\n maxDate,\n maxTime,\n minDate,\n minTime,\n monthsToShow = 1,\n onChange: onChangeFromProps,\n overrides,\n pickerAppearance = 'default',\n placeholder: placeholderText,\n readOnly,\n timeFormat = 'h:mm aa',\n timeIntervals = 30,\n value,\n } = props\n\n // Use the user's AdminUI language preference for the locale\n const { i18n } = useTranslation()\n\n let dateFormat = customDisplayFormat\n\n if (!customDisplayFormat) {\n // when no displayFormat is provided, determine format based on the picker appearance\n if (pickerAppearance === 'default') {\n dateFormat = 'MM/dd/yyyy'\n } else if (pickerAppearance === 'dayAndTime') {\n dateFormat = 'MMM d, yyy h:mm a'\n } else if (pickerAppearance === 'timeOnly') {\n dateFormat = 'h:mm a'\n } else if (pickerAppearance === 'dayOnly') {\n dateFormat = 'MMM dd'\n } else if (pickerAppearance === 'monthOnly') {\n dateFormat = 'MMMM'\n }\n }\n\n const onChange: Extract<\n DatePickerProps,\n { selectsMultiple?: never; selectsRange?: never }\n >['onChange'] = (incomingDate) => {\n const newDate = incomingDate\n if (newDate instanceof Date && ['dayOnly', 'default', 'monthOnly'].includes(pickerAppearance)) {\n const tzOffset = incomingDate.getTimezoneOffset() / 60\n newDate.setHours(12 - tzOffset, 0)\n }\n\n if (newDate instanceof Date && !dateFormat.includes('SSS')) {\n // Unless the dateFormat includes milliseconds, set milliseconds to 0\n // This is to ensure that the timestamp is consistent with the displayFormat\n newDate.setMilliseconds(0)\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newDate)\n }\n }\n\n const dateTimePickerProps: Extract<\n DatePickerProps,\n { selectsMultiple?: never; selectsRange?: never }\n > = {\n customInputRef: 'ref',\n dateFormat,\n disabled: readOnly,\n maxDate,\n maxTime,\n minDate,\n minTime,\n monthsShown: Math.min(2, monthsToShow),\n onChange,\n placeholderText,\n popperPlacement: 'bottom-start',\n selected: value && new Date(value),\n showMonthYearPicker: pickerAppearance === 'monthOnly',\n showPopperArrow: false,\n showTimeSelect: pickerAppearance === 'dayAndTime' || pickerAppearance === 'timeOnly',\n timeFormat,\n timeIntervals,\n ...(overrides as Extract<\n DatePickerProps,\n { selectsMultiple?: never; selectsRange?: never } // to satisfy TypeScript. Overrides can enable selectsMultiple or selectsRange but then it's up to the user to ensure they pass in the correct onChange\n >),\n }\n\n const classes = [baseClass, `${baseClass}__appearance--${pickerAppearance}`]\n .filter(Boolean)\n .join(' ')\n\n React.useEffect(() => {\n if (i18n.dateFNS) {\n try {\n const datepickerLocale = getFormattedLocale(i18n.language)\n registerLocale(datepickerLocale, i18n.dateFNS)\n setDefaultLocale(datepickerLocale)\n } catch (e) {\n console.warn(`Could not find DatePicker locale for ${i18n.language}`)\n }\n }\n }, [i18n.language, i18n.dateFNS])\n\n return (\n <div className={classes} id={id}>\n <div className={`${baseClass}__icon-wrap`}>\n {dateTimePickerProps.selected && (\n <button\n className={`${baseClass}__clear-button`}\n onClick={() => onChange(null)}\n type=\"button\"\n >\n <XIcon />\n </button>\n )}\n <CalendarIcon />\n </div>\n <div className={`${baseClass}__input-wrapper`}>\n <ReactDatePicker\n {...dateTimePickerProps}\n dropdownMode=\"select\"\n showMonthDropdown\n showYearDropdown\n />\n </div>\n </div>\n )\n}\n\n// eslint-disable-next-line no-restricted-exports\nexport default DatePicker\n"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,7 @@ export declare const DocumentControls: React.FC<{
14
14
  readonly data?: Data;
15
15
  readonly disableActions?: boolean;
16
16
  readonly disableCreate?: boolean;
17
+ readonly EditMenuItems?: React.ReactNode;
17
18
  readonly hasPublishPermission?: boolean;
18
19
  readonly hasSavePermission?: boolean;
19
20
  readonly id?: number | string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,IAAI,EACJ,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAIhB,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAsB9E,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjD,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAC3C,CAAA;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;IACpB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAEvC,QAAQ,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,6BAA6B,GAAG,yBAAyB,CAAA;IACtF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAC3B,CA0RA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,IAAI,EACJ,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAIhB,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAsB9E,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjD,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAC3C,CAAA;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;IACpB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAEvC,QAAQ,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,6BAA6B,GAAG,yBAAyB,CAAA;IACtF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAC3B,CAiSA,CAAA"}
@@ -37,6 +37,7 @@ export const DocumentControls = props => {
37
37
  data,
38
38
  disableActions,
39
39
  disableCreate,
40
+ EditMenuItems,
40
41
  hasSavePermission,
41
42
  isAccountView,
42
43
  isEditing,
@@ -166,7 +167,8 @@ export const DocumentControls = props => {
166
167
  children: [showLockedMetaIcon && _jsx(Locked, {
167
168
  className: `${baseClass}__locked-controls`,
168
169
  user
169
- }), showFolderMetaIcon && _jsx(MoveDocToFolder, {
170
+ }), showFolderMetaIcon && config.folders && _jsx(MoveDocToFolder, {
171
+ folderCollectionSlug: config.folders.slug,
170
172
  folderFieldName: config.folders.fieldName
171
173
  })]
172
174
  }) : null, _jsxs("ul", {
@@ -277,7 +279,7 @@ export const DocumentControls = props => {
277
279
  redirectAfterDelete,
278
280
  singularLabel: collectionConfig?.labels?.singular,
279
281
  useAsTitle: collectionConfig?.admin?.useAsTitle
280
- })]
282
+ }), EditMenuItems]
281
283
  })
282
284
  })]
283
285
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","formatAdminURL","React","Fragment","useEffect","useFormInitializing","useFormProcessing","useConfig","useEditDepth","useTranslation","formatDate","Autosave","Button","CopyLocaleData","DeleteDocument","DuplicateDocument","MoveDocToFolder","Gutter","Locked","Popup","PopupList","PreviewButton","PublishButton","RenderCustomComponent","SaveButton","SaveDraftButton","Status","baseClass","DocumentControls","props","$","id","slug","BeforeDocumentControls","customComponents","t0","data","disableActions","disableCreate","hasSavePermission","isAccountView","isEditing","onDelete","onDrawerCreateNew","onDuplicate","onTakeOver","permissions","readOnlyForIncomingUser","redirectAfterDelete","redirectAfterDuplicate","user","t1","undefined","CustomPreviewButton","CustomPublishButton","CustomSaveButton","CustomSaveDraftButton","i18n","t","editDepth","config","getEntityConfig","collectionConfig","collectionSlug","globalConfig","globalSlug","admin","t2","localization","routes","t3","dateFormat","adminRoute","updatedAt","setUpdatedAt","useState","createdAt","setCreatedAt","processing","initializing","t4","t5","date","pattern","hasCreatePermission","create","hasDeletePermission","delete","showDotMenu","Boolean","unsavedDraftWithValidations","versions","drafts","validate","collectionConfigDrafts","globalConfigDrafts","autosaveEnabled","autosave","collectionAutosaveEnabled","globalAutosaveEnabled","showSaveDraftButton","showCopyToLocale","disableCopyToLocale","showFolderMetaIcon","folders","showLockedMetaIcon","t6","_jsx","buttonStyle","onClick","size","type","children","_jsxs","className","folderFieldName","fieldName","label","labels","singular","filter","join","collection","global","publishedDocUpdatedAt","timestamps","title","preview","CustomComponent","Fallback","button","disabled","horizontalAlign","verticalAlign","ButtonGroup","href","path","disableDuplicate","toString","singularLabel","buttonId","useAsTitle"],"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientUser,\n Data,\n SanitizedCollectionConfig,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDate } from '../../utilities/formatDocTitle/formatDateTitle.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { Button } from '../Button/index.js'\nimport { CopyLocaleData } from '../CopyLocaleData/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { MoveDocToFolder } from '../FolderView/MoveDocToFolder/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { Locked } from '../Locked/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { PublishButton } from '../PublishButton/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { SaveButton } from '../SaveButton/index.js'\nimport { SaveDraftButton } from '../SaveDraftButton/index.js'\nimport { Status } from '../Status/index.js'\nimport './index.scss'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n readonly apiURL: string\n readonly BeforeDocumentControls?: React.ReactNode\n readonly customComponents?: {\n readonly PreviewButton?: React.ReactNode\n readonly PublishButton?: React.ReactNode\n readonly SaveButton?: React.ReactNode\n readonly SaveDraftButton?: React.ReactNode\n }\n readonly data?: Data\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly isAccountView?: boolean\n readonly isEditing?: boolean\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly onDrawerCreateNew?: () => void\n /* Only available if `redirectAfterDuplicate` is `false` */\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly onSave?: DocumentDrawerContextType['onSave']\n readonly onTakeOver?: () => void\n readonly permissions: null | SanitizedCollectionPermission | SanitizedGlobalPermission\n readonly readOnlyForIncomingUser?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly slug: SanitizedCollectionConfig['slug']\n readonly user?: ClientUser\n}> = (props) => {\n const {\n id,\n slug,\n BeforeDocumentControls,\n customComponents: {\n PreviewButton: CustomPreviewButton,\n PublishButton: CustomPublishButton,\n SaveButton: CustomSaveButton,\n SaveDraftButton: CustomSaveDraftButton,\n } = {},\n data,\n disableActions,\n disableCreate,\n hasSavePermission,\n isAccountView,\n isEditing,\n onDelete,\n onDrawerCreateNew,\n onDuplicate,\n onTakeOver,\n permissions,\n readOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n user,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const { config, getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n\n const globalConfig = getEntityConfig({ globalSlug: slug })\n\n const {\n admin: { dateFormat },\n localization,\n routes: { admin: adminRoute },\n } = config\n\n // Settings these in state to avoid hydration issues if there is a mismatch between the server and client\n const [updatedAt, setUpdatedAt] = React.useState<string>('')\n const [createdAt, setCreatedAt] = React.useState<string>('')\n\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n\n useEffect(() => {\n if (data?.updatedAt) {\n setUpdatedAt(formatDate({ date: data.updatedAt, i18n, pattern: dateFormat }))\n }\n if (data?.createdAt) {\n setCreatedAt(formatDate({ date: data.createdAt, i18n, pattern: dateFormat }))\n }\n }, [data, i18n, dateFormat])\n\n const hasCreatePermission = permissions && 'create' in permissions && permissions.create\n\n const hasDeletePermission = permissions && 'delete' in permissions && permissions.delete\n\n const showDotMenu = Boolean(\n collectionConfig && id && !disableActions && (hasCreatePermission || hasDeletePermission),\n )\n\n const unsavedDraftWithValidations =\n !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate\n\n const collectionConfigDrafts = collectionConfig?.versions?.drafts\n const globalConfigDrafts = globalConfig?.versions?.drafts\n\n const autosaveEnabled =\n (collectionConfigDrafts && collectionConfigDrafts?.autosave) ||\n (globalConfigDrafts && globalConfigDrafts?.autosave)\n\n const collectionAutosaveEnabled = collectionConfigDrafts && collectionConfigDrafts?.autosave\n const globalAutosaveEnabled = globalConfigDrafts && globalConfigDrafts?.autosave\n\n const showSaveDraftButton =\n (collectionAutosaveEnabled &&\n collectionConfigDrafts.autosave !== false &&\n collectionConfigDrafts.autosave.showSaveDraftButton === true) ||\n (globalAutosaveEnabled &&\n globalConfigDrafts.autosave !== false &&\n globalConfigDrafts.autosave.showSaveDraftButton === true)\n\n const showCopyToLocale = localization && !collectionConfig?.admin?.disableCopyToLocale\n\n const showFolderMetaIcon = collectionConfig && collectionConfig.folders\n const showLockedMetaIcon = user && readOnlyForIncomingUser\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n {showLockedMetaIcon || showFolderMetaIcon ? (\n <div className={`${baseClass}__meta-icons`}>\n {showLockedMetaIcon && (\n <Locked className={`${baseClass}__locked-controls`} user={user} />\n )}\n {showFolderMetaIcon && <MoveDocToFolder folderFieldName={config.folders.fieldName} />}\n </div>\n ) : null}\n\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__value`}>\n {i18n.t('general:creatingNewLabel', {\n label: getTranslation(\n collectionConfig?.labels?.singular ?? i18n.t('general:document'),\n i18n,\n ),\n })}\n </p>\n </li>\n )}\n\n {(collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li\n className={[`${baseClass}__status`, `${baseClass}__list-item`]\n .filter(Boolean)\n .join(' ')}\n >\n <Status />\n </li>\n )}\n {hasSavePermission && autosaveEnabled && !unsavedDraftWithValidations && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps && (isEditing || isAccountView) && (\n <Fragment>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.updatedAt ? updatedAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:lastModified')}:&nbsp;</p>\n {data?.updatedAt && <p className={`${baseClass}__value`}>{updatedAt}</p>}\n </li>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.createdAt ? createdAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:created')}:&nbsp;</p>\n {data?.createdAt && <p className={`${baseClass}__value`}>{createdAt}</p>}\n </li>\n </Fragment>\n )}\n </ul>\n </div>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {BeforeDocumentControls}\n {(collectionConfig?.admin.preview || globalConfig?.admin.preview) && (\n <RenderCustomComponent\n CustomComponent={CustomPreviewButton}\n Fallback={<PreviewButton />}\n />\n )}\n {hasSavePermission && (\n <Fragment>\n {collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts ? (\n <Fragment>\n {(unsavedDraftWithValidations ||\n !autosaveEnabled ||\n (autosaveEnabled && showSaveDraftButton)) && (\n <RenderCustomComponent\n CustomComponent={CustomSaveDraftButton}\n Fallback={<SaveDraftButton />}\n />\n )}\n <RenderCustomComponent\n CustomComponent={CustomPublishButton}\n Fallback={<PublishButton />}\n />\n </Fragment>\n ) : (\n <RenderCustomComponent\n CustomComponent={CustomSaveButton}\n Fallback={<SaveButton />}\n />\n )}\n </Fragment>\n )}\n {user && readOnlyForIncomingUser && (\n <Button\n buttonStyle=\"secondary\"\n id=\"take-over\"\n onClick={onTakeOver}\n size=\"medium\"\n type=\"button\"\n >\n {t('general:takeOver')}\n </Button>\n )}\n </div>\n {showDotMenu && !readOnlyForIncomingUser && (\n <Popup\n button={\n <div className={`${baseClass}__dots`}>\n <div />\n <div />\n <div />\n </div>\n }\n className={`${baseClass}__popup`}\n disabled={initializing || processing}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {showCopyToLocale && <CopyLocaleData />}\n {hasCreatePermission && (\n <React.Fragment>\n {!disableCreate && (\n <Fragment>\n {editDepth > 1 ? (\n <PopupList.Button id=\"action-create\" onClick={onDrawerCreateNew}>\n {i18n.t('general:createNew')}\n </PopupList.Button>\n ) : (\n <PopupList.Button\n href={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/create`,\n })}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n )}\n </Fragment>\n )}\n {collectionConfig.disableDuplicate !== true && isEditing && (\n <DuplicateDocument\n id={id.toString()}\n onDuplicate={onDuplicate}\n redirectAfterDuplicate={redirectAfterDuplicate}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onDelete={onDelete}\n redirectAfterDelete={redirectAfterDelete}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n <div className={`${baseClass}__divider`} />\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","formatAdminURL","React","Fragment","useEffect","useFormInitializing","useFormProcessing","useConfig","useEditDepth","useTranslation","formatDate","Autosave","Button","CopyLocaleData","DeleteDocument","DuplicateDocument","MoveDocToFolder","Gutter","Locked","Popup","PopupList","PreviewButton","PublishButton","RenderCustomComponent","SaveButton","SaveDraftButton","Status","baseClass","DocumentControls","props","$","id","slug","BeforeDocumentControls","customComponents","t0","data","disableActions","disableCreate","EditMenuItems","hasSavePermission","isAccountView","isEditing","onDelete","onDrawerCreateNew","onDuplicate","onTakeOver","permissions","readOnlyForIncomingUser","redirectAfterDelete","redirectAfterDuplicate","user","t1","undefined","CustomPreviewButton","CustomPublishButton","CustomSaveButton","CustomSaveDraftButton","i18n","t","editDepth","config","getEntityConfig","collectionConfig","collectionSlug","globalConfig","globalSlug","admin","t2","localization","routes","t3","dateFormat","adminRoute","updatedAt","setUpdatedAt","useState","createdAt","setCreatedAt","processing","initializing","t4","t5","date","pattern","hasCreatePermission","create","hasDeletePermission","delete","showDotMenu","Boolean","unsavedDraftWithValidations","versions","drafts","validate","collectionConfigDrafts","globalConfigDrafts","autosaveEnabled","autosave","collectionAutosaveEnabled","globalAutosaveEnabled","showSaveDraftButton","showCopyToLocale","disableCopyToLocale","showFolderMetaIcon","folders","showLockedMetaIcon","t6","_jsx","buttonStyle","onClick","size","type","children","_jsxs","className","folderCollectionSlug","folderFieldName","fieldName","label","labels","singular","filter","join","collection","global","publishedDocUpdatedAt","timestamps","title","preview","CustomComponent","Fallback","button","disabled","horizontalAlign","verticalAlign","ButtonGroup","href","path","disableDuplicate","toString","singularLabel","buttonId","useAsTitle"],"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientUser,\n Data,\n SanitizedCollectionConfig,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDate } from '../../utilities/formatDocTitle/formatDateTitle.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { Button } from '../Button/index.js'\nimport { CopyLocaleData } from '../CopyLocaleData/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { MoveDocToFolder } from '../FolderView/MoveDocToFolder/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { Locked } from '../Locked/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { PublishButton } from '../PublishButton/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { SaveButton } from '../SaveButton/index.js'\nimport { SaveDraftButton } from '../SaveDraftButton/index.js'\nimport { Status } from '../Status/index.js'\nimport './index.scss'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n readonly apiURL: string\n readonly BeforeDocumentControls?: React.ReactNode\n readonly customComponents?: {\n readonly PreviewButton?: React.ReactNode\n readonly PublishButton?: React.ReactNode\n readonly SaveButton?: React.ReactNode\n readonly SaveDraftButton?: React.ReactNode\n }\n readonly data?: Data\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly EditMenuItems?: React.ReactNode\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly isAccountView?: boolean\n readonly isEditing?: boolean\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly onDrawerCreateNew?: () => void\n /* Only available if `redirectAfterDuplicate` is `false` */\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly onSave?: DocumentDrawerContextType['onSave']\n readonly onTakeOver?: () => void\n readonly permissions: null | SanitizedCollectionPermission | SanitizedGlobalPermission\n readonly readOnlyForIncomingUser?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly slug: SanitizedCollectionConfig['slug']\n readonly user?: ClientUser\n}> = (props) => {\n const {\n id,\n slug,\n BeforeDocumentControls,\n customComponents: {\n PreviewButton: CustomPreviewButton,\n PublishButton: CustomPublishButton,\n SaveButton: CustomSaveButton,\n SaveDraftButton: CustomSaveDraftButton,\n } = {},\n data,\n disableActions,\n disableCreate,\n EditMenuItems,\n hasSavePermission,\n isAccountView,\n isEditing,\n onDelete,\n onDrawerCreateNew,\n onDuplicate,\n onTakeOver,\n permissions,\n readOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n user,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const { config, getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n\n const globalConfig = getEntityConfig({ globalSlug: slug })\n\n const {\n admin: { dateFormat },\n localization,\n routes: { admin: adminRoute },\n } = config\n\n // Settings these in state to avoid hydration issues if there is a mismatch between the server and client\n const [updatedAt, setUpdatedAt] = React.useState<string>('')\n const [createdAt, setCreatedAt] = React.useState<string>('')\n\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n\n useEffect(() => {\n if (data?.updatedAt) {\n setUpdatedAt(formatDate({ date: data.updatedAt, i18n, pattern: dateFormat }))\n }\n if (data?.createdAt) {\n setCreatedAt(formatDate({ date: data.createdAt, i18n, pattern: dateFormat }))\n }\n }, [data, i18n, dateFormat])\n\n const hasCreatePermission = permissions && 'create' in permissions && permissions.create\n\n const hasDeletePermission = permissions && 'delete' in permissions && permissions.delete\n\n const showDotMenu = Boolean(\n collectionConfig && id && !disableActions && (hasCreatePermission || hasDeletePermission),\n )\n\n const unsavedDraftWithValidations =\n !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate\n\n const collectionConfigDrafts = collectionConfig?.versions?.drafts\n const globalConfigDrafts = globalConfig?.versions?.drafts\n\n const autosaveEnabled =\n (collectionConfigDrafts && collectionConfigDrafts?.autosave) ||\n (globalConfigDrafts && globalConfigDrafts?.autosave)\n\n const collectionAutosaveEnabled = collectionConfigDrafts && collectionConfigDrafts?.autosave\n const globalAutosaveEnabled = globalConfigDrafts && globalConfigDrafts?.autosave\n\n const showSaveDraftButton =\n (collectionAutosaveEnabled &&\n collectionConfigDrafts.autosave !== false &&\n collectionConfigDrafts.autosave.showSaveDraftButton === true) ||\n (globalAutosaveEnabled &&\n globalConfigDrafts.autosave !== false &&\n globalConfigDrafts.autosave.showSaveDraftButton === true)\n\n const showCopyToLocale = localization && !collectionConfig?.admin?.disableCopyToLocale\n\n const showFolderMetaIcon = collectionConfig && collectionConfig.folders\n const showLockedMetaIcon = user && readOnlyForIncomingUser\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n {showLockedMetaIcon || showFolderMetaIcon ? (\n <div className={`${baseClass}__meta-icons`}>\n {showLockedMetaIcon && (\n <Locked className={`${baseClass}__locked-controls`} user={user} />\n )}\n {showFolderMetaIcon && config.folders && (\n <MoveDocToFolder\n folderCollectionSlug={config.folders.slug}\n folderFieldName={config.folders.fieldName}\n />\n )}\n </div>\n ) : null}\n\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__value`}>\n {i18n.t('general:creatingNewLabel', {\n label: getTranslation(\n collectionConfig?.labels?.singular ?? i18n.t('general:document'),\n i18n,\n ),\n })}\n </p>\n </li>\n )}\n\n {(collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li\n className={[`${baseClass}__status`, `${baseClass}__list-item`]\n .filter(Boolean)\n .join(' ')}\n >\n <Status />\n </li>\n )}\n {hasSavePermission && autosaveEnabled && !unsavedDraftWithValidations && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps && (isEditing || isAccountView) && (\n <Fragment>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.updatedAt ? updatedAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:lastModified')}:&nbsp;</p>\n {data?.updatedAt && <p className={`${baseClass}__value`}>{updatedAt}</p>}\n </li>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.createdAt ? createdAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:created')}:&nbsp;</p>\n {data?.createdAt && <p className={`${baseClass}__value`}>{createdAt}</p>}\n </li>\n </Fragment>\n )}\n </ul>\n </div>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {BeforeDocumentControls}\n {(collectionConfig?.admin.preview || globalConfig?.admin.preview) && (\n <RenderCustomComponent\n CustomComponent={CustomPreviewButton}\n Fallback={<PreviewButton />}\n />\n )}\n {hasSavePermission && (\n <Fragment>\n {collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts ? (\n <Fragment>\n {(unsavedDraftWithValidations ||\n !autosaveEnabled ||\n (autosaveEnabled && showSaveDraftButton)) && (\n <RenderCustomComponent\n CustomComponent={CustomSaveDraftButton}\n Fallback={<SaveDraftButton />}\n />\n )}\n <RenderCustomComponent\n CustomComponent={CustomPublishButton}\n Fallback={<PublishButton />}\n />\n </Fragment>\n ) : (\n <RenderCustomComponent\n CustomComponent={CustomSaveButton}\n Fallback={<SaveButton />}\n />\n )}\n </Fragment>\n )}\n {user && readOnlyForIncomingUser && (\n <Button\n buttonStyle=\"secondary\"\n id=\"take-over\"\n onClick={onTakeOver}\n size=\"medium\"\n type=\"button\"\n >\n {t('general:takeOver')}\n </Button>\n )}\n </div>\n {showDotMenu && !readOnlyForIncomingUser && (\n <Popup\n button={\n <div className={`${baseClass}__dots`}>\n <div />\n <div />\n <div />\n </div>\n }\n className={`${baseClass}__popup`}\n disabled={initializing || processing}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {showCopyToLocale && <CopyLocaleData />}\n {hasCreatePermission && (\n <React.Fragment>\n {!disableCreate && (\n <Fragment>\n {editDepth > 1 ? (\n <PopupList.Button id=\"action-create\" onClick={onDrawerCreateNew}>\n {i18n.t('general:createNew')}\n </PopupList.Button>\n ) : (\n <PopupList.Button\n href={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/create`,\n })}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n )}\n </Fragment>\n )}\n {collectionConfig.disableDuplicate !== true && isEditing && (\n <DuplicateDocument\n id={id.toString()}\n onDuplicate={onDuplicate}\n redirectAfterDuplicate={redirectAfterDuplicate}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onDelete={onDelete}\n redirectAfterDelete={redirectAfterDelete}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n {EditMenuItems}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n <div className={`${baseClass}__divider`} />\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import './index.scss';
2
2
  export declare const DocumentDrawerHeader: React.FC<{
3
3
  drawerSlug: string;
4
+ showDocumentID?: boolean;
4
5
  }>;
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/DocumentDrawer/DrawerHeader/index.tsx"],"names":[],"mappings":"AAWA,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAA;CACnB,CAsBA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/DocumentDrawer/DrawerHeader/index.tsx"],"names":[],"mappings":"AAWA,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAsBA,CAAA"}
@@ -13,28 +13,38 @@ import { IDLabel } from '../../IDLabel/index.js';
13
13
  import { documentDrawerBaseClass } from '../index.js';
14
14
  import './index.scss';
15
15
  export const DocumentDrawerHeader = t0 => {
16
- const $ = _c(7);
16
+ const $ = _c(10);
17
17
  const {
18
- drawerSlug
18
+ drawerSlug,
19
+ showDocumentID: t1
19
20
  } = t0;
21
+ const showDocumentID = t1 === undefined ? true : t1;
20
22
  const {
21
23
  closeModal
22
24
  } = useModal();
23
25
  const {
24
26
  t
25
27
  } = useTranslation();
26
- let t1;
27
- if ($[0] !== closeModal || $[1] !== drawerSlug || $[2] !== t) {
28
- let t2;
29
- if ($[4] !== closeModal || $[5] !== drawerSlug) {
30
- t2 = () => closeModal(drawerSlug);
31
- $[4] = closeModal;
32
- $[5] = drawerSlug;
33
- $[6] = t2;
28
+ let t2;
29
+ if ($[0] !== closeModal || $[1] !== drawerSlug || $[2] !== showDocumentID || $[3] !== t) {
30
+ let t3;
31
+ if ($[5] !== closeModal || $[6] !== drawerSlug) {
32
+ t3 = () => closeModal(drawerSlug);
33
+ $[5] = closeModal;
34
+ $[6] = drawerSlug;
35
+ $[7] = t3;
34
36
  } else {
35
- t2 = $[6];
37
+ t3 = $[7];
36
38
  }
37
- t1 = _jsxs(Gutter, {
39
+ let t4;
40
+ if ($[8] !== showDocumentID) {
41
+ t4 = showDocumentID && _jsx(DocumentID, {});
42
+ $[8] = showDocumentID;
43
+ $[9] = t4;
44
+ } else {
45
+ t4 = $[9];
46
+ }
47
+ t2 = _jsxs(Gutter, {
38
48
  className: `${documentDrawerBaseClass}__header`,
39
49
  children: [_jsxs("div", {
40
50
  className: `${documentDrawerBaseClass}__header-content`,
@@ -46,22 +56,23 @@ export const DocumentDrawerHeader = t0 => {
46
56
  }), _jsx("button", {
47
57
  "aria-label": t("general:close"),
48
58
  className: `${documentDrawerBaseClass}__header-close`,
49
- onClick: t2,
59
+ onClick: t3,
50
60
  type: "button",
51
61
  children: _jsx(XIcon, {})
52
62
  })]
53
- }), _jsx(DocumentTitle, {})]
63
+ }), t4]
54
64
  });
55
65
  $[0] = closeModal;
56
66
  $[1] = drawerSlug;
57
- $[2] = t;
58
- $[3] = t1;
67
+ $[2] = showDocumentID;
68
+ $[3] = t;
69
+ $[4] = t2;
59
70
  } else {
60
- t1 = $[3];
71
+ t2 = $[4];
61
72
  }
62
- return t1;
73
+ return t2;
63
74
  };
64
- const DocumentTitle = () => {
75
+ const DocumentID = () => {
65
76
  const $ = _c(3);
66
77
  const {
67
78
  id
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Gutter","useModal","RenderTitle","XIcon","useDocumentInfo","useDocumentTitle","useTranslation","IDLabel","documentDrawerBaseClass","DocumentDrawerHeader","t0","$","drawerSlug","closeModal","t","t1","t2","_jsxs","className","children","_jsx","element","onClick","type","DocumentTitle","id","title","toString"],"sources":["../../../../src/elements/DocumentDrawer/DrawerHeader/index.tsx"],"sourcesContent":["'use client'\n\nimport { Gutter } from '../../../elements/Gutter/index.js'\nimport { useModal } from '../../../elements/Modal/index.js'\nimport { RenderTitle } from '../../../elements/RenderTitle/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { IDLabel } from '../../IDLabel/index.js'\nimport { documentDrawerBaseClass } from '../index.js'\nimport './index.scss'\n\nexport const DocumentDrawerHeader: React.FC<{\n drawerSlug: string\n}> = ({ drawerSlug }) => {\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n return (\n <Gutter className={`${documentDrawerBaseClass}__header`}>\n <div className={`${documentDrawerBaseClass}__header-content`}>\n <h2 className={`${documentDrawerBaseClass}__header-text`}>\n {<RenderTitle element=\"span\" />}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${documentDrawerBaseClass}__header-close`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <DocumentTitle />\n </Gutter>\n )\n}\n\nconst DocumentTitle: React.FC = () => {\n const { id } = useDocumentInfo()\n const { title } = useDocumentTitle()\n return id && id !== title ? <IDLabel id={id.toString()} /> : null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,MAAM,QAAQ;AACvB,SAASC,QAAQ,QAAQ;AACzB,SAASC,WAAW,QAAQ;AAC5B,SAASC,KAAK,QAAQ;AACtB,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAC/B,SAASC,OAAO,QAAQ;AACxB,SAASC,uBAAuB,QAAQ;AACxC,OAAO;AAEP,OAAO,MAAMC,oBAAA,GAERC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa;EAAA,IAAAF,EAAc;EAClB;IAAAG;EAAA,IAAuBZ,QAAA;EACvB;IAAAa;EAAA,IAAcR,cAAA;EAAA,IAAAS,EAAA;EAAA,IAAAJ,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAG,CAAA;IAAA,IAAAE,EAAA;IAAA,IAAAL,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAC,UAAA;MAWGI,EAAA,GAAAA,CAAA,KAAMH,UAAA,CAAWD,UAAA;MAAAD,CAAA,MAAAE,UAAA;MAAAF,CAAA,MAAAC,UAAA;MAAAD,CAAA,MAAAK,EAAA;IAAA;MAAAA,EAAA,GAAAL,CAAA;IAAA;IARhCI,EAAA,GAAAE,KAAA,CAAAjB,MAAA;MAAAkB,SAAA,EAAmB,GAAAV,uBAAA,UAAoC;MAAAW,QAAA,GACrDF,KAAA,CAAC;QAAAC,SAAA,EAAe,GAAAV,uBAAA,kBAA4C;QAAAW,QAAA,GAC1DC,IAAA,CAAC;UAAAF,SAAA,EAAc,GAAAV,uBAAA,eAAyC;UAAAW,QAAA,EACrDC,IAAA,CAAAlB,WAAA;YAAAmB,OAAA,EAAqB;UAAA,C;YAExBD,IAAA,CAAC;UAAA,cACaN,CAAA,CAAE;UAAAI,SAAA,EACH,GAAAV,uBAAA,gBAA0C;UAAAc,OAAA,EAC5CN,EAAiB;UAAAO,IAAA,EACrB;UAAAJ,QAAA,EAELC,IAAA,CAAAjB,KAAA,IAAC;QAAA,C;UAGLiB,IAAA,CAAAI,aAAA,IAAC;IAAA,C;;;;;;;;SAdHT,E;CAiBJ;AAEA,MAAMS,aAAA,GAA0BA,CAAA;EAAA,MAAAb,CAAA,GAAAZ,EAAA;EAC9B;IAAA0B;EAAA,IAAerB,eAAA;EACf;IAAAsB;EAAA,IAAkBrB,gBAAA;EAAA,IAAAK,EAAA;EAAA,IAAAC,CAAA,QAAAc,EAAA,IAAAd,CAAA,QAAAe,KAAA;IACXhB,EAAA,GAAAe,EAAA,IAAMA,EAAA,KAAOC,KAAA,GAAQN,IAAA,CAAAb,OAAA;MAAAkB,EAAA,EAAaA,EAAA,CAAAE,QAAA,CAAW;IAAA,C,QAAS;IAAAhB,CAAA,MAAAc,EAAA;IAAAd,CAAA,MAAAe,KAAA;IAAAf,CAAA,MAAAD,EAAA;EAAA;IAAAA,EAAA,GAAAC,CAAA;EAAA;EAAA,OAAtDD,EAAsD;AAAA,CAC/D","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","Gutter","useModal","RenderTitle","XIcon","useDocumentInfo","useDocumentTitle","useTranslation","IDLabel","documentDrawerBaseClass","DocumentDrawerHeader","t0","$","drawerSlug","showDocumentID","t1","undefined","closeModal","t","t2","t3","t4","_jsx","DocumentID","_jsxs","className","children","element","onClick","type","id","title","toString"],"sources":["../../../../src/elements/DocumentDrawer/DrawerHeader/index.tsx"],"sourcesContent":["'use client'\n\nimport { Gutter } from '../../../elements/Gutter/index.js'\nimport { useModal } from '../../../elements/Modal/index.js'\nimport { RenderTitle } from '../../../elements/RenderTitle/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { IDLabel } from '../../IDLabel/index.js'\nimport { documentDrawerBaseClass } from '../index.js'\nimport './index.scss'\n\nexport const DocumentDrawerHeader: React.FC<{\n drawerSlug: string\n showDocumentID?: boolean\n}> = ({ drawerSlug, showDocumentID = true }) => {\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n return (\n <Gutter className={`${documentDrawerBaseClass}__header`}>\n <div className={`${documentDrawerBaseClass}__header-content`}>\n <h2 className={`${documentDrawerBaseClass}__header-text`}>\n {<RenderTitle element=\"span\" />}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${documentDrawerBaseClass}__header-close`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {showDocumentID && <DocumentID />}\n </Gutter>\n )\n}\n\nconst DocumentID: React.FC = () => {\n const { id } = useDocumentInfo()\n const { title } = useDocumentTitle()\n return id && id !== title ? <IDLabel id={id.toString()} /> : null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,MAAM,QAAQ;AACvB,SAASC,QAAQ,QAAQ;AACzB,SAASC,WAAW,QAAQ;AAC5B,SAASC,KAAK,QAAQ;AACtB,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAC/B,SAASC,OAAO,QAAQ;AACxB,SAASC,uBAAuB,QAAQ;AACxC,OAAO;AAEP,OAAO,MAAMC,oBAAA,GAGRC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,UAAA;IAAAC,cAAA,EAAAC;EAAA,IAAAJ,EAAqC;EAAvB,MAAAG,cAAA,GAAAC,EAAqB,KAAAC,SAAA,UAArBD,EAAqB;EACvC;IAAAE;EAAA,IAAuBf,QAAA;EACvB;IAAAgB;EAAA,IAAcX,cAAA;EAAA,IAAAY,EAAA;EAAA,IAAAP,CAAA,QAAAK,UAAA,IAAAL,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAE,cAAA,IAAAF,CAAA,QAAAM,CAAA;IAAA,IAAAE,EAAA;IAAA,IAAAR,CAAA,QAAAK,UAAA,IAAAL,CAAA,QAAAC,UAAA;MAWGO,EAAA,GAAAA,CAAA,KAAMH,UAAA,CAAWJ,UAAA;MAAAD,CAAA,MAAAK,UAAA;MAAAL,CAAA,MAAAC,UAAA;MAAAD,CAAA,MAAAQ,EAAA;IAAA;MAAAA,EAAA,GAAAR,CAAA;IAAA;IAAA,IAAAS,EAAA;IAAA,IAAAT,CAAA,QAAAE,cAAA;MAM7BO,EAAA,GAAAP,cAAA,IAAkBQ,IAAA,CAAAC,UAAA,IAAC;MAAAX,CAAA,MAAAE,cAAA;MAAAF,CAAA,MAAAS,EAAA;IAAA;MAAAA,EAAA,GAAAT,CAAA;IAAA;IAdtBO,EAAA,GAAAK,KAAA,CAAAvB,MAAA;MAAAwB,SAAA,EAAmB,GAAAhB,uBAAA,UAAoC;MAAAiB,QAAA,GACrDF,KAAA,CAAC;QAAAC,SAAA,EAAe,GAAAhB,uBAAA,kBAA4C;QAAAiB,QAAA,GAC1DJ,IAAA,CAAC;UAAAG,SAAA,EAAc,GAAAhB,uBAAA,eAAyC;UAAAiB,QAAA,EACrDJ,IAAA,CAAAnB,WAAA;YAAAwB,OAAA,EAAqB;UAAA,C;YAExBL,IAAA,CAAC;UAAA,cACaJ,CAAA,CAAE;UAAAO,SAAA,EACH,GAAAhB,uBAAA,gBAA0C;UAAAmB,OAAA,EAC5CR,EAAiB;UAAAS,IAAA,EACrB;UAAAH,QAAA,EAELJ,IAAA,CAAAlB,KAAA,IAAC;QAAA,C;UAGJiB,EAAmB;IAAA,C;;;;;;;;;SAdtBF,E;CAiBJ;AAEA,MAAMI,UAAA,GAAuBA,CAAA;EAAA,MAAAX,CAAA,GAAAZ,EAAA;EAC3B;IAAA8B;EAAA,IAAezB,eAAA;EACf;IAAA0B;EAAA,IAAkBzB,gBAAA;EAAA,IAAAK,EAAA;EAAA,IAAAC,CAAA,QAAAkB,EAAA,IAAAlB,CAAA,QAAAmB,KAAA;IACXpB,EAAA,GAAAmB,EAAA,IAAMA,EAAA,KAAOC,KAAA,GAAQT,IAAA,CAAAd,OAAA;MAAAsB,EAAA,EAAaA,EAAA,CAAAE,QAAA,CAAW;IAAA,C,QAAS;IAAApB,CAAA,MAAAkB,EAAA;IAAAlB,CAAA,MAAAmB,KAAA;IAAAnB,CAAA,MAAAD,EAAA;EAAA;IAAAA,EAAA,GAAAC,CAAA;EAAA;EAAA,OAAtDD,EAAsD;AAAA,CAC/D","ignoreList":[]}