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

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 (44) 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 +4 -15
  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/Thumbnail/index.d.ts +1 -1
  12. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  13. package/dist/elements/Thumbnail/index.js.map +1 -1
  14. package/dist/exports/shared/index.d.ts +0 -1
  15. package/dist/exports/shared/index.d.ts.map +1 -1
  16. package/dist/exports/shared/index.js +2 -2
  17. package/dist/exports/shared/index.js.map +4 -4
  18. package/dist/forms/Form/index.d.ts.map +1 -1
  19. package/dist/forms/Form/index.js +3 -14
  20. package/dist/forms/Form/index.js.map +1 -1
  21. package/dist/layouts/Root/index.d.ts.map +1 -1
  22. package/dist/layouts/Root/index.js +2 -4
  23. package/dist/layouts/Root/index.js.map +1 -1
  24. package/dist/providers/Theme/index.d.ts +2 -2
  25. package/dist/providers/Theme/index.d.ts.map +1 -1
  26. package/dist/providers/Theme/index.js +1 -2
  27. package/dist/providers/Theme/index.js.map +1 -1
  28. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  29. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  30. package/dist/providers/UploadHandlers/index.js +102 -42
  31. package/dist/providers/UploadHandlers/index.js.map +1 -1
  32. package/dist/utilities/getRequestTheme.d.ts +1 -1
  33. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  34. package/dist/utilities/getRequestTheme.js +1 -1
  35. package/dist/utilities/getRequestTheme.js.map +1 -1
  36. package/package.json +4 -4
  37. package/dist/providers/Theme/shared.d.ts +0 -3
  38. package/dist/providers/Theme/shared.d.ts.map +0 -1
  39. package/dist/providers/Theme/shared.js +0 -2
  40. package/dist/providers/Theme/shared.js.map +0 -1
  41. package/dist/utilities/getLanguageDir.d.ts +0 -12
  42. package/dist/utilities/getLanguageDir.d.ts.map +0 -1
  43. package/dist/utilities/getLanguageDir.js +0 -12
  44. 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) {
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
+ };
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","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,5 +1,5 @@
1
1
  import type { SanitizedConfig } from 'payload';
2
- import { type Theme } from '../providers/Theme/shared.js';
2
+ import { type Theme } from '../providers/Theme/index.js';
3
3
  type GetRequestThemeArgs = {
4
4
  config: SanitizedConfig;
5
5
  cookies: Map<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"getRequestTheme.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAEvE,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAID,eAAO,MAAM,eAAe,iCAAkC,mBAAmB,KAAG,KAkBnF,CAAA"}
1
+ {"version":3,"file":"getRequestTheme.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,6BAA6B,CAAA;AAEtE,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAID,eAAO,MAAM,eAAe,iCAAkC,mBAAmB,KAAG,KAkBnF,CAAA"}
@@ -1,4 +1,4 @@
1
- import { defaultTheme } from '../providers/Theme/shared.js';
1
+ import { defaultTheme } from '../providers/Theme/index.js';
2
2
  const acceptedThemes = ['dark', 'light'];
