@wix/editor-react-components 1.2764.0 → 1.2765.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 (100) hide show
  1. package/dist/site/components/AccordionComponent/manifest.js +1 -1
  2. package/dist/site/components/AudioPlayer/component.js +4 -3
  3. package/dist/site/components/AudioPlayer/manifest.js +1 -1
  4. package/dist/site/components/BoxContainer/component.js +2 -2
  5. package/dist/site/components/Breadcrumbs/component.js +3 -3
  6. package/dist/site/components/Breadcrumbs/manifest.js +1 -1
  7. package/dist/site/components/Button/component.js +1 -1
  8. package/dist/site/components/Button/manifest.js +1 -1
  9. package/dist/site/components/Checkbox/component.js +2 -2
  10. package/dist/site/components/CheckboxGroup/component.js +2 -2
  11. package/dist/site/components/CollapsibleText/component.js +2 -2
  12. package/dist/site/components/CollapsibleText/manifest.js +1 -1
  13. package/dist/site/components/DatePicker/component.js +6 -4
  14. package/dist/site/components/Dropdown/component.js +1 -1
  15. package/dist/site/components/Dropdown/manifest.js +1 -1
  16. package/dist/site/components/GoogleMap/manifest.js +1 -1
  17. package/dist/site/components/HTMLComponent/manifest.js +1 -1
  18. package/dist/site/components/HeadingTextBlock/component.js +2 -2
  19. package/dist/site/components/HipaaIcon/component.js +1 -1
  20. package/dist/site/components/Image3/component.js +1 -1
  21. package/dist/site/components/ImageReveal/component.js +2 -2
  22. package/dist/site/components/LegacyAppWidget/component.js +1 -1
  23. package/dist/site/components/LegacyContainer/component.js +1 -1
  24. package/dist/site/components/LegacyMultiStateBox/component.js +2 -2
  25. package/dist/site/components/Line/component.js +1 -1
  26. package/dist/site/components/LinkBar/manifest.js +1 -1
  27. package/dist/site/components/Lottie/component.js +1 -1
  28. package/dist/site/components/Lottie/manifest.js +1 -1
  29. package/dist/site/components/MarkdownBlock/component.js +1 -1
  30. package/dist/site/components/Menu/component.js +3 -3
  31. package/dist/site/components/Menu/manifest.js +1 -1
  32. package/dist/site/components/MultiStateBox/manifest.js +1 -1
  33. package/dist/site/components/RadioButtons/component.js +2 -2
  34. package/dist/site/components/ShareButtons/component.js +1 -1
  35. package/dist/site/components/ShareButtons/manifest.js +1 -1
  36. package/dist/site/components/Slideshow/component.js +1 -1
  37. package/dist/site/components/Slideshow/manifest.js +1 -1
  38. package/dist/site/components/Tabs/manifest.js +1 -1
  39. package/dist/site/components/TestComp/manifest.js +1 -1
  40. package/dist/site/components/TextBox/component.js +1 -1
  41. package/dist/site/components/TextEffects3d/component.js +1 -1
  42. package/dist/site/components/TextEffectsBauhaus/component.js +1 -1
  43. package/dist/site/components/TextEffectsGlass/component.js +1 -1
  44. package/dist/site/components/TextEffectsGlitch/component.js +1 -1
  45. package/dist/site/components/TextEffectsLetterPress/component.js +1 -1
  46. package/dist/site/components/TextEffectsMatrix/component.js +1 -1
  47. package/dist/site/components/TextEffectsNeonSign/component.js +1 -1
  48. package/dist/site/components/TextEffectsNoisy/component.js +1 -1
  49. package/dist/site/components/TextEffectsOutlineOut/component.js +1 -1
  50. package/dist/site/components/TextEffectsRetro/component.js +1 -1
  51. package/dist/site/components/TextEffectsShook/component.js +1 -1
  52. package/dist/site/components/TextEffectsSticker/component.js +1 -1
  53. package/dist/site/components/TextEffectsStriped/component.js +1 -1
  54. package/dist/site/components/TextInput/TextInput.d.ts +3 -7
  55. package/dist/site/components/TextInput/TextInput.types.d.ts +38 -105
  56. package/dist/site/components/TextInput/component.js +104 -780
  57. package/dist/site/components/TextInput/component.preview.d.ts +1 -4
  58. package/dist/site/components/TextInput/constants.d.ts +17 -65
  59. package/dist/site/components/TextInput/css.css +25 -223
  60. package/dist/site/components/TextInput/manifest.js +181 -367
  61. package/dist/site/components/TimePicker/component.js +6 -5
  62. package/dist/site/components/chunks/AnimatedIcon.js +1 -1
  63. package/dist/site/components/chunks/Button.js +1055 -466
  64. package/dist/site/components/chunks/Button2.js +486 -0
  65. package/dist/site/components/chunks/Group.js +46 -970
  66. package/dist/site/components/chunks/I18nProvider.js +125 -0
  67. package/dist/site/components/chunks/Input.js +369 -0
  68. package/dist/site/components/chunks/Link.js +1 -1
  69. package/dist/site/components/chunks/ResponsiveBox.js +1 -1
  70. package/dist/site/components/chunks/ResponsiveContainer.js +1 -1
  71. package/dist/site/components/chunks/TextEffectsShared.js +1 -1
  72. package/dist/site/components/chunks/Tooltip.js +6745 -351
  73. package/dist/site/components/chunks/VisuallyHidden.js +1 -1
  74. package/dist/site/components/chunks/a11y.js +4 -5
  75. package/dist/site/components/chunks/constants3.js +23 -63
  76. package/dist/site/components/chunks/filterDOMProps.js +18 -139
  77. package/dist/site/components/chunks/index10.js +3 -2020
  78. package/dist/site/components/chunks/index11.js +31184 -232
  79. package/dist/site/components/chunks/index12.js +3 -31191
  80. package/dist/site/components/chunks/index13.js +44 -3
  81. package/dist/site/components/chunks/index3.js +1 -1
  82. package/dist/site/components/chunks/index4.js +1 -1
  83. package/dist/site/components/chunks/index5.js +1 -1
  84. package/dist/site/components/chunks/index7.js +67 -3
  85. package/dist/site/components/chunks/index8.js +2020 -3
  86. package/dist/site/components/chunks/index9.js +232 -60
  87. package/dist/site/components/chunks/manifestSdkMixins.js +4 -4
  88. package/dist/site/components/chunks/parseHtml.js +1 -1
  89. package/dist/site/components/chunks/parseSvg.js +1 -1
  90. package/dist/site/components/chunks/staticService.js +1 -1
  91. package/dist/site/components/chunks/useConsentPolicyProps.js +1 -1
  92. package/dist/site/components/chunks/useLocalizedStringFormatter.js +1 -1
  93. package/package.json +2 -2
  94. package/dist/site/components/TextInput/TextInput.viewer.constants.d.ts +0 -24
  95. package/dist/site/components/TextInput/sdk.d.ts +0 -4
  96. package/dist/site/components/TextInput/sdk.js +0 -91
  97. package/dist/site/components/TextInput/utils.d.ts +0 -9
  98. package/dist/site/components/chunks/DateField.js +0 -6762
  99. package/dist/site/components/chunks/NumberFormatter.js +0 -140
  100. package/dist/site/components/chunks/index14.js +0 -46
