@bysages/solid 0.3.1 → 0.4.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.
- package/dist/{ai-response-slzE03wh.mjs → ai-response-D2uINBIi.mjs} +13 -5
- package/dist/chevron-BHQrYKPM.mjs +8 -0
- package/dist/components/accordion/index.d.mts +22 -2
- package/dist/components/accordion/index.mjs +68 -2
- package/dist/components/affix/index.d.mts +3 -1
- package/dist/components/affix/index.mjs +5 -4
- package/dist/components/ai/index.d.mts +1 -1
- package/dist/components/ai/index.mjs +6 -5
- package/dist/components/ai-action/index.d.mts +3 -1
- package/dist/components/ai-action/index.mjs +3 -2
- package/dist/components/ai-attachments/index.d.mts +8 -4
- package/dist/components/ai-attachments/index.mjs +38 -36
- package/dist/components/ai-message/index.d.mts +3 -1
- package/dist/components/ai-message/index.mjs +3 -2
- package/dist/components/ai-prompt-input/index.d.mts +3 -1
- package/dist/components/ai-prompt-input/index.mjs +47 -43
- package/dist/components/ai-reasoning/index.d.mts +3 -1
- package/dist/components/ai-reasoning/index.mjs +4 -3
- package/dist/components/ai-response/index.d.mts +3 -1
- package/dist/components/ai-response/index.mjs +1 -1
- package/dist/components/ai-source/index.d.mts +6 -2
- package/dist/components/ai-source/index.mjs +5 -4
- package/dist/components/ai-suggestion/index.d.mts +3 -1
- package/dist/components/ai-suggestion/index.mjs +3 -2
- package/dist/components/ai-tool/index.d.mts +3 -1
- package/dist/components/ai-tool/index.mjs +4 -3
- package/dist/components/alert/index.mjs +31 -34
- package/dist/components/angle-slider/index.d.mts +1 -1
- package/dist/components/angle-slider/index.mjs +13 -5
- package/dist/components/aspect-ratio/index.d.mts +3 -1
- package/dist/components/aspect-ratio/index.mjs +3 -2
- package/dist/components/autocomplete/index.d.mts +4 -1
- package/dist/components/autocomplete/index.mjs +10 -1
- package/dist/components/avatar/index.d.mts +1 -1
- package/dist/components/avatar/index.mjs +10 -1
- package/dist/components/avatar-group/index.d.mts +3 -1
- package/dist/components/avatar-group/index.mjs +3 -2
- package/dist/components/back-top/index.d.mts +3 -1
- package/dist/components/back-top/index.mjs +9 -5
- package/dist/components/badge/index.d.mts +3 -1
- package/dist/components/badge/index.mjs +3 -2
- package/dist/components/banner/index.mjs +6 -2
- package/dist/components/block-ui/index.d.mts +3 -1
- package/dist/components/block-ui/index.mjs +3 -2
- package/dist/components/button/index.d.mts +3 -1
- package/dist/components/button/index.mjs +3 -2
- package/dist/components/calendar/index.d.mts +3 -1
- package/dist/components/calendar/index.mjs +29 -21
- package/dist/components/carousel/index.d.mts +5 -1
- package/dist/components/carousel/index.mjs +13 -1
- package/dist/components/cascade-select/index.d.mts +3 -1
- package/dist/components/cascade-select/index.mjs +73 -72
- package/dist/components/checkbox/index.d.mts +1 -1
- package/dist/components/checkbox/index.mjs +13 -5
- package/dist/components/checkbox-group/index.d.mts +4 -9
- package/dist/components/checkbox-group/index.mjs +65 -68
- package/dist/components/chip/index.d.mts +3 -1
- package/dist/components/chip/index.mjs +3 -2
- package/dist/components/client-only/index.d.mts +7 -2
- package/dist/components/client-only/index.mjs +8 -1
- package/dist/components/clipboard/index.d.mts +1 -1
- package/dist/components/clipboard/index.mjs +13 -5
- package/dist/components/collapsible/index.d.mts +15 -1
- package/dist/components/collapsible/index.mjs +39 -2
- package/dist/components/color-picker/index.d.mts +13 -2
- package/dist/components/color-picker/index.mjs +95 -8
- package/dist/components/combobox/index.d.mts +24 -1
- package/dist/components/combobox/index.mjs +129 -8
- package/dist/components/command/index.d.mts +4 -1
- package/dist/components/command/index.mjs +13 -1
- package/dist/components/comment/index.d.mts +3 -1
- package/dist/components/comment/index.mjs +3 -2
- package/dist/components/config-provider/index.d.mts +3 -1
- package/dist/components/config-provider/index.mjs +3 -2
- package/dist/components/container/index.d.mts +3 -1
- package/dist/components/container/index.mjs +3 -2
- package/dist/components/data-view/index.d.mts +3 -1
- package/dist/components/data-view/index.mjs +5 -6
- package/dist/components/date-input/index.d.mts +1 -1
- package/dist/components/date-input/index.mjs +13 -5
- package/dist/components/date-picker/index.d.mts +1 -1
- package/dist/components/date-picker/index.mjs +13 -5
- package/dist/components/deferred-content/index.d.mts +3 -1
- package/dist/components/deferred-content/index.mjs +3 -2
- package/dist/components/descriptions/index.d.mts +7 -0
- package/dist/components/descriptions/index.mjs +21 -2
- package/dist/components/dialog/index.d.mts +17 -1
- package/dist/components/dialog/index.mjs +84 -2
- package/dist/components/download-trigger/index.d.mts +7 -2
- package/dist/components/download-trigger/index.mjs +8 -1
- package/dist/components/drawer/index.d.mts +17 -1
- package/dist/components/drawer/index.mjs +83 -2
- package/dist/components/dynamic-input/index.d.mts +3 -1
- package/dist/components/dynamic-input/index.mjs +10 -6
- package/dist/components/editable/index.d.mts +1 -1
- package/dist/components/editable/index.mjs +13 -5
- package/dist/components/ellipsis/index.d.mts +3 -1
- package/dist/components/ellipsis/index.mjs +3 -2
- package/dist/components/field/index.d.mts +5 -1
- package/dist/components/field/index.mjs +13 -1
- package/dist/components/fieldset/index.d.mts +5 -1
- package/dist/components/fieldset/index.mjs +13 -1
- package/dist/components/file-upload/index.d.mts +1 -7
- package/dist/components/file-upload/index.mjs +13 -5
- package/dist/components/floating-panel/index.d.mts +5 -1
- package/dist/components/floating-panel/index.mjs +13 -1
- package/dist/components/focus-trap/index.d.mts +7 -2
- package/dist/components/focus-trap/index.mjs +8 -1
- package/dist/components/form/index.d.mts +1 -1
- package/dist/components/form/index.mjs +10 -4
- package/dist/components/frame/index.d.mts +6 -1
- package/dist/components/frame/index.mjs +10 -1
- package/dist/components/grid/index.d.mts +3 -1
- package/dist/components/grid/index.mjs +3 -2
- package/dist/components/highlight/index.d.mts +3 -1
- package/dist/components/highlight/index.mjs +2 -1
- package/dist/components/hover-card/index.d.mts +19 -1
- package/dist/components/hover-card/index.mjs +91 -2
- package/dist/components/icon/index.d.mts +8 -7
- package/dist/components/icon/index.mjs +4 -3
- package/dist/components/image/index.d.mts +4 -2
- package/dist/components/image/index.mjs +34 -33
- package/dist/components/image-cropper/index.d.mts +5 -1
- package/dist/components/image-cropper/index.mjs +13 -1
- package/dist/components/image-viewer/index.d.mts +2 -23
- package/dist/components/image-viewer/index.mjs +3 -159
- package/dist/components/input/index.d.mts +3 -1
- package/dist/components/input/index.mjs +1 -1
- package/dist/components/json-tree-view/index.d.mts +5 -4
- package/dist/components/json-tree-view/index.mjs +15 -18
- package/dist/components/kbd/index.d.mts +3 -1
- package/dist/components/kbd/index.mjs +3 -2
- package/dist/components/link/index.d.mts +3 -1
- package/dist/components/link/index.mjs +3 -2
- package/dist/components/listbox/index.d.mts +1 -1
- package/dist/components/listbox/index.mjs +13 -5
- package/dist/components/marquee/index.d.mts +5 -1
- package/dist/components/marquee/index.mjs +13 -1
- package/dist/components/masonry/index.d.mts +3 -1
- package/dist/components/masonry/index.mjs +3 -2
- package/dist/components/media-player/index.d.mts +2 -0
- package/dist/components/media-player/index.mjs +2 -0
- package/dist/components/mentions/index.d.mts +1 -1
- package/dist/components/mentions/index.mjs +2 -2
- package/dist/components/menu/index.d.mts +21 -1
- package/dist/components/menu/index.mjs +62 -5
- package/dist/components/menubar/index.d.mts +3 -1
- package/dist/components/menubar/index.mjs +30 -9
- package/dist/components/navigation-menu/index.d.mts +5 -1
- package/dist/components/navigation-menu/index.mjs +13 -1
- package/dist/components/number-input/index.d.mts +1 -1
- package/dist/components/number-input/index.mjs +13 -5
- package/dist/components/order-list/index.d.mts +3 -1
- package/dist/components/order-list/index.mjs +67 -63
- package/dist/components/pagination/index.d.mts +1 -1
- package/dist/components/pagination/index.mjs +13 -5
- package/dist/components/password-input/index.d.mts +1 -1
- package/dist/components/password-input/index.mjs +13 -5
- package/dist/components/pin-input/index.d.mts +1 -1
- package/dist/components/pin-input/index.mjs +13 -5
- package/dist/components/popconfirm/index.d.mts +3 -1
- package/dist/components/popconfirm/index.mjs +16 -8
- package/dist/components/popover/index.d.mts +19 -1
- package/dist/components/popover/index.mjs +91 -2
- package/dist/components/presence/index.d.mts +10 -2
- package/dist/components/presence/index.mjs +9 -1
- package/dist/components/progress/index.d.mts +1 -1
- package/dist/components/progress/index.mjs +13 -5
- package/dist/components/progress-group/index.d.mts +3 -1
- package/dist/components/progress-group/index.mjs +4 -3
- package/dist/components/qr-code/index.d.mts +5 -1
- package/dist/components/qr-code/index.mjs +13 -1
- package/dist/components/radio-group/index.d.mts +1 -1
- package/dist/components/radio-group/index.mjs +13 -5
- package/dist/components/rating-group/index.d.mts +2 -2
- package/dist/components/rating-group/index.mjs +13 -5
- package/dist/components/result/index.d.mts +1 -1
- package/dist/components/result/index.mjs +5 -3
- package/dist/components/scroll-area/index.d.mts +5 -1
- package/dist/components/scroll-area/index.mjs +13 -1
- package/dist/components/segment-group/index.d.mts +1 -1
- package/dist/components/segment-group/index.mjs +11 -6
- package/dist/components/select/index.d.mts +2 -2
- package/dist/components/select/index.mjs +1 -1
- package/dist/components/separator/index.d.mts +3 -1
- package/dist/components/separator/index.mjs +3 -2
- package/dist/components/signature-pad/index.d.mts +5 -1
- package/dist/components/signature-pad/index.mjs +13 -1
- package/dist/components/skeleton/index.d.mts +3 -1
- package/dist/components/skeleton/index.mjs +3 -2
- package/dist/components/slider/index.d.mts +1 -1
- package/dist/components/slider/index.mjs +13 -5
- package/dist/components/spinner/index.d.mts +3 -1
- package/dist/components/spinner/index.mjs +3 -2
- package/dist/components/split-button/index.d.mts +3 -1
- package/dist/components/split-button/index.mjs +14 -3
- package/dist/components/splitter/index.d.mts +5 -1
- package/dist/components/splitter/index.mjs +13 -1
- package/dist/components/spotlight/index.d.mts +3 -1
- package/dist/components/spotlight/index.mjs +3 -2
- package/dist/components/stack/index.d.mts +3 -1
- package/dist/components/stack/index.mjs +6 -5
- package/dist/components/steps/index.d.mts +20 -3
- package/dist/components/steps/index.mjs +66 -7
- package/dist/components/swap/index.d.mts +5 -1
- package/dist/components/swap/index.mjs +13 -1
- package/dist/components/switch/index.d.mts +1 -1
- package/dist/components/switch/index.mjs +13 -5
- package/dist/components/table/index.d.mts +3 -1
- package/dist/components/table/index.mjs +169 -151
- package/dist/components/tabs/index.d.mts +20 -2
- package/dist/components/tabs/index.mjs +59 -3
- package/dist/components/tags-input/index.d.mts +1 -1
- package/dist/components/tags-input/index.mjs +13 -5
- package/dist/components/terminal/index.d.mts +3 -1
- package/dist/components/terminal/index.mjs +3 -2
- package/dist/components/textarea/index.d.mts +3 -1
- package/dist/components/textarea/index.mjs +3 -2
- package/dist/components/timer/index.d.mts +5 -1
- package/dist/components/timer/index.mjs +13 -1
- package/dist/components/toast/index.d.mts +8 -2
- package/dist/components/toast/index.mjs +14 -2
- package/dist/components/toc/index.d.mts +11 -2
- package/dist/components/toc/index.mjs +1 -1
- package/dist/components/toggle/index.d.mts +5 -1
- package/dist/components/toggle/index.mjs +13 -1
- package/dist/components/toggle-group/index.d.mts +1 -1
- package/dist/components/toggle-group/index.mjs +13 -5
- package/dist/components/toolbar/index.d.mts +3 -1
- package/dist/components/toolbar/index.mjs +3 -2
- package/dist/components/tooltip/index.d.mts +16 -1
- package/dist/components/tooltip/index.mjs +55 -2
- package/dist/components/tour/index.d.mts +16 -3
- package/dist/components/tour/index.mjs +74 -9
- package/dist/components/transfer/index.d.mts +3 -1
- package/dist/components/transfer/index.mjs +54 -50
- package/dist/components/tree-select/index.d.mts +3 -1
- package/dist/components/tree-select/index.mjs +37 -30
- package/dist/components/tree-view/index.d.mts +1 -8
- package/dist/components/tree-view/index.mjs +16 -21
- package/dist/components/user/index.d.mts +3 -1
- package/dist/components/user/index.mjs +8 -2
- package/dist/components/virtual-list/index.d.mts +3 -1
- package/dist/components/virtual-list/index.mjs +13 -9
- package/dist/components/watermark/index.d.mts +3 -1
- package/dist/components/watermark/index.mjs +4 -3
- package/dist/element-dGIhOTJ6.mjs +16 -0
- package/dist/family-Cmd8HEyK.mjs +11 -0
- package/dist/icon-DTqmJCd5.mjs +48 -0
- package/dist/id-2ygNzPHF.mjs +12 -0
- package/dist/image-viewer-B9A5lXsk.mjs +228 -0
- package/dist/{index-B1xiJ5ki.d.mts → index-B1-quIrl.d.mts} +6 -2
- package/dist/{index-DDX7x8aT.d.mts → index-DEArHiFI.d.mts} +16 -7
- package/dist/index-DhripUtf.d.mts +39 -0
- package/dist/{index-YPUiqD3n.d.mts → index-ID48LCMU.d.mts} +28 -2
- package/dist/{index-IfofF-SW.d.mts → index-nFXK_8hJ.d.mts} +53 -23
- package/dist/index-wW28BYf1.d.mts +124 -0
- package/dist/index.d.mts +23 -22
- package/dist/index.mjs +13 -12
- package/dist/{input-DoFQ7RXh.mjs → input-CPAJdwDb.mjs} +3 -2
- package/dist/media-player-BC8D_d29.mjs +796 -0
- package/dist/{mentions-f5Js_2W7.mjs → mentions-CeG5u8Qm.mjs} +67 -51
- package/dist/select-7YjMSBGx.mjs +292 -0
- package/dist/{toc-CZmYEaQR.mjs → toc-DYKaKQ_X.mjs} +12 -2
- package/package.json +3 -3
- package/dist/chevron-D5RzcayK.mjs +0 -9
- package/dist/index-DdsnfV4f.d.mts +0 -16
- package/dist/select-CX6OuQlU.mjs +0 -123
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as withSelfRoot, t as defineFamily } from "./family-Cmd8HEyK.mjs";
|
|
2
|
+
import { t as useElementId } from "./id-2ygNzPHF.mjs";
|
|
3
|
+
import { Popover as Popover$1 } from "./components/popover/index.mjs";
|
|
2
4
|
import { injectComponentStyle } from "@bysages/core";
|
|
3
|
-
import { createComponent, delegateEvents, effect, insert, setAttribute, spread, template } from "@solidjs/web";
|
|
4
|
-
import { For,
|
|
5
|
+
import { createComponent, delegateEvents, effect, insert, memo, mergeProps, setAttribute, spread, template } from "@solidjs/web";
|
|
6
|
+
import { For, createSignal, splitProps } from "solid-js";
|
|
7
|
+
import { Field } from "@ark-ui/solid/field";
|
|
5
8
|
import { Portal } from "solid-js/web";
|
|
6
9
|
import { Popover } from "@ark-ui/solid/popover";
|
|
7
10
|
//#region src/components/mentions/use-mentions.ts
|
|
@@ -89,30 +92,39 @@ function useMentions(options, textarea, handlers) {
|
|
|
89
92
|
//#endregion
|
|
90
93
|
//#region src/components/mentions/index.tsx
|
|
91
94
|
var _tmpl$ = /* @__PURE__ */ template(`<div>`);
|
|
92
|
-
var _tmpl$2 = /* @__PURE__ */ template(`<div data-scope=mentions data-part=option>`);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
|
|
98
|
-
* with the host through `useMentions`. */
|
|
99
|
-
function MentionsVessel(props) {
|
|
95
|
+
var _tmpl$2 = /* @__PURE__ */ template(`<div role=option tabindex=-1 data-scope=mentions data-part=option>`);
|
|
96
|
+
/** The vessel: the candidates themselves as a floating card. A host can
|
|
97
|
+
* render its field through the Anchor; the rectangle fallback keeps the
|
|
98
|
+
* textarea in the host's own anatomy. Shares the detection state with
|
|
99
|
+
* the host through `useMentions`. */
|
|
100
|
+
const MentionsVessel = withSelfRoot(function MentionsVessel(props) {
|
|
100
101
|
injectComponentStyle("mentions");
|
|
102
|
+
const id = useElementId("mentions-vessel");
|
|
101
103
|
return createComponent(Popover.Root, {
|
|
104
|
+
get id() {
|
|
105
|
+
return id();
|
|
106
|
+
},
|
|
102
107
|
get open() {
|
|
103
108
|
return props.open ?? false;
|
|
104
109
|
},
|
|
105
110
|
onOpenChange: (details) => props.onOpenChange?.(details.open),
|
|
106
|
-
positioning
|
|
107
|
-
placement: "bottom-start"
|
|
108
|
-
|
|
111
|
+
get positioning() {
|
|
112
|
+
return props.children ? { placement: "bottom-start" } : {
|
|
113
|
+
placement: "bottom-start",
|
|
114
|
+
getAnchorRect: () => props.anchor?.getBoundingClientRect() ?? null
|
|
115
|
+
};
|
|
109
116
|
},
|
|
110
117
|
get children() {
|
|
111
|
-
return
|
|
118
|
+
return [memo(() => {
|
|
119
|
+
return memo(() => {
|
|
120
|
+
return !!props.children;
|
|
121
|
+
})() ? createComponent(Popover.Anchor, { asChild: (anchorProps) => typeof props.children === "function" ? props.children(anchorProps()) : props.children }) : null;
|
|
122
|
+
}), createComponent(Portal, { get children() {
|
|
112
123
|
return createComponent(Popover.Positioner, { get children() {
|
|
113
124
|
return createComponent(Popover.Content, { asChild: (contentProps) => (() => {
|
|
114
125
|
var _el$ = _tmpl$();
|
|
115
126
|
spread(_el$, [contentProps, {
|
|
127
|
+
role: "listbox",
|
|
116
128
|
"data-scope": "mentions",
|
|
117
129
|
"data-part": "popup",
|
|
118
130
|
get "data-size"() {
|
|
@@ -125,14 +137,25 @@ function MentionsVessel(props) {
|
|
|
125
137
|
},
|
|
126
138
|
children: (entry, index) => (() => {
|
|
127
139
|
var _el$2 = _tmpl$2();
|
|
140
|
+
_el$2._$$keydown = (event) => {
|
|
141
|
+
if (event.key !== "Enter" && event.key !== " ") return;
|
|
142
|
+
event.preventDefault();
|
|
143
|
+
props.onInsert?.(entry);
|
|
144
|
+
};
|
|
128
145
|
_el$2._$$click = () => props.onInsert?.(entry);
|
|
129
146
|
_el$2._$$mousedown = (event) => event.preventDefault();
|
|
130
147
|
_el$2.addEventListener("mouseenter", () => props.onActiveChange?.(index()));
|
|
131
148
|
insert(_el$2, () => {
|
|
132
149
|
return entry.label;
|
|
133
150
|
});
|
|
134
|
-
effect(() =>
|
|
135
|
-
|
|
151
|
+
effect(() => {
|
|
152
|
+
return {
|
|
153
|
+
e: index() === (props.active ?? 0),
|
|
154
|
+
t: index() === (props.active ?? 0) ? "" : void 0
|
|
155
|
+
};
|
|
156
|
+
}, ({ e, t }, _p$) => {
|
|
157
|
+
e !== _p$?.e && setAttribute(_el$2, "aria-selected", e);
|
|
158
|
+
t !== _p$?.t && setAttribute(_el$2, "data-active", t);
|
|
136
159
|
});
|
|
137
160
|
return _el$2;
|
|
138
161
|
})()
|
|
@@ -140,10 +163,10 @@ function MentionsVessel(props) {
|
|
|
140
163
|
return _el$;
|
|
141
164
|
})() });
|
|
142
165
|
} });
|
|
143
|
-
} });
|
|
166
|
+
} })];
|
|
144
167
|
}
|
|
145
168
|
});
|
|
146
|
-
}
|
|
169
|
+
});
|
|
147
170
|
/**
|
|
148
171
|
* @-mentions: a plain textarea that, when the text before the caret ends
|
|
149
172
|
* with the trigger character followed by a token, offers the matching
|
|
@@ -159,7 +182,7 @@ function MentionsVessel(props) {
|
|
|
159
182
|
* own field anatomy (the AI prompt input) skip this shell and wire
|
|
160
183
|
* `useMentions` plus `MentionsVessel` themselves.
|
|
161
184
|
*/
|
|
162
|
-
function
|
|
185
|
+
function MentionsImpl(props) {
|
|
163
186
|
const [own, rest] = splitProps(props, [
|
|
164
187
|
"items",
|
|
165
188
|
"value",
|
|
@@ -183,13 +206,6 @@ function Mentions(props) {
|
|
|
183
206
|
own.onValueChange?.(next);
|
|
184
207
|
}
|
|
185
208
|
});
|
|
186
|
-
createEffect(() => {
|
|
187
|
-
value();
|
|
188
|
-
const node = fieldEl();
|
|
189
|
-
if (!node || !(own.autoresize ?? false)) return;
|
|
190
|
-
node.style.height = "auto";
|
|
191
|
-
node.style.height = `${node.scrollHeight}px`;
|
|
192
|
-
});
|
|
193
209
|
const onInput = () => {
|
|
194
210
|
const node = fieldEl();
|
|
195
211
|
if (!node) return;
|
|
@@ -197,20 +213,13 @@ function Mentions(props) {
|
|
|
197
213
|
own.onValueChange?.(node.value);
|
|
198
214
|
mentions.onInput();
|
|
199
215
|
};
|
|
200
|
-
|
|
201
|
-
var _el$4 = _el$3.firstChild;
|
|
202
|
-
var _el$5 = _el$4.nextSibling;
|
|
203
|
-
spread(_el$3, [rest, {
|
|
204
|
-
"data-scope": "mentions",
|
|
205
|
-
"data-part": "root",
|
|
206
|
-
get "data-size"() {
|
|
207
|
-
return own.size ?? "md";
|
|
208
|
-
}
|
|
209
|
-
}], true);
|
|
210
|
-
insert(_el$3, createComponent(Textarea, {
|
|
216
|
+
const field = (anchorProps) => createComponent(Field.Textarea, mergeProps(anchorProps, {
|
|
211
217
|
ref: (node) => setFieldEl(node),
|
|
212
|
-
get
|
|
213
|
-
return own.
|
|
218
|
+
get autoresize() {
|
|
219
|
+
return own.autoresize ?? false;
|
|
220
|
+
},
|
|
221
|
+
get "aria-invalid"() {
|
|
222
|
+
return own.invalid ? "true" : void 0;
|
|
214
223
|
},
|
|
215
224
|
rows: 3,
|
|
216
225
|
get placeholder() {
|
|
@@ -219,17 +228,21 @@ function Mentions(props) {
|
|
|
219
228
|
get value() {
|
|
220
229
|
return value();
|
|
221
230
|
},
|
|
222
|
-
onValueChange: (next) => {
|
|
223
|
-
setInternal(next);
|
|
224
|
-
own.onValueChange?.(next);
|
|
225
|
-
},
|
|
226
231
|
onInput,
|
|
227
232
|
onKeyDown: (event) => {
|
|
228
233
|
mentions.onKeydown(event);
|
|
229
234
|
},
|
|
230
235
|
"data-scope": "mentions",
|
|
231
236
|
"data-part": "textarea"
|
|
232
|
-
})
|
|
237
|
+
}));
|
|
238
|
+
var _el$3 = _tmpl$();
|
|
239
|
+
spread(_el$3, [rest, {
|
|
240
|
+
"data-scope": "mentions",
|
|
241
|
+
"data-part": "root",
|
|
242
|
+
get "data-size"() {
|
|
243
|
+
return own.size ?? "md";
|
|
244
|
+
}
|
|
245
|
+
}], true);
|
|
233
246
|
insert(_el$3, createComponent(MentionsVessel, {
|
|
234
247
|
get open() {
|
|
235
248
|
return mentions.open();
|
|
@@ -243,9 +256,6 @@ function Mentions(props) {
|
|
|
243
256
|
get size() {
|
|
244
257
|
return own.size ?? "md";
|
|
245
258
|
},
|
|
246
|
-
get anchor() {
|
|
247
|
-
return fieldEl();
|
|
248
|
-
},
|
|
249
259
|
get onInsert() {
|
|
250
260
|
return mentions.insert;
|
|
251
261
|
},
|
|
@@ -254,10 +264,16 @@ function Mentions(props) {
|
|
|
254
264
|
},
|
|
255
265
|
onOpenChange: (open) => {
|
|
256
266
|
if (!open) mentions.close();
|
|
257
|
-
}
|
|
258
|
-
|
|
267
|
+
},
|
|
268
|
+
children: field
|
|
269
|
+
}));
|
|
259
270
|
return _el$3;
|
|
260
271
|
}
|
|
261
|
-
|
|
272
|
+
const Mentions = defineFamily(MentionsImpl, Popover$1);
|
|
273
|
+
delegateEvents([
|
|
274
|
+
"mousedown",
|
|
275
|
+
"click",
|
|
276
|
+
"keydown"
|
|
277
|
+
]);
|
|
262
278
|
//#endregion
|
|
263
279
|
export { MentionsVessel as n, useMentions as r, Mentions as t };
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { t as defineFamily } from "./family-Cmd8HEyK.mjs";
|
|
2
|
+
import { r as iconNode } from "./icon-DTqmJCd5.mjs";
|
|
3
|
+
import { t as useElementId } from "./id-2ygNzPHF.mjs";
|
|
4
|
+
import { injectComponentStyle } from "@bysages/core";
|
|
5
|
+
import { createComponent, effect, insert, memo, mergeProps, ref, setAttribute, spread, template } from "@solidjs/web";
|
|
6
|
+
import { For, Show, createEffect, createSignal, onMount, splitProps } from "solid-js";
|
|
7
|
+
import { useFieldContext } from "@ark-ui/solid/field";
|
|
8
|
+
import { Select, createListCollection } from "@ark-ui/solid/select";
|
|
9
|
+
//#region src/components/select/native.tsx
|
|
10
|
+
var _tmpl$ = /* @__PURE__ */ template(`<option value disabled>`);
|
|
11
|
+
var _tmpl$2 = /* @__PURE__ */ template(`<span><select><!><!>`);
|
|
12
|
+
var _tmpl$3 = /* @__PURE__ */ template(`<option>`);
|
|
13
|
+
function NativeSelect(props) {
|
|
14
|
+
injectComponentStyle("select");
|
|
15
|
+
const field = useFieldContext();
|
|
16
|
+
const [own, rest] = splitProps(props, [
|
|
17
|
+
"value",
|
|
18
|
+
"options",
|
|
19
|
+
"size",
|
|
20
|
+
"invalid",
|
|
21
|
+
"placeholder",
|
|
22
|
+
"disabled",
|
|
23
|
+
"onValueChange",
|
|
24
|
+
"aria-label",
|
|
25
|
+
"aria-labelledby"
|
|
26
|
+
]);
|
|
27
|
+
const [select, setSelect] = createSignal(null);
|
|
28
|
+
onMount(() => {
|
|
29
|
+
createEffect(() => {
|
|
30
|
+
const el = select();
|
|
31
|
+
if (el) el.value = own.value ?? "";
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
const fieldProps = field?.().getInputProps() ?? {};
|
|
35
|
+
const empty = () => own.value == null || own.value === "";
|
|
36
|
+
const off = () => own.disabled || field?.().disabled;
|
|
37
|
+
var _el$ = _tmpl$2();
|
|
38
|
+
var _el$2 = _el$.firstChild;
|
|
39
|
+
var _el$4 = _el$2.firstChild;
|
|
40
|
+
var _el$5 = _el$4.nextSibling;
|
|
41
|
+
spread(_el$, [rest, {
|
|
42
|
+
"data-scope": "select",
|
|
43
|
+
"data-part": "native-root",
|
|
44
|
+
get "data-size"() {
|
|
45
|
+
return own.size ?? "md";
|
|
46
|
+
},
|
|
47
|
+
get "data-invalid"() {
|
|
48
|
+
return own.invalid || field?.().invalid ? "" : void 0;
|
|
49
|
+
},
|
|
50
|
+
get "data-disabled"() {
|
|
51
|
+
return off() ? "" : void 0;
|
|
52
|
+
},
|
|
53
|
+
get "data-placeholder-shown"() {
|
|
54
|
+
return empty() ? "" : void 0;
|
|
55
|
+
}
|
|
56
|
+
}], true);
|
|
57
|
+
ref(() => {
|
|
58
|
+
return setSelect;
|
|
59
|
+
}, _el$2);
|
|
60
|
+
spread(_el$2, [fieldProps, {
|
|
61
|
+
get "aria-label"() {
|
|
62
|
+
return own["aria-label"];
|
|
63
|
+
},
|
|
64
|
+
get "aria-labelledby"() {
|
|
65
|
+
return own["aria-labelledby"];
|
|
66
|
+
},
|
|
67
|
+
"data-scope": "select",
|
|
68
|
+
"data-part": "native",
|
|
69
|
+
get disabled() {
|
|
70
|
+
return off() || void 0;
|
|
71
|
+
},
|
|
72
|
+
onChange: (event) => own.onValueChange?.(event.currentTarget.value)
|
|
73
|
+
}], true);
|
|
74
|
+
insert(_el$2, createComponent(Show, {
|
|
75
|
+
get when() {
|
|
76
|
+
return own.placeholder;
|
|
77
|
+
},
|
|
78
|
+
get children() {
|
|
79
|
+
var _el$3 = _tmpl$();
|
|
80
|
+
insert(_el$3, () => {
|
|
81
|
+
return own.placeholder;
|
|
82
|
+
});
|
|
83
|
+
effect(() => empty() ? void 0 : true, (_v$) => {
|
|
84
|
+
setAttribute(_el$3, "hidden", _v$);
|
|
85
|
+
});
|
|
86
|
+
return _el$3;
|
|
87
|
+
}
|
|
88
|
+
}), _el$4);
|
|
89
|
+
insert(_el$2, createComponent(For, {
|
|
90
|
+
get each() {
|
|
91
|
+
return own.options;
|
|
92
|
+
},
|
|
93
|
+
children: (option) => (() => {
|
|
94
|
+
var _el$6 = _tmpl$3();
|
|
95
|
+
insert(_el$6, () => {
|
|
96
|
+
return option.label;
|
|
97
|
+
});
|
|
98
|
+
effect(() => {
|
|
99
|
+
return {
|
|
100
|
+
e: option.value,
|
|
101
|
+
t: option.disabled
|
|
102
|
+
};
|
|
103
|
+
}, ({ e, t }, _p$) => {
|
|
104
|
+
_el$6.value = e;
|
|
105
|
+
t !== _p$?.t && setAttribute(_el$6, "disabled", t);
|
|
106
|
+
});
|
|
107
|
+
return _el$6;
|
|
108
|
+
})()
|
|
109
|
+
}), _el$5);
|
|
110
|
+
insert(_el$, () => {
|
|
111
|
+
return iconNode("chevron-down", {
|
|
112
|
+
"data-scope": "select",
|
|
113
|
+
"data-part": "native-icon"
|
|
114
|
+
});
|
|
115
|
+
}, null);
|
|
116
|
+
return _el$;
|
|
117
|
+
}
|
|
118
|
+
//#endregion
|
|
119
|
+
//#region src/components/select/index.tsx
|
|
120
|
+
function SelectRoot(props) {
|
|
121
|
+
const [own, rest] = splitProps(props, ["size"]);
|
|
122
|
+
const id = useElementId("select", () => rest.id);
|
|
123
|
+
return createComponent(Select.Root, mergeProps(rest, {
|
|
124
|
+
get id() {
|
|
125
|
+
return id();
|
|
126
|
+
},
|
|
127
|
+
get "data-size"() {
|
|
128
|
+
return own.size ?? "md";
|
|
129
|
+
}
|
|
130
|
+
}));
|
|
131
|
+
}
|
|
132
|
+
function toArkValue(value) {
|
|
133
|
+
return value === void 0 || value === "" ? [] : Array.isArray(value) ? value : [value];
|
|
134
|
+
}
|
|
135
|
+
function SelectFacade(props) {
|
|
136
|
+
injectComponentStyle("select");
|
|
137
|
+
const collection = createListCollection({ items: props.options });
|
|
138
|
+
return createComponent(SelectRoot, mergeProps({
|
|
139
|
+
get size() {
|
|
140
|
+
return props.size ?? "md";
|
|
141
|
+
},
|
|
142
|
+
get autoComplete() {
|
|
143
|
+
return props.autoComplete;
|
|
144
|
+
},
|
|
145
|
+
collection,
|
|
146
|
+
get deselectable() {
|
|
147
|
+
return props.deselectable;
|
|
148
|
+
},
|
|
149
|
+
get disabled() {
|
|
150
|
+
return props.disabled;
|
|
151
|
+
},
|
|
152
|
+
get form() {
|
|
153
|
+
return props.form;
|
|
154
|
+
},
|
|
155
|
+
get invalid() {
|
|
156
|
+
return props.invalid;
|
|
157
|
+
},
|
|
158
|
+
lazyMount: true,
|
|
159
|
+
get multiple() {
|
|
160
|
+
return props.multiple;
|
|
161
|
+
},
|
|
162
|
+
unmountOnExit: true,
|
|
163
|
+
get name() {
|
|
164
|
+
return props.name;
|
|
165
|
+
},
|
|
166
|
+
get readOnly() {
|
|
167
|
+
return props.readOnly;
|
|
168
|
+
},
|
|
169
|
+
get required() {
|
|
170
|
+
return props.required;
|
|
171
|
+
},
|
|
172
|
+
get defaultValue() {
|
|
173
|
+
return toArkValue(props.value ?? props.defaultValue);
|
|
174
|
+
}
|
|
175
|
+
}, () => {
|
|
176
|
+
return props.value === void 0 ? {} : { value: toArkValue(props.value) };
|
|
177
|
+
}, {
|
|
178
|
+
onValueChange: (details) => props.onValueChange?.(props.multiple ? details.value : details.value.at(0) ?? ""),
|
|
179
|
+
get children() {
|
|
180
|
+
return [
|
|
181
|
+
createComponent(Show, {
|
|
182
|
+
get when() {
|
|
183
|
+
return props.label;
|
|
184
|
+
},
|
|
185
|
+
get children() {
|
|
186
|
+
return createComponent(Select.Label, { get children() {
|
|
187
|
+
return props.label;
|
|
188
|
+
} });
|
|
189
|
+
}
|
|
190
|
+
}),
|
|
191
|
+
createComponent(Select.Control, { get children() {
|
|
192
|
+
return [
|
|
193
|
+
createComponent(Select.Trigger, {
|
|
194
|
+
get "aria-label"() {
|
|
195
|
+
return memo(() => {
|
|
196
|
+
return !!props.label;
|
|
197
|
+
})() ? void 0 : props.placeholder;
|
|
198
|
+
},
|
|
199
|
+
get children() {
|
|
200
|
+
return createComponent(Select.ValueText, { get placeholder() {
|
|
201
|
+
return props.placeholder;
|
|
202
|
+
} });
|
|
203
|
+
}
|
|
204
|
+
}),
|
|
205
|
+
createComponent(Show, {
|
|
206
|
+
get when() {
|
|
207
|
+
return props.clearable !== false;
|
|
208
|
+
},
|
|
209
|
+
get children() {
|
|
210
|
+
return createComponent(Select.ClearTrigger, { get children() {
|
|
211
|
+
return iconNode("x", {
|
|
212
|
+
width: "14",
|
|
213
|
+
height: "14"
|
|
214
|
+
});
|
|
215
|
+
} });
|
|
216
|
+
}
|
|
217
|
+
}),
|
|
218
|
+
createComponent(Select.Indicator, { get children() {
|
|
219
|
+
return iconNode("chevrons-up-down", {
|
|
220
|
+
width: "14",
|
|
221
|
+
height: "14"
|
|
222
|
+
});
|
|
223
|
+
} })
|
|
224
|
+
];
|
|
225
|
+
} }),
|
|
226
|
+
createComponent(Select.Positioner, { get children() {
|
|
227
|
+
return createComponent(Select.Content, { get children() {
|
|
228
|
+
return createComponent(Show, {
|
|
229
|
+
get when() {
|
|
230
|
+
return props.groupLabel;
|
|
231
|
+
},
|
|
232
|
+
get fallback() {
|
|
233
|
+
return createComponent(Select.List, { get children() {
|
|
234
|
+
return createComponent(For, {
|
|
235
|
+
get each() {
|
|
236
|
+
return collection.items;
|
|
237
|
+
},
|
|
238
|
+
children: (item) => createComponent(Select.Item, {
|
|
239
|
+
item,
|
|
240
|
+
get children() {
|
|
241
|
+
return [createComponent(Select.ItemText, { get children() {
|
|
242
|
+
return item.label;
|
|
243
|
+
} }), createComponent(Select.ItemIndicator, { get children() {
|
|
244
|
+
return iconNode("check", {
|
|
245
|
+
width: "14",
|
|
246
|
+
height: "14"
|
|
247
|
+
});
|
|
248
|
+
} })];
|
|
249
|
+
}
|
|
250
|
+
})
|
|
251
|
+
});
|
|
252
|
+
} });
|
|
253
|
+
},
|
|
254
|
+
get children() {
|
|
255
|
+
return createComponent(Select.ItemGroup, { get children() {
|
|
256
|
+
return [createComponent(Select.ItemGroupLabel, { get children() {
|
|
257
|
+
return props.groupLabel;
|
|
258
|
+
} }), createComponent(For, {
|
|
259
|
+
get each() {
|
|
260
|
+
return collection.items;
|
|
261
|
+
},
|
|
262
|
+
children: (item) => createComponent(Select.Item, {
|
|
263
|
+
item,
|
|
264
|
+
get children() {
|
|
265
|
+
return [createComponent(Select.ItemText, { get children() {
|
|
266
|
+
return item.label;
|
|
267
|
+
} }), createComponent(Select.ItemIndicator, { get children() {
|
|
268
|
+
return iconNode("check", {
|
|
269
|
+
width: "14",
|
|
270
|
+
height: "14"
|
|
271
|
+
});
|
|
272
|
+
} })];
|
|
273
|
+
}
|
|
274
|
+
})
|
|
275
|
+
})];
|
|
276
|
+
} });
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
} });
|
|
280
|
+
} }),
|
|
281
|
+
createComponent(Select.HiddenSelect, {})
|
|
282
|
+
];
|
|
283
|
+
}
|
|
284
|
+
}));
|
|
285
|
+
}
|
|
286
|
+
const Select$1 = defineFamily(SelectFacade, {
|
|
287
|
+
...Select,
|
|
288
|
+
Root: SelectRoot
|
|
289
|
+
});
|
|
290
|
+
injectComponentStyle("select");
|
|
291
|
+
//#endregion
|
|
292
|
+
export { NativeSelect as n, Select$1 as t };
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { t as defineFamily } from "./family-Cmd8HEyK.mjs";
|
|
2
|
+
import { t as useElementId } from "./id-2ygNzPHF.mjs";
|
|
1
3
|
import { injectComponentStyle } from "@bysages/core";
|
|
2
4
|
import { createComponent, mergeProps } from "@solidjs/web";
|
|
5
|
+
import { createComponent as createComponent$1, mergeProps as mergeProps$1 } from "solid-js";
|
|
3
6
|
import { Toc } from "@ark-ui/solid/toc";
|
|
4
7
|
//#region src/components/toc/TocIndicator.tsx
|
|
5
8
|
/** The active stroke is decoration; hidden so the list reads as links
|
|
@@ -12,10 +15,17 @@ function TocIndicator(props) {
|
|
|
12
15
|
/** Ark's Toc, dressed in the paper-and-ink system: a quiet rail of links
|
|
13
16
|
* beside the scroll, one stroke of primary ink marking where the reader
|
|
14
17
|
* stands. The API is Ark's own — Root, Title, List, Item, Link, Indicator. */
|
|
15
|
-
|
|
18
|
+
function TocRoot(props) {
|
|
19
|
+
const id = useElementId("toc", () => props.id);
|
|
20
|
+
return createComponent$1(Toc.Root, mergeProps$1(props, { get id() {
|
|
21
|
+
return id();
|
|
22
|
+
} }));
|
|
23
|
+
}
|
|
24
|
+
const Toc$1 = defineFamily(TocRoot, {
|
|
16
25
|
...Toc,
|
|
26
|
+
Root: TocRoot,
|
|
17
27
|
Indicator: TocIndicator
|
|
18
|
-
};
|
|
28
|
+
});
|
|
19
29
|
injectComponentStyle("toc");
|
|
20
30
|
//#endregion
|
|
21
31
|
export { Toc$1 as t };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bysages/solid",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "By Sages Elements components for Solid — styled by the paper-and-ink design tokens",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"accessible",
|
|
@@ -68,6 +68,7 @@
|
|
|
68
68
|
"./dist/components/list/index.mjs",
|
|
69
69
|
"./dist/components/listbox/index.mjs",
|
|
70
70
|
"./dist/components/marquee/index.mjs",
|
|
71
|
+
"./dist/components/media-player/index.mjs",
|
|
71
72
|
"./dist/components/menu/index.mjs",
|
|
72
73
|
"./dist/components/meter/index.mjs",
|
|
73
74
|
"./dist/components/navigation-menu/index.mjs",
|
|
@@ -124,8 +125,7 @@
|
|
|
124
125
|
"@tanstack/solid-virtual": "3.13.40",
|
|
125
126
|
"@zag-js/cascade-select": "1.44.0",
|
|
126
127
|
"@zag-js/solid": "1.44.0",
|
|
127
|
-
"@bysages/
|
|
128
|
-
"@bysages/core": "0.3.1"
|
|
128
|
+
"@bysages/core": "0.4.0"
|
|
129
129
|
},
|
|
130
130
|
"devDependencies": {
|
|
131
131
|
"@json-render/core": "0.21.0",
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { template } from "@solidjs/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 };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ComponentProps } from "solid-js";
|
|
2
|
-
import { Toc } from "@ark-ui/solid/toc";
|
|
3
|
-
//#region src/components/toc/TocIndicator.d.ts
|
|
4
|
-
/** The active stroke is decoration; hidden so the list reads as links
|
|
5
|
-
* alone. */
|
|
6
|
-
declare function TocIndicator(props: ComponentProps<typeof Toc.Indicator>): import("solid-js").JSX.Element;
|
|
7
|
-
//#endregion
|
|
8
|
-
//#region src/components/toc/index.d.ts
|
|
9
|
-
/** Ark's Toc, dressed in the paper-and-ink system: a quiet rail of links
|
|
10
|
-
* beside the scroll, one stroke of primary ink marking where the reader
|
|
11
|
-
* stands. The API is Ark's own — Root, Title, List, Item, Link, Indicator. */
|
|
12
|
-
declare const Toc$1: Omit<typeof Toc, "Indicator"> & {
|
|
13
|
-
Indicator: typeof TocIndicator;
|
|
14
|
-
};
|
|
15
|
-
//#endregion
|
|
16
|
-
export { Toc$1 as t };
|