@payloadcms/next 3.35.0-canary.0 → 3.35.0-internal.b3d367c

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 (113) hide show
  1. package/dist/prod/styles.css +1 -1
  2. package/dist/views/Version/Default/SetStepNav.d.ts +2 -2
  3. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  4. package/dist/views/Version/Default/SetStepNav.js +4 -5
  5. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  6. package/dist/views/Version/Default/index.d.ts.map +1 -1
  7. package/dist/views/Version/Default/index.js +332 -127
  8. package/dist/views/Version/Default/index.js.map +1 -1
  9. package/dist/views/Version/Default/index.scss +102 -32
  10. package/dist/views/Version/Default/types.d.ts +12 -8
  11. package/dist/views/Version/Default/types.d.ts.map +1 -1
  12. package/dist/views/Version/Default/types.js.map +1 -1
  13. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +4 -4
  14. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
  15. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +32 -33
  16. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  17. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +30 -3
  18. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts +6 -1
  19. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  20. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +21 -17
  21. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  22. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +4 -3
  23. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  24. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +80 -55
  25. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  26. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +11 -11
  27. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  28. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts +4 -0
  29. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -0
  30. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +78 -0
  31. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -0
  32. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +4 -0
  33. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +11 -11
  34. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  35. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +0 -10
  36. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +20 -20
  37. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  38. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +3 -5
  39. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  40. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +49 -58
  41. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  42. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +0 -11
  43. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  44. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +39 -45
  45. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  46. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -11
  47. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  48. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +37 -37
  49. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  50. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +0 -11
  51. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  52. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +77 -60
  53. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  54. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -11
  55. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  56. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +2 -1
  57. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  58. package/dist/views/Version/RenderFieldsToDiff/index.js +1 -0
  59. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  60. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  61. package/dist/views/Version/Restore/index.js +1 -1
  62. package/dist/views/Version/Restore/index.js.map +1 -1
  63. package/dist/views/Version/Restore/index.scss +6 -1
  64. package/dist/views/Version/SelectComparison/VersionPillLabel.d.ts +6 -0
  65. package/dist/views/Version/SelectComparison/VersionPillLabel.d.ts.map +1 -0
  66. package/dist/views/Version/SelectComparison/VersionPillLabel.js +70 -0
  67. package/dist/views/Version/SelectComparison/VersionPillLabel.js.map +1 -0
  68. package/dist/views/Version/SelectComparison/formatVersionPill.d.ts +8 -0
  69. package/dist/views/Version/SelectComparison/formatVersionPill.d.ts.map +1 -0
  70. package/dist/views/Version/SelectComparison/formatVersionPill.js +24 -0
  71. package/dist/views/Version/SelectComparison/formatVersionPill.js.map +1 -0
  72. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  73. package/dist/views/Version/SelectComparison/index.js +26 -68
  74. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  75. package/dist/views/Version/SelectComparison/index.scss +0 -4
  76. package/dist/views/Version/SelectComparison/types.d.ts +4 -4
  77. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  78. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  79. package/dist/views/Version/SelectLocales/index.d.ts +9 -2
  80. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  81. package/dist/views/Version/SelectLocales/index.js +33 -60
  82. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  83. package/dist/views/Version/index.d.ts.map +1 -1
  84. package/dist/views/Version/index.js +105 -56
  85. package/dist/views/Version/index.js.map +1 -1
  86. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  87. package/dist/views/Versions/cells/AutosaveCell/index.js +4 -4
  88. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  89. package/dist/views/Versions/getLatestVersion.d.ts +2 -2
  90. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  91. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  92. package/package.json +7 -8
  93. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts +0 -9
  94. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts.map +0 -1
  95. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +0 -23
  96. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +0 -1
  97. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts +0 -9
  98. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts.map +0 -1
  99. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +0 -23
  100. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +0 -1
  101. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts +0 -7
  102. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts.map +0 -1
  103. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js +0 -7
  104. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +0 -1
  105. package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts +0 -3
  106. package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts.map +0 -1
  107. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +0 -37
  108. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +0 -1
  109. package/dist/views/Version/SelectLocales/index.scss +0 -9
  110. package/dist/views/Version/SelectLocales/types.d.ts +0 -7
  111. package/dist/views/Version/SelectLocales/types.d.ts.map +0 -1
  112. package/dist/views/Version/SelectLocales/types.js +0 -2
  113. package/dist/views/Version/SelectLocales/types.js.map +0 -1
@@ -1,12 +1,10 @@
1
1
  'use client';
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import { getTranslation } from '@payloadcms/translations';
6
- import { FieldDiffLabel, useTranslation } from '@payloadcms/ui';
6
+ import { FieldDiffContainer, getHTMLDiffComponents, useTranslation } from '@payloadcms/ui';
7
7
  import React from 'react';
8
- import { diffStyles } from '../styles.js';
9
- import { DiffViewer } from './DiffViewer/index.js';
10
8
  const baseClass = 'select-diff';
