xmlui 0.7.28 → 0.7.30

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 (41) hide show
  1. package/dist/{apiInterceptorWorker-FalV8U3I.mjs → apiInterceptorWorker-DqMta6YM.mjs} +1 -1
  2. package/dist/{grammar.tmLanguage-JAlHWPqw.mjs → grammar.tmLanguage-CiYpNgdH.mjs} +3 -17
  3. package/dist/{index-CTUFRo8v.mjs → index-_MjjtXKH.mjs} +8924 -9351
  4. package/dist/index.css +1 -1
  5. package/dist/scripts/bin/start.js +1 -0
  6. package/dist/scripts/src/components/ComponentProvider.js +1 -16
  7. package/dist/scripts/src/components/DatePicker/DatePickerNative.js +1 -1
  8. package/dist/scripts/src/components/Form/FormContext.js +103 -1
  9. package/dist/scripts/src/components/FormItem/FormItem.js +102 -28
  10. package/dist/scripts/src/components/FormItem/FormItemNative.js +2 -1
  11. package/dist/scripts/src/components/FormItem/Validations.js +1 -1
  12. package/dist/scripts/src/components/HtmlTags/HtmlTags.js +444 -315
  13. package/dist/scripts/src/components/Icon/Icon.js +0 -1
  14. package/dist/scripts/src/components/Icon/IconNative.js +1 -1
  15. package/dist/scripts/src/components/IconProvider.js +2 -4
  16. package/dist/scripts/src/components/List/List.js +6 -0
  17. package/dist/scripts/src/components/List/ListNative.js +7 -6
  18. package/dist/scripts/src/components/Markdown/MarkdownNative.js +84 -85
  19. package/dist/scripts/src/components/Option/Option.js +1 -1
  20. package/dist/scripts/src/components/{ThemeChanger → ToneChangerButton}/ToneChangerButton.js +0 -1
  21. package/dist/scripts/src/components-core/ComponentDecorator.js +45 -67
  22. package/dist/scripts/src/components-core/InspectorContext.js +15 -5
  23. package/dist/scripts/src/components-core/rendering/ComponentAdapter.js +1 -1
  24. package/dist/scripts/src/components-core/utils/extractParam.js +69 -2
  25. package/dist/scripts/src/syntax/grammar.tmLanguage.json +4 -17
  26. package/dist/style.css +1 -1
  27. package/dist/xmlui-metadata.mjs +3248 -3269
  28. package/dist/xmlui-metadata.umd.js +11 -88
  29. package/dist/xmlui-standalone.umd.js +154 -231
  30. package/dist/xmlui.d.ts +1 -1
  31. package/dist/xmlui.mjs +1 -1
  32. package/package.json +1 -1
  33. package/dist/scripts/src/components/Icon/MoonIcon.js +0 -10
  34. package/dist/scripts/src/components/Icon/SunIcon.js +0 -10
  35. package/dist/scripts/src/components/IconInfoCard/IconInfoCard.js +0 -40
  36. package/dist/scripts/src/components/PageHeader/PageHeader.js +0 -36
  37. package/dist/scripts/src/components/TableHeader/TableHeader.js +0 -34
  38. package/dist/scripts/src/components/ThemeChanger/ThemeChanger.js +0 -115
  39. package/dist/scripts/src/components/Toolbar/Toolbar.js +0 -32
  40. package/dist/scripts/src/components/ToolbarButton/ToolbarButton.js +0 -38
  41. package/dist/scripts/src/components/TrendLabel/TrendLabel.js +0 -37
@@ -42,6 +42,7 @@ const start = (_a) => __awaiter(void 0, [_a], void 0, function* ({ port, withMoc
42
42
  "process.env.VITE_STANDALONE": process.env.VITE_STANDALONE,
43
43
  "process.env.VITE_MOCK_ENABLED": withMock,
44
44
  "process.env.VITE_INCLUDE_ALL_COMPONENTS": JSON.stringify("true"),
45
+ "process.env.VITE_USER_COMPONENTS_Inspect": JSON.stringify("true"),
45
46
  } }));
46
47
  // server.
