@payloadcms/ui 3.55.0-canary.3 → 3.55.0-internal.b47bfce

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.js +18 -4
  2. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  3. package/dist/elements/ClipboardAction/index.js +74 -173
  4. package/dist/elements/ClipboardAction/index.js.map +1 -1
  5. package/dist/elements/CodeEditor/CodeEditor.js +67 -155
  6. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  7. package/dist/elements/Collapsible/index.js +7 -15
  8. package/dist/elements/Collapsible/index.js.map +1 -1
  9. package/dist/elements/ConfirmationModal/index.js +8 -44
  10. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  11. package/dist/elements/CopyLocaleData/index.js +89 -97
  12. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  13. package/dist/elements/CopyToClipboard/index.js +2 -22
  14. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  15. package/dist/elements/DeleteMany/index.js +47 -83
  16. package/dist/elements/DeleteMany/index.js.map +1 -1
  17. package/dist/elements/DocumentControls/index.js +27 -55
  18. package/dist/elements/DocumentControls/index.js.map +1 -1
  19. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +2 -10
  20. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  21. package/dist/elements/DocumentDrawer/index.js +47 -99
  22. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  23. package/dist/elements/DocumentFields/index.scss +1 -1
  24. package/dist/elements/Drawer/index.js +23 -57
  25. package/dist/elements/Drawer/index.js.map +1 -1
  26. package/dist/elements/DrawerActionHeader/index.js +3 -21
  27. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  28. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +149 -225
  29. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  30. package/dist/elements/FolderView/FolderFileCard/index.js +19 -27
  31. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  32. package/dist/elements/FolderView/MoveDocToFolder/index.js +12 -23
  33. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  34. package/dist/elements/FullscreenModal/index.js +10 -20
  35. package/dist/elements/FullscreenModal/index.js.map +1 -1
  36. package/dist/elements/ListDrawer/index.js +18 -24
  37. package/dist/elements/ListDrawer/index.js.map +1 -1
  38. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +19 -32
  39. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  40. package/dist/elements/ListHeaderTabs/DefaultListPill.js +15 -8
  41. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +1 -1
  42. package/dist/elements/ListSelection/index.js +11 -27
  43. package/dist/elements/ListSelection/index.js.map +1 -1
  44. package/dist/elements/LivePreview/Window/index.js +68 -139
  45. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  46. package/dist/elements/Loading/index.js +2 -11
  47. package/dist/elements/Loading/index.js.map +1 -1
  48. package/dist/elements/LoadingOverlay/index.js +46 -102
  49. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  50. package/dist/elements/Localizer/LocalizerLabel/index.js +23 -36
  51. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  52. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  53. package/dist/elements/PublishButton/index.js +22 -11
  54. package/dist/elements/PublishButton/index.js.map +1 -1
  55. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +41 -139
  56. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  57. package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
  58. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
  59. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  60. package/dist/elements/SelectRow/index.js +39 -40
  61. package/dist/elements/SelectRow/index.js.map +1 -1
  62. package/dist/elements/ShimmerEffect/index.js +20 -12
  63. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  64. package/dist/elements/SortColumn/index.js +21 -30
  65. package/dist/elements/SortColumn/index.js.map +1 -1
  66. package/dist/elements/Table/DefaultCell/fields/Date/index.js +9 -37
  67. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  68. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +35 -37
  69. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  70. package/dist/elements/Table/DefaultCell/fields/Select/index.js +12 -27
  71. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  72. package/dist/elements/Thumbnail/index.js +35 -75
  73. package/dist/elements/Thumbnail/index.js.map +1 -1
  74. package/dist/elements/ThumbnailCard/index.js +17 -26
  75. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  76. package/dist/elements/Tooltip/index.js +51 -127
  77. package/dist/elements/Tooltip/index.js.map +1 -1
  78. package/dist/elements/Upload/index.js +2 -10
  79. package/dist/elements/Upload/index.js.map +1 -1
  80. package/dist/elements/WhereBuilder/Condition/Select/index.js +31 -44
  81. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  82. package/dist/exports/client/{CodeEditor-MIIBUJZ4.js → CodeEditor-O6BWJHD2.js} +2 -2
  83. package/dist/exports/client/{DatePicker-NMDEHPWL.js → DatePicker-F432AIH3.js} +2 -2
  84. package/dist/exports/client/{chunk-7RGKTZG2.js → chunk-AZDI6MW4.js} +1 -1
  85. package/dist/exports/client/{chunk-7RGKTZG2.js.map → chunk-AZDI6MW4.js.map} +1 -1
  86. package/dist/exports/client/{chunk-Z6O2JA43.js → chunk-FXAFULZQ.js} +6 -6
  87. package/dist/exports/client/{chunk-Z6O2JA43.js.map → chunk-FXAFULZQ.js.map} +3 -3
  88. package/dist/exports/client/index.d.ts +4 -2
  89. package/dist/exports/client/index.d.ts.map +1 -1
  90. package/dist/exports/client/index.js +12 -12
  91. package/dist/exports/client/index.js.map +4 -4
  92. package/dist/exports/rsc/index.d.ts +1 -0
  93. package/dist/exports/rsc/index.d.ts.map +1 -1
  94. package/dist/exports/rsc/index.js +1 -0
  95. package/dist/exports/rsc/index.js.map +1 -1
  96. package/dist/fields/Array/ArrayRow.d.ts +2 -3
  97. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  98. package/dist/fields/Array/ArrayRow.js +13 -23
  99. package/dist/fields/Array/ArrayRow.js.map +1 -1
  100. package/dist/fields/Array/index.js +273 -477
  101. package/dist/fields/Array/index.js.map +1 -1
  102. package/dist/fields/Checkbox/Input.js +2 -19
  103. package/dist/fields/Checkbox/Input.js.map +1 -1
  104. package/dist/fields/FieldError/index.js +30 -29
  105. package/dist/fields/FieldError/index.js.map +1 -1
  106. package/dist/fields/FieldLabel/index.js +12 -64
  107. package/dist/fields/FieldLabel/index.js.map +1 -1
  108. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +45 -103
  109. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  110. package/dist/fields/Relationship/select-components/SingleValue/index.js +29 -44
  111. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  112. package/dist/fields/Row/index.d.ts +1 -3
  113. package/dist/fields/Row/index.d.ts.map +1 -1
  114. package/dist/fields/Select/Input.js +18 -31
  115. package/dist/fields/Select/Input.js.map +1 -1
  116. package/dist/fields/Tabs/Tab/index.js +2 -11
  117. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  118. package/dist/fields/Tabs/index.d.ts +2 -1
  119. package/dist/fields/Tabs/index.d.ts.map +1 -1
  120. package/dist/fields/Tabs/index.js +185 -225
  121. package/dist/fields/Tabs/index.js.map +1 -1
  122. package/dist/fields/Upload/RelationshipContent/index.js +79 -127
  123. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  124. package/dist/forms/RenderFields/RenderField.js +245 -237
  125. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  126. package/dist/forms/RenderFields/types.d.ts +2 -10
  127. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  128. package/dist/forms/RenderFields/types.js.map +1 -1
  129. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +30 -0
  130. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -0
  131. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +82 -0
  132. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -0
  133. package/dist/forms/useField/index.d.ts +5 -0
  134. package/dist/forms/useField/index.d.ts.map +1 -1
  135. package/dist/forms/useField/index.js +74 -45
  136. package/dist/forms/useField/index.js.map +1 -1
  137. package/dist/hooks/useIntersect.js +35 -53
  138. package/dist/hooks/useIntersect.js.map +1 -1
  139. package/dist/hooks/usePayloadAPI.js +36 -44
  140. package/dist/hooks/usePayloadAPI.js.map +1 -1
  141. package/dist/providers/ServerFunctions/index.d.ts +4 -1
  142. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  143. package/dist/providers/ServerFunctions/index.js +13 -0
  144. package/dist/providers/ServerFunctions/index.js.map +1 -1
  145. package/dist/styles.css +1 -1
  146. package/dist/utilities/traverseForLocalizedFields.d.ts +3 -0
  147. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -0
  148. package/dist/utilities/traverseForLocalizedFields.js +40 -0
  149. package/dist/utilities/traverseForLocalizedFields.js.map +1 -0
  150. package/dist/views/BrowseByFolder/index.js +37 -55
  151. package/dist/views/BrowseByFolder/index.js.map +1 -1
  152. package/dist/views/CollectionFolder/index.js +13 -40
  153. package/dist/views/CollectionFolder/index.js.map +1 -1
  154. package/dist/views/Edit/Auth/index.js +93 -105
  155. package/dist/views/Edit/Auth/index.js.map +1 -1
  156. package/package.json +7 -7
  157. /package/dist/exports/client/{CodeEditor-MIIBUJZ4.js.map → CodeEditor-O6BWJHD2.js.map} +0 -0
  158. /package/dist/exports/client/{DatePicker-NMDEHPWL.js.map → DatePicker-F432AIH3.js.map} +0 -0