@@ -1,20 +1,18 @@
1
- import { I as INTERACTIONS, D as DATA, b as DISPLAY_GROUPS, C as CSS_PROPERTIES, E as ELEMENTS, N as NativeStateType, L as LAYOUT, A as Archetype } from "../chunks/chunk-EVX7ZUBD.js";
2
- import { D as DesignStates, a as DisplayNames, s as selectors } from "../chunks/constants3.js";
3
- import { w as withSpec, g as getSelector } from "../chunks/manifest.js";
1
+ import { I as INTERACTIONS, D as DATA, b as DISPLAY_GROUPS, E as ELEMENTS, C as CSS_PROPERTIES, N as NativeStateType, L as LAYOUT, A as Archetype } from "../chunks/chunk-EVX7ZUBD.js";
2
+ import { D as DesignStates, a as DisplayNames, F as FunctionalStateKeys, c as componentClassNames } from "../chunks/constants3.js";
4
3
  import { I as IS_SUPPORT_DESIGN_STATE_SPEC } from "../chunks/specs.js";
5
- import { m as manifestFocusable, b as manifestInputable, a as manifestChangeable } from "../chunks/manifestSdkMixins.js";
6
- import { m as manifestValidation } from "../chunks/manifest2.js";
7
- const designState = (s, pseudoClass) => withSpec({
4
+ const designState = (s, pseudoClass) => ({
8
5
  spec: IS_SUPPORT_DESIGN_STATE_SPEC,
9
6
  displayName: s.displayName,
10
7
  className: s.className,
11
8
  ...pseudoClass ? { pseudoClass } : {}
12
9
  });
13
10
  const manifest = {
14
- id: "e95f3cfd-a78d-4d7c-addb-c93182193857",
15
- type: "wixEditorElements.TextInput__DEV__v2",
11
+ id: "3485a1f6-1d51-4e67-92b9-b07603e4e296",
12
+ type: "wixEditorElements.TextInput__DEV__v4",
16
13
  description: "TextInput",
17
14
  installation: {
15
+ presets: { small: "baseTextInput", large: "baseTextInput" },
18
16
  initialSize: {
19
17
  width: {
20
18
  sizingType: LAYOUT.SIZING_TYPE.pixels,
@@ -29,121 +27,110 @@ const manifest = {
29
27
  client: {
30
28
  componentUrl: "./site/components/TextInput/component.tsx",
31
29
  dependencies: {
32
- serviceDependencies: [
33
- "@wix/viewer-service-environment",
34
- "@wix/viewer-service-sdk-state",
35
- "@wix/viewer-service-translations"
36
- ]
30
+ serviceDependencies: ["@wix/viewer-service-environment"]
37
31
  }
38
32
  },
39
- sdk: {
40
- url: "./site/components/TextInput/sdk.ts"
41
- },
42
33
  editor: {
43
34
  componentUrl: "./site/components/TextInput/component.preview.tsx",
44
35
  dependencies: {
45
- serviceDependencies: [
46
- "@wix/viewer-service-environment",
47
- "@wix/viewer-service-sdk-state",
48
- "@wix/viewer-service-translations"
49
- ]
36
+ serviceDependencies: ["@wix/viewer-service-environment"]
50
37
  }
51
38
  }
52
39
  },
53
40
  editorElement: {
54
- selector: getSelector(selectors.root),
41
+ selector: `.${componentClassNames.root}`,
55
42
  displayName: DisplayNames.root.elementDisplayName,
56
43
  archetype: Archetype.TextInput,
44
+ presets: {
45
+ baseTextInput: {
46
+ displayName: "Base Text Input",
47
+ presetCssUrl: "./site/components/TextInput/presets/baseTextInput.css",
48
+ presetDefaults: {
49
+ elements: {
50
+ input: {
51
+ cssProperties: {
52
+ background: { defaultValue: "#ffffff" },
53
+ boxShadow: { defaultValue: "none" },
54
+ paddingTop: { defaultValue: "10px" },
55
+ paddingBottom: { defaultValue: "10px" },
56
+ paddingInlineStart: { defaultValue: "12px" },
57
+ paddingInlineEnd: { defaultValue: "12px" },
58
+ font: { defaultValue: "16px/1.3 sans-serif" },
59
+ color: { defaultValue: "#000000" },
60
+ textAlign: { defaultValue: "start" },
61
+ borderInlineStart: { defaultValue: "1px solid #000000" },
62
+ borderInlineEnd: { defaultValue: "1px solid #000000" },
63
+ borderTop: { defaultValue: "1px solid #000000" },
64
+ borderBottom: { defaultValue: "1px solid #000000" },
65
+ borderStartStartRadius: { defaultValue: "0px" },
66
+ borderStartEndRadius: { defaultValue: "0px" },
67
+ borderEndStartRadius: { defaultValue: "0px" },
68
+ borderEndEndRadius: { defaultValue: "0px" }
69
+ },
70
+ cssCustomProperties: {
71
+ placeholderTextColor: { defaultValue: "#595959" }
72
+ }
73
+ },
74
+ label: {
75
+ cssProperties: {
76
+ font: { defaultValue: "16px/1.3 sans-serif" },
77
+ color: { defaultValue: "#000000" },
78
+ textAlign: { defaultValue: "start" },
79
+ marginBottom: { defaultValue: "6px" }
80
+ }
81
+ },
82
+ helperText: {
83
+ cssProperties: {
84
+ font: { defaultValue: "14px/1.3 sans-serif" },
85
+ color: { defaultValue: "#595959" },
86
+ textAlign: { defaultValue: "start" },
87
+ marginTop: { defaultValue: "6px" }
88
+ }
89
+ },
90
+ errorMessage: {
91
+ cssProperties: {
92
+ font: { defaultValue: "14px/1.3 sans-serif" },
93
+ color: { defaultValue: "#e21c21" },
94
+ textAlign: { defaultValue: "start" },
95
+ marginTop: { defaultValue: "6px" }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ },
57
102
  layout: {
58
- resizeDirection: LAYOUT.RESIZE_DIRECTION.horizontalAndVertical,
59
- contentResizeDirection: LAYOUT.CONTENT_RESIZE_DIRECTION.vertical,
103
+ resizeDirection: LAYOUT.RESIZE_DIRECTION.horizontal,
104
+ contentResizeDirection: LAYOUT.CONTENT_RESIZE_DIRECTION.horizontalAndVertical,
60
105
  disableStretching: true,
61
106
  disablePositioning: false
62
107
  },
108
+ states: {
109
+ [FunctionalStateKeys.previewError]: {
110
+ props: { previewError: true }
111
+ }
112
+ },
113
+ displayFilters: {
114
+ states: { hide: [FunctionalStateKeys.previewError] }
115
+ },
63
116
  elements: {
64
117
  label: {
65
118
  elementType: ELEMENTS.ELEMENT_TYPE.inlineElement,
66
119
  inlineElement: {
67
120
  displayName: DisplayNames.root.elements.label,
68
- selector: getSelector(selectors.label),
121
+ selector: `.${componentClassNames.label}`,
69
122
  behaviors: { selectable: false },
70
- displayGroups: {
71
- labelPaddingGroup: {
72
- groupType: DISPLAY_GROUPS.GROUP_TYPE.padding,
73
- padding: {
74
- left: "labelPaddingInlineStart",
75
- right: "labelPaddingInlineEnd"
76
- }
77
- }
78
- },
79
- cssCustomProperties: {
80
- labelFont: {
81
- displayName: DisplayNames.cssCustomProperties.labelFont,
82
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.font
83
- },
84
- labelTextColor: {
85
- displayName: DisplayNames.cssCustomProperties.labelTextColor,
86
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.color
87
- },
88
- requiredTextColor: {
89
- displayName: DisplayNames.cssCustomProperties.requiredTextColor,
90
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.color
91
- },
92
- labelMarginBottom: {
93
- displayName: DisplayNames.cssCustomProperties.labelMarginBottom,
94
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.marginBottom
95
- },
96
- labelPaddingInlineStart: {
97
- displayName: DisplayNames.cssCustomProperties.labelPaddingInlineStart,
98
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.paddingInlineStart
99
- },
100
- labelPaddingInlineEnd: {
101
- displayName: DisplayNames.cssCustomProperties.labelPaddingInlineEnd,
102
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.paddingInlineEnd
123
+ cssProperties: {
124
+ font: {
125
+ displayName: "Typography"
103
126
  },
104
- labelAlign: {
105
- displayName: DisplayNames.cssCustomProperties.labelAlign,
106
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.customEnum,
107
- defaultValue: "start",
108
- customEnum: {
109
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.string,
110
- options: [
111
- {
112
- value: "start",
113
- displayName: DisplayNames.options.start,
114
- appliedStyles: [
115
- { property: "--labelAlign", value: "start" },
116
- {
117
- property: "--labelPadding_start",
118
- value: "var(--labelPadding)"
119
- },
120
- { property: "--labelPadding_end", value: "20" }
121
- ]
122
- },
123
- {
124
- value: "center",
125
- displayName: DisplayNames.options.center,
126
- appliedStyles: [
127
- { property: "--labelAlign", value: "center" },
128
- { property: "--labelPadding_start", value: "0" },
129
- { property: "--labelPadding_end", value: "0" }
130
- ]
131
- },
132
- {
133
- value: "end",
134
- displayName: DisplayNames.options.end,
135
- appliedStyles: [
136
- { property: "--labelAlign", value: "end" },
137
- { property: "--labelPadding_start", value: "20" },
138
- {
139
- property: "--labelPadding_end",
140
- value: "var(--labelPadding)"
141
- }
142
- ]
143
- }
144
- ]
145
- }
146
- }
127
+ color: {},
128
+ letterSpacing: {},
129
+ lineHeight: {},
130
+ textDecorationLine: {},
131
+ textAlign: {},
132
+ textTransform: {},
133
+ marginBottom: {}
147
134
  }
148
135
  }
149
136
  },
@@ -151,8 +138,33 @@ const manifest = {
151
138
  elementType: ELEMENTS.ELEMENT_TYPE.inlineElement,
152
139
  inlineElement: {
153
140
  displayName: DisplayNames.root.elements.input,
154
- selector: getSelector(selectors.input),
141
+ selector: `.${componentClassNames.input}`,
155
142
  behaviors: { selectable: false },
143
+ cssProperties: {
144
+ background: {},
145
+ boxShadow: {},
146
+ paddingTop: {},
147
+ paddingBottom: {},
148
+ paddingInlineStart: {},
149
+ paddingInlineEnd: {},
150
+ font: {
151
+ displayName: "Typography"
152
+ },
153
+ color: {},
154
+ letterSpacing: {},
155
+ lineHeight: {},
156
+ textDecorationLine: {},
157
+ textAlign: {},
158
+ textTransform: {},
159
+ borderInlineStart: {},
160
+ borderInlineEnd: {},
161
+ borderBottom: {},
162
+ borderTop: {},
163
+ borderStartStartRadius: {},
164
+ borderStartEndRadius: {},
165
+ borderEndStartRadius: {},
166
+ borderEndEndRadius: {}
167
+ },
156
168
  states: {
157
169
  hover: designState(
158
170
  DesignStates.input.hover,
@@ -168,173 +180,89 @@ const manifest = {
168
180
  DesignStates.input.disabled,
169
181
  NativeStateType.disabled
170
182
  ),
171
- props: { isDisabled: true }
183
+ props: { disabled: true }
172
184
  }
173
185
  },
174
186
  displayGroups: {
175
- textPaddingGroup: {
176
- groupType: DISPLAY_GROUPS.GROUP_TYPE.padding,
177
- padding: {
178
- top: "textPaddingTop",
179
- bottom: "textPaddingBottom",
180
- left: "textPaddingInlineStart",
181
- right: "textPaddingInlineEnd"
182
- }
183
- },
184
- borderGroup: {
185
- groupType: DISPLAY_GROUPS.GROUP_TYPE.border,
186
- border: {
187
- width: "borderWidth",
188
- color: "borderColor"
187
+ placeholderTextGroup: {
188
+ displayName: "Placeholder",
189
+ groupType: DISPLAY_GROUPS.GROUP_TYPE.text,
190
+ text: {
191
+ color: "placeholderTextColor"
189
192
  }
190
193
  }
191
194
  },
192
195
  cssCustomProperties: {
193
- boxShadow: {
194
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.boxShadow
195
- },
196
- borderRadius: {
197
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.borderRadius
198
- },
199
- font: {
200
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.font
201
- },
202
- borderWidth: {
203
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.borderWidth
204
- },
205
- borderColor: {
206
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.borderColor
207
- },
208
- background: {
209
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.background
210
- },
211
- textColor: {
212
- displayName: DisplayNames.cssCustomProperties.textColor,
213
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.color
214
- },
215
196
  placeholderTextColor: {
216
197
  displayName: DisplayNames.cssCustomProperties.placeholderTextColor,
217
198
  cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.color
218
- },
219
- textPaddingTop: {
220
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.paddingTop
221
- },
222
- textPaddingBottom: {
223
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.paddingBottom
224
- },
225
- textPaddingInlineStart: {
226
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.paddingInlineStart
227
- },
228
- textPaddingInlineEnd: {
229
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.paddingInlineEnd
230
- },
231
- inputAlign: {
232
- displayName: DisplayNames.cssCustomProperties.inputAlign,
233
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.customEnum,
234
- defaultValue: "start",
235
- customEnum: {
236
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.string,
237
- options: [
238
- {
239
- value: "start",
240
- displayName: DisplayNames.options.start,
241
- appliedStyles: [
242
- { property: "--inputAlign", value: "left" },
243
- { property: "--textPadding", value: "3" },
244
- { property: "--textPadding_start", value: "3" },
245
- { property: "--textPadding_end", value: "3" }
246
- ]
247
- },
248
- {
249
- value: "center",
250
- displayName: DisplayNames.options.center,
251
- appliedStyles: [
252
- { property: "--inputAlign", value: "center" },
253
- { property: "--textPadding", value: "3" },
254
- {
255
- property: "--textPadding_start",
256
- value: "var(--textPadding)"
257
- },
258
- { property: "--textPadding_end", value: "3" }
259
- ]
260
- },
261
- {
262
- value: "end",
263
- displayName: DisplayNames.options.end,
264
- appliedStyles: [
265
- { property: "--inputAlign", value: "right" },
266
- { property: "--textPadding", value: "3" },
267
- { property: "--textPadding_start", value: "3" },
268
- {
269
- property: "--textPadding_end",
270
- value: "var(--textPadding)"
271
- }
272
- ]
273
- }
274
- ]
275
- }
276
199
  }
277
200
  }
278
201
  }
279
202
  },
280
- prefix: {
203
+ helperText: {
281
204
  elementType: ELEMENTS.ELEMENT_TYPE.inlineElement,
282
205
  inlineElement: {
283
- displayName: DisplayNames.root.elements.prefix,
284
- selector: getSelector(selectors.prefix),
206
+ displayName: DisplayNames.root.elements.helperText,
207
+ selector: `.${componentClassNames.helperText}`,
285
208
  behaviors: { selectable: false },
286
- cssCustomProperties: {
287
- prefixFont: {
288
- displayName: DisplayNames.cssCustomProperties.prefixFont,
289
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.font
290
- }
209
+ cssProperties: {
210
+ font: {
211
+ displayName: "Typography"
212
+ },
213
+ color: {},
214
+ letterSpacing: {},
215
+ lineHeight: {},
216
+ textDecorationLine: {},
217
+ textAlign: {},
218
+ textTransform: {},
219
+ marginTop: {}
291
220
  }
292
221
  }
293
222
  },
294
- helperText: {
223
+ errorMessage: {
295
224
  elementType: ELEMENTS.ELEMENT_TYPE.inlineElement,
296
225
  inlineElement: {
297
- displayName: DisplayNames.root.elements.helperText,
298
- selector: getSelector(selectors.helperText),
299
- behaviors: { selectable: false },
300
- cssCustomProperties: {
301
- helperFont: {
302
- displayName: DisplayNames.cssCustomProperties.helperFont,
303
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.font
226
+ displayName: DisplayNames.root.elements.errorMessage,
227
+ selector: `.${componentClassNames.errorMessage}`,
228
+ behaviors: { selectable: false, removable: false },
229
+ cssProperties: {
230
+ marginTop: {},
231
+ textAlign: {},
232
+ font: {
233
+ displayName: "Typography"
304
234
  },
305
- helperColor: {
306
- displayName: DisplayNames.cssCustomProperties.helperColor,
307
- cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.color
308
- }
235
+ color: {},
236
+ letterSpacing: {},
237
+ lineHeight: {},
238
+ textDecorationLine: {},
239
+ textTransform: {}
240
+ },
241
+ visibleState: {
242
+ stateKey: FunctionalStateKeys.previewError,
243
+ elementPath: ".root"
309
244
  }
310
245
  }
311
246
  }
312
247
  },
313
248
  displayGroups: {
249
+ partsOrder: {
250
+ groupType: DISPLAY_GROUPS.GROUP_TYPE.elements,
251
+ elements: {
252
+ items: ["label", "input", "helperText", "errorMessage"]
253
+ }
254
+ },
314
255
  orderedDataGroup: {
315
256
  groupType: DISPLAY_GROUPS.GROUP_TYPE.data,
316
257
  data: {
317
258
  items: [
318
- "required",
319
- "readOnly",
320
- "isDisabled",
321
- "autoComplete",
322
- "numberSpinnerHidden",
323
- "inputType",
324
259
  "label",
325
260
  "placeholder",
326
- "tooltip",
327
- "description",
328
- "prefix",
329
- "autocompleteToken",
330
- "pattern",
331
- "minLength",
332
- "maxLength",
333
- "min",
334
- "max",
335
- "step",
336
- "phoneFormat",
337
- "errorMessageType"
261
+ "value",
262
+ "helperText",
263
+ "errorMessage",
264
+ "readOnly",
265
+ "disabled"
338
266
  ]
339
267
  }
340
268
  }
@@ -342,93 +270,19 @@ const manifest = {
342
270
  data: {
343
271
  value: {
344
272
  displayName: DisplayNames.data.value,
273
+ description: DisplayNames.descriptions.value,
345
274
  dataType: DATA.DATA_TYPE.text
346
275
  },
347
- defaultValue: {
348
- displayName: DisplayNames.data.defaultValue,
349
- dataType: DATA.DATA_TYPE.text
350
- },
351
- isDisabled: {
352
- displayName: DisplayNames.data.isDisabled,
276
+ disabled: {
277
+ displayName: DisplayNames.data.disabled,
353
278
  dataType: DATA.DATA_TYPE.booleanValue,
354
279
  defaultValue: false
355
280
  },
356
- name: {
357
- displayName: DisplayNames.data.name,
358
- dataType: DATA.DATA_TYPE.text
359
- },
360
- // Direction properties
281
+ // One direction for the whole component — label, input and messages alike
361
282
  direction: {
362
283
  dataType: DATA.DATA_TYPE.direction
363
284
  },
364
- labelDirection: {
365
- displayName: DisplayNames.data.labelDirection,
366
- dataType: DATA.DATA_TYPE.direction
367
- },
368
- inputDirection: {
369
- displayName: DisplayNames.data.inputDirection,
370
- dataType: DATA.DATA_TYPE.direction
371
- },
372
- // Text input type
373
- inputType: {
374
- displayName: DisplayNames.data.inputType,
375
- dataType: DATA.DATA_TYPE.textEnum,
376
- defaultValue: "text",
377
- [DATA.DATA_TYPE.textEnum]: {
378
- options: [
379
- { value: "text", displayName: DisplayNames.options.text },
380
- { value: "number", displayName: DisplayNames.options.number },
381
- { value: "email", displayName: DisplayNames.options.email },
382
- { value: "url", displayName: DisplayNames.options.url },
383
- { value: "tel", displayName: DisplayNames.options.tel },
384
- { value: "password", displayName: DisplayNames.options.password }
385
- ]
386
- }
387
- },
388
- // Validation properties
389
- minLength: {
390
- displayName: DisplayNames.data.minLength,
391
- dataType: DATA.DATA_TYPE.number,
392
- [DATA.DATA_TYPE.number]: {
393
- min: "0"
394
- }
395
- },
396
- maxLength: {
397
- displayName: DisplayNames.data.maxLength,
398
- dataType: DATA.DATA_TYPE.number
399
- },
400
- min: {
401
- displayName: DisplayNames.data.min,
402
- dataType: DATA.DATA_TYPE.number,
403
- [DATA.DATA_TYPE.number]: {
404
- min: "-2147483648",
405
- max: "2147483647"
406
- }
407
- },
408
- max: {
409
- displayName: DisplayNames.data.max,
410
- dataType: DATA.DATA_TYPE.number,
411
- [DATA.DATA_TYPE.number]: {
412
- min: "-2147483648",
413
- max: "2147483647"
414
- }
415
- },
416
- pattern: {
417
- displayName: DisplayNames.data.pattern,
418
- dataType: DATA.DATA_TYPE.text,
419
- [DATA.DATA_TYPE.text]: {
420
- maxLength: 500
421
- }
422
- },
423
- phoneFormat: {
424
- displayName: DisplayNames.data.phoneFormat,
425
- dataType: DATA.DATA_TYPE.text,
426
- [DATA.DATA_TYPE.text]: {
427
- maxLength: 100,
428
- pattern: "^#*(((#+-)*)#+$)"
429
- }
430
- },
431
- // Label and placeholder
285
+ // Label, placeholder and the two messages
432
286
  label: {
433
287
  displayName: DisplayNames.data.label,
434
288
  dataType: DATA.DATA_TYPE.text,
@@ -440,20 +294,21 @@ const manifest = {
440
294
  displayName: DisplayNames.data.placeholder,
441
295
  dataType: DATA.DATA_TYPE.text,
442
296
  [DATA.DATA_TYPE.text]: {
443
- maxLength: 4e3
297
+ maxLength: 400
444
298
  }
445
299
  },
446
- tooltip: {
447
- displayName: DisplayNames.data.tooltip,
300
+ helperText: {
301
+ displayName: DisplayNames.data.helperText,
302
+ description: DisplayNames.descriptions.helperText,
448
303
  dataType: DATA.DATA_TYPE.text,
449
304
  [DATA.DATA_TYPE.text]: {
450
305
  maxLength: 400
451
306
  }
452
307
  },
453
- description: {
454
- displayName: DisplayNames.data.description,
308
+ errorMessage: {
309
+ displayName: DisplayNames.data.errorMessage,
310
+ description: DisplayNames.descriptions.errorMessage,
455
311
  dataType: DATA.DATA_TYPE.text,
456
- defaultValue: "",
457
312
  [DATA.DATA_TYPE.text]: {
458
313
  maxLength: 400
459
314
  }
@@ -466,62 +321,21 @@ const manifest = {
466
321
  DATA.A11Y_ATTRIBUTES.tabIndex,
467
322
  DATA.A11Y_ATTRIBUTES.ariaLabel,
468
323
  DATA.A11Y_ATTRIBUTES.ariaDescribedby,
469
- // 'ariaRequired',
470
324
  DATA.A11Y_ATTRIBUTES.ariaInvalid
471
325
  ]
472
326
  }
473
327
  },
474
- // Additional properties
475
- autoComplete: {
476
- displayName: DisplayNames.data.autoComplete,
477
- dataType: DATA.DATA_TYPE.booleanValue
478
- },
479
328
  readOnly: {
480
329
  displayName: DisplayNames.data.readOnly,
481
330
  dataType: DATA.DATA_TYPE.booleanValue
482
331
  },
483
- required: {
484
- displayName: DisplayNames.data.required,
485
- dataType: DATA.DATA_TYPE.booleanValue
486
- },
487
- errorMessageType: {
488
- displayName: DisplayNames.data.errorMessageType,
489
- dataType: DATA.DATA_TYPE.textEnum,
490
- defaultValue: "inline",
491
- [DATA.DATA_TYPE.textEnum]: {
492
- options: [
493
- { value: "inline", displayName: DisplayNames.options.inline },
494
- { value: "tooltip", displayName: DisplayNames.options.tooltip }
495
- ]
332
+ onValueChange: {
333
+ displayName: "On Value Change",
334
+ dataType: DATA.DATA_TYPE.function,
335
+ [DATA.DATA_TYPE.function]: {
336
+ parameters: [{ dataType: DATA.DATA_TYPE.text }]
496
337
  }
497
- },
498
- prefix: {
499
- displayName: DisplayNames.data.prefix,
500
- dataType: DATA.DATA_TYPE.text,
501
- [DATA.DATA_TYPE.text]: {
502
- maxLength: 10
503
- }
504
- },
505
- step: {
506
- displayName: DisplayNames.data.step,
507
- dataType: DATA.DATA_TYPE.number
508
- },
509
- autocompleteToken: {
510
- displayName: DisplayNames.data.autocompleteToken,
511
- dataType: DATA.DATA_TYPE.text,
512
- [DATA.DATA_TYPE.text]: {
513
- maxLength: 50
514
- }
515
- },
516
- numberSpinnerHidden: {
517
- displayName: DisplayNames.data.numberSpinnerHidden,
518
- dataType: DATA.DATA_TYPE.booleanValue,
519
- defaultValue: false
520
- },
521
- ...manifestChangeable(),
522
- ...manifestInputable(),
523
- ...manifestFocusable(),
524
- ...manifestValidation({ valueDataType: DATA.DATA_TYPE.text })
338
+ }
525
339
  },
526
340
  interactions: {
527
341
  triggers: [