@payloadcms/ui 3.55.0-internal.f8c92b5 → 3.55.1

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 (257) hide show
  1. package/dist/elements/AppHeader/index.scss +1 -0
  2. package/dist/elements/Autosave/index.js +2 -2
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/EditForm/index.js +4 -18
  5. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  6. package/dist/elements/ClipboardAction/index.js +173 -74
  7. package/dist/elements/ClipboardAction/index.js.map +1 -1
  8. package/dist/elements/CodeEditor/CodeEditor.js +155 -67
  9. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  10. package/dist/elements/Collapsible/index.js +15 -7
  11. package/dist/elements/Collapsible/index.js.map +1 -1
  12. package/dist/elements/ConfirmationModal/index.js +44 -8
  13. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  14. package/dist/elements/CopyLocaleData/index.js +97 -89
  15. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  16. package/dist/elements/CopyToClipboard/index.js +22 -2
  17. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  18. package/dist/elements/DefaultListViewTabs/index.d.ts +12 -0
  19. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -0
  20. package/dist/elements/DefaultListViewTabs/index.js +161 -0
  21. package/dist/elements/DefaultListViewTabs/index.js.map +1 -0
  22. package/dist/elements/{ListHeaderTabs → DefaultListViewTabs}/index.scss +1 -1
  23. package/dist/elements/DeleteMany/index.js +83 -47
  24. package/dist/elements/DeleteMany/index.js.map +1 -1
  25. package/dist/elements/DocumentControls/index.js +55 -27
  26. package/dist/elements/DocumentControls/index.js.map +1 -1
  27. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +10 -2
  28. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  29. package/dist/elements/DocumentDrawer/Provider.d.ts +2 -1
  30. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  31. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  32. package/dist/elements/DocumentDrawer/index.js +99 -47
  33. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  34. package/dist/elements/DocumentFields/index.scss +1 -1
  35. package/dist/elements/Drawer/index.js +57 -23
  36. package/dist/elements/Drawer/index.js.map +1 -1
  37. package/dist/elements/DrawerActionHeader/index.js +21 -3
  38. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  39. package/dist/elements/FieldSelect/reduceFieldOptions.js +1 -1
  40. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  41. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +225 -149
  42. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  43. package/dist/elements/FolderView/FolderFileCard/index.js +27 -19
  44. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  45. package/dist/elements/FolderView/MoveDocToFolder/index.js +23 -12
  46. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  47. package/dist/elements/FullscreenModal/index.js +20 -10
  48. package/dist/elements/FullscreenModal/index.js.map +1 -1
  49. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  50. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +9 -1
  51. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  52. package/dist/elements/ListControls/index.d.ts.map +1 -1
  53. package/dist/elements/ListControls/index.js +69 -78
  54. package/dist/elements/ListControls/index.js.map +1 -1
  55. package/dist/elements/ListControls/index.scss +2 -82
  56. package/dist/elements/ListDrawer/index.js +24 -18
  57. package/dist/elements/ListDrawer/index.js.map +1 -1
  58. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +32 -19
  59. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  60. package/dist/elements/ListSelection/index.js +27 -11
  61. package/dist/elements/ListSelection/index.js.map +1 -1
  62. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  63. package/dist/elements/LivePreview/Window/index.js +152 -71
  64. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  65. package/dist/elements/Loading/index.js +11 -2
  66. package/dist/elements/Loading/index.js.map +1 -1
  67. package/dist/elements/LoadingOverlay/index.js +102 -46
  68. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  69. package/dist/elements/Localizer/LocalizerLabel/index.js +36 -23
  70. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  71. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  72. package/dist/elements/PublishButton/index.js +22 -11
  73. package/dist/elements/PublishButton/index.js.map +1 -1
  74. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +139 -41
  75. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  76. package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
  77. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
  78. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  79. package/dist/elements/SearchBar/index.d.ts +2 -3
  80. package/dist/elements/SearchBar/index.d.ts.map +1 -1
  81. package/dist/elements/SearchBar/index.js +2 -3
  82. package/dist/elements/SearchBar/index.js.map +1 -1
  83. package/dist/elements/SearchBar/index.scss +56 -7
  84. package/dist/elements/SearchFilter/index.d.ts +2 -33
  85. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  86. package/dist/elements/SearchFilter/index.js +7 -5
  87. package/dist/elements/SearchFilter/index.js.map +1 -1
  88. package/dist/elements/SearchFilter/types.d.ts +33 -0
  89. package/dist/elements/SearchFilter/types.d.ts.map +1 -0
  90. package/dist/elements/SearchFilter/types.js +2 -0
  91. package/dist/elements/SearchFilter/types.js.map +1 -0
  92. package/dist/elements/SelectRow/index.js +40 -39
  93. package/dist/elements/SelectRow/index.js.map +1 -1
  94. package/dist/elements/ShimmerEffect/index.js +12 -20
  95. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  96. package/dist/elements/SortColumn/index.js +30 -21
  97. package/dist/elements/SortColumn/index.js.map +1 -1
  98. package/dist/elements/Status/index.d.ts.map +1 -1
  99. package/dist/elements/Status/index.js +19 -9
  100. package/dist/elements/Status/index.js.map +1 -1
  101. package/dist/elements/Table/DefaultCell/fields/Date/index.js +37 -9
  102. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  103. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +37 -35
  104. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  105. package/dist/elements/Table/DefaultCell/fields/Select/index.js +27 -12
  106. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  107. package/dist/elements/Thumbnail/index.js +75 -35
  108. package/dist/elements/Thumbnail/index.js.map +1 -1
  109. package/dist/elements/ThumbnailCard/index.js +26 -17
  110. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  111. package/dist/elements/Tooltip/index.js +127 -51
  112. package/dist/elements/Tooltip/index.js.map +1 -1
  113. package/dist/elements/Upload/index.js +10 -2
  114. package/dist/elements/Upload/index.js.map +1 -1
  115. package/dist/elements/WhereBuilder/Condition/Select/index.js +44 -31
  116. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  117. package/dist/exports/client/{CodeEditor-O6BWJHD2.js → CodeEditor-URFJPG6I.js} +2 -2
  118. package/dist/exports/client/{DatePicker-F432AIH3.js → DatePicker-NMDEHPWL.js} +2 -2
  119. package/dist/exports/client/{chunk-AZDI6MW4.js → chunk-7RGKTZG2.js} +1 -1
  120. package/dist/exports/client/{chunk-AZDI6MW4.js.map → chunk-7RGKTZG2.js.map} +1 -1
  121. package/dist/exports/client/chunk-KPQQ5IUL.js +26 -0
  122. package/dist/exports/client/{chunk-FXAFULZQ.js.map → chunk-KPQQ5IUL.js.map} +4 -4
  123. package/dist/exports/client/index.d.ts +2 -3
  124. package/dist/exports/client/index.d.ts.map +1 -1
  125. package/dist/exports/client/index.js +24 -24
  126. package/dist/exports/client/index.js.map +4 -4
  127. package/dist/exports/rsc/index.d.ts +1 -0
  128. package/dist/exports/rsc/index.d.ts.map +1 -1
  129. package/dist/exports/rsc/index.js +1 -0
  130. package/dist/exports/rsc/index.js.map +1 -1
  131. package/dist/fields/Array/ArrayRow.d.ts +3 -2
  132. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  133. package/dist/fields/Array/ArrayRow.js +23 -13
  134. package/dist/fields/Array/ArrayRow.js.map +1 -1
  135. package/dist/fields/Array/index.js +477 -273
  136. package/dist/fields/Array/index.js.map +1 -1
  137. package/dist/fields/Blocks/index.d.ts.map +1 -1
  138. package/dist/fields/Blocks/index.js.map +1 -1
  139. package/dist/fields/Checkbox/Input.js +19 -2
  140. package/dist/fields/Checkbox/Input.js.map +1 -1
  141. package/dist/fields/FieldError/index.js +29 -30
  142. package/dist/fields/FieldError/index.js.map +1 -1
  143. package/dist/fields/FieldLabel/index.js +64 -12
  144. package/dist/fields/FieldLabel/index.js.map +1 -1
  145. package/dist/fields/Join/index.js +1 -1
  146. package/dist/fields/Join/index.js.map +1 -1
  147. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +103 -45
  148. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  149. package/dist/fields/Relationship/select-components/SingleValue/index.js +44 -29
  150. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  151. package/dist/fields/Row/index.d.ts +3 -1
  152. package/dist/fields/Row/index.d.ts.map +1 -1
  153. package/dist/fields/Select/Input.js +31 -18
  154. package/dist/fields/Select/Input.js.map +1 -1
  155. package/dist/fields/Tabs/Tab/index.js +11 -2
  156. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  157. package/dist/fields/Tabs/index.d.ts +1 -2
  158. package/dist/fields/Tabs/index.d.ts.map +1 -1
  159. package/dist/fields/Tabs/index.js +225 -185
  160. package/dist/fields/Tabs/index.js.map +1 -1
  161. package/dist/fields/Upload/RelationshipContent/index.js +127 -79
  162. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  163. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  164. package/dist/forms/Form/fieldReducer.js +15 -13
  165. package/dist/forms/Form/fieldReducer.js.map +1 -1
  166. package/dist/forms/Form/types.d.ts +6 -3
  167. package/dist/forms/Form/types.d.ts.map +1 -1
  168. package/dist/forms/Form/types.js.map +1 -1
  169. package/dist/forms/RenderFields/RenderField.js +237 -245
  170. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  171. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  172. package/dist/forms/RenderFields/index.js +1 -1
  173. package/dist/forms/RenderFields/index.js.map +1 -1
  174. package/dist/forms/RenderFields/types.d.ts +10 -2
  175. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  176. package/dist/forms/RenderFields/types.js.map +1 -1
  177. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  178. package/dist/forms/RowLabel/Context/index.js +17 -31
  179. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  180. package/dist/forms/useField/index.d.ts +0 -5
  181. package/dist/forms/useField/index.d.ts.map +1 -1
  182. package/dist/forms/useField/index.js +45 -74
  183. package/dist/forms/useField/index.js.map +1 -1
  184. package/dist/hooks/useIntersect.js +53 -35
  185. package/dist/hooks/useIntersect.js.map +1 -1
  186. package/dist/hooks/usePayloadAPI.js +44 -36
  187. package/dist/hooks/usePayloadAPI.js.map +1 -1
  188. package/dist/providers/Auth/index.d.ts +2 -1
  189. package/dist/providers/Auth/index.d.ts.map +1 -1
  190. package/dist/providers/Auth/index.js +74 -83
  191. package/dist/providers/Auth/index.js.map +1 -1
  192. package/dist/providers/Config/index.d.ts.map +1 -1
  193. package/dist/providers/Config/index.js +6 -3
  194. package/dist/providers/Config/index.js.map +1 -1
  195. package/dist/providers/LivePreview/context.d.ts +0 -2
  196. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  197. package/dist/providers/LivePreview/context.js +0 -1
  198. package/dist/providers/LivePreview/context.js.map +1 -1
  199. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  200. package/dist/providers/LivePreview/index.js +0 -12
  201. package/dist/providers/LivePreview/index.js.map +1 -1
  202. package/dist/providers/ServerFunctions/index.d.ts +1 -1
  203. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  204. package/dist/providers/ServerFunctions/index.js.map +1 -1
  205. package/dist/styles.css +1 -1
  206. package/dist/utilities/buildFormState.d.ts.map +1 -1
  207. package/dist/utilities/buildFormState.js +7 -1
  208. package/dist/utilities/buildFormState.js.map +1 -1
  209. package/dist/utilities/buildTableState.d.ts.map +1 -1
  210. package/dist/utilities/buildTableState.js +12 -4
  211. package/dist/utilities/buildTableState.js.map +1 -1
  212. package/dist/utilities/getClientConfig.d.ts +2 -7
  213. package/dist/utilities/getClientConfig.d.ts.map +1 -1
  214. package/dist/utilities/getClientConfig.js +19 -8
  215. package/dist/utilities/getClientConfig.js.map +1 -1
  216. package/dist/utilities/getColumns.d.ts +10 -0
  217. package/dist/utilities/getColumns.d.ts.map +1 -0
  218. package/dist/utilities/getColumns.js +36 -0
  219. package/dist/utilities/getColumns.js.map +1 -0
  220. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  221. package/dist/utilities/reduceFieldsToOptions.js +16 -1
  222. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  223. package/dist/utilities/renderTable.d.ts +3 -3
  224. package/dist/utilities/renderTable.d.ts.map +1 -1
  225. package/dist/utilities/renderTable.js +2 -11
  226. package/dist/utilities/renderTable.js.map +1 -1
  227. package/dist/utilities/traverseForLocalizedFields.d.ts +3 -0
  228. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -0
  229. package/dist/utilities/traverseForLocalizedFields.js +40 -0
  230. package/dist/utilities/traverseForLocalizedFields.js.map +1 -0
  231. package/dist/views/BrowseByFolder/index.js +56 -38
  232. package/dist/views/BrowseByFolder/index.js.map +1 -1
  233. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  234. package/dist/views/CollectionFolder/index.js +45 -28
  235. package/dist/views/CollectionFolder/index.js.map +1 -1
  236. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  237. package/dist/views/Edit/Auth/index.js +106 -94
  238. package/dist/views/Edit/Auth/index.js.map +1 -1
  239. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  240. package/dist/views/List/ListHeader/index.js +5 -13
  241. package/dist/views/List/ListHeader/index.js.map +1 -1
  242. package/package.json +7 -7
  243. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts +0 -10
  244. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts.map +0 -1
  245. package/dist/elements/ListHeaderTabs/ByFolderPill.js +0 -70
  246. package/dist/elements/ListHeaderTabs/ByFolderPill.js.map +0 -1
  247. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts +0 -9
  248. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts.map +0 -1
  249. package/dist/elements/ListHeaderTabs/DefaultListPill.js +0 -75
  250. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +0 -1
  251. package/dist/elements/ListHeaderTabs/TrashPill.d.ts +0 -6
  252. package/dist/elements/ListHeaderTabs/TrashPill.d.ts.map +0 -1
  253. package/dist/elements/ListHeaderTabs/TrashPill.js +0 -53
  254. package/dist/elements/ListHeaderTabs/TrashPill.js.map +0 -1
  255. package/dist/exports/client/chunk-FXAFULZQ.js +0 -26
  256. /package/dist/exports/client/{CodeEditor-O6BWJHD2.js.map → CodeEditor-URFJPG6I.js.map} +0 -0
  257. /package/dist/exports/client/{DatePicker-F432AIH3.js.map → DatePicker-NMDEHPWL.js.map} +0 -0