47
48
  if (!server.httpServer) {
@@ -55,7 +55,6 @@ const FileInput_1 = require("./FileInput/FileInput");
55
55
  const Spinner_1 = require("./Spinner/Spinner");
56
56
  const Markdown_1 = require("./Markdown/Markdown");
57
57
  const Select_1 = require("./Select/Select");
58
- const ThemeChanger_1 = require("./ThemeChanger/ThemeChanger");
59
58
  const FormSection_1 = require("./FormSection/FormSection");
60
59
  const Checkbox_1 = require("./Checkbox/Checkbox");
61
60
  const Switch_1 = require("./Switch/Switch");
@@ -79,12 +78,6 @@ const Redirect_1 = require("./Redirect/Redirect");
79
78
  const Tabs_1 = require("./Tabs/Tabs");
80
79
  const Bookmark_1 = require("./Bookmark/Bookmark");
81
80
  const AppState_1 = require("./AppState/AppState");
82
- const PageHeader_1 = require("./PageHeader/PageHeader");
83
- const TrendLabel_1 = require("./TrendLabel/TrendLabel");
84
- const IconInfoCard_1 = require("./IconInfoCard/IconInfoCard");
85
- const TableHeader_1 = require("./TableHeader/TableHeader");
86
- const Toolbar_1 = require("./Toolbar/Toolbar");
87
- const ToolbarButton_1 = require("./ToolbarButton/ToolbarButton");
88
81
  const TableOfContents_1 = require("./TableOfContents/TableOfContents");
89
82
  const Accordion_1 = require("./Accordion/Accordion");
90
83
  const Alert_1 = require("./Alert/Alert");
@@ -98,7 +91,7 @@ const Carousel_1 = require("./Carousel/Carousel");
98
91
  const CarouselItem_1 = require("./Carousel/CarouselItem");
99
92
  const renderers_1 = require("../components-core/renderers");
100
93
  const Breakout_1 = require("./Breakout/Breakout");
101
- const ToneChangerButton_1 = require("./ThemeChanger/ToneChangerButton");
94
+ const ToneChangerButton_1 = require("./ToneChangerButton/ToneChangerButton");
102
95
  const APICall_2 = require("./APICall/APICall");
103
96
  const Option_1 = require("./Option/Option");
104
97
  const AutoComplete_1 = require("./AutoComplete/AutoComplete");
@@ -367,7 +360,6 @@ class ComponentRegistry {
367
360
  this.registerCoreComponent(Select_1.selectComponentRenderer);
368
361
  this.registerCoreComponent(AutoComplete_1.autoCompleteComponentRenderer);
369
362
  this.registerCoreComponent(DropdownMenu_1.dropdownMenuComponentRenderer);
370
- this.registerCoreComponent(ThemeChanger_1.themeChangerButtonComponentRenderer);
371
363
  this.registerCoreComponent(ToneChangerButton_1.toneChangerButtonComponentRenderer);
372
364
  this.registerCoreComponent(FormSection_1.formSectionRenderer);
373
365
  this.registerCoreComponent(DropdownMenu_1.dropdownMenuComponentRenderer);
@@ -382,13 +374,6 @@ class ComponentRegistry {
382
374
  this.registerCoreComponent(Theme_1.themeComponentRenderer);
383
375
  this.registerCoreComponent(AppState_1.appStateComponentRenderer);
384
376
  this.registerCoreComponent(APICall_2.apiCallRenderer);
385
- // --- Added after tabler-clone review
386
- this.registerCoreComponent(PageHeader_1.pageHeaderRenderer);
387
- this.registerCoreComponent(TrendLabel_1.trendLabelRenderer);
388
- this.registerCoreComponent(IconInfoCard_1.iconInfoCardRenderer);
389
- this.registerCoreComponent(TableHeader_1.tableHeaderRenderer);
390
- this.registerCoreComponent(Toolbar_1.toolbarRenderer);
391
- this.registerCoreComponent(ToolbarButton_1.toolbarButtonRenderer);
392
377
  // --- New Bootstrap-inspired components
393
378
  this.registerCoreComponent(Carousel_1.carouselComponentRenderer);
394
379
  this.registerCoreComponent(Accordion_1.accordionComponentRenderer);
@@ -207,7 +207,7 @@ exports.DatePicker = (0, react_1.forwardRef)(function DatePicker({ id, initialVa
207
207
  setOpen(false);
208
208
  }
209
209
  }, [onDidChange, updateState, mode, dateFormat]);
210
- return inline ? ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("div", { className: DatePicker_module_scss_1.default.inlinePickerMenu, children: (0, jsx_runtime_1.jsx)(react_day_picker_1.DayPicker, { fixedWeeks: true, fromDate: startDate, toDate: endDate, disabled: disabled, weekStartsOn: _weekStartsOn, showWeekNumber: showWeekNumber, showOutsideDays: true, classNames: DatePicker_module_scss_1.default, mode: mode === "single" ? "single" : "range", selected: selected, onSelect: handleSelect, initialFocus: true, numberOfMonths: mode === "range" ? 2 : 1 }) }) })) : ((0, jsx_runtime_1.jsxs)(ReactDropdownMenu.Root, { open: open, onOpenChange: setOpen, modal: false, children: [(0, jsx_runtime_1.jsx)(ReactDropdownMenu.Trigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)("button", { disabled: !enabled, id: id, ref: ref, style: style, className: (0, classnames_1.default)(DatePicker_module_scss_1.default.datePicker, {
210
+ return inline ? ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("div", { className: DatePicker_module_scss_1.default.inlinePickerMenu, children: (0, jsx_runtime_1.jsx)(react_day_picker_1.DayPicker, { fixedWeeks: true, fromDate: startDate, toDate: endDate, disabled: disabled, weekStartsOn: _weekStartsOn, showWeekNumber: showWeekNumber, showOutsideDays: true, classNames: DatePicker_module_scss_1.default, mode: mode === "single" ? "single" : "range", selected: selected, onSelect: handleSelect, initialFocus: !inline, numberOfMonths: mode === "range" ? 2 : 1 }) }) })) : ((0, jsx_runtime_1.jsxs)(ReactDropdownMenu.Root, { open: open, onOpenChange: setOpen, modal: false, children: [(0, jsx_runtime_1.jsx)(ReactDropdownMenu.Trigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)("button", { disabled: !enabled, id: id, ref: ref, style: style, className: (0, classnames_1.default)(DatePicker_module_scss_1.default.datePicker, {
211
211
  [DatePicker_module_scss_1.default.disabled]: !enabled,
212
212
  [DatePicker_module_scss_1.default.error]: validationStatus === "error",
213
213
  [DatePicker_module_scss_1.default.warning]: validationStatus === "warning",
@@ -1,9 +1,111 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FormContext = void 0;
3
+ exports.formControlTypesMd = exports.formControlTypes = exports.FormContext = exports.validationModeMd = exports.defaultValidationMode = exports.validationModeValues = exports.validationSeverityMd = exports.validationSeverityValues = void 0;
4
4
  exports.useFormContextPart = useFormContextPart;
5
5
  const use_context_selector_1 = require("use-context-selector");
6
+ exports.validationSeverityValues = ["error", "warning", "valid", "none"];
7
+ exports.validationSeverityMd = [
8
+ { value: "valid", description: "Visual indicator for an input that is accepted" },
9
+ { value: "warning", description: "Visual indicator for an input that produced a warning" },
10
+ { value: "error", description: "Visual indicator for an input that produced an error" },
11
+ ];
12
+ exports.validationModeValues = ["errorLate", "onChanged", "onLostFocus"];
13
+ exports.defaultValidationMode = "errorLate";
14
+ exports.validationModeMd = [
15
+ {
16
+ value: "errorLate",
17
+ description: "Display the error when the field loses focus." +
18
+ "If an error is already displayed, continue for every keystroke until input is accepted.",
19
+ },
20
+ {
21
+ value: "onChanged",
22
+ description: "Display error (if present) for every keystroke.",
23
+ },
24
+ {
25
+ value: "onLostFocus",
26
+ description: "Show/hide error (if present) only if the field loses focus.",
27
+ }
28
+ ];
6
29
  exports.FormContext = (0, use_context_selector_1.createContext)(undefined);
7
30
  function useFormContextPart(selector) {
8
31
  return (0, use_context_selector_1.useContextSelector)(exports.FormContext, selector);
9
32
  }
33
+ exports.formControlTypes = [
34
+ "text",
35
+ "password",
36
+ "textarea",
37
+ "checkbox",
38
+ "number",
39
+ "integer",
40
+ "file",
41
+ "select",
42
+ "autocomplete",
43
+ "datePicker",
44
+ "radioGroup",
45
+ "custom",
46
+ "switch",
47
+ "slider",
48
+ "colorpicker",
49
+ ];
50
+ exports.formControlTypesMd = [
51
+ {
52
+ value: "text",
53
+ description: "Renders TextBox",
54
+ },
55
+ {
56
+ value: "password",
57
+ description: "Renders TextBox with `password` type",
58
+ },
59
+ {
60
+ value: "textarea",
61
+ description: "Renders Textarea",
62
+ },
63
+ {
64
+ value: "checkbox",
65
+ description: "Renders Checkbox",
66
+ },
67
+ {
68
+ value: "number",
69
+ description: "Renders NumberBox",
70
+ },
71
+ {
72
+ value: "integer",
73
+ description: "Renders NumberBox with `integersOnly` set to true",
74
+ },
75
+ {
76
+ value: "file",
77
+ description: "Renders FileInput",
78
+ },
79
+ {
80
+ value: "datePicker",
81
+ description: "Renders DatePicker",
82
+ },
83
+ {
84
+ value: "radioGroup",
85
+ description: "Renders RadioGroup",
86
+ },
87
+ {
88
+ value: "switch",
89
+ description: "Renders Switch",
90
+ },
91
+ {
92
+ value: "select",
93
+ description: "Renders Select",
94
+ },
95
+ {
96
+ value: "autocomplete",
97
+ description: "Renders AutoComplete",
98
+ },
99
+ {
100
+ value: "slider",
101
+ description: "Renders Slider",
102
+ },
103
+ {
104
+ value: "colorpicker",
105
+ description: "Renders ColorPicker",
106
+ },
107
+ {
108
+ value: "custom",
109
+ description: "Custom control specified in children",
110
+ }
111
+ ];
@@ -20,11 +20,14 @@ const FormItem_module_scss_1 = __importDefault(require("./FormItem.module.scss")
20
20
  const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
21
21
  const renderers_1 = require("../../components-core/renderers");
22
22
  const themeVars_1 = require("../../components-core/theming/themeVars");
23
+ const FormContext_1 = require("../Form/FormContext");
23
24
  const metadata_helpers_1 = require("../metadata-helpers");
24
25
  const Validations_1 = require("./Validations");
25
26
  const FormItemNative_1 = require("./FormItemNative");
26
27
  const container_helpers_1 = require("../container-helpers");
27
28
  const COMP = "FormItem";
29
+ // NOTE: We need to filter the "none" value out so that it doesn't show up in the docs.
30
+ const filteredValidationSeverityValues = FormContext_1.validationSeverityValues.filter((value) => value !== "none");
28
31
  exports.FormItemMd = (0, ComponentDefs_1.createMetadata)({
29
32
  status: "experimental",
30
33
  description: `A \`${COMP}\` component represents a single input element within a \`Form\`. The value within ` +
@@ -47,36 +50,107 @@ exports.FormItemMd = (0, ComponentDefs_1.createMetadata)({
47
50
  defaultValue: FormItemNative_1.defaultProps.labelBreak,
48
51
  },
49
52
  enabled: (0, metadata_helpers_1.dEnabled)(),
50
- type: (0, ComponentDefs_1.d)(`This property is used to determine the specific input control the FormItem will wrap ` +
51
- `around. Note that the control names start with a lowercase letter and map to input ` +
52
- `components found in XMLUI.`),
53
- customValidationsDebounce: (0, ComponentDefs_1.d)(`This optional number prop determines the time interval between two runs of a custom validation.`),
54
- validationMode: (0, ComponentDefs_1.d)(`This property sets what kind of validation mode or strategy to employ for a particular ` +
55
- `input field.`),
53
+ type: {
54
+ description: `This property is used to determine the specific input control the FormItem will wrap ` +
55
+ `around. Note that the control names start with a lowercase letter and map to input ` +
56
+ `components found in XMLUI.`,
57
+ availableValues: FormContext_1.formControlTypesMd,
58
+ defaultValue: FormItemNative_1.defaultProps.type,
59
+ valueType: "string",
60
+ },
61
+ customValidationsDebounce: {
62
+ description: `This optional number prop determines the time interval between two runs of a custom validation.`,
63
+ type: "number",
64
+ defaultValue: FormItemNative_1.defaultProps.customValidationsDebounce,
65
+ },
66
+ validationMode: {
67
+ description: `This property sets what kind of validation mode or strategy to employ for a particular ` +
68
+ `input field.`,
69
+ availableValues: FormContext_1.validationModeMd,
70
+ defaultValue: FormContext_1.defaultValidationMode,
71
+ },
56
72
  initialValue: (0, metadata_helpers_1.dInitialValue)(),
57
73
  required: (0, metadata_helpers_1.dRequired)(),
58
- requiredInvalidMessage: (0, ComponentDefs_1.d)(`This optional string property is used to customize the message that is displayed if the ` +
59
- `field is not filled in.`),
60
- minLength: (0, ComponentDefs_1.d)(`Checks whether the input has a minimum length of a specified value.`),
61
- maxLength: (0, ComponentDefs_1.d)(`Checks whether the input has a maximum length of a specified value.`),
62
- maxTextLength: (0, ComponentDefs_1.d)(`The maximum length of the text in the input field`),
63
- lengthInvalidMessage: (0, ComponentDefs_1.d)(`This optional string property is used to customize the message that is displayed on a failed ` +
64
- `length check: [minLength](#minlength) or [maxLength](#maxlength).`),
65
- lengthInvalidSeverity: (0, ComponentDefs_1.d)(`This property sets the severity level of length validations.`),
66
- minValue: (0, ComponentDefs_1.d)(`Checks whether the input has the minimum specified value.`),
67
- maxValue: (0, ComponentDefs_1.d)(`Checks whether the input has the maximum specified value.`),
68
- rangeInvalidMessage: (0, ComponentDefs_1.d)(`This optional string property is used to customize the message that is displayed when ` +
69
- `a value is out of range.`),
70
- rangeInvalidSeverity: (0, ComponentDefs_1.d)(`This property sets the severity level of the value range validation.`),
71
- pattern: (0, ComponentDefs_1.d)(`Checks whether the input fits a predefined regular expression.`),
72
- patternInvalidMessage: (0, ComponentDefs_1.d)(`This optional string property is used to customize the message that is displayed on a ` +
73
- `failed pattern test.`),
74
- patternInvalidSeverity: (0, ComponentDefs_1.d)(`This property sets the severity level of the pattern validation.`),
75
- regex: (0, ComponentDefs_1.d)(`Checks whether the input fits the provided regular expression.`),
76
- regexInvalidMessage: (0, ComponentDefs_1.d)(`This optional string property is used to customize the message that is displayed on a ` +
77
- `failed regular expression test.`),
78
- regexInvalidSeverity: (0, ComponentDefs_1.d)(`This property sets the severity level of regular expression validation.`),
79
- inputTemplate: (0, ComponentDefs_1.d)("This property is used to define a custom input template."),
74
+ requiredInvalidMessage: {
75
+ description: `This optional string property is used to customize the message that is displayed if the ` +
76
+ `field is not filled in.`,
77
+ valueType: "string",
78
+ },
79
+ minLength: {
80
+ description: `Checks whether the input has a minimum length of a specified value.`,
81
+ valueType: "number",
82
+ },
83
+ maxLength: {
84
+ description: `Checks whether the input has a maximum length of a specified value.`,
85
+ valueType: "number",
86
+ },
87
+ maxTextLength: {
88
+ description: `The maximum length of the text in the input field`,
89
+ valueType: "number",
90
+ },
91
+ lengthInvalidMessage: {
92
+ description: `This optional string property is used to customize the message that is displayed on a failed ` +
93
+ `length check: [minLength](#minlength) or [maxLength](#maxlength).`,
94
+ valueType: "string",
95
+ },
96
+ lengthInvalidSeverity: {
97
+ description: `This property sets the severity level of the length validation.`,
98
+ valueType: "string",
99
+ availableValues: filteredValidationSeverityValues,
100
+ defaultValue: "error",
101
+ },
102
+ minValue: {
103
+ description: `Checks whether the input has the minimum specified value.`,
104
+ valueType: "number",
105
+ },
106
+ maxValue: {
107
+ description: `Checks whether the input has the maximum specified value.`,
108
+ valueType: "number",
109
+ },
110
+ rangeInvalidMessage: {
111
+ description: `This optional string property is used to customize the message that is displayed when ` +
112
+ `a value is out of range.`,
113
+ valueType: "string",
114
+ },
115
+ rangeInvalidSeverity: {
116
+ description: `This property sets the severity level of the value range validation.`,
117
+ valueType: "string",
118
+ availableValues: filteredValidationSeverityValues,
119
+ defaultValue: "error",
120
+ },
121
+ pattern: {
122
+ description: `Checks whether the input fits a predefined regular expression.`,
123
+ valueType: "string",
124
+ },
125
+ patternInvalidMessage: {
126
+ description: `This optional string property is used to customize the message that is displayed on a ` +
127
+ `failed pattern test.`,
128
+ valueType: "string",
129
+ },
130
+ patternInvalidSeverity: {
131
+ description: `This property sets the severity level of the pattern validation.`,
132
+ valueType: "string",
133
+ availableValues: filteredValidationSeverityValues,
134
+ defaultValue: "error",
135
+ },
136
+ regex: {
137
+ description: `Checks whether the input fits the provided regular expression.`,
138
+ valueType: "string",
139
+ },
140
+ regexInvalidMessage: {
141
+ description: `This optional string property is used to customize the message that is displayed on a ` +
142
+ `failed regular expression test.`,
143
+ valueType: "string",
144
+ },
145
+ regexInvalidSeverity: {
146
+ description: `This property sets the severity level of regular expression validation.`,
147
+ valueType: "string",
148
+ availableValues: filteredValidationSeverityValues,
149
+ defaultValue: "error",
150
+ },
151
+ inputTemplate: {
152
+ description: "This property is used to define a custom input template.",
153
+ },
80
154
  },
81
155
  events: {
82
156
  validate: (0, ComponentDefs_1.d)(`This event is used to define a custom validation function.`),
@@ -42,9 +42,10 @@ exports.defaultProps = {
42
42
  type: "text",
43
43
  labelBreak: true,
44
44
  enabled: true,
45
+ customValidationsDebounce: 0,
45
46
  };
46
47
  exports.FormItem = (0, react_1.memo)(function FormItem(_a) {
47
- var { style, bindTo, type = "text", label, enabled = true, labelPosition, labelWidth, labelBreak = true, children, validations, onValidate, customValidationsDebounce, validationMode, registerComponentApi, maxTextLength, inputRenderer } = _a, rest = __rest(_a, ["style", "bindTo", "type", "label", "enabled", "labelPosition", "labelWidth", "labelBreak", "children", "validations", "onValidate", "customValidationsDebounce", "validationMode", "registerComponentApi", "maxTextLength", "inputRenderer"]);
48
+ var { style, bindTo, type = exports.defaultProps.type, label, enabled = exports.defaultProps.enabled, labelPosition, labelWidth, labelBreak = exports.defaultProps.labelBreak, children, validations, onValidate, customValidationsDebounce = exports.defaultProps.customValidationsDebounce, validationMode, registerComponentApi, maxTextLength, inputRenderer } = _a, rest = __rest(_a, ["style", "bindTo", "type", "label", "enabled", "labelPosition", "labelWidth", "labelBreak", "children", "validations", "onValidate", "customValidationsDebounce", "validationMode", "registerComponentApi", "maxTextLength", "inputRenderer"]);
48
49
  const labelWidthValue = (0, FormContext_1.useFormContextPart)((value) => labelWidth || value.itemLabelWidth);
49
50
  const labelBreakValue = (0, FormContext_1.useFormContextPart)((value) => labelBreak !== undefined ? labelBreak : value.itemLabelBreak);
50
51
  const labelPositionValue = (0, FormContext_1.useFormContextPart)((value) => labelPosition || value.itemLabelPosition || DEFAULT_LABEL_POSITIONS[type]);
@@ -273,7 +273,7 @@ function useValidation(validations, onValidate, value, dispatch, bindTo, throttl
273
273
  };
274
274
  }, [bindTo, deferredValue, dispatch, onValidate, throttledAsyncValidate, validations]);
275
275
  }
276
- function useValidationDisplay(bindTo, value, validationResult, validationMode = "errorLate") {
276
+ function useValidationDisplay(bindTo, value, validationResult, validationMode = FormContext_1.defaultValidationMode) {
277
277
  const interactionFlags = (0, FormContext_1.useFormContextPart)(value => value.interactionFlags[bindTo]) || constants_1.EMPTY_OBJECT;
278
278
  const forceShowValidationResult = interactionFlags.forceShowValidationResult;
279
279
  const focused = interactionFlags.focused;