@payloadcms/ui 3.57.0-canary.6 → 3.57.0-internal.1d2ebbc

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 (92) hide show
  1. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/FileSidebar/index.js +74 -38
  3. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/FileSidebar/index.scss +14 -1
  5. package/dist/elements/BulkUpload/FormsManager/index.d.ts +6 -1
  6. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  7. package/dist/elements/BulkUpload/FormsManager/index.js +50 -14
  8. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  9. package/dist/elements/BulkUpload/FormsManager/reducer.d.ts +2 -2
  10. package/dist/elements/BulkUpload/FormsManager/reducer.d.ts.map +1 -1
  11. package/dist/elements/BulkUpload/FormsManager/reducer.js +5 -5
  12. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  13. package/dist/elements/BulkUpload/index.d.ts +27 -3
  14. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  15. package/dist/elements/BulkUpload/index.js +117 -28
  16. package/dist/elements/BulkUpload/index.js.map +1 -1
  17. package/dist/elements/LivePreview/IFrame/index.d.ts +7 -1
  18. package/dist/elements/LivePreview/IFrame/index.d.ts.map +1 -1
  19. package/dist/elements/LivePreview/IFrame/index.js +18 -39
  20. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  21. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  22. package/dist/elements/LivePreview/Window/index.js +61 -135
  23. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  24. package/dist/elements/SearchBar/index.scss +0 -4
  25. package/dist/elements/Status/index.d.ts.map +1 -1
  26. package/dist/elements/Status/index.js +1 -1
  27. package/dist/elements/Status/index.js.map +1 -1
  28. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  29. package/dist/elements/Table/RelationshipProvider/index.js +28 -44
  30. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  31. package/dist/exports/client/index.js +24 -24
  32. package/dist/exports/client/index.js.map +4 -4
  33. package/dist/exports/rsc/index.d.ts +0 -1
  34. package/dist/exports/rsc/index.d.ts.map +1 -1
  35. package/dist/exports/rsc/index.js +0 -1
  36. package/dist/exports/rsc/index.js.map +1 -1
  37. package/dist/fields/Blocks/index.d.ts.map +1 -1
  38. package/dist/fields/Blocks/index.js +16 -36
  39. package/dist/fields/Blocks/index.js.map +1 -1
  40. package/dist/forms/Form/index.js +2 -1
  41. package/dist/forms/Form/index.js.map +1 -1
  42. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  43. package/dist/forms/Form/mergeServerFormState.js +0 -8
  44. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  45. package/dist/forms/Form/types.d.ts +2 -2
  46. package/dist/forms/Form/types.d.ts.map +1 -1
  47. package/dist/forms/Form/types.js.map +1 -1
  48. package/dist/forms/RenderFields/RenderField.js +236 -223
  49. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  50. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  51. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -32
  52. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  53. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  54. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -2
  55. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  56. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -1
  57. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +0 -2
  58. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  59. package/dist/forms/fieldSchemasToFormState/types.d.ts +0 -6
  60. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  61. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  62. package/dist/forms/useField/index.d.ts.map +1 -1
  63. package/dist/forms/useField/index.js +73 -76
  64. package/dist/forms/useField/index.js.map +1 -1
  65. package/dist/forms/useField/types.d.ts +9 -5
  66. package/dist/forms/useField/types.d.ts.map +1 -1
  67. package/dist/forms/useField/types.js.map +1 -1
  68. package/dist/providers/LivePreview/context.d.ts +2 -17
  69. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  70. package/dist/providers/LivePreview/context.js +2 -3
  71. package/dist/providers/LivePreview/context.js.map +1 -1
  72. package/dist/providers/LivePreview/index.d.ts +2 -2
  73. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  74. package/dist/providers/LivePreview/index.js +19 -33
  75. package/dist/providers/LivePreview/index.js.map +1 -1
  76. package/dist/styles.css +1 -1
  77. package/dist/utilities/buildFormState.d.ts +0 -2
  78. package/dist/utilities/buildFormState.d.ts.map +1 -1
  79. package/dist/utilities/buildFormState.js +1 -20
  80. package/dist/utilities/buildFormState.js.map +1 -1
  81. package/dist/views/Edit/index.d.ts.map +1 -1
  82. package/dist/views/Edit/index.js +10 -17
  83. package/dist/views/Edit/index.js.map +1 -1
  84. package/package.json +4 -4
  85. package/dist/utilities/formatAbsoluteURL.d.ts +0 -8
  86. package/dist/utilities/formatAbsoluteURL.d.ts.map +0 -1
  87. package/dist/utilities/formatAbsoluteURL.js +0 -15
  88. package/dist/utilities/formatAbsoluteURL.js.map +0 -1
  89. package/dist/utilities/handleLivePreview.d.ts +0 -58
  90. package/dist/utilities/handleLivePreview.d.ts.map +0 -1
  91. package/dist/utilities/handleLivePreview.js +0 -96
  92. package/dist/utilities/handleLivePreview.js.map +0 -1
