@payloadcms/ui 3.56.0-internal.72f4fd2 → 3.57.0-canary.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 (198) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.js +4 -18
  2. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  3. package/dist/elements/Button/index.d.ts.map +1 -1
  4. package/dist/elements/Button/index.js +1 -2
  5. package/dist/elements/Button/index.js.map +1 -1
  6. package/dist/elements/ClipboardAction/index.js +173 -74
  7. package/dist/elements/ClipboardAction/index.js.map +1 -1
  8. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  9. package/dist/elements/CodeEditor/CodeEditor.js +179 -66
  10. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  11. package/dist/elements/CodeEditor/constants.d.ts +4 -0
  12. package/dist/elements/CodeEditor/constants.d.ts.map +1 -0
  13. package/dist/elements/CodeEditor/constants.js +19 -0
  14. package/dist/elements/CodeEditor/constants.js.map +1 -0
  15. package/dist/elements/CodeEditor/types.d.ts +1 -0
  16. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  17. package/dist/elements/CodeEditor/types.js.map +1 -1
  18. package/dist/elements/Collapsible/index.js +15 -7
  19. package/dist/elements/Collapsible/index.js.map +1 -1
  20. package/dist/elements/ConfirmationModal/index.js +44 -8
  21. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  22. package/dist/elements/CopyLocaleData/index.js +97 -89
  23. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  24. package/dist/elements/CopyToClipboard/index.js +22 -2
  25. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  26. package/dist/elements/DefaultListViewTabs/index.js +47 -32
  27. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  28. package/dist/elements/DeleteMany/index.js +83 -47
  29. package/dist/elements/DeleteMany/index.js.map +1 -1
  30. package/dist/elements/DocumentControls/index.js +55 -27
  31. package/dist/elements/DocumentControls/index.js.map +1 -1
  32. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +10 -2
  33. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  34. package/dist/elements/DocumentDrawer/index.js +99 -47
  35. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  36. package/dist/elements/Drawer/index.js +57 -23
  37. package/dist/elements/Drawer/index.js.map +1 -1
  38. package/dist/elements/DrawerActionHeader/index.js +21 -3
  39. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  40. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  41. package/dist/elements/EmailAndUsername/index.js +31 -24
  42. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  43. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +225 -149
  44. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  45. package/dist/elements/FolderView/FolderFileCard/index.js +27 -19
  46. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  47. package/dist/elements/FolderView/MoveDocToFolder/index.js +23 -12
  48. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  49. package/dist/elements/FullscreenModal/index.js +20 -10
  50. package/dist/elements/FullscreenModal/index.js.map +1 -1
  51. package/dist/elements/ListDrawer/index.js +24 -18
  52. package/dist/elements/ListDrawer/index.js.map +1 -1
  53. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +32 -19
  54. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  55. package/dist/elements/ListSelection/index.js +27 -11
  56. package/dist/elements/ListSelection/index.js.map +1 -1
  57. package/dist/elements/LivePreview/Window/index.js +146 -65
  58. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  59. package/dist/elements/Loading/index.js +11 -2
  60. package/dist/elements/Loading/index.js.map +1 -1
  61. package/dist/elements/LoadingOverlay/index.js +102 -46
  62. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  63. package/dist/elements/Localizer/LocalizerLabel/index.js +36 -23
  64. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  65. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +139 -41
  66. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  67. package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
  68. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
  69. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  70. package/dist/elements/SelectRow/index.js +40 -39
  71. package/dist/elements/SelectRow/index.js.map +1 -1
  72. package/dist/elements/ShimmerEffect/index.js +12 -20
  73. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  74. package/dist/elements/SortColumn/index.js +30 -21
  75. package/dist/elements/SortColumn/index.js.map +1 -1
  76. package/dist/elements/Table/DefaultCell/fields/Date/index.js +37 -9
  77. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  78. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +37 -35
  79. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  80. package/dist/elements/Table/DefaultCell/fields/Select/index.js +27 -12
  81. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  82. package/dist/elements/Thumbnail/index.js +75 -35
  83. package/dist/elements/Thumbnail/index.js.map +1 -1
  84. package/dist/elements/ThumbnailCard/index.js +26 -17
  85. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  86. package/dist/elements/Tooltip/index.js +127 -51
  87. package/dist/elements/Tooltip/index.js.map +1 -1
  88. package/dist/elements/Upload/index.js +10 -2
  89. package/dist/elements/Upload/index.js.map +1 -1
  90. package/dist/elements/WhereBuilder/Condition/Select/index.js +44 -31
  91. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  92. package/dist/exports/client/{CodeEditor-RHQXPDK5.js → CodeEditor-3SOJDDUK.js} +2 -2
  93. package/dist/exports/client/{DatePicker-F432AIH3.js → DatePicker-NMDEHPWL.js} +2 -2
  94. package/dist/exports/client/{chunk-AZDI6MW4.js → chunk-7RGKTZG2.js} +1 -1
  95. package/dist/exports/client/{chunk-AZDI6MW4.js.map → chunk-7RGKTZG2.js.map} +1 -1
  96. package/dist/exports/client/chunk-HDOVBQ3N.js +27 -0
  97. package/dist/exports/client/chunk-HDOVBQ3N.js.map +7 -0
  98. package/dist/exports/client/index.d.ts +4 -5
  99. package/dist/exports/client/index.d.ts.map +1 -1
  100. package/dist/exports/client/index.js +12 -12
  101. package/dist/exports/client/index.js.map +4 -4
  102. package/dist/exports/rsc/index.d.ts +0 -1
  103. package/dist/exports/rsc/index.d.ts.map +1 -1
  104. package/dist/exports/rsc/index.js +0 -1
  105. package/dist/exports/rsc/index.js.map +1 -1
  106. package/dist/fields/Array/ArrayRow.d.ts +3 -2
  107. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  108. package/dist/fields/Array/ArrayRow.js +23 -13
  109. package/dist/fields/Array/ArrayRow.js.map +1 -1
  110. package/dist/fields/Array/index.js +477 -273
  111. package/dist/fields/Array/index.js.map +1 -1
  112. package/dist/fields/Checkbox/Input.js +19 -2
  113. package/dist/fields/Checkbox/Input.js.map +1 -1
  114. package/dist/fields/Code/index.d.ts.map +1 -1
  115. package/dist/fields/Code/index.js +15 -12
  116. package/dist/fields/Code/index.js.map +1 -1
  117. package/dist/fields/FieldError/index.js +29 -30
  118. package/dist/fields/FieldError/index.js.map +1 -1
  119. package/dist/fields/FieldLabel/index.js +64 -12
  120. package/dist/fields/FieldLabel/index.js.map +1 -1
  121. package/dist/fields/Group/index.d.ts +1 -1
  122. package/dist/fields/JSON/index.d.ts.map +1 -1
  123. package/dist/fields/JSON/index.js +34 -17
  124. package/dist/fields/JSON/index.js.map +1 -1
  125. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  126. package/dist/fields/Relationship/Input.js +8 -0
  127. package/dist/fields/Relationship/Input.js.map +1 -1
  128. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +103 -45
  129. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  130. package/dist/fields/Relationship/select-components/SingleValue/index.js +44 -29
  131. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  132. package/dist/fields/Row/index.d.ts +3 -1
  133. package/dist/fields/Row/index.d.ts.map +1 -1
  134. package/dist/fields/Select/Input.js +31 -18
  135. package/dist/fields/Select/Input.js.map +1 -1
  136. package/dist/fields/Tabs/Tab/index.js +11 -2
  137. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  138. package/dist/fields/Tabs/index.d.ts +1 -2
  139. package/dist/fields/Tabs/index.d.ts.map +1 -1
  140. package/dist/fields/Tabs/index.js +225 -185
  141. package/dist/fields/Tabs/index.js.map +1 -1
  142. package/dist/fields/Upload/RelationshipContent/index.js +127 -79
  143. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  144. package/dist/forms/Form/createNestedClientFieldPath.js +1 -1
  145. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  146. package/dist/forms/Form/index.d.ts.map +1 -1
  147. package/dist/forms/Form/index.js +8 -1
  148. package/dist/forms/Form/index.js.map +1 -1
  149. package/dist/forms/RenderFields/RenderField.js +237 -245
  150. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  151. package/dist/forms/RenderFields/context.d.ts +29 -0
  152. package/dist/forms/RenderFields/context.d.ts.map +1 -1
  153. package/dist/forms/RenderFields/context.js +30 -2
  154. package/dist/forms/RenderFields/context.js.map +1 -1
  155. package/dist/forms/RenderFields/types.d.ts +10 -2
  156. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  157. package/dist/forms/RenderFields/types.js.map +1 -1
  158. package/dist/forms/useField/index.d.ts +0 -5
  159. package/dist/forms/useField/index.d.ts.map +1 -1
  160. package/dist/forms/useField/index.js +45 -74
  161. package/dist/forms/useField/index.js.map +1 -1
  162. package/dist/hooks/useIntersect.js +53 -35
  163. package/dist/hooks/useIntersect.js.map +1 -1
  164. package/dist/hooks/usePayloadAPI.js +44 -36
  165. package/dist/hooks/usePayloadAPI.js.map +1 -1
  166. package/dist/providers/Config/index.d.ts +17 -2
  167. package/dist/providers/Config/index.d.ts.map +1 -1
  168. package/dist/providers/Config/index.js +57 -20
  169. package/dist/providers/Config/index.js.map +1 -1
  170. package/dist/providers/Folders/index.d.ts.map +1 -1
  171. package/dist/providers/Folders/index.js +24 -13
  172. package/dist/providers/Folders/index.js.map +1 -1
  173. package/dist/providers/ServerFunctions/index.d.ts +1 -4
  174. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  175. package/dist/providers/ServerFunctions/index.js +0 -13
  176. package/dist/providers/ServerFunctions/index.js.map +1 -1
  177. package/dist/utilities/buildFormState.d.ts.map +1 -1
  178. package/dist/utilities/buildFormState.js +2 -1
  179. package/dist/utilities/buildFormState.js.map +1 -1
  180. package/dist/utilities/reduceFieldsToOptions.d.ts +1 -1
  181. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  182. package/dist/utilities/reduceFieldsToOptions.js +7 -12
  183. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  184. package/dist/views/BrowseByFolder/index.js +55 -37
  185. package/dist/views/BrowseByFolder/index.js.map +1 -1
  186. package/dist/views/CollectionFolder/index.js +40 -13
  187. package/dist/views/CollectionFolder/index.js.map +1 -1
  188. package/dist/views/Edit/Auth/index.js +105 -93
  189. package/dist/views/Edit/Auth/index.js.map +1 -1
  190. package/package.json +8 -8
  191. package/dist/exports/client/chunk-FKP64OEZ.js +0 -26
  192. package/dist/exports/client/chunk-FKP64OEZ.js.map +0 -7
  193. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +0 -35
  194. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +0 -1
  195. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +0 -83
  196. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +0 -1
  197. /package/dist/exports/client/{CodeEditor-RHQXPDK5.js.map → CodeEditor-3SOJDDUK.js.map} +0 -0
  198. /package/dist/exports/client/{DatePicker-F432AIH3.js.map → DatePicker-NMDEHPWL.js.map} +0 -0
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
4
  import React, { useCallback, useEffect } from 'react';
