@simplysm/solid 13.0.55 → 13.0.56
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/README.md +3 -1
- package/dist/components/data/crud-detail/CrudDetail.d.ts +14 -0
- package/dist/components/data/crud-detail/CrudDetail.d.ts.map +1 -0
- package/dist/components/data/crud-detail/CrudDetail.js +348 -0
- package/dist/components/data/crud-detail/CrudDetail.js.map +6 -0
- package/dist/components/data/crud-detail/CrudDetailAfter.d.ts +7 -0
- package/dist/components/data/crud-detail/CrudDetailAfter.d.ts.map +1 -0
- package/dist/components/data/crud-detail/CrudDetailAfter.js +14 -0
- package/dist/components/data/crud-detail/CrudDetailAfter.js.map +6 -0
- package/dist/components/data/crud-detail/CrudDetailBefore.d.ts +7 -0
- package/dist/components/data/crud-detail/CrudDetailBefore.d.ts.map +1 -0
- package/dist/components/data/crud-detail/CrudDetailBefore.js +14 -0
- package/dist/components/data/crud-detail/CrudDetailBefore.js.map +6 -0
- package/dist/components/data/crud-detail/CrudDetailTools.d.ts +7 -0
- package/dist/components/data/crud-detail/CrudDetailTools.d.ts.map +1 -0
- package/dist/components/data/crud-detail/CrudDetailTools.js +14 -0
- package/dist/components/data/crud-detail/CrudDetailTools.js.map +6 -0
- package/dist/components/data/crud-detail/types.d.ts +45 -0
- package/dist/components/data/crud-detail/types.d.ts.map +1 -0
- package/dist/components/data/crud-detail/types.js +1 -0
- package/dist/components/data/crud-detail/types.js.map +6 -0
- package/dist/components/data/crud-sheet/CrudSheet.d.ts +17 -0
- package/dist/components/data/crud-sheet/CrudSheet.d.ts.map +1 -0
- package/dist/components/data/crud-sheet/CrudSheet.js +679 -0
- package/dist/components/data/crud-sheet/CrudSheet.js.map +6 -0
- package/dist/components/data/crud-sheet/CrudSheetColumn.d.ts +5 -0
- package/dist/components/data/crud-sheet/CrudSheetColumn.d.ts.map +1 -0
- package/dist/components/data/crud-sheet/CrudSheetColumn.js +29 -0
- package/dist/components/data/crud-sheet/CrudSheetColumn.js.map +6 -0
- package/dist/components/data/crud-sheet/CrudSheetFilter.d.ts +7 -0
- package/dist/components/data/crud-sheet/CrudSheetFilter.d.ts.map +1 -0
- package/dist/components/data/crud-sheet/CrudSheetFilter.js +14 -0
- package/dist/components/data/crud-sheet/CrudSheetFilter.js.map +6 -0
- package/dist/components/data/crud-sheet/CrudSheetHeader.d.ts +7 -0
- package/dist/components/data/crud-sheet/CrudSheetHeader.d.ts.map +1 -0
- package/dist/components/data/crud-sheet/CrudSheetHeader.js +14 -0
- package/dist/components/data/crud-sheet/CrudSheetHeader.js.map +6 -0
- package/dist/components/data/crud-sheet/CrudSheetTools.d.ts +7 -0
- package/dist/components/data/crud-sheet/CrudSheetTools.d.ts.map +1 -0
- package/dist/components/data/crud-sheet/CrudSheetTools.js +14 -0
- package/dist/components/data/crud-sheet/CrudSheetTools.js.map +6 -0
- package/dist/components/data/crud-sheet/types.d.ts +109 -0
- package/dist/components/data/crud-sheet/types.d.ts.map +1 -0
- package/dist/components/data/crud-sheet/types.js +1 -0
- package/dist/components/data/crud-sheet/types.js.map +6 -0
- package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
- package/dist/components/data/kanban/Kanban.js +137 -138
- package/dist/components/data/kanban/Kanban.js.map +2 -2
- package/dist/components/data/kanban/KanbanContext.d.ts +5 -1
- package/dist/components/data/kanban/KanbanContext.d.ts.map +1 -1
- package/dist/components/data/kanban/KanbanContext.js.map +1 -1
- package/dist/components/data/list/ListItem.d.ts.map +1 -1
- package/dist/components/data/list/ListItem.js +109 -99
- package/dist/components/data/list/ListItem.js.map +2 -2
- package/dist/components/data/sheet/DataSheet.js +1 -1
- package/dist/components/data/sheet/DataSheet.js.map +2 -2
- package/dist/components/data/sheet/DataSheet.styles.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.styles.js +1 -1
- package/dist/components/data/sheet/DataSheet.styles.js.map +1 -1
- package/dist/components/disclosure/Dialog.d.ts +16 -10
- package/dist/components/disclosure/Dialog.d.ts.map +1 -1
- package/dist/components/disclosure/Dialog.js +126 -91
- package/dist/components/disclosure/Dialog.js.map +2 -2
- package/dist/components/disclosure/DialogContext.d.ts +2 -4
- package/dist/components/disclosure/DialogContext.d.ts.map +1 -1
- package/dist/components/disclosure/DialogContext.js.map +1 -1
- package/dist/components/disclosure/DialogProvider.d.ts.map +1 -1
- package/dist/components/disclosure/DialogProvider.js +14 -9
- package/dist/components/disclosure/DialogProvider.js.map +2 -2
- package/dist/components/disclosure/Dropdown.d.ts +46 -22
- package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
- package/dist/components/disclosure/Dropdown.js +100 -65
- package/dist/components/disclosure/Dropdown.js.map +2 -2
- package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBanner.js +3 -3
- package/dist/components/feedback/notification/NotificationBanner.js.map +1 -1
- package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBell.js +84 -84
- package/dist/components/feedback/notification/NotificationBell.js.map +2 -2
- package/dist/components/form-control/combobox/Combobox.d.ts +6 -3
- package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/form-control/combobox/Combobox.js +150 -168
- package/dist/components/form-control/combobox/Combobox.js.map +2 -2
- package/dist/components/form-control/combobox/ComboboxContext.d.ts +3 -0
- package/dist/components/form-control/combobox/ComboboxContext.d.ts.map +1 -1
- package/dist/components/form-control/combobox/ComboboxContext.js.map +1 -1
- package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts +0 -2
- package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -1
- package/dist/components/form-control/date-range-picker/DateRangePicker.js +9 -17
- package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
- package/dist/components/form-control/field/Field.styles.d.ts.map +1 -1
- package/dist/components/form-control/field/Field.styles.js +2 -1
- package/dist/components/form-control/field/Field.styles.js.map +1 -1
- package/dist/components/form-control/field/NumberInput.d.ts +15 -5
- package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
- package/dist/components/form-control/field/NumberInput.js +181 -141
- package/dist/components/form-control/field/NumberInput.js.map +2 -2
- package/dist/components/form-control/field/TextInput.d.ts +9 -5
- package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
- package/dist/components/form-control/field/TextInput.js +199 -154
- package/dist/components/form-control/field/TextInput.js.map +2 -2
- package/dist/components/form-control/select/Select.d.ts +3 -3
- package/dist/components/form-control/select/Select.d.ts.map +1 -1
- package/dist/components/form-control/select/Select.js +116 -100
- package/dist/components/form-control/select/Select.js.map +2 -2
- package/dist/components/form-control/select/SelectContext.d.ts +9 -1
- package/dist/components/form-control/select/SelectContext.d.ts.map +1 -1
- package/dist/components/form-control/select/SelectContext.js.map +1 -1
- package/dist/components/form-control/select/SelectItem.d.ts.map +1 -1
- package/dist/components/form-control/select/SelectItem.js +77 -67
- package/dist/components/form-control/select/SelectItem.js.map +2 -2
- package/dist/components/layout/topbar/TopbarMenu.d.ts.map +1 -1
- package/dist/components/layout/topbar/TopbarMenu.js +63 -57
- package/dist/components/layout/topbar/TopbarMenu.js.map +2 -2
- package/dist/components/layout/topbar/TopbarUser.d.ts.map +1 -1
- package/dist/components/layout/topbar/TopbarUser.js +53 -54
- package/dist/components/layout/topbar/TopbarUser.js.map +2 -2
- package/dist/hooks/createControllableStore.d.ts +29 -0
- package/dist/hooks/createControllableStore.d.ts.map +1 -0
- package/dist/hooks/createControllableStore.js +19 -0
- package/dist/hooks/createControllableStore.js.map +6 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/styles/patterns.styles.d.ts.map +1 -1
- package/dist/styles/patterns.styles.js +7 -1
- package/dist/styles/patterns.styles.js.map +1 -1
- package/docs/data-components.md +428 -0
- package/docs/disclosure.md +65 -35
- package/docs/form-controls.md +18 -3
- package/docs/helpers.md +0 -39
- package/docs/hooks.md +39 -0
- package/package.json +4 -3
- package/src/components/data/crud-detail/CrudDetail.tsx +346 -0
- package/src/components/data/crud-detail/CrudDetailAfter.tsx +19 -0
- package/src/components/data/crud-detail/CrudDetailBefore.tsx +19 -0
- package/src/components/data/crud-detail/CrudDetailTools.tsx +19 -0
- package/src/components/data/crud-detail/types.ts +58 -0
- package/src/components/data/crud-sheet/CrudSheet.tsx +628 -0
- package/src/components/data/crud-sheet/CrudSheetColumn.tsx +34 -0
- package/src/components/data/crud-sheet/CrudSheetFilter.tsx +21 -0
- package/src/components/data/crud-sheet/CrudSheetHeader.tsx +19 -0
- package/src/components/data/crud-sheet/CrudSheetTools.tsx +21 -0
- package/src/components/data/crud-sheet/types.ts +133 -0
- package/src/components/data/kanban/Kanban.tsx +72 -65
- package/src/components/data/kanban/KanbanContext.ts +7 -1
- package/src/components/data/list/ListItem.tsx +31 -18
- package/src/components/data/sheet/DataSheet.styles.ts +1 -1
- package/src/components/data/sheet/DataSheet.tsx +1 -1
- package/src/components/disclosure/Dialog.tsx +143 -105
- package/src/components/disclosure/DialogContext.ts +2 -4
- package/src/components/disclosure/DialogProvider.tsx +4 -2
- package/src/components/disclosure/Dropdown.tsx +174 -86
- package/src/components/feedback/notification/NotificationBanner.tsx +3 -9
- package/src/components/feedback/notification/NotificationBell.tsx +51 -57
- package/src/components/form-control/combobox/Combobox.tsx +109 -134
- package/src/components/form-control/combobox/ComboboxContext.ts +4 -1
- package/src/components/form-control/date-range-picker/DateRangePicker.tsx +6 -16
- package/src/components/form-control/field/Field.styles.ts +1 -0
- package/src/components/form-control/field/NumberInput.tsx +131 -88
- package/src/components/form-control/field/TextInput.tsx +139 -88
- package/src/components/form-control/select/Select.tsx +85 -67
- package/src/components/form-control/select/SelectContext.ts +12 -1
- package/src/components/form-control/select/SelectItem.tsx +39 -18
- package/src/components/layout/topbar/TopbarMenu.tsx +52 -55
- package/src/components/layout/topbar/TopbarUser.tsx +28 -31
- package/src/hooks/createControllableStore.ts +47 -0
- package/src/index.ts +5 -1
- package/src/styles/patterns.styles.ts +7 -1
- package/tailwind.css +4 -0
- package/dist/helpers/splitSlots.d.ts +0 -25
- package/dist/helpers/splitSlots.d.ts.map +0 -1
- package/dist/helpers/splitSlots.js +0 -25
- package/dist/helpers/splitSlots.js.map +0 -6
- package/dist/hooks/createItemTemplate.d.ts +0 -17
- package/dist/hooks/createItemTemplate.d.ts.map +0 -1
- package/dist/hooks/createItemTemplate.js +0 -40
- package/dist/hooks/createItemTemplate.js.map +0 -6
- package/src/helpers/splitSlots.ts +0 -51
- package/src/hooks/createItemTemplate.tsx +0 -42
|
@@ -10,8 +10,8 @@ import { insert as _$insert } from "solid-js/web";
|
|
|
10
10
|
import { use as _$use } from "solid-js/web";
|
|
11
11
|
import { spread as _$spread } from "solid-js/web";
|
|
12
12
|
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
13
|
-
var _tmpl$ = /* @__PURE__ */ _$template(`<button>`), _tmpl$2 = /* @__PURE__ */ _$template(`<
|
|
14
|
-
import { children, createMemo, createSignal, For, Show, splitProps } from "solid-js";
|
|
13
|
+
var _tmpl$ = /* @__PURE__ */ _$template(`<button>`), _tmpl$2 = /* @__PURE__ */ _$template(`<span>`), _tmpl$3 = /* @__PURE__ */ _$template(`<div>`), _tmpl$4 = /* @__PURE__ */ _$template(`<div role=combobox aria-haspopup=listbox><div></div><div>`);
|
|
14
|
+
import { children, createMemo, createSignal, For, onCleanup, Show, splitProps } from "solid-js";
|
|
15
15
|
import clsx from "clsx";
|
|
16
16
|
import { twMerge } from "tailwind-merge";
|
|
17
17
|
import { IconChevronDown } from "@tabler/icons-solidjs";
|
|
@@ -19,12 +19,11 @@ import { Icon } from "../../display/Icon.js";
|
|
|
19
19
|
import { Dropdown } from "../../disclosure/Dropdown.js";
|
|
20
20
|
import { List } from "../../data/list/List.js";
|
|
21
21
|
import { SelectContext } from "./SelectContext.js";
|
|
22
|
+
import { useSelectContext } from "./SelectContext.js";
|
|
22
23
|
import { SelectItem } from "./SelectItem.js";
|
|
23
24
|
import { ripple } from "../../../directives/ripple.js";
|
|
24
|
-
import { splitSlots } from "../../../helpers/splitSlots.js";
|
|
25
25
|
import { borderDefault, textMuted } from "../../../styles/tokens.styles.js";
|
|
26
26
|
import { createControllableSignal } from "../../../hooks/createControllableSignal.js";
|
|
27
|
-
import { createItemTemplate } from "../../../hooks/createItemTemplate.js";
|
|
28
27
|
import { chevronWrapperClass, getTriggerClass } from "../DropdownTrigger.styles.js";
|
|
29
28
|
import { Invalid } from "../Invalid.js";
|
|
30
29
|
void ripple;
|
|
@@ -32,7 +31,8 @@ const multiTagClass = clsx("rounded", "bg-base-200 px-1", "dark:bg-base-600");
|
|
|
32
31
|
const selectedValueClass = clsx("flex-1", "whitespace-nowrap");
|
|
33
32
|
const SelectAction = (props) => {
|
|
34
33
|
const [local, rest] = splitProps(props, ["children", "class"]);
|
|
35
|
-
|
|
34
|
+
const ctx = useSelectContext();
|
|
35
|
+
ctx.setAction(() => (() => {
|
|
36
36
|
var _el$ = _tmpl$();
|
|
37
37
|
_$use(ripple, _el$, () => true);
|
|
38
38
|
_$spread(_el$, _$mergeProps(rest, {
|
|
@@ -44,20 +44,24 @@ const SelectAction = (props) => {
|
|
|
44
44
|
}), false, true);
|
|
45
45
|
_$insert(_el$, () => local.children);
|
|
46
46
|
return _el$;
|
|
47
|
-
})();
|
|
47
|
+
})());
|
|
48
|
+
onCleanup(() => ctx.setAction(void 0));
|
|
49
|
+
return null;
|
|
50
|
+
};
|
|
51
|
+
const SelectHeader = (props) => {
|
|
52
|
+
const ctx = useSelectContext();
|
|
53
|
+
ctx.setHeader(() => props.children);
|
|
54
|
+
onCleanup(() => ctx.setHeader(void 0));
|
|
55
|
+
return null;
|
|
56
|
+
};
|
|
57
|
+
const SelectItemTemplate = (props) => {
|
|
58
|
+
const ctx = useSelectContext();
|
|
59
|
+
ctx.setItemTemplate(props.children);
|
|
60
|
+
onCleanup(() => ctx.setItemTemplate(void 0));
|
|
61
|
+
return null;
|
|
48
62
|
};
|
|
49
|
-
const SelectHeader = (props) => (() => {
|
|
50
|
-
var _el$2 = _tmpl$2();
|
|
51
|
-
_$insert(_el$2, () => props.children);
|
|
52
|
-
return _el$2;
|
|
53
|
-
})();
|
|
54
|
-
const {
|
|
55
|
-
TemplateSlot: SelectItemTemplate,
|
|
56
|
-
getTemplate: getSelectItemTemplate
|
|
57
|
-
} = createItemTemplate("data-select-item-template");
|
|
58
63
|
const Select = (props) => {
|
|
59
64
|
const [local, rest] = splitProps(props, ["children", "class", "style", "value", "onValueChange", "multiple", "disabled", "required", "placeholder", "size", "inset", "multiDisplayDirection", "hideSelectAll", "items", "getChildren", "renderValue", "validate", "touchMode"]);
|
|
60
|
-
let triggerRef;
|
|
61
65
|
const [open, setOpen] = createSignal(false);
|
|
62
66
|
const [getValue, setInternalValue] = createControllableSignal({
|
|
63
67
|
value: () => local.value,
|
|
@@ -87,15 +91,20 @@ const Select = (props) => {
|
|
|
87
91
|
const closeDropdown = () => {
|
|
88
92
|
setOpen(false);
|
|
89
93
|
};
|
|
94
|
+
const [header, _setHeader] = createSignal();
|
|
95
|
+
const setHeader = (content) => _setHeader(() => content);
|
|
96
|
+
const [action, _setAction] = createSignal();
|
|
97
|
+
const setAction = (content) => _setAction(() => content);
|
|
98
|
+
const [itemTemplate, _setItemTemplate] = createSignal();
|
|
99
|
+
const setItemTemplate = (fn) => _setItemTemplate(() => fn);
|
|
90
100
|
const contextValue = {
|
|
91
101
|
multiple: () => local.multiple ?? false,
|
|
92
102
|
isSelected,
|
|
93
103
|
toggleValue,
|
|
94
|
-
closeDropdown
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
setOpen((v) => !v);
|
|
104
|
+
closeDropdown,
|
|
105
|
+
setHeader,
|
|
106
|
+
setAction,
|
|
107
|
+
setItemTemplate
|
|
99
108
|
};
|
|
100
109
|
const handleTriggerKeyDown = (e) => {
|
|
101
110
|
if (local.disabled) return;
|
|
@@ -118,18 +127,17 @@ const Select = (props) => {
|
|
|
118
127
|
});
|
|
119
128
|
const SelectInner = (innerProps) => {
|
|
120
129
|
const resolved = children(() => innerProps.children);
|
|
121
|
-
const [slots, items] = splitSlots(resolved, ["selectHeader", "selectAction", "selectItemTemplate"]);
|
|
122
130
|
const getItemTemplate = () => {
|
|
123
|
-
return
|
|
131
|
+
return itemTemplate();
|
|
124
132
|
};
|
|
125
133
|
const renderItems = (itemList, depth) => {
|
|
126
|
-
const
|
|
134
|
+
const tpl = getItemTemplate();
|
|
127
135
|
return _$createComponent(For, {
|
|
128
136
|
each: itemList,
|
|
129
137
|
children: (item, index) => _$createComponent(SelectItem, {
|
|
130
138
|
value: item,
|
|
131
139
|
get children() {
|
|
132
|
-
return [_$memo(() =>
|
|
140
|
+
return [_$memo(() => tpl ? tpl(item, index(), depth) : String(item)), _$createComponent(Show, {
|
|
133
141
|
get when() {
|
|
134
142
|
var _a;
|
|
135
143
|
return (_a = local.getChildren) == null ? void 0 : _a.call(local, item, index(), depth);
|
|
@@ -156,9 +164,9 @@ const Select = (props) => {
|
|
|
156
164
|
if (local.renderValue) {
|
|
157
165
|
return local.renderValue(value);
|
|
158
166
|
}
|
|
159
|
-
const
|
|
160
|
-
if (
|
|
161
|
-
return
|
|
167
|
+
const tpl = getItemTemplate();
|
|
168
|
+
if (tpl) {
|
|
169
|
+
return tpl(value, 0, 0);
|
|
162
170
|
}
|
|
163
171
|
return _$memo(() => String(value));
|
|
164
172
|
};
|
|
@@ -166,114 +174,122 @@ const Select = (props) => {
|
|
|
166
174
|
const current = getValue();
|
|
167
175
|
if (current === void 0 || Array.isArray(current) && current.length === 0) {
|
|
168
176
|
return (() => {
|
|
169
|
-
var _el$
|
|
170
|
-
_$className(_el$
|
|
171
|
-
_$insert(_el$
|
|
172
|
-
return _el$
|
|
177
|
+
var _el$2 = _tmpl$2();
|
|
178
|
+
_$className(_el$2, textMuted);
|
|
179
|
+
_$insert(_el$2, () => local.placeholder ?? "");
|
|
180
|
+
return _el$2;
|
|
173
181
|
})();
|
|
174
182
|
}
|
|
175
183
|
if (local.multiple && Array.isArray(current)) {
|
|
176
184
|
const direction = local.multiDisplayDirection ?? "horizontal";
|
|
177
185
|
return (() => {
|
|
178
|
-
var _el$
|
|
179
|
-
_$insert(_el$
|
|
186
|
+
var _el$3 = _tmpl$3();
|
|
187
|
+
_$insert(_el$3, _$createComponent(For, {
|
|
180
188
|
each: current,
|
|
181
189
|
children: (v) => (() => {
|
|
182
|
-
var _el$
|
|
183
|
-
_$className(_el$
|
|
184
|
-
_$insert(_el$
|
|
185
|
-
return _el$
|
|
190
|
+
var _el$4 = _tmpl$2();
|
|
191
|
+
_$className(_el$4, multiTagClass);
|
|
192
|
+
_$insert(_el$4, () => renderValue(v));
|
|
193
|
+
return _el$4;
|
|
186
194
|
})()
|
|
187
195
|
}));
|
|
188
|
-
_$effect(() => _$className(_el$
|
|
189
|
-
return _el$
|
|
196
|
+
_$effect(() => _$className(_el$3, clsx("flex gap-1", direction === "vertical" ? "flex-col" : "flex-wrap")));
|
|
197
|
+
return _el$3;
|
|
190
198
|
})();
|
|
191
199
|
}
|
|
192
200
|
return renderValue(current);
|
|
193
201
|
};
|
|
194
202
|
return (() => {
|
|
195
|
-
var _el$
|
|
196
|
-
_$spread(_el$
|
|
203
|
+
var _el$5 = _tmpl$3();
|
|
204
|
+
_$spread(_el$5, _$mergeProps(rest, {
|
|
197
205
|
"data-select": "",
|
|
198
206
|
get ["class"]() {
|
|
199
207
|
return clsx("group", local.inset ? "flex" : "inline-flex");
|
|
200
208
|
}
|
|
201
209
|
}), false, true);
|
|
202
|
-
_el$
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
var _ref$ = triggerRef;
|
|
206
|
-
typeof _ref$ === "function" ? _$use(_ref$, _el$7) : triggerRef = _el$7;
|
|
207
|
-
_$className(_el$8, selectedValueClass);
|
|
208
|
-
_$insert(_el$8, renderSelectedValue);
|
|
209
|
-
_$className(_el$9, chevronWrapperClass);
|
|
210
|
-
_$insert(_el$9, _$createComponent(Icon, {
|
|
211
|
-
icon: IconChevronDown,
|
|
212
|
-
size: "1em"
|
|
213
|
-
}));
|
|
214
|
-
_$insert(_el$6, _$createComponent(Show, {
|
|
215
|
-
get when() {
|
|
216
|
-
return slots().selectAction.length > 0;
|
|
210
|
+
_$insert(_el$5, _$createComponent(Dropdown, {
|
|
211
|
+
get disabled() {
|
|
212
|
+
return local.disabled;
|
|
217
213
|
},
|
|
218
|
-
get children() {
|
|
219
|
-
var _el$0 = _tmpl$4();
|
|
220
|
-
_$insert(_el$0, () => slots().selectAction);
|
|
221
|
-
_$effect(() => _$className(_el$0, clsx("contents", "[&>[data-select-action]:last-child]:rounded-r", "[&>[data-select-action]+[data-select-action]]:-ml-px")));
|
|
222
|
-
return _el$0;
|
|
223
|
-
}
|
|
224
|
-
}), null);
|
|
225
|
-
_$insert(_el$6, _$createComponent(Dropdown, {
|
|
226
|
-
triggerRef: () => triggerRef,
|
|
227
214
|
get open() {
|
|
228
215
|
return open();
|
|
229
216
|
},
|
|
230
217
|
onOpenChange: setOpen,
|
|
231
218
|
keyboardNav: true,
|
|
232
219
|
get children() {
|
|
233
|
-
return [_$createComponent(
|
|
234
|
-
get when() {
|
|
235
|
-
return slots().selectHeader.length > 0;
|
|
236
|
-
},
|
|
220
|
+
return [_$createComponent(Dropdown.Trigger, {
|
|
237
221
|
get children() {
|
|
238
|
-
|
|
222
|
+
var _el$6 = _tmpl$4(), _el$7 = _el$6.firstChild, _el$8 = _el$7.nextSibling;
|
|
223
|
+
_el$6.$$keydown = handleTriggerKeyDown;
|
|
224
|
+
_$use(ripple, _el$6, () => !local.disabled);
|
|
225
|
+
_$className(_el$7, selectedValueClass);
|
|
226
|
+
_$insert(_el$7, renderSelectedValue);
|
|
227
|
+
_$className(_el$8, chevronWrapperClass);
|
|
228
|
+
_$insert(_el$8, _$createComponent(Icon, {
|
|
229
|
+
icon: IconChevronDown,
|
|
230
|
+
size: "1em"
|
|
231
|
+
}));
|
|
232
|
+
_$effect((_p$) => {
|
|
233
|
+
var _v$ = open(), _v$2 = local.disabled || void 0, _v$3 = local.required || void 0, _v$4 = local.disabled ? -1 : 0, _v$5 = twMerge(getTriggerClassName(), action() !== void 0 && clsx("rounded-r-none border-r-0", "group-focus-within:border-primary-400 dark:group-focus-within:border-primary-400")), _v$6 = local.style;
|
|
234
|
+
_v$ !== _p$.e && _$setAttribute(_el$6, "aria-expanded", _p$.e = _v$);
|
|
235
|
+
_v$2 !== _p$.t && _$setAttribute(_el$6, "aria-disabled", _p$.t = _v$2);
|
|
236
|
+
_v$3 !== _p$.a && _$setAttribute(_el$6, "aria-required", _p$.a = _v$3);
|
|
237
|
+
_v$4 !== _p$.o && _$setAttribute(_el$6, "tabindex", _p$.o = _v$4);
|
|
238
|
+
_v$5 !== _p$.i && _$className(_el$6, _p$.i = _v$5);
|
|
239
|
+
_p$.n = _$style(_el$6, _v$6, _p$.n);
|
|
240
|
+
return _p$;
|
|
241
|
+
}, {
|
|
242
|
+
e: void 0,
|
|
243
|
+
t: void 0,
|
|
244
|
+
a: void 0,
|
|
245
|
+
o: void 0,
|
|
246
|
+
i: void 0,
|
|
247
|
+
n: void 0
|
|
248
|
+
});
|
|
249
|
+
return _el$6;
|
|
239
250
|
}
|
|
240
|
-
}), _$createComponent(
|
|
241
|
-
inset: true,
|
|
242
|
-
role: "listbox",
|
|
251
|
+
}), _$createComponent(Dropdown.Content, {
|
|
243
252
|
get children() {
|
|
244
|
-
return _$createComponent(Show, {
|
|
253
|
+
return [_$createComponent(Show, {
|
|
245
254
|
get when() {
|
|
246
|
-
return
|
|
247
|
-
},
|
|
248
|
-
get fallback() {
|
|
249
|
-
return items();
|
|
255
|
+
return header();
|
|
250
256
|
},
|
|
251
257
|
get children() {
|
|
252
|
-
return
|
|
258
|
+
return header()();
|
|
253
259
|
}
|
|
254
|
-
})
|
|
260
|
+
}), _$createComponent(List, {
|
|
261
|
+
inset: true,
|
|
262
|
+
role: "listbox",
|
|
263
|
+
get children() {
|
|
264
|
+
return _$createComponent(Show, {
|
|
265
|
+
get when() {
|
|
266
|
+
return local.items;
|
|
267
|
+
},
|
|
268
|
+
get fallback() {
|
|
269
|
+
return resolved();
|
|
270
|
+
},
|
|
271
|
+
get children() {
|
|
272
|
+
return renderItems(local.items, 0);
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
})];
|
|
255
277
|
}
|
|
256
278
|
})];
|
|
257
279
|
}
|
|
258
280
|
}), null);
|
|
259
|
-
_$
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
a: void 0,
|
|
272
|
-
o: void 0,
|
|
273
|
-
i: void 0,
|
|
274
|
-
n: void 0
|
|
275
|
-
});
|
|
276
|
-
return _el$6;
|
|
281
|
+
_$insert(_el$5, _$createComponent(Show, {
|
|
282
|
+
get when() {
|
|
283
|
+
return action();
|
|
284
|
+
},
|
|
285
|
+
get children() {
|
|
286
|
+
var _el$9 = _tmpl$3();
|
|
287
|
+
_$insert(_el$9, action());
|
|
288
|
+
_$effect(() => _$className(_el$9, clsx("contents", "[&>[data-select-action]:last-child]:rounded-r", "[&>[data-select-action]+[data-select-action]]:-ml-px")));
|
|
289
|
+
return _el$9;
|
|
290
|
+
}
|
|
291
|
+
}), null);
|
|
292
|
+
return _el$5;
|
|
277
293
|
})();
|
|
278
294
|
};
|
|
279
295
|
return _$createComponent(Invalid, {
|
|
@@ -302,7 +318,7 @@ Select.Item = SelectItem;
|
|
|
302
318
|
Select.Action = SelectAction;
|
|
303
319
|
Select.Header = SelectHeader;
|
|
304
320
|
Select.ItemTemplate = SelectItemTemplate;
|
|
305
|
-
_$delegateEvents(["
|
|
321
|
+
_$delegateEvents(["keydown"]);
|
|
306
322
|
export {
|
|
307
323
|
Select
|
|
308
324
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/form-control/select/Select.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;AAAA,SACEA,UACAC,YACAC,cACAC,KAGAC,MACAC,kBACK;AACP,OAAOC,UAAU;AACjB,SAASC,eAAe;AACxB,SAASC,uBAAuB;AAChC,SAASC,YAAY;AACrB,SAASC,gBAAgB;AACzB,SAASC,YAAY;AACrB,SAASC,qBAA8C;AACvD,SAASC,kBAAkB;AAC3B,SAASC,cAAc;AACvB,SAASC,
|
|
5
|
-
"names": ["children", "createMemo", "createSignal", "For", "Show", "splitProps", "clsx", "twMerge", "IconChevronDown", "Icon", "Dropdown", "List", "SelectContext", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["children", "createMemo", "createSignal", "For", "onCleanup", "Show", "splitProps", "clsx", "twMerge", "IconChevronDown", "Icon", "Dropdown", "List", "SelectContext", "useSelectContext", "SelectItem", "ripple", "borderDefault", "textMuted", "createControllableSignal", "chevronWrapperClass", "getTriggerClass", "Invalid", "multiTagClass", "selectedValueClass", "SelectAction", "props", "local", "rest", "ctx", "setAction", "_el$", "_tmpl$", "_$use", "_$spread", "_$mergeProps", "class", "_$insert", "undefined", "SelectHeader", "setHeader", "SelectItemTemplate", "setItemTemplate", "Select", "open", "setOpen", "getValue", "setInternalValue", "value", "onChange", "onValueChange", "isSelected", "current", "multiple", "Array", "isArray", "includes", "toggleValue", "idx", "indexOf", "slice", "closeDropdown", "header", "_setHeader", "content", "action", "_setAction", "itemTemplate", "_setItemTemplate", "fn", "contextValue", "handleTriggerKeyDown", "e", "disabled", "key", "preventDefault", "errorMsg", "v", "required", "validate", "getTriggerClassName", "size", "inset", "SelectInner", "innerProps", "resolved", "getItemTemplate", "renderItems", "itemList", "depth", "tpl", "_$createComponent", "each", "item", "index", "_$memo", "String", "when", "getChildren", "keyed", "itemChildren", "length", "Children", "renderValue", "renderSelectedValue", "_el$2", "_tmpl$2", "_$className", "placeholder", "direction", "multiDisplayDirection", "_el$3", "_tmpl$3", "_el$4", "_$effect", "_el$5", "onOpenChange", "keyboardNav", "Trigger", "_el$6", "_tmpl$4", "_el$7", "firstChild", "_el$8", "nextSibling", "$$keydown", "icon", "_p$", "_v$", "_v$2", "_v$3", "_v$4", "_v$5", "_v$6", "style", "_$setAttribute", "t", "a", "o", "i", "n", "_$style", "Content", "role", "items", "fallback", "_el$9", "message", "variant", "touchMode", "Provider", "Item", "Action", "Header", "ItemTemplate", "_$delegateEvents"]
|
|
6
6
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type Accessor } from "solid-js";
|
|
1
|
+
import { type Accessor, type JSX } from "solid-js";
|
|
2
|
+
type SlotAccessor = (() => JSX.Element) | undefined;
|
|
2
3
|
export interface SelectContextValue<TValue = unknown> {
|
|
3
4
|
/** 다중 선택 모드 여부 */
|
|
4
5
|
multiple: Accessor<boolean>;
|
|
@@ -8,7 +9,14 @@ export interface SelectContextValue<TValue = unknown> {
|
|
|
8
9
|
toggleValue: (value: TValue) => void;
|
|
9
10
|
/** 드롭다운 닫기 */
|
|
10
11
|
closeDropdown: () => void;
|
|
12
|
+
/** 헤더 슬롯 등록 */
|
|
13
|
+
setHeader: (content: SlotAccessor) => void;
|
|
14
|
+
/** 액션 슬롯 등록 */
|
|
15
|
+
setAction: (content: SlotAccessor) => void;
|
|
16
|
+
/** 아이템 템플릿 등록 */
|
|
17
|
+
setItemTemplate: (fn: ((...args: unknown[]) => JSX.Element) | undefined) => void;
|
|
11
18
|
}
|
|
12
19
|
export declare const SelectContext: import("solid-js").Context<SelectContextValue<unknown> | undefined>;
|
|
13
20
|
export declare function useSelectContext<TValue = unknown>(): SelectContextValue<TValue>;
|
|
21
|
+
export {};
|
|
14
22
|
//# sourceMappingURL=SelectContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectContext.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\form-control\\select\\SelectContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"SelectContext.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\form-control\\select\\SelectContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAE9E,KAAK,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,kBAAkB,CAAC,MAAM,GAAG,OAAO;IAClD,kBAAkB;IAClB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE5B,qBAAqB;IACrB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAEvC,iBAAiB;IACjB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC,cAAc;IACd,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B,eAAe;IACf,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAE3C,eAAe;IACf,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAE3C,iBAAiB;IACjB,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;CAClF;AAED,eAAO,MAAM,aAAa,qEAAsC,CAAC;AAEjE,wBAAgB,gBAAgB,CAAC,MAAM,GAAG,OAAO,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAM/E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/form-control/select/SelectContext.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,eAAe,
|
|
4
|
+
"mappings": "AAAA,SAAS,eAAe,kBAA2C;AA2B5D,MAAM,gBAAgB,cAAkC;AAExD,SAAS,mBAAiE;AAC/E,QAAM,UAAU,WAAW,aAAa;AACxC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,0IAAgD;AAAA,EAClE;AACA,SAAO;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectItem.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\form-control\\select\\SelectItem.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SelectItem.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\form-control\\select\\SelectItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EAER,KAAK,eAAe,EAIrB,MAAM,UAAU,CAAC;AA2BlB;;GAEG;AACH,QAAA,MAAM,kBAAkB,EAAE,eAMzB,CAAC;AAEF,MAAM,WAAW,eAAe,CAAC,MAAM,GAAG,OAAO,CAAE,SAAQ,IAAI,CAC7D,GAAG,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC3C,OAAO,GAAG,SAAS,CACpB;IACC,aAAa;IACb,KAAK,EAAE,MAAM,CAAC;IAEd,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,mBAAmB,CAAC,MAAM,GAAG,OAAO,CAAE,SAAQ,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9F,QAAQ,EAAE,OAAO,kBAAkB,CAAC;CACrC;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU,EAAE,mBAkExB,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { template as _$template } from "solid-js/web";
|
|
2
|
+
import { insert as _$insert } from "solid-js/web";
|
|
3
|
+
import { className as _$className } from "solid-js/web";
|
|
4
|
+
import { createComponent as _$createComponent } from "solid-js/web";
|
|
2
5
|
import { use as _$use } from "solid-js/web";
|
|
3
6
|
import { spread as _$spread } from "solid-js/web";
|
|
4
7
|
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
5
8
|
import { memo as _$memo } from "solid-js/web";
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
import { className as _$className } from "solid-js/web";
|
|
9
|
-
var _tmpl$ = /* @__PURE__ */ _$template(`<div class=flex data-select-item-children><div>`), _tmpl$2 = /* @__PURE__ */ _$template(`<button><span>`);
|
|
10
|
-
import { children, Show, splitProps } from "solid-js";
|
|
9
|
+
var _tmpl$ = /* @__PURE__ */ _$template(`<button><span>`), _tmpl$2 = /* @__PURE__ */ _$template(`<div class=flex><div>`);
|
|
10
|
+
import { createContext, createSignal, onCleanup, Show, splitProps, useContext } from "solid-js";
|
|
11
11
|
import { twMerge } from "tailwind-merge";
|
|
12
12
|
import { IconCheck } from "@tabler/icons-solidjs";
|
|
13
13
|
import { Icon } from "../../display/Icon.js";
|
|
@@ -15,27 +15,21 @@ import { useSelectContext } from "./SelectContext.js";
|
|
|
15
15
|
import { ripple } from "../../../directives/ripple.js";
|
|
16
16
|
import { List } from "../../data/list/List.js";
|
|
17
17
|
import { Collapse } from "../../disclosure/Collapse.js";
|
|
18
|
-
import { splitSlots } from "../../../helpers/splitSlots.js";
|
|
19
18
|
import { listItemBaseClass, listItemSelectedClass, listItemDisabledClass, listItemIndentGuideClass, listItemContentClass, getListItemSelectedIconClass } from "../../data/list/ListItem.styles.js";
|
|
20
19
|
void ripple;
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return props.children;
|
|
29
|
-
}
|
|
30
|
-
}), null);
|
|
31
|
-
return _el$;
|
|
32
|
-
})();
|
|
20
|
+
const SelectItemSlotsContext = createContext();
|
|
21
|
+
const SelectItemChildren = (props) => {
|
|
22
|
+
const ctx = useContext(SelectItemSlotsContext);
|
|
23
|
+
ctx.setChildren(() => props.children);
|
|
24
|
+
onCleanup(() => ctx.setChildren(void 0));
|
|
25
|
+
return null;
|
|
26
|
+
};
|
|
33
27
|
const SelectItem = (props) => {
|
|
34
28
|
const [local, rest] = splitProps(props, ["children", "class", "value", "disabled"]);
|
|
35
29
|
const context = useSelectContext();
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const hasChildren = () =>
|
|
30
|
+
const [childrenSlot, _setChildrenSlot] = createSignal();
|
|
31
|
+
const setChildrenSlot = (content) => _setChildrenSlot(() => content);
|
|
32
|
+
const hasChildren = () => childrenSlot() !== void 0;
|
|
39
33
|
const isSelected = () => context.isSelected(local.value);
|
|
40
34
|
const useRipple = () => !local.disabled;
|
|
41
35
|
const handleClick = () => {
|
|
@@ -47,57 +41,73 @@ const SelectItem = (props) => {
|
|
|
47
41
|
};
|
|
48
42
|
const getClassName = () => twMerge(listItemBaseClass, isSelected() && listItemSelectedClass, local.disabled && listItemDisabledClass, local.class);
|
|
49
43
|
const getCheckIconClass = () => getListItemSelectedIconClass(isSelected());
|
|
50
|
-
return
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
_$spread(_el$3, _$mergeProps(rest, {
|
|
54
|
-
"type": "button",
|
|
55
|
-
get ["class"]() {
|
|
56
|
-
return getClassName();
|
|
57
|
-
},
|
|
58
|
-
"data-select-item": "",
|
|
59
|
-
"data-list-item": "",
|
|
60
|
-
"role": "option",
|
|
61
|
-
get ["aria-selected"]() {
|
|
62
|
-
return isSelected() || void 0;
|
|
63
|
-
},
|
|
64
|
-
get ["aria-disabled"]() {
|
|
65
|
-
return local.disabled || void 0;
|
|
66
|
-
},
|
|
67
|
-
get tabIndex() {
|
|
68
|
-
return local.disabled ? -1 : 0;
|
|
69
|
-
},
|
|
70
|
-
"onClick": handleClick
|
|
71
|
-
}), false, true);
|
|
72
|
-
_$insert(_el$3, _$createComponent(Show, {
|
|
73
|
-
get when() {
|
|
74
|
-
return _$memo(() => !!context.multiple())() && !hasChildren();
|
|
75
|
-
},
|
|
76
|
-
get children() {
|
|
77
|
-
return _$createComponent(Icon, {
|
|
78
|
-
icon: IconCheck,
|
|
79
|
-
get ["class"]() {
|
|
80
|
-
return getCheckIconClass();
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}), _el$4);
|
|
85
|
-
_$className(_el$4, listItemContentClass);
|
|
86
|
-
_$insert(_el$4, content);
|
|
87
|
-
return _el$3;
|
|
88
|
-
})(), _$createComponent(Show, {
|
|
89
|
-
get when() {
|
|
90
|
-
return hasChildren();
|
|
44
|
+
return _$createComponent(SelectItemSlotsContext.Provider, {
|
|
45
|
+
value: {
|
|
46
|
+
setChildren: setChildrenSlot
|
|
91
47
|
},
|
|
92
48
|
get children() {
|
|
93
|
-
return
|
|
94
|
-
|
|
49
|
+
return [(() => {
|
|
50
|
+
var _el$ = _tmpl$(), _el$2 = _el$.firstChild;
|
|
51
|
+
_$use(ripple, _el$, () => useRipple());
|
|
52
|
+
_$spread(_el$, _$mergeProps(rest, {
|
|
53
|
+
"type": "button",
|
|
54
|
+
get ["class"]() {
|
|
55
|
+
return getClassName();
|
|
56
|
+
},
|
|
57
|
+
"data-select-item": "",
|
|
58
|
+
"data-list-item": "",
|
|
59
|
+
"role": "option",
|
|
60
|
+
get ["aria-selected"]() {
|
|
61
|
+
return isSelected() || void 0;
|
|
62
|
+
},
|
|
63
|
+
get ["aria-disabled"]() {
|
|
64
|
+
return local.disabled || void 0;
|
|
65
|
+
},
|
|
66
|
+
get tabIndex() {
|
|
67
|
+
return local.disabled ? -1 : 0;
|
|
68
|
+
},
|
|
69
|
+
"onClick": handleClick
|
|
70
|
+
}), false, true);
|
|
71
|
+
_$insert(_el$, _$createComponent(Show, {
|
|
72
|
+
get when() {
|
|
73
|
+
return _$memo(() => !!context.multiple())() && !hasChildren();
|
|
74
|
+
},
|
|
75
|
+
get children() {
|
|
76
|
+
return _$createComponent(Icon, {
|
|
77
|
+
icon: IconCheck,
|
|
78
|
+
get ["class"]() {
|
|
79
|
+
return getCheckIconClass();
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}), _el$2);
|
|
84
|
+
_$className(_el$2, listItemContentClass);
|
|
85
|
+
_$insert(_el$2, () => local.children);
|
|
86
|
+
return _el$;
|
|
87
|
+
})(), _$createComponent(Show, {
|
|
88
|
+
get when() {
|
|
89
|
+
return hasChildren();
|
|
90
|
+
},
|
|
95
91
|
get children() {
|
|
96
|
-
return
|
|
92
|
+
return _$createComponent(Collapse, {
|
|
93
|
+
open: true,
|
|
94
|
+
get children() {
|
|
95
|
+
var _el$3 = _tmpl$2(), _el$4 = _el$3.firstChild;
|
|
96
|
+
_$className(_el$4, listItemIndentGuideClass);
|
|
97
|
+
_$insert(_el$3, _$createComponent(List, {
|
|
98
|
+
inset: true,
|
|
99
|
+
"class": "flex-1",
|
|
100
|
+
get children() {
|
|
101
|
+
return childrenSlot()();
|
|
102
|
+
}
|
|
103
|
+
}), null);
|
|
104
|
+
return _el$3;
|
|
105
|
+
}
|
|
106
|
+
});
|
|
97
107
|
}
|
|
98
|
-
});
|
|
108
|
+
})];
|
|
99
109
|
}
|
|
100
|
-
})
|
|
110
|
+
});
|
|
101
111
|
};
|
|
102
112
|
SelectItem.Children = SelectItemChildren;
|
|
103
113
|
export {
|