@wix/patterns-cms 1.44.0 → 1.45.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 (25) hide show
  1. package/dist/cjs/adapter/fieldSettings/CmsFieldSettings.js +26 -20
  2. package/dist/cjs/adapter/fieldSettings/CmsFieldSettings.js.map +1 -1
  3. package/dist/cjs/adapter/fieldSettings/CmsFieldSettings.spec.js +13 -0
  4. package/dist/cjs/adapter/fieldSettings/CmsFieldSettings.spec.js.map +1 -1
  5. package/dist/cjs/adapter/fieldSettings/CmsFieldSettingsState.js +7 -1
  6. package/dist/cjs/adapter/fieldSettings/CmsFieldSettingsState.js.map +1 -1
  7. package/dist/cjs/adapter/fieldSettings/CmsFieldSettingsState.spec.js +17 -0
  8. package/dist/cjs/adapter/fieldSettings/CmsFieldSettingsState.spec.js.map +1 -1
  9. package/dist/cjs/adapter/fieldSettings/createCmsFieldSettings.js +2 -1
  10. package/dist/cjs/adapter/fieldSettings/createCmsFieldSettings.js.map +1 -1
  11. package/dist/esm/adapter/fieldSettings/CmsFieldSettings.js +6 -2
  12. package/dist/esm/adapter/fieldSettings/CmsFieldSettings.js.map +1 -1
  13. package/dist/esm/adapter/fieldSettings/CmsFieldSettings.spec.js +13 -0
  14. package/dist/esm/adapter/fieldSettings/CmsFieldSettings.spec.js.map +1 -1
  15. package/dist/esm/adapter/fieldSettings/CmsFieldSettingsState.js +6 -0
  16. package/dist/esm/adapter/fieldSettings/CmsFieldSettingsState.js.map +1 -1
  17. package/dist/esm/adapter/fieldSettings/CmsFieldSettingsState.spec.js +13 -0
  18. package/dist/esm/adapter/fieldSettings/CmsFieldSettingsState.spec.js.map +1 -1
  19. package/dist/esm/adapter/fieldSettings/createCmsFieldSettings.js +1 -0
  20. package/dist/esm/adapter/fieldSettings/createCmsFieldSettings.js.map +1 -1
  21. package/dist/types/adapter/fieldSettings/CmsFieldSettings.d.ts.map +1 -1
  22. package/dist/types/adapter/fieldSettings/CmsFieldSettingsState.d.ts +3 -0
  23. package/dist/types/adapter/fieldSettings/CmsFieldSettingsState.d.ts.map +1 -1
  24. package/dist/types/adapter/fieldSettings/createCmsFieldSettings.d.ts.map +1 -1
  25. package/package.json +5 -5
