@wix/patterns-cms 1.16.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/cjs/adapter/__tests__/cmsFieldActions.spec.js +59 -27
  2. package/dist/cjs/adapter/__tests__/cmsFieldActions.spec.js.map +1 -1
  3. package/dist/cjs/adapter/__tests__/useCmsSchemaSource.spec.js +34 -2
  4. package/dist/cjs/adapter/__tests__/useCmsSchemaSource.spec.js.map +1 -1
  5. package/dist/cjs/adapter/createCmsFieldActions.js +35 -3
  6. package/dist/cjs/adapter/createCmsFieldActions.js.map +1 -1
  7. package/dist/cjs/adapter/fieldSettings/CmsFieldSettings.js +359 -0
  8. package/dist/cjs/adapter/fieldSettings/CmsFieldSettings.js.map +1 -0
  9. package/dist/cjs/adapter/fieldSettings/CmsFieldSettingsState.js +144 -0
  10. package/dist/cjs/adapter/fieldSettings/CmsFieldSettingsState.js.map +1 -0
  11. package/dist/cjs/adapter/fieldSettings/createCmsFieldSettings.js +29 -0
  12. package/dist/cjs/adapter/fieldSettings/createCmsFieldSettings.js.map +1 -0
  13. package/dist/cjs/adapter/useCmsSchemaSource.js +70 -56
  14. package/dist/cjs/adapter/useCmsSchemaSource.js.map +1 -1
  15. package/dist/esm/adapter/__tests__/cmsFieldActions.spec.js +50 -23
  16. package/dist/esm/adapter/__tests__/cmsFieldActions.spec.js.map +1 -1
  17. package/dist/esm/adapter/__tests__/useCmsSchemaSource.spec.js +24 -2
  18. package/dist/esm/adapter/__tests__/useCmsSchemaSource.spec.js.map +1 -1
  19. package/dist/esm/adapter/createCmsFieldActions.js +28 -3
  20. package/dist/esm/adapter/createCmsFieldActions.js.map +1 -1
  21. package/dist/esm/adapter/fieldSettings/CmsFieldSettings.js +45 -0
  22. package/dist/esm/adapter/fieldSettings/CmsFieldSettings.js.map +1 -0
  23. package/dist/esm/adapter/fieldSettings/CmsFieldSettingsState.js +136 -0
  24. package/dist/esm/adapter/fieldSettings/CmsFieldSettingsState.js.map +1 -0
  25. package/dist/esm/adapter/fieldSettings/createCmsFieldSettings.js +13 -0
  26. package/dist/esm/adapter/fieldSettings/createCmsFieldSettings.js.map +1 -0
  27. package/dist/esm/adapter/useCmsSchemaSource.js +71 -59
  28. package/dist/esm/adapter/useCmsSchemaSource.js.map +1 -1
  29. package/dist/types/adapter/createCmsFieldActions.d.ts.map +1 -1
  30. package/dist/types/adapter/fieldSettings/CmsFieldSettings.d.ts +12 -0
  31. package/dist/types/adapter/fieldSettings/CmsFieldSettings.d.ts.map +1 -0
  32. package/dist/types/adapter/fieldSettings/CmsFieldSettingsState.d.ts +53 -0
  33. package/dist/types/adapter/fieldSettings/CmsFieldSettingsState.d.ts.map +1 -0
  34. package/dist/types/adapter/fieldSettings/createCmsFieldSettings.d.ts +3 -0
  35. package/dist/types/adapter/fieldSettings/createCmsFieldSettings.d.ts.map +1 -0
  36. package/dist/types/adapter/useCmsSchemaSource.d.ts.map +1 -1
  37. package/package.json +9 -4
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_mobx","require","CHARACTERS_CEILING","exports","MAX_CHARACTERS_FLOOR","MIN_CHARACTERS_FLOOR","MIN_CHARACTERS_FLOOR_WHEN_REQUIRED","CHARACTERS_LIMIT_TYPES","VALUE_RANGE_TYPES","showsRequired","fieldType","Boolean","showsCharactersLimit","some","type","showsValueRange","clamp","value","min","max","undefined","Math","maxBelowMin","CmsFieldSettingsState","constructor","_defineProperty2","default","makeObservable","required","observable","ref","charactersLimit","minCharacters","maxCharacters","valueRange","minValue","maxValue","helpText","minCharactersFloor","computed","rangeError","valueRangeError","setRequired","action","bound","setCharactersLimit","setMinCharacters","setMaxCharacters","setValueRange","setMinValue","setMaxValue","setHelpText","normalizeMinCharacters","normalizeMaxCharacters","setValues","hasError","getValues","limit","range","characters","minLength","maxLength","values","field","_field$validation","_field$validation2","_field$validation3","validation","stringLengthRange","numberRange"],"sources":["../../../../src/adapter/fieldSettings/CmsFieldSettingsState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport type { Field, PatternsFieldType } from '@wix/patterns';\n\n/**\n * What the CMS settings section hands back to `createCmsFieldActions`. Cairo\n * carries it as an opaque value, so this shape is ours alone.\n */\nexport interface CmsFieldSettings {\n helpText: string;\n required: boolean;\n /** Absent ⇒ no character limit, or a type that can't have one. */\n characters?: { minLength?: number; maxLength?: number };\n /** Absent ⇒ no value range, or a type that can't have one. */\n values?: { min?: number; max?: number };\n}\n\n/** @wix/data rejects a character limit above this. */\nexport const CHARACTERS_CEILING = 256_000;\nexport const MAX_CHARACTERS_FLOOR = 1;\nconst MIN_CHARACTERS_FLOOR = 0;\n/** A required field has to hold at least one character. */\nconst MIN_CHARACTERS_FLOOR_WHEN_REQUIRED = 1;\n\n/** Only text fields carry a character limit — the only type `@wix/data` stores a\n * `stringLengthRange` for. */\nconst CHARACTERS_LIMIT_TYPES: PatternsFieldType[] = ['SHORT_TEXT'];\n\n/** Only number fields carry a value range — `@wix/data`'s `numberRange`. */\nconst VALUE_RANGE_TYPES: PatternsFieldType[] = ['NUMBER'];\n\nexport const showsRequired = (fieldType?: string) => Boolean(fieldType);\n\nexport const showsCharactersLimit = (fieldType?: string) =>\n CHARACTERS_LIMIT_TYPES.some((type) => type === fieldType);\n\nexport const showsValueRange = (fieldType?: string) =>\n VALUE_RANGE_TYPES.some((type) => type === fieldType);\n\nconst clamp = (value: number | undefined, min: number, max: number) =>\n value == null ? undefined : Math.min(Math.max(value, min), max);\n\nconst maxBelowMin = (min?: number, max?: number) =>\n min == null || max == null || min <= max\n ? undefined\n : 'Max has to be higher than min.';\n\nexport class CmsFieldSettingsState {\n required = false;\n charactersLimit = false;\n minCharacters: number | undefined = undefined;\n maxCharacters: number | undefined = undefined;\n valueRange = false;\n minValue: number | undefined = undefined;\n maxValue: number | undefined = undefined;\n helpText = '';\n\n constructor() {\n makeObservable(this, {\n required: observable.ref,\n charactersLimit: observable.ref,\n minCharacters: observable.ref,\n maxCharacters: observable.ref,\n valueRange: observable.ref,\n minValue: observable.ref,\n maxValue: observable.ref,\n helpText: observable.ref,\n minCharactersFloor: computed,\n rangeError: computed,\n valueRangeError: computed,\n setRequired: action.bound,\n setCharactersLimit: action.bound,\n setMinCharacters: action.bound,\n setMaxCharacters: action.bound,\n setValueRange: action.bound,\n setMinValue: action.bound,\n setMaxValue: action.bound,\n setHelpText: action.bound,\n normalizeMinCharacters: action.bound,\n normalizeMaxCharacters: action.bound,\n setValues: action.bound,\n });\n }\n\n get minCharactersFloor() {\n return this.required\n ? MIN_CHARACTERS_FLOOR_WHEN_REQUIRED\n : MIN_CHARACTERS_FLOOR;\n }\n\n get rangeError() {\n return maxBelowMin(this.minCharacters, this.maxCharacters);\n }\n\n get valueRangeError() {\n return maxBelowMin(this.minValue, this.maxValue);\n }\n\n setRequired(value: boolean) {\n this.required = value;\n this.normalizeMinCharacters();\n }\n\n setCharactersLimit(value: boolean) {\n this.charactersLimit = value;\n }\n\n setMinCharacters(value: number | undefined) {\n this.minCharacters = value;\n }\n\n setMaxCharacters(value: number | undefined) {\n this.maxCharacters = value;\n }\n\n setValueRange(value: boolean) {\n this.valueRange = value;\n }\n\n setMinValue(value: number | undefined) {\n this.minValue = value;\n }\n\n setMaxValue(value: number | undefined) {\n this.maxValue = value;\n }\n\n setHelpText(value: string) {\n this.helpText = value;\n }\n\n normalizeMinCharacters() {\n this.minCharacters = clamp(\n this.minCharacters,\n this.minCharactersFloor,\n CHARACTERS_CEILING,\n );\n }\n\n normalizeMaxCharacters() {\n this.maxCharacters = clamp(\n this.maxCharacters,\n MAX_CHARACTERS_FLOOR,\n CHARACTERS_CEILING,\n );\n }\n\n hasError(fieldType?: string) {\n return (\n (showsCharactersLimit(fieldType) &&\n this.charactersLimit &&\n Boolean(this.rangeError)) ||\n (showsValueRange(fieldType) &&\n this.valueRange &&\n Boolean(this.valueRangeError))\n );\n }\n\n getValues(fieldType?: string): CmsFieldSettings {\n // A toggle can be on with both inputs empty — that's still no limit.\n const limit =\n showsCharactersLimit(fieldType) &&\n this.charactersLimit &&\n (this.minCharacters !== undefined || this.maxCharacters !== undefined);\n const range =\n showsValueRange(fieldType) &&\n this.valueRange &&\n (this.minValue !== undefined || this.maxValue !== undefined);\n return {\n helpText: this.helpText,\n required: showsRequired(fieldType) ? this.required : false,\n characters: limit\n ? { minLength: this.minCharacters, maxLength: this.maxCharacters }\n : undefined,\n values: range ? { min: this.minValue, max: this.maxValue } : undefined,\n };\n }\n\n setValues(field?: Field) {\n const characters = field?.validation?.stringLengthRange;\n const values = field?.validation?.numberRange;\n this.helpText = field?.helpText ?? '';\n this.required = field?.validation?.required ?? false;\n this.minCharacters = characters?.minLength;\n this.maxCharacters = characters?.maxLength;\n this.charactersLimit =\n characters?.minLength != null || characters?.maxLength != null;\n this.minValue = values?.min;\n this.maxValue = values?.max;\n this.valueRange = values?.min != null || values?.max != null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.createCmsFieldSettings = void 0;
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _CmsFieldSettings = require("./CmsFieldSettings");
9
+ var _CmsFieldSettingsState = require("./CmsFieldSettingsState");
10
+ var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/patterns-cms/dist/cjs/adapter/fieldSettings/createCmsFieldSettings.tsx";
11
+ const createCmsFieldSettings = () => {
12
+ const state = new _CmsFieldSettingsState.CmsFieldSettingsState();
13
+ return {
14
+ Component: props => /*#__PURE__*/_react.default.createElement(_CmsFieldSettings.CmsFieldSettings, (0, _extends2.default)({}, props, {
15
+ state: state,
16
+ __self: void 0,
17
+ __source: {
18
+ fileName: _jsxFileName,
19
+ lineNumber: 10,
20
+ columnNumber: 27
21
+ }
22
+ })),
23
+ hasError: fieldType => state.hasError(fieldType),
24
+ getValues: fieldType => state.getValues(fieldType),
25
+ setValues: state.setValues
26
+ };
27
+ };
28
+ exports.createCmsFieldSettings = createCmsFieldSettings;
29
+ //# sourceMappingURL=createCmsFieldSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_CmsFieldSettings","_CmsFieldSettingsState","_jsxFileName","createCmsFieldSettings","state","CmsFieldSettingsState","Component","props","default","createElement","CmsFieldSettings","_extends2","__self","__source","fileName","lineNumber","columnNumber","hasError","fieldType","getValues","setValues","exports"],"sources":["../../../../src/adapter/fieldSettings/createCmsFieldSettings.tsx"],"sourcesContent":["import React from 'react';\nimport type { FieldSettingsSection } from '@wix/patterns/schema';\nimport { CmsFieldSettings } from './CmsFieldSettings';\nimport { CmsFieldSettingsState } from './CmsFieldSettingsState';\n\nexport const createCmsFieldSettings = (): FieldSettingsSection => {\n const state = new CmsFieldSettingsState();\n\n return {\n Component: (props) => <CmsFieldSettings {...props} state={state} />,\n hasError: (fieldType) => state.hasError(fieldType),\n getValues: (fieldType) => state.getValues(fieldType),\n setValues: state.setValues,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAAgE,IAAAG,YAAA;AAEzD,MAAMC,sBAAsB,GAAGA,CAAA,KAA4B;EAChE,MAAMC,KAAK,GAAG,IAAIC,4CAAqB,CAAC,CAAC;EAEzC,OAAO;IACLC,SAAS,EAAGC,KAAK,iBAAKV,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACT,iBAAA,CAAAU,gBAAgB,MAAAC,SAAA,CAAAH,OAAA,MAAKD,KAAK;MAAEH,KAAK,EAAEA,KAAM;MAAAQ,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAZ,YAAA;QAAAa,UAAA;QAAAC,YAAA;MAAA;IAAA,EAAE,CAAC;IACnEC,QAAQ,EAAGC,SAAS,IAAKd,KAAK,CAACa,QAAQ,CAACC,SAAS,CAAC;IAClDC,SAAS,EAAGD,SAAS,IAAKd,KAAK,CAACe,SAAS,CAACD,SAAS,CAAC;IACpDE,SAAS,EAAEhB,KAAK,CAACgB;EACnB,CAAC;AACH,CAAC;AAACC,OAAA,CAAAlB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -6,39 +6,9 @@ exports.useCmsSchemaSource = useCmsSchemaSource;
6
6
  var _patterns = require("@wix/patterns");
7
7
  var _schema = require("@wix/patterns/schema");
8
8
  var _loadCmsSchema = require("./loadCmsSchema");
9
- // The field types the add/edit modal offers, in display order. These are the
10
- // only types @wix/data can create (see PatternsFieldTypeToCmsFieldType). The
11
- // subtitles and group labels are plain strings until this package gets its own
12
- // translations.
13
- //
14
- // Only text-like types can be encrypted, so the rest turn the PII toggle off.
15
-
9
+ var _createCmsFieldSettings = require("./fieldSettings/createCmsFieldSettings");
16
10
  const ESSENTIALS = 'Essentials';
17
11
  const TIME_AND_LOCATION = 'Time and location';
18
- const CMS_CREATABLE_TYPES = [{
19
- patternsType: 'SHORT_TEXT',
20
- label: 'Text',
21
- subtitle: 'Titles, paragraph',
22
- group: ESSENTIALS
23
- }, {
24
- patternsType: 'NUMBER',
25
- label: 'Number',
26
- subtitle: 'ID, rating, order number',
27
- group: ESSENTIALS,
28
- supportsPii: false
29
- }, {
30
- patternsType: 'BOOLEAN',
31
- label: 'Boolean',
32
- subtitle: 'Yes or no, true or false',
33
- group: ESSENTIALS,
34
- supportsPii: false
35
- }, {
36
- patternsType: 'DATE',
37
- label: 'Date',
38
- subtitle: 'Date of event, date added',
39
- group: TIME_AND_LOCATION,
40
- supportsPii: false
41
- }];
42
12
  function cmsSchemaSourceInput(deps) {
43
13
  const {
44
14
  collectionId,
@@ -82,37 +52,81 @@ function cmsSchemaSourceInput(deps) {
82
52
  });
83
53
  return loaded;
84
54
  };
55
+
56
+ // `read: 'ANYONE'` means any site visitor can read the collection's items, so
57
+ // encrypting the field alone doesn't keep it private.
58
+ const piiWarning = () => {
59
+ var _collection;
60
+ if (((_collection = collection) == null || (_collection = _collection.permissions) == null ? void 0 : _collection.read) !== 'ANYONE') {
61
+ return undefined;
62
+ }
63
+ const name = collection.displayName || collectionId;
64
+ return {
65
+ text: `"${name}" collection is viewable by everyone. Update permissions so this field isn't exposed.`,
66
+ action: onEditCollectionPermissions && {
67
+ label: 'Update collection permissions',
68
+ onClick: onEditCollectionPermissions
69
+ }
70
+ };
71
+ };
72
+
73
+ // One section for all the types: it holds the values the modal collects, and
74
+ // the modal shows whichever one the picked type carries.
75
+ const settingsSection = (0, _createCmsFieldSettings.createCmsFieldSettings)();
76
+
77
+ // The field types the add/edit modal offers, in display order. These are the
78
+ // only types @wix/data can create (see PatternsFieldTypeToCmsFieldType). The
79
+ // subtitles and group labels are plain strings until this package gets its own
80
+ // translations.
81
+ //
82
+ // Only text-like types can be encrypted, so the rest turn the PII toggle off —
83
+ // and with it the warning, which is why only Text carries one.
84
+ const types = [{
85
+ patternsType: 'SHORT_TEXT',
86
+ label: 'Text',
87
+ subtitle: 'Titles, paragraph',
88
+ group: ESSENTIALS,
89
+ piiWarning,
90
+ settingsSection
91
+ }, {
92
+ patternsType: 'NUMBER',
93
+ label: 'Number',
94
+ subtitle: 'ID, rating, order number',
95
+ group: ESSENTIALS,
96
+ supportsPii: false,
97
+ settingsSection
98
+ }, {
99
+ patternsType: 'BOOLEAN',
100
+ label: 'Boolean',
101
+ subtitle: 'Yes or no, true or false',
102
+ group: ESSENTIALS,
103
+ supportsPii: false,
104
+ settingsSection
105
+ }, {
106
+ patternsType: 'DATE',
107
+ label: 'Date',
108
+ subtitle: 'Date of event, date added',
109
+ group: TIME_AND_LOCATION,
110
+ supportsPii: false,
111
+ settingsSection
112
+ }];
85
113
  return {
86
114
  collectionId,
87
115
  loadSchema,
88
- creatableFieldTypes: CMS_CREATABLE_TYPES,
89
116
  references,
90
117
  fieldTypes,
91
- // A CMS field marked PII is stored encrypted. Per-type opt-outs live in
92
- // CMS_CREATABLE_TYPES.
118
+ // A CMS field marked PII is stored encrypted. Per-type opt-outs live on the
119
+ // type entries below.
93
120
  supportsPii: true,
94
- // `read: 'ANYONE'` means any site visitor can read the collection's items,
95
- // so encrypting the field alone doesn't keep it private.
96
- piiWarning: () => {
97
- var _collection;
98
- if (((_collection = collection) == null || (_collection = _collection.permissions) == null ? void 0 : _collection.read) !== 'ANYONE') {
99
- return undefined;
100
- }
101
- const name = collection.displayName || collectionId;
102
- return {
103
- text: `"${name}" collection is viewable by everyone. Update permissions so this field isn't exposed.`,
104
- action: onEditCollectionPermissions && {
105
- label: 'Update collection permissions',
106
- onClick: onEditCollectionPermissions
107
- }
108
- };
109
- },
110
- // Plain strings until this package gets its own translations. CMS names it
111
- // "field" (not "custom field") and shows no subtitle.
112
- fieldModalText: {
113
- addTitle: 'Add a field',
114
- editTitle: 'Edit field',
115
- settingsLabel: 'Additional settings'
121
+ fieldModal: {
122
+ // Plain strings until this package gets its own translations. CMS names it
123
+ // "field" (not "custom field") and shows no subtitle.
124
+ text: {
125
+ addTitle: 'Add a field',
126
+ editTitle: 'Edit field',
127
+ settingsLabel: 'Additional settings'
128
+ },
129
+ types
116
130
  }
117
131
  };
118
132
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_patterns","require","_schema","_loadCmsSchema","ESSENTIALS","TIME_AND_LOCATION","CMS_CREATABLE_TYPES","patternsType","label","subtitle","group","supportsPii","cmsSchemaSourceInput","deps","collectionId","references","seedReferences","fieldTypes","onEditCollectionPermissions","loaderDeps","collection","loader","createCmsSchemaLoader","onCollectionLoaded","loaded","loadSchema","Object","values","schema","fields","forEach","field","type","referencedCollectionId","referenceMetadata","defineSchemaSource","creatableFieldTypes","piiWarning","_collection","permissions","read","undefined","name","displayName","text","action","onClick","fieldModalText","addTitle","editTitle","settingsLabel","useCmsSchemaSource","container","useWixPatternsContainer","useSchemaSource","httpClient"],"sources":["../../../src/adapter/useCmsSchemaSource.ts"],"sourcesContent":["import type { collections } from '@wix/data';\nimport { useWixPatternsContainer } from '@wix/patterns';\nimport type { FieldTypeDefinition } from '@wix/patterns';\nimport { defineSchemaSource, useSchemaSource } from '@wix/patterns/schema';\nimport type {\n CreatableFieldType,\n SchemaSource,\n SchemaSourceInput,\n} from '@wix/patterns/schema';\nimport {\n createCmsSchemaLoader,\n type CreateCmsSchemaLoaderDeps,\n} from './loadCmsSchema';\n\n// The field types the add/edit modal offers, in display order. These are the\n// only types @wix/data can create (see PatternsFieldTypeToCmsFieldType). The\n// subtitles and group labels are plain strings until this package gets its own\n// translations.\n//\n// Only text-like types can be encrypted, so the rest turn the PII toggle off.\n\nconst ESSENTIALS = 'Essentials';\nconst TIME_AND_LOCATION = 'Time and location';\n\nconst CMS_CREATABLE_TYPES: CreatableFieldType[] = [\n {\n patternsType: 'SHORT_TEXT',\n label: 'Text',\n subtitle: 'Titles, paragraph',\n group: ESSENTIALS,\n },\n {\n patternsType: 'NUMBER',\n label: 'Number',\n subtitle: 'ID, rating, order number',\n group: ESSENTIALS,\n supportsPii: false,\n },\n {\n patternsType: 'BOOLEAN',\n label: 'Boolean',\n subtitle: 'Yes or no, true or false',\n group: ESSENTIALS,\n supportsPii: false,\n },\n {\n patternsType: 'DATE',\n label: 'Date',\n subtitle: 'Date of event, date added',\n group: TIME_AND_LOCATION,\n supportsPii: false,\n },\n];\n\nexport interface UseCmsSchemaSourceDeps\n extends Omit<CreateCmsSchemaLoaderDeps, 'httpClient' | 'onCollectionLoaded'> {\n collectionId: string;\n /** Default: the patterns container's client. */\n httpClient?: CreateCmsSchemaLoaderDeps['httpClient'];\n /** Seed sources for referenced collections, keyed by referenced collection\n * id. Usually unnecessary — reference fields are resolved automatically from\n * the loaded schema. Provide an entry only to override the auto-built one. */\n references?: Record<string, SchemaSource<any>>;\n /** Consumer-defined field types, resolved by fields with `type: 'CUSTOM'`. */\n fieldTypes?: FieldTypeDefinition[];\n /** Opens the host's collection-permissions UI. Without it the PII warning\n * shows its text but no action. */\n onEditCollectionPermissions?: () => void;\n}\n\nexport function cmsSchemaSourceInput<\n T extends Record<string, unknown> = Record<string, unknown>,\n>(\n deps: UseCmsSchemaSourceDeps & Pick<CreateCmsSchemaLoaderDeps, 'httpClient'>,\n): SchemaSourceInput<T> {\n const {\n collectionId,\n references: seedReferences,\n fieldTypes,\n onEditCollectionPermissions,\n ...loaderDeps\n } = deps;\n\n // Who can read the collection isn't part of the source-neutral schema, so the\n // raw collection is kept for the PII warning below.\n let collection: collections.DataCollection | undefined;\n const loader = createCmsSchemaLoader<T>({\n ...loaderDeps,\n onCollectionLoaded: (loaded) => {\n collection = loaded;\n },\n });\n\n // Reference fields are wired automatically: when the schema loads, each\n // REFERENCE / MULTI_REFERENCE field's referencedCollectionId gets a child CMS\n // source (same loader deps) added to `references`, so entity-page reference\n // inputs can query the referenced collection with no manual wiring. The object\n // is shared with the resolved source; seeded entries win over auto-built ones.\n const references: Record<string, SchemaSource<any>> = { ...seedReferences };\n\n const loadSchema = async () => {\n const loaded = await loader(collectionId);\n Object.values(loaded.schema.fields).forEach((field) => {\n if (field?.type !== 'REFERENCE' && field?.type !== 'MULTI_REFERENCE') {\n return;\n }\n const referencedCollectionId =\n field.referenceMetadata.referencedCollectionId;\n if (referencedCollectionId && !references[referencedCollectionId]) {\n references[referencedCollectionId] = defineSchemaSource(\n cmsSchemaSourceInput({\n collectionId: referencedCollectionId,\n ...loaderDeps,\n }),\n );\n }\n });\n return loaded;\n };\n\n return {\n collectionId,\n loadSchema,\n creatableFieldTypes: CMS_CREATABLE_TYPES,\n references,\n fieldTypes,\n // A CMS field marked PII is stored encrypted. Per-type opt-outs live in\n // CMS_CREATABLE_TYPES.\n supportsPii: true,\n // `read: 'ANYONE'` means any site visitor can read the collection's items,\n // so encrypting the field alone doesn't keep it private.\n piiWarning: () => {\n if (collection?.permissions?.read !== 'ANYONE') {\n return undefined;\n }\n const name = collection.displayName || collectionId;\n return {\n text: `\"${name}\" collection is viewable by everyone. Update permissions so this field isn't exposed.`,\n action: onEditCollectionPermissions && {\n label: 'Update collection permissions',\n onClick: onEditCollectionPermissions,\n },\n };\n },\n // Plain strings until this package gets its own translations. CMS names it\n // \"field\" (not \"custom field\") and shows no subtitle.\n fieldModalText: {\n addTitle: 'Add a field',\n editTitle: 'Edit field',\n settingsLabel: 'Additional settings',\n },\n };\n}\n\n/**\n * A ready-to-use `SchemaSource` for a CMS collection: wraps the CMS schema\n * loader and supplies the CMS field types. Pass it to a `@wix/patterns/schema`\n * collection hook.\n */\nexport function useCmsSchemaSource<\n T extends Record<string, unknown> = Record<string, unknown>,\n>(deps: UseCmsSchemaSourceDeps): SchemaSource<T> {\n const container = useWixPatternsContainer();\n return useSchemaSource<T>(\n cmsSchemaSourceInput<T>({\n ...deps,\n httpClient: deps.httpClient ?? container.httpClient,\n }),\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_patterns","require","_schema","_loadCmsSchema","_createCmsFieldSettings","ESSENTIALS","TIME_AND_LOCATION","cmsSchemaSourceInput","deps","collectionId","references","seedReferences","fieldTypes","onEditCollectionPermissions","loaderDeps","collection","loader","createCmsSchemaLoader","onCollectionLoaded","loaded","loadSchema","Object","values","schema","fields","forEach","field","type","referencedCollectionId","referenceMetadata","defineSchemaSource","piiWarning","_collection","permissions","read","undefined","name","displayName","text","action","label","onClick","settingsSection","createCmsFieldSettings","types","patternsType","subtitle","group","supportsPii","fieldModal","addTitle","editTitle","settingsLabel","useCmsSchemaSource","container","useWixPatternsContainer","useSchemaSource","httpClient"],"sources":["../../../src/adapter/useCmsSchemaSource.ts"],"sourcesContent":["import type { collections } from '@wix/data';\nimport { useWixPatternsContainer } from '@wix/patterns';\nimport type { FieldTypeDefinition } from '@wix/patterns';\nimport { defineSchemaSource, useSchemaSource } from '@wix/patterns/schema';\nimport type {\n FieldTypeOption,\n SchemaSource,\n SchemaSourceInput,\n} from '@wix/patterns/schema';\nimport {\n createCmsSchemaLoader,\n type CreateCmsSchemaLoaderDeps,\n} from './loadCmsSchema';\nimport { createCmsFieldSettings } from './fieldSettings/createCmsFieldSettings';\n\nconst ESSENTIALS = 'Essentials';\nconst TIME_AND_LOCATION = 'Time and location';\n\nexport interface UseCmsSchemaSourceDeps\n extends Omit<CreateCmsSchemaLoaderDeps, 'httpClient' | 'onCollectionLoaded'> {\n collectionId: string;\n /** Default: the patterns container's client. */\n httpClient?: CreateCmsSchemaLoaderDeps['httpClient'];\n /** Seed sources for referenced collections, keyed by referenced collection\n * id. Usually unnecessary — reference fields are resolved automatically from\n * the loaded schema. Provide an entry only to override the auto-built one. */\n references?: Record<string, SchemaSource<any>>;\n /** Consumer-defined field types, resolved by fields with `type: 'CUSTOM'`. */\n fieldTypes?: FieldTypeDefinition[];\n /** Opens the host's collection-permissions UI. Without it the PII warning\n * shows its text but no action. */\n onEditCollectionPermissions?: () => void;\n}\n\nexport function cmsSchemaSourceInput<\n T extends Record<string, unknown> = Record<string, unknown>,\n>(\n deps: UseCmsSchemaSourceDeps & Pick<CreateCmsSchemaLoaderDeps, 'httpClient'>,\n): SchemaSourceInput<T> {\n const {\n collectionId,\n references: seedReferences,\n fieldTypes,\n onEditCollectionPermissions,\n ...loaderDeps\n } = deps;\n\n // Who can read the collection isn't part of the source-neutral schema, so the\n // raw collection is kept for the PII warning below.\n let collection: collections.DataCollection | undefined;\n const loader = createCmsSchemaLoader<T>({\n ...loaderDeps,\n onCollectionLoaded: (loaded) => {\n collection = loaded;\n },\n });\n\n // Reference fields are wired automatically: when the schema loads, each\n // REFERENCE / MULTI_REFERENCE field's referencedCollectionId gets a child CMS\n // source (same loader deps) added to `references`, so entity-page reference\n // inputs can query the referenced collection with no manual wiring. The object\n // is shared with the resolved source; seeded entries win over auto-built ones.\n const references: Record<string, SchemaSource<any>> = { ...seedReferences };\n\n const loadSchema = async () => {\n const loaded = await loader(collectionId);\n Object.values(loaded.schema.fields).forEach((field) => {\n if (field?.type !== 'REFERENCE' && field?.type !== 'MULTI_REFERENCE') {\n return;\n }\n const referencedCollectionId =\n field.referenceMetadata.referencedCollectionId;\n if (referencedCollectionId && !references[referencedCollectionId]) {\n references[referencedCollectionId] = defineSchemaSource(\n cmsSchemaSourceInput({\n collectionId: referencedCollectionId,\n ...loaderDeps,\n }),\n );\n }\n });\n return loaded;\n };\n\n // `read: 'ANYONE'` means any site visitor can read the collection's items, so\n // encrypting the field alone doesn't keep it private.\n const piiWarning = () => {\n if (collection?.permissions?.read !== 'ANYONE') {\n return undefined;\n }\n const name = collection.displayName || collectionId;\n return {\n text: `\"${name}\" collection is viewable by everyone. Update permissions so this field isn't exposed.`,\n action: onEditCollectionPermissions && {\n label: 'Update collection permissions',\n onClick: onEditCollectionPermissions,\n },\n };\n };\n\n // One section for all the types: it holds the values the modal collects, and\n // the modal shows whichever one the picked type carries.\n const settingsSection = createCmsFieldSettings();\n\n // The field types the add/edit modal offers, in display order. These are the\n // only types @wix/data can create (see PatternsFieldTypeToCmsFieldType). The\n // subtitles and group labels are plain strings until this package gets its own\n // translations.\n //\n // Only text-like types can be encrypted, so the rest turn the PII toggle off —\n // and with it the warning, which is why only Text carries one.\n const types: FieldTypeOption[] = [\n {\n patternsType: 'SHORT_TEXT',\n label: 'Text',\n subtitle: 'Titles, paragraph',\n group: ESSENTIALS,\n piiWarning,\n settingsSection,\n },\n {\n patternsType: 'NUMBER',\n label: 'Number',\n subtitle: 'ID, rating, order number',\n group: ESSENTIALS,\n supportsPii: false,\n settingsSection,\n },\n {\n patternsType: 'BOOLEAN',\n label: 'Boolean',\n subtitle: 'Yes or no, true or false',\n group: ESSENTIALS,\n supportsPii: false,\n settingsSection,\n },\n {\n patternsType: 'DATE',\n label: 'Date',\n subtitle: 'Date of event, date added',\n group: TIME_AND_LOCATION,\n supportsPii: false,\n settingsSection,\n },\n ];\n\n return {\n collectionId,\n loadSchema,\n references,\n fieldTypes,\n // A CMS field marked PII is stored encrypted. Per-type opt-outs live on the\n // type entries below.\n supportsPii: true,\n fieldModal: {\n // Plain strings until this package gets its own translations. CMS names it\n // \"field\" (not \"custom field\") and shows no subtitle.\n text: {\n addTitle: 'Add a field',\n editTitle: 'Edit field',\n settingsLabel: 'Additional settings',\n },\n types,\n },\n };\n}\n\n/**\n * A ready-to-use `SchemaSource` for a CMS collection: wraps the CMS schema\n * loader and supplies the CMS field types. Pass it to a `@wix/patterns/schema`\n * collection hook.\n */\nexport function useCmsSchemaSource<\n T extends Record<string, unknown> = Record<string, unknown>,\n>(deps: UseCmsSchemaSourceDeps): SchemaSource<T> {\n const container = useWixPatternsContainer();\n return useSchemaSource<T>(\n cmsSchemaSourceInput<T>({\n ...deps,\n httpClient: deps.httpClient ?? container.httpClient,\n }),\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ jest.mock('@wix/data', () => {
8
8
  ...actual.collections,
9
9
  createDataCollectionField: jest.fn(),
10
10
  patchDataCollectionField: jest.fn(),
11
+ updateDataCollectionField: jest.fn(),
11
12
  deleteDataCollectionField: jest.fn(),
12
13
  patchDataCollection: jest.fn(),
13
14
  updateDataCollection: jest.fn(),
@@ -25,6 +26,7 @@ jest.mock('@wix/data', () => {
25
26
  // Re-typing each mock with the call shape the adapter uses unblocks both.
26
27
  const createDataCollectionField = collections.createDataCollectionField;
27
28
  const patchDataCollectionField = collections.patchDataCollectionField;
29
+ const updateDataCollectionField = collections.updateDataCollectionField;
28
30
  const deleteDataCollectionField = collections.deleteDataCollectionField;
29
31
  const patchDataCollection = collections.patchDataCollection;
30
32
  // updateDataCollection resolves with the updated collection directly (not
@@ -65,6 +67,9 @@ describe('createCmsFieldActions', () => {
65
67
  patchDataCollectionField.mockResolvedValue({
66
68
  dataCollection: makeCollection([]),
67
69
  });
70
+ updateDataCollectionField.mockResolvedValue({
71
+ dataCollection: makeCollection([]),
72
+ });
68
73
  updateDataCollection.mockImplementation(async (dataCollection) => dataCollection);
69
74
  });
70
75
  describe('addField', () => {
@@ -199,35 +204,52 @@ describe('createCmsFieldActions', () => {
199
204
  expect(updateDataCollection).not.toHaveBeenCalled();
200
205
  });
201
206
  });
207
+ // editField sends the whole field definition through updateDataCollectionField,
208
+ // not a patch: patchDataCollectionField rejects `required` and the range props.
209
+ // Every assertion here is on the merged result — the existing field minus its
210
+ // read-only props, with the update applied on top.
202
211
  describe('editField', () => {
203
- it('patches only displayName when only displayName is provided', async () => {
212
+ it('changes displayName and keeps the rest of the field definition', async () => {
204
213
  const actions = createCmsFieldActions(COLLECTION_ID, () => makeCollection([makeField({ key: 'name' })]));
205
214
  await actions.editField('name', { displayName: 'Renamed' });
206
- expect(patchDataCollectionField).toHaveBeenCalledWith(COLLECTION_ID, {
207
- key: 'name',
208
- displayName: 'Renamed',
215
+ expect(updateDataCollectionField).toHaveBeenCalledWith(COLLECTION_ID, {
216
+ field: {
217
+ key: 'name',
218
+ displayName: 'Renamed',
219
+ type: collections.Type.TEXT,
220
+ encrypted: false,
221
+ },
209
222
  });
210
223
  });
211
224
  it('maps isPii to encrypted and helpText to description', async () => {
212
225
  const actions = createCmsFieldActions(COLLECTION_ID, () => makeCollection([makeField({ key: 'name' })]));
213
226
  await actions.editField('name', { isPii: true, helpText: 'hint' });
214
- expect(patchDataCollectionField).toHaveBeenCalledWith(COLLECTION_ID, {
215
- key: 'name',
216
- encrypted: true,
217
- description: 'hint',
227
+ expect(updateDataCollectionField).toHaveBeenCalledWith(COLLECTION_ID, {
228
+ field: {
229
+ key: 'name',
230
+ displayName: 'Source Field',
231
+ type: collections.Type.TEXT,
232
+ encrypted: true,
233
+ description: 'hint',
234
+ },
218
235
  });
219
236
  });
220
- it('includes numberRange in the patch only when the source CMS field is NUMBER', async () => {
237
+ it('includes numberRange only when the source CMS field is NUMBER', async () => {
221
238
  const actions = createCmsFieldActions(COLLECTION_ID, () => makeCollection([
222
239
  makeField({ key: 'age', type: collections.Type.NUMBER }),
223
240
  ]));
224
241
  await actions.editField('age', {
225
242
  validation: { required: true, numberRange: { min: 0, max: 100 } },
226
243
  });
227
- expect(patchDataCollectionField).toHaveBeenCalledWith(COLLECTION_ID, {
228
- key: 'age',
229
- required: true,
230
- numberRange: { min: 0, max: 100 },
244
+ expect(updateDataCollectionField).toHaveBeenCalledWith(COLLECTION_ID, {
245
+ field: {
246
+ key: 'age',
247
+ displayName: 'Source Field',
248
+ type: collections.Type.NUMBER,
249
+ encrypted: false,
250
+ required: true,
251
+ numberRange: { min: 0, max: 100 },
252
+ },
231
253
  });
232
254
  });
233
255
  it('omits numberRange when the source CMS field is not NUMBER', async () => {
@@ -237,11 +259,11 @@ describe('createCmsFieldActions', () => {
237
259
  await actions.editField('name', {
238
260
  validation: { required: true, numberRange: { min: 0, max: 100 } },
239
261
  });
240
- const [, patch] = patchDataCollectionField.mock.calls[0];
241
- expect(patch).not.toHaveProperty('numberRange');
242
- expect(patch).toMatchObject({ key: 'name', required: true });
262
+ const [, { field }] = updateDataCollectionField.mock.calls[0];
263
+ expect(field).not.toHaveProperty('numberRange');
264
+ expect(field).toMatchObject({ key: 'name', required: true });
243
265
  });
244
- it('includes stringLengthRange in the patch only when the source CMS field is TEXT', async () => {
266
+ it('includes stringLengthRange only when the source CMS field is TEXT', async () => {
245
267
  const actions = createCmsFieldActions(COLLECTION_ID, () => makeCollection([
246
268
  makeField({ key: 'name', type: collections.Type.TEXT }),
247
269
  ]));
@@ -251,10 +273,15 @@ describe('createCmsFieldActions', () => {
251
273
  stringLengthRange: { minLength: 1, maxLength: 30 },
252
274
  },
253
275
  });
254
- expect(patchDataCollectionField).toHaveBeenCalledWith(COLLECTION_ID, {
255
- key: 'name',
256
- required: false,
257
- stringLengthRange: { minLength: 1, maxLength: 30 },
276
+ expect(updateDataCollectionField).toHaveBeenCalledWith(COLLECTION_ID, {
277
+ field: {
278
+ key: 'name',
279
+ displayName: 'Source Field',
280
+ type: collections.Type.TEXT,
281
+ encrypted: false,
282
+ required: false,
283
+ stringLengthRange: { minLength: 1, maxLength: 30 },
284
+ },
258
285
  });
259
286
  });
260
287
  it('omits stringLengthRange when the source CMS field is not TEXT', async () => {
@@ -267,8 +294,8 @@ describe('createCmsFieldActions', () => {
267
294
  stringLengthRange: { minLength: 1, maxLength: 30 },
268
295
  },
269
296
  });
270
- const [, patch] = patchDataCollectionField.mock.calls[0];
271
- expect(patch).not.toHaveProperty('stringLengthRange');
297
+ const [, { field }] = updateDataCollectionField.mock.calls[0];
298
+ expect(field).not.toHaveProperty('stringLengthRange');
272
299
  });
273
300
  });
274
301
  describe('renameField', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"cmsFieldActions.spec.js","sourceRoot":"","sources":["../../../../src/adapter/__tests__/cmsFieldActions.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;IAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EAAE;YACX,GAAG,MAAM,CAAC,WAAW;YACrB,yBAAyB,EAAE,IAAI,CAAC,EAAE,EAAE;YACpC,wBAAwB,EAAE,IAAI,CAAC,EAAE,EAAE;YACnC,yBAAyB,EAAE,IAAI,CAAC,EAAE,EAAE;YACpC,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE;YAC9B,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE;SAChC;QACD,KAAK,EAAE;YACL,GAAG,MAAM,CAAC,KAAK;YACf,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;YACrB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;SACnB;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,wEAAwE;AACxE,2EAA2E;AAC3E,+EAA+E;AAC/E,0EAA0E;AAC1E,MAAM,yBAAyB,GAC7B,WAAW,CAAC,yBAGX,CAAC;AACJ,MAAM,wBAAwB,GAC5B,WAAW,CAAC,wBAGX,CAAC;AACJ,MAAM,yBAAyB,GAC7B,WAAW,CAAC,yBAGX,CAAC;AACJ,MAAM,mBAAmB,GACvB,WAAW,CAAC,mBAGX,CAAC;AACJ,0EAA0E;AAC1E,gEAAgE;AAChE,MAAM,oBAAoB,GACxB,WAAW,CAAC,oBAGX,CAAC;AAQJ,MAAM,UAAU,GAAG,KAAK,CAAC,UAGxB,CAAC;AACF,MAAM,OAAO,GAAG,KAAK,CAAC,OAGrB,CAAC;AAEF,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,MAAM,SAAS,GAAG,CAChB,YAAwC,EAAE,EACvB,EAAE,CAAC,CAAC;IACvB,GAAG,EAAE,aAAa;IAClB,WAAW,EAAE,cAAc;IAC3B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI;IAC3B,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,KAAK;IAChB,GAAG,SAAS;CACb,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CACrB,MAA2B,EACC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;AAElE,MAAM,iBAAiB,GAAG,CAAC,YAA4B,EAAE,EAAS,EAAE;IAClE,MAAM,IAAI,GAAU;QAClB,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,YAAY;KACnB,CAAC;IACF,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,EAAW,CAAC;AAC5C,CAAC,CAAC;AAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,yBAAyB,CAAC,iBAAiB,CAAC;YAC1C,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC;SACnC,CAAC,CAAC;QACH,yBAAyB,CAAC,iBAAiB,CAAC;YAC1C,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC;SACnC,CAAC,CAAC;QACH,mBAAmB,CAAC,iBAAiB,CAAC;YACpC,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC;SACnC,CAAC,CAAC;QACH,wBAAwB,CAAC,iBAAiB,CAAC;YACzC,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC;SACnC,CAAC,CAAC;QACH,oBAAoB,CAAC,kBAAkB,CACrC,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,cAAc,CACzC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;YACjG,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,EAAE,CAAC,CACnB,CAAC;YAEF,MAAM,OAAO,CAAC,QAAS,CACrB,iBAAiB,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CACnD,CAAC;YAEF,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,GACjC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;gBAClC,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI;gBAC3B,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CACjD,CAAC;YAEF,MAAM,OAAO,CAAC,QAAS,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YAEzE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,EAAE,CAAC,CACnB,CAAC;YAEF,MAAM,OAAO,CAAC,QAAS,CACrB,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAC1D,CAAC;YAEF,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,EAAE,CAAC,CACnB,CAAC;YAEF,MAAM,OAAO,CAAC,QAAS,CACrB,iBAAiB,CAAC;gBAChB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;aAClE,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,EAAE,CAAC,CACnB,CAAC;YAEF,MAAM,OAAO,CAAC,QAAS,CACrB,iBAAiB,CAAC;gBAChB,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;aAClE,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,EAAE,CAAC,CACnB,CAAC;YAEF,MAAM,OAAO,CAAC,QAAS,CACrB,iBAAiB,CAAC;gBAChB,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE;oBACV,QAAQ,EAAE,KAAK;oBACf,iBAAiB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;iBACnD;aACF,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;gBAC9C,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,EAAE,CAAC,CACnB,CAAC;YAEF,MAAM,MAAM,CACV,OAAO,CAAC,QAAS,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CACxD,CAAC,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;YACxD,MAAM,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,EAAE,CAAC,CACnB,CAAC;YAEF,MAAM,OAAO,CAAC,QAAS,CACrB,iBAAiB,CAAC,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CACtD,CAAC;YAEF,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,wGAAwG,EAAE,KAAK,IAAI,EAAE;YACtH,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAC3B,CAAC;YAEF,MAAM,OAAO,CAAC,SAAU,CAAC;gBACvB,iBAAiB,CAAC;oBAChB,EAAE,EAAE,OAAO;oBACX,WAAW,EAAE,OAAO;oBACpB,IAAI,EAAE,YAAY;iBACnB,CAAC;gBACF,iBAAiB,CAAC;oBAChB,EAAE,EAAE,OAAO;oBACX,WAAW,EAAE,OAAO;oBACpB,IAAI,EAAE,QAAQ;iBACf,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,cAAc,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/C,0EAA0E;YAC1E,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACpC,QAAQ;gBACR;oBACE,GAAG,EAAE,OAAO;oBACZ,WAAW,EAAE,OAAO;oBACpB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI;oBAC3B,QAAQ,EAAE,KAAK;iBAChB;gBACD;oBACE,GAAG,EAAE,OAAO;oBACZ,WAAW,EAAE,OAAO;oBACpB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM;oBAC7B,QAAQ,EAAE,KAAK;iBAChB;aACF,CAAC,CAAC;YACH,MAAM,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;YAChG,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAClE,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAU,CAAC;gBACtC,iBAAiB,CAAC;oBAChB,EAAE,EAAE,OAAO;oBACX,WAAW,EAAE,OAAO;oBACpB,IAAI,EAAE,YAAY;iBACnB,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,EAAE,CAAC,CACnB,CAAC;YAEF,MAAM,MAAM,CACV,OAAO,CAAC,SAAU,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CACtE,CAAC,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;YACxD,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAEjE,MAAM,MAAM,CACV,OAAO,CAAC,SAAU,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CACzD,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,aAAa,YAAY,CAAC,CAAC;YAC3D,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAC7C,CAAC;YAEF,MAAM,OAAO,CAAC,SAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;YAE7D,MAAM,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE;gBACnE,GAAG,EAAE,MAAM;gBACX,WAAW,EAAE,SAAS;aACvB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAC7C,CAAC;YAEF,MAAM,OAAO,CAAC,SAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAEpE,MAAM,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE;gBACnE,GAAG,EAAE,MAAM;gBACX,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;YAC1F,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC;gBACb,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aACzD,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,CAAC,SAAU,CAAC,KAAK,EAAE;gBAC9B,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;aAClE,CAAC,CAAC;YAEH,MAAM,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE;gBACnE,GAAG,EAAE,KAAK;gBACV,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;aAClC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC;gBACb,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACxD,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,CAAC,SAAU,CAAC,MAAM,EAAE;gBAC/B,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;aAClE,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;YAC9F,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC;gBACb,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACxD,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,CAAC,SAAU,CAAC,MAAM,EAAE;gBAC/B,UAAU,EAAE;oBACV,QAAQ,EAAE,KAAK;oBACf,iBAAiB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;iBACnD;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE;gBACnE,GAAG,EAAE,MAAM;gBACX,QAAQ,EAAE,KAAK;gBACf,iBAAiB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;aACnD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC;gBACb,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aACzD,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,CAAC,SAAU,CAAC,KAAK,EAAE;gBAC9B,UAAU,EAAE;oBACV,QAAQ,EAAE,KAAK;oBACf,iBAAiB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;iBACnD;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAC7C,CAAC;YAEF,MAAM,OAAO,CAAC,WAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAE9C,MAAM,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE;gBACnE,GAAG,EAAE,MAAM;gBACX,WAAW,EAAE,SAAS;aACvB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CACjD,CAAC;YAEF,MAAM,OAAO,CAAC,WAAY,CAAC,UAAU,CAAC,CAAC;YAEvC,MAAM,CAAC,yBAAyB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,yBAAyB,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE;gBACpE,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CACnD,CAAC;YAEF,MAAM,OAAO,CAAC,WAAY,CAAC,YAAY,CAAC,CAAC;YAEzC,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE;gBAC9D,YAAY,EAAE,YAAY;aAC3B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC;gBACb,SAAS,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;aAC/D,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,CAAC,cAAe,CAAC,aAAa,CAAC,CAAC;YAE7C,MAAM,CAAC,yBAAyB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,GACjC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;gBAClC,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI;aAC5B,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC;gBACb,SAAS,CAAC;oBACR,WAAW,EAAE,IAAI;oBACjB,YAAY,EAAE;wBACZ,QAAQ,EAAE,IAAI;wBACd,cAAc,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;qBAC/C;iBACF,CAAC;aACH,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,CAAC,cAAe,CAAC,aAAa,CAAC,CAAC;YAE7C,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACxD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,WAAW,GAAsB,SAAS,CAAC;gBAC/C,GAAG,EAAE,UAAU;gBACf,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,eAAe;gBACtC,YAAY,EAAE;oBACZ,cAAc,EAAE;wBACd,mBAAmB,EAAE,iBAAiB;wBACtC,sBAAsB,EAAE,kBAAkB;qBAC3C;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC,CAC9B,CAAC;YAEF,MAAM,OAAO,CAAC,cAAe,CAAC,UAAU,CAAC,CAAC;YAE1C,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,CACJ,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,EAAE,mBAAmB,CAChE,CAAC,aAAa,EAAE,CAAC;YAClB,MAAM,CACJ,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,EAAE,sBAAsB,CACnE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC;gBACb,SAAS,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;gBAC9D,SAAS,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC;aACtC,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,CAAC,cAAe,CAAC,aAAa,CAAC,CAAC;YAE7C,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,EAAE,CAAC,CACnB,CAAC;YAEF,MAAM,MAAM,CAAC,OAAO,CAAC,cAAe,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC9D,yBAAyB,CAC1B,CAAC;YACF,MAAM,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;YACpG,UAAU,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAElE,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC;gBACb,SAAS,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;aAC/D,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,CAAC,yBAA0B,CAAC,aAAa,CAAC,CAAC;YAExD,MAAM,CAAC,yBAAyB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;YAEzC,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;gBACtC,IAAI,EAAE,iBAAiB;gBACvB,oBAAoB,EAAE;oBACpB,gBAAgB,EAAE,aAAa;oBAC/B,cAAc,EAAE,aAAa;oBAC7B,cAAc;iBACf;aACF,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;YACpG,UAAU,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,iBAAiB,CAAC;gBACxB,GAAG,EAAE,QAAQ;gBACb,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;aAC3D,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAC9B,CAAC;YAEF,MAAM,MAAM,CACV,OAAO,CAAC,yBAA0B,CAAC,aAAa,CAAC,CAClD,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,EAAE,CAAC,CACnB,CAAC;YAEF,MAAM,MAAM,CACV,OAAO,CAAC,yBAA0B,CAAC,SAAS,CAAC,CAC9C,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;YAC7C,MAAM,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACzD,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cmsFieldActions.spec.js","sourceRoot":"","sources":["../../../../src/adapter/__tests__/cmsFieldActions.spec.ts"],"names":[],"mappings":"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"}
@@ -76,14 +76,23 @@ describe('useCmsSchemaSource', () => {
76
76
  fetchUserPermissionsMock.mockResolvedValue([]);
77
77
  fetchExternalDbConnectionsMock.mockResolvedValue([]);
78
78
  });
79
- it('declares the creatable types in display order, with CMS labels, subtitles and groups', () => {
79
+ it('declares the field type options in display order, with CMS labels, subtitles and groups', () => {
80
80
  const source = defineSchemaSource(cmsSchemaSourceInput({
81
81
  collectionId: 'Pokemon',
82
82
  httpClient,
83
83
  }));
84
84
  const essentials = 'Essentials';
85
85
  const timeAndLocation = 'Time and location';
86
- expect(source.creatableFieldTypes).toEqual([
86
+ // Only the copy each type shows in the picker; the settings section and the
87
+ // PII warning they also carry have their own tests.
88
+ const display = source.fieldModal.types.map(({ patternsType, label, subtitle, group, supportsPii }) => ({
89
+ patternsType,
90
+ label,
91
+ subtitle,
92
+ group,
93
+ supportsPii,
94
+ }));
95
+ expect(display).toEqual([
87
96
  {
88
97
  patternsType: 'SHORT_TEXT',
89
98
  label: 'Text',
@@ -113,6 +122,19 @@ describe('useCmsSchemaSource', () => {
113
122
  },
114
123
  ]);
115
124
  });
125
+ it('gives every type the same settings section, so the modal keeps one set of inputs', () => {
126
+ const source = defineSchemaSource(cmsSchemaSourceInput({ collectionId: 'Pokemon', httpClient }));
127
+ const sections = source.fieldModal.types.map((t) => t.settingsSection);
128
+ expect(sections.every((section) => section === sections[0])).toBe(true);
129
+ expect(sections[0]).toBeDefined();
130
+ });
131
+ it('warns about PII only on the type that can be marked PII', () => {
132
+ const source = defineSchemaSource(cmsSchemaSourceInput({ collectionId: 'Pokemon', httpClient }));
133
+ const withWarning = source.fieldModal.types
134
+ .filter((t) => t.piiWarning)
135
+ .map((t) => t.patternsType);
136
+ expect(withWarning).toEqual(['SHORT_TEXT']);
137
+ });
116
138
  it('builds an offset source keyed by the collectionId', () => {
117
139
  const source = defineSchemaSource(cmsSchemaSourceInput({
118
140
  collectionId: 'Pokemon',
@@ -1 +1 @@
1
- {"version":3,"file":"useCmsSchemaSource.spec.js","sourceRoot":"","sources":["../../../../src/adapter/__tests__/useCmsSchemaSource.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useCmsSchemaSource.spec.js","sourceRoot":"","sources":["../../../../src/adapter/__tests__/useCmsSchemaSource.spec.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,15 @@ const waitForCopyTask = async (taskId) => {
28
28
  throw err;
29
29
  }
30
30
  };
31
+ const applyCmsFieldSettings = (cmsField, settings) => {
32
+ if (!settings) {
33
+ return;
34
+ }
35
+ cmsField.description = settings.helpText || undefined;
36
+ cmsField.required = settings.required;
37
+ cmsField.stringLengthRange = settings.characters;
38
+ cmsField.numberRange = settings.values;
39
+ };
31
40
  /**
32
41
  * Builds the `FieldActions` for a CMS collection over `@wix/data`. `getCollection`
33
42
  * returns the current raw collection snapshot (for existing keys + source field types).
@@ -90,6 +99,10 @@ export function createCmsFieldActions(collectionId, getCollection) {
90
99
  }
91
100
  return patch;
92
101
  };
102
+ const writableFieldProps = (source) => {
103
+ const { systemField, capabilities, condition, ...writable } = source;
104
+ return writable;
105
+ };
93
106
  /**
94
107
  * Clones a CMS field for duplication: drops `systemField`/`capabilities` and clears
95
108
  * `referencingFieldKey` so the duplicate gets its own backing reference field.
@@ -113,8 +126,9 @@ export function createCmsFieldActions(collectionId, getCollection) {
113
126
  return cloned;
114
127
  };
115
128
  return {
116
- addField: async (field) => {
129
+ addField: async (field, settings) => {
117
130
  const cmsField = toCmsField(field, getFieldKey(existingFieldKeys(), field.displayName));
131
+ applyCmsFieldSettings(cmsField, settings);
118
132
  const { dataCollection } = await collections.createDataCollectionField(collectionId, { field: cmsField });
119
133
  return fieldsAfterMutation(dataCollection);
120
134
  },
@@ -136,8 +150,19 @@ export function createCmsFieldActions(collectionId, getCollection) {
136
150
  });
137
151
  return fieldsAfterMutation(dataCollection);
138
152
  },
139
- editField: async (fieldId, updates) => {
140
- const { dataCollection } = await collections.patchDataCollectionField(collectionId, buildFieldPatch(fieldId, updates));
153
+ editField: async (fieldId, updates, settings) => {
154
+ const existingField = findCmsField(fieldId);
155
+ if (!existingField?.type) {
156
+ throw new Error(`Field ${fieldId} not found`);
157
+ }
158
+ const field = {
159
+ ...writableFieldProps(existingField),
160
+ ...buildFieldPatch(fieldId, updates),
161
+ key: fieldId,
162
+ type: existingField.type,
163
+ };
164
+ applyCmsFieldSettings(field, settings);
165
+ const { dataCollection } = await collections.updateDataCollectionField(collectionId, { field });
141
166
  return fieldsAfterMutation(dataCollection);
142
167
  },
143
168
  deleteField: async (fieldId) => {