@bysages/solid 0.2.3 → 0.3.1

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 (154) hide show
  1. package/README.md +16 -2
  2. package/dist/{ai-response-B_586r27.mjs → ai-response-slzE03wh.mjs} +19 -17
  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 +21 -22
  7. package/dist/components/ai-action/index.mjs +2 -2
  8. package/dist/components/ai-attachments/index.mjs +52 -38
  9. package/dist/components/ai-message/index.mjs +11 -13
  10. package/dist/components/ai-prompt-input/index.mjs +81 -55
  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 +8 -3
  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 +26 -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 +12 -10
  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 +167 -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 +83 -59
  45. package/dist/components/comment/index.mjs +77 -62
  46. package/dist/components/config-provider/index.d.mts +4 -1
  47. package/dist/components/config-provider/index.mjs +13 -9
  48. package/dist/components/container/index.mjs +14 -16
  49. package/dist/components/data-view/index.d.mts +18 -0
  50. package/dist/components/data-view/index.mjs +116 -0
  51. package/dist/components/date-input/index.mjs +2 -2
  52. package/dist/components/date-picker/index.mjs +2 -2
  53. package/dist/components/deferred-content/index.d.mts +16 -0
  54. package/dist/components/deferred-content/index.mjs +52 -0
  55. package/dist/components/descriptions/index.d.mts +9 -1
  56. package/dist/components/descriptions/index.mjs +43 -16
  57. package/dist/components/dock/index.d.mts +22 -0
  58. package/dist/components/dock/index.mjs +64 -0
  59. package/dist/components/dynamic-input/index.mjs +75 -68
  60. package/dist/components/editable/index.mjs +2 -2
  61. package/dist/components/ellipsis/index.mjs +17 -19
  62. package/dist/components/empty/index.mjs +2 -2
  63. package/dist/components/file-upload/index.d.mts +7 -1
  64. package/dist/components/file-upload/index.mjs +13 -3
  65. package/dist/components/float-button/index.mjs +42 -39
  66. package/dist/components/form/index.d.mts +1 -1
  67. package/dist/components/form/index.mjs +52 -37
  68. package/dist/components/grid/index.mjs +19 -21
  69. package/dist/components/icon/index.d.mts +9 -4
  70. package/dist/components/icon/index.mjs +37 -36
  71. package/dist/components/image/index.d.mts +4 -0
  72. package/dist/components/image/index.mjs +50 -43
  73. package/dist/components/image-viewer/index.d.mts +4 -0
  74. package/dist/components/image-viewer/index.mjs +54 -37
  75. package/dist/components/input/index.d.mts +3 -0
  76. package/dist/components/input/index.mjs +1 -41
  77. package/dist/components/input-group/index.mjs +14 -18
  78. package/dist/components/json-tree-view/index.d.mts +5 -2
  79. package/dist/components/json-tree-view/index.mjs +25 -2
  80. package/dist/components/kbd/index.mjs +8 -10
  81. package/dist/components/layout/index.mjs +81 -77
  82. package/dist/components/link/index.mjs +12 -13
  83. package/dist/components/list/index.d.mts +2 -1
  84. package/dist/components/list/index.mjs +62 -48
  85. package/dist/components/listbox/index.mjs +2 -2
  86. package/dist/components/masonry/index.mjs +15 -17
  87. package/dist/components/mentions/index.mjs +1 -1
  88. package/dist/components/menu/index.mjs +2 -2
  89. package/dist/components/menubar/index.mjs +59 -57
  90. package/dist/components/meter/index.mjs +41 -41
  91. package/dist/components/number-input/index.mjs +2 -2
  92. package/dist/components/order-list/index.d.mts +21 -0
  93. package/dist/components/order-list/index.mjs +168 -0
  94. package/dist/components/page-header/index.mjs +2 -2
  95. package/dist/components/pagination/index.mjs +2 -2
  96. package/dist/components/password-input/index.mjs +2 -2
  97. package/dist/components/pin-input/index.mjs +2 -2
  98. package/dist/components/popconfirm/index.mjs +19 -12
  99. package/dist/components/progress/index.mjs +2 -2
  100. package/dist/components/progress-group/index.mjs +65 -58
  101. package/dist/components/radio-group/index.mjs +2 -2
  102. package/dist/components/rating-group/index.mjs +2 -2
  103. package/dist/components/result/index.d.mts +22 -0
  104. package/dist/components/result/index.mjs +66 -0
  105. package/dist/components/select/index.d.mts +2 -17
  106. package/dist/components/select/index.mjs +2 -18
  107. package/dist/components/separator/index.mjs +17 -19
  108. package/dist/components/skeleton/index.mjs +8 -10
  109. package/dist/components/slider/index.mjs +2 -2
  110. package/dist/components/spinner/index.mjs +17 -17
  111. package/dist/components/split-button/index.mjs +88 -83
  112. package/dist/components/spotlight/index.d.mts +11 -0
  113. package/dist/components/spotlight/index.mjs +38 -0
  114. package/dist/components/stack/index.mjs +20 -22
  115. package/dist/components/stat/index.mjs +12 -14
  116. package/dist/components/steps/index.d.mts +6 -1
  117. package/dist/components/steps/index.mjs +9 -3
  118. package/dist/components/switch/index.mjs +2 -2
  119. package/dist/components/table/index.mjs +323 -214
  120. package/dist/components/tabs/index.d.mts +2 -0
  121. package/dist/components/tabs/index.mjs +10 -5
  122. package/dist/components/tags-input/index.mjs +2 -2
  123. package/dist/components/terminal/index.d.mts +17 -0
  124. package/dist/components/terminal/index.mjs +86 -0
  125. package/dist/components/textarea/index.mjs +8 -8
  126. package/dist/components/timeline/index.d.mts +9 -3
  127. package/dist/components/timeline/index.mjs +18 -3
  128. package/dist/components/toc/index.d.mts +2 -7
  129. package/dist/components/toc/index.mjs +1 -9
  130. package/dist/components/toggle-group/index.mjs +2 -2
  131. package/dist/components/toolbar/index.d.mts +17 -0
  132. package/dist/components/toolbar/index.mjs +46 -0
  133. package/dist/components/transfer/index.mjs +126 -107
  134. package/dist/components/tree-select/index.mjs +36 -25
  135. package/dist/components/tree-view/index.d.mts +8 -1
  136. package/dist/components/tree-view/index.mjs +29 -3
  137. package/dist/components/typography/index.mjs +2 -2
  138. package/dist/components/user/index.d.mts +19 -0
  139. package/dist/components/user/index.mjs +68 -0
  140. package/dist/components/virtual-list/index.d.mts +17 -0
  141. package/dist/components/virtual-list/index.mjs +72 -0
  142. package/dist/components/watermark/index.mjs +19 -13
  143. package/dist/index-DdsnfV4f.d.mts +16 -0
  144. package/dist/{index-B4XS2n2y.d.mts → index-IfofF-SW.d.mts} +718 -3773
  145. package/dist/index-YPUiqD3n.d.mts +42 -0
  146. package/dist/index.d.mts +17 -4
  147. package/dist/index.mjs +22 -9
  148. package/dist/input-DoFQ7RXh.mjs +78 -0
  149. package/dist/{mentions-xbI6vJAP.mjs → mentions-f5Js_2W7.mjs} +76 -70
  150. package/dist/select-CX6OuQlU.mjs +123 -0
  151. package/dist/toc-CZmYEaQR.mjs +21 -0
  152. package/dist/use-component-messages-C4SCVYjD.mjs +17 -0
  153. package/package.json +28 -7
  154. package/dist/chevron-GWEoEYdO.mjs +0 -9
