@payloadcms/next 3.0.0-beta.35 → 3.0.0-beta.37

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.
Files changed (176) hide show
  1. package/dist/cjs/withPayload.cjs +23 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/elements/LeaveWithoutSaving/index.js +35 -15
  4. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  5. package/dist/layouts/Root/index.d.ts.map +1 -1
  6. package/dist/layouts/Root/index.js +31 -15
  7. package/dist/layouts/Root/index.js.map +1 -1
  8. package/dist/prod/styles.css +1 -1
  9. package/dist/routes/rest/auth/access.d.ts.map +1 -1
  10. package/dist/routes/rest/auth/access.js +17 -7
  11. package/dist/routes/rest/auth/access.js.map +1 -1
  12. package/dist/routes/rest/og/image.js +64 -50
  13. package/dist/routes/rest/og/image.js.map +1 -1
  14. package/dist/routes/rest/og/index.js +2 -1
  15. package/dist/routes/rest/og/index.js.map +1 -1
  16. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  17. package/dist/utilities/getPayloadHMR.js +5 -3
  18. package/dist/utilities/getPayloadHMR.js.map +1 -1
  19. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  20. package/dist/utilities/getRequestLanguage.js +1 -1
  21. package/dist/utilities/getRequestLanguage.js.map +1 -1
  22. package/dist/utilities/getRequestTheme.d.ts +11 -0
  23. package/dist/utilities/getRequestTheme.d.ts.map +1 -0
  24. package/dist/utilities/getRequestTheme.js +19 -0
  25. package/dist/utilities/getRequestTheme.js.map +1 -0
  26. package/dist/utilities/initPage/index.d.ts.map +1 -1
  27. package/dist/utilities/initPage/index.js +1 -0
  28. package/dist/utilities/initPage/index.js.map +1 -1
  29. package/dist/views/API/RenderJSON/index.js +99 -70
  30. package/dist/views/API/RenderJSON/index.js.map +1 -1
  31. package/dist/views/API/index.client.js +128 -91
  32. package/dist/views/API/index.client.js.map +1 -1
  33. package/dist/views/API/index.js +2 -1
  34. package/dist/views/API/index.js.map +1 -1
  35. package/dist/views/Account/Settings/index.js +27 -15
  36. package/dist/views/Account/Settings/index.js.map +1 -1
  37. package/dist/views/Account/ToggleTheme/index.js +2 -1
  38. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  39. package/dist/views/Account/index.d.ts.map +1 -1
  40. package/dist/views/Account/index.js +54 -40
  41. package/dist/views/Account/index.js.map +1 -1
  42. package/dist/views/CreateFirstUser/index.client.js +29 -19
  43. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  44. package/dist/views/CreateFirstUser/index.js +16 -6
  45. package/dist/views/CreateFirstUser/index.js.map +1 -1
  46. package/dist/views/Dashboard/Default/index.client.js +67 -56
  47. package/dist/views/Dashboard/Default/index.client.js.map +1 -1
  48. package/dist/views/Dashboard/Default/index.js +28 -19
  49. package/dist/views/Dashboard/Default/index.js.map +1 -1
  50. package/dist/views/Dashboard/index.js +23 -17
  51. package/dist/views/Dashboard/index.js.map +1 -1
  52. package/dist/views/Document/getDocumentData.d.ts +10 -0
  53. package/dist/views/Document/getDocumentData.d.ts.map +1 -0
  54. package/dist/views/Document/getDocumentData.js +24 -0
  55. package/dist/views/Document/getDocumentData.js.map +1 -0
  56. package/dist/views/Document/getDocumentPermissions.d.ts +14 -0
  57. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -0
  58. package/dist/views/Document/getDocumentPermissions.js +83 -0
  59. package/dist/views/Document/getDocumentPermissions.js.map +1 -0
  60. package/dist/views/Document/index.d.ts.map +1 -1
  61. package/dist/views/Document/index.js +63 -64
  62. package/dist/views/Document/index.js.map +1 -1
  63. package/dist/views/Edit/Default/Auth/APIKey.js +41 -25
  64. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  65. package/dist/views/Edit/Default/Auth/index.js +78 -50
  66. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  67. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  68. package/dist/views/Edit/Default/index.js +84 -65
  69. package/dist/views/Edit/Default/index.js.map +1 -1
  70. package/dist/views/Edit/index.client.js +10 -4
  71. package/dist/views/Edit/index.client.js.map +1 -1
  72. package/dist/views/Edit/index.js +2 -1
  73. package/dist/views/Edit/index.js.map +1 -1
  74. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +42 -20
  75. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  76. package/dist/views/ForgotPassword/index.js +37 -17
  77. package/dist/views/ForgotPassword/index.js.map +1 -1
  78. package/dist/views/List/Default/index.js +151 -81
  79. package/dist/views/List/Default/index.js.map +1 -1
  80. package/dist/views/List/index.js +52 -43
  81. package/dist/views/List/index.js.map +1 -1
  82. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  83. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  84. package/dist/views/LivePreview/Context/context.js.map +1 -1
  85. package/dist/views/LivePreview/Context/index.js +9 -6
  86. package/dist/views/LivePreview/Context/index.js.map +1 -1
  87. package/dist/views/LivePreview/Device/index.js +5 -3
  88. package/dist/views/LivePreview/Device/index.js.map +1 -1
  89. package/dist/views/LivePreview/DeviceContainer/index.js +5 -3
  90. package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
  91. package/dist/views/LivePreview/IFrame/index.js +2 -1
  92. package/dist/views/LivePreview/IFrame/index.js.map +1 -1
  93. package/dist/views/LivePreview/Preview/index.js +25 -14
  94. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  95. package/dist/views/LivePreview/Toolbar/Controls/index.js +105 -57
  96. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  97. package/dist/views/LivePreview/Toolbar/SizeInput/index.js +2 -1
  98. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  99. package/dist/views/LivePreview/Toolbar/index.js +29 -14
  100. package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
  101. package/dist/views/LivePreview/ToolbarArea/index.js +5 -3
  102. package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
  103. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  104. package/dist/views/LivePreview/index.client.js +103 -76
  105. package/dist/views/LivePreview/index.client.js.map +1 -1
  106. package/dist/views/LivePreview/index.js +2 -1
  107. package/dist/views/LivePreview/index.js.map +1 -1
  108. package/dist/views/Login/LoginForm/index.js +62 -48
  109. package/dist/views/Login/LoginForm/index.js.map +1 -1
  110. package/dist/views/Login/index.js +26 -19
  111. package/dist/views/Login/index.js.map +1 -1
  112. package/dist/views/Logout/LogoutClient.js +21 -7
  113. package/dist/views/Logout/LogoutClient.js.map +1 -1
  114. package/dist/views/Logout/index.js +13 -10
  115. package/dist/views/Logout/index.js.map +1 -1
  116. package/dist/views/NotFound/index.client.js +22 -10
  117. package/dist/views/NotFound/index.client.js.map +1 -1
  118. package/dist/views/NotFound/index.js +21 -14
  119. package/dist/views/NotFound/index.js.map +1 -1
  120. package/dist/views/ResetPassword/index.client.js +17 -8
  121. package/dist/views/ResetPassword/index.client.js.map +1 -1
  122. package/dist/views/ResetPassword/index.js +46 -25
  123. package/dist/views/ResetPassword/index.js.map +1 -1
  124. package/dist/views/Root/index.d.ts.map +1 -1
  125. package/dist/views/Root/index.js +36 -16
  126. package/dist/views/Root/index.js.map +1 -1
  127. package/dist/views/Unauthorized/index.js +19 -8
  128. package/dist/views/Unauthorized/index.js.map +1 -1
  129. package/dist/views/Verify/index.js +20 -11
  130. package/dist/views/Verify/index.js.map +1 -1
  131. package/dist/views/Version/Default/index.js +83 -57
  132. package/dist/views/Version/Default/index.js.map +1 -1
  133. package/dist/views/Version/RenderFieldsToDiff/Label/index.js +5 -3
  134. package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
  135. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +65 -50
  136. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  137. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +30 -18
  138. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  139. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +23 -12
  140. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  141. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +2 -1
  142. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
  143. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +22 -11
  144. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  145. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +31 -30
  146. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  147. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +2 -1
  148. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
  149. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +22 -11
  150. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  151. package/dist/views/Version/RenderFieldsToDiff/index.js +90 -87
  152. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  153. package/dist/views/Version/Restore/index.js +38 -18
  154. package/dist/views/Version/Restore/index.js.map +1 -1
  155. package/dist/views/Version/SelectComparison/index.js +32 -24
  156. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  157. package/dist/views/Version/SelectLocales/index.js +17 -11
  158. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  159. package/dist/views/Version/index.js +2 -1
  160. package/dist/views/Version/index.js.map +1 -1
  161. package/dist/views/Versions/buildColumns.js +7 -6
  162. package/dist/views/Versions/buildColumns.js.map +1 -1
  163. package/dist/views/Versions/cells/AutosaveCell/index.js +25 -3
  164. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  165. package/dist/views/Versions/cells/CreatedAt/index.js +9 -7
  166. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  167. package/dist/views/Versions/cells/ID/index.js +4 -1
  168. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  169. package/dist/views/Versions/index.client.js +61 -29
  170. package/dist/views/Versions/index.client.js.map +1 -1
  171. package/dist/views/Versions/index.js +31 -22
  172. package/dist/views/Versions/index.js.map +1 -1
  173. package/dist/withPayload.d.ts.map +1 -1
  174. package/dist/withPayload.js +23 -0
  175. package/dist/withPayload.js.map +1 -1
  176. package/package.json +15 -11
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import { Chevron } from '@payloadcms/ui/icons/Chevron';
3
4
  import * as React from 'react';