@@ -1,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 React, { useCallback, useEffect } from 'react';
5
6
  import { Form, useForm } from '../../../forms/Form/index.js';
@@ -136,16 +137,29 @@ export function EditForm({
136
137
  });
137
138
  }
138
139
  function GetFieldProxy() {
140
+ const $ = _c(4);
139
141
  const {
140
142
  getFields
141
143
  } = useForm();
142
144
  const {
143
145
  getFormDataRef
144
146
  } = useFormsManager();
145
- useEffect(() => {
146
- // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix
147
- getFormDataRef.current = getFields;
148
- }, [getFields, getFormDataRef]);
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);
149
163
  return null;
150
164
  }
151
165
  function ReportAllErrors() {
@@ -1 +1 @@
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
+ {"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,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 { useCallback } from 'react';
6
5
  import { toast } from 'sonner';
@@ -14,184 +13,86 @@ const baseClass = 'clipboard-action';
14
13
  * Menu actions for copying and pasting fields. Currently, this is only used in Arrays and Blocks.
15
14
  * @note This component doesn't use the Clipboard API, but localStorage. See rationale in #11513
16
15
  */
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
- }
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
+ }) => {
65
28
  const {
66
29
  t
67
30
  } = useTranslation();
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;
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);
170
40
  } else {
171
- t5 = $[39];
41
+ toast.success(t('general:copied'));
172
42
  }
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"
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
181
55
  });
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];
56
+ if (typeof clipboardResult_0 === 'string') {
57
+ toast.error(clipboardResult_0);
58
+ }
59
+ }, [onPaste, rest, path, t]);
60
+ if (!allowPaste && !allowCopy) {
61
+ return null;
194
62
  }