@@ -13,7 +13,8 @@ var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/patterns-cms/
13
13
  const _CmsFieldSettings = props => {
14
14
  const {
15
15
  state,
16
- fieldType
16
+ fieldType,
17
+ lockedRules
17
18
  } = props;
18
19
  const {
19
20
  translate
@@ -52,7 +53,7 @@ const _CmsFieldSettings = props => {
52
53
  __self: void 0,
53
54
  __source: {
54
55
  fileName: _jsxFileName,
55
- lineNumber: 71,
56
+ lineNumber: 72,
56
57
  columnNumber: 5
57
58
  }
58
59
  }, /*#__PURE__*/_react.default.createElement(_designSystem.FormField, {
@@ -62,7 +63,7 @@ const _CmsFieldSettings = props => {
62
63
  __self: void 0,
63
64
  __source: {
64
65
  fileName: _jsxFileName,
65
- lineNumber: 72,
66
+ lineNumber: 73,
66
67
  columnNumber: 7
67
68
  }
68
69
  }, /*#__PURE__*/_react.default.createElement(_designSystem.Input, {
@@ -74,7 +75,7 @@ const _CmsFieldSettings = props => {
74
75
  __self: void 0,
75
76
  __source: {
76
77
  fileName: _jsxFileName,
77
- lineNumber: 77,
78
+ lineNumber: 78,
78
79
  columnNumber: 9
79
80
  }
80
81
  })), /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
@@ -83,7 +84,7 @@ const _CmsFieldSettings = props => {
83
84
  __self: void 0,
84
85
  __source: {
85
86
  fileName: _jsxFileName,
86
- lineNumber: 85,
87
+ lineNumber: 86,
87
88
  columnNumber: 7
88
89
  }
89
90
  }, /*#__PURE__*/_react.default.createElement(_designSystem.Text, {
@@ -92,19 +93,24 @@ const _CmsFieldSettings = props => {
92
93
  __self: void 0,
93
94
  __source: {
94
95
  fileName: _jsxFileName,
95
- lineNumber: 86,
96
+ lineNumber: 87,
96
97
  columnNumber: 9
97
98
  }
98
99
  }, "Validation"), /*#__PURE__*/_react.default.createElement(_patternsFields.FieldValidationSettingsInput, {
99
100
  dataHook: "cms-field-settings-validation",
100
101
  data: state.validationSettings,
101
102
  rules: validationRules,
102
- invalid: state.hasError(fieldType),
103
+ invalid: state.hasError(fieldType)
104
+ // `lockedRules` is source-neutral (`readonly string[]`) — this
105
+ // section only supports locking 'required', so filter to that
106
+ // rather than asserting the whole list is a `FieldValidationRule[]`.
107
+ ,
108
+ disabledRules: lockedRules == null ? void 0 : lockedRules.filter(rule => rule === 'required'),
103
109
  onChange: state.setValidationSettings,
104
110
  __self: void 0,
105
111
  __source: {
106
112
  fileName: _jsxFileName,
107
- lineNumber: 89,
113
+ lineNumber: 90,
108
114
  columnNumber: 9
109
115
  }
110
116
  }), (0, _CmsFieldSettingsState.showsValueRange)(fieldType) && /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
@@ -113,7 +119,7 @@ const _CmsFieldSettings = props => {
113
119
  __self: void 0,
114
120
  __source: {
115
121
  fileName: _jsxFileName,
116
- lineNumber: 97,
122
+ lineNumber: 104,
117
123
  columnNumber: 11
118
124
  }
119
125
  }, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
@@ -123,7 +129,7 @@ const _CmsFieldSettings = props => {
123
129
  __self: void 0,
124
130
  __source: {
125
131
  fileName: _jsxFileName,
126
- lineNumber: 98,
132
+ lineNumber: 105,
127
133
  columnNumber: 13
128
134
  }
129
135
  }, /*#__PURE__*/_react.default.createElement(_designSystem.ToggleSwitch, {
@@ -134,7 +140,7 @@ const _CmsFieldSettings = props => {
134
140
  __self: void 0,
135
141
  __source: {
136
142
  fileName: _jsxFileName,
137
- lineNumber: 103,
143
+ lineNumber: 110,
138
144
  columnNumber: 15
139
145
  }
140
146
  }), /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
@@ -143,7 +149,7 @@ const _CmsFieldSettings = props => {
143
149
  __self: void 0,
144
150
  __source: {
145
151
  fileName: _jsxFileName,
146
- lineNumber: 109,
152
+ lineNumber: 116,
147
153
  columnNumber: 15
148
154
  }
149
155
  }, /*#__PURE__*/_react.default.createElement(_designSystem.Text, {
@@ -151,7 +157,7 @@ const _CmsFieldSettings = props => {
151
157
  __self: void 0,
152
158
  __source: {
153
159
  fileName: _jsxFileName,
154
- lineNumber: 110,
160
+ lineNumber: 117,
155
161
  columnNumber: 17
156
162
  }
157
163
  }, "Limit value range"), /*#__PURE__*/_react.default.createElement(_designSystem.InfoIcon, {
@@ -160,7 +166,7 @@ const _CmsFieldSettings = props => {
160
166
  __self: void 0,
161
167
  __source: {
162
168
  fileName: _jsxFileName,
163
- lineNumber: 111,
169
+ lineNumber: 118,
164
170
  columnNumber: 17
165
171
  }
166
172
  }))), state.valueRange && /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
@@ -169,7 +175,7 @@ const _CmsFieldSettings = props => {
169
175
  __self: void 0,
170
176
  __source: {
171
177
  fileName: _jsxFileName,
172
- lineNumber: 118,
178
+ lineNumber: 125,
173
179
  columnNumber: 15
174
180
  }
175
181
  }, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
@@ -177,7 +183,7 @@ const _CmsFieldSettings = props => {
177
183
  __self: void 0,
178
184
  __source: {
179
185
  fileName: _jsxFileName,
180
- lineNumber: 119,
186
+ lineNumber: 126,
181
187
  columnNumber: 17
182
188
  }
183
189
  }, /*#__PURE__*/_react.default.createElement(_designSystem.NumberInput, {
@@ -189,7 +195,7 @@ const _CmsFieldSettings = props => {
189
195
  __self: void 0,
190
196
  __source: {
191
197
  fileName: _jsxFileName,
192
- lineNumber: 120,
198
+ lineNumber: 127,
193
199
  columnNumber: 19
194
200
  }
195
201
  })), /*#__PURE__*/_react.default.createElement(_designSystem.Text, {
@@ -198,7 +204,7 @@ const _CmsFieldSettings = props => {
198
204
  __self: void 0,
199
205
  __source: {
200
206
  fileName: _jsxFileName,
201
- lineNumber: 128,
207
+ lineNumber: 135,
202
208
  columnNumber: 17
203
209
  }
204
210
  }, "and"), /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
@@ -206,7 +212,7 @@ const _CmsFieldSettings = props => {
206
212
  __self: void 0,
207
213
  __source: {
208
214
  fileName: _jsxFileName,
209
- lineNumber: 131,
215
+ lineNumber: 138,
210
216
  columnNumber: 17
211
217
  }
212
218
  }, /*#__PURE__*/_react.default.createElement(_designSystem.NumberInput, {
@@ -220,7 +226,7 @@ const _CmsFieldSettings = props => {
220
226
  __self: void 0,
221
227
  __source: {
222
228
  fileName: _jsxFileName,
223
- lineNumber: 132,
229
+ lineNumber: 139,
224
230
  columnNumber: 19
225
231
  }
226
232
  }))))));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_mobxReactLite","_designSystem","_patternsFields","_patterns","_CmsFieldSettingsState","_jsxFileName","_CmsFieldSettings","props","state","fieldType","translate","useWixPatternsContainer","valueRangeError","validationRules","getCmsFieldValidationRules","map","rule","type","label","tooltip","minLabel","maxLabel","separator","outOfBoundsError","min","max","maxBelowMinError","default","createElement","Box","direction","gap","__self","__source","fileName","lineNumber","columnNumber","FormField","dataHook","infoContent","Input","value","helpText","maxLength","placeholder","onChange","e","setHelpText","target","Text","size","secondary","FieldValidationSettingsInput","data","validationSettings","rules","invalid","hasError","setValidationSettings","showsValueRange","verticalAlign","ToggleSwitch","checked","valueRange","setValueRange","InfoIcon","content","width","NumberInput","minValue","setMinValue","undefined","maxValue","status","statusMessage","setMaxValue","exports","CmsFieldSettings","observer"],"sources":["../../../../src/adapter/fieldSettings/CmsFieldSettings.tsx"],"sourcesContent":["import React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport {\n Box,\n FormField,\n InfoIcon,\n Input,\n NumberInput,\n Text,\n ToggleSwitch,\n} from '@wix/design-system';\nimport {\n FieldValidationSettingsInput,\n type FieldValidationRuleConfig,\n} from '@wix/patterns-fields';\nimport type { FieldSettingsProps } from '@wix/patterns/schema';\nimport { useWixPatternsContainer } from '@wix/patterns';\nimport {\n CmsFieldSettingsState,\n getCmsFieldValidationRules,\n showsValueRange,\n} from './CmsFieldSettingsState';\n\nexport interface CmsFieldSettingsProps extends FieldSettingsProps {\n state: CmsFieldSettingsState;\n}\n\nexport const _CmsFieldSettings = (props: CmsFieldSettingsProps) => {\n const { state, fieldType } = props;\n const { translate } = useWixPatternsContainer();\n const { valueRangeError } = state;\n const validationRules = getCmsFieldValidationRules(fieldType).map(\n (rule): FieldValidationRuleConfig => {\n switch (rule) {\n case 'required':\n return {\n type: rule,\n label: translate('cairo.fieldValidation.required.label'),\n tooltip: translate('cairo.fieldValidation.required.tooltip'),\n };\n case 'charactersLimit':\n return {\n type: rule,\n label: translate('cairo.fieldValidation.charactersLimit.label'),\n tooltip: translate('cairo.fieldValidation.charactersLimit.tooltip'),\n minLabel: translate(\n 'cairo.fieldValidation.charactersLimit.minimum.label',\n ),\n maxLabel: translate(\n 'cairo.fieldValidation.charactersLimit.maximum.label',\n ),\n separator: translate(\n 'cairo.fieldValidation.charactersLimit.separator',\n ),\n outOfBoundsError: (min, max) =>\n translate(\n 'cairo.fieldValidation.charactersLimit.outOfBounds.error',\n { min, max },\n ),\n maxBelowMinError: translate(\n 'cairo.fieldValidation.charactersLimit.maxBelowMin.error',\n ),\n };\n }\n\n return rule;\n },\n );\n\n return (\n <Box direction=\"vertical\" gap=\"SP4\">\n <FormField\n dataHook=\"cms-field-settings-help-text\"\n label=\"Help text\"\n infoContent=\"Shown under the field when someone adds content to this collection.\"\n >\n <Input\n dataHook=\"cms-field-settings-help-text-input\"\n value={state.helpText}\n maxLength={200}\n placeholder=\"Add a short explanation\"\n onChange={(e) => state.setHelpText(e.target.value)}\n />\n </FormField>\n <Box direction=\"vertical\" gap=\"SP2\">\n <Text size=\"small\" secondary>\n Validation\n </Text>\n <FieldValidationSettingsInput\n dataHook=\"cms-field-settings-validation\"\n data={state.validationSettings}\n rules={validationRules}\n invalid={state.hasError(fieldType)}\n onChange={state.setValidationSettings}\n />\n {showsValueRange(fieldType) && (\n <Box direction=\"vertical\" gap=\"SP2\">\n <Box\n dataHook=\"cms-field-settings-value-range\"\n verticalAlign=\"middle\"\n gap=\"9px\"\n >\n <ToggleSwitch\n dataHook=\"cms-field-settings-value-range-toggle\"\n size=\"medium\"\n checked={state.valueRange}\n onChange={(e) => state.setValueRange(e.target.checked)}\n />\n <Box verticalAlign=\"middle\" gap=\"3px\">\n <Text size=\"small\">Limit value range</Text>\n <InfoIcon\n size=\"small\"\n content=\"Limit the values this field accepts for any newly added items.\"\n />\n </Box>\n </Box>\n {state.valueRange && (\n <Box verticalAlign=\"middle\" gap=\"SP2\">\n <Box width=\"112px\">\n <NumberInput\n dataHook=\"cms-field-settings-min-value\"\n size=\"small\"\n placeholder=\"min\"\n value={state.minValue}\n onChange={(value) => state.setMinValue(value ?? undefined)}\n />\n </Box>\n <Text size=\"small\" secondary>\n and\n </Text>\n <Box width=\"112px\">\n <NumberInput\n dataHook=\"cms-field-settings-max-value\"\n size=\"small\"\n placeholder=\"max\"\n value={state.maxValue}\n status={valueRangeError ? 'error' : undefined}\n statusMessage={valueRangeError}\n onChange={(value) => state.setMaxValue(value ?? undefined)}\n />\n </Box>\n </Box>\n )}\n </Box>\n )}\n </Box>\n </Box>\n );\n};\n\nexport const CmsFieldSettings = observer(_CmsFieldSettings);\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AASA,IAAAG,eAAA,GAAAH,OAAA;AAKA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAL,OAAA;AAIiC,IAAAM,YAAA;AAM1B,MAAMC,iBAAiB,GAAIC,KAA4B,IAAK;EACjE,MAAM;IAAEC,KAAK;IAAEC;EAAU,CAAC,GAAGF,KAAK;EAClC,MAAM;IAAEG;EAAU,CAAC,GAAG,IAAAC,iCAAuB,EAAC,CAAC;EAC/C,MAAM;IAAEC;EAAgB,CAAC,GAAGJ,KAAK;EACjC,MAAMK,eAAe,GAAG,IAAAC,iDAA0B,EAACL,SAAS,CAAC,CAACM,GAAG,CAC9DC,IAAI,IAAgC;IACnC,QAAQA,IAAI;MACV,KAAK,UAAU;QACb,OAAO;UACLC,IAAI,EAAED,IAAI;UACVE,KAAK,EAAER,SAAS,CAAC,sCAAsC,CAAC;UACxDS,OAAO,EAAET,SAAS,CAAC,wCAAwC;QAC7D,CAAC;MACH,KAAK,iBAAiB;QACpB,OAAO;UACLO,IAAI,EAAED,IAAI;UACVE,KAAK,EAAER,SAAS,CAAC,6CAA6C,CAAC;UAC/DS,OAAO,EAAET,SAAS,CAAC,+CAA+C,CAAC;UACnEU,QAAQ,EAAEV,SAAS,CACjB,qDACF,CAAC;UACDW,QAAQ,EAAEX,SAAS,CACjB,qDACF,CAAC;UACDY,SAAS,EAAEZ,SAAS,CAClB,iDACF,CAAC;UACDa,gBAAgB,EAAEA,CAACC,GAAG,EAAEC,GAAG,KACzBf,SAAS,CACP,yDAAyD,EACzD;YAAEc,GAAG;YAAEC;UAAI,CACb,CAAC;UACHC,gBAAgB,EAAEhB,SAAS,CACzB,yDACF;QACF,CAAC;IACL;IAEA,OAAOM,IAAI;EACb,CACF,CAAC;EAED,oBACEnB,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAA4B,GAAG;IAACC,SAAS,EAAC,UAAU;IAACC,GAAG,EAAC,KAAK;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACjCvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAAoC,SAAS;IACRC,QAAQ,EAAC,8BAA8B;IACvCpB,KAAK,EAAC,WAAW;IACjBqB,WAAW,EAAC,qEAAqE;IAAAP,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAEjFvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAAuC,KAAK;IACJF,QAAQ,EAAC,oCAAoC;IAC7CG,KAAK,EAAEjC,KAAK,CAACkC,QAAS;IACtBC,SAAS,EAAE,GAAI;IACfC,WAAW,EAAC,yBAAyB;IACrCC,QAAQ,EAAGC,CAAC,IAAKtC,KAAK,CAACuC,WAAW,CAACD,CAAC,CAACE,MAAM,CAACP,KAAK,CAAE;IAAAT,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,CACpD,CACQ,CAAC,eACZvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAA4B,GAAG;IAACC,SAAS,EAAC,UAAU;IAACC,GAAG,EAAC,KAAK;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACjCvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAAgD,IAAI;IAACC,IAAI,EAAC,OAAO;IAACC,SAAS;IAAAnB,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,GAAC,YAEvB,CAAC,eACPvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC1B,eAAA,CAAAkD,4BAA4B;IAC3Bd,QAAQ,EAAC,+BAA+B;IACxCe,IAAI,EAAE7C,KAAK,CAAC8C,kBAAmB;IAC/BC,KAAK,EAAE1C,eAAgB;IACvB2C,OAAO,EAAEhD,KAAK,CAACiD,QAAQ,CAAChD,SAAS,CAAE;IACnCoC,QAAQ,EAAErC,KAAK,CAACkD,qBAAsB;IAAA1B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,CACvC,CAAC,EACD,IAAAuB,sCAAe,EAAClD,SAAS,CAAC,iBACzBZ,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAA4B,GAAG;IAACC,SAAS,EAAC,UAAU;IAACC,GAAG,EAAC,KAAK;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACjCvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAA4B,GAAG;IACFS,QAAQ,EAAC,gCAAgC;IACzCsB,aAAa,EAAC,QAAQ;IACtB7B,GAAG,EAAC,KAAK;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAETvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAA4D,YAAY;IACXvB,QAAQ,EAAC,uCAAuC;IAChDY,IAAI,EAAC,QAAQ;IACbY,OAAO,EAAEtD,KAAK,CAACuD,UAAW;IAC1BlB,QAAQ,EAAGC,CAAC,IAAKtC,KAAK,CAACwD,aAAa,CAAClB,CAAC,CAACE,MAAM,CAACc,OAAO,CAAE;IAAA9B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,CACxD,CAAC,eACFvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAA4B,GAAG;IAAC+B,aAAa,EAAC,QAAQ;IAAC7B,GAAG,EAAC,KAAK;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACnCvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAAgD,IAAI;IAACC,IAAI,EAAC,OAAO;IAAAlB,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,GAAC,mBAAuB,CAAC,eAC3CvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAAgE,QAAQ;IACPf,IAAI,EAAC,OAAO;IACZgB,OAAO,EAAC,gEAAgE;IAAAlC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,CACzE,CACE,CACF,CAAC,EACL5B,KAAK,CAACuD,UAAU,iBACflE,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAA4B,GAAG;IAAC+B,aAAa,EAAC,QAAQ;IAAC7B,GAAG,EAAC,KAAK;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACnCvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAA4B,GAAG;IAACsC,KAAK,EAAC,OAAO;IAAAnC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAChBvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAAmE,WAAW;IACV9B,QAAQ,EAAC,8BAA8B;IACvCY,IAAI,EAAC,OAAO;IACZN,WAAW,EAAC,KAAK;IACjBH,KAAK,EAAEjC,KAAK,CAAC6D,QAAS;IACtBxB,QAAQ,EAAGJ,KAAK,IAAKjC,KAAK,CAAC8D,WAAW,CAAC7B,KAAK,IAAI8B,SAAS,CAAE;IAAAvC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,CAC5D,CACE,CAAC,eACNvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAAgD,IAAI;IAACC,IAAI,EAAC,OAAO;IAACC,SAAS;IAAAnB,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,GAAC,KAEvB,CAAC,eACPvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAA4B,GAAG;IAACsC,KAAK,EAAC,OAAO;IAAAnC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAChBvC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAAmE,WAAW;IACV9B,QAAQ,EAAC,8BAA8B;IACvCY,IAAI,EAAC,OAAO;IACZN,WAAW,EAAC,KAAK;IACjBH,KAAK,EAAEjC,KAAK,CAACgE,QAAS;IACtBC,MAAM,EAAE7D,eAAe,GAAG,OAAO,GAAG2D,SAAU;IAC9CG,aAAa,EAAE9D,eAAgB;IAC/BiC,QAAQ,EAAGJ,KAAK,IAAKjC,KAAK,CAACmE,WAAW,CAAClC,KAAK,IAAI8B,SAAS,CAAE;IAAAvC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA7B,YAAA;MAAA8B,UAAA;MAAAC,YAAA;IAAA;EAAA,CAC5D,CACE,CACF,CAEJ,CAEJ,CACF,CAAC;AAEV,CAAC;AAACwC,OAAA,CAAAtE,iBAAA,GAAAA,iBAAA;AAEK,MAAMuE,gBAAgB,GAAAD,OAAA,CAAAC,gBAAA,GAAG,IAAAC,uBAAQ,EAACxE,iBAAiB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_mobxReactLite","_designSystem","_patternsFields","_patterns","_CmsFieldSettingsState","_jsxFileName","_CmsFieldSettings","props","state","fieldType","lockedRules","translate","useWixPatternsContainer","valueRangeError","validationRules","getCmsFieldValidationRules","map","rule","type","label","tooltip","minLabel","maxLabel","separator","outOfBoundsError","min","max","maxBelowMinError","default","createElement","Box","direction","gap","__self","__source","fileName","lineNumber","columnNumber","FormField","dataHook","infoContent","Input","value","helpText","maxLength","placeholder","onChange","e","setHelpText","target","Text","size","secondary","FieldValidationSettingsInput","data","validationSettings","rules","invalid","hasError","disabledRules","filter","setValidationSettings","showsValueRange","verticalAlign","ToggleSwitch","checked","valueRange","setValueRange","InfoIcon","content","width","NumberInput","minValue","setMinValue","undefined","maxValue","status","statusMessage","setMaxValue","exports","CmsFieldSettings","observer"],"sources":["../../../../src/adapter/fieldSettings/CmsFieldSettings.tsx"],"sourcesContent":["import React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport {\n Box,\n FormField,\n InfoIcon,\n Input,\n NumberInput,\n Text,\n ToggleSwitch,\n} from '@wix/design-system';\nimport {\n FieldValidationSettingsInput,\n type FieldValidationRule,\n type FieldValidationRuleConfig,\n} from '@wix/patterns-fields';\nimport type { FieldSettingsProps } from '@wix/patterns/schema';\nimport { useWixPatternsContainer } from '@wix/patterns';\nimport {\n CmsFieldSettingsState,\n getCmsFieldValidationRules,\n showsValueRange,\n} from './CmsFieldSettingsState';\n\nexport interface CmsFieldSettingsProps extends FieldSettingsProps {\n state: CmsFieldSettingsState;\n}\n\nexport const _CmsFieldSettings = (props: CmsFieldSettingsProps) => {\n const { state, fieldType, lockedRules } = props;\n const { translate } = useWixPatternsContainer();\n const { valueRangeError } = state;\n const validationRules = getCmsFieldValidationRules(fieldType).map(\n (rule): FieldValidationRuleConfig => {\n switch (rule) {\n case 'required':\n return {\n type: rule,\n label: translate('cairo.fieldValidation.required.label'),\n tooltip: translate('cairo.fieldValidation.required.tooltip'),\n };\n case 'charactersLimit':\n return {\n type: rule,\n label: translate('cairo.fieldValidation.charactersLimit.label'),\n tooltip: translate('cairo.fieldValidation.charactersLimit.tooltip'),\n minLabel: translate(\n 'cairo.fieldValidation.charactersLimit.minimum.label',\n ),\n maxLabel: translate(\n 'cairo.fieldValidation.charactersLimit.maximum.label',\n ),\n separator: translate(\n 'cairo.fieldValidation.charactersLimit.separator',\n ),\n outOfBoundsError: (min, max) =>\n translate(\n 'cairo.fieldValidation.charactersLimit.outOfBounds.error',\n { min, max },\n ),\n maxBelowMinError: translate(\n 'cairo.fieldValidation.charactersLimit.maxBelowMin.error',\n ),\n };\n }\n\n return rule;\n },\n );\n\n return (\n <Box direction=\"vertical\" gap=\"SP4\">\n <FormField\n dataHook=\"cms-field-settings-help-text\"\n label=\"Help text\"\n infoContent=\"Shown under the field when someone adds content to this collection.\"\n >\n <Input\n dataHook=\"cms-field-settings-help-text-input\"\n value={state.helpText}\n maxLength={200}\n placeholder=\"Add a short explanation\"\n onChange={(e) => state.setHelpText(e.target.value)}\n />\n </FormField>\n <Box direction=\"vertical\" gap=\"SP2\">\n <Text size=\"small\" secondary>\n Validation\n </Text>\n <FieldValidationSettingsInput\n dataHook=\"cms-field-settings-validation\"\n data={state.validationSettings}\n rules={validationRules}\n invalid={state.hasError(fieldType)}\n // `lockedRules` is source-neutral (`readonly string[]`) — this\n // section only supports locking 'required', so filter to that\n // rather than asserting the whole list is a `FieldValidationRule[]`.\n disabledRules={lockedRules?.filter(\n (rule): rule is FieldValidationRule => rule === 'required',\n )}\n onChange={state.setValidationSettings}\n />\n {showsValueRange(fieldType) && (\n <Box direction=\"vertical\" gap=\"SP2\">\n <Box\n dataHook=\"cms-field-settings-value-range\"\n verticalAlign=\"middle\"\n gap=\"9px\"\n >\n <ToggleSwitch\n dataHook=\"cms-field-settings-value-range-toggle\"\n size=\"medium\"\n checked={state.valueRange}\n onChange={(e) => state.setValueRange(e.target.checked)}\n />\n <Box verticalAlign=\"middle\" gap=\"3px\">\n <Text size=\"small\">Limit value range</Text>\n <InfoIcon\n size=\"small\"\n content=\"Limit the values this field accepts for any newly added items.\"\n />\n </Box>\n </Box>\n {state.valueRange && (\n <Box verticalAlign=\"middle\" gap=\"SP2\">\n <Box width=\"112px\">\n <NumberInput\n dataHook=\"cms-field-settings-min-value\"\n size=\"small\"\n placeholder=\"min\"\n value={state.minValue}\n onChange={(value) => state.setMinValue(value ?? undefined)}\n />\n </Box>\n <Text size=\"small\" secondary>\n and\n </Text>\n <Box width=\"112px\">\n <NumberInput\n dataHook=\"cms-field-settings-max-value\"\n size=\"small\"\n placeholder=\"max\"\n value={state.maxValue}\n status={valueRangeError ? 'error' : undefined}\n statusMessage={valueRangeError}\n onChange={(value) => state.setMaxValue(value ?? undefined)}\n />\n </Box>\n </Box>\n )}\n </Box>\n )}\n </Box>\n </Box>\n );\n};\n\nexport const CmsFieldSettings = observer(_CmsFieldSettings);\n"],"mappings":"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","ignoreList":[]}
@@ -66,5 +66,18 @@ describe('CmsFieldSettings', () => {
66
66
  required: false
67
67
  });
68
68
  });
69
+ it('filters lockedRules down to the rules this section supports, ignoring the rest', () => {
70
+ const state = new _CmsFieldSettingsState.CmsFieldSettingsState();
71
+ const tree = (0, _CmsFieldSettings2._CmsFieldSettings)({
72
+ state,
73
+ fieldType: 'SHORT_TEXT',
74
+ lockedRules: ['type', 'required']
75
+ });
76
+ const input = findValidationSettingsInput(tree);
77
+ if (!input) {
78
+ throw new Error('FieldValidationSettingsInput was not rendered');
79
+ }
80
+ expect(input.props.disabledRules).toEqual(['required']);
81
+ });
69
82
  });
