@payloadcms/next 3.0.0-beta.34 → 3.0.0-beta.36
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/cjs/withPayload.cjs +23 -0
- package/dist/cjs/withPayload.cjs.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +35 -15
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/exports/views.d.ts +2 -1
- package/dist/exports/views.d.ts.map +1 -1
- package/dist/exports/views.js +2 -1
- package/dist/exports/views.js.map +1 -1
- package/dist/fetchAPI-multipart/index.js.map +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +31 -15
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/rest/auth/access.d.ts.map +1 -1
- package/dist/routes/rest/auth/access.js +17 -7
- package/dist/routes/rest/auth/access.js.map +1 -1
- package/dist/routes/rest/og/image.js +64 -50
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js +2 -1
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
- package/dist/utilities/getRequestLanguage.js +1 -1
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getRequestTheme.d.ts +11 -0
- package/dist/utilities/getRequestTheme.d.ts.map +1 -0
- package/dist/utilities/getRequestTheme.js +19 -0
- package/dist/utilities/getRequestTheme.js.map +1 -0
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js +1 -0
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js +99 -70
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/index.client.js +128 -91
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js +2 -1
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/Account/Settings/index.js +27 -15
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +2 -1
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +53 -39
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +29 -19
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.js +16 -6
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.client.js +67 -56
- package/dist/views/Dashboard/Default/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js +28 -19
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js +23 -17
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/getDocumentData.d.ts +10 -0
- package/dist/views/Document/getDocumentData.d.ts.map +1 -0
- package/dist/views/Document/getDocumentData.js +24 -0
- package/dist/views/Document/getDocumentData.js.map +1 -0
- package/dist/views/Document/getDocumentPermissions.d.ts +14 -0
- package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -0
- package/dist/views/Document/getDocumentPermissions.js +83 -0
- package/dist/views/Document/getDocumentPermissions.js.map +1 -0
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +63 -64
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +41 -25
- package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Default/Auth/index.js +78 -50
- package/dist/views/Edit/Default/Auth/index.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +84 -65
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/Edit/index.client.js +10 -4
- package/dist/views/Edit/index.client.js.map +1 -1
- package/dist/views/Edit/index.js +2 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +42 -20
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js +37 -17
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/List/Default/index.js +151 -81
- package/dist/views/List/Default/index.js.map +1 -1
- package/dist/views/List/index.js +52 -43
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/LivePreview/Context/context.d.ts +1 -1
- package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
- package/dist/views/LivePreview/Context/context.js.map +1 -1
- package/dist/views/LivePreview/Context/index.js +9 -6
- package/dist/views/LivePreview/Context/index.js.map +1 -1
- package/dist/views/LivePreview/Device/index.js +5 -3
- package/dist/views/LivePreview/Device/index.js.map +1 -1
- package/dist/views/LivePreview/DeviceContainer/index.js +5 -3
- package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/views/LivePreview/IFrame/index.js +2 -1
- package/dist/views/LivePreview/IFrame/index.js.map +1 -1
- package/dist/views/LivePreview/Preview/index.js +25 -14
- package/dist/views/LivePreview/Preview/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.js +105 -57
- package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/SizeInput/index.js +2 -1
- package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/index.js +29 -14
- package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/views/LivePreview/ToolbarArea/index.js +5 -3
- package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js +103 -76
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/LivePreview/index.js +2 -1
- package/dist/views/LivePreview/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js +62 -48
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.js +26 -19
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +21 -7
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js +13 -10
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/NotFound/index.client.js +22 -10
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.js +21 -14
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/ResetPassword/index.client.js +17 -8
- package/dist/views/ResetPassword/index.client.js.map +1 -1
- package/dist/views/ResetPassword/index.js +46 -25
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +29 -13
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Unauthorized/index.js +19 -8
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Verify/index.js +20 -11
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Version/Default/index.js +83 -57
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js +5 -3
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +65 -50
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +30 -18
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +23 -12
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +2 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +22 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +31 -30
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +2 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +22 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +90 -87
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/Restore/index.js +38 -18
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +32 -24
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +17 -11
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/index.js +2 -1
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.js +7 -6
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +25 -3
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +9 -7
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +4 -1
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +61 -29
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +31 -22
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/withPayload.d.ts.map +1 -1
- package/dist/withPayload.js +23 -0
- package/dist/withPayload.js.map +1 -1
- package/package.json +14 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/API/RenderJSON/index.tsx"],"sourcesContent":["'use client'\nimport { Chevron } from '@payloadcms/ui/icons/Chevron'\nimport * as React from 'react'\n\nimport './index.scss'\n\nconst chars = {\n leftCurlyBracket: '\\u007B',\n leftSquareBracket: '\\u005B',\n rightCurlyBracket: '\\u007D',\n rightSquareBracket: '\\u005D',\n}\n\nconst baseClass = 'query-inspector'\n\nconst Bracket = ({\n type,\n comma = false,\n position,\n}: {\n comma?: boolean\n position: 'end' | 'start'\n type: 'array' | 'object'\n}) => {\n const rightBracket = type === 'object' ? chars.rightCurlyBracket : chars.rightSquareBracket\n const leftBracket = type === 'object' ? chars.leftCurlyBracket : chars.leftSquareBracket\n const bracketToRender = position === 'end' ? rightBracket : leftBracket\n\n return (\n <span className={`${baseClass}__bracket ${baseClass}__bracket--position-${position}`}>\n {bracketToRender}\n {position === 'end' && comma ? ',' : null}\n </span>\n )\n}\n\ntype Args = {\n isEmpty?: boolean\n object: Record<string, any> | any[]\n objectKey?: string\n parentType?: 'array' | 'object'\n trailingComma?: boolean\n}\n\nexport const RenderJSON = ({\n isEmpty = false,\n object,\n objectKey,\n parentType = 'object',\n trailingComma = false,\n}: Args) => {\n const objectKeys = object ? Object.keys(object) : []\n const objectLength = objectKeys.length\n const [isOpen, setIsOpen] = React.useState<boolean>(true)\n const isNestedAndEmpty = isEmpty && (parentType === 'object' || parentType === 'array')\n return (\n <li className={isNestedAndEmpty ? `${baseClass}__row-line--nested` : ''}>\n <button\n aria-label=\"toggle\"\n className={`${baseClass}__list-toggle ${isEmpty ? `${baseClass}__list-toggle--empty` : ''}`}\n onClick={() => setIsOpen(!isOpen)}\n type=\"button\"\n >\n {isEmpty ? null : (\n <Chevron\n className={`${baseClass}__toggle-row-icon ${baseClass}__toggle-row-icon--${\n isOpen ? 'open' : 'closed'\n }`}\n />\n )}\n <span>\n {objectKey && `\"${objectKey}\": `}\n <Bracket position=\"start\" type={parentType} />\n {isEmpty ? <Bracket comma={trailingComma} position=\"end\" type={parentType} /> : null}\n </span>\n </button>\n\n <ul className={`${baseClass}__json-children`}>\n {isOpen &&\n objectKeys.map((key, keyIndex) => {\n let value = object[key]\n let type = 'string'\n const isLastKey = keyIndex === objectLength - 1\n\n if (value === null) {\n type = 'null'\n } else if (value instanceof Date) {\n type = 'date'\n value = value.toISOString()\n } else if (Array.isArray(value)) {\n type = 'array'\n } else if (typeof value === 'object') {\n type = 'object'\n } else if (typeof value === 'number') {\n type = 'number'\n } else if (typeof value === 'boolean') {\n type = 'boolean'\n } else {\n type = 'string'\n }\n\n if (type === 'object' || type === 'array') {\n return (\n <RenderJSON\n isEmpty={value.length === 0 || Object.keys(value).length === 0}\n key={`${key}-${keyIndex}`}\n object={value}\n objectKey={parentType === 'object' ? key : undefined}\n parentType={type}\n trailingComma={!isLastKey}\n />\n )\n }\n\n if (\n type === 'date' ||\n type === 'string' ||\n type === 'null' ||\n type === 'number' ||\n type === 'boolean'\n ) {\n const parentHasKey = Boolean(parentType === 'object' && key)\n\n const rowClasses = [\n `${baseClass}__row-line`,\n `${baseClass}__value-type--${type}`,\n `${baseClass}__row-line--${objectKey ? 'nested' : 'top'}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <li className={rowClasses} key={`${key}-${keyIndex}`}>\n {parentHasKey ? <span>{`\"${key}\": `}</span> : null}\n\n <span className={`${baseClass}__value`}>{JSON.stringify(value)}</span>\n {isLastKey ? '' : ','}\n </li>\n )\n }\n })}\n </ul>\n\n {!isEmpty && (\n <span>\n <Bracket comma={trailingComma} position=\"end\" type={parentType} />\n </span>\n )}\n </li>\n )\n}\n"],"names":["Chevron","React","chars","leftCurlyBracket","leftSquareBracket","rightCurlyBracket","rightSquareBracket","baseClass","Bracket","type","comma","position","rightBracket","leftBracket","bracketToRender","span","className","RenderJSON","isEmpty","object","objectKey","parentType","trailingComma","objectKeys","Object","keys","objectLength","length","isOpen","setIsOpen","useState","isNestedAndEmpty","li","button","aria-label","onClick","ul","map","key","keyIndex","value","isLastKey","Date","toISOString","Array","isArray","undefined","parentHasKey","Boolean","rowClasses","filter","join","JSON","stringify"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/API/RenderJSON/index.tsx"],"sourcesContent":["'use client'\nimport { Chevron } from '@payloadcms/ui/icons/Chevron'\nimport * as React from 'react'\n\nimport './index.scss'\n\nconst chars = {\n leftCurlyBracket: '\\u007B',\n leftSquareBracket: '\\u005B',\n rightCurlyBracket: '\\u007D',\n rightSquareBracket: '\\u005D',\n}\n\nconst baseClass = 'query-inspector'\n\nconst Bracket = ({\n type,\n comma = false,\n position,\n}: {\n comma?: boolean\n position: 'end' | 'start'\n type: 'array' | 'object'\n}) => {\n const rightBracket = type === 'object' ? chars.rightCurlyBracket : chars.rightSquareBracket\n const leftBracket = type === 'object' ? chars.leftCurlyBracket : chars.leftSquareBracket\n const bracketToRender = position === 'end' ? rightBracket : leftBracket\n\n return (\n <span className={`${baseClass}__bracket ${baseClass}__bracket--position-${position}`}>\n {bracketToRender}\n {position === 'end' && comma ? ',' : null}\n </span>\n )\n}\n\ntype Args = {\n isEmpty?: boolean\n object: Record<string, any> | any[]\n objectKey?: string\n parentType?: 'array' | 'object'\n trailingComma?: boolean\n}\n\nexport const RenderJSON = ({\n isEmpty = false,\n object,\n objectKey,\n parentType = 'object',\n trailingComma = false,\n}: Args) => {\n const objectKeys = object ? Object.keys(object) : []\n const objectLength = objectKeys.length\n const [isOpen, setIsOpen] = React.useState<boolean>(true)\n const isNestedAndEmpty = isEmpty && (parentType === 'object' || parentType === 'array')\n return (\n <li className={isNestedAndEmpty ? `${baseClass}__row-line--nested` : ''}>\n <button\n aria-label=\"toggle\"\n className={`${baseClass}__list-toggle ${isEmpty ? `${baseClass}__list-toggle--empty` : ''}`}\n onClick={() => setIsOpen(!isOpen)}\n type=\"button\"\n >\n {isEmpty ? null : (\n <Chevron\n className={`${baseClass}__toggle-row-icon ${baseClass}__toggle-row-icon--${\n isOpen ? 'open' : 'closed'\n }`}\n />\n )}\n <span>\n {objectKey && `\"${objectKey}\": `}\n <Bracket position=\"start\" type={parentType} />\n {isEmpty ? <Bracket comma={trailingComma} position=\"end\" type={parentType} /> : null}\n </span>\n </button>\n\n <ul className={`${baseClass}__json-children`}>\n {isOpen &&\n objectKeys.map((key, keyIndex) => {\n let value = object[key]\n let type = 'string'\n const isLastKey = keyIndex === objectLength - 1\n\n if (value === null) {\n type = 'null'\n } else if (value instanceof Date) {\n type = 'date'\n value = value.toISOString()\n } else if (Array.isArray(value)) {\n type = 'array'\n } else if (typeof value === 'object') {\n type = 'object'\n } else if (typeof value === 'number') {\n type = 'number'\n } else if (typeof value === 'boolean') {\n type = 'boolean'\n } else {\n type = 'string'\n }\n\n if (type === 'object' || type === 'array') {\n return (\n <RenderJSON\n isEmpty={value.length === 0 || Object.keys(value).length === 0}\n key={`${key}-${keyIndex}`}\n object={value}\n objectKey={parentType === 'object' ? key : undefined}\n parentType={type}\n trailingComma={!isLastKey}\n />\n )\n }\n\n if (\n type === 'date' ||\n type === 'string' ||\n type === 'null' ||\n type === 'number' ||\n type === 'boolean'\n ) {\n const parentHasKey = Boolean(parentType === 'object' && key)\n\n const rowClasses = [\n `${baseClass}__row-line`,\n `${baseClass}__value-type--${type}`,\n `${baseClass}__row-line--${objectKey ? 'nested' : 'top'}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <li className={rowClasses} key={`${key}-${keyIndex}`}>\n {parentHasKey ? <span>{`\"${key}\": `}</span> : null}\n\n <span className={`${baseClass}__value`}>{JSON.stringify(value)}</span>\n {isLastKey ? '' : ','}\n </li>\n )\n }\n })}\n </ul>\n\n {!isEmpty && (\n <span>\n <Bracket comma={trailingComma} position=\"end\" type={parentType} />\n </span>\n )}\n </li>\n )\n}\n"],"names":["Chevron","React","chars","leftCurlyBracket","leftSquareBracket","rightCurlyBracket","rightSquareBracket","baseClass","Bracket","type","comma","position","rightBracket","leftBracket","bracketToRender","span","className","RenderJSON","isEmpty","object","objectKey","parentType","trailingComma","objectKeys","Object","keys","objectLength","length","isOpen","setIsOpen","useState","isNestedAndEmpty","li","button","aria-label","onClick","ul","map","key","keyIndex","value","isLastKey","Date","toISOString","Array","isArray","undefined","parentHasKey","Boolean","rowClasses","filter","join","JSON","stringify"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { CopyToClipboard } from '@payloadcms/ui/elements/CopyToClipboard';
|
|
3
4
|
import { Gutter } from '@payloadcms/ui/elements/Gutter';
|
|
4
5
|
import { Checkbox } from '@payloadcms/ui/fields/Checkbox';
|
|
@@ -87,101 +88,137 @@ export const APIViewClient = ()=>{
|
|
|
87
88
|
fetchURL,
|
|
88
89
|
authenticated
|
|
89
90
|
]);
|
|
90
|
-
return /*#__PURE__*/
|
|
91
|
+
return /*#__PURE__*/ _jsxs(Gutter, {
|
|
91
92
|
className: [
|
|
92
93
|
baseClass,
|
|
93
94
|
fullscreen && `${baseClass}--fullscreen`
|
|
94
95
|
].filter(Boolean).join(' '),
|
|
95
|
-
right: false
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
96
|
+
right: false,
|
|
97
|
+
children: [
|
|
98
|
+
/*#__PURE__*/ _jsx(SetDocumentStepNav, {
|
|
99
|
+
collectionSlug: collectionSlug,
|
|
100
|
+
globalLabel: globalConfig?.label,
|
|
101
|
+
globalSlug: globalSlug,
|
|
102
|
+
id: id,
|
|
103
|
+
pluralLabel: collectionConfig ? collectionConfig?.labels?.plural : undefined,
|
|
104
|
+
useAsTitle: collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined,
|
|
105
|
+
view: "API"
|
|
106
|
+
}),
|
|
107
|
+
/*#__PURE__*/ _jsx(SetViewActions, {
|
|
108
|
+
actions: componentMap?.actionsMap?.Edit?.API
|
|
109
|
+
}),
|
|
110
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
111
|
+
className: `${baseClass}__configuration`,
|
|
112
|
+
children: [
|
|
113
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
114
|
+
className: `${baseClass}__api-url`,
|
|
115
|
+
children: [
|
|
116
|
+
/*#__PURE__*/ _jsxs("span", {
|
|
117
|
+
className: `${baseClass}__label`,
|
|
118
|
+
children: [
|
|
119
|
+
"API URL ",
|
|
120
|
+
/*#__PURE__*/ _jsx(CopyToClipboard, {
|
|
121
|
+
value: fetchURL
|
|
122
|
+
})
|
|
123
|
+
]
|
|
124
|
+
}),
|
|
125
|
+
/*#__PURE__*/ _jsx("a", {
|
|
126
|
+
href: fetchURL,
|
|
127
|
+
rel: "noopener noreferrer",
|
|
128
|
+
target: "_blank",
|
|
129
|
+
children: fetchURL
|
|
130
|
+
})
|
|
131
|
+
]
|
|
132
|
+
}),
|
|
133
|
+
/*#__PURE__*/ _jsx(Form, {
|
|
134
|
+
initialState: {
|
|
135
|
+
authenticated: {
|
|
136
|
+
initialValue: authenticated || false,
|
|
137
|
+
valid: true,
|
|
138
|
+
value: authenticated || false
|
|
139
|
+
},
|
|
140
|
+
depth: {
|
|
141
|
+
initialValue: Number(depth || 0),
|
|
142
|
+
valid: true,
|
|
143
|
+
value: Number(depth || 0)
|
|
144
|
+
},
|
|
145
|
+
draft: {
|
|
146
|
+
initialValue: draft || false,
|
|
147
|
+
valid: true,
|
|
148
|
+
value: draft || false
|
|
149
|
+
},
|
|
150
|
+
locale: {
|
|
151
|
+
initialValue: locale,
|
|
152
|
+
valid: true,
|
|
153
|
+
value: locale
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
157
|
+
className: `${baseClass}__form-fields`,
|
|
158
|
+
children: [
|
|
159
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
160
|
+
className: `${baseClass}__filter-query-checkboxes`,
|
|
161
|
+
children: [
|
|
162
|
+
draftsEnabled && /*#__PURE__*/ _jsx(Checkbox, {
|
|
163
|
+
label: t('version:draft'),
|
|
164
|
+
name: "draft",
|
|
165
|
+
onChange: ()=>setDraft(!draft),
|
|
166
|
+
path: "draft"
|
|
167
|
+
}),
|
|
168
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
169
|
+
label: t('authentication:authenticated'),
|
|
170
|
+
name: "authenticated",
|
|
171
|
+
onChange: ()=>setAuthenticated(!authenticated),
|
|
172
|
+
path: "authenticated"
|
|
173
|
+
})
|
|
174
|
+
]
|
|
175
|
+
}),
|
|
176
|
+
localeOptions && /*#__PURE__*/ _jsx(Select, {
|
|
177
|
+
label: t('general:locale'),
|
|
178
|
+
name: "locale",
|
|
179
|
+
onChange: (value)=>setLocale(value),
|
|
180
|
+
options: localeOptions,
|
|
181
|
+
path: "locale"
|
|
182
|
+
}),
|
|
183
|
+
/*#__PURE__*/ _jsx(NumberInput, {
|
|
184
|
+
label: t('general:depth'),
|
|
185
|
+
max: 10,
|
|
186
|
+
min: 0,
|
|
187
|
+
name: "depth",
|
|
188
|
+
onChange: (value)=>setDepth(value?.toString()),
|
|
189
|
+
path: "depth",
|
|
190
|
+
step: 1
|
|
191
|
+
})
|
|
192
|
+
]
|
|
193
|
+
})
|
|
194
|
+
})
|
|
195
|
+
]
|
|
196
|
+
}),
|
|
197
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
198
|
+
className: `${baseClass}__results-wrapper`,
|
|
199
|
+
children: [
|
|
200
|
+
/*#__PURE__*/ _jsx("div", {
|
|
201
|
+
className: `${baseClass}__toggle-fullscreen-button-container`,
|
|
202
|
+
children: /*#__PURE__*/ _jsx("button", {
|
|
203
|
+
"aria-label": "toggle fullscreen",
|
|
204
|
+
className: `${baseClass}__toggle-fullscreen-button`,
|
|
205
|
+
onClick: ()=>setFullscreen(!fullscreen),
|
|
206
|
+
type: "button",
|
|
207
|
+
children: /*#__PURE__*/ _jsx(MinimizeMaximize, {
|
|
208
|
+
isMinimized: !fullscreen
|
|
209
|
+
})
|
|
210
|
+
})
|
|
211
|
+
}),
|
|
212
|
+
/*#__PURE__*/ _jsx("div", {
|
|
213
|
+
className: `${baseClass}__results`,
|
|
214
|
+
children: /*#__PURE__*/ _jsx(RenderJSON, {
|
|
215
|
+
object: data
|
|
216
|
+
})
|
|
217
|
+
})
|
|
218
|
+
]
|
|
219
|
+
})
|
|
220
|
+
]
|
|
221
|
+
});
|
|
185
222
|
};
|
|
186
223
|
|
|
187
224
|
//# sourceMappingURL=index.client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/API/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { CopyToClipboard } from '@payloadcms/ui/elements/CopyToClipboard'\nimport { Gutter } from '@payloadcms/ui/elements/Gutter'\nimport { Checkbox } from '@payloadcms/ui/fields/Checkbox'\nimport { NumberField as NumberInput } from '@payloadcms/ui/fields/Number'\nimport { Select } from '@payloadcms/ui/fields/Select'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { MinimizeMaximize } from '@payloadcms/ui/icons/MinimizeMaximize'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useLocale } from '@payloadcms/ui/providers/Locale'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { useSearchParams } from 'next/navigation.js'\nimport qs from 'qs'\nimport * as React from 'react'\nimport { toast } from 'react-toastify'\n\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { RenderJSON } from './RenderJSON/index.js'\nimport './index.scss'\n\nconst baseClass = 'query-inspector'\n\nexport const APIViewClient: React.FC = () => {\n const { id, collectionSlug, globalSlug, initialData } = useDocumentInfo()\n\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n\n const { getComponentMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const {\n collections,\n globals,\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = useConfig()\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const localeOptions =\n localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))\n\n let draftsEnabled: boolean = false\n let docEndpoint: string = ''\n\n if (collectionConfig) {\n draftsEnabled = Boolean(collectionConfig.versions?.drafts)\n docEndpoint = `/${collectionSlug}/${id}`\n }\n\n if (globalConfig) {\n draftsEnabled = Boolean(globalConfig.versions?.drafts)\n docEndpoint = `/globals/${globalSlug}`\n }\n\n const [data, setData] = React.useState<any>(initialData)\n const [draft, setDraft] = React.useState<boolean>(searchParams.get('draft') === 'true')\n const [locale, setLocale] = React.useState<string>(searchParams?.get('locale') || code)\n const [depth, setDepth] = React.useState<string>(searchParams.get('depth') || '1')\n const [authenticated, setAuthenticated] = React.useState<boolean>(true)\n const [fullscreen, setFullscreen] = React.useState<boolean>(false)\n\n const fetchURL = `${serverURL}${apiRoute}${docEndpoint}${qs.stringify(\n {\n depth,\n draft,\n locale,\n },\n { addQueryPrefix: true },\n )}`\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const res = await fetch(fetchURL, {\n credentials: authenticated ? 'include' : 'omit',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'GET',\n })\n\n try {\n const json = await res.json()\n setData(json)\n } catch (error) {\n toast.error('Error parsing response')\n console.error(error)\n }\n } catch (error) {\n toast.error('Error making request')\n console.error(error)\n }\n }\n\n void fetchData()\n }, [i18n.language, fetchURL, authenticated])\n\n return (\n <Gutter\n className={[baseClass, fullscreen && `${baseClass}--fullscreen`].filter(Boolean).join(' ')}\n right={false}\n >\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view=\"API\"\n />\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.API} />\n <div className={`${baseClass}__configuration`}>\n <div className={`${baseClass}__api-url`}>\n <span className={`${baseClass}__label`}>\n API URL <CopyToClipboard value={fetchURL} />\n </span>\n <a href={fetchURL} rel=\"noopener noreferrer\" target=\"_blank\">\n {fetchURL}\n </a>\n </div>\n <Form\n initialState={{\n authenticated: {\n initialValue: authenticated || false,\n valid: true,\n value: authenticated || false,\n },\n depth: {\n initialValue: Number(depth || 0),\n valid: true,\n value: Number(depth || 0),\n },\n draft: {\n initialValue: draft || false,\n valid: true,\n value: draft || false,\n },\n locale: {\n initialValue: locale,\n valid: true,\n value: locale,\n },\n }}\n >\n <div className={`${baseClass}__form-fields`}>\n <div className={`${baseClass}__filter-query-checkboxes`}>\n {draftsEnabled && (\n <Checkbox\n label={t('version:draft')}\n name=\"draft\"\n onChange={() => setDraft(!draft)}\n path=\"draft\"\n />\n )}\n <Checkbox\n label={t('authentication:authenticated')}\n name=\"authenticated\"\n onChange={() => setAuthenticated(!authenticated)}\n path=\"authenticated\"\n />\n </div>\n {localeOptions && (\n <Select\n label={t('general:locale')}\n name=\"locale\"\n onChange={(value) => setLocale(value)}\n options={localeOptions}\n path=\"locale\"\n />\n )}\n <NumberInput\n label={t('general:depth')}\n max={10}\n min={0}\n name=\"depth\"\n onChange={(value) => setDepth(value?.toString())}\n path=\"depth\"\n step={1}\n />\n </div>\n </Form>\n </div>\n <div className={`${baseClass}__results-wrapper`}>\n <div className={`${baseClass}__toggle-fullscreen-button-container`}>\n <button\n aria-label=\"toggle fullscreen\"\n className={`${baseClass}__toggle-fullscreen-button`}\n onClick={() => setFullscreen(!fullscreen)}\n type=\"button\"\n >\n <MinimizeMaximize isMinimized={!fullscreen} />\n </button>\n </div>\n <div className={`${baseClass}__results`}>\n <RenderJSON object={data} />\n </div>\n </div>\n </Gutter>\n )\n}\n"],"names":["CopyToClipboard","Gutter","Checkbox","NumberField","NumberInput","Select","Form","MinimizeMaximize","SetViewActions","useComponentMap","useConfig","useDocumentInfo","useLocale","useTranslation","useSearchParams","qs","React","toast","SetDocumentStepNav","RenderJSON","baseClass","APIViewClient","id","collectionSlug","globalSlug","initialData","searchParams","i18n","t","code","getComponentMap","componentMap","collections","globals","localization","routes","api","apiRoute","serverURL","collectionConfig","find","collection","slug","globalConfig","global","localeOptions","locales","map","locale","label","value","draftsEnabled","docEndpoint","Boolean","versions","drafts","data","setData","useState","draft","setDraft","get","setLocale","depth","setDepth","authenticated","setAuthenticated","fullscreen","setFullscreen","fetchURL","stringify","addQueryPrefix","useEffect","fetchData","res","fetch","credentials","headers","language","method","json","error","console","className","filter","join","right","globalLabel","pluralLabel","labels","plural","undefined","useAsTitle","admin","view","actions","actionsMap","Edit","API","div","span","a","href","rel","target","initialState","initialValue","valid","Number","name","onChange","path","options","max","min","toString","step","button","aria-label","onClick","type","isMinimized","object"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/views/API/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { CopyToClipboard } from '@payloadcms/ui/elements/CopyToClipboard'\nimport { Gutter } from '@payloadcms/ui/elements/Gutter'\nimport { Checkbox } from '@payloadcms/ui/fields/Checkbox'\nimport { NumberField as NumberInput } from '@payloadcms/ui/fields/Number'\nimport { Select } from '@payloadcms/ui/fields/Select'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { MinimizeMaximize } from '@payloadcms/ui/icons/MinimizeMaximize'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useLocale } from '@payloadcms/ui/providers/Locale'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { useSearchParams } from 'next/navigation.js'\nimport qs from 'qs'\nimport * as React from 'react'\nimport { toast } from 'react-toastify'\n\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { RenderJSON } from './RenderJSON/index.js'\nimport './index.scss'\n\nconst baseClass = 'query-inspector'\n\nexport const APIViewClient: React.FC = () => {\n const { id, collectionSlug, globalSlug, initialData } = useDocumentInfo()\n\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n\n const { getComponentMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const {\n collections,\n globals,\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = useConfig()\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const localeOptions =\n localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))\n\n let draftsEnabled: boolean = false\n let docEndpoint: string = ''\n\n if (collectionConfig) {\n draftsEnabled = Boolean(collectionConfig.versions?.drafts)\n docEndpoint = `/${collectionSlug}/${id}`\n }\n\n if (globalConfig) {\n draftsEnabled = Boolean(globalConfig.versions?.drafts)\n docEndpoint = `/globals/${globalSlug}`\n }\n\n const [data, setData] = React.useState<any>(initialData)\n const [draft, setDraft] = React.useState<boolean>(searchParams.get('draft') === 'true')\n const [locale, setLocale] = React.useState<string>(searchParams?.get('locale') || code)\n const [depth, setDepth] = React.useState<string>(searchParams.get('depth') || '1')\n const [authenticated, setAuthenticated] = React.useState<boolean>(true)\n const [fullscreen, setFullscreen] = React.useState<boolean>(false)\n\n const fetchURL = `${serverURL}${apiRoute}${docEndpoint}${qs.stringify(\n {\n depth,\n draft,\n locale,\n },\n { addQueryPrefix: true },\n )}`\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const res = await fetch(fetchURL, {\n credentials: authenticated ? 'include' : 'omit',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'GET',\n })\n\n try {\n const json = await res.json()\n setData(json)\n } catch (error) {\n toast.error('Error parsing response')\n console.error(error)\n }\n } catch (error) {\n toast.error('Error making request')\n console.error(error)\n }\n }\n\n void fetchData()\n }, [i18n.language, fetchURL, authenticated])\n\n return (\n <Gutter\n className={[baseClass, fullscreen && `${baseClass}--fullscreen`].filter(Boolean).join(' ')}\n right={false}\n >\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view=\"API\"\n />\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.API} />\n <div className={`${baseClass}__configuration`}>\n <div className={`${baseClass}__api-url`}>\n <span className={`${baseClass}__label`}>\n API URL <CopyToClipboard value={fetchURL} />\n </span>\n <a href={fetchURL} rel=\"noopener noreferrer\" target=\"_blank\">\n {fetchURL}\n </a>\n </div>\n <Form\n initialState={{\n authenticated: {\n initialValue: authenticated || false,\n valid: true,\n value: authenticated || false,\n },\n depth: {\n initialValue: Number(depth || 0),\n valid: true,\n value: Number(depth || 0),\n },\n draft: {\n initialValue: draft || false,\n valid: true,\n value: draft || false,\n },\n locale: {\n initialValue: locale,\n valid: true,\n value: locale,\n },\n }}\n >\n <div className={`${baseClass}__form-fields`}>\n <div className={`${baseClass}__filter-query-checkboxes`}>\n {draftsEnabled && (\n <Checkbox\n label={t('version:draft')}\n name=\"draft\"\n onChange={() => setDraft(!draft)}\n path=\"draft\"\n />\n )}\n <Checkbox\n label={t('authentication:authenticated')}\n name=\"authenticated\"\n onChange={() => setAuthenticated(!authenticated)}\n path=\"authenticated\"\n />\n </div>\n {localeOptions && (\n <Select\n label={t('general:locale')}\n name=\"locale\"\n onChange={(value) => setLocale(value)}\n options={localeOptions}\n path=\"locale\"\n />\n )}\n <NumberInput\n label={t('general:depth')}\n max={10}\n min={0}\n name=\"depth\"\n onChange={(value) => setDepth(value?.toString())}\n path=\"depth\"\n step={1}\n />\n </div>\n </Form>\n </div>\n <div className={`${baseClass}__results-wrapper`}>\n <div className={`${baseClass}__toggle-fullscreen-button-container`}>\n <button\n aria-label=\"toggle fullscreen\"\n className={`${baseClass}__toggle-fullscreen-button`}\n onClick={() => setFullscreen(!fullscreen)}\n type=\"button\"\n >\n <MinimizeMaximize isMinimized={!fullscreen} />\n </button>\n </div>\n <div className={`${baseClass}__results`}>\n <RenderJSON object={data} />\n </div>\n </div>\n </Gutter>\n )\n}\n"],"names":["CopyToClipboard","Gutter","Checkbox","NumberField","NumberInput","Select","Form","MinimizeMaximize","SetViewActions","useComponentMap","useConfig","useDocumentInfo","useLocale","useTranslation","useSearchParams","qs","React","toast","SetDocumentStepNav","RenderJSON","baseClass","APIViewClient","id","collectionSlug","globalSlug","initialData","searchParams","i18n","t","code","getComponentMap","componentMap","collections","globals","localization","routes","api","apiRoute","serverURL","collectionConfig","find","collection","slug","globalConfig","global","localeOptions","locales","map","locale","label","value","draftsEnabled","docEndpoint","Boolean","versions","drafts","data","setData","useState","draft","setDraft","get","setLocale","depth","setDepth","authenticated","setAuthenticated","fullscreen","setFullscreen","fetchURL","stringify","addQueryPrefix","useEffect","fetchData","res","fetch","credentials","headers","language","method","json","error","console","className","filter","join","right","globalLabel","pluralLabel","labels","plural","undefined","useAsTitle","admin","view","actions","actionsMap","Edit","API","div","span","a","href","rel","target","initialState","initialValue","valid","Number","name","onChange","path","options","max","min","toString","step","button","aria-label","onClick","type","isMinimized","object"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/dist/views/API/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { APIViewClient } from './index.client.js';
|
|
3
4
|
export const APIView = ()=>{
|
|
4
|
-
return /*#__PURE__*/
|
|
5
|
+
return /*#__PURE__*/ _jsx(APIViewClient, {});
|
|
5
6
|
};
|
|
6
7
|
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/API/index.tsx"],"sourcesContent":["import type { EditViewComponent } from 'payload/types'\n\nimport React from 'react'\n\nimport { APIViewClient } from './index.client.js'\n\nexport const APIView: EditViewComponent = () => {\n return <APIViewClient />\n}\n"],"names":["React","APIViewClient","APIView"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/API/index.tsx"],"sourcesContent":["import type { EditViewComponent } from 'payload/types'\n\nimport React from 'react'\n\nimport { APIViewClient } from './index.client.js'\n\nexport const APIView: EditViewComponent = () => {\n return <APIViewClient />\n}\n"],"names":["React","APIViewClient","APIView"],"rangeMappings":";;;;;","mappings":";AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,aAAa,QAAQ,oBAAmB;AAEjD,OAAO,MAAMC,UAA6B;IACxC,qBAAO,KAACD;AACV,EAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { ReactSelect } from '@payloadcms/ui/elements/ReactSelect';
|
|
3
4
|
import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel';
|
|
4
5
|
import { useTranslation } from '@payloadcms/ui/providers/Translation';
|
|
@@ -8,24 +9,35 @@ const baseClass = 'payload-settings';
|
|
|
8
9
|
export const Settings = (props)=>{
|
|
9
10
|
const { className } = props;
|
|
10
11
|
const { i18n, languageOptions, switchLanguage, t } = useTranslation();
|
|
11
|
-
return /*#__PURE__*/
|
|
12
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
12
13
|
className: [
|
|
13
14
|
baseClass,
|
|
14
15
|
className
|
|
15
|
-
].filter(Boolean).join(' ')
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
16
|
+
].filter(Boolean).join(' '),
|
|
17
|
+
children: [
|
|
18
|
+
/*#__PURE__*/ _jsx("h3", {
|
|
19
|
+
children: t('general:payloadSettings')
|
|
20
|
+
}),
|
|
21
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
22
|
+
className: `${baseClass}__language`,
|
|
23
|
+
children: [
|
|
24
|
+
/*#__PURE__*/ _jsx(FieldLabel, {
|
|
25
|
+
htmlFor: "language-select",
|
|
26
|
+
label: t('general:language')
|
|
27
|
+
}),
|
|
28
|
+
/*#__PURE__*/ _jsx(ReactSelect, {
|
|
29
|
+
inputId: "language-select",
|
|
30
|
+
onChange: async ({ value })=>{
|
|
31
|
+
await switchLanguage(value);
|
|
32
|
+
},
|
|
33
|
+
options: languageOptions,
|
|
34
|
+
value: languageOptions.find((language)=>language.value === i18n.language)
|
|
35
|
+
})
|
|
36
|
+
]
|
|
37
|
+
}),
|
|
38
|
+
/*#__PURE__*/ _jsx(ToggleTheme, {})
|
|
39
|
+
]
|
|
40
|
+
});
|
|
29
41
|
};
|
|
30
42
|
|
|
31
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Account/Settings/index.tsx"],"sourcesContent":["'use client'\nimport { ReactSelect } from '@payloadcms/ui/elements/ReactSelect'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React from 'react'\n\nimport { ToggleTheme } from '../ToggleTheme/index.js'\nimport './index.scss'\n\nconst baseClass = 'payload-settings'\n\nexport const Settings: React.FC<{\n className?: string\n}> = (props) => {\n const { className } = props\n\n const { i18n, languageOptions, switchLanguage, t } = useTranslation()\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <h3>{t('general:payloadSettings')}</h3>\n <div className={`${baseClass}__language`}>\n <FieldLabel htmlFor=\"language-select\" label={t('general:language')} />\n <ReactSelect\n inputId=\"language-select\"\n onChange={async ({ value }) => {\n await switchLanguage(value)\n }}\n options={languageOptions}\n value={languageOptions.find((language) => language.value === i18n.language)}\n />\n </div>\n <ToggleTheme />\n </div>\n )\n}\n"],"names":["ReactSelect","FieldLabel","useTranslation","React","ToggleTheme","baseClass","Settings","props","className","i18n","languageOptions","switchLanguage","t","div","filter","Boolean","join","h3","htmlFor","label","inputId","onChange","value","options","find","language"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Account/Settings/index.tsx"],"sourcesContent":["'use client'\nimport { ReactSelect } from '@payloadcms/ui/elements/ReactSelect'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React from 'react'\n\nimport { ToggleTheme } from '../ToggleTheme/index.js'\nimport './index.scss'\n\nconst baseClass = 'payload-settings'\n\nexport const Settings: React.FC<{\n className?: string\n}> = (props) => {\n const { className } = props\n\n const { i18n, languageOptions, switchLanguage, t } = useTranslation()\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <h3>{t('general:payloadSettings')}</h3>\n <div className={`${baseClass}__language`}>\n <FieldLabel htmlFor=\"language-select\" label={t('general:language')} />\n <ReactSelect\n inputId=\"language-select\"\n onChange={async ({ value }) => {\n await switchLanguage(value)\n }}\n options={languageOptions}\n value={languageOptions.find((language) => language.value === i18n.language)}\n />\n </div>\n <ToggleTheme />\n </div>\n )\n}\n"],"names":["ReactSelect","FieldLabel","useTranslation","React","ToggleTheme","baseClass","Settings","props","className","i18n","languageOptions","switchLanguage","t","div","filter","Boolean","join","h3","htmlFor","label","inputId","onChange","value","options","find","language"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,WAAW,QAAQ,sCAAqC;AACjE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAOC,WAAW,QAAO;AAEzB,SAASC,WAAW,QAAQ,0BAAyB;AAGrD,MAAMC,YAAY;AAElB,OAAO,MAAMC,WAER,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,MAAM,EAAEE,IAAI,EAAEC,eAAe,EAAEC,cAAc,EAAEC,CAAC,EAAE,GAAGV;IAErD,qBACE,MAACW;QAAIL,WAAW;YAACH;YAAWG;SAAU,CAACM,MAAM,CAACC,SAASC,IAAI,CAAC;;0BAC1D,KAACC;0BAAIL,EAAE;;0BACP,MAACC;gBAAIL,WAAW,CAAC,EAAEH,UAAU,UAAU,CAAC;;kCACtC,KAACJ;wBAAWiB,SAAQ;wBAAkBC,OAAOP,EAAE;;kCAC/C,KAACZ;wBACCoB,SAAQ;wBACRC,UAAU,OAAO,EAAEC,KAAK,EAAE;4BACxB,MAAMX,eAAeW;wBACvB;wBACAC,SAASb;wBACTY,OAAOZ,gBAAgBc,IAAI,CAAC,CAACC,WAAaA,SAASH,KAAK,KAAKb,KAAKgB,QAAQ;;;;0BAG9E,KAACrB;;;AAGP,EAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
3
|
import { RadioGroup } from '@payloadcms/ui/fields/RadioGroup';
|
|
3
4
|
import { useTheme } from '@payloadcms/ui/providers/Theme';
|
|
4
5
|
import { useTranslation } from '@payloadcms/ui/providers/Translation';
|
|
@@ -11,7 +12,7 @@ export const ToggleTheme = ()=>{
|
|
|
11
12
|
}, [
|
|
12
13
|
setTheme
|
|
13
14
|
]);
|
|
14
|
-
return /*#__PURE__*/
|
|
15
|
+
return /*#__PURE__*/ _jsx(RadioGroup, {
|
|
15
16
|
label: t('general:adminTheme'),
|
|
16
17
|
name: "theme",
|
|
17
18
|
onChange: onChange,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Account/ToggleTheme/index.tsx"],"sourcesContent":["'use client'\n\nimport { RadioGroup } from '@payloadcms/ui/fields/RadioGroup'\nimport { useTheme } from '@payloadcms/ui/providers/Theme'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React, { useCallback } from 'react'\n\nexport const ToggleTheme: React.FC = () => {\n const { autoMode, setTheme, theme } = useTheme()\n const { t } = useTranslation()\n\n const onChange = useCallback(\n (newTheme) => {\n setTheme(newTheme)\n },\n [setTheme],\n )\n\n return (\n <RadioGroup\n label={t('general:adminTheme')}\n name=\"theme\"\n onChange={onChange}\n options={[\n {\n label: t('general:automatic'),\n value: 'auto',\n },\n {\n label: t('general:light'),\n value: 'light',\n },\n {\n label: t('general:dark'),\n value: 'dark',\n },\n ]}\n value={autoMode ? 'auto' : theme}\n />\n )\n}\n"],"names":["RadioGroup","useTheme","useTranslation","React","useCallback","ToggleTheme","autoMode","setTheme","theme","t","onChange","newTheme","label","name","options","value"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Account/ToggleTheme/index.tsx"],"sourcesContent":["'use client'\n\nimport { RadioGroup } from '@payloadcms/ui/fields/RadioGroup'\nimport { useTheme } from '@payloadcms/ui/providers/Theme'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React, { useCallback } from 'react'\n\nexport const ToggleTheme: React.FC = () => {\n const { autoMode, setTheme, theme } = useTheme()\n const { t } = useTranslation()\n\n const onChange = useCallback(\n (newTheme) => {\n setTheme(newTheme)\n },\n [setTheme],\n )\n\n return (\n <RadioGroup\n label={t('general:adminTheme')}\n name=\"theme\"\n onChange={onChange}\n options={[\n {\n label: t('general:automatic'),\n value: 'auto',\n },\n {\n label: t('general:light'),\n value: 'light',\n },\n {\n label: t('general:dark'),\n value: 'dark',\n },\n ]}\n value={autoMode ? 'auto' : theme}\n />\n )\n}\n"],"names":["RadioGroup","useTheme","useTranslation","React","useCallback","ToggleTheme","autoMode","setTheme","theme","t","onChange","newTheme","label","name","options","value"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,mCAAkC;AAC7D,SAASC,QAAQ,QAAQ,iCAAgC;AACzD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,OAAO,MAAMC,cAAwB;IACnC,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,KAAK,EAAE,GAAGP;IACtC,MAAM,EAAEQ,CAAC,EAAE,GAAGP;IAEd,MAAMQ,WAAWN,YACf,CAACO;QACCJ,SAASI;IACX,GACA;QAACJ;KAAS;IAGZ,qBACE,KAACP;QACCY,OAAOH,EAAE;QACTI,MAAK;QACLH,UAAUA;QACVI,SAAS;YACP;gBACEF,OAAOH,EAAE;gBACTM,OAAO;YACT;YACA;gBACEH,OAAOH,EAAE;gBACTM,OAAO;YACT;YACA;gBACEH,OAAOH,EAAE;gBACTM,OAAO;YACT;SACD;QACDA,OAAOT,WAAW,SAASE;;AAGjC,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Account/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAQnD,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Account/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAQnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAEnD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA2F5C,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import { DocumentHeader } from '@payloadcms/ui/elements/DocumentHeader';
|
|
2
3
|
import { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser';
|
|
3
4
|
import { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent';
|
|
@@ -5,60 +6,73 @@ import { DocumentInfoProvider } from '@payloadcms/ui/providers/DocumentInfo';
|
|
|
5
6
|
import { FormQueryParamsProvider } from '@payloadcms/ui/providers/FormQueryParams';
|
|
6
7
|
import { notFound } from 'next/navigation.js';
|
|
7
8
|
import React from 'react';
|
|
9
|
+
import { getDocumentPermissions } from '../Document/getDocumentPermissions.js';
|
|
8
10
|
import { EditView } from '../Edit/index.js';
|
|
9
11
|
import { Settings } from './Settings/index.js';
|
|
10
12
|
export { generateAccountMetadata } from './meta.js';
|
|
11
|
-
export const Account = ({ initPageResult, params, searchParams })=>{
|
|
12
|
-
const { locale, permissions, req: { i18n, payload, payload: { config }, user } } = initPageResult;
|
|
13
|
+
export const Account = async ({ initPageResult, params, searchParams })=>{
|
|
14
|
+
const { locale, permissions, req, req: { i18n, payload, payload: { config }, user } } = initPageResult;
|
|
13
15
|
const { admin: { components: { views: { Account: CustomAccountComponent } = {} } = {}, user: userSlug }, routes: { api }, serverURL } = config;
|
|
14
|
-
const collectionPermissions = permissions?.collections?.[userSlug];
|
|
15
16
|
const collectionConfig = config.collections.find((collection)=>collection.slug === userSlug);
|
|
16
17
|
if (collectionConfig) {
|
|
18
|
+
const { docPermissions, hasPublishPermission, hasSavePermission } = await getDocumentPermissions({
|
|
19
|
+
id: user.id,
|
|
20
|
+
collectionConfig,
|
|
21
|
+
data: user,
|
|
22
|
+
req
|
|
23
|
+
});
|
|
17
24
|
const viewComponentProps = {
|
|
18
25
|
initPageResult,
|
|
19
26
|
params,
|
|
20
27
|
routeSegments: [],
|
|
21
28
|
searchParams
|
|
22
29
|
};
|
|
23
|
-
return /*#__PURE__*/
|
|
24
|
-
AfterFields: /*#__PURE__*/
|
|
30
|
+
return /*#__PURE__*/ _jsxs(DocumentInfoProvider, {
|
|
31
|
+
AfterFields: /*#__PURE__*/ _jsx(Settings, {}),
|
|
25
32
|
action: `${serverURL}${api}/${userSlug}${user?.id ? `/${user.id}` : ''}`,
|
|
26
33
|
apiURL: `${serverURL}${api}/${userSlug}${user?.id ? `/${user.id}` : ''}`,
|
|
27
34
|
collectionSlug: userSlug,
|
|
28
|
-
docPermissions:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
35
|
+
docPermissions: docPermissions,
|
|
36
|
+
hasPublishPermission: hasPublishPermission,
|
|
37
|
+
hasSavePermission: hasSavePermission,
|
|
38
|
+
id: user?.id.toString(),
|
|
39
|
+
isEditing: true,
|
|
40
|
+
children: [
|
|
41
|
+
/*#__PURE__*/ _jsx(DocumentHeader, {
|
|
42
|
+
collectionConfig: collectionConfig,
|
|
43
|
+
config: payload.config,
|
|
44
|
+
hideTabs: true,
|
|
45
|
+
i18n: i18n,
|
|
46
|
+
permissions: permissions
|
|
47
|
+
}),
|
|
48
|
+
/*#__PURE__*/ _jsx(HydrateClientUser, {
|
|
49
|
+
permissions: permissions,
|
|
50
|
+
user: user
|
|
51
|
+
}),
|
|
52
|
+
/*#__PURE__*/ _jsx(FormQueryParamsProvider, {
|
|
53
|
+
initialParams: {
|
|
54
|
+
depth: 0,
|
|
55
|
+
'fallback-locale': 'null',
|
|
56
|
+
locale: locale.code,
|
|
57
|
+
uploadEdits: undefined
|
|
58
|
+
},
|
|
59
|
+
children: /*#__PURE__*/ _jsx(RenderCustomComponent, {
|
|
60
|
+
CustomComponent: typeof CustomAccountComponent === 'function' ? CustomAccountComponent : undefined,
|
|
61
|
+
DefaultComponent: EditView,
|
|
62
|
+
componentProps: viewComponentProps,
|
|
63
|
+
serverOnlyProps: {
|
|
64
|
+
i18n,
|
|
65
|
+
locale,
|
|
66
|
+
params,
|
|
67
|
+
payload,
|
|
68
|
+
permissions,
|
|
69
|
+
searchParams,
|
|
70
|
+
user
|
|
71
|
+
}
|
|
72
|
+
})
|
|
73
|
+
})
|
|
74
|
+
]
|
|
75
|
+
});
|
|
62
76
|
}
|
|
63
77
|
return notFound();
|
|
64
78
|
};
|