@payloadcms/ui 4.0.0-canary.38 → 4.0.0-canary.39
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.
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +10 -3
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +5 -0
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -5
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/EditUpload/library.css +6 -13
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +6 -1
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +0 -10
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +1 -2
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts +0 -6
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +71 -8
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishButton/validateAllLocales.d.ts +11 -0
- package/dist/elements/PublishButton/validateAllLocales.d.ts.map +1 -0
- package/dist/elements/PublishButton/validateAllLocales.js +263 -0
- package/dist/elements/PublishButton/validateAllLocales.js.map +1 -0
- package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +3 -0
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +15 -2
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/Upload/getEditorFileSrc.d.ts +11 -0
- package/dist/elements/Upload/getEditorFileSrc.d.ts.map +1 -0
- package/dist/elements/Upload/getEditorFileSrc.js +6 -0
- package/dist/elements/Upload/getEditorFileSrc.js.map +1 -0
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +6 -1
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-UKD3EPUY.js → CodeEditor-S7MOGZSR.js} +2 -2
- package/dist/exports/client/chunk-Z42OBP5U.js +27 -0
- package/dist/exports/client/chunk-Z42OBP5U.js.map +7 -0
- package/dist/exports/client/index.js +27 -27
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +6 -9
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +0 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +0 -5
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/useField/types.d.ts +0 -4
- package/dist/forms/useField/types.d.ts.map +1 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/layouts/Root/getRootLayoutData.d.ts +2 -2
- package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -1
- package/dist/layouts/Root/getRootLayoutData.js +8 -4
- package/dist/layouts/Root/getRootLayoutData.js.map +1 -1
- package/dist/layouts/Root/index.js +1 -5
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/providers/ListQuery/types.d.ts +0 -4
- package/dist/providers/ListQuery/types.d.ts.map +1 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -2
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/types.d.ts +1 -34
- package/dist/providers/TableColumns/types.d.ts.map +1 -1
- package/dist/providers/TableColumns/types.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/appendCacheTag.d.ts +1 -0
- package/dist/utilities/appendCacheTag.d.ts.map +1 -1
- package/dist/utilities/appendCacheTag.js +2 -1
- package/dist/utilities/appendCacheTag.js.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.d.ts +7 -2
- package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.js +22 -8
- package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -12
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +8 -8
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
- package/dist/widgets/RecentlyViewed/index.css +3 -2
- package/package.json +4 -4
- package/dist/exports/client/chunk-6XCSN54Q.js +0 -27
- package/dist/exports/client/chunk-6XCSN54Q.js.map +0 -7
- /package/dist/exports/client/{CodeEditor-UKD3EPUY.js.map → CodeEditor-S7MOGZSR.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateAllLocales.js","names":["deepCopyObjectSimple","fieldAffectsData","fieldShouldBeLocalized","tabHasName","qs","requests","projectValidationDataForSiblingLocales","blocksMap","data","fields","projectedData","status","_status","removeLocalizedFieldValues","parentIsLocalized","undefined","validateDocumentLocales","activeLocale","endpoint","locales","signal","selectedLocales","filter","locale","index","indexOf","validationResults","length","Error","includes","push","requestDocumentValidation","body","siblingLocales","errors","flatMap","valid","every","query","stringify","addQueryPrefix","arrayFormat","response","post","JSON","headers","responseData","json","ok","getResponseErrorMessage","statusText","result","parseValidationResult","isObject","Array","isArray","isValidationFieldError","error","message","errorWithMessage","find","value","path","field","name","fieldValue","type","row","blockType","blockOrSlug","blocks","block","slug","isLocalized","tab","tabs","Boolean"],"sources":["../../../src/elements/PublishButton/validateAllLocales.ts"],"sourcesContent":["import type {\n ClientBlock,\n ClientField,\n Data,\n ValidationFieldError,\n ValidationResult,\n} from 'payload'\n\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldShouldBeLocalized,\n tabHasName,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\n\nimport { requests } from '../../utilities/api.js'\n\ntype DocumentValidationRequestArgs = {\n body: Data\n endpoint: string\n locales: string[]\n signal?: AbortSignal\n}\n\nfunction projectValidationDataForSiblingLocales({\n blocksMap,\n data,\n fields,\n}: {\n blocksMap: Record<string, ClientBlock>\n data: Data\n fields: ClientField[]\n}): Data {\n const projectedData = deepCopyObjectSimple(data)\n const status = projectedData._status\n\n removeLocalizedFieldValues({\n blocksMap,\n data: projectedData,\n fields,\n parentIsLocalized: false,\n })\n\n if (status !== undefined) {\n projectedData._status = status\n }\n\n return projectedData\n}\n\nexport async function validateDocumentLocales({\n activeLocale,\n blocksMap,\n data,\n endpoint,\n fields,\n locales,\n signal,\n}: {\n activeLocale: string\n blocksMap: Record<string, ClientBlock>\n data: Data\n endpoint: string\n fields: ClientField[]\n locales: string[]\n signal?: AbortSignal\n}): Promise<ValidationResult> {\n const selectedLocales = locales.filter((locale, index) => locales.indexOf(locale) === index)\n const validationResults: ValidationResult[] = []\n\n if (selectedLocales.length === 0) {\n throw new Error('Document validation requires at least one locale.')\n }\n\n if (selectedLocales.includes(activeLocale)) {\n validationResults.push(\n await requestDocumentValidation({\n body: data,\n endpoint,\n locales: [activeLocale],\n signal,\n }),\n )\n }\n\n const siblingLocales = selectedLocales.filter((locale) => locale !== activeLocale)\n\n if (siblingLocales.length > 0) {\n validationResults.push(\n await requestDocumentValidation({\n body: projectValidationDataForSiblingLocales({\n blocksMap,\n data,\n fields,\n }),\n endpoint,\n locales: siblingLocales,\n signal,\n }),\n )\n }\n\n const errors = validationResults.flatMap(({ errors }) => errors)\n\n return {\n errors,\n valid: validationResults.every(({ valid }) => valid),\n }\n}\n\nasync function requestDocumentValidation({\n body,\n endpoint,\n locales,\n signal,\n}: DocumentValidationRequestArgs): Promise<ValidationResult> {\n const query = qs.stringify(\n { locale: locales },\n {\n addQueryPrefix: true,\n arrayFormat: 'repeat',\n },\n )\n const response = await requests.post(`${endpoint}${query}`, {\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json',\n },\n signal,\n })\n const responseData = (await response.json()) as unknown\n\n if (!response.ok) {\n throw new Error(getResponseErrorMessage(responseData) || response.statusText)\n }\n\n const result = parseValidationResult(responseData)\n\n if (result) {\n return result\n }\n\n throw new Error(getResponseErrorMessage(responseData) || response.statusText)\n}\n\nfunction parseValidationResult(responseData: unknown): null | ValidationResult {\n if (!isObject(responseData)) {\n return null\n }\n\n if (typeof responseData.valid === 'boolean' && Array.isArray(responseData.errors)) {\n return {\n errors: responseData.errors.filter(isValidationFieldError),\n valid: responseData.valid,\n }\n }\n\n if (Array.isArray(responseData.errors)) {\n const errors = responseData.errors.flatMap((error) => {\n if (!isObject(error) || !isObject(error.data) || !Array.isArray(error.data.errors)) {\n return []\n }\n\n return error.data.errors.filter(isValidationFieldError)\n })\n\n if (errors.length > 0) {\n return {\n errors,\n valid: false,\n }\n }\n }\n\n return null\n}\n\nfunction getResponseErrorMessage(responseData: unknown): null | string {\n if (!isObject(responseData)) {\n return null\n }\n\n if (typeof responseData.message === 'string') {\n return responseData.message\n }\n\n if (Array.isArray(responseData.errors)) {\n const errorWithMessage = responseData.errors.find(\n (error) => isObject(error) && typeof error.message === 'string',\n )\n\n if (isObject(errorWithMessage) && typeof errorWithMessage.message === 'string') {\n return errorWithMessage.message\n }\n }\n\n return null\n}\n\nfunction isValidationFieldError(value: unknown): value is ValidationFieldError {\n return (\n isObject(value) &&\n typeof value.message === 'string' &&\n typeof value.path === 'string' &&\n (value.locale === undefined || typeof value.locale === 'string')\n )\n}\n\nfunction removeLocalizedFieldValues({\n blocksMap,\n data,\n fields,\n parentIsLocalized,\n}: {\n blocksMap: Record<string, ClientBlock>\n data: Data\n fields: ClientField[]\n parentIsLocalized: boolean\n}): void {\n for (const field of fields) {\n if (fieldAffectsData(field)) {\n if (parentIsLocalized || fieldShouldBeLocalized({ field, parentIsLocalized })) {\n delete data[field.name]\n continue\n }\n\n const fieldValue = data[field.name]\n\n switch (field.type) {\n case 'array': {\n if (Array.isArray(fieldValue)) {\n for (const row of fieldValue) {\n if (isObject(row)) {\n removeLocalizedFieldValues({\n blocksMap,\n data: row,\n fields: field.fields,\n parentIsLocalized: false,\n })\n }\n }\n }\n break\n }\n\n case 'blocks': {\n if (Array.isArray(fieldValue)) {\n for (const row of fieldValue) {\n if (!isObject(row) || typeof row.blockType !== 'string') {\n continue\n }\n\n const blockOrSlug = field.blocks.find((block) => {\n return (typeof block === 'string' ? block : block.slug) === row.blockType\n })\n const block = typeof blockOrSlug === 'string' ? blocksMap[blockOrSlug] : blockOrSlug\n\n if (block) {\n removeLocalizedFieldValues({\n blocksMap,\n data: row,\n fields: block.fields,\n parentIsLocalized: false,\n })\n }\n }\n }\n break\n }\n\n case 'group': {\n if (isObject(fieldValue)) {\n removeLocalizedFieldValues({\n blocksMap,\n data: fieldValue,\n fields: field.fields,\n parentIsLocalized: false,\n })\n }\n break\n }\n }\n } else {\n switch (field.type) {\n case 'collapsible':\n case 'group':\n case 'row': {\n const isLocalized =\n parentIsLocalized || fieldShouldBeLocalized({ field, parentIsLocalized })\n\n removeLocalizedFieldValues({\n blocksMap,\n data,\n fields: field.fields,\n parentIsLocalized: isLocalized,\n })\n break\n }\n\n case 'tabs': {\n for (const tab of field.tabs) {\n const isLocalized =\n parentIsLocalized || fieldShouldBeLocalized({ field: tab, parentIsLocalized })\n\n if (tabHasName(tab)) {\n if (isLocalized) {\n delete data[tab.name]\n } else if (isObject(data[tab.name])) {\n removeLocalizedFieldValues({\n blocksMap,\n data: data[tab.name],\n fields: tab.fields,\n parentIsLocalized: false,\n })\n }\n } else {\n removeLocalizedFieldValues({\n blocksMap,\n data,\n fields: tab.fields,\n parentIsLocalized: isLocalized,\n })\n }\n }\n break\n }\n }\n }\n }\n}\n\nfunction isObject(value: unknown): value is Data {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value)\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddNewButton.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI3E,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAK1E,eAAO,MAAM,YAAY,0HAYtB;IACD,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,sBAAsB,EAAE,CAAA;IACrC,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,WAAW,EAAE,oBAAoB,CAAA;IACjC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC9B,
|
|
1
|
+
{"version":3,"file":"AddNewButton.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI3E,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAK1E,eAAO,MAAM,YAAY,0HAYtB;IACD,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,sBAAsB,EAAE,CAAA;IACrC,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,WAAW,EAAE,oBAAoB,CAAA;IACjC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC9B,gCA8DA,CAAA"}
|
|
@@ -22,6 +22,9 @@ export const AddNewButton = ({
|
|
|
22
22
|
}
|
|
23
23
|
const isPolymorphic = Array.isArray(relationTo);
|
|
24
24
|
if (!isPolymorphic) {
|
|
25
|
+
if (!permissions?.collections?.[relationTo]?.create) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
25
28
|
return /*#__PURE__*/_jsx(Button, {
|
|
26
29
|
buttonStyle: buttonStyle,
|
|
27
30
|
className: [className, 'doc-drawer__toggler'].filter(Boolean).join(' '),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddNewButton.js","names":["getTranslation","Button","Popup","PopupList","AddNewButton","allowCreate","baseClass","buttonStyle","className","collections","i18n","icon","label","onClick","permissions","relationTo","isPolymorphic","Array","isArray","_jsx","filter","Boolean","join","button","buttonType","horizontalAlign","popupType","render","close","closePopup","ButtonGroup","map","relatedCollection","
|
|
1
|
+
{"version":3,"file":"AddNewButton.js","names":["getTranslation","Button","Popup","PopupList","AddNewButton","allowCreate","baseClass","buttonStyle","className","collections","i18n","icon","label","onClick","permissions","relationTo","isPolymorphic","Array","isArray","create","_jsx","filter","Boolean","join","button","buttonType","horizontalAlign","popupType","render","close","closePopup","ButtonGroup","map","relatedCollection","find","each","slug","labels","singular"],"sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, SanitizedPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { Props as ButtonProps } from '../../elements/Button/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\n\nexport const AddNewButton = ({\n allowCreate,\n baseClass,\n buttonStyle,\n className,\n collections,\n i18n,\n icon,\n label,\n onClick,\n permissions,\n relationTo,\n}: {\n allowCreate: boolean\n baseClass: string\n buttonStyle?: ButtonProps['buttonStyle']\n className?: string\n collections: ClientCollectionConfig[]\n i18n: I18nClient\n icon?: ButtonProps['icon']\n label: string\n onClick: (selectedCollection?: string) => void\n permissions: SanitizedPermissions\n relationTo: string | string[]\n}) => {\n if (!allowCreate) {\n return null\n }\n\n const isPolymorphic = Array.isArray(relationTo)\n\n if (!isPolymorphic) {\n if (!permissions?.collections?.[relationTo]?.create) {\n return null\n }\n\n return (\n <Button\n buttonStyle={buttonStyle}\n className={[className, 'doc-drawer__toggler'].filter(Boolean).join(' ')}\n onClick={() => onClick()}\n >\n {label}\n </Button>\n )\n }\n\n return (\n <div className={`${baseClass}__add-new-polymorphic-wrapper`}>\n <Popup\n button={\n <Button buttonStyle={buttonStyle} className={className} icon={icon}>\n {label}\n </Button>\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n popupType=\"menu\"\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relationTo.map((relatedCollection) => {\n if (permissions.collections[relatedCollection]?.create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection}`}\n key={relatedCollection}\n onClick={() => {\n closePopup()\n onClick(relatedCollection)\n }}\n >\n {getTranslation(\n collections.find((each) => each.slug === relatedCollection).labels.singular,\n i18n,\n )}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAI/B,SAASC,MAAM,QAAQ;AACvB,SAASC,KAAK,EAAEC,SAAS,QAAQ;AAEjC,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAC3BC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,IAAI;EACJC,IAAI;EACJC,KAAK;EACLC,OAAO;EACPC,WAAW;EACXC;AAAU,CAaX;EACC,IAAI,CAACV,WAAA,EAAa;IAChB,OAAO;EACT;EAEA,MAAMW,aAAA,GAAgBC,KAAA,CAAMC,OAAO,CAACH,UAAA;EAEpC,IAAI,CAACC,aAAA,EAAe;IAClB,IAAI,CAACF,WAAA,EAAaL,WAAA,GAAcM,UAAA,CAAW,EAAEI,MAAA,EAAQ;MACnD,OAAO;IACT;IAEA,oBACEC,IAAA,CAACnB,MAAA;MACCM,WAAA,EAAaA,WAAA;MACbC,SAAA,EAAW,CAACA,SAAA,EAAW,sBAAsB,CAACa,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;MACnEV,OAAA,EAASA,CAAA,KAAMA,OAAA;gBAEdD;;EAGP;EAEA,oBACEQ,IAAA,CAAC;IAAIZ,SAAA,EAAW,GAAGF,SAAA,+BAAwC;cACzD,aAAAc,IAAA,CAAClB,KAAA;MACCsB,MAAA,eACEJ,IAAA,CAACnB,MAAA;QAAOM,WAAA,EAAaA,WAAA;QAAaC,SAAA,EAAWA,SAAA;QAAWG,IAAA,EAAMA,IAAA;kBAC3DC;;MAGLa,UAAA,EAAW;MACXC,eAAA,EAAgB;MAChBC,SAAA,EAAU;MACVC,MAAA,EAAQA,CAAC;QAAEC,KAAA,EAAOC;MAAU,CAAE,kBAC5BV,IAAA,CAACjB,SAAA,CAAU4B,WAAW;kBACnBhB,UAAA,CAAWiB,GAAG,CAAEC,iBAAA;UACf,IAAInB,WAAA,CAAYL,WAAW,CAACwB,iBAAA,CAAkB,EAAEd,MAAA,EAAQ;YACtD,oBACEC,IAAA,CAACjB,SAAA,CAAUF,MAAM;cACfO,SAAA,EAAW,GAAGF,SAAA,sBAA+B2B,iBAAA,EAAmB;cAEhEpB,OAAA,EAASA,CAAA;gBACPiB,UAAA;gBACAjB,OAAA,CAAQoB,iBAAA;cACV;wBAECjC,cAAA,CACCS,WAAA,CAAYyB,IAAI,CAAEC,IAAA,IAASA,IAAA,CAAKC,IAAI,KAAKH,iBAAA,EAAmBI,MAAM,CAACC,QAAQ,EAC3E5B,IAAA;eARGuB,iBAAA;UAYX;UAEA,OAAO;QACT;;;;AAMZ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SaveDraftButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SaveDraftButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAIzD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAelD,wBAAgB,eAAe,CAAC,KAAK,EAAE,0BAA0B,qBA2GhE"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
import { formatAdminURL } from 'payload/shared';
|
|
5
|
+
import * as qs from 'qs-esm';
|
|
5
6
|
import React, { useCallback, useRef } from 'react';
|
|
6
7
|
import { useForm, useFormModified } from '../../forms/Form/context.js';
|
|
7
8
|
import { FormSubmit } from '../../forms/Submit/index.js';
|
|
@@ -12,6 +13,7 @@ import { useEditDepth } from '../../providers/EditDepth/index.js';
|
|
|
12
13
|
import { useLocale } from '../../providers/Locale/index.js';
|
|
13
14
|
import { useOperation } from '../../providers/Operation/index.js';
|
|
14
15
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
16
|
+
import { useUploadEdits } from '../../providers/UploadEdits/index.js';
|
|
15
17
|
const baseClass = 'save-draft';
|
|
16
18
|
export function SaveDraftButton(props) {
|
|
17
19
|
const {
|
|
@@ -39,13 +41,24 @@ export function SaveDraftButton(props) {
|
|
|
39
41
|
const {
|
|
40
42
|
submit
|
|
41
43
|
} = useForm();
|
|
44
|
+
const {
|
|
45
|
+
uploadEdits
|
|
46
|
+
} = useUploadEdits();
|
|
42
47
|
const operation = useOperation();
|
|
43
48
|
const disabled = operation === 'update' && !modified || uploadStatus === 'uploading';
|
|
44
49
|
const saveDraft = useCallback(async () => {
|
|
45
50
|
if (disabled) {
|
|
46
51
|
return;
|
|
47
52
|
}
|
|
48
|
-
const search =
|
|
53
|
+
const search = qs.stringify({
|
|
54
|
+
depth: 0,
|
|
55
|
+
draft: true,
|
|
56
|
+
'fallback-locale': 'null',
|
|
57
|
+
locale,
|
|
58
|
+
uploadEdits: uploadEdits || undefined
|
|
59
|
+
}, {
|
|
60
|
+
addQueryPrefix: true
|
|
61
|
+
});
|
|
49
62
|
let action;
|
|
50
63
|
let method = 'POST';
|
|
51
64
|
if (collectionSlug) {
|
|
@@ -72,7 +85,7 @@ export function SaveDraftButton(props) {
|
|
|
72
85
|
skipValidation: true
|
|
73
86
|
});
|
|
74
87
|
setUnpublishedVersionCount(count => count + 1);
|
|
75
|
-
}, [submit, collectionSlug, globalSlug, api, locale, id, disabled, setUnpublishedVersionCount]);
|
|
88
|
+
}, [submit, collectionSlug, globalSlug, api, locale, id, disabled, setUnpublishedVersionCount, uploadEdits]);
|
|
76
89
|
useHotkey({
|
|
77
90
|
cmdCtrlKey: true,
|
|
78
91
|
editDepth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["formatAdminURL","React","useCallback","useRef","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","baseClass","SaveDraftButton","props","config","routes","api","id","collectionSlug","globalSlug","setUnpublishedVersionCount","uploadStatus","modified","currentLocale","locale","code","ref","editDepth","t","submit","operation","disabled","saveDraft","search","action","method","apiRoute","path","overrides","_status","skipValidation","count","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","current","click","_jsx","buttonId","buttonStyle","className","onClick","size","type"],"sources":["../../../src/elements/SaveDraftButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SaveDraftButtonClientProps } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useRef } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'save-draft'\n\nexport function SaveDraftButton(props: SaveDraftButtonClientProps) {\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const { id, collectionSlug, globalSlug, setUnpublishedVersionCount, uploadStatus } =\n useDocumentInfo()\n\n const modified = useFormModified()\n const currentLocale = useLocale()\n const locale = currentLocale?.code\n const ref = useRef<HTMLButtonElement>(null)\n const editDepth = useEditDepth()\n const { t } = useTranslation()\n const { submit } = useForm()\n const operation = useOperation()\n\n const disabled = (operation === 'update' && !modified) || uploadStatus === 'uploading'\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search =
|
|
1
|
+
{"version":3,"file":"index.js","names":["formatAdminURL","qs","React","useCallback","useRef","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","useUploadEdits","baseClass","SaveDraftButton","props","config","routes","api","id","collectionSlug","globalSlug","setUnpublishedVersionCount","uploadStatus","modified","currentLocale","locale","code","ref","editDepth","t","submit","uploadEdits","operation","disabled","saveDraft","search","stringify","depth","draft","undefined","addQueryPrefix","action","method","apiRoute","path","overrides","_status","skipValidation","count","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","current","click","_jsx","buttonId","buttonStyle","className","onClick","size","type"],"sources":["../../../src/elements/SaveDraftButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SaveDraftButtonClientProps } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useRef } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\n\nconst baseClass = 'save-draft'\n\nexport function SaveDraftButton(props: SaveDraftButtonClientProps) {\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const { id, collectionSlug, globalSlug, setUnpublishedVersionCount, uploadStatus } =\n useDocumentInfo()\n\n const modified = useFormModified()\n const currentLocale = useLocale()\n const locale = currentLocale?.code\n const ref = useRef<HTMLButtonElement>(null)\n const editDepth = useEditDepth()\n const { t } = useTranslation()\n const { submit } = useForm()\n const { uploadEdits } = useUploadEdits()\n const operation = useOperation()\n\n const disabled = (operation === 'update' && !modified) || uploadStatus === 'uploading'\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = qs.stringify(\n {\n depth: 0,\n draft: true,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n },\n { addQueryPrefix: true },\n )\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${id ? `/${id}` : ''}${search}`,\n })\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${search}`,\n })\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n\n setUnpublishedVersionCount((count) => count + 1)\n }, [\n submit,\n collectionSlug,\n globalSlug,\n api,\n locale,\n id,\n disabled,\n setUnpublishedVersionCount,\n uploadEdits,\n ])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n if (disabled) {\n // absorb the event\n }\n\n e.preventDefault()\n e.stopPropagation()\n if (ref?.current) {\n ref.current.click()\n }\n })\n\n return (\n <FormSubmit\n buttonId=\"action-save-draft\"\n buttonStyle=\"secondary\"\n className={baseClass}\n disabled={disabled}\n onClick={() => {\n return void saveDraft()\n }}\n ref={ref}\n size=\"medium\"\n type=\"button\"\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const getEditorFileSrc: ({ data, fileSrc, hasSelectedFile, }: {
|
|
2
|
+
data?: {
|
|
3
|
+
original?: {
|
|
4
|
+
url?: string;
|
|
5
|
+
} | null;
|
|
6
|
+
url?: string;
|
|
7
|
+
};
|
|
8
|
+
fileSrc?: null | string;
|
|
9
|
+
hasSelectedFile: boolean;
|
|
10
|
+
}) => string;
|
|
11
|
+
//# sourceMappingURL=getEditorFileSrc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEditorFileSrc.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/getEditorFileSrc.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,wCAI1B;IACD,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3D,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IACvB,eAAe,EAAE,OAAO,CAAA;CACzB,KAAG,MAA2F,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEditorFileSrc.js","names":["getEditorFileSrc","data","fileSrc","hasSelectedFile","original","url"],"sources":["../../../src/elements/Upload/getEditorFileSrc.ts"],"sourcesContent":["export const getEditorFileSrc = ({\n data,\n fileSrc,\n hasSelectedFile,\n}: {\n data?: { original?: { url?: string } | null; url?: string }\n fileSrc?: null | string\n hasSelectedFile: boolean\n}): string => (hasSelectedFile && fileSrc) || data?.original?.url || data?.url || fileSrc || ''\n"],"mappings":"AAAA,OAAO,MAAMA,gBAAA,GAAmBA,CAAC;EAC/BC,IAAI;EACJC,OAAO;EACPC;AAAe,CAKhB,KAAaA,eAAC,IAAmBD,OAAA,IAAYD,IAAA,EAAMG,QAAA,EAAUC,GAAA,IAAOJ,IAAA,EAAMI,GAAA,IAAOH,OAAA,IAAW","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAIhF,OAAO,KAAmD,MAAM,OAAO,CAAA;AAevE,OAAO,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAIhF,OAAO,KAAmD,MAAM,OAAO,CAAA;AAevE,OAAO,aAAa,CAAA;AAMpB,OAAO,EAAE,kBAAkB,EAAsB,MAAM,+BAA+B,CAAA;AAItF,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAG7B,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAc9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBAkDnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAA;IACtF,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAYxC,CAAA"}
|
|
@@ -23,6 +23,7 @@ import { EditUpload } from '../EditUpload/index.js';
|
|
|
23
23
|
import { FileDetails } from '../FileDetails/index.js';
|
|
24
24
|
import { PreviewSizes } from '../PreviewSizes/index.js';
|
|
25
25
|
import { Thumbnail } from '../Thumbnail/index.js';
|
|
26
|
+
import { getEditorFileSrc } from './getEditorFileSrc.js';
|
|
26
27
|
import { pasteURLDrawerSlug, UploadFromURLModal } from './UploadFromURLModal/index.js';
|
|
27
28
|
import { usePasteFromClipboard } from './usePasteFromClipboard.js';
|
|
28
29
|
import { useUploadFromUrl } from './useUploadFromUrl.js';
|
|
@@ -302,7 +303,11 @@ const UploadComponent = props => {
|
|
|
302
303
|
children: [(value || data?.filename) && /*#__PURE__*/_jsx(EditDepthProvider, {
|
|
303
304
|
children: /*#__PURE__*/_jsx(EditUpload, {
|
|
304
305
|
fileName: value?.name || data?.filename,
|
|
305
|
-
fileSrc:
|
|
306
|
+
fileSrc: getEditorFileSrc({
|
|
307
|
+
data,
|
|
308
|
+
fileSrc,
|
|
309
|
+
hasSelectedFile: Boolean(value)
|
|
310
|
+
}),
|
|
306
311
|
imageCacheTag: imageCacheTag,
|
|
307
312
|
initialCrop: uploadEdits?.crop ?? undefined,
|
|
308
313
|
initialFocalPoint: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","isImage","React","useCallback","useEffect","useRef","useState","FieldError","fieldBaseClass","TextInput","useForm","useFormProcessing","useField","useDocumentInfo","EditDepthProvider","useTranslation","UploadControlsProvider","useUploadControls","useUploadEdits","Button","Drawer","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","pasteURLDrawerSlug","UploadFromURLModal","usePasteFromClipboard","useUploadFromUrl","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","name","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","openModal","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","_jsxs","className","children","Fragment","_jsx","buttonStyle","margin","onClick","size","map","_temp","Upload","props","resetUploadEdits","updateUploadEdits","uploadEdits","UploadComponent","collectionSlug","initialState","onChange","uploadConfig","UploadControls","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileUrl","setModified","data","docPermissions","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","inputRef","handleFileChange","file","isNewFile","File","URL","createObjectURL","renameFile","fileToChange","newName","newFile","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileFetchedFromUrl","fileUrl","handleUrlSubmit","isValidUrl","setFileUrl","onFileFetched","handlePasteFromClipboard","handleFileRemoval","onEditsSave","args","startsWith","revokeObjectURL","canRemoveUpload","update","hasVariants","variants","hasImageAdjustments","Boolean","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","handleControlFileUrl","handleControlFile","drawers","fileName","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","slug","title","label","doc","pasteURL","filter","message","customUploadActions","handleRemove","hasImageSizes","hideRemoveFile","hideFileInputOnCreate","current","click","accept","hidden","ref","icon","tooltip","round","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { isImage } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { TextInput } from '../../fields/Text/Input.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { UploadControlsProvider, useUploadControls } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport './index.css'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport { pasteURLDrawerSlug, UploadFromURLModal } from './UploadFromURLModal/index.js'\nimport { usePasteFromClipboard } from './usePasteFromClipboard.js'\nimport { useUploadFromUrl } from './useUploadFromUrl.js'\n\nexport { pasteURLDrawerSlug }\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n if (value && (!value.name || value.name === '')) {\n return 'A file name is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n const { openModal } = useModal()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__previewSizes`}\n margin={false}\n onClick={() => {\n openModal(sizePreviewSlug)\n }}\n size=\"medium\"\n >\n {t('upload:previewSizes')}\n </Button>\n )}\n {enableAdjustments && (\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__edit`}\n margin={false}\n onClick={() => {\n openModal(editDrawerSlug)\n }}\n size=\"medium\"\n >\n {t('upload:editImage')}\n </Button>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: Omit<SanitizedCollectionConfig['upload'], 'uploadInstructions'>\n readonly UploadControls?: React.ReactNode\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n return (\n <UploadControlsProvider>\n <UploadComponent\n {...props}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadEdits={uploadEdits}\n />\n </UploadControlsProvider>\n )\n}\n\ntype UploadComponentProps = {\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadEdits?: UploadEdits\n} & UploadProps\n\nconst UploadComponent: React.FC<UploadComponentProps> = (props) => {\n const {\n collectionSlug,\n customActions,\n initialState,\n onChange,\n resetUploadEdits,\n updateUploadEdits,\n uploadConfig,\n UploadControls,\n uploadEdits,\n } = props\n\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileUrl,\n } = useUploadControls()\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { data, docPermissions } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleFileChange = useCallback(\n ({ file, isNewFile = true }: { file: File | null; isNewFile?: boolean }) => {\n if (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n\n setValue(file)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n\n if (typeof onChange === 'function') {\n onChange(file)\n }\n },\n [onChange, setValue, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange({ file: renameFile(value, updatedFileName), isNewFile: false })\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange({ file: fileToUpload })\n },\n [handleFileChange],\n )\n\n const handleFileFetchedFromUrl = useCallback(\n (file: File) => handleFileChange({ file }),\n [handleFileChange],\n )\n\n const { fileUrl, handleUrlSubmit, isValidUrl, setFileUrl } = useUploadFromUrl({\n collectionSlug,\n onFileFetched: handleFileFetchedFromUrl,\n uploadConfig,\n })\n\n const handlePasteFromClipboard = usePasteFromClipboard({\n handleFileSelection,\n handleUrlSubmit,\n setFileUrl,\n uploadConfig,\n })\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange({ file: null })\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n }, [\n handleFileChange,\n resetUploadEdits,\n setFileUrl,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n ])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n return () => {\n if (fileSrc?.startsWith('blob:')) {\n URL.revokeObjectURL(fileSrc)\n }\n }\n }, [fileSrc])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload = docPermissions?.update\n\n const hasVariants = uploadConfig?.variants?.length > 0\n const hasImageAdjustments = Boolean(uploadConfig?.hasImageAdjustments)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasVariants || hasImageAdjustments || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt\n\n useEffect(() => {\n const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit, setFileUrl])\n\n useEffect(() => {\n const handleControlFile = () => {\n if (uploadControlFile) {\n handleFileChange({ file: uploadControlFile })\n }\n }\n\n void handleControlFile()\n }, [uploadControlFile, handleFileChange])\n\n const drawers = (\n <React.Fragment>\n {(value || data?.filename) && (\n <EditDepthProvider>\n <EditUpload\n fileName={value?.name || data?.filename}\n fileSrc={data?.url || fileSrc}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || data?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || data?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </EditDepthProvider>\n )}\n {data && hasVariants && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: data.filename })}\n >\n <PreviewSizes doc={data} imageCacheTag={imageCacheTag} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n {uploadConfig?.pasteURL !== false && (\n <UploadFromURLModal\n fileUrl={fileUrl}\n handleUrlSubmit={handleUrlSubmit}\n isValidUrl={isValidUrl}\n setFileUrl={setFileUrl}\n />\n )}\n </React.Fragment>\n )\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {data && data.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={data}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasVariants}\n hideRemoveFile={uploadConfig.hideRemoveFile}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n {((!uploadConfig.hideFileInputOnCreate && !data?.filename) || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"medium\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__pasteFromClipboard`}\n icon=\"clipboard\"\n onClick={handlePasteFromClipboard}\n size=\"medium\"\n tooltip={t('upload:pasteURL')}\n />\n\n {UploadControls ? UploadControls : null}\n </div>\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n <TextInput\n label={t('upload:fileName')}\n onChange={handleFileNameChange}\n path=\"filename\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasVariants && data?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n </React.Fragment>\n )}\n </div>\n )}\n {drawers}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","isImage","React","useCallback","useEffect","useRef","useState","FieldError","fieldBaseClass","TextInput","useForm","useFormProcessing","useField","useDocumentInfo","EditDepthProvider","useTranslation","UploadControlsProvider","useUploadControls","useUploadEdits","Button","Drawer","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","getEditorFileSrc","pasteURLDrawerSlug","UploadFromURLModal","usePasteFromClipboard","useUploadFromUrl","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","name","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","openModal","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","_jsxs","className","children","Fragment","_jsx","buttonStyle","margin","onClick","size","map","_temp","Upload","props","resetUploadEdits","updateUploadEdits","uploadEdits","UploadComponent","collectionSlug","initialState","onChange","uploadConfig","UploadControls","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileUrl","setModified","data","docPermissions","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","inputRef","handleFileChange","file","isNewFile","File","URL","createObjectURL","renameFile","fileToChange","newName","newFile","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileFetchedFromUrl","fileUrl","handleUrlSubmit","isValidUrl","setFileUrl","onFileFetched","handlePasteFromClipboard","handleFileRemoval","onEditsSave","args","startsWith","revokeObjectURL","canRemoveUpload","update","hasVariants","variants","hasImageAdjustments","Boolean","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","handleControlFileUrl","handleControlFile","drawers","fileName","hasSelectedFile","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","slug","title","label","doc","pasteURL","filter","message","customUploadActions","handleRemove","hasImageSizes","hideRemoveFile","hideFileInputOnCreate","current","click","accept","hidden","ref","icon","tooltip","round","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { isImage } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { TextInput } from '../../fields/Text/Input.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { UploadControlsProvider, useUploadControls } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport './index.css'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport { getEditorFileSrc } from './getEditorFileSrc.js'\nimport { pasteURLDrawerSlug, UploadFromURLModal } from './UploadFromURLModal/index.js'\nimport { usePasteFromClipboard } from './usePasteFromClipboard.js'\nimport { useUploadFromUrl } from './useUploadFromUrl.js'\n\nexport { pasteURLDrawerSlug }\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n if (value && (!value.name || value.name === '')) {\n return 'A file name is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n const { openModal } = useModal()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__previewSizes`}\n margin={false}\n onClick={() => {\n openModal(sizePreviewSlug)\n }}\n size=\"medium\"\n >\n {t('upload:previewSizes')}\n </Button>\n )}\n {enableAdjustments && (\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__edit`}\n margin={false}\n onClick={() => {\n openModal(editDrawerSlug)\n }}\n size=\"medium\"\n >\n {t('upload:editImage')}\n </Button>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: Omit<SanitizedCollectionConfig['upload'], 'uploadInstructions'>\n readonly UploadControls?: React.ReactNode\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n return (\n <UploadControlsProvider>\n <UploadComponent\n {...props}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadEdits={uploadEdits}\n />\n </UploadControlsProvider>\n )\n}\n\ntype UploadComponentProps = {\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadEdits?: UploadEdits\n} & UploadProps\n\nconst UploadComponent: React.FC<UploadComponentProps> = (props) => {\n const {\n collectionSlug,\n customActions,\n initialState,\n onChange,\n resetUploadEdits,\n updateUploadEdits,\n uploadConfig,\n UploadControls,\n uploadEdits,\n } = props\n\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileUrl,\n } = useUploadControls()\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { data, docPermissions } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleFileChange = useCallback(\n ({ file, isNewFile = true }: { file: File | null; isNewFile?: boolean }) => {\n if (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n\n setValue(file)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n\n if (typeof onChange === 'function') {\n onChange(file)\n }\n },\n [onChange, setValue, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange({ file: renameFile(value, updatedFileName), isNewFile: false })\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange({ file: fileToUpload })\n },\n [handleFileChange],\n )\n\n const handleFileFetchedFromUrl = useCallback(\n (file: File) => handleFileChange({ file }),\n [handleFileChange],\n )\n\n const { fileUrl, handleUrlSubmit, isValidUrl, setFileUrl } = useUploadFromUrl({\n collectionSlug,\n onFileFetched: handleFileFetchedFromUrl,\n uploadConfig,\n })\n\n const handlePasteFromClipboard = usePasteFromClipboard({\n handleFileSelection,\n handleUrlSubmit,\n setFileUrl,\n uploadConfig,\n })\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange({ file: null })\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n }, [\n handleFileChange,\n resetUploadEdits,\n setFileUrl,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n ])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n return () => {\n if (fileSrc?.startsWith('blob:')) {\n URL.revokeObjectURL(fileSrc)\n }\n }\n }, [fileSrc])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload = docPermissions?.update\n\n const hasVariants = uploadConfig?.variants?.length > 0\n const hasImageAdjustments = Boolean(uploadConfig?.hasImageAdjustments)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasVariants || hasImageAdjustments || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt\n\n useEffect(() => {\n const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit, setFileUrl])\n\n useEffect(() => {\n const handleControlFile = () => {\n if (uploadControlFile) {\n handleFileChange({ file: uploadControlFile })\n }\n }\n\n void handleControlFile()\n }, [uploadControlFile, handleFileChange])\n\n const drawers = (\n <React.Fragment>\n {(value || data?.filename) && (\n <EditDepthProvider>\n <EditUpload\n fileName={value?.name || data?.filename}\n fileSrc={getEditorFileSrc({ data, fileSrc, hasSelectedFile: Boolean(value) })}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || data?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || data?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </EditDepthProvider>\n )}\n {data && hasVariants && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: data.filename })}\n >\n <PreviewSizes doc={data} imageCacheTag={imageCacheTag} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n {uploadConfig?.pasteURL !== false && (\n <UploadFromURLModal\n fileUrl={fileUrl}\n handleUrlSubmit={handleUrlSubmit}\n isValidUrl={isValidUrl}\n setFileUrl={setFileUrl}\n />\n )}\n </React.Fragment>\n )\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {data && data.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={data}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasVariants}\n hideRemoveFile={uploadConfig.hideRemoveFile}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n {((!uploadConfig.hideFileInputOnCreate && !data?.filename) || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"medium\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__pasteFromClipboard`}\n icon=\"clipboard\"\n onClick={handlePasteFromClipboard}\n size=\"medium\"\n tooltip={t('upload:pasteURL')}\n />\n\n {UploadControls ? UploadControls : null}\n </div>\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n <TextInput\n label={t('upload:fileName')}\n onChange={handleFileNameChange}\n path=\"filename\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasVariants && data?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n </React.Fragment>\n )}\n </div>\n )}\n {drawers}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,5 +10,5 @@ function require(m) {
|
|
|
10
10
|
}
|
|
11
11
|
// Workaround end
|
|
12
12
|
|
|
13
|
-
import{l as a}from"./chunk-
|
|
14
|
-
//# sourceMappingURL=CodeEditor-
|
|
13
|
+
import{l as a}from"./chunk-Z42OBP5U.js";import"./chunk-AVJIZPR3.js";export{a as default};
|
|
14
|
+
//# sourceMappingURL=CodeEditor-S7MOGZSR.js.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
// Workaround for react-datepicker and other cjs dependencies potentially inserting require("react") statements
|
|
3
|
+
import * as requireReact from 'react';
|
|
4
|
+
import * as requireReactDom from 'react-dom';
|
|
5
|
+
|
|
6
|
+
function require(m) {
|
|
7
|
+
if (m === 'react') return requireReact;
|
|
8
|
+
if (m === 'react-dom') return requireReactDom;
|
|
9
|
+
throw new Error(`Unknown module ${m}`);
|
|
10
|
+
}
|
|
11
|
+
// Workaround end
|
|
12
|
+
|
|
13
|
+
import{h as he}from"./chunk-AVJIZPR3.js";import{c as Dr}from"react/compiler-runtime";import{jsx as Qe}from"react/jsx-runtime";function ve(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function tt(t){if(Array.isArray(t))return t}function rt(t,e,r){return(e=ct(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function nt(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,s=!1;try{if(o=(r=r.call(t)).next,e!==0)for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(d){s=!0,i=d}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw i}}return u}}function ot(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
14
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function be(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function ie(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?be(Object(r),!0).forEach(function(n){rt(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):be(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function ye(t,e){if(t==null)return{};var r,n,i=it(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n<o.length;n++)r=o[n],e.indexOf(r)===-1&&{}.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i}function it(t,e){if(t==null)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(e.indexOf(n)!==-1)continue;r[n]=t[n]}return r}function we(t,e){return tt(t)||nt(t,e)||ut(t,e)||ot()}function at(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function ct(t){var e=at(t,"string");return typeof e=="symbol"?e:e+""}function ut(t,e){if(t){if(typeof t=="string")return ve(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ve(t,e):void 0}}function st(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Me(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Oe(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Me(Object(r),!0).forEach(function(n){st(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Me(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function lt(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return function(n){return e.reduceRight(function(i,o){return o(i)},n)}}function V(t){return function e(){for(var r=this,n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return i.length>=t.length?t.apply(this,i):function(){for(var a=arguments.length,u=new Array(a),c=0;c<a;c++)u[c]=arguments[c];return e.apply(r,[].concat(i,u))}}}function J(t){return{}.toString.call(t).includes("Object")}function dt(t){return!Object.keys(t).length}function U(t){return typeof t=="function"}function ft(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function mt(t,e){return J(e)||$("changeType"),Object.keys(e).some(function(r){return!ft(t,r)})&&$("changeField"),e}function pt(t){U(t)||$("selectorType")}function gt(t){U(t)||J(t)||$("handlerType"),J(t)&&Object.values(t).some(function(e){return!U(e)})&&$("handlersType")}function ht(t){t||$("initialIsRequired"),J(t)||$("initialType"),dt(t)&&$("initialContent")}function vt(t,e){throw new Error(t[e]||t.default)}var bt={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},$=V(vt)(bt),Y={changes:mt,selector:pt,handler:gt,initial:ht};function yt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Y.initial(t),Y.handler(e);var r={current:t},n=V(Ot)(r,e),i=V(Mt)(r),o=V(Y.changes)(t),a=V(wt)(r);function u(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return Y.selector(s),s(r.current)}function c(s){lt(n,i,o,a)(s)}return[u,c]}function wt(t,e){return U(e)?e(t.current):e}function Mt(t,e){return t.current=Oe(Oe({},t.current),e),e}function Ot(t,e,r){return U(e)?e(t.current):Object.keys(r).forEach(function(n){var i;return(i=e[n])===null||i===void 0?void 0:i.call(e,t.current[n])}),r}var jt={create:yt},je=jt;var Se={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}};function Ce(t){return function e(){for(var r=this,n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return i.length>=t.length?t.apply(this,i):function(){for(var a=arguments.length,u=new Array(a),c=0;c<a;c++)u[c]=arguments[c];return e.apply(r,[].concat(i,u))}}}function Pe(t){return{}.toString.call(t).includes("Object")}function St(t){return t||xe("configIsRequired"),Pe(t)||xe("configType"),t.urls?(Ct(),{paths:{vs:t.urls.monacoBase}}):t}function Ct(){console.warn(Ee.deprecation)}function Pt(t,e){throw new Error(t[e]||t.default)}var Ee={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
15
|
+
You are using deprecated way of configuration.
|
|
16
|
+
|
|
17
|
+
Instead of using
|
|
18
|
+
monaco.config({ urls: { monacoBase: '...' } })
|
|
19
|
+
use
|
|
20
|
+
monaco.config({ paths: { vs: '...' } })
|
|
21
|
+
|
|
22
|
+
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
23
|
+
`},xe=Ce(Pt)(Ee),Te={config:St};var ke=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return function(i){return r.reduceRight(function(o,a){return a(o)},i)}};function ae(t,e){return Object.keys(e).forEach(function(r){e[r]instanceof Object&&t[r]&&Object.assign(e[r],ae(t[r],e[r]))}),ie(ie({},t),e)}var xt={type:"cancelation",msg:"operation is manually canceled"};function Q(t){var e=!1,r=new Promise(function(n,i){t.then(function(o){return e?i(xt):n(o)}),t.catch(i)});return r.cancel=function(){return e=!0},r}var Et=["monaco"],Tt=je.create({config:Se,isInitialized:!1,resolve:null,reject:null,monaco:null}),Ae=we(Tt,2),q=Ae[0],X=Ae[1];function kt(t){var e=Te.config(t),r=e.monaco,n=ye(e,Et);X(function(i){return{config:ae(i.config,n),monaco:r}})}function At(){var t=q(function(e){var r=e.monaco,n=e.isInitialized,i=e.resolve;return{monaco:r,isInitialized:n,resolve:i}});if(!t.isInitialized){if(X({isInitialized:!0}),t.monaco)return t.resolve(t.monaco),Q(ce);if(window.monaco&&window.monaco.editor)return Le(window.monaco),t.resolve(window.monaco),Q(ce);ke(Lt,Rt)(It)}return Q(ce)}function Lt(t){return document.body.appendChild(t)}function Dt(t){var e=document.createElement("script");return t&&(e.src=t),e}function Rt(t){var e=q(function(n){var i=n.config,o=n.reject;return{config:i,reject:o}}),r=Dt("".concat(e.config.paths.vs,"/loader.js"));return r.onload=function(){return t()},r.onerror=e.reject,r}function It(){var t=q(function(r){var n=r.config,i=r.resolve,o=r.reject;return{config:n,resolve:i,reject:o}}),e=window.require;e.config(t.config),e(["vs/editor/editor.main"],function(r){var n=r.m||r;Le(n),t.resolve(n)},function(r){t.reject(r)})}function Le(t){q().monaco||X({monaco:t})}function Nt(){return q(function(t){var e=t.monaco;return e})}var ce=new Promise(function(t,e){return X({resolve:t,reject:e})}),W={config:kt,init:At,__getMonacoInstance:Nt};import{memo as Ht}from"react";import $t,{useState as De,useRef as B,useCallback as Re,useEffect as Ie}from"react";import{memo as Wt}from"react";import ue from"react";import Bt from"react";import{useEffect as Yt}from"react";import{useEffect as Qt,useRef as Xt}from"react";import{useState as wn}from"react";import{memo as or}from"react";import ir,{useState as Ne,useEffect as Z,useRef as N,useCallback as ar}from"react";import{useEffect as cr,useRef as ur}from"react";var _t={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},se=_t,zt={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},Ft=zt;function Vt({children:t}){return Bt.createElement("div",{style:Ft.container},t)}var Ut=Vt,qt=Ut;function Kt({width:t,height:e,isEditorReady:r,loading:n,_ref:i,className:o,wrapperProps:a}){return ue.createElement("section",{style:{...se.wrapper,width:t,height:e},...a},!r&&ue.createElement(qt,null,n),ue.createElement("div",{ref:i,style:{...se.fullWidth,...!r&&se.hide},className:o}))}var Gt=Kt,He=Wt(Gt);function Jt(t){Yt(t,[])}var $e=Jt;function Zt(t,e,r=!0){let n=Xt(!0);Qt(n.current||!r?()=>{n.current=!1}:t,e)}var E=Zt;function K(){}function z(t,e,r,n){return er(t,n)||tr(t,e,r,n)}function er(t,e){return t.editor.getModel(We(t,e))}function tr(t,e,r,n){return t.editor.createModel(e,r,n?We(t,n):void 0)}function We(t,e){return t.Uri.parse(e)}function rr({original:t,modified:e,language:r,originalLanguage:n,modifiedLanguage:i,originalModelPath:o,modifiedModelPath:a,keepCurrentOriginalModel:u=!1,keepCurrentModifiedModel:c=!1,theme:s="light",loading:d="Loading...",options:p={},height:R="100%",width:O="100%",className:T,wrapperProps:I={},beforeMount:w=K,onMount:L=K}){let[y,j]=De(!1),[P,h]=De(!0),g=B(null),v=B(null),S=B(null),b=B(L),l=B(w),M=B(!1);$e(()=>{let m=W.init();return m.then(f=>(v.current=f)&&h(!1)).catch(f=>f?.type!=="cancelation"&&console.error("Monaco initialization: error:",f)),()=>g.current?k():m.cancel()}),E(()=>{if(g.current&&v.current){let m=g.current.getOriginalEditor(),f=z(v.current,t||"",n||r||"text",o||"");f!==m.getModel()&&m.setModel(f)}},[o],y),E(()=>{if(g.current&&v.current){let m=g.current.getModifiedEditor(),f=z(v.current,e||"",i||r||"text",a||"");f!==m.getModel()&&m.setModel(f)}},[a],y),E(()=>{let m=g.current.getModifiedEditor();m.getOption(v.current.editor.EditorOption.readOnly)?m.setValue(e||""):e!==m.getValue()&&(m.executeEdits("",[{range:m.getModel().getFullModelRange(),text:e||"",forceMoveMarkers:!0}]),m.pushUndoStop())},[e],y),E(()=>{g.current?.getModel()?.original.setValue(t||"")},[t],y),E(()=>{let{original:m,modified:f}=g.current.getModel();v.current.editor.setModelLanguage(m,n||r||"text"),v.current.editor.setModelLanguage(f,i||r||"text")},[r,n,i],y),E(()=>{v.current?.editor.setTheme(s)},[s],y),E(()=>{g.current?.updateOptions(p)},[p],y);let x=Re(()=>{if(!v.current)return;l.current(v.current);let m=z(v.current,t||"",n||r||"text",o||""),f=z(v.current,e||"",i||r||"text",a||"");g.current?.setModel({original:m,modified:f})},[r,e,i,t,n,o,a]),A=Re(()=>{!M.current&&S.current&&(g.current=v.current.editor.createDiffEditor(S.current,{automaticLayout:!0,...p}),x(),v.current?.editor.setTheme(s),j(!0),M.current=!0)},[p,s,x]);Ie(()=>{y&&b.current(g.current,v.current)},[y]),Ie(()=>{!P&&!y&&A()},[P,y,A]);function k(){let m=g.current?.getModel();u||m?.original?.dispose(),c||m?.modified?.dispose(),g.current?.dispose()}return $t.createElement(He,{width:O,height:R,isEditorReady:y,loading:d,_ref:S,className:T,wrapperProps:I})}var nr=rr,bn=Ht(nr);function sr(t){let e=ur();return cr(()=>{e.current=t},[t]),e.current}var lr=sr,ee=new Map;function dr({defaultValue:t,defaultLanguage:e,defaultPath:r,value:n,language:i,path:o,theme:a="light",line:u,loading:c="Loading...",options:s={},overrideServices:d={},saveViewState:p=!0,keepCurrentModel:R=!1,width:O="100%",height:T="100%",className:I,wrapperProps:w={},beforeMount:L=K,onMount:y=K,onChange:j,onValidate:P=K}){let[h,g]=Ne(!1),[v,S]=Ne(!0),b=N(null),l=N(null),M=N(null),x=N(y),A=N(L),k=N(),m=N(n),f=lr(o),D=N(!1),_=N(!1);$e(()=>{let C=W.init();return C.then(H=>(b.current=H)&&S(!1)).catch(H=>H?.type!=="cancelation"&&console.error("Monaco initialization: error:",H)),()=>l.current?et():C.cancel()}),E(()=>{let C=z(b.current,t||n||"",e||i||"",o||r||"");C!==l.current?.getModel()&&(p&&ee.set(f,l.current?.saveViewState()),l.current?.setModel(C),p&&l.current?.restoreViewState(ee.get(o)))},[o],h),E(()=>{l.current?.updateOptions(s)},[s],h),E(()=>{!l.current||n===void 0||(l.current.getOption(b.current.editor.EditorOption.readOnly)?l.current.setValue(n):n!==l.current.getValue()&&(_.current=!0,l.current.executeEdits("",[{range:l.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),l.current.pushUndoStop(),_.current=!1))},[n],h),E(()=>{let C=l.current?.getModel();C&&i&&b.current?.editor.setModelLanguage(C,i)},[i],h),E(()=>{u!==void 0&&l.current?.revealLine(u)},[u],h),E(()=>{b.current?.editor.setTheme(a)},[a],h);let ge=ar(()=>{if(!(!M.current||!b.current)&&!D.current){A.current(b.current);let C=o||r,H=z(b.current,n||t||"",e||i||"",C||"");l.current=b.current?.editor.create(M.current,{model:H,automaticLayout:!0,...s},d),p&&l.current.restoreViewState(ee.get(C)),b.current.editor.setTheme(a),u!==void 0&&l.current.revealLine(u),g(!0),D.current=!0}},[t,e,r,n,i,o,s,d,p,a,u]);Z(()=>{h&&x.current(l.current,b.current)},[h]),Z(()=>{!v&&!h&&ge()},[v,h,ge]),m.current=n,Z(()=>{h&&j&&(k.current?.dispose(),k.current=l.current?.onDidChangeModelContent(C=>{_.current||j(l.current.getValue(),C)}))},[h,j]),Z(()=>{if(h){let C=b.current.editor.onDidChangeMarkers(H=>{let ne=l.current.getModel()?.uri;if(ne&&H.find(oe=>oe.path===ne.path)){let oe=b.current.editor.getModelMarkers({resource:ne});P?.(oe)}});return()=>{C?.dispose()}}return()=>{}},[h,P]);function et(){k.current?.dispose(),R?p&&ee.set(o,l.current.saveViewState()):l.current.getModel()?.dispose(),l.current.dispose()}return ir.createElement(He,{width:O,height:T,isEditorReady:h,loading:c,_ref:M,className:I,wrapperProps:w})}var fr=dr,mr=or(fr),te=mr;import Xe,{useState as Rr}from"react";import{c as Sr}from"react/compiler-runtime";import{jsx as Cr}from"react/jsx-runtime";import{createContext as Pr,use as qe,useEffect as de,useState as fe}from"react";import{c as br}from"react/compiler-runtime";import{jsx as ze}from"react/jsx-runtime";import{createContext as yr,use as wr,useCallback as Mr,useEffect as Or,useMemo as Be}from"react";import{c as pr}from"react/compiler-runtime";import{useEffect as gr,useRef as hr,useState as vr}from"react";function _e(t,e){let r=pr(5),[n,i]=vr(t),o=hr(t),a,u;r[0]!==t?(a=()=>{Object.is(o.current,t)||(o.current=t,i(t))},u=[t],r[0]=t,r[1]=a,r[2]=u):(a=r[1],u=r[2]),gr(a,u);let c=n??e,s;return r[3]!==c?(s=[c,i],r[3]=c,r[4]=s):s=r[4],s}var Fe=yr(void 0),jr=({children:t,config:e})=>{let[r,n]=_e(e),{collectionsBySlug:i,globalsBySlug:o}=Be(()=>{let c={},s={};for(let d of r.collections)c[d.slug]=d;for(let d of r.globals)s[d.slug]=d;return{collectionsBySlug:c,globalsBySlug:s}},[r]),a=Mr(c=>"collectionSlug"in c&&c.collectionSlug?i[c.collectionSlug]??null:"globalSlug"in c&&c.globalSlug?o[c.globalSlug]??null:null,[i,o]),u=Be(()=>({config:r,getEntityConfig:a,setConfig:n}),[r,a,n]);return ze(Fe,{value:u,children:t})},le=()=>wr(Fe),In=t=>{let e=br(7),{children:r,config:n}=t,{config:i,setConfig:o}=le(),a,u;if(e[0]!==n||e[1]!==o?(a=()=>{o(n)},u=[n,o],e[0]=n,e[1]=o,e[2]=a,e[3]=u):(a=e[2],u=e[3]),Or(a,u),i!==n&&i.unauthenticated!==n.unauthenticated){let c;return e[4]!==r||e[5]!==n?(c=ze(jr,{config:n,children:r}),e[4]=r,e[5]=n,e[6]=c):c=e[6],c}return r};var Ve="light";var xr={autoMode:!0,highContrastMode:!1,setHighContrastMode:()=>null,setTheme:()=>null,theme:"light"},me=Pr(void 0);function Ue(t,e,r){let n=new Date;n.setTime(n.getTime()+r*24*60*60*1e3);let i="expires="+n.toUTCString();document.cookie=t+"="+e+";"+i+";path=/"}var Er=t=>{let e=window.document.cookie.split("; ").find(n=>n.startsWith(`${t}=`))?.split("=")[1],r=e==="light"||e==="dark"?e:window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";return document.documentElement.setAttribute("data-theme",r),{isAutoMode:e!=="light"&&e!=="dark",theme:r}},Tr=t=>{let e=window.document.cookie.split("; ").find(n=>n.startsWith(`${t}=`))?.split("=")[1]??null,r=e==="true"?!0:e==="false"?!1:!!(window.matchMedia&&window.matchMedia("(prefers-contrast: more)").matches);return r?document.documentElement.setAttribute("data-enhanced-contrast",""):document.documentElement.removeAttribute("data-enhanced-contrast"),r},kr=t=>t==="auto"||t==="light"||t==="dark",qn=t=>{let e=Sr(32),{children:r,highContrastMode:n,theme:i}=t,o=qe(me),a=o!==void 0,{config:u}=le(),c=u.admin.theme,s=`${u.cookiePrefix||"payload"}-theme`,d=`${u.cookiePrefix||"payload"}-high-contrast-mode`,p=he().get("theme")?.toLowerCase(),[R,O]=fe(i??Ve),[T,I]=fe(!a),[w,L]=fe(a?o.highContrastMode??!1:n??!1),y;e[0]!==a||e[1]!==o||e[2]!==s?(y=(f,D)=>{if(a&&!D?.scoped){o.setTheme(f,D);return}let _=f==="auto"?window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light":f;O(_),I(f==="auto"),a||(Ue(s,f,f==="auto"?-1:365),document.documentElement.setAttribute("data-theme",_))},e[0]=a,e[1]=o,e[2]=s,e[3]=y):y=e[3];let j=y,P;e[4]!==d||e[5]!==a||e[6]!==o?(P=(f,D)=>{if(a&&!D?.scoped){o.setHighContrastMode(f,D);return}L(f),a||(Ue(d,String(f),365),f?document.documentElement.setAttribute("data-enhanced-contrast",""):document.documentElement.removeAttribute("data-enhanced-contrast"))},e[4]=d,e[5]=a,e[6]=o,e[7]=P):P=e[7];let h=P,g;e[8]!==a||e[9]!==o?(g=()=>{a&&L(o.highContrastMode)},e[8]=a,e[9]=o,e[10]=g):g=e[10];let v=o?.highContrastMode,S;e[11]!==a||e[12]!==v?(S=[a,v],e[11]=a,e[12]=v,e[13]=S):S=e[13],de(g,S);let b,l;e[14]!==a||e[15]!==c||e[16]!==j||e[17]!==s||e[18]!==p?(b=()=>{if(a||c!=="all")return;if(kr(p)){j(p);return}let{isAutoMode:f,theme:D}=Er(s);O(D),I(f)},l=[a,c,s,p,j],e[14]=a,e[15]=c,e[16]=j,e[17]=s,e[18]=p,e[19]=b,e[20]=l):(b=e[19],l=e[20]),de(b,l);let M,x;e[21]!==d||e[22]!==a?(M=()=>{a||L(Tr(d))},x=[a,d],e[21]=d,e[22]=a,e[23]=M,e[24]=x):(M=e[23],x=e[24]),de(M,x);let A=a?o.autoMode:T,k=a?o.theme:R,m;return e[25]!==r||e[26]!==w||e[27]!==h||e[28]!==j||e[29]!==A||e[30]!==k?(m=Cr(me,{value:{autoMode:A,highContrastMode:w,setHighContrastMode:h,setTheme:j,theme:k},children:r}),e[25]=r,e[26]=w,e[27]=h,e[28]=j,e[29]=A,e[30]=k,e[31]=m):m=e[31],m},Ke=()=>qe(me)??xr;import{c as Lr}from"react/compiler-runtime";import{jsx as G}from"react/jsx-runtime";import"react";import{c as Ar}from"react/compiler-runtime";import*as F from"react";var Ge=(t,e)=>{let r=Ar(9),n=e===void 0?!1:e,[i,o]=F.useState(!1),a=F.useRef(void 0),u;r[0]!==t?(u=()=>(o(!1),clearTimeout(a.current),a.current=setTimeout(()=>{o(!0)},t),()=>{clearTimeout(a.current)}),r[0]=t,r[1]=u):u=r[1];let c=u,s,d;r[2]!==c||r[3]!==n?(s=()=>{n&&c()},d=[c,n],r[2]=c,r[3]=n,r[4]=s,r[5]=d):(s=r[4],d=r[5]),F.useEffect(s,d);let p;return r[6]!==i||r[7]!==c?(p=[i,c],r[6]=i,r[7]=c,r[8]=p):p=r[8],p};var Ye="shimmer-effect",pe=({animationDelay:t="0ms",className:e,disableInlineStyles:r=!1,height:n="60px",transparent:i,width:o="100%",...a})=>G("div",{...a,className:[Ye,i&&`${Ye}--transparent`,e].filter(Boolean).join(" "),style:{...a?.style||{},height:!r&&(typeof n=="number"?`${n}px`:n),width:!r&&(typeof o=="number"?`${o}px`:o)},children:G("div",{className:"shimmer-effect__shine",style:{animationDelay:t}})}),eo=t=>{let e=Lr(9),{className:r,count:n,height:i,renderDelay:o,shimmerDelay:a,shimmerItemClassName:u,width:c}=t,s=o===void 0?500:o,d=a===void 0?25:a,p=typeof d=="number"?`${d}ms`:d,[R]=Ge(s,!0);if(!R)return null;let O;e[0]!==n?(O=[...Array(n)],e[0]=n,e[1]=O):O=e[1];let T;return e[2]!==r||e[3]!==i||e[4]!==p||e[5]!==u||e[6]!==O||e[7]!==c?(T=G("div",{className:r,children:O.map((I,w)=>G("div",{className:u,children:G(pe,{animationDelay:`calc(${w} * ${p})`,height:i,width:c})},w))}),e[2]=r,e[3]=i,e[4]=p,e[5]=u,e[6]=O,e[7]=c,e[8]=T):T=e[8],T};var re={insertSpaces:!1,tabSize:4,trimAutoWhitespace:!1},Je={fontSize:11,hideCursorInOverviewRuler:!0,lineDecorationsWidth:12,lineHeight:16,lineNumbersMinChars:3,minimap:{enabled:!1},overviewRulerBorder:!1,readOnly:!1,scrollbar:{alwaysConsumeMouseWheel:!1},scrollBeyondLastLine:!1,wordWrap:"on"};var Ir="default"in te?te.default:te,Nr="code-editor",Ze=new WeakSet;function Hr(t){t.editor.defineTheme("payload-light",{base:"vs",colors:{"editor.background":"#00000000","editor.lineHighlightBackground":"#00000000","editor.lineHighlightBorder":"#00000000","editorGutter.background":"#00000000","editorLineNumber.activeForeground":"#0000004d","editorLineNumber.foreground":"#0000004d"},inherit:!0,rules:[{foreground:"cb0b96",token:"keyword"},{foreground:"005cc5",token:"identifier"},{foreground:"093077",token:"type.identifier"},{foreground:"093077",token:"delimiter"},{foreground:"093077",token:"delimiter.bracket"},{foreground:"c53e0d",token:"string"},{foreground:"093077",token:"number"},{foreground:"6a737d",token:"comment"}]}),t.editor.defineTheme("payload-dark",{base:"vs-dark",colors:{"editor.background":"#00000000","editor.lineHighlightBackground":"#00000000","editor.lineHighlightBorder":"#00000000","editorGutter.background":"#00000000","editorLineNumber.activeForeground":"#ffffffb3","editorLineNumber.foreground":"#ffffffb3"},inherit:!0,rules:[]})}var $r=t=>{let e=Dr(10),{className:r,maxHeight:n,minHeight:i,options:o,readOnly:a,recalculatedHeightAt:u,value:c,...s}=t,d=i===void 0?48:i,p=Xe.useRef(u),{insertSpaces:R,tabSize:O,trimAutoWhitespace:T,...I}=o||{},w=o?.padding?(o.padding.top||0)+(o.padding?.bottom||0):0,[L,y]=Rr(d),{theme:j}=Ke(),P=s?.defaultLanguage?`language--${s.defaultLanguage}`:"",h=a&&"read-only",g;e[0]!==r||e[1]!==P||e[2]!==h?(g=[Nr,r,P,h].filter(Boolean),e[0]=r,e[1]=P,e[2]=h,e[3]=g):g=e[3];let v=g.join(" "),S,b;return e[4]!==d||e[5]!==w||e[6]!==u||e[7]!==c?(S=()=>{u&&u>p.current&&(y(c?Math.max(d,c.split(`
|
|
24
|
+
`).length*16+2+w+16):d),p.current=u)},b=[c,d,w,u],e[4]=d,e[5]=w,e[6]=u,e[7]=c,e[8]=S,e[9]=b):(S=e[8],b=e[9]),Xe.useEffect(S,b),Qe(Ir,{beforeMount:Hr,className:v,height:n?Math.min(L,n):L,loading:Qe(pe,{height:d}),options:{...Je,...I,readOnly:!!a,detectIndentation:!1,insertSpaces:void 0,tabSize:void 0,trimAutoWhitespace:void 0},theme:j==="dark"?"payload-dark":"payload-light",value:c,...s,onChange:(l,M)=>{s.onChange?.(l,M),y(l?Math.max(d,l.split(`
|
|
25
|
+
`).length*16+2+w+16):d)},onMount:(l,M)=>{!Ze.has(M)&&o?.tabFocusMode===void 0&&(Ze.add(M),l.trigger("payload","editor.action.toggleTabFocusMode",null)),s.onMount?.(l,M);let x=l.getDomNode();if(x?.closest('[contenteditable="true"]')){l.updateOptions({editContext:!1});let k=["copy","cut","paste"],m=Wr;for(let f of k)x.addEventListener(f,m);l.onDidDispose(()=>{for(let f of k)x.removeEventListener(f,m)})}let A=l.getModel();A&&A.updateOptions({insertSpaces:R??re.insertSpaces,tabSize:O??re.tabSize,trimAutoWhitespace:T??re.trimAutoWhitespace}),y(Math.max(d,l.getValue().split(`
|
|
26
|
+
`).length*16+2+w+16))}})},lo=$r;function Wr(t){t.stopPropagation()}export{_e as a,jr as b,le as c,In as d,Ve as e,qn as f,Ke as g,Ge as h,pe as i,eo as j,re as k,lo as l};
|
|
27
|
+
//# sourceMappingURL=chunk-Z42OBP5U.js.map
|