70
83
  //# sourceMappingURL=CmsFieldSettings.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_CmsFieldSettings2","_CmsFieldSettingsState","mockFieldValidationSettingsInput","jest","fn","mock","requireActual","FieldValidationSettingsInput","props","useWixPatternsContainer","translate","key","params","min","max","virtual","findValidationSettingsInput","node","React","isValidElement","undefined","dataHook","Children","toArray","children","map","find","Boolean","describe","it","state","CmsFieldSettingsState","setValidationSettings","required","charactersLimit","tree","_CmsFieldSettings","fieldType","input","Error","expect","rules","type","toEqual","toMatchObject","label","maxBelowMinError","data","invalid","toBe","onChange","validationSettings"],"sources":["../../../../src/adapter/fieldSettings/CmsFieldSettings.spec.tsx"],"sourcesContent":["import React from 'react';\nimport type { FieldValidationSettingsInputProps } from '@wix/patterns-fields';\nimport {\n _CmsFieldSettings,\n type CmsFieldSettingsProps,\n} from './CmsFieldSettings';\nimport { CmsFieldSettingsState } from './CmsFieldSettingsState';\n\nconst mockFieldValidationSettingsInput = jest.fn<\n null,\n [FieldValidationSettingsInputProps]\n>(() => null);\n\njest.mock('@wix/patterns-fields', () => ({\n ...jest.requireActual('@wix/patterns-fields'),\n FieldValidationSettingsInput: (props: FieldValidationSettingsInputProps) =>\n mockFieldValidationSettingsInput(props),\n}));\n\njest.mock(\n '@wix/patterns',\n () => ({\n useWixPatternsContainer: () => ({\n translate: (key: string, params?: Record<string, number>) =>\n params ? `${key}:${params.min}-${params.max}` : key,\n }),\n }),\n { virtual: true },\n);\n\nconst findValidationSettingsInput = (\n node: React.ReactNode,\n): React.ReactElement<FieldValidationSettingsInputProps> | undefined => {\n if (!React.isValidElement(node)) {\n return undefined;\n }\n if (node.props.dataHook === 'cms-field-settings-validation') {\n return node as React.ReactElement<FieldValidationSettingsInputProps>;\n }\n\n return React.Children.toArray(node.props.children)\n .map(findValidationSettingsInput)\n .find(Boolean);\n};\n\ndescribe('CmsFieldSettings', () => {\n it('passes ordered translated rules and controlled validation state', () => {\n const state = new CmsFieldSettingsState();\n state.setValidationSettings({\n required: true,\n charactersLimit: { min: 20, max: 2 },\n });\n\n const tree = _CmsFieldSettings({\n state,\n fieldType: 'SHORT_TEXT',\n } as CmsFieldSettingsProps);\n\n const input = findValidationSettingsInput(tree);\n if (!input) {\n throw new Error('FieldValidationSettingsInput was not rendered');\n }\n const props = input.props;\n expect(props.rules.map(({ type }) => type)).toEqual([\n 'required',\n 'charactersLimit',\n ]);\n expect(props.rules[1]).toMatchObject({\n label: 'cairo.fieldValidation.charactersLimit.label',\n maxBelowMinError:\n 'cairo.fieldValidation.charactersLimit.maxBelowMin.error',\n });\n expect(props.data).toEqual({\n required: true,\n charactersLimit: { min: 20, max: 2 },\n });\n expect(props.invalid).toBe(true);\n\n props.onChange({ required: false });\n expect(state.validationSettings).toEqual({ required: false });\n });\n});\n"],"mappings":";;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AAIA,IAAAE,sBAAA,GAAAF,OAAA;AAEA,MAAMG,gCAAgC,GAAGC,IAAI,CAACC,EAAE,CAG9C,MAAM,IAAI,CAAC;AAEbD,IAAI,CAACE,IAAI,CAAC,sBAAsB,EAAE,OAAO;EACvC,GAAGF,IAAI,CAACG,aAAa,CAAC,sBAAsB,CAAC;EAC7CC,4BAA4B,EAAGC,KAAwC,IACrEN,gCAAgC,CAACM,KAAK;AAC1C,CAAC,CAAC,CAAC;AAEHL,IAAI,CAACE,IAAI,CACP,eAAe,EACf,OAAO;EACLI,uBAAuB,EAAEA,CAAA,MAAO;IAC9BC,SAAS,EAAEA,CAACC,GAAW,EAAEC,MAA+B,KACtDA,MAAM,GAAG,GAAGD,GAAG,IAAIC,MAAM,CAACC,GAAG,IAAID,MAAM,CAACE,GAAG,EAAE,GAAGH;EACpD,CAAC;AACH,CAAC,CAAC,EACF;EAAEI,OAAO,EAAE;AAAK,CAClB,CAAC;AAED,MAAMC,2BAA2B,GAC/BC,IAAqB,IACiD;EACtE,IAAI,eAACC,cAAK,CAACC,cAAc,CAACF,IAAI,CAAC,EAAE;IAC/B,OAAOG,SAAS;EAClB;EACA,IAAIH,IAAI,CAACT,KAAK,CAACa,QAAQ,KAAK,+BAA+B,EAAE;IAC3D,OAAOJ,IAAI;EACb;EAEA,OAAOC,cAAK,CAACI,QAAQ,CAACC,OAAO,CAACN,IAAI,CAACT,KAAK,CAACgB,QAAQ,CAAC,CAC/CC,GAAG,CAACT,2BAA2B,CAAC,CAChCU,IAAI,CAACC,OAAO,CAAC;AAClB,CAAC;AAEDC,QAAQ,CAAC,kBAAkB,EAAE,MAAM;EACjCC,EAAE,CAAC,iEAAiE,EAAE,MAAM;IAC1E,MAAMC,KAAK,GAAG,IAAIC,4CAAqB,CAAC,CAAC;IACzCD,KAAK,CAACE,qBAAqB,CAAC;MAC1BC,QAAQ,EAAE,IAAI;MACdC,eAAe,EAAE;QAAErB,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE;IACrC,CAAC,CAAC;IAEF,MAAMqB,IAAI,GAAG,IAAAC,oCAAiB,EAAC;MAC7BN,KAAK;MACLO,SAAS,EAAE;IACb,CAA0B,CAAC;IAE3B,MAAMC,KAAK,GAAGtB,2BAA2B,CAACmB,IAAI,CAAC;IAC/C,IAAI,CAACG,KAAK,EAAE;MACV,MAAM,IAAIC,KAAK,CAAC,+CAA+C,CAAC;IAClE;IACA,MAAM/B,KAAK,GAAG8B,KAAK,CAAC9B,KAAK;IACzBgC,MAAM,CAAChC,KAAK,CAACiC,KAAK,CAAChB,GAAG,CAAC,CAAC;MAAEiB;IAAK,CAAC,KAAKA,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAClD,UAAU,EACV,iBAAiB,CAClB,CAAC;IACFH,MAAM,CAAChC,KAAK,CAACiC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACG,aAAa,CAAC;MACnCC,KAAK,EAAE,6CAA6C;MACpDC,gBAAgB,EACd;IACJ,CAAC,CAAC;IACFN,MAAM,CAAChC,KAAK,CAACuC,IAAI,CAAC,CAACJ,OAAO,CAAC;MACzBV,QAAQ,EAAE,IAAI;MACdC,eAAe,EAAE;QAAErB,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE;IACrC,CAAC,CAAC;IACF0B,MAAM,CAAChC,KAAK,CAACwC,OAAO,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IAEhCzC,KAAK,CAAC0C,QAAQ,CAAC;MAAEjB,QAAQ,EAAE;IAAM,CAAC,CAAC;IACnCO,MAAM,CAACV,KAAK,CAACqB,kBAAkB,CAAC,CAACR,OAAO,CAAC;MAAEV,QAAQ,EAAE;IAAM,CAAC,CAAC;EAC/D,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_CmsFieldSettings2","_CmsFieldSettingsState","mockFieldValidationSettingsInput","jest","fn","mock","requireActual","FieldValidationSettingsInput","props","useWixPatternsContainer","translate","key","params","min","max","virtual","findValidationSettingsInput","node","React","isValidElement","undefined","dataHook","Children","toArray","children","map","find","Boolean","describe","it","state","CmsFieldSettingsState","setValidationSettings","required","charactersLimit","tree","_CmsFieldSettings","fieldType","input","Error","expect","rules","type","toEqual","toMatchObject","label","maxBelowMinError","data","invalid","toBe","onChange","validationSettings","lockedRules","disabledRules"],"sources":["../../../../src/adapter/fieldSettings/CmsFieldSettings.spec.tsx"],"sourcesContent":["import React from 'react';\nimport type { FieldValidationSettingsInputProps } from '@wix/patterns-fields';\nimport {\n _CmsFieldSettings,\n type CmsFieldSettingsProps,\n} from './CmsFieldSettings';\nimport { CmsFieldSettingsState } from './CmsFieldSettingsState';\n\nconst mockFieldValidationSettingsInput = jest.fn<\n null,\n [FieldValidationSettingsInputProps]\n>(() => null);\n\njest.mock('@wix/patterns-fields', () => ({\n ...jest.requireActual('@wix/patterns-fields'),\n FieldValidationSettingsInput: (props: FieldValidationSettingsInputProps) =>\n mockFieldValidationSettingsInput(props),\n}));\n\njest.mock(\n '@wix/patterns',\n () => ({\n useWixPatternsContainer: () => ({\n translate: (key: string, params?: Record<string, number>) =>\n params ? `${key}:${params.min}-${params.max}` : key,\n }),\n }),\n { virtual: true },\n);\n\nconst findValidationSettingsInput = (\n node: React.ReactNode,\n): React.ReactElement<FieldValidationSettingsInputProps> | undefined => {\n if (!React.isValidElement(node)) {\n return undefined;\n }\n if (node.props.dataHook === 'cms-field-settings-validation') {\n return node as React.ReactElement<FieldValidationSettingsInputProps>;\n }\n\n return React.Children.toArray(node.props.children)\n .map(findValidationSettingsInput)\n .find(Boolean);\n};\n\ndescribe('CmsFieldSettings', () => {\n it('passes ordered translated rules and controlled validation state', () => {\n const state = new CmsFieldSettingsState();\n state.setValidationSettings({\n required: true,\n charactersLimit: { min: 20, max: 2 },\n });\n\n const tree = _CmsFieldSettings({\n state,\n fieldType: 'SHORT_TEXT',\n } as CmsFieldSettingsProps);\n\n const input = findValidationSettingsInput(tree);\n if (!input) {\n throw new Error('FieldValidationSettingsInput was not rendered');\n }\n const props = input.props;\n expect(props.rules.map(({ type }) => type)).toEqual([\n 'required',\n 'charactersLimit',\n ]);\n expect(props.rules[1]).toMatchObject({\n label: 'cairo.fieldValidation.charactersLimit.label',\n maxBelowMinError:\n 'cairo.fieldValidation.charactersLimit.maxBelowMin.error',\n });\n expect(props.data).toEqual({\n required: true,\n charactersLimit: { min: 20, max: 2 },\n });\n expect(props.invalid).toBe(true);\n\n props.onChange({ required: false });\n expect(state.validationSettings).toEqual({ required: false });\n });\n\n it('filters lockedRules down to the rules this section supports, ignoring the rest', () => {\n const state = new CmsFieldSettingsState();\n\n const tree = _CmsFieldSettings({\n state,\n fieldType: 'SHORT_TEXT',\n lockedRules: ['type', 'required'],\n } as CmsFieldSettingsProps);\n\n const input = findValidationSettingsInput(tree);\n if (!input) {\n throw new Error('FieldValidationSettingsInput was not rendered');\n }\n expect(input.props.disabledRules).toEqual(['required']);\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -61,7 +61,8 @@ class CmsFieldSettingsState {
