@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
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/fieldSchemasToFormState/types.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FieldState,\n FormState,\n Operation,\n PayloadRequest,\n SanitizedFieldPermissions,\n} from 'payload'\n\nexport type RenderFieldArgs = {\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug: string\n data: Data\n fieldConfig: Field\n fieldSchemaMap: FieldSchemaMap\n fieldState: FieldState\n /**\n * If set to true, it will force creating a clientField based on the passed fieldConfig instead of pulling\n * the client field from the clientFieldSchemaMap. This is useful if the passed fieldConfig differs from the one in the schema map,\n * e.g. when calling the render-field server function and passing a field config override.\n */\n forceCreateClientField?: boolean\n formState: FormState\n id?: number | string\n indexPath: string\n lastRenderedPath: string\n mockRSCs?: boolean\n operation: Operation\n parentPath: string\n parentSchemaPath: string\n path: string\n permissions: SanitizedFieldPermissions\n preferences: DocumentPreferences\n previousFieldState: FieldState\n readOnly?: boolean\n renderAllFields: boolean\n req: PayloadRequest\n schemaPath: string\n siblingData: Data\n}\n\nexport type RenderFieldMethod = (args: RenderFieldArgs) => void\n"],"mappings":"AA6CA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/fieldSchemasToFormState/types.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FieldState,\n FormState,\n Operation,\n PayloadRequest,\n SanitizedFieldPermissions,\n} from 'payload'\n\nexport type RenderFieldArgs = {\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug: string\n data: Data\n fieldConfig: Field\n fieldSchemaMap: FieldSchemaMap\n fieldState: FieldState\n formState: FormState\n id?: number | string\n indexPath: string\n lastRenderedPath: string\n mockRSCs?: boolean\n operation: Operation\n parentPath: string\n parentSchemaPath: string\n path: string\n permissions: SanitizedFieldPermissions\n preferences: DocumentPreferences\n previousFieldState: FieldState\n readOnly?: boolean\n renderAllFields: boolean\n req: PayloadRequest\n schemaPath: string\n siblingData: Data\n}\n\nexport type RenderFieldMethod = (args: RenderFieldArgs) => void\n"],"mappings":"AAuCA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAG3D,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpD,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AA4NlC;;;;GAIG;AACH,eAAO,MAAM,YAAY,mCAAiE,CAAA;AAE1F;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,YAAa,OAAO,KAAG,SAAS,CAAC,MAAM,CAiCrE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAG3D,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpD,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AA2NlC;;;;GAIG;AACH,eAAO,MAAM,YAAY,mCAAiE,CAAA;AAE1F;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,YAAa,OAAO,KAAG,SAAS,CAAC,MAAM,CAiCrE,CAAA"}
@@ -11,7 +11,7 @@ import { useTranslation } from '../../providers/Translation/index.js';
11
11
  import { useDocumentForm, useForm, useFormFields, useFormInitializing, useFormProcessing, useFormSubmitted } from '../Form/context.js';
12
12
  import { useFieldPath } from '../RenderFields/context.js';
