@payloadcms/ui 3.74.0-internal.097fb57 → 3.74.0-internal.1b84a48
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/ArrayAction/index.d.ts +6 -6
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +8 -8
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts +1 -0
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +6 -2
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +1 -4
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +1 -5
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.d.ts.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
- package/dist/elements/Link/index.d.ts.map +1 -1
- package/dist/elements/Pill/index.d.ts.map +1 -1
- package/dist/elements/Pill/index.js +101 -31
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/index.d.ts +11 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +6 -1
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +5 -6
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts +3 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +1 -1
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/UnpublishButton/index.d.ts +4 -1
- package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
- package/dist/elements/UnpublishButton/index.js +17 -5
- package/dist/elements/UnpublishButton/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.d.ts +1 -1
- package/dist/elements/withMergedProps/index.js +1 -1
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-6KT2JS6X.js → CodeEditor-X3UZSEEZ.js} +2 -2
- package/dist/exports/client/{DatePicker-TDXLCEZV.js → DatePicker-GT6CXMEH.js} +2 -2
- package/dist/exports/client/{chunk-TBYRZYQJ.js → chunk-J46CQZ3T.js} +4 -4
- package/dist/exports/client/{chunk-TBYRZYQJ.js.map → chunk-J46CQZ3T.js.map} +3 -3
- package/dist/exports/client/{chunk-UN66UDCU.js → chunk-USMS5YRL.js} +1 -1
- package/dist/exports/client/{chunk-UN66UDCU.js.map → chunk-USMS5YRL.js.map} +1 -1
- package/dist/exports/client/index.d.ts +1 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +12 -12
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +63 -47
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/providers/Config/index.js +2 -2
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.js +2 -2
- package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +12 -1
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +1 -2
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +0 -1
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/buildTableState.js +3 -4
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/getColumns.js +1 -1
- package/dist/utilities/getColumns.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.d.ts +4 -10
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +5 -4
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/views/Edit/index.d.ts +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +4 -2
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +3 -2
- package/dist/views/List/index.js.map +1 -1
- package/package.json +6 -6
- /package/dist/exports/client/{CodeEditor-6KT2JS6X.js.map → CodeEditor-X3UZSEEZ.js.map} +0 -0
- /package/dist/exports/client/{DatePicker-TDXLCEZV.js.map → DatePicker-GT6CXMEH.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["TZDateMini","TZDate","useModal","getTranslation","endOfToday","isToday","startOfDay","transpose","formatAdminURL","qs","React","useCallback","useMemo","toast","FieldLabel","Radio","useConfig","useDocumentInfo","useDocumentTitle","useServerFunctions","useTranslation","requests","Banner","DrawerCloseButton","Button","DatePickerField","Drawer","Gutter","ReactSelect","ShimmerEffect","Table","TimezonePicker","buildUpcomingColumns","baseClass","defaultLocaleOption","label","value","ScheduleDrawer","slug","defaultType","schedulePublishConfig","toggleModal","config","admin","dateFormat","timezones","defaultTimezone","supportedTimezones","localization","routes","api","serverURL","id","collectionSlug","globalSlug","title","i18n","t","schedulePublish","type","setType","useState","date","setDate","timezone","setTimezone","locale","setLocale","processing","setProcessing","modalTitle","upcoming","setUpcoming","upcomingColumns","setUpcomingColumns","deleteHandlerRef","useRef","userTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","localeOptions","options","locales","map","code","unshift","fetchUpcoming","query","sort","where","and","taskSlug","equals","waitUntil","greater_than","Date","push","String","docs","post","apiRoute","path","body","stringify","headers","language","then","res","json","deleteHandler","current","deleteID","success","err","console","error","message","useEffect","handleSave","publishSpecificLocale","doc","relationTo","undefined","global","displayedValue","DateWithOriginalTz","tz","DateWithUserTz","modifiedDate","withTimeZone","dateWithTimezone","dateWithUserTimezone","toISOString","onChangeDate","incomingDate","tzDateWithUTC","dateToUserTz","fetchInitialUpcoming","minTime","_jsxs","className","gutter","Header","_jsx","onClick","required","isSelected","onChange","option","readOnly","maxTime","minDate","e","pickerAppearance","timeFormat","timeIntervals","length","selectedTimezone","Fragment","buttonStyle","disabled","appearance","columns","data"],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"sourcesContent":["/* eslint-disable no-console */\n'use client'\n\nimport type { Column, SchedulePublish, Where } from 'payload'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { endOfToday, isToday, startOfDay } from 'date-fns'\nimport { transpose } from 'date-fns/transpose'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishType, UpcomingEvent } from './types.js'\n\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { Radio } from '../../../fields/RadioGroup/Radio/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport { Banner } from '../../Banner/index.js'\nimport { DrawerCloseButton } from '../../BulkUpload/DrawerCloseButton/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DatePickerField } from '../../DatePicker/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { Gutter } from '../../Gutter/index.js'\nimport './index.scss'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { Table } from '../../Table/index.js'\nimport { TimezonePicker } from '../../TimezonePicker/index.js'\nimport { buildUpcomingColumns } from './buildUpcomingColumns.js'\n\nconst baseClass = 'schedule-publish'\n\ntype Props = {\n defaultType?: PublishType\n schedulePublishConfig?: SchedulePublish\n slug: string\n}\n\nconst defaultLocaleOption = {\n label: 'All',\n value: 'all',\n}\n\nexport const ScheduleDrawer: React.FC<Props> = ({ slug, defaultType, schedulePublishConfig }) => {\n const { toggleModal } = useModal()\n const {\n config: {\n admin: {\n dateFormat,\n timezones: { defaultTimezone, supportedTimezones },\n },\n localization,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { title } = useDocumentTitle()\n const { i18n, t } = useTranslation()\n const { schedulePublish } = useServerFunctions()\n const [type, setType] = React.useState<PublishType>(defaultType || 'publish')\n const [date, setDate] = React.useState<Date>()\n const [timezone, setTimezone] = React.useState<string>(defaultTimezone)\n const [locale, setLocale] = React.useState<{ label: string; value: string }>(defaultLocaleOption)\n const [processing, setProcessing] = React.useState(false)\n const modalTitle = t('general:schedulePublishFor', { title })\n const [upcoming, setUpcoming] = React.useState<UpcomingEvent[]>()\n const [upcomingColumns, setUpcomingColumns] = React.useState<Column[]>()\n const deleteHandlerRef = React.useRef<((id: number | string) => Promise<void>) | null>(() => null)\n\n // Get the user timezone so we can adjust the displayed value against it\n const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n const localeOptions = React.useMemo(() => {\n if (localization) {\n const options = localization.locales.map(({ code, label }) => ({\n label: getTranslation(label, i18n),\n value: code,\n }))\n\n options.unshift(defaultLocaleOption)\n\n return options\n }\n\n return []\n }, [localization, i18n])\n\n const fetchUpcoming = React.useCallback(async () => {\n const query: { sort: string; where: Where } = {\n sort: 'waitUntil',\n where: {\n and: [\n {\n taskSlug: {\n equals: 'schedulePublish',\n },\n },\n {\n waitUntil: {\n greater_than: new Date(),\n },\n },\n ],\n },\n }\n\n if (collectionSlug) {\n query.where.and.push({\n 'input.doc.value': {\n equals: String(id),\n },\n })\n query.where.and.push({\n 'input.doc.relationTo': {\n equals: collectionSlug,\n },\n })\n }\n\n if (globalSlug) {\n query.where.and.push({\n 'input.global': {\n equals: globalSlug,\n },\n })\n }\n\n const { docs } = await requests\n .post(formatAdminURL({ apiRoute: api, path: `/payload-jobs` }), {\n body: qs.stringify(query),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n })\n .then((res) => res.json())\n\n setUpcomingColumns(\n buildUpcomingColumns({\n dateFormat,\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n deleteHandler: deleteHandlerRef.current,\n docs,\n i18n,\n localization,\n supportedTimezones,\n t,\n }),\n )\n setUpcoming(docs)\n }, [\n collectionSlug,\n globalSlug,\n serverURL,\n api,\n i18n,\n dateFormat,\n localization,\n supportedTimezones,\n t,\n id,\n ])\n\n const deleteHandler = React.useCallback(\n async (id: number | string) => {\n try {\n await schedulePublish({\n deleteID: id,\n })\n await fetchUpcoming()\n toast.success(t('general:deletedSuccessfully'))\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n },\n [fetchUpcoming, schedulePublish, t],\n )\n\n React.useEffect(() => {\n deleteHandlerRef.current = deleteHandler\n }, [deleteHandler])\n\n const handleSave = React.useCallback(async () => {\n if (!date) {\n return toast.error(t('general:noDateSelected'))\n }\n\n setProcessing(true)\n\n let publishSpecificLocale: string\n\n if (typeof locale === 'object' && locale.value !== 'all' && type === 'publish') {\n publishSpecificLocale = locale.value\n }\n\n try {\n await schedulePublish({\n type,\n date,\n doc: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: String(id),\n }\n : undefined,\n global: globalSlug || undefined,\n locale: publishSpecificLocale,\n timezone,\n })\n\n setDate(undefined)\n toast.success(t('version:scheduledSuccessfully'))\n void fetchUpcoming()\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n\n setProcessing(false)\n }, [\n date,\n locale,\n type,\n t,\n schedulePublish,\n collectionSlug,\n id,\n globalSlug,\n timezone,\n fetchUpcoming,\n ])\n\n const displayedValue = useMemo(() => {\n if (timezone && userTimezone && date) {\n // Create TZDate instances for the selected timezone and the user's timezone\n // These instances allow us to transpose the date between timezones while keeping the same time value\n const DateWithOriginalTz = TZDate.tz(timezone)\n const DateWithUserTz = TZDate.tz(userTimezone)\n\n const modifiedDate = new TZDate(date).withTimeZone(timezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n const dateWithUserTimezone = transpose(dateWithTimezone, DateWithUserTz)\n\n return dateWithUserTimezone.toISOString()\n }\n\n return date\n }, [timezone, date, userTimezone])\n\n const onChangeDate = useCallback(\n (incomingDate: Date) => {\n if (timezone && incomingDate) {\n // Create TZDate instances for the selected timezone\n const tzDateWithUTC = TZDate.tz(timezone)\n\n // Creates a TZDate instance for the user's timezone — this is default behaviour of TZDate as it wraps the Date constructor\n const dateToUserTz = new TZDate(incomingDate)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(dateToUserTz, tzDateWithUTC)\n\n setDate(dateWithTimezone || null)\n } else {\n setDate(incomingDate || null)\n }\n },\n [setDate, timezone],\n )\n\n React.useEffect(() => {\n if (!upcoming) {\n const fetchInitialUpcoming = async () => {\n await fetchUpcoming()\n }\n\n void fetchInitialUpcoming()\n }\n }, [upcoming, fetchUpcoming])\n\n const minTime = useMemo(() => {\n if (date && isToday(date)) {\n return new Date()\n }\n\n return startOfDay(new Date())\n }, [date])\n\n return (\n <Drawer\n className={baseClass}\n gutter={false}\n Header={\n <div className={`${baseClass}__drawer-header`}>\n <h2 title={modalTitle}>{modalTitle}</h2>\n <DrawerCloseButton onClick={() => toggleModal(slug)} />\n </div>\n }\n slug={slug}\n >\n <Gutter className={`${baseClass}__scheduler`}>\n <FieldLabel label={t('version:type')} required />\n <ul className={`${baseClass}__type`}>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'publish'}\n onChange={() => setType('publish')}\n option={{ label: t('version:publish'), value: 'publish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'unpublish'}\n onChange={() => setType('unpublish')}\n option={{ label: t('version:unpublish'), value: 'unpublish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n </ul>\n <br />\n <FieldLabel label={t('general:time')} path={'time'} required />\n <DatePickerField\n id=\"time\"\n maxTime={endOfToday()}\n minDate={new Date()}\n minTime={minTime}\n onChange={(e) => onChangeDate(e)}\n pickerAppearance=\"dayAndTime\"\n readOnly={processing}\n timeFormat={schedulePublishConfig?.timeFormat}\n timeIntervals={schedulePublishConfig?.timeIntervals ?? 5}\n value={displayedValue}\n />\n {supportedTimezones.length > 0 && (\n <TimezonePicker\n id={`timezone-picker`}\n onChange={setTimezone}\n options={supportedTimezones}\n selectedTimezone={timezone}\n />\n )}\n <br />\n {localeOptions.length > 0 && type === 'publish' && (\n <React.Fragment>\n <FieldLabel label={t('localization:localeToPublish')} />\n <ReactSelect\n onChange={(e) => setLocale(e as { label: string; value: string })}\n options={localeOptions}\n value={locale}\n />\n <br />\n </React.Fragment>\n )}\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"primary\"\n disabled={processing}\n id=\"scheduled-publish-save\"\n onClick={handleSave}\n type=\"button\"\n >\n {t('general:save')}\n </Button>\n {processing ? <span>{t('general:saving')}</span> : null}\n </div>\n </Gutter>\n <Gutter className={`${baseClass}__upcoming`}>\n <h4>{t('general:upcomingEvents')}</h4>\n {!upcoming && <ShimmerEffect />}\n {upcoming?.length === 0 && (\n <Banner type=\"info\">{t('general:noUpcomingEventsScheduled')}</Banner>\n )}\n {upcoming?.length > 0 && (\n <Table appearance=\"condensed\" columns={upcomingColumns} data={upcoming} />\n )}\n </Gutter>\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["TZDateMini","TZDate","useModal","getTranslation","endOfToday","isToday","startOfDay","transpose","formatAdminURL","qs","React","useCallback","useMemo","toast","FieldLabel","Radio","useConfig","useDocumentInfo","useDocumentTitle","useServerFunctions","useTranslation","requests","Banner","DrawerCloseButton","Button","DatePickerField","Drawer","Gutter","ReactSelect","ShimmerEffect","Table","TimezonePicker","buildUpcomingColumns","baseClass","defaultLocaleOption","label","value","ScheduleDrawer","slug","defaultType","schedulePublishConfig","toggleModal","config","admin","dateFormat","timezones","defaultTimezone","supportedTimezones","localization","routes","api","id","collectionSlug","globalSlug","title","i18n","t","schedulePublish","type","setType","useState","date","setDate","timezone","setTimezone","locale","setLocale","processing","setProcessing","modalTitle","upcoming","setUpcoming","upcomingColumns","setUpcomingColumns","deleteHandlerRef","useRef","userTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","localeOptions","options","locales","map","code","unshift","fetchUpcoming","query","sort","where","and","taskSlug","equals","waitUntil","greater_than","Date","push","String","docs","post","apiRoute","path","body","stringify","headers","language","then","res","json","deleteHandler","current","deleteID","success","err","console","error","message","useEffect","handleSave","localeToPublish","doc","relationTo","undefined","global","displayedValue","DateWithOriginalTz","tz","DateWithUserTz","modifiedDate","withTimeZone","dateWithTimezone","dateWithUserTimezone","toISOString","onChangeDate","incomingDate","tzDateWithUTC","dateToUserTz","fetchInitialUpcoming","minTime","_jsxs","className","gutter","Header","_jsx","onClick","required","isSelected","onChange","option","readOnly","maxTime","minDate","e","pickerAppearance","timeFormat","timeIntervals","length","selectedTimezone","Fragment","buttonStyle","disabled","appearance","columns","data"],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"sourcesContent":["/* eslint-disable no-console */\n'use client'\n\nimport type { Column, SchedulePublish, Where } from 'payload'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { endOfToday, isToday, startOfDay } from 'date-fns'\nimport { transpose } from 'date-fns/transpose'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishType, UpcomingEvent } from './types.js'\n\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { Radio } from '../../../fields/RadioGroup/Radio/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport { Banner } from '../../Banner/index.js'\nimport { DrawerCloseButton } from '../../BulkUpload/DrawerCloseButton/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DatePickerField } from '../../DatePicker/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { Gutter } from '../../Gutter/index.js'\nimport './index.scss'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { Table } from '../../Table/index.js'\nimport { TimezonePicker } from '../../TimezonePicker/index.js'\nimport { buildUpcomingColumns } from './buildUpcomingColumns.js'\n\nconst baseClass = 'schedule-publish'\n\ntype Props = {\n defaultType?: PublishType\n schedulePublishConfig?: SchedulePublish\n slug: string\n}\n\nconst defaultLocaleOption = {\n label: 'All',\n value: 'all',\n}\n\nexport const ScheduleDrawer: React.FC<Props> = ({ slug, defaultType, schedulePublishConfig }) => {\n const { toggleModal } = useModal()\n const {\n config: {\n admin: {\n dateFormat,\n timezones: { defaultTimezone, supportedTimezones },\n },\n localization,\n routes: { api },\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { title } = useDocumentTitle()\n const { i18n, t } = useTranslation()\n const { schedulePublish } = useServerFunctions()\n const [type, setType] = React.useState<PublishType>(defaultType || 'publish')\n const [date, setDate] = React.useState<Date>()\n const [timezone, setTimezone] = React.useState<string>(defaultTimezone)\n const [locale, setLocale] = React.useState<{ label: string; value: string }>(defaultLocaleOption)\n const [processing, setProcessing] = React.useState(false)\n const modalTitle = t('general:schedulePublishFor', { title })\n const [upcoming, setUpcoming] = React.useState<UpcomingEvent[]>()\n const [upcomingColumns, setUpcomingColumns] = React.useState<Column[]>()\n const deleteHandlerRef = React.useRef<((id: number | string) => Promise<void>) | null>(() => null)\n\n // Get the user timezone so we can adjust the displayed value against it\n const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n const localeOptions = React.useMemo(() => {\n if (localization) {\n const options = localization.locales.map(({ code, label }) => ({\n label: getTranslation(label, i18n),\n value: code,\n }))\n\n options.unshift(defaultLocaleOption)\n\n return options\n }\n\n return []\n }, [localization, i18n])\n\n const fetchUpcoming = React.useCallback(async () => {\n const query: { sort: string; where: Where } = {\n sort: 'waitUntil',\n where: {\n and: [\n {\n taskSlug: {\n equals: 'schedulePublish',\n },\n },\n {\n waitUntil: {\n greater_than: new Date(),\n },\n },\n ],\n },\n }\n\n if (collectionSlug) {\n query.where.and.push({\n 'input.doc.value': {\n equals: String(id),\n },\n })\n query.where.and.push({\n 'input.doc.relationTo': {\n equals: collectionSlug,\n },\n })\n }\n\n if (globalSlug) {\n query.where.and.push({\n 'input.global': {\n equals: globalSlug,\n },\n })\n }\n\n const { docs } = await requests\n .post(formatAdminURL({ apiRoute: api, path: `/payload-jobs` }), {\n body: qs.stringify(query),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n })\n .then((res) => res.json())\n\n setUpcomingColumns(\n buildUpcomingColumns({\n dateFormat,\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n deleteHandler: deleteHandlerRef.current,\n docs,\n i18n,\n localization,\n supportedTimezones,\n t,\n }),\n )\n setUpcoming(docs)\n }, [collectionSlug, globalSlug, api, i18n, dateFormat, localization, supportedTimezones, t, id])\n\n const deleteHandler = React.useCallback(\n async (id: number | string) => {\n try {\n await schedulePublish({\n deleteID: id,\n })\n await fetchUpcoming()\n toast.success(t('general:deletedSuccessfully'))\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n },\n [fetchUpcoming, schedulePublish, t],\n )\n\n React.useEffect(() => {\n deleteHandlerRef.current = deleteHandler\n }, [deleteHandler])\n\n const handleSave = React.useCallback(async () => {\n if (!date) {\n return toast.error(t('general:noDateSelected'))\n }\n\n setProcessing(true)\n\n let localeToPublish: string\n\n if (typeof locale === 'object' && locale.value !== 'all' && type === 'publish') {\n localeToPublish = locale.value\n }\n\n try {\n await schedulePublish({\n type,\n date,\n doc: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: String(id),\n }\n : undefined,\n global: globalSlug || undefined,\n localeToPublish,\n timezone,\n })\n\n setDate(undefined)\n toast.success(t('version:scheduledSuccessfully'))\n void fetchUpcoming()\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n\n setProcessing(false)\n }, [\n date,\n locale,\n type,\n t,\n schedulePublish,\n collectionSlug,\n id,\n globalSlug,\n timezone,\n fetchUpcoming,\n ])\n\n const displayedValue = useMemo(() => {\n if (timezone && userTimezone && date) {\n // Create TZDate instances for the selected timezone and the user's timezone\n // These instances allow us to transpose the date between timezones while keeping the same time value\n const DateWithOriginalTz = TZDate.tz(timezone)\n const DateWithUserTz = TZDate.tz(userTimezone)\n\n const modifiedDate = new TZDate(date).withTimeZone(timezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n const dateWithUserTimezone = transpose(dateWithTimezone, DateWithUserTz)\n\n return dateWithUserTimezone.toISOString()\n }\n\n return date\n }, [timezone, date, userTimezone])\n\n const onChangeDate = useCallback(\n (incomingDate: Date) => {\n if (timezone && incomingDate) {\n // Create TZDate instances for the selected timezone\n const tzDateWithUTC = TZDate.tz(timezone)\n\n // Creates a TZDate instance for the user's timezone — this is default behaviour of TZDate as it wraps the Date constructor\n const dateToUserTz = new TZDate(incomingDate)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(dateToUserTz, tzDateWithUTC)\n\n setDate(dateWithTimezone || null)\n } else {\n setDate(incomingDate || null)\n }\n },\n [setDate, timezone],\n )\n\n React.useEffect(() => {\n if (!upcoming) {\n const fetchInitialUpcoming = async () => {\n await fetchUpcoming()\n }\n\n void fetchInitialUpcoming()\n }\n }, [upcoming, fetchUpcoming])\n\n const minTime = useMemo(() => {\n if (date && isToday(date)) {\n return new Date()\n }\n\n return startOfDay(new Date())\n }, [date])\n\n return (\n <Drawer\n className={baseClass}\n gutter={false}\n Header={\n <div className={`${baseClass}__drawer-header`}>\n <h2 title={modalTitle}>{modalTitle}</h2>\n <DrawerCloseButton onClick={() => toggleModal(slug)} />\n </div>\n }\n slug={slug}\n >\n <Gutter className={`${baseClass}__scheduler`}>\n <FieldLabel label={t('version:type')} required />\n <ul className={`${baseClass}__type`}>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'publish'}\n onChange={() => setType('publish')}\n option={{ label: t('version:publish'), value: 'publish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'unpublish'}\n onChange={() => setType('unpublish')}\n option={{ label: t('version:unpublish'), value: 'unpublish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n </ul>\n <br />\n <FieldLabel label={t('general:time')} path={'time'} required />\n <DatePickerField\n id=\"time\"\n maxTime={endOfToday()}\n minDate={new Date()}\n minTime={minTime}\n onChange={(e) => onChangeDate(e)}\n pickerAppearance=\"dayAndTime\"\n readOnly={processing}\n timeFormat={schedulePublishConfig?.timeFormat}\n timeIntervals={schedulePublishConfig?.timeIntervals ?? 5}\n value={displayedValue}\n />\n {supportedTimezones.length > 0 && (\n <TimezonePicker\n id={`timezone-picker`}\n onChange={setTimezone}\n options={supportedTimezones}\n selectedTimezone={timezone}\n />\n )}\n <br />\n {localeOptions.length > 0 && type === 'publish' && (\n <React.Fragment>\n <FieldLabel label={t('localization:localeToPublish')} />\n <ReactSelect\n onChange={(e) => setLocale(e as { label: string; value: string })}\n options={localeOptions}\n value={locale}\n />\n <br />\n </React.Fragment>\n )}\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"primary\"\n disabled={processing}\n id=\"scheduled-publish-save\"\n onClick={handleSave}\n type=\"button\"\n >\n {t('general:save')}\n </Button>\n {processing ? <span>{t('general:saving')}</span> : null}\n </div>\n </Gutter>\n <Gutter className={`${baseClass}__upcoming`}>\n <h4>{t('general:upcomingEvents')}</h4>\n {!upcoming && <ShimmerEffect />}\n {upcoming?.length === 0 && (\n <Banner type=\"info\">{t('general:noUpcomingEventsScheduled')}</Banner>\n )}\n {upcoming?.length > 0 && (\n <Table appearance=\"condensed\" columns={upcomingColumns} data={upcoming} />\n )}\n </Gutter>\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { PublishButtonClientProps } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
export declare function PublishButton({ label: labelProp }
|
|
3
|
+
export declare function PublishButton({ label: labelProp, }?: {
|
|
4
|
+
label?: string;
|
|
5
|
+
} & PublishButtonClientProps): React.JSX.Element;
|
|
4
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAMvD,OAAO,KAA2C,MAAM,OAAO,CAAA;AAe/D,wBAAgB,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAMvD,OAAO,KAA2C,MAAM,OAAO,CAAA;AAe/D,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EAAE,SAAS,GACjB,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,wBAA6B,qBAiSpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","hasAutosaveEnabled","hasScheduledPublishEnabled","qs","React","useCallback","useEffect","useState","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","traverseForLocalizedFields","PopupList","ScheduleDrawer","PublishButton","label","labelProp","id","collectionSlug","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","getEntityConfig","submit","modified","editDepth","code","localeCode","isModalOpen","toggleModal","drawerSlug","localization","routes","api","i18n","t","entityConfig","useMemo","hasNewerVersions","canPublish","scheduledPublishEnabled","hasAutosave","canSchedulePublish","Boolean","hasLocalizedFields","setHasLocalizedFields","hasLocalizedField","fields","isSpecificLocalePublishEnabled","operation","disabled","saveDraft","params","stringify","depth","draft","locale","addQueryPrefix","action","method","apiRoute","path","overrides","_status","skipValidation","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","publish","publishAllLocales","result","publishSpecificLocale","pathSegment","isDefaultPublishAll","defaultLocalePublishOption","activeLocale","locales","find","activeLocaleLabel","_jsxs","Fragment","_jsx","buttonId","enableSubMenu","onClick","size","SubMenuPopupContent","close","ButtonGroup","Button","undefined","type","defaultType","schedulePublishConfig","versions","drafts","schedulePublish","slug"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PublishButtonClientProps } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, hasAutosaveEnabled, hasScheduledPublishEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } 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 { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { PopupList } from '../Popup/index.js'\nimport { ScheduleDrawer } from './ScheduleDrawer/index.js'\n\nexport function PublishButton({ label: labelProp }: PublishButtonClientProps) {\n const {\n id,\n collectionSlug,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: localeCode } = useLocale()\n const { isModalOpen, toggleModal } = useModal()\n\n const drawerSlug = `schedule-publish-${id}`\n\n const {\n localization,\n routes: { api },\n } = config\n\n const { i18n, t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const scheduledPublishEnabled = hasScheduledPublishEnabled(entityConfig)\n\n // If autosave is enabled the modified will always be true so only conditionally check on modified state\n const hasAutosave = hasAutosaveEnabled(entityConfig)\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled &&\n hasPublishPermission &&\n (globalSlug || (collectionSlug && id)) &&\n (hasAutosave || !modified),\n )\n\n const [hasLocalizedFields, setHasLocalizedFields] = useState(false)\n\n useEffect(() => {\n const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields)\n setHasLocalizedFields(hasLocalizedField)\n }, [entityConfig?.fields])\n\n const isSpecificLocalePublishEnabled = localization && hasLocalizedFields && hasPublishPermission\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n draft: true,\n 'fallback-locale': 'null',\n locale: localeCode,\n },\n { addQueryPrefix: true },\n )\n\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${id ? `/${id}` : ''}${params}`,\n })\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${params}`,\n })\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [disabled, localeCode, collectionSlug, globalSlug, submit, api, id])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && hasAutosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(async () => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n locale: localeCode,\n publishAllLocales: true,\n },\n { addQueryPrefix: true },\n )\n\n const action = formatAdminURL({\n apiRoute: api,\n path: `${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}${id ? `/${id}` : ''}`\n }${params}` as `/${string}`,\n })\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n }, [\n localeCode,\n api,\n collectionSlug,\n globalSlug,\n id,\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishSpecificLocale = useCallback(\n async (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n locale,\n publishSpecificLocale: locale,\n },\n { addQueryPrefix: true },\n )\n\n const pathSegment = globalSlug\n ? `/globals/${globalSlug}`\n : `/${collectionSlug}${id ? `/${id}` : ''}`\n const action = formatAdminURL({\n apiRoute: api,\n path: `${pathSegment}${params}` as `/${string}`,\n })\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setHasPublishedDoc(true)\n }\n },\n [api, collectionSlug, globalSlug, id, setHasPublishedDoc, submit, uploadStatus],\n )\n\n // Publish to all locales unless there are localized fields AND defaultLocalePublishOption is 'active'\n const isDefaultPublishAll =\n !isSpecificLocalePublishEnabled ||\n (localization && localization?.defaultLocalePublishOption !== 'active')\n\n const activeLocale =\n localization &&\n localization?.locales.find((locale) =>\n typeof locale === 'string' ? locale === localeCode : locale.code === localeCode,\n )\n\n const activeLocaleLabel = activeLocale && getTranslation(activeLocale.label, i18n)\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n enableSubMenu={canSchedulePublish}\n onClick={isDefaultPublishAll ? publish : () => publishSpecificLocale(activeLocale.code)}\n size=\"medium\"\n SubMenuPopupContent={\n isSpecificLocalePublishEnabled || canSchedulePublish\n ? ({ close }) => {\n return (\n <React.Fragment>\n {canSchedulePublish && (\n <PopupList.ButtonGroup key=\"schedule-publish\">\n <PopupList.Button\n id=\"schedule-publish\"\n onClick={() => [toggleModal(drawerSlug), close()]}\n >\n {t('version:schedulePublish')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n {isSpecificLocalePublishEnabled && (\n <PopupList.ButtonGroup>\n <PopupList.Button\n id=\"publish-locale\"\n onClick={\n isDefaultPublishAll\n ? () => publishSpecificLocale(activeLocale.code)\n : publish\n }\n >\n {isDefaultPublishAll\n ? t('version:publishIn', { locale: activeLocaleLabel })\n : t('version:publishAllLocales')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n </React.Fragment>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {!isDefaultPublishAll ? t('version:publishIn', { locale: activeLocaleLabel }) : label}\n </FormSubmit>\n {canSchedulePublish && isModalOpen(drawerSlug) && (\n <ScheduleDrawer\n defaultType={!hasNewerVersions ? 'unpublish' : 'publish'}\n schedulePublishConfig={\n scheduledPublishEnabled &&\n typeof entityConfig.versions.drafts.schedulePublish === 'object'\n ? entityConfig.versions.drafts.schedulePublish\n : undefined\n }\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","hasAutosaveEnabled","hasScheduledPublishEnabled","qs","React","useCallback","useEffect","useState","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","traverseForLocalizedFields","PopupList","ScheduleDrawer","PublishButton","label","labelProp","id","collectionSlug","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","getEntityConfig","submit","modified","editDepth","code","localeCode","isModalOpen","toggleModal","drawerSlug","localization","routes","api","i18n","t","entityConfig","useMemo","hasNewerVersions","canPublish","scheduledPublishEnabled","hasAutosave","canSchedulePublish","Boolean","hasLocalizedFields","setHasLocalizedFields","hasLocalizedField","fields","isSpecificLocalePublishEnabled","operation","disabled","saveDraft","params","stringify","depth","draft","locale","addQueryPrefix","action","method","apiRoute","path","overrides","_status","skipValidation","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","publish","publishAllLocales","result","publishSpecificLocale","pathSegment","isDefaultPublishAll","defaultLocalePublishOption","activeLocale","locales","find","activeLocaleLabel","_jsxs","Fragment","_jsx","buttonId","enableSubMenu","onClick","size","SubMenuPopupContent","close","ButtonGroup","Button","undefined","type","defaultType","schedulePublishConfig","versions","drafts","schedulePublish","slug"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PublishButtonClientProps } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, hasAutosaveEnabled, hasScheduledPublishEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } 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 { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { PopupList } from '../Popup/index.js'\nimport { ScheduleDrawer } from './ScheduleDrawer/index.js'\n\nexport function PublishButton({\n label: labelProp,\n}: { label?: string } & PublishButtonClientProps = {}) {\n const {\n id,\n collectionSlug,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: localeCode } = useLocale()\n const { isModalOpen, toggleModal } = useModal()\n\n const drawerSlug = `schedule-publish-${id}`\n\n const {\n localization,\n routes: { api },\n } = config\n\n const { i18n, t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const scheduledPublishEnabled = hasScheduledPublishEnabled(entityConfig)\n\n // If autosave is enabled the modified will always be true so only conditionally check on modified state\n const hasAutosave = hasAutosaveEnabled(entityConfig)\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled &&\n hasPublishPermission &&\n (globalSlug || (collectionSlug && id)) &&\n (hasAutosave || !modified),\n )\n\n const [hasLocalizedFields, setHasLocalizedFields] = useState(false)\n\n useEffect(() => {\n const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields)\n setHasLocalizedFields(hasLocalizedField)\n }, [entityConfig?.fields])\n\n const isSpecificLocalePublishEnabled = localization && hasLocalizedFields && hasPublishPermission\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n draft: true,\n 'fallback-locale': 'null',\n locale: localeCode,\n },\n { addQueryPrefix: true },\n )\n\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${id ? `/${id}` : ''}${params}`,\n })\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${params}`,\n })\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [disabled, localeCode, collectionSlug, globalSlug, submit, api, id])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && hasAutosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(async () => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n locale: localeCode,\n publishAllLocales: true,\n },\n { addQueryPrefix: true },\n )\n\n const action = formatAdminURL({\n apiRoute: api,\n path: `${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}${id ? `/${id}` : ''}`\n }${params}` as `/${string}`,\n })\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n }, [\n localeCode,\n api,\n collectionSlug,\n globalSlug,\n id,\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishSpecificLocale = useCallback(\n async (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n locale,\n publishSpecificLocale: locale,\n },\n { addQueryPrefix: true },\n )\n\n const pathSegment = globalSlug\n ? `/globals/${globalSlug}`\n : `/${collectionSlug}${id ? `/${id}` : ''}`\n const action = formatAdminURL({\n apiRoute: api,\n path: `${pathSegment}${params}` as `/${string}`,\n })\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setHasPublishedDoc(true)\n }\n },\n [api, collectionSlug, globalSlug, id, setHasPublishedDoc, submit, uploadStatus],\n )\n\n // Publish to all locales unless there are localized fields AND defaultLocalePublishOption is 'active'\n const isDefaultPublishAll =\n !isSpecificLocalePublishEnabled ||\n (localization && localization?.defaultLocalePublishOption !== 'active')\n\n const activeLocale =\n localization &&\n localization?.locales.find((locale) =>\n typeof locale === 'string' ? locale === localeCode : locale.code === localeCode,\n )\n\n const activeLocaleLabel = activeLocale && getTranslation(activeLocale.label, i18n)\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n enableSubMenu={canSchedulePublish}\n onClick={isDefaultPublishAll ? publish : () => publishSpecificLocale(activeLocale.code)}\n size=\"medium\"\n SubMenuPopupContent={\n isSpecificLocalePublishEnabled || canSchedulePublish\n ? ({ close }) => {\n return (\n <React.Fragment>\n {canSchedulePublish && (\n <PopupList.ButtonGroup key=\"schedule-publish\">\n <PopupList.Button\n id=\"schedule-publish\"\n onClick={() => [toggleModal(drawerSlug), close()]}\n >\n {t('version:schedulePublish')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n {isSpecificLocalePublishEnabled && (\n <PopupList.ButtonGroup>\n <PopupList.Button\n id=\"publish-locale\"\n onClick={\n isDefaultPublishAll\n ? () => publishSpecificLocale(activeLocale.code)\n : publish\n }\n >\n {isDefaultPublishAll\n ? t('version:publishIn', { locale: activeLocaleLabel })\n : t('version:publishAllLocales')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n </React.Fragment>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {!isDefaultPublishAll ? t('version:publishIn', { locale: activeLocaleLabel }) : label}\n </FormSubmit>\n {canSchedulePublish && isModalOpen(drawerSlug) && (\n <ScheduleDrawer\n defaultType={!hasNewerVersions ? 'unpublish' : 'publish'}\n schedulePublishConfig={\n scheduledPublishEnabled &&\n typeof entityConfig.versions.drafts.schedulePublish === 'object'\n ? entityConfig.versions.drafts.schedulePublish\n : undefined\n }\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import type { UnpublishButtonClientProps } from 'payload';
|
|
1
2
|
import React from 'react';
|
|
2
|
-
export declare function UnpublishButton(
|
|
3
|
+
export declare function UnpublishButton({ label: labelProp, }?: {
|
|
4
|
+
label?: string;
|
|
5
|
+
} & UnpublishButtonClientProps): React.JSX.Element;
|
|
3
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishButton/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAMzD,OAAO,KAA2C,MAAM,OAAO,CAAA;AAa/D,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EAAE,SAAS,GACjB,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,0BAA+B,qBAmMtD"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
4
4
|
import { useModal } from '@faceless-ui/modal';
|
|
5
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
+
import { formatAdminURL } from 'payload/shared';
|
|
6
7
|
import * as qs from 'qs-esm';
|
|
7
8
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
8
9
|
import { toast } from 'sonner';
|
|
@@ -16,13 +17,16 @@ import { requests } from '../../utilities/api.js';
|
|
|
16
17
|
import { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js';
|
|
17
18
|
import { ConfirmationModal } from '../ConfirmationModal/index.js';
|
|
18
19
|
import { PopupList } from '../Popup/index.js';
|
|
19
|
-
export function UnpublishButton(
|
|
20
|
+
export function UnpublishButton({
|
|
21
|
+
label: labelProp
|
|
22
|
+
} = {}) {
|
|
20
23
|
const {
|
|
21
24
|
id,
|
|
22
25
|
collectionSlug,
|
|
23
26
|
data: dataFromProps,
|
|
24
27
|
globalSlug,
|
|
25
28
|
hasPublishedDoc,
|
|
29
|
+
hasPublishPermission,
|
|
26
30
|
incrementVersionCount,
|
|
27
31
|
isTrashed,
|
|
28
32
|
setHasPublishedDoc,
|
|
@@ -81,11 +85,19 @@ export function UnpublishButton() {
|
|
|
81
85
|
addQueryPrefix: true
|
|
82
86
|
});
|
|
83
87
|
if (collectionSlug) {
|
|
84
|
-
url =
|
|
88
|
+
url = formatAdminURL({
|
|
89
|
+
apiRoute: api,
|
|
90
|
+
path: `/${collectionSlug}/${id}${queryString}`,
|
|
91
|
+
serverURL
|
|
92
|
+
});
|
|
85
93
|
method = 'patch';
|
|
86
94
|
}
|
|
87
95
|
if (globalSlug) {
|
|
88
|
-
url =
|
|
96
|
+
url = formatAdminURL({
|
|
97
|
+
apiRoute: api,
|
|
98
|
+
path: `/globals/${globalSlug}${queryString}`,
|
|
99
|
+
serverURL
|
|
100
|
+
});
|
|
89
101
|
method = 'post';
|
|
90
102
|
}
|
|
91
103
|
try {
|
|
@@ -134,7 +146,7 @@ export function UnpublishButton() {
|
|
|
134
146
|
const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields);
|
|
135
147
|
setHasLocalizedFields(hasLocalizedField);
|
|
136
148
|
}, [entityConfig?.fields]);
|
|
137
|
-
const canUnpublish = hasPublishedDoc && !isTrashed;
|
|
149
|
+
const canUnpublish = hasPublishPermission && hasPublishedDoc && !isTrashed;
|
|
138
150
|
const canUnpublishCurrentLocale = hasLocalizedFields && canUnpublish;
|
|
139
151
|
return /*#__PURE__*/_jsx(React.Fragment, {
|
|
140
152
|
children: canUnpublish && /*#__PURE__*/_jsxs(_Fragment, {
|
|
@@ -165,7 +177,7 @@ export function UnpublishButton() {
|
|
|
165
177
|
});
|
|
166
178
|
} : undefined,
|
|
167
179
|
type: "button",
|
|
168
|
-
children: t('version:unpublish')
|
|
180
|
+
children: labelProp || t('version:unpublish')
|
|
169
181
|
}), /*#__PURE__*/_jsx(ConfirmationModal, {
|
|
170
182
|
body: !unpublishAll ? t('version:aboutToUnpublishIn', {
|
|
171
183
|
locale: getTranslation(localeLabel, i18n)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useModal","getTranslation","qs","React","useCallback","useEffect","useState","toast","useForm","FormSubmit","useConfig","useDocumentInfo","useLocale","useTranslation","requests","traverseForLocalizedFields","ConfirmationModal","PopupList","UnpublishButton","id","collectionSlug","data","dataFromProps","globalSlug","hasPublishedDoc","incrementVersionCount","isTrashed","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","toggleModal","config","getEntityConfig","reset","resetForm","code","localeCode","label","localeLabel","unpublishAll","setUnpublishAll","unPublishModalSlug","routes","api","serverURL","i18n","t","entityConfig","useMemo","unpublish","url","method","queryString","stringify","depth","locale","undefined","unpublishAllLocales","addQueryPrefix","res","body","JSON","_status","headers","language","status","success","json","errors","message","error","catch","hasLocalizedFields","setHasLocalizedFields","hasLocalizedField","fields","canUnpublish","canUnpublishCurrentLocale","_jsx","Fragment","_jsxs","_Fragment","buttonId","disabled","enableSubMenu","onClick","size","SubMenuPopupContent","close","ButtonGroup","Button","type","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/UnpublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { PopupList } from '../Popup/index.js'\nexport function UnpublishButton() {\n const {\n id,\n collectionSlug,\n data: dataFromProps,\n globalSlug,\n hasPublishedDoc,\n incrementVersionCount,\n isTrashed,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n } = useDocumentInfo()\n const { toggleModal } = useModal()\n\n const { config, getEntityConfig } = useConfig()\n const { reset: resetForm } = useForm()\n const { code: localeCode, label: localeLabel } = useLocale()\n const [unpublishAll, setUnpublishAll] = useState(false)\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n\n const {\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const unpublish = useCallback(\n (unpublishAll?: boolean) => {\n ; (async () => {\n let url\n let method\n\n const queryString = qs.stringify(\n {\n depth: 0,\n 'fallback-locale': 'null',\n locale: unpublishAll ? undefined : localeCode,\n unpublishAllLocales: unpublishAll,\n },\n { addQueryPrefix: true },\n )\n\n if (collectionSlug) {\n url = `${serverURL}${api}/${collectionSlug}/${id}${queryString}`\n method = 'patch'\n }\n\n if (globalSlug) {\n url = `${serverURL}${api}/globals/${globalSlug}${queryString}`\n method = 'post'\n }\n\n try {\n const res = await requests[method](url, {\n body: JSON.stringify({ _status: 'draft' }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n void resetForm({\n ...(dataFromProps || {}),\n _status: 'draft',\n })\n\n toast.success(t('version:unpublishedSuccessfully'))\n incrementVersionCount()\n setUnpublishedVersionCount(1)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(false)\n } else {\n try {\n const json = await res.json()\n if (json.errors?.[0]?.message) {\n toast.error(json.errors[0].message)\n } else if (json.error) {\n toast.error(json.error)\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n } catch {\n toast.error(t('error:unPublishingDocument'))\n }\n }\n } catch {\n toast.error(t('error:unPublishingDocument'))\n }\n })().catch(() => {\n toast.error(t('error:unPublishingDocument'))\n })\n },\n [\n dataFromProps,\n resetForm,\n collectionSlug,\n globalSlug,\n serverURL,\n api,\n localeCode,\n id,\n i18n.language,\n incrementVersionCount,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n t,\n ],\n )\n\n const [hasLocalizedFields, setHasLocalizedFields] = useState(false)\n\n useEffect(() => {\n const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields)\n setHasLocalizedFields(hasLocalizedField)\n }, [entityConfig?.fields])\n\n const canUnpublish = hasPublishedDoc && !isTrashed\n const canUnpublishCurrentLocale = hasLocalizedFields && canUnpublish\n\n return (\n <React.Fragment>\n {canUnpublish && (\n <>\n <FormSubmit\n buttonId=\"action-unpublish\"\n disabled={!canUnpublish}\n enableSubMenu={canUnpublishCurrentLocale}\n onClick={() => {\n setUnpublishAll(true)\n toggleModal(unPublishModalSlug)\n }}\n size=\"medium\"\n SubMenuPopupContent={\n canUnpublishCurrentLocale\n ? ({ close }) => {\n return (\n <PopupList.ButtonGroup>\n <PopupList.Button\n id=\"action-unpublish-locale\"\n onClick={() => {\n setUnpublishAll(false)\n toggleModal(unPublishModalSlug)\n close()\n }}\n >\n {t('version:unpublishIn', { locale: getTranslation(localeLabel, i18n) })}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {t('version:unpublish')}\n </FormSubmit>\n <ConfirmationModal\n body={\n !unpublishAll\n ? t('version:aboutToUnpublishIn', { locale: getTranslation(localeLabel, i18n) })\n : t('version:aboutToUnpublish')\n }\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={unPublishModalSlug}\n onConfirm={() => unpublish(unpublishAll)}\n />\n </>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","qs","React","useCallback","useEffect","useState","toast","useForm","FormSubmit","useConfig","useDocumentInfo","useLocale","useTranslation","requests","traverseForLocalizedFields","ConfirmationModal","PopupList","UnpublishButton","label","labelProp","id","collectionSlug","data","dataFromProps","globalSlug","hasPublishedDoc","hasPublishPermission","incrementVersionCount","isTrashed","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","toggleModal","config","getEntityConfig","reset","resetForm","code","localeCode","localeLabel","unpublishAll","setUnpublishAll","unPublishModalSlug","routes","api","serverURL","i18n","t","entityConfig","useMemo","unpublish","url","method","queryString","stringify","depth","locale","undefined","unpublishAllLocales","addQueryPrefix","apiRoute","path","res","body","JSON","_status","headers","language","status","success","json","errors","message","error","catch","hasLocalizedFields","setHasLocalizedFields","hasLocalizedField","fields","canUnpublish","canUnpublishCurrentLocale","_jsx","Fragment","_jsxs","_Fragment","buttonId","disabled","enableSubMenu","onClick","size","SubMenuPopupContent","close","ButtonGroup","Button","type","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/UnpublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UnpublishButtonClientProps } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { PopupList } from '../Popup/index.js'\nexport function UnpublishButton({\n label: labelProp,\n}: { label?: string } & UnpublishButtonClientProps = {}) {\n const {\n id,\n collectionSlug,\n data: dataFromProps,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n incrementVersionCount,\n isTrashed,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n } = useDocumentInfo()\n const { toggleModal } = useModal()\n\n const { config, getEntityConfig } = useConfig()\n const { reset: resetForm } = useForm()\n const { code: localeCode, label: localeLabel } = useLocale()\n const [unpublishAll, setUnpublishAll] = useState(false)\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n\n const {\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const unpublish = useCallback(\n (unpublishAll?: boolean) => {\n ;(async () => {\n let url\n let method\n\n const queryString = qs.stringify(\n {\n depth: 0,\n 'fallback-locale': 'null',\n locale: unpublishAll ? undefined : localeCode,\n unpublishAllLocales: unpublishAll,\n },\n { addQueryPrefix: true },\n )\n\n if (collectionSlug) {\n url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}/${id}${queryString}`,\n serverURL,\n })\n method = 'patch'\n }\n\n if (globalSlug) {\n url = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${queryString}`,\n serverURL,\n })\n method = 'post'\n }\n\n try {\n const res = await requests[method](url, {\n body: JSON.stringify({ _status: 'draft' }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n void resetForm({\n ...(dataFromProps || {}),\n _status: 'draft',\n })\n\n toast.success(t('version:unpublishedSuccessfully'))\n incrementVersionCount()\n setUnpublishedVersionCount(1)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(false)\n } else {\n try {\n const json = await res.json()\n if (json.errors?.[0]?.message) {\n toast.error(json.errors[0].message)\n } else if (json.error) {\n toast.error(json.error)\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n } catch {\n toast.error(t('error:unPublishingDocument'))\n }\n }\n } catch {\n toast.error(t('error:unPublishingDocument'))\n }\n })().catch(() => {\n toast.error(t('error:unPublishingDocument'))\n })\n },\n [\n dataFromProps,\n resetForm,\n collectionSlug,\n globalSlug,\n serverURL,\n api,\n localeCode,\n id,\n i18n.language,\n incrementVersionCount,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n t,\n ],\n )\n\n const [hasLocalizedFields, setHasLocalizedFields] = useState(false)\n\n useEffect(() => {\n const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields)\n setHasLocalizedFields(hasLocalizedField)\n }, [entityConfig?.fields])\n\n const canUnpublish = hasPublishPermission && hasPublishedDoc && !isTrashed\n const canUnpublishCurrentLocale = hasLocalizedFields && canUnpublish\n\n return (\n <React.Fragment>\n {canUnpublish && (\n <>\n <FormSubmit\n buttonId=\"action-unpublish\"\n disabled={!canUnpublish}\n enableSubMenu={canUnpublishCurrentLocale}\n onClick={() => {\n setUnpublishAll(true)\n toggleModal(unPublishModalSlug)\n }}\n size=\"medium\"\n SubMenuPopupContent={\n canUnpublishCurrentLocale\n ? ({ close }) => {\n return (\n <PopupList.ButtonGroup>\n <PopupList.Button\n id=\"action-unpublish-locale\"\n onClick={() => {\n setUnpublishAll(false)\n toggleModal(unPublishModalSlug)\n close()\n }}\n >\n {t('version:unpublishIn', { locale: getTranslation(localeLabel, i18n) })}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {labelProp || t('version:unpublish')}\n </FormSubmit>\n <ConfirmationModal\n body={\n !unpublishAll\n ? t('version:aboutToUnpublishIn', { locale: getTranslation(localeLabel, i18n) })\n : t('version:aboutToUnpublish')\n }\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={unPublishModalSlug}\n onConfirm={() => unpublish(unpublishAll)}\n />\n </>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ import React from 'react';
|
|
|
8
8
|
* rendering the original component.
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
11
|
-
* const PredefinedComponent =
|
|
11
|
+
* const PredefinedComponent = getMergedPropsComponent({
|
|
12
12
|
* Component: OriginalComponent,
|
|
13
13
|
* toMergeIntoProps: { someExtraValue: 5 }
|
|
14
14
|
* });
|
|
@@ -10,7 +10,7 @@ import React from 'react';
|
|
|
10
10
|
* rendering the original component.
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
13
|
-
* const PredefinedComponent =
|
|
13
|
+
* const PredefinedComponent = getMergedPropsComponent({
|
|
14
14
|
* Component: OriginalComponent,
|
|
15
15
|
* toMergeIntoProps: { someExtraValue: 5 }
|
|
16
16
|
* });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["isReactServerComponentOrFunction","serverProps","React","withMergedProps","Component","sanitizeServerOnlyProps","toMergeIntoProps","undefined","MergedPropsComponent","passedProps","mergedProps","simpleMergeProps","forEach","prop","_jsx","props","toMerge"],"sources":["../../../src/elements/withMergedProps/index.tsx"],"sourcesContent":["import { isReactServerComponentOrFunction, serverProps } from 'payload/shared'\nimport React from 'react'\n\n/**\n * Creates a higher-order component (HOC) that merges predefined properties (`toMergeIntoProps`)\n * with any properties passed to the resulting component.\n *\n * Use this when you want to pre-specify some props for a component, while also allowing users to\n * pass in their own props. The HOC ensures the passed props and predefined props are combined before\n * rendering the original component.\n *\n * @example\n * const PredefinedComponent =
|
|
1
|
+
{"version":3,"file":"index.js","names":["isReactServerComponentOrFunction","serverProps","React","withMergedProps","Component","sanitizeServerOnlyProps","toMergeIntoProps","undefined","MergedPropsComponent","passedProps","mergedProps","simpleMergeProps","forEach","prop","_jsx","props","toMerge"],"sources":["../../../src/elements/withMergedProps/index.tsx"],"sourcesContent":["import { isReactServerComponentOrFunction, serverProps } from 'payload/shared'\nimport React from 'react'\n\n/**\n * Creates a higher-order component (HOC) that merges predefined properties (`toMergeIntoProps`)\n * with any properties passed to the resulting component.\n *\n * Use this when you want to pre-specify some props for a component, while also allowing users to\n * pass in their own props. The HOC ensures the passed props and predefined props are combined before\n * rendering the original component.\n *\n * @example\n * const PredefinedComponent = getMergedPropsComponent({\n * Component: OriginalComponent,\n * toMergeIntoProps: { someExtraValue: 5 }\n * });\n * // Using <PredefinedComponent customProp=\"value\" /> will result in\n * // <OriginalComponent customProp=\"value\" someExtraValue={5} />\n *\n * @returns A higher-order component with combined properties.\n *\n * @param Component - The original component to wrap.\n * @param sanitizeServerOnlyProps - If true, server-only props will be removed from the merged props. @default true if the component is not a server component, false otherwise.\n * @param toMergeIntoProps - The properties to merge into the passed props.\n */\nexport function withMergedProps<ToMergeIntoProps, CompleteReturnProps>({\n Component,\n sanitizeServerOnlyProps,\n toMergeIntoProps,\n}: {\n Component: React.FC<CompleteReturnProps>\n sanitizeServerOnlyProps?: boolean\n toMergeIntoProps: ToMergeIntoProps\n}): React.FC<CompleteReturnProps> {\n if (sanitizeServerOnlyProps === undefined) {\n sanitizeServerOnlyProps = !isReactServerComponentOrFunction(Component)\n }\n // A wrapper around the args.Component to inject the args.toMergeArgs as props, which are merged with the passed props\n const MergedPropsComponent: React.FC<CompleteReturnProps> = (passedProps) => {\n const mergedProps = simpleMergeProps(passedProps, toMergeIntoProps) as CompleteReturnProps\n\n if (sanitizeServerOnlyProps) {\n serverProps.forEach((prop) => {\n delete mergedProps[prop]\n })\n }\n\n return <Component {...mergedProps} />\n }\n\n return MergedPropsComponent\n}\n\nfunction simpleMergeProps(props, toMerge) {\n return { ...props, ...toMerge }\n}\n"],"mappings":";AAAA,SAASA,gCAAgC,EAAEC,WAAW,QAAQ;AAC9D,OAAOC,KAAA,MAAW;AAElB;;;;;;;;;;;;;;;;;;;;;;AAsBA,OAAO,SAASC,gBAAuD;EACrEC,SAAS;EACTC,uBAAuB;EACvBC;AAAgB,CAKjB;EACC,IAAID,uBAAA,KAA4BE,SAAA,EAAW;IACzCF,uBAAA,GAA0B,CAACL,gCAAA,CAAiCI,SAAA;EAC9D;EACA;EACA,MAAMI,oBAAA,GAAuDC,WAAA;IAC3D,MAAMC,WAAA,GAAcC,gBAAA,CAAiBF,WAAA,EAAaH,gBAAA;IAElD,IAAID,uBAAA,EAAyB;MAC3BJ,WAAA,CAAYW,OAAO,CAAEC,IAAA;QACnB,OAAOH,WAAW,CAACG,IAAA,CAAK;MAC1B;IACF;IAEA,oBAAOC,IAAA,CAACV,SAAA;MAAW,GAAGM;;EACxB;EAEA,OAAOF,oBAAA;AACT;AAEA,SAASG,iBAAiBI,KAAK,EAAEC,OAAO;EACtC,OAAO;IAAE,GAAGD,KAAK;IAAE,GAAGC;EAAQ;AAChC","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-J46CQZ3T.js";import"./chunk-5LKBKI4T.js";export{a as default};
|
|
14
|
+
//# sourceMappingURL=CodeEditor-X3UZSEEZ.js.map
|
|
@@ -10,5 +10,5 @@ function require(m) {
|
|
|
10
10
|
}
|
|
11
11
|
// Workaround end
|
|
12
12
|
|
|
13
|
-
import{n as a}from"./chunk-
|
|
14
|
-
//# sourceMappingURL=DatePicker-
|
|
13
|
+
import{n as a}from"./chunk-USMS5YRL.js";import"./chunk-5LKBKI4T.js";export{a as default};
|
|
14
|
+
//# sourceMappingURL=DatePicker-GT6CXMEH.js.map
|
|
@@ -11,7 +11,7 @@ function require(m) {
|
|
|
11
11
|
// Workaround end
|
|
12
12
|
|
|
13
13
|
import{c as Cr}from"react/compiler-runtime";import{jsx as qe}from"react/jsx-runtime";function me(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 Ye(t){if(Array.isArray(t))return t}function Je(t,e,r){return(e=tt(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Qe(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,o,i,c,u=[],a=!0,s=!1;try{if(i=(r=r.call(t)).next,e!==0)for(;!(a=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);a=!0);}catch(l){s=!0,o=l}finally{try{if(!a&&r.return!=null&&(c=r.return(),Object(c)!==c))return}finally{if(s)throw o}}return u}}function Xe(){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 pe(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).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?pe(Object(r),!0).forEach(function(n){Je(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):pe(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function ge(t,e){if(t==null)return{};var r,n,o=Ze(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)r=i[n],e.indexOf(r)===-1&&{}.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function Ze(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 he(t,e){return Ye(t)||Qe(t,e)||rt(t,e)||Xe()}function et(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 tt(t){var e=et(t,"string");return typeof e=="symbol"?e:e+""}function rt(t,e){if(t){if(typeof t=="string")return me(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)?me(t,e):void 0}}function nt(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ve(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function be(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ve(Object(r),!0).forEach(function(n){nt(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ve(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function ot(){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(o,i){return i(o)},n)}}function z(t){return function e(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=t.length?t.apply(this,o):function(){for(var c=arguments.length,u=new Array(c),a=0;a<c;a++)u[a]=arguments[a];return e.apply(r,[].concat(o,u))}}}function G(t){return{}.toString.call(t).includes("Object")}function it(t){return!Object.keys(t).length}function B(t){return typeof t=="function"}function at(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function ct(t,e){return G(e)||D("changeType"),Object.keys(e).some(function(r){return!at(t,r)})&&D("changeField"),e}function ut(t){B(t)||D("selectorType")}function st(t){B(t)||G(t)||D("handlerType"),G(t)&&Object.values(t).some(function(e){return!B(e)})&&D("handlersType")}function lt(t){t||D("initialIsRequired"),G(t)||D("initialType"),it(t)&&D("initialContent")}function ft(t,e){throw new Error(t[e]||t.default)}var dt={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"},D=z(ft)(dt),K={changes:ct,selector:ut,handler:st,initial:lt};function mt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};K.initial(t),K.handler(e);var r={current:t},n=z(ht)(r,e),o=z(gt)(r),i=z(K.changes)(t),c=z(pt)(r);function u(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(l){return l};return K.selector(s),s(r.current)}function a(s){ot(n,o,i,c)(s)}return[u,a]}function pt(t,e){return B(e)?e(t.current):e}function gt(t,e){return t.current=be(be({},t.current),e),e}function ht(t,e,r){return B(e)?e(t.current):Object.keys(r).forEach(function(n){var o;return(o=e[n])===null||o===void 0?void 0:o.call(e,t.current[n])}),r}var vt={create:mt},ye=vt;var we={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}};function Oe(t){return function e(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=t.length?t.apply(this,o):function(){for(var c=arguments.length,u=new Array(c),a=0;a<c;a++)u[a]=arguments[a];return e.apply(r,[].concat(o,u))}}}function je(t){return{}.toString.call(t).includes("Object")}function bt(t){return t||
|
|
14
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pe(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).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?pe(Object(r),!0).forEach(function(n){Je(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):pe(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function ge(t,e){if(t==null)return{};var r,n,o=Ze(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)r=i[n],e.indexOf(r)===-1&&{}.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function Ze(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 he(t,e){return Ye(t)||Qe(t,e)||rt(t,e)||Xe()}function et(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 tt(t){var e=et(t,"string");return typeof e=="symbol"?e:e+""}function rt(t,e){if(t){if(typeof t=="string")return me(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)?me(t,e):void 0}}function nt(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ve(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function be(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ve(Object(r),!0).forEach(function(n){nt(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ve(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function ot(){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(o,i){return i(o)},n)}}function z(t){return function e(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=t.length?t.apply(this,o):function(){for(var c=arguments.length,u=new Array(c),a=0;a<c;a++)u[a]=arguments[a];return e.apply(r,[].concat(o,u))}}}function G(t){return{}.toString.call(t).includes("Object")}function it(t){return!Object.keys(t).length}function B(t){return typeof t=="function"}function at(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function ct(t,e){return G(e)||D("changeType"),Object.keys(e).some(function(r){return!at(t,r)})&&D("changeField"),e}function ut(t){B(t)||D("selectorType")}function st(t){B(t)||G(t)||D("handlerType"),G(t)&&Object.values(t).some(function(e){return!B(e)})&&D("handlersType")}function lt(t){t||D("initialIsRequired"),G(t)||D("initialType"),it(t)&&D("initialContent")}function ft(t,e){throw new Error(t[e]||t.default)}var dt={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"},D=z(ft)(dt),K={changes:ct,selector:ut,handler:st,initial:lt};function mt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};K.initial(t),K.handler(e);var r={current:t},n=z(ht)(r,e),o=z(gt)(r),i=z(K.changes)(t),c=z(pt)(r);function u(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(l){return l};return K.selector(s),s(r.current)}function a(s){ot(n,o,i,c)(s)}return[u,a]}function pt(t,e){return B(e)?e(t.current):e}function gt(t,e){return t.current=be(be({},t.current),e),e}function ht(t,e,r){return B(e)?e(t.current):Object.keys(r).forEach(function(n){var o;return(o=e[n])===null||o===void 0?void 0:o.call(e,t.current[n])}),r}var vt={create:mt},ye=vt;var we={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}};function Oe(t){return function e(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=t.length?t.apply(this,o):function(){for(var c=arguments.length,u=new Array(c),a=0;a<c;a++)u[a]=arguments[a];return e.apply(r,[].concat(o,u))}}}function je(t){return{}.toString.call(t).includes("Object")}function bt(t){return t||Se("configIsRequired"),je(t)||Se("configType"),t.urls?(yt(),{paths:{vs:t.urls.monacoBase}}):t}function yt(){console.warn(Me.deprecation)}function wt(t,e){throw new Error(t[e]||t.default)}var Me={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
15
|
You are using deprecated way of configuration.
|
|
16
16
|
|
|
17
17
|
Instead of using
|
|
@@ -20,8 +20,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
20
20
|
monaco.config({ paths: { vs: '...' } })
|
|
21
21
|
|
|
22
22
|
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
23
|
-
`},Me=Oe(wt)(Se),xe={config:bt};var Pe=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return function(o){return r.reduceRight(function(i,c){return c(i)},o)}};function ie(t,e){return Object.keys(e).forEach(function(r){e[r]instanceof Object&&t[r]&&Object.assign(e[r],ie(t[r],e[r]))}),oe(oe({},t),e)}var Ot={type:"cancelation",msg:"operation is manually canceled"};function Y(t){var e=!1,r=new Promise(function(n,o){t.then(function(i){return e?o(Ot):n(i)}),t.catch(o)});return r.cancel=function(){return e=!0},r}var jt=["monaco"],Mt=ye.create({config:we,isInitialized:!1,resolve:null,reject:null,monaco:null}),Ee=he(Mt,2),V=Ee[0],J=Ee[1];function St(t){var e=xe.config(t),r=e.monaco,n=ge(e,jt);J(function(o){return{config:ie(o.config,n),monaco:r}})}function xt(){var t=V(function(e){var r=e.monaco,n=e.isInitialized,o=e.resolve;return{monaco:r,isInitialized:n,resolve:o}});if(!t.isInitialized){if(J({isInitialized:!0}),t.monaco)return t.resolve(t.monaco),Y(ae);if(window.monaco&&window.monaco.editor)return Ce(window.monaco),t.resolve(window.monaco),Y(ae);Pe(Pt,Ct)(Tt)}return Y(ae)}function Pt(t){return document.body.appendChild(t)}function Et(t){var e=document.createElement("script");return t&&(e.src=t),e}function Ct(t){var e=V(function(n){var o=n.config,i=n.reject;return{config:o,reject:i}}),r=Et("".concat(e.config.paths.vs,"/loader.js"));return r.onload=function(){return t()},r.onerror=e.reject,r}function Tt(){var t=V(function(r){var n=r.config,o=r.resolve,i=r.reject;return{config:n,resolve:o,reject:i}}),e=window.require;e.config(t.config),e(["vs/editor/editor.main"],function(r){var n=r.m||r;Ce(n),t.resolve(n)},function(r){t.reject(r)})}function Ce(t){V().monaco||J({monaco:t})}function At(){return V(function(t){var e=t.monaco;return e})}var ae=new Promise(function(t,e){return J({resolve:t,reject:e})}),$={config:St,init:xt,__getMonacoInstance:At};import{memo as Rt}from"react";import It,{useState as Te,useRef as W,useCallback as Ae,useEffect as Re}from"react";import{memo as Dt}from"react";import ce from"react";import _t from"react";import{useEffect as Vt}from"react";import{useEffect as Ut,useRef as qt}from"react";import{useState as mn}from"react";import{memo as Xt}from"react";import Zt,{useState as Ie,useEffect as Q,useRef as R,useCallback as er}from"react";import{useEffect as tr,useRef as rr}from"react";var Lt={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},ue=Lt,$t={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},Wt=$t;function kt({children:t}){return _t.createElement("div",{style:Wt.container},t)}var Nt=kt,Ht=Nt;function zt({width:t,height:e,isEditorReady:r,loading:n,_ref:o,className:i,wrapperProps:c}){return ce.createElement("section",{style:{...ue.wrapper,width:t,height:e},...c},!r&&ce.createElement(Ht,null,n),ce.createElement("div",{ref:o,style:{...ue.fullWidth,...!r&&ue.hide},className:i}))}var Bt=zt,De=Dt(Bt);function Ft(t){Vt(t,[])}var Le=Ft;function Kt(t,e,r=!0){let n=qt(!0);Ut(n.current||!r?()=>{n.current=!1}:t,e)}var S=Kt;function F(){}function k(t,e,r,n){return Gt(t,n)||Yt(t,e,r,n)}function Gt(t,e){return t.editor.getModel(_e(t,e))}function Yt(t,e,r,n){return t.editor.createModel(e,r,n?_e(t,n):void 0)}function _e(t,e){return t.Uri.parse(e)}function Jt({original:t,modified:e,language:r,originalLanguage:n,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:c,keepCurrentOriginalModel:u=!1,keepCurrentModifiedModel:a=!1,theme:s="light",loading:l="Loading...",options:d={},height:x="100%",width:w="100%",className:M,wrapperProps:E={},beforeMount:p=F,onMount:P=F}){let[y,L]=Te(!1),[A,g]=Te(!0),h=W(null),v=W(null),C=W(null),b=W(P),f=W(p),T=W(!1);Le(()=>{let m=$.init();return m.then(O=>(v.current=O)&&g(!1)).catch(O=>O?.type!=="cancelation"&&console.error("Monaco initialization: error:",O)),()=>h.current?H():m.cancel()}),S(()=>{if(h.current&&v.current){let m=h.current.getOriginalEditor(),O=k(v.current,t||"",n||r||"text",i||"");O!==m.getModel()&&m.setModel(O)}},[i],y),S(()=>{if(h.current&&v.current){let m=h.current.getModifiedEditor(),O=k(v.current,e||"",o||r||"text",c||"");O!==m.getModel()&&m.setModel(O)}},[c],y),S(()=>{let m=h.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),S(()=>{h.current?.getModel()?.original.setValue(t||"")},[t],y),S(()=>{let{original:m,modified:O}=h.current.getModel();v.current.editor.setModelLanguage(m,n||r||"text"),v.current.editor.setModelLanguage(O,o||r||"text")},[r,n,o],y),S(()=>{v.current?.editor.setTheme(s)},[s],y),S(()=>{h.current?.updateOptions(d)},[d],y);let _=Ae(()=>{if(!v.current)return;f.current(v.current);let m=k(v.current,t||"",n||r||"text",i||""),O=k(v.current,e||"",o||r||"text",c||"");h.current?.setModel({original:m,modified:O})},[r,e,o,t,n,i,c]),q=Ae(()=>{!T.current&&C.current&&(h.current=v.current.editor.createDiffEditor(C.current,{automaticLayout:!0,...d}),_(),v.current?.editor.setTheme(s),L(!0),T.current=!0)},[d,s,_]);Re(()=>{y&&b.current(h.current,v.current)},[y]),Re(()=>{!A&&!y&&q()},[A,y,q]);function H(){let m=h.current?.getModel();u||m?.original?.dispose(),a||m?.modified?.dispose(),h.current?.dispose()}return It.createElement(De,{width:w,height:x,isEditorReady:y,loading:l,_ref:C,className:M,wrapperProps:E})}var Qt=Jt,fn=Rt(Qt);function nr(t){let e=rr();return tr(()=>{e.current=t},[t]),e.current}var or=nr,X=new Map;function ir({defaultValue:t,defaultLanguage:e,defaultPath:r,value:n,language:o,path:i,theme:c="light",line:u,loading:a="Loading...",options:s={},overrideServices:l={},saveViewState:d=!0,keepCurrentModel:x=!1,width:w="100%",height:M="100%",className:E,wrapperProps:p={},beforeMount:P=F,onMount:y=F,onChange:L,onValidate:A=F}){let[g,h]=Ie(!1),[v,C]=Ie(!0),b=R(null),f=R(null),T=R(null),_=R(y),q=R(P),H=R(),m=R(n),O=or(i),fe=R(!1),te=R(!1);Le(()=>{let j=$.init();return j.then(I=>(b.current=I)&&C(!1)).catch(I=>I?.type!=="cancelation"&&console.error("Monaco initialization: error:",I)),()=>f.current?Ge():j.cancel()}),S(()=>{let j=k(b.current,t||n||"",e||o||"",i||r||"");j!==f.current?.getModel()&&(d&&X.set(O,f.current?.saveViewState()),f.current?.setModel(j),d&&f.current?.restoreViewState(X.get(i)))},[i],g),S(()=>{f.current?.updateOptions(s)},[s],g),S(()=>{!f.current||n===void 0||(f.current.getOption(b.current.editor.EditorOption.readOnly)?f.current.setValue(n):n!==f.current.getValue()&&(te.current=!0,f.current.executeEdits("",[{range:f.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),f.current.pushUndoStop(),te.current=!1))},[n],g),S(()=>{let j=f.current?.getModel();j&&o&&b.current?.editor.setModelLanguage(j,o)},[o],g),S(()=>{u!==void 0&&f.current?.revealLine(u)},[u],g),S(()=>{b.current?.editor.setTheme(c)},[c],g);let de=er(()=>{if(!(!T.current||!b.current)&&!fe.current){q.current(b.current);let j=i||r,I=k(b.current,n||t||"",e||o||"",j||"");f.current=b.current?.editor.create(T.current,{model:I,automaticLayout:!0,...s},l),d&&f.current.restoreViewState(X.get(j)),b.current.editor.setTheme(c),u!==void 0&&f.current.revealLine(u),h(!0),fe.current=!0}},[t,e,r,n,o,i,s,l,d,c,u]);Q(()=>{g&&_.current(f.current,b.current)},[g]),Q(()=>{!v&&!g&&de()},[v,g,de]),m.current=n,Q(()=>{g&&L&&(H.current?.dispose(),H.current=f.current?.onDidChangeModelContent(j=>{te.current||L(f.current.getValue(),j)}))},[g,L]),Q(()=>{if(g){let j=b.current.editor.onDidChangeMarkers(I=>{let re=f.current.getModel()?.uri;if(re&&I.find(ne=>ne.path===re.path)){let ne=b.current.editor.getModelMarkers({resource:re});A?.(ne)}});return()=>{j?.dispose()}}return()=>{}},[g,A]);function Ge(){H.current?.dispose(),x?d&&X.set(i,f.current.saveViewState()):f.current.getModel()?.dispose(),f.current.dispose()}return Zt.createElement(De,{width:w,height:M,isEditorReady:g,loading:a,_ref:T,className:E,wrapperProps:p})}var ar=ir,cr=Xt(ar),Z=cr;import Ke,{useState as Tr}from"react";import{c as br}from"react/compiler-runtime";import{jsx as yr}from"react/jsx-runtime";import{createContext as wr,use as Or,useEffect as jr,useState as He}from"react";import{c as dr}from"react/compiler-runtime";import{jsx as ke}from"react/jsx-runtime";import{createContext as mr,use as pr,useCallback as gr,useEffect as hr,useMemo as We}from"react";import{c as ur}from"react/compiler-runtime";import{useEffect as sr,useRef as lr,useState as fr}from"react";function $e(t,e){let r=ur(5),[n,o]=fr(t),i=lr(!0),c,u;r[0]!==t?(c=()=>{if(i.current){i.current=!1;return}o(t)},u=[t],r[0]=t,r[1]=c,r[2]=u):(c=r[1],u=r[2]),sr(c,u);let a=n??e,s;return r[3]!==a?(s=[a,o],r[3]=a,r[4]=s):s=r[4],s}var Ne=mr(void 0),vr=({children:t,config:e})=>{let[r,n]=$e(e),{collectionsBySlug:o,globalsBySlug:i}=We(()=>{let a={},s={};for(let l of r.collections)a[l.slug]=l;for(let l of r.globals)s[l.slug]=l;return{collectionsBySlug:a,globalsBySlug:s}},[r]),c=gr(a=>"collectionSlug"in a?o[a.collectionSlug]??null:"globalSlug"in a?i[a.globalSlug]??null:null,[o,i]),u=We(()=>({config:r,getEntityConfig:c,setConfig:n}),[r,c,n]);return ke(Ne,{value:u,children:t})},se=()=>pr(Ne),Cn=t=>{let e=dr(7),{children:r,config:n}=t,{config:o,setConfig:i}=se(),c,u;if(e[0]!==n||e[1]!==i?(c=()=>{i(n)},u=[n,i],e[0]=n,e[1]=i,e[2]=c,e[3]=u):(c=e[2],u=e[3]),hr(c,u),o!==n&&o.unauthenticated!==n.unauthenticated){let a;return e[4]!==r||e[5]!==n?(a=ke(vr,{config:n,children:r}),e[4]=r,e[5]=n,e[6]=a):a=e[6],a}return r};var Mr={autoMode:!0,setTheme:()=>null,theme:"light"},Be=wr(Mr);function ze(t,e,r){let n=new Date;n.setTime(n.getTime()+r*24*60*60*1e3);let o="expires="+n.toUTCString();document.cookie=t+"="+e+";"+o+";path=/"}var Sr=t=>{let e,r=window.document.cookie.split("; ").find(n=>n.startsWith(`${t}=`))?.split("=")[1];return r==="light"||r==="dark"?e=r:e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",e),{theme:e,themeFromCookies:r}},xr="light",$n=t=>{let e=br(11),{children:r,theme:n}=t,{config:o}=se(),i=o.admin.theme,c=`${o.cookiePrefix||"payload"}-theme`,[u,a]=He(n||xr),[s,l]=He(),d,x;e[0]!==c||e[1]!==i?(d=()=>{if(i!=="all")return;let{theme:p,themeFromCookies:P}=Sr(c);a(p),l(!P)},x=[i,c],e[0]=c,e[1]=i,e[2]=d,e[3]=x):(d=e[2],x=e[3]),jr(d,x);let w;e[4]!==c?(w=p=>{if(p==="light"||p==="dark")a(p),l(!1),ze(c,p,365),document.documentElement.setAttribute("data-theme",p);else if(p==="auto"){ze(c,p,-1);let P=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";document.documentElement.setAttribute("data-theme",P),l(!0),a(P)}},e[4]=c,e[5]=w):w=e[5];let M=w,E;return e[6]!==s||e[7]!==r||e[8]!==M||e[9]!==u?(E=yr(Be,{value:{autoMode:s,setTheme:M,theme:u},children:r}),e[6]=s,e[7]=r,e[8]=M,e[9]=u,e[10]=E):E=e[10],E},Ve=()=>Or(Be);import{c as Er}from"react/compiler-runtime";import{jsx as U}from"react/jsx-runtime";import"react";import{c as Pr}from"react/compiler-runtime";import*as N from"react";var Fe=(t,e)=>{let r=Pr(9),n=e===void 0?!1:e,[o,i]=N.useState(!1),c=N.useRef(void 0),u;r[0]!==t?(u=()=>(i(!1),clearTimeout(c.current),c.current=setTimeout(()=>{i(!0)},t),()=>{clearTimeout(c.current)}),r[0]=t,r[1]=u):u=r[1];let a=u,s,l;r[2]!==a||r[3]!==n?(s=()=>{n&&a()},l=[a,n],r[2]=a,r[3]=n,r[4]=s,r[5]=l):(s=r[4],l=r[5]),N.useEffect(s,l);let d;return r[6]!==o||r[7]!==a?(d=[o,a],r[6]=o,r[7]=a,r[8]=d):d=r[8],d};var le=({animationDelay:t="0ms",className:e,disableInlineStyles:r=!1,height:n="60px",width:o="100%"})=>U("div",{className:["shimmer-effect",e].filter(Boolean).join(" "),style:{height:!r&&(typeof n=="number"?`${n}px`:n),width:!r&&(typeof o=="number"?`${o}px`:o)},children:U("div",{className:"shimmer-effect__shine",style:{animationDelay:t}})}),Fn=t=>{let e=Er(9),{className:r,count:n,height:o,renderDelay:i,shimmerDelay:c,shimmerItemClassName:u,width:a}=t,s=i===void 0?500:i,l=c===void 0?25:c,d=typeof l=="number"?`${l}ms`:l,[x]=Fe(s,!0);if(!x)return null;let w;e[0]!==n?(w=[...Array(n)],e[0]=n,e[1]=w):w=e[1];let M;return e[2]!==r||e[3]!==o||e[4]!==d||e[5]!==u||e[6]!==w||e[7]!==a?(M=U("div",{className:r,children:w.map((E,p)=>U("div",{className:u,children:U(le,{animationDelay:`calc(${p} * ${d})`,height:o,width:a})},p))}),e[2]=r,e[3]=o,e[4]=d,e[5]=u,e[6]=w,e[7]=a,e[8]=M):M=e[8],M};var ee={insertSpaces:!1,tabSize:4,trimAutoWhitespace:!1},Ue={hideCursorInOverviewRuler:!0,minimap:{enabled:!1},overviewRulerBorder:!1,readOnly:!1,scrollbar:{alwaysConsumeMouseWheel:!1},scrollBeyondLastLine:!1,wordWrap:"on"};var Ar="default"in Z?Z.default:Z,Rr="code-editor",Ir=t=>{let e=Cr(10),{className:r,maxHeight:n,minHeight:o,options:i,readOnly:c,recalculatedHeightAt:u,value:a,...s}=t,l=o??56,d=Ke.useRef(u),{insertSpaces:x,tabSize:w,trimAutoWhitespace:M,...E}=i||{},p=i?.padding?(i.padding.top||0)+(i.padding?.bottom||0):0,[P,y]=Tr(l),{theme:L}=Ve(),A=s?.defaultLanguage?`language--${s.defaultLanguage}`:"",g=c&&"read-only",h;e[0]!==r||e[1]!==A||e[2]!==g?(h=[Rr,r,A,g].filter(Boolean),e[0]=r,e[1]=A,e[2]=g,e[3]=h):h=e[3];let v=h.join(" "),C,b;return e[4]!==l||e[5]!==p||e[6]!==u||e[7]!==a?(C=()=>{u&&u>d.current&&(y(a?Math.max(l,a.split(`
|
|
23
|
+
`},Se=Oe(wt)(Me),xe={config:bt};var Pe=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return function(o){return r.reduceRight(function(i,c){return c(i)},o)}};function ie(t,e){return Object.keys(e).forEach(function(r){e[r]instanceof Object&&t[r]&&Object.assign(e[r],ie(t[r],e[r]))}),oe(oe({},t),e)}var Ot={type:"cancelation",msg:"operation is manually canceled"};function Y(t){var e=!1,r=new Promise(function(n,o){t.then(function(i){return e?o(Ot):n(i)}),t.catch(o)});return r.cancel=function(){return e=!0},r}var jt=["monaco"],St=ye.create({config:we,isInitialized:!1,resolve:null,reject:null,monaco:null}),Ee=he(St,2),V=Ee[0],J=Ee[1];function Mt(t){var e=xe.config(t),r=e.monaco,n=ge(e,jt);J(function(o){return{config:ie(o.config,n),monaco:r}})}function xt(){var t=V(function(e){var r=e.monaco,n=e.isInitialized,o=e.resolve;return{monaco:r,isInitialized:n,resolve:o}});if(!t.isInitialized){if(J({isInitialized:!0}),t.monaco)return t.resolve(t.monaco),Y(ae);if(window.monaco&&window.monaco.editor)return Ce(window.monaco),t.resolve(window.monaco),Y(ae);Pe(Pt,Ct)(Tt)}return Y(ae)}function Pt(t){return document.body.appendChild(t)}function Et(t){var e=document.createElement("script");return t&&(e.src=t),e}function Ct(t){var e=V(function(n){var o=n.config,i=n.reject;return{config:o,reject:i}}),r=Et("".concat(e.config.paths.vs,"/loader.js"));return r.onload=function(){return t()},r.onerror=e.reject,r}function Tt(){var t=V(function(r){var n=r.config,o=r.resolve,i=r.reject;return{config:n,resolve:o,reject:i}}),e=window.require;e.config(t.config),e(["vs/editor/editor.main"],function(r){var n=r.m||r;Ce(n),t.resolve(n)},function(r){t.reject(r)})}function Ce(t){V().monaco||J({monaco:t})}function At(){return V(function(t){var e=t.monaco;return e})}var ae=new Promise(function(t,e){return J({resolve:t,reject:e})}),$={config:Mt,init:xt,__getMonacoInstance:At};import{memo as Rt}from"react";import It,{useState as Te,useRef as W,useCallback as Ae,useEffect as Re}from"react";import{memo as Dt}from"react";import ce from"react";import _t from"react";import{useEffect as Vt}from"react";import{useEffect as Ut,useRef as qt}from"react";import{useState as mn}from"react";import{memo as Xt}from"react";import Zt,{useState as Ie,useEffect as Q,useRef as R,useCallback as er}from"react";import{useEffect as tr,useRef as rr}from"react";var Lt={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},ue=Lt,$t={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},Wt=$t;function kt({children:t}){return _t.createElement("div",{style:Wt.container},t)}var Nt=kt,Ht=Nt;function zt({width:t,height:e,isEditorReady:r,loading:n,_ref:o,className:i,wrapperProps:c}){return ce.createElement("section",{style:{...ue.wrapper,width:t,height:e},...c},!r&&ce.createElement(Ht,null,n),ce.createElement("div",{ref:o,style:{...ue.fullWidth,...!r&&ue.hide},className:i}))}var Bt=zt,De=Dt(Bt);function Ft(t){Vt(t,[])}var Le=Ft;function Kt(t,e,r=!0){let n=qt(!0);Ut(n.current||!r?()=>{n.current=!1}:t,e)}var M=Kt;function F(){}function k(t,e,r,n){return Gt(t,n)||Yt(t,e,r,n)}function Gt(t,e){return t.editor.getModel(_e(t,e))}function Yt(t,e,r,n){return t.editor.createModel(e,r,n?_e(t,n):void 0)}function _e(t,e){return t.Uri.parse(e)}function Jt({original:t,modified:e,language:r,originalLanguage:n,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:c,keepCurrentOriginalModel:u=!1,keepCurrentModifiedModel:a=!1,theme:s="light",loading:l="Loading...",options:d={},height:x="100%",width:w="100%",className:S,wrapperProps:E={},beforeMount:p=F,onMount:P=F}){let[y,L]=Te(!1),[A,g]=Te(!0),h=W(null),v=W(null),C=W(null),b=W(P),f=W(p),T=W(!1);Le(()=>{let m=$.init();return m.then(O=>(v.current=O)&&g(!1)).catch(O=>O?.type!=="cancelation"&&console.error("Monaco initialization: error:",O)),()=>h.current?H():m.cancel()}),M(()=>{if(h.current&&v.current){let m=h.current.getOriginalEditor(),O=k(v.current,t||"",n||r||"text",i||"");O!==m.getModel()&&m.setModel(O)}},[i],y),M(()=>{if(h.current&&v.current){let m=h.current.getModifiedEditor(),O=k(v.current,e||"",o||r||"text",c||"");O!==m.getModel()&&m.setModel(O)}},[c],y),M(()=>{let m=h.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),M(()=>{h.current?.getModel()?.original.setValue(t||"")},[t],y),M(()=>{let{original:m,modified:O}=h.current.getModel();v.current.editor.setModelLanguage(m,n||r||"text"),v.current.editor.setModelLanguage(O,o||r||"text")},[r,n,o],y),M(()=>{v.current?.editor.setTheme(s)},[s],y),M(()=>{h.current?.updateOptions(d)},[d],y);let _=Ae(()=>{if(!v.current)return;f.current(v.current);let m=k(v.current,t||"",n||r||"text",i||""),O=k(v.current,e||"",o||r||"text",c||"");h.current?.setModel({original:m,modified:O})},[r,e,o,t,n,i,c]),q=Ae(()=>{!T.current&&C.current&&(h.current=v.current.editor.createDiffEditor(C.current,{automaticLayout:!0,...d}),_(),v.current?.editor.setTheme(s),L(!0),T.current=!0)},[d,s,_]);Re(()=>{y&&b.current(h.current,v.current)},[y]),Re(()=>{!A&&!y&&q()},[A,y,q]);function H(){let m=h.current?.getModel();u||m?.original?.dispose(),a||m?.modified?.dispose(),h.current?.dispose()}return It.createElement(De,{width:w,height:x,isEditorReady:y,loading:l,_ref:C,className:S,wrapperProps:E})}var Qt=Jt,fn=Rt(Qt);function nr(t){let e=rr();return tr(()=>{e.current=t},[t]),e.current}var or=nr,X=new Map;function ir({defaultValue:t,defaultLanguage:e,defaultPath:r,value:n,language:o,path:i,theme:c="light",line:u,loading:a="Loading...",options:s={},overrideServices:l={},saveViewState:d=!0,keepCurrentModel:x=!1,width:w="100%",height:S="100%",className:E,wrapperProps:p={},beforeMount:P=F,onMount:y=F,onChange:L,onValidate:A=F}){let[g,h]=Ie(!1),[v,C]=Ie(!0),b=R(null),f=R(null),T=R(null),_=R(y),q=R(P),H=R(),m=R(n),O=or(i),fe=R(!1),te=R(!1);Le(()=>{let j=$.init();return j.then(I=>(b.current=I)&&C(!1)).catch(I=>I?.type!=="cancelation"&&console.error("Monaco initialization: error:",I)),()=>f.current?Ge():j.cancel()}),M(()=>{let j=k(b.current,t||n||"",e||o||"",i||r||"");j!==f.current?.getModel()&&(d&&X.set(O,f.current?.saveViewState()),f.current?.setModel(j),d&&f.current?.restoreViewState(X.get(i)))},[i],g),M(()=>{f.current?.updateOptions(s)},[s],g),M(()=>{!f.current||n===void 0||(f.current.getOption(b.current.editor.EditorOption.readOnly)?f.current.setValue(n):n!==f.current.getValue()&&(te.current=!0,f.current.executeEdits("",[{range:f.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),f.current.pushUndoStop(),te.current=!1))},[n],g),M(()=>{let j=f.current?.getModel();j&&o&&b.current?.editor.setModelLanguage(j,o)},[o],g),M(()=>{u!==void 0&&f.current?.revealLine(u)},[u],g),M(()=>{b.current?.editor.setTheme(c)},[c],g);let de=er(()=>{if(!(!T.current||!b.current)&&!fe.current){q.current(b.current);let j=i||r,I=k(b.current,n||t||"",e||o||"",j||"");f.current=b.current?.editor.create(T.current,{model:I,automaticLayout:!0,...s},l),d&&f.current.restoreViewState(X.get(j)),b.current.editor.setTheme(c),u!==void 0&&f.current.revealLine(u),h(!0),fe.current=!0}},[t,e,r,n,o,i,s,l,d,c,u]);Q(()=>{g&&_.current(f.current,b.current)},[g]),Q(()=>{!v&&!g&&de()},[v,g,de]),m.current=n,Q(()=>{g&&L&&(H.current?.dispose(),H.current=f.current?.onDidChangeModelContent(j=>{te.current||L(f.current.getValue(),j)}))},[g,L]),Q(()=>{if(g){let j=b.current.editor.onDidChangeMarkers(I=>{let re=f.current.getModel()?.uri;if(re&&I.find(ne=>ne.path===re.path)){let ne=b.current.editor.getModelMarkers({resource:re});A?.(ne)}});return()=>{j?.dispose()}}return()=>{}},[g,A]);function Ge(){H.current?.dispose(),x?d&&X.set(i,f.current.saveViewState()):f.current.getModel()?.dispose(),f.current.dispose()}return Zt.createElement(De,{width:w,height:S,isEditorReady:g,loading:a,_ref:T,className:E,wrapperProps:p})}var ar=ir,cr=Xt(ar),Z=cr;import Ke,{useState as Tr}from"react";import{c as br}from"react/compiler-runtime";import{jsx as yr}from"react/jsx-runtime";import{createContext as wr,use as Or,useEffect as jr,useState as He}from"react";import{c as dr}from"react/compiler-runtime";import{jsx as ke}from"react/jsx-runtime";import{createContext as mr,use as pr,useCallback as gr,useEffect as hr,useMemo as We}from"react";import{c as ur}from"react/compiler-runtime";import{useEffect as sr,useRef as lr,useState as fr}from"react";function $e(t,e){let r=ur(5),[n,o]=fr(t),i=lr(!0),c,u;r[0]!==t?(c=()=>{if(i.current){i.current=!1;return}o(t)},u=[t],r[0]=t,r[1]=c,r[2]=u):(c=r[1],u=r[2]),sr(c,u);let a=n??e,s;return r[3]!==a?(s=[a,o],r[3]=a,r[4]=s):s=r[4],s}var Ne=mr(void 0),vr=({children:t,config:e})=>{let[r,n]=$e(e),{collectionsBySlug:o,globalsBySlug:i}=We(()=>{let a={},s={};for(let l of r.collections)a[l.slug]=l;for(let l of r.globals)s[l.slug]=l;return{collectionsBySlug:a,globalsBySlug:s}},[r]),c=gr(a=>"collectionSlug"in a&&a.collectionSlug?o[a.collectionSlug]??null:"globalSlug"in a&&a.globalSlug?i[a.globalSlug]??null:null,[o,i]),u=We(()=>({config:r,getEntityConfig:c,setConfig:n}),[r,c,n]);return ke(Ne,{value:u,children:t})},se=()=>pr(Ne),Cn=t=>{let e=dr(7),{children:r,config:n}=t,{config:o,setConfig:i}=se(),c,u;if(e[0]!==n||e[1]!==i?(c=()=>{i(n)},u=[n,i],e[0]=n,e[1]=i,e[2]=c,e[3]=u):(c=e[2],u=e[3]),hr(c,u),o!==n&&o.unauthenticated!==n.unauthenticated){let a;return e[4]!==r||e[5]!==n?(a=ke(vr,{config:n,children:r}),e[4]=r,e[5]=n,e[6]=a):a=e[6],a}return r};var Sr={autoMode:!0,setTheme:()=>null,theme:"light"},Be=wr(Sr);function ze(t,e,r){let n=new Date;n.setTime(n.getTime()+r*24*60*60*1e3);let o="expires="+n.toUTCString();document.cookie=t+"="+e+";"+o+";path=/"}var Mr=t=>{let e,r=window.document.cookie.split("; ").find(n=>n.startsWith(`${t}=`))?.split("=")[1];return r==="light"||r==="dark"?e=r:e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",e),{theme:e,themeFromCookies:r}},xr="light",$n=t=>{let e=br(11),{children:r,theme:n}=t,{config:o}=se(),i=o.admin.theme,c=`${o.cookiePrefix||"payload"}-theme`,[u,a]=He(n||xr),[s,l]=He(),d,x;e[0]!==c||e[1]!==i?(d=()=>{if(i!=="all")return;let{theme:p,themeFromCookies:P}=Mr(c);a(p),l(!P)},x=[i,c],e[0]=c,e[1]=i,e[2]=d,e[3]=x):(d=e[2],x=e[3]),jr(d,x);let w;e[4]!==c?(w=p=>{if(p==="light"||p==="dark")a(p),l(!1),ze(c,p,365),document.documentElement.setAttribute("data-theme",p);else if(p==="auto"){ze(c,p,-1);let P=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";document.documentElement.setAttribute("data-theme",P),l(!0),a(P)}},e[4]=c,e[5]=w):w=e[5];let S=w,E;return e[6]!==s||e[7]!==r||e[8]!==S||e[9]!==u?(E=yr(Be,{value:{autoMode:s,setTheme:S,theme:u},children:r}),e[6]=s,e[7]=r,e[8]=S,e[9]=u,e[10]=E):E=e[10],E},Ve=()=>Or(Be);import{c as Er}from"react/compiler-runtime";import{jsx as U}from"react/jsx-runtime";import"react";import{c as Pr}from"react/compiler-runtime";import*as N from"react";var Fe=(t,e)=>{let r=Pr(9),n=e===void 0?!1:e,[o,i]=N.useState(!1),c=N.useRef(void 0),u;r[0]!==t?(u=()=>(i(!1),clearTimeout(c.current),c.current=setTimeout(()=>{i(!0)},t),()=>{clearTimeout(c.current)}),r[0]=t,r[1]=u):u=r[1];let a=u,s,l;r[2]!==a||r[3]!==n?(s=()=>{n&&a()},l=[a,n],r[2]=a,r[3]=n,r[4]=s,r[5]=l):(s=r[4],l=r[5]),N.useEffect(s,l);let d;return r[6]!==o||r[7]!==a?(d=[o,a],r[6]=o,r[7]=a,r[8]=d):d=r[8],d};var le=({animationDelay:t="0ms",className:e,disableInlineStyles:r=!1,height:n="60px",width:o="100%"})=>U("div",{className:["shimmer-effect",e].filter(Boolean).join(" "),style:{height:!r&&(typeof n=="number"?`${n}px`:n),width:!r&&(typeof o=="number"?`${o}px`:o)},children:U("div",{className:"shimmer-effect__shine",style:{animationDelay:t}})}),Fn=t=>{let e=Er(9),{className:r,count:n,height:o,renderDelay:i,shimmerDelay:c,shimmerItemClassName:u,width:a}=t,s=i===void 0?500:i,l=c===void 0?25:c,d=typeof l=="number"?`${l}ms`:l,[x]=Fe(s,!0);if(!x)return null;let w;e[0]!==n?(w=[...Array(n)],e[0]=n,e[1]=w):w=e[1];let S;return e[2]!==r||e[3]!==o||e[4]!==d||e[5]!==u||e[6]!==w||e[7]!==a?(S=U("div",{className:r,children:w.map((E,p)=>U("div",{className:u,children:U(le,{animationDelay:`calc(${p} * ${d})`,height:o,width:a})},p))}),e[2]=r,e[3]=o,e[4]=d,e[5]=u,e[6]=w,e[7]=a,e[8]=S):S=e[8],S};var ee={insertSpaces:!1,tabSize:4,trimAutoWhitespace:!1},Ue={hideCursorInOverviewRuler:!0,minimap:{enabled:!1},overviewRulerBorder:!1,readOnly:!1,scrollbar:{alwaysConsumeMouseWheel:!1},scrollBeyondLastLine:!1,wordWrap:"on"};var Ar="default"in Z?Z.default:Z,Rr="code-editor",Ir=t=>{let e=Cr(10),{className:r,maxHeight:n,minHeight:o,options:i,readOnly:c,recalculatedHeightAt:u,value:a,...s}=t,l=o??56,d=Ke.useRef(u),{insertSpaces:x,tabSize:w,trimAutoWhitespace:S,...E}=i||{},p=i?.padding?(i.padding.top||0)+(i.padding?.bottom||0):0,[P,y]=Tr(l),{theme:L}=Ve(),A=s?.defaultLanguage?`language--${s.defaultLanguage}`:"",g=c&&"read-only",h;e[0]!==r||e[1]!==A||e[2]!==g?(h=[Rr,r,A,g].filter(Boolean),e[0]=r,e[1]=A,e[2]=g,e[3]=h):h=e[3];let v=h.join(" "),C,b;return e[4]!==l||e[5]!==p||e[6]!==u||e[7]!==a?(C=()=>{u&&u>d.current&&(y(a?Math.max(l,a.split(`
|
|
24
24
|
`).length*18+2+p):l),d.current=u)},b=[a,l,p,u],e[4]=l,e[5]=p,e[6]=u,e[7]=a,e[8]=C,e[9]=b):(C=e[8],b=e[9]),Ke.useEffect(C,b),qe(Ar,{className:v,height:n?Math.min(P,n):P,loading:qe(le,{height:P}),options:{...Ue,...E,readOnly:!!c,detectIndentation:!1,insertSpaces:void 0,tabSize:void 0,trimAutoWhitespace:void 0},theme:L==="dark"?"vs-dark":"vs",value:a,...s,onChange:(f,T)=>{s.onChange?.(f,T),y(f?Math.max(l,f.split(`
|
|
25
|
-
`).length*18+2+p):l)},onMount:(f,T)=>{s.onMount?.(f,T);let _=f.getModel();_&&_.updateOptions({insertSpaces:x??ee.insertSpaces,tabSize:w??ee.tabSize,trimAutoWhitespace:
|
|
25
|
+
`).length*18+2+p):l)},onMount:(f,T)=>{s.onMount?.(f,T);let _=f.getModel();_&&_.updateOptions({insertSpaces:x??ee.insertSpaces,tabSize:w??ee.tabSize,trimAutoWhitespace:S??ee.trimAutoWhitespace}),y(Math.max(l,f.getValue().split(`
|
|
26
26
|
`).length*18+2+p))}})},eo=Ir;export{$e as a,vr as b,se as c,Cn as d,Fe as e,le as f,Fn as g,xr as h,$n as i,Ve as j,ee as k,eo as l};
|
|
27
|
-
//# sourceMappingURL=chunk-
|
|
27
|
+
//# sourceMappingURL=chunk-J46CQZ3T.js.map
|