61
61
  setMinValue: _mobx.action.bound,
62
62
  setMaxValue: _mobx.action.bound,
63
63
  setHelpText: _mobx.action.bound,
64
- setValues: _mobx.action.bound
64
+ setValues: _mobx.action.bound,
65
+ setInitialValues: _mobx.action.bound
65
66
  });
66
67
  }
67
68
  get validationSettings() {
@@ -130,6 +131,11 @@ class CmsFieldSettingsState {
130
131
  this.maxValue = values == null ? void 0 : values.max;
131
132
  this.valueRange = (values == null ? void 0 : values.min) != null || (values == null ? void 0 : values.max) != null;
132
133
  }
134
+ setInitialValues(initial) {
135
+ if (initial.required !== undefined) {
136
+ this.required = initial.required;
137
+ }
138
+ }
133
139
  }
134
140
  exports.CmsFieldSettingsState = CmsFieldSettingsState;
135
141
  //# sourceMappingURL=CmsFieldSettingsState.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_patternsFields","CHARACTERS_LIMIT_TYPES","VALUE_RANGE_TYPES","showsRequired","fieldType","Boolean","exports","showsCharactersLimit","some","type","showsValueRange","getCmsFieldValidationRules","rules","push","maxBelowMin","min","max","undefined","CmsFieldSettingsState","constructor","_defineProperty2","default","makeObservable","required","observable","ref","charactersLimit","minCharacters","maxCharacters","valueRange","minValue","maxValue","helpText","validationSettings","computed","valueRangeError","setValidationSettings","action","bound","setValueRange","setMinValue","setMaxValue","setHelpText","setValues","value","_value$charactersLimi","_value$charactersLimi2","hasError","hasFieldValidationSettingsError","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';\nimport {\n hasFieldValidationSettingsError,\n type FieldValidationRule,\n type FieldValidationSettingsValue,\n} from '@wix/patterns-fields';\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/** 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\nexport type CmsFieldValidationRule = Extract<\n FieldValidationRule,\n 'required' | 'charactersLimit'\n>;\n\nexport const getCmsFieldValidationRules = (\n fieldType?: string,\n): CmsFieldValidationRule[] => {\n const rules: CmsFieldValidationRule[] = [];\n\n if (showsRequired(fieldType)) {\n rules.push('required');\n }\n if (showsCharactersLimit(fieldType)) {\n rules.push('charactersLimit');\n }\n\n return rules;\n};\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: boolean | undefined = undefined;\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 validationSettings: computed,\n valueRangeError: computed,\n setValidationSettings: action.bound,\n setValueRange: action.bound,\n setMinValue: action.bound,\n setMaxValue: action.bound,\n setHelpText: action.bound,\n setValues: action.bound,\n });\n }\n\n get validationSettings(): FieldValidationSettingsValue {\n return {\n required: this.required,\n ...(this.charactersLimit && {\n charactersLimit: {\n min: this.minCharacters,\n max: this.maxCharacters,\n },\n }),\n };\n }\n\n get valueRangeError() {\n return maxBelowMin(this.minValue, this.maxValue);\n }\n\n setValidationSettings(value: FieldValidationSettingsValue) {\n this.required = value.required;\n this.charactersLimit = value.charactersLimit !== undefined;\n this.minCharacters = value.charactersLimit?.min;\n this.maxCharacters = value.charactersLimit?.max;\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 hasError(fieldType?: string) {\n return (\n (showsCharactersLimit(fieldType) &&\n hasFieldValidationSettingsError(\n this.validationSettings,\n getCmsFieldValidationRules(fieldType),\n )) ||\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 : 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;\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":[]}
