@payloadcms/ui 4.0.0-internal.cd69eef → 4.0.0-internal.cea8867

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 (69) hide show
  1. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  2. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  3. package/dist/elements/BulkUpload/FormsManager/createFormData.js +15 -4
  4. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  5. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  6. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  7. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  8. package/dist/elements/FileManager/index.d.ts +1 -1
  9. package/dist/elements/FileManager/index.d.ts.map +1 -1
  10. package/dist/elements/FileManager/index.js.map +1 -1
  11. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  12. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  13. package/dist/elements/ReactSelect/getMenuListStyles.js +5 -13
  14. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  15. package/dist/elements/ReactSelect/index.css +0 -7
  16. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  17. package/dist/elements/ReactSelect/index.js +101 -24
  18. package/dist/elements/ReactSelect/index.js.map +1 -1
  19. package/dist/elements/ReactSelect/types.d.ts +2 -1
  20. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  21. package/dist/elements/ReactSelect/types.js.map +1 -1
  22. package/dist/elements/Thumbnail/index.d.ts +1 -1
  23. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  24. package/dist/elements/Thumbnail/index.js.map +1 -1
  25. package/dist/exports/layouts.d.ts +0 -1
  26. package/dist/exports/layouts.d.ts.map +1 -1
  27. package/dist/exports/layouts.js +0 -1
  28. package/dist/exports/layouts.js.map +1 -1
  29. package/dist/forms/Form/index.d.ts.map +1 -1
  30. package/dist/forms/Form/index.js +14 -3
  31. package/dist/forms/Form/index.js.map +1 -1
  32. package/dist/layouts/Root/index.d.ts.map +1 -1
  33. package/dist/layouts/Root/index.js +4 -2
  34. package/dist/layouts/Root/index.js.map +1 -1
  35. package/dist/layouts/Root/viewport.d.ts +0 -1
  36. package/dist/layouts/Root/viewport.d.ts.map +1 -1
  37. package/dist/layouts/Root/viewport.js +1 -4
  38. package/dist/layouts/Root/viewport.js.map +1 -1
  39. package/dist/providers/Theme/index.d.ts +2 -2
  40. package/dist/providers/Theme/index.d.ts.map +1 -1
  41. package/dist/providers/Theme/index.js +2 -1
  42. package/dist/providers/Theme/index.js.map +1 -1
  43. package/dist/providers/Theme/shared.d.ts +3 -0
  44. package/dist/providers/Theme/shared.d.ts.map +1 -0
  45. package/dist/providers/Theme/shared.js +2 -0
  46. package/dist/providers/Theme/shared.js.map +1 -0
  47. package/dist/providers/UploadHandlers/index.d.ts +7 -2
  48. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  49. package/dist/providers/UploadHandlers/index.js +42 -102
  50. package/dist/providers/UploadHandlers/index.js.map +1 -1
  51. package/dist/styles.css +1 -11
  52. package/dist/utilities/getLanguageDir.d.ts +12 -0
  53. package/dist/utilities/getLanguageDir.d.ts.map +1 -0
  54. package/dist/utilities/getLanguageDir.js +12 -0
  55. package/dist/utilities/getLanguageDir.js.map +1 -0
  56. package/dist/utilities/getRequestTheme.d.ts +1 -1
  57. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  58. package/dist/utilities/getRequestTheme.js +1 -1
  59. package/dist/utilities/getRequestTheme.js.map +1 -1
  60. package/package.json +5 -6
  61. package/dist/css/z-index.css +0 -9
  62. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +0 -7
  63. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +0 -1
  64. package/dist/elements/ReactSelect/DefaultMenuPortal.js +0 -120
  65. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +0 -1
  66. package/dist/elements/ReactSelect/getMenuStyles.d.ts +0 -10
  67. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +0 -1
  68. package/dist/elements/ReactSelect/getMenuStyles.js +0 -21
  69. package/dist/elements/ReactSelect/getMenuStyles.js.map +0 -1
@@ -2,119 +2,62 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- import { formatAdminURL } from 'payload/shared';
6
- import React from 'react';
7
- import { useConfig } from '../Config/index.js';
5
+ import React, { useState } from 'react';
8
6
  const Context = /*#__PURE__*/React.createContext(null);
9
7
  export const UploadHandlersProvider = t0 => {
10
- const $ = _c(5);
8
+ const $ = _c(6);
11
9
  const {
12
10
  children
13
11
  } = t0;
14
- const {
15
- config,
16
- getEntityConfig
17
- } = useConfig();
12
+ const [uploadHandlers, setUploadHandlers] = useState(_temp);
18
13
  let t1;
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 => {
14
+ if ($[0] !== uploadHandlers) {
15
+ t1 = t2 => {
26
16
  const {
27
17
  collectionSlug
28
18
  } = t2;
29
- if (!getEntityConfig({
30
- collectionSlug
31
- })?.upload?.uploadInstructions) {
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
- directUpload: result
100
- } : uploadedFile;
101
- };
19
+ return uploadHandlers.get(collectionSlug);
102
20
  };
103
- t1 = _jsx(Context, {
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
+ });
39
+ };
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, {
104
48
  value: {
105
- getUploadHandler
49
+ getUploadHandler,
50
+ setUploadHandler
106
51
  },
107
52
  children
108
53
  });
109
- $[0] = children;
110
- $[1] = config.routes.api;
111
- $[2] = config.serverURL;
112
- $[3] = getEntityConfig;
113
- $[4] = t1;
54
+ $[3] = children;
55
+ $[4] = getUploadHandler;
56
+ $[5] = t3;
114
57
  } else {
115
- t1 = $[4];
58
+ t3 = $[5];
116
59
  }
117
- return t1;
60
+ return t3;
118
61
  };
119
62
  export const useUploadHandlers = () => {
120
63
  const context = React.use(Context);
@@ -123,10 +66,7 @@ export const useUploadHandlers = () => {
123
66
  }
124
67
  return context;
125
68
  };
126
- function _temp(t0) {
127
- const {
128
- message
129
- } = t0;
130
- return message;
69
+ function _temp() {
70
+ return new Map();
131
71
  }
132
72
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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","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","directUpload","_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) {\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, directUpload: 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":[]}
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":[]}