@@ -2,8 +2,6 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- import { appendUploadSelectFields } from 'payload/shared';
6
- import * as qs from 'qs-esm';
7
5
  import React, { createContext, use, useCallback, useEffect, useReducer, useRef } from 'react';
8
6
  import { useDebounce } from '../../../hooks/useDebounce.js';
9
7
  import { useConfig } from '../../../providers/Config/index.js';
@@ -12,7 +10,7 @@ import { useTranslation } from '../../../providers/Translation/index.js';
12
10
  import { reducer } from './reducer.js';
13
11
  const Context = /*#__PURE__*/createContext({});
14
12
  export const RelationshipProvider = t0 => {
15
- const $ = _c(16);
13
+ const $ = _c(15);
16
14
  const {
17
15
  children
18
16
  } = t0;
@@ -29,7 +27,6 @@ export const RelationshipProvider = t0 => {
29
27
  config: t2
30
28
  } = useConfig();
31
29
  const {
32
- collections,
33
30
  routes: t3,
34
31
  serverURL
35
32
  } = t2;
@@ -44,7 +41,7 @@ export const RelationshipProvider = t0 => {
44
41
  } = useLocale();
45
42
  const prevLocale = useRef(locale);
46
43
  let t4;
47
- if ($[1] !== api || $[2] !== collections || $[3] !== debouncedDocuments || $[4] !== i18n || $[5] !== locale || $[6] !== serverURL) {
44
+ if ($[1] !== api || $[2] !== debouncedDocuments || $[3] !== i18n || $[4] !== locale || $[5] !== serverURL) {
48
45
  t4 = t5 => {
49
46
  const reloadAll = t5 === undefined ? false : t5;
50
47
  Object.entries(debouncedDocuments).forEach(async t6 => {
@@ -59,28 +56,16 @@ export const RelationshipProvider = t0 => {
59
56
  if (idsToLoad.length > 0) {
60
57
  const url = `${serverURL}${api}/${slug}`;
61
58
  const params = new URLSearchParams();
62
- const select = {};
63
59
  params.append("depth", "0");
64
60
  params.append("limit", "250");
65
- const collection = collections.find(c => c.slug === slug);
66
- if (collection.admin.enableListViewSelectAPI) {
67
- const fieldToSelect = collection.admin.useAsTitle ?? "id";
68
- select[fieldToSelect] = true;
69
- if (collection.upload) {
70
- appendUploadSelectFields({
71
- collectionConfig: collection,
72
- select
73
- });
74
- }
75
- }
76
61
  if (locale) {
77
62
  params.append("locale", locale);
78
63
  }
79
- const idsToString = idsToLoad.map(_temp);
80
- params.append("where[id][in]", idsToString.join(","));
81
- const query = `?${params.toString()}&${qs.stringify({
82
- select
83
- })}`;
64
+ if (idsToLoad && idsToLoad.length > 0) {
65
+ const idsToString = idsToLoad.map(_temp);
66
+ params.append("where[id][in]", idsToString.join(","));
67
+ }
68
+ const query = `?${params.toString()}`;
84
69
  const result = await fetch(`${url}${query}`, {
85
70
  credentials: "include",
86
71
  headers: {
@@ -109,48 +94,47 @@ export const RelationshipProvider = t0 => {
109
94
  });
110
95
  };
111
96
  $[1] = api;
112
- $[2] = collections;
113
- $[3] = debouncedDocuments;
114
- $[4] = i18n;
115
- $[5] = locale;
116
- $[6] = serverURL;
117
- $[7] = t4;
97
+ $[2] = debouncedDocuments;
98
+ $[3] = i18n;
99
+ $[4] = locale;
100
+ $[5] = serverURL;
101
+ $[6] = t4;
118
102
  } else {
119
- t4 = $[7];
103
+ t4 = $[6];
120
104
  }
121
105
  const loadRelationshipDocs = t4;
122
106
  let t5;
123
107
  let t6;
124
- if ($[8] !== loadRelationshipDocs || $[9] !== locale) {
108
+ if ($[7] !== loadRelationshipDocs || $[8] !== locale) {
125
109
  t5 = () => {
126
110
  loadRelationshipDocs(locale && prevLocale.current !== locale);
127
111
  prevLocale.current = locale;
128
112
  };
129
113
  t6 = [locale, loadRelationshipDocs];
130
- $[8] = loadRelationshipDocs;
131
- $[9] = locale;
132
- $[10] = t5;
133
- $[11] = t6;
114
+ $[7] = loadRelationshipDocs;
115
+ $[8] = locale;
116
+ $[9] = t5;
117
+ $[10] = t6;
134
118
  } else {
135
- t5 = $[10];
136
- t6 = $[11];
119
+ t5 = $[9];
120
+ t6 = $[10];
137
121
  }
138
122
  useEffect(t5, t6);
139
123
  let t7;
140
- if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
124
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
141
125
  t7 = relationships => {
142
126
  dispatchDocuments({
143
127
  type: "REQUEST",
144
128
  docs: relationships
145
129
  });
146
130
  };
147
- $[12] = t7;
131
+ $[11] = t7;
148
132
  } else {
149
- t7 = $[12];
133
+ t7 = $[11];
150
134
  }
151
135
  const getRelationships = t7;
152
136
  let t8;
153
- if ($[13] !== children || $[14] !== documents) {
137
+ if ($[12] !== children || $[13] !== documents) {
154
138
  t8 = _jsx(Context, {
155
139
  value: {
156
140
  documents,
@@ -158,11 +142,11 @@ export const RelationshipProvider = t0 => {
158
142
  },
159
143
  children
160
144
  });
161
- $[13] = children;
162
- $[14] = documents;
163
- $[15] = t8;
145
+ $[12] = children;
146
+ $[13] = documents;
147
+ $[14] = t8;
164
148
  } else {
165
- t8 = $[15];
149
+ t8 = $[14];
166
150
  }
167
151
  return t8;
168
152
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","appendUploadSelectFields","qs","React","createContext","use","useCallback","useEffect","useReducer","useRef","useDebounce","useConfig","useLocale","useTranslation","reducer","Context","RelationshipProvider","t0","$","children","t1","Symbol","for","documents","dispatchDocuments","debouncedDocuments","config","t2","collections","routes","t3","serverURL","api","i18n","code","locale","prevLocale","t4","t5","reloadAll","undefined","Object","entries","forEach","t6","slug","docs","idsToLoad","t7","id","value","push","length","url","params","URLSearchParams","select","append","collection","find","admin","enableListViewSelectAPI","fieldToSelect","useAsTitle","upload","collectionConfig","idsToString","map","_temp","join","query","toString","stringify","result","fetch","credentials","headers","language","ok","json","type","relationTo","loadRelationshipDocs","current","relationships","getRelationships","t8","_jsx","useListRelationships","id_0","String"],"sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { SelectType, TypeWithID } from 'payload'\n\nimport { appendUploadSelectFields } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useReducer, useRef } from 'react'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { reducer } from './reducer.js'\n\n// documents are first set to null when requested\n// set to false when no doc is returned\n// or set to the document returned\nexport type Documents = {\n [slug: string]: {\n [id: number | string]: false | null | TypeWithID\n }\n}\n\ntype ListRelationshipContext = {\n documents: Documents\n getRelationships: (\n docs: {\n relationTo: string\n value: number | string\n }[],\n ) => void\n}\n\nconst Context = createContext({} as ListRelationshipContext)\n\nexport const RelationshipProvider: React.FC<{ readonly children?: React.ReactNode }> = ({\n children,\n}) => {\n const [documents, dispatchDocuments] = useReducer(reducer, {})\n const debouncedDocuments = useDebounce(documents, 100)\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const loadRelationshipDocs = useCallback(\n (reloadAll = false) => {\n Object.entries(debouncedDocuments).forEach(async ([slug, docs]) => {\n const idsToLoad: (number | string)[] = []\n\n Object.entries(docs).forEach(([id, value]) => {\n if (value === null || reloadAll) {\n idsToLoad.push(id)\n }\n })\n\n if (idsToLoad.length > 0) {\n const url = `${serverURL}${api}/${slug}`\n\n const params = new URLSearchParams()\n const select: SelectType = {}\n\n params.append('depth', '0')\n params.append('limit', '250')\n\n const collection = collections.find((c) => c.slug === slug)\n if (collection.admin.enableListViewSelectAPI) {\n const fieldToSelect = collection.admin.useAsTitle ?? 'id'\n select[fieldToSelect] = true\n\n if (collection.upload) {\n appendUploadSelectFields({ collectionConfig: collection, select })\n }\n }\n\n if (locale) {\n params.append('locale', locale)\n }\n\n const idsToString = idsToLoad.map((id) => String(id))\n params.append('where[id][in]', idsToString.join(','))\n\n const query = `?${params.toString()}&${qs.stringify({ select })}`\n\n const result = await fetch(`${url}${query}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (result.ok) {\n const json = await result.json()\n if (json.docs) {\n dispatchDocuments({\n type: 'ADD_LOADED',\n docs: json.docs,\n idsToLoad,\n relationTo: slug,\n })\n }\n } else {\n dispatchDocuments({ type: 'ADD_LOADED', docs: [], idsToLoad, relationTo: slug })\n }\n }\n })\n },\n [debouncedDocuments, serverURL, api, i18n, locale, collections],\n )\n\n useEffect(() => {\n void loadRelationshipDocs(locale && prevLocale.current !== locale)\n prevLocale.current = locale\n }, [locale, loadRelationshipDocs])\n\n const getRelationships = useCallback(\n (relationships: { relationTo: string; value: number | string }[]) => {\n dispatchDocuments({ type: 'REQUEST', docs: relationships })\n },\n [],\n )\n\n return <Context value={{ documents, getRelationships }}>{children}</Context>\n}\n\nexport const useListRelationships = (): ListRelationshipContext => use(Context)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useCallback","useEffect","useReducer","useRef","useDebounce","useConfig","useLocale","useTranslation","reducer","Context","RelationshipProvider","t0","$","children","t1","Symbol","for","documents","dispatchDocuments","debouncedDocuments","config","t2","routes","t3","serverURL","api","i18n","code","locale","prevLocale","t4","t5","reloadAll","undefined","Object","entries","forEach","t6","slug","docs","idsToLoad","t7","id","value","push","length","url","params","URLSearchParams","append","idsToString","map","_temp","join","query","toString","result","fetch","credentials","headers","language","ok","json","type","relationTo","loadRelationshipDocs","current","relationships","getRelationships","t8","_jsx","useListRelationships","id_0","String"],"sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { TypeWithID } from 'payload'\n\nimport React, { createContext, use, useCallback, useEffect, useReducer, useRef } from 'react'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { reducer } from './reducer.js'\n\n// documents are first set to null when requested\n// set to false when no doc is returned\n// or set to the document returned\nexport type Documents = {\n [slug: string]: {\n [id: number | string]: false | null | TypeWithID\n }\n}\n\ntype ListRelationshipContext = {\n documents: Documents\n getRelationships: (\n docs: {\n relationTo: string\n value: number | string\n }[],\n ) => void\n}\n\nconst Context = createContext({} as ListRelationshipContext)\n\nexport const RelationshipProvider: React.FC<{ readonly children?: React.ReactNode }> = ({\n children,\n}) => {\n const [documents, dispatchDocuments] = useReducer(reducer, {})\n const debouncedDocuments = useDebounce(documents, 100)\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const loadRelationshipDocs = useCallback(\n (reloadAll = false) => {\n Object.entries(debouncedDocuments).forEach(async ([slug, docs]) => {\n const idsToLoad: (number | string)[] = []\n\n Object.entries(docs).forEach(([id, value]) => {\n if (value === null || reloadAll) {\n idsToLoad.push(id)\n }\n })\n\n if (idsToLoad.length > 0) {\n const url = `${serverURL}${api}/${slug}`\n\n const params = new URLSearchParams()\n\n params.append('depth', '0')\n params.append('limit', '250')\n\n if (locale) {\n params.append('locale', locale)\n }\n\n if (idsToLoad && idsToLoad.length > 0) {\n const idsToString = idsToLoad.map((id) => String(id))\n params.append('where[id][in]', idsToString.join(','))\n }\n\n const query = `?${params.toString()}`\n\n const result = await fetch(`${url}${query}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (result.ok) {\n const json = await result.json()\n if (json.docs) {\n dispatchDocuments({\n type: 'ADD_LOADED',\n docs: json.docs,\n idsToLoad,\n relationTo: slug,\n })\n }\n } else {\n dispatchDocuments({ type: 'ADD_LOADED', docs: [], idsToLoad, relationTo: slug })\n }\n }\n })\n },\n [debouncedDocuments, serverURL, api, i18n, locale],\n )\n\n useEffect(() => {\n void loadRelationshipDocs(locale && prevLocale.current !== locale)\n prevLocale.current = locale\n }, [locale, loadRelationshipDocs])\n\n const getRelationships = useCallback(\n (relationships: { relationTo: string; value: number | string }[]) => {\n dispatchDocuments({ type: 'REQUEST', docs: relationships })\n },\n [],\n )\n\n return <Context value={{ documents, getRelationships }}>{children}</Context>\n}\n\nexport const useListRelationships = (): ListRelationshipContext => use(Context)\n"],"mappings":"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","ignoreList":[]}