1
+ {"version":3,"names":["_mobx","require","_patternsFields","CHARACTERS_LIMIT_TYPES","VALUE_RANGE_TYPES","showsRequired","fieldType","Boolean","exports","showsCharactersLimit","some","type","showsValueRange","getCmsFieldValidationRules","rules","push","maxBelowMin","min","max","undefined","CmsFieldSettingsState","constructor","_defineProperty2","default","makeObservable","required","observable","ref","charactersLimit","minCharacters","maxCharacters","valueRange","minValue","maxValue","helpText","validationSettings","computed","valueRangeError","setValidationSettings","action","bound","setValueRange","setMinValue","setMaxValue","setHelpText","setValues","setInitialValues","value","_value$charactersLimi","_value$charactersLimi2","hasError","hasFieldValidationSettingsError","getValues","limit","range","characters","minLength","maxLength","values","field","_field$validation","_field$validation2","_field$validation3","validation","stringLengthRange","numberRange","initial"],"sources":["../../../../src/adapter/fieldSettings/CmsFieldSettingsState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport type { Field, PatternsFieldType } from '@wix/patterns';\nimport {\n hasFieldValidationSettingsError,\n type FieldValidationRule,\n type FieldValidationSettingsValue,\n} from '@wix/patterns-fields';\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/** 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\nexport type CmsFieldValidationRule = Extract<\n FieldValidationRule,\n 'required' | 'charactersLimit'\n>;\n\nexport const getCmsFieldValidationRules = (\n fieldType?: string,\n): CmsFieldValidationRule[] => {\n const rules: CmsFieldValidationRule[] = [];\n\n if (showsRequired(fieldType)) {\n rules.push('required');\n }\n if (showsCharactersLimit(fieldType)) {\n rules.push('charactersLimit');\n }\n\n return rules;\n};\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: boolean | undefined = undefined;\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 validationSettings: computed,\n valueRangeError: computed,\n setValidationSettings: action.bound,\n setValueRange: action.bound,\n setMinValue: action.bound,\n setMaxValue: action.bound,\n setHelpText: action.bound,\n setValues: action.bound,\n setInitialValues: action.bound,\n });\n }\n\n get validationSettings(): FieldValidationSettingsValue {\n return {\n required: this.required,\n ...(this.charactersLimit && {\n charactersLimit: {\n min: this.minCharacters,\n max: this.maxCharacters,\n },\n }),\n };\n }\n\n get valueRangeError() {\n return maxBelowMin(this.minValue, this.maxValue);\n }\n\n setValidationSettings(value: FieldValidationSettingsValue) {\n this.required = value.required;\n this.charactersLimit = value.charactersLimit !== undefined;\n this.minCharacters = value.charactersLimit?.min;\n this.maxCharacters = value.charactersLimit?.max;\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 hasError(fieldType?: string) {\n return (\n (showsCharactersLimit(fieldType) &&\n hasFieldValidationSettingsError(\n this.validationSettings,\n getCmsFieldValidationRules(fieldType),\n )) ||\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 : 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;\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 setInitialValues(initial: { required?: boolean }) {\n if (initial.required !== undefined) {\n this.required = initial.required;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -79,6 +79,23 @@ describe('CmsFieldSettingsState validation settings', () => {
79
79
  });
