xmlui 0.9.92 → 0.9.94

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 (45) hide show
  1. package/dist/lib/{index-C5eOg7bB.mjs → index-BRjPUpBp.mjs} +8930 -8672
  2. package/dist/lib/index.css +1 -1
  3. package/dist/lib/{initMock-DLD4GmW7.mjs → initMock-DqOvDfSZ.mjs} +1 -1
  4. package/dist/lib/language-server-web-worker.mjs +1 -1
  5. package/dist/lib/language-server.mjs +1 -1
  6. package/dist/lib/{metadata-utils-BE5_Lmoa.mjs → metadata-utils-PjrGUxZN.mjs} +1 -1
  7. package/dist/lib/{server-common-xCK0Af2K.mjs → server-common-BdwSpo3T.mjs} +4466 -4436
  8. package/dist/lib/{transform-bUuxPyao.mjs → transform-CDSgqN5L.mjs} +1240 -1202
  9. package/dist/lib/xmlui-parser.d.ts +3 -1
  10. package/dist/lib/xmlui-parser.mjs +2 -2
  11. package/dist/lib/{xmlui-serializer-BLFl30t9.mjs → xmlui-serializer-D6rtRMNI.mjs} +1 -1
  12. package/dist/lib/xmlui.d.ts +21 -13
  13. package/dist/lib/xmlui.mjs +2 -2
  14. package/dist/metadata/{collectedComponentMetadata-iKGyD6r3.mjs → collectedComponentMetadata-yBdEI1xB.mjs} +8819 -8524
  15. package/dist/metadata/{initMock-CZGAyfXr.mjs → initMock-BQykhNyQ.mjs} +1 -1
  16. package/dist/metadata/style.css +1 -1
  17. package/dist/metadata/xmlui-metadata.mjs +1 -1
  18. package/dist/metadata/xmlui-metadata.umd.js +118 -114
  19. package/dist/scripts/package.json +2 -1
  20. package/dist/scripts/src/components/AutoComplete/AutoComplete.js +5 -2
  21. package/dist/scripts/src/components/AutoComplete/AutoCompleteContext.js +1 -2
  22. package/dist/scripts/src/components/AutoComplete/AutoCompleteNative.js +9 -12
  23. package/dist/scripts/src/components/Bookmark/Bookmark.js +1 -1
  24. package/dist/scripts/src/components/Option/Option.js +11 -11
  25. package/dist/scripts/src/components/Select/HiddenOption.js +2 -2
  26. package/dist/scripts/src/components/Select/Select.js +5 -9
  27. package/dist/scripts/src/components/Select/SelectNative.js +95 -45
  28. package/dist/scripts/src/components/SlotItem.js +1 -0
  29. package/dist/scripts/src/components/Spinner/SpinnerNative.js +3 -4
  30. package/dist/scripts/src/components/Tabs/TabContext.js +7 -7
  31. package/dist/scripts/src/components/Tabs/TabItem.js +17 -1
  32. package/dist/scripts/src/components/Tabs/TabItemNative.js +11 -9
  33. package/dist/scripts/src/components/Tabs/Tabs.js +17 -3
  34. package/dist/scripts/src/components/Tabs/TabsNative.js +50 -46
  35. package/dist/scripts/src/components/TextArea/TextArea.js +1 -2
  36. package/dist/scripts/src/components/Toggle/Toggle.js +34 -10
  37. package/dist/scripts/src/components/container-helpers.js +2 -1
  38. package/dist/scripts/src/components-core/rendering/ComponentWrapper.js +2 -1
  39. package/dist/scripts/src/components-core/xmlui-parser.js +365 -196
  40. package/dist/scripts/src/parsers/xmlui-parser/diagnostics.js +1 -1
  41. package/dist/scripts/src/parsers/xmlui-parser/parser.js +69 -1
  42. package/dist/standalone/xmlui-standalone.es.d.ts +25 -14
  43. package/dist/standalone/xmlui-standalone.umd.js +259 -255
  44. package/package.json +2 -1
  45. package/dist/scripts/src/abstractions/scripting/modules.js +0 -2
