@payloadcms/next 3.68.0-internal-debug.e9b66ee → 3.68.0-internal-debug.654e4ad

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 (161) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +21 -6
  2. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +44 -20
  4. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/index.js +73 -41
  6. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +10 -1
  8. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  9. package/dist/elements/DocumentHeader/index.js +45 -7
  10. package/dist/elements/DocumentHeader/index.js.map +1 -1
  11. package/dist/elements/FormHeader/index.js +25 -4
  12. package/dist/elements/FormHeader/index.js.map +1 -1
  13. package/dist/elements/Nav/NavHamburger/index.js +21 -5
  14. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  15. package/dist/elements/Nav/NavWrapper/index.js +24 -10
  16. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  17. package/dist/elements/Nav/SettingsMenuButton/index.js +27 -4
  18. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  19. package/dist/elements/Nav/index.client.js +91 -43
  20. package/dist/elements/Nav/index.client.js.map +1 -1
  21. package/dist/elements/Nav/index.js +100 -48
  22. package/dist/elements/Nav/index.js.map +1 -1
  23. package/dist/layouts/Root/NestProviders.js +12 -3
  24. package/dist/layouts/Root/NestProviders.js.map +1 -1
  25. package/dist/layouts/Root/index.js +84 -19
  26. package/dist/layouts/Root/index.js.map +1 -1
  27. package/dist/routes/rest/og/image.js +97 -61
  28. package/dist/routes/rest/og/image.js.map +1 -1
  29. package/dist/routes/rest/og/index.js +15 -1
  30. package/dist/routes/rest/og/index.js.map +1 -1
  31. package/dist/templates/Default/NavHamburger/index.js +10 -1
  32. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  33. package/dist/templates/Default/Wrapper/index.js +16 -9
  34. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  35. package/dist/templates/Default/index.js +106 -38
  36. package/dist/templates/Default/index.js.map +1 -1
  37. package/dist/templates/Minimal/index.js +18 -3
  38. package/dist/templates/Minimal/index.js.map +1 -1
  39. package/dist/views/API/LocaleSelector/index.js +15 -5
  40. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  41. package/dist/views/API/RenderJSON/index.js +156 -59
  42. package/dist/views/API/RenderJSON/index.js.map +1 -1
  43. package/dist/views/API/index.client.js +215 -71
  44. package/dist/views/API/index.client.js.map +1 -1
  45. package/dist/views/API/index.js +7 -1
  46. package/dist/views/API/index.js.map +1 -1
  47. package/dist/views/Account/ResetPreferences/index.js +35 -8
  48. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  49. package/dist/views/Account/Settings/LanguageSelector.js +15 -3
  50. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  51. package/dist/views/Account/Settings/index.js +58 -12
  52. package/dist/views/Account/Settings/index.js.map +1 -1
  53. package/dist/views/Account/ToggleTheme/index.js +30 -19
  54. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  55. package/dist/views/Account/index.js +83 -25
  56. package/dist/views/Account/index.js.map +1 -1
  57. package/dist/views/BrowseByFolder/buildView.js +38 -28
  58. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  59. package/dist/views/CollectionFolders/buildView.js +45 -35
  60. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  61. package/dist/views/CreateFirstUser/index.client.js +75 -20
  62. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  63. package/dist/views/CreateFirstUser/index.js +36 -5
  64. package/dist/views/CreateFirstUser/index.js.map +1 -1
  65. package/dist/views/Dashboard/Default/index.js +169 -94
  66. package/dist/views/Dashboard/Default/index.js.map +1 -1
  67. package/dist/views/Dashboard/index.js +43 -24
  68. package/dist/views/Dashboard/index.js.map +1 -1
  69. package/dist/views/Document/index.js +76 -14
  70. package/dist/views/Document/index.js.map +1 -1
  71. package/dist/views/Edit/index.js +9 -1
  72. package/dist/views/Edit/index.js.map +1 -1
  73. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +104 -57
  74. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  75. package/dist/views/ForgotPassword/index.js +75 -23
  76. package/dist/views/ForgotPassword/index.js.map +1 -1
  77. package/dist/views/List/index.js +53 -31
  78. package/dist/views/List/index.js.map +1 -1
  79. package/dist/views/List/renderListViewSlots.js +21 -9
  80. package/dist/views/List/renderListViewSlots.js.map +1 -1
  81. package/dist/views/Login/LoginField/index.js +49 -23
  82. package/dist/views/Login/LoginField/index.js.map +1 -1
  83. package/dist/views/Login/LoginForm/index.js +68 -20
  84. package/dist/views/Login/LoginForm/index.js.map +1 -1
  85. package/dist/views/Login/index.js +66 -33
  86. package/dist/views/Login/index.js.map +1 -1
  87. package/dist/views/Logout/LogoutClient.js +36 -7
  88. package/dist/views/Logout/LogoutClient.js.map +1 -1
  89. package/dist/views/Logout/index.js +26 -4
  90. package/dist/views/Logout/index.js.map +1 -1
  91. package/dist/views/NotFound/index.client.js +55 -15
  92. package/dist/views/NotFound/index.client.js.map +1 -1
  93. package/dist/views/NotFound/index.js +33 -5
  94. package/dist/views/NotFound/index.js.map +1 -1
  95. package/dist/views/ResetPassword/ResetPasswordForm/index.js +57 -12
  96. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  97. package/dist/views/ResetPassword/index.js +86 -23
  98. package/dist/views/ResetPassword/index.js.map +1 -1
  99. package/dist/views/Root/index.js +52 -12
  100. package/dist/views/Root/index.js.map +1 -1
  101. package/dist/views/Unauthorized/index.js +50 -15
  102. package/dist/views/Unauthorized/index.js.map +1 -1
  103. package/dist/views/Verify/index.js +47 -10
  104. package/dist/views/Verify/index.js.map +1 -1
  105. package/dist/views/Version/Default/SelectedLocalesContext.js +1 -1
  106. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  107. package/dist/views/Version/Default/index.js +258 -52
  108. package/dist/views/Version/Default/index.js.map +1 -1
  109. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +65 -16
  110. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  111. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +66 -24
  112. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  113. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +34 -5
  114. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  115. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +17 -4
  116. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  117. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +55 -10
  118. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  119. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +128 -43
  120. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  121. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +151 -23
  122. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  123. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +16 -3
  124. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  125. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +17 -4
  126. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  127. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +122 -51
  128. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  129. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +17 -4
  130. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  131. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +176 -27
  132. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  133. package/dist/views/Version/RenderFieldsToDiff/index.js +9 -1
  134. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  135. package/dist/views/Version/Restore/index.js +61 -21
  136. package/dist/views/Version/Restore/index.js.map +1 -1
  137. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +24 -16
  138. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  139. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +37 -6
  140. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  141. package/dist/views/Version/SelectComparison/index.js +40 -10
  142. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  143. package/dist/views/Version/SelectLocales/index.js +33 -17
  144. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  145. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +84 -17
  146. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  147. package/dist/views/Version/index.js +63 -21
  148. package/dist/views/Version/index.js.map +1 -1
  149. package/dist/views/Versions/buildColumns.js +58 -9
  150. package/dist/views/Versions/buildColumns.js.map +1 -1
  151. package/dist/views/Versions/cells/AutosaveCell/index.js +31 -4
  152. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  153. package/dist/views/Versions/cells/CreatedAt/index.js +15 -7
  154. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  155. package/dist/views/Versions/cells/ID/index.js +9 -2
  156. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  157. package/dist/views/Versions/index.client.js +98 -20
  158. package/dist/views/Versions/index.client.js.map +1 -1
  159. package/dist/views/Versions/index.js +59 -13
  160. package/dist/views/Versions/index.js.map +1 -1
  161. package/package.json +6 -6
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
3
  import { CheckboxInput, ChevronIcon, formatTimeToNow, Gutter, Pill, useConfig, useDocumentInfo, useLocale, useRouteTransition, useTranslation } from '@payloadcms/ui';
3
4
  import { usePathname, useRouter, useSearchParams } from 'next/navigation.js';
4
5
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
@@ -134,58 +135,263 @@ export const DefaultVersionView = ({ canUpdate, modifiedOnly: modifiedOnlyProp,
134
135
  i18n,
135
136
  t
136
137
  ]);