80
80
  expect(state.hasError('SHORT_TEXT')).toBe(true);
81
81
  });
82
+ it('prefills required from setInitialValues without touching other fields', () => {
83
+ const state = new _CmsFieldSettingsState.CmsFieldSettingsState();
84
+ state.setHelpText('Existing help text');
85
+ state.setInitialValues({
86
+ required: true
87
+ });
88
+ expect(state.required).toBe(true);
89
+ expect(state.helpText).toBe('Existing help text');
90
+ });
91
+ it('leaves required untouched when setInitialValues omits it', () => {
92
+ const state = new _CmsFieldSettingsState.CmsFieldSettingsState();
93
+ state.setValidationSettings({
94
+ required: true
95
+ });
96
+ state.setInitialValues({});
97
+ expect(state.required).toBe(true);
98
+ });
82
99
  it('keeps the number-only value range separate', () => {
83
100
  const state = new _CmsFieldSettingsState.CmsFieldSettingsState();
84
101
  state.setValueRange(true);
@@ -1 +1 @@
1
- {"version":3,"names":["_CmsFieldSettingsState","require","describe","it","expect","getCmsFieldValidationRules","toEqual","state","CmsFieldSettingsState","setValidationSettings","required","charactersLimit","min","max","validationSettings","getValues","helpText","characters","minLength","maxLength","values","undefined","toBe","hasError","setValueRange","setMinValue","setMaxValue"],"sources":["../../../../src/adapter/fieldSettings/CmsFieldSettingsState.spec.ts"],"sourcesContent":["import {\n CmsFieldSettingsState,\n getCmsFieldValidationRules,\n} from './CmsFieldSettingsState';\n\ndescribe('CmsFieldSettingsState validation settings', () => {\n it('defines required before character limits for short text', () => {\n expect(getCmsFieldValidationRules('SHORT_TEXT')).toEqual([\n 'required',\n 'charactersLimit',\n ]);\n expect(getCmsFieldValidationRules('NUMBER')).toEqual(['required']);\n expect(getCmsFieldValidationRules()).toEqual([]);\n });\n\n it('round trips required and character limits through the controlled value', () => {\n const state = new CmsFieldSettingsState();\n\n state.setValidationSettings({\n required: true,\n charactersLimit: { min: 2, max: 20 },\n });\n\n expect(state.validationSettings).toEqual({\n required: true,\n charactersLimit: { min: 2, max: 20 },\n });\n expect(state.getValues('SHORT_TEXT')).toEqual({\n helpText: '',\n required: true,\n characters: { minLength: 2, maxLength: 20 },\n values: undefined,\n });\n });\n\n it('preserves absent required while editing character limits', () => {\n const state = new CmsFieldSettingsState();\n\n state.setValidationSettings({ charactersLimit: { min: 2, max: 20 } });\n\n expect(state.validationSettings).toEqual({\n required: undefined,\n charactersLimit: { min: 2, max: 20 },\n });\n expect(state.getValues('SHORT_TEXT').required).toBe(false);\n });\n\n it('reports character violations before the section renders', () => {\n const state = new CmsFieldSettingsState();\n state.setValidationSettings({ charactersLimit: { min: 20, max: 2 } });\n\n expect(state.hasError('SHORT_TEXT')).toBe(true);\n expect(state.hasError('NUMBER')).toBe(false);\n });\n\n it('preserves invalid character drafts instead of normalizing them', () => {\n const state = new CmsFieldSettingsState();\n state.setValidationSettings({\n required: true,\n charactersLimit: { min: 0, max: 256_001 },\n });\n\n expect(state.validationSettings).toEqual({\n required: true,\n charactersLimit: { min: 0, max: 256_001 },\n });\n expect(state.hasError('SHORT_TEXT')).toBe(true);\n });\n\n it('keeps the number-only value range separate', () => {\n const state = new CmsFieldSettingsState();\n state.setValueRange(true);\n state.setMinValue(10);\n state.setMaxValue(5);\n\n expect(state.hasError('NUMBER')).toBe(true);\n expect(state.getValues('NUMBER').values).toEqual({ min: 10, max: 5 });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_CmsFieldSettingsState","require","describe","it","expect","getCmsFieldValidationRules","toEqual","state","CmsFieldSettingsState","setValidationSettings","required","charactersLimit","min","max","validationSettings","getValues","helpText","characters","minLength","maxLength","values","undefined","toBe","hasError","setHelpText","setInitialValues","setValueRange","setMinValue","setMaxValue"],"sources":["../../../../src/adapter/fieldSettings/CmsFieldSettingsState.spec.ts"],"sourcesContent":["import {\n CmsFieldSettingsState,\n getCmsFieldValidationRules,\n} from './CmsFieldSettingsState';\n\ndescribe('CmsFieldSettingsState validation settings', () => {\n it('defines required before character limits for short text', () => {\n expect(getCmsFieldValidationRules('SHORT_TEXT')).toEqual([\n 'required',\n 'charactersLimit',\n ]);\n expect(getCmsFieldValidationRules('NUMBER')).toEqual(['required']);\n expect(getCmsFieldValidationRules()).toEqual([]);\n });\n\n it('round trips required and character limits through the controlled value', () => {\n const state = new CmsFieldSettingsState();\n\n state.setValidationSettings({\n required: true,\n charactersLimit: { min: 2, max: 20 },\n });\n\n expect(state.validationSettings).toEqual({\n required: true,\n charactersLimit: { min: 2, max: 20 },\n });\n expect(state.getValues('SHORT_TEXT')).toEqual({\n helpText: '',\n required: true,\n characters: { minLength: 2, maxLength: 20 },\n values: undefined,\n });\n });\n\n it('preserves absent required while editing character limits', () => {\n const state = new CmsFieldSettingsState();\n\n state.setValidationSettings({ charactersLimit: { min: 2, max: 20 } });\n\n expect(state.validationSettings).toEqual({\n required: undefined,\n charactersLimit: { min: 2, max: 20 },\n });\n expect(state.getValues('SHORT_TEXT').required).toBe(false);\n });\n\n it('reports character violations before the section renders', () => {\n const state = new CmsFieldSettingsState();\n state.setValidationSettings({ charactersLimit: { min: 20, max: 2 } });\n\n expect(state.hasError('SHORT_TEXT')).toBe(true);\n expect(state.hasError('NUMBER')).toBe(false);\n });\n\n it('preserves invalid character drafts instead of normalizing them', () => {\n const state = new CmsFieldSettingsState();\n state.setValidationSettings({\n required: true,\n charactersLimit: { min: 0, max: 256_001 },\n });\n\n expect(state.validationSettings).toEqual({\n required: true,\n charactersLimit: { min: 0, max: 256_001 },\n });\n expect(state.hasError('SHORT_TEXT')).toBe(true);\n });\n\n it('prefills required from setInitialValues without touching other fields', () => {\n const state = new CmsFieldSettingsState();\n state.setHelpText('Existing help text');\n\n state.setInitialValues({ required: true });\n\n expect(state.required).toBe(true);\n expect(state.helpText).toBe('Existing help text');\n });\n\n it('leaves required untouched when setInitialValues omits it', () => {\n const state = new CmsFieldSettingsState();\n state.setValidationSettings({ required: true });\n\n state.setInitialValues({});\n\n expect(state.required).toBe(true);\n });\n\n it('keeps the number-only value range separate', () => {\n const state = new CmsFieldSettingsState();\n state.setValueRange(true);\n state.setMinValue(10);\n state.setMaxValue(5);\n\n expect(state.hasError('NUMBER')).toBe(true);\n expect(state.getValues('NUMBER').values).toEqual({ min: 10, max: 5 });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -22,7 +22,8 @@ const createCmsFieldSettings = () => {
22
22
  })),
23
23
  hasError: fieldType => state.hasError(fieldType),
24
24
  getValues: fieldType => state.getValues(fieldType),
25
- setValues: state.setValues
25
+ setValues: state.setValues,
26
+ setInitialValues: state.setInitialValues
26
27
  };