6
5
  import { Form, useForm } from '../../../forms/Form/index.js';
@@ -137,29 +136,16 @@ export function EditForm({
137
136
  });
138
137
  }
139
138
  function GetFieldProxy() {
140
- const $ = _c(4);
141
139
  const {
142
140
  getFields
143
141
  } = useForm();
144
142
  const {
145
143
  getFormDataRef
146
144
  } = useFormsManager();
147
- let t0;
148
- let t1;
149
- if ($[0] !== getFields || $[1] !== getFormDataRef) {
150
- t0 = () => {
151
- getFormDataRef.current = getFields;
152
- };
153
- t1 = [getFields, getFormDataRef];
154
- $[0] = getFields;
155
- $[1] = getFormDataRef;
156
- $[2] = t0;
157
- $[3] = t1;
158
- } else {
159
- t0 = $[2];
160
- t1 = $[3];
161
- }
162
- useEffect(t0, t1);
145
+ useEffect(() => {
146
+ // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix
147
+ getFormDataRef.current = getFields;
148
+ }, [getFields, getFormDataRef]);
163
149
  return null;
164
150
  }
165
151
  function ReportAllErrors() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","OperationProvider","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","MoveDocToFolder","Upload_v4","useFormsManager","baseClass","EditForm","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isInitializing","Upload","CustomUpload","onSave","onSaveFromContext","getFormState","config","folders","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","reportUpdate","slug","schemaPath","useState","json","entitySlug","updatedAt","result","Date","toISOString","operation","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","t0","t1","docConfig","activeIndex","setFormTotalErrorCount","errorCountRef","reportFormErrorCount","errorCount","index","path","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\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 { OperationProvider } from '../../../providers/Operation/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 './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 isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const {\n config: { folders },\n getEntityConfig,\n } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const { reportUpdate } = useDocumentEvents()\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 resetUploadEdits()\n },\n [collectionSlug, onSaveFromContext, reportUpdate, resetUploadEdits],\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 <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 </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":["React","useCallback","useEffect","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","OperationProvider","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","MoveDocToFolder","Upload_v4","useFormsManager","baseClass","EditForm","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isInitializing","Upload","CustomUpload","onSave","onSaveFromContext","getFormState","config","folders","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","reportUpdate","slug","schemaPath","useState","json","entitySlug","updatedAt","result","Date","toISOString","operation","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","path","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\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 { OperationProvider } from '../../../providers/Operation/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 './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 isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const {\n config: { folders },\n getEntityConfig,\n } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const { reportUpdate } = useDocumentEvents()\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 resetUploadEdits()\n },\n [collectionSlug, onSaveFromContext, reportUpdate, resetUploadEdits],\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 <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 </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":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmC,MAAM,OAAO,CAAA;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAcrB,eAAO,MAAM,cAAc;;;;;uBAqB1B,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyJlC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmC,MAAM,OAAO,CAAA;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAcrB,eAAO,MAAM,cAAc;;;;;uBAqB1B,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAwJlC,CAAA"}