@@ -29,13 +29,25 @@ exports.TabsMd = (0, metadata_helpers_1.createMetadata)({
29
29
  defaultValue: TabsNative_1.defaultProps.orientation,
30
30
  valueType: "string",
31
31
  },
32
- tabTemplate: Object.assign(Object.assign({}, (0, metadata_helpers_1.dComponent)(`This property declares the template for the clickable tab area.`)), { isInternal: true }),
32
+ headerTemplate: Object.assign({}, (0, metadata_helpers_1.dComponent)(`This property declares the template for the clickable tab area.`)),
33
33
  },
34
34
  apis: {
35
35
  next: {
36
36
  description: `This method selects the next tab. If the current tab is the last one, it wraps around to the first tab.`,
37
37
  signature: "next(): void",
38
38
  },
39
+ prev: {
40
+ description: `This method selects the previous tab. If the current tab is the first one, it wraps around to the last tab.`,
41
+ signature: "prev(): void",
42
+ },
43
+ setActiveTabIndex: {
44
+ description: `This method sets the active tab by index (0-based).`,
45
+ signature: "setActiveTabIndex(index: number): void",
46
+ },
47
+ setActiveTabById: {
48
+ description: `This method sets the active tab by its ID.`,
49
+ signature: "setActiveTabById(id: string): void",
50
+ },
39
51
  },
40
52
  themeVars: (0, themeVars_1.parseScssVar)(Tabs_module_scss_1.default.themeVars),
