@bysages/solid 0.2.3 → 0.3.0

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 (140) hide show
  1. package/README.md +16 -2
  2. package/dist/{ai-response-B_586r27.mjs → ai-response-ClGGptX3.mjs} +15 -15
  3. package/dist/chevron-D5RzcayK.mjs +9 -0
  4. package/dist/components/affix/index.mjs +15 -17
  5. package/dist/components/ai/index.d.mts +1 -1
  6. package/dist/components/ai/index.mjs +12 -10
  7. package/dist/components/ai-action/index.mjs +2 -2
  8. package/dist/components/ai-attachments/index.mjs +50 -38
  9. package/dist/components/ai-message/index.mjs +11 -13
  10. package/dist/components/ai-prompt-input/index.mjs +70 -53
  11. package/dist/components/ai-reasoning/index.mjs +10 -6
  12. package/dist/components/ai-response/index.mjs +1 -1
  13. package/dist/components/ai-source/index.mjs +23 -23
  14. package/dist/components/ai-suggestion/index.mjs +1 -1
  15. package/dist/components/ai-tool/index.mjs +29 -17
  16. package/dist/components/alert/index.mjs +37 -42
  17. package/dist/components/angle-slider/index.mjs +2 -2
  18. package/dist/components/aspect-ratio/index.mjs +14 -16
  19. package/dist/components/autocomplete/index.mjs +3 -2
  20. package/dist/components/avatar/index.d.mts +3 -0
  21. package/dist/components/avatar/index.mjs +10 -5
  22. package/dist/components/avatar-group/index.mjs +11 -13
  23. package/dist/components/back-top/index.mjs +31 -27
  24. package/dist/components/badge/index.mjs +14 -16
  25. package/dist/components/banner/index.mjs +24 -28
  26. package/dist/components/bento/index.d.mts +24 -0
  27. package/dist/components/bento/index.mjs +51 -0
  28. package/dist/components/block-ui/index.d.mts +12 -0
  29. package/dist/components/block-ui/index.mjs +43 -0
  30. package/dist/components/breadcrumb/index.mjs +7 -5
  31. package/dist/components/browser/index.d.mts +21 -0
  32. package/dist/components/browser/index.mjs +87 -0
  33. package/dist/components/button/index.mjs +27 -29
  34. package/dist/components/button-group/index.mjs +18 -20
  35. package/dist/components/calendar/index.mjs +141 -129
  36. package/dist/components/card/index.mjs +2 -2
  37. package/dist/components/cascade-select/index.mjs +160 -121
  38. package/dist/components/checkbox/index.mjs +2 -2
  39. package/dist/components/checkbox-group/index.mjs +53 -55
  40. package/dist/components/chip/index.mjs +22 -20
  41. package/dist/components/clipboard/index.mjs +2 -2
  42. package/dist/components/color-picker/index.mjs +2 -2
  43. package/dist/components/combobox/index.mjs +2 -2
  44. package/dist/components/command/index.mjs +73 -57
  45. package/dist/components/comment/index.mjs +77 -62
  46. package/dist/components/config-provider/index.mjs +10 -8
  47. package/dist/components/container/index.mjs +14 -16
  48. package/dist/components/data-view/index.d.mts +18 -0
  49. package/dist/components/data-view/index.mjs +110 -0
  50. package/dist/components/date-input/index.mjs +2 -2
  51. package/dist/components/date-picker/index.mjs +2 -2
  52. package/dist/components/deferred-content/index.d.mts +16 -0
  53. package/dist/components/deferred-content/index.mjs +52 -0
  54. package/dist/components/descriptions/index.d.mts +9 -1
  55. package/dist/components/descriptions/index.mjs +43 -16
  56. package/dist/components/dock/index.d.mts +22 -0
  57. package/dist/components/dock/index.mjs +64 -0
  58. package/dist/components/dynamic-input/index.mjs +71 -68
  59. package/dist/components/editable/index.mjs +2 -2
  60. package/dist/components/ellipsis/index.mjs +17 -19
  61. package/dist/components/empty/index.mjs +2 -2
  62. package/dist/components/file-upload/index.mjs +2 -2
  63. package/dist/components/float-button/index.mjs +39 -38
  64. package/dist/components/form/index.d.mts +1 -1
  65. package/dist/components/form/index.mjs +52 -37
  66. package/dist/components/grid/index.mjs +19 -21
  67. package/dist/components/icon/index.d.mts +9 -4
  68. package/dist/components/icon/index.mjs +37 -36
  69. package/dist/components/image/index.mjs +44 -43
  70. package/dist/components/image-viewer/index.mjs +46 -37
  71. package/dist/components/input/index.d.mts +3 -0
  72. package/dist/components/input/index.mjs +1 -41
  73. package/dist/components/input-group/index.mjs +14 -18
  74. package/dist/components/kbd/index.mjs +8 -10
  75. package/dist/components/layout/index.mjs +77 -77
  76. package/dist/components/link/index.mjs +12 -13
  77. package/dist/components/list/index.mjs +52 -47
  78. package/dist/components/listbox/index.mjs +2 -2
  79. package/dist/components/masonry/index.mjs +15 -17
  80. package/dist/components/mentions/index.mjs +1 -1
  81. package/dist/components/menu/index.mjs +2 -2
  82. package/dist/components/menubar/index.mjs +58 -57
  83. package/dist/components/meter/index.mjs +41 -41
  84. package/dist/components/number-input/index.mjs +2 -2
  85. package/dist/components/order-list/index.d.mts +21 -0
  86. package/dist/components/order-list/index.mjs +160 -0
  87. package/dist/components/page-header/index.mjs +2 -2
  88. package/dist/components/pagination/index.mjs +2 -2
  89. package/dist/components/password-input/index.mjs +2 -2
  90. package/dist/components/pin-input/index.mjs +2 -2
  91. package/dist/components/popconfirm/index.mjs +19 -12
  92. package/dist/components/progress/index.mjs +2 -2
  93. package/dist/components/progress-group/index.mjs +65 -58
  94. package/dist/components/radio-group/index.mjs +2 -2
  95. package/dist/components/rating-group/index.mjs +2 -2
  96. package/dist/components/result/index.d.mts +22 -0
  97. package/dist/components/result/index.mjs +66 -0
  98. package/dist/components/select/index.d.mts +2 -17
  99. package/dist/components/select/index.mjs +2 -18
  100. package/dist/components/separator/index.mjs +17 -19
  101. package/dist/components/skeleton/index.mjs +8 -10
  102. package/dist/components/slider/index.mjs +2 -2
  103. package/dist/components/spinner/index.mjs +15 -17
  104. package/dist/components/split-button/index.mjs +84 -83
  105. package/dist/components/spotlight/index.d.mts +11 -0
  106. package/dist/components/spotlight/index.mjs +38 -0
  107. package/dist/components/stack/index.mjs +20 -22
  108. package/dist/components/stat/index.mjs +12 -14
  109. package/dist/components/steps/index.mjs +2 -2
  110. package/dist/components/switch/index.mjs +2 -2
  111. package/dist/components/table/index.mjs +308 -211
  112. package/dist/components/tabs/index.d.mts +2 -0
  113. package/dist/components/tabs/index.mjs +10 -5
  114. package/dist/components/tags-input/index.mjs +2 -2
  115. package/dist/components/terminal/index.d.mts +17 -0
  116. package/dist/components/terminal/index.mjs +84 -0
  117. package/dist/components/textarea/index.mjs +8 -8
  118. package/dist/components/timeline/index.d.mts +9 -3
  119. package/dist/components/timeline/index.mjs +18 -3
  120. package/dist/components/toggle-group/index.mjs +2 -2
  121. package/dist/components/toolbar/index.d.mts +17 -0
  122. package/dist/components/toolbar/index.mjs +46 -0
  123. package/dist/components/transfer/index.mjs +116 -107
  124. package/dist/components/tree-select/index.mjs +29 -21
  125. package/dist/components/tree-view/index.mjs +2 -2
  126. package/dist/components/typography/index.mjs +2 -2
  127. package/dist/components/user/index.d.mts +19 -0
  128. package/dist/components/user/index.mjs +68 -0
  129. package/dist/components/virtual-list/index.d.mts +17 -0
  130. package/dist/components/virtual-list/index.mjs +71 -0
  131. package/dist/components/watermark/index.mjs +19 -13
  132. package/dist/{index-B4XS2n2y.d.mts → index-IfofF-SW.d.mts} +718 -3773
  133. package/dist/index-YPUiqD3n.d.mts +42 -0
  134. package/dist/index.d.mts +16 -3
  135. package/dist/index.mjs +20 -7
  136. package/dist/input-DoFQ7RXh.mjs +78 -0
  137. package/dist/{mentions-xbI6vJAP.mjs → mentions-f5Js_2W7.mjs} +76 -70
  138. package/dist/select-CHaXbzLX.mjs +115 -0
  139. package/package.json +28 -7
  140. package/dist/chevron-GWEoEYdO.mjs +0 -9