3
3
  export const getRequestTheme = ({
4
4
  config,
@@ -1 +1 @@
1
- {"version":3,"file":"getRequestTheme.js","names":["defaultTheme","acceptedThemes","getRequestTheme","config","cookies","headers","admin","theme","includes","themeFromCookie","get","cookiePrefix","themeFromHeader"],"sources":["../../src/utilities/getRequestTheme.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nimport { defaultTheme, type Theme } from '../providers/Theme/shared.js'\n\ntype GetRequestThemeArgs = {\n config: SanitizedConfig\n cookies: Map<string, string>\n headers: Request['headers']\n}\n\nconst acceptedThemes: Theme[] = ['dark', 'light']\n\nexport const getRequestTheme = ({ config, cookies, headers }: GetRequestThemeArgs): Theme => {\n if (config.admin.theme !== 'all' && acceptedThemes.includes(config.admin.theme)) {\n return config.admin.theme\n }\n\n const themeFromCookie = cookies.get(`${config.cookiePrefix || 'payload'}-theme`) as Theme\n\n if (themeFromCookie && acceptedThemes.includes(themeFromCookie)) {\n return themeFromCookie\n }\n\n const themeFromHeader = headers.get('Sec-CH-Prefers-Color-Scheme') as Theme\n\n if (themeFromHeader && acceptedThemes.includes(themeFromHeader)) {\n return themeFromHeader\n }\n\n return defaultTheme\n}\n"],"mappings":"AAEA,SAASA,YAAY,QAAoB;AAQzC,MAAMC,cAAA,GAA0B,CAAC,QAAQ,QAAQ;AAEjD,OAAO,MAAMC,eAAA,GAAkBA,CAAC;EAAEC,MAAM;EAAEC,OAAO;EAAEC;AAAO,CAAuB;EAC/E,IAAIF,MAAA,CAAOG,KAAK,CAACC,KAAK,KAAK,SAASN,cAAA,CAAeO,QAAQ,CAACL,MAAA,CAAOG,KAAK,CAACC,KAAK,GAAG;IAC/E,OAAOJ,MAAA,CAAOG,KAAK,CAACC,KAAK;EAC3B;EAEA,MAAME,eAAA,GAAkBL,OAAA,CAAQM,GAAG,CAAC,GAAGP,MAAA,CAAOQ,YAAY,IAAI,iBAAiB;EAE/E,IAAIF,eAAA,IAAmBR,cAAA,CAAeO,QAAQ,CAACC,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,MAAMG,eAAA,GAAkBP,OAAA,CAAQK,GAAG,CAAC;EAEpC,IAAIE,eAAA,IAAmBX,cAAA,CAAeO,QAAQ,CAACI,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,OAAOZ,YAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"getRequestTheme.js","names":["defaultTheme","acceptedThemes","getRequestTheme","config","cookies","headers","admin","theme","includes","themeFromCookie","get","cookiePrefix","themeFromHeader"],"sources":["../../src/utilities/getRequestTheme.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nimport { defaultTheme, type Theme } from '../providers/Theme/index.js'\n\ntype GetRequestThemeArgs = {\n config: SanitizedConfig\n cookies: Map<string, string>\n headers: Request['headers']\n}\n\nconst acceptedThemes: Theme[] = ['dark', 'light']\n\nexport const getRequestTheme = ({ config, cookies, headers }: GetRequestThemeArgs): Theme => {\n if (config.admin.theme !== 'all' && acceptedThemes.includes(config.admin.theme)) {\n return config.admin.theme\n }\n\n const themeFromCookie = cookies.get(`${config.cookiePrefix || 'payload'}-theme`) as Theme\n\n if (themeFromCookie && acceptedThemes.includes(themeFromCookie)) {\n return themeFromCookie\n }\n\n const themeFromHeader = headers.get('Sec-CH-Prefers-Color-Scheme') as Theme\n\n if (themeFromHeader && acceptedThemes.includes(themeFromHeader)) {\n return themeFromHeader\n }\n\n return defaultTheme\n}\n"],"mappings":"AAEA,SAASA,YAAY,QAAoB;AAQzC,MAAMC,cAAA,GAA0B,CAAC,QAAQ,QAAQ;AAEjD,OAAO,MAAMC,eAAA,GAAkBA,CAAC;EAAEC,MAAM;EAAEC,OAAO;EAAEC;AAAO,CAAuB;EAC/E,IAAIF,MAAA,CAAOG,KAAK,CAACC,KAAK,KAAK,SAASN,cAAA,CAAeO,QAAQ,CAACL,MAAA,CAAOG,KAAK,CAACC,KAAK,GAAG;IAC/E,OAAOJ,MAAA,CAAOG,KAAK,CAACC,KAAK;EAC3B;EAEA,MAAME,eAAA,GAAkBL,OAAA,CAAQM,GAAG,CAAC,GAAGP,MAAA,CAAOQ,YAAY,IAAI,iBAAiB;EAE/E,IAAIF,eAAA,IAAmBR,cAAA,CAAeO,QAAQ,CAACC,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,MAAMG,eAAA,GAAkBP,OAAA,CAAQK,GAAG,CAAC;EAEpC,IAAIE,eAAA,IAAmBX,cAAA,CAAeO,QAAQ,CAACI,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,OAAOZ,YAAA;AACT","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "4.0.0-internal.c7d5de4",
3
+ "version": "4.0.0-internal.cd69eef",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -294,7 +294,7 @@
294
294
  "ts-essentials": "10.0.3",
295
295
  "use-context-selector": "2.0.0",
296
296
  "uuid": "14.0.0",
297
- "@payloadcms/translations": "4.0.0-internal.c7d5de4"
297
+ "@payloadcms/translations": "4.0.0-internal.cd69eef"
298
298
  },
299
299
  "devDependencies": {
300
300
  "@babel/cli": "7.27.2",
@@ -309,12 +309,12 @@
309
309
  "esbuild": "0.27.1",
310
310
  "esbuild-sass-plugin": "3.3.1",
311
311
  "@payloadcms/eslint-config": "3.28.0",
312
- "payload": "4.0.0-internal.c7d5de4"
312
+ "payload": "4.0.0-internal.cd69eef"
313
313
  },
314
314
  "peerDependencies": {
315
315
  "react": "^19.0.1 || ^19.1.2 || ^19.2.1",
316
316
  "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
317
- "payload": "4.0.0-internal.c7d5de4"
317
+ "payload": "4.0.0-internal.cd69eef"
318
318
  },
319
319
  "engines": {
320
320
  "node": ">=24.15.0"
@@ -1,3 +0,0 @@
1
- export type Theme = 'dark' | 'light';
2
- export declare const defaultTheme: Theme;
3
- //# sourceMappingURL=shared.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/providers/Theme/shared.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;AAEpC,eAAO,MAAM,YAAY,EAAE,KAAe,CAAA"}
@@ -1,2 +0,0 @@
1
- export const defaultTheme = 'light';
2
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","names":["defaultTheme"],"sources":["../../../src/providers/Theme/shared.ts"],"sourcesContent":["export type Theme = 'dark' | 'light'\n\nexport const defaultTheme: Theme = 'light'\n"],"mappings":"AAEA,OAAO,MAAMA,YAAA,GAAsB","ignoreList":[]}
@@ -1,12 +0,0 @@
1
- export type Direction = 'ltr' | 'rtl';
2
- /**
3
- * Resolves the `<html dir>` value for a language code. Returns lowercase
4
- * `'ltr'`/`'rtl'` to match the `[dir='ltr']`/`[dir='rtl']` selectors the admin
5
- * stylesheet scopes its layout rules under (e.g. the document sidebar divider).
6
- * Single source of truth shared across framework adapters so the SSR'd `dir`
7
- * never diverges from what the CSS expects.
8
- */
9
- export declare const getLanguageDir: ({ languageCode }: {
10
- languageCode: string;
11
- }) => Direction;
12
- //# sourceMappingURL=getLanguageDir.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getLanguageDir.d.ts","sourceRoot":"","sources":["../../src/utilities/getLanguageDir.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAA;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,qBAAsB;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,KAAG,SACA,CAAA"}
@@ -1,12 +0,0 @@
1
- import { rtlLanguages } from '@payloadcms/translations';
2
- /**
3
- * Resolves the `<html dir>` value for a language code. Returns lowercase
4
- * `'ltr'`/`'rtl'` to match the `[dir='ltr']`/`[dir='rtl']` selectors the admin
5
- * stylesheet scopes its layout rules under (e.g. the document sidebar divider).
6
- * Single source of truth shared across framework adapters so the SSR'd `dir`
7
- * never diverges from what the CSS expects.
8
- */
9
- export const getLanguageDir = ({
10
- languageCode
11
- }) => rtlLanguages.includes(languageCode) ? 'rtl' : 'ltr';
12
- //# sourceMappingURL=getLanguageDir.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getLanguageDir.js","names":["rtlLanguages","getLanguageDir","languageCode","includes"],"sources":["../../src/utilities/getLanguageDir.ts"],"sourcesContent":["import { rtlLanguages } from '@payloadcms/translations'\n\nexport type Direction = 'ltr' | 'rtl'\n\n/**\n * Resolves the `<html dir>` value for a language code. Returns lowercase\n * `'ltr'`/`'rtl'` to match the `[dir='ltr']`/`[dir='rtl']` selectors the admin\n * stylesheet scopes its layout rules under (e.g. the document sidebar divider).\n * Single source of truth shared across framework adapters so the SSR'd `dir`\n * never diverges from what the CSS expects.\n */\nexport const getLanguageDir = ({ languageCode }: { languageCode: string }): Direction =>\n (rtlLanguages as readonly string[]).includes(languageCode) ? 'rtl' : 'ltr'\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ;AAI7B;;;;;;;AAOA,OAAO,MAAMC,cAAA,GAAiBA,CAAC;EAAEC;AAAY,CAA4B,KACvEF,YAAC,CAAmCG,QAAQ,CAACD,YAAA,IAAgB,QAAQ","ignoreList":[]}