@vectoriox/iox-builder 4.18.1 → 4.18.3
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.
|
@@ -264,6 +264,8 @@ function resolveTraitControllerType(type) {
|
|
|
264
264
|
case TraitInputType.FontFamily: return 'select';
|
|
265
265
|
case TraitInputType.GridTemplate: return 'gridTemplate';
|
|
266
266
|
case TraitInputType.Textarea: return 'textarea';
|
|
267
|
+
case TraitInputType.RuleList: return 'ruleList';
|
|
268
|
+
case TraitInputType.ActionList: return 'actionList';
|
|
267
269
|
default: return 'text';
|
|
268
270
|
}
|
|
269
271
|
}
|
|
@@ -9750,7 +9752,7 @@ class FormComponentConfig extends ComponentConfig {
|
|
|
9750
9752
|
// Stable identity the submit endpoint resolves the saved spec by. Generated on create;
|
|
9751
9753
|
// shown read-only-ish so an author can copy it into a webhook consumer.
|
|
9752
9754
|
new TraitConfig('formId', 'Form ID', TraitInputType.Text, undefined, ''),
|
|
9753
|
-
new TraitConfig('feedback', '
|
|
9755
|
+
new TraitConfig('feedback', 'Tell them about mistakes', TraitInputType.Select, [
|
|
9754
9756
|
{ label: 'Smart — on submit, then live once touched', value: 'smart' },
|
|
9755
9757
|
{ label: 'On submit only', value: 'submit' },
|
|
9756
9758
|
{ label: 'As you type', value: 'live' },
|
|
@@ -9760,7 +9762,7 @@ class FormComponentConfig extends ComponentConfig {
|
|
|
9760
9762
|
// On by default and invisible to the visitor (decision D12).
|
|
9761
9763
|
new TraitConfig('honeypot', 'Honeypot field', TraitInputType.Checkbox, undefined, true),
|
|
9762
9764
|
new TraitConfig('minFillMs', 'Minimum fill time (ms)', TraitInputType.Number, undefined, 1200),
|
|
9763
|
-
new TraitConfig('__afterSubmitLabel', '
|
|
9765
|
+
new TraitConfig('__afterSubmitLabel', 'Where the answers go', TraitInputType.SectionLabel),
|
|
9764
9766
|
// The ordered destination list. `store` is always first and cannot be removed — it is
|
|
9765
9767
|
// the safety net the whole store-first design rests on.
|
|
9766
9768
|
new TraitConfig('actions', 'Destinations', TraitInputType.ActionList, undefined, [{ type: 'store' }]),
|
|
@@ -9798,7 +9800,7 @@ class FieldComponentConfig extends ComponentConfig {
|
|
|
9798
9800
|
new TraitConfig('label', 'Label', TraitInputType.Text, undefined, 'Label'),
|
|
9799
9801
|
// Choosing the control also chooses the validation — an Email field validates email
|
|
9800
9802
|
// with nothing configured.
|
|
9801
|
-
new TraitConfig('control', '
|
|
9803
|
+
new TraitConfig('control', 'Kind of answer', TraitInputType.Select, [
|
|
9802
9804
|
{ label: 'Text', value: 'text' },
|
|
9803
9805
|
{ label: 'Email', value: 'email' },
|
|
9804
9806
|
{ label: 'Phone', value: 'tel' },
|
|
@@ -9818,7 +9820,7 @@ class FieldComponentConfig extends ComponentConfig {
|
|
|
9818
9820
|
// enforcement nor the file. See forms-and-inputs-plan.md → Remaining work P0/1.
|
|
9819
9821
|
{ label: 'Hidden', value: 'hidden' },
|
|
9820
9822
|
], 'text'),
|
|
9821
|
-
new TraitConfig('placeholder', '
|
|
9823
|
+
new TraitConfig('placeholder', 'Hint inside the box', TraitInputType.Text, undefined, '', false, { trait: 'control', values: ['text', 'email', 'tel', 'url', 'number', 'password', 'textarea', 'select'] }),
|
|
9822
9824
|
new TraitConfig('help', 'Help text', TraitInputType.Text, undefined, ''),
|
|
9823
9825
|
new TraitConfig('rows', 'Rows', TraitInputType.Number, undefined, 4, false, { trait: 'control', values: 'textarea' }),
|
|
9824
9826
|
new TraitConfig('labelHidden', 'Hide label (screen readers still read it)', TraitInputType.Checkbox, undefined, false),
|
|
@@ -9829,8 +9831,8 @@ class FieldComponentConfig extends ComponentConfig {
|
|
|
9829
9831
|
// One per line, `value|Label` or just the label. A richer editor arrives with bound
|
|
9830
9832
|
// options in Phase 2; this keeps v1 to one control instead of a new trait type.
|
|
9831
9833
|
new TraitConfig('optionsText', 'Choices (one per line)', TraitInputType.Textarea, undefined, '', false, { trait: 'control', values: ['select', 'radio'] }),
|
|
9832
|
-
new TraitConfig('__validationLabel', '
|
|
9833
|
-
new TraitConfig('required', '
|
|
9834
|
+
new TraitConfig('__validationLabel', 'What this field demands', TraitInputType.SectionLabel),
|
|
9835
|
+
new TraitConfig('required', 'They must fill it in', TraitInputType.Checkbox, undefined, false),
|
|
9834
9836
|
// The additive rule list (minLength, pattern, matches, …). Unused rules are invisible
|
|
9835
9837
|
// rather than a wall of empty controls — the Effects-group pattern.
|
|
9836
9838
|
new TraitConfig('rules', 'Rules', TraitInputType.RuleList, undefined, []),
|