@payloadcms/ui 3.47.0-canary.3 → 3.47.0-internal.b17506e

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 (66) hide show
  1. package/dist/elements/ArrayAction/index.d.ts +0 -2
  2. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  3. package/dist/elements/ArrayAction/index.js +13 -37
  4. package/dist/elements/ArrayAction/index.js.map +1 -1
  5. package/dist/elements/DatePicker/index.scss +0 -1
  6. package/dist/elements/ReactSelect/ClearIndicator/index.scss +0 -1
  7. package/dist/elements/ReactSelect/DropdownIndicator/index.scss +0 -1
  8. package/dist/exports/client/index.js +22 -22
  9. package/dist/exports/client/index.js.map +4 -4
  10. package/dist/exports/shared/index.js +2 -2
  11. package/dist/exports/shared/index.js.map +4 -4
  12. package/dist/fields/Array/ArrayRow.d.ts +0 -2
  13. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  14. package/dist/fields/Array/ArrayRow.js +43 -49
  15. package/dist/fields/Array/ArrayRow.js.map +1 -1
  16. package/dist/fields/Array/index.d.ts.map +1 -1
  17. package/dist/fields/Array/index.js +44 -175
  18. package/dist/fields/Array/index.js.map +1 -1
  19. package/dist/fields/Blocks/BlockRow.d.ts +0 -2
  20. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  21. package/dist/fields/Blocks/BlockRow.js +35 -41
  22. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  23. package/dist/fields/Blocks/RowActions.d.ts +0 -2
  24. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  25. package/dist/fields/Blocks/RowActions.js +26 -32
  26. package/dist/fields/Blocks/RowActions.js.map +1 -1
  27. package/dist/fields/Blocks/index.d.ts.map +1 -1
  28. package/dist/fields/Blocks/index.js +348 -294
  29. package/dist/fields/Blocks/index.js.map +1 -1
  30. package/dist/providers/LivePreview/index.d.ts +1 -1
  31. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  32. package/dist/providers/LivePreview/index.js +2 -1
  33. package/dist/providers/LivePreview/index.js.map +1 -1
  34. package/dist/styles.css +1 -1
  35. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
  36. package/dist/utilities/formatDocTitle/index.js +0 -6
  37. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  38. package/package.json +4 -4
  39. package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts +0 -5
  40. package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +0 -1
  41. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +0 -44
  42. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +0 -1
  43. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +0 -10
  44. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +0 -1
  45. package/dist/elements/ClipboardAction/clipboardUtilities.js +0 -53
  46. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +0 -1
  47. package/dist/elements/ClipboardAction/index.d.ts +0 -20
  48. package/dist/elements/ClipboardAction/index.d.ts.map +0 -1
  49. package/dist/elements/ClipboardAction/index.js +0 -188
  50. package/dist/elements/ClipboardAction/index.js.map +0 -1
  51. package/dist/elements/ClipboardAction/isClipboardDataValid.d.ts +0 -10
  52. package/dist/elements/ClipboardAction/isClipboardDataValid.d.ts.map +0 -1
  53. package/dist/elements/ClipboardAction/isClipboardDataValid.js +0 -86
  54. package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +0 -1
  55. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +0 -14
  56. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +0 -1
  57. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +0 -100
  58. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +0 -1
  59. package/dist/elements/ClipboardAction/types.d.ts +0 -45
  60. package/dist/elements/ClipboardAction/types.d.ts.map +0 -1
  61. package/dist/elements/ClipboardAction/types.js +0 -2
  62. package/dist/elements/ClipboardAction/types.js.map +0 -1
  63. package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts +0 -2
  64. package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +0 -1
  65. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +0 -15
  66. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/formatDocTitle/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACX,MAAM,SAAS,CAAA;AAQhB,eAAO,MAAM,cAAc,gGAOxB;IACD,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IAClD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACrB,KAAG,MAmDH,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/formatDocTitle/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACX,MAAM,SAAS,CAAA;AAOhB,eAAO,MAAM,cAAc,gGAOxB;IACD,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IAClD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACrB,KAAG,MA6CH,CAAA"}
@@ -1,7 +1,6 @@
1
1
  import { getTranslation } from '@payloadcms/translations';
2
2
  import { formatDate } from './formatDateTitle.js';
3
3
  import { formatLexicalDocTitle, isSerializedLexicalEditor } from './formatLexicalDocTitle.js';
