@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 { CopyToClipboard } from '@payloadcms/ui/elements/CopyToClipboard';
3
4
  import { GenerateConfirmation } from '@payloadcms/ui/elements/GenerateConfirmation';
4
5
  import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel';
@@ -36,11 +37,17 @@ export const APIKey = ({ enabled, readOnly })=>{
36
37
  siblingData: {}
37
38
  });
38
39
  const apiKeyValue = apiKey?.value;
39
- const APIKeyLabel = useMemo(()=>/*#__PURE__*/ React.createElement("div", {
40
- className: `${baseClass}__label`
41
- }, /*#__PURE__*/ React.createElement("span", null, "API Key"), /*#__PURE__*/ React.createElement(CopyToClipboard, {
42
- value: apiKeyValue
43
- })), [
40
+ const APIKeyLabel = useMemo(()=>/*#__PURE__*/ _jsxs("div", {
41
+ className: `${baseClass}__label`,
42
+ children: [
43
+ /*#__PURE__*/ _jsx("span", {
44
+ children: "API Key"
45
+ }),
46
+ /*#__PURE__*/ _jsx(CopyToClipboard, {
47
+ value: apiKeyValue
48
+ })
49
+ ]
50
+ }), [
44
51
  apiKeyValue
45
52
  ]);
46
53
  const fieldType = useField({
@@ -81,26 +88,35 @@ export const APIKey = ({ enabled, readOnly })=>{
81
88
  if (!enabled) {
82
89
  return null;
83
90
  }
84
- return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("div", {
85
- className: [
86
- fieldBaseClass,
87
- 'api-key',
88
- 'read-only'
89
- ].filter(Boolean).join(' ')
90
- }, /*#__PURE__*/ React.createElement(FieldLabel, {
91
- CustomLabel: APIKeyLabel,
92
- htmlFor: path
93
- }), /*#__PURE__*/ React.createElement("input", {
94
- className: highlightedField ? 'highlight' : undefined,
95
- disabled: true,
96
- id: "apiKey",
97
- name: "apiKey",
98
- type: "text",
99
- value: value || ''
100
- })), !readOnly && /*#__PURE__*/ React.createElement(GenerateConfirmation, {
101
- highlightField: highlightField,
102
- setKey: ()=>setValue(uuidv4())
103
- }));
91
+ return /*#__PURE__*/ _jsxs(React.Fragment, {
92
+ children: [
93
+ /*#__PURE__*/ _jsxs("div", {
94
+ className: [
95
+ fieldBaseClass,
96
+ 'api-key',
97
+ 'read-only'
98
+ ].filter(Boolean).join(' '),
99
+ children: [
100
+ /*#__PURE__*/ _jsx(FieldLabel, {
101
+ CustomLabel: APIKeyLabel,
102
+ htmlFor: path
103
+ }),
104
+ /*#__PURE__*/ _jsx("input", {
105
+ className: highlightedField ? 'highlight' : undefined,
106
+ disabled: true,
107
+ id: "apiKey",
108
+ name: "apiKey",
109
+ type: "text",
110
+ value: value || ''
111
+ })
112
+ ]
113
+ }),
114
+ !readOnly && /*#__PURE__*/ _jsx(GenerateConfirmation, {
115
+ highlightField: highlightField,
116
+ setKey: ()=>setValue(uuidv4())
117
+ })
118
+ ]
119
+ });
104
120
  };
105
121
 
106
122
  //# sourceMappingURL=APIKey.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/APIKey.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequestWithData } from 'payload/types'\n\nimport { CopyToClipboard } from '@payloadcms/ui/elements/CopyToClipboard'\nimport { GenerateConfirmation } from '@payloadcms/ui/elements/GenerateConfirmation'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFormFields } from '@payloadcms/ui/forms/Form'\nimport { useField } from '@payloadcms/ui/forms/useField'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { text } from 'payload/fields/validations'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nconst path = 'apiKey'\nconst baseClass = 'api-key'\nconst fieldBaseClass = 'field-type'\n\nexport const APIKey: React.FC<{ enabled: boolean; readOnly?: boolean }> = ({\n enabled,\n readOnly,\n}) => {\n const [initialAPIKey] = useState(uuidv4())\n const [highlightedField, setHighlightedField] = useState(false)\n const { t } = useTranslation()\n const config = useConfig()\n\n const apiKey = useFormFields(([fields]) => fields[path])\n\n const validate = (val) =>\n text(val, {\n name: 'apiKey',\n type: 'text',\n data: {},\n maxLength: 48,\n minLength: 24,\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequestWithData,\n siblingData: {},\n })\n\n const apiKeyValue = apiKey?.value\n\n const APIKeyLabel = useMemo(\n () => (\n <div className={`${baseClass}__label`}>\n <span>API Key</span>\n <CopyToClipboard value={apiKeyValue as string} />\n </div>\n ),\n [apiKeyValue],\n )\n\n const fieldType = useField({\n path: 'apiKey',\n validate,\n })\n\n const highlightField = () => {\n if (highlightedField) {\n setHighlightedField(false)\n }\n setTimeout(() => {\n setHighlightedField(true)\n }, 1)\n }\n\n const { setValue, value } = fieldType\n\n useEffect(() => {\n if (!apiKeyValue && enabled) {\n setValue(initialAPIKey)\n }\n if (!enabled) {\n setValue(null)\n }\n }, [apiKeyValue, enabled, setValue, initialAPIKey])\n\n useEffect(() => {\n if (highlightedField) {\n setTimeout(() => {\n setHighlightedField(false)\n }, 10000)\n }\n }, [highlightedField])\n\n if (!enabled) {\n return null\n }\n\n return (\n <React.Fragment>\n <div className={[fieldBaseClass, 'api-key', 'read-only'].filter(Boolean).join(' ')}>\n <FieldLabel CustomLabel={APIKeyLabel} htmlFor={path} />\n <input\n className={highlightedField ? 'highlight' : undefined}\n disabled\n id=\"apiKey\"\n name=\"apiKey\"\n type=\"text\"\n value={(value as string) || ''}\n />\n </div>\n {!readOnly && (\n <GenerateConfirmation highlightField={highlightField} setKey={() => setValue(uuidv4())} />\n )}\n </React.Fragment>\n )\n}\n"],"names":["CopyToClipboard","GenerateConfirmation","FieldLabel","useFormFields","useField","useConfig","useTranslation","text","React","useEffect","useMemo","useState","v4","uuidv4","path","baseClass","fieldBaseClass","APIKey","enabled","readOnly","initialAPIKey","highlightedField","setHighlightedField","t","config","apiKey","fields","validate","val","name","type","data","maxLength","minLength","preferences","req","payload","siblingData","apiKeyValue","value","APIKeyLabel","div","className","span","fieldType","highlightField","setTimeout","setValue","Fragment","filter","Boolean","join","CustomLabel","htmlFor","input","undefined","disabled","id","setKey"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,SAASA,eAAe,QAAQ,0CAAyC;AACzE,SAASC,oBAAoB,QAAQ,+CAA8C;AACnF,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,IAAI,QAAQ,6BAA4B;AACjD,OAAOC,SAASC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,QAAO;AAC3D,SAASC,MAAMC,MAAM,QAAQ,OAAM;AAEnC,MAAMC,OAAO;AACb,MAAMC,YAAY;AAClB,MAAMC,iBAAiB;AAEvB,OAAO,MAAMC,SAA6D,CAAC,EACzEC,OAAO,EACPC,QAAQ,EACT;IACC,MAAM,CAACC,cAAc,GAAGT,SAASE;IACjC,MAAM,CAACQ,kBAAkBC,oBAAoB,GAAGX,SAAS;IACzD,MAAM,EAAEY,CAAC,EAAE,GAAGjB;IACd,MAAMkB,SAASnB;IAEf,MAAMoB,SAAStB,cAAc,CAAC,CAACuB,OAAO,GAAKA,MAAM,CAACZ,KAAK;IAEvD,MAAMa,WAAW,CAACC,MAChBrB,KAAKqB,KAAK;YACRC,MAAM;YACNC,MAAM;YACNC,MAAM,CAAC;YACPC,WAAW;YACXC,WAAW;YACXC,aAAa;gBAAER,QAAQ,CAAC;YAAE;YAC1BS,KAAK;gBACHC,SAAS;oBACPZ;gBACF;gBACAD;YACF;YACAc,aAAa,CAAC;QAChB;IAEF,MAAMC,cAAcb,QAAQc;IAE5B,MAAMC,cAAc9B,QAClB,kBACE,oBAAC+B;YAAIC,WAAW,CAAC,EAAE3B,UAAU,OAAO,CAAC;yBACnC,oBAAC4B,cAAK,0BACN,oBAAC3C;YAAgBuC,OAAOD;aAG5B;QAACA;KAAY;IAGf,MAAMM,YAAYxC,SAAS;QACzBU,MAAM;QACNa;IACF;IAEA,MAAMkB,iBAAiB;QACrB,IAAIxB,kBAAkB;YACpBC,oBAAoB;QACtB;QACAwB,WAAW;YACTxB,oBAAoB;QACtB,GAAG;IACL;IAEA,MAAM,EAAEyB,QAAQ,EAAER,KAAK,EAAE,GAAGK;IAE5BnC,UAAU;QACR,IAAI,CAAC6B,eAAepB,SAAS;YAC3B6B,SAAS3B;QACX;QACA,IAAI,CAACF,SAAS;YACZ6B,SAAS;QACX;IACF,GAAG;QAACT;QAAapB;QAAS6B;QAAU3B;KAAc;IAElDX,UAAU;QACR,IAAIY,kBAAkB;YACpByB,WAAW;gBACTxB,oBAAoB;YACtB,GAAG;QACL;IACF,GAAG;QAACD;KAAiB;IAErB,IAAI,CAACH,SAAS;QACZ,OAAO;IACT;IAEA,qBACE,oBAACV,MAAMwC,QAAQ,sBACb,oBAACP;QAAIC,WAAW;YAAC1B;YAAgB;YAAW;SAAY,CAACiC,MAAM,CAACC,SAASC,IAAI,CAAC;qBAC5E,oBAACjD;QAAWkD,aAAaZ;QAAaa,SAASvC;sBAC/C,oBAACwC;QACCZ,WAAWrB,mBAAmB,cAAckC;QAC5CC,UAAAA;QACAC,IAAG;QACH5B,MAAK;QACLC,MAAK;QACLS,OAAO,AAACA,SAAoB;SAG/B,CAACpB,0BACA,oBAAClB;QAAqB4C,gBAAgBA;QAAgBa,QAAQ,IAAMX,SAASlC;;AAIrF,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/APIKey.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequestWithData } from 'payload/types'\n\nimport { CopyToClipboard } from '@payloadcms/ui/elements/CopyToClipboard'\nimport { GenerateConfirmation } from '@payloadcms/ui/elements/GenerateConfirmation'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFormFields } from '@payloadcms/ui/forms/Form'\nimport { useField } from '@payloadcms/ui/forms/useField'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { text } from 'payload/fields/validations'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nconst path = 'apiKey'\nconst baseClass = 'api-key'\nconst fieldBaseClass = 'field-type'\n\nexport const APIKey: React.FC<{ enabled: boolean; readOnly?: boolean }> = ({\n enabled,\n readOnly,\n}) => {\n const [initialAPIKey] = useState(uuidv4())\n const [highlightedField, setHighlightedField] = useState(false)\n const { t } = useTranslation()\n const config = useConfig()\n\n const apiKey = useFormFields(([fields]) => fields[path])\n\n const validate = (val) =>\n text(val, {\n name: 'apiKey',\n type: 'text',\n data: {},\n maxLength: 48,\n minLength: 24,\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequestWithData,\n siblingData: {},\n })\n\n const apiKeyValue = apiKey?.value\n\n const APIKeyLabel = useMemo(\n () => (\n <div className={`${baseClass}__label`}>\n <span>API Key</span>\n <CopyToClipboard value={apiKeyValue as string} />\n </div>\n ),\n [apiKeyValue],\n )\n\n const fieldType = useField({\n path: 'apiKey',\n validate,\n })\n\n const highlightField = () => {\n if (highlightedField) {\n setHighlightedField(false)\n }\n setTimeout(() => {\n setHighlightedField(true)\n }, 1)\n }\n\n const { setValue, value } = fieldType\n\n useEffect(() => {\n if (!apiKeyValue && enabled) {\n setValue(initialAPIKey)\n }\n if (!enabled) {\n setValue(null)\n }\n }, [apiKeyValue, enabled, setValue, initialAPIKey])\n\n useEffect(() => {\n if (highlightedField) {\n setTimeout(() => {\n setHighlightedField(false)\n }, 10000)\n }\n }, [highlightedField])\n\n if (!enabled) {\n return null\n }\n\n return (\n <React.Fragment>\n <div className={[fieldBaseClass, 'api-key', 'read-only'].filter(Boolean).join(' ')}>\n <FieldLabel CustomLabel={APIKeyLabel} htmlFor={path} />\n <input\n className={highlightedField ? 'highlight' : undefined}\n disabled\n id=\"apiKey\"\n name=\"apiKey\"\n type=\"text\"\n value={(value as string) || ''}\n />\n </div>\n {!readOnly && (\n <GenerateConfirmation highlightField={highlightField} setKey={() => setValue(uuidv4())} />\n )}\n </React.Fragment>\n )\n}\n"],"names":["CopyToClipboard","GenerateConfirmation","FieldLabel","useFormFields","useField","useConfig","useTranslation","text","React","useEffect","useMemo","useState","v4","uuidv4","path","baseClass","fieldBaseClass","APIKey","enabled","readOnly","initialAPIKey","highlightedField","setHighlightedField","t","config","apiKey","fields","validate","val","name","type","data","maxLength","minLength","preferences","req","payload","siblingData","apiKeyValue","value","APIKeyLabel","div","className","span","fieldType","highlightField","setTimeout","setValue","Fragment","filter","Boolean","join","CustomLabel","htmlFor","input","undefined","disabled","id","setKey"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAGA,SAASA,eAAe,QAAQ,0CAAyC;AACzE,SAASC,oBAAoB,QAAQ,+CAA8C;AACnF,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,IAAI,QAAQ,6BAA4B;AACjD,OAAOC,SAASC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,QAAO;AAC3D,SAASC,MAAMC,MAAM,QAAQ,OAAM;AAEnC,MAAMC,OAAO;AACb,MAAMC,YAAY;AAClB,MAAMC,iBAAiB;AAEvB,OAAO,MAAMC,SAA6D,CAAC,EACzEC,OAAO,EACPC,QAAQ,EACT;IACC,MAAM,CAACC,cAAc,GAAGT,SAASE;IACjC,MAAM,CAACQ,kBAAkBC,oBAAoB,GAAGX,SAAS;IACzD,MAAM,EAAEY,CAAC,EAAE,GAAGjB;IACd,MAAMkB,SAASnB;IAEf,MAAMoB,SAAStB,cAAc,CAAC,CAACuB,OAAO,GAAKA,MAAM,CAACZ,KAAK;IAEvD,MAAMa,WAAW,CAACC,MAChBrB,KAAKqB,KAAK;YACRC,MAAM;YACNC,MAAM;YACNC,MAAM,CAAC;YACPC,WAAW;YACXC,WAAW;YACXC,aAAa;gBAAER,QAAQ,CAAC;YAAE;YAC1BS,KAAK;gBACHC,SAAS;oBACPZ;gBACF;gBACAD;YACF;YACAc,aAAa,CAAC;QAChB;IAEF,MAAMC,cAAcb,QAAQc;IAE5B,MAAMC,cAAc9B,QAClB,kBACE,MAAC+B;YAAIC,WAAW,CAAC,EAAE3B,UAAU,OAAO,CAAC;;8BACnC,KAAC4B;8BAAK;;8BACN,KAAC3C;oBAAgBuC,OAAOD;;;YAG5B;QAACA;KAAY;IAGf,MAAMM,YAAYxC,SAAS;QACzBU,MAAM;QACNa;IACF;IAEA,MAAMkB,iBAAiB;QACrB,IAAIxB,kBAAkB;YACpBC,oBAAoB;QACtB;QACAwB,WAAW;YACTxB,oBAAoB;QACtB,GAAG;IACL;IAEA,MAAM,EAAEyB,QAAQ,EAAER,KAAK,EAAE,GAAGK;IAE5BnC,UAAU;QACR,IAAI,CAAC6B,eAAepB,SAAS;YAC3B6B,SAAS3B;QACX;QACA,IAAI,CAACF,SAAS;YACZ6B,SAAS;QACX;IACF,GAAG;QAACT;QAAapB;QAAS6B;QAAU3B;KAAc;IAElDX,UAAU;QACR,IAAIY,kBAAkB;YACpByB,WAAW;gBACTxB,oBAAoB;YACtB,GAAG;QACL;IACF,GAAG;QAACD;KAAiB;IAErB,IAAI,CAACH,SAAS;QACZ,OAAO;IACT;IAEA,qBACE,MAACV,MAAMwC,QAAQ;;0BACb,MAACP;gBAAIC,WAAW;oBAAC1B;oBAAgB;oBAAW;iBAAY,CAACiC,MAAM,CAACC,SAASC,IAAI,CAAC;;kCAC5E,KAACjD;wBAAWkD,aAAaZ;wBAAaa,SAASvC;;kCAC/C,KAACwC;wBACCZ,WAAWrB,mBAAmB,cAAckC;wBAC5CC,QAAQ;wBACRC,IAAG;wBACH5B,MAAK;wBACLC,MAAK;wBACLS,OAAO,AAACA,SAAoB;;;;YAG/B,CAACpB,0BACA,KAAClB;gBAAqB4C,gBAAgBA;gBAAgBa,QAAQ,IAAMX,SAASlC;;;;AAIrF,EAAC"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import { Button } from '@payloadcms/ui/elements/Button';
3
4
  import { Checkbox } from '@payloadcms/ui/fields/Checkbox';
4
5
  import { ConfirmPassword } from '@payloadcms/ui/fields/ConfirmPassword';
@@ -72,59 +73,86 @@ export const Auth = (props)=>{
72
73
  if (disableLocalStrategy && !useAPIKey) {
73
74
  return null;
74
75
  }
75
- return /*#__PURE__*/ React.createElement("div", {
76
+ return /*#__PURE__*/ _jsxs("div", {
76
77
  className: [
77
78
  baseClass,
78
79
  className
79
- ].filter(Boolean).join(' ')
80
- }, !disableLocalStrategy && /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Email, {
81
- autoComplete: "email",
82
- label: t('general:email'),
83
- name: "email",
84
- readOnly: readOnly,
85
- required: true
86
- }), (changingPassword || requirePassword) && /*#__PURE__*/ React.createElement("div", {
87
- className: `${baseClass}__changing-password`
88
- }, /*#__PURE__*/ React.createElement(Password, {
89
- autoComplete: "off",
90
- disabled: readOnly,
91
- label: t('authentication:newPassword'),
92
- name: "password",
93
- required: true
94
- }), /*#__PURE__*/ React.createElement(ConfirmPassword, {
95
- disabled: readOnly
96
- })), /*#__PURE__*/ React.createElement("div", {
97
- className: `${baseClass}__controls`
98
- }, changingPassword && !requirePassword && /*#__PURE__*/ React.createElement(Button, {
99
- buttonStyle: "secondary",
100
- disabled: readOnly,
101
- onClick: ()=>handleChangePassword(false),
102
- size: "small"
103
- }, t('general:cancel')), !changingPassword && !requirePassword && /*#__PURE__*/ React.createElement(Button, {
104
- buttonStyle: "secondary",
105
- disabled: readOnly,
106
- id: "change-password",
107
- onClick: ()=>handleChangePassword(true),
108
- size: "small"
109
- }, t('authentication:changePassword')), operation === 'update' && /*#__PURE__*/ React.createElement(Button, {
110
- buttonStyle: "secondary",
111
- disabled: readOnly,
112
- onClick: ()=>unlock(),
113
- size: "small"
114
- }, t('authentication:forceUnlock')))), useAPIKey && /*#__PURE__*/ React.createElement("div", {
115
- className: `${baseClass}__api-key`
116
- }, /*#__PURE__*/ React.createElement(Checkbox, {
117
- label: t('authentication:enableAPIKey'),
118
- name: "enableAPIKey",
119
- readOnly: readOnly
120
- }), /*#__PURE__*/ React.createElement(APIKey, {
121
- enabled: !!enableAPIKey?.value,
122
- readOnly: readOnly
123
- })), verify && /*#__PURE__*/ React.createElement(Checkbox, {
124
- label: t('authentication:verified'),
125
- name: "_verified",
126
- readOnly: readOnly
127
- }));
80
+ ].filter(Boolean).join(' '),
81
+ children: [
82
+ !disableLocalStrategy && /*#__PURE__*/ _jsxs(React.Fragment, {
83
+ children: [
84
+ /*#__PURE__*/ _jsx(Email, {
85
+ autoComplete: "email",
86
+ label: t('general:email'),
87
+ name: "email",
88
+ readOnly: readOnly,
89
+ required: true
90
+ }),
91
+ (changingPassword || requirePassword) && /*#__PURE__*/ _jsxs("div", {
92
+ className: `${baseClass}__changing-password`,
93
+ children: [
94
+ /*#__PURE__*/ _jsx(Password, {
95
+ autoComplete: "off",
96
+ disabled: readOnly,
97
+ label: t('authentication:newPassword'),
98
+ name: "password",
99
+ required: true
100
+ }),
101
+ /*#__PURE__*/ _jsx(ConfirmPassword, {
102
+ disabled: readOnly
103
+ })
104
+ ]
105
+ }),
106
+ /*#__PURE__*/ _jsxs("div", {
107
+ className: `${baseClass}__controls`,
108
+ children: [
109
+ changingPassword && !requirePassword && /*#__PURE__*/ _jsx(Button, {
110
+ buttonStyle: "secondary",
111
+ disabled: readOnly,
112
+ onClick: ()=>handleChangePassword(false),
113
+ size: "small",
114
+ children: t('general:cancel')
115
+ }),
116
+ !changingPassword && !requirePassword && /*#__PURE__*/ _jsx(Button, {
117
+ buttonStyle: "secondary",
118
+ disabled: readOnly,
119
+ id: "change-password",
120
+ onClick: ()=>handleChangePassword(true),
121
+ size: "small",
122
+ children: t('authentication:changePassword')
123
+ }),
124
+ operation === 'update' && /*#__PURE__*/ _jsx(Button, {
125
+ buttonStyle: "secondary",
126
+ disabled: readOnly,
127
+ onClick: ()=>unlock(),
128
+ size: "small",
129
+ children: t('authentication:forceUnlock')
130
+ })
131
+ ]
132
+ })
133
+ ]
134
+ }),
135
+ useAPIKey && /*#__PURE__*/ _jsxs("div", {
136
+ className: `${baseClass}__api-key`,
137
+ children: [
138
+ /*#__PURE__*/ _jsx(Checkbox, {
139
+ label: t('authentication:enableAPIKey'),
140
+ name: "enableAPIKey",
141
+ readOnly: readOnly
142
+ }),
143
+ /*#__PURE__*/ _jsx(APIKey, {
144
+ enabled: !!enableAPIKey?.value,
145
+ readOnly: readOnly
146
+ })
147
+ ]
148
+ }),
149
+ verify && /*#__PURE__*/ _jsx(Checkbox, {
150
+ label: t('authentication:verified'),
151
+ name: "_verified",
152
+ readOnly: readOnly
153
+ })
154
+ ]
155
+ });
128
156
  };