137
- return <main className={baseClass}>
138
- <Gutter className={`${baseClass}-controls-top`}>
139
- <div className={`${baseClass}-controls-top__wrapper`}>
140
- <h2>{i18n.t('version:compareVersions')}</h2>
141
- <div className={`${baseClass}-controls-top__wrapper-actions`}>
142
- <span className={`${baseClass}__modifiedCheckBox`}>
143
- <CheckboxInput checked={modifiedOnly} id={'modifiedOnly'} label={i18n.t('version:modifiedOnly')} onToggle={onToggleModifiedOnly}/>
144
- </span>
145
- {localization && <Pill aria-controls={`${baseClass}-locales`} aria-expanded={localeSelectorOpen} className={`${baseClass}__toggle-locales`} icon={<ChevronIcon direction={localeSelectorOpen ? 'up' : 'down'}/>} onClick={()=>setLocaleSelectorOpen((localeSelectorOpen)=>!localeSelectorOpen)} pillStyle="light" size="small">
146
- <span className={`${baseClass}__toggle-locales-label`}>
147
- {t('general:locales')}:{' '}
148
- </span>
149
- <span className={`${baseClass}__toggle-locales-list`}>
150
- {locales.filter((locale)=>locale.selected).map((locale)=>locale.name).join(', ')}
151
- </span>
152
- </Pill>}
153
- </div>
154
- </div>
155
-
156
- {localization && <SelectLocales locales={locales} localeSelectorOpen={localeSelectorOpen} onChange={onChangeSelectedLocales}/>}
157
- </Gutter>
158
- <Gutter className={`${baseClass}-controls-bottom`}>
159
- <div className={`${baseClass}-controls-bottom__wrapper`}>
160
- <div className={`${baseClass}__version-from`}>
161
- <div className={`${baseClass}__version-from-labels`}>
162
- <span>{t('version:comparingAgainst')}</span>
163
- {versionFromTimeAgo && <span className={`${baseClass}__time-elapsed`}>{versionFromTimeAgo}</span>}
164
- </div>
165
- <SelectComparison collectionSlug={collectionSlug} docID={originalDocID} globalSlug={globalSlug} onChange={onChangeVersionFrom} versionFromID={versionFromID} versionFromOptions={versionFromOptions}/>
166
- </div>
167
-
168
- <div className={`${baseClass}__version-to`}>
169
- <div className={`${baseClass}__version-to-labels`}>
170
- <span>{t('version:currentlyViewing')}</span>
171
- <span className={`${baseClass}__time-elapsed`}>{versionToTimeAgo}</span>
172
- </div>
173
- <div className={`${baseClass}__version-to-version`}>
174
- {VersionToCreatedAtLabel}
175
- {canUpdate && !isTrashed && <Restore className={`${baseClass}__restore`} collectionConfig={collectionConfig} globalConfig={globalConfig} label={collectionConfig?.labels.singular || globalConfig?.label} originalDocID={originalDocID} status={versionToStatus} versionDateFormatted={versionToCreatedAtFormatted} versionID={versionToID}/>}
176
- </div>
177
- </div>
178
- </div>
179
- </Gutter>
180
- <SetStepNav collectionConfig={collectionConfig} globalConfig={globalConfig} id={originalDocID} isTrashed={isTrashed} versionToCreatedAtFormatted={versionToCreatedAtFormatted} versionToID={versionToID}/>
181
- <Gutter className={`${baseClass}__diff-wrap`}>
182
- <SelectedLocalesContext value={{
183
- selectedLocales: locales.map((locale)=>locale.name)
184
- }}>
185
- {versionToCreatedAt && RenderedDiff}
186
- </SelectedLocalesContext>
187
- </Gutter>
188
- </main>;
138
+ return /*#__PURE__*/ _jsxDEV("main", {
139
+ className: baseClass,
140
+ children: [
141
+ /*#__PURE__*/ _jsxDEV(Gutter, {
142
+ className: `${baseClass}-controls-top`,
143
+ children: [
144
+ /*#__PURE__*/ _jsxDEV("div", {
145
+ className: `${baseClass}-controls-top__wrapper`,
146
+ children: [
147
+ /*#__PURE__*/ _jsxDEV("h2", {
148
+ children: i18n.t('version:compareVersions')
149
+ }, void 0, false, {
150
+ fileName: "src/views/Version/Default/index.tsx",
151
+ lineNumber: 186,
152
+ columnNumber: 11
153
+ }, this),
154
+ /*#__PURE__*/ _jsxDEV("div", {
155
+ className: `${baseClass}-controls-top__wrapper-actions`,
156
+ children: [
157
+ /*#__PURE__*/ _jsxDEV("span", {
158
+ className: `${baseClass}__modifiedCheckBox`,
159
+ children: /*#__PURE__*/ _jsxDEV(CheckboxInput, {
160
+ checked: modifiedOnly,
161
+ id: 'modifiedOnly',
162
+ label: i18n.t('version:modifiedOnly'),
163
+ onToggle: onToggleModifiedOnly
164
+ }, void 0, false, {
165
+ fileName: "src/views/Version/Default/index.tsx",
166
+ lineNumber: 189,
167
+ columnNumber: 15
168
+ }, this)
169
+ }, void 0, false, {
170
+ fileName: "src/views/Version/Default/index.tsx",
171
+ lineNumber: 188,
172
+ columnNumber: 13
173
+ }, this),
174
+ localization && /*#__PURE__*/ _jsxDEV(Pill, {
175
+ "aria-controls": `${baseClass}-locales`,
176
+ "aria-expanded": localeSelectorOpen,
177
+ className: `${baseClass}__toggle-locales`,
178
+ icon: /*#__PURE__*/ _jsxDEV(ChevronIcon, {
179
+ direction: localeSelectorOpen ? 'up' : 'down'
180
+ }, void 0, false, {
181
+ fileName: "src/views/Version/Default/index.tsx",
182
+ lineNumber: 201,
183
+ columnNumber: 23
184
+ }, void 0),
185
+ onClick: ()=>setLocaleSelectorOpen((localeSelectorOpen)=>!localeSelectorOpen),
186
+ pillStyle: "light",
187
+ size: "small",
188
+ children: [
189
+ /*#__PURE__*/ _jsxDEV("span", {
190
+ className: `${baseClass}__toggle-locales-label`,
191
+ children: [
192
+ t('general:locales'),
193
+ ":",
194
+ ' '
195
+ ]
196
+ }, void 0, true, {
197
+ fileName: "src/views/Version/Default/index.tsx",
198
+ lineNumber: 206,
199
+ columnNumber: 17
200
+ }, this),
201
+ /*#__PURE__*/ _jsxDEV("span", {
202
+ className: `${baseClass}__toggle-locales-list`,
203
+ children: locales.filter((locale)=>locale.selected).map((locale)=>locale.name).join(', ')
204
+ }, void 0, false, {
205
+ fileName: "src/views/Version/Default/index.tsx",
206
+ lineNumber: 209,
207
+ columnNumber: 17
208
+ }, this)
209
+ ]
210
+ }, void 0, true, {
211
+ fileName: "src/views/Version/Default/index.tsx",
212
+ lineNumber: 197,
213
+ columnNumber: 15
214
+ }, this)
215
+ ]
216
+ }, void 0, true, {
217
+ fileName: "src/views/Version/Default/index.tsx",
218
+ lineNumber: 187,
219
+ columnNumber: 11
220
+ }, this)
221
+ ]
222
+ }, void 0, true, {
223
+ fileName: "src/views/Version/Default/index.tsx",
224
+ lineNumber: 185,
225
+ columnNumber: 9
226
+ }, this),
227
+ localization && /*#__PURE__*/ _jsxDEV(SelectLocales, {
228
+ locales: locales,
229
+ localeSelectorOpen: localeSelectorOpen,
230
+ onChange: onChangeSelectedLocales
231
+ }, void 0, false, {
232
+ fileName: "src/views/Version/Default/index.tsx",
233
+ lineNumber: 221,
234
+ columnNumber: 11
235
+ }, this)
236
+ ]
237
+ }, void 0, true, {
238
+ fileName: "src/views/Version/Default/index.tsx",
239
+ lineNumber: 184,
240
+ columnNumber: 7
241
+ }, this),
242
+ /*#__PURE__*/ _jsxDEV(Gutter, {
243
+ className: `${baseClass}-controls-bottom`,
244
+ children: /*#__PURE__*/ _jsxDEV("div", {
245
+ className: `${baseClass}-controls-bottom__wrapper`,
246
+ children: [
247
+ /*#__PURE__*/ _jsxDEV("div", {
248
+ className: `${baseClass}__version-from`,
249
+ children: [
250
+ /*#__PURE__*/ _jsxDEV("div", {
251
+ className: `${baseClass}__version-from-labels`,
252
+ children: [
253
+ /*#__PURE__*/ _jsxDEV("span", {
254
+ children: t('version:comparingAgainst')
255
+ }, void 0, false, {
256
+ fileName: "src/views/Version/Default/index.tsx",
257
+ lineNumber: 232,
258
+ columnNumber: 15
259
+ }, this),
260
+ versionFromTimeAgo && /*#__PURE__*/ _jsxDEV("span", {
261
+ className: `${baseClass}__time-elapsed`,
262
+ children: versionFromTimeAgo
263
+ }, void 0, false, {
264
+ fileName: "src/views/Version/Default/index.tsx",
265
+ lineNumber: 234,
266
+ columnNumber: 17
267
+ }, this)
268
+ ]
269
+ }, void 0, true, {
270
+ fileName: "src/views/Version/Default/index.tsx",
271
+ lineNumber: 231,
272
+ columnNumber: 13
273
+ }, this),
274
+ /*#__PURE__*/ _jsxDEV(SelectComparison, {
275
+ collectionSlug: collectionSlug,
276
+ docID: originalDocID,
277
+ globalSlug: globalSlug,
278
+ onChange: onChangeVersionFrom,
279
+ versionFromID: versionFromID,
280
+ versionFromOptions: versionFromOptions
281
+ }, void 0, false, {
282
+ fileName: "src/views/Version/Default/index.tsx",
283
+ lineNumber: 237,
284
+ columnNumber: 13
285
+ }, this)
286
+ ]
287
+ }, void 0, true, {
288
+ fileName: "src/views/Version/Default/index.tsx",
289
+ lineNumber: 230,
290
+ columnNumber: 11
291
+ }, this),
292
+ /*#__PURE__*/ _jsxDEV("div", {
293
+ className: `${baseClass}__version-to`,
294
+ children: [
295
+ /*#__PURE__*/ _jsxDEV("div", {
296
+ className: `${baseClass}__version-to-labels`,
297
+ children: [
298
+ /*#__PURE__*/ _jsxDEV("span", {
299
+ children: t('version:currentlyViewing')
300
+ }, void 0, false, {
301
+ fileName: "src/views/Version/Default/index.tsx",
302
+ lineNumber: 249,
303
+ columnNumber: 15
304
+ }, this),
305
+ /*#__PURE__*/ _jsxDEV("span", {
306
+ className: `${baseClass}__time-elapsed`,
307
+ children: versionToTimeAgo
308
+ }, void 0, false, {
309
+ fileName: "src/views/Version/Default/index.tsx",
310
+ lineNumber: 250,
311
+ columnNumber: 15
312
+ }, this)
313
+ ]
314
+ }, void 0, true, {
315
+ fileName: "src/views/Version/Default/index.tsx",
316
+ lineNumber: 248,
317
+ columnNumber: 13
318
+ }, this),
319
+ /*#__PURE__*/ _jsxDEV("div", {
320
+ className: `${baseClass}__version-to-version`,
321
+ children: [
322
+ VersionToCreatedAtLabel,
323
+ canUpdate && !isTrashed && /*#__PURE__*/ _jsxDEV(Restore, {
324
+ className: `${baseClass}__restore`,
325
+ collectionConfig: collectionConfig,
326
+ globalConfig: globalConfig,
327
+ label: collectionConfig?.labels.singular || globalConfig?.label,
328
+ originalDocID: originalDocID,
329
+ status: versionToStatus,
330
+ versionDateFormatted: versionToCreatedAtFormatted,
331
+ versionID: versionToID
332
+ }, void 0, false, {
333
+ fileName: "src/views/Version/Default/index.tsx",
334
+ lineNumber: 255,
335
+ columnNumber: 17
336
+ }, this)
337
+ ]
338
+ }, void 0, true, {
339
+ fileName: "src/views/Version/Default/index.tsx",
340
+ lineNumber: 252,
341
+ columnNumber: 13
342
+ }, this)
343
+ ]
344
+ }, void 0, true, {
345
+ fileName: "src/views/Version/Default/index.tsx",
346
+ lineNumber: 247,
347
+ columnNumber: 11
348
+ }, this)
349
+ ]
350
+ }, void 0, true, {
351
+ fileName: "src/views/Version/Default/index.tsx",
352
+ lineNumber: 229,
353
+ columnNumber: 9
354
+ }, this)
355
+ }, void 0, false, {
356
+ fileName: "src/views/Version/Default/index.tsx",
357
+ lineNumber: 228,
358
+ columnNumber: 7
359
+ }, this),
360
+ /*#__PURE__*/ _jsxDEV(SetStepNav, {
361
+ collectionConfig: collectionConfig,
362
+ globalConfig: globalConfig,
363
+ id: originalDocID,
364
+ isTrashed: isTrashed,
365
+ versionToCreatedAtFormatted: versionToCreatedAtFormatted,
366
+ versionToID: versionToID
367
+ }, void 0, false, {
368
+ fileName: "src/views/Version/Default/index.tsx",
369
+ lineNumber: 270,
370
+ columnNumber: 7
371
+ }, this),
372
+ /*#__PURE__*/ _jsxDEV(Gutter, {
373
+ className: `${baseClass}__diff-wrap`,
374
+ children: /*#__PURE__*/ _jsxDEV(SelectedLocalesContext, {
375
+ value: {
376
+ selectedLocales: locales.map((locale)=>locale.name)
377
+ },
378
+ children: versionToCreatedAt && RenderedDiff
379
+ }, void 0, false, {
380
+ fileName: "src/views/Version/Default/index.tsx",
381
+ lineNumber: 279,
382
+ columnNumber: 9
383
+ }, this)
384
+ }, void 0, false, {
385
+ fileName: "src/views/Version/Default/index.tsx",
386
+ lineNumber: 278,
387
+ columnNumber: 7
388
+ }, this)
389
+ ]
390
+ }, void 0, true, {
391
+ fileName: "src/views/Version/Default/index.tsx",
392
+ lineNumber: 183,
393
+ columnNumber: 5
394
+ }, this);
189
395
  };