27
28
  };
28
29
  exports.createCmsFieldSettings = createCmsFieldSettings;
@@ -1 +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":[]}
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","setInitialValues","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 setInitialValues: state.setInitialValues,\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,SAAS;IAC1BC,gBAAgB,EAAEjB,KAAK,CAACiB;EAC1B,CAAC;AACH,CAAC;AAACC,OAAA,CAAAnB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -5,7 +5,7 @@ import { FieldValidationSettingsInput, } from '@wix/patterns-fields';
5
5
  import { useWixPatternsContainer } from '@wix/patterns';
6
6
  import { getCmsFieldValidationRules, showsValueRange, } from './CmsFieldSettingsState';
7
7
  export const _CmsFieldSettings = (props) => {
8
- const { state, fieldType } = props;
8
+ const { state, fieldType, lockedRules } = props;
9
9
  const { translate } = useWixPatternsContainer();
10
10
  const { valueRangeError } = state;
11
11
  const validationRules = getCmsFieldValidationRules(fieldType).map((rule) => {
@@ -35,7 +35,11 @@ export const _CmsFieldSettings = (props) => {
35
35
  React.createElement(Input, { dataHook: "cms-field-settings-help-text-input", value: state.helpText, maxLength: 200, placeholder: "Add a short explanation", onChange: (e) => state.setHelpText(e.target.value) })),
36
36
  React.createElement(Box, { direction: "vertical", gap: "SP2" },
37
37
  React.createElement(Text, { size: "small", secondary: true }, "Validation"),
38
- React.createElement(FieldValidationSettingsInput, { dataHook: "cms-field-settings-validation", data: state.validationSettings, rules: validationRules, invalid: state.hasError(fieldType), onChange: state.setValidationSettings }),
38
+ React.createElement(FieldValidationSettingsInput, { dataHook: "cms-field-settings-validation", data: state.validationSettings, rules: validationRules, invalid: state.hasError(fieldType),
39
+ // `lockedRules` is source-neutral (`readonly string[]`) — this
40
+ // section only supports locking 'required', so filter to that
41
+ // rather than asserting the whole list is a `FieldValidationRule[]`.
42
+ disabledRules: lockedRules?.filter((rule) => rule === 'required'), onChange: state.setValidationSettings }),
39
43
  showsValueRange(fieldType) && (React.createElement(Box, { direction: "vertical", gap: "SP2" },
40
44
  React.createElement(Box, { dataHook: "cms-field-settings-value-range", verticalAlign: "middle", gap: "9px" },
41
45
  React.createElement(ToggleSwitch, { dataHook: "cms-field-settings-value-range-toggle", size: "medium", checked: state.valueRange, onChange: (e) => state.setValueRange(e.target.checked) }),
@@ -1 +1 @@
1
- {"version":3,"file":"CmsFieldSettings.js","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettings.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CmsFieldSettings.js","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettings.tsx"],"names":[],"mappings":"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"}
@@ -54,5 +54,18 @@ describe('CmsFieldSettings', () => {
54
54
  props.onChange({ required: false });
55
55
  expect(state.validationSettings).toEqual({ required: false });
56
56
  });
57
+ it('filters lockedRules down to the rules this section supports, ignoring the rest', () => {
58
+ const state = new CmsFieldSettingsState();
59
+ const tree = _CmsFieldSettings({
60
+ state,
61
+ fieldType: 'SHORT_TEXT',
62
+ lockedRules: ['type', 'required'],
63
+ });
64
+ const input = findValidationSettingsInput(tree);
65
+ if (!input) {
66
+ throw new Error('FieldValidationSettingsInput was not rendered');
67
+ }
68
+ expect(input.props.disabledRules).toEqual(['required']);
69
+ });
57
70
  });
58
71
  //# sourceMappingURL=CmsFieldSettings.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CmsFieldSettings.spec.js","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettings.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CmsFieldSettings.spec.js","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettings.spec.tsx"],"names":[],"mappings":"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"}
@@ -48,6 +48,7 @@ export class CmsFieldSettingsState {
48
48
  setMaxValue: action.bound,
49
49
  setHelpText: action.bound,
50
50
  setValues: action.bound,
51
+ setInitialValues: action.bound,
51
52
  });
52
53
  }
53
54
  get validationSettings() {
@@ -119,5 +120,10 @@ export class CmsFieldSettingsState {
119
120
  this.maxValue = values?.max;
120
121
  this.valueRange = values?.min != null || values?.max != null;
121
122
  }
123
+ setInitialValues(initial) {
124
+ if (initial.required !== undefined) {
125
+ this.required = initial.required;
126
+ }
127
+ }
122
128
  }
123
129
  //# sourceMappingURL=CmsFieldSettingsState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CmsFieldSettingsState.js","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettingsState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CmsFieldSettingsState.js","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettingsState.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,19 @@ describe('CmsFieldSettingsState validation settings', () => {
52
52
  });
