@wix/editor-react-components 1.2764.0 → 1.2766.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 (122) hide show
  1. package/dist/site/components/AccordionComponent/component.js +80 -3
  2. package/dist/site/components/AccordionComponent/manifest.js +1 -1
  3. package/dist/site/components/AudioPlayer/component.js +4 -3
  4. package/dist/site/components/AudioPlayer/manifest.js +1 -1
  5. package/dist/site/components/BoxContainer/component.js +2 -2
  6. package/dist/site/components/Breadcrumbs/component.js +3 -3
  7. package/dist/site/components/Breadcrumbs/manifest.js +1 -1
  8. package/dist/site/components/Button/component.js +1 -1
  9. package/dist/site/components/Button/manifest.js +1 -1
  10. package/dist/site/components/Checkbox/component.js +3 -4
  11. package/dist/site/components/CheckboxGroup/component.js +3 -4
  12. package/dist/site/components/CollapsibleText/component.js +2 -2
  13. package/dist/site/components/CollapsibleText/manifest.js +1 -1
  14. package/dist/site/components/DatePicker/component.js +7 -7
  15. package/dist/site/components/Dropdown/Dropdown.d.ts +1 -1
  16. package/dist/site/components/Dropdown/Dropdown.types.d.ts +22 -89
  17. package/dist/site/components/Dropdown/component.js +205 -873
  18. package/dist/site/components/Dropdown/constants.d.ts +26 -168
  19. package/dist/site/components/Dropdown/css.css +52 -462
  20. package/dist/site/components/Dropdown/manifest.js +338 -441
  21. package/dist/site/components/GoogleMap/manifest.js +1 -1
  22. package/dist/site/components/HTMLComponent/manifest.js +1 -1
  23. package/dist/site/components/HeadingTextBlock/component.js +2 -2
  24. package/dist/site/components/HipaaIcon/component.js +1 -1
  25. package/dist/site/components/Image3/component.js +1 -1
  26. package/dist/site/components/ImageReveal/component.js +2 -2
  27. package/dist/site/components/LegacyAppWidget/component.js +1 -1
  28. package/dist/site/components/LegacyContainer/component.js +1 -1
  29. package/dist/site/components/LegacyMultiStateBox/component.js +2 -2
  30. package/dist/site/components/Line/component.js +1 -1
  31. package/dist/site/components/Line/manifest.js +39 -3
  32. package/dist/site/components/LinkBar/manifest.js +1 -1
  33. package/dist/site/components/Lottie/component.js +1 -1
  34. package/dist/site/components/Lottie/manifest.js +1 -1
  35. package/dist/site/components/MarkdownBlock/component.js +1 -1
  36. package/dist/site/components/Menu/component.js +3 -3
  37. package/dist/site/components/Menu/manifest.js +1 -1
  38. package/dist/site/components/MultiStateBox/manifest.js +1 -1
  39. package/dist/site/components/RadioButtons/component.js +3 -4
  40. package/dist/site/components/ShareButtons/component.js +1 -1
  41. package/dist/site/components/ShareButtons/manifest.js +1 -1
  42. package/dist/site/components/Slideshow/component.js +1 -1
  43. package/dist/site/components/Slideshow/manifest.js +1 -1
  44. package/dist/site/components/Tabs/manifest.js +1 -1
  45. package/dist/site/components/TestComp/manifest.js +1 -1
  46. package/dist/site/components/TextBox/component.js +2 -3
  47. package/dist/site/components/TextEffects3d/component.js +1 -1
  48. package/dist/site/components/TextEffectsBauhaus/component.js +1 -1
  49. package/dist/site/components/TextEffectsGlass/component.js +1 -1
  50. package/dist/site/components/TextEffectsGlitch/component.js +1 -1
  51. package/dist/site/components/TextEffectsLetterPress/component.js +1 -1
  52. package/dist/site/components/TextEffectsMatrix/component.js +1 -1
  53. package/dist/site/components/TextEffectsNeonSign/component.js +1 -1
  54. package/dist/site/components/TextEffectsNoisy/component.js +1 -1
  55. package/dist/site/components/TextEffectsOutlineOut/component.js +1 -1
  56. package/dist/site/components/TextEffectsRetro/component.js +1 -1
  57. package/dist/site/components/TextEffectsShook/component.js +1 -1
  58. package/dist/site/components/TextEffectsSticker/component.js +1 -1
  59. package/dist/site/components/TextEffectsStriped/component.js +1 -1
  60. package/dist/site/components/TextInput/TextInput.d.ts +3 -7
  61. package/dist/site/components/TextInput/TextInput.types.d.ts +38 -105
  62. package/dist/site/components/TextInput/component.js +104 -780
  63. package/dist/site/components/TextInput/component.preview.d.ts +1 -4
  64. package/dist/site/components/TextInput/constants.d.ts +17 -65
  65. package/dist/site/components/TextInput/css.css +25 -223
  66. package/dist/site/components/TextInput/manifest.js +181 -367
  67. package/dist/site/components/TimePicker/component.js +7 -8
  68. package/dist/site/components/chunks/AnimatedIcon.js +1 -1
  69. package/dist/site/components/chunks/Button.js +1055 -466
  70. package/dist/site/components/chunks/Button2.js +486 -0
  71. package/dist/site/components/chunks/DismissSmall.js +7727 -1
  72. package/dist/site/components/chunks/Group.js +46 -970
  73. package/dist/site/components/chunks/I18nProvider.js +125 -0
  74. package/dist/site/components/chunks/Input.js +369 -0
  75. package/dist/site/components/chunks/Link.js +1 -1
  76. package/dist/site/components/chunks/RequiredIndicator.js +4 -0
  77. package/dist/site/components/chunks/ResponsiveBox.js +1 -1
  78. package/dist/site/components/chunks/ResponsiveContainer.js +1 -1
  79. package/dist/site/components/chunks/TextEffectsShared.js +1 -1
  80. package/dist/site/components/chunks/VisuallyHidden.js +1 -1
  81. package/dist/site/components/chunks/a11y.js +4 -5
  82. package/dist/site/components/chunks/constants3.js +23 -63
  83. package/dist/site/components/chunks/constants36.js +31 -148
  84. package/dist/site/components/chunks/filterDOMProps.js +18 -139
  85. package/dist/site/components/chunks/index10.js +3 -2020
  86. package/dist/site/components/chunks/index11.js +31118 -232
  87. package/dist/site/components/chunks/index12.js +3 -31191
  88. package/dist/site/components/chunks/index13.js +44 -3
  89. package/dist/site/components/chunks/index3.js +1 -1
  90. package/dist/site/components/chunks/index4.js +1 -1
  91. package/dist/site/components/chunks/index5.js +1 -1
  92. package/dist/site/components/chunks/index7.js +67 -3
  93. package/dist/site/components/chunks/index8.js +2020 -3
  94. package/dist/site/components/chunks/index9.js +232 -60
  95. package/dist/site/components/chunks/isObjectLike.js +15 -5
  96. package/dist/site/components/chunks/manifestSdkMixins.js +4 -17
  97. package/dist/site/components/chunks/parseHtml.js +1 -1
  98. package/dist/site/components/chunks/parseSvg.js +1 -1
  99. package/dist/site/components/chunks/staticService.js +1 -1
  100. package/dist/site/components/chunks/useConsentPolicyProps.js +1 -1
  101. package/dist/site/components/chunks/useLocalizedStringFormatter.js +1 -1
  102. package/package.json +2 -2
  103. package/dist/site/components/Dropdown/component.preview.d.ts +0 -9
  104. package/dist/site/components/Dropdown/components/DropdownChips.d.ts +0 -8
  105. package/dist/site/components/Dropdown/components/DropdownList.d.ts +0 -20
  106. package/dist/site/components/Dropdown/components/DropdownTrigger.d.ts +0 -22
  107. package/dist/site/components/Dropdown/dropdownUtils.d.ts +0 -22
  108. package/dist/site/components/Dropdown/hooks/useChipOverflow.d.ts +0 -9
  109. package/dist/site/components/Dropdown/hooks/useDropdownQuery.d.ts +0 -15
  110. package/dist/site/components/Dropdown/hooks/useDropdownSelection.d.ts +0 -16
  111. package/dist/site/components/TextInput/TextInput.viewer.constants.d.ts +0 -24
  112. package/dist/site/components/TextInput/sdk.d.ts +0 -4
  113. package/dist/site/components/TextInput/sdk.js +0 -91
  114. package/dist/site/components/TextInput/utils.d.ts +0 -9
  115. package/dist/site/components/chunks/DateField.js +0 -6762
  116. package/dist/site/components/chunks/InfoCircleSmall.js +0 -7
  117. package/dist/site/components/chunks/NumberFormatter.js +0 -140
  118. package/dist/site/components/chunks/Tooltip.js +0 -1334
  119. package/dist/site/components/chunks/_baseSlice.js +0 -43
  120. package/dist/site/components/chunks/index14.js +0 -46
  121. package/dist/site/components/chunks/isArray.js +0 -12
  122. package/dist/site/components/chunks/isArrayLike.js +0 -88
@@ -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: [