195
- return t4;
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
+ });
196
97
  };
197
98
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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
+ {"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":[]}
@@ -10,170 +10,82 @@ import './index.scss';
10
10
  const Editor = 'default' in EditorImport ? EditorImport.default : EditorImport;
11
11
  const baseClass = 'code-editor';
12
12
  const CodeEditor = props => {
13
- const $ = _c(42);
14
- let className;
15
- let maxHeight;
16
- let minHeight;
17
- let options;
18
- let readOnly;
19
- let rest;
20
- if ($[0] !== props) {
21
- ({
22
- className,
23
- maxHeight,
24
- minHeight,
25
- options,
26
- readOnly,
27
- ...rest
28
- } = props);
29
- $[0] = props;
30
- $[1] = className;
31
- $[2] = maxHeight;
32
- $[3] = minHeight;
33
- $[4] = options;
34
- $[5] = readOnly;
35
- $[6] = rest;
36
- } else {
37
- className = $[1];
38
- maxHeight = $[2];
39
- minHeight = $[3];
40
- options = $[4];
41
- readOnly = $[5];
42
- rest = $[6];
43
- }
13
+ const $ = _c(4);
14
+ const {
15
+ className,
16
+ maxHeight,
17
+ minHeight,
18
+ options,
19
+ readOnly,
20
+ ...rest
21
+ } = props;
44
22
  const MIN_HEIGHT = minHeight ?? 56;
45
- let t0;
46
- if ($[7] !== options) {
47
- t0 = options || {};
48
- $[7] = options;
49
- $[8] = t0;
50
- } else {
51
- t0 = $[8];
52
- }
53
- let editorOptions;
54
- let insertSpaces;
55
- let tabSize;
56
- let trimAutoWhitespace;
57
- if ($[9] !== t0) {
58
- ({
59
- insertSpaces,
60
- tabSize,
61
- trimAutoWhitespace,
62
- ...editorOptions
63
- } = t0);
64
- $[9] = t0;
65
- $[10] = editorOptions;
66
- $[11] = insertSpaces;
67
- $[12] = tabSize;
68
- $[13] = trimAutoWhitespace;
69
- } else {
70
- editorOptions = $[10];
71
- insertSpaces = $[11];
72
- tabSize = $[12];
73
- trimAutoWhitespace = $[13];
74
- }
23
+ const {
24
+ insertSpaces,
25
+ tabSize,
26
+ trimAutoWhitespace,
27
+ ...editorOptions
28
+ } = options || {};
75
29
  const paddingFromProps = options?.padding ? (options.padding.top || 0) + (options.padding?.bottom || 0) : 0;
76
30
  const [dynamicHeight, setDynamicHeight] = useState(MIN_HEIGHT);
77
31
  const {
78
32
  theme
79
33
  } = useTheme();
80
- const t1 = rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : "";
81
- const t2 = readOnly && "read-only";
82
- let t3;
83
- if ($[14] !== className || $[15] !== t1 || $[16] !== t2) {
84
- t3 = [baseClass, className, t1, t2].filter(Boolean);
85
- $[14] = className;
86
- $[15] = t1;
87
- $[16] = t2;
88
- $[17] = t3;
34
+ const t0 = rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : "";
35
+ const t1 = readOnly && "read-only";
36
+ let t2;
37
+ if ($[0] !== className || $[1] !== t0 || $[2] !== t1) {
38
+ t2 = [baseClass, className, t0, t1].filter(Boolean);
39
+ $[0] = className;
40
+ $[1] = t0;
41
+ $[2] = t1;
42
+ $[3] = t2;
89
43
  } else {
90
- t3 = $[17];
44
+ t2 = $[3];
91
45
  }
92
- const classes = t3.join(" ");
93
- let t4;
94
- if ($[18] !== MIN_HEIGHT || $[19] !== classes || $[20] !== dynamicHeight || $[21] !== editorOptions || $[22] !== insertSpaces || $[23] !== maxHeight || $[24] !== paddingFromProps || $[25] !== readOnly || $[26] !== rest || $[27] !== tabSize || $[28] !== theme || $[29] !== trimAutoWhitespace) {
95
- let t5;
96
- if ($[31] !== MIN_HEIGHT || $[32] !== paddingFromProps || $[33] !== rest) {
97
- t5 = (value, ev) => {
98
- rest.onChange?.(value, ev);
99
- setDynamicHeight(Math.max(MIN_HEIGHT, value.split("\n").length * 18 + 2 + paddingFromProps));
100
- };
101
- $[31] = MIN_HEIGHT;
102
- $[32] = paddingFromProps;
103
- $[33] = rest;
104
- $[34] = t5;
105
- } else {
106
- t5 = $[34];
107
- }
108
- let t6;
109
- if ($[35] !== MIN_HEIGHT || $[36] !== insertSpaces || $[37] !== paddingFromProps || $[38] !== rest || $[39] !== tabSize || $[40] !== trimAutoWhitespace) {
110
- t6 = (editor, monaco) => {
111
- rest.onMount?.(editor, monaco);
112
- const model = editor.getModel();
113
- if (model) {
114
- model.updateOptions({
115
- insertSpaces: insertSpaces ?? true,
116
- tabSize: tabSize ?? 4,
117
- trimAutoWhitespace: trimAutoWhitespace ?? true
118
- });
119
- }
120
- setDynamicHeight(Math.max(MIN_HEIGHT, editor.getValue().split("\n").length * 18 + 2 + paddingFromProps));
121
- };
122
- $[35] = MIN_HEIGHT;
123
- $[36] = insertSpaces;
124
- $[37] = paddingFromProps;
125
- $[38] = rest;
126
- $[39] = tabSize;
127
- $[40] = trimAutoWhitespace;
128
- $[41] = t6;
129
- } else {
130
- t6 = $[41];
131
- }
132
- t4 = _jsx(Editor, {
133
- className: classes,
134
- loading: _jsx(ShimmerEffect, {
135
- height: dynamicHeight
136
- }),
137
- options: {
138
- detectIndentation: false,
139
- hideCursorInOverviewRuler: true,
140
- insertSpaces: false,
141
- minimap: {
142
- enabled: false
143
- },
144
- overviewRulerBorder: false,
145
- readOnly: Boolean(readOnly),
146
- scrollbar: {
147
- alwaysConsumeMouseWheel: false
148
- },
149
- scrollBeyondLastLine: false,
150
- trimAutoWhitespace: false,
151
- wordWrap: "on",
152
- ...editorOptions
46
+ const classes = t2.join(" ");
47
+ return _jsx(Editor, {
48
+ className: classes,
49
+ loading: _jsx(ShimmerEffect, {
50
+ height: dynamicHeight
51
+ }),
52
+ options: {
53
+ detectIndentation: false,
54
+ hideCursorInOverviewRuler: true,
55
+ insertSpaces: false,
56
+ minimap: {
57
+ enabled: false
153
58
  },
154
- theme: theme === "dark" ? "vs-dark" : "vs",
155
- ...rest,
156
- height: maxHeight ? Math.min(dynamicHeight, maxHeight) : dynamicHeight,
157
- onChange: t5,
158
- onMount: t6
159
- });
160
- $[18] = MIN_HEIGHT;
161
- $[19] = classes;
162
- $[20] = dynamicHeight;
163
- $[21] = editorOptions;
164
- $[22] = insertSpaces;
165
- $[23] = maxHeight;
166
- $[24] = paddingFromProps;
167
- $[25] = readOnly;
168
- $[26] = rest;
169
- $[27] = tabSize;
170
- $[28] = theme;
171
- $[29] = trimAutoWhitespace;
172
- $[30] = t4;
173
- } else {
174
- t4 = $[30];
175
- }
176
- return t4;
59
+ overviewRulerBorder: false,
60
+ readOnly: Boolean(readOnly),
61
+ scrollbar: {
62
+ alwaysConsumeMouseWheel: false
63
+ },
64
+ scrollBeyondLastLine: false,
65
+ trimAutoWhitespace: false,
66
+ wordWrap: "on",
67
+ ...editorOptions
68
+ },
69
+ theme: theme === "dark" ? "vs-dark" : "vs",
70
+ ...rest,
71
+ height: maxHeight ? Math.min(dynamicHeight, maxHeight) : dynamicHeight,
72
+ onChange: (value, ev) => {
73
+ rest.onChange?.(value, ev);
74
+ setDynamicHeight(Math.max(MIN_HEIGHT, value.split("\n").length * 18 + 2 + paddingFromProps));
75
+ },
76
+ onMount: (editor, monaco) => {
77
+ rest.onMount?.(editor, monaco);
78
+ const model = editor.getModel();
79
+ if (model) {
80
+ model.updateOptions({
81
+ insertSpaces: insertSpaces ?? true,
82
+ tabSize: tabSize ?? 4,
83
+ trimAutoWhitespace: trimAutoWhitespace ?? true
84
+ });
85
+ }
86
+ setDynamicHeight(Math.max(MIN_HEIGHT, editor.getValue().split("\n").length * 18 + 2 + paddingFromProps));
87
+ }
88
+ });
177
89
  };
178
90
  // eslint-disable-next-line no-restricted-exports
179
91
  export default CodeEditor;