@@ -1,23 +1,25 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
5
  import { reduceFieldsToValues } from 'payload/shared';
5
6
  import React, { useEffect } from 'react';
6
7
  import { useAllFormFields } from '../../../forms/Form/context.js';
7
8
  import { useDocumentEvents } from '../../../providers/DocumentEvents/index.js';
9
+ import { useDocumentInfo } from '../../../providers/DocumentInfo/index.js';
8
10
  import { useLivePreviewContext } from '../../../providers/LivePreview/context.js';
9
11
  import { useLocale } from '../../../providers/Locale/index.js';
10
12
  import { ShimmerEffect } from '../../ShimmerEffect/index.js';
11
13
  import { DeviceContainer } from '../Device/index.js';
14
+ import './index.scss';
12
15
  import { IFrame } from '../IFrame/index.js';
13
16
  import { LivePreviewToolbar } from '../Toolbar/index.js';
14
- import './index.scss';
15
17
  const baseClass = 'live-preview-window';
16
18
  export const LivePreviewWindow = props => {
19
+ const $ = _c(50);
17
20
  const {
18
21
  appIsReady,
19
22
  breakpoint,
20
- fieldSchemaJSON,
21
23
  iframeHasLoaded,
22
24
  iframeRef,
23
25
  isLivePreviewing,
@@ -30,82 +32,161 @@ export const LivePreviewWindow = props => {
30
32
  const {
31
33
  mostRecentUpdate
32
34
  } = useDocumentEvents();
33
- const prevWindowType = React.useRef(undefined);
34
35
  const [formState] = useAllFormFields();
35
- // For client-side apps, send data through `window.postMessage`
36
- // The preview could either be an iframe embedded on the page
37
- // Or it could be a separate popup window
38
- // We need to transmit data to both accordingly
39
- useEffect(() => {
40
- if (!isLivePreviewing) {
41
- return;
42
- }
43
- // For performance, do no reduce fields to values until after the iframe or popup has loaded
44
- if (formState && window && 'postMessage' in window && appIsReady) {
45
- const values = reduceFieldsToValues(formState, true);
46
- // To reduce on large `postMessage` payloads, only send `fieldSchemaToJSON` one time
47
- // To do this, the underlying JS function maintains a cache of this value
48
- // So we need to send it through each time the window type changes
49
- // But only once per window type change, not on every render, because this is a potentially large obj
50
- const shouldSendSchema = !prevWindowType.current || prevWindowType.current !== previewWindowType;
51
- prevWindowType.current = previewWindowType;
52
- const message = {
53
- type: 'payload-live-preview',
54
- data: values,
55
- externallyUpdatedRelationship: mostRecentUpdate,
56
- fieldSchemaJSON: shouldSendSchema ? fieldSchemaJSON : undefined,
57
- locale: locale.code
36
+ const {
37
+ id,
38
+ collectionSlug,
39
+ globalSlug
40
+ } = useDocumentInfo();
41
+ let t0;
42
+ if ($[0] !== appIsReady || $[1] !== collectionSlug || $[2] !== formState || $[3] !== globalSlug || $[4] !== id || $[5] !== iframeRef || $[6] !== isLivePreviewing || $[7] !== locale || $[8] !== mostRecentUpdate || $[9] !== popupRef || $[10] !== previewWindowType || $[11] !== url) {
43
+ t0 = () => {
44
+ if (!isLivePreviewing) {
45
+ return;
46
+ }
47
+ if (formState && window && "postMessage" in window && appIsReady) {
48
+ const values = reduceFieldsToValues(formState, true);
49
+ if (!values.id) {
50
+ values.id = id;
51
+ }
52
+ const message = {
53
+ type: "payload-live-preview",
54
+ collectionSlug,
55
+ data: values,
56
+ externallyUpdatedRelationship: mostRecentUpdate,
57
+ globalSlug,
58
+ locale: locale.code
59
+ };
60
+ if (previewWindowType === "popup" && popupRef.current) {
61
+ popupRef.current.postMessage(message, url);
62
+ }
63
+ if (previewWindowType === "iframe" && iframeRef.current) {
64
+ iframeRef.current.contentWindow?.postMessage(message, url);
65
+ }
66
+ }
67
+ };
68
+ $[0] = appIsReady;
69
+ $[1] = collectionSlug;
70
+ $[2] = formState;
71
+ $[3] = globalSlug;
72
+ $[4] = id;
73
+ $[5] = iframeRef;
74
+ $[6] = isLivePreviewing;
75
+ $[7] = locale;
76
+ $[8] = mostRecentUpdate;
77
+ $[9] = popupRef;
78
+ $[10] = previewWindowType;
79
+ $[11] = url;
80
+ $[12] = t0;
81
+ } else {
82
+ t0 = $[12];
83
+ }
84
+ let t1;
85
+ if ($[13] !== appIsReady || $[14] !== collectionSlug || $[15] !== formState || $[16] !== globalSlug || $[17] !== id || $[18] !== iframeHasLoaded || $[19] !== iframeRef || $[20] !== isLivePreviewing || $[21] !== locale || $[22] !== mostRecentUpdate || $[23] !== popupRef || $[24] !== previewWindowType || $[25] !== setIframeHasLoaded || $[26] !== url) {
86
+ t1 = [formState, url, collectionSlug, globalSlug, iframeHasLoaded, id, previewWindowType, popupRef, appIsReady, iframeRef, setIframeHasLoaded, mostRecentUpdate, locale, isLivePreviewing];
87
+ $[13] = appIsReady;
88
+ $[14] = collectionSlug;
89
+ $[15] = formState;
90
+ $[16] = globalSlug;
91
+ $[17] = id;
92
+ $[18] = iframeHasLoaded;
93
+ $[19] = iframeRef;
94
+ $[20] = isLivePreviewing;
95
+ $[21] = locale;
96
+ $[22] = mostRecentUpdate;
97
+ $[23] = popupRef;
98
+ $[24] = previewWindowType;
99
+ $[25] = setIframeHasLoaded;
100
+ $[26] = url;
101
+ $[27] = t1;
102
+ } else {
103
+ t1 = $[27];
104
+ }
105
+ useEffect(t0, t1);
106
+ let t2;
107
+ if ($[28] !== iframeRef || $[29] !== isLivePreviewing || $[30] !== popupRef || $[31] !== previewWindowType || $[32] !== url) {
108
+ t2 = () => {
109
+ if (!isLivePreviewing) {
110
+ return;
111
+ }
112
+ const message_0 = {
113
+ type: "payload-document-event"
58
114
  };
59
- // Post message to external popup window
60
- if (previewWindowType === 'popup' && popupRef.current) {
61
- popupRef.current.postMessage(message, url);
115
+ if (previewWindowType === "popup" && popupRef.current) {
116
+ popupRef.current.postMessage(message_0, url);
62
117
  }
63
- // Post message to embedded iframe
64
- if (previewWindowType === 'iframe' && iframeRef.current) {
65
- iframeRef.current.contentWindow?.postMessage(message, url);
118
+ if (previewWindowType === "iframe" && iframeRef.current) {
119
+ iframeRef.current.contentWindow?.postMessage(message_0, url);
66
120
  }
67
- }
68
- }, [formState, url, iframeHasLoaded, previewWindowType, popupRef, appIsReady, iframeRef, setIframeHasLoaded, fieldSchemaJSON, mostRecentUpdate, locale, isLivePreviewing]);
69
- // To support SSR, we transmit a `window.postMessage` event without a payload
70
- // This is because the event will ultimately trigger a server-side roundtrip
71
- // i.e., save, save draft, autosave, etc. will fire `router.refresh()`
72
- useEffect(() => {
73
- if (!isLivePreviewing) {
74
- return;
75
- }
76
- const message_0 = {
77
- type: 'payload-document-event'
78
121
  };
79
- // Post message to external popup window
80
- if (previewWindowType === 'popup' && popupRef.current) {
81
- popupRef.current.postMessage(message_0, url);
82
- }
83
- // Post message to embedded iframe
84
- if (previewWindowType === 'iframe' && iframeRef.current) {
85
- iframeRef.current.contentWindow?.postMessage(message_0, url);
122
+ $[28] = iframeRef;
123
+ $[29] = isLivePreviewing;
124
+ $[30] = popupRef;
125
+ $[31] = previewWindowType;
126
+ $[32] = url;
127
+ $[33] = t2;
128
+ } else {
129
+ t2 = $[33];
130
+ }
131
+ let t3;
132
+ if ($[34] !== iframeRef || $[35] !== isLivePreviewing || $[36] !== mostRecentUpdate || $[37] !== popupRef || $[38] !== previewWindowType || $[39] !== url) {
133
+ t3 = [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url, isLivePreviewing];
134
+ $[34] = iframeRef;
135
+ $[35] = isLivePreviewing;
136
+ $[36] = mostRecentUpdate;
137
+ $[37] = popupRef;
138
+ $[38] = previewWindowType;
139
+ $[39] = url;
140
+ $[40] = t3;
141
+ } else {
142
+ t3 = $[40];
143
+ }
144
+ useEffect(t2, t3);
145
+ if (previewWindowType === "iframe") {
146
+ const t4 = isLivePreviewing && `${baseClass}--is-live-previewing`;
147
+ const t5 = breakpoint && breakpoint !== "responsive" && `${baseClass}--has-breakpoint`;
148
+ let t6;
149
+ if ($[41] !== t4 || $[42] !== t5) {
150
+ t6 = [baseClass, t4, t5].filter(Boolean);
151
+ $[41] = t4;
152
+ $[42] = t5;
153
+ $[43] = t6;
154
+ } else {
155
+ t6 = $[43];
86
156
  }
87
- }, [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url, isLivePreviewing]);
88
- if (previewWindowType === 'iframe') {
89
- return /*#__PURE__*/_jsx("div", {
90
- className: [baseClass, isLivePreviewing && `${baseClass}--is-live-previewing`, breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`].filter(Boolean).join(' '),
91
- children: /*#__PURE__*/_jsxs("div", {
92
- className: `${baseClass}__wrapper`,
93
- children: [/*#__PURE__*/_jsx(LivePreviewToolbar, {
94
- ...props
95
- }), /*#__PURE__*/_jsx("div", {
96
- className: `${baseClass}__main`,
97
- children: /*#__PURE__*/_jsx(DeviceContainer, {
98
- children: url ? /*#__PURE__*/_jsx(IFrame, {
99
- ref: iframeRef,
100
- setIframeHasLoaded: setIframeHasLoaded,
101
- url: url
102
- }) : /*#__PURE__*/_jsx(ShimmerEffect, {
103
- height: "100%"
157
+ const t7 = t6.join(" ");
158
+ let t8;
159
+ if ($[44] !== iframeRef || $[45] !== props || $[46] !== setIframeHasLoaded || $[47] !== t7 || $[48] !== url) {
160
+ t8 = _jsx("div", {
161
+ className: t7,
162
+ children: _jsxs("div", {
163
+ className: `${baseClass}__wrapper`,
164
+ children: [_jsx(LivePreviewToolbar, {
165
+ ...props
166
+ }), _jsx("div", {
167
+ className: `${baseClass}__main`,
168
+ children: _jsx(DeviceContainer, {
169
+ children: url ? _jsx(IFrame, {
170
+ ref: iframeRef,
171
+ setIframeHasLoaded,
172
+ url
173
+ }) : _jsx(ShimmerEffect, {
174
+ height: "100%"
175
+ })
104
176
  })
105
- })
106
- })]
107
- })
108
- });
177
+ })]
178
+ })
179
+ });
180
+ $[44] = iframeRef;
181
+ $[45] = props;
182
+ $[46] = setIframeHasLoaded;
183
+ $[47] = t7;
184
+ $[48] = url;
185
+ $[49] = t8;
186
+ } else {
187
+ t8 = $[49];
188
+ }
189
+ return t8;
109
190
  }
110
191
  };
111
192
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["reduceFieldsToValues","React","useEffect","useAllFormFields","useDocumentEvents","useLivePreviewContext","useLocale","ShimmerEffect","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreviewWindow","props","appIsReady","breakpoint","fieldSchemaJSON","iframeHasLoaded","iframeRef","isLivePreviewing","popupRef","previewWindowType","setIframeHasLoaded","url","locale","mostRecentUpdate","prevWindowType","useRef","undefined","formState","window","values","shouldSendSchema","current","message","type","data","externallyUpdatedRelationship","code","postMessage","contentWindow","_jsx","className","filter","Boolean","join","_jsxs","ref","height"],"sources":["../../../../src/elements/LivePreview/Window/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport { useAllFormFields } from '../../../forms/Form/context.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useLivePreviewContext } from '../../../providers/LivePreview/context.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { DeviceContainer } from '../Device/index.js'\nimport { IFrame } from '../IFrame/index.js'\nimport { LivePreviewToolbar } from '../Toolbar/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-window'\n\nexport const LivePreviewWindow: React.FC<EditViewProps> = (props) => {\n const {\n appIsReady,\n breakpoint,\n fieldSchemaJSON,\n iframeHasLoaded,\n iframeRef,\n isLivePreviewing,\n popupRef,\n previewWindowType,\n setIframeHasLoaded,\n url,\n } = useLivePreviewContext()\n\n const locale = useLocale()\n\n const { mostRecentUpdate } = useDocumentEvents()\n\n const prevWindowType =\n React.useRef<ReturnType<typeof useLivePreviewContext>['previewWindowType']>(undefined)\n\n const [formState] = useAllFormFields()\n\n // For client-side apps, send data through `window.postMessage`\n // The preview could either be an iframe embedded on the page\n // Or it could be a separate popup window\n // We need to transmit data to both accordingly\n useEffect(() => {\n if (!isLivePreviewing) {\n return\n }\n\n // For performance, do no reduce fields to values until after the iframe or popup has loaded\n if (formState && window && 'postMessage' in window && appIsReady) {\n const values = reduceFieldsToValues(formState, true)\n\n // To reduce on large `postMessage` payloads, only send `fieldSchemaToJSON` one time\n // To do this, the underlying JS function maintains a cache of this value\n // So we need to send it through each time the window type changes\n // But only once per window type change, not on every render, because this is a potentially large obj\n const shouldSendSchema =\n !prevWindowType.current || prevWindowType.current !== previewWindowType\n\n prevWindowType.current = previewWindowType\n\n const message = {\n type: 'payload-live-preview',\n data: values,\n externallyUpdatedRelationship: mostRecentUpdate,\n fieldSchemaJSON: shouldSendSchema ? fieldSchemaJSON : undefined,\n locale: locale.code,\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }\n }, [\n formState,\n url,\n iframeHasLoaded,\n previewWindowType,\n popupRef,\n appIsReady,\n iframeRef,\n setIframeHasLoaded,\n fieldSchemaJSON,\n mostRecentUpdate,\n locale,\n isLivePreviewing,\n ])\n\n // To support SSR, we transmit a `window.postMessage` event without a payload\n // This is because the event will ultimately trigger a server-side roundtrip\n // i.e., save, save draft, autosave, etc. will fire `router.refresh()`\n useEffect(() => {\n if (!isLivePreviewing) {\n return\n }\n\n const message = {\n type: 'payload-document-event',\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }, [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url, isLivePreviewing])\n\n if (previewWindowType === 'iframe') {\n return (\n <div\n className={[\n baseClass,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__wrapper`}>\n <LivePreviewToolbar {...props} />\n <div className={`${baseClass}__main`}>\n <DeviceContainer>\n {url ? (\n <IFrame ref={iframeRef} setIframeHasLoaded={setIframeHasLoaded} url={url} />\n ) : (\n <ShimmerEffect height=\"100%\" />\n )}\n </DeviceContainer>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","reduceFieldsToValues","React","useEffect","useAllFormFields","useDocumentEvents","useDocumentInfo","useLivePreviewContext","useLocale","ShimmerEffect","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreviewWindow","props","$","appIsReady","breakpoint","iframeHasLoaded","iframeRef","isLivePreviewing","popupRef","previewWindowType","setIframeHasLoaded","url","locale","mostRecentUpdate","formState","id","collectionSlug","globalSlug","t0","window","values","message","type","data","externallyUpdatedRelationship","code","current","postMessage","contentWindow","t1","t2","message_0","t3","t4","t5","t6","filter","Boolean","t7","join","t8","_jsx","className","children","_jsxs","ref","height"],"sources":["../../../../src/elements/LivePreview/Window/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport { useAllFormFields } from '../../../forms/Form/context.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useLivePreviewContext } from '../../../providers/LivePreview/context.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { DeviceContainer } from '../Device/index.js'\nimport './index.scss'\nimport { IFrame } from '../IFrame/index.js'\nimport { LivePreviewToolbar } from '../Toolbar/index.js'\n\nconst baseClass = 'live-preview-window'\n\nexport const LivePreviewWindow: React.FC<EditViewProps> = (props) => {\n const {\n appIsReady,\n breakpoint,\n iframeHasLoaded,\n iframeRef,\n isLivePreviewing,\n popupRef,\n previewWindowType,\n setIframeHasLoaded,\n url,\n } = useLivePreviewContext()\n\n const locale = useLocale()\n\n const { mostRecentUpdate } = useDocumentEvents()\n\n const [formState] = useAllFormFields()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n // For client-side apps, send data through `window.postMessage`\n // The preview could either be an iframe embedded on the page\n // Or it could be a separate popup window\n // We need to transmit data to both accordingly\n useEffect(() => {\n if (!isLivePreviewing) {\n return\n }\n\n // For performance, do no reduce fields to values until after the iframe or popup has loaded\n if (formState && window && 'postMessage' in window && appIsReady) {\n const values = reduceFieldsToValues(formState, true)\n\n if (!values.id) {\n values.id = id\n }\n\n const message = {\n type: 'payload-live-preview',\n collectionSlug,\n data: values,\n externallyUpdatedRelationship: mostRecentUpdate,\n globalSlug,\n locale: locale.code,\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }\n }, [\n formState,\n url,\n collectionSlug,\n globalSlug,\n iframeHasLoaded,\n id,\n previewWindowType,\n popupRef,\n appIsReady,\n iframeRef,\n setIframeHasLoaded,\n mostRecentUpdate,\n locale,\n isLivePreviewing,\n ])\n\n // To support SSR, we transmit a `window.postMessage` event without a payload\n // This is because the event will ultimately trigger a server-side roundtrip\n // i.e., save, save draft, autosave, etc. will fire `router.refresh()`\n useEffect(() => {\n if (!isLivePreviewing) {\n return\n }\n\n const message = {\n type: 'payload-document-event',\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }, [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url, isLivePreviewing])\n\n if (previewWindowType === 'iframe') {\n return (\n <div\n className={[\n baseClass,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__wrapper`}>\n <LivePreviewToolbar {...props} />\n <div className={`${baseClass}__main`}>\n <DeviceContainer>\n {url ? (\n <IFrame ref={iframeRef} setIframeHasLoaded={setIframeHasLoaded} url={url} />\n ) : (\n <ShimmerEffect height=\"100%\" />\n )}\n </DeviceContainer>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ import { useTranslation } from '../../providers/Translation/index.js';
10
10
  import './index.scss';
11
11
  const baseClass = 'loading-overlay';
12
12
  export const LoadingOverlay = t0 => {
13
- const $ = _c(8);
13
+ const $ = _c(11);
14
14
  const {
15
15
  animationDuration,
16
16
  loadingText,
@@ -36,6 +36,15 @@ export const LoadingOverlay = t0 => {
36
36
  const t6 = animationDuration || "500ms";
37
37
  let t7;
38
38
  if ($[3] !== loadingText || $[4] !== t || $[5] !== t5 || $[6] !== t6) {
39
+ let t8;
40
+ if ($[8] !== loadingText || $[9] !== t) {
41
+ t8 = loadingText || t("general:loading");
42
+ $[8] = loadingText;
43
+ $[9] = t;
44
+ $[10] = t8;
45
+ } else {
46
+ t8 = $[10];
47
+ }
39
48
  t7 = _jsxs("div", {
40
49
  className: t5,
41
50
  style: {
@@ -56,7 +65,7 @@ export const LoadingOverlay = t0 => {
56
65
  })]
57
66
  }), _jsx("span", {
58
67
  className: `${baseClass}__text`,
59
- children: loadingText || t("general:loading")
68
+ children: t8
60
69
  })]
61
70
  });
62
71
  $[3] = loadingText;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useLoadingOverlay","useFormProcessing","useTranslation","baseClass","LoadingOverlay","t0","$","animationDuration","loadingText","overlayType","show","t1","undefined","t","t2","t3","t4","filter","Boolean","t5","join","t6","t7","_jsxs","className","style","children","_jsx","LoadingOverlayToggle","name","key","type","toggleLoadingOverlay","isLoading","useEffect","FormLoadingOverlayToggle","action","formIsLoading","loadingSuffix","isProcessing","i18n","labels","create","loading","update","trim"],"sources":["../../../src/elements/Loading/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { LoadingOverlayTypes } from '../../elements/LoadingOverlay/types.js'\n\nimport { useLoadingOverlay } from '../../elements/LoadingOverlay/index.js'\nimport { useFormProcessing } from '../../forms/Form/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'loading-overlay'\n\ntype LoadingOverlayProps = {\n animationDuration?: string\n loadingText?: string\n overlayType?: string\n show?: boolean\n}\n\nexport const LoadingOverlay: React.FC<LoadingOverlayProps> = ({\n animationDuration,\n loadingText,\n overlayType,\n show = true,\n}) => {\n const { t } = useTranslation()\n\n return (\n <div\n className={[\n baseClass,\n show ? `${baseClass}--entering` : `${baseClass}--exiting`,\n overlayType ? `${baseClass}--${overlayType}` : '',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n animationDuration: animationDuration || '500ms',\n }}\n >\n <div className={`${baseClass}__bars`}>\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n </div>\n\n <span className={`${baseClass}__text`}>{loadingText || t('general:loading')}</span>\n </div>\n )\n}\n\nexport type UseLoadingOverlayToggleProps = {\n loadingText?: string\n name: string\n show: boolean\n type?: LoadingOverlayTypes\n}\nexport const LoadingOverlayToggle: React.FC<UseLoadingOverlayToggleProps> = ({\n name: key,\n type = 'fullscreen',\n loadingText,\n show,\n}) => {\n const { toggleLoadingOverlay } = useLoadingOverlay()\n\n React.useEffect(() => {\n toggleLoadingOverlay({\n type,\n isLoading: show,\n key,\n loadingText: loadingText || undefined,\n })\n\n return () => {\n toggleLoadingOverlay({\n type,\n isLoading: false,\n key,\n })\n }\n }, [show, toggleLoadingOverlay, key, type, loadingText])\n\n return null\n}\n\nexport type FormLoadingOverlayToggleProps = {\n action: 'create' | 'loading' | 'update'\n formIsLoading?: boolean\n loadingSuffix?: string\n name: string\n type?: LoadingOverlayTypes\n}\n\nexport const FormLoadingOverlayToggle: React.FC<FormLoadingOverlayToggleProps> = ({\n name,\n type = 'fullscreen',\n action,\n formIsLoading = false,\n loadingSuffix,\n}) => {\n const isProcessing = useFormProcessing()\n const { i18n, t } = useTranslation()\n\n const labels = {\n create: t('general:creating'),\n loading: t('general:loading'),\n update: t('general:updating'),\n }\n\n return (\n <LoadingOverlayToggle\n loadingText={`${labels[action]} ${\n loadingSuffix ? getTranslation(loadingSuffix, i18n) : ''\n }`.trim()}\n name={name}\n show={formIsLoading || isProcessing}\n type={type}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useLoadingOverlay","useFormProcessing","useTranslation","baseClass","LoadingOverlay","t0","$","animationDuration","loadingText","overlayType","show","t1","undefined","t","t2","t3","t4","filter","Boolean","t5","join","t6","t7","t8","_jsxs","className","style","children","_jsx","LoadingOverlayToggle","name","key","type","toggleLoadingOverlay","isLoading","useEffect","FormLoadingOverlayToggle","action","formIsLoading","loadingSuffix","isProcessing","i18n","labels","create","loading","update","trim"],"sources":["../../../src/elements/Loading/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { LoadingOverlayTypes } from '../../elements/LoadingOverlay/types.js'\n\nimport { useLoadingOverlay } from '../../elements/LoadingOverlay/index.js'\nimport { useFormProcessing } from '../../forms/Form/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'loading-overlay'\n\ntype LoadingOverlayProps = {\n animationDuration?: string\n loadingText?: string\n overlayType?: string\n show?: boolean\n}\n\nexport const LoadingOverlay: React.FC<LoadingOverlayProps> = ({\n animationDuration,\n loadingText,\n overlayType,\n show = true,\n}) => {\n const { t } = useTranslation()\n\n return (\n <div\n className={[\n baseClass,\n show ? `${baseClass}--entering` : `${baseClass}--exiting`,\n overlayType ? `${baseClass}--${overlayType}` : '',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n animationDuration: animationDuration || '500ms',\n }}\n >\n <div className={`${baseClass}__bars`}>\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n </div>\n\n <span className={`${baseClass}__text`}>{loadingText || t('general:loading')}</span>\n </div>\n )\n}\n\nexport type UseLoadingOverlayToggleProps = {\n loadingText?: string\n name: string\n show: boolean\n type?: LoadingOverlayTypes\n}\nexport const LoadingOverlayToggle: React.FC<UseLoadingOverlayToggleProps> = ({\n name: key,\n type = 'fullscreen',\n loadingText,\n show,\n}) => {\n const { toggleLoadingOverlay } = useLoadingOverlay()\n\n React.useEffect(() => {\n toggleLoadingOverlay({\n type,\n isLoading: show,\n key,\n loadingText: loadingText || undefined,\n })\n\n return () => {\n toggleLoadingOverlay({\n type,\n isLoading: false,\n key,\n })\n }\n }, [show, toggleLoadingOverlay, key, type, loadingText])\n\n return null\n}\n\nexport type FormLoadingOverlayToggleProps = {\n action: 'create' | 'loading' | 'update'\n formIsLoading?: boolean\n loadingSuffix?: string\n name: string\n type?: LoadingOverlayTypes\n}\n\nexport const FormLoadingOverlayToggle: React.FC<FormLoadingOverlayToggleProps> = ({\n name,\n type = 'fullscreen',\n action,\n formIsLoading = false,\n loadingSuffix,\n}) => {\n const isProcessing = useFormProcessing()\n const { i18n, t } = useTranslation()\n\n const labels = {\n create: t('general:creating'),\n loading: t('general:loading'),\n update: t('general:updating'),\n }\n\n return (\n <LoadingOverlayToggle\n loadingText={`${labels[action]} ${\n loadingSuffix ? getTranslation(loadingSuffix, i18n) : ''\n }`.trim()}\n name={name}\n show={formIsLoading || isProcessing}\n type={type}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
5
  import React, { createContext } from 'react';
5
6
  import { LoadingOverlay } from '../../elements/Loading/index.js';
@@ -11,63 +12,118 @@ const Context = /*#__PURE__*/createContext({
11
12
  isOnScreen: false,
12
13
  toggleLoadingOverlay: undefined
13
14
  });
14
- export const LoadingOverlayProvider = ({
15
- children
16
- }) => {
15
+ export const LoadingOverlayProvider = t0 => {
16
+ const $ = _c(21);
17
+ const {
18
+ children
19
+ } = t0;
17
20
  const {
18
21
  t
19
22
  } = useTranslation();
20
- const fallbackText = t('general:loading');
23
+ let t1;
24
+ if ($[0] !== t) {
25
+ t1 = t("general:loading");
26
+ $[0] = t;
27
+ $[1] = t1;
28
+ } else {
29
+ t1 = $[1];
30
+ }
31
+ const fallbackText = t1;
21
32
  const [overlays, dispatchOverlay] = React.useReducer(reducer, defaultLoadingOverlayState);
33
+ let t2;
34
+ if ($[2] !== overlays.isLoading) {
35
+ t2 = {
36
+ delayBeforeShow: 1000,
37
+ inTimeout: animatedDuration,
38
+ minShowTime: 500,
39
+ outTimeout: animatedDuration,
40
+ show: overlays.isLoading
41
+ };
42
+ $[2] = overlays.isLoading;
43
+ $[3] = t2;
44
+ } else {
45
+ t2 = $[3];
46
+ }
22
47
  const {
23
48
  isMounted,
24
49
  isUnmounting,
25
50
  triggerDelayedRender
26
- } = useDelayedRender({
27
- delayBeforeShow: 1000,
28
- inTimeout: animatedDuration,
29
- minShowTime: 500,
30
- outTimeout: animatedDuration,
31
- show: overlays.isLoading
32
- });
33
- const toggleLoadingOverlay = React.useCallback(({
34
- type,
35
- isLoading,
36
- key,
37
- loadingText = fallbackText
38
- }) => {
39
- if (isLoading) {
40
- triggerDelayedRender();
41
- dispatchOverlay({
42
- type: 'add',
43
- payload: {
44
- type,
45
- key,
46
- loadingText
47
- }
51
+ } = useDelayedRender(t2);
52
+ let t3;
53
+ if ($[4] !== fallbackText || $[5] !== triggerDelayedRender) {
54
+ t3 = t4 => {
55
+ const {
56
+ type,
57
+ isLoading,
58
+ key,
59
+ loadingText: t5
60
+ } = t4;
61
+ const loadingText = t5 === undefined ? fallbackText : t5;
62
+ if (isLoading) {
63
+ triggerDelayedRender();
64
+ dispatchOverlay({
65
+ type: "add",
66
+ payload: {
67
+ type,
68
+ key,
69
+ loadingText
70
+ }
71
+ });
72
+ } else {
73
+ dispatchOverlay({
74
+ type: "remove",
75
+ payload: {
76
+ type,
77
+ key
78
+ }
79
+ });
80
+ }
81
+ };
82
+ $[4] = fallbackText;
83
+ $[5] = triggerDelayedRender;
84
+ $[6] = t3;
85
+ } else {
86
+ t3 = $[6];
87
+ }
88
+ const toggleLoadingOverlay = t3;
89
+ let t4;
90
+ if ($[7] !== children || $[8] !== fallbackText || $[9] !== isMounted || $[10] !== isUnmounting || $[11] !== overlays.loadingText || $[12] !== overlays.overlayType || $[13] !== toggleLoadingOverlay) {
91
+ let t5;
92
+ if ($[15] !== fallbackText || $[16] !== isMounted || $[17] !== isUnmounting || $[18] !== overlays.loadingText || $[19] !== overlays.overlayType) {
93
+ t5 = isMounted && _jsx(LoadingOverlay, {
94
+ animationDuration: `${animatedDuration}ms`,
95
+ loadingText: overlays.loadingText || fallbackText,
96
+ overlayType: overlays.overlayType,
97
+ show: !isUnmounting
48
98
  });
99
+ $[15] = fallbackText;
100
+ $[16] = isMounted;
101
+ $[17] = isUnmounting;
102
+ $[18] = overlays.loadingText;
103
+ $[19] = overlays.overlayType;
104
+ $[20] = t5;
49
105
  } else {
50
- dispatchOverlay({
51
- type: 'remove',
52
- payload: {
53
- type,
54
- key
55
- }
56
- });
106
+ t5 = $[20];
57
107
  }
58
- }, [triggerDelayedRender, fallbackText]);
59
- return /*#__PURE__*/_jsxs(Context, {
60
- value: {
61
- isOnScreen: isMounted,
62
- toggleLoadingOverlay
63
- },
64
- children: [isMounted && /*#__PURE__*/_jsx(LoadingOverlay, {
65
- animationDuration: `${animatedDuration}ms`,
66
- loadingText: overlays.loadingText || fallbackText,
67
- overlayType: overlays.overlayType,
68
- show: !isUnmounting
69
- }), children]
70
- });
108
+ t4 = _jsxs(Context, {
109
+ value: {
110
+ isOnScreen: isMounted,
111
+ toggleLoadingOverlay
112
+ },
113
+ children: [t5, children]
114
+ });
115
+ $[7] = children;
116
+ $[8] = fallbackText;
117
+ $[9] = isMounted;
118
+ $[10] = isUnmounting;
119
+ $[11] = overlays.loadingText;
120
+ $[12] = overlays.overlayType;
121
+ $[13] = toggleLoadingOverlay;
122
+ $[14] = t4;
123
+ } else {
124
+ t4 = $[14];
125
+ }
126
+ return t4;
71
127
  };
72
128
  export const useLoadingOverlay = () => {
73
129
  const contextHook = React.use(Context);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","createContext","LoadingOverlay","useDelayedRender","useTranslation","defaultLoadingOverlayState","reducer","animatedDuration","Context","isOnScreen","toggleLoadingOverlay","undefined","LoadingOverlayProvider","children","t","fallbackText","overlays","dispatchOverlay","useReducer","isMounted","isUnmounting","triggerDelayedRender","delayBeforeShow","inTimeout","minShowTime","outTimeout","show","isLoading","useCallback","type","key","loadingText","payload","_jsxs","value","_jsx","animationDuration","overlayType","useLoadingOverlay","contextHook","use","Error"],"sources":["../../../src/elements/LoadingOverlay/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext } from 'react'\n\nimport type { LoadingOverlayContext, ToggleLoadingOverlay } from './types.js'\n\nimport { LoadingOverlay } from '../../elements/Loading/index.js'\nimport { useDelayedRender } from '../../hooks/useDelayedRender.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { defaultLoadingOverlayState, reducer } from './reducer.js'\n\nconst animatedDuration = 250\n\nconst Context = createContext({\n isOnScreen: false,\n toggleLoadingOverlay: undefined,\n})\n\nexport const LoadingOverlayProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const { t } = useTranslation()\n const fallbackText = t('general:loading')\n const [overlays, dispatchOverlay] = React.useReducer(reducer, defaultLoadingOverlayState)\n\n const { isMounted, isUnmounting, triggerDelayedRender } = useDelayedRender({\n delayBeforeShow: 1000,\n inTimeout: animatedDuration,\n minShowTime: 500,\n outTimeout: animatedDuration,\n show: overlays.isLoading,\n })\n\n const toggleLoadingOverlay = React.useCallback<ToggleLoadingOverlay>(\n ({ type, isLoading, key, loadingText = fallbackText }) => {\n if (isLoading) {\n triggerDelayedRender()\n dispatchOverlay({\n type: 'add',\n payload: {\n type,\n key,\n loadingText,\n },\n })\n } else {\n dispatchOverlay({\n type: 'remove',\n payload: {\n type,\n key,\n },\n })\n }\n },\n [triggerDelayedRender, fallbackText],\n )\n\n return (\n <Context\n value={{\n isOnScreen: isMounted,\n toggleLoadingOverlay,\n }}\n >\n {isMounted && (\n <LoadingOverlay\n animationDuration={`${animatedDuration}ms`}\n loadingText={overlays.loadingText || fallbackText}\n overlayType={overlays.overlayType}\n show={!isUnmounting}\n />\n )}\n {children}\n </Context>\n )\n}\n\nexport const useLoadingOverlay = (): LoadingOverlayContext => {\n const contextHook = React.use(Context)\n if (contextHook === undefined) {\n throw new Error('useLoadingOverlay must be used within a LoadingOverlayProvider')\n }\n\n return contextHook\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,aAAa,QAAQ;AAIrC,SAASC,cAAc,QAAQ;AAC/B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAC/B,SAASC,0BAA0B,EAAEC,OAAO,QAAQ;AAEpD,MAAMC,gBAAA,GAAmB;AAEzB,MAAMC,OAAA,gBAAUP,aAAA,CAAc;EAC5BQ,UAAA,EAAY;EACZC,oBAAA,EAAsBC;AACxB;AAEA,OAAO,MAAMC,sBAAA,GAAmEA,CAAC;EAAEC;AAAQ,CAAE;EAC3F,MAAM;IAAEC;EAAC,CAAE,GAAGV,cAAA;EACd,MAAMW,YAAA,GAAeD,CAAA,CAAE;EACvB,MAAM,CAACE,QAAA,EAAUC,eAAA,CAAgB,GAAGjB,KAAA,CAAMkB,UAAU,CAACZ,OAAA,EAASD,0BAAA;EAE9D,MAAM;IAAEc,SAAS;IAAEC,YAAY;IAAEC;EAAoB,CAAE,GAAGlB,gBAAA,CAAiB;IACzEmB,eAAA,EAAiB;IACjBC,SAAA,EAAWhB,gBAAA;IACXiB,WAAA,EAAa;IACbC,UAAA,EAAYlB,gBAAA;IACZmB,IAAA,EAAMV,QAAA,CAASW;EACjB;EAEA,MAAMjB,oBAAA,GAAuBV,KAAA,CAAM4B,WAAW,CAC5C,CAAC;IAAEC,IAAI;IAAEF,SAAS;IAAEG,GAAG;IAAEC,WAAA,GAAchB;EAAY,CAAE;IACnD,IAAIY,SAAA,EAAW;MACbN,oBAAA;MACAJ,eAAA,CAAgB;QACdY,IAAA,EAAM;QACNG,OAAA,EAAS;UACPH,IAAA;UACAC,GAAA;UACAC;QACF;MACF;IACF,OAAO;MACLd,eAAA,CAAgB;QACdY,IAAA,EAAM;QACNG,OAAA,EAAS;UACPH,IAAA;UACAC;QACF;MACF;IACF;EACF,GACA,CAACT,oBAAA,EAAsBN,YAAA,CAAa;EAGtC,oBACEkB,KAAA,CAACzB,OAAA;IACC0B,KAAA,EAAO;MACLzB,UAAA,EAAYU,SAAA;MACZT;IACF;eAECS,SAAA,iBACCgB,IAAA,CAACjC,cAAA;MACCkC,iBAAA,EAAmB,GAAG7B,gBAAA,IAAoB;MAC1CwB,WAAA,EAAaf,QAAA,CAASe,WAAW,IAAIhB,YAAA;MACrCsB,WAAA,EAAarB,QAAA,CAASqB,WAAW;MACjCX,IAAA,EAAM,CAACN;QAGVP,QAAA;;AAGP;AAEA,OAAO,MAAMyB,iBAAA,GAAoBA,CAAA;EAC/B,MAAMC,WAAA,GAAcvC,KAAA,CAAMwC,GAAG,CAAChC,OAAA;EAC9B,IAAI+B,WAAA,KAAgB5B,SAAA,EAAW;IAC7B,MAAM,IAAI8B,KAAA,CAAM;EAClB;EAEA,OAAOF,WAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","createContext","LoadingOverlay","useDelayedRender","useTranslation","defaultLoadingOverlayState","reducer","animatedDuration","Context","isOnScreen","toggleLoadingOverlay","undefined","LoadingOverlayProvider","t0","$","children","t","t1","fallbackText","overlays","dispatchOverlay","useReducer","t2","isLoading","delayBeforeShow","inTimeout","minShowTime","outTimeout","show","isMounted","isUnmounting","triggerDelayedRender","t3","t4","type","key","loadingText","t5","payload","overlayType","_jsx","animationDuration","_jsxs","value","useLoadingOverlay","contextHook","use","Error"],"sources":["../../../src/elements/LoadingOverlay/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext } from 'react'\n\nimport type { LoadingOverlayContext, ToggleLoadingOverlay } from './types.js'\n\nimport { LoadingOverlay } from '../../elements/Loading/index.js'\nimport { useDelayedRender } from '../../hooks/useDelayedRender.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { defaultLoadingOverlayState, reducer } from './reducer.js'\n\nconst animatedDuration = 250\n\nconst Context = createContext({\n isOnScreen: false,\n toggleLoadingOverlay: undefined,\n})\n\nexport const LoadingOverlayProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const { t } = useTranslation()\n const fallbackText = t('general:loading')\n const [overlays, dispatchOverlay] = React.useReducer(reducer, defaultLoadingOverlayState)\n\n const { isMounted, isUnmounting, triggerDelayedRender } = useDelayedRender({\n delayBeforeShow: 1000,\n inTimeout: animatedDuration,\n minShowTime: 500,\n outTimeout: animatedDuration,\n show: overlays.isLoading,\n })\n\n const toggleLoadingOverlay = React.useCallback<ToggleLoadingOverlay>(\n ({ type, isLoading, key, loadingText = fallbackText }) => {\n if (isLoading) {\n triggerDelayedRender()\n dispatchOverlay({\n type: 'add',\n payload: {\n type,\n key,\n loadingText,\n },\n })\n } else {\n dispatchOverlay({\n type: 'remove',\n payload: {\n type,\n key,\n },\n })\n }\n },\n [triggerDelayedRender, fallbackText],\n )\n\n return (\n <Context\n value={{\n isOnScreen: isMounted,\n toggleLoadingOverlay,\n }}\n >\n {isMounted && (\n <LoadingOverlay\n animationDuration={`${animatedDuration}ms`}\n loadingText={overlays.loadingText || fallbackText}\n overlayType={overlays.overlayType}\n show={!isUnmounting}\n />\n )}\n {children}\n </Context>\n )\n}\n\nexport const useLoadingOverlay = (): LoadingOverlayContext => {\n const contextHook = React.use(Context)\n if (contextHook === undefined) {\n throw new Error('useLoadingOverlay must be used within a LoadingOverlayProvider')\n }\n\n return contextHook\n}\n"],"mappings":"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","ignoreList":[]}