@payloadcms/ui 4.0.0-internal.7b031c8 → 4.0.0-internal.8867dba

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 (81) hide show
  1. package/dist/elements/ArrayAction/index.d.ts +0 -2
  2. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  3. package/dist/elements/ArrayAction/index.js +24 -65
  4. package/dist/elements/ArrayAction/index.js.map +1 -1
  5. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  6. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  7. package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
  8. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  9. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  10. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  11. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  12. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +1 -8
  13. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
  14. package/dist/elements/ClipboardAction/clipboardUtilities.js +8 -40
  15. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  16. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  17. package/dist/elements/ClipboardAction/index.js +1 -17
  18. package/dist/elements/ClipboardAction/index.js.map +1 -1
  19. package/dist/elements/ClipboardAction/types.d.ts +0 -3
  20. package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
  21. package/dist/elements/ClipboardAction/types.js.map +1 -1
  22. package/dist/elements/FileManager/index.d.ts +1 -1
  23. package/dist/elements/FileManager/index.d.ts.map +1 -1
  24. package/dist/elements/FileManager/index.js.map +1 -1
  25. package/dist/elements/Thumbnail/index.d.ts +1 -1
  26. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  27. package/dist/elements/Thumbnail/index.js.map +1 -1
  28. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  29. package/dist/elements/TimezonePicker/index.js +1 -5
  30. package/dist/elements/TimezonePicker/index.js.map +1 -1
  31. package/dist/exports/shared/index.d.ts +0 -1
  32. package/dist/exports/shared/index.d.ts.map +1 -1
  33. package/dist/exports/shared/index.js +2 -2
  34. package/dist/exports/shared/index.js.map +4 -4
  35. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  36. package/dist/fields/Array/ArrayRow.js +160 -97
  37. package/dist/fields/Array/ArrayRow.js.map +1 -1
  38. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  39. package/dist/fields/Blocks/BlockRow.js +195 -134
  40. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  41. package/dist/fields/Blocks/RowActions.d.ts +0 -2
  42. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  43. package/dist/fields/Blocks/RowActions.js +20 -23
  44. package/dist/fields/Blocks/RowActions.js.map +1 -1
  45. package/dist/forms/Form/index.d.ts.map +1 -1
  46. package/dist/forms/Form/index.js +3 -14
  47. package/dist/forms/Form/index.js.map +1 -1
  48. package/dist/forms/RenderFields/index.css +2 -16
  49. package/dist/layouts/Root/index.d.ts.map +1 -1
  50. package/dist/layouts/Root/index.js +2 -4
  51. package/dist/layouts/Root/index.js.map +1 -1
  52. package/dist/providers/Theme/index.d.ts +2 -2
  53. package/dist/providers/Theme/index.d.ts.map +1 -1
  54. package/dist/providers/Theme/index.js +1 -2
  55. package/dist/providers/Theme/index.js.map +1 -1
  56. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  57. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  58. package/dist/providers/UploadHandlers/index.js +102 -42
  59. package/dist/providers/UploadHandlers/index.js.map +1 -1
  60. package/dist/styles.css +1 -1
  61. package/dist/utilities/getRequestTheme.d.ts +1 -1
  62. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  63. package/dist/utilities/getRequestTheme.js +1 -1
  64. package/dist/utilities/getRequestTheme.js.map +1 -1
  65. package/package.json +4 -4
  66. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +0 -120
  67. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +0 -1
  68. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +0 -144
  69. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +0 -1
  70. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +0 -10
  71. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +0 -1
  72. package/dist/elements/ClipboardAction/useCanPasteClipboard.js +0 -21
  73. package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +0 -1
  74. package/dist/providers/Theme/shared.d.ts +0 -3
  75. package/dist/providers/Theme/shared.d.ts.map +0 -1
  76. package/dist/providers/Theme/shared.js +0 -2
  77. package/dist/providers/Theme/shared.js.map +0 -1
  78. package/dist/utilities/getLanguageDir.d.ts +0 -12
  79. package/dist/utilities/getLanguageDir.d.ts.map +0 -1
  80. package/dist/utilities/getLanguageDir.js +0 -12
  81. package/dist/utilities/getLanguageDir.js.map +0 -1
@@ -2,62 +2,119 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- import React, { useState } from 'react';
5
+ import { formatAdminURL } from 'payload/shared';
6
+ import React from 'react';
7
+ import { useConfig } from '../Config/index.js';
6
8
  const Context = /*#__PURE__*/React.createContext(null);