11
9
  const getOptionsToRender = (value, options, hasMany) => {
12
10
  if (hasMany && Array.isArray(value)) {
@@ -37,61 +35,57 @@ const getTranslatedOptions = (options, i18n) => {
37
35
  return typeof translatedLabel === 'string' ? translatedLabel : options.value;
38
36
  };
39
37
  export const Select = t0 => {
40
- const $ = _c(11);
38
+ const $ = _c(7);
41
39
  const {
42
- comparisonValue,
43
- diffMethod,
40
+ comparisonValue: valueFrom,
44
41
  field,
45
42
  locale,
46
- versionValue
43
+ nestingLevel,
44
+ versionValue: valueTo
47
45
  } = t0;
48
46
  const {
49
47
  i18n
50
48
  } = useTranslation();
51
49
  let placeholder = "";
52
- if (versionValue == comparisonValue) {
50
+ if (valueTo == valueFrom) {
53
51
  placeholder = `[${i18n.t("general:noValue")}]`;
54
52
  }
55
53
  const options = "options" in field && field.options;
56
- let t1;
57
- if ($[0] !== comparisonValue || $[1] !== diffMethod || $[2] !== field || $[3] !== i18n || $[4] !== locale || $[5] !== options || $[6] !== placeholder || $[7] !== versionValue) {
58
- const comparisonToRender = typeof comparisonValue !== "undefined" ? getTranslatedOptions(getOptionsToRender(typeof comparisonValue === "string" ? comparisonValue : JSON.stringify(comparisonValue), options, field.hasMany), i18n) : placeholder;
59
- const versionToRender = typeof versionValue !== "undefined" ? getTranslatedOptions(getOptionsToRender(typeof versionValue === "string" ? versionValue : JSON.stringify(versionValue), options, field.hasMany), i18n) : placeholder;
60
- let t2;
61
- if ($[9] !== locale) {
62
- t2 = locale && _jsx("span", {
63
- className: `${baseClass}__locale-label`,
64
- children: locale
65
- });
66
- $[9] = locale;
67
- $[10] = t2;
68
- } else {
69
- t2 = $[10];
70
- }
71
- t1 = _jsxs("div", {
54
+ const renderedValueFrom = typeof valueFrom !== "undefined" ? getTranslatedOptions(getOptionsToRender(typeof valueFrom === "string" ? valueFrom : JSON.stringify(valueFrom), options, field.hasMany), i18n) : placeholder;
55
+ const renderedValueTo = typeof valueTo !== "undefined" ? getTranslatedOptions(getOptionsToRender(typeof valueTo === "string" ? valueTo : JSON.stringify(valueTo), options, field.hasMany), i18n) : placeholder;
56
+ const t1 = "<p>" + renderedValueFrom + "</p>";
57
+ const t2 = "<p>" + renderedValueTo + "</p>";
58
+ let t3;
59
+ if ($[0] !== field.label || $[1] !== i18n || $[2] !== locale || $[3] !== nestingLevel || $[4] !== t1 || $[5] !== t2) {
60
+ const {
61
+ From,
62
+ To
63
+ } = getHTMLDiffComponents({
64
+ fromHTML: t1,
65
+ toHTML: t2,
66
+ tokenizeByCharacter: true
67
+ });
68
+ t3 = _jsx(FieldDiffContainer, {
72
69
  className: baseClass,
73
- children: [_jsxs(FieldDiffLabel, {
74
- children: [t2, "label" in field && getTranslation(field.label || "", i18n)]
75
- }), _jsx(DiffViewer, {
76
- comparisonToRender,
77
- diffMethod,
78
- diffStyles,
79
- placeholder,
80
- versionToRender
81
- })]
70
+ From,
71
+ i18n,
72
+ label: {
73
+ label: field.label,
74
+ locale
75
+ },
76
+ nestingLevel,
77
+ To
82
78
  });
83
- $[0] = comparisonValue;
84
- $[1] = diffMethod;
85
- $[2] = field;
86
- $[3] = i18n;
87
- $[4] = locale;
88
- $[5] = options;
89
- $[6] = placeholder;
90
- $[7] = versionValue;
91
- $[8] = t1;
79
+ $[0] = field.label;
80
+ $[1] = i18n;
81
+ $[2] = locale;
82
+ $[3] = nestingLevel;
83
+ $[4] = t1;
84
+ $[5] = t2;
85
+ $[6] = t3;
92
86
  } else {
93
- t1 = $[8];
87
+ t3 = $[6];
94
88
  }
95
- return t1;
89
+ return t3;
96
90
  };
97
91
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","FieldDiffLabel","useTranslation","React","diffStyles","DiffViewer","baseClass","getOptionsToRender","value","options","hasMany","Array","isArray","map","val","find","option","String","getTranslatedOptions","i18n","translatedLabel","label","join","Select","t0","$","comparisonValue","diffMethod","field","locale","versionValue","placeholder","t","t1","comparisonToRender","JSON","stringify","versionToRender","t2","_jsx","className","children","_jsxs"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { Option, SelectField, SelectFieldDiffClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDiffLabel, useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\nimport { diffStyles } from '../styles.js'\nimport { DiffViewer } from './DiffViewer/index.js'\n\nconst baseClass = 'select-diff'\n\nconst getOptionsToRender = (\n value: string,\n options: SelectField['options'],\n hasMany: boolean,\n): Option | Option[] => {\n if (hasMany && Array.isArray(value)) {\n return value.map(\n (val) =>\n options.find((option) => (typeof option === 'string' ? option : option.value) === val) ||\n String(val),\n )\n }\n return (\n options.find((option) => (typeof option === 'string' ? option : option.value) === value) ||\n String(value)\n )\n}\n\n/**\n * Translates option labels while ensuring they are strings.\n * If `options.label` is a JSX element, it falls back to `options.value` because `DiffViewer`\n * expects all values to be strings.\n */\nconst getTranslatedOptions = (options: Option | Option[], i18n: I18nClient): string => {\n if (Array.isArray(options)) {\n return options\n .map((option) => {\n if (typeof option === 'string') {\n return option\n }\n const translatedLabel = getTranslation(option.label, i18n)\n\n // Ensure the result is a string, otherwise use option.value\n return typeof translatedLabel === 'string' ? translatedLabel : option.value\n })\n .join(', ')\n }\n\n if (typeof options === 'string') {\n return options\n }\n\n const translatedLabel = getTranslation(options.label, i18n)\n\n return typeof translatedLabel === 'string' ? translatedLabel : options.value\n}\n\nexport const Select: SelectFieldDiffClientComponent = ({\n comparisonValue,\n diffMethod,\n field,\n locale,\n versionValue,\n}) => {\n const { i18n } = useTranslation()\n\n let placeholder = ''\n\n if (versionValue == comparisonValue) {\n placeholder = `[${i18n.t('general:noValue')}]`\n }\n\n const options = 'options' in field && field.options\n\n const comparisonToRender =\n typeof comparisonValue !== 'undefined'\n ? getTranslatedOptions(\n getOptionsToRender(\n typeof comparisonValue === 'string' ? comparisonValue : JSON.stringify(comparisonValue),\n options,\n field.hasMany,\n ),\n i18n,\n )\n : placeholder\n\n const versionToRender =\n typeof versionValue !== 'undefined'\n ? getTranslatedOptions(\n getOptionsToRender(\n typeof versionValue === 'string' ? versionValue : JSON.stringify(versionValue),\n options,\n field.hasMany,\n ),\n i18n,\n )\n : placeholder\n\n return (\n <div className={baseClass}>\n <FieldDiffLabel>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {'label' in field && getTranslation(field.label || '', i18n)}\n </FieldDiffLabel>\n <DiffViewer\n comparisonToRender={comparisonToRender}\n diffMethod={diffMethod}\n diffStyles={diffStyles}\n placeholder={placeholder}\n versionToRender={versionToRender}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","FieldDiffContainer","getHTMLDiffComponents","useTranslation","React","baseClass","getOptionsToRender","value","options","hasMany","Array","isArray","map","val","find","option","String","getTranslatedOptions","i18n","translatedLabel","label","join","Select","t0","$","comparisonValue","valueFrom","field","locale","nestingLevel","versionValue","valueTo","placeholder","t","renderedValueFrom","JSON","stringify","renderedValueTo","t1","t2","t3","From","To","fromHTML","toHTML","tokenizeByCharacter","_jsx","className"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { Option, SelectField, SelectFieldDiffClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDiffContainer, getHTMLDiffComponents, useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'select-diff'\n\nconst getOptionsToRender = (\n value: string,\n options: SelectField['options'],\n hasMany: boolean,\n): Option | Option[] => {\n if (hasMany && Array.isArray(value)) {\n return value.map(\n (val) =>\n options.find((option) => (typeof option === 'string' ? option : option.value) === val) ||\n String(val),\n )\n }\n return (\n options.find((option) => (typeof option === 'string' ? option : option.value) === value) ||\n String(value)\n )\n}\n\n/**\n * Translates option labels while ensuring they are strings.\n * If `options.label` is a JSX element, it falls back to `options.value` because `DiffViewer`\n * expects all values to be strings.\n */\nconst getTranslatedOptions = (options: Option | Option[], i18n: I18nClient): string => {\n if (Array.isArray(options)) {\n return options\n .map((option) => {\n if (typeof option === 'string') {\n return option\n }\n const translatedLabel = getTranslation(option.label, i18n)\n\n // Ensure the result is a string, otherwise use option.value\n return typeof translatedLabel === 'string' ? translatedLabel : option.value\n })\n .join(', ')\n }\n\n if (typeof options === 'string') {\n return options\n }\n\n const translatedLabel = getTranslation(options.label, i18n)\n\n return typeof translatedLabel === 'string' ? translatedLabel : options.value\n}\n\nexport const Select: SelectFieldDiffClientComponent = ({\n comparisonValue: valueFrom,\n diffMethod,\n field,\n locale,\n nestingLevel,\n versionValue: valueTo,\n}) => {\n const { i18n } = useTranslation()\n\n let placeholder = ''\n\n if (valueTo == valueFrom) {\n placeholder = `[${i18n.t('general:noValue')}]`\n }\n\n const options = 'options' in field && field.options\n\n const renderedValueFrom =\n typeof valueFrom !== 'undefined'\n ? getTranslatedOptions(\n getOptionsToRender(\n typeof valueFrom === 'string' ? valueFrom : JSON.stringify(valueFrom),\n options,\n field.hasMany,\n ),\n i18n,\n )\n : placeholder\n\n const renderedValueTo =\n typeof valueTo !== 'undefined'\n ? getTranslatedOptions(\n getOptionsToRender(\n typeof valueTo === 'string' ? valueTo : JSON.stringify(valueTo),\n options,\n field.hasMany,\n ),\n i18n,\n )\n : placeholder\n\n const { From, To } = getHTMLDiffComponents({\n fromHTML: '<p>' + renderedValueFrom + '</p>',\n toHTML: '<p>' + renderedValueTo + '</p>',\n tokenizeByCharacter: true,\n })\n\n return (\n <FieldDiffContainer\n className={baseClass}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,15 +1,4 @@
1
1
  @layer payload-default {
2
2
  .select-diff {
3
- &__locale-label {
4
- [dir='ltr'] & {
5
- margin-right: calc(var(--base) * 0.25);
6
- }
7
- [dir='rtl'] & {
8
- margin-left: calc(var(--base) * 0.25);
9
- }
10
- background: var(--theme-elevation-100);
11
- padding: calc(var(--base) * 0.25);
12
- // border-radius: $style-radius-m;
13
- }
14
3
  }
15
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Tabs/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,4BAA4B,EAE7B,MAAM,SAAS,CAAA;AAMhB,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,IAAI,EAAE,4BAsDlB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Tabs/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,4BAA4B,EAE7B,MAAM,SAAS,CAAA;AAMhB,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,IAAI,EAAE,4BAqDlB,CAAA"}
@@ -13,17 +13,17 @@ export const Tabs = props => {
13
13
  const $ = _c(13);
14
14
  const {
15
15
  baseVersionField,
16
- comparisonValue,
16
+ comparisonValue: valueFrom,
17
17
  field,
18
- versionValue
18
+ versionValue: valueTo
19
19
  } = props;
20
20
  const {
21
21
  selectedLocales
22
22
  } = useSelectedLocales();
23
23
  let t0;
24
- if ($[0] !== baseVersionField.tabs || $[1] !== comparisonValue || $[2] !== field || $[3] !== props || $[4] !== selectedLocales || $[5] !== versionValue) {
24
+ if ($[0] !== baseVersionField.tabs || $[1] !== field || $[2] !== props || $[3] !== selectedLocales || $[4] !== valueFrom || $[5] !== valueTo) {
25
25
  let t1;
26
- if ($[7] !== comparisonValue || $[8] !== field || $[9] !== props || $[10] !== selectedLocales || $[11] !== versionValue) {
26
+ if ($[7] !== field || $[8] !== props || $[9] !== selectedLocales || $[10] !== valueFrom || $[11] !== valueTo) {
27
27
  t1 = (tab, i) => {
28
28
  if (!tab?.fields?.length) {
29
29
  return null;
@@ -36,18 +36,18 @@ export const Tabs = props => {
36
36
  return selectedLocales.map((locale, index) => {
37
37
  const localizedTabProps = {
38
38
  ...props,
39
- comparison: comparisonValue?.[tab.name]?.[locale],
40
- version: versionValue?.[tab.name]?.[locale]
39
+ comparisonValue: valueFrom?.[tab.name]?.[locale],
40
+ fieldTab,
41
+ locale,
42
+ tab,
43
+ versionValue: valueTo?.[tab.name]?.[locale]
41
44
  };
42
45
  return _jsx("div", {
43
46
  className: `${baseClass}__tab-locale`,
44
47
  children: _jsx("div", {
45
48
  className: `${baseClass}__tab-locale-value`,
46
49
  children: _jsx(Tab, {
47
- ...localizedTabProps,
48
- fieldTab,
49
- locale,
50
- tab
50
+ ...localizedTabProps
51
51
  }, locale)
52
52
  })
53
53
  }, [locale, index].join("-"));
@@ -56,13 +56,13 @@ export const Tabs = props => {
56
56
  if ("name" in tab && tab.name) {
57
57
  const namedTabProps = {
58
58
  ...props,
59
- comparison: comparisonValue?.[tab.name],
60
- version: versionValue?.[tab.name]
59
+ comparisonValue: valueFrom?.[tab.name],
60
+ fieldTab,
61
+ tab,
62
+ versionValue: valueTo?.[tab.name]
61
63
  };
62
64
  return _jsx(Tab, {
63
- fieldTab,
64
- ...namedTabProps,
65
- tab
65
+ ...namedTabProps
66
66
  }, i);
67
67
  } else {
68
68
  return _jsx(Tab, {
@@ -75,11 +75,11 @@ export const Tabs = props => {
75
75
  })()
76
76
  }, i);
77
77
  };
78
- $[7] = comparisonValue;
79
- $[8] = field;
80
- $[9] = props;
81
- $[10] = selectedLocales;
82
- $[11] = versionValue;
78
+ $[7] = field;
79
+ $[8] = props;
80
+ $[9] = selectedLocales;
81
+ $[10] = valueFrom;
82
+ $[11] = valueTo;
83
83
  $[12] = t1;
84
84
  } else {
85
85
  t1 = $[12];
@@ -89,11 +89,11 @@ export const Tabs = props => {
89
89
  children: baseVersionField.tabs.map(t1)
90
90
  });
91
91
  $[0] = baseVersionField.tabs;
92
- $[1] = comparisonValue;
93
- $[2] = field;
94
- $[3] = props;
95
- $[4] = selectedLocales;
96
- $[5] = versionValue;
92
+ $[1] = field;
93
+ $[2] = props;
94
+ $[3] = selectedLocales;
95
+ $[4] = valueFrom;
96
+ $[5] = valueTo;
97
97
  $[6] = t0;
98
98
  } else {
99
99
  t0 = $[6];
@@ -103,12 +103,12 @@ export const Tabs = props => {
103
103
  const Tab = t0 => {
104
104
  const $ = _c(12);
105
105
  const {
106
- comparisonValue,
106
+ comparisonValue: valueFrom,
107
107
  fieldTab,
108
108
  locale,
109
109
  parentIsLocalized,
110
110
  tab,
111
- versionValue
111
+ versionValue: valueTo
112
112
  } = t0;
113
113
  const {
114
114
  i18n
@@ -136,25 +136,25 @@ const Tab = t0 => {
136
136
  }
137
137
  const t2 = parentIsLocalized || fieldTab.localized;
138
138
  let t3;
139
- if ($[4] !== comparisonValue || $[5] !== fieldTab.fields || $[6] !== selectedLocales || $[7] !== t1 || $[8] !== t2 || $[9] !== tab.fields || $[10] !== versionValue) {
139
+ if ($[4] !== fieldTab.fields || $[5] !== selectedLocales || $[6] !== t1 || $[7] !== t2 || $[8] !== tab.fields || $[9] !== valueFrom || $[10] !== valueTo) {
140
140
  t3 = _jsx(DiffCollapser, {
141
- comparison: comparisonValue,
142
141
  fields: fieldTab.fields,
143
142
  label: t1,
144
143
  locales: selectedLocales,
145
144
  parentIsLocalized: t2,
146
- version: versionValue,
145
+ valueFrom,
146
+ valueTo,
147
147
  children: _jsx(RenderVersionFieldsToDiff, {
148
148
  versionFields: tab.fields
149
149
  })
150
150
  });
151
- $[4] = comparisonValue;
152
- $[5] = fieldTab.fields;
153
- $[6] = selectedLocales;
154
- $[7] = t1;
155
- $[8] = t2;
156
- $[9] = tab.fields;
157
- $[10] = versionValue;
151
+ $[4] = fieldTab.fields;
152
+ $[5] = selectedLocales;
153
+ $[6] = t1;
154
+ $[7] = t2;
155
+ $[8] = tab.fields;
156
+ $[9] = valueFrom;
157
+ $[10] = valueTo;
158
158
  $[11] = t3;
159
159
  } else {
160
160
  t3 = $[11];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","useTranslation","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Tabs","props","$","baseVersionField","comparisonValue","field","versionValue","selectedLocales","t0","tabs","t1","tab","i","fields","length","fieldTab","_jsx","className","children","localized","map","locale","index","localizedTabProps","comparison","name","version","Tab","join","namedTabProps","parentIsLocalized","i18n","label","_jsxs","t2","t3","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Tabs/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientTab,\n FieldDiffClientProps,\n TabsFieldClient,\n TabsFieldDiffClientComponent,\n VersionTab,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'tabs-diff'\n\nexport const Tabs: TabsFieldDiffClientComponent = (props) => {\n const { baseVersionField, comparisonValue, field, versionValue } = props\n const { selectedLocales } = useSelectedLocales()\n\n return (\n <div className={baseClass}>\n {baseVersionField.tabs.map((tab, i) => {\n if (!tab?.fields?.length) {\n return null\n }\n const fieldTab = field.tabs?.[i]\n return (\n <div className={`${baseClass}__tab`} key={i}>\n {(() => {\n if ('name' in fieldTab && selectedLocales && fieldTab.localized) {\n // Named localized tab\n return selectedLocales.map((locale, index) => {\n const localizedTabProps = {\n ...props,\n comparison: comparisonValue?.[tab.name]?.[locale],\n version: versionValue?.[tab.name]?.[locale],\n }\n return (\n <div className={`${baseClass}__tab-locale`} key={[locale, index].join('-')}>\n <div className={`${baseClass}__tab-locale-value`}>\n <Tab\n key={locale}\n {...localizedTabProps}\n fieldTab={fieldTab}\n locale={locale}\n tab={tab}\n />\n </div>\n </div>\n )\n })\n } else if ('name' in tab && tab.name) {\n // Named tab\n const namedTabProps = {\n ...props,\n comparison: comparisonValue?.[tab.name],\n version: versionValue?.[tab.name],\n }\n return <Tab fieldTab={fieldTab} key={i} {...namedTabProps} tab={tab} />\n } else {\n // Unnamed tab\n return <Tab fieldTab={fieldTab} key={i} {...props} tab={tab} />\n }\n })()}\n </div>\n )\n })}\n </div>\n )\n}\n\ntype TabProps = {\n fieldTab: ClientTab\n tab: VersionTab\n} & FieldDiffClientProps<TabsFieldClient>\n\nconst Tab: React.FC<TabProps> = ({\n comparisonValue,\n fieldTab,\n locale,\n parentIsLocalized,\n tab,\n versionValue,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n if (!tab.fields?.length) {\n return null\n }\n\n return (\n <DiffCollapser\n comparison={comparisonValue}\n fields={fieldTab.fields}\n label={\n 'label' in tab &&\n tab.label &&\n typeof tab.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(tab.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || fieldTab.localized}\n version={versionValue}\n >\n <RenderVersionFieldsToDiff versionFields={tab.fields} />\n </DiffCollapser>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","useTranslation","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Tabs","props","$","baseVersionField","comparisonValue","valueFrom","field","versionValue","valueTo","selectedLocales","t0","tabs","t1","tab","i","fields","length","fieldTab","_jsx","className","children","localized","map","locale","index","localizedTabProps","name","Tab","join","namedTabProps","parentIsLocalized","i18n","label","_jsxs","t2","t3","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Tabs/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientTab,\n FieldDiffClientProps,\n TabsFieldClient,\n TabsFieldDiffClientComponent,\n VersionTab,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'tabs-diff'\n\nexport const Tabs: TabsFieldDiffClientComponent = (props) => {\n const { baseVersionField, comparisonValue: valueFrom, field, versionValue: valueTo } = props\n const { selectedLocales } = useSelectedLocales()\n\n return (\n <div className={baseClass}>\n {baseVersionField.tabs.map((tab, i) => {\n if (!tab?.fields?.length) {\n return null\n }\n const fieldTab = field.tabs?.[i]\n return (\n <div className={`${baseClass}__tab`} key={i}>\n {(() => {\n if ('name' in fieldTab && selectedLocales && fieldTab.localized) {\n // Named localized tab\n return selectedLocales.map((locale, index) => {\n const localizedTabProps: TabProps = {\n ...props,\n comparisonValue: valueFrom?.[tab.name]?.[locale],\n fieldTab,\n locale,\n tab,\n versionValue: valueTo?.[tab.name]?.[locale],\n }\n return (\n <div className={`${baseClass}__tab-locale`} key={[locale, index].join('-')}>\n <div className={`${baseClass}__tab-locale-value`}>\n <Tab key={locale} {...localizedTabProps} />\n </div>\n </div>\n )\n })\n } else if ('name' in tab && tab.name) {\n // Named tab\n const namedTabProps: TabProps = {\n ...props,\n comparisonValue: valueFrom?.[tab.name],\n fieldTab,\n tab,\n versionValue: valueTo?.[tab.name],\n }\n return <Tab key={i} {...namedTabProps} />\n } else {\n // Unnamed tab\n return <Tab fieldTab={fieldTab} key={i} {...props} tab={tab} />\n }\n })()}\n </div>\n )\n })}\n </div>\n )\n}\n\ntype TabProps = {\n fieldTab: ClientTab\n tab: VersionTab\n} & FieldDiffClientProps<TabsFieldClient>\n\nconst Tab: React.FC<TabProps> = ({\n comparisonValue: valueFrom,\n fieldTab,\n locale,\n parentIsLocalized,\n tab,\n versionValue: valueTo,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n if (!tab.fields?.length) {\n return null\n }\n\n return (\n <DiffCollapser\n fields={fieldTab.fields}\n label={\n 'label' in tab &&\n tab.label &&\n typeof tab.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(tab.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || fieldTab.localized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n <RenderVersionFieldsToDiff versionFields={tab.fields} />\n </DiffCollapser>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,16 +5,5 @@
5
5
  &__tab-locale:not(:first-of-type) {
6
6
  margin-top: var(--base);
7
7
  }
8
-
9
- &__locale-label {
10
- background: var(--theme-elevation-100);
11
- padding: calc(var(--base) * 0.25);
12
- [dir='ltr'] & {
13
- margin-right: calc(var(--base) * 0.25);
14
- }
15
- [dir='rtl'] & {
16
- margin-left: calc(var(--base) * 0.25);
17
- }
18
- }
19
8
  }
20
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Text/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAM3D,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,IAAI,EAAE,4BAqClB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Text/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAI3D,OAAO,cAAc,CAAA;AAuCrB,eAAO,MAAM,IAAI,EAAE,4BA+ClB,CAAA"}
@@ -1,83 +1,100 @@
1
1
  'use client';
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { getTranslation } from '@payloadcms/translations';
6
- import { FieldDiffLabel, useTranslation } from '@payloadcms/ui';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { FieldDiffContainer, getHTMLDiffComponents, useTranslation } from '@payloadcms/ui';
7
6
  import React from 'react';
8
- import { diffStyles } from '../styles.js';
9
- import { DiffViewer } from './DiffViewer/index.js';
10
7
  const baseClass = 'text-diff';
8
+ function formatValue(value) {
9
+ if (typeof value === 'string') {
10
+ return {
11
+ tokenizeByCharacter: true,
12
+ value
13
+ };
14
+ }
15
+ if (typeof value === 'number') {
16
+ return {
17
+ tokenizeByCharacter: true,
18
+ value: String(value)
19
+ };
20
+ }
21
+ if (typeof value === 'boolean') {
22
+ return {
23
+ tokenizeByCharacter: false,
24
+ value: String(value)
25
+ };
26
+ }
27
+ if (value && typeof value === 'object') {
28
+ return {
29
+ tokenizeByCharacter: false,
30
+ value: `<pre>${JSON.stringify(value, null, 2)}</pre>`
31
+ };
32
+ }
33
+ return {
34
+ tokenizeByCharacter: true,
35
+ value: undefined
36
+ };
37
+ }
11
38
  export const Text = t0 => {
12
- const $ = _c(14);
39
+ const $ = _c(8);
13
40
  const {
14
- comparisonValue,
15
- diffMethod,
41
+ comparisonValue: valueFrom,
16
42
  field,
17
43
  locale,
18
- versionValue
44
+ nestingLevel,
45
+ versionValue: valueTo
19
46
  } = t0;
20
47
  const {
21
48
  i18n
22
49
  } = useTranslation();
23
50
  let placeholder = "";
24
- if (versionValue == comparisonValue) {
25
- placeholder = `[${i18n.t("general:noValue")}]`;
51
+ if (valueTo == valueFrom) {
52
+ placeholder = `<span class="html-diff-no-value">${i18n.t("general:noValue")}<span>`;
26
53
  }
27
54
  let t1;
28
- if ($[0] !== versionValue) {
29
- t1 = typeof versionValue === "string" ? versionValue : JSON.stringify(versionValue, null, 2);
30
- $[0] = versionValue;
31
- $[1] = t1;
32
- } else {
33
- t1 = $[1];
34
- }
35
- const versionToRender = t1;
36
- let t2;
37
- if ($[2] !== comparisonValue) {
38
- t2 = typeof comparisonValue === "string" ? comparisonValue : JSON.stringify(comparisonValue, null, 2);
39
- $[2] = comparisonValue;
40
- $[3] = t2;
41
- } else {
42
- t2 = $[3];
43
- }
44
- const comparisonToRender = t2;
45
- let t3;
46
- if ($[4] !== locale) {
47
- t3 = locale && _jsx("span", {
48
- className: `${baseClass}__locale-label`,
49
- children: locale
55
+ if ($[0] !== field.label || $[1] !== i18n || $[2] !== locale || $[3] !== nestingLevel || $[4] !== placeholder || $[5] !== valueFrom || $[6] !== valueTo) {
56
+ const formattedValueFrom = formatValue(valueFrom);
57
+ const formattedValueTo = formatValue(valueTo);
58
+ let tokenizeByCharacter = true;
59
+ if (formattedValueFrom.value?.length) {
60
+ tokenizeByCharacter = formattedValueFrom.tokenizeByCharacter;
61
+ } else {
62
+ if (formattedValueTo.value?.length) {
63
+ tokenizeByCharacter = formattedValueTo.tokenizeByCharacter;
64
+ }
65
+ }
66
+ const renderedValueFrom = formattedValueFrom.value ?? placeholder;
67
+ const renderedValueTo = formattedValueTo.value ?? placeholder;
68
+ const {
69
+ From,
70
+ To
71
+ } = getHTMLDiffComponents({
72
+ fromHTML: "<p>" + renderedValueFrom + "</p>",
73
+ toHTML: "<p>" + renderedValueTo + "</p>",
74
+ tokenizeByCharacter
50
75
  });
51
- $[4] = locale;
52
- $[5] = t3;
53
- } else {
54
- t3 = $[5];
55
- }
56
- let t4;
57
- if ($[6] !== comparisonToRender || $[7] !== diffMethod || $[8] !== field || $[9] !== i18n || $[10] !== placeholder || $[11] !== t3 || $[12] !== versionToRender) {
58
- t4 = _jsxs("div", {
76
+ t1 = _jsx(FieldDiffContainer, {
59
77
  className: baseClass,
60
- children: [_jsxs(FieldDiffLabel, {
61
- children: [t3, "label" in field && typeof field.label !== "function" && getTranslation(field.label || "", i18n)]
62
- }), _jsx(DiffViewer, {
63
- comparisonToRender,
64
- diffMethod,
65
- diffStyles,
66
- placeholder,
67
- versionToRender
68
- })]
78
+ From,
79
+ i18n,
80
+ label: {
81
+ label: field.label,
82
+ locale
83
+ },
84
+ nestingLevel,
85
+ To
69
86
  });
70
- $[6] = comparisonToRender;
71
- $[7] = diffMethod;
72
- $[8] = field;
73
- $[9] = i18n;
74
- $[10] = placeholder;
75
- $[11] = t3;
76
- $[12] = versionToRender;
77
- $[13] = t4;
87
+ $[0] = field.label;
88
+ $[1] = i18n;
89
+ $[2] = locale;
90
+ $[3] = nestingLevel;
91
+ $[4] = placeholder;
92
+ $[5] = valueFrom;
93
+ $[6] = valueTo;
94
+ $[7] = t1;
78
95
  } else {
79
- t4 = $[13];
96
+ t1 = $[7];
80
97
  }
81
- return t4;
98
+ return t1;
82
99
  };
83
100
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","FieldDiffLabel","useTranslation","React","diffStyles","DiffViewer","baseClass","Text","t0","$","comparisonValue","diffMethod","field","locale","versionValue","i18n","placeholder","t","t1","JSON","stringify","versionToRender","t2","comparisonToRender","t3","_jsx","className","children","t4","_jsxs","label"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { TextFieldDiffClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDiffLabel, useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\nimport { diffStyles } from '../styles.js'\nimport { DiffViewer } from './DiffViewer/index.js'\n\nconst baseClass = 'text-diff'\n\nexport const Text: TextFieldDiffClientComponent = ({\n comparisonValue,\n diffMethod,\n field,\n locale,\n versionValue,\n}) => {\n const { i18n } = useTranslation()\n\n let placeholder = ''\n\n if (versionValue == comparisonValue) {\n placeholder = `[${i18n.t('general:noValue')}]`\n }\n\n const versionToRender: string =\n typeof versionValue === 'string' ? versionValue : JSON.stringify(versionValue, null, 2)\n const comparisonToRender =\n typeof comparisonValue === 'string' ? comparisonValue : JSON.stringify(comparisonValue, null, 2)\n\n return (\n <div className={baseClass}>\n <FieldDiffLabel>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {'label' in field &&\n typeof field.label !== 'function' &&\n getTranslation(field.label || '', i18n)}\n </FieldDiffLabel>\n <DiffViewer\n comparisonToRender={comparisonToRender}\n diffMethod={diffMethod}\n diffStyles={diffStyles}\n placeholder={placeholder}\n versionToRender={versionToRender}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,EAAEC,cAAc,QAAQ;AAC/C,OAAOC,KAAA,MAAW;AAGlB,SAASC,UAAU,QAAQ;AAC3B,SAASC,UAAU,QAAQ;AAE3B,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,IAAA,GAAqCC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,eAAA;IAAAC,UAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC;EAAA,IAAAN,EAMlD;EACC;IAAAO;EAAA,IAAiBb,cAAA;EAEjB,IAAAc,WAAA,GAAkB;EAAA,IAEdF,YAAA,IAAgBJ,eAAA;IAClBM,WAAA,CAAAA,CAAA,CAAcA,IAAID,IAAA,CAAAE,CAAA,CAAO,qBAAqB;EAA9C;EAAA,IAAAC,EAAA;EAAA,IAAAT,CAAA,QAAAK,YAAA;IAIAI,EAAA,UAAOJ,YAAA,KAAiB,WAAWA,YAAA,GAAeK,IAAA,CAAAC,SAAA,CAAeN,YAAA,SAAoB;IAAAL,CAAA,MAAAK,YAAA;IAAAL,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EADvF,MAAAY,eAAA,GACEH,EAAqF;EAAA,IAAAI,EAAA;EAAA,IAAAb,CAAA,QAAAC,eAAA;IAErFY,EAAA,UAAOZ,eAAA,KAAoB,WAAWA,eAAA,GAAkBS,IAAA,CAAAC,SAAA,CAAeV,eAAA,SAAuB;IAAAD,CAAA,MAAAC,eAAA;IAAAD,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EADhG,MAAAc,kBAAA,GACED,EAA8F;EAAA,IAAAE,EAAA;EAAA,IAAAf,CAAA,QAAAI,MAAA;IAKzFW,EAAA,GAAAX,MAAA,IAAUY,IAAA,CAAC;MAAAC,SAAA,EAAgB,GAAApB,SAAA,gBAA4B;MAAAqB,QAAA,EAAGd;IAAA,C;;;;;;;;IAF/De,EAAA,GAAAC,KAAA,CAAC;MAAAH,SAAA,EAAApB,SAAA;MAAAqB,QAAA,GACCE,KAAA,CAAA5B,cAAA;QAAA0B,QAAA,GACGH,E,EACA,WAAWZ,KAAA,IACV,OAAOA,KAAA,CAAAkB,KAAA,KAAgB,cACvB9B,cAAA,CAAeY,KAAA,CAAAkB,KAAA,IAAe,IAAIf,IAAA;MAAA,C,GAEtCU,IAAA,CAAApB,UAAA;QAAAkB,kBAAA;QAAAZ,UAAA;QAAAP,UAAA;QAAAY,WAAA;QAAAK;MAAA,C;;;;;;;;;;;;;SAPFO,E;CAgBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","FieldDiffContainer","getHTMLDiffComponents","useTranslation","React","baseClass","formatValue","value","tokenizeByCharacter","String","JSON","stringify","undefined","Text","t0","$","comparisonValue","valueFrom","field","locale","nestingLevel","versionValue","valueTo","i18n","placeholder","t","t1","label","formattedValueFrom","formattedValueTo","length","renderedValueFrom","renderedValueTo","From","To","fromHTML","toHTML","_jsx","className"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { TextFieldDiffClientComponent } from 'payload'\n\nimport { FieldDiffContainer, getHTMLDiffComponents, useTranslation } from '@payloadcms/ui'\n\nimport './index.scss'\n\nimport React from 'react'\n\nconst baseClass = 'text-diff'\n\nfunction formatValue(value: unknown): {\n tokenizeByCharacter: boolean\n value: string\n} {\n if (typeof value === 'string') {\n return { tokenizeByCharacter: true, value }\n }\n if (typeof value === 'number') {\n return {\n tokenizeByCharacter: true,\n value: String(value),\n }\n }\n if (typeof value === 'boolean') {\n return {\n tokenizeByCharacter: false,\n value: String(value),\n }\n }\n\n if (value && typeof value === 'object') {\n return {\n tokenizeByCharacter: false,\n value: `<pre>${JSON.stringify(value, null, 2)}</pre>`,\n }\n }\n\n return {\n tokenizeByCharacter: true,\n value: undefined,\n }\n}\n\nexport const Text: TextFieldDiffClientComponent = ({\n comparisonValue: valueFrom,\n field,\n locale,\n nestingLevel,\n versionValue: valueTo,\n}) => {\n const { i18n } = useTranslation()\n\n let placeholder = ''\n\n if (valueTo == valueFrom) {\n placeholder = `<span class=\"html-diff-no-value\">${i18n.t('general:noValue')}<span>`\n }\n\n const formattedValueFrom = formatValue(valueFrom)\n const formattedValueTo = formatValue(valueTo)\n\n let tokenizeByCharacter = true\n if (formattedValueFrom.value?.length) {\n tokenizeByCharacter = formattedValueFrom.tokenizeByCharacter\n } else if (formattedValueTo.value?.length) {\n tokenizeByCharacter = formattedValueTo.tokenizeByCharacter\n }\n\n const renderedValueFrom = formattedValueFrom.value ?? placeholder\n const renderedValueTo: string = formattedValueTo.value ?? placeholder\n\n const { From, To } = getHTMLDiffComponents({\n fromHTML: '<p>' + renderedValueFrom + '</p>',\n toHTML: '<p>' + renderedValueTo + '</p>',\n tokenizeByCharacter,\n })\n\n return (\n <FieldDiffContainer\n className={baseClass}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,kBAAkB,EAAEC,qBAAqB,EAAEC,cAAc,QAAQ;AAI1E,OAAOC,KAAA,MAAW;AAElB,MAAMC,SAAA,GAAY;AAElB,SAASC,YAAYC,KAAc;EAIjC,IAAI,OAAOA,KAAA,KAAU,UAAU;IAC7B,OAAO;MAAEC,mBAAA,EAAqB;MAAMD;IAAM;EAC5C;EACA,IAAI,OAAOA,KAAA,KAAU,UAAU;IAC7B,OAAO;MACLC,mBAAA,EAAqB;MACrBD,KAAA,EAAOE,MAAA,CAAOF,KAAA;IAChB;EACF;EACA,IAAI,OAAOA,KAAA,KAAU,WAAW;IAC9B,OAAO;MACLC,mBAAA,EAAqB;MACrBD,KAAA,EAAOE,MAAA,CAAOF,KAAA;IAChB;EACF;EAEA,IAAIA,KAAA,IAAS,OAAOA,KAAA,KAAU,UAAU;IACtC,OAAO;MACLC,mBAAA,EAAqB;MACrBD,KAAA,EAAO,QAAQG,IAAA,CAAKC,SAAS,CAACJ,KAAA,EAAO,MAAM;IAC7C;EACF;EAEA,OAAO;IACLC,mBAAA,EAAqB;IACrBD,KAAA,EAAOK;EACT;AACF;AAEA,OAAO,MAAMC,IAAA,GAAqCC,EAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAAC;IAAAgB,eAAA,EAAAC,SAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC,YAAA;IAAAC,YAAA,EAAAC;EAAA,IAAAR,EAMlD;EACC;IAAAS;EAAA,IAAiBpB,cAAA;EAEjB,IAAAqB,WAAA,GAAkB;EAAA,IAEdF,OAAA,IAAWL,SAAA;IACbO,WAAA,CAAAA,CAAA,CAAcA,oCAAoCD,IAAA,CAAAE,CAAA,CAAO,0BAA0B;EAAnF;EAAA,IAAAC,EAAA;EAAA,IAAAX,CAAA,QAAAG,KAAA,CAAAS,KAAA,IAAAZ,CAAA,QAAAQ,IAAA,IAAAR,CAAA,QAAAI,MAAA,IAAAJ,CAAA,QAAAK,YAAA,IAAAL,CAAA,QAAAS,WAAA,IAAAT,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAO,OAAA;IAGF,MAAAM,kBAAA,GAA2BtB,WAAA,CAAYW,SAAA;IACvC,MAAAY,gBAAA,GAAyBvB,WAAA,CAAYgB,OAAA;IAErC,IAAAd,mBAAA;IAA0B,IACtBoB,kBAAA,CAAArB,KAAA,EAAAuB,MAAA;MACFtB,mBAAA,CAAAA,CAAA,CAAsBoB,kBAAA,CAAApB,mBAAA;IAAtB;MAAA,IACSqB,gBAAA,CAAAtB,KAAA,EAAAuB,MAAA;QACTtB,mBAAA,CAAAA,CAAA,CAAsBqB,gBAAA,CAAArB,mBAAA;MAAtB;IAAA;IAGF,MAAAuB,iBAAA,GAA0BH,kBAAA,CAAArB,KAAA,IAA4BiB,WAAA;IACtD,MAAAQ,eAAA,GAAgCH,gBAAA,CAAAtB,KAAA,IAA0BiB,WAAA;IAE1D;MAAAS,IAAA;MAAAC;IAAA,IAAqBhC,qBAAA;MAAAiC,QAAA,EACT,QAAQJ,iBAAA,GAAoB;MAAAK,MAAA,EAC9B,QAAQJ,eAAA,GAAkB;MAAAxB;IAAA,CAEpC;IAGEkB,EAAA,GAAAW,IAAA,CAAApC,kBAAA;MAAAqC,SAAA,EAAAjC,SAAA;MAAA4B,IAAA;MAAAV,IAAA;MAAAI,KAAA;QAAAA,KAAA,EAKWT,KAAA,CAAAS,KAAA;QAAAR;MAAA;MAAAC,YAAA;MAAAc;IAAA,C;;;;;;;;;;;;SALXR,E;CAYJ","ignoreList":[]}
@@ -1,15 +1,4 @@
1
1
  @layer payload-default {
2
2
  .text-diff {
3
- &__locale-label {
4
- [dir='ltr'] & {
5
- margin-right: calc(var(--base) * 0.25);
6
- }
7
- [dir='rtl'] & {
8
- margin-left: calc(var(--base) * 0.25);
9
- }
10
- background: var(--theme-elevation-100);
11
- padding: calc(var(--base) * 0.25);
12
- // border-radius: $style-radius-m;
13
- }
14
3
  }
15
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAW/D,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAuBxF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAY/D,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAuBxF,CAAA"}