190
396
 
191
397
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n CheckboxInput,\n ChevronIcon,\n formatTimeToNow,\n Gutter,\n Pill,\n type SelectablePill,\n useConfig,\n useDocumentInfo,\n useLocale,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { type FormEventHandler, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { Restore } from '../Restore/index.js'\nimport './index.scss'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { type SelectedLocaleOnChange, SelectLocales } from '../SelectLocales/index.js'\nimport { SelectedLocalesContext } from './SelectedLocalesContext.js'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n canUpdate,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesFromProps,\n versionFromCreatedAt,\n versionFromID,\n versionFromOptions,\n versionToCreatedAt,\n versionToCreatedAtFormatted,\n VersionToCreatedAtLabel,\n versionToID,\n versionToStatus,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const [locales, setLocales] = useState<SelectablePill[]>([])\n const [localeSelectorOpen, setLocaleSelectorOpen] = React.useState(false)\n\n useEffect(() => {\n if (config.localization) {\n const updatedLocales = config.localization.locales.map((locale) => {\n let label = locale.label\n if (typeof locale.label !== 'string' && locale.label[code]) {\n label = locale.label[code]\n }\n\n return {\n name: locale.code,\n Label: label,\n selected: selectedLocalesFromProps.includes(locale.code),\n } as SelectablePill\n })\n setLocales(updatedLocales)\n }\n }, [code, config.localization, selectedLocalesFromProps])\n\n const { id: originalDocID, collectionSlug, globalSlug, isTrashed } = useDocumentInfo()\n const { startRouteTransition } = useRouteTransition()\n\n const { collectionConfig, globalConfig } = useMemo(() => {\n return {\n collectionConfig: getEntityConfig({ collectionSlug }),\n globalConfig: getEntityConfig({ globalSlug }),\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const [modifiedOnly, setModifiedOnly] = useState(modifiedOnlyProp)\n\n const updateSearchParams = useCallback(\n (args: {\n modifiedOnly?: boolean\n selectedLocales?: SelectablePill[]\n versionFromID?: string\n }) => {\n // If the selected comparison doc or locales change, update URL params so that version page\n // This is so that RSC can update the version comparison state\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (args?.versionFromID) {\n current.set('versionFrom', args?.versionFromID)\n }\n\n if (args?.selectedLocales) {\n if (!args.selectedLocales.length) {\n current.delete('localeCodes')\n } else {\n const selectedLocaleCodes: string[] = []\n for (const locale of args.selectedLocales) {\n if (locale.selected) {\n selectedLocaleCodes.push(locale.name)\n }\n }\n current.set('localeCodes', JSON.stringify(selectedLocaleCodes))\n }\n }\n\n if (args?.modifiedOnly === false) {\n current.set('modifiedOnly', 'false')\n } else if (args?.modifiedOnly === true) {\n current.delete('modifiedOnly')\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n\n startRouteTransition(() => router.push(`${pathname}${query}`))\n },\n [pathname, router, searchParams, startRouteTransition],\n )\n\n const onToggleModifiedOnly: FormEventHandler<HTMLInputElement> = useCallback(\n (event) => {\n const newModified = (event.target as HTMLInputElement).checked\n setModifiedOnly(newModified)\n updateSearchParams({\n modifiedOnly: newModified,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeSelectedLocales: SelectedLocaleOnChange = useCallback(\n ({ locales }) => {\n setLocales(locales)\n updateSearchParams({\n selectedLocales: locales,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeVersionFrom: (val: CompareOption) => void = useCallback(\n (val) => {\n updateSearchParams({\n versionFromID: val.value,\n })\n },\n [updateSearchParams],\n )\n\n const { localization } = config\n\n const versionToTimeAgo = useMemo(\n () =>\n t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionToCreatedAt,\n i18n,\n }),\n }),\n [versionToCreatedAt, i18n, t],\n )\n\n const versionFromTimeAgo = useMemo(\n () =>\n versionFromCreatedAt\n ? t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionFromCreatedAt,\n i18n,\n }),\n })\n : undefined,\n [versionFromCreatedAt, i18n, t],\n )\n\n return (\n <main className={baseClass}>\n <Gutter className={`${baseClass}-controls-top`}>\n <div className={`${baseClass}-controls-top__wrapper`}>\n <h2>{i18n.t('version:compareVersions')}</h2>\n <div className={`${baseClass}-controls-top__wrapper-actions`}>\n <span className={`${baseClass}__modifiedCheckBox`}>\n <CheckboxInput\n checked={modifiedOnly}\n id={'modifiedOnly'}\n label={i18n.t('version:modifiedOnly')}\n onToggle={onToggleModifiedOnly}\n />\n </span>\n {localization && (\n <Pill\n aria-controls={`${baseClass}-locales`}\n aria-expanded={localeSelectorOpen}\n className={`${baseClass}__toggle-locales`}\n icon={<ChevronIcon direction={localeSelectorOpen ? 'up' : 'down'} />}\n onClick={() => setLocaleSelectorOpen((localeSelectorOpen) => !localeSelectorOpen)}\n pillStyle=\"light\"\n size=\"small\"\n >\n <span className={`${baseClass}__toggle-locales-label`}>\n {t('general:locales')}:{' '}\n </span>\n <span className={`${baseClass}__toggle-locales-list`}>\n {locales\n .filter((locale) => locale.selected)\n .map((locale) => locale.name)\n .join(', ')}\n </span>\n </Pill>\n )}\n </div>\n </div>\n\n {localization && (\n <SelectLocales\n locales={locales}\n localeSelectorOpen={localeSelectorOpen}\n onChange={onChangeSelectedLocales}\n />\n )}\n </Gutter>\n <Gutter className={`${baseClass}-controls-bottom`}>\n <div className={`${baseClass}-controls-bottom__wrapper`}>\n <div className={`${baseClass}__version-from`}>\n <div className={`${baseClass}__version-from-labels`}>\n <span>{t('version:comparingAgainst')}</span>\n {versionFromTimeAgo && (\n <span className={`${baseClass}__time-elapsed`}>{versionFromTimeAgo}</span>\n )}\n </div>\n <SelectComparison\n collectionSlug={collectionSlug}\n docID={originalDocID}\n globalSlug={globalSlug}\n onChange={onChangeVersionFrom}\n versionFromID={versionFromID}\n versionFromOptions={versionFromOptions}\n />\n </div>\n\n <div className={`${baseClass}__version-to`}>\n <div className={`${baseClass}__version-to-labels`}>\n <span>{t('version:currentlyViewing')}</span>\n <span className={`${baseClass}__time-elapsed`}>{versionToTimeAgo}</span>\n </div>\n <div className={`${baseClass}__version-to-version`}>\n {VersionToCreatedAtLabel}\n {canUpdate && !isTrashed && (\n <Restore\n className={`${baseClass}__restore`}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={originalDocID}\n status={versionToStatus}\n versionDateFormatted={versionToCreatedAtFormatted}\n versionID={versionToID}\n />\n )}\n </div>\n </div>\n </div>\n </Gutter>\n <SetStepNav\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n id={originalDocID}\n isTrashed={isTrashed}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n versionToID={versionToID}\n />\n <Gutter className={`${baseClass}__diff-wrap`}>\n <SelectedLocalesContext value={{ selectedLocales: locales.map((locale) => locale.name) }}>\n {versionToCreatedAt && RenderedDiff}\n </SelectedLocalesContext>\n </Gutter>\n </main>\n )\n}\n"],"names":["CheckboxInput","ChevronIcon","formatTimeToNow","Gutter","Pill","useConfig","useDocumentInfo","useLocale","useRouteTransition","useTranslation","usePathname","useRouter","useSearchParams","React","useCallback","useEffect","useMemo","useState","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","canUpdate","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesFromProps","versionFromCreatedAt","versionFromID","versionFromOptions","versionToCreatedAt","versionToCreatedAtFormatted","VersionToCreatedAtLabel","versionToID","versionToStatus","config","getEntityConfig","code","i18n","t","locales","setLocales","localeSelectorOpen","setLocaleSelectorOpen","localization","updatedLocales","map","locale","label","name","Label","selected","includes","id","originalDocID","collectionSlug","globalSlug","isTrashed","startRouteTransition","collectionConfig","globalConfig","router","pathname","searchParams","setModifiedOnly","updateSearchParams","args","current","URLSearchParams","Array","from","entries","set","length","delete","selectedLocaleCodes","push","JSON","stringify","search","toString","query","onToggleModifiedOnly","event","newModified","target","checked","onChangeSelectedLocales","onChangeVersionFrom","val","value","versionToTimeAgo","distance","date","versionFromTimeAgo","undefined","main","className","div","h2","span","onToggle","aria-controls","aria-expanded","icon","direction","onClick","pillStyle","size","filter","join","onChange","docID","labels","singular","status","versionDateFormatted","versionID"],"mappings":"AAAA;AAEA,SACEA,aAAa,EACbC,WAAW,EACXC,eAAe,EACfC,MAAM,EACNC,IAAI,EAEJC,SAAS,EACTC,eAAe,EACfC,SAAS,EACTC,kBAAkB,EAClBC,cAAc,QACT,iBAAgB;AACvB,SAASC,WAAW,EAAEC,SAAS,EAAEC,eAAe,QAAQ,qBAAoB;AAC5E,OAAOC,SAAgCC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,QAAO;AAI/F,SAASC,OAAO,QAAQ,sBAAqB;AAC7C,OAAO,eAAc;AACrB,SAASC,gBAAgB,QAAQ,+BAA8B;AAC/D,SAAsCC,aAAa,QAAQ,4BAA2B;AACtF,SAASC,sBAAsB,QAAQ,8BAA6B;AACpE,SAASC,UAAU,QAAQ,kBAAiB;AAE5C,MAAMC,YAAY;AAElB,OAAO,MAAMC,qBAAyD,CAAC,EACrEC,SAAS,EACTC,cAAcC,gBAAgB,EAC9BC,YAAY,EACZC,iBAAiBC,wBAAwB,EACzCC,oBAAoB,EACpBC,aAAa,EACbC,kBAAkB,EAClBC,kBAAkB,EAClBC,2BAA2B,EAC3BC,uBAAuB,EACvBC,WAAW,EACXC,eAAe,EAChB;IACC,MAAM,EAAEC,MAAM,EAAEC,eAAe,EAAE,GAAGnC;IACpC,MAAM,EAAEoC,IAAI,EAAE,GAAGlC;IACjB,MAAM,EAAEmC,IAAI,EAAEC,CAAC,EAAE,GAAGlC;IAEpB,MAAM,CAACmC,SAASC,WAAW,GAAG5B,SAA2B,EAAE;IAC3D,MAAM,CAAC6B,oBAAoBC,sBAAsB,GAAGlC,MAAMI,QAAQ,CAAC;IAEnEF,UAAU;QACR,IAAIwB,OAAOS,YAAY,EAAE;YACvB,MAAMC,iBAAiBV,OAAOS,YAAY,CAACJ,OAAO,CAACM,GAAG,CAAC,CAACC;gBACtD,IAAIC,QAAQD,OAAOC,KAAK;gBACxB,IAAI,OAAOD,OAAOC,KAAK,KAAK,YAAYD,OAAOC,KAAK,CAACX,KAAK,EAAE;oBAC1DW,QAAQD,OAAOC,KAAK,CAACX,KAAK;gBAC5B;gBAEA,OAAO;oBACLY,MAAMF,OAAOV,IAAI;oBACjBa,OAAOF;oBACPG,UAAUzB,yBAAyB0B,QAAQ,CAACL,OAAOV,IAAI;gBACzD;YACF;YACAI,WAAWI;QACb;IACF,GAAG;QAACR;QAAMF,OAAOS,YAAY;QAAElB;KAAyB;IAExD,MAAM,EAAE2B,IAAIC,aAAa,EAAEC,cAAc,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGvD;IACrE,MAAM,EAAEwD,oBAAoB,EAAE,GAAGtD;IAEjC,MAAM,EAAEuD,gBAAgB,EAAEC,YAAY,EAAE,GAAGhD,QAAQ;QACjD,OAAO;YACL+C,kBAAkBvB,gBAAgB;gBAAEmB;YAAe;YACnDK,cAAcxB,gBAAgB;gBAAEoB;YAAW;QAC7C;IACF,GAAG;QAACD;QAAgBC;QAAYpB;KAAgB;IAEhD,MAAMyB,SAAStD;IACf,MAAMuD,WAAWxD;IACjB,MAAMyD,eAAevD;IACrB,MAAM,CAACc,cAAc0C,gBAAgB,GAAGnD,SAASU;IAEjD,MAAM0C,qBAAqBvD,YACzB,CAACwD;QAKC,2FAA2F;QAC3F,8DAA8D;QAC9D,MAAMC,UAAU,IAAIC,gBAAgBC,MAAMC,IAAI,CAACP,aAAaQ,OAAO;QAEnE,IAAIL,MAAMtC,eAAe;YACvBuC,QAAQK,GAAG,CAAC,eAAeN,MAAMtC;QACnC;QAEA,IAAIsC,MAAMzC,iBAAiB;YACzB,IAAI,CAACyC,KAAKzC,eAAe,CAACgD,MAAM,EAAE;gBAChCN,QAAQO,MAAM,CAAC;YACjB,OAAO;gBACL,MAAMC,sBAAgC,EAAE;gBACxC,KAAK,MAAM5B,UAAUmB,KAAKzC,eAAe,CAAE;oBACzC,IAAIsB,OAAOI,QAAQ,EAAE;wBACnBwB,oBAAoBC,IAAI,CAAC7B,OAAOE,IAAI;oBACtC;gBACF;gBACAkB,QAAQK,GAAG,CAAC,eAAeK,KAAKC,SAAS,CAACH;YAC5C;QACF;QAEA,IAAIT,MAAM5C,iBAAiB,OAAO;YAChC6C,QAAQK,GAAG,CAAC,gBAAgB;QAC9B,OAAO,IAAIN,MAAM5C,iBAAiB,MAAM;YACtC6C,QAAQO,MAAM,CAAC;QACjB;QAEA,MAAMK,SAASZ,QAAQa,QAAQ;QAC/B,MAAMC,QAAQF,SAAS,CAAC,CAAC,EAAEA,QAAQ,GAAG;QAEtCrB,qBAAqB,IAAMG,OAAOe,IAAI,CAAC,GAAGd,WAAWmB,OAAO;IAC9D,GACA;QAACnB;QAAUD;QAAQE;QAAcL;KAAqB;IAGxD,MAAMwB,uBAA2DxE,YAC/D,CAACyE;QACC,MAAMC,cAAc,AAACD,MAAME,MAAM,CAAsBC,OAAO;QAC9DtB,gBAAgBoB;QAChBnB,mBAAmB;YACjB3C,cAAc8D;QAChB;IACF,GACA;QAACnB;KAAmB;IAGtB,MAAMsB,0BAAkD7E,YACtD,CAAC,EAAE8B,OAAO,EAAE;QACVC,WAAWD;QACXyB,mBAAmB;YACjBxC,iBAAiBe;QACnB;IACF,GACA;QAACyB;KAAmB;IAGtB,MAAMuB,sBAAoD9E,YACxD,CAAC+E;QACCxB,mBAAmB;YACjBrC,eAAe6D,IAAIC,KAAK;QAC1B;IACF,GACA;QAACzB;KAAmB;IAGtB,MAAM,EAAErB,YAAY,EAAE,GAAGT;IAEzB,MAAMwD,mBAAmB/E,QACvB,IACE2B,EAAE,sBAAsB;YACtBqD,UAAU9F,gBAAgB;gBACxB+F,MAAM/D;gBACNQ;YACF;QACF,IACF;QAACR;QAAoBQ;QAAMC;KAAE;IAG/B,MAAMuD,qBAAqBlF,QACzB,IACEe,uBACIY,EAAE,sBAAsB;YACtBqD,UAAU9F,gBAAgB;gBACxB+F,MAAMlE;gBACNW;YACF;QACF,KACAyD,WACN;QAACpE;QAAsBW;QAAMC;KAAE;IAGjC,QACGyD,KAAKC,WAAW9E,WAAW;MAC1B,CAACpB,OAAOkG,WAAW,GAAG9E,UAAU,aAAa,CAAC,EAAE;QAC9C,CAAC+E,IAAID,WAAW,GAAG9E,UAAU,sBAAsB,CAAC,EAAE;UACpD,CAACgF,IAAI7D,KAAKC,CAAC,CAAC,6BAA6B4D,GAAG;UAC5C,CAACD,IAAID,WAAW,GAAG9E,UAAU,8BAA8B,CAAC,EAAE;YAC5D,CAACiF,KAAKH,WAAW,GAAG9E,UAAU,kBAAkB,CAAC,EAAE;cACjD,CAACvB,cACC0F,SAAShE,cACT+B,IAAI,gBACJL,OAAOV,KAAKC,CAAC,CAAC,yBACd8D,UAAUnB,uBACV;YACJ,EAAEkB,KAAK;YACP,CAACxD,iBACE5C,KACCsG,eAAe,GAAGnF,UAAU,QAAQ,CAAC,EACrCoF,eAAe7D,oBACfuD,WAAW,GAAG9E,UAAU,gBAAgB,CAAC,EACzCqF,OAAO3G,YAAY4G,WAAW/D,qBAAqB,OAAO,WAC1DgE,SAAS,IAAM/D,sBAAsB,CAACD,qBAAuB,CAACA,qBAC9DiE,UAAU,QACVC,KAAK,QACN;gBACC,CAACR,KAAKH,WAAW,GAAG9E,UAAU,sBAAsB,CAAC,EAAE;kBACrD,CAACoB,EAAE,mBAAmB,CAAC,CAAC,IAAI;gBAC9B,EAAE6D,KAAK;gBACP,CAACA,KAAKH,WAAW,GAAG9E,UAAU,qBAAqB,CAAC,EAAE;kBACpD,CAACqB,QACEqE,MAAM,CAAC,CAAC9D,SAAWA,OAAOI,QAAQ,EAClCL,GAAG,CAAC,CAACC,SAAWA,OAAOE,IAAI,EAC3B6D,IAAI,CAAC,MAAM;gBAChB,EAAEV,KAAK;cACT,EAAEpG,MACF;UACJ,EAAEkG,IAAI;QACR,EAAEA,IAAI;;QAEN,CAACtD,iBACE5B,cACCwB,SAASA,SACTE,oBAAoBA,oBACpBqE,UAAUxB,2BAEZ;MACJ,EAAExF,OAAO;MACT,CAACA,OAAOkG,WAAW,GAAG9E,UAAU,gBAAgB,CAAC,EAAE;QACjD,CAAC+E,IAAID,WAAW,GAAG9E,UAAU,yBAAyB,CAAC,EAAE;UACvD,CAAC+E,IAAID,WAAW,GAAG9E,UAAU,cAAc,CAAC,EAAE;YAC5C,CAAC+E,IAAID,WAAW,GAAG9E,UAAU,qBAAqB,CAAC,EAAE;cACnD,CAACiF,MAAM7D,EAAE,8BAA8B6D,KAAK;cAC5C,CAACN,uBACEM,KAAKH,WAAW,GAAG9E,UAAU,cAAc,CAAC,GAAG2E,qBAAqBM,MACrE;YACJ,EAAEF,IAAI;YACN,CAACnF,iBACCwC,gBAAgBA,gBAChByD,OAAO1D,eACPE,YAAYA,YACZuD,UAAUvB,qBACV5D,eAAeA,eACfC,oBAAoBA,qBACpB;UACJ,EAAEqE,IAAI;;UAEN,CAACA,IAAID,WAAW,GAAG9E,UAAU,YAAY,CAAC,EAAE;YAC1C,CAAC+E,IAAID,WAAW,GAAG9E,UAAU,mBAAmB,CAAC,EAAE;cACjD,CAACiF,MAAM7D,EAAE,8BAA8B6D,KAAK;cAC5C,CAACA,KAAKH,WAAW,GAAG9E,UAAU,cAAc,CAAC,GAAGwE,mBAAmBS,KAAK;YAC1E,EAAEF,IAAI;YACN,CAACA,IAAID,WAAW,GAAG9E,UAAU,oBAAoB,CAAC,EAAE;cAClD,CAACa,wBAAwB;cACzB,CAACX,aAAa,CAACoC,cACZ3C,QACCmF,WAAW,GAAG9E,UAAU,SAAS,CAAC,EAClCwC,kBAAkBA,kBAClBC,cAAcA,cACdZ,OAAOW,kBAAkBsD,OAAOC,YAAYtD,cAAcZ,OAC1DM,eAAeA,eACf6D,QAAQjF,iBACRkF,sBAAsBrF,6BACtBsF,WAAWpF,eAEb;YACJ,EAAEiE,IAAI;UACR,EAAEA,IAAI;QACR,EAAEA,IAAI;MACR,EAAEnG,OAAO;MACT,CAACmB,WACCyC,kBAAkBA,kBAClBC,cAAcA,cACdP,IAAIC,eACJG,WAAWA,WACX1B,6BAA6BA,6BAC7BE,aAAaA,cACb;MACF,CAAClC,OAAOkG,WAAW,GAAG9E,UAAU,WAAW,CAAC,EAAE;QAC5C,CAACF,uBAAuByE,OAAO;QAAEjE,iBAAiBe,QAAQM,GAAG,CAAC,CAACC,SAAWA,OAAOE,IAAI;IAAE,GAAG;UACxF,CAACnB,sBAAsBN,aAAa;QACtC,EAAEP,uBAAuB;MAC3B,EAAElB,OAAO;IACX,EAAEiG;AAEN,EAAC"}
1
+ {"version":3,"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n CheckboxInput,\n ChevronIcon,\n formatTimeToNow,\n Gutter,\n Pill,\n type SelectablePill,\n useConfig,\n useDocumentInfo,\n useLocale,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { type FormEventHandler, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { Restore } from '../Restore/index.js'\nimport './index.scss'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { type SelectedLocaleOnChange, SelectLocales } from '../SelectLocales/index.js'\nimport { SelectedLocalesContext } from './SelectedLocalesContext.js'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n canUpdate,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesFromProps,\n versionFromCreatedAt,\n versionFromID,\n versionFromOptions,\n versionToCreatedAt,\n versionToCreatedAtFormatted,\n VersionToCreatedAtLabel,\n versionToID,\n versionToStatus,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const [locales, setLocales] = useState<SelectablePill[]>([])\n const [localeSelectorOpen, setLocaleSelectorOpen] = React.useState(false)\n\n useEffect(() => {\n if (config.localization) {\n const updatedLocales = config.localization.locales.map((locale) => {\n let label = locale.label\n if (typeof locale.label !== 'string' && locale.label[code]) {\n label = locale.label[code]\n }\n\n return {\n name: locale.code,\n Label: label,\n selected: selectedLocalesFromProps.includes(locale.code),\n } as SelectablePill\n })\n setLocales(updatedLocales)\n }\n }, [code, config.localization, selectedLocalesFromProps])\n\n const { id: originalDocID, collectionSlug, globalSlug, isTrashed } = useDocumentInfo()\n const { startRouteTransition } = useRouteTransition()\n\n const { collectionConfig, globalConfig } = useMemo(() => {\n return {\n collectionConfig: getEntityConfig({ collectionSlug }),\n globalConfig: getEntityConfig({ globalSlug }),\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const [modifiedOnly, setModifiedOnly] = useState(modifiedOnlyProp)\n\n const updateSearchParams = useCallback(\n (args: {\n modifiedOnly?: boolean\n selectedLocales?: SelectablePill[]\n versionFromID?: string\n }) => {\n // If the selected comparison doc or locales change, update URL params so that version page\n // This is so that RSC can update the version comparison state\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (args?.versionFromID) {\n current.set('versionFrom', args?.versionFromID)\n }\n\n if (args?.selectedLocales) {\n if (!args.selectedLocales.length) {\n current.delete('localeCodes')\n } else {\n const selectedLocaleCodes: string[] = []\n for (const locale of args.selectedLocales) {\n if (locale.selected) {\n selectedLocaleCodes.push(locale.name)\n }\n }\n current.set('localeCodes', JSON.stringify(selectedLocaleCodes))\n }\n }\n\n if (args?.modifiedOnly === false) {\n current.set('modifiedOnly', 'false')\n } else if (args?.modifiedOnly === true) {\n current.delete('modifiedOnly')\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n\n startRouteTransition(() => router.push(`${pathname}${query}`))\n },\n [pathname, router, searchParams, startRouteTransition],\n )\n\n const onToggleModifiedOnly: FormEventHandler<HTMLInputElement> = useCallback(\n (event) => {\n const newModified = (event.target as HTMLInputElement).checked\n setModifiedOnly(newModified)\n updateSearchParams({\n modifiedOnly: newModified,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeSelectedLocales: SelectedLocaleOnChange = useCallback(\n ({ locales }) => {\n setLocales(locales)\n updateSearchParams({\n selectedLocales: locales,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeVersionFrom: (val: CompareOption) => void = useCallback(\n (val) => {\n updateSearchParams({\n versionFromID: val.value,\n })\n },\n [updateSearchParams],\n )\n\n const { localization } = config\n\n const versionToTimeAgo = useMemo(\n () =>\n t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionToCreatedAt,\n i18n,\n }),\n }),\n [versionToCreatedAt, i18n, t],\n )\n\n const versionFromTimeAgo = useMemo(\n () =>\n versionFromCreatedAt\n ? t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionFromCreatedAt,\n i18n,\n }),\n })\n : undefined,\n [versionFromCreatedAt, i18n, t],\n )\n\n return (\n <main className={baseClass}>\n <Gutter className={`${baseClass}-controls-top`}>\n <div className={`${baseClass}-controls-top__wrapper`}>\n <h2>{i18n.t('version:compareVersions')}</h2>\n <div className={`${baseClass}-controls-top__wrapper-actions`}>\n <span className={`${baseClass}__modifiedCheckBox`}>\n <CheckboxInput\n checked={modifiedOnly}\n id={'modifiedOnly'}\n label={i18n.t('version:modifiedOnly')}\n onToggle={onToggleModifiedOnly}\n />\n </span>\n {localization && (\n <Pill\n aria-controls={`${baseClass}-locales`}\n aria-expanded={localeSelectorOpen}\n className={`${baseClass}__toggle-locales`}\n icon={<ChevronIcon direction={localeSelectorOpen ? 'up' : 'down'} />}\n onClick={() => setLocaleSelectorOpen((localeSelectorOpen) => !localeSelectorOpen)}\n pillStyle=\"light\"\n size=\"small\"\n >\n <span className={`${baseClass}__toggle-locales-label`}>\n {t('general:locales')}:{' '}\n </span>\n <span className={`${baseClass}__toggle-locales-list`}>\n {locales\n .filter((locale) => locale.selected)\n .map((locale) => locale.name)\n .join(', ')}\n </span>\n </Pill>\n )}\n </div>\n </div>\n\n {localization && (\n <SelectLocales\n locales={locales}\n localeSelectorOpen={localeSelectorOpen}\n onChange={onChangeSelectedLocales}\n />\n )}\n </Gutter>\n <Gutter className={`${baseClass}-controls-bottom`}>\n <div className={`${baseClass}-controls-bottom__wrapper`}>\n <div className={`${baseClass}__version-from`}>\n <div className={`${baseClass}__version-from-labels`}>\n <span>{t('version:comparingAgainst')}</span>\n {versionFromTimeAgo && (\n <span className={`${baseClass}__time-elapsed`}>{versionFromTimeAgo}</span>\n )}\n </div>\n <SelectComparison\n collectionSlug={collectionSlug}\n docID={originalDocID}\n globalSlug={globalSlug}\n onChange={onChangeVersionFrom}\n versionFromID={versionFromID}\n versionFromOptions={versionFromOptions}\n />\n </div>\n\n <div className={`${baseClass}__version-to`}>\n <div className={`${baseClass}__version-to-labels`}>\n <span>{t('version:currentlyViewing')}</span>\n <span className={`${baseClass}__time-elapsed`}>{versionToTimeAgo}</span>\n </div>\n <div className={`${baseClass}__version-to-version`}>\n {VersionToCreatedAtLabel}\n {canUpdate && !isTrashed && (\n <Restore\n className={`${baseClass}__restore`}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={originalDocID}\n status={versionToStatus}\n versionDateFormatted={versionToCreatedAtFormatted}\n versionID={versionToID}\n />\n )}\n </div>\n </div>\n </div>\n </Gutter>\n <SetStepNav\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n id={originalDocID}\n isTrashed={isTrashed}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n versionToID={versionToID}\n />\n <Gutter className={`${baseClass}__diff-wrap`}>\n <SelectedLocalesContext value={{ selectedLocales: locales.map((locale) => locale.name) }}>\n {versionToCreatedAt && RenderedDiff}\n </SelectedLocalesContext>\n </Gutter>\n </main>\n )\n}\n"],"names":["CheckboxInput","ChevronIcon","formatTimeToNow","Gutter","Pill","useConfig","useDocumentInfo","useLocale","useRouteTransition","useTranslation","usePathname","useRouter","useSearchParams","React","useCallback","useEffect","useMemo","useState","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","canUpdate","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesFromProps","versionFromCreatedAt","versionFromID","versionFromOptions","versionToCreatedAt","versionToCreatedAtFormatted","VersionToCreatedAtLabel","versionToID","versionToStatus","config","getEntityConfig","code","i18n","t","locales","setLocales","localeSelectorOpen","setLocaleSelectorOpen","localization","updatedLocales","map","locale","label","name","Label","selected","includes","id","originalDocID","collectionSlug","globalSlug","isTrashed","startRouteTransition","collectionConfig","globalConfig","router","pathname","searchParams","setModifiedOnly","updateSearchParams","args","current","URLSearchParams","Array","from","entries","set","length","delete","selectedLocaleCodes","push","JSON","stringify","search","toString","query","onToggleModifiedOnly","event","newModified","target","checked","onChangeSelectedLocales","onChangeVersionFrom","val","value","versionToTimeAgo","distance","date","versionFromTimeAgo","undefined","main","className","div","h2","span","onToggle","aria-controls","aria-expanded","icon","direction","onClick","pillStyle","size","filter","join","onChange","docID","labels","singular","status","versionDateFormatted","versionID"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  'use client';
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
3
  import { ChevronIcon, FieldDiffLabel, useConfig, useTranslation } from '@payloadcms/ui';
3
4
  import { fieldIsArrayType, fieldIsBlockType } from 'payload/shared';
4
- import { useState } from 'react';
5
+ import React, { useState } from 'react';
5
6
  import './index.scss';
6
7
  import { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js';
7
8
  const baseClass = 'diff-collapser';
@@ -44,21 +45,69 @@ export const DiffCollapser = ({ children, field, fields, hideGutter = false, ini
44
45
  isCollapsed && `${baseClass}__content--is-collapsed`,
45
46
  hideGutter && `${baseClass}__content--hide-gutter`
46
47
  ].filter(Boolean).join(' ');
47
- return <div className={baseClass}>
48
- <FieldDiffLabel>
49
- <button aria-label={isCollapsed ? 'Expand' : 'Collapse'} className={`${baseClass}__toggle-button`} onClick={()=>setIsCollapsed(!isCollapsed)} type="button">
50
- <div className={`${baseClass}__label`}>{Label}</div>
51
-
52
- <ChevronIcon direction={isCollapsed ? 'right' : 'down'} size={'small'}/>
53
- </button>
54
- {changeCount > 0 && isCollapsed && <span className={`${baseClass}__field-change-count`}>
55
- {t('version:changedFieldsCount', {
56
- count: changeCount
57
- })}
58
- </span>}
59
- </FieldDiffLabel>
60
- <div className={contentClassNames}>{children}</div>
61
- </div>;
48
+ return /*#__PURE__*/ _jsxDEV("div", {
49
+ className: baseClass,
50
+ children: [
51
+ /*#__PURE__*/ _jsxDEV(FieldDiffLabel, {
52
+ children: [
53
+ /*#__PURE__*/ _jsxDEV("button", {
54
+ "aria-label": isCollapsed ? 'Expand' : 'Collapse',
55
+ className: `${baseClass}__toggle-button`,
56
+ onClick: ()=>setIsCollapsed(!isCollapsed),
57
+ type: "button",
58
+ children: [
59
+ /*#__PURE__*/ _jsxDEV("div", {
60
+ className: `${baseClass}__label`,
61
+ children: Label
62
+ }, void 0, false, {
63
+ fileName: "src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx",
64
+ lineNumber: 109,
65
+ columnNumber: 11
66
+ }, this),
67
+ /*#__PURE__*/ _jsxDEV(ChevronIcon, {
68
+ direction: isCollapsed ? 'right' : 'down',
69
+ size: 'small'
70
+ }, void 0, false, {
71
+ fileName: "src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx",
72
+ lineNumber: 111,
73
+ columnNumber: 11
74
+ }, this)
75
+ ]
76
+ }, void 0, true, {
77
+ fileName: "src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx",
78
+ lineNumber: 103,
79
+ columnNumber: 9
80
+ }, this),
81
+ changeCount > 0 && isCollapsed && /*#__PURE__*/ _jsxDEV("span", {
82
+ className: `${baseClass}__field-change-count`,
83
+ children: t('version:changedFieldsCount', {
84
+ count: changeCount
85
+ })
86
+ }, void 0, false, {
87
+ fileName: "src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx",
88
+ lineNumber: 114,
89
+ columnNumber: 11
90
+ }, this)
91
+ ]
92
+ }, void 0, true, {
93
+ fileName: "src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx",
94
+ lineNumber: 102,
95
+ columnNumber: 7
96
+ }, this),
97
+ /*#__PURE__*/ _jsxDEV("div", {
98
+ className: contentClassNames,
99
+ children: children
100
+ }, void 0, false, {
101
+ fileName: "src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx",
102
+ lineNumber: 119,
103
+ columnNumber: 7
104
+ }, this)
105
+ ]
106
+ }, void 0, true, {
107
+ fileName: "src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx",
108
+ lineNumber: 101,
109
+ columnNumber: 5
110
+ }, this);
62
111
  };
63
112
 
64
113
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField } from 'payload'\n\nimport { ChevronIcon, FieldDiffLabel, useConfig, useTranslation } from '@payloadcms/ui'\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React, { useState } from 'react'\n\nimport './index.scss'\nimport { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js'\n\nconst baseClass = 'diff-collapser'\n\ntype Props = {\n hideGutter?: boolean\n initCollapsed?: boolean\n Label: React.ReactNode\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueTo: unknown\n} & (\n | {\n // fields collapser\n children: React.ReactNode\n field?: never\n fields: ClientField[]\n isIterable?: false\n valueFrom: unknown\n }\n | {\n // iterable collapser\n children: React.ReactNode\n field: ClientField\n fields?: never\n isIterable: true\n valueFrom?: unknown\n }\n)\n\nexport const DiffCollapser: React.FC<Props> = ({\n children,\n field,\n fields,\n hideGutter = false,\n initCollapsed = false,\n isIterable = false,\n Label,\n locales,\n parentIsLocalized,\n valueFrom,\n valueTo,\n}) => {\n const { t } = useTranslation()\n const [isCollapsed, setIsCollapsed] = useState(initCollapsed)\n const { config } = useConfig()\n\n let changeCount = 0\n\n if (isIterable) {\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(\n 'DiffCollapser: field must be an array or blocks field when isIterable is true',\n )\n }\n const valueFromRows = valueFrom ?? []\n const valueToRows = valueTo ?? []\n\n if (!Array.isArray(valueFromRows) || !Array.isArray(valueToRows)) {\n throw new Error(\n 'DiffCollapser: valueFrom and valueTro must be arrays when isIterable is true',\n )\n }\n\n changeCount = countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized,\n valueFromRows,\n valueToRows,\n })\n } else {\n changeCount = countChangedFields({\n config,\n fields,\n locales,\n parentIsLocalized,\n valueFrom,\n valueTo,\n })\n }\n\n const contentClassNames = [\n `${baseClass}__content`,\n isCollapsed && `${baseClass}__content--is-collapsed`,\n hideGutter && `${baseClass}__content--hide-gutter`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={baseClass}>\n <FieldDiffLabel>\n <button\n aria-label={isCollapsed ? 'Expand' : 'Collapse'}\n className={`${baseClass}__toggle-button`}\n onClick={() => setIsCollapsed(!isCollapsed)}\n type=\"button\"\n >\n <div className={`${baseClass}__label`}>{Label}</div>\n\n <ChevronIcon direction={isCollapsed ? 'right' : 'down'} size={'small'} />\n </button>\n {changeCount > 0 && isCollapsed && (\n <span className={`${baseClass}__field-change-count`}>\n {t('version:changedFieldsCount', { count: changeCount })}\n </span>\n )}\n </FieldDiffLabel>\n <div className={contentClassNames}>{children}</div>\n </div>\n )\n}\n"],"names":["ChevronIcon","FieldDiffLabel","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","useState","countChangedFields","countChangedFieldsInRows","baseClass","DiffCollapser","children","field","fields","hideGutter","initCollapsed","isIterable","Label","locales","parentIsLocalized","valueFrom","valueTo","t","isCollapsed","setIsCollapsed","config","changeCount","Error","valueFromRows","valueToRows","Array","isArray","contentClassNames","filter","Boolean","join","div","className","button","aria-label","onClick","type","direction","size","span","count"],"mappings":"AAAA;AAGA,SAASA,WAAW,EAAEC,cAAc,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AACvF,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,iBAAgB;AACnE,SAAgBC,QAAQ,QAAQ,QAAO;AAEvC,OAAO,eAAc;AACrB,SAASC,kBAAkB,EAAEC,wBAAwB,QAAQ,qCAAoC;AAEjG,MAAMC,YAAY;AAWZ,mBAAmB;AAQnB,qBAAqB;AAS3B,OAAO,MAAMC,gBAAiC,CAAC,EAC7CC,QAAQ,EACRC,KAAK,EACLC,MAAM,EACNC,aAAa,KAAK,EAClBC,gBAAgB,KAAK,EACrBC,aAAa,KAAK,EAClBC,KAAK,EACLC,OAAO,EACPC,iBAAiB,EACjBC,SAAS,EACTC,OAAO,EACR;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGnB;IACd,MAAM,CAACoB,aAAaC,eAAe,GAAGlB,SAASS;IAC/C,MAAM,EAAEU,MAAM,EAAE,GAAGvB;IAEnB,IAAIwB,cAAc;IAElB,IAAIV,YAAY;QACd,IAAI,CAACZ,iBAAiBQ,UAAU,CAACP,iBAAiBO,QAAQ;YACxD,MAAM,IAAIe,MACR;QAEJ;QACA,MAAMC,gBAAgBR,aAAa,EAAE;QACrC,MAAMS,cAAcR,WAAW,EAAE;QAEjC,IAAI,CAACS,MAAMC,OAAO,CAACH,kBAAkB,CAACE,MAAMC,OAAO,CAACF,cAAc;YAChE,MAAM,IAAIF,MACR;QAEJ;QAEAD,cAAclB,yBAAyB;YACrCiB;YACAb;YACAM;YACAC;YACAS;YACAC;QACF;IACF,OAAO;QACLH,cAAcnB,mBAAmB;YAC/BkB;YACAZ;YACAK;YACAC;YACAC;YACAC;QACF;IACF;IAEA,MAAMW,oBAAoB;QACxB,GAAGvB,UAAU,SAAS,CAAC;QACvBc,eAAe,GAAGd,UAAU,uBAAuB,CAAC;QACpDK,cAAc,GAAGL,UAAU,sBAAsB,CAAC;KACnD,CACEwB,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,QACGC,IAAIC,WAAW5B,WAAW;MACzB,CAACR,eAAe;QACd,CAACqC,OACCC,YAAYhB,cAAc,WAAW,YACrCc,WAAW,GAAG5B,UAAU,eAAe,CAAC,EACxC+B,SAAS,IAAMhB,eAAe,CAACD,cAC/BkB,KAAK,SACN;UACC,CAACL,IAAIC,WAAW,GAAG5B,UAAU,OAAO,CAAC,GAAGQ,QAAQmB,IAAI;;UAEpD,CAACpC,YAAY0C,WAAWnB,cAAc,UAAU,QAAQoB,MAAM,UAAW;QAC3E,EAAEL,OAAO;QACT,CAACZ,cAAc,KAAKH,gBACjBqB,KAAKP,WAAW,GAAG5B,UAAU,oBAAoB,CAAC,EAAE;YACnD,CAACa,EAAE,8BAA8B;QAAEuB,OAAOnB;IAAY,GAAG;UAC3D,EAAEkB,MACF;MACJ,EAAE3C,eAAe;MACjB,CAACmC,IAAIC,WAAWL,oBAAoBrB,WAAWyB,IAAI;IACrD,EAAEA;AAEN,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField } from 'payload'\n\nimport { ChevronIcon, FieldDiffLabel, useConfig, useTranslation } from '@payloadcms/ui'\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React, { useState } from 'react'\n\nimport './index.scss'\nimport { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js'\n\nconst baseClass = 'diff-collapser'\n\ntype Props = {\n hideGutter?: boolean\n initCollapsed?: boolean\n Label: React.ReactNode\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueTo: unknown\n} & (\n | {\n // fields collapser\n children: React.ReactNode\n field?: never\n fields: ClientField[]\n isIterable?: false\n valueFrom: unknown\n }\n | {\n // iterable collapser\n children: React.ReactNode\n field: ClientField\n fields?: never\n isIterable: true\n valueFrom?: unknown\n }\n)\n\nexport const DiffCollapser: React.FC<Props> = ({\n children,\n field,\n fields,\n hideGutter = false,\n initCollapsed = false,\n isIterable = false,\n Label,\n locales,\n parentIsLocalized,\n valueFrom,\n valueTo,\n}) => {\n const { t } = useTranslation()\n const [isCollapsed, setIsCollapsed] = useState(initCollapsed)\n const { config } = useConfig()\n\n let changeCount = 0\n\n if (isIterable) {\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(\n 'DiffCollapser: field must be an array or blocks field when isIterable is true',\n )\n }\n const valueFromRows = valueFrom ?? []\n const valueToRows = valueTo ?? []\n\n if (!Array.isArray(valueFromRows) || !Array.isArray(valueToRows)) {\n throw new Error(\n 'DiffCollapser: valueFrom and valueTro must be arrays when isIterable is true',\n )\n }\n\n changeCount = countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized,\n valueFromRows,\n valueToRows,\n })\n } else {\n changeCount = countChangedFields({\n config,\n fields,\n locales,\n parentIsLocalized,\n valueFrom,\n valueTo,\n })\n }\n\n const contentClassNames = [\n `${baseClass}__content`,\n isCollapsed && `${baseClass}__content--is-collapsed`,\n hideGutter && `${baseClass}__content--hide-gutter`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={baseClass}>\n <FieldDiffLabel>\n <button\n aria-label={isCollapsed ? 'Expand' : 'Collapse'}\n className={`${baseClass}__toggle-button`}\n onClick={() => setIsCollapsed(!isCollapsed)}\n type=\"button\"\n >\n <div className={`${baseClass}__label`}>{Label}</div>\n\n <ChevronIcon direction={isCollapsed ? 'right' : 'down'} size={'small'} />\n </button>\n {changeCount > 0 && isCollapsed && (\n <span className={`${baseClass}__field-change-count`}>\n {t('version:changedFieldsCount', { count: changeCount })}\n </span>\n )}\n </FieldDiffLabel>\n <div className={contentClassNames}>{children}</div>\n </div>\n )\n}\n"],"names":["ChevronIcon","FieldDiffLabel","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useState","countChangedFields","countChangedFieldsInRows","baseClass","DiffCollapser","children","field","fields","hideGutter","initCollapsed","isIterable","Label","locales","parentIsLocalized","valueFrom","valueTo","t","isCollapsed","setIsCollapsed","config","changeCount","Error","valueFromRows","valueToRows","Array","isArray","contentClassNames","filter","Boolean","join","div","className","button","aria-label","onClick","type","direction","size","span","count"],"mappings":"AAAA;;AAGA,SAASA,WAAW,EAAEC,cAAc,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AACvF,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,iBAAgB;AACnE,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,OAAO,eAAc;AACrB,SAASC,kBAAkB,EAAEC,wBAAwB,QAAQ,qCAAoC;AAEjG,MAAMC,YAAY;AAWZ,mBAAmB;AAQnB,qBAAqB;AAS3B,OAAO,MAAMC,gBAAiC,CAAC,EAC7CC,QAAQ,EACRC,KAAK,EACLC,MAAM,EACNC,aAAa,KAAK,EAClBC,gBAAgB,KAAK,EACrBC,aAAa,KAAK,EAClBC,KAAK,EACLC,OAAO,EACPC,iBAAiB,EACjBC,SAAS,EACTC,OAAO,EACR;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGpB;IACd,MAAM,CAACqB,aAAaC,eAAe,GAAGlB,SAASS;IAC/C,MAAM,EAAEU,MAAM,EAAE,GAAGxB;IAEnB,IAAIyB,cAAc;IAElB,IAAIV,YAAY;QACd,IAAI,CAACb,iBAAiBS,UAAU,CAACR,iBAAiBQ,QAAQ;YACxD,MAAM,IAAIe,MACR;QAEJ;QACA,MAAMC,gBAAgBR,aAAa,EAAE;QACrC,MAAMS,cAAcR,WAAW,EAAE;QAEjC,IAAI,CAACS,MAAMC,OAAO,CAACH,kBAAkB,CAACE,MAAMC,OAAO,CAACF,cAAc;YAChE,MAAM,IAAIF,MACR;QAEJ;QAEAD,cAAclB,yBAAyB;YACrCiB;YACAb;YACAM;YACAC;YACAS;YACAC;QACF;IACF,OAAO;QACLH,cAAcnB,mBAAmB;YAC/BkB;YACAZ;YACAK;YACAC;YACAC;YACAC;QACF;IACF;IAEA,MAAMW,oBAAoB;QACxB,GAAGvB,UAAU,SAAS,CAAC;QACvBc,eAAe,GAAGd,UAAU,uBAAuB,CAAC;QACpDK,cAAc,GAAGL,UAAU,sBAAsB,CAAC;KACnD,CACEwB,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,QAACC;QAAIC,WAAW5B;;0BACd,QAACT;;kCACC,QAACsC;wBACCC,cAAYhB,cAAc,WAAW;wBACrCc,WAAW,GAAG5B,UAAU,eAAe,CAAC;wBACxC+B,SAAS,IAAMhB,eAAe,CAACD;wBAC/BkB,MAAK;;0CAEL,QAACL;gCAAIC,WAAW,GAAG5B,UAAU,OAAO,CAAC;0CAAGQ;;;;;;0CAExC,QAAClB;gCAAY2C,WAAWnB,cAAc,UAAU;gCAAQoB,MAAM;;;;;;;;;;;;oBAE/DjB,cAAc,KAAKH,6BAClB,QAACqB;wBAAKP,WAAW,GAAG5B,UAAU,oBAAoB,CAAC;kCAChDa,EAAE,8BAA8B;4BAAEuB,OAAOnB;wBAAY;;;;;;;;;;;;0BAI5D,QAACU;gBAAIC,WAAWL;0BAAoBrB;;;;;;;;;;;;AAG1C,EAAC"}