41
53
  defaultThemeVars: {
@@ -53,7 +65,9 @@ exports.TabsMd = (0, metadata_helpers_1.createMetadata)({
53
65
  });
54
66
  exports.tabsComponentRenderer = (0, renderers_1.createComponentRenderer)(COMP, exports.TabsMd, ({ extractValue, node, renderChild, layoutCss, registerComponentApi }) => {
55
67
  var _a, _b, _c;
56
- return ((0, jsx_runtime_1.jsx)(TabsNative_1.Tabs, { style: layoutCss, tabRenderer: !!((_a = node === null || node === void 0 ? void 0 : node.props) === null || _a === void 0 ? void 0 : _a.tabTemplate)
57
- ? (item) => ((0, jsx_runtime_1.jsx)(container_helpers_1.MemoizedItem, { node: node.props.tabTemplate, item: item, renderChild: renderChild }))
68
+ return ((0, jsx_runtime_1.jsx)(TabsNative_1.Tabs, { id: node === null || node === void 0 ? void 0 : node.uid, style: layoutCss, headerRenderer: !!((_a = node === null || node === void 0 ? void 0 : node.props) === null || _a === void 0 ? void 0 : _a.headerTemplate)
69
+ ? (item) => ((0, jsx_runtime_1.jsx)(container_helpers_1.MemoizedItem, { node: node.props.headerTemplate, itemKey: "$header", contextVars: {
70
+ $header: item,
71
+ }, renderChild: renderChild }))
58
72
  : undefined, activeTab: extractValue((_b = node.props) === null || _b === void 0 ? void 0 : _b.activeTab), orientation: extractValue((_c = node.props) === null || _c === void 0 ? void 0 : _c.orientation), registerComponentApi: registerComponentApi, children: renderChild(node.children) }));
59
73
  });
@@ -1,37 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
4
  };
@@ -39,22 +6,33 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
6
  exports.Tabs = exports.defaultProps = void 0;
40
7
  const jsx_runtime_1 = require("react/jsx-runtime");
41
8
  const react_1 = require("react");
42
- const RTabs = __importStar(require("@radix-ui/react-tabs"));
9
+ const react_tabs_1 = require("@radix-ui/react-tabs");
43
10
  const Tabs_module_scss_1 = __importDefault(require("./Tabs.module.scss"));
44
11
  const misc_1 = require("../../components-core/utils/misc");
45
- const TabContext_1 = require("../Tabs/TabContext");
12
+ const TabContext_1 = require("./TabContext");
46
13
  const classnames_1 = __importDefault(require("classnames"));
47
14
  exports.defaultProps = {
48
15
  activeTab: 0,
49
16
  orientation: "horizontal",
50
17
  distributeEvenly: false,
51
18
  };
52
- exports.Tabs = (0, react_1.forwardRef)(function Tabs({ activeTab = exports.defaultProps.activeTab, orientation = exports.defaultProps.orientation, tabRenderer, style, children, registerComponentApi, className, distributeEvenly = exports.defaultProps.distributeEvenly, }, forwardedRef) {
19
+ exports.Tabs = (0, react_1.forwardRef)(function Tabs({ activeTab = exports.defaultProps.activeTab, orientation = exports.defaultProps.orientation, headerRenderer, style, children, id, registerComponentApi, className, distributeEvenly = exports.defaultProps.distributeEvenly, }, forwardedRef) {
53
20
  const { tabItems, tabContextValue } = (0, TabContext_1.useTabContextValue)();
54
- const [activeIndex, setActiveIndex] = (0, react_1.useState)(activeTab);
21
+ const tabsId = id || (0, react_1.useId)();
22
+ // Ensure activeTab is within valid bounds
23
+ const validActiveTab = (0, react_1.useMemo)(() => {
24
+ if (tabItems.length === 0)
25
+ return 0;
26
+ if (activeTab < 0)
27
+ return 0;
28
+ if (activeTab >= tabItems.length)
29
+ return 0; // Default to first tab if out of bounds
30
+ return activeTab;
31
+ }, [activeTab, tabItems.length]);
32
+ const [activeIndex, setActiveIndex] = (0, react_1.useState)(validActiveTab);
55
33
  const currentTab = (0, react_1.useMemo)(() => {
56
34
  var _a;
57
- return (_a = tabItems[activeIndex]) === null || _a === void 0 ? void 0 : _a.id;
35
+ return (_a = tabItems[activeIndex]) === null || _a === void 0 ? void 0 : _a.innerId;
58
36
  }, [activeIndex, tabItems]);
59
37
  (0, react_1.useEffect)(() => {
60
38
  tabContextValue.setActiveTabId(currentTab);
@@ -63,8 +41,8 @@ exports.Tabs = (0, react_1.forwardRef)(function Tabs({ activeTab = exports.defau
63
41
  if (activeTab !== undefined) {
64
42
  setActiveIndex(() => {
65
43
  const maxIndex = tabItems.length - 1;
66
- const newIndex = activeTab - 1;
67
- return newIndex < 0 ? 0 : newIndex > maxIndex ? maxIndex : newIndex;
44
+ const newIndex = activeTab; // activeTab should be 0-based index
45
+ return newIndex < 0 ? 0 : newIndex > maxIndex ? 0 : newIndex; // Default to first tab (0) when out of bounds
68
46
  });
69
47
  }
70
48
  }, [activeTab, tabItems.length]);
@@ -74,18 +52,44 @@ exports.Tabs = (0, react_1.forwardRef)(function Tabs({ activeTab = exports.defau
74
52
  return prevIndex >= maxIndex ? 0 : prevIndex + 1;
75
53
  });
76
54
  });
55
+ const prev = (0, misc_1.useEvent)(() => {
56
+ setActiveIndex((prevIndex) => {
57
+ const maxIndex = tabItems.length - 1;
58
+ return prevIndex <= 0 ? maxIndex : prevIndex - 1;
59
+ });
60
+ });
61
+ const setActiveTabIndex = (0, misc_1.useEvent)((index) => {
62
+ if (index >= 0 && index < tabItems.length) {
63
+ setActiveIndex(index);
64
+ }
65
+ });
66
+ const setActiveTabById = (0, misc_1.useEvent)((tabId) => {
67
+ // First try to find by external id, then by innerId
68
+ let index = tabItems.findIndex((item) => item.id === tabId);
69
+ if (index === -1) {
70
+ index = tabItems.findIndex((item) => item.innerId === tabId);
71
+ }
72
+ if (index !== -1) {
73
+ setActiveIndex(index);
74
+ }
75
+ });
77
76
  (0, react_1.useEffect)(() => {
78
77
  registerComponentApi === null || registerComponentApi === void 0 ? void 0 : registerComponentApi({
79
78
  next,
79
+ prev,
80
+ setActiveTabIndex,
81
+ setActiveTabById,
80
82
  });
81
- }, [next, registerComponentApi]);
82
- return ((0, jsx_runtime_1.jsx)(TabContext_1.TabContext.Provider, { value: tabContextValue, children: (0, jsx_runtime_1.jsxs)(RTabs.Root, { ref: forwardedRef, className: (0, classnames_1.default)(Tabs_module_scss_1.default.tabs, className), value: `${currentTab}`, onValueChange: (tab) => {
83
- const newIndex = tabItems.findIndex((item) => item.id === tab);
83
+ }, [next, prev, setActiveTabIndex, setActiveTabById, registerComponentApi]);
84
+ return ((0, jsx_runtime_1.jsx)(TabContext_1.TabContext.Provider, { value: tabContextValue, children: (0, jsx_runtime_1.jsxs)(react_tabs_1.Root, { id: tabsId, ref: forwardedRef, className: (0, classnames_1.default)(Tabs_module_scss_1.default.tabs, className), value: `${currentTab}`, onValueChange: (tab) => {
85
+ const newIndex = tabItems.findIndex((item) => item.innerId === tab);
84
86
  if (newIndex !== activeIndex) {
85
87
  tabContextValue.setActiveTabId(tab);
86
88
  setActiveIndex(newIndex);
87
89
  }
88
- }, orientation: orientation, style: style, children: [(0, jsx_runtime_1.jsxs)(RTabs.List, { className: Tabs_module_scss_1.default.tabsList, children: [tabItems.map((tab) => tabRenderer ? ((0, jsx_runtime_1.jsx)(RTabs.Trigger, { value: tab.id, asChild: true, children: tabRenderer({ label: tab.label, isActive: tab.id === currentTab }) }, tab.id)) : ((0, jsx_runtime_1.jsx)(RTabs.Trigger, { className: (0, classnames_1.default)(Tabs_module_scss_1.default.tabTrigger, {
89
- [Tabs_module_scss_1.default.distributeEvenly]: distributeEvenly
90
- }), value: tab.id, children: tab.label }, tab.id))), (!distributeEvenly && !tabRenderer) && (0, jsx_runtime_1.jsx)("div", { className: Tabs_module_scss_1.default.filler, "data-orientation": orientation })] }), children] }) }));
90
+ }, orientation: orientation, style: style, children: [(0, jsx_runtime_1.jsxs)(react_tabs_1.List, { className: Tabs_module_scss_1.default.tabsList, role: "tablist", children: [tabItems.map((tab, index) => tab.headerRenderer ? ((0, jsx_runtime_1.jsx)(react_tabs_1.Trigger, { role: "tab", "aria-label": tab.label, className: (0, classnames_1.default)(Tabs_module_scss_1.default.tabTrigger, {
91
+ [Tabs_module_scss_1.default.distributeEvenly]: distributeEvenly,
92
+ }), value: tab.innerId, children: tab.headerRenderer(Object.assign(Object.assign({}, (tab.id !== undefined && { id: tab.id })), { index, label: tab.label, isActive: tab.innerId === currentTab })) }, tab.innerId)) : headerRenderer ? ((0, jsx_runtime_1.jsx)(react_tabs_1.Trigger, { value: tab.innerId, role: "tab", "aria-label": tab.label, children: headerRenderer(Object.assign(Object.assign({}, (tab.id !== undefined && { id: tab.id })), { index, label: tab.label, isActive: tab.innerId === currentTab })) }, tab.innerId)) : ((0, jsx_runtime_1.jsx)(react_tabs_1.Trigger, { role: "tab", "aria-label": tab.label, className: (0, classnames_1.default)(Tabs_module_scss_1.default.tabTrigger, {
93
+ [Tabs_module_scss_1.default.distributeEvenly]: distributeEvenly,
94
+ }), value: tab.innerId, children: tab.label }, tab.innerId))), !distributeEvenly && !headerRenderer && ((0, jsx_runtime_1.jsx)("div", { className: Tabs_module_scss_1.default.filler, "data-orientation": orientation }))] }), children] }) }));
91
95
  });
@@ -85,6 +85,5 @@ exports.TextAreaMd = (0, metadata_helpers_1.createMetadata)({
85
85
  themeVars: (0, themeVars_1.parseScssVar)(TextArea_module_scss_1.default.themeVars),
86
86
  });
87
87
  exports.textAreaComponentRenderer = (0, renderers_1.createComponentRenderer)(COMP, exports.TextAreaMd, ({ node, extractValue, state, updateState, layoutCss, registerComponentApi, lookupEventHandler, }) => {
88
- const initialValue = extractValue(node.props.initialValue);
89
- return ((0, jsx_runtime_1.jsx)(TextAreaNative_1.TextArea, { value: state === null || state === void 0 ? void 0 : state.value, initialValue: initialValue, updateState: updateState, autoFocus: extractValue.asOptionalBoolean(node.props.autoFocus), enabled: extractValue.asOptionalBoolean(node.props.enabled), placeholder: extractValue(node.props.placeholder), onDidChange: lookupEventHandler("didChange"), onFocus: lookupEventHandler("gotFocus"), onBlur: lookupEventHandler("lostFocus"), readOnly: extractValue.asOptionalBoolean(node.props.readOnly), resize: node.props.resize, enterSubmits: extractValue.asOptionalBoolean(node.props.enterSubmits), escResets: extractValue.asOptionalBoolean(node.props.escResets), style: layoutCss, registerComponentApi: registerComponentApi, maxRows: extractValue.asOptionalNumber(node.props.maxRows), minRows: extractValue.asOptionalNumber(node.props.minRows), maxLength: extractValue.asOptionalNumber(node.props.maxLength), rows: extractValue.asOptionalNumber(node.props.rows), autoSize: extractValue.asOptionalBoolean(node.props.autoSize), validationStatus: extractValue(node.props.validationStatus), label: extractValue(node.props.label), labelPosition: extractValue(node.props.labelPosition), labelWidth: extractValue(node.props.labelWidth), labelBreak: extractValue.asOptionalBoolean(node.props.labelBreak), required: extractValue.asOptionalBoolean(node.props.required) }, `${node.uid}-${initialValue}`));
88
+ return ((0, jsx_runtime_1.jsx)(TextAreaNative_1.TextArea, { value: state === null || state === void 0 ? void 0 : state.value, initialValue: extractValue(node.props.initialValue), updateState: updateState, autoFocus: extractValue.asOptionalBoolean(node.props.autoFocus), enabled: extractValue.asOptionalBoolean(node.props.enabled), placeholder: extractValue(node.props.placeholder), onDidChange: lookupEventHandler("didChange"), onFocus: lookupEventHandler("gotFocus"), onBlur: lookupEventHandler("lostFocus"), readOnly: extractValue.asOptionalBoolean(node.props.readOnly), resize: node.props.resize, enterSubmits: extractValue.asOptionalBoolean(node.props.enterSubmits), escResets: extractValue.asOptionalBoolean(node.props.escResets), style: layoutCss, registerComponentApi: registerComponentApi, maxRows: extractValue.asOptionalNumber(node.props.maxRows), minRows: extractValue.asOptionalNumber(node.props.minRows), maxLength: extractValue.asOptionalNumber(node.props.maxLength), rows: extractValue.asOptionalNumber(node.props.rows), autoSize: extractValue.asOptionalBoolean(node.props.autoSize), validationStatus: extractValue(node.props.validationStatus), label: extractValue(node.props.label), labelPosition: extractValue(node.props.labelPosition), labelWidth: extractValue(node.props.labelWidth), labelBreak: extractValue.asOptionalBoolean(node.props.labelBreak), required: extractValue.asOptionalBoolean(node.props.required) }));
90
89
  });
@@ -57,8 +57,29 @@ exports.Toggle = (0, react_3.forwardRef)(function Toggle({ id, initialValue = ex
57
57
  const generatedId = (0, react_1.useId)();
58
58
  const inputId = id || generatedId;
59
59
  const innerRef = react_3.default.useRef(null);
60
+ const transformToLegitValue = (inp) => {
61
+ if (typeof inp === "undefined" || inp === null) {
62
+ return false;
63
+ }
64
+ if (typeof inp === "boolean") {
65
+ return inp;
66
+ }
67
+ if (typeof inp === "number") {
68
+ return !isNaN(inp) && !!inp;
69
+ }
70
+ if (typeof inp === "string") {
71
+ return inp.trim() !== "" && inp.toLowerCase() !== "false";
72
+ }
73
+ if (Array.isArray(inp)) {
74
+ return inp.length > 0;
75
+ }
76
+ if (typeof inp === "object") {
77
+ return Object.keys(inp).length > 0;
78
+ }
79
+ return false;
80
+ };
60
81
  (0, react_3.useEffect)(() => {
61
- updateState({ value: initialValue }, { initial: true });
82
+ updateState({ value: transformToLegitValue(initialValue) }, { initial: true });
62
83
  }, [initialValue, updateState]);
63
84
  const updateValue = (0, react_3.useCallback)((value) => {
64
85
  var _a;
@@ -95,7 +116,7 @@ exports.Toggle = (0, react_3.forwardRef)(function Toggle({ id, initialValue = ex
95
116
  }
96
117
  }, [focus, autoFocus]);
97
118
  const setValue = (0, misc_1.useEvent)((newValue) => {
98
- updateValue(newValue);
119
+ updateValue(transformToLegitValue(newValue));
99
120
  });
100
121
  (0, react_3.useEffect)(() => {
101
122
  registerComponentApi === null || registerComponentApi === void 0 ? void 0 : registerComponentApi({
@@ -103,13 +124,16 @@ exports.Toggle = (0, react_3.forwardRef)(function Toggle({ id, initialValue = ex
103
124
  setValue,
104
125
  });
105
126
  }, [focus, registerComponentApi, setValue]);
106
- const input = (0, react_2.useMemo)(() => ((0, jsx_runtime_1.jsx)("input", { id: inputId, ref: innerRef, type: "checkbox", role: variant, checked: value, disabled: !enabled, required: required, readOnly: readOnly, "aria-readonly": readOnly, "aria-checked": indeterminate ? "mixed" : value, "aria-required": required, "aria-disabled": !enabled, onChange: onInputChange, onFocus: handleOnFocus, onBlur: handleOnBlur, autoFocus: autoFocus, className: (0, classnames_1.default)(Toggle_module_scss_1.default.resetAppearance, className, {
107
- [Toggle_module_scss_1.default.checkbox]: variant === "checkbox",
108
- [Toggle_module_scss_1.default.switch]: variant === "switch",
109
- [Toggle_module_scss_1.default.error]: validationStatus === "error",
110
- [Toggle_module_scss_1.default.warning]: validationStatus === "warning",
111
- [Toggle_module_scss_1.default.valid]: validationStatus === "valid",
112
- }) })), [
127
+ const input = (0, react_2.useMemo)(() => {
128
+ const legitValue = transformToLegitValue(value);
129
+ return ((0, jsx_runtime_1.jsx)("input", { id: inputId, ref: innerRef, type: "checkbox", role: variant, checked: legitValue, disabled: !enabled, required: required, readOnly: readOnly, "aria-readonly": readOnly, "aria-checked": indeterminate ? "mixed" : legitValue, "aria-required": required, "aria-disabled": !enabled, onChange: onInputChange, onFocus: handleOnFocus, onBlur: handleOnBlur, autoFocus: autoFocus, className: (0, classnames_1.default)(Toggle_module_scss_1.default.resetAppearance, className, {
130
+ [Toggle_module_scss_1.default.checkbox]: variant === "checkbox",
131
+ [Toggle_module_scss_1.default.switch]: variant === "switch",
132
+ [Toggle_module_scss_1.default.error]: validationStatus === "error",
133
+ [Toggle_module_scss_1.default.warning]: validationStatus === "warning",
134
+ [Toggle_module_scss_1.default.valid]: validationStatus === "valid",
135
+ }) }));
136
+ }, [
113
137
  inputId,
114
138
  className,
115
139
  enabled,
@@ -125,7 +149,7 @@ exports.Toggle = (0, react_3.forwardRef)(function Toggle({ id, initialValue = ex
125
149
  autoFocus,
126
150
  ]);
127
151
  return ((0, jsx_runtime_1.jsx)(ItemWithLabel_1.ItemWithLabel, { ref: forwardedRef, id: inputId, label: label, style: style, labelPosition: labelPosition, labelWidth: labelWidth, labelBreak: labelBreak, required: required, enabled: enabled, isInputTemplateUsed: !!inputRenderer, shrinkToLabel: true, labelStyle: { pointerEvents: readOnly ? "none" : undefined }, children: inputRenderer ? ((0, jsx_runtime_1.jsxs)("label", { className: Toggle_module_scss_1.default.label, children: [(0, jsx_runtime_1.jsx)("div", { className: Toggle_module_scss_1.default.inputContainer, children: input }), inputRenderer({
128
- $checked: value,
152
+ $checked: transformToLegitValue(value),
129
153
  $setChecked: setValue,
130
154
  })] })) : (input) }));
131
155
  });
@@ -20,6 +20,7 @@ exports.MemoizedItem = (0, react_1.memo)(({ node, item, context, renderChild, la
20
20
  contextVars: Object.assign({ [itemKey]: item, [contextKey]: context }, shallowMemoedContextVars),
21
21
  children: Array.isArray(node) ? node : [node],
22
22
  };
23
- }, [context, item, node, shallowMemoedContextVars]);
23
+ }, [context, item, node, shallowMemoedContextVars, itemKey, contextKey]);
24
24
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: renderChild(nodeWithItem, layoutContext) });
25
25
  });
26
+ exports.MemoizedItem.displayName = "MemoizedItem";
@@ -65,13 +65,14 @@ exports.ComponentWrapper = (0, react_1.memo)((0, react_1.forwardRef)(function Co
65
65
  }
66
66
  }));
67
67
  function transformNodeWithChildrenAsTemplate(node, childrenAsTemplate) {
68
+ var _a;
68
69
  if (!childrenAsTemplate) {
69
70
  return node;
70
71
  }
71
72
  if (!node.children || node.children.length === 0) {
72
73
  return node;
73
74
  }
74
- if (node.props[childrenAsTemplate]) {
75
+ if ((_a = node.props) === null || _a === void 0 ? void 0 : _a[childrenAsTemplate]) {
75
76
  throw Error("'" + childrenAsTemplate + "' is already used as a property.");
76
77
  }
77
78
  return Object.assign(Object.assign({}, node), { props: Object.assign(Object.assign({}, node.props), { [childrenAsTemplate]: node.children }), children: constants_1.EMPTY_ARRAY });