@payloadcms/next 3.56.0-internal.72f4fd2 → 3.56.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 (64) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +41 -19
  2. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  3. package/dist/elements/Nav/index.client.js +48 -28
  4. package/dist/elements/Nav/index.client.js.map +1 -1
  5. package/dist/layouts/Root/index.js +1 -1
  6. package/dist/layouts/Root/index.js.map +1 -1
  7. package/dist/prod/styles.css +1 -1
  8. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  9. package/dist/utilities/handleServerFunctions.js +3 -9
  10. package/dist/utilities/handleServerFunctions.js.map +1 -1
  11. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  12. package/dist/views/CreateFirstUser/index.js +1 -0
  13. package/dist/views/CreateFirstUser/index.js.map +1 -1
  14. package/dist/views/Document/getIsLocked.d.ts.map +1 -1
  15. package/dist/views/Document/getIsLocked.js +18 -3
  16. package/dist/views/Document/getIsLocked.js.map +1 -1
  17. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  18. package/dist/views/List/transformColumnsToSelect.js +10 -6
  19. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  20. package/dist/views/Logout/LogoutClient.js +31 -29
  21. package/dist/views/Logout/LogoutClient.js.map +1 -1
  22. package/dist/views/Root/index.d.ts.map +1 -1
  23. package/dist/views/Root/index.js +4 -5
  24. package/dist/views/Root/index.js.map +1 -1
  25. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +34 -18
  26. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  27. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +8 -2
  28. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  29. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +27 -17
  30. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  31. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts.map +1 -1
  32. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +4 -1
  33. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  34. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +5 -0
  35. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  36. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +48 -33
  37. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  38. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +30 -21
  39. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  40. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts +6 -6
  41. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  42. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +35 -35
  43. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  44. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +88 -88
  45. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  46. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +3 -3
  47. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  48. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +6 -6
  49. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  50. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +28 -16
  51. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  52. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +50 -16
  53. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  54. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +12 -8
  55. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  56. package/dist/views/Versions/cells/AutosaveCell/index.js +23 -14
  57. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  58. package/dist/views/Versions/cells/CreatedAt/index.js +53 -27
  59. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  60. package/package.json +9 -9
  61. package/dist/views/Root/SyncClientConfig.d.ts +0 -11
  62. package/dist/views/Root/SyncClientConfig.d.ts.map +0 -1
  63. package/dist/views/Root/SyncClientConfig.js +0 -38
  64. package/dist/views/Root/SyncClientConfig.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"countChangedFields.spec.js","names":["countChangedFields","countChangedFieldsInRows","describe","locales","undefined","it","fields","name","type","comparison","a","b","version","result","expect","toBe","id","label","c","group","tabs","namedTab","admin","arrayField","blocks","slug","blockType","d","localized","en","de","tab","field","comparisonRows","versionRows"],"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 comparison = { a: 'original', b: 123 }\n const version = { a: 'original', b: 123 }\n\n const result = countChangedFields({ comparison, fields, version, 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 comparison = { a: 'original', b: 123 }\n const version = { a: 'changed', b: 123 }\n\n const result = countChangedFields({ comparison, fields, version, 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 comparison = {}\n const version = { a: 'new', b: 123 }\n\n const result = countChangedFields({ comparison, fields, version, 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 comparison = { id: 'original', a: 'original' }\n const version = { id: 'changed', a: 'original' }\n\n const result = countChangedFields({ comparison, fields, version, 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 comparison = { a: 'original', b: 'original', c: 'original' }\n const version = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ comparison, fields, version, 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 comparison = { a: 'original', b: 'original', c: 'original' }\n const version = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ comparison, fields, version, 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 comparison = { group: { a: 'original', b: 'original', c: 'original' } }\n const version = { group: { a: 'changed', b: 'changed', c: 'original' } }\n\n const result = countChangedFields({ comparison, fields, version, 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 comparison = { a: 'original', b: 'original', c: 'original' }\n const version = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ comparison, fields, version, 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 comparison = { namedTab: { a: 'original', b: 'original', c: 'original' } }\n const version = { namedTab: { a: 'changed', b: 'changed', c: 'original' } }\n\n const result = countChangedFields({ comparison, fields, version, 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 comparison = { a: 'original', b: 'original' }\n const version = { a: 'original', b: 'changed' }\n\n const result = countChangedFields({ comparison, fields, version, 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 comparison = {\n arrayField: [\n { a: 'original', b: 'original', c: 'original' },\n { a: 'original', b: 'original' },\n ],\n }\n const version = {\n arrayField: [\n { a: 'changed', b: 'changed', c: 'original' },\n { a: 'changed', b: 'changed', c: 'changed' },\n ],\n }\n\n const result = countChangedFields({ comparison, fields, version, 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 comparison = { arrayField: [{ a: 'original', b: 'original', c: 'original' }] }\n const version = { arrayField: [{ a: 'changed', b: 'changed', c: 'original' }] }\n\n const result = countChangedFields({ comparison, fields, version, 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 comparison = {\n blocks: [\n { blockType: 'blockA', a: 'original', b: 'original', c: 'original' },\n { blockType: 'blockA', a: 'original', b: 'original' },\n ],\n }\n const version = {\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({ comparison, fields, version, 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 comparison = {\n blocks: [{ blockType: 'blockA', a: 'removed', b: 'original', c: 'original' }],\n }\n const version = {\n blocks: [{ blockType: 'blockB', b: 'original', c: 'changed', d: 'new' }],\n }\n\n const result = countChangedFields({ comparison, fields, version, 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 comparison = {\n a: { en: 'original', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const version = {\n a: { en: 'changed', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const result = countChangedFields({ comparison, fields, version, 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 comparison = {\n a: { en: 'original', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const version = {\n a: { en: 'changed', de: 'changed' },\n b: { en: 'original', de: 'original' },\n }\n const result = countChangedFields({ comparison, fields, version, 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 comparison = {\n group: {\n en: { a: 'original', b: 'original', c: 'original' },\n de: { a: 'original', b: 'original', c: 'original' },\n },\n }\n const version = {\n group: {\n en: { a: 'changed', b: 'changed', c: 'original' },\n de: { a: 'original', b: 'changed', c: 'original' },\n },\n }\n const result = countChangedFields({ comparison, fields, version, 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 comparison = {\n tab: {\n en: { a: 'original', b: 'original', c: 'original' },\n de: { a: 'original', b: 'original', c: 'original' },\n },\n }\n const version = {\n tab: {\n en: { a: 'changed', b: 'changed', c: 'original' },\n de: { a: 'original', b: 'changed', c: 'original' },\n },\n }\n const result = countChangedFields({ comparison, fields, version, 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 comparison = {\n arrayField: {\n en: [{ a: 'original', b: 'original', c: 'original' }],\n de: [{ a: 'original', b: 'original', c: 'original' }],\n },\n }\n const version = {\n arrayField: {\n en: [{ a: 'changed', b: 'changed', c: 'original' }],\n de: [{ a: 'original', b: 'changed', c: 'original' }],\n },\n }\n const result = countChangedFields({ comparison, fields, version, 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 comparison = {\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 version = {\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({ comparison, fields, version, 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 comparisonRows = [{ a: 'original', b: 'original', c: 'original' }]\n const versionRows = [{ a: 'changed', b: 'changed', c: 'original' }]\n\n const result = countChangedFieldsInRows({\n comparisonRows,\n field,\n locales: undefined,\n versionRows,\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 comparisonRows = [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }]\n const versionRows = [{ blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' }]\n\n const result = countChangedFieldsInRows({\n comparisonRows,\n field,\n locales: undefined,\n versionRows,\n })\n expect(result).toBe(2)\n })\n})\n"],"mappings":"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","ignoreList":[]}
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":"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","ignoreList":[]}
@@ -5,13 +5,13 @@ import type { ArrayFieldClient, BaseVersionField, BlocksFieldClient, ClientConfi
5
5
  * - Blocks fields: the union of fields from the comparison and version row,
6
6
  * because the fields from the version and comparison rows may differ.
7
7
  */
8
- export declare function getFieldsForRowComparison({ baseVersionField, comparisonRow, config, field, row, versionRow, }: {
8
+ export declare function getFieldsForRowComparison({ baseVersionField, config, field, row, valueFromRow, valueToRow, }: {
9
9
  baseVersionField: BaseVersionField;
10
- comparisonRow: any;
11
10
  config: ClientConfig;
12
11
  field: ArrayFieldClient | BlocksFieldClient;
13
12
  row: number;
14
- versionRow: any;
13
+ valueFromRow: any;
14
+ valueToRow: any;
15
15
  }): {
16
16
  fields: ClientField[];
17
17
  versionFields: VersionField[];
@@ -1 +1 @@
1
- {"version":3,"file":"getFieldsForRowComparison.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAEjB,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,SAAS,CAAA;AAIhB;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,gBAAgB,EAChB,aAAa,EACb,MAAM,EACN,KAAK,EACL,GAAG,EACH,UAAU,GACX,EAAE;IACD,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,aAAa,EAAE,GAAG,CAAA;IAClB,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;IAC3C,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,GAAG,CAAA;CAChB,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,CAwD3D"}
1
+ {"version":3,"file":"getFieldsForRowComparison.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAEjB,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,SAAS,CAAA;AAIhB;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,GAAG,EACH,YAAY,EACZ,UAAU,GACX,EAAE;IACD,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;IAC3C,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,GAAG,CAAA;IACjB,UAAU,EAAE,GAAG,CAAA;CAChB,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,CAwD3D"}
@@ -7,11 +7,11 @@ import { getUniqueListBy } from 'payload/shared';
7
7
  */
8
8
  export function getFieldsForRowComparison({
9
9
  baseVersionField,
10
- comparisonRow,
11
10
  config,
12
11
  field,
13
12
  row,
14
- versionRow
13
+ valueFromRow,
14
+ valueToRow
15
15
  }) {
16
16
  let fields = [];
17
17
  let versionFields = [];
@@ -19,17 +19,17 @@ export function getFieldsForRowComparison({
19
19
  fields = field.fields;
20
20
  versionFields = baseVersionField.rows?.length ? baseVersionField.rows[row] : baseVersionField.fields;
21
21
  } else if (field.type === 'blocks') {
22
- if (versionRow?.blockType === comparisonRow?.blockType) {
23
- const matchedBlock = config?.blocksMap?.[versionRow?.blockType] ?? (('blocks' in field || 'blockReferences' in field) && (field.blockReferences ?? field.blocks)?.find(block => typeof block !== 'string' && block.slug === versionRow?.blockType) || {
22
+ if (valueToRow?.blockType === valueFromRow?.blockType) {
23
+ const matchedBlock = config?.blocksMap?.[valueToRow?.blockType] ?? (('blocks' in field || 'blockReferences' in field) && (field.blockReferences ?? field.blocks)?.find(block => typeof block !== 'string' && block.slug === valueToRow?.blockType) || {
24
24
  fields: []
25
25
  });
26
26
  fields = matchedBlock.fields;
27
27
  versionFields = baseVersionField.rows?.length ? baseVersionField.rows[row] : baseVersionField.fields;
28
28
  } else {
29
- const matchedVersionBlock = config?.blocksMap?.[versionRow?.blockType] ?? (('blocks' in field || 'blockReferences' in field) && (field.blockReferences ?? field.blocks)?.find(block => typeof block !== 'string' && block.slug === versionRow?.blockType) || {
29
+ const matchedVersionBlock = config?.blocksMap?.[valueToRow?.blockType] ?? (('blocks' in field || 'blockReferences' in field) && (field.blockReferences ?? field.blocks)?.find(block => typeof block !== 'string' && block.slug === valueToRow?.blockType) || {
30
30
  fields: []
31
31
  });
32
- const matchedComparisonBlock = config?.blocksMap?.[comparisonRow?.blockType] ?? (('blocks' in field || 'blockReferences' in field) && (field.blockReferences ?? field.blocks)?.find(block => typeof block !== 'string' && block.slug === comparisonRow?.blockType) || {
32
+ const matchedComparisonBlock = config?.blocksMap?.[valueFromRow?.blockType] ?? (('blocks' in field || 'blockReferences' in field) && (field.blockReferences ?? field.blocks)?.find(block => typeof block !== 'string' && block.slug === valueFromRow?.blockType) || {
33
33
  fields: []
34
34
  });
35
35
  fields = getUniqueListBy([...matchedVersionBlock.fields, ...matchedComparisonBlock.fields], 'name');
@@ -1 +1 @@
1
- {"version":3,"file":"getFieldsForRowComparison.js","names":["getUniqueListBy","getFieldsForRowComparison","baseVersionField","comparisonRow","config","field","row","versionRow","fields","versionFields","type","rows","length","blockType","matchedBlock","blocksMap","blockReferences","blocks","find","block","slug","matchedVersionBlock","matchedComparisonBlock"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.ts"],"sourcesContent":["import type {\n ArrayFieldClient,\n BaseVersionField,\n BlocksFieldClient,\n ClientBlock,\n ClientConfig,\n ClientField,\n VersionField,\n} from 'payload'\n\nimport { getUniqueListBy } from 'payload/shared'\n\n/**\n * Get the fields for a row in an iterable field for comparison.\n * - Array fields: the fields of the array field, because the fields are the same for each row.\n * - Blocks fields: the union of fields from the comparison and version row,\n * because the fields from the version and comparison rows may differ.\n */\nexport function getFieldsForRowComparison({\n baseVersionField,\n comparisonRow,\n config,\n field,\n row,\n versionRow,\n}: {\n baseVersionField: BaseVersionField\n comparisonRow: any\n config: ClientConfig\n field: ArrayFieldClient | BlocksFieldClient\n row: number\n versionRow: any\n}): { fields: ClientField[]; versionFields: VersionField[] } {\n let fields: ClientField[] = []\n let versionFields: VersionField[] = []\n\n if (field.type === 'array' && 'fields' in field) {\n fields = field.fields\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n } else if (field.type === 'blocks') {\n if (versionRow?.blockType === comparisonRow?.blockType) {\n const matchedBlock: ClientBlock =\n config?.blocksMap?.[versionRow?.blockType] ??\n (((('blocks' in field || 'blockReferences' in field) &&\n (field.blockReferences ?? field.blocks)?.find(\n (block) => typeof block !== 'string' && block.slug === versionRow?.blockType,\n )) || {\n fields: [],\n }) as ClientBlock)\n\n fields = matchedBlock.fields\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n } else {\n const matchedVersionBlock =\n config?.blocksMap?.[versionRow?.blockType] ??\n (((('blocks' in field || 'blockReferences' in field) &&\n (field.blockReferences ?? field.blocks)?.find(\n (block) => typeof block !== 'string' && block.slug === versionRow?.blockType,\n )) || {\n fields: [],\n }) as ClientBlock)\n\n const matchedComparisonBlock =\n config?.blocksMap?.[comparisonRow?.blockType] ??\n (((('blocks' in field || 'blockReferences' in field) &&\n (field.blockReferences ?? field.blocks)?.find(\n (block) => typeof block !== 'string' && block.slug === comparisonRow?.blockType,\n )) || {\n fields: [],\n }) as ClientBlock)\n\n fields = getUniqueListBy<ClientField>(\n [...matchedVersionBlock.fields, ...matchedComparisonBlock.fields],\n 'name',\n )\n\n // buildVersionFields already merged the fields of the version and comparison rows together\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n }\n }\n\n return { fields, versionFields }\n}\n"],"mappings":"AAUA,SAASA,eAAe,QAAQ;AAEhC;;;;;;AAMA,OAAO,SAASC,0BAA0B;EACxCC,gBAAgB;EAChBC,aAAa;EACbC,MAAM;EACNC,KAAK;EACLC,GAAG;EACHC;AAAU,CAQX;EACC,IAAIC,MAAA,GAAwB,EAAE;EAC9B,IAAIC,aAAA,GAAgC,EAAE;EAEtC,IAAIJ,KAAA,CAAMK,IAAI,KAAK,WAAW,YAAYL,KAAA,EAAO;IAC/CG,MAAA,GAASH,KAAA,CAAMG,MAAM;IACrBC,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACL,GAAA,CAAI,GAC1BJ,gBAAA,CAAiBM,MAAM;EAC7B,OAAO,IAAIH,KAAA,CAAMK,IAAI,KAAK,UAAU;IAClC,IAAIH,UAAA,EAAYM,SAAA,KAAcV,aAAA,EAAeU,SAAA,EAAW;MACtD,MAAMC,YAAA,GACJV,MAAA,EAAQW,SAAA,GAAYR,UAAA,EAAYM,SAAA,CAAU,KACxC,CAAE,YAAYR,KAAA,IAAS,qBAAqBA,KAAI,KAC/C,CAAAA,KAAA,CAAMW,eAAe,IAAIX,KAAA,CAAMY,MAAM,GAAGC,IAAA,CACtCC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKb,UAAA,EAAYM,SAAA,KAC/D;QACNL,MAAA,EAAQ;MACV;MAEFA,MAAA,GAASM,YAAA,CAAaN,MAAM;MAC5BC,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACL,GAAA,CAAI,GAC1BJ,gBAAA,CAAiBM,MAAM;IAC7B,OAAO;MACL,MAAMa,mBAAA,GACJjB,MAAA,EAAQW,SAAA,GAAYR,UAAA,EAAYM,SAAA,CAAU,KACxC,CAAE,YAAYR,KAAA,IAAS,qBAAqBA,KAAI,KAC/C,CAAAA,KAAA,CAAMW,eAAe,IAAIX,KAAA,CAAMY,MAAM,GAAGC,IAAA,CACtCC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKb,UAAA,EAAYM,SAAA,KAC/D;QACNL,MAAA,EAAQ;MACV;MAEF,MAAMc,sBAAA,GACJlB,MAAA,EAAQW,SAAA,GAAYZ,aAAA,EAAeU,SAAA,CAAU,KAC3C,CAAE,YAAYR,KAAA,IAAS,qBAAqBA,KAAI,KAC/C,CAAAA,KAAA,CAAMW,eAAe,IAAIX,KAAA,CAAMY,MAAM,GAAGC,IAAA,CACtCC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKjB,aAAA,EAAeU,SAAA,KAClE;QACNL,MAAA,EAAQ;MACV;MAEFA,MAAA,GAASR,eAAA,CACP,C,GAAIqB,mBAAA,CAAoBb,MAAM,E,GAAKc,sBAAA,CAAuBd,MAAM,CAAC,EACjE;MAGF;MACAC,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACL,GAAA,CAAI,GAC1BJ,gBAAA,CAAiBM,MAAM;IAC7B;EACF;EAEA,OAAO;IAAEA,MAAA;IAAQC;EAAc;AACjC","ignoreList":[]}
1
+ {"version":3,"file":"getFieldsForRowComparison.js","names":["getUniqueListBy","getFieldsForRowComparison","baseVersionField","config","field","row","valueFromRow","valueToRow","fields","versionFields","type","rows","length","blockType","matchedBlock","blocksMap","blockReferences","blocks","find","block","slug","matchedVersionBlock","matchedComparisonBlock"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.ts"],"sourcesContent":["import type {\n ArrayFieldClient,\n BaseVersionField,\n BlocksFieldClient,\n ClientBlock,\n ClientConfig,\n ClientField,\n VersionField,\n} from 'payload'\n\nimport { getUniqueListBy } from 'payload/shared'\n\n/**\n * Get the fields for a row in an iterable field for comparison.\n * - Array fields: the fields of the array field, because the fields are the same for each row.\n * - Blocks fields: the union of fields from the comparison and version row,\n * because the fields from the version and comparison rows may differ.\n */\nexport function getFieldsForRowComparison({\n baseVersionField,\n config,\n field,\n row,\n valueFromRow,\n valueToRow,\n}: {\n baseVersionField: BaseVersionField\n config: ClientConfig\n field: ArrayFieldClient | BlocksFieldClient\n row: number\n valueFromRow: any\n valueToRow: any\n}): { fields: ClientField[]; versionFields: VersionField[] } {\n let fields: ClientField[] = []\n let versionFields: VersionField[] = []\n\n if (field.type === 'array' && 'fields' in field) {\n fields = field.fields\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n } else if (field.type === 'blocks') {\n if (valueToRow?.blockType === valueFromRow?.blockType) {\n const matchedBlock: ClientBlock =\n config?.blocksMap?.[valueToRow?.blockType] ??\n (((('blocks' in field || 'blockReferences' in field) &&\n (field.blockReferences ?? field.blocks)?.find(\n (block) => typeof block !== 'string' && block.slug === valueToRow?.blockType,\n )) || {\n fields: [],\n }) as ClientBlock)\n\n fields = matchedBlock.fields\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n } else {\n const matchedVersionBlock =\n config?.blocksMap?.[valueToRow?.blockType] ??\n (((('blocks' in field || 'blockReferences' in field) &&\n (field.blockReferences ?? field.blocks)?.find(\n (block) => typeof block !== 'string' && block.slug === valueToRow?.blockType,\n )) || {\n fields: [],\n }) as ClientBlock)\n\n const matchedComparisonBlock =\n config?.blocksMap?.[valueFromRow?.blockType] ??\n (((('blocks' in field || 'blockReferences' in field) &&\n (field.blockReferences ?? field.blocks)?.find(\n (block) => typeof block !== 'string' && block.slug === valueFromRow?.blockType,\n )) || {\n fields: [],\n }) as ClientBlock)\n\n fields = getUniqueListBy<ClientField>(\n [...matchedVersionBlock.fields, ...matchedComparisonBlock.fields],\n 'name',\n )\n\n // buildVersionFields already merged the fields of the version and comparison rows together\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n }\n }\n\n return { fields, versionFields }\n}\n"],"mappings":"AAUA,SAASA,eAAe,QAAQ;AAEhC;;;;;;AAMA,OAAO,SAASC,0BAA0B;EACxCC,gBAAgB;EAChBC,MAAM;EACNC,KAAK;EACLC,GAAG;EACHC,YAAY;EACZC;AAAU,CAQX;EACC,IAAIC,MAAA,GAAwB,EAAE;EAC9B,IAAIC,aAAA,GAAgC,EAAE;EAEtC,IAAIL,KAAA,CAAMM,IAAI,KAAK,WAAW,YAAYN,KAAA,EAAO;IAC/CI,MAAA,GAASJ,KAAA,CAAMI,MAAM;IACrBC,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACN,GAAA,CAAI,GAC1BH,gBAAA,CAAiBM,MAAM;EAC7B,OAAO,IAAIJ,KAAA,CAAMM,IAAI,KAAK,UAAU;IAClC,IAAIH,UAAA,EAAYM,SAAA,KAAcP,YAAA,EAAcO,SAAA,EAAW;MACrD,MAAMC,YAAA,GACJX,MAAA,EAAQY,SAAA,GAAYR,UAAA,EAAYM,SAAA,CAAU,KACxC,CAAE,YAAYT,KAAA,IAAS,qBAAqBA,KAAI,KAC/C,CAAAA,KAAA,CAAMY,eAAe,IAAIZ,KAAA,CAAMa,MAAM,GAAGC,IAAA,CACtCC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKb,UAAA,EAAYM,SAAA,KAC/D;QACNL,MAAA,EAAQ;MACV;MAEFA,MAAA,GAASM,YAAA,CAAaN,MAAM;MAC5BC,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACN,GAAA,CAAI,GAC1BH,gBAAA,CAAiBM,MAAM;IAC7B,OAAO;MACL,MAAMa,mBAAA,GACJlB,MAAA,EAAQY,SAAA,GAAYR,UAAA,EAAYM,SAAA,CAAU,KACxC,CAAE,YAAYT,KAAA,IAAS,qBAAqBA,KAAI,KAC/C,CAAAA,KAAA,CAAMY,eAAe,IAAIZ,KAAA,CAAMa,MAAM,GAAGC,IAAA,CACtCC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKb,UAAA,EAAYM,SAAA,KAC/D;QACNL,MAAA,EAAQ;MACV;MAEF,MAAMc,sBAAA,GACJnB,MAAA,EAAQY,SAAA,GAAYT,YAAA,EAAcO,SAAA,CAAU,KAC1C,CAAE,YAAYT,KAAA,IAAS,qBAAqBA,KAAI,KAC/C,CAAAA,KAAA,CAAMY,eAAe,IAAIZ,KAAA,CAAMa,MAAM,GAAGC,IAAA,CACtCC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKd,YAAA,EAAcO,SAAA,KACjE;QACNL,MAAA,EAAQ;MACV;MAEFA,MAAA,GAASR,eAAA,CACP,C,GAAIqB,mBAAA,CAAoBb,MAAM,E,GAAKc,sBAAA,CAAuBd,MAAM,CAAC,EACjE;MAGF;MACAC,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACN,GAAA,CAAI,GAC1BH,gBAAA,CAAiBM,MAAM;IAC7B;EACF;EAEA,OAAO;IAAEA,MAAA;IAAQC;EAAc;AACjC","ignoreList":[]}
@@ -18,12 +18,16 @@ describe('getFieldsForRowComparison', () => {
18
18
  fields
19
19
  } = getFieldsForRowComparison({
20
20
  field,
21
- versionRow: {},
22
- comparisonRow: {},
21
+ valueToRow: {},
22
+ valueFromRow: {},
23
23
  row: 0,
24
24
  baseVersionField: {
25
- fields: []
26
- }
25
+ fields: [],
26
+ path: 'items',
27
+ schemaPath: 'items',
28
+ type: 'array'
29
+ },
30
+ config: {}
27
31
  });
28
32
  expect(fields).toEqual(arrayFields);
29
33
  });
@@ -45,22 +49,26 @@ describe('getFieldsForRowComparison', () => {
45
49
  fields: blockAFields
46
50
  }]
47
51
  };
48
- const versionRow = {
52
+ const valueToRow = {
49
53
  blockType: 'blockA'
50
54
  };
51
- const comparisonRow = {
55
+ const valueFromRow = {
52
56
  blockType: 'blockA'
53
57
  };
54
58
  const {
55
59
  fields
56
60
  } = getFieldsForRowComparison({
57
61
  field,
58
- versionRow,
59
- comparisonRow,
62
+ valueToRow,
63
+ valueFromRow,
60
64
  row: 0,
61
65
  baseVersionField: {
62
- fields: []
63
- }
66
+ fields: [],
67
+ path: 'myBlocks',
68
+ schemaPath: 'myBlocks',
69
+ type: 'blocks'
70
+ },
71
+ config: {}
64
72
  });
65
73
  expect(fields).toEqual(blockAFields);
66
74
  });
@@ -88,22 +96,26 @@ describe('getFieldsForRowComparison', () => {
88
96
  }]
89
97
  }]
90
98
  };
91
- const versionRow = {
99
+ const valueToRow = {
92
100
  blockType: 'blockA'
93
101
  };
94
- const comparisonRow = {
102
+ const valueFromRow = {
95
103
  blockType: 'blockB'
96
104
  };
97
105
  const {
98
106
  fields
99
107
  } = getFieldsForRowComparison({
100
108
  field,
101
- versionRow,
102
- comparisonRow,
109
+ valueToRow,
110
+ valueFromRow,
103
111
  row: 0,
104
112
  baseVersionField: {
105
- fields: []
106
- }
113
+ fields: [],
114
+ path: 'myBlocks',
115
+ schemaPath: 'myBlocks',
116
+ type: 'blocks'
117
+ },
118
+ config: {}
107
119
  });
108
120
  // Should contain all unique fields from both blocks
109
121
  expect(fields).toEqual([{
@@ -1 +1 @@
1
- {"version":3,"file":"getFieldsForRowComparison.spec.js","names":["getFieldsForRowComparison","describe","it","arrayFields","name","type","field","fields","versionRow","comparisonRow","row","baseVersionField","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 versionRow: {},\n comparisonRow: {},\n row: 0,\n baseVersionField: { fields: [] },\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 versionRow = { blockType: 'blockA' }\n const comparisonRow = { blockType: 'blockA' }\n\n const { fields } = getFieldsForRowComparison({\n field,\n versionRow,\n comparisonRow,\n row: 0,\n baseVersionField: { fields: [] },\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 versionRow = { blockType: 'blockA' }\n const comparisonRow = { blockType: 'blockB' }\n\n const { fields } = getFieldsForRowComparison({\n field,\n versionRow,\n comparisonRow,\n row: 0,\n baseVersionField: { fields: [] },\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":"AAAA,SAASA,yBAAyB,QAAQ;AAG1CC,QAAA,CAAS,6BAA6B;EACpCA,QAAA,CAAS,gBAAgB;IACvBC,EAAA,CAAG,yCAAyC;MAC1C,MAAMC,WAAA,GAA6B,CACjC;QAAEC,IAAA,EAAM;QAASC,IAAA,EAAM;MAAO,GAC9B;QAAED,IAAA,EAAM;QAAeC,IAAA,EAAM;MAAW,EACzC;MAED,MAAMC,KAAA,GAA0B;QAC9BD,IAAA,EAAM;QACND,IAAA,EAAM;QACNG,MAAA,EAAQJ;MACV;MAEA,MAAM;QAAEI;MAAM,CAAE,GAAGP,yBAAA,CAA0B;QAC3CM,KAAA;QACAE,UAAA,EAAY,CAAC;QACbC,aAAA,EAAe,CAAC;QAChBC,GAAA,EAAK;QACLC,gBAAA,EAAkB;UAAEJ,MAAA,EAAQ;QAAG;MACjC;MAEAK,MAAA,CAAOL,MAAA,EAAQM,OAAO,CAACV,WAAA;IACzB;EACF;EAEAF,QAAA,CAAS,iBAAiB;IACxBC,EAAA,CAAG,wDAAwD;MACzD,MAAMY,YAAA,GAA8B,CAClC;QAAEV,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,EAC3B;MAED,MAAMC,KAAA,GAA2B;QAC/BD,IAAA,EAAM;QACND,IAAA,EAAM;QACNW,MAAA,EAAQ,CACN;UACEC,IAAA,EAAM;UACNT,MAAA,EAAQO;QACV;MAEJ;MAEA,MAAMN,UAAA,GAAa;QAAES,SAAA,EAAW;MAAS;MACzC,MAAMR,aAAA,GAAgB;QAAEQ,SAAA,EAAW;MAAS;MAE5C,MAAM;QAAEV;MAAM,CAAE,GAAGP,yBAAA,CAA0B;QAC3CM,KAAA;QACAE,UAAA;QACAC,aAAA;QACAC,GAAA,EAAK;QACLC,gBAAA,EAAkB;UAAEJ,MAAA,EAAQ;QAAG;MACjC;MAEAK,MAAA,CAAOL,MAAA,EAAQM,OAAO,CAACC,YAAA;IACzB;IAEAZ,EAAA,CAAG,gEAAgE;MACjE,MAAMI,KAAA,GAA2B;QAC/BD,IAAA,EAAM;QACND,IAAA,EAAM;QACNW,MAAA,EAAQ,CACN;UACEC,IAAA,EAAM;UACNT,MAAA,EAAQ,CACN;YAAEH,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO;QAE9B,GACA;UACEW,IAAA,EAAM;UACNT,MAAA,EAAQ,CACN;YAAEH,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO;QAE9B;MAEJ;MAEA,MAAMG,UAAA,GAAa;QAAES,SAAA,EAAW;MAAS;MACzC,MAAMR,aAAA,GAAgB;QAAEQ,SAAA,EAAW;MAAS;MAE5C,MAAM;QAAEV;MAAM,CAAE,GAAGP,yBAAA,CAA0B;QAC3CM,KAAA;QACAE,UAAA;QACAC,aAAA;QACAC,GAAA,EAAK;QACLC,gBAAA,EAAkB;UAAEJ,MAAA,EAAQ;QAAG;MACjC;MAEA;MACAK,MAAA,CAAOL,MAAA,EAAQM,OAAO,CAAC,CACrB;QAAET,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,EAC3B;IACH;EACF;AACF","ignoreList":[]}
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,26 +1,36 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx } from "react/jsx-runtime";
4
5
  import { useConfig, useModal, useRouteTransition, useTranslation } from '@payloadcms/ui';
5
6
  import { formatDate } from '@payloadcms/ui/shared';
6
7
  import { usePathname, useRouter, useSearchParams } from 'next/navigation.js';
7
8
  export const VersionDrawerCreatedAtCell = t0 => {
9
+ const $ = _c(14);
8
10
  const {
9
11
  rowData: t1
10
12
  } = t0;
13
+ let t2;
14
+ if ($[0] !== t1) {
15
+ t2 = t1 === undefined ? {} : t1;
16
+ $[0] = t1;
17
+ $[1] = t2;
18
+ } else {
19
+ t2 = $[1];
20
+ }
11
21
  const {
12
22
  id,
13
23
  updatedAt
14
- } = t1 === undefined ? {} : t1;
24
+ } = t2;
15
25
  const {
16
- config: t2
26
+ config: t3
17
27
  } = useConfig();
18
28
  const {
19
- admin: t3
20
- } = t2;
29
+ admin: t4
30
+ } = t3;
21
31
  const {
22
32
  dateFormat
23
- } = t3;
33
+ } = t4;
24
34
  const {
25
35
  closeAllModals
26
36
  } = useModal();
@@ -33,9 +43,9 @@ export const VersionDrawerCreatedAtCell = t0 => {
33
43
  const {
34
44
  i18n
35
45
  } = useTranslation();
36
- return _jsx("button", {
37
- className: "created-at-cell",
38
- onClick: () => {
46
+ let t5;
47
+ if ($[2] !== closeAllModals || $[3] !== id || $[4] !== pathname || $[5] !== router || $[6] !== searchParams || $[7] !== startRouteTransition) {
48
+ t5 = () => {
39
49
  closeAllModals();
40
50
  const current = new URLSearchParams(Array.from(searchParams.entries()));
41
51
  if (id) {
@@ -44,13 +54,37 @@ export const VersionDrawerCreatedAtCell = t0 => {
44
54
  const search = current.toString();
45
55
  const query = search ? `?${search}` : "";
46
56
  startRouteTransition(() => router.push(`${pathname}${query}`));
47
- },
48
- type: "button",
49
- children: formatDate({
50
- date: updatedAt,
51
- i18n,
52
- pattern: dateFormat
53
- })
54
- });
57
+ };
58
+ $[2] = closeAllModals;
59
+ $[3] = id;
60
+ $[4] = pathname;
61
+ $[5] = router;
62
+ $[6] = searchParams;
63
+ $[7] = startRouteTransition;
64
+ $[8] = t5;
65
+ } else {
66
+ t5 = $[8];
67
+ }
68
+ let t6;
69
+ if ($[9] !== dateFormat || $[10] !== i18n || $[11] !== t5 || $[12] !== updatedAt) {
70
+ t6 = _jsx("button", {
71
+ className: "created-at-cell",
72
+ onClick: t5,
73
+ type: "button",
74
+ children: formatDate({
75
+ date: updatedAt,
76
+ i18n,
77
+ pattern: dateFormat
78
+ })
79
+ });
80
+ $[9] = dateFormat;
81
+ $[10] = i18n;
82
+ $[11] = t5;
83
+ $[12] = updatedAt;
84
+ $[13] = t6;
85
+ } else {
86
+ t6 = $[13];
87
+ }
88
+ return t6;
55
89
  };
56
90
  //# sourceMappingURL=CreatedAtCell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreatedAtCell.js","names":["useConfig","useModal","useRouteTransition","useTranslation","formatDate","usePathname","useRouter","useSearchParams","VersionDrawerCreatedAtCell","t0","rowData","t1","id","updatedAt","undefined","config","t2","admin","t3","dateFormat","closeAllModals","router","pathname","searchParams","startRouteTransition","i18n","_jsx","className","onClick","current","URLSearchParams","Array","from","entries","set","String","search","toString","query","push","type","children","date","pattern"],"sources":["../../../../../src/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.tsx"],"sourcesContent":["'use client'\nimport { useConfig, useModal, useRouteTransition, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation.js'\n\nimport type { CreatedAtCellProps } from '../../../Versions/cells/CreatedAt/index.js'\n\nexport const VersionDrawerCreatedAtCell: React.FC<CreatedAtCellProps> = ({\n rowData: { id, updatedAt } = {},\n}) => {\n const {\n config: {\n admin: { dateFormat },\n },\n } = useConfig()\n const { closeAllModals } = useModal()\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n\n const { i18n } = useTranslation()\n\n return (\n <button\n className=\"created-at-cell\"\n onClick={() => {\n closeAllModals()\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (id) {\n current.set('versionFrom', String(id))\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n\n startRouteTransition(() => router.push(`${pathname}${query}`))\n }}\n type=\"button\"\n >\n {formatDate({ date: updatedAt, i18n, pattern: dateFormat })}\n </button>\n )\n}\n"],"mappings":"AAAA;;;AACA,SAASA,SAAS,EAAEC,QAAQ,EAAEC,kBAAkB,EAAEC,cAAc,QAAQ;AACxE,SAASC,UAAU,QAAQ;AAC3B,SAASC,WAAW,EAAEC,SAAS,EAAEC,eAAe,QAAQ;AAIxD,OAAO,MAAMC,0BAAA,GAA2DC,EAAA;EAAC;IAAAC,OAAA,EAAAC;EAAA,IAAAF,EAExE;EADU;IAAAG,EAAA;IAAAC;EAAA,IAAAF,EAAsB,KAAAG,SAAA,QAAtBH,EAAsB;EAE/B;IAAAI,MAAA,EAAAC;EAAA,IAIIhB,SAAA;EAHM;IAAAiB,KAAA,EAAAC;EAAA,IAAAF,EAEP;EADQ;IAAAG;EAAA,IAAAD,EAAc;EAGzB;IAAAE;EAAA,IAA2BnB,QAAA;EAC3B,MAAAoB,MAAA,GAAef,SAAA;EACf,MAAAgB,QAAA,GAAiBjB,WAAA;EACjB,MAAAkB,YAAA,GAAqBhB,eAAA;EACrB;IAAAiB;EAAA,IAAiCtB,kBAAA;EAEjC;IAAAuB;EAAA,IAAiBtB,cAAA;EAAA,OAGfuB,IAAA,CAAC;IAAAC,SAAA,EACW;IAAAC,OAAA,EAAAA,CAAA;MAERR,cAAA;MACA,MAAAS,OAAA,OAAAC,eAAA,CAAoCC,KAAA,CAAAC,IAAA,CAAWT,YAAA,CAAAU,OAAA,CAAoB;MAAA,IAE/DrB,EAAA;QACFiB,OAAA,CAAAK,GAAA,CAAY,eAAeC,MAAA,CAAOvB,EAAA;MAAA;MAGpC,MAAAwB,MAAA,GAAeP,OAAA,CAAAQ,QAAA,CAAgB;MAC/B,MAAAC,KAAA,GAAcF,MAAA,GAAS,IAAIA,MAAA,EAAQ,GAAG;MAEtCZ,oBAAA,OAA2BH,MAAA,CAAAkB,IAAA,CAAY,GAAGjB,QAAA,GAAWgB,KAAA,EAAO;IAAA;IAAAE,IAAA,EAEzD;IAAAC,QAAA,EAEJrC,UAAA;MAAAsC,IAAA,EAAmB7B,SAAA;MAAAY,IAAA;MAAAkB,OAAA,EAA0BxB;IAAA,CAAW;EAAA,C;CAG/D","ignoreList":[]}
1
+ {"version":3,"file":"CreatedAtCell.js","names":["c","_c","useConfig","useModal","useRouteTransition","useTranslation","formatDate","usePathname","useRouter","useSearchParams","VersionDrawerCreatedAtCell","t0","$","rowData","t1","t2","undefined","id","updatedAt","config","t3","admin","t4","dateFormat","closeAllModals","router","pathname","searchParams","startRouteTransition","i18n","t5","current","URLSearchParams","Array","from","entries","set","String","search","toString","query","push","t6","_jsx","className","onClick","type","children","date","pattern"],"sources":["../../../../../src/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.tsx"],"sourcesContent":["'use client'\nimport { useConfig, useModal, useRouteTransition, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation.js'\n\nimport type { CreatedAtCellProps } from '../../../Versions/cells/CreatedAt/index.js'\n\nexport const VersionDrawerCreatedAtCell: React.FC<CreatedAtCellProps> = ({\n rowData: { id, updatedAt } = {},\n}) => {\n const {\n config: {\n admin: { dateFormat },\n },\n } = useConfig()\n const { closeAllModals } = useModal()\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n\n const { i18n } = useTranslation()\n\n return (\n <button\n className=\"created-at-cell\"\n onClick={() => {\n closeAllModals()\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (id) {\n current.set('versionFrom', String(id))\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n\n startRouteTransition(() => router.push(`${pathname}${query}`))\n }}\n type=\"button\"\n >\n {formatDate({ date: updatedAt, i18n, pattern: dateFormat })}\n </button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,SAAS,EAAEC,QAAQ,EAAEC,kBAAkB,EAAEC,cAAc,QAAQ;AACxE,SAASC,UAAU,QAAQ;AAC3B,SAASC,WAAW,EAAEC,SAAS,EAAEC,eAAe,QAAQ;AAIxD,OAAO,MAAMC,0BAAA,GAA2DC,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY,OAAA,EAAAC;EAAA,IAAAH,EAExE;EAAA,IAAAI,EAAA;EAAA,IAAAH,CAAA,QAAAE,EAAA;IADUC,EAAA,GAAAD,EAAsB,KAAAE,SAAA,QAAtBF,EAAsB;IAAAF,CAAA,MAAAE,EAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAtB;IAAAK,EAAA;IAAAC;EAAA,IAAAH,EAAsB;EAE/B;IAAAI,MAAA,EAAAC;EAAA,IAIIlB,SAAA;EAHM;IAAAmB,KAAA,EAAAC;EAAA,IAAAF,EAEP;EADQ;IAAAG;EAAA,IAAAD,EAAc;EAGzB;IAAAE;EAAA,IAA2BrB,QAAA;EAC3B,MAAAsB,MAAA,GAAejB,SAAA;EACf,MAAAkB,QAAA,GAAiBnB,WAAA;EACjB,MAAAoB,YAAA,GAAqBlB,eAAA;EACrB;IAAAmB;EAAA,IAAiCxB,kBAAA;EAEjC;IAAAyB;EAAA,IAAiBxB,cAAA;EAAA,IAAAyB,EAAA;EAAA,IAAAlB,CAAA,QAAAY,cAAA,IAAAZ,CAAA,QAAAK,EAAA,IAAAL,CAAA,QAAAc,QAAA,IAAAd,CAAA,QAAAa,MAAA,IAAAb,CAAA,QAAAe,YAAA,IAAAf,CAAA,QAAAgB,oBAAA;IAKJE,EAAA,GAAAA,CAAA;MACPN,cAAA;MACA,MAAAO,OAAA,OAAAC,eAAA,CAAoCC,KAAA,CAAAC,IAAA,CAAWP,YAAA,CAAAQ,OAAA,CAAoB;MAAA,IAE/DlB,EAAA;QACFc,OAAA,CAAAK,GAAA,CAAY,eAAeC,MAAA,CAAOpB,EAAA;MAAA;MAGpC,MAAAqB,MAAA,GAAeP,OAAA,CAAAQ,QAAA,CAAgB;MAC/B,MAAAC,KAAA,GAAcF,MAAA,GAAS,IAAIA,MAAA,EAAQ,GAAG;MAEtCV,oBAAA,OAA2BH,MAAA,CAAAgB,IAAA,CAAY,GAAGf,QAAA,GAAWc,KAAA,EAAO;IAAA;IAC9D5B,CAAA,MAAAY,cAAA;IAAAZ,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAc,QAAA;IAAAd,CAAA,MAAAa,MAAA;IAAAb,CAAA,MAAAe,YAAA;IAAAf,CAAA,MAAAgB,oBAAA;IAAAhB,CAAA,MAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAAA,IAAA8B,EAAA;EAAA,IAAA9B,CAAA,QAAAW,UAAA,IAAAX,CAAA,SAAAiB,IAAA,IAAAjB,CAAA,SAAAkB,EAAA,IAAAlB,CAAA,SAAAM,SAAA;IAdFwB,EAAA,GAAAC,IAAA,CAAC;MAAAC,SAAA,EACW;MAAAC,OAAA,EACDf,EAYT;MAAAgB,IAAA,EACK;MAAAC,QAAA,EAEJzC,UAAA;QAAA0C,IAAA,EAAmB9B,SAAA;QAAAW,IAAA;QAAAoB,OAAA,EAA0B1B;MAAA,CAAW;IAAA,C;;;;;;;;;SAjB3DmB,E;CAoBJ","ignoreList":[]}
@@ -197,8 +197,9 @@ export const useVersionDrawer = t0 => {
197
197
  }
198
198
  const openDrawer = t6;
199
199
  let t7;
200
+ let t8;
200
201
  if ($[16] !== collectionSlug || $[17] !== docID || $[18] !== drawerSlug || $[19] !== globalSlug) {
201
- t7 = () => _jsx(VersionDrawer, {
202
+ t8 = () => _jsx(VersionDrawer, {
202
203
  collectionSlug,
203
204
  docID,
204
205
  drawerSlug,
@@ -208,14 +209,16 @@ export const useVersionDrawer = t0 => {
208
209
  $[17] = docID;
209
210
  $[18] = drawerSlug;
210
211
  $[19] = globalSlug;
211
- $[20] = t7;
212
+ $[20] = t8;
212
213
  } else {
213
- t7 = $[20];
214
+ t8 = $[20];
214
215
  }
216
+ t7 = t8;
215
217
  const MemoizedDrawer = t7;
216
- let t8;
218
+ let t9;
219
+ let t10;
217
220
  if ($[21] !== MemoizedDrawer || $[22] !== closeDrawer || $[23] !== drawerDepth || $[24] !== drawerSlug || $[25] !== isOpen || $[26] !== openDrawer || $[27] !== toggleDrawer) {
218
- t8 = {
221
+ t10 = {
219
222
  closeDrawer,
220
223
  Drawer: MemoizedDrawer,
221
224
  drawerDepth,
@@ -231,10 +234,11 @@ export const useVersionDrawer = t0 => {
231
234
  $[25] = isOpen;
232
235
  $[26] = openDrawer;
233
236
  $[27] = toggleDrawer;
234
- $[28] = t8;
237
+ $[28] = t10;
235
238
  } else {
236
- t8 = $[28];
239
+ t10 = $[28];
237
240
  }
238
- return t8;
241
+ t9 = t10;
242
+ return t9;
239
243
  };
240
244
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Drawer","LoadingOverlay","toast","useDocumentInfo","useEditDepth","useModal","useServerFunctions","useTranslation","useSearchParams","React","useCallback","useEffect","useId","useMemo","useRef","useState","baseClass","formatVersionDrawerSlug","depth","uuid","VersionDrawerContent","props","collectionSlug","docID","drawerSlug","globalSlug","isTrashed","closeModal","searchParams","prevSearchParams","renderDocument","DocumentView","setDocumentView","undefined","isLoading","setIsLoading","hasRenderedDocument","t","getDocumentView","fetchDocumentView","isGlobal","Boolean","entitySlug","result","paramsOverride","segments","String","filter","redirectAfterDelete","redirectAfterDuplicate","Object","fromEntries","entries","versions","disableGutter","useVersionDrawerCreatedAtCell","Document","error","message","current","_jsx","VersionDrawer","$","t0","className","gutter","slug","title","children","useVersionDrawer","drawerDepth","modalState","openModal","toggleModal","isOpen","setIsOpen","t1","t2","t3","t4","toggleDrawer","t5","closeDrawer","t6","openDrawer","t7","MemoizedDrawer","t8","isDrawerOpen"],"sources":["../../../../../src/views/Version/SelectComparison/VersionDrawer/index.tsx"],"sourcesContent":["'use client'\nimport {\n Drawer,\n LoadingOverlay,\n toast,\n useDocumentInfo,\n useEditDepth,\n useModal,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useSearchParams } from 'next/navigation.js'\n\nimport './index.scss'\n\nimport React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react'\n\nexport const baseClass = 'version-drawer'\nexport const formatVersionDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `version-drawer_${depth}_${uuid}`\n\nexport const VersionDrawerContent: React.FC<{\n collectionSlug?: string\n docID?: number | string\n drawerSlug: string\n globalSlug?: string\n}> = (props) => {\n const { collectionSlug, docID, drawerSlug, globalSlug } = props\n const { isTrashed } = useDocumentInfo()\n const { closeModal } = useModal()\n const searchParams = useSearchParams()\n const prevSearchParams = useRef(searchParams)\n\n const { renderDocument } = useServerFunctions()\n\n const [DocumentView, setDocumentView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n const hasRenderedDocument = useRef(false)\n const { t } = useTranslation()\n\n const getDocumentView = useCallback(\n (docID?: number | string) => {\n const fetchDocumentView = async () => {\n setIsLoading(true)\n\n try {\n const isGlobal = Boolean(globalSlug)\n const entitySlug = collectionSlug ?? globalSlug\n\n const result = await renderDocument({\n collectionSlug: entitySlug,\n docID,\n drawerSlug,\n paramsOverride: {\n segments: [\n isGlobal ? 'globals' : 'collections',\n entitySlug,\n ...(isTrashed ? ['trash'] : []),\n isGlobal ? undefined : String(docID),\n 'versions',\n ].filter(Boolean),\n },\n redirectAfterDelete: false,\n redirectAfterDuplicate: false,\n searchParams: Object.fromEntries(searchParams.entries()),\n versions: {\n disableGutter: true,\n useVersionDrawerCreatedAtCell: true,\n },\n })\n\n if (result?.Document) {\n setDocumentView(result.Document)\n setIsLoading(false)\n }\n } catch (error) {\n toast.error(error?.message || t('error:unspecific'))\n closeModal(drawerSlug)\n // toast.error(data?.errors?.[0].message || t('error:unspecific'))\n }\n }\n\n void fetchDocumentView()\n },\n [\n closeModal,\n collectionSlug,\n drawerSlug,\n globalSlug,\n isTrashed,\n renderDocument,\n searchParams,\n t,\n ],\n )\n\n useEffect(() => {\n if (!hasRenderedDocument.current || prevSearchParams.current !== searchParams) {\n prevSearchParams.current = searchParams\n getDocumentView(docID)\n hasRenderedDocument.current = true\n }\n }, [docID, getDocumentView, searchParams])\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return DocumentView\n}\nexport const VersionDrawer: React.FC<{\n collectionSlug?: string\n docID?: number | string\n drawerSlug: string\n globalSlug?: string\n}> = (props) => {\n const { collectionSlug, docID, drawerSlug, globalSlug } = props\n const { t } = useTranslation()\n\n return (\n <Drawer\n className={baseClass}\n gutter={true}\n slug={drawerSlug}\n title={t('version:selectVersionToCompare')}\n >\n <VersionDrawerContent\n collectionSlug={collectionSlug}\n docID={docID}\n drawerSlug={drawerSlug}\n globalSlug={globalSlug}\n />\n </Drawer>\n )\n}\n\nexport const useVersionDrawer = ({\n collectionSlug,\n docID,\n globalSlug,\n}: {\n collectionSlug?: string\n docID?: number | string\n globalSlug?: string\n}) => {\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n\n const drawerSlug = formatVersionDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return () => (\n <VersionDrawer\n collectionSlug={collectionSlug}\n docID={docID}\n drawerSlug={drawerSlug}\n globalSlug={globalSlug}\n />\n )\n }, [collectionSlug, docID, drawerSlug, globalSlug])\n\n return useMemo(\n () => ({\n closeDrawer,\n Drawer: MemoizedDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [MemoizedDrawer, closeDrawer, drawerDepth, drawerSlug, isOpen, openDrawer, toggleDrawer],\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","Drawer","LoadingOverlay","toast","useDocumentInfo","useEditDepth","useModal","useServerFunctions","useTranslation","useSearchParams","React","useCallback","useEffect","useId","useMemo","useRef","useState","baseClass","formatVersionDrawerSlug","depth","uuid","VersionDrawerContent","props","collectionSlug","docID","drawerSlug","globalSlug","isTrashed","closeModal","searchParams","prevSearchParams","renderDocument","DocumentView","setDocumentView","undefined","isLoading","setIsLoading","hasRenderedDocument","t","getDocumentView","fetchDocumentView","isGlobal","Boolean","entitySlug","result","paramsOverride","segments","String","filter","redirectAfterDelete","redirectAfterDuplicate","Object","fromEntries","entries","versions","disableGutter","useVersionDrawerCreatedAtCell","Document","error","message","current","_jsx","VersionDrawer","$","t0","className","gutter","slug","title","children","useVersionDrawer","drawerDepth","modalState","openModal","toggleModal","isOpen","setIsOpen","t1","t2","t3","t4","toggleDrawer","t5","closeDrawer","t6","openDrawer","t7","t8","MemoizedDrawer","t9","t10","isDrawerOpen"],"sources":["../../../../../src/views/Version/SelectComparison/VersionDrawer/index.tsx"],"sourcesContent":["'use client'\nimport {\n Drawer,\n LoadingOverlay,\n toast,\n useDocumentInfo,\n useEditDepth,\n useModal,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useSearchParams } from 'next/navigation.js'\n\nimport './index.scss'\n\nimport React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react'\n\nexport const baseClass = 'version-drawer'\nexport const formatVersionDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `version-drawer_${depth}_${uuid}`\n\nexport const VersionDrawerContent: React.FC<{\n collectionSlug?: string\n docID?: number | string\n drawerSlug: string\n globalSlug?: string\n}> = (props) => {\n const { collectionSlug, docID, drawerSlug, globalSlug } = props\n const { isTrashed } = useDocumentInfo()\n const { closeModal } = useModal()\n const searchParams = useSearchParams()\n const prevSearchParams = useRef(searchParams)\n\n const { renderDocument } = useServerFunctions()\n\n const [DocumentView, setDocumentView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n const hasRenderedDocument = useRef(false)\n const { t } = useTranslation()\n\n const getDocumentView = useCallback(\n (docID?: number | string) => {\n const fetchDocumentView = async () => {\n setIsLoading(true)\n\n try {\n const isGlobal = Boolean(globalSlug)\n const entitySlug = collectionSlug ?? globalSlug\n\n const result = await renderDocument({\n collectionSlug: entitySlug,\n docID,\n drawerSlug,\n paramsOverride: {\n segments: [\n isGlobal ? 'globals' : 'collections',\n entitySlug,\n ...(isTrashed ? ['trash'] : []),\n isGlobal ? undefined : String(docID),\n 'versions',\n ].filter(Boolean),\n },\n redirectAfterDelete: false,\n redirectAfterDuplicate: false,\n searchParams: Object.fromEntries(searchParams.entries()),\n versions: {\n disableGutter: true,\n useVersionDrawerCreatedAtCell: true,\n },\n })\n\n if (result?.Document) {\n setDocumentView(result.Document)\n setIsLoading(false)\n }\n } catch (error) {\n toast.error(error?.message || t('error:unspecific'))\n closeModal(drawerSlug)\n // toast.error(data?.errors?.[0].message || t('error:unspecific'))\n }\n }\n\n void fetchDocumentView()\n },\n [\n closeModal,\n collectionSlug,\n drawerSlug,\n globalSlug,\n isTrashed,\n renderDocument,\n searchParams,\n t,\n ],\n )\n\n useEffect(() => {\n if (!hasRenderedDocument.current || prevSearchParams.current !== searchParams) {\n prevSearchParams.current = searchParams\n getDocumentView(docID)\n hasRenderedDocument.current = true\n }\n }, [docID, getDocumentView, searchParams])\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return DocumentView\n}\nexport const VersionDrawer: React.FC<{\n collectionSlug?: string\n docID?: number | string\n drawerSlug: string\n globalSlug?: string\n}> = (props) => {\n const { collectionSlug, docID, drawerSlug, globalSlug } = props\n const { t } = useTranslation()\n\n return (\n <Drawer\n className={baseClass}\n gutter={true}\n slug={drawerSlug}\n title={t('version:selectVersionToCompare')}\n >\n <VersionDrawerContent\n collectionSlug={collectionSlug}\n docID={docID}\n drawerSlug={drawerSlug}\n globalSlug={globalSlug}\n />\n </Drawer>\n )\n}\n\nexport const useVersionDrawer = ({\n collectionSlug,\n docID,\n globalSlug,\n}: {\n collectionSlug?: string\n docID?: number | string\n globalSlug?: string\n}) => {\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n\n const drawerSlug = formatVersionDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return () => (\n <VersionDrawer\n collectionSlug={collectionSlug}\n docID={docID}\n drawerSlug={drawerSlug}\n globalSlug={globalSlug}\n />\n )\n }, [collectionSlug, docID, drawerSlug, globalSlug])\n\n return useMemo(\n () => ({\n closeDrawer,\n Drawer: MemoizedDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [MemoizedDrawer, closeDrawer, drawerDepth, drawerSlug, isOpen, openDrawer, toggleDrawer],\n )\n}\n"],"mappings":"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","ignoreList":[]}