@@ -0,0 +1,123 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { createComponent, effect, insert, mergeProps, ref, setAttribute, spread, template } from "@solidjs/web";
3
+ import { For, Show, createEffect, createSignal, onMount, splitProps } from "solid-js";
4
+ import { useFieldContext } from "@ark-ui/solid/field";
5
+ import { Select } from "@ark-ui/solid/select";
6
+ //#region src/components/select/native.tsx
7
+ var _tmpl$ = /* @__PURE__ */ template(`<option value disabled>`);
8
+ var _tmpl$2 = /* @__PURE__ */ template(`<span><select><!><!></select><svg data-scope=select data-part=native-icon viewBox="0 0 16 16"aria-hidden=true><path d="M4 6l4 4 4-4"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round>`);
9
+ var _tmpl$3 = /* @__PURE__ */ template(`<option>`);
10
+ function NativeSelect(props) {
11
+ injectComponentStyle("select");
12
+ const field = useFieldContext();
13
+ const [own, rest] = splitProps(props, [
14
+ "value",
15
+ "options",
16
+ "size",
17
+ "invalid",
18
+ "placeholder",
19
+ "disabled",
20
+ "onValueChange",
21
+ "aria-label",
22
+ "aria-labelledby"
23
+ ]);
24
+ const [select, setSelect] = createSignal(null);
25
+ onMount(() => {
26
+ createEffect(() => {
27
+ const el = select();
28
+ if (el) el.value = own.value ?? "";
29
+ });
30
+ });
31
+ const fieldProps = field?.().getInputProps() ?? {};
32
+ const empty = () => own.value == null || own.value === "";
33
+ const off = () => own.disabled || field?.().disabled;
34
+ var _el$ = _tmpl$2();
35
+ var _el$2 = _el$.firstChild;
36
+ var _el$4 = _el$2.firstChild;
37
+ var _el$5 = _el$4.nextSibling;
38
+ spread(_el$, [rest, {
39
+ "data-scope": "select",
40
+ "data-part": "native-root",
41
+ get "data-size"() {
42
+ return own.size ?? "md";
43
+ },
44
+ get "data-invalid"() {
45
+ return own.invalid || field?.().invalid ? "" : void 0;
46
+ },
47
+ get "data-disabled"() {
48
+ return off() ? "" : void 0;
49
+ },
50
+ get "data-placeholder-shown"() {
51
+ return empty() ? "" : void 0;
52
+ }
53
+ }], true);
54
+ ref(() => {
55
+ return setSelect;
56
+ }, _el$2);
57
+ spread(_el$2, [fieldProps, {
58
+ get "aria-label"() {
59
+ return own["aria-label"];
60
+ },
61
+ get "aria-labelledby"() {
62
+ return own["aria-labelledby"];
63
+ },
64
+ "data-scope": "select",
65
+ "data-part": "native",
66
+ get disabled() {
67
+ return off() || void 0;
68
+ },
69
+ onChange: (event) => own.onValueChange?.(event.currentTarget.value)
70
+ }], true);
71
+ insert(_el$2, createComponent(Show, {
72
+ get when() {
73
+ return own.placeholder;
74
+ },
75
+ get children() {
76
+ var _el$3 = _tmpl$();
77
+ insert(_el$3, () => {
78
+ return own.placeholder;
79
+ });
80
+ effect(() => empty() ? void 0 : true, (_v$) => {
81
+ setAttribute(_el$3, "hidden", _v$);
82
+ });
83
+ return _el$3;
84
+ }
85
+ }), _el$4);
86
+ insert(_el$2, createComponent(For, {
87
+ get each() {
88
+ return own.options;
89
+ },
90
+ children: (option) => (() => {
91
+ var _el$6 = _tmpl$3();
92
+ insert(_el$6, () => {
93
+ return option.label;
94
+ });
95
+ effect(() => {
96
+ return {
97
+ e: option.value,
98
+ t: option.disabled
99
+ };
100
+ }, ({ e, t }, _p$) => {
101
+ _el$6.value = e;
102
+ t !== _p$?.t && setAttribute(_el$6, "disabled", t);
103
+ });
104
+ return _el$6;
105
+ })()
106
+ }), _el$5);
107
+ return _el$;
108
+ }
109
+ //#endregion
110
+ //#region src/components/select/index.tsx
111
+ function SelectRoot(props) {
112
+ const [own, rest] = splitProps(props, ["size"]);
113
+ return createComponent(Select.Root, mergeProps(rest, { get "data-size"() {
114
+ return own.size ?? "md";
115
+ } }));
116
+ }
117
+ const Select$1 = {
118
+ ...Select,
119
+ Root: SelectRoot
120
+ };
121
+ injectComponentStyle("select");
122
+ //#endregion
123
+ export { NativeSelect as n, Select$1 as t };
@@ -0,0 +1,21 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { createComponent, mergeProps } from "@solidjs/web";
3
+ import { Toc } from "@ark-ui/solid/toc";
4
+ //#region src/components/toc/TocIndicator.tsx
5
+ /** The active stroke is decoration; hidden so the list reads as links
6
+ * alone. */
7
+ function TocIndicator(props) {
8
+ return createComponent(Toc.Indicator, mergeProps(props, { "aria-hidden": "true" }));
9
+ }
10
+ //#endregion
11
+ //#region src/components/toc/index.ts
12
+ /** Ark's Toc, dressed in the paper-and-ink system: a quiet rail of links
13
+ * beside the scroll, one stroke of primary ink marking where the reader
14
+ * stands. The API is Ark's own — Root, Title, List, Item, Link, Indicator. */
15
+ const Toc$1 = {
16
+ ...Toc,
17
+ Indicator: TocIndicator
18
+ };
19
+ injectComponentStyle("toc");
20
+ //#endregion
21
+ export { Toc$1 as t };
@@ -0,0 +1,17 @@
1
+ import { ConfigContextKey } from "./components/config-provider/index.mjs";
2
+ import { resolveComponentMessages } from "@bysages/core";
3
+ import { createMemo, useContext } from "solid-js";
4
+ //#region src/components/config-provider/use-component-messages.ts
5
+ /** Wrapper copy is resolved once per locale/messages change and stays
6
+ * reactive through the provider snapshot. */
7
+ function useComponentMessages() {
8
+ const config = useContext(ConfigContextKey);
9
+ return createMemo(() => resolveComponentMessages(config().locale ?? "en", config().messages));
10
+ }
11
+ /** Expand the leaf placeholders shared by core ({name}); unknown keys
12
+ * stay visible instead of silently collapsing. */
13
+ function formatComponentMessage(template, values) {
14
+ return template.replace(/\{(\w+)\}/g, (_, key) => key in values ? String(values[key]) : `{${key}}`);
15
+ }
16
+ //#endregion
17
+ export { useComponentMessages as n, formatComponentMessage as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bysages/solid",
3
- "version": "0.2.3",
3
+ "version": "0.3.1",
4
4
  "description": "By Sages Elements components for Solid — styled by the paper-and-ink design tokens",
5
5
  "keywords": [
6
6
  "accessible",
@@ -110,26 +110,47 @@
110
110
  ".": {
111
111
  "types": "./dist/index.d.mts",
112
112
  "import": "./dist/index.mjs"
113
+ },
114
+ "./generative": {
115
+ "types": "./dist/generative/index.d.mts",
116
+ "import": "./dist/generative/index.mjs"
113
117
  }
114
118
  },
115
119
  "dependencies": {
116
120
  "@ark-ui/solid": "5.39.2",
117
- "@tanstack/markdown": "0.0.15",
121
+ "@tanstack/markdown": "1.0.0",
118
122
  "@tanstack/solid-form": "1.33.5",
119
123
  "@tanstack/solid-table": "9.2.4",
120
124
  "@tanstack/solid-virtual": "3.13.40",
121
125
  "@zag-js/cascade-select": "1.44.0",
122
126
  "@zag-js/solid": "1.44.0",
123
- "@bysages/icons": "0.2.3",
124
- "@bysages/core": "0.2.3"
127
+ "@bysages/icons": "0.3.1",
128
+ "@bysages/core": "0.3.1"
125
129
  },
126
130
  "devDependencies": {
127
- "ai": "7.0.118",
131
+ "@json-render/core": "0.21.0",
132
+ "@json-render/solid": "0.21.0",
133
+ "ai": "7.0.126",
128
134
  "solid-js": "1.9.15",
129
- "unplugin-solid": "2.0.0"
135
+ "unplugin-solid": "3.0.0",
136
+ "zod": "4.6.5"
130
137
  },
131
138
  "peerDependencies": {
132
- "solid-js": "^1.9"
139
+ "@json-render/core": "^0.21.0",
140
+ "@json-render/solid": "^0.21.0",
141
+ "solid-js": "^1.9",
142
+ "zod": "^4.0"
143
+ },
144
+ "peerDependenciesMeta": {
145
+ "@json-render/core": {
146
+ "optional": true
147
+ },
148
+ "@json-render/solid": {
149
+ "optional": true
150
+ },
151
+ "zod": {
152
+ "optional": true
153
+ }
133
154
  },
134
155
  "scripts": {
135
156
  "dev": "basis build --stub",
@@ -1,9 +0,0 @@
1
- import { template } from "solid-js/web";
2
- //#region src/components/ai/chevron.tsx
3
- var _tmpl$ = /*#__PURE__*/ template(`<svg viewBox="0 0 16 16"fill=none aria-hidden=true><path d="M6 4l4 4-4 4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round>`);
4
- /** The folding chevron the shared indicator turns. */
5
- function chevron() {
6
- return _tmpl$();
7
- }
8
- //#endregion
9
- export { chevron as t };