4
5
  const chars = {
@@ -12,82 +13,110 @@ const Bracket = ({ type, comma = false, position })=>{
12
13
  const rightBracket = type === 'object' ? chars.rightCurlyBracket : chars.rightSquareBracket;
13
14
  const leftBracket = type === 'object' ? chars.leftCurlyBracket : chars.leftSquareBracket;
14
15
  const bracketToRender = position === 'end' ? rightBracket : leftBracket;
15
- return /*#__PURE__*/ React.createElement("span", {
16
- className: `${baseClass}__bracket ${baseClass}__bracket--position-${position}`
17
- }, bracketToRender, position === 'end' && comma ? ',' : null);
16
+ return /*#__PURE__*/ _jsxs("span", {
17
+ className: `${baseClass}__bracket ${baseClass}__bracket--position-${position}`,
18
+ children: [
19
+ bracketToRender,
20
+ position === 'end' && comma ? ',' : null
21
+ ]
22
+ });
18
23
  };
19
24
  export const RenderJSON = ({ isEmpty = false, object, objectKey, parentType = 'object', trailingComma = false })=>{
20
25
  const objectKeys = object ? Object.keys(object) : [];
21
26
  const objectLength = objectKeys.length;
22
27
  const [isOpen, setIsOpen] = React.useState(true);
23
28
  const isNestedAndEmpty = isEmpty && (parentType === 'object' || parentType === 'array');
24
- return /*#__PURE__*/ React.createElement("li", {
25
- className: isNestedAndEmpty ? `${baseClass}__row-line--nested` : ''
26
- }, /*#__PURE__*/ React.createElement("button", {
27
- "aria-label": "toggle",
28
- className: `${baseClass}__list-toggle ${isEmpty ? `${baseClass}__list-toggle--empty` : ''}`,
29
- onClick: ()=>setIsOpen(!isOpen),
30
- type: "button"
31
- }, isEmpty ? null : /*#__PURE__*/ React.createElement(Chevron, {
32
- className: `${baseClass}__toggle-row-icon ${baseClass}__toggle-row-icon--${isOpen ? 'open' : 'closed'}`
33
- }), /*#__PURE__*/ React.createElement("span", null, objectKey && `"${objectKey}": `, /*#__PURE__*/ React.createElement(Bracket, {
34
- position: "start",
35
- type: parentType
36
- }), isEmpty ? /*#__PURE__*/ React.createElement(Bracket, {
37
- comma: trailingComma,
38
- position: "end",
39
- type: parentType
40
- }) : null)), /*#__PURE__*/ React.createElement("ul", {
41
- className: `${baseClass}__json-children`
42
- }, isOpen && objectKeys.map((key, keyIndex)=>{
43
- let value = object[key];
44
- let type = 'string';
45
- const isLastKey = keyIndex === objectLength - 1;
46
- if (value === null) {
47
- type = 'null';
48
- } else if (value instanceof Date) {
49
- type = 'date';
50
- value = value.toISOString();
51
- } else if (Array.isArray(value)) {
52
- type = 'array';
53
- } else if (typeof value === 'object') {
54
- type = 'object';
55
- } else if (typeof value === 'number') {
56
- type = 'number';
57
- } else if (typeof value === 'boolean') {
58
- type = 'boolean';
59
- } else {
60
- type = 'string';
61
- }
62
- if (type === 'object' || type === 'array') {
63
- return /*#__PURE__*/ React.createElement(RenderJSON, {
64
- isEmpty: value.length === 0 || Object.keys(value).length === 0,
65
- key: `${key}-${keyIndex}`,
66
- object: value,
67
- objectKey: parentType === 'object' ? key : undefined,
68
- parentType: type,
69
- trailingComma: !isLastKey
70
- });
71
- }
72
- if (type === 'date' || type === 'string' || type === 'null' || type === 'number' || type === 'boolean') {
73
- const parentHasKey = Boolean(parentType === 'object' && key);
74
- const rowClasses = [
75
- `${baseClass}__row-line`,
76
- `${baseClass}__value-type--${type}`,
77
- `${baseClass}__row-line--${objectKey ? 'nested' : 'top'}`
78
- ].filter(Boolean).join(' ');
79
- return /*#__PURE__*/ React.createElement("li", {
80
- className: rowClasses,
81
- key: `${key}-${keyIndex}`
82
- }, parentHasKey ? /*#__PURE__*/ React.createElement("span", null, `"${key}": `) : null, /*#__PURE__*/ React.createElement("span", {
83
- className: `${baseClass}__value`
84
- }, JSON.stringify(value)), isLastKey ? '' : ',');
85
- }
86
- })), !isEmpty && /*#__PURE__*/ React.createElement("span", null, /*#__PURE__*/ React.createElement(Bracket, {
87
- comma: trailingComma,
88
- position: "end",
89
- type: parentType
90
- })));
29
+ return /*#__PURE__*/ _jsxs("li", {
30
+ className: isNestedAndEmpty ? `${baseClass}__row-line--nested` : '',
31
+ children: [
32
+ /*#__PURE__*/ _jsxs("button", {
33
+ "aria-label": "toggle",
34
+ className: `${baseClass}__list-toggle ${isEmpty ? `${baseClass}__list-toggle--empty` : ''}`,
35
+ onClick: ()=>setIsOpen(!isOpen),
36
+ type: "button",
37
+ children: [
38
+ isEmpty ? null : /*#__PURE__*/ _jsx(Chevron, {
39
+ className: `${baseClass}__toggle-row-icon ${baseClass}__toggle-row-icon--${isOpen ? 'open' : 'closed'}`
40
+ }),
41
+ /*#__PURE__*/ _jsxs("span", {
42
+ children: [
43
+ objectKey && `"${objectKey}": `,
44
+ /*#__PURE__*/ _jsx(Bracket, {
45
+ position: "start",
46
+ type: parentType
47
+ }),
48
+ isEmpty ? /*#__PURE__*/ _jsx(Bracket, {
49
+ comma: trailingComma,
50
+ position: "end",
51
+ type: parentType
52
+ }) : null
53
+ ]
54
+ })
55
+ ]
56
+ }),
57
+ /*#__PURE__*/ _jsx("ul", {
58
+ className: `${baseClass}__json-children`,
59
+ children: isOpen && objectKeys.map((key, keyIndex)=>{
60
+ let value = object[key];
61
+ let type = 'string';
62
+ const isLastKey = keyIndex === objectLength - 1;
63
+ if (value === null) {
64
+ type = 'null';
65
+ } else if (value instanceof Date) {
66
+ type = 'date';
67
+ value = value.toISOString();
68
+ } else if (Array.isArray(value)) {
69
+ type = 'array';
70
+ } else if (typeof value === 'object') {
71
+ type = 'object';
72
+ } else if (typeof value === 'number') {
73
+ type = 'number';
74
+ } else if (typeof value === 'boolean') {
75
+ type = 'boolean';
76
+ } else {
77
+ type = 'string';
78
+ }
79
+ if (type === 'object' || type === 'array') {
80
+ return /*#__PURE__*/ _jsx(RenderJSON, {
81
+ isEmpty: value.length === 0 || Object.keys(value).length === 0,
82
+ object: value,
83
+ objectKey: parentType === 'object' ? key : undefined,
84
+ parentType: type,
85
+ trailingComma: !isLastKey
86
+ }, `${key}-${keyIndex}`);
87
+ }
88
+ if (type === 'date' || type === 'string' || type === 'null' || type === 'number' || type === 'boolean') {
89
+ const parentHasKey = Boolean(parentType === 'object' && key);
90
+ const rowClasses = [
91
+ `${baseClass}__row-line`,
92
+ `${baseClass}__value-type--${type}`,
93
+ `${baseClass}__row-line--${objectKey ? 'nested' : 'top'}`
94
+ ].filter(Boolean).join(' ');
95
+ return /*#__PURE__*/ _jsxs("li", {
96
+ className: rowClasses,
97
+ children: [
98
+ parentHasKey ? /*#__PURE__*/ _jsx("span", {
99
+ children: `"${key}": `
100
+ }) : null,
101
+ /*#__PURE__*/ _jsx("span", {
102
+ className: `${baseClass}__value`,
103
+ children: JSON.stringify(value)
104
+ }),
105
+ isLastKey ? '' : ','
106
+ ]
107
+ }, `${key}-${keyIndex}`);
108
+ }
109
+ })
110
+ }),
111
+ !isEmpty && /*#__PURE__*/ _jsx("span", {
112
+ children: /*#__PURE__*/ _jsx(Bracket, {
113
+ comma: trailingComma,
114
+ position: "end",
115
+ type: parentType
116
+ })
117
+ })
118
+ ]
119
+ });
91
120
  };
92
121
 
93
122
  //# sourceMappingURL=index.js.map
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
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__*/ React.createElement(Gutter, {
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
- }, /*#__PURE__*/ React.createElement(SetDocumentStepNav, {
97
- collectionSlug: collectionSlug,
98
- globalLabel: globalConfig?.label,
99
- globalSlug: globalSlug,
100
- id: id,
101
- pluralLabel: collectionConfig ? collectionConfig?.labels?.plural : undefined,
102
- useAsTitle: collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined,
103
- view: "API"
104
- }), /*#__PURE__*/ React.createElement(SetViewActions, {
105
- actions: componentMap?.actionsMap?.Edit?.API
106
- }), /*#__PURE__*/ React.createElement("div", {
107
- className: `${baseClass}__configuration`
108
- }, /*#__PURE__*/ React.createElement("div", {
109
- className: `${baseClass}__api-url`
110
- }, /*#__PURE__*/ React.createElement("span", {
111
- className: `${baseClass}__label`
112
- }, "API URL ", /*#__PURE__*/ React.createElement(CopyToClipboard, {
113
- value: fetchURL
114
- })), /*#__PURE__*/ React.createElement("a", {
115
- href: fetchURL,
116
- rel: "noopener noreferrer",
117
- target: "_blank"
118
- }, fetchURL)), /*#__PURE__*/ React.createElement(Form, {
119
- initialState: {
120
- authenticated: {
121
- initialValue: authenticated || false,
122
- valid: true,
123
- value: authenticated || false
124
- },
125
- depth: {
126
- initialValue: Number(depth || 0),
127
- valid: true,
128
- value: Number(depth || 0)
129
- },
130
- draft: {
131
- initialValue: draft || false,
132
- valid: true,
133
- value: draft || false
134
- },
135
- locale: {
136
- initialValue: locale,
137
- valid: true,
138
- value: locale
139
- }
140
- }
141
- }, /*#__PURE__*/ React.createElement("div", {
142
- className: `${baseClass}__form-fields`
143
- }, /*#__PURE__*/ React.createElement("div", {
144
- className: `${baseClass}__filter-query-checkboxes`
145
- }, draftsEnabled && /*#__PURE__*/ React.createElement(Checkbox, {
146
- label: t('version:draft'),
147
- name: "draft",
148
- onChange: ()=>setDraft(!draft),
149
- path: "draft"
150
- }), /*#__PURE__*/ React.createElement(Checkbox, {
151
- label: t('authentication:authenticated'),
152
- name: "authenticated",
153
- onChange: ()=>setAuthenticated(!authenticated),
154
- path: "authenticated"
155
- })), localeOptions && /*#__PURE__*/ React.createElement(Select, {
156
- label: t('general:locale'),
157
- name: "locale",
158
- onChange: (value)=>setLocale(value),
159
- options: localeOptions,
160
- path: "locale"
161
- }), /*#__PURE__*/ React.createElement(NumberInput, {
162
- label: t('general:depth'),
163
- max: 10,
164
- min: 0,
165
- name: "depth",
166
- onChange: (value)=>setDepth(value?.toString()),
167
- path: "depth",
168
- step: 1
169
- })))), /*#__PURE__*/ React.createElement("div", {
170
- className: `${baseClass}__results-wrapper`
171
- }, /*#__PURE__*/ React.createElement("div", {
172
- className: `${baseClass}__toggle-fullscreen-button-container`
173
- }, /*#__PURE__*/ React.createElement("button", {
174
- "aria-label": "toggle fullscreen",
175
- className: `${baseClass}__toggle-fullscreen-button`,
176
- onClick: ()=>setFullscreen(!fullscreen),
177
- type: "button"
178
- }, /*#__PURE__*/ React.createElement(MinimizeMaximize, {
179
- isMinimized: !fullscreen
180
- }))), /*#__PURE__*/ React.createElement("div", {
181
- className: `${baseClass}__results`
182
- }, /*#__PURE__*/ React.createElement(RenderJSON, {
183
- object: data
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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"}
@@ -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__*/ React.createElement(APIViewClient, null);
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":";;;;","mappings":"AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,aAAa,QAAQ,oBAAmB;AAEjD,OAAO,MAAMC,UAA6B;IACxC,qBAAO,oBAACD;AACV,EAAC"}
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"}