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.
- package/dist/lib/{index-C5eOg7bB.mjs → index-BRjPUpBp.mjs} +8930 -8672
- package/dist/lib/index.css +1 -1
- package/dist/lib/{initMock-DLD4GmW7.mjs → initMock-DqOvDfSZ.mjs} +1 -1
- package/dist/lib/language-server-web-worker.mjs +1 -1
- package/dist/lib/language-server.mjs +1 -1
- package/dist/lib/{metadata-utils-BE5_Lmoa.mjs → metadata-utils-PjrGUxZN.mjs} +1 -1
- package/dist/lib/{server-common-xCK0Af2K.mjs → server-common-BdwSpo3T.mjs} +4466 -4436
- package/dist/lib/{transform-bUuxPyao.mjs → transform-CDSgqN5L.mjs} +1240 -1202
- package/dist/lib/xmlui-parser.d.ts +3 -1
- package/dist/lib/xmlui-parser.mjs +2 -2
- package/dist/lib/{xmlui-serializer-BLFl30t9.mjs → xmlui-serializer-D6rtRMNI.mjs} +1 -1
- package/dist/lib/xmlui.d.ts +21 -13
- package/dist/lib/xmlui.mjs +2 -2
- package/dist/metadata/{collectedComponentMetadata-iKGyD6r3.mjs → collectedComponentMetadata-yBdEI1xB.mjs} +8819 -8524
- package/dist/metadata/{initMock-CZGAyfXr.mjs → initMock-BQykhNyQ.mjs} +1 -1
- package/dist/metadata/style.css +1 -1
- package/dist/metadata/xmlui-metadata.mjs +1 -1
- package/dist/metadata/xmlui-metadata.umd.js +118 -114
- package/dist/scripts/package.json +2 -1
- package/dist/scripts/src/components/AutoComplete/AutoComplete.js +5 -2
- package/dist/scripts/src/components/AutoComplete/AutoCompleteContext.js +1 -2
- package/dist/scripts/src/components/AutoComplete/AutoCompleteNative.js +9 -12
- package/dist/scripts/src/components/Bookmark/Bookmark.js +1 -1
- package/dist/scripts/src/components/Option/Option.js +11 -11
- package/dist/scripts/src/components/Select/HiddenOption.js +2 -2
- package/dist/scripts/src/components/Select/Select.js +5 -9
- package/dist/scripts/src/components/Select/SelectNative.js +95 -45
- package/dist/scripts/src/components/SlotItem.js +1 -0
- package/dist/scripts/src/components/Spinner/SpinnerNative.js +3 -4
- package/dist/scripts/src/components/Tabs/TabContext.js +7 -7
- package/dist/scripts/src/components/Tabs/TabItem.js +17 -1
- package/dist/scripts/src/components/Tabs/TabItemNative.js +11 -9
- package/dist/scripts/src/components/Tabs/Tabs.js +17 -3
- package/dist/scripts/src/components/Tabs/TabsNative.js +50 -46
- package/dist/scripts/src/components/TextArea/TextArea.js +1 -2
- package/dist/scripts/src/components/Toggle/Toggle.js +34 -10
- package/dist/scripts/src/components/container-helpers.js +2 -1
- package/dist/scripts/src/components-core/rendering/ComponentWrapper.js +2 -1
- package/dist/scripts/src/components-core/xmlui-parser.js +365 -196
- package/dist/scripts/src/parsers/xmlui-parser/diagnostics.js +1 -1
- package/dist/scripts/src/parsers/xmlui-parser/parser.js +69 -1
- package/dist/standalone/xmlui-standalone.es.d.ts +25 -14
- package/dist/standalone/xmlui-standalone.umd.js +259 -255
- package/package.json +2 -1
- 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
|
-
|
|
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,
|
|
57
|
-
? (item) => ((0, jsx_runtime_1.jsx)(container_helpers_1.MemoizedItem, { node: node.props.
|
|
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
|
|
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("
|
|
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,
|
|
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
|
|
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.
|
|
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 -
|
|
67
|
-
return newIndex < 0 ? 0 : newIndex > maxIndex ?
|
|
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)(
|
|
83
|
-
const newIndex = tabItems.findIndex((item) => item.
|
|
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)(
|
|
89
|
-
[Tabs_module_scss_1.default.distributeEvenly]: distributeEvenly
|
|
90
|
-
}), value: tab.
|
|
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
|
-
|
|
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)(() =>
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
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 });
|