129
157
 
130
158
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Checkbox } from '@payloadcms/ui/fields/Checkbox'\nimport { ConfirmPassword } from '@payloadcms/ui/fields/ConfirmPassword'\nimport { Email } from '@payloadcms/ui/fields/Email'\nimport { Password } from '@payloadcms/ui/fields/Password'\nimport { useFormFields, useFormModified } from '@payloadcms/ui/forms/Form'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport type { Props } from './types.js'\n\nimport { APIKey } from './APIKey.js'\nimport './index.scss'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n operation,\n readOnly,\n requirePassword,\n useAPIKey,\n verify,\n } = props\n\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => fields.enableAPIKey)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n\n const handleChangePassword = useCallback(\n (state: boolean) => {\n if (!state) {\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(state)\n },\n [dispatchFields],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body: JSON.stringify({\n email,\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'), { autoClose: 3000 })\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, t])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !useAPIKey) {\n return null\n }\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {!disableLocalStrategy && (\n <React.Fragment>\n <Email\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n readOnly={readOnly}\n required\n />\n {(changingPassword || requirePassword) && (\n <div className={`${baseClass}__changing-password`}>\n <Password\n autoComplete=\"off\"\n disabled={readOnly}\n label={t('authentication:newPassword')}\n name=\"password\"\n required\n />\n <ConfirmPassword disabled={readOnly} />\n </div>\n )}\n\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={readOnly}\n onClick={() => handleChangePassword(false)}\n size=\"small\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={readOnly}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"small\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && (\n <Button\n buttonStyle=\"secondary\"\n disabled={readOnly}\n onClick={() => unlock()}\n size=\"small\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n <Checkbox\n label={t('authentication:enableAPIKey')}\n name=\"enableAPIKey\"\n readOnly={readOnly}\n />\n <APIKey enabled={!!enableAPIKey?.value} readOnly={readOnly} />\n </div>\n )}\n {verify && (\n <Checkbox label={t('authentication:verified')} name=\"_verified\" readOnly={readOnly} />\n )}\n </div>\n )\n}\n"],"names":["Button","Checkbox","ConfirmPassword","Email","Password","useFormFields","useFormModified","useConfig","useTranslation","React","useCallback","useEffect","useState","toast","APIKey","baseClass","Auth","props","className","collectionSlug","disableLocalStrategy","email","operation","readOnly","requirePassword","useAPIKey","verify","changingPassword","setChangingPassword","enableAPIKey","fields","dispatchFields","reducer","modified","i18n","t","routes","api","serverURL","handleChangePassword","state","type","path","unlock","url","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","autoClose","error","div","filter","Boolean","join","Fragment","autoComplete","label","name","required","disabled","buttonStyle","onClick","size","id","enabled","value"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Checkbox } from '@payloadcms/ui/fields/Checkbox'\nimport { ConfirmPassword } from '@payloadcms/ui/fields/ConfirmPassword'\nimport { Email } from '@payloadcms/ui/fields/Email'\nimport { Password } from '@payloadcms/ui/fields/Password'\nimport { useFormFields, useFormModified } from '@payloadcms/ui/forms/Form'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport type { Props } from './types.js'\n\nimport { APIKey } from './APIKey.js'\nimport './index.scss'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n operation,\n readOnly,\n requirePassword,\n useAPIKey,\n verify,\n } = props\n\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => fields.enableAPIKey)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n\n const handleChangePassword = useCallback(\n (state: boolean) => {\n if (!state) {\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(state)\n },\n [dispatchFields],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body: JSON.stringify({\n email,\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'), { autoClose: 3000 })\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, t])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !useAPIKey) {\n return null\n }\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {!disableLocalStrategy && (\n <React.Fragment>\n <Email\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n readOnly={readOnly}\n required\n />\n {(changingPassword || requirePassword) && (\n <div className={`${baseClass}__changing-password`}>\n <Password\n autoComplete=\"off\"\n disabled={readOnly}\n label={t('authentication:newPassword')}\n name=\"password\"\n required\n />\n <ConfirmPassword disabled={readOnly} />\n </div>\n )}\n\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={readOnly}\n onClick={() => handleChangePassword(false)}\n size=\"small\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={readOnly}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"small\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && (\n <Button\n buttonStyle=\"secondary\"\n disabled={readOnly}\n onClick={() => unlock()}\n size=\"small\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n <Checkbox\n label={t('authentication:enableAPIKey')}\n name=\"enableAPIKey\"\n readOnly={readOnly}\n />\n <APIKey enabled={!!enableAPIKey?.value} readOnly={readOnly} />\n </div>\n )}\n {verify && (\n <Checkbox label={t('authentication:verified')} name=\"_verified\" readOnly={readOnly} />\n )}\n </div>\n )\n}\n"],"names":["Button","Checkbox","ConfirmPassword","Email","Password","useFormFields","useFormModified","useConfig","useTranslation","React","useCallback","useEffect","useState","toast","APIKey","baseClass","Auth","props","className","collectionSlug","disableLocalStrategy","email","operation","readOnly","requirePassword","useAPIKey","verify","changingPassword","setChangingPassword","enableAPIKey","fields","dispatchFields","reducer","modified","i18n","t","routes","api","serverURL","handleChangePassword","state","type","path","unlock","url","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","autoClose","error","div","filter","Boolean","join","Fragment","autoComplete","label","name","required","disabled","buttonStyle","onClick","size","id","enabled","value"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Default/index.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAMpD,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EA4OnC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Default/index.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAMpD,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EA2OnC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import { DocumentControls } from '@payloadcms/ui/elements/DocumentControls';
3
4
  import { DocumentFields } from '@payloadcms/ui/elements/DocumentFields';
4
5
  import { FormLoadingOverlayToggle } from '@payloadcms/ui/elements/Loading';
@@ -26,7 +27,7 @@ const baseClass = 'collection-edit';
26
27
  // When rendered within a drawer, props are empty
27
28
  // This is solely to support custom edit views which get server-rendered
28
29
  export const DefaultEditView = ()=>{
29
- const { id, AfterDocument, AfterFields, BeforeDocument, BeforeFields, action, apiURL, collectionSlug, disableActions, disableLeaveWithoutSaving, docPermissions, getDocPermissions, getDocPreferences, getVersions, globalSlug, hasSavePermission, initialData: data, initialState, isEditing, onSave: onSaveFromContext } = useDocumentInfo();
30
+ const { id, AfterDocument, AfterFields, BeforeDocument, BeforeFields, action, apiURL, collectionSlug, disableActions, disableLeaveWithoutSaving, docPermissions, getDocPreferences, getVersions, globalSlug, hasPublishPermission, hasSavePermission, initialData: data, initialState, isEditing, onSave: onSaveFromContext } = useDocumentInfo();
30
31
  const { refreshCookieAsync, user } = useAuth();
31
32
  const config = useConfig();
32
33
  const router = useRouter();
@@ -65,7 +66,6 @@ export const DefaultEditView = ()=>{
65
66
  void refreshCookieAsync();
66
67
  }
67
68
  void getVersions();
68
- void getDocPermissions();
69
69
  if (typeof onSaveFromContext === 'function') {
70
70
  void onSaveFromContext({
71
71
  ...json,
@@ -94,7 +94,6 @@ export const DefaultEditView = ()=>{
94
94
  depth,
95
95
  collectionSlug,
96
96
  getVersions,
97
- getDocPermissions,
98
97
  isEditing,
99
98
  refreshCookieAsync,
100
99
  adminRoute,
@@ -127,69 +126,89 @@ export const DefaultEditView = ()=>{
127
126
  globalSlug,
128
127
  getDocPreferences
129
128
  ]);
130
- return /*#__PURE__*/ React.createElement("main", {
131
- className: classes
132
- }, /*#__PURE__*/ React.createElement(OperationProvider, {
133
- operation: operation
134
- }, /*#__PURE__*/ React.createElement(Form, {
135
- action: action,
136
- className: `${baseClass}__form`,
137
- disableValidationOnSubmit: true,
138
- disabled: !hasSavePermission,
139
- initialState: initialState,
140
- method: id ? 'PATCH' : 'POST',
141
- onChange: [
142
- onChange
143
- ],
144
- onSuccess: onSave
145
- }, /*#__PURE__*/ React.createElement(FormLoadingOverlayToggle, {
146
- action: operation,
147
- // formIsLoading={isLoading}
148
- // loadingSuffix={getTranslation(collectionConfig.labels.singular, i18n)}
149
- name: `collection-edit--${typeof collectionConfig?.labels?.singular === 'string' ? collectionConfig.labels.singular : i18n.t('general:document')}`,
150
- type: "withoutNav"
151
- }), BeforeDocument, preventLeaveWithoutSaving && /*#__PURE__*/ React.createElement(LeaveWithoutSaving, null), /*#__PURE__*/ React.createElement(SetDocumentStepNav, {
152
- collectionSlug: collectionConfig?.slug,
153
- globalSlug: globalConfig?.slug,
154
- id: id,
155
- pluralLabel: collectionConfig?.labels?.plural,
156
- useAsTitle: collectionConfig?.admin?.useAsTitle
157
- }), /*#__PURE__*/ React.createElement(SetDocumentTitle, {
158
- collectionConfig: collectionConfig,
159
- config: config,
160
- fallback: depth <= 1 ? id?.toString() : undefined,
161
- globalConfig: globalConfig
162
- }), /*#__PURE__*/ React.createElement(DocumentControls, {
163
- apiURL: apiURL,
164
- data: data,
165
- disableActions: disableActions,
166
- hasSavePermission: hasSavePermission,
167
- id: id,
168
- isEditing: isEditing,
169
- permissions: docPermissions,
170
- slug: collectionConfig?.slug || globalConfig?.slug
171
- }), /*#__PURE__*/ React.createElement(DocumentFields, {
172
- AfterFields: AfterFields,
173
- BeforeFields: BeforeFields || /*#__PURE__*/ React.createElement(Fragment, null, auth && /*#__PURE__*/ React.createElement(Auth, {
174
- className: `${baseClass}__auth`,
175
- collectionSlug: collectionConfig.slug,
176
- disableLocalStrategy: collectionConfig.auth?.disableLocalStrategy,
177
- email: data?.email,
129
+ return /*#__PURE__*/ _jsx("main", {
130
+ className: classes,
131
+ children: /*#__PURE__*/ _jsx(OperationProvider, {
178
132
  operation: operation,
179
- readOnly: !hasSavePermission,
180
- requirePassword: !id,
181
- useAPIKey: auth.useAPIKey,
182
- verify: auth.verify
183
- }), upload && /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Upload, {
184
- collectionSlug: collectionConfig.slug,
185
- initialState: initialState,
186
- uploadConfig: upload
187
- }))),
188
- docPermissions: docPermissions,
189
- fieldMap: fieldMap,
190
- readOnly: !hasSavePermission,
191
- schemaPath: entitySlug
192
- }), AfterDocument)));
133
+ children: /*#__PURE__*/ _jsxs(Form, {
134
+ action: action,
135
+ className: `${baseClass}__form`,
136
+ disableValidationOnSubmit: true,
137
+ disabled: !hasSavePermission,
138
+ initialState: initialState,
139
+ method: id ? 'PATCH' : 'POST',
140
+ onChange: [
141
+ onChange
142
+ ],
143
+ onSuccess: onSave,
144
+ children: [
145
+ /*#__PURE__*/ _jsx(FormLoadingOverlayToggle, {
146
+ action: operation,
147
+ // formIsLoading={isLoading}
148
+ // loadingSuffix={getTranslation(collectionConfig.labels.singular, i18n)}
149
+ name: `collection-edit--${typeof collectionConfig?.labels?.singular === 'string' ? collectionConfig.labels.singular : i18n.t('general:document')}`,
150
+ type: "withoutNav"
151
+ }),
152
+ BeforeDocument,
153
+ preventLeaveWithoutSaving && /*#__PURE__*/ _jsx(LeaveWithoutSaving, {}),
154
+ /*#__PURE__*/ _jsx(SetDocumentStepNav, {
155
+ collectionSlug: collectionConfig?.slug,
156
+ globalSlug: globalConfig?.slug,
157
+ id: id,
158
+ pluralLabel: collectionConfig?.labels?.plural,
159
+ useAsTitle: collectionConfig?.admin?.useAsTitle
160
+ }),
161
+ /*#__PURE__*/ _jsx(SetDocumentTitle, {
162
+ collectionConfig: collectionConfig,
163
+ config: config,
164
+ fallback: depth <= 1 ? id?.toString() : undefined,
165
+ globalConfig: globalConfig
166
+ }),
167
+ /*#__PURE__*/ _jsx(DocumentControls, {
168
+ apiURL: apiURL,
169
+ data: data,
170
+ disableActions: disableActions,
171
+ hasPublishPermission: hasPublishPermission,
172
+ hasSavePermission: hasSavePermission,
173
+ id: id,
174
+ isEditing: isEditing,
175
+ permissions: docPermissions,
176
+ slug: collectionConfig?.slug || globalConfig?.slug
177
+ }),
178
+ /*#__PURE__*/ _jsx(DocumentFields, {
179
+ AfterFields: AfterFields,
180
+ BeforeFields: BeforeFields || /*#__PURE__*/ _jsxs(Fragment, {
181
+ children: [
182
+ auth && /*#__PURE__*/ _jsx(Auth, {
183
+ className: `${baseClass}__auth`,
184
+ collectionSlug: collectionConfig.slug,
185
+ disableLocalStrategy: collectionConfig.auth?.disableLocalStrategy,
186
+ email: data?.email,
187
+ operation: operation,
188
+ readOnly: !hasSavePermission,
189
+ requirePassword: !id,
190
+ useAPIKey: auth.useAPIKey,
191
+ verify: auth.verify
192
+ }),
193
+ upload && /*#__PURE__*/ _jsx(React.Fragment, {
194
+ children: /*#__PURE__*/ _jsx(Upload, {
195
+ collectionSlug: collectionConfig.slug,
196
+ initialState: initialState,
197
+ uploadConfig: upload
198
+ })
199
+ })
200
+ ]
201
+ }),
202
+ docPermissions: docPermissions,
203
+ fieldMap: fieldMap,
204
+ readOnly: !hasSavePermission,
205
+ schemaPath: entitySlug
206
+ }),
207
+ AfterDocument
208
+ ]
209
+ })
210
+ })
211
+ });
193
212
  };
194
213
 
195
214
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui/forms/Form'\n\nimport { DocumentControls } from '@payloadcms/ui/elements/DocumentControls'\nimport { DocumentFields } from '@payloadcms/ui/elements/DocumentFields'\nimport { FormLoadingOverlayToggle } from '@payloadcms/ui/elements/Loading'\nimport { Upload } from '@payloadcms/ui/elements/Upload'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { useAuth } from '@payloadcms/ui/providers/Auth'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentEvents } from '@payloadcms/ui/providers/DocumentEvents'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useEditDepth } from '@payloadcms/ui/providers/EditDepth'\nimport { useFormQueryParams } from '@payloadcms/ui/providers/FormQueryParams'\nimport { OperationProvider } from '@payloadcms/ui/providers/Operation'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport { useRouter } from 'next/navigation.js'\nimport { useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC = () => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const config = useConfig()\n const router = useRouter()\n const { dispatchFormQueryParams } = useFormQueryParams()\n const { getFieldMap } = useComponentMap()\n const params = useSearchParams()\n const depth = useEditDepth()\n const { reportUpdate } = useDocumentEvents()\n\n const { i18n } = useTranslation()\n\n const {\n admin: { user: userSlug },\n collections,\n globals,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const locale = params.get('locale')\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 entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const preventLeaveWithoutSaving =\n (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n !disableLeaveWithoutSaving\n\n const classes = [baseClass, id && `${baseClass}--is-editing`].filter(Boolean).join(' ')\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n void getVersions()\n void getDocPermissions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = `${adminRoute}/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`\n router.push(redirectRoute)\n } else {\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n uploadEdits: null,\n },\n })\n }\n },\n [\n onSaveFromContext,\n userSlug,\n reportUpdate,\n id,\n entitySlug,\n user,\n depth,\n collectionSlug,\n getVersions,\n getDocPermissions,\n isEditing,\n refreshCookieAsync,\n adminRoute,\n locale,\n router,\n dispatchFormQueryParams,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath: entitySlug,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, entitySlug, collectionSlug, globalSlug, getDocPreferences],\n )\n\n return (\n <main className={classes}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit\n disabled={!hasSavePermission}\n initialState={initialState}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n <FormLoadingOverlayToggle\n action={operation}\n // formIsLoading={isLoading}\n // loadingSuffix={getTranslation(collectionConfig.labels.singular, i18n)}\n name={`collection-edit--${\n typeof collectionConfig?.labels?.singular === 'string'\n ? collectionConfig.labels.singular\n : i18n.t('general:document')\n }`}\n type=\"withoutNav\"\n />\n {BeforeDocument}\n {preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={data}\n disableActions={disableActions}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n useAPIKey={auth.useAPIKey}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n docPermissions={docPermissions}\n fieldMap={fieldMap}\n readOnly={!hasSavePermission}\n schemaPath={entitySlug}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","FormLoadingOverlayToggle","Upload","Form","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useFormQueryParams","OperationProvider","useTranslation","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPermissions","getDocPreferences","getVersions","globalSlug","hasSavePermission","initialData","data","initialState","isEditing","onSave","onSaveFromContext","refreshCookieAsync","user","config","router","dispatchFormQueryParams","getFieldMap","params","depth","reportUpdate","i18n","admin","userSlug","collections","globals","routes","adminRoute","api","apiRoute","serverURL","locale","get","collectionConfig","find","collection","slug","globalConfig","global","entitySlug","fieldMap","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","filter","Boolean","join","json","updatedAt","result","Date","toISOString","redirectRoute","doc","push","type","uploadEdits","onChange","formState","prevFormState","docPreferences","body","schemaPath","main","className","disableValidationOnSubmit","disabled","method","onSuccess","name","labels","singular","t","pluralLabel","plural","useAsTitle","fallback","toString","permissions","disableLocalStrategy","email","readOnly","requirePassword","useAPIKey","verify","uploadConfig"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui/forms/Form'\n\nimport { DocumentControls } from '@payloadcms/ui/elements/DocumentControls'\nimport { DocumentFields } from '@payloadcms/ui/elements/DocumentFields'\nimport { FormLoadingOverlayToggle } from '@payloadcms/ui/elements/Loading'\nimport { Upload } from '@payloadcms/ui/elements/Upload'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { useAuth } from '@payloadcms/ui/providers/Auth'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentEvents } from '@payloadcms/ui/providers/DocumentEvents'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useEditDepth } from '@payloadcms/ui/providers/EditDepth'\nimport { useFormQueryParams } from '@payloadcms/ui/providers/FormQueryParams'\nimport { OperationProvider } from '@payloadcms/ui/providers/Operation'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport { useRouter } from 'next/navigation.js'\nimport { useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC = () => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const config = useConfig()\n const router = useRouter()\n const { dispatchFormQueryParams } = useFormQueryParams()\n const { getFieldMap } = useComponentMap()\n const params = useSearchParams()\n const depth = useEditDepth()\n const { reportUpdate } = useDocumentEvents()\n\n const { i18n } = useTranslation()\n\n const {\n admin: { user: userSlug },\n collections,\n globals,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const locale = params.get('locale')\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 entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const preventLeaveWithoutSaving =\n (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n !disableLeaveWithoutSaving\n\n const classes = [baseClass, id && `${baseClass}--is-editing`].filter(Boolean).join(' ')\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n void getVersions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = `${adminRoute}/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`\n router.push(redirectRoute)\n } else {\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n uploadEdits: null,\n },\n })\n }\n },\n [\n onSaveFromContext,\n userSlug,\n reportUpdate,\n id,\n entitySlug,\n user,\n depth,\n collectionSlug,\n getVersions,\n isEditing,\n refreshCookieAsync,\n adminRoute,\n locale,\n router,\n dispatchFormQueryParams,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath: entitySlug,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, entitySlug, collectionSlug, globalSlug, getDocPreferences],\n )\n\n return (\n <main className={classes}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit\n disabled={!hasSavePermission}\n initialState={initialState}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n <FormLoadingOverlayToggle\n action={operation}\n // formIsLoading={isLoading}\n // loadingSuffix={getTranslation(collectionConfig.labels.singular, i18n)}\n name={`collection-edit--${\n typeof collectionConfig?.labels?.singular === 'string'\n ? collectionConfig.labels.singular\n : i18n.t('general:document')\n }`}\n type=\"withoutNav\"\n />\n {BeforeDocument}\n {preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={data}\n disableActions={disableActions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n useAPIKey={auth.useAPIKey}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n docPermissions={docPermissions}\n fieldMap={fieldMap}\n readOnly={!hasSavePermission}\n schemaPath={entitySlug}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","FormLoadingOverlayToggle","Upload","Form","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useFormQueryParams","OperationProvider","useTranslation","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","getVersions","globalSlug","hasPublishPermission","hasSavePermission","initialData","data","initialState","isEditing","onSave","onSaveFromContext","refreshCookieAsync","user","config","router","dispatchFormQueryParams","getFieldMap","params","depth","reportUpdate","i18n","admin","userSlug","collections","globals","routes","adminRoute","api","apiRoute","serverURL","locale","get","collectionConfig","find","collection","slug","globalConfig","global","entitySlug","fieldMap","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","filter","Boolean","join","json","updatedAt","result","Date","toISOString","redirectRoute","doc","push","type","uploadEdits","onChange","formState","prevFormState","docPreferences","body","schemaPath","main","className","disableValidationOnSubmit","disabled","method","onSuccess","name","labels","singular","t","pluralLabel","plural","useAsTitle","fallback","toString","permissions","disableLocalStrategy","email","readOnly","requirePassword","useAPIKey","verify","uploadConfig"],"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 { LoadingOverlay } from '@payloadcms/ui/elements/Loading';
3
4
  import { SetViewActions } from '@payloadcms/ui/providers/Actions';
4
5
  import { useComponentMap } from '@payloadcms/ui/providers/ComponentMap';
@@ -13,11 +14,16 @@ export const EditViewClient = ()=>{
13
14
  });
14
15
  // Allow the `DocumentInfoProvider` to hydrate
15
16
  if (!Edit || !collectionSlug && !globalSlug) {
16
- return /*#__PURE__*/ React.createElement(LoadingOverlay, null);
17
+ return /*#__PURE__*/ _jsx(LoadingOverlay, {});
17
18
  }
18
- return /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement(SetViewActions, {
19
- actions: actionsMap?.Edit?.Default
20
- }), Edit);
19
+ return /*#__PURE__*/ _jsxs(Fragment, {
20
+ children: [
21
+ /*#__PURE__*/ _jsx(SetViewActions, {
22
+ actions: actionsMap?.Edit?.Default
23
+ }),
24
+ Edit
25
+ ]
26
+ });
21
27
  };
22
28
 
23
29
  //# sourceMappingURL=index.client.js.map