@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.
Files changed (181) hide show
  1. package/README.md +3 -1
  2. package/dist/components/data/crud-detail/CrudDetail.d.ts +14 -0
  3. package/dist/components/data/crud-detail/CrudDetail.d.ts.map +1 -0
  4. package/dist/components/data/crud-detail/CrudDetail.js +348 -0
  5. package/dist/components/data/crud-detail/CrudDetail.js.map +6 -0
  6. package/dist/components/data/crud-detail/CrudDetailAfter.d.ts +7 -0
  7. package/dist/components/data/crud-detail/CrudDetailAfter.d.ts.map +1 -0
  8. package/dist/components/data/crud-detail/CrudDetailAfter.js +14 -0
  9. package/dist/components/data/crud-detail/CrudDetailAfter.js.map +6 -0
  10. package/dist/components/data/crud-detail/CrudDetailBefore.d.ts +7 -0
  11. package/dist/components/data/crud-detail/CrudDetailBefore.d.ts.map +1 -0
  12. package/dist/components/data/crud-detail/CrudDetailBefore.js +14 -0
  13. package/dist/components/data/crud-detail/CrudDetailBefore.js.map +6 -0
  14. package/dist/components/data/crud-detail/CrudDetailTools.d.ts +7 -0
  15. package/dist/components/data/crud-detail/CrudDetailTools.d.ts.map +1 -0
  16. package/dist/components/data/crud-detail/CrudDetailTools.js +14 -0
  17. package/dist/components/data/crud-detail/CrudDetailTools.js.map +6 -0
  18. package/dist/components/data/crud-detail/types.d.ts +45 -0
  19. package/dist/components/data/crud-detail/types.d.ts.map +1 -0
  20. package/dist/components/data/crud-detail/types.js +1 -0
  21. package/dist/components/data/crud-detail/types.js.map +6 -0
  22. package/dist/components/data/crud-sheet/CrudSheet.d.ts +17 -0
  23. package/dist/components/data/crud-sheet/CrudSheet.d.ts.map +1 -0
  24. package/dist/components/data/crud-sheet/CrudSheet.js +679 -0
  25. package/dist/components/data/crud-sheet/CrudSheet.js.map +6 -0
  26. package/dist/components/data/crud-sheet/CrudSheetColumn.d.ts +5 -0
  27. package/dist/components/data/crud-sheet/CrudSheetColumn.d.ts.map +1 -0
  28. package/dist/components/data/crud-sheet/CrudSheetColumn.js +29 -0
  29. package/dist/components/data/crud-sheet/CrudSheetColumn.js.map +6 -0
  30. package/dist/components/data/crud-sheet/CrudSheetFilter.d.ts +7 -0
  31. package/dist/components/data/crud-sheet/CrudSheetFilter.d.ts.map +1 -0
  32. package/dist/components/data/crud-sheet/CrudSheetFilter.js +14 -0
  33. package/dist/components/data/crud-sheet/CrudSheetFilter.js.map +6 -0
  34. package/dist/components/data/crud-sheet/CrudSheetHeader.d.ts +7 -0
  35. package/dist/components/data/crud-sheet/CrudSheetHeader.d.ts.map +1 -0
  36. package/dist/components/data/crud-sheet/CrudSheetHeader.js +14 -0
  37. package/dist/components/data/crud-sheet/CrudSheetHeader.js.map +6 -0
  38. package/dist/components/data/crud-sheet/CrudSheetTools.d.ts +7 -0
  39. package/dist/components/data/crud-sheet/CrudSheetTools.d.ts.map +1 -0
  40. package/dist/components/data/crud-sheet/CrudSheetTools.js +14 -0
  41. package/dist/components/data/crud-sheet/CrudSheetTools.js.map +6 -0
  42. package/dist/components/data/crud-sheet/types.d.ts +109 -0
  43. package/dist/components/data/crud-sheet/types.d.ts.map +1 -0
  44. package/dist/components/data/crud-sheet/types.js +1 -0
  45. package/dist/components/data/crud-sheet/types.js.map +6 -0
  46. package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
  47. package/dist/components/data/kanban/Kanban.js +137 -138
  48. package/dist/components/data/kanban/Kanban.js.map +2 -2
  49. package/dist/components/data/kanban/KanbanContext.d.ts +5 -1
  50. package/dist/components/data/kanban/KanbanContext.d.ts.map +1 -1
  51. package/dist/components/data/kanban/KanbanContext.js.map +1 -1
  52. package/dist/components/data/list/ListItem.d.ts.map +1 -1
  53. package/dist/components/data/list/ListItem.js +109 -99
  54. package/dist/components/data/list/ListItem.js.map +2 -2
  55. package/dist/components/data/sheet/DataSheet.js +1 -1
  56. package/dist/components/data/sheet/DataSheet.js.map +2 -2
  57. package/dist/components/data/sheet/DataSheet.styles.d.ts.map +1 -1
  58. package/dist/components/data/sheet/DataSheet.styles.js +1 -1
  59. package/dist/components/data/sheet/DataSheet.styles.js.map +1 -1
  60. package/dist/components/disclosure/Dialog.d.ts +16 -10
  61. package/dist/components/disclosure/Dialog.d.ts.map +1 -1
  62. package/dist/components/disclosure/Dialog.js +126 -91
  63. package/dist/components/disclosure/Dialog.js.map +2 -2
  64. package/dist/components/disclosure/DialogContext.d.ts +2 -4
  65. package/dist/components/disclosure/DialogContext.d.ts.map +1 -1
  66. package/dist/components/disclosure/DialogContext.js.map +1 -1
  67. package/dist/components/disclosure/DialogProvider.d.ts.map +1 -1
  68. package/dist/components/disclosure/DialogProvider.js +14 -9
  69. package/dist/components/disclosure/DialogProvider.js.map +2 -2
  70. package/dist/components/disclosure/Dropdown.d.ts +46 -22
  71. package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
  72. package/dist/components/disclosure/Dropdown.js +100 -65
  73. package/dist/components/disclosure/Dropdown.js.map +2 -2
  74. package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -1
  75. package/dist/components/feedback/notification/NotificationBanner.js +3 -3
  76. package/dist/components/feedback/notification/NotificationBanner.js.map +1 -1
  77. package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -1
  78. package/dist/components/feedback/notification/NotificationBell.js +84 -84
  79. package/dist/components/feedback/notification/NotificationBell.js.map +2 -2
  80. package/dist/components/form-control/combobox/Combobox.d.ts +6 -3
  81. package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
  82. package/dist/components/form-control/combobox/Combobox.js +150 -168
  83. package/dist/components/form-control/combobox/Combobox.js.map +2 -2
  84. package/dist/components/form-control/combobox/ComboboxContext.d.ts +3 -0
  85. package/dist/components/form-control/combobox/ComboboxContext.d.ts.map +1 -1
  86. package/dist/components/form-control/combobox/ComboboxContext.js.map +1 -1
  87. package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts +0 -2
  88. package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -1
  89. package/dist/components/form-control/date-range-picker/DateRangePicker.js +9 -17
  90. package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
  91. package/dist/components/form-control/field/Field.styles.d.ts.map +1 -1
  92. package/dist/components/form-control/field/Field.styles.js +2 -1
  93. package/dist/components/form-control/field/Field.styles.js.map +1 -1
  94. package/dist/components/form-control/field/NumberInput.d.ts +15 -5
  95. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
  96. package/dist/components/form-control/field/NumberInput.js +181 -141
  97. package/dist/components/form-control/field/NumberInput.js.map +2 -2
  98. package/dist/components/form-control/field/TextInput.d.ts +9 -5
  99. package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
  100. package/dist/components/form-control/field/TextInput.js +199 -154
  101. package/dist/components/form-control/field/TextInput.js.map +2 -2
  102. package/dist/components/form-control/select/Select.d.ts +3 -3
  103. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  104. package/dist/components/form-control/select/Select.js +116 -100
  105. package/dist/components/form-control/select/Select.js.map +2 -2
  106. package/dist/components/form-control/select/SelectContext.d.ts +9 -1
  107. package/dist/components/form-control/select/SelectContext.d.ts.map +1 -1
  108. package/dist/components/form-control/select/SelectContext.js.map +1 -1
  109. package/dist/components/form-control/select/SelectItem.d.ts.map +1 -1
  110. package/dist/components/form-control/select/SelectItem.js +77 -67
  111. package/dist/components/form-control/select/SelectItem.js.map +2 -2
  112. package/dist/components/layout/topbar/TopbarMenu.d.ts.map +1 -1
  113. package/dist/components/layout/topbar/TopbarMenu.js +63 -57
  114. package/dist/components/layout/topbar/TopbarMenu.js.map +2 -2
  115. package/dist/components/layout/topbar/TopbarUser.d.ts.map +1 -1
  116. package/dist/components/layout/topbar/TopbarUser.js +53 -54
  117. package/dist/components/layout/topbar/TopbarUser.js.map +2 -2
  118. package/dist/hooks/createControllableStore.d.ts +29 -0
  119. package/dist/hooks/createControllableStore.d.ts.map +1 -0
  120. package/dist/hooks/createControllableStore.js +19 -0
  121. package/dist/hooks/createControllableStore.js.map +6 -0
  122. package/dist/index.d.ts +5 -1
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +6 -2
  125. package/dist/index.js.map +1 -1
  126. package/dist/styles/patterns.styles.d.ts.map +1 -1
  127. package/dist/styles/patterns.styles.js +7 -1
  128. package/dist/styles/patterns.styles.js.map +1 -1
  129. package/docs/data-components.md +428 -0
  130. package/docs/disclosure.md +65 -35
  131. package/docs/form-controls.md +18 -3
  132. package/docs/helpers.md +0 -39
  133. package/docs/hooks.md +39 -0
  134. package/package.json +4 -3
  135. package/src/components/data/crud-detail/CrudDetail.tsx +346 -0
  136. package/src/components/data/crud-detail/CrudDetailAfter.tsx +19 -0
  137. package/src/components/data/crud-detail/CrudDetailBefore.tsx +19 -0
  138. package/src/components/data/crud-detail/CrudDetailTools.tsx +19 -0
  139. package/src/components/data/crud-detail/types.ts +58 -0
  140. package/src/components/data/crud-sheet/CrudSheet.tsx +628 -0
  141. package/src/components/data/crud-sheet/CrudSheetColumn.tsx +34 -0
  142. package/src/components/data/crud-sheet/CrudSheetFilter.tsx +21 -0
  143. package/src/components/data/crud-sheet/CrudSheetHeader.tsx +19 -0
  144. package/src/components/data/crud-sheet/CrudSheetTools.tsx +21 -0
  145. package/src/components/data/crud-sheet/types.ts +133 -0
  146. package/src/components/data/kanban/Kanban.tsx +72 -65
  147. package/src/components/data/kanban/KanbanContext.ts +7 -1
  148. package/src/components/data/list/ListItem.tsx +31 -18
  149. package/src/components/data/sheet/DataSheet.styles.ts +1 -1
  150. package/src/components/data/sheet/DataSheet.tsx +1 -1
  151. package/src/components/disclosure/Dialog.tsx +143 -105
  152. package/src/components/disclosure/DialogContext.ts +2 -4
  153. package/src/components/disclosure/DialogProvider.tsx +4 -2
  154. package/src/components/disclosure/Dropdown.tsx +174 -86
  155. package/src/components/feedback/notification/NotificationBanner.tsx +3 -9
  156. package/src/components/feedback/notification/NotificationBell.tsx +51 -57
  157. package/src/components/form-control/combobox/Combobox.tsx +109 -134
  158. package/src/components/form-control/combobox/ComboboxContext.ts +4 -1
  159. package/src/components/form-control/date-range-picker/DateRangePicker.tsx +6 -16
  160. package/src/components/form-control/field/Field.styles.ts +1 -0
  161. package/src/components/form-control/field/NumberInput.tsx +131 -88
  162. package/src/components/form-control/field/TextInput.tsx +139 -88
  163. package/src/components/form-control/select/Select.tsx +85 -67
  164. package/src/components/form-control/select/SelectContext.ts +12 -1
  165. package/src/components/form-control/select/SelectItem.tsx +39 -18
  166. package/src/components/layout/topbar/TopbarMenu.tsx +52 -55
  167. package/src/components/layout/topbar/TopbarUser.tsx +28 -31
  168. package/src/hooks/createControllableStore.ts +47 -0
  169. package/src/index.ts +5 -1
  170. package/src/styles/patterns.styles.ts +7 -1
  171. package/tailwind.css +4 -0
  172. package/dist/helpers/splitSlots.d.ts +0 -25
  173. package/dist/helpers/splitSlots.d.ts.map +0 -1
  174. package/dist/helpers/splitSlots.js +0 -25
  175. package/dist/helpers/splitSlots.js.map +0 -6
  176. package/dist/hooks/createItemTemplate.d.ts +0 -17
  177. package/dist/hooks/createItemTemplate.d.ts.map +0 -1
  178. package/dist/hooks/createItemTemplate.js +0 -40
  179. package/dist/hooks/createItemTemplate.js.map +0 -6
  180. package/src/helpers/splitSlots.ts +0 -51
  181. 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(`<div data-select-header>`), _tmpl$3 = /* @__PURE__ */ _$template(`<span>`), _tmpl$4 = /* @__PURE__ */ _$template(`<div>`), _tmpl$5 = /* @__PURE__ */ _$template(`<div><div role=combobox aria-haspopup=listbox><div></div><div>`);
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
- return (() => {
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
- const handleTriggerClick = () => {
97
- if (local.disabled) return;
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 getSelectItemTemplate(slots().selectItemTemplate);
131
+ return itemTemplate();
124
132
  };
125
133
  const renderItems = (itemList, depth) => {
126
- const itemTemplate = getItemTemplate();
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(() => itemTemplate ? itemTemplate(item, index(), depth) : String(item)), _$createComponent(Show, {
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 itemTemplate = getItemTemplate();
160
- if (itemTemplate) {
161
- return itemTemplate(value, 0, 0);
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$3 = _tmpl$3();
170
- _$className(_el$3, textMuted);
171
- _$insert(_el$3, () => local.placeholder ?? "");
172
- return _el$3;
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$4 = _tmpl$4();
179
- _$insert(_el$4, _$createComponent(For, {
186
+ var _el$3 = _tmpl$3();
187
+ _$insert(_el$3, _$createComponent(For, {
180
188
  each: current,
181
189
  children: (v) => (() => {
182
- var _el$5 = _tmpl$3();
183
- _$className(_el$5, multiTagClass);
184
- _$insert(_el$5, () => renderValue(v));
185
- return _el$5;
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$4, clsx("flex gap-1", direction === "vertical" ? "flex-col" : "flex-wrap")));
189
- return _el$4;
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$6 = _tmpl$5(), _el$7 = _el$6.firstChild, _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling;
196
- _$spread(_el$6, _$mergeProps(rest, {
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$7.$$keydown = handleTriggerKeyDown;
203
- _el$7.$$click = handleTriggerClick;
204
- _$use(ripple, _el$7, () => !local.disabled);
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(Show, {
234
- get when() {
235
- return slots().selectHeader.length > 0;
236
- },
220
+ return [_$createComponent(Dropdown.Trigger, {
237
221
  get children() {
238
- return slots().selectHeader.single();
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(List, {
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 local.items;
247
- },
248
- get fallback() {
249
- return items();
255
+ return header();
250
256
  },
251
257
  get children() {
252
- return renderItems(local.items, 0);
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
- _$effect((_p$) => {
260
- 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(), slots().selectAction.length > 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;
261
- _v$ !== _p$.e && _$setAttribute(_el$7, "aria-expanded", _p$.e = _v$);
262
- _v$2 !== _p$.t && _$setAttribute(_el$7, "aria-disabled", _p$.t = _v$2);
263
- _v$3 !== _p$.a && _$setAttribute(_el$7, "aria-required", _p$.a = _v$3);
264
- _v$4 !== _p$.o && _$setAttribute(_el$7, "tabindex", _p$.o = _v$4);
265
- _v$5 !== _p$.i && _$className(_el$7, _p$.i = _v$5);
266
- _p$.n = _$style(_el$7, _v$6, _p$.n);
267
- return _p$;
268
- }, {
269
- e: void 0,
270
- t: void 0,
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(["click", "keydown"]);
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": "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",
5
- "names": ["children", "createMemo", "createSignal", "For", "Show", "splitProps", "clsx", "twMerge", "IconChevronDown", "Icon", "Dropdown", "List", "SelectContext", "SelectItem", "ripple", "splitSlots", "borderDefault", "textMuted", "createControllableSignal", "createItemTemplate", "chevronWrapperClass", "getTriggerClass", "Invalid", "multiTagClass", "selectedValueClass", "SelectAction", "props", "local", "rest", "_el$", "_tmpl$", "_$use", "_$spread", "_$mergeProps", "class", "_$insert", "SelectHeader", "_el$2", "_tmpl$2", "TemplateSlot", "SelectItemTemplate", "getTemplate", "getSelectItemTemplate", "Select", "triggerRef", "open", "setOpen", "getValue", "setInternalValue", "value", "onChange", "onValueChange", "isSelected", "current", "undefined", "multiple", "Array", "isArray", "includes", "toggleValue", "idx", "indexOf", "slice", "closeDropdown", "contextValue", "handleTriggerClick", "disabled", "v", "handleTriggerKeyDown", "e", "key", "preventDefault", "errorMsg", "required", "validate", "getTriggerClassName", "size", "inset", "SelectInner", "innerProps", "resolved", "slots", "items", "getItemTemplate", "selectItemTemplate", "renderItems", "itemList", "depth", "itemTemplate", "_$createComponent", "each", "item", "index", "_$memo", "String", "when", "getChildren", "keyed", "itemChildren", "length", "Children", "renderValue", "renderSelectedValue", "_el$3", "_tmpl$3", "_$className", "placeholder", "direction", "multiDisplayDirection", "_el$4", "_tmpl$4", "_el$5", "_$effect", "_el$6", "_tmpl$5", "_el$7", "firstChild", "_el$8", "_el$9", "nextSibling", "$$keydown", "$$click", "_ref$", "icon", "selectAction", "_el$0", "onOpenChange", "keyboardNav", "selectHeader", "single", "role", "fallback", "_p$", "_v$", "_v$2", "_v$3", "_v$4", "_v$5", "_v$6", "style", "_$setAttribute", "t", "a", "o", "i", "n", "_$style", "message", "variant", "touchMode", "Provider", "Item", "Action", "Header", "ItemTemplate", "_$delegateEvents"]
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;AAEpE,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;CAC3B;AAED,eAAO,MAAM,aAAa,qEAAsC,CAAC;AAEjE,wBAAgB,gBAAgB,CAAC,MAAM,GAAG,OAAO,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAM/E"}
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,kBAAiC;AAgBlD,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;",
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,EAAY,KAAK,GAAG,EAAE,KAAK,eAAe,EAAoB,MAAM,UAAU,CAAC;AAoBtF;;GAEG;AACH,QAAA,MAAM,kBAAkB,EAAE,eAOzB,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,mBA4DxB,CAAC"}
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
- import { insert as _$insert } from "solid-js/web";
7
- import { createComponent as _$createComponent } from "solid-js/web";
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 SelectItemChildren = (props) => (() => {
22
- var _el$ = _tmpl$(), _el$2 = _el$.firstChild;
23
- _$className(_el$2, listItemIndentGuideClass);
24
- _$insert(_el$, _$createComponent(List, {
25
- inset: true,
26
- "class": "flex-1",
27
- get children() {
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 resolved = children(() => local.children);
37
- const [slots, content] = splitSlots(resolved, ["selectItemChildren"]);
38
- const hasChildren = () => slots().selectItemChildren.length > 0;
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
- var _el$3 = _tmpl$2(), _el$4 = _el$3.firstChild;
52
- _$use(ripple, _el$3, () => useRipple());
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 _$createComponent(Collapse, {
94
- open: true,
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 slots().selectItemChildren.single();
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 {