@payloadcms/next 3.69.0-internal.424436e → 3.69.0

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 (143) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  2. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +19 -24
  3. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  4. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  5. package/dist/elements/Nav/index.client.js +15 -21
  6. package/dist/elements/Nav/index.client.js.map +1 -1
  7. package/dist/prod/styles.css +1 -1
  8. package/dist/routes/graphql/playground.d.ts.map +1 -1
  9. package/dist/routes/graphql/playground.js +6 -1
  10. package/dist/routes/graphql/playground.js.map +1 -1
  11. package/dist/routes/rest/index.d.ts.map +1 -1
  12. package/dist/routes/rest/index.js +5 -1
  13. package/dist/routes/rest/index.js.map +1 -1
  14. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  15. package/dist/utilities/handleAuthRedirect.js +1 -2
  16. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  17. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  18. package/dist/utilities/handleServerFunctions.js +4 -0
  19. package/dist/utilities/handleServerFunctions.js.map +1 -1
  20. package/dist/views/API/index.client.d.ts.map +1 -1
  21. package/dist/views/API/index.client.js +7 -5
  22. package/dist/views/API/index.client.js.map +1 -1
  23. package/dist/views/Account/ResetPreferences/index.d.ts +0 -1
  24. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  25. package/dist/views/Account/ResetPreferences/index.js +32 -25
  26. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  27. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  28. package/dist/views/Account/Settings/index.js +0 -3
  29. package/dist/views/Account/Settings/index.js.map +1 -1
  30. package/dist/views/Account/index.d.ts.map +1 -1
  31. package/dist/views/Account/index.js +5 -1
  32. package/dist/views/Account/index.js.map +1 -1
  33. package/dist/views/BrowseByFolder/buildView.d.ts.map +1 -1
  34. package/dist/views/BrowseByFolder/buildView.js +1 -2
  35. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  36. package/dist/views/CollectionFolders/buildView.d.ts.map +1 -1
  37. package/dist/views/CollectionFolders/buildView.js +1 -2
  38. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  39. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  40. package/dist/views/CreateFirstUser/index.client.js +4 -6
  41. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  42. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts +19 -0
  43. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -0
  44. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +147 -0
  45. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -0
  46. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts +21 -0
  47. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -0
  48. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +431 -0
  49. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -0
  50. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts +5 -0
  51. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -0
  52. package/dist/views/Dashboard/Default/ModularDashboard/index.js +87 -0
  53. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -0
  54. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.d.ts +14 -0
  55. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.d.ts.map +1 -0
  56. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +99 -0
  57. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -0
  58. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts +12 -0
  59. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -0
  60. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +58 -0
  61. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -0
  62. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts +20 -0
  63. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -0
  64. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +72 -0
  65. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -0
  66. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +20 -0
  67. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -0
  68. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +158 -0
  69. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -0
  70. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.d.ts +7 -0
  71. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.d.ts.map +1 -0
  72. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +38 -0
  73. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -0
  74. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.d.ts +2 -0
  75. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.d.ts.map +1 -0
  76. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +264 -0
  77. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -0
  78. package/dist/views/Dashboard/Default/index.d.ts +0 -1
  79. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  80. package/dist/views/Dashboard/Default/index.js +35 -149
  81. package/dist/views/Dashboard/Default/index.js.map +1 -1
  82. package/dist/views/Dashboard/index.d.ts.map +1 -1
  83. package/dist/views/Dashboard/index.js +3 -52
  84. package/dist/views/Dashboard/index.js.map +1 -1
  85. package/dist/views/Document/getVersions.d.ts.map +1 -1
  86. package/dist/views/Document/getVersions.js +2 -1
  87. package/dist/views/Document/getVersions.js.map +1 -1
  88. package/dist/views/Document/index.d.ts.map +1 -1
  89. package/dist/views/Document/index.js +5 -8
  90. package/dist/views/Document/index.js.map +1 -1
  91. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  92. package/dist/views/ForgotPassword/index.js +3 -6
  93. package/dist/views/ForgotPassword/index.js.map +1 -1
  94. package/dist/views/List/index.d.ts.map +1 -1
  95. package/dist/views/List/index.js +1 -2
  96. package/dist/views/List/index.js.map +1 -1
  97. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  98. package/dist/views/Login/LoginForm/index.js +18 -22
  99. package/dist/views/Login/LoginForm/index.js.map +1 -1
  100. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  101. package/dist/views/Logout/LogoutClient.js +36 -40
  102. package/dist/views/Logout/LogoutClient.js.map +1 -1
  103. package/dist/views/NotFound/index.d.ts.map +1 -1
  104. package/dist/views/NotFound/index.js +1 -1
  105. package/dist/views/NotFound/index.js.map +1 -1
  106. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -1
  107. package/dist/views/ResetPassword/ResetPasswordForm/index.js +17 -22
  108. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  109. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  110. package/dist/views/ResetPassword/index.js +2 -4
  111. package/dist/views/ResetPassword/index.js.map +1 -1
  112. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  113. package/dist/views/Root/getRouteData.js.map +1 -1
  114. package/dist/views/Root/index.d.ts.map +1 -1
  115. package/dist/views/Root/index.js +1 -2
  116. package/dist/views/Root/index.js.map +1 -1
  117. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  118. package/dist/views/Unauthorized/index.js +2 -4
  119. package/dist/views/Unauthorized/index.js.map +1 -1
  120. package/dist/views/Verify/index.js +1 -2
  121. package/dist/views/Verify/index.js.map +1 -1
  122. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  123. package/dist/views/Version/Default/SetStepNav.js +7 -14
  124. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  125. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1 -0
  126. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  127. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +1 -0
  128. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  129. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +1 -0
  130. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  131. package/dist/views/Version/Restore/index.js +7 -6
  132. package/dist/views/Version/Restore/index.js.map +1 -1
  133. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  134. package/dist/views/Versions/cells/CreatedAt/index.js +3 -6
  135. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  136. package/dist/views/Versions/index.d.ts.map +1 -1
  137. package/dist/views/Versions/index.js +3 -4
  138. package/dist/views/Versions/index.js.map +1 -1
  139. package/package.json +8 -6
  140. package/dist/utilities/getVisibleEntities.d.ts +0 -5
  141. package/dist/utilities/getVisibleEntities.d.ts.map +0 -1
  142. package/dist/utilities/getVisibleEntities.js +0 -26
  143. package/dist/utilities/getVisibleEntities.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"countChangedFields.spec.js","names":["countChangedFields","countChangedFieldsInRows","describe","locales","undefined","it","fields","name","type","valueFrom","a","b","valueTo","result","expect","toBe","id","label","c","group","tabs","namedTab","admin","arrayField","blocks","slug","blockType","d","localized","en","de","tab","field","valueFromRows","valueToRows"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.ts"],"sourcesContent":["import { countChangedFields, countChangedFieldsInRows } from './countChangedFields.js'\nimport type { ClientField } from 'payload'\n\ndescribe('countChangedFields', () => {\n // locales can be undefined when not configured in payload.config.js\n const locales = undefined\n it('should return 0 when no fields have changed', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const valueFrom = { a: 'original', b: 123 }\n const valueTo = { a: 'original', b: 123 }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(0)\n })\n\n it('should count simple changed fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const valueFrom = { a: 'original', b: 123 }\n const valueTo = { a: 'changed', b: 123 }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(1)\n })\n\n it('should count previously undefined fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const valueFrom = {}\n const valueTo = { a: 'new', b: 123 }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should not count the id field because it is not displayed in the version view', () => {\n const fields: ClientField[] = [\n { name: 'id', type: 'text' },\n { name: 'a', type: 'text' },\n ]\n const valueFrom = { id: 'original', a: 'original' }\n const valueTo = { id: 'changed', a: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(0)\n })\n\n it('should count changed fields inside collapsible fields', () => {\n const fields: ClientField[] = [\n {\n type: 'collapsible',\n label: 'A collapsible field',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = { a: 'original', b: 'original', c: 'original' }\n const valueTo = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside row fields', () => {\n const fields: ClientField[] = [\n {\n type: 'row',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = { a: 'original', b: 'original', c: 'original' }\n const valueTo = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside group fields', () => {\n const fields: ClientField[] = [\n {\n type: 'group',\n name: 'group',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = { group: { a: 'original', b: 'original', c: 'original' } }\n const valueTo = { group: { a: 'changed', b: 'changed', c: 'original' } }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside unnamed tabs ', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n label: 'Unnamed tab',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = { a: 'original', b: 'original', c: 'original' }\n const valueTo = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside named tabs ', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n name: 'namedTab',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = { namedTab: { a: 'original', b: 'original', c: 'original' } }\n const valueTo = { namedTab: { a: 'changed', b: 'changed', c: 'original' } }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should ignore UI fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n {\n name: 'b',\n type: 'ui',\n admin: {},\n },\n ]\n const valueFrom = { a: 'original', b: 'original' }\n const valueTo = { a: 'original', b: 'changed' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(0)\n })\n\n it('should count changed fields inside array fields', () => {\n const fields: ClientField[] = [\n {\n name: 'arrayField',\n type: 'array',\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ]\n const valueFrom = {\n arrayField: [\n { a: 'original', b: 'original', c: 'original' },\n { a: 'original', b: 'original' },\n ],\n }\n const valueTo = {\n arrayField: [\n { a: 'changed', b: 'changed', c: 'original' },\n { a: 'changed', b: 'changed', c: 'changed' },\n ],\n }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(5)\n })\n\n it('should count changed fields inside arrays nested inside of collapsibles', () => {\n const fields: ClientField[] = [\n {\n type: 'collapsible',\n label: 'A collapsible field',\n fields: [\n {\n name: 'arrayField',\n type: 'array',\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ],\n },\n ]\n const valueFrom = { arrayField: [{ a: 'original', b: 'original', c: 'original' }] }\n const valueTo = { arrayField: [{ a: 'changed', b: 'changed', c: 'original' }] }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside blocks fields', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n blocks: [\n { blockType: 'blockA', a: 'original', b: 'original', c: 'original' },\n { blockType: 'blockA', a: 'original', b: 'original' },\n ],\n }\n const valueTo = {\n blocks: [\n { blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' },\n { blockType: 'blockA', a: 'changed', b: 'changed', c: 'changed' },\n ],\n }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(5)\n })\n\n it('should count changed fields between blocks with different slugs', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n {\n slug: 'blockB',\n fields: [\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n { name: 'd', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n blocks: [{ blockType: 'blockA', a: 'removed', b: 'original', c: 'original' }],\n }\n const valueTo = {\n blocks: [{ blockType: 'blockB', b: 'original', c: 'changed', d: 'new' }],\n }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n\n describe('localized fields', () => {\n const locales = ['en', 'de']\n it('should count simple localized fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text', localized: true },\n { name: 'b', type: 'text', localized: true },\n ]\n const valueFrom = {\n a: { en: 'original', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const valueTo = {\n a: { en: 'changed', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(1)\n })\n\n it('should count multiple locales of the same localized field', () => {\n const locales = ['en', 'de']\n const fields: ClientField[] = [\n { name: 'a', type: 'text', localized: true },\n { name: 'b', type: 'text', localized: true },\n ]\n const valueFrom = {\n a: { en: 'original', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const valueTo = {\n a: { en: 'changed', de: 'changed' },\n b: { en: 'original', de: 'original' },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside localized groups fields', () => {\n const fields: ClientField[] = [\n {\n type: 'group',\n name: 'group',\n localized: true,\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = {\n group: {\n en: { a: 'original', b: 'original', c: 'original' },\n de: { a: 'original', b: 'original', c: 'original' },\n },\n }\n const valueTo = {\n group: {\n en: { a: 'changed', b: 'changed', c: 'original' },\n de: { a: 'original', b: 'changed', c: 'original' },\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n it('should count changed fields inside localized tabs', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n name: 'tab',\n localized: true,\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n tab: {\n en: { a: 'original', b: 'original', c: 'original' },\n de: { a: 'original', b: 'original', c: 'original' },\n },\n }\n const valueTo = {\n tab: {\n en: { a: 'changed', b: 'changed', c: 'original' },\n de: { a: 'original', b: 'changed', c: 'original' },\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n\n it('should count changed fields inside localized array fields', () => {\n const fields: ClientField[] = [\n {\n name: 'arrayField',\n type: 'array',\n localized: true,\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ]\n const valueFrom = {\n arrayField: {\n en: [{ a: 'original', b: 'original', c: 'original' }],\n de: [{ a: 'original', b: 'original', c: 'original' }],\n },\n }\n const valueTo = {\n arrayField: {\n en: [{ a: 'changed', b: 'changed', c: 'original' }],\n de: [{ a: 'original', b: 'changed', c: 'original' }],\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n\n it('should count changed fields inside localized blocks fields', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n localized: true,\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n blocks: {\n en: [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }],\n de: [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }],\n },\n }\n const valueTo = {\n blocks: {\n en: [{ blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' }],\n de: [{ blockType: 'blockA', a: 'original', b: 'changed', c: 'original' }],\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n })\n})\n\ndescribe('countChangedFieldsInRows', () => {\n it('should count fields in array rows', () => {\n const field: ClientField = {\n name: 'myArray',\n type: 'array',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n }\n\n const valueFromRows = [{ a: 'original', b: 'original', c: 'original' }]\n const valueToRows = [{ a: 'changed', b: 'changed', c: 'original' }]\n\n const result = countChangedFieldsInRows({\n valueFromRows,\n field,\n locales: undefined,\n valueToRows: valueToRows,\n })\n expect(result).toBe(2)\n })\n\n it('should count fields in blocks', () => {\n const field: ClientField = {\n name: 'myBlocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n }\n\n const valueFromRows = [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }]\n const valueToRows = [{ blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' }]\n\n const result = countChangedFieldsInRows({\n valueFromRows,\n field,\n locales: undefined,\n valueToRows,\n })\n expect(result).toBe(2)\n })\n})\n"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,wBAAwB,QAAQ;AAG7DC,QAAA,CAAS,sBAAsB;EAC7B;EACA,MAAMC,OAAA,GAAUC,SAAA;EAChBC,EAAA,CAAG,+CAA+C;IAChD,MAAMC,MAAA,GAAwB,CAC5B;MAAEC,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAO,GAC1B;MAAED,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAS,EAC7B;IACD,MAAMC,SAAA,GAAY;MAAEC,CAAA,EAAG;MAAYC,CAAA,EAAG;IAAI;IAC1C,MAAMC,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAYC,CAAA,EAAG;IAAI;IAExC,MAAME,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,sCAAsC;IACvC,MAAMC,MAAA,GAAwB,CAC5B;MAAEC,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAO,GAC1B;MAAED,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAS,EAC7B;IACD,MAAMC,SAAA,GAAY;MAAEC,CAAA,EAAG;MAAYC,CAAA,EAAG;IAAI;IAC1C,MAAMC,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAWC,CAAA,EAAG;IAAI;IAEvC,MAAME,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,4CAA4C;IAC7C,MAAMC,MAAA,GAAwB,CAC5B;MAAEC,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAO,GAC1B;MAAED,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAS,EAC7B;IACD,MAAMC,SAAA,GAAY,CAAC;IACnB,MAAMG,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAOC,CAAA,EAAG;IAAI;IAEnC,MAAME,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,iFAAiF;IAClF,MAAMC,MAAA,GAAwB,CAC5B;MAAEC,IAAA,EAAM;MAAMC,IAAA,EAAM;IAAO,GAC3B;MAAED,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAO,EAC3B;IACD,MAAMC,SAAA,GAAY;MAAEO,EAAA,EAAI;MAAYN,CAAA,EAAG;IAAW;IAClD,MAAME,OAAA,GAAU;MAAEI,EAAA,EAAI;MAAWN,CAAA,EAAG;IAAW;IAE/C,MAAMG,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,yDAAyD;IAC1D,MAAMC,MAAA,GAAwB,CAC5B;MACEE,IAAA,EAAM;MACNS,KAAA,EAAO;MACPX,MAAA,EAAQ,CACN;QAAEC,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO;IAE9B,EACD;IACD,MAAMC,SAAA,GAAY;MAAEC,CAAA,EAAG;MAAYC,CAAA,EAAG;MAAYO,CAAA,EAAG;IAAW;IAChE,MAAMN,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAWC,CAAA,EAAG;MAAWO,CAAA,EAAG;IAAW;IAE5D,MAAML,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,iDAAiD;IAClD,MAAMC,MAAA,GAAwB,CAC5B;MACEE,IAAA,EAAM;MACNF,MAAA,EAAQ,CACN;QAAEC,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO;IAE9B,EACD;IACD,MAAMC,SAAA,GAAY;MAAEC,CAAA,EAAG;MAAYC,CAAA,EAAG;MAAYO,CAAA,EAAG;IAAW;IAChE,MAAMN,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAWC,CAAA,EAAG;MAAWO,CAAA,EAAG;IAAW;IAE5D,MAAML,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,mDAAmD;IACpD,MAAMC,MAAA,GAAwB,CAC5B;MACEE,IAAA,EAAM;MACND,IAAA,EAAM;MACND,MAAA,EAAQ,CACN;QAAEC,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO;IAE9B,EACD;IACD,MAAMC,SAAA,GAAY;MAAEU,KAAA,EAAO;QAAET,CAAA,EAAG;QAAYC,CAAA,EAAG;QAAYO,CAAA,EAAG;MAAW;IAAE;IAC3E,MAAMN,OAAA,GAAU;MAAEO,KAAA,EAAO;QAAET,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWO,CAAA,EAAG;MAAW;IAAE;IAEvE,MAAML,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,oDAAoD;IACrD,MAAMC,MAAA,GAAwB,CAC5B;MACEE,IAAA,EAAM;MACNY,IAAA,EAAM,CACJ;QACEH,KAAA,EAAO;QACPX,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B;IAEJ,EACD;IACD,MAAMC,SAAA,GAAY;MAAEC,CAAA,EAAG;MAAYC,CAAA,EAAG;MAAYO,CAAA,EAAG;IAAW;IAChE,MAAMN,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAWC,CAAA,EAAG;MAAWO,CAAA,EAAG;IAAW;IAE5D,MAAML,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,kDAAkD;IACnD,MAAMC,MAAA,GAAwB,CAC5B;MACEE,IAAA,EAAM;MACNY,IAAA,EAAM,CACJ;QACEb,IAAA,EAAM;QACND,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B;IAEJ,EACD;IACD,MAAMC,SAAA,GAAY;MAAEY,QAAA,EAAU;QAAEX,CAAA,EAAG;QAAYC,CAAA,EAAG;QAAYO,CAAA,EAAG;MAAW;IAAE;IAC9E,MAAMN,OAAA,GAAU;MAAES,QAAA,EAAU;QAAEX,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWO,CAAA,EAAG;MAAW;IAAE;IAE1E,MAAML,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,2BAA2B;IAC5B,MAAMC,MAAA,GAAwB,CAC5B;MAAEC,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAO,GAC1B;MACED,IAAA,EAAM;MACNC,IAAA,EAAM;MACNc,KAAA,EAAO,CAAC;IACV,EACD;IACD,MAAMb,SAAA,GAAY;MAAEC,CAAA,EAAG;MAAYC,CAAA,EAAG;IAAW;IACjD,MAAMC,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAYC,CAAA,EAAG;IAAU;IAE9C,MAAME,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,mDAAmD;IACpD,MAAMC,MAAA,GAAwB,CAC5B;MACEC,IAAA,EAAM;MACNC,IAAA,EAAM;MACNF,MAAA,EAAQ,CACN;QACEC,IAAA,EAAM;QACNC,IAAA,EAAM;MACR,GACA;QACED,IAAA,EAAM;QACNC,IAAA,EAAM;MACR,GACA;QACED,IAAA,EAAM;QACNC,IAAA,EAAM;MACR;IAEJ,EACD;IACD,MAAMC,SAAA,GAAY;MAChBc,UAAA,EAAY,CACV;QAAEb,CAAA,EAAG;QAAYC,CAAA,EAAG;QAAYO,CAAA,EAAG;MAAW,GAC9C;QAAER,CAAA,EAAG;QAAYC,CAAA,EAAG;MAAW;IAEnC;IACA,MAAMC,OAAA,GAAU;MACdW,UAAA,EAAY,CACV;QAAEb,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWO,CAAA,EAAG;MAAW,GAC5C;QAAER,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWO,CAAA,EAAG;MAAU;IAE/C;IAEA,MAAML,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,2EAA2E;IAC5E,MAAMC,MAAA,GAAwB,CAC5B;MACEE,IAAA,EAAM;MACNS,KAAA,EAAO;MACPX,MAAA,EAAQ,CACN;QACEC,IAAA,EAAM;QACNC,IAAA,EAAM;QACNF,MAAA,EAAQ,CACN;UACEC,IAAA,EAAM;UACNC,IAAA,EAAM;QACR,GACA;UACED,IAAA,EAAM;UACNC,IAAA,EAAM;QACR,GACA;UACED,IAAA,EAAM;UACNC,IAAA,EAAM;QACR;MAEJ;IAEJ,EACD;IACD,MAAMC,SAAA,GAAY;MAAEc,UAAA,EAAY,CAAC;QAAEb,CAAA,EAAG;QAAYC,CAAA,EAAG;QAAYO,CAAA,EAAG;MAAW;IAAG;IAClF,MAAMN,OAAA,GAAU;MAAEW,UAAA,EAAY,CAAC;QAAEb,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWO,CAAA,EAAG;MAAW;IAAG;IAE9E,MAAML,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,oDAAoD;IACrD,MAAMC,MAAA,GAAwB,CAC5B;MACEC,IAAA,EAAM;MACNC,IAAA,EAAM;MACNgB,MAAA,EAAQ,CACN;QACEC,IAAA,EAAM;QACNnB,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B;IAEJ,EACD;IACD,MAAMC,SAAA,GAAY;MAChBe,MAAA,EAAQ,CACN;QAAEE,SAAA,EAAW;QAAUhB,CAAA,EAAG;QAAYC,CAAA,EAAG;QAAYO,CAAA,EAAG;MAAW,GACnE;QAAEQ,SAAA,EAAW;QAAUhB,CAAA,EAAG;QAAYC,CAAA,EAAG;MAAW;IAExD;IACA,MAAMC,OAAA,GAAU;MACdY,MAAA,EAAQ,CACN;QAAEE,SAAA,EAAW;QAAUhB,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWO,CAAA,EAAG;MAAW,GACjE;QAAEQ,SAAA,EAAW;QAAUhB,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWO,CAAA,EAAG;MAAU;IAEpE;IAEA,MAAML,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,mEAAmE;IACpE,MAAMC,MAAA,GAAwB,CAC5B;MACEC,IAAA,EAAM;MACNC,IAAA,EAAM;MACNgB,MAAA,EAAQ,CACN;QACEC,IAAA,EAAM;QACNnB,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B,GACA;QACEiB,IAAA,EAAM;QACNnB,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B;IAEJ,EACD;IACD,MAAMC,SAAA,GAAY;MAChBe,MAAA,EAAQ,CAAC;QAAEE,SAAA,EAAW;QAAUhB,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAYO,CAAA,EAAG;MAAW;IAC7E;IACA,MAAMN,OAAA,GAAU;MACdY,MAAA,EAAQ,CAAC;QAAEE,SAAA,EAAW;QAAUf,CAAA,EAAG;QAAYO,CAAA,EAAG;QAAWS,CAAA,EAAG;MAAM;IACxE;IAEA,MAAMd,MAAA,GAASb,kBAAA,CAAmB;MAAES,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAAST;IAAQ;IACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAb,QAAA,CAAS,oBAAoB;IAC3B,MAAMC,OAAA,GAAU,CAAC,MAAM,KAAK;IAC5BE,EAAA,CAAG,wCAAwC;MACzC,MAAMC,MAAA,GAAwB,CAC5B;QAAEC,IAAA,EAAM;QAAKC,IAAA,EAAM;QAAQoB,SAAA,EAAW;MAAK,GAC3C;QAAErB,IAAA,EAAM;QAAKC,IAAA,EAAM;QAAQoB,SAAA,EAAW;MAAK,EAC5C;MACD,MAAMnB,SAAA,GAAY;QAChBC,CAAA,EAAG;UAAEmB,EAAA,EAAI;UAAYC,EAAA,EAAI;QAAW;QACpCnB,CAAA,EAAG;UAAEkB,EAAA,EAAI;UAAYC,EAAA,EAAI;QAAW;MACtC;MACA,MAAMlB,OAAA,GAAU;QACdF,CAAA,EAAG;UAAEmB,EAAA,EAAI;UAAWC,EAAA,EAAI;QAAW;QACnCnB,CAAA,EAAG;UAAEkB,EAAA,EAAI;UAAYC,EAAA,EAAI;QAAW;MACtC;MACA,MAAMjB,MAAA,GAASb,kBAAA,CAAmB;QAAES,SAAA;QAAWH,MAAA;QAAQM,OAAA;QAAST;MAAQ;MACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;IACtB;IAEAV,EAAA,CAAG,6DAA6D;MAC9D,MAAMF,OAAA,GAAU,CAAC,MAAM,KAAK;MAC5B,MAAMG,MAAA,GAAwB,CAC5B;QAAEC,IAAA,EAAM;QAAKC,IAAA,EAAM;QAAQoB,SAAA,EAAW;MAAK,GAC3C;QAAErB,IAAA,EAAM;QAAKC,IAAA,EAAM;QAAQoB,SAAA,EAAW;MAAK,EAC5C;MACD,MAAMnB,SAAA,GAAY;QAChBC,CAAA,EAAG;UAAEmB,EAAA,EAAI;UAAYC,EAAA,EAAI;QAAW;QACpCnB,CAAA,EAAG;UAAEkB,EAAA,EAAI;UAAYC,EAAA,EAAI;QAAW;MACtC;MACA,MAAMlB,OAAA,GAAU;QACdF,CAAA,EAAG;UAAEmB,EAAA,EAAI;UAAWC,EAAA,EAAI;QAAU;QAClCnB,CAAA,EAAG;UAAEkB,EAAA,EAAI;UAAYC,EAAA,EAAI;QAAW;MACtC;MACA,MAAMjB,MAAA,GAASb,kBAAA,CAAmB;QAAES,SAAA;QAAWH,MAAA;QAAQM,OAAA;QAAST;MAAQ;MACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;IACtB;IAEAV,EAAA,CAAG,8DAA8D;MAC/D,MAAMC,MAAA,GAAwB,CAC5B;QACEE,IAAA,EAAM;QACND,IAAA,EAAM;QACNqB,SAAA,EAAW;QACXtB,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B,EACD;MACD,MAAMC,SAAA,GAAY;QAChBU,KAAA,EAAO;UACLU,EAAA,EAAI;YAAEnB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYO,CAAA,EAAG;UAAW;UAClDY,EAAA,EAAI;YAAEpB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYO,CAAA,EAAG;UAAW;QACpD;MACF;MACA,MAAMN,OAAA,GAAU;QACdO,KAAA,EAAO;UACLU,EAAA,EAAI;YAAEnB,CAAA,EAAG;YAAWC,CAAA,EAAG;YAAWO,CAAA,EAAG;UAAW;UAChDY,EAAA,EAAI;YAAEpB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAWO,CAAA,EAAG;UAAW;QACnD;MACF;MACA,MAAML,MAAA,GAASb,kBAAA,CAAmB;QAAES,SAAA;QAAWH,MAAA;QAAQM,OAAA;QAAST;MAAQ;MACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;IACtB;IACAV,EAAA,CAAG,qDAAqD;MACtD,MAAMC,MAAA,GAAwB,CAC5B;QACEE,IAAA,EAAM;QACNY,IAAA,EAAM,CACJ;UACEb,IAAA,EAAM;UACNqB,SAAA,EAAW;UACXtB,MAAA,EAAQ,CACN;YAAEC,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO;QAE9B;MAEJ,EACD;MACD,MAAMC,SAAA,GAAY;QAChBsB,GAAA,EAAK;UACHF,EAAA,EAAI;YAAEnB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYO,CAAA,EAAG;UAAW;UAClDY,EAAA,EAAI;YAAEpB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYO,CAAA,EAAG;UAAW;QACpD;MACF;MACA,MAAMN,OAAA,GAAU;QACdmB,GAAA,EAAK;UACHF,EAAA,EAAI;YAAEnB,CAAA,EAAG;YAAWC,CAAA,EAAG;YAAWO,CAAA,EAAG;UAAW;UAChDY,EAAA,EAAI;YAAEpB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAWO,CAAA,EAAG;UAAW;QACnD;MACF;MACA,MAAML,MAAA,GAASb,kBAAA,CAAmB;QAAES,SAAA;QAAWH,MAAA;QAAQM,OAAA;QAAST;MAAQ;MACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;IACtB;IAEAV,EAAA,CAAG,6DAA6D;MAC9D,MAAMC,MAAA,GAAwB,CAC5B;QACEC,IAAA,EAAM;QACNC,IAAA,EAAM;QACNoB,SAAA,EAAW;QACXtB,MAAA,EAAQ,CACN;UACEC,IAAA,EAAM;UACNC,IAAA,EAAM;QACR,GACA;UACED,IAAA,EAAM;UACNC,IAAA,EAAM;QACR,GACA;UACED,IAAA,EAAM;UACNC,IAAA,EAAM;QACR;MAEJ,EACD;MACD,MAAMC,SAAA,GAAY;QAChBc,UAAA,EAAY;UACVM,EAAA,EAAI,CAAC;YAAEnB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYO,CAAA,EAAG;UAAW,EAAE;UACrDY,EAAA,EAAI,CAAC;YAAEpB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYO,CAAA,EAAG;UAAW;QACrD;MACF;MACA,MAAMN,OAAA,GAAU;QACdW,UAAA,EAAY;UACVM,EAAA,EAAI,CAAC;YAAEnB,CAAA,EAAG;YAAWC,CAAA,EAAG;YAAWO,CAAA,EAAG;UAAW,EAAE;UACnDY,EAAA,EAAI,CAAC;YAAEpB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAWO,CAAA,EAAG;UAAW;QACpD;MACF;MACA,MAAML,MAAA,GAASb,kBAAA,CAAmB;QAAES,SAAA;QAAWH,MAAA;QAAQM,OAAA;QAAST;MAAQ;MACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;IACtB;IAEAV,EAAA,CAAG,8DAA8D;MAC/D,MAAMC,MAAA,GAAwB,CAC5B;QACEC,IAAA,EAAM;QACNC,IAAA,EAAM;QACNoB,SAAA,EAAW;QACXJ,MAAA,EAAQ,CACN;UACEC,IAAA,EAAM;UACNnB,MAAA,EAAQ,CACN;YAAEC,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO;QAE9B;MAEJ,EACD;MACD,MAAMC,SAAA,GAAY;QAChBe,MAAA,EAAQ;UACNK,EAAA,EAAI,CAAC;YAAEH,SAAA,EAAW;YAAUhB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYO,CAAA,EAAG;UAAW,EAAE;UAC1EY,EAAA,EAAI,CAAC;YAAEJ,SAAA,EAAW;YAAUhB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYO,CAAA,EAAG;UAAW;QAC1E;MACF;MACA,MAAMN,OAAA,GAAU;QACdY,MAAA,EAAQ;UACNK,EAAA,EAAI,CAAC;YAAEH,SAAA,EAAW;YAAUhB,CAAA,EAAG;YAAWC,CAAA,EAAG;YAAWO,CAAA,EAAG;UAAW,EAAE;UACxEY,EAAA,EAAI,CAAC;YAAEJ,SAAA,EAAW;YAAUhB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAWO,CAAA,EAAG;UAAW;QACzE;MACF;MACA,MAAML,MAAA,GAASb,kBAAA,CAAmB;QAAES,SAAA;QAAWH,MAAA;QAAQM,OAAA;QAAST;MAAQ;MACxEW,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;IACtB;EACF;AACF;AAEAb,QAAA,CAAS,4BAA4B;EACnCG,EAAA,CAAG,qCAAqC;IACtC,MAAM2B,KAAA,GAAqB;MACzBzB,IAAA,EAAM;MACNC,IAAA,EAAM;MACNF,MAAA,EAAQ,CACN;QAAEC,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO;IAE9B;IAEA,MAAMyB,aAAA,GAAgB,CAAC;MAAEvB,CAAA,EAAG;MAAYC,CAAA,EAAG;MAAYO,CAAA,EAAG;IAAW,EAAE;IACvE,MAAMgB,WAAA,GAAc,CAAC;MAAExB,CAAA,EAAG;MAAWC,CAAA,EAAG;MAAWO,CAAA,EAAG;IAAW,EAAE;IAEnE,MAAML,MAAA,GAASZ,wBAAA,CAAyB;MACtCgC,aAAA;MACAD,KAAA;MACA7B,OAAA,EAASC,SAAA;MACT8B,WAAA,EAAaA;IACf;IACApB,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;EAEAV,EAAA,CAAG,iCAAiC;IAClC,MAAM2B,KAAA,GAAqB;MACzBzB,IAAA,EAAM;MACNC,IAAA,EAAM;MACNgB,MAAA,EAAQ,CACN;QACEC,IAAA,EAAM;QACNnB,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B;IAEJ;IAEA,MAAMyB,aAAA,GAAgB,CAAC;MAAEP,SAAA,EAAW;MAAUhB,CAAA,EAAG;MAAYC,CAAA,EAAG;MAAYO,CAAA,EAAG;IAAW,EAAE;IAC5F,MAAMgB,WAAA,GAAc,CAAC;MAAER,SAAA,EAAW;MAAUhB,CAAA,EAAG;MAAWC,CAAA,EAAG;MAAWO,CAAA,EAAG;IAAW,EAAE;IAExF,MAAML,MAAA,GAASZ,wBAAA,CAAyB;MACtCgC,aAAA;MACAD,KAAA;MACA7B,OAAA,EAASC,SAAA;MACT8B;IACF;IACApB,MAAA,CAAOD,MAAA,EAAQE,IAAI,CAAC;EACtB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"countChangedFields.spec.js","names":["describe","it","expect","countChangedFields","countChangedFieldsInRows","locales","undefined","fields","name","type","valueFrom","a","b","valueTo","result","toBe","id","label","c","group","tabs","namedTab","admin","arrayField","blocks","slug","blockType","d","localized","en","de","tab","field","valueFromRows","valueToRows"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.ts"],"sourcesContent":["import type { ClientField } from 'payload'\nimport { describe, it, expect } from 'vitest'\n\nimport { countChangedFields, countChangedFieldsInRows } from './countChangedFields.js'\n\ndescribe('countChangedFields', () => {\n // locales can be undefined when not configured in payload.config.js\n const locales = undefined\n it('should return 0 when no fields have changed', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const valueFrom = { a: 'original', b: 123 }\n const valueTo = { a: 'original', b: 123 }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(0)\n })\n\n it('should count simple changed fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const valueFrom = { a: 'original', b: 123 }\n const valueTo = { a: 'changed', b: 123 }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(1)\n })\n\n it('should count previously undefined fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const valueFrom = {}\n const valueTo = { a: 'new', b: 123 }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should not count the id field because it is not displayed in the version view', () => {\n const fields: ClientField[] = [\n { name: 'id', type: 'text' },\n { name: 'a', type: 'text' },\n ]\n const valueFrom = { id: 'original', a: 'original' }\n const valueTo = { id: 'changed', a: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(0)\n })\n\n it('should count changed fields inside collapsible fields', () => {\n const fields: ClientField[] = [\n {\n type: 'collapsible',\n label: 'A collapsible field',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = { a: 'original', b: 'original', c: 'original' }\n const valueTo = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside row fields', () => {\n const fields: ClientField[] = [\n {\n type: 'row',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = { a: 'original', b: 'original', c: 'original' }\n const valueTo = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside group fields', () => {\n const fields: ClientField[] = [\n {\n type: 'group',\n name: 'group',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = { group: { a: 'original', b: 'original', c: 'original' } }\n const valueTo = { group: { a: 'changed', b: 'changed', c: 'original' } }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside unnamed tabs ', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n label: 'Unnamed tab',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = { a: 'original', b: 'original', c: 'original' }\n const valueTo = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside named tabs ', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n name: 'namedTab',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = { namedTab: { a: 'original', b: 'original', c: 'original' } }\n const valueTo = { namedTab: { a: 'changed', b: 'changed', c: 'original' } }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should ignore UI fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n {\n name: 'b',\n type: 'ui',\n admin: {},\n },\n ]\n const valueFrom = { a: 'original', b: 'original' }\n const valueTo = { a: 'original', b: 'changed' }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(0)\n })\n\n it('should count changed fields inside array fields', () => {\n const fields: ClientField[] = [\n {\n name: 'arrayField',\n type: 'array',\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ]\n const valueFrom = {\n arrayField: [\n { a: 'original', b: 'original', c: 'original' },\n { a: 'original', b: 'original' },\n ],\n }\n const valueTo = {\n arrayField: [\n { a: 'changed', b: 'changed', c: 'original' },\n { a: 'changed', b: 'changed', c: 'changed' },\n ],\n }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(5)\n })\n\n it('should count changed fields inside arrays nested inside of collapsibles', () => {\n const fields: ClientField[] = [\n {\n type: 'collapsible',\n label: 'A collapsible field',\n fields: [\n {\n name: 'arrayField',\n type: 'array',\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ],\n },\n ]\n const valueFrom = { arrayField: [{ a: 'original', b: 'original', c: 'original' }] }\n const valueTo = { arrayField: [{ a: 'changed', b: 'changed', c: 'original' }] }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside blocks fields', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n blocks: [\n { blockType: 'blockA', a: 'original', b: 'original', c: 'original' },\n { blockType: 'blockA', a: 'original', b: 'original' },\n ],\n }\n const valueTo = {\n blocks: [\n { blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' },\n { blockType: 'blockA', a: 'changed', b: 'changed', c: 'changed' },\n ],\n }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(5)\n })\n\n it('should count changed fields between blocks with different slugs', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n {\n slug: 'blockB',\n fields: [\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n { name: 'd', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n blocks: [{ blockType: 'blockA', a: 'removed', b: 'original', c: 'original' }],\n }\n const valueTo = {\n blocks: [{ blockType: 'blockB', b: 'original', c: 'changed', d: 'new' }],\n }\n\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n\n describe('localized fields', () => {\n const locales = ['en', 'de']\n it('should count simple localized fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text', localized: true },\n { name: 'b', type: 'text', localized: true },\n ]\n const valueFrom = {\n a: { en: 'original', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const valueTo = {\n a: { en: 'changed', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(1)\n })\n\n it('should count multiple locales of the same localized field', () => {\n const locales = ['en', 'de']\n const fields: ClientField[] = [\n { name: 'a', type: 'text', localized: true },\n { name: 'b', type: 'text', localized: true },\n ]\n const valueFrom = {\n a: { en: 'original', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const valueTo = {\n a: { en: 'changed', de: 'changed' },\n b: { en: 'original', de: 'original' },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside localized groups fields', () => {\n const fields: ClientField[] = [\n {\n type: 'group',\n name: 'group',\n localized: true,\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const valueFrom = {\n group: {\n en: { a: 'original', b: 'original', c: 'original' },\n de: { a: 'original', b: 'original', c: 'original' },\n },\n }\n const valueTo = {\n group: {\n en: { a: 'changed', b: 'changed', c: 'original' },\n de: { a: 'original', b: 'changed', c: 'original' },\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n it('should count changed fields inside localized tabs', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n name: 'tab',\n localized: true,\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n tab: {\n en: { a: 'original', b: 'original', c: 'original' },\n de: { a: 'original', b: 'original', c: 'original' },\n },\n }\n const valueTo = {\n tab: {\n en: { a: 'changed', b: 'changed', c: 'original' },\n de: { a: 'original', b: 'changed', c: 'original' },\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n\n it('should count changed fields inside localized array fields', () => {\n const fields: ClientField[] = [\n {\n name: 'arrayField',\n type: 'array',\n localized: true,\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ]\n const valueFrom = {\n arrayField: {\n en: [{ a: 'original', b: 'original', c: 'original' }],\n de: [{ a: 'original', b: 'original', c: 'original' }],\n },\n }\n const valueTo = {\n arrayField: {\n en: [{ a: 'changed', b: 'changed', c: 'original' }],\n de: [{ a: 'original', b: 'changed', c: 'original' }],\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n\n it('should count changed fields inside localized blocks fields', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n localized: true,\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const valueFrom = {\n blocks: {\n en: [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }],\n de: [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }],\n },\n }\n const valueTo = {\n blocks: {\n en: [{ blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' }],\n de: [{ blockType: 'blockA', a: 'original', b: 'changed', c: 'original' }],\n },\n }\n const result = countChangedFields({ valueFrom, fields, valueTo, locales })\n expect(result).toBe(3)\n })\n })\n})\n\ndescribe('countChangedFieldsInRows', () => {\n it('should count fields in array rows', () => {\n const field: ClientField = {\n name: 'myArray',\n type: 'array',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n }\n\n const valueFromRows = [{ a: 'original', b: 'original', c: 'original' }]\n const valueToRows = [{ a: 'changed', b: 'changed', c: 'original' }]\n\n const result = countChangedFieldsInRows({\n valueFromRows,\n field,\n locales: undefined,\n valueToRows: valueToRows,\n })\n expect(result).toBe(2)\n })\n\n it('should count fields in blocks', () => {\n const field: ClientField = {\n name: 'myBlocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n }\n\n const valueFromRows = [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }]\n const valueToRows = [{ blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' }]\n\n const result = countChangedFieldsInRows({\n valueFromRows,\n field,\n locales: undefined,\n valueToRows,\n })\n expect(result).toBe(2)\n })\n})\n"],"mappings":"AACA,SAASA,QAAQ,EAAEC,EAAE,EAAEC,MAAM,QAAQ;AAErC,SAASC,kBAAkB,EAAEC,wBAAwB,QAAQ;AAE7DJ,QAAA,CAAS,sBAAsB;EAC7B;EACA,MAAMK,OAAA,GAAUC,SAAA;EAChBL,EAAA,CAAG,+CAA+C;IAChD,MAAMM,MAAA,GAAwB,CAC5B;MAAEC,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAO,GAC1B;MAAED,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAS,EAC7B;IACD,MAAMC,SAAA,GAAY;MAAEC,CAAA,EAAG;MAAYC,CAAA,EAAG;IAAI;IAC1C,MAAMC,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAYC,CAAA,EAAG;IAAI;IAExC,MAAME,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,sCAAsC;IACvC,MAAMM,MAAA,GAAwB,CAC5B;MAAEC,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAO,GAC1B;MAAED,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAS,EAC7B;IACD,MAAMC,SAAA,GAAY;MAAEC,CAAA,EAAG;MAAYC,CAAA,EAAG;IAAI;IAC1C,MAAMC,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAWC,CAAA,EAAG;IAAI;IAEvC,MAAME,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,4CAA4C;IAC7C,MAAMM,MAAA,GAAwB,CAC5B;MAAEC,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAO,GAC1B;MAAED,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAS,EAC7B;IACD,MAAMC,SAAA,GAAY,CAAC;IACnB,MAAMG,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAOC,CAAA,EAAG;IAAI;IAEnC,MAAME,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,iFAAiF;IAClF,MAAMM,MAAA,GAAwB,CAC5B;MAAEC,IAAA,EAAM;MAAMC,IAAA,EAAM;IAAO,GAC3B;MAAED,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAO,EAC3B;IACD,MAAMC,SAAA,GAAY;MAAEM,EAAA,EAAI;MAAYL,CAAA,EAAG;IAAW;IAClD,MAAME,OAAA,GAAU;MAAEG,EAAA,EAAI;MAAWL,CAAA,EAAG;IAAW;IAE/C,MAAMG,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,yDAAyD;IAC1D,MAAMM,MAAA,GAAwB,CAC5B;MACEE,IAAA,EAAM;MACNQ,KAAA,EAAO;MACPV,MAAA,EAAQ,CACN;QAAEC,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO;IAE9B,EACD;IACD,MAAMC,SAAA,GAAY;MAAEC,CAAA,EAAG;MAAYC,CAAA,EAAG;MAAYM,CAAA,EAAG;IAAW;IAChE,MAAML,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAWC,CAAA,EAAG;MAAWM,CAAA,EAAG;IAAW;IAE5D,MAAMJ,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,iDAAiD;IAClD,MAAMM,MAAA,GAAwB,CAC5B;MACEE,IAAA,EAAM;MACNF,MAAA,EAAQ,CACN;QAAEC,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO;IAE9B,EACD;IACD,MAAMC,SAAA,GAAY;MAAEC,CAAA,EAAG;MAAYC,CAAA,EAAG;MAAYM,CAAA,EAAG;IAAW;IAChE,MAAML,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAWC,CAAA,EAAG;MAAWM,CAAA,EAAG;IAAW;IAE5D,MAAMJ,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,mDAAmD;IACpD,MAAMM,MAAA,GAAwB,CAC5B;MACEE,IAAA,EAAM;MACND,IAAA,EAAM;MACND,MAAA,EAAQ,CACN;QAAEC,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO;IAE9B,EACD;IACD,MAAMC,SAAA,GAAY;MAAES,KAAA,EAAO;QAAER,CAAA,EAAG;QAAYC,CAAA,EAAG;QAAYM,CAAA,EAAG;MAAW;IAAE;IAC3E,MAAML,OAAA,GAAU;MAAEM,KAAA,EAAO;QAAER,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWM,CAAA,EAAG;MAAW;IAAE;IAEvE,MAAMJ,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,oDAAoD;IACrD,MAAMM,MAAA,GAAwB,CAC5B;MACEE,IAAA,EAAM;MACNW,IAAA,EAAM,CACJ;QACEH,KAAA,EAAO;QACPV,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B;IAEJ,EACD;IACD,MAAMC,SAAA,GAAY;MAAEC,CAAA,EAAG;MAAYC,CAAA,EAAG;MAAYM,CAAA,EAAG;IAAW;IAChE,MAAML,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAWC,CAAA,EAAG;MAAWM,CAAA,EAAG;IAAW;IAE5D,MAAMJ,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,kDAAkD;IACnD,MAAMM,MAAA,GAAwB,CAC5B;MACEE,IAAA,EAAM;MACNW,IAAA,EAAM,CACJ;QACEZ,IAAA,EAAM;QACND,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B;IAEJ,EACD;IACD,MAAMC,SAAA,GAAY;MAAEW,QAAA,EAAU;QAAEV,CAAA,EAAG;QAAYC,CAAA,EAAG;QAAYM,CAAA,EAAG;MAAW;IAAE;IAC9E,MAAML,OAAA,GAAU;MAAEQ,QAAA,EAAU;QAAEV,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWM,CAAA,EAAG;MAAW;IAAE;IAE1E,MAAMJ,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,2BAA2B;IAC5B,MAAMM,MAAA,GAAwB,CAC5B;MAAEC,IAAA,EAAM;MAAKC,IAAA,EAAM;IAAO,GAC1B;MACED,IAAA,EAAM;MACNC,IAAA,EAAM;MACNa,KAAA,EAAO,CAAC;IACV,EACD;IACD,MAAMZ,SAAA,GAAY;MAAEC,CAAA,EAAG;MAAYC,CAAA,EAAG;IAAW;IACjD,MAAMC,OAAA,GAAU;MAAEF,CAAA,EAAG;MAAYC,CAAA,EAAG;IAAU;IAE9C,MAAME,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,mDAAmD;IACpD,MAAMM,MAAA,GAAwB,CAC5B;MACEC,IAAA,EAAM;MACNC,IAAA,EAAM;MACNF,MAAA,EAAQ,CACN;QACEC,IAAA,EAAM;QACNC,IAAA,EAAM;MACR,GACA;QACED,IAAA,EAAM;QACNC,IAAA,EAAM;MACR,GACA;QACED,IAAA,EAAM;QACNC,IAAA,EAAM;MACR;IAEJ,EACD;IACD,MAAMC,SAAA,GAAY;MAChBa,UAAA,EAAY,CACV;QAAEZ,CAAA,EAAG;QAAYC,CAAA,EAAG;QAAYM,CAAA,EAAG;MAAW,GAC9C;QAAEP,CAAA,EAAG;QAAYC,CAAA,EAAG;MAAW;IAEnC;IACA,MAAMC,OAAA,GAAU;MACdU,UAAA,EAAY,CACV;QAAEZ,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWM,CAAA,EAAG;MAAW,GAC5C;QAAEP,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWM,CAAA,EAAG;MAAU;IAE/C;IAEA,MAAMJ,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,2EAA2E;IAC5E,MAAMM,MAAA,GAAwB,CAC5B;MACEE,IAAA,EAAM;MACNQ,KAAA,EAAO;MACPV,MAAA,EAAQ,CACN;QACEC,IAAA,EAAM;QACNC,IAAA,EAAM;QACNF,MAAA,EAAQ,CACN;UACEC,IAAA,EAAM;UACNC,IAAA,EAAM;QACR,GACA;UACED,IAAA,EAAM;UACNC,IAAA,EAAM;QACR,GACA;UACED,IAAA,EAAM;UACNC,IAAA,EAAM;QACR;MAEJ;IAEJ,EACD;IACD,MAAMC,SAAA,GAAY;MAAEa,UAAA,EAAY,CAAC;QAAEZ,CAAA,EAAG;QAAYC,CAAA,EAAG;QAAYM,CAAA,EAAG;MAAW;IAAG;IAClF,MAAML,OAAA,GAAU;MAAEU,UAAA,EAAY,CAAC;QAAEZ,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWM,CAAA,EAAG;MAAW;IAAG;IAE9E,MAAMJ,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,oDAAoD;IACrD,MAAMM,MAAA,GAAwB,CAC5B;MACEC,IAAA,EAAM;MACNC,IAAA,EAAM;MACNe,MAAA,EAAQ,CACN;QACEC,IAAA,EAAM;QACNlB,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B;IAEJ,EACD;IACD,MAAMC,SAAA,GAAY;MAChBc,MAAA,EAAQ,CACN;QAAEE,SAAA,EAAW;QAAUf,CAAA,EAAG;QAAYC,CAAA,EAAG;QAAYM,CAAA,EAAG;MAAW,GACnE;QAAEQ,SAAA,EAAW;QAAUf,CAAA,EAAG;QAAYC,CAAA,EAAG;MAAW;IAExD;IACA,MAAMC,OAAA,GAAU;MACdW,MAAA,EAAQ,CACN;QAAEE,SAAA,EAAW;QAAUf,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWM,CAAA,EAAG;MAAW,GACjE;QAAEQ,SAAA,EAAW;QAAUf,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAWM,CAAA,EAAG;MAAU;IAEpE;IAEA,MAAMJ,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,mEAAmE;IACpE,MAAMM,MAAA,GAAwB,CAC5B;MACEC,IAAA,EAAM;MACNC,IAAA,EAAM;MACNe,MAAA,EAAQ,CACN;QACEC,IAAA,EAAM;QACNlB,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B,GACA;QACEgB,IAAA,EAAM;QACNlB,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B;IAEJ,EACD;IACD,MAAMC,SAAA,GAAY;MAChBc,MAAA,EAAQ,CAAC;QAAEE,SAAA,EAAW;QAAUf,CAAA,EAAG;QAAWC,CAAA,EAAG;QAAYM,CAAA,EAAG;MAAW;IAC7E;IACA,MAAML,OAAA,GAAU;MACdW,MAAA,EAAQ,CAAC;QAAEE,SAAA,EAAW;QAAUd,CAAA,EAAG;QAAYM,CAAA,EAAG;QAAWS,CAAA,EAAG;MAAM;IACxE;IAEA,MAAMb,MAAA,GAASX,kBAAA,CAAmB;MAAEO,SAAA;MAAWH,MAAA;MAAQM,OAAA;MAASR;IAAQ;IACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAf,QAAA,CAAS,oBAAoB;IAC3B,MAAMK,OAAA,GAAU,CAAC,MAAM,KAAK;IAC5BJ,EAAA,CAAG,wCAAwC;MACzC,MAAMM,MAAA,GAAwB,CAC5B;QAAEC,IAAA,EAAM;QAAKC,IAAA,EAAM;QAAQmB,SAAA,EAAW;MAAK,GAC3C;QAAEpB,IAAA,EAAM;QAAKC,IAAA,EAAM;QAAQmB,SAAA,EAAW;MAAK,EAC5C;MACD,MAAMlB,SAAA,GAAY;QAChBC,CAAA,EAAG;UAAEkB,EAAA,EAAI;UAAYC,EAAA,EAAI;QAAW;QACpClB,CAAA,EAAG;UAAEiB,EAAA,EAAI;UAAYC,EAAA,EAAI;QAAW;MACtC;MACA,MAAMjB,OAAA,GAAU;QACdF,CAAA,EAAG;UAAEkB,EAAA,EAAI;UAAWC,EAAA,EAAI;QAAW;QACnClB,CAAA,EAAG;UAAEiB,EAAA,EAAI;UAAYC,EAAA,EAAI;QAAW;MACtC;MACA,MAAMhB,MAAA,GAASX,kBAAA,CAAmB;QAAEO,SAAA;QAAWH,MAAA;QAAQM,OAAA;QAASR;MAAQ;MACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;IACtB;IAEAd,EAAA,CAAG,6DAA6D;MAC9D,MAAMI,OAAA,GAAU,CAAC,MAAM,KAAK;MAC5B,MAAME,MAAA,GAAwB,CAC5B;QAAEC,IAAA,EAAM;QAAKC,IAAA,EAAM;QAAQmB,SAAA,EAAW;MAAK,GAC3C;QAAEpB,IAAA,EAAM;QAAKC,IAAA,EAAM;QAAQmB,SAAA,EAAW;MAAK,EAC5C;MACD,MAAMlB,SAAA,GAAY;QAChBC,CAAA,EAAG;UAAEkB,EAAA,EAAI;UAAYC,EAAA,EAAI;QAAW;QACpClB,CAAA,EAAG;UAAEiB,EAAA,EAAI;UAAYC,EAAA,EAAI;QAAW;MACtC;MACA,MAAMjB,OAAA,GAAU;QACdF,CAAA,EAAG;UAAEkB,EAAA,EAAI;UAAWC,EAAA,EAAI;QAAU;QAClClB,CAAA,EAAG;UAAEiB,EAAA,EAAI;UAAYC,EAAA,EAAI;QAAW;MACtC;MACA,MAAMhB,MAAA,GAASX,kBAAA,CAAmB;QAAEO,SAAA;QAAWH,MAAA;QAAQM,OAAA;QAASR;MAAQ;MACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;IACtB;IAEAd,EAAA,CAAG,8DAA8D;MAC/D,MAAMM,MAAA,GAAwB,CAC5B;QACEE,IAAA,EAAM;QACND,IAAA,EAAM;QACNoB,SAAA,EAAW;QACXrB,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B,EACD;MACD,MAAMC,SAAA,GAAY;QAChBS,KAAA,EAAO;UACLU,EAAA,EAAI;YAAElB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYM,CAAA,EAAG;UAAW;UAClDY,EAAA,EAAI;YAAEnB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYM,CAAA,EAAG;UAAW;QACpD;MACF;MACA,MAAML,OAAA,GAAU;QACdM,KAAA,EAAO;UACLU,EAAA,EAAI;YAAElB,CAAA,EAAG;YAAWC,CAAA,EAAG;YAAWM,CAAA,EAAG;UAAW;UAChDY,EAAA,EAAI;YAAEnB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAWM,CAAA,EAAG;UAAW;QACnD;MACF;MACA,MAAMJ,MAAA,GAASX,kBAAA,CAAmB;QAAEO,SAAA;QAAWH,MAAA;QAAQM,OAAA;QAASR;MAAQ;MACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;IACtB;IACAd,EAAA,CAAG,qDAAqD;MACtD,MAAMM,MAAA,GAAwB,CAC5B;QACEE,IAAA,EAAM;QACNW,IAAA,EAAM,CACJ;UACEZ,IAAA,EAAM;UACNoB,SAAA,EAAW;UACXrB,MAAA,EAAQ,CACN;YAAEC,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO;QAE9B;MAEJ,EACD;MACD,MAAMC,SAAA,GAAY;QAChBqB,GAAA,EAAK;UACHF,EAAA,EAAI;YAAElB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYM,CAAA,EAAG;UAAW;UAClDY,EAAA,EAAI;YAAEnB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYM,CAAA,EAAG;UAAW;QACpD;MACF;MACA,MAAML,OAAA,GAAU;QACdkB,GAAA,EAAK;UACHF,EAAA,EAAI;YAAElB,CAAA,EAAG;YAAWC,CAAA,EAAG;YAAWM,CAAA,EAAG;UAAW;UAChDY,EAAA,EAAI;YAAEnB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAWM,CAAA,EAAG;UAAW;QACnD;MACF;MACA,MAAMJ,MAAA,GAASX,kBAAA,CAAmB;QAAEO,SAAA;QAAWH,MAAA;QAAQM,OAAA;QAASR;MAAQ;MACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;IACtB;IAEAd,EAAA,CAAG,6DAA6D;MAC9D,MAAMM,MAAA,GAAwB,CAC5B;QACEC,IAAA,EAAM;QACNC,IAAA,EAAM;QACNmB,SAAA,EAAW;QACXrB,MAAA,EAAQ,CACN;UACEC,IAAA,EAAM;UACNC,IAAA,EAAM;QACR,GACA;UACED,IAAA,EAAM;UACNC,IAAA,EAAM;QACR,GACA;UACED,IAAA,EAAM;UACNC,IAAA,EAAM;QACR;MAEJ,EACD;MACD,MAAMC,SAAA,GAAY;QAChBa,UAAA,EAAY;UACVM,EAAA,EAAI,CAAC;YAAElB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYM,CAAA,EAAG;UAAW,EAAE;UACrDY,EAAA,EAAI,CAAC;YAAEnB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYM,CAAA,EAAG;UAAW;QACrD;MACF;MACA,MAAML,OAAA,GAAU;QACdU,UAAA,EAAY;UACVM,EAAA,EAAI,CAAC;YAAElB,CAAA,EAAG;YAAWC,CAAA,EAAG;YAAWM,CAAA,EAAG;UAAW,EAAE;UACnDY,EAAA,EAAI,CAAC;YAAEnB,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAWM,CAAA,EAAG;UAAW;QACpD;MACF;MACA,MAAMJ,MAAA,GAASX,kBAAA,CAAmB;QAAEO,SAAA;QAAWH,MAAA;QAAQM,OAAA;QAASR;MAAQ;MACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;IACtB;IAEAd,EAAA,CAAG,8DAA8D;MAC/D,MAAMM,MAAA,GAAwB,CAC5B;QACEC,IAAA,EAAM;QACNC,IAAA,EAAM;QACNmB,SAAA,EAAW;QACXJ,MAAA,EAAQ,CACN;UACEC,IAAA,EAAM;UACNlB,MAAA,EAAQ,CACN;YAAEC,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO;QAE9B;MAEJ,EACD;MACD,MAAMC,SAAA,GAAY;QAChBc,MAAA,EAAQ;UACNK,EAAA,EAAI,CAAC;YAAEH,SAAA,EAAW;YAAUf,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYM,CAAA,EAAG;UAAW,EAAE;UAC1EY,EAAA,EAAI,CAAC;YAAEJ,SAAA,EAAW;YAAUf,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAYM,CAAA,EAAG;UAAW;QAC1E;MACF;MACA,MAAML,OAAA,GAAU;QACdW,MAAA,EAAQ;UACNK,EAAA,EAAI,CAAC;YAAEH,SAAA,EAAW;YAAUf,CAAA,EAAG;YAAWC,CAAA,EAAG;YAAWM,CAAA,EAAG;UAAW,EAAE;UACxEY,EAAA,EAAI,CAAC;YAAEJ,SAAA,EAAW;YAAUf,CAAA,EAAG;YAAYC,CAAA,EAAG;YAAWM,CAAA,EAAG;UAAW;QACzE;MACF;MACA,MAAMJ,MAAA,GAASX,kBAAA,CAAmB;QAAEO,SAAA;QAAWH,MAAA;QAAQM,OAAA;QAASR;MAAQ;MACxEH,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;IACtB;EACF;AACF;AAEAf,QAAA,CAAS,4BAA4B;EACnCC,EAAA,CAAG,qCAAqC;IACtC,MAAM+B,KAAA,GAAqB;MACzBxB,IAAA,EAAM;MACNC,IAAA,EAAM;MACNF,MAAA,EAAQ,CACN;QAAEC,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO;IAE9B;IAEA,MAAMwB,aAAA,GAAgB,CAAC;MAAEtB,CAAA,EAAG;MAAYC,CAAA,EAAG;MAAYM,CAAA,EAAG;IAAW,EAAE;IACvE,MAAMgB,WAAA,GAAc,CAAC;MAAEvB,CAAA,EAAG;MAAWC,CAAA,EAAG;MAAWM,CAAA,EAAG;IAAW,EAAE;IAEnE,MAAMJ,MAAA,GAASV,wBAAA,CAAyB;MACtC6B,aAAA;MACAD,KAAA;MACA3B,OAAA,EAASC,SAAA;MACT4B,WAAA,EAAaA;IACf;IACAhC,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;EAEAd,EAAA,CAAG,iCAAiC;IAClC,MAAM+B,KAAA,GAAqB;MACzBxB,IAAA,EAAM;MACNC,IAAA,EAAM;MACNe,MAAA,EAAQ,CACN;QACEC,IAAA,EAAM;QACNlB,MAAA,EAAQ,CACN;UAAEC,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO,GAC1B;UAAED,IAAA,EAAM;UAAKC,IAAA,EAAM;QAAO;MAE9B;IAEJ;IAEA,MAAMwB,aAAA,GAAgB,CAAC;MAAEP,SAAA,EAAW;MAAUf,CAAA,EAAG;MAAYC,CAAA,EAAG;MAAYM,CAAA,EAAG;IAAW,EAAE;IAC5F,MAAMgB,WAAA,GAAc,CAAC;MAAER,SAAA,EAAW;MAAUf,CAAA,EAAG;MAAWC,CAAA,EAAG;MAAWM,CAAA,EAAG;IAAW,EAAE;IAExF,MAAMJ,MAAA,GAASV,wBAAA,CAAyB;MACtC6B,aAAA;MACAD,KAAA;MACA3B,OAAA,EAASC,SAAA;MACT4B;IACF;IACAhC,MAAA,CAAOY,MAAA,EAAQC,IAAI,CAAC;EACtB;AACF","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import { describe, it, expect } from 'vitest';
1
2
  import { fieldHasChanges } from './fieldHasChanges.js';
2
3
  describe('hasChanges', () => {
3
4
  it('should return false for identical values', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"fieldHasChanges.spec.js","names":["fieldHasChanges","describe","it","a","b","expect","toBe","key","undefined"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.ts"],"sourcesContent":["import { fieldHasChanges } from './fieldHasChanges.js'\n\ndescribe('hasChanges', () => {\n it('should return false for identical values', () => {\n const a = 'value'\n const b = 'value'\n expect(fieldHasChanges(a, b)).toBe(false)\n })\n it('should return true for different values', () => {\n const a = 1\n const b = 2\n expect(fieldHasChanges(a, b)).toBe(true)\n })\n\n it('should return false for identical objects', () => {\n const a = { key: 'value' }\n const b = { key: 'value' }\n expect(fieldHasChanges(a, b)).toBe(false)\n })\n\n it('should return true for different objects', () => {\n const a = { key: 'value' }\n const b = { key: 'differentValue' }\n expect(fieldHasChanges(a, b)).toBe(true)\n })\n\n it('should handle undefined values', () => {\n const a = { key: 'value' }\n const b = undefined\n expect(fieldHasChanges(a, b)).toBe(true)\n })\n\n it('should handle null values', () => {\n const a = { key: 'value' }\n const b = null\n expect(fieldHasChanges(a, b)).toBe(true)\n })\n})\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ;AAEhCC,QAAA,CAAS,cAAc;EACrBC,EAAA,CAAG,4CAA4C;IAC7C,MAAMC,CAAA,GAAI;IACV,MAAMC,CAAA,GAAI;IACVC,MAAA,CAAOL,eAAA,CAAgBG,CAAA,EAAGC,CAAA,GAAIE,IAAI,CAAC;EACrC;EACAJ,EAAA,CAAG,2CAA2C;IAC5C,MAAMC,CAAA,GAAI;IACV,MAAMC,CAAA,GAAI;IACVC,MAAA,CAAOL,eAAA,CAAgBG,CAAA,EAAGC,CAAA,GAAIE,IAAI,CAAC;EACrC;EAEAJ,EAAA,CAAG,6CAA6C;IAC9C,MAAMC,CAAA,GAAI;MAAEI,GAAA,EAAK;IAAQ;IACzB,MAAMH,CAAA,GAAI;MAAEG,GAAA,EAAK;IAAQ;IACzBF,MAAA,CAAOL,eAAA,CAAgBG,CAAA,EAAGC,CAAA,GAAIE,IAAI,CAAC;EACrC;EAEAJ,EAAA,CAAG,4CAA4C;IAC7C,MAAMC,CAAA,GAAI;MAAEI,GAAA,EAAK;IAAQ;IACzB,MAAMH,CAAA,GAAI;MAAEG,GAAA,EAAK;IAAiB;IAClCF,MAAA,CAAOL,eAAA,CAAgBG,CAAA,EAAGC,CAAA,GAAIE,IAAI,CAAC;EACrC;EAEAJ,EAAA,CAAG,kCAAkC;IACnC,MAAMC,CAAA,GAAI;MAAEI,GAAA,EAAK;IAAQ;IACzB,MAAMH,CAAA,GAAII,SAAA;IACVH,MAAA,CAAOL,eAAA,CAAgBG,CAAA,EAAGC,CAAA,GAAIE,IAAI,CAAC;EACrC;EAEAJ,EAAA,CAAG,6BAA6B;IAC9B,MAAMC,CAAA,GAAI;MAAEI,GAAA,EAAK;IAAQ;IACzB,MAAMH,CAAA,GAAI;IACVC,MAAA,CAAOL,eAAA,CAAgBG,CAAA,EAAGC,CAAA,GAAIE,IAAI,CAAC;EACrC;AACF","ignoreList":[]}
1
+ {"version":3,"file":"fieldHasChanges.spec.js","names":["describe","it","expect","fieldHasChanges","a","b","toBe","key","undefined"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.ts"],"sourcesContent":["import { describe, it, expect } from 'vitest'\n\nimport { fieldHasChanges } from './fieldHasChanges.js'\n\ndescribe('hasChanges', () => {\n it('should return false for identical values', () => {\n const a = 'value'\n const b = 'value'\n expect(fieldHasChanges(a, b)).toBe(false)\n })\n it('should return true for different values', () => {\n const a = 1\n const b = 2\n expect(fieldHasChanges(a, b)).toBe(true)\n })\n\n it('should return false for identical objects', () => {\n const a = { key: 'value' }\n const b = { key: 'value' }\n expect(fieldHasChanges(a, b)).toBe(false)\n })\n\n it('should return true for different objects', () => {\n const a = { key: 'value' }\n const b = { key: 'differentValue' }\n expect(fieldHasChanges(a, b)).toBe(true)\n })\n\n it('should handle undefined values', () => {\n const a = { key: 'value' }\n const b = undefined\n expect(fieldHasChanges(a, b)).toBe(true)\n })\n\n it('should handle null values', () => {\n const a = { key: 'value' }\n const b = null\n expect(fieldHasChanges(a, b)).toBe(true)\n })\n})\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,EAAEC,MAAM,QAAQ;AAErC,SAASC,eAAe,QAAQ;AAEhCH,QAAA,CAAS,cAAc;EACrBC,EAAA,CAAG,4CAA4C;IAC7C,MAAMG,CAAA,GAAI;IACV,MAAMC,CAAA,GAAI;IACVH,MAAA,CAAOC,eAAA,CAAgBC,CAAA,EAAGC,CAAA,GAAIC,IAAI,CAAC;EACrC;EACAL,EAAA,CAAG,2CAA2C;IAC5C,MAAMG,CAAA,GAAI;IACV,MAAMC,CAAA,GAAI;IACVH,MAAA,CAAOC,eAAA,CAAgBC,CAAA,EAAGC,CAAA,GAAIC,IAAI,CAAC;EACrC;EAEAL,EAAA,CAAG,6CAA6C;IAC9C,MAAMG,CAAA,GAAI;MAAEG,GAAA,EAAK;IAAQ;IACzB,MAAMF,CAAA,GAAI;MAAEE,GAAA,EAAK;IAAQ;IACzBL,MAAA,CAAOC,eAAA,CAAgBC,CAAA,EAAGC,CAAA,GAAIC,IAAI,CAAC;EACrC;EAEAL,EAAA,CAAG,4CAA4C;IAC7C,MAAMG,CAAA,GAAI;MAAEG,GAAA,EAAK;IAAQ;IACzB,MAAMF,CAAA,GAAI;MAAEE,GAAA,EAAK;IAAiB;IAClCL,MAAA,CAAOC,eAAA,CAAgBC,CAAA,EAAGC,CAAA,GAAIC,IAAI,CAAC;EACrC;EAEAL,EAAA,CAAG,kCAAkC;IACnC,MAAMG,CAAA,GAAI;MAAEG,GAAA,EAAK;IAAQ;IACzB,MAAMF,CAAA,GAAIG,SAAA;IACVN,MAAA,CAAOC,eAAA,CAAgBC,CAAA,EAAGC,CAAA,GAAIC,IAAI,CAAC;EACrC;EAEAL,EAAA,CAAG,6BAA6B;IAC9B,MAAMG,CAAA,GAAI;MAAEG,GAAA,EAAK;IAAQ;IACzB,MAAMF,CAAA,GAAI;IACVH,MAAA,CAAOC,eAAA,CAAgBC,CAAA,EAAGC,CAAA,GAAIC,IAAI,CAAC;EACrC;AACF","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import { describe, it, expect } from 'vitest';
1
2
  import { getFieldsForRowComparison } from './getFieldsForRowComparison';
2
3
  describe('getFieldsForRowComparison', () => {
3
4
  describe('array fields', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"getFieldsForRowComparison.spec.js","names":["getFieldsForRowComparison","describe","it","arrayFields","name","type","field","fields","valueToRow","valueFromRow","row","baseVersionField","path","schemaPath","config","expect","toEqual","blockAFields","blocks","slug","blockType"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.ts"],"sourcesContent":["import { getFieldsForRowComparison } from './getFieldsForRowComparison'\nimport type { ArrayFieldClient, BlocksFieldClient, ClientField } from 'payload'\n\ndescribe('getFieldsForRowComparison', () => {\n describe('array fields', () => {\n it('should return fields from array field', () => {\n const arrayFields: ClientField[] = [\n { name: 'title', type: 'text' },\n { name: 'description', type: 'textarea' },\n ]\n\n const field: ArrayFieldClient = {\n type: 'array',\n name: 'items',\n fields: arrayFields,\n }\n\n const { fields } = getFieldsForRowComparison({\n field,\n valueToRow: {},\n valueFromRow: {},\n row: 0,\n baseVersionField: { fields: [], path: 'items', schemaPath: 'items', type: 'array' },\n config: {} as any,\n })\n\n expect(fields).toEqual(arrayFields)\n })\n })\n\n describe('blocks fields', () => {\n it('should return combined fields when block types match', () => {\n const blockAFields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n ]\n\n const field: BlocksFieldClient = {\n type: 'blocks',\n name: 'myBlocks',\n blocks: [\n {\n slug: 'blockA',\n fields: blockAFields,\n },\n ],\n }\n\n const valueToRow = { blockType: 'blockA' }\n const valueFromRow = { blockType: 'blockA' }\n\n const { fields } = getFieldsForRowComparison({\n field,\n valueToRow,\n valueFromRow,\n row: 0,\n baseVersionField: { fields: [], path: 'myBlocks', schemaPath: 'myBlocks', type: 'blocks' },\n config: {} as any,\n })\n\n expect(fields).toEqual(blockAFields)\n })\n\n it('should return unique combined fields when block types differ', () => {\n const field: BlocksFieldClient = {\n type: 'blocks',\n name: 'myBlocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n ],\n },\n {\n slug: 'blockB',\n fields: [\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n }\n\n const valueToRow = { blockType: 'blockA' }\n const valueFromRow = { blockType: 'blockB' }\n\n const { fields } = getFieldsForRowComparison({\n field,\n valueToRow,\n valueFromRow,\n row: 0,\n baseVersionField: { fields: [], path: 'myBlocks', schemaPath: 'myBlocks', type: 'blocks' },\n config: {} as any,\n })\n\n // Should contain all unique fields from both blocks\n expect(fields).toEqual([\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ])\n })\n })\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getFieldsForRowComparison.spec.js","names":["describe","it","expect","getFieldsForRowComparison","arrayFields","name","type","field","fields","valueToRow","valueFromRow","row","baseVersionField","path","schemaPath","config","toEqual","blockAFields","blocks","slug","blockType"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.ts"],"sourcesContent":["import type { ArrayFieldClient, BlocksFieldClient, ClientField } from 'payload'\nimport { describe, it, expect } from 'vitest'\n\nimport { getFieldsForRowComparison } from './getFieldsForRowComparison'\n\ndescribe('getFieldsForRowComparison', () => {\n describe('array fields', () => {\n it('should return fields from array field', () => {\n const arrayFields: ClientField[] = [\n { name: 'title', type: 'text' },\n { name: 'description', type: 'textarea' },\n ]\n\n const field: ArrayFieldClient = {\n type: 'array',\n name: 'items',\n fields: arrayFields,\n }\n\n const { fields } = getFieldsForRowComparison({\n field,\n valueToRow: {},\n valueFromRow: {},\n row: 0,\n baseVersionField: { fields: [], path: 'items', schemaPath: 'items', type: 'array' },\n config: {} as any,\n })\n\n expect(fields).toEqual(arrayFields)\n })\n })\n\n describe('blocks fields', () => {\n it('should return combined fields when block types match', () => {\n const blockAFields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n ]\n\n const field: BlocksFieldClient = {\n type: 'blocks',\n name: 'myBlocks',\n blocks: [\n {\n slug: 'blockA',\n fields: blockAFields,\n },\n ],\n }\n\n const valueToRow = { blockType: 'blockA' }\n const valueFromRow = { blockType: 'blockA' }\n\n const { fields } = getFieldsForRowComparison({\n field,\n valueToRow,\n valueFromRow,\n row: 0,\n baseVersionField: { fields: [], path: 'myBlocks', schemaPath: 'myBlocks', type: 'blocks' },\n config: {} as any,\n })\n\n expect(fields).toEqual(blockAFields)\n })\n\n it('should return unique combined fields when block types differ', () => {\n const field: BlocksFieldClient = {\n type: 'blocks',\n name: 'myBlocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n ],\n },\n {\n slug: 'blockB',\n fields: [\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n }\n\n const valueToRow = { blockType: 'blockA' }\n const valueFromRow = { blockType: 'blockB' }\n\n const { fields } = getFieldsForRowComparison({\n field,\n valueToRow,\n valueFromRow,\n row: 0,\n baseVersionField: { fields: [], path: 'myBlocks', schemaPath: 'myBlocks', type: 'blocks' },\n config: {} as any,\n })\n\n // Should contain all unique fields from both blocks\n expect(fields).toEqual([\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ])\n })\n })\n})\n"],"mappings":"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","ignoreList":[]}
@@ -46,22 +46,23 @@ export const Restore = ({
46
46
  });
47
47
  const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts;
48
48
  const handleRestore = useCallback(async () => {
49
- let fetchURL = `${serverURL}${apiRoute}`;
49
+ let fetchURL = formatAdminURL({
50
+ apiRoute,
51
+ path: ''
52
+ });
50
53
  let redirectURL;
51
54
  if (collectionConfig) {
52
55
  fetchURL = `${fetchURL}/${collectionConfig.slug}/versions/${versionID}?draft=${draft}`;
53
56
  redirectURL = formatAdminURL({
54
57
  adminRoute,
55
- path: `/collections/${collectionConfig.slug}/${originalDocID}`,
56
- serverURL
58
+ path: `/collections/${collectionConfig.slug}/${originalDocID}`
57
59
  });
58
60
  }
59
61
  if (globalConfig) {
60
62
  fetchURL = `${fetchURL}/globals/${globalConfig.slug}/versions/${versionID}?draft=${draft}`;
61
63
  redirectURL = formatAdminURL({
62
64
  adminRoute,
63
- path: `/globals/${globalConfig.slug}`,
64
- serverURL
65
+ path: `/globals/${globalConfig.slug}`
65
66
  });
66
67
  }
67
68
  const res = await requests.post(fetchURL, {
@@ -76,7 +77,7 @@ export const Restore = ({
76
77
  } else {
77
78
  toast.error(t('version:problemRestoringVersion'));
78
79
  }
79
- }, [serverURL, apiRoute, collectionConfig, globalConfig, i18n.language, versionID, draft, adminRoute, originalDocID, startRouteTransition, router, t]);
80
+ }, [apiRoute, collectionConfig, globalConfig, i18n.language, versionID, draft, adminRoute, originalDocID, startRouteTransition, router, t]);
80
81
  return /*#__PURE__*/_jsxs(Fragment, {
81
82
  children: [/*#__PURE__*/_jsx("div", {
82
83
  className: [baseClass, className].filter(Boolean).join(' '),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","Button","ConfirmationModal","PopupList","toast","useConfig","useModal","useRouteTransition","useTranslation","requests","useRouter","formatAdminURL","React","Fragment","useCallback","useState","baseClass","modalSlug","Restore","className","collectionConfig","globalConfig","label","originalDocID","status","versionDateFormatted","versionID","config","routes","admin","adminRoute","api","apiRoute","serverURL","toggleModal","router","i18n","t","draft","setDraft","startRouteTransition","restoreMessage","versionDate","canRestoreAsDraft","versions","drafts","handleRestore","fetchURL","redirectURL","slug","path","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","body","confirmingLabel","heading","onConfirm"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig, SanitizedCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n ConfirmationModal,\n PopupList,\n toast,\n useConfig,\n useModal,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { requests } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\n\nimport './index.scss'\n\nimport React, { Fragment, useCallback, useState } from 'react'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\ntype Props = {\n className?: string\n collectionConfig?: ClientCollectionConfig\n globalConfig?: ClientGlobalConfig\n label: SanitizedCollectionConfig['labels']['singular']\n originalDocID: number | string\n status?: string\n versionDateFormatted: string\n versionID: string\n}\n\nexport const Restore: React.FC<Props> = ({\n className,\n collectionConfig,\n globalConfig,\n label,\n originalDocID,\n status,\n versionDateFormatted,\n versionID,\n}) => {\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n const { startRouteTransition } = useRouteTransition()\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate: versionDateFormatted,\n })\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n const handleRestore = useCallback(async () => {\n let fetchURL = `${serverURL}${apiRoute}`\n let redirectURL: string\n\n if (collectionConfig) {\n fetchURL = `${fetchURL}/${collectionConfig.slug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig.slug}/${originalDocID}`,\n serverURL,\n })\n }\n\n if (globalConfig) {\n fetchURL = `${fetchURL}/globals/${globalConfig.slug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalConfig.slug}`,\n serverURL,\n })\n }\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n return startRouteTransition(() => router.push(redirectURL))\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [\n serverURL,\n apiRoute,\n collectionConfig,\n globalConfig,\n i18n.language,\n versionID,\n draft,\n adminRoute,\n originalDocID,\n startRouteTransition,\n router,\n t,\n ])\n\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"primary\"\n className={[canRestoreAsDraft && `${baseClass}__restore-as-draft-button`]\n .filter(Boolean)\n .join(' ')}\n onClick={() => toggleModal(modalSlug)}\n size=\"xsmall\"\n SubMenuPopupContent={\n canRestoreAsDraft\n ? () => (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n : null\n }\n >\n {t('version:restoreThisVersion')}\n </Button>\n </div>\n <ConfirmationModal\n body={restoreMessage}\n confirmingLabel={t('version:restoring')}\n heading={t('version:confirmVersionRestoration')}\n modalSlug={modalSlug}\n onConfirm={handleRestore}\n />\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","Button","ConfirmationModal","PopupList","toast","useConfig","useModal","useRouteTransition","useTranslation","requests","useRouter","formatAdminURL","React","Fragment","useCallback","useState","baseClass","modalSlug","Restore","className","collectionConfig","globalConfig","label","originalDocID","status","versionDateFormatted","versionID","config","routes","admin","adminRoute","api","apiRoute","serverURL","toggleModal","router","i18n","t","draft","setDraft","startRouteTransition","restoreMessage","versionDate","canRestoreAsDraft","versions","drafts","handleRestore","fetchURL","path","redirectURL","slug","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","body","confirmingLabel","heading","onConfirm"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig, SanitizedCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n ConfirmationModal,\n PopupList,\n toast,\n useConfig,\n useModal,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { requests } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\n\nimport './index.scss'\n\nimport React, { Fragment, useCallback, useState } from 'react'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\ntype Props = {\n className?: string\n collectionConfig?: ClientCollectionConfig\n globalConfig?: ClientGlobalConfig\n label: SanitizedCollectionConfig['labels']['singular']\n originalDocID: number | string\n status?: string\n versionDateFormatted: string\n versionID: string\n}\n\nexport const Restore: React.FC<Props> = ({\n className,\n collectionConfig,\n globalConfig,\n label,\n originalDocID,\n status,\n versionDateFormatted,\n versionID,\n}) => {\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n const { startRouteTransition } = useRouteTransition()\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate: versionDateFormatted,\n })\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n const handleRestore = useCallback(async () => {\n let fetchURL = formatAdminURL({\n apiRoute,\n path: '',\n })\n let redirectURL: string\n\n if (collectionConfig) {\n fetchURL = `${fetchURL}/${collectionConfig.slug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig.slug}/${originalDocID}`,\n })\n }\n\n if (globalConfig) {\n fetchURL = `${fetchURL}/globals/${globalConfig.slug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalConfig.slug}`,\n })\n }\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n return startRouteTransition(() => router.push(redirectURL))\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [\n apiRoute,\n collectionConfig,\n globalConfig,\n i18n.language,\n versionID,\n draft,\n adminRoute,\n originalDocID,\n startRouteTransition,\n router,\n t,\n ])\n\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"primary\"\n className={[canRestoreAsDraft && `${baseClass}__restore-as-draft-button`]\n .filter(Boolean)\n .join(' ')}\n onClick={() => toggleModal(modalSlug)}\n size=\"xsmall\"\n SubMenuPopupContent={\n canRestoreAsDraft\n ? () => (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n : null\n }\n >\n {t('version:restoreThisVersion')}\n </Button>\n </div>\n <ConfirmationModal\n body={restoreMessage}\n confirmingLabel={t('version:restoring')}\n heading={t('version:confirmVersionRestoration')}\n modalSlug={modalSlug}\n onConfirm={handleRestore}\n />\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Versions/cells/CreatedAt/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE;QACR,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;KAClC,CAAA;CACF,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0CtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Versions/cells/CreatedAt/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE;QACR,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;KAClC,CAAA;CACF,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAuCtD,CAAA"}
@@ -22,8 +22,7 @@ export const CreatedAtCell = t0 => {
22
22
  } = useConfig();
23
23
  const {
24
24
  admin: t3,
25
- routes: t4,
26
- serverURL
25
+ routes: t4
27
26
  } = t2;
28
27
  const {
29
28
  dateFormat
@@ -39,15 +38,13 @@ export const CreatedAtCell = t0 => {
39
38
  if (collectionSlug) {
40
39
  to = formatAdminURL({
41
40
  adminRoute,
42
- path: `/collections/${collectionSlug}/${trashedDocPrefix}${docID}/versions/${id}`,
43
- serverURL
41
+ path: `/collections/${collectionSlug}/${trashedDocPrefix}${docID}/versions/${id}`
44
42
  });
45
43
  }
46
44
  if (globalSlug) {
47
45
  to = formatAdminURL({
48
46
  adminRoute,
49
- path: `/globals/${globalSlug}/versions/${id}`,
50
- serverURL
47
+ path: `/globals/${globalSlug}/versions/${id}`
51
48
  });
52
49
  }
53
50
  return _jsx(Link, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Link","useConfig","useTranslation","formatDate","formatAdminURL","React","CreatedAtCell","t0","collectionSlug","docID","globalSlug","isTrashed","rowData","t1","id","updatedAt","undefined","config","t2","admin","t3","routes","t4","serverURL","dateFormat","adminRoute","i18n","trashedDocPrefix","to","_jsx","href","prefetch","children","date","pattern"],"sources":["../../../../../src/views/Versions/cells/CreatedAt/index.tsx"],"sourcesContent":["'use client'\nimport { Link, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nexport type CreatedAtCellProps = {\n collectionSlug?: string\n docID?: number | string\n globalSlug?: string\n isTrashed?: boolean\n rowData?: {\n id: number | string\n updatedAt: Date | number | string\n }\n}\n\nexport const CreatedAtCell: React.FC<CreatedAtCellProps> = ({\n collectionSlug,\n docID,\n globalSlug,\n isTrashed,\n rowData: { id, updatedAt } = {},\n}) => {\n const {\n config: {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n serverURL,\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n\n const trashedDocPrefix = isTrashed ? 'trash/' : ''\n\n let to: string\n\n if (collectionSlug) {\n to = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${trashedDocPrefix}${docID}/versions/${id}`,\n serverURL,\n })\n }\n\n if (globalSlug) {\n to = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}/versions/${id}`,\n serverURL,\n })\n }\n\n return (\n <Link href={to} prefetch={false}>\n {formatDate({ date: updatedAt, i18n, pattern: dateFormat })}\n </Link>\n )\n}\n"],"mappings":"AAAA;;;AACA,SAASA,IAAI,EAAEC,SAAS,EAAEC,cAAc,QAAQ;AAChD,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAalB,OAAO,MAAMC,aAAA,GAA8CC,EAAA;EAAC;IAAAC,cAAA;IAAAC,KAAA;IAAAC,UAAA;IAAAC,SAAA;IAAAC,OAAA,EAAAC;EAAA,IAAAN,EAM3D;EADU;IAAAO,EAAA;IAAAC;EAAA,IAAAF,EAAsB,KAAAG,SAAA,QAAtBH,EAAsB;EAE/B;IAAAI,MAAA,EAAAC;EAAA,IAMIjB,SAAA;EALM;IAAAkB,KAAA,EAAAC,EAAA;IAAAC,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAL,EAIP;EAHQ;IAAAM;EAAA,IAAAJ,EAAc;EACb;IAAAD,KAAA,EAAAM;EAAA,IAAAH,EAAqB;EAKjC;IAAAI;EAAA,IAAiBxB,cAAA;EAEjB,MAAAyB,gBAAA,GAAyBhB,SAAA,GAAY,WAAW;EAE5CiB,GAAA,CAAAA,EAAA;EAAA,IAEApB,cAAA;IACFoB,EAAA,CAAAA,CAAA,CAAKA;MAAAA;MAAAA,KAAA,CAEGA,gBAAgBpB,cAAA,IAAkBmB,gBAAA,GAAmBlB,KAAA,aAAkBK,EAAA,EAAI;MAAAS;IAAA,CAEnF;EAJA;EAAA,IAOEb,UAAA;IACFkB,EAAA,CAAAA,CAAA,CAAKA;MAAAA;MAAAA,KAAA,CAEGA,YAAYlB,UAAA,aAAuBI,EAAA,EAAI;MAAAS;IAAA,CAE/C;EAJA;EAAA,OAQAM,IAAA,CAAA7B,IAAA;IAAA8B,IAAA,EAAYF,EAAA;IAAAG,QAAA;IAAAC,QAAA,EACT7B,UAAA;MAAA8B,IAAA,EAAmBlB,SAAA;MAAAW,IAAA;MAAAQ,OAAA,EAA0BV;IAAA,CAAW;EAAA,C;CAG/D","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Link","useConfig","useTranslation","formatDate","formatAdminURL","React","CreatedAtCell","t0","collectionSlug","docID","globalSlug","isTrashed","rowData","t1","id","updatedAt","undefined","config","t2","admin","t3","routes","t4","dateFormat","adminRoute","i18n","trashedDocPrefix","to","_jsx","href","prefetch","children","date","pattern"],"sources":["../../../../../src/views/Versions/cells/CreatedAt/index.tsx"],"sourcesContent":["'use client'\nimport { Link, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nexport type CreatedAtCellProps = {\n collectionSlug?: string\n docID?: number | string\n globalSlug?: string\n isTrashed?: boolean\n rowData?: {\n id: number | string\n updatedAt: Date | number | string\n }\n}\n\nexport const CreatedAtCell: React.FC<CreatedAtCellProps> = ({\n collectionSlug,\n docID,\n globalSlug,\n isTrashed,\n rowData: { id, updatedAt } = {},\n}) => {\n const {\n config: {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n\n const trashedDocPrefix = isTrashed ? 'trash/' : ''\n\n let to: string\n\n if (collectionSlug) {\n to = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${trashedDocPrefix}${docID}/versions/${id}`,\n })\n }\n\n if (globalSlug) {\n to = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}/versions/${id}`,\n })\n }\n\n return (\n <Link href={to} prefetch={false}>\n {formatDate({ date: updatedAt, i18n, pattern: dateFormat })}\n </Link>\n )\n}\n"],"mappings":"AAAA;;;AACA,SAASA,IAAI,EAAEC,SAAS,EAAEC,cAAc,QAAQ;AAChD,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAalB,OAAO,MAAMC,aAAA,GAA8CC,EAAA;EAAC;IAAAC,cAAA;IAAAC,KAAA;IAAAC,UAAA;IAAAC,SAAA;IAAAC,OAAA,EAAAC;EAAA,IAAAN,EAM3D;EADU;IAAAO,EAAA;IAAAC;EAAA,IAAAF,EAAsB,KAAAG,SAAA,QAAtBH,EAAsB;EAE/B;IAAAI,MAAA,EAAAC;EAAA,IAKIjB,SAAA;EAJM;IAAAkB,KAAA,EAAAC,EAAA;IAAAC,MAAA,EAAAC;EAAA,IAAAJ,EAGP;EAFQ;IAAAK;EAAA,IAAAH,EAAc;EACb;IAAAD,KAAA,EAAAK;EAAA,IAAAF,EAAqB;EAIjC;IAAAG;EAAA,IAAiBvB,cAAA;EAEjB,MAAAwB,gBAAA,GAAyBf,SAAA,GAAY,WAAW;EAE5CgB,GAAA,CAAAA,EAAA;EAAA,IAEAnB,cAAA;IACFmB,EAAA,CAAAA,CAAA,CAAKA;MAAAA;MAAAA,KAAA,CAEGA,gBAAgBnB,cAAA,IAAkBkB,gBAAA,GAAmBjB,KAAA,aAAkBK,EAAA;IAAI,CACnF;EAHA;EAAA,IAMEJ,UAAA;IACFiB,EAAA,CAAAA,CAAA,CAAKA;MAAAA;MAAAA,KAAA,CAEGA,YAAYjB,UAAA,aAAuBI,EAAA;IAAI,CAC/C;EAHA;EAAA,OAOAc,IAAA,CAAA5B,IAAA;IAAA6B,IAAA,EAAYF,EAAA;IAAAG,QAAA;IAAAC,QAAA,EACT5B,UAAA;MAAA6B,IAAA,EAAmBjB,SAAA;MAAAU,IAAA;MAAAQ,OAAA,EAA0BV;IAAA,CAAW;EAAA,C;CAG/D","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,uBAAuB,EAAkC,MAAM,SAAS,CAAA;AAEtF,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAIrB,wBAAsB,YAAY,CAAC,KAAK,EAAE,uBAAuB,8BAiKhE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,uBAAuB,EAAkC,MAAM,SAAS,CAAA;AAEtF,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAIrB,wBAAsB,YAAY,CAAC,KAAK,EAAE,uBAAuB,8BAgKhE"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Gutter, ListQueryProvider, SetDocumentStepNav } from '@payloadcms/ui';
3
3
  import { notFound } from 'next/navigation.js';
4
- import { formatApiURL, hasDraftsEnabled, isNumber } from 'payload/shared';
4
+ import { formatAdminURL, hasDraftsEnabled, isNumber } from 'payload/shared';
5
5
  import React from 'react';
6
6
  import { fetchLatestVersion, fetchVersions } from '../Version/fetchVersions.js';
7
7
  import { VersionDrawerCreatedAtCell } from '../Version/SelectComparison/VersionDrawer/CreatedAtCell.js';
@@ -102,10 +102,9 @@ export async function VersionsView(props) {
102
102
  status: 'draft',
103
103
  user
104
104
  }) : Promise.resolve(null)]);
105
- const fetchURL = formatApiURL({
105
+ const fetchURL = formatAdminURL({
106
106
  apiRoute,
107
- path: collectionSlug ? `/${collectionSlug}/versions` : `/${globalSlug}/versions`,
108
- serverURL
107
+ path: collectionSlug ? `/${collectionSlug}/versions` : `/${globalSlug}/versions`
109
108
  });
110
109
  const columns = buildVersionColumns({
111
110
  collectionConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Gutter","ListQueryProvider","SetDocumentStepNav","notFound","formatApiURL","hasDraftsEnabled","isNumber","React","fetchLatestVersion","fetchVersions","VersionDrawerCreatedAtCell","buildVersionColumns","VersionsViewClient","baseClass","VersionsView","props","hasPublishedDoc","initPageResult","collectionConfig","docID","id","globalConfig","req","i18n","payload","config","t","user","routeSegments","segments","searchParams","limit","page","sort","versions","disableGutter","useVersionDrawerCreatedAtCell","draftsEnabled","collectionSlug","slug","globalSlug","isTrashed","localization","routes","api","apiRoute","serverURL","whereQuery","and","push","snapshot","not_equals","defaultLimit","admin","pagination","limitToUse","Number","versionsData","depth","overrideAccess","parseInt","toString","undefined","parentID","where","currentlyPublishedVersion","latestDraftVersion","Promise","all","select","updatedAt","status","resolve","fetchURL","path","columns","CreatedAtCellOverride","docs","pluralLabel","labels","plural","label","GutterComponent","Fragment","_jsxs","_jsx","useAsTitle","view","className","data","modifySearchParams","orderableFieldName","orderable","query","paginationLimits","limits"],"sources":["../../../src/views/Versions/index.tsx"],"sourcesContent":["import { Gutter, ListQueryProvider, SetDocumentStepNav } from '@payloadcms/ui'\nimport { notFound } from 'next/navigation.js'\nimport { type DocumentViewServerProps, type PaginatedDocs, type Where } from 'payload'\nimport { formatApiURL, hasDraftsEnabled, isNumber } from 'payload/shared'\nimport React from 'react'\n\nimport { fetchLatestVersion, fetchVersions } from '../Version/fetchVersions.js'\nimport { VersionDrawerCreatedAtCell } from '../Version/SelectComparison/VersionDrawer/CreatedAtCell.js'\nimport { buildVersionColumns } from './buildColumns.js'\nimport { VersionsViewClient } from './index.client.js'\nimport './index.scss'\n\nconst baseClass = 'versions'\n\nexport async function VersionsView(props: DocumentViewServerProps) {\n const {\n hasPublishedDoc,\n initPageResult: {\n collectionConfig,\n docID: id,\n globalConfig,\n req,\n req: {\n i18n,\n payload: { config },\n t,\n user,\n },\n },\n routeSegments: segments,\n searchParams: { limit, page, sort },\n versions: { disableGutter = false, useVersionDrawerCreatedAtCell = false } = {},\n } = props\n\n const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig)\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const isTrashed = segments[2] === 'trash'\n\n const {\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const whereQuery: {\n and: Array<{ parent?: { equals: number | string }; snapshot?: { not_equals: boolean } }>\n } & Where = {\n and: [],\n }\n if (localization && draftsEnabled) {\n whereQuery.and.push({\n snapshot: {\n not_equals: true,\n },\n })\n }\n\n const defaultLimit = collectionSlug ? collectionConfig?.admin?.pagination?.defaultLimit : 10\n\n const limitToUse = isNumber(limit) ? Number(limit) : defaultLimit\n\n const versionsData: PaginatedDocs = await fetchVersions({\n collectionSlug,\n depth: 0,\n globalSlug,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page.toString(), 10) : undefined,\n parentID: id,\n req,\n sort: sort as string,\n user,\n where: whereQuery,\n })\n\n if (!versionsData) {\n return notFound()\n }\n\n const [currentlyPublishedVersion, latestDraftVersion] = await Promise.all([\n hasPublishedDoc\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n overrideAccess: false,\n parentID: id,\n req,\n select: {\n id: true,\n updatedAt: true,\n },\n status: 'published',\n user,\n })\n : Promise.resolve(null),\n draftsEnabled\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n overrideAccess: false,\n parentID: id,\n req,\n select: {\n id: true,\n updatedAt: true,\n },\n status: 'draft',\n user,\n })\n : Promise.resolve(null),\n ])\n\n const fetchURL = formatApiURL({\n apiRoute,\n path: collectionSlug ? `/${collectionSlug}/versions` : `/${globalSlug}/versions`,\n serverURL,\n })\n\n const columns = buildVersionColumns({\n collectionConfig,\n CreatedAtCellOverride: useVersionDrawerCreatedAtCell ? VersionDrawerCreatedAtCell : undefined,\n currentlyPublishedVersion,\n docID: id,\n docs: versionsData?.docs,\n globalConfig,\n i18n,\n isTrashed,\n latestDraftVersion,\n })\n\n const pluralLabel =\n typeof collectionConfig?.labels?.plural === 'function'\n ? collectionConfig.labels.plural({ i18n, t })\n : (collectionConfig?.labels?.plural ?? globalConfig?.label)\n\n const GutterComponent = disableGutter ? React.Fragment : Gutter\n\n return (\n <React.Fragment>\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={pluralLabel}\n useAsTitle={collectionConfig?.admin?.useAsTitle || globalSlug}\n view={i18n.t('version:versions')}\n />\n <main className={baseClass}>\n <GutterComponent className={`${baseClass}__wrap`}>\n <ListQueryProvider\n data={versionsData}\n modifySearchParams\n orderableFieldName={collectionConfig?.orderable === true ? '_order' : undefined}\n query={{\n limit: limitToUse,\n sort: sort as string,\n }}\n >\n <VersionsViewClient\n baseClass={baseClass}\n columns={columns}\n fetchURL={fetchURL}\n paginationLimits={collectionConfig?.admin?.pagination?.limits}\n />\n </ListQueryProvider>\n </GutterComponent>\n </main>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Gutter","ListQueryProvider","SetDocumentStepNav","notFound","formatAdminURL","hasDraftsEnabled","isNumber","React","fetchLatestVersion","fetchVersions","VersionDrawerCreatedAtCell","buildVersionColumns","VersionsViewClient","baseClass","VersionsView","props","hasPublishedDoc","initPageResult","collectionConfig","docID","id","globalConfig","req","i18n","payload","config","t","user","routeSegments","segments","searchParams","limit","page","sort","versions","disableGutter","useVersionDrawerCreatedAtCell","draftsEnabled","collectionSlug","slug","globalSlug","isTrashed","localization","routes","api","apiRoute","serverURL","whereQuery","and","push","snapshot","not_equals","defaultLimit","admin","pagination","limitToUse","Number","versionsData","depth","overrideAccess","parseInt","toString","undefined","parentID","where","currentlyPublishedVersion","latestDraftVersion","Promise","all","select","updatedAt","status","resolve","fetchURL","path","columns","CreatedAtCellOverride","docs","pluralLabel","labels","plural","label","GutterComponent","Fragment","_jsxs","_jsx","useAsTitle","view","className","data","modifySearchParams","orderableFieldName","orderable","query","paginationLimits","limits"],"sources":["../../../src/views/Versions/index.tsx"],"sourcesContent":["import { Gutter, ListQueryProvider, SetDocumentStepNav } from '@payloadcms/ui'\nimport { notFound } from 'next/navigation.js'\nimport { type DocumentViewServerProps, type PaginatedDocs, type Where } from 'payload'\nimport { formatAdminURL, hasDraftsEnabled, isNumber } from 'payload/shared'\nimport React from 'react'\n\nimport { fetchLatestVersion, fetchVersions } from '../Version/fetchVersions.js'\nimport { VersionDrawerCreatedAtCell } from '../Version/SelectComparison/VersionDrawer/CreatedAtCell.js'\nimport { buildVersionColumns } from './buildColumns.js'\nimport { VersionsViewClient } from './index.client.js'\nimport './index.scss'\n\nconst baseClass = 'versions'\n\nexport async function VersionsView(props: DocumentViewServerProps) {\n const {\n hasPublishedDoc,\n initPageResult: {\n collectionConfig,\n docID: id,\n globalConfig,\n req,\n req: {\n i18n,\n payload: { config },\n t,\n user,\n },\n },\n routeSegments: segments,\n searchParams: { limit, page, sort },\n versions: { disableGutter = false, useVersionDrawerCreatedAtCell = false } = {},\n } = props\n\n const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig)\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const isTrashed = segments[2] === 'trash'\n\n const {\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const whereQuery: {\n and: Array<{ parent?: { equals: number | string }; snapshot?: { not_equals: boolean } }>\n } & Where = {\n and: [],\n }\n if (localization && draftsEnabled) {\n whereQuery.and.push({\n snapshot: {\n not_equals: true,\n },\n })\n }\n\n const defaultLimit = collectionSlug ? collectionConfig?.admin?.pagination?.defaultLimit : 10\n\n const limitToUse = isNumber(limit) ? Number(limit) : defaultLimit\n\n const versionsData: PaginatedDocs = await fetchVersions({\n collectionSlug,\n depth: 0,\n globalSlug,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page.toString(), 10) : undefined,\n parentID: id,\n req,\n sort: sort as string,\n user,\n where: whereQuery,\n })\n\n if (!versionsData) {\n return notFound()\n }\n\n const [currentlyPublishedVersion, latestDraftVersion] = await Promise.all([\n hasPublishedDoc\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n overrideAccess: false,\n parentID: id,\n req,\n select: {\n id: true,\n updatedAt: true,\n },\n status: 'published',\n user,\n })\n : Promise.resolve(null),\n draftsEnabled\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n overrideAccess: false,\n parentID: id,\n req,\n select: {\n id: true,\n updatedAt: true,\n },\n status: 'draft',\n user,\n })\n : Promise.resolve(null),\n ])\n\n const fetchURL = formatAdminURL({\n apiRoute,\n path: collectionSlug ? `/${collectionSlug}/versions` : `/${globalSlug}/versions`,\n })\n\n const columns = buildVersionColumns({\n collectionConfig,\n CreatedAtCellOverride: useVersionDrawerCreatedAtCell ? VersionDrawerCreatedAtCell : undefined,\n currentlyPublishedVersion,\n docID: id,\n docs: versionsData?.docs,\n globalConfig,\n i18n,\n isTrashed,\n latestDraftVersion,\n })\n\n const pluralLabel =\n typeof collectionConfig?.labels?.plural === 'function'\n ? collectionConfig.labels.plural({ i18n, t })\n : (collectionConfig?.labels?.plural ?? globalConfig?.label)\n\n const GutterComponent = disableGutter ? React.Fragment : Gutter\n\n return (\n <React.Fragment>\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={pluralLabel}\n useAsTitle={collectionConfig?.admin?.useAsTitle || globalSlug}\n view={i18n.t('version:versions')}\n />\n <main className={baseClass}>\n <GutterComponent className={`${baseClass}__wrap`}>\n <ListQueryProvider\n data={versionsData}\n modifySearchParams\n orderableFieldName={collectionConfig?.orderable === true ? '_order' : undefined}\n query={{\n limit: limitToUse,\n sort: sort as string,\n }}\n >\n <VersionsViewClient\n baseClass={baseClass}\n columns={columns}\n fetchURL={fetchURL}\n paginationLimits={collectionConfig?.admin?.pagination?.limits}\n />\n </ListQueryProvider>\n </GutterComponent>\n </main>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.69.0-internal.424436e",
3
+ "version": "3.69.0",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -87,6 +87,8 @@
87
87
  },
88
88
  "dependencies": {
89
89
  "@dnd-kit/core": "6.0.8",
90
+ "@dnd-kit/modifiers": "9.0.0",
91
+ "@dnd-kit/sortable": "7.0.2",
90
92
  "busboy": "^1.6.0",
91
93
  "dequal": "2.0.3",
92
94
  "file-type": "19.3.0",
@@ -97,9 +99,9 @@
97
99
  "qs-esm": "7.0.2",
98
100
  "sass": "1.77.4",
99
101
  "uuid": "10.0.0",
100
- "@payloadcms/graphql": "3.69.0-internal.424436e",
101
- "@payloadcms/ui": "3.69.0-internal.424436e",
102
- "@payloadcms/translations": "3.69.0-internal.424436e"
102
+ "@payloadcms/graphql": "3.69.0",
103
+ "@payloadcms/translations": "3.69.0",
104
+ "@payloadcms/ui": "3.69.0"
103
105
  },
104
106
  "devDependencies": {
105
107
  "@babel/cli": "7.27.2",
@@ -117,12 +119,12 @@
117
119
  "esbuild-sass-plugin": "3.3.1",
118
120
  "swc-plugin-transform-remove-imports": "8.3.0",
119
121
  "@payloadcms/eslint-config": "3.28.0",
120
- "payload": "3.69.0-internal.424436e"
122
+ "payload": "3.69.0"
121
123
  },
122
124
  "peerDependencies": {
123
125
  "graphql": "^16.8.1",
124
126
  "next": "^15.4.10",
125
- "payload": "3.69.0-internal.424436e"
127
+ "payload": "3.69.0"
126
128
  },
127
129
  "engines": {
128
130
  "node": "^18.20.2 || >=20.9.0"
@@ -1,5 +0,0 @@
1
- import type { PayloadRequest, VisibleEntities } from 'payload';
2
- export declare function getVisibleEntities({ req }: {
3
- req: PayloadRequest;
4
- }): VisibleEntities;
5
- //# sourceMappingURL=getVisibleEntities.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getVisibleEntities.d.ts","sourceRoot":"","sources":["../../src/utilities/getVisibleEntities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9D,wBAAgB,kBAAkB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,GAAG,eAAe,CAapF"}
@@ -1,26 +0,0 @@
1
- import { isEntityHidden } from 'payload';
2
- export function getVisibleEntities({
3
- req
4
- }) {
5
- return {
6
- collections: req.payload.config.collections.map(({
7
- slug,
8
- admin: {
9
- hidden
10
- }
11
- }) => !isEntityHidden({
12
- hidden,
13
- user: req.user
14
- }) ? slug : null).filter(Boolean),
15
- globals: req.payload.config.globals.map(({
16
- slug,
17
- admin: {
18
- hidden
19
- }
20
- }) => !isEntityHidden({
21
- hidden,
22
- user: req.user
23
- }) ? slug : null).filter(Boolean)
24
- };
25
- }
26
- //# sourceMappingURL=getVisibleEntities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getVisibleEntities.js","names":["isEntityHidden","getVisibleEntities","req","collections","payload","config","map","slug","admin","hidden","user","filter","Boolean","globals"],"sources":["../../src/utilities/getVisibleEntities.ts"],"sourcesContent":["import type { PayloadRequest, VisibleEntities } from 'payload'\n\nimport { isEntityHidden } from 'payload'\n\nexport function getVisibleEntities({ req }: { req: PayloadRequest }): VisibleEntities {\n return {\n collections: req.payload.config.collections\n .map(({ slug, admin: { hidden } }) =>\n !isEntityHidden({ hidden, user: req.user }) ? slug : null,\n )\n .filter(Boolean),\n globals: req.payload.config.globals\n .map(({ slug, admin: { hidden } }) =>\n !isEntityHidden({ hidden, user: req.user }) ? slug : null,\n )\n .filter(Boolean),\n }\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAE/B,OAAO,SAASC,mBAAmB;EAAEC;AAAG,CAA2B;EACjE,OAAO;IACLC,WAAA,EAAaD,GAAA,CAAIE,OAAO,CAACC,MAAM,CAACF,WAAW,CACxCG,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAEC,KAAA,EAAO;QAAEC;MAAM;IAAE,CAAE,KAC/B,CAACT,cAAA,CAAe;MAAES,MAAA;MAAQC,IAAA,EAAMR,GAAA,CAAIQ;IAAK,KAAKH,IAAA,GAAO,MAEtDI,MAAM,CAACC,OAAA;IACVC,OAAA,EAASX,GAAA,CAAIE,OAAO,CAACC,MAAM,CAACQ,OAAO,CAChCP,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAEC,KAAA,EAAO;QAAEC;MAAM;IAAE,CAAE,KAC/B,CAACT,cAAA,CAAe;MAAES,MAAA;MAAQC,IAAA,EAAMR,GAAA,CAAIQ;IAAK,KAAKH,IAAA,GAAO,MAEtDI,MAAM,CAACC,OAAA;EACZ;AACF","ignoreList":[]}