53
53
  expect(state.hasError('SHORT_TEXT')).toBe(true);
54
54
  });
55
+ it('prefills required from setInitialValues without touching other fields', () => {
56
+ const state = new CmsFieldSettingsState();
57
+ state.setHelpText('Existing help text');
58
+ state.setInitialValues({ required: true });
59
+ expect(state.required).toBe(true);
60
+ expect(state.helpText).toBe('Existing help text');
61
+ });
62
+ it('leaves required untouched when setInitialValues omits it', () => {
63
+ const state = new CmsFieldSettingsState();
64
+ state.setValidationSettings({ required: true });
65
+ state.setInitialValues({});
66
+ expect(state.required).toBe(true);
67
+ });
55
68
  it('keeps the number-only value range separate', () => {
56
69
  const state = new CmsFieldSettingsState();
57
70
  state.setValueRange(true);
@@ -1 +1 @@
1
- {"version":3,"file":"CmsFieldSettingsState.spec.js","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettingsState.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CmsFieldSettingsState.spec.js","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettingsState.spec.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export const createCmsFieldSettings = () => {
8
8
  hasError: (fieldType) => state.hasError(fieldType),
9
9
  getValues: (fieldType) => state.getValues(fieldType),
10
10
  setValues: state.setValues,
11
+ setInitialValues: state.setInitialValues,
11
12
  };
12
13
  };
13
14
  //# sourceMappingURL=createCmsFieldSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createCmsFieldSettings.js","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/createCmsFieldSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAyB,EAAE;IAC/D,MAAM,KAAK,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAE1C,OAAO;QACL,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAC,gBAAgB,OAAK,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI;QACnE,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAClD,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;QACpD,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"createCmsFieldSettings.js","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/createCmsFieldSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAyB,EAAE;IAC/D,MAAM,KAAK,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAE1C,OAAO;QACL,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAC,gBAAgB,OAAK,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI;QACnE,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAClD,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;QACpD,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;KACzC,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CmsFieldSettings.d.ts","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EACL,qBAAqB,EAGtB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB,GAAI,OAAO,qBAAqB,sBAyH7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,WA3HY,qBAAqB;;CA2HH,CAAC"}
1
+ {"version":3,"file":"CmsFieldSettings.d.ts","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EACL,qBAAqB,EAGtB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB,GAAI,OAAO,qBAAqB,sBA+H7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAjIY,qBAAqB;;CAiIH,CAAC"}
@@ -43,5 +43,8 @@ export declare class CmsFieldSettingsState {
43
43
  hasError(fieldType?: string): boolean;
44
44
  getValues(fieldType?: string): CmsFieldSettings;
45
45
  setValues(field?: Field): void;
46
+ setInitialValues(initial: {
47
+ required?: boolean;
48
+ }): void;
46
49
  }
47
50
  //# sourceMappingURL=CmsFieldSettingsState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CmsFieldSettingsState.d.ts","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettingsState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAqB,MAAM,eAAe,CAAC;AAC9D,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EAClC,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,8DAA8D;IAC9D,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AASD,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,YAAuB,CAAC;AAExE,eAAO,MAAM,oBAAoB,GAAI,YAAY,MAAM,YACI,CAAC;AAE5D,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,YACI,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAC1C,mBAAmB,EACnB,UAAU,GAAG,iBAAiB,CAC/B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,YAAY,MAAM,KACjB,sBAAsB,EAWxB,CAAC;AAOF,qBAAa,qBAAqB;IAChC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAa;IAC1C,eAAe,UAAS;IACxB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAa;IAC9C,aAAa,EAAE,MAAM,GAAG,SAAS,CAAa;IAC9C,UAAU,UAAS;IACnB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;IACzC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;IACzC,QAAQ,SAAM;;IAuBd,IAAI,kBAAkB,IAAI,4BAA4B,CAUrD;IAED,IAAI,eAAe,iDAElB;IAED,qBAAqB,CAAC,KAAK,EAAE,4BAA4B;IAOzD,aAAa,CAAC,KAAK,EAAE,OAAO;IAI5B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAIrC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAIrC,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM;IAa3B,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAoB/C,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK;CAaxB"}
1
+ {"version":3,"file":"CmsFieldSettingsState.d.ts","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettingsState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAqB,MAAM,eAAe,CAAC;AAC9D,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EAClC,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,8DAA8D;IAC9D,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AASD,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,YAAuB,CAAC;AAExE,eAAO,MAAM,oBAAoB,GAAI,YAAY,MAAM,YACI,CAAC;AAE5D,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,YACI,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAC1C,mBAAmB,EACnB,UAAU,GAAG,iBAAiB,CAC/B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,YAAY,MAAM,KACjB,sBAAsB,EAWxB,CAAC;AAOF,qBAAa,qBAAqB;IAChC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAa;IAC1C,eAAe,UAAS;IACxB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAa;IAC9C,aAAa,EAAE,MAAM,GAAG,SAAS,CAAa;IAC9C,UAAU,UAAS;IACnB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;IACzC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;IACzC,QAAQ,SAAM;;IAwBd,IAAI,kBAAkB,IAAI,4BAA4B,CAUrD;IAED,IAAI,eAAe,iDAElB;IAED,qBAAqB,CAAC,KAAK,EAAE,4BAA4B;IAOzD,aAAa,CAAC,KAAK,EAAE,OAAO;IAI5B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAIrC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAIrC,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM;IAa3B,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAoB/C,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK;IAcvB,gBAAgB,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;CAKjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"createCmsFieldSettings.d.ts","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/createCmsFieldSettings.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIjE,eAAO,MAAM,sBAAsB,QAAO,oBASzC,CAAC"}
1
+ {"version":3,"file":"createCmsFieldSettings.d.ts","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/createCmsFieldSettings.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIjE,eAAO,MAAM,sBAAsB,QAAO,oBAUzC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/patterns-cms",
3
- "version": "1.44.0",
3
+ "version": "1.45.0",
4
4
  "license": "UNLICENSED",
5
5
  "author": {
6
6
  "name": "Cairo",
@@ -28,10 +28,10 @@
28
28
  ],
29
29
  "dependencies": {
30
30
  "@babel/runtime": "^7.0.0",
31
- "@wix/bex-utils": "2.153.0",
31
+ "@wix/bex-utils": "2.154.0",
32
32
  "@wix/data": "^1.0.323",
33
- "@wix/patterns": "1.460.0",
34
- "@wix/patterns-fields": "1.88.0",
33
+ "@wix/patterns": "1.461.0",
34
+ "@wix/patterns-fields": "1.89.0",
35
35
  "@wix/wix-data-items-sdk": "^1.0.504",
36
36
  "lodash": "^4.17.20",
37
37
  "mobx": "^6.1.8",
@@ -140,5 +140,5 @@
140
140
  "wallaby": {
141
141
  "autoDetect": true
142
142
  },
143
- "falconPackageHash": "121df815a7377c49097631728491e0327d913e29b5855ab11bd70125"
143
+ "falconPackageHash": "d2f49f5ab6aae58249d20eb20b6455f228d73a53c46cb7914723ed40"
144
144
  }