4
- import { formatRelationshipTitle } from './formatRelationshipTitle.js';
5
4
  export const formatDocTitle = ({
6
5
  collectionConfig,
7
6
  data,
@@ -18,7 +17,6 @@ export const formatDocTitle = ({
18
17
  if (title) {
19
18
  const fieldConfig = collectionConfig.fields.find(f => 'name' in f && f.name === useAsTitle);
20
19
  const isDate = fieldConfig?.type === 'date';
21
- const isRelationship = fieldConfig?.type === 'relationship';
22
20
  if (isDate) {
23
21
  const dateFormat = 'date' in fieldConfig.admin && fieldConfig?.admin?.date?.displayFormat || dateFormatFromConfig;
24
22
  title = formatDate({
@@ -27,10 +25,6 @@ export const formatDocTitle = ({
27
25
  pattern: dateFormat
28
26
  }) || title;
29
27
  }
30
- if (isRelationship) {
31
- const formattedRelationshipTitle = formatRelationshipTitle(data[useAsTitle]);
32
- title = formattedRelationshipTitle;
33
- }
34
28
  }
35
29
  }
36
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","formatDate","formatLexicalDocTitle","isSerializedLexicalEditor","formatRelationshipTitle","formatDocTitle","collectionConfig","data","dateFormat","dateFormatFromConfig","fallback","globalConfig","i18n","title","useAsTitle","admin","fieldConfig","fields","find","f","name","isDate","type","isRelationship","date","displayFormat","pattern","formattedRelationshipTitle","label","slug","root","children","t"],"sources":["../../../src/utilities/formatDocTitle/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n SanitizedConfig,\n TypeWithID,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { formatDate } from './formatDateTitle.js'\nimport { formatLexicalDocTitle, isSerializedLexicalEditor } from './formatLexicalDocTitle.js'\nimport { formatRelationshipTitle } from './formatRelationshipTitle.js'\n\nexport const formatDocTitle = ({\n collectionConfig,\n data,\n dateFormat: dateFormatFromConfig,\n fallback,\n globalConfig,\n i18n,\n}: {\n collectionConfig?: ClientCollectionConfig\n data: TypeWithID\n dateFormat: SanitizedConfig['admin']['dateFormat']\n fallback?: object | string\n globalConfig?: ClientGlobalConfig\n i18n: I18n<any, any>\n}): string => {\n let title: string\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n\n if (useAsTitle) {\n title = data?.[useAsTitle] as string\n\n if (title) {\n const fieldConfig = collectionConfig.fields.find(\n (f) => 'name' in f && f.name === useAsTitle,\n )\n\n const isDate = fieldConfig?.type === 'date'\n const isRelationship = fieldConfig?.type === 'relationship'\n\n if (isDate) {\n const dateFormat =\n ('date' in fieldConfig.admin && fieldConfig?.admin?.date?.displayFormat) ||\n dateFormatFromConfig\n\n title = formatDate({ date: title, i18n, pattern: dateFormat }) || title\n }\n\n if (isRelationship) {\n const formattedRelationshipTitle = formatRelationshipTitle(data[useAsTitle])\n title = formattedRelationshipTitle\n }\n }\n }\n }\n\n if (globalConfig) {\n title = getTranslation(globalConfig?.label, i18n) || globalConfig?.slug\n }\n\n // richtext lexical case. We convert the first child of root to plain text\n if (title && isSerializedLexicalEditor(title)) {\n title = formatLexicalDocTitle(title.root.children?.[0]?.children || [], '')\n }\n\n if (!title && isSerializedLexicalEditor(fallback)) {\n title = formatLexicalDocTitle(fallback.root.children?.[0]?.children || [], '')\n }\n\n if (!title) {\n title = typeof fallback === 'string' ? fallback : `[${i18n.t('general:untitled')}]`\n }\n\n return title\n}\n"],"mappings":"AAQA,SAASA,cAAc,QAAQ;AAE/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,qBAAqB,EAAEC,yBAAyB,QAAQ;AACjE,SAASC,uBAAuB,QAAQ;AAExC,OAAO,MAAMC,cAAA,GAAiBA,CAAC;EAC7BC,gBAAgB;EAChBC,IAAI;EACJC,UAAA,EAAYC,oBAAoB;EAChCC,QAAQ;EACRC,YAAY;EACZC;AAAI,CAQL;EACC,IAAIC,KAAA;EAEJ,IAAIP,gBAAA,EAAkB;IACpB,MAAMQ,UAAA,GAAaR,gBAAA,EAAkBS,KAAA,EAAOD,UAAA;IAE5C,IAAIA,UAAA,EAAY;MACdD,KAAA,GAAQN,IAAA,GAAOO,UAAA,CAAW;MAE1B,IAAID,KAAA,EAAO;QACT,MAAMG,WAAA,GAAcV,gBAAA,CAAiBW,MAAM,CAACC,IAAI,CAC7CC,CAAA,IAAM,UAAUA,CAAA,IAAKA,CAAA,CAAEC,IAAI,KAAKN,UAAA;QAGnC,MAAMO,MAAA,GAASL,WAAA,EAAaM,IAAA,KAAS;QACrC,MAAMC,cAAA,GAAiBP,WAAA,EAAaM,IAAA,KAAS;QAE7C,IAAID,MAAA,EAAQ;UACV,MAAMb,UAAA,GACJ,MAAC,IAAUQ,WAAA,CAAYD,KAAK,IAAIC,WAAA,EAAaD,KAAA,EAAOS,IAAA,EAAMC,aAAA,IAC1DhB,oBAAA;UAEFI,KAAA,GAAQZ,UAAA,CAAW;YAAEuB,IAAA,EAAMX,KAAA;YAAOD,IAAA;YAAMc,OAAA,EAASlB;UAAW,MAAMK,KAAA;QACpE;QAEA,IAAIU,cAAA,EAAgB;UAClB,MAAMI,0BAAA,GAA6BvB,uBAAA,CAAwBG,IAAI,CAACO,UAAA,CAAW;UAC3ED,KAAA,GAAQc,0BAAA;QACV;MACF;IACF;EACF;EAEA,IAAIhB,YAAA,EAAc;IAChBE,KAAA,GAAQb,cAAA,CAAeW,YAAA,EAAciB,KAAA,EAAOhB,IAAA,KAASD,YAAA,EAAckB,IAAA;EACrE;EAEA;EACA,IAAIhB,KAAA,IAASV,yBAAA,CAA0BU,KAAA,GAAQ;IAC7CA,KAAA,GAAQX,qBAAA,CAAsBW,KAAA,CAAMiB,IAAI,CAACC,QAAQ,GAAG,EAAE,EAAEA,QAAA,IAAY,EAAE,EAAE;EAC1E;EAEA,IAAI,CAAClB,KAAA,IAASV,yBAAA,CAA0BO,QAAA,GAAW;IACjDG,KAAA,GAAQX,qBAAA,CAAsBQ,QAAA,CAASoB,IAAI,CAACC,QAAQ,GAAG,EAAE,EAAEA,QAAA,IAAY,EAAE,EAAE;EAC7E;EAEA,IAAI,CAAClB,KAAA,EAAO;IACVA,KAAA,GAAQ,OAAOH,QAAA,KAAa,WAAWA,QAAA,GAAW,IAAIE,IAAA,CAAKoB,CAAC,CAAC,sBAAsB;EACrF;EAEA,OAAOnB,KAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","formatDate","formatLexicalDocTitle","isSerializedLexicalEditor","formatDocTitle","collectionConfig","data","dateFormat","dateFormatFromConfig","fallback","globalConfig","i18n","title","useAsTitle","admin","fieldConfig","fields","find","f","name","isDate","type","date","displayFormat","pattern","label","slug","root","children","t"],"sources":["../../../src/utilities/formatDocTitle/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n SanitizedConfig,\n TypeWithID,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { formatDate } from './formatDateTitle.js'\nimport { formatLexicalDocTitle, isSerializedLexicalEditor } from './formatLexicalDocTitle.js'\n\nexport const formatDocTitle = ({\n collectionConfig,\n data,\n dateFormat: dateFormatFromConfig,\n fallback,\n globalConfig,\n i18n,\n}: {\n collectionConfig?: ClientCollectionConfig\n data: TypeWithID\n dateFormat: SanitizedConfig['admin']['dateFormat']\n fallback?: object | string\n globalConfig?: ClientGlobalConfig\n i18n: I18n<any, any>\n}): string => {\n let title: string\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n\n if (useAsTitle) {\n title = data?.[useAsTitle] as string\n\n if (title) {\n const fieldConfig = collectionConfig.fields.find(\n (f) => 'name' in f && f.name === useAsTitle,\n )\n\n const isDate = fieldConfig?.type === 'date'\n\n if (isDate) {\n const dateFormat =\n ('date' in fieldConfig.admin && fieldConfig?.admin?.date?.displayFormat) ||\n dateFormatFromConfig\n\n title = formatDate({ date: title, i18n, pattern: dateFormat }) || title\n }\n }\n }\n }\n\n if (globalConfig) {\n title = getTranslation(globalConfig?.label, i18n) || globalConfig?.slug\n }\n\n // richtext lexical case. We convert the first child of root to plain text\n if (title && isSerializedLexicalEditor(title)) {\n title = formatLexicalDocTitle(title.root.children?.[0]?.children || [], '')\n }\n\n if (!title && isSerializedLexicalEditor(fallback)) {\n title = formatLexicalDocTitle(fallback.root.children?.[0]?.children || [], '')\n }\n\n if (!title) {\n title = typeof fallback === 'string' ? fallback : `[${i18n.t('general:untitled')}]`\n }\n\n return title\n}\n"],"mappings":"AAQA,SAASA,cAAc,QAAQ;AAE/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,qBAAqB,EAAEC,yBAAyB,QAAQ;AAEjE,OAAO,MAAMC,cAAA,GAAiBA,CAAC;EAC7BC,gBAAgB;EAChBC,IAAI;EACJC,UAAA,EAAYC,oBAAoB;EAChCC,QAAQ;EACRC,YAAY;EACZC;AAAI,CAQL;EACC,IAAIC,KAAA;EAEJ,IAAIP,gBAAA,EAAkB;IACpB,MAAMQ,UAAA,GAAaR,gBAAA,EAAkBS,KAAA,EAAOD,UAAA;IAE5C,IAAIA,UAAA,EAAY;MACdD,KAAA,GAAQN,IAAA,GAAOO,UAAA,CAAW;MAE1B,IAAID,KAAA,EAAO;QACT,MAAMG,WAAA,GAAcV,gBAAA,CAAiBW,MAAM,CAACC,IAAI,CAC7CC,CAAA,IAAM,UAAUA,CAAA,IAAKA,CAAA,CAAEC,IAAI,KAAKN,UAAA;QAGnC,MAAMO,MAAA,GAASL,WAAA,EAAaM,IAAA,KAAS;QAErC,IAAID,MAAA,EAAQ;UACV,MAAMb,UAAA,GACJ,MAAC,IAAUQ,WAAA,CAAYD,KAAK,IAAIC,WAAA,EAAaD,KAAA,EAAOQ,IAAA,EAAMC,aAAA,IAC1Df,oBAAA;UAEFI,KAAA,GAAQX,UAAA,CAAW;YAAEqB,IAAA,EAAMV,KAAA;YAAOD,IAAA;YAAMa,OAAA,EAASjB;UAAW,MAAMK,KAAA;QACpE;MACF;IACF;EACF;EAEA,IAAIF,YAAA,EAAc;IAChBE,KAAA,GAAQZ,cAAA,CAAeU,YAAA,EAAce,KAAA,EAAOd,IAAA,KAASD,YAAA,EAAcgB,IAAA;EACrE;EAEA;EACA,IAAId,KAAA,IAAST,yBAAA,CAA0BS,KAAA,GAAQ;IAC7CA,KAAA,GAAQV,qBAAA,CAAsBU,KAAA,CAAMe,IAAI,CAACC,QAAQ,GAAG,EAAE,EAAEA,QAAA,IAAY,EAAE,EAAE;EAC1E;EAEA,IAAI,CAAChB,KAAA,IAAST,yBAAA,CAA0BM,QAAA,GAAW;IACjDG,KAAA,GAAQV,qBAAA,CAAsBO,QAAA,CAASkB,IAAI,CAACC,QAAQ,GAAG,EAAE,EAAEA,QAAA,IAAY,EAAE,EAAE;EAC7E;EAEA,IAAI,CAAChB,KAAA,EAAO;IACVA,KAAA,GAAQ,OAAOH,QAAA,KAAa,WAAWA,QAAA,GAAW,IAAIE,IAAA,CAAKkB,CAAC,CAAC,sBAAsB;EACrF;EAEA,OAAOjB,KAAA;AACT","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "3.47.0-canary.3",
3
+ "version": "3.47.0-internal.b17506e",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -136,7 +136,7 @@
136
136
  "ts-essentials": "10.0.3",
137
137
  "use-context-selector": "2.0.0",
138
138
  "uuid": "10.0.0",
139
- "@payloadcms/translations": "3.47.0-canary.3"
139
+ "@payloadcms/translations": "3.47.0-internal.b17506e"
140
140
  },
141
141
  "devDependencies": {
142
142
  "@babel/cli": "7.27.2",
@@ -152,13 +152,13 @@
152
152
  "esbuild": "0.25.5",
153
153
  "esbuild-sass-plugin": "3.3.1",
154
154
  "@payloadcms/eslint-config": "3.28.0",
155
- "payload": "3.47.0-canary.3"
155
+ "payload": "3.47.0-internal.b17506e"
156
156
  },
157
157
  "peerDependencies": {
158
158
  "next": "^15.2.3",
159
159
  "react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
160
160
  "react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
161
- "payload": "3.47.0-canary.3"
161
+ "payload": "3.47.0-internal.b17506e"
162
162
  },
163
163
  "engines": {
164
164
  "node": "^18.20.2 || >=20.9.0"
@@ -1,5 +0,0 @@
1
- export declare const ClipboardActionLabel: ({ isPaste, isRow, }: {
2
- isPaste?: boolean;
3
- isRow?: boolean;
4
- }) => import("react").JSX.Element;
5
- //# sourceMappingURL=ClipboardActionLabel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClipboardActionLabel.d.ts","sourceRoot":"","sources":["../../../src/elements/ClipboardAction/ClipboardActionLabel.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB,wBAG9B;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,gCAiBA,CAAA"}
@@ -1,44 +0,0 @@
1
- 'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { Fragment } from 'react';
6
- import { CopyIcon } from '../../icons/Copy/index.js';
7
- import { EditIcon } from '../../icons/Edit/index.js';
8
- import { useTranslation } from '../../providers/Translation/index.js';
9
- export const ClipboardActionLabel = t0 => {
10
- const $ = _c(4);
11
- const {
12
- isPaste,
13
- isRow
14
- } = t0;
15
- const {
16
- t
17
- } = useTranslation();
18
- let t1;
19
- if ($[0] !== isPaste || $[1] !== isRow || $[2] !== t) {
20
- let label = t("general:copyField");
21
- if (!isRow && isPaste) {
22
- label = t("general:pasteField");
23
- } else {
24
- if (isRow && !isPaste) {
25
- label = t("general:copyRow");
26
- } else {
27
- if (isRow && isPaste) {
28
- label = t("general:pasteRow");
29
- }
30
- }
31
- }
32
- t1 = _jsxs(Fragment, {
33
- children: [isPaste ? _jsx(EditIcon, {}) : _jsx(CopyIcon, {}), " ", label]
34
- });
35
- $[0] = isPaste;
36
- $[1] = isRow;
37
- $[2] = t;
38
- $[3] = t1;
39
- } else {
40
- t1 = $[3];
41
- }
42
- return t1;
43
- };
44
- //# sourceMappingURL=ClipboardActionLabel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClipboardActionLabel.js","names":["c","_c","Fragment","CopyIcon","EditIcon","useTranslation","ClipboardActionLabel","t0","$","isPaste","isRow","t","t1","label","_jsxs","children","_jsx"],"sources":["../../../src/elements/ClipboardAction/ClipboardActionLabel.tsx"],"sourcesContent":["'use client'\n\nimport { Fragment } from 'react'\n\nimport { CopyIcon } from '../../icons/Copy/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nexport const ClipboardActionLabel = ({\n isPaste,\n isRow,\n}: {\n isPaste?: boolean\n isRow?: boolean\n}) => {\n const { t } = useTranslation()\n\n let label = t('general:copyField')\n if (!isRow && isPaste) {\n label = t('general:pasteField')\n } else if (isRow && !isPaste) {\n label = t('general:copyRow')\n } else if (isRow && isPaste) {\n label = t('general:pasteRow')\n }\n\n return (\n <Fragment>\n {isPaste ? <EditIcon /> : <CopyIcon />} {label}\n </Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,QAAQ,QAAQ;AAEzB,SAASC,QAAQ,QAAQ;AACzB,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,oBAAA,GAAuBC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ,OAAA;IAAAC;EAAA,IAAAH,EAMpC;EACC;IAAAI;EAAA,IAAcN,cAAA;EAAA,IAAAO,EAAA;EAAA,IAAAJ,CAAA,QAAAC,OAAA,IAAAD,CAAA,QAAAE,KAAA,IAAAF,CAAA,QAAAG,CAAA;IAEd,IAAAE,KAAA,GAAYF,CAAA,CAAE;IAAA,IACV,CAACD,KAAA,IAASD,OAAA;MACZI,KAAA,CAAAA,CAAA,CAAQF,CAAA,CAAE;IAAV;MAAA,IACSD,KAAA,KAAUD,OAAA;QACnBI,KAAA,CAAAA,CAAA,CAAQF,CAAA,CAAE;MAAV;QAAA,IACSD,KAAA,IAASD,OAAA;UAClBI,KAAA,CAAAA,CAAA,CAAQF,CAAA,CAAE;QAAV;MAAA;IAAA;IAIAC,EAAA,GAAAE,KAAA,CAAAZ,QAAA;MAAAa,QAAA,GACGN,OAAA,GAAUO,IAAA,CAAAZ,QAAA,IAAC,IAAcY,IAAA,CAAAb,QAAA,IAAC,GAAY,KAAEU,KAAA;IAAA,C;;;;;;;;SAD3CD,E;CAIJ","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- import type { ClipboardCopyActionArgs, ClipboardPasteActionArgs } from './types.js';
2
- /**
3
- * @note This function doesn't use the Clipboard API, but localStorage. See rationale in #11513
4
- */
5
- export declare function clipboardCopy(args: ClipboardCopyActionArgs): string | true;
6
- /**
7
- * @note This function doesn't use the Clipboard API, but localStorage. See rationale in #11513
8
- */
9
- export declare function clipboardPaste({ onPaste, path: fieldPath, t, ...args }: ClipboardPasteActionArgs): string | true;
10
- //# sourceMappingURL=clipboardUtilities.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clipboardUtilities.d.ts","sourceRoot":"","sources":["../../../src/elements/ClipboardAction/clipboardUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EAGzB,MAAM,YAAY,CAAA;AAMnB;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM,GAAG,IAAI,CAc1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,IAAI,EAAE,SAAS,EACf,CAAC,EACD,GAAG,IAAI,EACR,EAAE,wBAAwB,GAAG,MAAM,GAAG,IAAI,CA4B1C"}
@@ -1,53 +0,0 @@
1
- import { isClipboardDataValid } from './isClipboardDataValid.js';
2
- const localStorageClipboardKey = '_payloadClipboard';
3
- /**
4
- * @note This function doesn't use the Clipboard API, but localStorage. See rationale in #11513
5
- */
6
- export function clipboardCopy(args) {
7
- const {
8
- getDataToCopy,
9
- t,
10
- ...rest
11
- } = args;
12
- const dataToWrite = {
13
- data: getDataToCopy(),
14
- ...rest
15
- };
16
- try {
17
- localStorage.setItem(localStorageClipboardKey, JSON.stringify(dataToWrite));
18
- return true;
19
- } catch (_err) {
20
- return t('error:unableToCopy');
21
- }
22
- }
23
- /**
24
- * @note This function doesn't use the Clipboard API, but localStorage. See rationale in #11513
25
- */
26
- export function clipboardPaste({
27
- onPaste,
28
- path: fieldPath,
29
- t,
30
- ...args
31
- }) {
32
- let dataToPaste;
33
- try {
34
- const jsonFromClipboard = localStorage.getItem(localStorageClipboardKey);
35
- if (!jsonFromClipboard) {
36
- return t('error:invalidClipboardData');
37
- }
38
- dataToPaste = JSON.parse(jsonFromClipboard);
39
- } catch (_err) {
40
- return t('error:invalidClipboardData');
41
- }
42
- const dataToValidate = {
43
- ...dataToPaste,
44
- ...args,
45
- fieldPath
46
- };
47
- if (!isClipboardDataValid(dataToValidate)) {
48
- return t('error:invalidClipboardData');
49
- }
50
- onPaste(dataToPaste);
51
- return true;
52
- }
53
- //# sourceMappingURL=clipboardUtilities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clipboardUtilities.js","names":["isClipboardDataValid","localStorageClipboardKey","clipboardCopy","args","getDataToCopy","t","rest","dataToWrite","data","localStorage","setItem","JSON","stringify","_err","clipboardPaste","onPaste","path","fieldPath","dataToPaste","jsonFromClipboard","getItem","parse","dataToValidate"],"sources":["../../../src/elements/ClipboardAction/clipboardUtilities.ts"],"sourcesContent":["import type {\n ClipboardCopyActionArgs,\n ClipboardPasteActionArgs,\n ClipboardPasteActionValidateArgs,\n ClipboardPasteData,\n} from './types.js'\n\nimport { isClipboardDataValid } from './isClipboardDataValid.js'\n\nconst localStorageClipboardKey = '_payloadClipboard'\n\n/**\n * @note This function doesn't use the Clipboard API, but localStorage. See rationale in #11513\n */\nexport function clipboardCopy(args: ClipboardCopyActionArgs): string | true {\n const { getDataToCopy, t, ...rest } = args\n\n const dataToWrite = {\n data: getDataToCopy(),\n ...rest,\n }\n\n try {\n localStorage.setItem(localStorageClipboardKey, JSON.stringify(dataToWrite))\n return true\n } catch (_err) {\n return t('error:unableToCopy')\n }\n}\n\n/**\n * @note This function doesn't use the Clipboard API, but localStorage. See rationale in #11513\n */\nexport function clipboardPaste({\n onPaste,\n path: fieldPath,\n t,\n ...args\n}: ClipboardPasteActionArgs): string | true {\n let dataToPaste: ClipboardPasteData\n\n try {\n const jsonFromClipboard = localStorage.getItem(localStorageClipboardKey)\n\n if (!jsonFromClipboard) {\n return t('error:invalidClipboardData')\n }\n\n dataToPaste = JSON.parse(jsonFromClipboard)\n } catch (_err) {\n return t('error:invalidClipboardData')\n }\n\n const dataToValidate = {\n ...dataToPaste,\n ...args,\n fieldPath,\n } as ClipboardPasteActionValidateArgs\n\n if (!isClipboardDataValid(dataToValidate)) {\n return t('error:invalidClipboardData')\n }\n\n onPaste(dataToPaste)\n\n return true\n}\n"],"mappings":"AAOA,SAASA,oBAAoB,QAAQ;AAErC,MAAMC,wBAAA,GAA2B;AAEjC;;;AAGA,OAAO,SAASC,cAAcC,IAA6B;EACzD,MAAM;IAAEC,aAAa;IAAEC,CAAC;IAAE,GAAGC;EAAA,CAAM,GAAGH,IAAA;EAEtC,MAAMI,WAAA,GAAc;IAClBC,IAAA,EAAMJ,aAAA;IACN,GAAGE;EACL;EAEA,IAAI;IACFG,YAAA,CAAaC,OAAO,CAACT,wBAAA,EAA0BU,IAAA,CAAKC,SAAS,CAACL,WAAA;IAC9D,OAAO;EACT,EAAE,OAAOM,IAAA,EAAM;IACb,OAAOR,CAAA,CAAE;EACX;AACF;AAEA;;;AAGA,OAAO,SAASS,eAAe;EAC7BC,OAAO;EACPC,IAAA,EAAMC,SAAS;EACfZ,CAAC;EACD,GAAGF;AAAA,CACsB;EACzB,IAAIe,WAAA;EAEJ,IAAI;IACF,MAAMC,iBAAA,GAAoBV,YAAA,CAAaW,OAAO,CAACnB,wBAAA;IAE/C,IAAI,CAACkB,iBAAA,EAAmB;MACtB,OAAOd,CAAA,CAAE;IACX;IAEAa,WAAA,GAAcP,IAAA,CAAKU,KAAK,CAACF,iBAAA;EAC3B,EAAE,OAAON,IAAA,EAAM;IACb,OAAOR,CAAA,CAAE;EACX;EAEA,MAAMiB,cAAA,GAAiB;IACrB,GAAGJ,WAAW;IACd,GAAGf,IAAI;IACPc;EACF;EAEA,IAAI,CAACjB,oBAAA,CAAqBsB,cAAA,GAAiB;IACzC,OAAOjB,CAAA,CAAE;EACX;EAEAU,OAAA,CAAQG,WAAA;EAER,OAAO;AACT","ignoreList":[]}
@@ -1,20 +0,0 @@
1
- import type { FormStateWithoutComponents } from 'payload';
2
- import { type FC } from 'react';
3
- import type { ClipboardCopyData, OnPasteFn } from './types.js';
4
- type Props = {
5
- className?: string;
6
- copyClassName?: string;
7
- disableCopy?: boolean;
8
- disablePaste?: boolean;
9
- getDataToCopy: () => FormStateWithoutComponents;
10
- isRow?: boolean;
11
- onPaste: OnPasteFn;
12
- pasteClassName?: string;
13
- } & ClipboardCopyData;
14
- /**
15
- * Menu actions for copying and pasting fields. Currently, this is only used in Arrays and Blocks.
16
- * @note This component doesn't use the Clipboard API, but localStorage. See rationale in #11513
17
- */
18
- export declare const ClipboardAction: FC<Props>;
19
- export {};
20
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ClipboardAction/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEzD,OAAO,EAAE,KAAK,EAAE,EAAe,MAAM,OAAO,CAAA;AAG5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAU9D,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,EAAE,MAAM,0BAA0B,CAAA;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,SAAS,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GAAG,iBAAiB,CAAA;AAErB;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,KAAK,CAoFrC,CAAA"}
@@ -1,188 +0,0 @@
1
- 'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { useCallback } from 'react';
6
- import { toast } from 'sonner';
7
- import { MoreIcon } from '../../icons/More/index.js';
8
- import { useTranslation } from '../../providers/Translation/index.js';
9
- import { Popup, PopupList } from '../Popup/index.js';
10
- import { ClipboardActionLabel } from './ClipboardActionLabel.js';
11
- import { clipboardCopy, clipboardPaste } from './clipboardUtilities.js';
12
- const baseClass = 'clipboard-action';
13
- /**
14
- * Menu actions for copying and pasting fields. Currently, this is only used in Arrays and Blocks.
15
- * @note This component doesn't use the Clipboard API, but localStorage. See rationale in #11513
16
- */
17
- export const ClipboardAction = t0 => {
18
- const $ = _c(38);
19
- let className;
20
- let copyClassName;
21
- let disableCopy;
22
- let disablePaste;
23
- let isRow;
24
- let onPaste;
25
- let pasteClassName;
26
- let path;
27
- let rest;
28
- if ($[0] !== t0) {
29
- ({
30
- className,
31
- copyClassName,
32
- disableCopy,
33
- disablePaste,
34
- isRow,
35
- onPaste,
36
- pasteClassName,
37
- path,
38
- ...rest
39
- } = t0);
40
- $[0] = t0;
41
- $[1] = className;
42
- $[2] = copyClassName;
43
- $[3] = disableCopy;
44
- $[4] = disablePaste;
45
- $[5] = isRow;
46
- $[6] = onPaste;
47
- $[7] = pasteClassName;
48
- $[8] = path;
49
- $[9] = rest;
50
- } else {
51
- className = $[1];
52
- copyClassName = $[2];
53
- disableCopy = $[3];
54
- disablePaste = $[4];
55
- isRow = $[5];
56
- onPaste = $[6];
57
- pasteClassName = $[7];
58
- path = $[8];
59
- rest = $[9];
60
- }
61
- const {
62
- t
63
- } = useTranslation();
64
- let t1;
65
- if ($[10] !== className) {
66
- t1 = [`${baseClass}__popup`, className].filter(Boolean);
67
- $[10] = className;
68
- $[11] = t1;
69
- } else {
70
- t1 = $[11];
71
- }
72
- const classes = t1.join(" ");
73
- let t2;
74
- if ($[12] !== path || $[13] !== rest || $[14] !== t) {
75
- t2 = () => {
76
- const clipboardResult = clipboardCopy({
77
- path,
78
- t,
79
- ...rest
80
- });
81
- if (typeof clipboardResult === "string") {
82
- toast.error(clipboardResult);
83
- } else {
84
- toast.success(t("general:copied"));
85
- }
86
- };
87
- $[12] = path;
88
- $[13] = rest;
89
- $[14] = t;
90
- $[15] = t2;
91
- } else {
92
- t2 = $[15];
93
- }
94
- const handleCopy = t2;
95
- let t3;
96
- if ($[16] !== onPaste || $[17] !== path || $[18] !== rest || $[19] !== t) {
97
- t3 = () => {
98
- const clipboardResult_0 = clipboardPaste(rest.type === "array" ? {
99
- onPaste,
100
- path,
101
- schemaFields: rest.fields,
102
- t
103
- } : {
104
- onPaste,
105
- path,
106
- schemaBlocks: rest.blocks,
107
- t
108
- });
109
- if (typeof clipboardResult_0 === "string") {
110
- toast.error(clipboardResult_0);
111
- }
112
- };
113
- $[16] = onPaste;
114
- $[17] = path;
115
- $[18] = rest;
116
- $[19] = t;
117
- $[20] = t3;
118
- } else {
119
- t3 = $[20];
120
- }
121
- const handlePaste = t3;
122
- let t4;
123
- if ($[21] !== classes || $[22] !== copyClassName || $[23] !== disableCopy || $[24] !== disablePaste || $[25] !== handleCopy || $[26] !== handlePaste || $[27] !== isRow || $[28] !== pasteClassName) {
124
- let t5;
125
- if ($[30] !== copyClassName || $[31] !== disableCopy || $[32] !== disablePaste || $[33] !== handleCopy || $[34] !== handlePaste || $[35] !== isRow || $[36] !== pasteClassName) {
126
- t5 = t6 => {
127
- const {
128
- close
129
- } = t6;
130
- return _jsxs(PopupList.ButtonGroup, {
131
- children: [_jsx(PopupList.Button, {
132
- className: copyClassName,
133
- disabled: disableCopy,
134
- onClick: () => {
135
- handleCopy();
136
- close();
137
- },
138
- children: _jsx(ClipboardActionLabel, {
139
- isRow
140
- })
141
- }), _jsx(PopupList.Button, {
142
- className: pasteClassName,
143
- disabled: disablePaste,
144
- onClick: () => {
145
- handlePaste();
146
- close();
147
- },
148
- children: _jsx(ClipboardActionLabel, {
149
- isPaste: true,
150
- isRow
151
- })
152
- })]
153
- });
154
- };
155
- $[30] = copyClassName;
156
- $[31] = disableCopy;
157
- $[32] = disablePaste;
158
- $[33] = handleCopy;
159
- $[34] = handlePaste;
160
- $[35] = isRow;
161
- $[36] = pasteClassName;
162
- $[37] = t5;
163
- } else {
164
- t5 = $[37];
165
- }
166
- t4 = _jsx(Popup, {
167
- button: _jsx(MoreIcon, {}),
168
- className: classes,
169
- horizontalAlign: "center",
170
- render: t5,
171
- size: "large",
172
- verticalAlign: "bottom"
173
- });
174
- $[21] = classes;
175
- $[22] = copyClassName;
176
- $[23] = disableCopy;
177
- $[24] = disablePaste;
178
- $[25] = handleCopy;
179
- $[26] = handlePaste;
180
- $[27] = isRow;
181
- $[28] = pasteClassName;
182
- $[29] = t4;
183
- } else {
184
- t4 = $[29];
185
- }
186
- return t4;
187
- };
188
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useCallback","toast","MoreIcon","useTranslation","Popup","PopupList","ClipboardActionLabel","clipboardCopy","clipboardPaste","baseClass","ClipboardAction","t0","$","className","copyClassName","disableCopy","disablePaste","isRow","onPaste","pasteClassName","path","rest","t","t1","filter","Boolean","classes","join","t2","clipboardResult","error","success","handleCopy","t3","clipboardResult_0","type","schemaFields","fields","schemaBlocks","blocks","handlePaste","t4","t5","t6","close","_jsxs","ButtonGroup","children","_jsx","Button","disabled","onClick","isPaste","button","horizontalAlign","render","verticalAlign"],"sources":["../../../src/elements/ClipboardAction/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormStateWithoutComponents } from 'payload'\n\nimport { type FC, useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { ClipboardCopyData, OnPasteFn } from './types.js'\n\nimport { MoreIcon } from '../../icons/More/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { ClipboardActionLabel } from './ClipboardActionLabel.js'\nimport { clipboardCopy, clipboardPaste } from './clipboardUtilities.js'\n\nconst baseClass = 'clipboard-action'\n\ntype Props = {\n className?: string\n copyClassName?: string\n disableCopy?: boolean\n disablePaste?: boolean\n getDataToCopy: () => FormStateWithoutComponents\n isRow?: boolean\n onPaste: OnPasteFn\n pasteClassName?: string\n} & ClipboardCopyData\n\n/**\n * Menu actions for copying and pasting fields. Currently, this is only used in Arrays and Blocks.\n * @note This component doesn't use the Clipboard API, but localStorage. See rationale in #11513\n */\nexport const ClipboardAction: FC<Props> = ({\n className,\n copyClassName,\n disableCopy,\n disablePaste,\n isRow,\n onPaste,\n pasteClassName,\n path,\n ...rest\n}) => {\n const { t } = useTranslation()\n\n const classes = [`${baseClass}__popup`, className].filter(Boolean).join(' ')\n\n const handleCopy = useCallback(() => {\n const clipboardResult = clipboardCopy({\n path,\n t,\n ...rest,\n })\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n } else {\n toast.success(t('general:copied'))\n }\n }, [t, rest, path])\n\n const handlePaste = useCallback(() => {\n const clipboardResult = clipboardPaste(\n rest.type === 'array'\n ? {\n onPaste,\n path,\n schemaFields: rest.fields,\n t,\n }\n : {\n onPaste,\n path,\n schemaBlocks: rest.blocks,\n t,\n },\n )\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n }, [onPaste, rest, path, t])\n\n return (\n <Popup\n button={<MoreIcon />}\n className={classes}\n horizontalAlign=\"center\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n <PopupList.Button\n className={copyClassName}\n disabled={disableCopy}\n onClick={() => {\n void handleCopy()\n close()\n }}\n >\n <ClipboardActionLabel isRow={isRow} />\n </PopupList.Button>\n <PopupList.Button\n className={pasteClassName}\n disabled={disablePaste}\n onClick={() => {\n void handlePaste()\n close()\n }}\n >\n <ClipboardActionLabel isPaste isRow={isRow} />\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n size=\"large\"\n verticalAlign=\"bottom\"\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- import type { ClipboardPasteActionValidateArgs } from './types.js';
2
- /**
3
- * Validates whether clipboard data is compatible with the target schema.
4
- * For this to be true, the copied field and the target to be pasted must
5
- * be structurally equivalent (same schema)
6
- *
7
- * @returns True if the clipboard data is valid and can be pasted, false otherwise
8
- */
9
- export declare function isClipboardDataValid({ data, path, ...args }: ClipboardPasteActionValidateArgs): boolean;
10
- //# sourceMappingURL=isClipboardDataValid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isClipboardDataValid.d.ts","sourceRoot":"","sources":["../../../src/elements/ClipboardAction/isClipboardDataValid.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAA;AAElE;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,gCAAgC,WAgB7F"}
@@ -1,86 +0,0 @@
1
- import { fieldAffectsData, fieldHasSubFields } from 'payload/shared';
2
- /**
3
- * Validates whether clipboard data is compatible with the target schema.
4
- * For this to be true, the copied field and the target to be pasted must
5
- * be structurally equivalent (same schema)
6
- *
7
- * @returns True if the clipboard data is valid and can be pasted, false otherwise
8
- */
9
- export function isClipboardDataValid({
10
- data,
11
- path,
12
- ...args
13
- }) {
14
- if (typeof data === 'undefined' || !path || !args.type) {
15
- return false;
16
- }
17
- if (args.type === 'blocks') {
18
- return isClipboardBlocksValid({
19
- blocksFromClipboard: args.blocks,
20
- blocksFromConfig: args.schemaBlocks
21
- });
22
- } else {
23
- return isClipboardFieldsValid({
24
- fieldsFromClipboard: args.fields,
25
- fieldsFromConfig: args.schemaFields
26
- });
27
- }
28
- }
29
- function isClipboardFieldsValid({
30
- fieldsFromClipboard,
31
- fieldsFromConfig
32
- }) {
33
- if (!fieldsFromConfig || fieldsFromClipboard.length !== fieldsFromConfig?.length) {
34
- return false;
35
- }
36
- return fieldsFromClipboard.every((clipboardField, i) => {
37
- const configField = fieldsFromConfig[i];
38
- if (clipboardField.type !== configField.type) {
39
- return false;
40
- }
41
- const affectsData = fieldAffectsData(clipboardField) && fieldAffectsData(configField);
42
- if (affectsData && clipboardField.name !== configField.name) {
43
- return false;
44
- }
45
- const hasNestedFieldsConfig = fieldHasSubFields(configField);
46
- const hasNestedFieldsClipboard = fieldHasSubFields(clipboardField);
47
- if (hasNestedFieldsClipboard !== hasNestedFieldsConfig) {
48
- return false;
49
- }
50
- if (hasNestedFieldsClipboard && hasNestedFieldsConfig) {
51
- return isClipboardFieldsValid({
52
- fieldsFromClipboard: clipboardField.fields,
53
- fieldsFromConfig: configField.fields
54
- });
55
- }
56
- return true;
57
- });
58
- }
59
- function isClipboardBlocksValid({
60
- blocksFromClipboard,
61
- blocksFromConfig
62
- }) {
63
- const configBlockMap = new Map(blocksFromConfig?.map(block => [block.slug, block]));
64
- if (!configBlockMap.size) {
65
- return false;
66
- }
67
- const checkedSlugs = new Set();
68
- for (const currBlock of blocksFromClipboard) {
69
- const currSlug = currBlock.slug;
70
- if (!checkedSlugs.has(currSlug)) {
71
- const configBlock = configBlockMap.get(currSlug);
72
- if (!configBlock) {
73
- return false;
74
- }
75
- if (!isClipboardFieldsValid({
76
- fieldsFromClipboard: currBlock.fields,
77
- fieldsFromConfig: configBlock.fields
78
- })) {
79
- return false;
80
- }
81
- checkedSlugs.add(currSlug);
82
- }
83
- }
84
- return true;
85
- }
86
- //# sourceMappingURL=isClipboardDataValid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isClipboardDataValid.js","names":["fieldAffectsData","fieldHasSubFields","isClipboardDataValid","data","path","args","type","isClipboardBlocksValid","blocksFromClipboard","blocks","blocksFromConfig","schemaBlocks","isClipboardFieldsValid","fieldsFromClipboard","fields","fieldsFromConfig","schemaFields","length","every","clipboardField","i","configField","affectsData","name","hasNestedFieldsConfig","hasNestedFieldsClipboard","configBlockMap","Map","map","block","slug","size","checkedSlugs","Set","currBlock","currSlug","has","configBlock","get","add"],"sources":["../../../src/elements/ClipboardAction/isClipboardDataValid.ts"],"sourcesContent":["import type { ClientBlock, ClientField } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields } from 'payload/shared'\n\nimport type { ClipboardPasteActionValidateArgs } from './types.js'\n\n/**\n * Validates whether clipboard data is compatible with the target schema.\n * For this to be true, the copied field and the target to be pasted must\n * be structurally equivalent (same schema)\n *\n * @returns True if the clipboard data is valid and can be pasted, false otherwise\n */\nexport function isClipboardDataValid({ data, path, ...args }: ClipboardPasteActionValidateArgs) {\n if (typeof data === 'undefined' || !path || !args.type) {\n return false\n }\n\n if (args.type === 'blocks') {\n return isClipboardBlocksValid({\n blocksFromClipboard: args.blocks,\n blocksFromConfig: args.schemaBlocks,\n })\n } else {\n return isClipboardFieldsValid({\n fieldsFromClipboard: args.fields,\n fieldsFromConfig: args.schemaFields,\n })\n }\n}\n\nfunction isClipboardFieldsValid({\n fieldsFromClipboard,\n fieldsFromConfig,\n}: {\n fieldsFromClipboard: ClientField[]\n fieldsFromConfig?: ClientField[]\n}): boolean {\n if (!fieldsFromConfig || fieldsFromClipboard.length !== fieldsFromConfig?.length) {\n return false\n }\n\n return fieldsFromClipboard.every((clipboardField, i) => {\n const configField = fieldsFromConfig[i]\n\n if (clipboardField.type !== configField.type) {\n return false\n }\n\n const affectsData = fieldAffectsData(clipboardField) && fieldAffectsData(configField)\n if (affectsData && clipboardField.name !== configField.name) {\n return false\n }\n\n const hasNestedFieldsConfig = fieldHasSubFields(configField)\n const hasNestedFieldsClipboard = fieldHasSubFields(clipboardField)\n if (hasNestedFieldsClipboard !== hasNestedFieldsConfig) {\n return false\n }\n\n if (hasNestedFieldsClipboard && hasNestedFieldsConfig) {\n return isClipboardFieldsValid({\n fieldsFromClipboard: clipboardField.fields,\n fieldsFromConfig: configField.fields,\n })\n }\n\n return true\n })\n}\n\nfunction isClipboardBlocksValid({\n blocksFromClipboard,\n blocksFromConfig,\n}: {\n blocksFromClipboard: ClientBlock[]\n blocksFromConfig?: ClientBlock[]\n}) {\n const configBlockMap = new Map(blocksFromConfig?.map((block) => [block.slug, block]))\n\n if (!configBlockMap.size) {\n return false\n }\n\n const checkedSlugs = new Set<string>()\n\n for (const currBlock of blocksFromClipboard) {\n const currSlug = currBlock.slug\n\n if (!checkedSlugs.has(currSlug)) {\n const configBlock = configBlockMap.get(currSlug)\n if (!configBlock) {\n return false\n }\n\n if (\n !isClipboardFieldsValid({\n fieldsFromClipboard: currBlock.fields,\n fieldsFromConfig: configBlock.fields,\n })\n ) {\n return false\n }\n\n checkedSlugs.add(currSlug)\n }\n }\n return true\n}\n"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,iBAAiB,QAAQ;AAIpD;;;;;;;AAOA,OAAO,SAASC,qBAAqB;EAAEC,IAAI;EAAEC,IAAI;EAAE,GAAGC;AAAA,CAAwC;EAC5F,IAAI,OAAOF,IAAA,KAAS,eAAe,CAACC,IAAA,IAAQ,CAACC,IAAA,CAAKC,IAAI,EAAE;IACtD,OAAO;EACT;EAEA,IAAID,IAAA,CAAKC,IAAI,KAAK,UAAU;IAC1B,OAAOC,sBAAA,CAAuB;MAC5BC,mBAAA,EAAqBH,IAAA,CAAKI,MAAM;MAChCC,gBAAA,EAAkBL,IAAA,CAAKM;IACzB;EACF,OAAO;IACL,OAAOC,sBAAA,CAAuB;MAC5BC,mBAAA,EAAqBR,IAAA,CAAKS,MAAM;MAChCC,gBAAA,EAAkBV,IAAA,CAAKW;IACzB;EACF;AACF;AAEA,SAASJ,uBAAuB;EAC9BC,mBAAmB;EACnBE;AAAgB,CAIjB;EACC,IAAI,CAACA,gBAAA,IAAoBF,mBAAA,CAAoBI,MAAM,KAAKF,gBAAA,EAAkBE,MAAA,EAAQ;IAChF,OAAO;EACT;EAEA,OAAOJ,mBAAA,CAAoBK,KAAK,CAAC,CAACC,cAAA,EAAgBC,CAAA;IAChD,MAAMC,WAAA,GAAcN,gBAAgB,CAACK,CAAA,CAAE;IAEvC,IAAID,cAAA,CAAeb,IAAI,KAAKe,WAAA,CAAYf,IAAI,EAAE;MAC5C,OAAO;IACT;IAEA,MAAMgB,WAAA,GAActB,gBAAA,CAAiBmB,cAAA,KAAmBnB,gBAAA,CAAiBqB,WAAA;IACzE,IAAIC,WAAA,IAAeH,cAAA,CAAeI,IAAI,KAAKF,WAAA,CAAYE,IAAI,EAAE;MAC3D,OAAO;IACT;IAEA,MAAMC,qBAAA,GAAwBvB,iBAAA,CAAkBoB,WAAA;IAChD,MAAMI,wBAAA,GAA2BxB,iBAAA,CAAkBkB,cAAA;IACnD,IAAIM,wBAAA,KAA6BD,qBAAA,EAAuB;MACtD,OAAO;IACT;IAEA,IAAIC,wBAAA,IAA4BD,qBAAA,EAAuB;MACrD,OAAOZ,sBAAA,CAAuB;QAC5BC,mBAAA,EAAqBM,cAAA,CAAeL,MAAM;QAC1CC,gBAAA,EAAkBM,WAAA,CAAYP;MAChC;IACF;IAEA,OAAO;EACT;AACF;AAEA,SAASP,uBAAuB;EAC9BC,mBAAmB;EACnBE;AAAgB,CAIjB;EACC,MAAMgB,cAAA,GAAiB,IAAIC,GAAA,CAAIjB,gBAAA,EAAkBkB,GAAA,CAAKC,KAAA,IAAU,CAACA,KAAA,CAAMC,IAAI,EAAED,KAAA,CAAM;EAEnF,IAAI,CAACH,cAAA,CAAeK,IAAI,EAAE;IACxB,OAAO;EACT;EAEA,MAAMC,YAAA,GAAe,IAAIC,GAAA;EAEzB,KAAK,MAAMC,SAAA,IAAa1B,mBAAA,EAAqB;IAC3C,MAAM2B,QAAA,GAAWD,SAAA,CAAUJ,IAAI;IAE/B,IAAI,CAACE,YAAA,CAAaI,GAAG,CAACD,QAAA,GAAW;MAC/B,MAAME,WAAA,GAAcX,cAAA,CAAeY,GAAG,CAACH,QAAA;MACvC,IAAI,CAACE,WAAA,EAAa;QAChB,OAAO;MACT;MAEA,IACE,CAACzB,sBAAA,CAAuB;QACtBC,mBAAA,EAAqBqB,SAAA,CAAUpB,MAAM;QACrCC,gBAAA,EAAkBsB,WAAA,CAAYvB;MAChC,IACA;QACA,OAAO;MACT;MAEAkB,YAAA,CAAaO,GAAG,CAACJ,QAAA;IACnB;EACF;EACA,OAAO;AACT","ignoreList":[]}
@@ -1,14 +0,0 @@
1
- import type { FieldState, FormState } from 'payload';
2
- import type { ClipboardPasteData } from './types.js';
3
- export declare function reduceFormStateByPath({ formState, path, rowIndex, }: {
4
- formState: FormState;
5
- path: string;
6
- rowIndex?: number;
7
- }): Record<string, FieldState>;
8
- export declare function mergeFormStateFromClipboard({ dataFromClipboard: clipboardData, formState, path, rowIndex, }: {
9
- dataFromClipboard: ClipboardPasteData;
10
- formState: FormState;
11
- path: string;
12
- rowIndex?: number;
13
- }): FormState;
14
- //# sourceMappingURL=mergeFormStateFromClipboard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mergeFormStateFromClipboard.d.ts","sourceRoot":"","sources":["../../../src/elements/ClipboardAction/mergeFormStateFromClipboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,8BAyBA;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,iBAAiB,EAAE,aAAa,EAChC,SAAS,EACT,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,iBAAiB,EAAE,kBAAkB,CAAA;IACrC,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,aAiFA"}