@payloadcms/ui 3.63.0-canary.3 → 3.63.0-internal.3a88243
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/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +2 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/index.js +15 -12
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +2 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/Link/index.d.ts +2 -27
- package/dist/elements/Link/index.d.ts.map +1 -1
- package/dist/elements/PillSelector/index.d.ts.map +1 -1
- package/dist/elements/PillSelector/index.js +36 -38
- package/dist/elements/PillSelector/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-IVFMKS4Z.js → CodeEditor-DLS7KRXL.js} +2 -2
- package/dist/exports/client/{DatePicker-F432AIH3.js → DatePicker-V3F24WYX.js} +2 -2
- package/dist/exports/client/{chunk-XUCNM5EK.js → chunk-ERFD5KKC.js} +1 -1
- package/dist/exports/client/{chunk-XUCNM5EK.js.map → chunk-ERFD5KKC.js.map} +1 -1
- package/dist/exports/client/{chunk-AZDI6MW4.js → chunk-RUKMEKTD.js} +1 -1
- package/dist/exports/client/{chunk-AZDI6MW4.js.map → chunk-RUKMEKTD.js.map} +1 -1
- package/dist/exports/client/index.js +12 -12
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +1 -0
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/providers/LivePreview/index.d.ts.map +1 -1
- package/dist/providers/LivePreview/index.js +4 -1
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +2 -2
- package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
- package/dist/utilities/reduceFieldsToOptions.js +3 -3
- package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
- package/package.json +10 -10
- /package/dist/exports/client/{CodeEditor-IVFMKS4Z.js.map → CodeEditor-DLS7KRXL.js.map} +0 -0
- /package/dist/exports/client/{DatePicker-F432AIH3.js.map → DatePicker-V3F24WYX.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAgB,MAAM,OAAO,CAAA;AAOpC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IACvE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAE9C,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAgB,MAAM,OAAO,CAAA;AAOpC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IACvE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAE9C,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAiEtD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","names":["c","_c","React","useId","RenderCustomComponent","FieldLabel","CheckIcon","LineIcon","inputBaseClass","CheckboxInput","t0","$","id","idFromProps","name","AfterInput","BeforeInput","checked","className","inputRef","Label","label","localized","onToggle","partialChecked","readOnly","required","fallbackID","t1","t2","t3","filter","Boolean","t4","join","t5","t6","t7","_jsx","defaultChecked","disabled","onInput","ref","title","type","t8","t9","_jsxs","children","CustomComponent","Fallback","htmlFor"],"sources":["../../../src/fields/Checkbox/Input.tsx"],"sourcesContent":["'use client'\nimport type { StaticLabel } from 'payload'\n\nimport React, { useId } from 'react'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { CheckIcon } from '../../icons/Check/index.js'\nimport { LineIcon } from '../../icons/Line/index.js'\n\nexport type CheckboxInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly BeforeInput?: React.ReactNode\n readonly checked?: boolean\n readonly className?: string\n readonly id?: string\n readonly inputRef?: React.RefObject<HTMLInputElement | null>\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly localized?: boolean\n readonly name?: string\n readonly onToggle: (event: React.ChangeEvent<HTMLInputElement>) => void\n readonly partialChecked?: boolean\n readonly readOnly?: boolean\n readonly required?: boolean\n}\n\nexport const inputBaseClass = 'checkbox-input'\n\nexport const CheckboxInput: React.FC<CheckboxInputProps> = ({\n id: idFromProps,\n name,\n AfterInput,\n BeforeInput,\n checked,\n className,\n inputRef,\n Label,\n label,\n localized,\n onToggle,\n partialChecked,\n readOnly,\n required,\n}) => {\n const fallbackID = useId()\n const id = idFromProps || fallbackID\n return (\n <div\n className={[\n className,\n inputBaseClass,\n checked && `${inputBaseClass}--checked`,\n readOnly && `${inputBaseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${inputBaseClass}__input`}>\n {BeforeInput}\n <input\n aria-label=\"\"\n aria-labelledby={name}\n defaultChecked={Boolean(checked)}\n disabled={readOnly}\n id={id}\n name={name}\n onInput={onToggle}\n ref={inputRef}\n required={required}\n title={name}\n type=\"checkbox\"\n />\n <span\n className={[`${inputBaseClass}__icon`, !checked && partialChecked ? 'partial' : 'check']\n .filter(Boolean)\n .join(' ')}\n >\n {checked && <CheckIcon />}\n {!checked && partialChecked && <LineIcon />}\n </span>\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel htmlFor={id} label={label} localized={localized} required={required} />\n }\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,KAAK,QAAQ;AAE7B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,QAAQ,QAAQ;AAmBzB,OAAO,MAAMC,cAAA,GAAiB;AAE9B,OAAO,MAAMC,aAAA,GAA8CC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,EAAA,EAAAC,WAAA;IAAAC,IAAA;IAAAC,UAAA;IAAAC,WAAA;IAAAC,OAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,KAAA;IAAAC,KAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,cAAA;IAAAC,QAAA;IAAAC;EAAA,IAAAhB,EAe3D;EACC,MAAAiB,UAAA,GAAmBxB,KAAA;EACnB,MAAAS,EAAA,GAAWC,WAAA,IAAec,UAAA;EAMpB,MAAAC,EAAA,GAAAX,OAAA,IAAW,GAAAT,cAAA,WAA4B;EACvC,MAAAqB,EAAA,GAAAJ,QAAA,IAAY,GAAAjB,cAAA,aAA8B;EAAA,IAAAsB,EAAA;EAAA,IAAAnB,CAAA,QAAAO,SAAA,IAAAP,CAAA,QAAAiB,EAAA,IAAAjB,CAAA,QAAAkB,EAAA;IAJjCC,EAAA,IACTZ,SAAA,EAAAV,cAAA,EAEAoB,EAAuC,EACvCC,EAA0C,EAAAE,MAAA,CAAAC,OAElC;IAAArB,CAAA,MAAAO,SAAA;IAAAP,CAAA,MAAAiB,EAAA;IAAAjB,CAAA,MAAAkB,EAAA;IAAAlB,CAAA,MAAAmB,EAAA;EAAA;IAAAA,EAAA,GAAAnB,CAAA;EAAA;EANC,MAAAsB,EAAA,GAAAH,EAMD,CAAAI,IAAA,CACF;EAOY,MAAAC,EAAA,GAAAH,OAAA,CAAQf,OAAA;EAAA,IAAAmB,EAAA;EAAA,IAAAzB,CAAA,QAAAI,UAAA,IAAAJ,CAAA,QAAAK,WAAA,IAAAL,CAAA,QAAAS,KAAA,IAAAT,CAAA,QAAAM,OAAA,IAAAN,CAAA,QAAAC,EAAA,IAAAD,CAAA,QAAAQ,QAAA,IAAAR,CAAA,SAAAU,KAAA,IAAAV,CAAA,SAAAW,SAAA,IAAAX,CAAA,SAAAG,IAAA,IAAAH,CAAA,SAAAY,QAAA,IAAAZ,CAAA,SAAAa,cAAA,IAAAb,CAAA,SAAAc,QAAA,IAAAd,CAAA,SAAAe,QAAA,IAAAf,CAAA,SAAAsB,EAAA,IAAAtB,CAAA,SAAAwB,EAAA;IAH1B,MAAAE,EAAA,GAAAC,IAAA,CAAC;MAAA,cACY;MAAA,mBACMxB,IAAA;MAAAyB,cAAA,EACDJ,EAAQ;MAAAK,QAAA,EACdf,QAAA;MAAAb,EAAA;MAAAE,IAAA;MAAA2B,OAAA,EAGDlB,QAAA;MAAAmB,GAAA,EACJvB,QAAA;MAAAO,QAAA;MAAAiB,KAAA,
|
|
1
|
+
{"version":3,"file":"Input.js","names":["c","_c","React","useId","RenderCustomComponent","FieldLabel","CheckIcon","LineIcon","inputBaseClass","CheckboxInput","t0","$","id","idFromProps","name","AfterInput","BeforeInput","checked","className","inputRef","Label","label","localized","onToggle","partialChecked","readOnly","required","fallbackID","t1","t2","t3","filter","Boolean","t4","join","t5","t6","t7","_jsx","defaultChecked","disabled","onInput","ref","suppressHydrationWarning","title","type","t8","t9","_jsxs","children","CustomComponent","Fallback","htmlFor"],"sources":["../../../src/fields/Checkbox/Input.tsx"],"sourcesContent":["'use client'\nimport type { StaticLabel } from 'payload'\n\nimport React, { useId } from 'react'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { CheckIcon } from '../../icons/Check/index.js'\nimport { LineIcon } from '../../icons/Line/index.js'\n\nexport type CheckboxInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly BeforeInput?: React.ReactNode\n readonly checked?: boolean\n readonly className?: string\n readonly id?: string\n readonly inputRef?: React.RefObject<HTMLInputElement | null>\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly localized?: boolean\n readonly name?: string\n readonly onToggle: (event: React.ChangeEvent<HTMLInputElement>) => void\n readonly partialChecked?: boolean\n readonly readOnly?: boolean\n readonly required?: boolean\n}\n\nexport const inputBaseClass = 'checkbox-input'\n\nexport const CheckboxInput: React.FC<CheckboxInputProps> = ({\n id: idFromProps,\n name,\n AfterInput,\n BeforeInput,\n checked,\n className,\n inputRef,\n Label,\n label,\n localized,\n onToggle,\n partialChecked,\n readOnly,\n required,\n}) => {\n const fallbackID = useId()\n const id = idFromProps || fallbackID\n return (\n <div\n className={[\n className,\n inputBaseClass,\n checked && `${inputBaseClass}--checked`,\n readOnly && `${inputBaseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${inputBaseClass}__input`}>\n {BeforeInput}\n <input\n aria-label=\"\"\n aria-labelledby={name}\n defaultChecked={Boolean(checked)}\n disabled={readOnly}\n id={id}\n name={name}\n onInput={onToggle}\n ref={inputRef}\n required={required}\n // TODO: due to a bug in Next.js or react, the id from useId() occasionally does not match the server side rendering, even though it should.\n // Issue: https://github.com/vercel/next.js/issues/84029 - revisit this when the issue is fixed.\n suppressHydrationWarning\n title={name}\n type=\"checkbox\"\n />\n <span\n className={[`${inputBaseClass}__icon`, !checked && partialChecked ? 'partial' : 'check']\n .filter(Boolean)\n .join(' ')}\n >\n {checked && <CheckIcon />}\n {!checked && partialChecked && <LineIcon />}\n </span>\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel htmlFor={id} label={label} localized={localized} required={required} />\n }\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/LivePreview/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,iBAAiB,EAAsB,MAAM,SAAS,CAAA;AAG3F,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/LivePreview/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,iBAAiB,EAAsB,MAAM,SAAS,CAAA;AAG3F,OAAO,KAAmE,MAAM,OAAO,CAAA;AAEvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAU1D,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,gBAAgB,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,IAAI,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,KAAK,CAAC,CAAA;AAEhE,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAwQlE,CAAA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
import { DndContext } from '@dnd-kit/core';
|
|
5
|
-
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
5
|
+
import React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';
|
|
6
6
|
import { usePopupWindow } from '../../hooks/usePopupWindow.js';
|
|
7
7
|
import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
|
|
8
8
|
import { usePreferences } from '../../providers/Preferences/index.js';
|
|
@@ -176,6 +176,7 @@ export const LivePreviewProvider = ({
|
|
|
176
176
|
editViewType: isLivePreviewing ? 'live-preview' : 'default'
|
|
177
177
|
}, true);
|
|
178
178
|
}, [isLivePreviewing, setPreference, collectionSlug, globalSlug]);
|
|
179
|
+
const dndContextID = useId();
|
|
179
180
|
return /*#__PURE__*/_jsx(LivePreviewContext, {
|
|
180
181
|
value: {
|
|
181
182
|
appIsReady,
|
|
@@ -214,6 +215,8 @@ export const LivePreviewProvider = ({
|
|
|
214
215
|
},
|
|
215
216
|
children: /*#__PURE__*/_jsx(DndContext, {
|
|
216
217
|
collisionDetection: customCollisionDetection,
|
|
218
|
+
// Provide stable ID to fix hydration issues: https://github.com/clauderic/dnd-kit/issues/926
|
|
219
|
+
id: dndContextID,
|
|
217
220
|
onDragEnd: handleDragEnd,
|
|
218
221
|
children: children
|
|
219
222
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DndContext","React","useCallback","useEffect","useMemo","useRef","useState","usePopupWindow","useDocumentInfo","usePreferences","formatAbsoluteURL","customCollisionDetection","LivePreviewContext","sizeReducer","LivePreviewProvider","breakpoints","incomingBreakpoints","children","isLivePreviewEnabled","isLivePreviewing","incomingIsLivePreviewing","isPreviewEnabled","previewURL","previewURLFromProps","typeofLivePreviewURL","url","urlFromProps","previewWindowType","setPreviewWindowType","setIsLivePreviewing","name","height","label","width","setURL","setPreviewURL","isPopupOpen","openPopupWindow","popupRef","eventType","appIsReady","setAppIsReady","listeningForMessages","setListeningForMessages","collectionSlug","globalSlug","isFirstRender","setPreference","iframeRef","loadedURL","setLoadedURL","zoom","setZoom","position","setPosition","x","y","size","setSize","useReducer","measuredDeviceSize","setMeasuredDeviceSize","breakpoint","setBreakpoint","setLivePreviewURL","_incomingURL","incomingURL","handleDragEnd","ev","over","id","newPos","delta","setWidth","type","value","setHeight","foundBreakpoint","find","bp","handleMessage","event","startsWith","origin","data","ready","window","addEventListener","removeEventListener","handleWindowChange","newPreviewWindowType","current","editViewType","_jsx","setToolbarPosition","toolbarPosition","collisionDetection","onDragEnd"],"sources":["../../../src/providers/LivePreview/index.tsx"],"sourcesContent":["'use client'\nimport type { CollectionPreferences, LivePreviewConfig, LivePreviewURLType } from 'payload'\n\nimport { DndContext } from '@dnd-kit/core'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { LivePreviewContextType } from './context.js'\n\nimport { usePopupWindow } from '../../hooks/usePopupWindow.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { formatAbsoluteURL } from '../../utilities/formatAbsoluteURL.js'\nimport { customCollisionDetection } from './collisionDetection.js'\nimport { LivePreviewContext } from './context.js'\nimport { sizeReducer } from './sizeReducer.js'\n\nexport type LivePreviewProviderProps = {\n appIsReady?: boolean\n breakpoints?: LivePreviewConfig['breakpoints']\n children: React.ReactNode\n deviceSize?: {\n height: number\n width: number\n }\n isLivePreviewEnabled?: boolean\n isLivePreviewing: boolean\n /**\n * This specifically relates to `admin.preview` function in the config instead of live preview.\n */\n isPreviewEnabled?: boolean\n /**\n * This specifically relates to `admin.preview` function in the config instead of live preview.\n */\n previewURL?: string\n} & Pick<LivePreviewContextType, 'typeofLivePreviewURL' | 'url'>\n\nexport const LivePreviewProvider: React.FC<LivePreviewProviderProps> = ({\n breakpoints: incomingBreakpoints,\n children,\n isLivePreviewEnabled,\n isLivePreviewing: incomingIsLivePreviewing,\n isPreviewEnabled,\n previewURL: previewURLFromProps,\n typeofLivePreviewURL,\n url: urlFromProps,\n}) => {\n const [previewWindowType, setPreviewWindowType] = useState<'iframe' | 'popup'>('iframe')\n const [isLivePreviewing, setIsLivePreviewing] = useState(incomingIsLivePreviewing)\n\n const breakpoints: LivePreviewConfig['breakpoints'] = useMemo(\n () => [\n ...(incomingBreakpoints || []),\n {\n name: 'responsive',\n height: '100%',\n label: 'Responsive',\n width: '100%',\n },\n ],\n [incomingBreakpoints],\n )\n\n const [url, setURL] = useState<string>('')\n const [previewURL, setPreviewURL] = useState<string>(previewURLFromProps)\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const [appIsReady, setAppIsReady] = useState(false)\n const [listeningForMessages, setListeningForMessages] = useState(false)\n\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const isFirstRender = useRef(true)\n\n const { setPreference } = usePreferences()\n\n const iframeRef = React.useRef<HTMLIFrameElement>(null)\n\n const [loadedURL, setLoadedURL] = useState<string>()\n\n const [zoom, setZoom] = useState(1)\n\n const [position, setPosition] = useState({ x: 0, y: 0 })\n\n const [size, setSize] = React.useReducer(sizeReducer, { height: 0, width: 0 })\n\n const [measuredDeviceSize, setMeasuredDeviceSize] = useState({\n height: 0,\n width: 0,\n })\n\n const [breakpoint, setBreakpoint] =\n React.useState<LivePreviewConfig['breakpoints'][0]['name']>('responsive')\n\n /**\n * A \"middleware\" callback fn that does some additional work before `setURL`.\n * This is what we provide through context, bc it:\n * - ensures the URL is absolute\n * - resets `appIsReady` to `false` while the new URL is loading\n */\n const setLivePreviewURL = useCallback<LivePreviewContextType['setURL']>(\n (_incomingURL) => {\n let incomingURL: LivePreviewURLType\n\n if (typeof _incomingURL === 'string') {\n incomingURL = formatAbsoluteURL(_incomingURL)\n }\n\n if (!incomingURL) {\n setIsLivePreviewing(false)\n }\n\n if (incomingURL !== url) {\n setAppIsReady(false)\n setURL(incomingURL)\n }\n },\n [url],\n )\n\n /**\n * `url` needs to be relative to the window, which cannot be done on initial render.\n */\n useEffect(() => {\n if (typeof urlFromProps === 'string') {\n setURL(formatAbsoluteURL(urlFromProps))\n }\n }, [urlFromProps])\n\n // The toolbar needs to freely drag and drop around the page\n const handleDragEnd = (ev) => {\n // only update position if the toolbar is completely within the preview area\n // otherwise reset it back to the previous position\n // TODO: reset to the nearest edge of the preview area\n if (ev.over && ev.over.id === 'live-preview-area') {\n const newPos = {\n x: position.x + ev.delta.x,\n y: position.y + ev.delta.y,\n }\n\n setPosition(newPos)\n } else {\n // reset\n }\n }\n\n const setWidth = useCallback(\n (width) => {\n setSize({ type: 'width', value: width })\n },\n [setSize],\n )\n\n const setHeight = useCallback(\n (height) => {\n setSize({ type: 'height', value: height })\n },\n [setSize],\n )\n\n // explicitly set new width and height when as new breakpoints are selected\n // exclude `custom` breakpoint as it is handled by the `setWidth` and `setHeight` directly\n useEffect(() => {\n const foundBreakpoint = breakpoints?.find((bp) => bp.name === breakpoint)\n\n if (\n foundBreakpoint &&\n breakpoint !== 'responsive' &&\n breakpoint !== 'custom' &&\n typeof foundBreakpoint?.width === 'number' &&\n typeof foundBreakpoint?.height === 'number'\n ) {\n setSize({\n type: 'reset',\n value: {\n height: foundBreakpoint.height,\n width: foundBreakpoint.width,\n },\n })\n }\n }, [breakpoint, breakpoints])\n\n /**\n * Receive the `ready` message from the popup window\n * This indicates that the app is ready to receive `window.postMessage` events\n * This is also the only cross-origin way of detecting when a popup window has loaded\n * Unlike iframe elements which have an `onLoad` handler, there is no way to access `window.open` on popups\n */\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (\n url?.startsWith(event.origin) &&\n event.data &&\n typeof event.data === 'object' &&\n event.data.type === 'payload-live-preview'\n ) {\n if (event.data.ready) {\n setAppIsReady(true)\n }\n }\n }\n\n window.addEventListener('message', handleMessage)\n\n setListeningForMessages(true)\n\n return () => {\n window.removeEventListener('message', handleMessage)\n }\n }, [url, listeningForMessages])\n\n const handleWindowChange = useCallback(\n (type: 'iframe' | 'popup') => {\n setAppIsReady(false)\n setPreviewWindowType(type)\n if (type === 'popup') {\n openPopupWindow()\n }\n },\n [openPopupWindow],\n )\n\n // when the user closes the popup window, switch back to the iframe\n // the `usePopupWindow` reports the `isPopupOpen` state for us to use here\n useEffect(() => {\n const newPreviewWindowType = isPopupOpen ? 'popup' : 'iframe'\n\n if (newPreviewWindowType !== previewWindowType) {\n handleWindowChange('iframe')\n }\n }, [previewWindowType, isPopupOpen, handleWindowChange])\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false\n return\n }\n\n void setPreference<CollectionPreferences>(\n collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,\n {\n editViewType: isLivePreviewing ? 'live-preview' : 'default',\n },\n true,\n )\n }, [isLivePreviewing, setPreference, collectionSlug, globalSlug])\n\n return (\n <LivePreviewContext\n value={{\n appIsReady,\n breakpoint,\n breakpoints,\n iframeRef,\n isLivePreviewEnabled,\n isLivePreviewing,\n isPopupOpen,\n isPreviewEnabled,\n listeningForMessages,\n loadedURL,\n measuredDeviceSize,\n openPopupWindow,\n popupRef,\n previewURL,\n previewWindowType,\n setAppIsReady,\n setBreakpoint,\n setHeight,\n setIsLivePreviewing,\n setLoadedURL,\n setMeasuredDeviceSize,\n setPreviewURL,\n setPreviewWindowType: handleWindowChange,\n setSize,\n setToolbarPosition: setPosition,\n setURL: setLivePreviewURL,\n setWidth,\n setZoom,\n size,\n toolbarPosition: position,\n typeofLivePreviewURL,\n url,\n zoom,\n }}\n >\n <DndContext collisionDetection={customCollisionDetection} onDragEnd={handleDragEnd}>\n {children}\n </DndContext>\n </LivePreviewContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DndContext","React","useCallback","useEffect","useId","useMemo","useRef","useState","usePopupWindow","useDocumentInfo","usePreferences","formatAbsoluteURL","customCollisionDetection","LivePreviewContext","sizeReducer","LivePreviewProvider","breakpoints","incomingBreakpoints","children","isLivePreviewEnabled","isLivePreviewing","incomingIsLivePreviewing","isPreviewEnabled","previewURL","previewURLFromProps","typeofLivePreviewURL","url","urlFromProps","previewWindowType","setPreviewWindowType","setIsLivePreviewing","name","height","label","width","setURL","setPreviewURL","isPopupOpen","openPopupWindow","popupRef","eventType","appIsReady","setAppIsReady","listeningForMessages","setListeningForMessages","collectionSlug","globalSlug","isFirstRender","setPreference","iframeRef","loadedURL","setLoadedURL","zoom","setZoom","position","setPosition","x","y","size","setSize","useReducer","measuredDeviceSize","setMeasuredDeviceSize","breakpoint","setBreakpoint","setLivePreviewURL","_incomingURL","incomingURL","handleDragEnd","ev","over","id","newPos","delta","setWidth","type","value","setHeight","foundBreakpoint","find","bp","handleMessage","event","startsWith","origin","data","ready","window","addEventListener","removeEventListener","handleWindowChange","newPreviewWindowType","current","editViewType","dndContextID","_jsx","setToolbarPosition","toolbarPosition","collisionDetection","onDragEnd"],"sources":["../../../src/providers/LivePreview/index.tsx"],"sourcesContent":["'use client'\nimport type { CollectionPreferences, LivePreviewConfig, LivePreviewURLType } from 'payload'\n\nimport { DndContext } from '@dnd-kit/core'\nimport React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react'\n\nimport type { LivePreviewContextType } from './context.js'\n\nimport { usePopupWindow } from '../../hooks/usePopupWindow.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { formatAbsoluteURL } from '../../utilities/formatAbsoluteURL.js'\nimport { customCollisionDetection } from './collisionDetection.js'\nimport { LivePreviewContext } from './context.js'\nimport { sizeReducer } from './sizeReducer.js'\n\nexport type LivePreviewProviderProps = {\n appIsReady?: boolean\n breakpoints?: LivePreviewConfig['breakpoints']\n children: React.ReactNode\n deviceSize?: {\n height: number\n width: number\n }\n isLivePreviewEnabled?: boolean\n isLivePreviewing: boolean\n /**\n * This specifically relates to `admin.preview` function in the config instead of live preview.\n */\n isPreviewEnabled?: boolean\n /**\n * This specifically relates to `admin.preview` function in the config instead of live preview.\n */\n previewURL?: string\n} & Pick<LivePreviewContextType, 'typeofLivePreviewURL' | 'url'>\n\nexport const LivePreviewProvider: React.FC<LivePreviewProviderProps> = ({\n breakpoints: incomingBreakpoints,\n children,\n isLivePreviewEnabled,\n isLivePreviewing: incomingIsLivePreviewing,\n isPreviewEnabled,\n previewURL: previewURLFromProps,\n typeofLivePreviewURL,\n url: urlFromProps,\n}) => {\n const [previewWindowType, setPreviewWindowType] = useState<'iframe' | 'popup'>('iframe')\n const [isLivePreviewing, setIsLivePreviewing] = useState(incomingIsLivePreviewing)\n\n const breakpoints: LivePreviewConfig['breakpoints'] = useMemo(\n () => [\n ...(incomingBreakpoints || []),\n {\n name: 'responsive',\n height: '100%',\n label: 'Responsive',\n width: '100%',\n },\n ],\n [incomingBreakpoints],\n )\n\n const [url, setURL] = useState<string>('')\n const [previewURL, setPreviewURL] = useState<string>(previewURLFromProps)\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const [appIsReady, setAppIsReady] = useState(false)\n const [listeningForMessages, setListeningForMessages] = useState(false)\n\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const isFirstRender = useRef(true)\n\n const { setPreference } = usePreferences()\n\n const iframeRef = React.useRef<HTMLIFrameElement>(null)\n\n const [loadedURL, setLoadedURL] = useState<string>()\n\n const [zoom, setZoom] = useState(1)\n\n const [position, setPosition] = useState({ x: 0, y: 0 })\n\n const [size, setSize] = React.useReducer(sizeReducer, { height: 0, width: 0 })\n\n const [measuredDeviceSize, setMeasuredDeviceSize] = useState({\n height: 0,\n width: 0,\n })\n\n const [breakpoint, setBreakpoint] =\n React.useState<LivePreviewConfig['breakpoints'][0]['name']>('responsive')\n\n /**\n * A \"middleware\" callback fn that does some additional work before `setURL`.\n * This is what we provide through context, bc it:\n * - ensures the URL is absolute\n * - resets `appIsReady` to `false` while the new URL is loading\n */\n const setLivePreviewURL = useCallback<LivePreviewContextType['setURL']>(\n (_incomingURL) => {\n let incomingURL: LivePreviewURLType\n\n if (typeof _incomingURL === 'string') {\n incomingURL = formatAbsoluteURL(_incomingURL)\n }\n\n if (!incomingURL) {\n setIsLivePreviewing(false)\n }\n\n if (incomingURL !== url) {\n setAppIsReady(false)\n setURL(incomingURL)\n }\n },\n [url],\n )\n\n /**\n * `url` needs to be relative to the window, which cannot be done on initial render.\n */\n useEffect(() => {\n if (typeof urlFromProps === 'string') {\n setURL(formatAbsoluteURL(urlFromProps))\n }\n }, [urlFromProps])\n\n // The toolbar needs to freely drag and drop around the page\n const handleDragEnd = (ev) => {\n // only update position if the toolbar is completely within the preview area\n // otherwise reset it back to the previous position\n // TODO: reset to the nearest edge of the preview area\n if (ev.over && ev.over.id === 'live-preview-area') {\n const newPos = {\n x: position.x + ev.delta.x,\n y: position.y + ev.delta.y,\n }\n\n setPosition(newPos)\n } else {\n // reset\n }\n }\n\n const setWidth = useCallback(\n (width) => {\n setSize({ type: 'width', value: width })\n },\n [setSize],\n )\n\n const setHeight = useCallback(\n (height) => {\n setSize({ type: 'height', value: height })\n },\n [setSize],\n )\n\n // explicitly set new width and height when as new breakpoints are selected\n // exclude `custom` breakpoint as it is handled by the `setWidth` and `setHeight` directly\n useEffect(() => {\n const foundBreakpoint = breakpoints?.find((bp) => bp.name === breakpoint)\n\n if (\n foundBreakpoint &&\n breakpoint !== 'responsive' &&\n breakpoint !== 'custom' &&\n typeof foundBreakpoint?.width === 'number' &&\n typeof foundBreakpoint?.height === 'number'\n ) {\n setSize({\n type: 'reset',\n value: {\n height: foundBreakpoint.height,\n width: foundBreakpoint.width,\n },\n })\n }\n }, [breakpoint, breakpoints])\n\n /**\n * Receive the `ready` message from the popup window\n * This indicates that the app is ready to receive `window.postMessage` events\n * This is also the only cross-origin way of detecting when a popup window has loaded\n * Unlike iframe elements which have an `onLoad` handler, there is no way to access `window.open` on popups\n */\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (\n url?.startsWith(event.origin) &&\n event.data &&\n typeof event.data === 'object' &&\n event.data.type === 'payload-live-preview'\n ) {\n if (event.data.ready) {\n setAppIsReady(true)\n }\n }\n }\n\n window.addEventListener('message', handleMessage)\n\n setListeningForMessages(true)\n\n return () => {\n window.removeEventListener('message', handleMessage)\n }\n }, [url, listeningForMessages])\n\n const handleWindowChange = useCallback(\n (type: 'iframe' | 'popup') => {\n setAppIsReady(false)\n setPreviewWindowType(type)\n if (type === 'popup') {\n openPopupWindow()\n }\n },\n [openPopupWindow],\n )\n\n // when the user closes the popup window, switch back to the iframe\n // the `usePopupWindow` reports the `isPopupOpen` state for us to use here\n useEffect(() => {\n const newPreviewWindowType = isPopupOpen ? 'popup' : 'iframe'\n\n if (newPreviewWindowType !== previewWindowType) {\n handleWindowChange('iframe')\n }\n }, [previewWindowType, isPopupOpen, handleWindowChange])\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false\n return\n }\n\n void setPreference<CollectionPreferences>(\n collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,\n {\n editViewType: isLivePreviewing ? 'live-preview' : 'default',\n },\n true,\n )\n }, [isLivePreviewing, setPreference, collectionSlug, globalSlug])\n\n const dndContextID = useId()\n\n return (\n <LivePreviewContext\n value={{\n appIsReady,\n breakpoint,\n breakpoints,\n iframeRef,\n isLivePreviewEnabled,\n isLivePreviewing,\n isPopupOpen,\n isPreviewEnabled,\n listeningForMessages,\n loadedURL,\n measuredDeviceSize,\n openPopupWindow,\n popupRef,\n previewURL,\n previewWindowType,\n setAppIsReady,\n setBreakpoint,\n setHeight,\n setIsLivePreviewing,\n setLoadedURL,\n setMeasuredDeviceSize,\n setPreviewURL,\n setPreviewWindowType: handleWindowChange,\n setSize,\n setToolbarPosition: setPosition,\n setURL: setLivePreviewURL,\n setWidth,\n setZoom,\n size,\n toolbarPosition: position,\n typeofLivePreviewURL,\n url,\n zoom,\n }}\n >\n <DndContext\n collisionDetection={customCollisionDetection}\n // Provide stable ID to fix hydration issues: https://github.com/clauderic/dnd-kit/issues/926\n id={dndContextID}\n onDragEnd={handleDragEnd}\n >\n {children}\n </DndContext>\n </LivePreviewContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACV,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAwB9C,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;IAC3C,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAA;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAA;IAC1C,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;IAC7C,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;IACjD,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACV,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAwB9C,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;IAC3C,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAA;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAA;IAC1C,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;IAC7C,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;IACjD,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAwFxC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","DndContext","pointerWithin","ModalContainer","ModalProvider","ScrollInfoProvider","React","LoadingOverlayProvider","NavProvider","StayLoggedInModal","StepNavProvider","ClickOutsideProvider","WindowInfoProvider","AuthProvider","ClientFunctionProvider","ConfigProvider","DocumentEventsProvider","LocaleProvider","ParamsProvider","PreferencesProvider","RouteCache","RouteTransitionProvider","SearchParamsProvider","ServerFunctionsProvider","ThemeProvider","ToastContainer","TranslationProvider","UploadHandlersProvider","RootProvider","t0","$","children","config","dateFNSKey","fallbackLang","isNavOpen","languageCode","languageOptions","locale","permissions","serverFunction","switchLanguageServerAction","theme","translations","user","dndContextID","useId","t1","_jsxs","_jsx","cachingEnabled","process","env","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","language","breakpoints","l","m","s","xs","classPrefix","transTime","zIndex","initialIsOpen","collisionDetection","id"],"sources":["../../../src/providers/Root/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient, I18nOptions, Language } from '@payloadcms/translations'\nimport type {\n ClientConfig,\n LanguageOptions,\n Locale,\n SanitizedPermissions,\n ServerFunctionClient,\n TypedUser,\n} from 'payload'\n\nimport { DndContext, pointerWithin } from '@dnd-kit/core'\nimport { ModalContainer, ModalProvider } from '@faceless-ui/modal'\nimport { ScrollInfoProvider } from '@faceless-ui/scroll-info'\nimport React from 'react'\n\nimport type { Theme } from '../Theme/index.js'\n\nimport { LoadingOverlayProvider } from '../../elements/LoadingOverlay/index.js'\nimport { NavProvider } from '../../elements/Nav/context.js'\nimport { StayLoggedInModal } from '../../elements/StayLoggedIn/index.js'\nimport { StepNavProvider } from '../../elements/StepNav/index.js'\nimport { ClickOutsideProvider } from '../../providers/ClickOutside/index.js'\nimport { WindowInfoProvider } from '../../providers/WindowInfo/index.js'\nimport { AuthProvider } from '../Auth/index.js'\nimport { ClientFunctionProvider } from '../ClientFunction/index.js'\nimport { ConfigProvider } from '../Config/index.js'\nimport { DocumentEventsProvider } from '../DocumentEvents/index.js'\nimport { LocaleProvider } from '../Locale/index.js'\nimport { ParamsProvider } from '../Params/index.js'\nimport { PreferencesProvider } from '../Preferences/index.js'\nimport { RouteCache } from '../RouteCache/index.js'\nimport { RouteTransitionProvider } from '../RouteTransition/index.js'\nimport { SearchParamsProvider } from '../SearchParams/index.js'\nimport { ServerFunctionsProvider } from '../ServerFunctions/index.js'\nimport { ThemeProvider } from '../Theme/index.js'\nimport { ToastContainer } from '../ToastContainer/index.js'\nimport { TranslationProvider } from '../Translation/index.js'\nimport { UploadHandlersProvider } from '../UploadHandlers/index.js'\n\ntype Props = {\n readonly children: React.ReactNode\n readonly config: ClientConfig\n readonly dateFNSKey: Language['dateFNSKey']\n readonly fallbackLang: I18nOptions['fallbackLanguage']\n readonly isNavOpen?: boolean\n readonly languageCode: string\n readonly languageOptions: LanguageOptions\n readonly locale?: Locale['code']\n readonly permissions: SanitizedPermissions\n readonly serverFunction: ServerFunctionClient\n readonly switchLanguageServerAction?: (lang: string) => Promise<void>\n readonly theme: Theme\n readonly translations: I18nClient['translations']\n readonly user: null | TypedUser\n}\n\nexport const RootProvider: React.FC<Props> = ({\n children,\n config,\n dateFNSKey,\n fallbackLang,\n isNavOpen,\n languageCode,\n languageOptions,\n locale,\n permissions,\n serverFunction,\n switchLanguageServerAction,\n theme,\n translations,\n user,\n}) => {\n const dndContextID = React.useId()\n\n return (\n <ClickOutsideProvider>\n <ServerFunctionsProvider serverFunction={serverFunction}>\n <RouteTransitionProvider>\n <RouteCache\n cachingEnabled={process.env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH === 'true'}\n >\n <ConfigProvider config={config}>\n <ClientFunctionProvider>\n <TranslationProvider\n dateFNSKey={dateFNSKey}\n fallbackLang={fallbackLang}\n language={languageCode}\n languageOptions={languageOptions}\n switchLanguageServerAction={switchLanguageServerAction}\n translations={translations}\n >\n <WindowInfoProvider\n breakpoints={{\n l: '(max-width: 1440px)',\n m: '(max-width: 1024px)',\n s: '(max-width: 768px)',\n xs: '(max-width: 400px)',\n }}\n >\n <ScrollInfoProvider>\n <SearchParamsProvider>\n <ModalProvider classPrefix=\"payload\" transTime={0} zIndex=\"var(--z-modal)\">\n <AuthProvider permissions={permissions} user={user}>\n <PreferencesProvider>\n <ThemeProvider theme={theme}>\n <ParamsProvider>\n <LocaleProvider locale={locale}>\n <StepNavProvider>\n <LoadingOverlayProvider>\n <DocumentEventsProvider>\n <NavProvider initialIsOpen={isNavOpen}>\n <UploadHandlersProvider>\n <DndContext\n collisionDetection={pointerWithin}\n id={dndContextID}\n >\n {children}\n </DndContext>\n </UploadHandlersProvider>\n </NavProvider>\n </DocumentEventsProvider>\n </LoadingOverlayProvider>\n </StepNavProvider>\n </LocaleProvider>\n </ParamsProvider>\n </ThemeProvider>\n </PreferencesProvider>\n <ModalContainer />\n <StayLoggedInModal />\n </AuthProvider>\n </ModalProvider>\n </SearchParamsProvider>\n </ScrollInfoProvider>\n </WindowInfoProvider>\n </TranslationProvider>\n </ClientFunctionProvider>\n </ConfigProvider>\n </RouteCache>\n </RouteTransitionProvider>\n </ServerFunctionsProvider>\n <ToastContainer config={config} />\n </ClickOutsideProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","DndContext","pointerWithin","ModalContainer","ModalProvider","ScrollInfoProvider","React","LoadingOverlayProvider","NavProvider","StayLoggedInModal","StepNavProvider","ClickOutsideProvider","WindowInfoProvider","AuthProvider","ClientFunctionProvider","ConfigProvider","DocumentEventsProvider","LocaleProvider","ParamsProvider","PreferencesProvider","RouteCache","RouteTransitionProvider","SearchParamsProvider","ServerFunctionsProvider","ThemeProvider","ToastContainer","TranslationProvider","UploadHandlersProvider","RootProvider","t0","$","children","config","dateFNSKey","fallbackLang","isNavOpen","languageCode","languageOptions","locale","permissions","serverFunction","switchLanguageServerAction","theme","translations","user","dndContextID","useId","t1","_jsxs","_jsx","cachingEnabled","process","env","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","language","breakpoints","l","m","s","xs","classPrefix","transTime","zIndex","initialIsOpen","collisionDetection","id"],"sources":["../../../src/providers/Root/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient, I18nOptions, Language } from '@payloadcms/translations'\nimport type {\n ClientConfig,\n LanguageOptions,\n Locale,\n SanitizedPermissions,\n ServerFunctionClient,\n TypedUser,\n} from 'payload'\n\nimport { DndContext, pointerWithin } from '@dnd-kit/core'\nimport { ModalContainer, ModalProvider } from '@faceless-ui/modal'\nimport { ScrollInfoProvider } from '@faceless-ui/scroll-info'\nimport React from 'react'\n\nimport type { Theme } from '../Theme/index.js'\n\nimport { LoadingOverlayProvider } from '../../elements/LoadingOverlay/index.js'\nimport { NavProvider } from '../../elements/Nav/context.js'\nimport { StayLoggedInModal } from '../../elements/StayLoggedIn/index.js'\nimport { StepNavProvider } from '../../elements/StepNav/index.js'\nimport { ClickOutsideProvider } from '../../providers/ClickOutside/index.js'\nimport { WindowInfoProvider } from '../../providers/WindowInfo/index.js'\nimport { AuthProvider } from '../Auth/index.js'\nimport { ClientFunctionProvider } from '../ClientFunction/index.js'\nimport { ConfigProvider } from '../Config/index.js'\nimport { DocumentEventsProvider } from '../DocumentEvents/index.js'\nimport { LocaleProvider } from '../Locale/index.js'\nimport { ParamsProvider } from '../Params/index.js'\nimport { PreferencesProvider } from '../Preferences/index.js'\nimport { RouteCache } from '../RouteCache/index.js'\nimport { RouteTransitionProvider } from '../RouteTransition/index.js'\nimport { SearchParamsProvider } from '../SearchParams/index.js'\nimport { ServerFunctionsProvider } from '../ServerFunctions/index.js'\nimport { ThemeProvider } from '../Theme/index.js'\nimport { ToastContainer } from '../ToastContainer/index.js'\nimport { TranslationProvider } from '../Translation/index.js'\nimport { UploadHandlersProvider } from '../UploadHandlers/index.js'\n\ntype Props = {\n readonly children: React.ReactNode\n readonly config: ClientConfig\n readonly dateFNSKey: Language['dateFNSKey']\n readonly fallbackLang: I18nOptions['fallbackLanguage']\n readonly isNavOpen?: boolean\n readonly languageCode: string\n readonly languageOptions: LanguageOptions\n readonly locale?: Locale['code']\n readonly permissions: SanitizedPermissions\n readonly serverFunction: ServerFunctionClient\n readonly switchLanguageServerAction?: (lang: string) => Promise<void>\n readonly theme: Theme\n readonly translations: I18nClient['translations']\n readonly user: null | TypedUser\n}\n\nexport const RootProvider: React.FC<Props> = ({\n children,\n config,\n dateFNSKey,\n fallbackLang,\n isNavOpen,\n languageCode,\n languageOptions,\n locale,\n permissions,\n serverFunction,\n switchLanguageServerAction,\n theme,\n translations,\n user,\n}) => {\n const dndContextID = React.useId()\n\n return (\n <ClickOutsideProvider>\n <ServerFunctionsProvider serverFunction={serverFunction}>\n <RouteTransitionProvider>\n <RouteCache\n cachingEnabled={process.env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH === 'true'}\n >\n <ConfigProvider config={config}>\n <ClientFunctionProvider>\n <TranslationProvider\n dateFNSKey={dateFNSKey}\n fallbackLang={fallbackLang}\n language={languageCode}\n languageOptions={languageOptions}\n switchLanguageServerAction={switchLanguageServerAction}\n translations={translations}\n >\n <WindowInfoProvider\n breakpoints={{\n l: '(max-width: 1440px)',\n m: '(max-width: 1024px)',\n s: '(max-width: 768px)',\n xs: '(max-width: 400px)',\n }}\n >\n <ScrollInfoProvider>\n <SearchParamsProvider>\n <ModalProvider classPrefix=\"payload\" transTime={0} zIndex=\"var(--z-modal)\">\n <AuthProvider permissions={permissions} user={user}>\n <PreferencesProvider>\n <ThemeProvider theme={theme}>\n <ParamsProvider>\n <LocaleProvider locale={locale}>\n <StepNavProvider>\n <LoadingOverlayProvider>\n <DocumentEventsProvider>\n <NavProvider initialIsOpen={isNavOpen}>\n <UploadHandlersProvider>\n <DndContext\n collisionDetection={pointerWithin}\n // Provide stable ID to fix hydration issues: https://github.com/clauderic/dnd-kit/issues/926\n id={dndContextID}\n >\n {children}\n </DndContext>\n </UploadHandlersProvider>\n </NavProvider>\n </DocumentEventsProvider>\n </LoadingOverlayProvider>\n </StepNavProvider>\n </LocaleProvider>\n </ParamsProvider>\n </ThemeProvider>\n </PreferencesProvider>\n <ModalContainer />\n <StayLoggedInModal />\n </AuthProvider>\n </ModalProvider>\n </SearchParamsProvider>\n </ScrollInfoProvider>\n </WindowInfoProvider>\n </TranslationProvider>\n </ClientFunctionProvider>\n </ConfigProvider>\n </RouteCache>\n </RouteTransitionProvider>\n </ServerFunctionsProvider>\n <ToastContainer config={config} />\n </ClickOutsideProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -28,7 +28,7 @@ export const filterFieldsWithPermissions = ({
|
|
|
28
28
|
const formattedField = {
|
|
29
29
|
...field,
|
|
30
30
|
fields: filterFieldsWithPermissions({
|
|
31
|
-
fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : 'name' in field && field.name ? fieldPermissions[field.name]?.fields || fieldPermissions[field.name] : fieldPermissions,
|
|
31
|
+
fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : 'name' in field && field.name ? fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name] : fieldPermissions,
|
|
32
32
|
fields: field.fields
|
|
33
33
|
})
|
|
34
34
|
};
|
|
@@ -40,7 +40,7 @@ export const filterFieldsWithPermissions = ({
|
|
|
40
40
|
return acc;
|
|
41
41
|
}
|
|
42
42
|
if (fieldAffectsData(field)) {
|
|
43
|
-
const fieldPermission = fieldPermissions[field.name];
|
|
43
|
+
const fieldPermission = fieldPermissions?.[field.name];
|
|
44
44
|
// Always allow ID fields, or if explicitly granted (true or { read: true })
|
|
45
45
|
// undefined means field is not in permissions object = denied
|
|
46
46
|
if (fieldIsID(field) || fieldPermission === true || fieldPermission?.read === true) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterFieldsWithPermissions.js","names":["fieldAffectsData","fieldIsHiddenOrDisabled","fieldIsID","shouldSkipField","field","type","admin","disableListColumn","filterFieldsWithPermissions","fieldPermissions","fields","reduce","acc","formattedField","tabs","map","tab","name","push","Array","isArray","fieldPermission","read"],"sources":["../../../../src/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.tsx"],"sourcesContent":["import type {\n ClientField,\n Field,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, fieldIsID } from 'payload/shared'\n\nconst shouldSkipField = (field: ClientField | Field): boolean =>\n (field.type !== 'ui' && fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) ||\n field?.admin?.disableListColumn === true\n\nexport const filterFieldsWithPermissions = <T extends ClientField | Field = ClientField>({\n fieldPermissions,\n fields,\n}: {\n fieldPermissions?: SanitizedFieldPermissions | SanitizedFieldsPermissions\n fields: (ClientField | Field)[]\n}): T[] => {\n return (fields ?? []).reduce((acc, field) => {\n if (shouldSkipField(field)) {\n return acc\n }\n\n // handle tabs\n if (field.type === 'tabs' && 'tabs' in field) {\n const formattedField = {\n ...field,\n tabs: field.tabs.map((tab) => ({\n ...tab,\n fields: filterFieldsWithPermissions<T>({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : 'name' in tab && tab.name\n ? fieldPermissions[tab.name]?.fields || fieldPermissions[tab.name]\n : fieldPermissions,\n fields: tab.fields,\n }),\n })),\n } as ClientField | Field\n acc.push(formattedField)\n return acc\n }\n\n // handle fields with subfields (row, group, collapsible, etc.)\n if ('fields' in field && Array.isArray(field.fields)) {\n const formattedField = {\n ...field,\n fields: filterFieldsWithPermissions<T>({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : 'name' in field && field.name\n ? fieldPermissions[field.name]?.fields || fieldPermissions[field.name]\n : fieldPermissions,\n fields: field.fields,\n }),\n } as ClientField | Field\n acc.push(formattedField)\n return acc\n }\n\n if (fieldPermissions === true) {\n acc.push(field)\n return acc\n }\n\n if (fieldAffectsData(field)) {\n const fieldPermission = fieldPermissions[field.name]\n // Always allow ID fields, or if explicitly granted (true or { read: true })\n // undefined means field is not in permissions object = denied\n if (fieldIsID(field) || fieldPermission === true || fieldPermission?.read === true) {\n acc.push(field)\n }\n return acc\n }\n\n // leaf\n acc.push(field)\n return acc\n }, [])\n}\n"],"mappings":"AAOA,SAASA,gBAAgB,EAAEC,uBAAuB,EAAEC,SAAS,QAAQ;AAErE,MAAMC,eAAA,GAAmBC,KAAA,IACvBA,KAAC,CAAMC,IAAI,KAAK,QAAQJ,uBAAA,CAAwBG,KAAA,KAAU,CAACF,SAAA,CAAUE,KAAA,KACrEA,KAAA,EAAOE,KAAA,EAAOC,iBAAA,KAAsB;AAEtC,OAAO,MAAMC,2BAAA,GAA8BA,CAA8C;EACvFC,gBAAgB;EAChBC;AAAM,CAIP;EACC,OAAO,CAACA,MAAA,IAAU,EAAE,EAAEC,MAAM,CAAC,CAACC,GAAA,EAAKR,KAAA;IACjC,IAAID,eAAA,CAAgBC,KAAA,GAAQ;MAC1B,OAAOQ,GAAA;IACT;IAEA;IACA,IAAIR,KAAA,CAAMC,IAAI,KAAK,UAAU,UAAUD,KAAA,EAAO;MAC5C,MAAMS,cAAA,GAAiB;QACrB,GAAGT,KAAK;QACRU,IAAA,EAAMV,KAAA,CAAMU,IAAI,CAACC,GAAG,CAAEC,GAAA,KAAS;UAC7B,GAAGA,GAAG;UACNN,MAAA,EAAQF,2BAAA,CAA+B;YACrCC,gBAAA,EACE,OAAOA,gBAAA,KAAqB,YACxBA,gBAAA,GACA,UAAUO,GAAA,IAAOA,GAAA,CAAIC,IAAI,GACvBR,gBAAgB,CAACO,GAAA,CAAIC,IAAI,CAAC,EAAEP,MAAA,IAAUD,gBAAgB,CAACO,GAAA,CAAIC,IAAI,CAAC,GAChER,gBAAA;YACRC,MAAA,EAAQM,GAAA,CAAIN;UACd;QACF;MACF;MACAE,GAAA,CAAIM,IAAI,CAACL,cAAA;MACT,OAAOD,GAAA;IACT;IAEA;IACA,IAAI,YAAYR,KAAA,IAASe,KAAA,CAAMC,OAAO,CAAChB,KAAA,CAAMM,MAAM,GAAG;MACpD,MAAMG,cAAA,GAAiB;QACrB,GAAGT,KAAK;QACRM,MAAA,EAAQF,2BAAA,CAA+B;UACrCC,gBAAA,EACE,OAAOA,gBAAA,KAAqB,YACxBA,gBAAA,GACA,UAAUL,KAAA,IAASA,KAAA,CAAMa,IAAI,GAC3BR,
|
|
1
|
+
{"version":3,"file":"filterFieldsWithPermissions.js","names":["fieldAffectsData","fieldIsHiddenOrDisabled","fieldIsID","shouldSkipField","field","type","admin","disableListColumn","filterFieldsWithPermissions","fieldPermissions","fields","reduce","acc","formattedField","tabs","map","tab","name","push","Array","isArray","fieldPermission","read"],"sources":["../../../../src/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.tsx"],"sourcesContent":["import type {\n ClientField,\n Field,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, fieldIsID } from 'payload/shared'\n\nconst shouldSkipField = (field: ClientField | Field): boolean =>\n (field.type !== 'ui' && fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) ||\n field?.admin?.disableListColumn === true\n\nexport const filterFieldsWithPermissions = <T extends ClientField | Field = ClientField>({\n fieldPermissions,\n fields,\n}: {\n fieldPermissions?: SanitizedFieldPermissions | SanitizedFieldsPermissions\n fields: (ClientField | Field)[]\n}): T[] => {\n return (fields ?? []).reduce((acc, field) => {\n if (shouldSkipField(field)) {\n return acc\n }\n\n // handle tabs\n if (field.type === 'tabs' && 'tabs' in field) {\n const formattedField = {\n ...field,\n tabs: field.tabs.map((tab) => ({\n ...tab,\n fields: filterFieldsWithPermissions<T>({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : 'name' in tab && tab.name\n ? fieldPermissions[tab.name]?.fields || fieldPermissions[tab.name]\n : fieldPermissions,\n fields: tab.fields,\n }),\n })),\n } as ClientField | Field\n acc.push(formattedField)\n return acc\n }\n\n // handle fields with subfields (row, group, collapsible, etc.)\n if ('fields' in field && Array.isArray(field.fields)) {\n const formattedField = {\n ...field,\n fields: filterFieldsWithPermissions<T>({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : 'name' in field && field.name\n ? fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name]\n : fieldPermissions,\n fields: field.fields,\n }),\n } as ClientField | Field\n acc.push(formattedField)\n return acc\n }\n\n if (fieldPermissions === true) {\n acc.push(field)\n return acc\n }\n\n if (fieldAffectsData(field)) {\n const fieldPermission = fieldPermissions?.[field.name]\n // Always allow ID fields, or if explicitly granted (true or { read: true })\n // undefined means field is not in permissions object = denied\n if (fieldIsID(field) || fieldPermission === true || fieldPermission?.read === true) {\n acc.push(field)\n }\n return acc\n }\n\n // leaf\n acc.push(field)\n return acc\n }, [])\n}\n"],"mappings":"AAOA,SAASA,gBAAgB,EAAEC,uBAAuB,EAAEC,SAAS,QAAQ;AAErE,MAAMC,eAAA,GAAmBC,KAAA,IACvBA,KAAC,CAAMC,IAAI,KAAK,QAAQJ,uBAAA,CAAwBG,KAAA,KAAU,CAACF,SAAA,CAAUE,KAAA,KACrEA,KAAA,EAAOE,KAAA,EAAOC,iBAAA,KAAsB;AAEtC,OAAO,MAAMC,2BAAA,GAA8BA,CAA8C;EACvFC,gBAAgB;EAChBC;AAAM,CAIP;EACC,OAAO,CAACA,MAAA,IAAU,EAAE,EAAEC,MAAM,CAAC,CAACC,GAAA,EAAKR,KAAA;IACjC,IAAID,eAAA,CAAgBC,KAAA,GAAQ;MAC1B,OAAOQ,GAAA;IACT;IAEA;IACA,IAAIR,KAAA,CAAMC,IAAI,KAAK,UAAU,UAAUD,KAAA,EAAO;MAC5C,MAAMS,cAAA,GAAiB;QACrB,GAAGT,KAAK;QACRU,IAAA,EAAMV,KAAA,CAAMU,IAAI,CAACC,GAAG,CAAEC,GAAA,KAAS;UAC7B,GAAGA,GAAG;UACNN,MAAA,EAAQF,2BAAA,CAA+B;YACrCC,gBAAA,EACE,OAAOA,gBAAA,KAAqB,YACxBA,gBAAA,GACA,UAAUO,GAAA,IAAOA,GAAA,CAAIC,IAAI,GACvBR,gBAAgB,CAACO,GAAA,CAAIC,IAAI,CAAC,EAAEP,MAAA,IAAUD,gBAAgB,CAACO,GAAA,CAAIC,IAAI,CAAC,GAChER,gBAAA;YACRC,MAAA,EAAQM,GAAA,CAAIN;UACd;QACF;MACF;MACAE,GAAA,CAAIM,IAAI,CAACL,cAAA;MACT,OAAOD,GAAA;IACT;IAEA;IACA,IAAI,YAAYR,KAAA,IAASe,KAAA,CAAMC,OAAO,CAAChB,KAAA,CAAMM,MAAM,GAAG;MACpD,MAAMG,cAAA,GAAiB;QACrB,GAAGT,KAAK;QACRM,MAAA,EAAQF,2BAAA,CAA+B;UACrCC,gBAAA,EACE,OAAOA,gBAAA,KAAqB,YACxBA,gBAAA,GACA,UAAUL,KAAA,IAASA,KAAA,CAAMa,IAAI,GAC3BR,gBAAA,GAAmBL,KAAA,CAAMa,IAAI,CAAC,EAAEP,MAAA,IAAUD,gBAAA,GAAmBL,KAAA,CAAMa,IAAI,CAAC,GACxER,gBAAA;UACRC,MAAA,EAAQN,KAAA,CAAMM;QAChB;MACF;MACAE,GAAA,CAAIM,IAAI,CAACL,cAAA;MACT,OAAOD,GAAA;IACT;IAEA,IAAIH,gBAAA,KAAqB,MAAM;MAC7BG,GAAA,CAAIM,IAAI,CAACd,KAAA;MACT,OAAOQ,GAAA;IACT;IAEA,IAAIZ,gBAAA,CAAiBI,KAAA,GAAQ;MAC3B,MAAMiB,eAAA,GAAkBZ,gBAAA,GAAmBL,KAAA,CAAMa,IAAI,CAAC;MACtD;MACA;MACA,IAAIf,SAAA,CAAUE,KAAA,KAAUiB,eAAA,KAAoB,QAAQA,eAAA,EAAiBC,IAAA,KAAS,MAAM;QAClFV,GAAA,CAAIM,IAAI,CAACd,KAAA;MACX;MACA,OAAOQ,GAAA;IACT;IAEA;IACAA,GAAA,CAAIM,IAAI,CAACd,KAAA;IACT,OAAOQ,GAAA;EACT,GAAG,EAAE;AACP","ignoreList":[]}
|
|
@@ -41,7 +41,7 @@ export const reduceFieldsToOptions = ({
|
|
|
41
41
|
const tabPathPrefix = tabHasName(tab) && tab.name ? pathPrefix ? pathPrefix + '.' + tab.name : tab.name : pathPrefix;
|
|
42
42
|
if (typeof localizedTabLabel === 'string') {
|
|
43
43
|
reduced.push(...reduceFieldsToOptions({
|
|
44
|
-
fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : tabHasName(tab) && tab.name ? fieldPermissions[tab.name]?.fields || fieldPermissions[tab.name] : fieldPermissions,
|
|
44
|
+
fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : tabHasName(tab) && tab.name ? fieldPermissions?.[tab.name]?.fields || fieldPermissions?.[tab.name] : fieldPermissions,
|
|
45
45
|
fields: tab.fields,
|
|
46
46
|
i18n,
|
|
47
47
|
labelPrefix: labelWithPrefix,
|
|
@@ -82,7 +82,7 @@ export const reduceFieldsToOptions = ({
|
|
|
82
82
|
// Make sure we handle deeply nested groups
|
|
83
83
|
const pathWithPrefix = field.name ? pathPrefix ? pathPrefix + '.' + field.name : field.name : pathPrefix;
|
|
84
84
|
reduced.push(...reduceFieldsToOptions({
|
|
85
|
-
fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions[field.name]?.fields || fieldPermissions[field.name],
|
|
85
|
+
fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],
|
|
86
86
|
fields: field.fields,
|
|
87
87
|
i18n,
|
|
88
88
|
labelPrefix: labelWithPrefix,
|
|
@@ -105,7 +105,7 @@ export const reduceFieldsToOptions = ({
|
|
|
105
105
|
// Make sure we handle deeply nested groups
|
|
106
106
|
const pathWithPrefix = field.name ? pathPrefix ? pathPrefix + '.' + field.name : field.name : pathPrefix;
|
|
107
107
|
reduced.push(...reduceFieldsToOptions({
|
|
108
|
-
fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions[field.name]?.fields || fieldPermissions[field.name],
|
|
108
|
+
fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],
|
|
109
109
|
fields: field.fields,
|
|
110
110
|
i18n,
|
|
111
111
|
labelPrefix: labelWithPrefix,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reduceFieldsToOptions.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","fieldIsID","tabHasName","fieldTypeConditions","getValidFieldOperators","createNestedClientFieldPath","combineFieldLabel","reduceFieldsToOptions","fieldPermissions","fields","i18n","labelPrefix","pathPrefix","pathPrefixFromArgs","reduce","reduced","field","virtual","name","type","tabs","forEach","tab","label","localizedTabLabel","labelWithPrefix","tabPathPrefix","push","translatedLabel","pathWithPrefix","read","operatorKeys","Set","validOperators","operators","acc","operator","has","value","add","operatorKey","t","localizedLabel","formattedLabel","prefix","fieldPath","formattedField","plainTextLabel"],"sources":["../../src/utilities/reduceFieldsToOptions.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type { ClientField, SanitizedFieldPermissions, SanitizedFieldsPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared'\n\nimport type { ReducedField } from '../elements/WhereBuilder/types.js'\n\nimport {\n fieldTypeConditions,\n getValidFieldOperators,\n} from '../elements/WhereBuilder/field-types.js'\nimport { createNestedClientFieldPath } from '../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from './combineFieldLabel.js'\n\ntype ReduceFieldOptionsArgs = {\n fieldPermissions?: SanitizedFieldPermissions | SanitizedFieldsPermissions\n fields: ClientField[]\n i18n: I18nClient\n labelPrefix?: string\n pathPrefix?: string\n}\n\n/**\n * Transforms a fields schema into a flattened array of fields with labels and values.\n * Used in the `WhereBuilder` component to render the fields in the dropdown.\n */\nexport const reduceFieldsToOptions = ({\n fieldPermissions,\n fields,\n i18n,\n labelPrefix,\n pathPrefix: pathPrefixFromArgs,\n}: ReduceFieldOptionsArgs): ReducedField[] => {\n return fields.reduce((reduced, field) => {\n let pathPrefix = pathPrefixFromArgs\n // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query\n // Filter out `virtual: true` fields since they are regular virtuals and not backed by a DB field\n if (\n (fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) ||\n ('virtual' in field && field.virtual === true)\n ) {\n return reduced\n }\n\n // Handle virtual:string fields (virtual relationships, e.g. \"post.title\")\n if ('virtual' in field && typeof field.virtual === 'string') {\n pathPrefix = pathPrefix ? pathPrefix + '.' + field.virtual : field.virtual\n if (fieldAffectsData(field)) {\n // ignore virtual field names\n field.name = ''\n }\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const tabs = field.tabs\n\n tabs.forEach((tab) => {\n if (typeof tab.label !== 'boolean') {\n const localizedTabLabel = getTranslation(tab.label, i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n // Make sure we handle nested tabs\n const tabPathPrefix =\n tabHasName(tab) && tab.name\n ? pathPrefix\n ? pathPrefix + '.' + tab.name\n : tab.name\n : pathPrefix\n\n if (typeof localizedTabLabel === 'string') {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : tabHasName(tab) && tab.name\n ? fieldPermissions[tab.name]?.fields || fieldPermissions[tab.name]\n : fieldPermissions,\n fields: tab.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: tabPathPrefix,\n }),\n )\n }\n }\n })\n return reduced\n }\n\n // Rows cant have labels, so we need to handle them differently\n if (field.type === 'row' && 'fields' in field) {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'collapsible' && 'fields' in field) {\n const localizedTabLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'group' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n if (fieldAffectsData(field)) {\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : fieldPermissions[field.name]?.fields || fieldPermissions[field.name],\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n } else {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n }\n\n return reduced\n }\n\n if (field.type === 'array' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : fieldPermissions[field.name]?.fields || fieldPermissions[field.name],\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n\n return reduced\n }\n\n if (typeof fieldTypeConditions[field.type] === 'object') {\n if (\n fieldIsID(field) ||\n fieldPermissions === true ||\n fieldPermissions?.[field.name] === true ||\n fieldPermissions?.[field.name]?.read === true\n ) {\n const operatorKeys = new Set()\n\n const { validOperators } = getValidFieldOperators({\n field,\n })\n\n const operators = validOperators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n const operatorKey = `operators:${operator.label}` as ClientTranslationKeys\n acc.push({\n ...operator,\n label: i18n.t(operatorKey),\n })\n }\n\n return acc\n }, [])\n\n const localizedLabel = getTranslation(field.label || '', i18n)\n\n const formattedLabel = labelPrefix\n ? combineFieldLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n const fieldPath = pathPrefix ? createNestedClientFieldPath(pathPrefix, field) : field.name\n\n const formattedField: ReducedField = {\n label: formattedLabel,\n plainTextLabel: `${labelPrefix ? labelPrefix + ' > ' : ''}${localizedLabel}`,\n value: fieldPath,\n ...fieldTypeConditions[field.type],\n field,\n operators,\n }\n\n reduced.push(formattedField)\n return reduced\n }\n }\n return reduced\n }, [])\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"reduceFieldsToOptions.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","fieldIsID","tabHasName","fieldTypeConditions","getValidFieldOperators","createNestedClientFieldPath","combineFieldLabel","reduceFieldsToOptions","fieldPermissions","fields","i18n","labelPrefix","pathPrefix","pathPrefixFromArgs","reduce","reduced","field","virtual","name","type","tabs","forEach","tab","label","localizedTabLabel","labelWithPrefix","tabPathPrefix","push","translatedLabel","pathWithPrefix","read","operatorKeys","Set","validOperators","operators","acc","operator","has","value","add","operatorKey","t","localizedLabel","formattedLabel","prefix","fieldPath","formattedField","plainTextLabel"],"sources":["../../src/utilities/reduceFieldsToOptions.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type { ClientField, SanitizedFieldPermissions, SanitizedFieldsPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared'\n\nimport type { ReducedField } from '../elements/WhereBuilder/types.js'\n\nimport {\n fieldTypeConditions,\n getValidFieldOperators,\n} from '../elements/WhereBuilder/field-types.js'\nimport { createNestedClientFieldPath } from '../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from './combineFieldLabel.js'\n\ntype ReduceFieldOptionsArgs = {\n fieldPermissions?: SanitizedFieldPermissions | SanitizedFieldsPermissions\n fields: ClientField[]\n i18n: I18nClient\n labelPrefix?: string\n pathPrefix?: string\n}\n\n/**\n * Transforms a fields schema into a flattened array of fields with labels and values.\n * Used in the `WhereBuilder` component to render the fields in the dropdown.\n */\nexport const reduceFieldsToOptions = ({\n fieldPermissions,\n fields,\n i18n,\n labelPrefix,\n pathPrefix: pathPrefixFromArgs,\n}: ReduceFieldOptionsArgs): ReducedField[] => {\n return fields.reduce((reduced, field) => {\n let pathPrefix = pathPrefixFromArgs\n // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query\n // Filter out `virtual: true` fields since they are regular virtuals and not backed by a DB field\n if (\n (fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) ||\n ('virtual' in field && field.virtual === true)\n ) {\n return reduced\n }\n\n // Handle virtual:string fields (virtual relationships, e.g. \"post.title\")\n if ('virtual' in field && typeof field.virtual === 'string') {\n pathPrefix = pathPrefix ? pathPrefix + '.' + field.virtual : field.virtual\n if (fieldAffectsData(field)) {\n // ignore virtual field names\n field.name = ''\n }\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const tabs = field.tabs\n\n tabs.forEach((tab) => {\n if (typeof tab.label !== 'boolean') {\n const localizedTabLabel = getTranslation(tab.label, i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n // Make sure we handle nested tabs\n const tabPathPrefix =\n tabHasName(tab) && tab.name\n ? pathPrefix\n ? pathPrefix + '.' + tab.name\n : tab.name\n : pathPrefix\n\n if (typeof localizedTabLabel === 'string') {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : tabHasName(tab) && tab.name\n ? fieldPermissions?.[tab.name]?.fields || fieldPermissions?.[tab.name]\n : fieldPermissions,\n fields: tab.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: tabPathPrefix,\n }),\n )\n }\n }\n })\n return reduced\n }\n\n // Rows cant have labels, so we need to handle them differently\n if (field.type === 'row' && 'fields' in field) {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'collapsible' && 'fields' in field) {\n const localizedTabLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'group' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n if (fieldAffectsData(field)) {\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n } else {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n }\n\n return reduced\n }\n\n if (field.type === 'array' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n\n return reduced\n }\n\n if (typeof fieldTypeConditions[field.type] === 'object') {\n if (\n fieldIsID(field) ||\n fieldPermissions === true ||\n fieldPermissions?.[field.name] === true ||\n fieldPermissions?.[field.name]?.read === true\n ) {\n const operatorKeys = new Set()\n\n const { validOperators } = getValidFieldOperators({\n field,\n })\n\n const operators = validOperators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n const operatorKey = `operators:${operator.label}` as ClientTranslationKeys\n acc.push({\n ...operator,\n label: i18n.t(operatorKey),\n })\n }\n\n return acc\n }, [])\n\n const localizedLabel = getTranslation(field.label || '', i18n)\n\n const formattedLabel = labelPrefix\n ? combineFieldLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n const fieldPath = pathPrefix ? createNestedClientFieldPath(pathPrefix, field) : field.name\n\n const formattedField: ReducedField = {\n label: formattedLabel,\n plainTextLabel: `${labelPrefix ? labelPrefix + ' > ' : ''}${localizedLabel}`,\n value: fieldPath,\n ...fieldTypeConditions[field.type],\n field,\n operators,\n }\n\n reduced.push(formattedField)\n return reduced\n }\n }\n return reduced\n }, [])\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.63.0-
|
|
3
|
+
"version": "3.63.0-internal.3a88243",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -115,8 +115,8 @@
|
|
|
115
115
|
],
|
|
116
116
|
"dependencies": {
|
|
117
117
|
"@date-fns/tz": "1.2.0",
|
|
118
|
-
"@dnd-kit/core": "6.
|
|
119
|
-
"@dnd-kit/sortable": "
|
|
118
|
+
"@dnd-kit/core": "6.3.1",
|
|
119
|
+
"@dnd-kit/sortable": "10.0.0",
|
|
120
120
|
"@dnd-kit/utilities": "3.2.2",
|
|
121
121
|
"@faceless-ui/modal": "3.0.0",
|
|
122
122
|
"@faceless-ui/scroll-info": "2.0.0",
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"ts-essentials": "10.0.3",
|
|
137
137
|
"use-context-selector": "2.0.0",
|
|
138
138
|
"uuid": "10.0.0",
|
|
139
|
-
"@payloadcms/translations": "3.63.0-
|
|
139
|
+
"@payloadcms/translations": "3.63.0-internal.3a88243"
|
|
140
140
|
},
|
|
141
141
|
"devDependencies": {
|
|
142
142
|
"@babel/cli": "7.27.2",
|
|
@@ -145,20 +145,20 @@
|
|
|
145
145
|
"@babel/preset-react": "7.27.1",
|
|
146
146
|
"@babel/preset-typescript": "7.27.1",
|
|
147
147
|
"@hyrious/esbuild-plugin-commonjs": "0.2.6",
|
|
148
|
-
"@types/react": "19.
|
|
149
|
-
"@types/react-dom": "19.
|
|
148
|
+
"@types/react": "19.2.2",
|
|
149
|
+
"@types/react-dom": "19.2.2",
|
|
150
150
|
"@types/uuid": "10.0.0",
|
|
151
151
|
"babel-plugin-react-compiler": "19.1.0-rc.3",
|
|
152
152
|
"esbuild": "0.25.5",
|
|
153
153
|
"esbuild-sass-plugin": "3.3.1",
|
|
154
|
-
"
|
|
155
|
-
"
|
|
154
|
+
"payload": "3.63.0-internal.3a88243",
|
|
155
|
+
"@payloadcms/eslint-config": "3.28.0"
|
|
156
156
|
},
|
|
157
157
|
"peerDependencies": {
|
|
158
|
-
"next": "^15.2.3",
|
|
158
|
+
"next": "^15.2.3 || ^16.0.1",
|
|
159
159
|
"react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
160
160
|
"react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
161
|
-
"payload": "3.63.0-
|
|
161
|
+
"payload": "3.63.0-internal.3a88243"
|
|
162
162
|
},
|
|
163
163
|
"engines": {
|
|
164
164
|
"node": "^18.20.2 || >=20.9.0"
|
|
File without changes
|
|
File without changes
|