7
9
  export const UploadHandlersProvider = t0 => {
8
- const $ = _c(6);
10
+ const $ = _c(5);
9
11
  const {
10
12
  children
11
13
  } = t0;
12
- const [uploadHandlers, setUploadHandlers] = useState(_temp);
14
+ const {
15
+ config,
16
+ getEntityConfig
17
+ } = useConfig();
13
18
  let t1;
14
- if ($[0] !== uploadHandlers) {
15
- t1 = t2 => {
19
+ if ($[0] !== children || $[1] !== config.routes.api || $[2] !== config.serverURL || $[3] !== getEntityConfig) {
20
+ const uploadInstructionsURL = formatAdminURL({
21
+ apiRoute: config.routes.api,
22
+ path: "/upload-instructions",
23
+ serverURL: config.serverURL
24
+ });
25
+ const getUploadHandler = t2 => {
16
26
  const {
17
27
  collectionSlug
18
28
  } = t2;
19
- return uploadHandlers.get(collectionSlug);
20
- };
21
- $[0] = uploadHandlers;
22
- $[1] = t1;
23
- } else {
24
- t1 = $[1];
25
- }
26
- const getUploadHandler = t1;
27
- let t2;
28
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
29
- t2 = t3 => {
30
- const {
31
- collectionSlug: collectionSlug_0,
32
- handler
33
- } = t3;
34
- setUploadHandlers(uploadHandlers_0 => {
35
- const clone = new Map(uploadHandlers_0);
36
- clone.set(collectionSlug_0, handler);
37
- return clone;
38
- });
29
+ if (!getEntityConfig({
30
+ collectionSlug
31
+ })?.upload?.uploadInstructions.useInAdmin) {
32
+ return null;
33
+ }
34
+ return async t3 => {
35
+ const {
36
+ docPrefix,
37
+ file
38
+ } = t3;
39
+ const response = await fetch(uploadInstructionsURL, {
40
+ body: JSON.stringify({
41
+ collectionSlug,
42
+ docPrefix,
43
+ filename: file.name,
44
+ filesize: file.size,
45
+ mimeType: file.type
46
+ }),
47
+ credentials: "include",
48
+ headers: {
49
+ "Content-Type": "application/json"
50
+ },
51
+ method: "POST"
52
+ });
53
+ if (!response.ok) {
54
+ const {
55
+ errors
56
+ } = await response.json();
57
+ throw new Error(errors.map(_temp).join(", "));
58
+ }
59
+ const instructions = await response.json();
60
+ let uploadedFile = instructions.file;
61
+ if (instructions.type === "http") {
62
+ const {
63
+ url,
64
+ ...request
65
+ } = instructions.request;
66
+ const upload = await fetch(url, {
67
+ body: file,
68
+ ...request
69
+ });
70
+ if (!upload.ok) {
71
+ throw new Error(`Upload failed with status ${upload.status}`);
72
+ }
73
+ return uploadedFile;
74
+ }
75
+ const result = await new Promise((resolve, reject) => {
76
+ const event = new CustomEvent(`payload:upload:${instructions.name}`, {
77
+ cancelable: true,
78
+ detail: {
79
+ collectionSlug,
80
+ data: instructions.data,
81
+ docPrefix,
82
+ file,
83
+ reject,
84
+ resolve,
85
+ updateFilename: filename => {
86
+ uploadedFile = {
87
+ ...uploadedFile,
88
+ filename
89
+ };
90
+ }
91
+ }
92
+ });
93
+ if (window.dispatchEvent(event)) {
94
+ reject(new Error(`Unsupported upload instruction: ${instructions.name}`));
95
+ }
96
+ });
97
+ return typeof result === "object" && result !== null ? {
98
+ ...uploadedFile,
99
+ uploadReference: result
100
+ } : uploadedFile;
101
+ };
39
102
  };
40
- $[2] = t2;
41
- } else {
42
- t2 = $[2];
43
- }
44
- const setUploadHandler = t2;
45
- let t3;
46
- if ($[3] !== children || $[4] !== getUploadHandler) {
47
- t3 = _jsx(Context, {
103
+ t1 = _jsx(Context, {
48
104
  value: {
49
- getUploadHandler,
50
- setUploadHandler
105
+ getUploadHandler
51
106
  },
52
107
  children
53
108
  });
54
- $[3] = children;
55
- $[4] = getUploadHandler;
56
- $[5] = t3;
109
+ $[0] = children;
110
+ $[1] = config.routes.api;
111
+ $[2] = config.serverURL;
112
+ $[3] = getEntityConfig;
113
+ $[4] = t1;
57
114
  } else {
58
- t3 = $[5];
115
+ t1 = $[4];
59
116
  }
60
- return t3;
117
+ return t1;
61
118
  };
62
119
  export const useUploadHandlers = () => {
63
120
  const context = React.use(Context);
@@ -66,7 +123,10 @@ export const useUploadHandlers = () => {
66
123
  }
67
124
  return context;
68
125
  };
69
- function _temp() {
70
- return new Map();
126
+ function _temp(t0) {
127
+ const {
128
+ message
129
+ } = t0;
130
+ return message;
71
131
  }
72
132
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useState","Context","createContext","UploadHandlersProvider","t0","$","children","uploadHandlers","setUploadHandlers","_temp","t1","t2","collectionSlug","get","getUploadHandler","Symbol","for","t3","collectionSlug_0","handler","uploadHandlers_0","clone","Map","set","setUploadHandler","_jsx","value","useUploadHandlers","context","use","Error"],"sources":["../../../src/providers/UploadHandlers/index.tsx"],"sourcesContent":["'use client'\nimport type { UploadCollectionSlug } from 'payload'\n\nimport React, { useState } from 'react'\n\ntype UploadHandler = (args: {\n docPrefix?: string\n file: File\n updateFilename: (filename: string) => void\n}) => Promise<unknown>\n\nexport type UploadHandlersContext = {\n getUploadHandler: (args: { collectionSlug: UploadCollectionSlug }) => null | UploadHandler\n setUploadHandler: (args: {\n collectionSlug: UploadCollectionSlug\n handler: UploadHandler\n }) => unknown\n}\n\nconst Context = React.createContext<null | UploadHandlersContext>(null)\n\nexport const UploadHandlersProvider = ({ children }) => {\n const [uploadHandlers, setUploadHandlers] = useState<Map<UploadCollectionSlug, UploadHandler>>(\n () => new Map(),\n )\n\n const getUploadHandler: UploadHandlersContext['getUploadHandler'] = ({ collectionSlug }) => {\n return uploadHandlers.get(collectionSlug)\n }\n\n const setUploadHandler: UploadHandlersContext['setUploadHandler'] = ({\n collectionSlug,\n handler,\n }) => {\n setUploadHandlers((uploadHandlers) => {\n const clone = new Map(uploadHandlers)\n clone.set(collectionSlug, handler)\n return clone\n })\n }\n\n return <Context value={{ getUploadHandler, setUploadHandler }}>{children}</Context>\n}\n\nexport const useUploadHandlers = (): UploadHandlersContext => {\n const context = React.use(Context)\n\n if (context === null) {\n throw new Error('useUploadHandlers must be used within UploadHandlersProvider')\n }\n\n return context\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAgBhC,MAAMC,OAAA,gBAAUF,KAAA,CAAMG,aAAa,CAA+B;AAElE,OAAO,MAAMC,sBAAA,GAAyBC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ;EAAA,IAAAF,EAAY;EACjD,OAAAG,cAAA,EAAAC,iBAAA,IAA4CR,QAAA,CAAAS,KAChC;EAAA,IAAAC,EAAA;EAAA,IAAAL,CAAA,QAAAE,cAAA;IAGwDG,EAAA,GAAAC,EAAA;MAAC;QAAAC;MAAA,IAAAD,EAAkB;MAAA,OAC9EJ,cAAA,CAAAM,GAAA,CAAmBD,cAAA;IAAA;IAC5BP,CAAA,MAAAE,cAAA;IAAAF,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAFA,MAAAS,gBAAA,GAAoEJ,EAEpE;EAAA,IAAAC,EAAA;EAAA,IAAAN,CAAA,QAAAU,MAAA,CAAAC,GAAA;IAEoEL,EAAA,GAAAM,EAAA;MAAC;QAAAL,cAAA,EAAAM,gBAAA;QAAAC;MAAA,IAAAF,EAGpE;MACCT,iBAAA,CAAAY,gBAAA;QACE,MAAAC,KAAA,OAAAC,GAAA,CAAsBf,gBAAA;QACtBc,KAAA,CAAAE,GAAA,CAAUX,gBAAA,EAAgBO,OAAA;QAAA,OACnBE,KAAA;MAAA,CACT;IAAA;IACFhB,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EATA,MAAAmB,gBAAA,GAAoEb,EASpE;EAAA,IAAAM,EAAA;EAAA,IAAAZ,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAS,gBAAA;IAEOG,EAAA,GAAAQ,IAAA,CAAAxB,OAAA;MAAAyB,KAAA;QAAAZ,gBAAA;QAAAU;MAAA;MAAAlB;IAAA,C;;;;;;;SAAAW,E;CACT;AAEA,OAAO,MAAMU,iBAAA,GAAoBA,CAAA;EAC/B,MAAMC,OAAA,GAAU7B,KAAA,CAAM8B,GAAG,CAAC5B,OAAA;EAE1B,IAAI2B,OAAA,KAAY,MAAM;IACpB,MAAM,IAAIE,KAAA,CAAM;EAClB;EAEA,OAAOF,OAAA;AACT;AA/BsC,SAAAnB,MAAA;EAAA,WAAAa,GAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","formatAdminURL","React","useConfig","Context","createContext","UploadHandlersProvider","t0","$","children","config","getEntityConfig","t1","routes","api","serverURL","uploadInstructionsURL","apiRoute","path","getUploadHandler","t2","collectionSlug","upload","uploadInstructions","useInAdmin","t3","docPrefix","file","response","fetch","body","JSON","stringify","filename","name","filesize","size","mimeType","type","credentials","headers","method","ok","errors","json","Error","map","_temp","join","instructions","uploadedFile","url","request","status","result","Promise","resolve","reject","event","CustomEvent","cancelable","detail","data","updateFilename","window","dispatchEvent","uploadReference","_jsx","value","useUploadHandlers","context","use","message"],"sources":["../../../src/providers/UploadHandlers/index.tsx"],"sourcesContent":["'use client'\nimport type { UploadCollectionSlug, UploadInstructions } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { useConfig } from '../Config/index.js'\n\ntype UploadHandler = (args: {\n docPrefix?: string\n file: File\n}) => Promise<UploadInstructions['file']>\n\nexport type UploadHandlersContext = {\n getUploadHandler: (args: { collectionSlug: UploadCollectionSlug }) => null | UploadHandler\n}\n\nconst Context = React.createContext<null | UploadHandlersContext>(null)\n\nexport const UploadHandlersProvider = ({ children }) => {\n const { config, getEntityConfig } = useConfig()\n const uploadInstructionsURL = formatAdminURL({\n apiRoute: config.routes.api,\n path: '/upload-instructions',\n serverURL: config.serverURL,\n })\n const getUploadHandler: UploadHandlersContext['getUploadHandler'] = ({ collectionSlug }) => {\n if (!getEntityConfig({ collectionSlug })?.upload?.uploadInstructions.useInAdmin) {\n return null\n }\n\n return async ({ docPrefix, file }) => {\n const response = await fetch(uploadInstructionsURL, {\n body: JSON.stringify({\n collectionSlug,\n docPrefix,\n filename: file.name,\n filesize: file.size,\n mimeType: file.type,\n }),\n credentials: 'include',\n headers: { 'Content-Type': 'application/json' },\n method: 'POST',\n })\n\n if (!response.ok) {\n const { errors } = (await response.json()) as { errors: { message: string }[] }\n throw new Error(errors.map(({ message }) => message).join(', '))\n }\n\n const instructions = (await response.json()) as UploadInstructions\n let uploadedFile = instructions.file\n\n if (instructions.type === 'http') {\n const { url, ...request } = instructions.request\n const upload = await fetch(url, { body: file, ...request })\n\n if (!upload.ok) {\n throw new Error(`Upload failed with status ${upload.status}`)\n }\n\n return uploadedFile\n }\n\n const result = await new Promise<unknown>((resolve, reject) => {\n const event = new CustomEvent(`payload:upload:${instructions.name}`, {\n cancelable: true,\n detail: {\n collectionSlug,\n data: instructions.data,\n docPrefix,\n file,\n reject,\n resolve,\n updateFilename: (filename: string) => {\n uploadedFile = { ...uploadedFile, filename }\n },\n },\n })\n\n if (window.dispatchEvent(event)) {\n reject(new Error(`Unsupported upload instruction: ${instructions.name}`))\n }\n })\n\n return typeof result === 'object' && result !== null\n ? { ...uploadedFile, uploadReference: result as Record<string, unknown> }\n : uploadedFile\n }\n }\n\n return <Context value={{ getUploadHandler }}>{children}</Context>\n}\n\nexport const useUploadHandlers = (): UploadHandlersContext => {\n const context = React.use(Context)\n\n if (context === null) {\n throw new Error('useUploadHandlers must be used within UploadHandlersProvider')\n }\n\n return context\n}\n"],"mappings":"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","ignoreList":[]}