@@ -1,11 +1,11 @@
1
1
  import { injectComponentStyle } from "@bysages/core";
2
- import { createComponent, mergeProps } from "solid-js/web";
2
+ import { createComponent, mergeProps } from "@solidjs/web";
3
3
  import { splitProps } from "solid-js";
4
4
  import { TagsInput as TagsInput$1 } from "@ark-ui/solid/tags-input";
5
5
  //#region src/components/tags-input/index.tsx
6
6
  function TagsInputRoot(props) {
7
7
  const [own, rest] = splitProps(props, ["size"]);
8
- return createComponent(TagsInput$1.Root, mergeProps(rest, { get ["data-size"]() {
8
+ return createComponent(TagsInput$1.Root, mergeProps(rest, { get "data-size"() {
9
9
  return own.size ?? "md";
10
10
  } }));
11
11
  }
@@ -0,0 +1,17 @@
1
+ import { JSX } from "solid-js";
2
+ //#region src/components/terminal/index.d.ts
3
+ export interface TerminalProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "onCommand"> {
4
+ /** The transcript, oldest line first. */
5
+ lines?: string[];
6
+ /** The sigil at the head of the entry line. */
7
+ prompt?: string;
8
+ placeholder?: string;
9
+ label?: string;
10
+ onCommand?: (text: string) => void;
11
+ }
12
+ /** A quiet console: the transcript above, the prompt line below. The
13
+ * component owns only the reading and the caret — each entered line
14
+ * leaves as an event, and the caller answers through the lines prop,
15
+ * so history stays theirs to shape. */
16
+ export declare function Terminal(props: TerminalProps): JSX.Element;
17
+ //#endregion
@@ -0,0 +1,84 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { createComponent, delegateEvents, effect, insert, ref, setAttribute, spread, template } from "@solidjs/web";
3
+ import { For, createEffect, createSignal, onMount, splitProps } from "solid-js";
4
+ //#region src/components/terminal/index.tsx
5
+ var _tmpl$ = /* @__PURE__ */ template(`<div><div data-scope=terminal data-part=scroll></div><div data-scope=terminal data-part=entry><span data-scope=terminal data-part=sigil aria-hidden=true></span><input data-scope=terminal data-part=input autocomplete=off>`);
6
+ var _tmpl$2 = /* @__PURE__ */ template(`<div data-scope=terminal data-part=line>`);
7
+ /** A quiet console: the transcript above, the prompt line below. The
8
+ * component owns only the reading and the caret — each entered line
9
+ * leaves as an event, and the caller answers through the lines prop,
10
+ * so history stays theirs to shape. */
11
+ function Terminal(props) {
12
+ injectComponentStyle("terminal");
13
+ const [own, rest] = splitProps(props, [
14
+ "lines",
15
+ "prompt",
16
+ "placeholder",
17
+ "label",
18
+ "onCommand"
19
+ ]);
20
+ const [draft, setDraft] = createSignal("");
21
+ const [scroll, setScroll] = createSignal(null);
22
+ onMount(() => {
23
+ createEffect(() => {
24
+ if (own.lines?.length === void 0) return;
25
+ scroll()?.scrollTo({ top: scroll()?.scrollHeight });
26
+ });
27
+ });
28
+ function submit() {
29
+ const text = draft().trim();
30
+ if (!text) return;
31
+ setDraft("");
32
+ own.onCommand?.(text);
33
+ }
34
+ var _el$ = _tmpl$();
35
+ var _el$2 = _el$.firstChild;
36
+ var _el$4 = _el$2.nextSibling.firstChild;
37
+ var _el$5 = _el$4.nextSibling;
38
+ spread(_el$, [rest, {
39
+ role: "log",
40
+ get "aria-label"() {
41
+ return own.label;
42
+ },
43
+ "data-scope": "terminal",
44
+ "data-part": "root"
45
+ }], true);
46
+ ref(() => {
47
+ return setScroll;
48
+ }, _el$2);
49
+ insert(_el$2, createComponent(For, {
50
+ get each() {
51
+ return own.lines;
52
+ },
53
+ children: (line) => (() => {
54
+ var _el$6 = _tmpl$2();
55
+ insert(_el$6, line);
56
+ return _el$6;
57
+ })()
58
+ }));
59
+ insert(_el$4, () => {
60
+ return own.prompt ?? "$";
61
+ });
62
+ _el$5._$$keydown = (event) => {
63
+ if (event.key === "Enter") {
64
+ event.preventDefault();
65
+ submit();
66
+ }
67
+ };
68
+ _el$5._$$input = (event) => setDraft(event.currentTarget.value);
69
+ effect(() => {
70
+ return {
71
+ e: draft(),
72
+ t: own.placeholder,
73
+ a: own.label ? `${own.label} command line` : "Command line"
74
+ };
75
+ }, ({ e, t, a }, _p$) => {
76
+ _el$5.value = e ?? "";
77
+ t !== _p$?.t && setAttribute(_el$5, "placeholder", t);
78
+ a !== _p$?.a && setAttribute(_el$5, "aria-label", a);
79
+ });
80
+ return _el$;
81
+ }
82
+ delegateEvents(["input", "keydown"]);
83
+ //#endregion
84
+ export { Terminal };
@@ -1,9 +1,9 @@
1
1
  import { injectComponentStyle } from "@bysages/core";
2
- import { mergeProps, spread, template } from "solid-js/web";
2
+ import { spread, template } from "@solidjs/web";
3
3
  import { mergeProps as mergeProps$1, splitProps } from "solid-js";
4
4
  import { useFieldContext } from "@ark-ui/solid/field";
5
5
  //#region src/components/textarea/index.tsx
6
- var _tmpl$ = /*#__PURE__*/ template(`<textarea>`);
6
+ var _tmpl$ = /* @__PURE__ */ template(`<textarea>`);
7
7
  /** The bare multi-line input: the field recipe on a `<textarea>`, sized
8
8
  * by rows and resizable in the block direction. Standing alone it styles
9
9
  * itself from the `invalid` prop; inside a `Field.Root` it consumes the
@@ -17,9 +17,9 @@ function Textarea(props) {
17
17
  "invalid",
18
18
  "onValueChange"
19
19
  ]);
20
- return (() => {
21
- var _el$ = _tmpl$();
22
- spread(_el$, mergeProps(() => mergeProps$1(() => field?.().getTextareaProps() ?? {}, rest, {
20
+ var _el$ = _tmpl$();
21
+ spread(_el$, () => {
22
+ return mergeProps$1(() => field?.().getTextareaProps() ?? {}, rest, {
23
23
  get value() {
24
24
  return own.value;
25
25
  },
@@ -29,9 +29,9 @@ function Textarea(props) {
29
29
  return own.invalid || field?.().getTextareaProps()["data-invalid"] != null ? "" : void 0;
30
30
  },
31
31
  onInput: (event) => own.onValueChange?.(event.currentTarget.value)
32
- })), false, false);
33
- return _el$;
34
- })();
32
+ });
33
+ }, false);
34
+ return _el$;
35
35
  }
36
36
  //#endregion
37
37
  export { Textarea };
@@ -1,7 +1,13 @@
1
- import { Component } from "solid-js";
1
+ import { Component, JSX } from "solid-js";
2
2
  //#region src/components/timeline/index.d.ts
3
- export declare const Timeline: Component<Record<string, unknown>> & {
4
- Root: Component<Record<string, unknown>>;
3
+ declare function Root(props: JSX.HTMLAttributes<HTMLOListElement> & {
4
+ orientation?: "vertical" | "horizontal";
5
+ }): JSX.Element;
6
+ declare namespace Root {
7
+ var displayName: string;
8
+ }
9
+ export declare const Timeline: typeof Root & {
10
+ Root: typeof Root;
5
11
  Item: Component<Record<string, unknown>>;
6
12
  Marker: Component<Record<string, unknown>>;
7
13
  Content: Component<Record<string, unknown>>;
@@ -1,6 +1,8 @@
1
1
  import { injectComponentStyle } from "@bysages/core";
2
- import { createComponent, mergeProps } from "solid-js/web";
2
+ import { createComponent, mergeProps, spread, template } from "@solidjs/web";
3
+ import { splitProps } from "solid-js";
3
4
  //#region src/components/timeline/index.tsx
5
+ var _tmpl$ = /* @__PURE__ */ template(`<ol>`);
4
6
  /** A line of moments: Root is the ordered thread, Item one moment on it,
5
7
  * Marker the point where the thread passes, Content what the moment
6
8
  * holds. The hairline between markers is drawn by the stylesheet. */
@@ -8,13 +10,26 @@ function part(name, tag) {
8
10
  return ((props) => {
9
11
  return createComponent(tag, mergeProps(props, {
10
12
  "data-scope": "timeline",
11
- get ["data-part"]() {
13
+ get "data-part"() {
12
14
  return name.toLowerCase();
13
15
  }
14
16
  }));
15
17
  });
16
18
  }
17
- const Root = part("Root", "ol");
19
+ function Root(props) {
20
+ injectComponentStyle("timeline");
21
+ const [own, rest] = splitProps(props, ["orientation"]);
22
+ var _el$ = _tmpl$();
23
+ spread(_el$, [rest, {
24
+ "data-scope": "timeline",
25
+ "data-part": "root",
26
+ get "data-orientation"() {
27
+ return own.orientation ?? "vertical";
28
+ }
29
+ }], false);
30
+ return _el$;
31
+ }
32
+ Root.displayName = "TimelineRoot";
18
33
  const Item = part("Item", "li");
19
34
  const Marker = part("Marker", "span");
20
35
  const Content = part("Content", "div");
@@ -1,11 +1,11 @@
1
1
  import { injectComponentStyle } from "@bysages/core";
2
- import { createComponent, mergeProps } from "solid-js/web";
2
+ import { createComponent, mergeProps } from "@solidjs/web";
3
3
  import { splitProps } from "solid-js";
4
4
  import { ToggleGroup as ToggleGroup$1 } from "@ark-ui/solid/toggle-group";
5
5
  //#region src/components/toggle-group/index.tsx
6
6
  function ToggleGroupRoot(props) {
7
7
  const [own, rest] = splitProps(props, ["size"]);
8
- return createComponent(ToggleGroup$1.Root, mergeProps(rest, { get ["data-size"]() {
8
+ return createComponent(ToggleGroup$1.Root, mergeProps(rest, { get "data-size"() {
9
9
  return own.size ?? "md";
10
10
  } }));
11
11
  }
@@ -0,0 +1,17 @@
1
+ import { JSX } from "solid-js";
2
+ //#region src/components/toolbar/index.d.ts
3
+ export interface ToolbarProps extends JSX.HTMLAttributes<HTMLDivElement> {
4
+ /** Accessible name when more than one toolbar shares a page. */
5
+ label?: string;
6
+ /** Tools at the leading edge; `children` land here when no start is
7
+ * given. */
8
+ start?: JSX.Element;
9
+ /** Tools at the trailing edge. */
10
+ end?: JSX.Element;
11
+ children?: JSX.Element;
12
+ }
13
+ /** A workbench rail: the start tools at the leading edge, the end tools
14
+ * at the trailing, the rail itself carrying the toolbar role so
15
+ * assistive tech reads it as one group of commands. */
16
+ export declare function Toolbar(props: ToolbarProps): JSX.Element;
17
+ //#endregion
@@ -0,0 +1,46 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { createComponent, insert, spread, template } from "@solidjs/web";
3
+ import { Show, splitProps } from "solid-js";
4
+ //#region src/components/toolbar/index.tsx
5
+ var _tmpl$ = /* @__PURE__ */ template(`<div data-scope=toolbar data-part=group data-edge=end>`);
6
+ var _tmpl$2 = /* @__PURE__ */ template(`<div><div data-scope=toolbar data-part=group data-edge=start>`);
7
+ /** A workbench rail: the start tools at the leading edge, the end tools
8
+ * at the trailing, the rail itself carrying the toolbar role so
9
+ * assistive tech reads it as one group of commands. */
10
+ function Toolbar(props) {
11
+ injectComponentStyle("toolbar");
12
+ const [own, rest] = splitProps(props, [
13
+ "label",
14
+ "start",
15
+ "end",
16
+ "children"
17
+ ]);
18
+ var _el$ = _tmpl$2();
19
+ var _el$2 = _el$.firstChild;
20
+ spread(_el$, [rest, {
21
+ role: "toolbar",
22
+ get "aria-label"() {
23
+ return own.label;
24
+ },
25
+ "data-scope": "toolbar",
26
+ "data-part": "root"
27
+ }], true);
28
+ insert(_el$2, () => {
29
+ return own.start ?? own.children;
30
+ });
31
+ insert(_el$, createComponent(Show, {
32
+ get when() {
33
+ return own.end;
34
+ },
35
+ get children() {
36
+ var _el$3 = _tmpl$();
37
+ insert(_el$3, () => {
38
+ return own.end;
39
+ });
40
+ return _el$3;
41
+ }
42
+ }), null);
43
+ return _el$;
44
+ }
45
+ //#endregion
46
+ export { Toolbar };
@@ -1,25 +1,24 @@
1
1
  import { Button } from "../button/index.mjs";
2
- import { Input } from "../input/index.mjs";
2
+ import { t as Input } from "../../input-DoFQ7RXh.mjs";
3
3
  import { injectComponentStyle } from "@bysages/core";
4
- import { createComponent, insert, mergeProps, setAttribute, spread, template } from "solid-js/web";
4
+ import { createComponent, insert, setAttribute, spread, template } from "@solidjs/web";
5
5
  import { For, Show, createSignal, splitProps } from "solid-js";
6
6
  import { Checkbox } from "@ark-ui/solid/checkbox";
7
7
  //#region src/components/transfer/index.tsx
8
- var _tmpl$ = /*#__PURE__*/ template(`<svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=3 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="m5 12.5 5 5L19 7">`);
9
- var _tmpl$2 = /*#__PURE__*/ template(`<svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=1.75 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path>`);
10
- var _tmpl$3 = /*#__PURE__*/ template(`<div data-scope=transfer data-part=search>`);
11
- var _tmpl$4 = /*#__PURE__*/ template(`<div data-scope=transfer data-part=panel><div data-scope=transfer data-part=head><span data-scope=transfer data-part=title></span><span data-scope=transfer data-part=count></span></div><div data-scope=transfer data-part=list>`);
12
- var _tmpl$5 = /*#__PURE__*/ template(`<p data-scope=transfer data-part=empty>Nothing here`);
13
- var _tmpl$6 = /*#__PURE__*/ template(`<div><div data-scope=transfer data-part=operations>`);
8
+ var _tmpl$ = /* @__PURE__ */ template(`<svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=3 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="m5 12.5 5 5L19 7">`);
9
+ var _tmpl$2 = /* @__PURE__ */ template(`<svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=1.75 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path>`);
10
+ var _tmpl$3 = /* @__PURE__ */ template(`<div data-scope=transfer data-part=search>`);
11
+ var _tmpl$4 = /* @__PURE__ */ template(`<div data-scope=transfer data-part=panel><div data-scope=transfer data-part=head><span data-scope=transfer data-part=title></span><span data-scope=transfer data-part=count></span></div><div data-scope=transfer data-part=list>`);
12
+ var _tmpl$5 = /* @__PURE__ */ template(`<p data-scope=transfer data-part=empty>Nothing here`);
13
+ var _tmpl$6 = /* @__PURE__ */ template(`<div><div data-scope=transfer data-part=operations><!><!></div><!>`);
14
14
  function checkGlyph() {
15
15
  return _tmpl$();
16
16
  }
17
17
  function arrowGlyph(direction) {
18
- return (() => {
19
- var _el$2 = _tmpl$2(), _el$3 = _el$2.firstChild;
20
- setAttribute(_el$3, "d", direction === "right" ? "M5 12h14m-6-6 6 6-6 6" : "M19 12H5m6-6-6 6 6 6");
21
- return _el$2;
22
- })();
18
+ var _el$2 = _tmpl$2();
19
+ var _el$3 = _el$2.firstChild;
20
+ setAttribute(_el$3, "d", direction === "right" ? "M5 12h14m-6-6 6 6-6 6" : "M19 12H5m6-6-6 6 6 6");
21
+ return _el$2;
23
22
  }
24
23
  /**
25
24
  * Two ledgers and a crossing: items sit in the source column until the
@@ -61,106 +60,116 @@ function Transfer(props) {
61
60
  own.onValueChange?.(next);
62
61
  }
63
62
  function panel(side, title, query, setQuery, checked, setChecked, items) {
64
- return (() => {
65
- var _el$4 = _tmpl$4(), _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling, _el$9 = _el$5.nextSibling;
66
- setAttribute(_el$4, "data-side", side);
67
- insert(_el$6, title);
68
- insert(_el$7, () => String(items.length));
69
- insert(_el$4, createComponent(Show, {
70
- get when() {
71
- return own.searchable;
72
- },
73
- get children() {
74
- var _el$8 = _tmpl$3();
75
- insert(_el$8, createComponent(Input, {
76
- size: "sm",
77
- get value() {
78
- return query();
79
- },
80
- onValueChange: setQuery,
81
- placeholder: "Filter…",
82
- "aria-label": `Filter ${title}`
83
- }));
84
- return _el$8;
85
- }
86
- }), _el$9);
87
- insert(_el$9, createComponent(Show, {
88
- get when() {
89
- return items.length > 0;
90
- },
91
- get fallback() {
92
- return _tmpl$5();
93
- },
94
- get children() {
95
- return createComponent(For, {
96
- each: items,
97
- children: (item) => createComponent(Checkbox.Root, {
98
- get checked() {
99
- return checked().has(item.value);
100
- },
101
- get disabled() {
102
- return own.disabled || item.disabled === true;
103
- },
104
- onCheckedChange: () => toggle(checked(), item.value, setChecked),
105
- get children() {
106
- return [
107
- createComponent(Checkbox.Control, { get children() {
108
- return createComponent(Checkbox.Indicator, { get children() {
109
- return checkGlyph();
110
- } });
111
- } }),
112
- createComponent(Checkbox.Label, {
113
- "data-part": "label",
114
- get children() {
115
- return item.label;
116
- }
117
- }),
118
- createComponent(Checkbox.HiddenInput, {})
119
- ];
120
- }
121
- })
122
- });
123
- }
124
- }));
125
- return _el$4;
126
- })();
127
- }
128
- return (() => {
129
- var _el$1 = _tmpl$6(), _el$10 = _el$1.firstChild;
130
- spread(_el$1, mergeProps(rest, {
131
- "data-scope": "transfer",
132
- "data-part": "root"
133
- }), false, true);
134
- insert(_el$1, () => panel("source", own.titles?.[0] ?? "Source", sourceQuery, setSourceQuery, checkedSource, setCheckedSource, panelItems(own.data, false, sourceQuery())), _el$10);
135
- insert(_el$10, createComponent(Button, {
136
- variant: "outline",
137
- size: "sm",
138
- square: true,
139
- get disabled() {
140
- return checkedSource().size === 0 || own.disabled;
63
+ var _el$4 = _tmpl$4();
64
+ var _el$5 = _el$4.firstChild;
65
+ var _el$6 = _el$5.firstChild;
66
+ var _el$7 = _el$6.nextSibling;
67
+ var _el$9 = _el$5.nextSibling;
68
+ setAttribute(_el$4, "data-side", side);
69
+ insert(_el$6, title);
70
+ insert(_el$7, () => {
71
+ return String(items.length);
72
+ });
73
+ insert(_el$4, createComponent(Show, {
74
+ get when() {
75
+ return own.searchable;
141
76
  },
142
- "aria-label": "Move right",
143
- onClick: () => move(true),
144
77
  get children() {
145
- return arrowGlyph("right");
78
+ var _el$8 = _tmpl$3();
79
+ insert(_el$8, createComponent(Input, {
80
+ size: "sm",
81
+ get value() {
82
+ return query();
83
+ },
84
+ onValueChange: setQuery,
85
+ placeholder: "Filter…",
86
+ "aria-label": `Filter ${title}`
87
+ }));
88
+ return _el$8;
146
89
  }
147
- }), null);
148
- insert(_el$10, createComponent(Button, {
149
- variant: "outline",
150
- size: "sm",
151
- square: true,
152
- get disabled() {
153
- return checkedTarget().size === 0 || own.disabled;
90
+ }), _el$9);
91
+ insert(_el$9, createComponent(Show, {
92
+ get when() {
93
+ return items.length > 0;
94
+ },
95
+ get fallback() {
96
+ return _tmpl$5();
154
97
  },
155
- "aria-label": "Move left",
156
- onClick: () => move(false),
157
98
  get children() {
158
- return arrowGlyph("left");
99
+ return createComponent(For, {
100
+ each: items,
101
+ children: (item) => createComponent(Checkbox.Root, {
102
+ get checked() {
103
+ return checked().has(item.value);
104
+ },
105
+ get disabled() {
106
+ return own.disabled || item.disabled === true;
107
+ },
108
+ onCheckedChange: () => toggle(checked(), item.value, setChecked),
109
+ get children() {
110
+ return [
111
+ createComponent(Checkbox.Control, { get children() {
112
+ return createComponent(Checkbox.Indicator, { get children() {
113
+ return checkGlyph();
114
+ } });
115
+ } }),
116
+ createComponent(Checkbox.Label, {
117
+ "data-part": "label",
118
+ get children() {
119
+ return item.label;
120
+ }
121
+ }),
122
+ createComponent(Checkbox.HiddenInput, {})
123
+ ];
124
+ }
125
+ })
126
+ });
159
127
  }
160
- }), null);
161
- insert(_el$1, () => panel("target", own.titles?.[1] ?? "Target", targetQuery, setTargetQuery, checkedTarget, setCheckedTarget, panelItems(own.data, true, targetQuery())), null);
162
- return _el$1;
163
- })();
128
+ }));
129
+ return _el$4;
130
+ }
131
+ var _el$11 = _tmpl$6();
132
+ var _el$12 = _el$11.firstChild;
133
+ var _el$13 = _el$12.firstChild;
134
+ var _el$14 = _el$13.nextSibling;
135
+ var _el$15 = _el$12.nextSibling;
136
+ spread(_el$11, [rest, {
137
+ "data-scope": "transfer",
138
+ "data-part": "root"
139
+ }], true);
140
+ insert(_el$11, () => {
141
+ return panel("source", own.titles?.[0] ?? "Source", sourceQuery, setSourceQuery, checkedSource, setCheckedSource, panelItems(own.data, false, sourceQuery()));
142
+ }, _el$12);
143
+ insert(_el$12, createComponent(Button, {
144
+ variant: "outline",
145
+ size: "sm",
146
+ square: true,
147
+ get disabled() {
148
+ return checkedSource().size === 0 || own.disabled;
149
+ },
150
+ "aria-label": "Move right",
151
+ onClick: () => move(true),
152
+ get children() {
153
+ return arrowGlyph("right");
154
+ }
155
+ }), _el$13);
156
+ insert(_el$12, createComponent(Button, {
157
+ variant: "outline",
158
+ size: "sm",
159
+ square: true,
160
+ get disabled() {
161
+ return checkedTarget().size === 0 || own.disabled;
162
+ },
163
+ "aria-label": "Move left",
164
+ onClick: () => move(false),
165
+ get children() {
166
+ return arrowGlyph("left");
167
+ }
168
+ }), _el$14);
169
+ insert(_el$11, () => {
170
+ return panel("target", own.titles?.[1] ?? "Target", targetQuery, setTargetQuery, checkedTarget, setCheckedTarget, panelItems(own.data, true, targetQuery()));
171
+ }, _el$15);
172
+ return _el$11;
164
173
  }
165
174
  //#endregion
166
175
  export { Transfer };
@@ -1,17 +1,18 @@
1
- import { Input } from "../input/index.mjs";
1
+ import { t as Input } from "../../input-DoFQ7RXh.mjs";
2
2
  import { injectComponentStyle } from "@bysages/core";
3
- import { Portal, createComponent, insert, memo, mergeProps, spread, template } from "solid-js/web";
3
+ import { createComponent, insert, memo, mergeProps, spread, template } from "@solidjs/web";
4
4
  import { For, Show, createMemo, createSignal, splitProps } from "solid-js";
5
+ import { Portal } from "solid-js/web";
5
6
  import { useFilter } from "@ark-ui/solid/locale";
6
7
  import { Popover } from "@ark-ui/solid/popover";
7
8
  import { TreeView, createTreeCollection } from "@ark-ui/solid/tree-view";
8
9
  //#region src/components/tree-select/index.tsx
9
- var _tmpl$ = /*#__PURE__*/ template(`<svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="m9 18 6-6-6-6">`);
10
- var _tmpl$2 = /*#__PURE__*/ template(`<span>`);
11
- var _tmpl$3 = /*#__PURE__*/ template(`<div data-scope=tree-select data-part=search>`);
12
- var _tmpl$4 = /*#__PURE__*/ template(`<div data-scope=tree-select data-part=body>`);
13
- var _tmpl$5 = /*#__PURE__*/ template(`<button><span data-part=chevron aria-hidden=true>`);
14
- var _tmpl$6 = /*#__PURE__*/ template(`<p data-scope=tree-select data-part=empty>Nothing matches`);
10
+ var _tmpl$ = /* @__PURE__ */ template(`<svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="m9 18 6-6-6-6">`);
11
+ var _tmpl$2 = /* @__PURE__ */ template(`<span>`);
12
+ var _tmpl$3 = /* @__PURE__ */ template(`<div data-scope=tree-select data-part=search>`);
13
+ var _tmpl$4 = /* @__PURE__ */ template(`<div data-scope=tree-select data-part=body>`);
14
+ var _tmpl$5 = /* @__PURE__ */ template(`<button><span data-part=chevron aria-hidden=true>`);
15
+ var _tmpl$6 = /* @__PURE__ */ template(`<p data-scope=tree-select data-part=empty>Nothing matches`);
15
16
  function chevron() {
16
17
  return _tmpl$();
17
18
  }
@@ -96,10 +97,10 @@ function TreeSelect(props) {
96
97
  get fallback() {
97
98
  return createComponent(TreeView.Item, { asChild: (propsFn) => (() => {
98
99
  var _el$2 = _tmpl$2();
99
- spread(_el$2, mergeProps(propsFn, { "style": {
100
+ spread(_el$2, [propsFn, { style: {
100
101
  display: "flex",
101
102
  "inline-size": "100%"
102
- } }), false, true);
103
+ } }], true);
103
104
  insert(_el$2, createComponent(TreeView.ItemText, { get children() {
104
105
  return rowProps.node.label;
105
106
  } }));
@@ -147,25 +148,28 @@ function TreeSelect(props) {
147
148
  },
148
149
  get children() {
149
150
  return [createComponent(Popover.Trigger, { asChild: (propsFn) => (() => {
150
- var _el$5 = _tmpl$5(), _el$6 = _el$5.firstChild;
151
- spread(_el$5, mergeProps(propsFn, {
152
- "type": "button",
151
+ var _el$5 = _tmpl$5();
152
+ var _el$6 = _el$5.firstChild;
153
+ spread(_el$5, [propsFn, {
154
+ type: "button",
153
155
  "data-scope": "tree-select",
154
156
  "data-part": "control",
155
- get ["data-size"]() {
157
+ get "data-size"() {
156
158
  return own.size ?? "md";
157
159
  },
158
- get ["data-open"]() {
160
+ get "data-open"() {
159
161
  return open() ? "" : void 0;
160
162
  },
161
- get ["data-placeholder"]() {
163
+ get "data-placeholder"() {
162
164
  return label() == null ? "" : void 0;
163
165
  },
164
166
  get disabled() {
165
167
  return own.disabled;
166
168
  }
167
- }), false, true);
168
- insert(_el$5, () => label() ?? own.placeholder ?? "Select…", _el$6);
169
+ }], true);
170
+ insert(_el$5, () => {
171
+ return label() ?? own.placeholder ?? "Select…";
172
+ }, _el$6);
169
173
  insert(_el$6, chevron);
170
174
  return _el$5;
171
175
  })() }), createComponent(Portal, { get children() {
@@ -173,7 +177,7 @@ function TreeSelect(props) {
173
177
  return createComponent(Popover.Content, {
174
178
  "data-scope": "tree-select",
175
179
  "data-part": "content",
176
- get ["data-size"]() {
180
+ get "data-size"() {
177
181
  return own.size ?? "md";
178
182
  },
179
183
  get children() {
@@ -210,9 +214,13 @@ function TreeSelect(props) {
210
214
  },
211
215
  selectionMode: "single",
212
216
  get selectedValue() {
213
- return memo(() => !!own.value)() ? [own.value] : [];
217
+ return memo(() => {
218
+ return !!own.value;
219
+ })() ? [own.value] : [];
214
220
  }
215
- }, () => filtering() ? { expandedValue: expandedWhileFiltering() } : { defaultExpandedValue: firstLevel() }, {
221
+ }, () => {
222
+ return filtering() ? { expandedValue: expandedWhileFiltering() } : { defaultExpandedValue: firstLevel() };
223
+ }, {
216
224
  onSelectionChange: pick,
217
225
  get children() {
218
226
  return createComponent(TreeView.Tree, { get children() {
@@ -1,12 +1,12 @@
1
1
  import { injectComponentStyle } from "@bysages/core";
2
- import { createComponent, mergeProps } from "solid-js/web";
2
+ import { createComponent, mergeProps } from "@solidjs/web";
3
3
  import { splitProps } from "solid-js";
4
4
  import { TreeView as TreeView$1 } from "@ark-ui/solid/tree-view";
5
5
  //#region src/components/tree-view/index.tsx
6
6
  const ArkRoot = TreeView$1.Root;
7
7
  function TreeViewRoot(props) {
8
8
  const [own, rest] = splitProps(props, ["size"]);
9
- return createComponent(ArkRoot, mergeProps(rest, { get ["data-size"]() {
9
+ return createComponent(ArkRoot, mergeProps(rest, { get "data-size"() {
10
10
  return own.size ?? "md";
11
11
  } }));
12
12
  }