@payloadcms/ui 3.59.0-internal.b804ca6 → 3.59.0-internal.c8403a3
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/CodeEditor/CodeEditor.js +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/Combobox/index.d.ts +30 -0
- package/dist/elements/Combobox/index.d.ts.map +1 -0
- package/dist/elements/Combobox/index.js +96 -0
- package/dist/elements/Combobox/index.js.map +1 -0
- package/dist/elements/Combobox/index.scss +49 -0
- package/dist/elements/PageControls/index.d.ts +9 -0
- package/dist/elements/PageControls/index.d.ts.map +1 -1
- package/dist/elements/PageControls/index.js +101 -45
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.scss +3 -4
- package/dist/elements/Popup/index.scss +2 -0
- package/dist/elements/StickyToolbar/index.d.ts +3 -0
- package/dist/elements/StickyToolbar/index.d.ts.map +1 -1
- package/dist/elements/StickyToolbar/index.js +3 -0
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-2AHTKKBE.js → CodeEditor-DSS2HY4R.js} +2 -2
- package/dist/exports/client/{chunk-6UH4KUYK.js → chunk-UFVHYD7C.js} +2 -2
- package/dist/exports/client/{chunk-6UH4KUYK.js.map → chunk-UFVHYD7C.js.map} +3 -3
- package/dist/exports/client/index.d.ts +5 -0
- 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/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +2 -1
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +40 -16
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/hooks/useControllableState.d.ts +2 -0
- package/dist/hooks/useControllableState.d.ts.map +1 -1
- package/dist/hooks/useControllableState.js +44 -11
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +4 -4
- /package/dist/exports/client/{CodeEditor-2AHTKKBE.js.map → CodeEditor-DSS2HY4R.js.map} +0 -0
|
@@ -71,6 +71,7 @@ const CodeEditor = props => {
|
|
|
71
71
|
React.useEffect(t3, t4);
|
|
72
72
|
return _jsx(Editor, {
|
|
73
73
|
className: classes,
|
|
74
|
+
height: maxHeight ? Math.min(dynamicHeight, maxHeight) : dynamicHeight,
|
|
74
75
|
loading: _jsx(ShimmerEffect, {
|
|
75
76
|
height: dynamicHeight
|
|
76
77
|
}),
|
|
@@ -86,7 +87,6 @@ const CodeEditor = props => {
|
|
|
86
87
|
theme: theme === "dark" ? "vs-dark" : "vs",
|
|
87
88
|
value,
|
|
88
89
|
...rest,
|
|
89
|
-
height: maxHeight ? Math.min(dynamicHeight, maxHeight) : dynamicHeight,
|
|
90
90
|
onChange: (value_0, ev) => {
|
|
91
91
|
rest.onChange?.(value_0, ev);
|
|
92
92
|
setDynamicHeight(value_0 ? Math.max(MIN_HEIGHT, value_0.split("\n").length * 18 + 2 + paddingFromProps) : MIN_HEIGHT);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditor.js","names":["c","_c","EditorImport","React","useState","useTheme","ShimmerEffect","defaultGlobalEditorOptions","defaultOptions","Editor","default","baseClass","CodeEditor","props","$","className","maxHeight","minHeight","options","readOnly","recalculatedHeightAt","value","rest","MIN_HEIGHT","prevCalculatedHeightAt","useRef","insertSpaces","tabSize","trimAutoWhitespace","globalEditorOptions","paddingFromProps","padding","top","bottom","dynamicHeight","setDynamicHeight","theme","t0","defaultLanguage","t1","t2","filter","Boolean","classes","join","t3","t4","current","Math","max","split","length","useEffect","_jsx","
|
|
1
|
+
{"version":3,"file":"CodeEditor.js","names":["c","_c","EditorImport","React","useState","useTheme","ShimmerEffect","defaultGlobalEditorOptions","defaultOptions","Editor","default","baseClass","CodeEditor","props","$","className","maxHeight","minHeight","options","readOnly","recalculatedHeightAt","value","rest","MIN_HEIGHT","prevCalculatedHeightAt","useRef","insertSpaces","tabSize","trimAutoWhitespace","globalEditorOptions","paddingFromProps","padding","top","bottom","dynamicHeight","setDynamicHeight","theme","t0","defaultLanguage","t1","t2","filter","Boolean","classes","join","t3","t4","current","Math","max","split","length","useEffect","_jsx","height","min","loading","detectIndentation","undefined","onChange","value_0","ev","onMount","editor","monaco","model","getModel","updateOptions","getValue"],"sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"sourcesContent":["'use client'\nimport EditorImport from '@monaco-editor/react'\nimport React, { useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTheme } from '../../providers/Theme/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\nimport { defaultGlobalEditorOptions, defaultOptions } from './constants.js'\nimport './index.scss'\n\nconst Editor = 'default' in EditorImport ? EditorImport.default : EditorImport\n\nconst baseClass = 'code-editor'\n\nconst CodeEditor: React.FC<Props> = (props) => {\n const {\n className,\n maxHeight,\n minHeight,\n options,\n readOnly,\n recalculatedHeightAt,\n value,\n ...rest\n } = props\n const MIN_HEIGHT = minHeight ?? 56 // equivalent to 3 lines\n const prevCalculatedHeightAt = React.useRef<number | undefined>(recalculatedHeightAt)\n\n // Extract per-model settings to avoid global conflicts\n const { insertSpaces, tabSize, trimAutoWhitespace, ...globalEditorOptions } = options || {}\n const paddingFromProps = options?.padding\n ? (options.padding.top || 0) + (options.padding?.bottom || 0)\n : 0\n\n const [dynamicHeight, setDynamicHeight] = useState(MIN_HEIGHT)\n const { theme } = useTheme()\n\n const classes = [\n baseClass,\n className,\n rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : '',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')\n\n React.useEffect(() => {\n if (recalculatedHeightAt && recalculatedHeightAt > prevCalculatedHeightAt.current) {\n setDynamicHeight(\n value\n ? Math.max(MIN_HEIGHT, value.split('\\n').length * 18 + 2 + paddingFromProps)\n : MIN_HEIGHT,\n )\n prevCalculatedHeightAt.current = recalculatedHeightAt\n }\n }, [value, MIN_HEIGHT, paddingFromProps, recalculatedHeightAt])\n\n return (\n <Editor\n className={classes}\n height={maxHeight ? Math.min(dynamicHeight, maxHeight) : dynamicHeight}\n loading={<ShimmerEffect height={dynamicHeight} />}\n options={{\n ...defaultGlobalEditorOptions,\n ...globalEditorOptions,\n readOnly: Boolean(readOnly),\n /**\n * onMount the model will set:\n * - insertSpaces\n * - tabSize\n * - trimAutoWhitespace\n */\n detectIndentation: false,\n insertSpaces: undefined,\n tabSize: undefined,\n trimAutoWhitespace: undefined,\n }}\n theme={theme === 'dark' ? 'vs-dark' : 'vs'}\n value={value}\n {...rest}\n // Since we are not building an IDE and the container\n // can already have scrolling, we want the height of the\n // editor to fit its content.\n // See: https://github.com/microsoft/monaco-editor/discussions/3677\n onChange={(value, ev) => {\n rest.onChange?.(value, ev)\n setDynamicHeight(\n value\n ? Math.max(MIN_HEIGHT, value.split('\\n').length * 18 + 2 + paddingFromProps)\n : MIN_HEIGHT,\n )\n }}\n onMount={(editor, monaco) => {\n rest.onMount?.(editor, monaco)\n\n // Set per-model options to avoid global conflicts\n const model = editor.getModel()\n if (model) {\n model.updateOptions({\n insertSpaces: insertSpaces ?? defaultOptions.insertSpaces,\n tabSize: tabSize ?? defaultOptions.tabSize,\n trimAutoWhitespace: trimAutoWhitespace ?? defaultOptions.trimAutoWhitespace,\n })\n }\n\n setDynamicHeight(\n Math.max(MIN_HEIGHT, editor.getValue().split('\\n').length * 18 + 2 + paddingFromProps),\n )\n }}\n />\n )\n}\n\n// eslint-disable-next-line no-restricted-exports\nexport default CodeEditor\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PopupProps } from '../Popup/index.js';
|
|
3
|
+
import './index.scss';
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
* @experimental
|
|
7
|
+
*/
|
|
8
|
+
export type ComboboxEntry = {
|
|
9
|
+
Component: React.ReactNode;
|
|
10
|
+
name: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
* @experimental
|
|
15
|
+
*/
|
|
16
|
+
export type ComboboxProps = {
|
|
17
|
+
entries: ComboboxEntry[];
|
|
18
|
+
/** Minimum number of entries required to show search */
|
|
19
|
+
minEntriesForSearch?: number;
|
|
20
|
+
onSelect?: (entry: ComboboxEntry) => void;
|
|
21
|
+
searchPlaceholder?: string;
|
|
22
|
+
} & Omit<PopupProps, 'children' | 'render'>;
|
|
23
|
+
/**
|
|
24
|
+
* A wrapper on top of Popup + PopupList.ButtonGroup that adds search functionality.
|
|
25
|
+
*
|
|
26
|
+
* @internal - this component may be removed or receive breaking changes in minor releases.
|
|
27
|
+
* @experimental
|
|
28
|
+
*/
|
|
29
|
+
export declare const Combobox: React.FC<ComboboxProps>;
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Combobox/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAGnD,OAAO,cAAc,CAAA;AAIrB;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAA;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAmG5C,CAAA"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import React, { useMemo, useRef, useState } from 'react';
|
|
5
|
+
import { Popup, PopupList } from '../Popup/index.js';
|
|
6
|
+
import './index.scss';
|
|
7
|
+
const baseClass = 'combobox';
|
|
8
|
+
/**
|
|
9
|
+
* A wrapper on top of Popup + PopupList.ButtonGroup that adds search functionality.
|
|
10
|
+
*
|
|
11
|
+
* @internal - this component may be removed or receive breaking changes in minor releases.
|
|
12
|
+
* @experimental
|
|
13
|
+
*/
|
|
14
|
+
export const Combobox = props => {
|
|
15
|
+
const {
|
|
16
|
+
entries,
|
|
17
|
+
minEntriesForSearch = 8,
|
|
18
|
+
onSelect,
|
|
19
|
+
onToggleClose,
|
|
20
|
+
onToggleOpen,
|
|
21
|
+
searchPlaceholder = 'Search...',
|
|
22
|
+
...popupProps
|
|
23
|
+
} = props;
|
|
24
|
+
const [searchValue, setSearchValue] = useState('');
|
|
25
|
+
const isOpenRef = useRef(false);
|
|
26
|
+
const searchInputRef = useRef(null);
|
|
27
|
+
const filteredEntries = useMemo(() => {
|
|
28
|
+
if (!searchValue) {
|
|
29
|
+
return entries;
|
|
30
|
+
}
|
|
31
|
+
const search = searchValue.toLowerCase();
|
|
32
|
+
return entries.filter(entry => entry.name.toLowerCase().includes(search));
|
|
33
|
+
}, [entries, searchValue]);
|
|
34
|
+
const showSearch = entries.length >= minEntriesForSearch;
|
|
35
|
+
const hasResults = filteredEntries.length > 0;
|
|
36
|
+
const handleToggleOpen = React.useCallback(active => {
|
|
37
|
+
isOpenRef.current = active;
|
|
38
|
+
if (active && showSearch) {
|
|
39
|
+
setTimeout(() => {
|
|
40
|
+
searchInputRef.current?.focus();
|
|
41
|
+
}, 100);
|
|
42
|
+
}
|
|
43
|
+
onToggleOpen?.(active);
|
|
44
|
+
}, [showSearch, onToggleOpen]);
|
|
45
|
+
const handleToggleClose = React.useCallback(() => {
|
|
46
|
+
isOpenRef.current = false;
|
|
47
|
+
setSearchValue('');
|
|
48
|
+
onToggleClose?.();
|
|
49
|
+
}, [onToggleClose]);
|
|
50
|
+
return /*#__PURE__*/_jsx(Popup, {
|
|
51
|
+
...popupProps,
|
|
52
|
+
className: `${baseClass} ${popupProps.className || ''}`,
|
|
53
|
+
onToggleClose: handleToggleClose,
|
|
54
|
+
onToggleOpen: handleToggleOpen,
|
|
55
|
+
render: ({
|
|
56
|
+
close
|
|
57
|
+
}) => /*#__PURE__*/_jsxs("div", {
|
|
58
|
+
className: `${baseClass}__content`,
|
|
59
|
+
children: [showSearch && /*#__PURE__*/_jsx("div", {
|
|
60
|
+
className: `${baseClass}__search-wrapper${!hasResults ? ` ${baseClass}__search-wrapper--no-results` : ''}`,
|
|
61
|
+
children: /*#__PURE__*/_jsx("input", {
|
|
62
|
+
"aria-label": searchPlaceholder,
|
|
63
|
+
className: `${baseClass}__search-input`,
|
|
64
|
+
onChange: e => setSearchValue(e.target.value),
|
|
65
|
+
placeholder: searchPlaceholder,
|
|
66
|
+
ref: searchInputRef,
|
|
67
|
+
type: "text",
|
|
68
|
+
value: searchValue
|
|
69
|
+
})
|
|
70
|
+
}), /*#__PURE__*/_jsx(PopupList.ButtonGroup, {
|
|
71
|
+
children: filteredEntries.map((entry_0, index) => {
|
|
72
|
+
const handleClick = () => {
|
|
73
|
+
if (onSelect) {
|
|
74
|
+
onSelect(entry_0);
|
|
75
|
+
}
|
|
76
|
+
close();
|
|
77
|
+
};
|
|
78
|
+
return /*#__PURE__*/_jsx("div", {
|
|
79
|
+
className: `${baseClass}__entry`,
|
|
80
|
+
onClick: handleClick,
|
|
81
|
+
onKeyDown: e_0 => {
|
|
82
|
+
if (e_0.key === 'Enter' || e_0.key === ' ') {
|
|
83
|
+
e_0.preventDefault();
|
|
84
|
+
handleClick();
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
role: "menuitem",
|
|
88
|
+
tabIndex: 0,
|
|
89
|
+
children: entry_0.Component
|
|
90
|
+
}, `${entry_0.name}-${index}`);
|
|
91
|
+
})
|
|
92
|
+
})]
|
|
93
|
+
})
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useMemo","useRef","useState","Popup","PopupList","baseClass","Combobox","props","entries","minEntriesForSearch","onSelect","onToggleClose","onToggleOpen","searchPlaceholder","popupProps","searchValue","setSearchValue","isOpenRef","searchInputRef","filteredEntries","search","toLowerCase","filter","entry","name","includes","showSearch","length","hasResults","handleToggleOpen","useCallback","active","current","setTimeout","focus","handleToggleClose","_jsx","className","render","close","_jsxs","onChange","e","target","value","placeholder","ref","type","ButtonGroup","map","index","handleClick","onClick","onKeyDown","key","preventDefault","role","tabIndex","Component"],"sources":["../../../src/elements/Combobox/index.tsx"],"sourcesContent":["'use client'\nimport React, { useMemo, useRef, useState } from 'react'\n\nimport type { PopupProps } from '../Popup/index.js'\n\nimport { Popup, PopupList } from '../Popup/index.js'\nimport './index.scss'\n\nconst baseClass = 'combobox'\n\n/**\n * @internal\n * @experimental\n */\nexport type ComboboxEntry = {\n Component: React.ReactNode\n name: string\n}\n\n/**\n * @internal\n * @experimental\n */\nexport type ComboboxProps = {\n entries: ComboboxEntry[]\n /** Minimum number of entries required to show search */\n minEntriesForSearch?: number\n onSelect?: (entry: ComboboxEntry) => void\n searchPlaceholder?: string\n} & Omit<PopupProps, 'children' | 'render'>\n\n/**\n * A wrapper on top of Popup + PopupList.ButtonGroup that adds search functionality.\n *\n * @internal - this component may be removed or receive breaking changes in minor releases.\n * @experimental\n */\nexport const Combobox: React.FC<ComboboxProps> = (props) => {\n const {\n entries,\n minEntriesForSearch = 8,\n onSelect,\n onToggleClose,\n onToggleOpen,\n searchPlaceholder = 'Search...',\n ...popupProps\n } = props\n const [searchValue, setSearchValue] = useState('')\n const isOpenRef = useRef(false)\n const searchInputRef = useRef<HTMLInputElement>(null)\n\n const filteredEntries = useMemo(() => {\n if (!searchValue) {\n return entries\n }\n const search = searchValue.toLowerCase()\n return entries.filter((entry) => entry.name.toLowerCase().includes(search))\n }, [entries, searchValue])\n\n const showSearch = entries.length >= minEntriesForSearch\n const hasResults = filteredEntries.length > 0\n\n const handleToggleOpen = React.useCallback(\n (active: boolean) => {\n isOpenRef.current = active\n if (active && showSearch) {\n setTimeout(() => {\n searchInputRef.current?.focus()\n }, 100)\n }\n onToggleOpen?.(active)\n },\n [showSearch, onToggleOpen],\n )\n\n const handleToggleClose = React.useCallback(() => {\n isOpenRef.current = false\n setSearchValue('')\n onToggleClose?.()\n }, [onToggleClose])\n\n return (\n <Popup\n {...popupProps}\n className={`${baseClass} ${popupProps.className || ''}`}\n onToggleClose={handleToggleClose}\n onToggleOpen={handleToggleOpen}\n render={({ close }) => (\n <div className={`${baseClass}__content`}>\n {showSearch && (\n <div\n className={`${baseClass}__search-wrapper${!hasResults ? ` ${baseClass}__search-wrapper--no-results` : ''}`}\n >\n <input\n aria-label={searchPlaceholder}\n className={`${baseClass}__search-input`}\n onChange={(e) => setSearchValue(e.target.value)}\n placeholder={searchPlaceholder}\n ref={searchInputRef}\n type=\"text\"\n value={searchValue}\n />\n </div>\n )}\n <PopupList.ButtonGroup>\n {filteredEntries.map((entry, index) => {\n const handleClick = () => {\n if (onSelect) {\n onSelect(entry)\n }\n close()\n }\n\n return (\n <div\n className={`${baseClass}__entry`}\n key={`${entry.name}-${index}`}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleClick()\n }\n }}\n role=\"menuitem\"\n tabIndex={0}\n >\n {entry.Component}\n </div>\n )\n })}\n </PopupList.ButtonGroup>\n </div>\n )}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
@import '../../scss/styles.scss';
|
|
2
|
+
|
|
3
|
+
@layer payload-default {
|
|
4
|
+
.combobox {
|
|
5
|
+
&__content {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
&__search-wrapper {
|
|
11
|
+
padding-top: var(--popup-padding);
|
|
12
|
+
padding-bottom: calc(var(--base) * 0.5);
|
|
13
|
+
border-bottom: 1px solid var(--theme-elevation-150);
|
|
14
|
+
margin-bottom: calc(var(--base) * 0.5);
|
|
15
|
+
|
|
16
|
+
&--no-results {
|
|
17
|
+
border-bottom: none;
|
|
18
|
+
margin-bottom: 0;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&__search-input {
|
|
23
|
+
width: 100%;
|
|
24
|
+
background: var(--theme-elevation-50);
|
|
25
|
+
color: var(--theme-text);
|
|
26
|
+
border: none;
|
|
27
|
+
border-radius: var(--style-radius-s);
|
|
28
|
+
padding: calc(var(--base) * 0.25) calc(var(--base) * 0.5);
|
|
29
|
+
outline: none;
|
|
30
|
+
box-shadow: none;
|
|
31
|
+
|
|
32
|
+
&::placeholder {
|
|
33
|
+
color: var(--theme-elevation-400);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&:focus,
|
|
37
|
+
&:focus-visible {
|
|
38
|
+
background: var(--theme-elevation-100);
|
|
39
|
+
outline: none;
|
|
40
|
+
border: none;
|
|
41
|
+
box-shadow: none;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&__entry {
|
|
46
|
+
cursor: pointer;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -2,6 +2,9 @@ import type { ClientCollectionConfig, PaginatedDocs } from 'payload';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { IListQueryContext } from '../../providers/ListQuery/types.js';
|
|
4
4
|
import './index.scss';
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
5
8
|
export declare const PageControlsComponent: React.FC<{
|
|
6
9
|
AfterPageControls?: React.ReactNode;
|
|
7
10
|
collectionConfig: ClientCollectionConfig;
|
|
@@ -10,6 +13,12 @@ export declare const PageControlsComponent: React.FC<{
|
|
|
10
13
|
handlePerPageChange?: IListQueryContext['handlePerPageChange'];
|
|
11
14
|
limit?: number;
|
|
12
15
|
}>;
|
|
16
|
+
/**
|
|
17
|
+
* These page controls are controlled by the global ListQuery state.
|
|
18
|
+
* To override thi behavior, build your own wrapper around PageControlsComponent.
|
|
19
|
+
*
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
13
22
|
export declare const PageControls: React.FC<{
|
|
14
23
|
AfterPageControls?: React.ReactNode;
|
|
15
24
|
collectionConfig: ClientCollectionConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PageControls/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PageControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGpE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAM3E,OAAO,cAAc,CAAA;AAIrB;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,IAAI,EAAE,aAAa,CAAA;IACnB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAA;IACxD,mBAAmB,CAAC,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAA;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CA2CA,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,gBAAgB,EAAE,sBAAsB,CAAA;CACzC,CAmBA,CAAA"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
1
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
5
|
import { isNumber } from 'payload/shared';
|
|
3
6
|
import React, { Fragment } from 'react';
|
|
@@ -7,50 +10,81 @@ import { useListQuery } from '../../providers/ListQuery/context.js';
|
|
|
7
10
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
8
11
|
import './index.scss';
|
|
9
12
|
const baseClass = 'page-controls';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export const PageControlsComponent = t0 => {
|
|
17
|
+
const $ = _c(16);
|
|
18
|
+
const {
|
|
19
|
+
AfterPageControls,
|
|
20
|
+
collectionConfig,
|
|
21
|
+
data,
|
|
22
|
+
handlePageChange,
|
|
23
|
+
handlePerPageChange,
|
|
24
|
+
limit
|
|
25
|
+
} = t0;
|
|
18
26
|
const {
|
|
19
27
|
i18n
|
|
20
28
|
} = useTranslation();
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
children: [
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
29
|
+
let t1;
|
|
30
|
+
if ($[0] !== AfterPageControls || $[1] !== collectionConfig?.admin?.pagination?.limits || $[2] !== data.hasNextPage || $[3] !== data.hasPrevPage || $[4] !== data.limit || $[5] !== data.nextPage || $[6] !== data.page || $[7] !== data.pagingCounter || $[8] !== data.prevPage || $[9] !== data.totalDocs || $[10] !== data.totalPages || $[11] !== handlePageChange || $[12] !== handlePerPageChange || $[13] !== i18n || $[14] !== limit) {
|
|
31
|
+
t1 = _jsxs("div", {
|
|
32
|
+
className: baseClass,
|
|
33
|
+
children: [_jsx(Pagination, {
|
|
34
|
+
hasNextPage: data.hasNextPage,
|
|
35
|
+
hasPrevPage: data.hasPrevPage,
|
|
36
|
+
limit: data.limit,
|
|
37
|
+
nextPage: data.nextPage,
|
|
38
|
+
numberOfNeighbors: 1,
|
|
39
|
+
onChange: handlePageChange,
|
|
40
|
+
page: data.page,
|
|
41
|
+
prevPage: data.prevPage,
|
|
42
|
+
totalPages: data.totalPages
|
|
43
|
+
}), data.totalDocs > 0 && _jsxs(Fragment, {
|
|
44
|
+
children: [_jsxs("div", {
|
|
45
|
+
className: `${baseClass}__page-info`,
|
|
46
|
+
children: [data.page * data.limit - (data.limit - 1), "-", data.totalPages > 1 && data.totalPages !== data.page ? data.limit * data.page : data.totalDocs, " ", i18n.t("general:of"), " ", data.totalDocs]
|
|
47
|
+
}), _jsx(PerPage, {
|
|
48
|
+
handleChange: handlePerPageChange,
|
|
49
|
+
limit,
|
|
50
|
+
limits: collectionConfig?.admin?.pagination?.limits,
|
|
51
|
+
resetPage: data.totalDocs <= data.pagingCounter
|
|
52
|
+
}), AfterPageControls]
|
|
53
|
+
})]
|
|
54
|
+
});
|
|
55
|
+
$[0] = AfterPageControls;
|
|
56
|
+
$[1] = collectionConfig?.admin?.pagination?.limits;
|
|
57
|
+
$[2] = data.hasNextPage;
|
|
58
|
+
$[3] = data.hasPrevPage;
|
|
59
|
+
$[4] = data.limit;
|
|
60
|
+
$[5] = data.nextPage;
|
|
61
|
+
$[6] = data.page;
|
|
62
|
+
$[7] = data.pagingCounter;
|
|
63
|
+
$[8] = data.prevPage;
|
|
64
|
+
$[9] = data.totalDocs;
|
|
65
|
+
$[10] = data.totalPages;
|
|
66
|
+
$[11] = handlePageChange;
|
|
67
|
+
$[12] = handlePerPageChange;
|
|
68
|
+
$[13] = i18n;
|
|
69
|
+
$[14] = limit;
|
|
70
|
+
$[15] = t1;
|
|
71
|
+
} else {
|
|
72
|
+
t1 = $[15];
|
|
73
|
+
}
|
|
74
|
+
return t1;
|
|
45
75
|
};
|
|
46
|
-
|
|
76
|
+
/**
|
|
47
77
|
* These page controls are controlled by the global ListQuery state.
|
|
48
78
|
* To override thi behavior, build your own wrapper around PageControlsComponent.
|
|
79
|
+
*
|
|
80
|
+
* @internal
|
|
49
81
|
*/
|
|
50
|
-
export const PageControls =
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
82
|
+
export const PageControls = t0 => {
|
|
83
|
+
const $ = _c(10);
|
|
84
|
+
const {
|
|
85
|
+
AfterPageControls,
|
|
86
|
+
collectionConfig
|
|
87
|
+
} = t0;
|
|
54
88
|
const {
|
|
55
89
|
data,
|
|
56
90
|
defaultLimit: initialLimit,
|
|
@@ -58,13 +92,35 @@ export const PageControls = ({
|
|
|
58
92
|
handlePerPageChange,
|
|
59
93
|
query
|
|
60
94
|
} = useListQuery();
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
95
|
+
let t1;
|
|
96
|
+
if ($[0] !== initialLimit || $[1] !== query.limit) {
|
|
97
|
+
t1 = isNumber(query.limit) ? query.limit : initialLimit;
|
|
98
|
+
$[0] = initialLimit;
|
|
99
|
+
$[1] = query.limit;
|
|
100
|
+
$[2] = t1;
|
|
101
|
+
} else {
|
|
102
|
+
t1 = $[2];
|
|
103
|
+
}
|
|
104
|
+
let t2;
|
|
105
|
+
if ($[3] !== AfterPageControls || $[4] !== collectionConfig || $[5] !== data || $[6] !== handlePageChange || $[7] !== handlePerPageChange || $[8] !== t1) {
|
|
106
|
+
t2 = _jsx(PageControlsComponent, {
|
|
107
|
+
AfterPageControls,
|
|
108
|
+
collectionConfig,
|
|
109
|
+
data,
|
|
110
|
+
handlePageChange,
|
|
111
|
+
handlePerPageChange,
|
|
112
|
+
limit: t1
|
|
113
|
+
});
|
|
114
|
+
$[3] = AfterPageControls;
|
|
115
|
+
$[4] = collectionConfig;
|
|
116
|
+
$[5] = data;
|
|
117
|
+
$[6] = handlePageChange;
|
|
118
|
+
$[7] = handlePerPageChange;
|
|
119
|
+
$[8] = t1;
|
|
120
|
+
$[9] = t2;
|
|
121
|
+
} else {
|
|
122
|
+
t2 = $[9];
|
|
123
|
+
}
|
|
124
|
+
return t2;
|
|
69
125
|
};
|
|
70
126
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["isNumber","React","Fragment","Pagination","PerPage","useListQuery","useTranslation","baseClass","PageControlsComponent","AfterPageControls","collectionConfig","data","handlePageChange","handlePerPageChange","limit","i18n","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","isNumber","React","Fragment","Pagination","PerPage","useListQuery","useTranslation","baseClass","PageControlsComponent","t0","$","AfterPageControls","collectionConfig","data","handlePageChange","handlePerPageChange","limit","i18n","t1","admin","pagination","limits","hasNextPage","hasPrevPage","nextPage","page","pagingCounter","prevPage","totalDocs","totalPages","_jsxs","className","children","_jsx","numberOfNeighbors","onChange","t","handleChange","resetPage","PageControls","defaultLimit","initialLimit","query","t2"],"sources":["../../../src/elements/PageControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, PaginatedDocs } from 'payload'\n\nimport { isNumber } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { IListQueryContext } from '../../providers/ListQuery/types.js'\n\nimport { Pagination } from '../../elements/Pagination/index.js'\nimport { PerPage } from '../../elements/PerPage/index.js'\nimport { useListQuery } from '../../providers/ListQuery/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'page-controls'\n\n/**\n * @internal\n */\nexport const PageControlsComponent: React.FC<{\n AfterPageControls?: React.ReactNode\n collectionConfig: ClientCollectionConfig\n data: PaginatedDocs\n handlePageChange?: IListQueryContext['handlePageChange']\n handlePerPageChange?: IListQueryContext['handlePerPageChange']\n limit?: number\n}> = ({\n AfterPageControls,\n collectionConfig,\n data,\n handlePageChange,\n handlePerPageChange,\n limit,\n}) => {\n const { i18n } = useTranslation()\n\n return (\n <div className={baseClass}>\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={handlePageChange}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n {data.totalDocs > 0 && (\n <Fragment>\n <div className={`${baseClass}__page-info`}>\n {data.page * data.limit - (data.limit - 1)}-\n {data.totalPages > 1 && data.totalPages !== data.page\n ? data.limit * data.page\n : data.totalDocs}{' '}\n {i18n.t('general:of')} {data.totalDocs}\n </div>\n <PerPage\n handleChange={handlePerPageChange}\n limit={limit}\n limits={collectionConfig?.admin?.pagination?.limits}\n resetPage={data.totalDocs <= data.pagingCounter}\n />\n {AfterPageControls}\n </Fragment>\n )}\n </div>\n )\n}\n\n/**\n * These page controls are controlled by the global ListQuery state.\n * To override thi behavior, build your own wrapper around PageControlsComponent.\n *\n * @internal\n */\nexport const PageControls: React.FC<{\n AfterPageControls?: React.ReactNode\n collectionConfig: ClientCollectionConfig\n}> = ({ AfterPageControls, collectionConfig }) => {\n const {\n data,\n defaultLimit: initialLimit,\n handlePageChange,\n handlePerPageChange,\n query,\n } = useListQuery()\n\n return (\n <PageControlsComponent\n AfterPageControls={AfterPageControls}\n collectionConfig={collectionConfig}\n data={data}\n handlePageChange={handlePageChange}\n handlePerPageChange={handlePerPageChange}\n limit={isNumber(query.limit) ? query.limit : initialLimit}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
display: flex;
|
|
8
8
|
flex-direction: column;
|
|
9
9
|
text-align: left;
|
|
10
|
-
gap: var(--popup-button-list-gap);
|
|
11
10
|
[dir='rtl'] &__text-align--left {
|
|
12
11
|
text-align: right;
|
|
13
12
|
}
|
|
@@ -29,14 +28,14 @@
|
|
|
29
28
|
@extend %btn-reset;
|
|
30
29
|
padding-left: var(--list-button-padding);
|
|
31
30
|
padding-right: var(--list-button-padding);
|
|
32
|
-
padding-top: 2px;
|
|
33
|
-
padding-bottom: 2px;
|
|
31
|
+
padding-top: calc(2px + var(--popup-button-list-gap) / 2);
|
|
32
|
+
padding-bottom: calc(2px + var(--popup-button-list-gap) / 2);
|
|
34
33
|
cursor: pointer;
|
|
35
34
|
text-align: inherit;
|
|
36
35
|
line-height: var(--base);
|
|
37
36
|
text-decoration: none;
|
|
38
37
|
border-radius: 3px;
|
|
39
|
-
|
|
38
|
+
width: 100%;
|
|
40
39
|
button {
|
|
41
40
|
@extend %btn-reset;
|
|
42
41
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StickyToolbar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAAiE,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StickyToolbar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAAiE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","baseClass","StickyToolbar","children","_jsx","className"],"sources":["../../../src/elements/StickyToolbar/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'sticky-toolbar'\n\nexport const StickyToolbar: React.FC<{\n children: React.ReactNode\n}> = ({ children }) => <div className={baseClass}>{children}</div>\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,aAAA,GAERA,CAAC;EAAEC;AAAQ,CAAE,kBAAKC,IAAA,CAAC;EAAIC,SAAA,EAAWJ,SAAA;YAAYE","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","baseClass","StickyToolbar","children","_jsx","className"],"sources":["../../../src/elements/StickyToolbar/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'sticky-toolbar'\n\n/**\n * @internal\n */\nexport const StickyToolbar: React.FC<{\n children: React.ReactNode\n}> = ({ children }) => <div className={baseClass}>{children}</div>\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB;;;AAGA,OAAO,MAAMC,aAAA,GAERA,CAAC;EAAEC;AAAQ,CAAE,kBAAKC,IAAA,CAAC;EAAIC,SAAA,EAAWJ,SAAA;YAAYE","ignoreList":[]}
|
|
@@ -10,5 +10,5 @@ function require(m) {
|
|
|
10
10
|
}
|
|
11
11
|
// Workaround end
|
|
12
12
|
|
|
13
|
-
import{k as a}from"./chunk-
|
|
14
|
-
//# sourceMappingURL=CodeEditor-
|
|
13
|
+
import{k as a}from"./chunk-UFVHYD7C.js";import"./chunk-5LKBKI4T.js";export{a as default};
|
|
14
|
+
//# sourceMappingURL=CodeEditor-DSS2HY4R.js.map
|
|
@@ -21,7 +21,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
21
21
|
|
|
22
22
|
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
23
23
|
`},je=we(jt)(Me),Mt={config:wt},Se=Mt;var St=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,a){return a(i)},o)}},xe=St;function Ee(t,e){return Object.keys(e).forEach(function(r){e[r]instanceof Object&&t[r]&&Object.assign(e[r],Ee(t[r],e[r]))}),oe(oe({},t),e)}var Ce=Ee;var xt={type:"cancelation",msg:"operation is manually canceled"};function Et(t){var e=!1,r=new Promise(function(n,o){t.then(function(i){return e?o(xt):n(i)}),t.catch(o)});return r.cancel=function(){return e=!0},r}var Y=Et;var Ct=be.create({config:ye,isInitialized:!1,resolve:null,reject:null,monaco:null}),Pe=ge(Ct,2),B=Pe[0],J=Pe[1];function Pt(t){var e=Se.config(t),r=e.monaco,n=pe(e,["monaco"]);J(function(o){return{config:Ce(o.config,n),monaco:r}})}function Tt(){var t=B(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(ie);if(window.monaco&&window.monaco.editor)return Te(window.monaco),t.resolve(window.monaco),Y(ie);xe(At,It)(Dt)}return Y(ie)}function At(t){return document.body.appendChild(t)}function Rt(t){var e=document.createElement("script");return t&&(e.src=t),e}function It(t){var e=B(function(n){var o=n.config,i=n.reject;return{config:o,reject:i}}),r=Rt("".concat(e.config.paths.vs,"/loader.js"));return r.onload=function(){return t()},r.onerror=e.reject,r}function Dt(){var t=B(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){Te(r),t.resolve(r)},function(r){t.reject(r)})}function Te(t){B().monaco||J({monaco:t})}function Lt(){return B(function(t){var e=t.monaco;return e})}var ie=new Promise(function(t,e){return J({resolve:t,reject:e})}),_t={config:Pt,init:Tt,__getMonacoInstance:Lt},k=_t;import{memo as kt}from"react";import Wt,{useState as Ae,useRef as W,useCallback as Re,useEffect as Ie}from"react";import{memo as $t}from"react";import ae from"react";import Ht from"react";import{useEffect as Kt}from"react";import{useEffect as Jt,useRef as Qt}from"react";import{useState as vn}from"react";import{memo as nr}from"react";import or,{useState as De,useEffect as Q,useRef as R,useCallback as ir}from"react";import{useEffect as ar,useRef as cr}from"react";var Nt={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},ce=Nt,Vt={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},zt=Vt;function Bt({children:t}){return Ht.createElement("div",{style:zt.container},t)}var Ft=Bt,Ut=Ft;function qt({width:t,height:e,isEditorReady:r,loading:n,_ref:o,className:i,wrapperProps:a}){return ae.createElement("section",{style:{...ce.wrapper,width:t,height:e},...a},!r&&ae.createElement(Ut,null,n),ae.createElement("div",{ref:o,style:{...ce.fullWidth,...!r&&ce.hide},className:i}))}var Gt=qt,Le=$t(Gt);function Yt(t){Kt(t,[])}var _e=Yt;function Xt(t,e,r=!0){let n=Qt(!0);Jt(n.current||!r?()=>{n.current=!1}:t,e)}var S=Xt;function F(){}function $(t,e,r,n){return Zt(t,n)||er(t,e,r,n)}function Zt(t,e){return t.editor.getModel(ke(t,e))}function er(t,e,r,n){return t.editor.createModel(e,r,n?ke(t,n):void 0)}function ke(t,e){return t.Uri.parse(e)}function tr({original:t,modified:e,language:r,originalLanguage:n,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:a,keepCurrentOriginalModel:c=!1,keepCurrentModifiedModel:u=!1,theme:s="light",loading:d="Loading...",options:f={},height:x="100%",width:w="100%",className:M,wrapperProps:C={},beforeMount:p=F,onMount:E=F}){let[y,L]=Ae(!1),[A,g]=Ae(!0),h=W(null),v=W(null),P=W(null),b=W(E),l=W(p),T=W(!1);_e(()=>{let m=k.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=$(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=$(v.current,e||"",o||r||"text",a||"");O!==m.getModel()&&m.setModel(O)}},[a],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(f)},[f],y);let _=Re(()=>{if(!v.current)return;l.current(v.current);let m=$(v.current,t||"",n||r||"text",i||""),O=$(v.current,e||"",o||r||"text",a||"");h.current?.setModel({original:m,modified:O})},[r,e,o,t,n,i,a]),q=Re(()=>{!T.current&&P.current&&(h.current=v.current.editor.createDiffEditor(P.current,{automaticLayout:!0,...f}),_(),v.current?.editor.setTheme(s),L(!0),T.current=!0)},[f,s,_]);Ie(()=>{y&&b.current(h.current,v.current)},[y]),Ie(()=>{!A&&!y&&q()},[A,y,q]);function H(){let m=h.current?.getModel();c||m?.original?.dispose(),u||m?.modified?.dispose(),h.current?.dispose()}return Wt.createElement(Le,{width:w,height:x,isEditorReady:y,loading:d,_ref:P,className:M,wrapperProps:C})}var rr=tr,gn=kt(rr);function ur(t){let e=cr();return ar(()=>{e.current=t},[t]),e.current}var sr=ur,X=new Map;function lr({defaultValue:t,defaultLanguage:e,defaultPath:r,value:n,language:o,path:i,theme:a="light",line:c,loading:u="Loading...",options:s={},overrideServices:d={},saveViewState:f=!0,keepCurrentModel:x=!1,width:w="100%",height:M="100%",className:C,wrapperProps:p={},beforeMount:E=F,onMount:y=F,onChange:L,onValidate:A=F}){let[g,h]=De(!1),[v,P]=De(!0),b=R(null),l=R(null),T=R(null),_=R(y),q=R(E),H=R(),m=R(n),O=sr(i),le=R(!1),te=R(!1);_e(()=>{let j=k.init();return j.then(I=>(b.current=I)&&P(!1)).catch(I=>I?.type!=="cancelation"&&console.error("Monaco initialization: error:",I)),()=>l.current?Ye():j.cancel()}),S(()=>{let j=$(b.current,t||n||"",e||o||"",i||r||"");j!==l.current?.getModel()&&(f&&X.set(O,l.current?.saveViewState()),l.current?.setModel(j),f&&l.current?.restoreViewState(X.get(i)))},[i],g),S(()=>{l.current?.updateOptions(s)},[s],g),S(()=>{!l.current||n===void 0||(l.current.getOption(b.current.editor.EditorOption.readOnly)?l.current.setValue(n):n!==l.current.getValue()&&(te.current=!0,l.current.executeEdits("",[{range:l.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),l.current.pushUndoStop(),te.current=!1))},[n],g),S(()=>{let j=l.current?.getModel();j&&o&&b.current?.editor.setModelLanguage(j,o)},[o],g),S(()=>{c!==void 0&&l.current?.revealLine(c)},[c],g),S(()=>{b.current?.editor.setTheme(a)},[a],g);let fe=ir(()=>{if(!(!T.current||!b.current)&&!le.current){q.current(b.current);let j=i||r,I=$(b.current,n||t||"",e||o||"",j||"");l.current=b.current?.editor.create(T.current,{model:I,automaticLayout:!0,...s},d),f&&l.current.restoreViewState(X.get(j)),b.current.editor.setTheme(a),c!==void 0&&l.current.revealLine(c),h(!0),le.current=!0}},[t,e,r,n,o,i,s,d,f,a,c]);Q(()=>{g&&_.current(l.current,b.current)},[g]),Q(()=>{!v&&!g&&fe()},[v,g,fe]),m.current=n,Q(()=>{g&&L&&(H.current?.dispose(),H.current=l.current?.onDidChangeModelContent(j=>{te.current||L(l.current.getValue(),j)}))},[g,L]),Q(()=>{if(g){let j=b.current.editor.onDidChangeMarkers(I=>{let re=l.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 Ye(){H.current?.dispose(),x?f&&X.set(i,l.current.saveViewState()):l.current.getModel()?.dispose(),l.current.dispose()}return or.createElement(Le,{width:w,height:M,isEditorReady:g,loading:u,_ref:T,className:C,wrapperProps:p})}var fr=lr,dr=nr(fr),Z=dr;import Ke,{useState as Rr}from"react";import{c as wr}from"react/compiler-runtime";import{jsx as Or}from"react/jsx-runtime";import{createContext as jr,use as Mr,useEffect as Sr,useState as Ve}from"react";import{c as mr}from"react/compiler-runtime";import{jsx as $e}from"react/jsx-runtime";import{createContext as pr,use as gr,useCallback as hr,useEffect as Ne,useMemo as We,useRef as vr,useState as br}from"react";var He=pr(void 0),yr=({children:t,config:e})=>{let[r,n]=br(e),o=vr(!0);Ne(()=>{if(o.current){o.current=!1;return}n(e)},[e,n]);let{collectionsBySlug:i,globalsBySlug:a}=We(()=>{let s={},d={};for(let f of r.collections)s[f.slug]=f;for(let f of r.globals)d[f.slug]=f;return{collectionsBySlug:s,globalsBySlug:d}},[r]),c=hr(s=>"collectionSlug"in s?i[s.collectionSlug]??null:"globalSlug"in s?a[s.globalSlug]??null:null,[i,a]),u=We(()=>({config:r,getEntityConfig:c,setConfig:n}),[r,c,n]);return $e(He,{value:u,children:t})},ue=()=>gr(He),Pn=t=>{let e=mr(7),{children:r,config:n}=t,{config:o,setConfig:i}=ue(),a,c;if(e[0]!==n||e[1]!==i?(a=()=>{i(n)},c=[n,i],e[0]=n,e[1]=i,e[2]=a,e[3]=c):(a=e[2],c=e[3]),Ne(a,c),o!==n&&o.unauthenticated!==n.unauthenticated){let u;return e[4]!==r||e[5]!==n?(u=$e(yr,{config:n,children:r}),e[4]=r,e[5]=n,e[6]=u):u=e[6],u}return r};var xr={autoMode:!0,setTheme:()=>null,theme:"light"},Be=jr(xr);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 Er=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}},Cr="light",kn=t=>{let e=wr(11),{children:r,theme:n}=t,{config:o}=ue(),i=o.admin.theme,a=`${o.cookiePrefix||"payload"}-theme`,[c,u]=Ve(n||Cr),[s,d]=Ve(),f,x;e[0]!==a||e[1]!==i?(f=()=>{if(i!=="all")return;let{theme:p,themeFromCookies:E}=Er(a);u(p),d(!E)},x=[i,a],e[0]=a,e[1]=i,e[2]=f,e[3]=x):(f=e[2],x=e[3]),Sr(f,x);let w;e[4]!==a?(w=p=>{if(p==="light"||p==="dark")u(p),d(!1),ze(a,p,365),document.documentElement.setAttribute("data-theme",p);else if(p==="auto"){ze(a,p,-1);let E=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";document.documentElement.setAttribute("data-theme",E),d(!0),u(E)}},e[4]=a,e[5]=w):w=e[5];let M=w,C;return e[6]!==s||e[7]!==r||e[8]!==M||e[9]!==c?(C=Or(Be,{value:{autoMode:s,setTheme:M,theme:c},children:r}),e[6]=s,e[7]=r,e[8]=M,e[9]=c,e[10]=C):C=e[10],C},Fe=()=>Mr(Be);import{c as Tr}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 Ue=(t,e)=>{let r=Pr(9),n=e===void 0?!1:e,[o,i]=N.useState(!1),a=N.useRef(void 0),c;r[0]!==t?(c=()=>(i(!1),clearTimeout(a.current),a.current=setTimeout(()=>{i(!0)},t),()=>{clearTimeout(a.current)}),r[0]=t,r[1]=c):c=r[1];let u=c,s,d;r[2]!==u||r[3]!==n?(s=()=>{n&&u()},d=[u,n],r[2]=u,r[3]=n,r[4]=s,r[5]=d):(s=r[4],d=r[5]),N.useEffect(s,d);let f;return r[6]!==o||r[7]!==u?(f=[o,u],r[6]=o,r[7]=u,r[8]=f):f=r[8],f};var se=({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=Tr(9),{className:r,count:n,height:o,renderDelay:i,shimmerDelay:a,shimmerItemClassName:c,width:u}=t,s=i===void 0?500:i,d=a===void 0?25:a,f=typeof d=="number"?`${d}ms`:d,[x]=Ue(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]!==f||e[5]!==c||e[6]!==w||e[7]!==u?(M=U("div",{className:r,children:w.map((C,p)=>U("div",{className:c,children:U(se,{animationDelay:`calc(${p} * ${f})`,height:o,width:u})},p))}),e[2]=r,e[3]=o,e[4]=f,e[5]=c,e[6]=w,e[7]=u,e[8]=M):M=e[8],M};var ee={insertSpaces:!1,tabSize:4,trimAutoWhitespace:!1},qe={hideCursorInOverviewRuler:!0,minimap:{enabled:!1},overviewRulerBorder:!1,readOnly:!1,scrollbar:{alwaysConsumeMouseWheel:!1},scrollBeyondLastLine:!1,wordWrap:"on"};var Ir="default"in Z?Z.default:Z,Dr="code-editor",Lr=t=>{let e=Ar(10),{className:r,maxHeight:n,minHeight:o,options:i,readOnly:a,recalculatedHeightAt:c,value:u,...s}=t,d=o??56,f=Ke.useRef(c),{insertSpaces:x,tabSize:w,trimAutoWhitespace:M,...C}=i||{},p=i?.padding?(i.padding.top||0)+(i.padding?.bottom||0):0,[E,y]=Rr(d),{theme:L}=Fe(),A=s?.defaultLanguage?`language--${s.defaultLanguage}`:"",g=a&&"read-only",h;e[0]!==r||e[1]!==A||e[2]!==g?(h=[Dr,r,A,g].filter(Boolean),e[0]=r,e[1]=A,e[2]=g,e[3]=h):h=e[3];let v=h.join(" "),P,b;return e[4]!==d||e[5]!==p||e[6]!==c||e[7]!==u?(P=()=>{c&&c>f.current&&(y(u?Math.max(d,u.split(`
|
|
24
|
-
`).length*18+2+p):d),f.current=c)},b=[u,d,p,c],e[4]=d,e[5]=p,e[6]=c,e[7]=u,e[8]=P,e[9]=b):(P=e[8],b=e[9]),Ke.useEffect(P,b),Ge(Ir,{className:v,loading:Ge(se,{height:E}),options:{...qe,...C,readOnly:!!a,detectIndentation:!1,insertSpaces:void 0,tabSize:void 0,trimAutoWhitespace:void 0},theme:L==="dark"?"vs-dark":"vs",value:u,...s,
|
|
24
|
+
`).length*18+2+p):d),f.current=c)},b=[u,d,p,c],e[4]=d,e[5]=p,e[6]=c,e[7]=u,e[8]=P,e[9]=b):(P=e[8],b=e[9]),Ke.useEffect(P,b),Ge(Ir,{className:v,height:n?Math.min(E,n):E,loading:Ge(se,{height:E}),options:{...qe,...C,readOnly:!!a,detectIndentation:!1,insertSpaces:void 0,tabSize:void 0,trimAutoWhitespace:void 0},theme:L==="dark"?"vs-dark":"vs",value:u,...s,onChange:(l,T)=>{s.onChange?.(l,T),y(l?Math.max(d,l.split(`
|
|
25
25
|
`).length*18+2+p):d)},onMount:(l,T)=>{s.onMount?.(l,T);let _=l.getModel();_&&_.updateOptions({insertSpaces:x??ee.insertSpaces,tabSize:w??ee.tabSize,trimAutoWhitespace:M??ee.trimAutoWhitespace}),y(Math.max(d,l.getValue().split(`
|
|
26
26
|
`).length*18+2+p))}})},eo=Lr;export{yr as a,ue as b,Pn as c,Ue as d,se as e,Fn as f,Cr as g,kn as h,Fe as i,ee as j,eo as k};
|
|
27
|
-
//# sourceMappingURL=chunk-
|
|
27
|
+
//# sourceMappingURL=chunk-UFVHYD7C.js.map
|