13
13
  const useFieldInForm = options => {
14
- const $ = _c(65);
14
+ const $ = _c(64);
15
15
  let t0;
16
16
  if ($[0] !== options) {
17
17
  t0 = options || {};
@@ -109,40 +109,38 @@ const useFieldInForm = options => {
109
109
  t4 = $[11];
110
110
  }
111
111
  const setValue = t4;
112
- const t5 = field?.blocksFilterOptions;
113
- const t6 = field?.customComponents;
114
- const t7 = processing || initializing;
115
- const t8 = field?.errorMessage;
116
- let t9;
112
+ const t5 = field?.customComponents;
113
+ const t6 = processing || initializing;
114
+ const t7 = field?.errorMessage;
115
+ let t8;
117
116
  if ($[12] !== field?.errorPaths) {
118
- t9 = field?.errorPaths || [];
117
+ t8 = field?.errorPaths || [];
119
118
  $[12] = field?.errorPaths;
120
- $[13] = t9;
119
+ $[13] = t8;
121
120
  } else {
122
- t9 = $[13];
121
+ t8 = $[13];
123
122
  }
124
- const t10 = field?.rows;
125
- const t11 = field?.selectFilterOptions;
126
- const t12 = field?.valid;
127
- let t13;
128
- if ($[14] !== filterOptions || $[15] !== initialValue || $[16] !== initializing || $[17] !== path || $[18] !== processing || $[19] !== setValue || $[20] !== showError || $[21] !== submitted || $[22] !== t10 || $[23] !== t11 || $[24] !== t12 || $[25] !== t5 || $[26] !== t6 || $[27] !== t7 || $[28] !== t8 || $[29] !== t9 || $[30] !== value) {
129
- t13 = {
130
- blocksFilterOptions: t5,
131
- customComponents: t6,
132
- disabled: t7,
133
- errorMessage: t8,
134
- errorPaths: t9,
123
+ const t9 = field?.rows;
124
+ const t10 = field?.selectFilterOptions;
125
+ const t11 = field?.valid;
126
+ let t12;
127
+ if ($[14] !== filterOptions || $[15] !== initialValue || $[16] !== initializing || $[17] !== path || $[18] !== processing || $[19] !== setValue || $[20] !== showError || $[21] !== submitted || $[22] !== t10 || $[23] !== t11 || $[24] !== t5 || $[25] !== t6 || $[26] !== t7 || $[27] !== t8 || $[28] !== t9 || $[29] !== value) {
128
+ t12 = {
129
+ customComponents: t5,
130
+ disabled: t6,
131
+ errorMessage: t7,
132
+ errorPaths: t8,
135
133
  filterOptions,
136
134
  formInitializing: initializing,
137
135
  formProcessing: processing,
138
136
  formSubmitted: submitted,
139
137
  initialValue,
140
138
  path,
141
- rows: t10,
142
- selectFilterOptions: t11,
139
+ rows: t9,
140
+ selectFilterOptions: t10,
143
141
  setValue,
144
142
  showError,
145
- valid: t12,
143
+ valid: t11,
146
144
  value
147
145
  };
148
146
  $[14] = filterOptions;
@@ -155,21 +153,20 @@ const useFieldInForm = options => {
155
153
  $[21] = submitted;
156
154
  $[22] = t10;
157
155
  $[23] = t11;
158
- $[24] = t12;
159
- $[25] = t5;
160
- $[26] = t6;
161
- $[27] = t7;
162
- $[28] = t8;
163
- $[29] = t9;
164
- $[30] = value;
165
- $[31] = t13;
156
+ $[24] = t5;
157
+ $[25] = t6;
158
+ $[26] = t7;
159
+ $[27] = t8;
160
+ $[28] = t9;
161
+ $[29] = value;
162
+ $[30] = t12;
166
163
  } else {
167
- t13 = $[31];
164
+ t12 = $[30];
168
165
  }
169
- const result = t13;
170
- let t14;
171
- if ($[32] !== collectionSlug || $[33] !== config || $[34] !== disableFormData || $[35] !== dispatchField || $[36] !== documentForm || $[37] !== field || $[38] !== getData || $[39] !== getDataByPath || $[40] !== getSiblingData || $[41] !== hasRows || $[42] !== id || $[43] !== operation || $[44] !== path || $[45] !== pathSegments || $[46] !== t || $[47] !== user || $[48] !== validate || $[49] !== value) {
172
- t14 = () => {
166
+ const result = t12;
167
+ let t13;
168
+ if ($[31] !== collectionSlug || $[32] !== config || $[33] !== disableFormData || $[34] !== dispatchField || $[35] !== documentForm || $[36] !== field || $[37] !== getData || $[38] !== getDataByPath || $[39] !== getSiblingData || $[40] !== hasRows || $[41] !== id || $[42] !== operation || $[43] !== path || $[44] !== pathSegments || $[45] !== t || $[46] !== user || $[47] !== validate || $[48] !== value) {
169
+ t13 = () => {
173
170
  const validateField = async () => {
174
171
  let valueToValidate = value;
175
172
  if (field?.rows && Array.isArray(field.rows)) {
@@ -227,50 +224,50 @@ const useFieldInForm = options => {
227
224
  };
228
225
  validateField();
229
226
  };
230
- $[32] = collectionSlug;
231
- $[33] = config;
232
- $[34] = disableFormData;
233
- $[35] = dispatchField;
234
- $[36] = documentForm;
235
- $[37] = field;
236
- $[38] = getData;
237
- $[39] = getDataByPath;
238
- $[40] = getSiblingData;
239
- $[41] = hasRows;
240
- $[42] = id;
241
- $[43] = operation;
242
- $[44] = path;
243
- $[45] = pathSegments;
244
- $[46] = t;
245
- $[47] = user;
246
- $[48] = validate;
247
- $[49] = value;
248
- $[50] = t14;
227
+ $[31] = collectionSlug;
228
+ $[32] = config;
229
+ $[33] = disableFormData;
230
+ $[34] = dispatchField;
231
+ $[35] = documentForm;
232
+ $[36] = field;
233
+ $[37] = getData;
234
+ $[38] = getDataByPath;
235
+ $[39] = getSiblingData;
236
+ $[40] = hasRows;
237
+ $[41] = id;
238
+ $[42] = operation;
239
+ $[43] = path;
240
+ $[44] = pathSegments;
241
+ $[45] = t;
242
+ $[46] = user;
243
+ $[47] = validate;
244
+ $[48] = value;
245
+ $[49] = t13;
249
246
  } else {
250
- t14 = $[50];
247
+ t13 = $[49];
251
248
  }
252
- const t15 = field?.rows;
253
- let t16;
254
- if ($[51] !== collectionSlug || $[52] !== disableFormData || $[53] !== dispatchField || $[54] !== getData || $[55] !== getDataByPath || $[56] !== getSiblingData || $[57] !== id || $[58] !== operation || $[59] !== path || $[60] !== t15 || $[61] !== user || $[62] !== validate || $[63] !== value) {
255
- t16 = [value, disableFormData, dispatchField, getData, getSiblingData, getDataByPath, id, operation, path, user, validate, t15, collectionSlug];
256
- $[51] = collectionSlug;
257
- $[52] = disableFormData;
258
- $[53] = dispatchField;
259
- $[54] = getData;
260
- $[55] = getDataByPath;
261
- $[56] = getSiblingData;
262
- $[57] = id;
263
- $[58] = operation;
264
- $[59] = path;
265
- $[60] = t15;
266
- $[61] = user;
267
- $[62] = validate;
268
- $[63] = value;
269
- $[64] = t16;
249
+ const t14 = field?.rows;
250
+ let t15;
251
+ if ($[50] !== collectionSlug || $[51] !== disableFormData || $[52] !== dispatchField || $[53] !== getData || $[54] !== getDataByPath || $[55] !== getSiblingData || $[56] !== id || $[57] !== operation || $[58] !== path || $[59] !== t14 || $[60] !== user || $[61] !== validate || $[62] !== value) {
252
+ t15 = [value, disableFormData, dispatchField, getData, getSiblingData, getDataByPath, id, operation, path, user, validate, t14, collectionSlug];
253
+ $[50] = collectionSlug;
254
+ $[51] = disableFormData;
255
+ $[52] = dispatchField;
256
+ $[53] = getData;
257
+ $[54] = getDataByPath;
258
+ $[55] = getSiblingData;
259
+ $[56] = id;
260
+ $[57] = operation;
261
+ $[58] = path;
262
+ $[59] = t14;
263
+ $[60] = user;
264
+ $[61] = validate;
265
+ $[62] = value;
266
+ $[63] = t15;
270
267
  } else {
271
- t16 = $[64];
268
+ t15 = $[63];
272
269
  }
273
- useThrottledEffect(t14, 150, t16);
270
+ useThrottledEffect(t13, 150, t15);
274
271
  return result;
275
272
  };
276
273
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useDocumentForm","useForm","useFormFields","useFormInitializing","useFormProcessing","useFormSubmitted","useFieldPath","useFieldInForm","options","$","t0","disableFormData","t1","hasRows","path","pathFromOptions","potentiallyStalePath","validate","undefined","pathFromContext","submitted","processing","initializing","user","id","collectionSlug","operation","dispatchField","_temp","t2","t3","fields","field","t","config","getData","getDataByPath","getSiblingData","setModified","documentForm","filterOptions","value","initialValue","valid","showError","prevValid","prevErrorMessage","errorMessage","split","pathSegments","t4","e","t5","disableModifyingForm","isEvent","preventDefault","stopPropagation","val","target","type","setValue","blocksFilterOptions","t6","customComponents","t7","t8","t9","errorPaths","t10","rows","t11","selectFilterOptions","t12","t13","disabled","formInitializing","formProcessing","formSubmitted","result","t14","validateField","valueToValidate","Array","isArray","current","valid_0","data","isValid","blockData","event","preferences","req","payload","siblingData","update","t15","t16","FieldContext","createContext","useField","fieldContext","use","hasFieldContext","currentPath","Error","dispatch"],"sources":["../../../src/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest } from 'payload'\n\nimport React, { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport {\n useDocumentForm,\n useForm,\n useFormFields,\n useFormInitializing,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\nimport { useFieldPath } from '../RenderFields/context.js'\n\nconst useFieldInForm = <TValue,>(options?: Options): FieldType<TValue> => {\n const {\n disableFormData = false,\n hasRows,\n path: pathFromOptions,\n potentiallyStalePath,\n validate,\n } = options || {}\n\n const pathFromContext = useFieldPath()\n\n // This is a workaround for stale props given to server rendered components.\n // See the notes in the `potentiallyStalePath` type definition for more details.\n const path = pathFromOptions || pathFromContext || potentiallyStalePath\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n const { user } = useAuth()\n const { id, collectionSlug } = useDocumentInfo()\n const operation = useOperation()\n\n const dispatchField = useFormFields(([_, dispatch]) => dispatch)\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { t } = useTranslation()\n const { config } = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const documentForm = useDocumentForm()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as TValue\n const initialValue = field?.initialValue as TValue\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n const prevErrorMessage = useRef(field?.errorMessage)\n\n const pathSegments = path ? path.split('.') : []\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n // TODO:\n // There are no built-in fields that pass events into `e`.\n // Remove this check in the next major version.\n const isEvent =\n e &&\n typeof e === 'object' &&\n typeof e.preventDefault === 'function' &&\n typeof e.stopPropagation === 'function'\n\n const val = isEvent ? e.target.value : e\n\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n setModified(true)\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<TValue> = useMemo(\n () => ({\n blocksFilterOptions: field?.blocksFilterOptions,\n customComponents: field?.customComponents,\n disabled: processing || initializing,\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formInitializing: initializing,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n rows: field?.rows,\n selectFilterOptions: field?.selectFilterOptions,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n filterOptions,\n initializing,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined = prevErrorMessage.current\n let valid: boolean | string = prevValid.current\n\n const data = getData()\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n blockData: undefined, // Will be expensive to get - not worth to pass to client-side validation, as this can be obtained by the user using `useFormFields()`\n collectionSlug,\n data: documentForm?.getData ? documentForm.getData() : data,\n event: 'onChange',\n operation,\n path: pathSegments,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: getSiblingData(path),\n })\n : typeof prevErrorMessage.current === 'string'\n ? prevErrorMessage.current\n : prevValid.current\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current || errorMessage !== prevErrorMessage.current) {\n prevValid.current = valid\n prevErrorMessage.current = errorMessage\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n collectionSlug,\n ],\n )\n\n return result\n}\n\n/**\n * Context to allow providing useField value for fields directly, if managed outside the Form\n *\n * @experimental\n */\nexport const FieldContext = React.createContext<FieldType<unknown> | undefined>(undefined)\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/react-hooks#usefield\n */\nexport const useField = <TValue,>(options?: Options): FieldType<TValue> => {\n const pathFromContext = useFieldPath()\n\n const fieldContext = React.use(FieldContext) as FieldType<TValue> | undefined\n\n // Lock the mode on first render so hook order is stable forever. This ensures\n // that hooks are called in the same order each time a component renders => should\n // not break the rule of hooks.\n const hasFieldContext = React.useRef<false | null | true>(null)\n if (hasFieldContext.current === null) {\n // Use field context, if a field context exists **and** the path matches. If the path\n // does not match, this could be the field context of a parent field => there likely is\n // a nested <Form /> we should use instead => 'form'\n const currentPath = options?.path || pathFromContext || options.potentiallyStalePath\n\n hasFieldContext.current =\n fieldContext && currentPath && fieldContext.path === currentPath ? true : false\n }\n\n if (hasFieldContext.current === true) {\n if (!fieldContext) {\n // Provider was removed after mount. That violates hook guarantees.\n throw new Error('FieldContext was removed after mount. This breaks hook ordering.')\n }\n return fieldContext\n }\n\n // We intentionally guard this hook call with a mode that is fixed on first render.\n // The order is consistent across renders. Silence the linter’s false positive.\n\n // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useFieldInForm<TValue>(options)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useDocumentForm","useForm","useFormFields","useFormInitializing","useFormProcessing","useFormSubmitted","useFieldPath","useFieldInForm","options","$","t0","disableFormData","t1","hasRows","path","pathFromOptions","potentiallyStalePath","validate","undefined","pathFromContext","submitted","processing","initializing","user","id","collectionSlug","operation","dispatchField","_temp","t2","t3","fields","field","t","config","getData","getDataByPath","getSiblingData","setModified","documentForm","filterOptions","value","initialValue","valid","showError","prevValid","prevErrorMessage","errorMessage","split","pathSegments","t4","e","t5","disableModifyingForm","isEvent","preventDefault","stopPropagation","val","target","type","setValue","customComponents","t6","t7","t8","errorPaths","t9","rows","t10","selectFilterOptions","t11","t12","disabled","formInitializing","formProcessing","formSubmitted","result","t13","validateField","valueToValidate","Array","isArray","current","valid_0","data","isValid","blockData","event","preferences","req","payload","siblingData","update","t14","t15","FieldContext","createContext","useField","fieldContext","use","hasFieldContext","currentPath","Error","dispatch"],"sources":["../../../src/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest } from 'payload'\n\nimport React, { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport {\n useDocumentForm,\n useForm,\n useFormFields,\n useFormInitializing,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\nimport { useFieldPath } from '../RenderFields/context.js'\n\nconst useFieldInForm = <TValue,>(options?: Options): FieldType<TValue> => {\n const {\n disableFormData = false,\n hasRows,\n path: pathFromOptions,\n potentiallyStalePath,\n validate,\n } = options || {}\n\n const pathFromContext = useFieldPath()\n\n // This is a workaround for stale props given to server rendered components.\n // See the notes in the `potentiallyStalePath` type definition for more details.\n const path = pathFromOptions || pathFromContext || potentiallyStalePath\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n const { user } = useAuth()\n const { id, collectionSlug } = useDocumentInfo()\n const operation = useOperation()\n\n const dispatchField = useFormFields(([_, dispatch]) => dispatch)\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { t } = useTranslation()\n const { config } = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const documentForm = useDocumentForm()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as TValue\n const initialValue = field?.initialValue as TValue\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n const prevErrorMessage = useRef(field?.errorMessage)\n\n const pathSegments = path ? path.split('.') : []\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n // TODO:\n // There are no built-in fields that pass events into `e`.\n // Remove this check in the next major version.\n const isEvent =\n e &&\n typeof e === 'object' &&\n typeof e.preventDefault === 'function' &&\n typeof e.stopPropagation === 'function'\n\n const val = isEvent ? e.target.value : e\n\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n setModified(true)\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<TValue> = useMemo(\n () => ({\n customComponents: field?.customComponents,\n disabled: processing || initializing,\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formInitializing: initializing,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n rows: field?.rows,\n selectFilterOptions: field?.selectFilterOptions,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n filterOptions,\n initializing,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined = prevErrorMessage.current\n let valid: boolean | string = prevValid.current\n\n const data = getData()\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n blockData: undefined, // Will be expensive to get - not worth to pass to client-side validation, as this can be obtained by the user using `useFormFields()`\n collectionSlug,\n data: documentForm?.getData ? documentForm.getData() : data,\n event: 'onChange',\n operation,\n path: pathSegments,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: getSiblingData(path),\n })\n : typeof prevErrorMessage.current === 'string'\n ? prevErrorMessage.current\n : prevValid.current\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current || errorMessage !== prevErrorMessage.current) {\n prevValid.current = valid\n prevErrorMessage.current = errorMessage\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n collectionSlug,\n ],\n )\n\n return result\n}\n\n/**\n * Context to allow providing useField value for fields directly, if managed outside the Form\n *\n * @experimental\n */\nexport const FieldContext = React.createContext<FieldType<unknown> | undefined>(undefined)\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/react-hooks#usefield\n */\nexport const useField = <TValue,>(options?: Options): FieldType<TValue> => {\n const pathFromContext = useFieldPath()\n\n const fieldContext = React.use(FieldContext) as FieldType<TValue> | undefined\n\n // Lock the mode on first render so hook order is stable forever. This ensures\n // that hooks are called in the same order each time a component renders => should\n // not break the rule of hooks.\n const hasFieldContext = React.useRef<false | null | true>(null)\n if (hasFieldContext.current === null) {\n // Use field context, if a field context exists **and** the path matches. If the path\n // does not match, this could be the field context of a parent field => there likely is\n // a nested <Form /> we should use instead => 'form'\n const currentPath = options?.path || pathFromContext || options.potentiallyStalePath\n\n hasFieldContext.current =\n fieldContext && currentPath && fieldContext.path === currentPath ? true : false\n }\n\n if (hasFieldContext.current === true) {\n if (!fieldContext) {\n // Provider was removed after mount. That violates hook guarantees.\n throw new Error('FieldContext was removed after mount. This breaks hook ordering.')\n }\n return fieldContext\n }\n\n // We intentionally guard this hook call with a mode that is fixed on first render.\n // The order is consistent across renders. Silence the linter’s false positive.\n\n // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useFieldInForm<TValue>(options)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { FieldState, Validate } from 'payload';
1
+ import type { FieldState, FilterOptionsResult, Option, Row, Validate } from 'payload';
2
2
  export type Options = {
3
3
  disableFormData?: boolean;
4
4
  hasRows?: boolean;
@@ -26,18 +26,22 @@ export type Options = {
26
26
  validate?: Validate;
27
27
  };
28
28
  export type FieldType<T> = {
29
+ customComponents?: FieldState['customComponents'];
29
30
  disabled: boolean;
31
+ errorMessage?: string;
32
+ errorPaths?: string[];
33
+ filterOptions?: FilterOptionsResult;
30
34
  formInitializing: boolean;
31
35
  formProcessing: boolean;
32
36
  formSubmitted: boolean;
33
37
  initialValue?: T;
34
38
  path: string;
35
- /**
36
- * @deprecated - readOnly is no longer returned from useField. Remove this in 4.0.
37
- */
38
39
  readOnly?: boolean;
40
+ rows?: Row[];
41
+ selectFilterOptions?: Option[];
39
42
  setValue: (val: unknown, disableModifyingForm?: boolean) => void;
40
43
  showError: boolean;
44
+ valid?: boolean;
41
45
  value: T;
42
- } & Pick<FieldState, 'blocksFilterOptions' | 'customComponents' | 'errorMessage' | 'errorPaths' | 'filterOptions' | 'rows' | 'selectFilterOptions' | 'valid'>;
46
+ };
43
47
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEnD,MAAM,MAAM,OAAO,GAAG;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAChE,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,CAAC,CAAA;CACT,GAAG,IAAI,CACN,UAAU,EACR,qBAAqB,GACrB,kBAAkB,GAClB,cAAc,GACd,YAAY,GACZ,eAAe,GACf,MAAM,GACN,qBAAqB,GACrB,OAAO,CACV,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAErF,MAAM,MAAM,OAAO,GAAG;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,gBAAgB,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAA;IACjD,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAChE,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,CAAC,CAAA;CACT,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/useField/types.ts"],"sourcesContent":["import type { FieldState, Validate } from 'payload'\n\nexport type Options = {\n disableFormData?: boolean\n hasRows?: boolean\n /**\n * If `path` is provided to this hook, it will be used outright. This is useful when calling this hook directly within a custom component.\n * Otherwise, the field will attempt to get the path from the `FieldPathContext` via the `useFieldPath` hook.\n * If still not found, the `potentiallyStalePath` arg will be used. See the note below about why this is important.\n */\n path?: string\n /**\n * Custom server components receive a static `path` prop at render-time, leading to temporarily stale paths when re-ordering rows in form state.\n * This is because when manipulating rows, field paths change in form state, but the prop remains the same until the component is re-rendered on the server.\n * This causes the component to temporarily point to the wrong field in form state until the server responds with a freshly rendered component.\n * To prevent this, fields are wrapped with a `FieldPathContext` which is guaranteed to be up-to-date.\n * The `path` prop that Payload's default fields receive, then, are sent into this hook as the `potentiallyStalePath` arg.\n * This ensures that:\n * 1. Custom components that use this hook directly will still respect the `path` prop as top priority.\n * 2. Custom server components that blindly spread their props into default Payload fields still prefer the dynamic path from context.\n * 3. Components that render default Payload fields directly do not require a `FieldPathProvider`, e.g. the email field in the account view.\n */\n potentiallyStalePath?: string\n /**\n * Client-side validation function fired when the form is submitted.\n */\n validate?: Validate\n}\n\nexport type FieldType<T> = {\n disabled: boolean\n formInitializing: boolean\n formProcessing: boolean\n formSubmitted: boolean\n initialValue?: T\n path: string\n /**\n * @deprecated - readOnly is no longer returned from useField. Remove this in 4.0.\n */\n readOnly?: boolean\n setValue: (val: unknown, disableModifyingForm?: boolean) => void\n showError: boolean\n value: T\n} & Pick<\n FieldState,\n | 'blocksFilterOptions'\n | 'customComponents'\n | 'errorMessage'\n | 'errorPaths'\n | 'filterOptions'\n | 'rows'\n | 'selectFilterOptions'\n | 'valid'\n>\n"],"mappings":"AA6BA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/useField/types.ts"],"sourcesContent":["import type { FieldState, FilterOptionsResult, Option, Row, Validate } from 'payload'\n\nexport type Options = {\n disableFormData?: boolean\n hasRows?: boolean\n /**\n * If `path` is provided to this hook, it will be used outright. This is useful when calling this hook directly within a custom component.\n * Otherwise, the field will attempt to get the path from the `FieldPathContext` via the `useFieldPath` hook.\n * If still not found, the `potentiallyStalePath` arg will be used. See the note below about why this is important.\n */\n path?: string\n /**\n * Custom server components receive a static `path` prop at render-time, leading to temporarily stale paths when re-ordering rows in form state.\n * This is because when manipulating rows, field paths change in form state, but the prop remains the same until the component is re-rendered on the server.\n * This causes the component to temporarily point to the wrong field in form state until the server responds with a freshly rendered component.\n * To prevent this, fields are wrapped with a `FieldPathContext` which is guaranteed to be up-to-date.\n * The `path` prop that Payload's default fields receive, then, are sent into this hook as the `potentiallyStalePath` arg.\n * This ensures that:\n * 1. Custom components that use this hook directly will still respect the `path` prop as top priority.\n * 2. Custom server components that blindly spread their props into default Payload fields still prefer the dynamic path from context.\n * 3. Components that render default Payload fields directly do not require a `FieldPathProvider`, e.g. the email field in the account view.\n */\n potentiallyStalePath?: string\n /**\n * Client-side validation function fired when the form is submitted.\n */\n validate?: Validate\n}\n\nexport type FieldType<T> = {\n customComponents?: FieldState['customComponents']\n disabled: boolean\n errorMessage?: string\n errorPaths?: string[]\n filterOptions?: FilterOptionsResult\n formInitializing: boolean\n formProcessing: boolean\n formSubmitted: boolean\n initialValue?: T\n path: string\n readOnly?: boolean\n rows?: Row[]\n selectFilterOptions?: Option[]\n setValue: (val: unknown, disableModifyingForm?: boolean) => void\n showError: boolean\n valid?: boolean\n value: T\n}\n"],"mappings":"AA6BA","ignoreList":[]}
@@ -7,17 +7,12 @@ export interface LivePreviewContextType {
7
7
  appIsReady: boolean;
8
8
  breakpoint: LivePreviewConfig['breakpoints'][number]['name'];
9
9
  breakpoints: LivePreviewConfig['breakpoints'];
10
+ iframeHasLoaded: boolean;
10
11
  iframeRef: React.RefObject<HTMLIFrameElement | null>;
11
12
  isLivePreviewEnabled: boolean;
12
13
  isLivePreviewing: boolean;
13
14
  isPopupOpen: boolean;
14
15
  listeningForMessages?: boolean;
15
- /**
16
- * The URL that has finished loading in the iframe or popup.
17
- * For example, if you set the `url`, it will begin to load into the iframe,
18
- * but `loadedURL` will not be set until the iframe's `onLoad` event fires.
19
- */
20
- loadedURL?: string;
21
16
  measuredDeviceSize: {
22
17
  height: number;
23
18
  width: number;
@@ -28,8 +23,8 @@ export interface LivePreviewContextType {
28
23
  setAppIsReady: (appIsReady: boolean) => void;
29
24
  setBreakpoint: (breakpoint: LivePreviewConfig['breakpoints'][number]['name']) => void;
30
25
  setHeight: (height: number) => void;
26
+ setIframeHasLoaded: (loaded: boolean) => void;
31
27
  setIsLivePreviewing: (isLivePreviewing: boolean) => void;
32
- setLoadedURL: (loadedURL: string) => void;
33
28
  setMeasuredDeviceSize: (size: {
34
29
  height: number;
35
30
  width: number;
@@ -40,11 +35,6 @@ export interface LivePreviewContextType {
40
35
  x: number;
41
36
  y: number;
42
37
  }) => void;
43
- /**
44
- * Sets the URL of the preview (either iframe or popup).
45
- * Will trigger a reload of the window.
46
- */
47
- setURL: (url: string) => void;
48
38
  setWidth: (width: number) => void;
49
39
  setZoom: (zoom: number) => void;
50
40
  size: {
@@ -55,11 +45,6 @@ export interface LivePreviewContextType {
55
45
  x: number;
56
46
  y: number;
57
47
  };
58
- /**
59
- * The live preview url property can be either a string or a function that returns a string.
60
- * It is important to know which one it is, so that we can opt in/out of certain behaviors, e.g. calling the server to get the URL.
61
- */
62
- typeofLivePreviewURL?: 'function' | 'string';
63
48
  url: string | undefined;
64
49
  zoom: number;
65
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/providers/LivePreview/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;IAC5D,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC7C,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IACpD,oBAAoB,EAAE,OAAO,CAAA;IAC7B,gBAAgB,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,OAAO,CAAA;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE;QAClB,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,iBAAiB,CAAC,CAAA;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,CAAA;IACzC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,CAAA;IACrC,aAAa,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,aAAa,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACrF,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,mBAAmB,EAAE,CAAC,gBAAgB,EAAE,OAAO,KAAK,IAAI,CAAA;IACxD,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,qBAAqB,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACxE,oBAAoB,EAAE,CAAC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAA;IACrE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IACpC,kBAAkB,EAAE,CAAC,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAChE;;;OAGG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,eAAe,EAAE;QACf,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;KACV,CAAA;IACD;;;OAGG;IACH,oBAAoB,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAA;IAC5C,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,kBAAkB,uCAsC7B,CAAA;AAEF,eAAO,MAAM,qBAAqB,8BAAgC,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/providers/LivePreview/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;IAC5D,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC7C,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IACpD,oBAAoB,EAAE,OAAO,CAAA;IAC7B,gBAAgB,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,OAAO,CAAA;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,EAAE;QAClB,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,iBAAiB,CAAC,CAAA;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,CAAA;IACzC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,CAAA;IACrC,aAAa,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,aAAa,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACrF,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,kBAAkB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7C,mBAAmB,EAAE,CAAC,gBAAgB,EAAE,OAAO,KAAK,IAAI,CAAA;IACxD,qBAAqB,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACxE,oBAAoB,EAAE,CAAC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAA;IACrE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IACpC,kBAAkB,EAAE,CAAC,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAChE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,eAAe,EAAE;QACf,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;KACV,CAAA;IACD,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,kBAAkB,uCAqC7B,CAAA;AAEF,eAAO,MAAM,qBAAqB,8BAAgC,CAAA"}
@@ -5,6 +5,7 @@ export const LivePreviewContext = createContext({
5
5
  appIsReady: false,
6
6
  breakpoint: undefined,
7
7
  breakpoints: undefined,
8
+ iframeHasLoaded: false,
8
9
  iframeRef: undefined,
9
10
  isLivePreviewEnabled: undefined,
10
11
  isLivePreviewing: false,
@@ -19,13 +20,12 @@ export const LivePreviewContext = createContext({
19
20
  setAppIsReady: () => {},
20
21
  setBreakpoint: () => {},
21
22
  setHeight: () => {},
23
+ setIframeHasLoaded: () => {},
22
24
  setIsLivePreviewing: () => {},
23
- setLoadedURL: () => {},
24
25
  setMeasuredDeviceSize: () => {},
25
26
  setPreviewWindowType: () => {},
26
27
  setSize: () => {},
27
28
  setToolbarPosition: () => {},
28
- setURL: () => {},
29
29
  setWidth: () => {},
30
30
  setZoom: () => {},
31
31
  size: {
@@ -36,7 +36,6 @@ export const LivePreviewContext = createContext({
36
36
  x: 0,
37
37
  y: 0
38
38
  },
39
- typeofLivePreviewURL: undefined,
40
39
  url: undefined,
41
40
  zoom: 1
42
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["createContext","use","LivePreviewContext","appIsReady","breakpoint","undefined","breakpoints","iframeRef","isLivePreviewEnabled","isLivePreviewing","isPopupOpen","measuredDeviceSize","height","width","openPopupWindow","popupRef","previewWindowType","setAppIsReady","setBreakpoint","setHeight","setIsLivePreviewing","setLoadedURL","setMeasuredDeviceSize","setPreviewWindowType","setSize","setToolbarPosition","setURL","setWidth","setZoom","size","toolbarPosition","x","y","typeofLivePreviewURL","url","zoom","useLivePreviewContext"],"sources":["../../../src/providers/LivePreview/context.ts"],"sourcesContent":["'use client'\nimport type { LivePreviewConfig } from 'payload'\nimport type { Dispatch } from 'react'\nimport type React from 'react'\n\nimport { createContext, use } from 'react'\n\nimport type { usePopupWindow } from '../../hooks/usePopupWindow.js'\nimport type { SizeReducerAction } from './sizeReducer.js'\n\nexport interface LivePreviewContextType {\n appIsReady: boolean\n breakpoint: LivePreviewConfig['breakpoints'][number]['name']\n breakpoints: LivePreviewConfig['breakpoints']\n iframeRef: React.RefObject<HTMLIFrameElement | null>\n isLivePreviewEnabled: boolean\n isLivePreviewing: boolean\n isPopupOpen: boolean\n listeningForMessages?: boolean\n /**\n * The URL that has finished loading in the iframe or popup.\n * For example, if you set the `url`, it will begin to load into the iframe,\n * but `loadedURL` will not be set until the iframe's `onLoad` event fires.\n */\n loadedURL?: string\n measuredDeviceSize: {\n height: number\n width: number\n }\n openPopupWindow: ReturnType<typeof usePopupWindow>['openPopupWindow']\n popupRef?: React.RefObject<null | Window>\n previewWindowType: 'iframe' | 'popup'\n setAppIsReady: (appIsReady: boolean) => void\n setBreakpoint: (breakpoint: LivePreviewConfig['breakpoints'][number]['name']) => void\n setHeight: (height: number) => void\n setIsLivePreviewing: (isLivePreviewing: boolean) => void\n setLoadedURL: (loadedURL: string) => void\n setMeasuredDeviceSize: (size: { height: number; width: number }) => void\n setPreviewWindowType: (previewWindowType: 'iframe' | 'popup') => void\n setSize: Dispatch<SizeReducerAction>\n setToolbarPosition: (position: { x: number; y: number }) => void\n /**\n * Sets the URL of the preview (either iframe or popup).\n * Will trigger a reload of the window.\n */\n setURL: (url: string) => void\n setWidth: (width: number) => void\n setZoom: (zoom: number) => void\n size: {\n height: number\n width: number\n }\n toolbarPosition: {\n x: number\n y: number\n }\n /**\n * The live preview url property can be either a string or a function that returns a string.\n * It is important to know which one it is, so that we can opt in/out of certain behaviors, e.g. calling the server to get the URL.\n */\n typeofLivePreviewURL?: 'function' | 'string'\n url: string | undefined\n zoom: number\n}\n\nexport const LivePreviewContext = createContext<LivePreviewContextType>({\n appIsReady: false,\n breakpoint: undefined,\n breakpoints: undefined,\n iframeRef: undefined,\n isLivePreviewEnabled: undefined,\n isLivePreviewing: false,\n isPopupOpen: false,\n measuredDeviceSize: {\n height: 0,\n width: 0,\n },\n openPopupWindow: () => {},\n popupRef: undefined,\n previewWindowType: 'iframe',\n setAppIsReady: () => {},\n setBreakpoint: () => {},\n setHeight: () => {},\n setIsLivePreviewing: () => {},\n setLoadedURL: () => {},\n setMeasuredDeviceSize: () => {},\n setPreviewWindowType: () => {},\n setSize: () => {},\n setToolbarPosition: () => {},\n setURL: () => {},\n setWidth: () => {},\n setZoom: () => {},\n size: {\n height: 0,\n width: 0,\n },\n toolbarPosition: {\n x: 0,\n y: 0,\n },\n typeofLivePreviewURL: undefined,\n url: undefined,\n zoom: 1,\n})\n\nexport const useLivePreviewContext = () => use(LivePreviewContext)\n"],"mappings":"AAAA;;AAKA,SAASA,aAAa,EAAEC,GAAG,QAAQ;AA4DnC,OAAO,MAAMC,kBAAA,GAAqBF,aAAA,CAAsC;EACtEG,UAAA,EAAY;EACZC,UAAA,EAAYC,SAAA;EACZC,WAAA,EAAaD,SAAA;EACbE,SAAA,EAAWF,SAAA;EACXG,oBAAA,EAAsBH,SAAA;EACtBI,gBAAA,EAAkB;EAClBC,WAAA,EAAa;EACbC,kBAAA,EAAoB;IAClBC,MAAA,EAAQ;IACRC,KAAA,EAAO;EACT;EACAC,eAAA,EAAiBA,CAAA,MAAO;EACxBC,QAAA,EAAUV,SAAA;EACVW,iBAAA,EAAmB;EACnBC,aAAA,EAAeA,CAAA,MAAO;EACtBC,aAAA,EAAeA,CAAA,MAAO;EACtBC,SAAA,EAAWA,CAAA,MAAO;EAClBC,mBAAA,EAAqBA,CAAA,MAAO;EAC5BC,YAAA,EAAcA,CAAA,MAAO;EACrBC,qBAAA,EAAuBA,CAAA,MAAO;EAC9BC,oBAAA,EAAsBA,CAAA,MAAO;EAC7BC,OAAA,EAASA,CAAA,MAAO;EAChBC,kBAAA,EAAoBA,CAAA,MAAO;EAC3BC,MAAA,EAAQA,CAAA,MAAO;EACfC,QAAA,EAAUA,CAAA,MAAO;EACjBC,OAAA,EAASA,CAAA,MAAO;EAChBC,IAAA,EAAM;IACJjB,MAAA,EAAQ;IACRC,KAAA,EAAO;EACT;EACAiB,eAAA,EAAiB;IACfC,CAAA,EAAG;IACHC,CAAA,EAAG;EACL;EACAC,oBAAA,EAAsB5B,SAAA;EACtB6B,GAAA,EAAK7B,SAAA;EACL8B,IAAA,EAAM;AACR;AAEA,OAAO,MAAMC,qBAAA,GAAwBA,CAAA,KAAMnC,GAAA,CAAIC,kBAAA","ignoreList":[]}
1
+ {"version":3,"file":"context.js","names":["createContext","use","LivePreviewContext","appIsReady","breakpoint","undefined","breakpoints","iframeHasLoaded","iframeRef","isLivePreviewEnabled","isLivePreviewing","isPopupOpen","measuredDeviceSize","height","width","openPopupWindow","popupRef","previewWindowType","setAppIsReady","setBreakpoint","setHeight","setIframeHasLoaded","setIsLivePreviewing","setMeasuredDeviceSize","setPreviewWindowType","setSize","setToolbarPosition","setWidth","setZoom","size","toolbarPosition","x","y","url","zoom","useLivePreviewContext"],"sources":["../../../src/providers/LivePreview/context.ts"],"sourcesContent":["'use client'\nimport type { LivePreviewConfig } from 'payload'\nimport type { Dispatch } from 'react'\nimport type React from 'react'\n\nimport { createContext, use } from 'react'\n\nimport type { usePopupWindow } from '../../hooks/usePopupWindow.js'\nimport type { SizeReducerAction } from './sizeReducer.js'\n\nexport interface LivePreviewContextType {\n appIsReady: boolean\n breakpoint: LivePreviewConfig['breakpoints'][number]['name']\n breakpoints: LivePreviewConfig['breakpoints']\n iframeHasLoaded: boolean\n iframeRef: React.RefObject<HTMLIFrameElement | null>\n isLivePreviewEnabled: boolean\n isLivePreviewing: boolean\n isPopupOpen: boolean\n listeningForMessages?: boolean\n measuredDeviceSize: {\n height: number\n width: number\n }\n openPopupWindow: ReturnType<typeof usePopupWindow>['openPopupWindow']\n popupRef?: React.RefObject<null | Window>\n previewWindowType: 'iframe' | 'popup'\n setAppIsReady: (appIsReady: boolean) => void\n setBreakpoint: (breakpoint: LivePreviewConfig['breakpoints'][number]['name']) => void\n setHeight: (height: number) => void\n setIframeHasLoaded: (loaded: boolean) => void\n setIsLivePreviewing: (isLivePreviewing: boolean) => void\n setMeasuredDeviceSize: (size: { height: number; width: number }) => void\n setPreviewWindowType: (previewWindowType: 'iframe' | 'popup') => void\n setSize: Dispatch<SizeReducerAction>\n setToolbarPosition: (position: { x: number; y: number }) => void\n setWidth: (width: number) => void\n setZoom: (zoom: number) => void\n size: {\n height: number\n width: number\n }\n toolbarPosition: {\n x: number\n y: number\n }\n url: string | undefined\n zoom: number\n}\n\nexport const LivePreviewContext = createContext<LivePreviewContextType>({\n appIsReady: false,\n breakpoint: undefined,\n breakpoints: undefined,\n iframeHasLoaded: false,\n iframeRef: undefined,\n isLivePreviewEnabled: undefined,\n isLivePreviewing: false,\n isPopupOpen: false,\n measuredDeviceSize: {\n height: 0,\n width: 0,\n },\n openPopupWindow: () => {},\n popupRef: undefined,\n previewWindowType: 'iframe',\n setAppIsReady: () => {},\n setBreakpoint: () => {},\n setHeight: () => {},\n setIframeHasLoaded: () => {},\n setIsLivePreviewing: () => {},\n setMeasuredDeviceSize: () => {},\n setPreviewWindowType: () => {},\n setSize: () => {},\n setToolbarPosition: () => {},\n setWidth: () => {},\n setZoom: () => {},\n size: {\n height: 0,\n width: 0,\n },\n toolbarPosition: {\n x: 0,\n y: 0,\n },\n url: undefined,\n zoom: 1,\n})\n\nexport const useLivePreviewContext = () => use(LivePreviewContext)\n"],"mappings":"AAAA;;AAKA,SAASA,aAAa,EAAEC,GAAG,QAAQ;AA6CnC,OAAO,MAAMC,kBAAA,GAAqBF,aAAA,CAAsC;EACtEG,UAAA,EAAY;EACZC,UAAA,EAAYC,SAAA;EACZC,WAAA,EAAaD,SAAA;EACbE,eAAA,EAAiB;EACjBC,SAAA,EAAWH,SAAA;EACXI,oBAAA,EAAsBJ,SAAA;EACtBK,gBAAA,EAAkB;EAClBC,WAAA,EAAa;EACbC,kBAAA,EAAoB;IAClBC,MAAA,EAAQ;IACRC,KAAA,EAAO;EACT;EACAC,eAAA,EAAiBA,CAAA,MAAO;EACxBC,QAAA,EAAUX,SAAA;EACVY,iBAAA,EAAmB;EACnBC,aAAA,EAAeA,CAAA,MAAO;EACtBC,aAAA,EAAeA,CAAA,MAAO;EACtBC,SAAA,EAAWA,CAAA,MAAO;EAClBC,kBAAA,EAAoBA,CAAA,MAAO;EAC3BC,mBAAA,EAAqBA,CAAA,MAAO;EAC5BC,qBAAA,EAAuBA,CAAA,MAAO;EAC9BC,oBAAA,EAAsBA,CAAA,MAAO;EAC7BC,OAAA,EAASA,CAAA,MAAO;EAChBC,kBAAA,EAAoBA,CAAA,MAAO;EAC3BC,QAAA,EAAUA,CAAA,MAAO;EACjBC,OAAA,EAASA,CAAA,MAAO;EAChBC,IAAA,EAAM;IACJhB,MAAA,EAAQ;IACRC,KAAA,EAAO;EACT;EACAgB,eAAA,EAAiB;IACfC,CAAA,EAAG;IACHC,CAAA,EAAG;EACL;EACAC,GAAA,EAAK5B,SAAA;EACL6B,IAAA,EAAM;AACR;AAEA,OAAO,MAAMC,qBAAA,GAAwBA,CAAA,KAAMlC,GAAA,CAAIC,kBAAA","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  import type { LivePreviewConfig } from 'payload';
2
2
  import React from 'react';
3
- import type { LivePreviewContextType } from './context.js';
4
3
  export type LivePreviewProviderProps = {
5
4
  appIsReady?: boolean;
6
5
  breakpoints?: LivePreviewConfig['breakpoints'];
@@ -11,6 +10,7 @@ export type LivePreviewProviderProps = {
11
10
  };
12
11
  isLivePreviewEnabled?: boolean;
13
12
  isLivePreviewing: boolean;
14
- } & Pick<LivePreviewContextType, 'typeofLivePreviewURL' | 'url'>;
13
+ url: string;
14
+ };
15
15
  export declare const LivePreviewProvider: React.FC<LivePreviewProviderProps>;
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/LivePreview/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGvE,OAAO,KAA4D,MAAM,OAAO,CAAA;AAEhF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAU1D,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,gBAAgB,EAAE,OAAO,CAAA;CAC1B,GAAG,IAAI,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,KAAK,CAAC,CAAA;AAEhE,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAiPlE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/LivePreview/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGvE,OAAO,KAA4D,MAAM,OAAO,CAAA;AAShF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,gBAAgB,EAAE,OAAO,CAAA;IACzB,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAUD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAgOlE,CAAA"}