@@ -101,7 +101,6 @@ export const Button = props => {
101
101
  ...extraButtonProps
102
102
  };
103
103
  let buttonElement;
104
- let prefetch;
105
104
  switch (el) {
106
105
  case 'anchor':
107
106
  buttonElement = /*#__PURE__*/_jsx("a", {
@@ -131,7 +130,7 @@ export const Button = props => {
131
130
  buttonElement = /*#__PURE__*/_jsx(Link, {
132
131
  ...buttonProps,
133
132
  href: to || url,
134
- prefetch: prefetch,
133
+ prefetch: false,
135
134
  children: /*#__PURE__*/_jsx(ButtonContents, {
136
135
  icon: icon,
137
136
  showTooltip: showTooltip,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Fragment","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Link","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","id","type","ariaLabel","buttonStyle","disabled","el","enableSubMenu","extraButtonProps","iconPosition","iconStyle","margin","newTab","onClick","onMouseDown","ref","round","size","SubMenuPopupContent","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","undefined","onPointerEnter","onPointerLeave","rel","target","title","buttonElement","prefetch","href","Tag","button","buttonSize","horizontalAlign","noBackground","render","close","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment, isValidElement } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Link } from '../Link/index.js'\nimport { Popup } from '../Popup/index.js'\nimport './index.scss'\nimport { Tooltip } from '../Tooltip/index.js'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = icons[icon]\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isValidElement(icon) && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button: React.FC<Props> = (props) => {\n const {\n id,\n type = 'button',\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n enableSubMenu,\n extraButtonProps = {},\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n margin = true,\n newTab,\n onClick,\n onMouseDown,\n ref,\n round,\n size = 'medium',\n SubMenuPopupContent,\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n size && `${baseClass}--size-${size}`,\n icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n !SubMenuPopupContent && `${baseClass}--withoutPopup`,\n !margin && `${baseClass}--no-margin`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) {\n event.preventDefault()\n }\n if (onClick) {\n onClick(event)\n }\n }\n\n const styleClasses = [\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseDown: !disabled ? onMouseDown : undefined,\n onPointerEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onPointerLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n title: ariaLabel,\n ...extraButtonProps,\n }\n\n let buttonElement\n let prefetch\n\n switch (el) {\n case 'anchor':\n buttonElement = (\n <a\n {...buttonProps}\n href={!disabled ? url : undefined}\n ref={ref as React.RefObject<HTMLAnchorElement>}\n >\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n break\n\n case 'link':\n if (disabled) {\n buttonElement = (\n <div {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </div>\n )\n }\n\n buttonElement = (\n <Link {...buttonProps} href={to || url} prefetch={prefetch}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Link>\n )\n\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n break\n }\n if (SubMenuPopupContent) {\n return (\n <div className={styleClasses}>\n {buttonElement}\n <Popup\n button={<ChevronIcon />}\n buttonSize={size}\n className={disabled && !enableSubMenu ? `${baseClass}--popup-disabled` : ''}\n disabled={disabled && !enableSubMenu}\n horizontalAlign=\"right\"\n id={`${id}-popup`}\n noBackground\n render={({ close }) => SubMenuPopupContent({ close: () => close() })}\n size=\"large\"\n verticalAlign=\"bottom\"\n />\n </div>\n )\n }\n\n return buttonElement\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","Fragment","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Link","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","id","type","ariaLabel","buttonStyle","disabled","el","enableSubMenu","extraButtonProps","iconPosition","iconStyle","margin","newTab","onClick","onMouseDown","ref","round","size","SubMenuPopupContent","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","undefined","onPointerEnter","onPointerLeave","rel","target","title","buttonElement","href","prefetch","Tag","button","buttonSize","horizontalAlign","noBackground","render","close","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment, isValidElement } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Link } from '../Link/index.js'\nimport { Popup } from '../Popup/index.js'\nimport './index.scss'\nimport { Tooltip } from '../Tooltip/index.js'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = icons[icon]\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isValidElement(icon) && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button: React.FC<Props> = (props) => {\n const {\n id,\n type = 'button',\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n enableSubMenu,\n extraButtonProps = {},\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n margin = true,\n newTab,\n onClick,\n onMouseDown,\n ref,\n round,\n size = 'medium',\n SubMenuPopupContent,\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n size && `${baseClass}--size-${size}`,\n icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n !SubMenuPopupContent && `${baseClass}--withoutPopup`,\n !margin && `${baseClass}--no-margin`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) {\n event.preventDefault()\n }\n if (onClick) {\n onClick(event)\n }\n }\n\n const styleClasses = [\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseDown: !disabled ? onMouseDown : undefined,\n onPointerEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onPointerLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n title: ariaLabel,\n ...extraButtonProps,\n }\n\n let buttonElement\n\n switch (el) {\n case 'anchor':\n buttonElement = (\n <a\n {...buttonProps}\n href={!disabled ? url : undefined}\n ref={ref as React.RefObject<HTMLAnchorElement>}\n >\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n break\n\n case 'link':\n if (disabled) {\n buttonElement = (\n <div {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </div>\n )\n }\n\n buttonElement = (\n <Link {...buttonProps} href={to || url} prefetch={false}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Link>\n )\n\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n break\n }\n if (SubMenuPopupContent) {\n return (\n <div className={styleClasses}>\n {buttonElement}\n <Popup\n button={<ChevronIcon />}\n buttonSize={size}\n className={disabled && !enableSubMenu ? `${baseClass}--popup-disabled` : ''}\n disabled={disabled && !enableSubMenu}\n horizontalAlign=\"right\"\n id={`${id}-popup`}\n noBackground\n render={({ close }) => SubMenuPopupContent({ close: () => close() })}\n size=\"large\"\n verticalAlign=\"bottom\"\n />\n </div>\n )\n }\n\n return buttonElement\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
5
  import { useCallback } from 'react';
5
6
  import { toast } from 'sonner';
@@ -13,86 +14,184 @@ const baseClass = 'clipboard-action';
13
14
  * Menu actions for copying and pasting fields. Currently, this is only used in Arrays and Blocks.
14
15
  * @note This component doesn't use the Clipboard API, but localStorage. See rationale in #11513
15
16
  */
16
- export const ClipboardAction = ({
17
- allowCopy,
18
- allowPaste,
19
- className,
20
- copyClassName,
21
- disabled,
22
- isRow,
23
- onPaste,
24
- pasteClassName,
25
- path,
26
- ...rest
27
- }) => {
17
+ export const ClipboardAction = t0 => {
18
+ const $ = _c(40);
19
+ let allowCopy;
20
+ let allowPaste;
21
+ let className;
22
+ let copyClassName;
23
+ let disabled;
24
+ let isRow;
25
+ let onPaste;
26
+ let pasteClassName;
27
+ let path;
28
+ let rest;
29
+ if ($[0] !== t0) {
30
+ ({
31
+ allowCopy,
32
+ allowPaste,
33
+ className,
34
+ copyClassName,
35
+ disabled,
36
+ isRow,
37
+ onPaste,
38
+ pasteClassName,
39
+ path,
40
+ ...rest
41
+ } = t0);
42
+ $[0] = t0;
43
+ $[1] = allowCopy;
44
+ $[2] = allowPaste;
45
+ $[3] = className;
46
+ $[4] = copyClassName;
47
+ $[5] = disabled;
48
+ $[6] = isRow;
49
+ $[7] = onPaste;
50
+ $[8] = pasteClassName;
51
+ $[9] = path;
52
+ $[10] = rest;
53
+ } else {
54
+ allowCopy = $[1];
55
+ allowPaste = $[2];
56
+ className = $[3];
57
+ copyClassName = $[4];
58
+ disabled = $[5];
59
+ isRow = $[6];
60
+ onPaste = $[7];
61
+ pasteClassName = $[8];
62
+ path = $[9];
63
+ rest = $[10];
64
+ }
28
65
  const {
29
66
  t
30
67
  } = useTranslation();
31
- const classes = [`${baseClass}__popup`, className].filter(Boolean).join(' ');
32
- const handleCopy = useCallback(() => {
33
- const clipboardResult = clipboardCopy({
34
- path,
35
- t,
36
- ...rest
37
- });
38
- if (typeof clipboardResult === 'string') {
39
- toast.error(clipboardResult);
68
+ let t1;
69
+ if ($[11] !== className) {
70
+ t1 = [`${baseClass}__popup`, className].filter(Boolean);
71
+ $[11] = className;
72
+ $[12] = t1;
73
+ } else {
74
+ t1 = $[12];
75
+ }
76
+ const classes = t1.join(" ");
77
+ let t2;
78
+ if ($[13] !== path || $[14] !== rest || $[15] !== t) {
79
+ t2 = () => {
80
+ const clipboardResult = clipboardCopy({
81
+ path,
82
+ t,
83
+ ...rest
84
+ });
85
+ if (typeof clipboardResult === "string") {
86
+ toast.error(clipboardResult);
87
+ } else {
88
+ toast.success(t("general:copied"));
89
+ }
90
+ };
91
+ $[13] = path;
92
+ $[14] = rest;
93
+ $[15] = t;
94
+ $[16] = t2;
95
+ } else {
96
+ t2 = $[16];
97
+ }
98
+ const handleCopy = t2;
99
+ let t3;
100
+ if ($[17] !== onPaste || $[18] !== path || $[19] !== rest || $[20] !== t) {
101
+ t3 = () => {
102
+ const clipboardResult_0 = clipboardPaste(rest.type === "array" ? {
103
+ onPaste,
104
+ path,
105
+ schemaFields: rest.fields,
106
+ t
107
+ } : {
108
+ onPaste,
109
+ path,
110
+ schemaBlocks: rest.blocks,
111
+ t
112
+ });
113
+ if (typeof clipboardResult_0 === "string") {
114
+ toast.error(clipboardResult_0);
115
+ }
116
+ };
117
+ $[17] = onPaste;
118
+ $[18] = path;
119
+ $[19] = rest;
120
+ $[20] = t;
121
+ $[21] = t3;
122
+ } else {
123
+ t3 = $[21];
124
+ }
125
+ const handlePaste = t3;
126
+ if (!allowPaste && !allowCopy) {
127
+ return null;
128
+ }
129
+ let t4;
130
+ if ($[22] !== allowCopy || $[23] !== allowPaste || $[24] !== classes || $[25] !== copyClassName || $[26] !== disabled || $[27] !== handleCopy || $[28] !== handlePaste || $[29] !== isRow || $[30] !== pasteClassName) {
131
+ let t5;
132
+ if ($[32] !== allowCopy || $[33] !== allowPaste || $[34] !== copyClassName || $[35] !== handleCopy || $[36] !== handlePaste || $[37] !== isRow || $[38] !== pasteClassName) {
133
+ t5 = t6 => {
134
+ const {
135
+ close
136
+ } = t6;
137
+ return _jsxs(PopupList.ButtonGroup, {
138
+ children: [_jsx(PopupList.Button, {
139
+ className: copyClassName,
140
+ disabled: !allowCopy,
141
+ onClick: () => {
142
+ handleCopy();
143
+ close();
144
+ },
145
+ children: _jsx(ClipboardActionLabel, {
146
+ isRow
147
+ })
148
+ }), _jsx(PopupList.Button, {
149
+ className: pasteClassName,
150
+ disabled: !allowPaste,
151
+ onClick: () => {
152
+ handlePaste();
153
+ close();
154
+ },
155
+ children: _jsx(ClipboardActionLabel, {
156
+ isPaste: true,
157
+ isRow
158
+ })
159
+ })]
160
+ });
161
+ };
162
+ $[32] = allowCopy;
163
+ $[33] = allowPaste;
164
+ $[34] = copyClassName;
165
+ $[35] = handleCopy;
166
+ $[36] = handlePaste;
167
+ $[37] = isRow;
168
+ $[38] = pasteClassName;
169
+ $[39] = t5;
40
170
  } else {
41
- toast.success(t('general:copied'));
171
+ t5 = $[39];
42
172
  }
43
- }, [t, rest, path]);
44
- const handlePaste = useCallback(() => {
45
- const clipboardResult_0 = clipboardPaste(rest.type === 'array' ? {
46
- onPaste,
47
- path,
48
- schemaFields: rest.fields,
49
- t
50
- } : {
51
- onPaste,
52
- path,
53
- schemaBlocks: rest.blocks,
54
- t
173
+ t4 = _jsx(Popup, {
174
+ button: _jsx(MoreIcon, {}),
175
+ className: classes,
176
+ disabled,
177
+ horizontalAlign: "center",
178
+ render: t5,
179
+ size: "large",
180
+ verticalAlign: "bottom"
55
181
  });
56
- if (typeof clipboardResult_0 === 'string') {
57
- toast.error(clipboardResult_0);
58
- }
59
- }, [onPaste, rest, path, t]);
60
- if (!allowPaste && !allowCopy) {
61
- return null;
182
+ $[22] = allowCopy;
183
+ $[23] = allowPaste;
184
+ $[24] = classes;
185
+ $[25] = copyClassName;
186
+ $[26] = disabled;
187
+ $[27] = handleCopy;
188
+ $[28] = handlePaste;
189
+ $[29] = isRow;
190
+ $[30] = pasteClassName;
191
+ $[31] = t4;
192
+ } else {
193
+ t4 = $[31];
62
194
  }
63
- return /*#__PURE__*/_jsx(Popup, {
64
- button: /*#__PURE__*/_jsx(MoreIcon, {}),
65
- className: classes,
66
- disabled: disabled,
67
- horizontalAlign: "center",
68
- render: ({
69
- close
70
- }) => /*#__PURE__*/_jsxs(PopupList.ButtonGroup, {
71
- children: [/*#__PURE__*/_jsx(PopupList.Button, {
72
- className: copyClassName,
73
- disabled: !allowCopy,
74
- onClick: () => {
75
- void handleCopy();
76
- close();
77
- },
78
- children: /*#__PURE__*/_jsx(ClipboardActionLabel, {
79
- isRow: isRow
80
- })
81
- }), /*#__PURE__*/_jsx(PopupList.Button, {
82
- className: pasteClassName,
83
- disabled: !allowPaste,
84
- onClick: () => {
85
- void handlePaste();
86
- close();
87
- },
88
- children: /*#__PURE__*/_jsx(ClipboardActionLabel, {
89
- isPaste: true,
90
- isRow: isRow
91
- })
92
- })]
93
- }),
94
- size: "large",
95
- verticalAlign: "bottom"
96
- });
195
+ return t4;
97
196
  };
98
197
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useCallback","toast","MoreIcon","useTranslation","Popup","PopupList","ClipboardActionLabel","clipboardCopy","clipboardPaste","baseClass","ClipboardAction","allowCopy","allowPaste","className","copyClassName","disabled","isRow","onPaste","pasteClassName","path","rest","t","classes","filter","Boolean","join","handleCopy","clipboardResult","error","success","handlePaste","type","schemaFields","fields","schemaBlocks","blocks","_jsx","button","horizontalAlign","render","close","_jsxs","ButtonGroup","Button","onClick","isPaste","size","verticalAlign"],"sources":["../../../src/elements/ClipboardAction/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormStateWithoutComponents } from 'payload'\n\nimport { type FC, useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { ClipboardCopyData, OnPasteFn } from './types.js'\n\nimport { MoreIcon } from '../../icons/More/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { ClipboardActionLabel } from './ClipboardActionLabel.js'\nimport { clipboardCopy, clipboardPaste } from './clipboardUtilities.js'\n\nconst baseClass = 'clipboard-action'\n\ntype Props = {\n allowCopy?: boolean\n allowPaste?: boolean\n className?: string\n copyClassName?: string\n disabled?: boolean\n getDataToCopy: () => FormStateWithoutComponents\n isRow?: boolean\n onPaste: OnPasteFn\n pasteClassName?: string\n} & ClipboardCopyData\n\n/**\n * Menu actions for copying and pasting fields. Currently, this is only used in Arrays and Blocks.\n * @note This component doesn't use the Clipboard API, but localStorage. See rationale in #11513\n */\nexport const ClipboardAction: FC<Props> = ({\n allowCopy,\n allowPaste,\n className,\n copyClassName,\n disabled,\n isRow,\n onPaste,\n pasteClassName,\n path,\n ...rest\n}) => {\n const { t } = useTranslation()\n\n const classes = [`${baseClass}__popup`, className].filter(Boolean).join(' ')\n\n const handleCopy = useCallback(() => {\n const clipboardResult = clipboardCopy({\n path,\n t,\n ...rest,\n })\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n } else {\n toast.success(t('general:copied'))\n }\n }, [t, rest, path])\n\n const handlePaste = useCallback(() => {\n const clipboardResult = clipboardPaste(\n rest.type === 'array'\n ? {\n onPaste,\n path,\n schemaFields: rest.fields,\n t,\n }\n : {\n onPaste,\n path,\n schemaBlocks: rest.blocks,\n t,\n },\n )\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n }, [onPaste, rest, path, t])\n\n if (!allowPaste && !allowCopy) {\n return null\n }\n\n return (\n <Popup\n button={<MoreIcon />}\n className={classes}\n disabled={disabled}\n horizontalAlign=\"center\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n <PopupList.Button\n className={copyClassName}\n disabled={!allowCopy}\n onClick={() => {\n void handleCopy()\n close()\n }}\n >\n <ClipboardActionLabel isRow={isRow} />\n </PopupList.Button>\n <PopupList.Button\n className={pasteClassName}\n disabled={!allowPaste}\n onClick={() => {\n void handlePaste()\n close()\n }}\n >\n <ClipboardActionLabel isPaste isRow={isRow} />\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n size=\"large\"\n verticalAlign=\"bottom\"\n />\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAAkBA,WAAW,QAAQ;AACrC,SAASC,KAAK,QAAQ;AAItB,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,KAAK,EAAEC,SAAS,QAAQ;AACjC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,aAAa,EAAEC,cAAc,QAAQ;AAE9C,MAAMC,SAAA,GAAY;AAclB;;;;AAIA,OAAO,MAAMC,eAAA,GAA6BA,CAAC;EACzCC,SAAS;EACTC,UAAU;EACVC,SAAS;EACTC,aAAa;EACbC,QAAQ;EACRC,KAAK;EACLC,OAAO;EACPC,cAAc;EACdC,IAAI;EACJ,GAAGC;AAAA,CACJ;EACC,MAAM;IAAEC;EAAC,CAAE,GAAGlB,cAAA;EAEd,MAAMmB,OAAA,GAAU,CAAC,GAAGb,SAAA,SAAkB,EAAEI,SAAA,CAAU,CAACU,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EAExE,MAAMC,UAAA,GAAa1B,WAAA,CAAY;IAC7B,MAAM2B,eAAA,GAAkBpB,aAAA,CAAc;MACpCY,IAAA;MACAE,CAAA;MACA,GAAGD;IACL;IAEA,IAAI,OAAOO,eAAA,KAAoB,UAAU;MACvC1B,KAAA,CAAM2B,KAAK,CAACD,eAAA;IACd,OAAO;MACL1B,KAAA,CAAM4B,OAAO,CAACR,CAAA,CAAE;IAClB;EACF,GAAG,CAACA,CAAA,EAAGD,IAAA,EAAMD,IAAA,CAAK;EAElB,MAAMW,WAAA,GAAc9B,WAAA,CAAY;IAC9B,MAAM2B,iBAAA,GAAkBnB,cAAA,CACtBY,IAAA,CAAKW,IAAI,KAAK,UACV;MACEd,OAAA;MACAE,IAAA;MACAa,YAAA,EAAcZ,IAAA,CAAKa,MAAM;MACzBZ;IACF,IACA;MACEJ,OAAA;MACAE,IAAA;MACAe,YAAA,EAAcd,IAAA,CAAKe,MAAM;MACzBd;IACF;IAGN,IAAI,OAAOM,iBAAA,KAAoB,UAAU;MACvC1B,KAAA,CAAM2B,KAAK,CAACD,iBAAA;IACd;EACF,GAAG,CAACV,OAAA,EAASG,IAAA,EAAMD,IAAA,EAAME,CAAA,CAAE;EAE3B,IAAI,CAACT,UAAA,IAAc,CAACD,SAAA,EAAW;IAC7B,OAAO;EACT;EAEA,oBACEyB,IAAA,CAAChC,KAAA;IACCiC,MAAA,eAAQD,IAAA,CAAClC,QAAA;IACTW,SAAA,EAAWS,OAAA;IACXP,QAAA,EAAUA,QAAA;IACVuB,eAAA,EAAgB;IAChBC,MAAA,EAAQA,CAAC;MAAEC;IAAK,CAAE,kBAChBC,KAAA,CAACpC,SAAA,CAAUqC,WAAW;8BACpBN,IAAA,CAAC/B,SAAA,CAAUsC,MAAM;QACf9B,SAAA,EAAWC,aAAA;QACXC,QAAA,EAAU,CAACJ,SAAA;QACXiC,OAAA,EAASA,CAAA;UACP,KAAKlB,UAAA;UACLc,KAAA;QACF;kBAEA,aAAAJ,IAAA,CAAC9B,oBAAA;UAAqBU,KAAA,EAAOA;;uBAE/BoB,IAAA,CAAC/B,SAAA,CAAUsC,MAAM;QACf9B,SAAA,EAAWK,cAAA;QACXH,QAAA,EAAU,CAACH,UAAA;QACXgC,OAAA,EAASA,CAAA;UACP,KAAKd,WAAA;UACLU,KAAA;QACF;kBAEA,aAAAJ,IAAA,CAAC9B,oBAAA;UAAqBuC,OAAO;UAAC7B,KAAA,EAAOA;;;;IAI3C8B,IAAA,EAAK;IACLC,aAAA,EAAc;;AAGpB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useCallback","toast","MoreIcon","useTranslation","Popup","PopupList","ClipboardActionLabel","clipboardCopy","clipboardPaste","baseClass","ClipboardAction","t0","$","allowCopy","allowPaste","className","copyClassName","disabled","isRow","onPaste","pasteClassName","path","rest","t","t1","filter","Boolean","classes","join","t2","clipboardResult","error","success","handleCopy","t3","clipboardResult_0","type","schemaFields","fields","schemaBlocks","blocks","handlePaste","t4","t5","t6","close","_jsxs","ButtonGroup","children","_jsx","Button","onClick","isPaste","button","horizontalAlign","render","verticalAlign"],"sources":["../../../src/elements/ClipboardAction/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormStateWithoutComponents } from 'payload'\n\nimport { type FC, useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { ClipboardCopyData, OnPasteFn } from './types.js'\n\nimport { MoreIcon } from '../../icons/More/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { ClipboardActionLabel } from './ClipboardActionLabel.js'\nimport { clipboardCopy, clipboardPaste } from './clipboardUtilities.js'\n\nconst baseClass = 'clipboard-action'\n\ntype Props = {\n allowCopy?: boolean\n allowPaste?: boolean\n className?: string\n copyClassName?: string\n disabled?: boolean\n getDataToCopy: () => FormStateWithoutComponents\n isRow?: boolean\n onPaste: OnPasteFn\n pasteClassName?: string\n} & ClipboardCopyData\n\n/**\n * Menu actions for copying and pasting fields. Currently, this is only used in Arrays and Blocks.\n * @note This component doesn't use the Clipboard API, but localStorage. See rationale in #11513\n */\nexport const ClipboardAction: FC<Props> = ({\n allowCopy,\n allowPaste,\n className,\n copyClassName,\n disabled,\n isRow,\n onPaste,\n pasteClassName,\n path,\n ...rest\n}) => {\n const { t } = useTranslation()\n\n const classes = [`${baseClass}__popup`, className].filter(Boolean).join(' ')\n\n const handleCopy = useCallback(() => {\n const clipboardResult = clipboardCopy({\n path,\n t,\n ...rest,\n })\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n } else {\n toast.success(t('general:copied'))\n }\n }, [t, rest, path])\n\n const handlePaste = useCallback(() => {\n const clipboardResult = clipboardPaste(\n rest.type === 'array'\n ? {\n onPaste,\n path,\n schemaFields: rest.fields,\n t,\n }\n : {\n onPaste,\n path,\n schemaBlocks: rest.blocks,\n t,\n },\n )\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n }, [onPaste, rest, path, t])\n\n if (!allowPaste && !allowCopy) {\n return null\n }\n\n return (\n <Popup\n button={<MoreIcon />}\n className={classes}\n disabled={disabled}\n horizontalAlign=\"center\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n <PopupList.Button\n className={copyClassName}\n disabled={!allowCopy}\n onClick={() => {\n void handleCopy()\n close()\n }}\n >\n <ClipboardActionLabel isRow={isRow} />\n </PopupList.Button>\n <PopupList.Button\n className={pasteClassName}\n disabled={!allowPaste}\n onClick={() => {\n void handlePaste()\n close()\n }}\n >\n <ClipboardActionLabel isPaste isRow={isRow} />\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n size=\"large\"\n verticalAlign=\"bottom\"\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,cAAc,CAAA;AAMrB,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyE/B,CAAA;AAGD,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAKvC,OAAO,cAAc,CAAA;AAMrB,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyF/B,CAAA;AAGD,eAAe,UAAU,CAAA"}