@scalar/components 0.14.10 → 0.14.13
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/components/ScalarIconButton/ScalarIconButton.stories.d.ts +2 -2
- package/dist/components/ScalarIconButton/ScalarIconButton.vue.d.ts +2 -1
- package/dist/components/ScalarIconButton/ScalarIconButton.vue.d.ts.map +1 -1
- package/dist/components/ScalarListbox/ScalarListbox.vue.d.ts.map +1 -1
- package/dist/components/ScalarListbox/ScalarListbox.vue.js +25 -26
- package/dist/components/ScalarSearchInput/ScalarSearchInput.stories.d.ts +28 -40
- package/dist/components/ScalarSearchInput/ScalarSearchInput.stories.d.ts.map +1 -1
- package/dist/components/ScalarSearchInput/ScalarSearchInput.vue.d.ts +23 -10
- package/dist/components/ScalarSearchInput/ScalarSearchInput.vue.d.ts.map +1 -1
- package/dist/components/ScalarSearchInput/ScalarSearchInput.vue.js +60 -5
- package/dist/components/ScalarSearchInput/ScalarSearchInput.vue2.js +2 -86
- package/dist/components/ScalarSidebar/ScalarSidebar.stories.d.ts +3 -2
- package/dist/components/ScalarSidebar/ScalarSidebar.stories.d.ts.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarButton.vue.d.ts.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarButton.vue.js +22 -22
- package/dist/components/ScalarSidebar/ScalarSidebarGroup.vue.d.ts +3 -9
- package/dist/components/ScalarSidebar/ScalarSidebarGroup.vue.d.ts.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarGroup.vue.js +33 -26
- package/dist/components/ScalarSidebar/ScalarSidebarGroup.vue3.js +5 -0
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue.d.ts +4 -0
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue.d.ts.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue.js +2 -2
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue2.js +12 -11
- package/dist/components/ScalarSidebar/ScalarSidebarItems.vue.js +2 -2
- package/dist/components/ScalarSidebar/ScalarSidebarPlayground.vue.d.ts +30 -0
- package/dist/components/ScalarSidebar/ScalarSidebarPlayground.vue.d.ts.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchButton.vue.d.ts +22 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchButton.vue.d.ts.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchButton.vue.js +42 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchButton.vue2.js +4 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.test.d.ts +2 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.test.d.ts.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.vue.d.ts +16 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.vue.d.ts.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.vue.js +69 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.vue2.js +4 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSection.vue.d.ts +37 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSection.vue.d.ts.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSpacer.vue.d.ts +18 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSpacer.vue.d.ts.map +1 -0
- package/dist/components/ScalarSidebar/index.d.ts +2 -0
- package/dist/components/ScalarSidebar/index.d.ts.map +1 -1
- package/dist/index.js +141 -136
- package/dist/style.css +1 -1
- package/package.json +5 -5
- package/dist/components/ScalarSidebar/ScalarSidebarGroup.vue2.js +0 -4
|
@@ -5,7 +5,7 @@ import type { StoryObj } from '@storybook/vue3';
|
|
|
5
5
|
declare const meta: {
|
|
6
6
|
component: import("vue").DefineComponent<{
|
|
7
7
|
label: string;
|
|
8
|
-
icon: import("../ScalarIcon").Icon;
|
|
8
|
+
icon: import("../ScalarIcon").Icon | import("vue").Component;
|
|
9
9
|
disabled?: boolean;
|
|
10
10
|
variant?: string | undefined;
|
|
11
11
|
size?: "xs" | "sm" | "md" | "full" | "xxs" | undefined;
|
|
@@ -13,7 +13,7 @@ declare const meta: {
|
|
|
13
13
|
weight?: import("@scalar/icons/types").ScalarIconWeight;
|
|
14
14
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
15
15
|
label: string;
|
|
16
|
-
icon: import("../ScalarIcon").Icon;
|
|
16
|
+
icon: import("../ScalarIcon").Icon | import("vue").Component;
|
|
17
17
|
disabled?: boolean;
|
|
18
18
|
variant?: string | undefined;
|
|
19
19
|
size?: "xs" | "sm" | "md" | "full" | "xxs" | undefined;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ScalarIconWeight } from '@scalar/icons/types';
|
|
2
2
|
import type { VariantProps } from 'cva';
|
|
3
|
+
import type { Component } from 'vue';
|
|
3
4
|
import { type Icon } from '../ScalarIcon';
|
|
4
5
|
type Variants = VariantProps<typeof variants>;
|
|
5
6
|
type __VLS_Props = {
|
|
6
7
|
label: string;
|
|
7
|
-
icon: Icon;
|
|
8
|
+
icon: Icon | Component;
|
|
8
9
|
disabled?: boolean;
|
|
9
10
|
variant?: Variants['variant'];
|
|
10
11
|
size?: Variants['size'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarIconButton.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarIconButton/ScalarIconButton.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarIconButton.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarIconButton/ScalarIconButton.vue"],"names":[],"mappings":"AA8DA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAGpC,OAAO,EAAE,KAAK,IAAI,EAA2B,MAAM,eAAe,CAAA;AAIlE,KAAK,QAAQ,GAAG,YAAY,CAAC,OAAO,QAAQ,CAAC,CAAA;AAE7C,KAAK,WAAW,GAAG;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC7B,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,gBAAgB,CAAA;CAC1B,CAAC;AAYJ,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAeZ,CACD;;;;;AAoED,wBAOG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarListbox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarListbox/ScalarListbox.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarListbox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarListbox/ScalarListbox.vue"],"names":[],"mappings":"AAwGA,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAIrC,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAChC,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,QAAQ,EAAE,IAAI,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CAClC,CAAA;AAkCD,iBAAS,cAAc;WA0HT,OAAO,IAA6B;;QA1IhD,4CAA4C;uBAC7B;YACb,yCAAyC;YACzC,IAAI,EAAE,OAAO,CAAA;SACd,GAAG,GAAG;;QAJP,4CAA4C;uBAC7B;YACb,yCAAyC;YACzC,IAAI,EAAE,OAAO,CAAA;SACd,GAAG,GAAG;;;;EA2IR;AAiBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;aAhLR,MAAM,EAAE;SACZ,MAAM;YACH,MAAM;;aAFL,MAAM,EAAE;SACZ,MAAM;YACH,MAAM;;;;aAFL,MAAM,EAAE;SACZ,MAAM;YACH,MAAM;;aAFL,MAAM,EAAE;SACZ,MAAM;YACH,MAAM;;;kFAqLhB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAWpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { defineComponent as c, createBlock as
|
|
1
|
+
import { defineComponent as c, createBlock as i, openBlock as o, unref as t, withCtx as l, createCommentVNode as n, createVNode as r, createTextVNode as y, toDisplayString as b, mergeProps as p, renderSlot as V, createElementBlock as d, createElementVNode as B, Fragment as _, renderList as g, normalizeStyle as k } from "vue";
|
|
2
2
|
import { Listbox as x, ListboxLabel as L, ListboxButton as h, ListboxOptions as $ } from "@headlessui/vue";
|
|
3
|
-
import { useBindCx as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
const w = { class: "custom-scroll min-h-0 flex-1" },
|
|
3
|
+
import { useBindCx as S } from "@scalar/use-hooks/useBindCx";
|
|
4
|
+
import C from "./ScalarListboxItem.vue.js";
|
|
5
|
+
import N from "../ScalarFloating/ScalarFloating.vue.js";
|
|
6
|
+
import v from "../ScalarFloating/ScalarFloatingBackdrop.vue.js";
|
|
7
|
+
const w = { class: "custom-scroll min-h-0 flex-1" }, T = /* @__PURE__ */ c({
|
|
8
8
|
inheritAttrs: !1,
|
|
9
9
|
__name: "ScalarListbox",
|
|
10
10
|
props: {
|
|
@@ -22,50 +22,49 @@ const w = { class: "custom-scroll min-h-0 flex-1" }, P = /* @__PURE__ */ c({
|
|
|
22
22
|
},
|
|
23
23
|
emits: ["update:modelValue"],
|
|
24
24
|
setup(z) {
|
|
25
|
-
const { cx:
|
|
26
|
-
return (e,
|
|
25
|
+
const { cx: u } = S();
|
|
26
|
+
return (e, m) => (o(), i(t(x), {
|
|
27
27
|
modelValue: e.modelValue,
|
|
28
28
|
multiple: e.multiple,
|
|
29
|
-
"onUpdate:modelValue":
|
|
29
|
+
"onUpdate:modelValue": m[0] || (m[0] = (a) => e.$emit("update:modelValue", a))
|
|
30
30
|
}, {
|
|
31
31
|
default: l(({ open: a }) => [
|
|
32
|
-
e.label ? (o(),
|
|
32
|
+
e.label ? (o(), i(t(L), {
|
|
33
33
|
key: 0,
|
|
34
34
|
class: "sr-only"
|
|
35
35
|
}, {
|
|
36
36
|
default: l(() => [
|
|
37
|
-
b(
|
|
37
|
+
y(b(e.label), 1)
|
|
38
38
|
]),
|
|
39
39
|
_: 1
|
|
40
|
-
})) :
|
|
41
|
-
|
|
40
|
+
})) : n("", !0),
|
|
41
|
+
r(t(N), p(e.$props, {
|
|
42
42
|
placement: e.placement ?? "bottom-start"
|
|
43
43
|
}), {
|
|
44
44
|
floating: l(({ width: f }) => [
|
|
45
|
-
a ? (o(),
|
|
45
|
+
a ? (o(), d("div", p({
|
|
46
46
|
key: 0,
|
|
47
47
|
style: { width: f }
|
|
48
|
-
}, t(
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
}, t(u)("relative flex max-h-[inherit] w-40 rounded text-sm")), [
|
|
49
|
+
B("div", w, [
|
|
50
|
+
r(t($), { class: "flex flex-col gap-0.75 p-0.75 -outline-offset-1" }, {
|
|
51
51
|
default: l(() => [
|
|
52
|
-
(o(!0),
|
|
53
|
-
key:
|
|
54
|
-
option:
|
|
52
|
+
(o(!0), d(_, null, g(e.options, (s) => (o(), i(C, {
|
|
53
|
+
key: s.id,
|
|
54
|
+
option: s,
|
|
55
55
|
style: k(e.multiple ? "checkbox" : "radio")
|
|
56
56
|
}, null, 8, ["option", "style"]))), 128))
|
|
57
57
|
]),
|
|
58
58
|
_: 1
|
|
59
59
|
})
|
|
60
60
|
]),
|
|
61
|
-
|
|
62
|
-
], 16)) :
|
|
61
|
+
r(t(v))
|
|
62
|
+
], 16)) : n("", !0)
|
|
63
63
|
]),
|
|
64
64
|
default: l(() => [
|
|
65
|
-
|
|
65
|
+
r(t(h), {
|
|
66
66
|
id: e.id,
|
|
67
|
-
as: "template"
|
|
68
|
-
class: "justify-start focus:outline-none focus-visible:ring-1 focus-visible:ring-c-accent"
|
|
67
|
+
as: "template"
|
|
69
68
|
}, {
|
|
70
69
|
default: l(() => [
|
|
71
70
|
V(e.$slots, "default", { open: a })
|
|
@@ -81,5 +80,5 @@ const w = { class: "custom-scroll min-h-0 flex-1" }, P = /* @__PURE__ */ c({
|
|
|
81
80
|
}
|
|
82
81
|
});
|
|
83
82
|
export {
|
|
84
|
-
|
|
83
|
+
T as default
|
|
85
84
|
};
|
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
import type { StoryObj } from '@storybook/vue3';
|
|
2
2
|
declare const meta: {
|
|
3
3
|
component: import("vue").DefineComponent<{
|
|
4
|
-
loading?: import("../ScalarLoading").LoadingState;
|
|
5
4
|
modelValue?: string;
|
|
6
|
-
|
|
5
|
+
} & {
|
|
6
|
+
loading?: import("../ScalarLoading").LoadingState;
|
|
7
7
|
label?: string;
|
|
8
|
-
}, {
|
|
9
|
-
|
|
10
|
-
blur: () => void;
|
|
11
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
12
|
-
"update:modelValue": (v: string) => any;
|
|
8
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
"update:modelValue": (value: string) => any;
|
|
13
10
|
}, string, import("vue").PublicProps, Readonly<{
|
|
14
|
-
loading?: import("../ScalarLoading").LoadingState;
|
|
15
11
|
modelValue?: string;
|
|
16
|
-
|
|
12
|
+
} & {
|
|
13
|
+
loading?: import("../ScalarLoading").LoadingState;
|
|
17
14
|
label?: string;
|
|
18
15
|
}> & Readonly<{
|
|
19
|
-
"onUpdate:modelValue"?: ((
|
|
16
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
20
17
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
21
18
|
tags: string[];
|
|
22
19
|
argTypes: {
|
|
@@ -25,61 +22,52 @@ declare const meta: {
|
|
|
25
22
|
};
|
|
26
23
|
};
|
|
27
24
|
render: (args: import("@storybook/vue3").ComponentPropsAndSlots<import("vue").DefineComponent<{
|
|
28
|
-
loading?: import("../ScalarLoading").LoadingState;
|
|
29
25
|
modelValue?: string;
|
|
30
|
-
|
|
26
|
+
} & {
|
|
27
|
+
loading?: import("../ScalarLoading").LoadingState;
|
|
31
28
|
label?: string;
|
|
32
|
-
}, {
|
|
33
|
-
|
|
34
|
-
blur: () => void;
|
|
35
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
36
|
-
"update:modelValue": (v: string) => any;
|
|
29
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
30
|
+
"update:modelValue": (value: string) => any;
|
|
37
31
|
}, string, import("vue").PublicProps, Readonly<{
|
|
38
|
-
loading?: import("../ScalarLoading").LoadingState;
|
|
39
32
|
modelValue?: string;
|
|
40
|
-
|
|
33
|
+
} & {
|
|
34
|
+
loading?: import("../ScalarLoading").LoadingState;
|
|
41
35
|
label?: string;
|
|
42
36
|
}> & Readonly<{
|
|
43
|
-
"onUpdate:modelValue"?: ((
|
|
37
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
44
38
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>>) => {
|
|
45
39
|
components: {
|
|
46
40
|
ScalarSearchInput: import("vue").DefineComponent<{
|
|
47
|
-
loading?: import("../ScalarLoading").LoadingState;
|
|
48
41
|
modelValue?: string;
|
|
49
|
-
|
|
42
|
+
} & {
|
|
43
|
+
loading?: import("../ScalarLoading").LoadingState;
|
|
50
44
|
label?: string;
|
|
51
|
-
}, {
|
|
52
|
-
|
|
53
|
-
blur: () => void;
|
|
54
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
55
|
-
"update:modelValue": (v: string) => any;
|
|
45
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
46
|
+
"update:modelValue": (value: string) => any;
|
|
56
47
|
}, string, import("vue").PublicProps, Readonly<{
|
|
57
|
-
loading?: import("../ScalarLoading").LoadingState;
|
|
58
48
|
modelValue?: string;
|
|
59
|
-
|
|
49
|
+
} & {
|
|
50
|
+
loading?: import("../ScalarLoading").LoadingState;
|
|
60
51
|
label?: string;
|
|
61
52
|
}> & Readonly<{
|
|
62
|
-
"onUpdate:modelValue"?: ((
|
|
53
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
63
54
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
64
55
|
};
|
|
65
56
|
setup(this: void): {
|
|
66
57
|
args: import("@storybook/vue3").ComponentPropsAndSlots<import("vue").DefineComponent<{
|
|
67
|
-
loading?: import("../ScalarLoading").LoadingState;
|
|
68
58
|
modelValue?: string;
|
|
69
|
-
|
|
59
|
+
} & {
|
|
60
|
+
loading?: import("../ScalarLoading").LoadingState;
|
|
70
61
|
label?: string;
|
|
71
|
-
}, {
|
|
72
|
-
|
|
73
|
-
blur: () => void;
|
|
74
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
75
|
-
"update:modelValue": (v: string) => any;
|
|
62
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
63
|
+
"update:modelValue": (value: string) => any;
|
|
76
64
|
}, string, import("vue").PublicProps, Readonly<{
|
|
77
|
-
loading?: import("../ScalarLoading").LoadingState;
|
|
78
65
|
modelValue?: string;
|
|
79
|
-
|
|
66
|
+
} & {
|
|
67
|
+
loading?: import("../ScalarLoading").LoadingState;
|
|
80
68
|
label?: string;
|
|
81
69
|
}> & Readonly<{
|
|
82
|
-
"onUpdate:modelValue"?: ((
|
|
70
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
83
71
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>>;
|
|
84
72
|
model: import("vue").Ref<string, string>;
|
|
85
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarSearchInput.stories.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarSearchInput/ScalarSearchInput.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAMrD,QAAA,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"ScalarSearchInput.stories.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarSearchInput/ScalarSearchInput.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAMrD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcgC,CAAA;AAE1C,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,IAAI,EAAE,KAAU,CAAA;AAE7B,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAE3B,CAAA"}
|
|
@@ -1,17 +1,30 @@
|
|
|
1
1
|
import { type LoadingState } from '../ScalarLoading';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Scalar search input component
|
|
4
|
+
*
|
|
5
|
+
* Provides an large input field with a loading state and a clear button,
|
|
6
|
+
* intended to be used with the ScalarSearchResults component.
|
|
7
|
+
*
|
|
8
|
+
* If you want a smaller input field for use in a sidebar, use
|
|
9
|
+
* the ScalarSidebarSearchInput component instead.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <ScalarSearchInput v-model="search" />
|
|
13
|
+
*/
|
|
14
|
+
declare const _default: import("vue").DefineComponent<{
|
|
15
|
+
modelValue?: string;
|
|
16
|
+
} & {
|
|
3
17
|
loading?: LoadingState;
|
|
18
|
+
label?: string;
|
|
19
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
20
|
+
"update:modelValue": (value: string) => any;
|
|
21
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
4
22
|
modelValue?: string;
|
|
5
|
-
|
|
23
|
+
} & {
|
|
24
|
+
loading?: LoadingState;
|
|
6
25
|
label?: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
focus: () => void;
|
|
10
|
-
blur: () => void;
|
|
11
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
12
|
-
"update:modelValue": (v: string) => any;
|
|
13
|
-
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
14
|
-
"onUpdate:modelValue"?: ((v: string) => any) | undefined;
|
|
26
|
+
}> & Readonly<{
|
|
27
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
15
28
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
29
|
export default _default;
|
|
17
30
|
//# sourceMappingURL=ScalarSearchInput.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarSearchInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarSearchInput/ScalarSearchInput.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarSearchInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarSearchInput/ScalarSearchInput.vue"],"names":[],"mappings":"AAiFA,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,kBAAkB,CAAA;AAInE;;;;;;;;;;;GAWG;;iBAgCU,MAAM;;cA5BP,YAAY;YACd,MAAM;;;;iBA2BH,MAAM;;cA5BP,YAAY;YACd,MAAM;;;;AAJhB,wBAoJC"}
|
|
@@ -1,7 +1,62 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
|
|
1
|
+
import { defineComponent as f, mergeModels as m, useModel as p, ref as h, createElementBlock as b, openBlock as t, normalizeProps as g, guardReactiveProps as v, unref as l, withDirectives as k, createBlock as n, createCommentVNode as _, createElementVNode as C, mergeProps as S, vModelText as V, withModifiers as y } from "vue";
|
|
2
|
+
import { useBindCx as M } from "@scalar/use-hooks/useBindCx";
|
|
3
|
+
import x from "../ScalarLoading/ScalarLoading.vue.js";
|
|
4
|
+
import z from "../ScalarIconButton/ScalarIconButton.vue.js";
|
|
5
|
+
const B = ["aria-label"], E = {}, L = /* @__PURE__ */ f({
|
|
6
|
+
...E,
|
|
7
|
+
inheritAttrs: !1,
|
|
8
|
+
__name: "ScalarSearchInput",
|
|
9
|
+
props: /* @__PURE__ */ m({
|
|
10
|
+
loading: {},
|
|
11
|
+
label: {}
|
|
12
|
+
}, {
|
|
13
|
+
modelValue: {},
|
|
14
|
+
modelModifiers: {}
|
|
15
|
+
}),
|
|
16
|
+
emits: ["update:modelValue"],
|
|
17
|
+
setup(s) {
|
|
18
|
+
const e = p(s, "modelValue"), a = h(null);
|
|
19
|
+
function i() {
|
|
20
|
+
e.value = "", a.value && a.value.focus();
|
|
21
|
+
}
|
|
22
|
+
const { classCx: u, otherAttrs: c } = M();
|
|
23
|
+
return (o, r) => (t(), b("label", g(v(
|
|
24
|
+
l(u)(
|
|
25
|
+
"flex items-center rounded border text-sm font-medium has-[:focus-visible]:bg-b-1 bg-b-1.5 has-[:focus-visible]:outline h-10 p-3"
|
|
26
|
+
)
|
|
27
|
+
)), [
|
|
28
|
+
k(C("input", S({
|
|
29
|
+
ref_key: "inputRef",
|
|
30
|
+
ref: a,
|
|
31
|
+
"aria-label": o.label ?? "Enter search query",
|
|
32
|
+
autocapitalize: "off",
|
|
33
|
+
autocomplete: "off",
|
|
34
|
+
autocorrect: "off",
|
|
35
|
+
class: "flex-1 appearance-none rounded border-none bg-transparent outline-none",
|
|
36
|
+
placeholder: "Search...",
|
|
37
|
+
spellcheck: "false",
|
|
38
|
+
type: "search"
|
|
39
|
+
}, l(c), {
|
|
40
|
+
"onUpdate:modelValue": r[0] || (r[0] = (d) => e.value = d)
|
|
41
|
+
}), null, 16, B), [
|
|
42
|
+
[V, e.value]
|
|
43
|
+
]),
|
|
44
|
+
o.loading && o.loading.isLoading ? (t(), n(l(x), {
|
|
45
|
+
key: 0,
|
|
46
|
+
class: "self-center",
|
|
47
|
+
loadingState: o.loading,
|
|
48
|
+
size: "md"
|
|
49
|
+
}, null, 8, ["loadingState"])) : e.value ? (t(), n(l(z), {
|
|
50
|
+
key: 1,
|
|
51
|
+
class: "p-0 size-5",
|
|
52
|
+
icon: "Close",
|
|
53
|
+
label: "Clear Search",
|
|
54
|
+
thickness: "1.5",
|
|
55
|
+
onClick: y(i, ["stop", "prevent"])
|
|
56
|
+
})) : _("", !0)
|
|
57
|
+
], 16));
|
|
58
|
+
}
|
|
59
|
+
});
|
|
5
60
|
export {
|
|
6
|
-
|
|
61
|
+
L as default
|
|
7
62
|
};
|
|
@@ -1,88 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { cva as z, cx as u } from "@scalar/use-hooks/useBindCx";
|
|
3
|
-
import B from "../ScalarIcon/ScalarIcon.vue.js";
|
|
4
|
-
import I from "../ScalarLoading/ScalarLoading.vue.js";
|
|
5
|
-
import w from "../ScalarIconButton/ScalarIconButton.vue.js";
|
|
6
|
-
const E = ["aria-label", "value"], M = /* @__PURE__ */ h({
|
|
7
|
-
inheritAttrs: !1,
|
|
8
|
-
__name: "ScalarSearchInput",
|
|
9
|
-
props: {
|
|
10
|
-
loading: {},
|
|
11
|
-
modelValue: {},
|
|
12
|
-
sidebar: { type: Boolean },
|
|
13
|
-
label: {}
|
|
14
|
-
},
|
|
15
|
-
emits: ["update:modelValue"],
|
|
16
|
-
setup(N, { expose: d, emit: p }) {
|
|
17
|
-
const r = p, l = v(null);
|
|
18
|
-
function m(e) {
|
|
19
|
-
r("update:modelValue", e.target.value);
|
|
20
|
-
}
|
|
21
|
-
function f() {
|
|
22
|
-
r("update:modelValue", ""), l.value && l.value.focus();
|
|
23
|
-
}
|
|
24
|
-
const t = g(() => {
|
|
25
|
-
const { class: e, ...n } = k();
|
|
26
|
-
return { class: e || "", rest: n };
|
|
27
|
-
}), b = z({
|
|
28
|
-
base: "search-background flex items-center rounded border text-sm font-medium has-[:focus-visible]:bg-b-1 has-[:focus-visible]:outline",
|
|
29
|
-
variants: {
|
|
30
|
-
sidebar: {
|
|
31
|
-
true: "h-8 gap-2 px-1.5",
|
|
32
|
-
false: "h-10 p-3"
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
return d({
|
|
37
|
-
focus: () => {
|
|
38
|
-
var e;
|
|
39
|
-
(e = l.value) == null || e.focus();
|
|
40
|
-
},
|
|
41
|
-
blur: () => {
|
|
42
|
-
var e;
|
|
43
|
-
(e = l.value) == null || e.blur();
|
|
44
|
-
}
|
|
45
|
-
}), (e, n) => (s(), S("label", {
|
|
46
|
-
class: i(a(u)(a(b)({ sidebar: e.sidebar }), t.value.class))
|
|
47
|
-
}, [
|
|
48
|
-
e.sidebar ? (s(), o(a(B), {
|
|
49
|
-
key: 0,
|
|
50
|
-
class: "text-c-2",
|
|
51
|
-
icon: "Search",
|
|
52
|
-
size: "xs",
|
|
53
|
-
thickness: "2.5"
|
|
54
|
-
})) : c("", !0),
|
|
55
|
-
V("input", y({
|
|
56
|
-
ref_key: "inputRef",
|
|
57
|
-
ref: l
|
|
58
|
-
}, t.value.rest, {
|
|
59
|
-
"aria-label": e.label ?? "Enter search query",
|
|
60
|
-
autocapitalize: "off",
|
|
61
|
-
autocomplete: "off",
|
|
62
|
-
autocorrect: "off",
|
|
63
|
-
class: "flex-1 appearance-none rounded border-none bg-transparent outline-none",
|
|
64
|
-
placeholder: "Search...",
|
|
65
|
-
spellcheck: "false",
|
|
66
|
-
type: "search",
|
|
67
|
-
value: e.modelValue,
|
|
68
|
-
onInput: m
|
|
69
|
-
}), null, 16, E),
|
|
70
|
-
e.loading && e.loading.isLoading ? (s(), o(a(I), {
|
|
71
|
-
key: 1,
|
|
72
|
-
class: "mr-3 self-center",
|
|
73
|
-
loadingState: e.loading,
|
|
74
|
-
size: "md"
|
|
75
|
-
}, null, 8, ["loadingState"])) : e.modelValue ? (s(), o(a(w), {
|
|
76
|
-
key: 2,
|
|
77
|
-
class: i(a(u)("p-0", e.sidebar ? "h-4 w-4" : "h-5 w-5")),
|
|
78
|
-
icon: "Close",
|
|
79
|
-
label: "Clear Search",
|
|
80
|
-
thickness: e.sidebar ? "1.75" : "1.5",
|
|
81
|
-
onClick: C(f, ["stop", "prevent"])
|
|
82
|
-
}, null, 8, ["class", "thickness"])) : c("", !0)
|
|
83
|
-
], 2));
|
|
84
|
-
}
|
|
85
|
-
});
|
|
1
|
+
import f from "./ScalarSearchInput.vue.js";
|
|
86
2
|
export {
|
|
87
|
-
|
|
3
|
+
f as default
|
|
88
4
|
};
|
|
@@ -3,7 +3,8 @@ declare const meta: Meta;
|
|
|
3
3
|
export default meta;
|
|
4
4
|
type Story = StoryObj<typeof meta>;
|
|
5
5
|
export declare const Base: Story;
|
|
6
|
-
export declare const WithNavItems: Story;
|
|
7
6
|
export declare const WithNestedGroups: Story;
|
|
8
|
-
export declare const
|
|
7
|
+
export declare const WithSections: Story;
|
|
8
|
+
export declare const WithFooterContent: Story;
|
|
9
|
+
export declare const WithSearchButton: Story;
|
|
9
10
|
//# sourceMappingURL=ScalarSidebar.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarSidebar.stories.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarSidebar/ScalarSidebar.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"ScalarSidebar.stories.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarSidebar/ScalarSidebar.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAYrD,QAAA,MAAM,IAAI,EAAE,IA0BX,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,IAAI,EAAE,KAAU,CAAA;AAE7B,eAAO,MAAM,gBAAgB,EAAE,KAkE9B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAqD1B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAgB/B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAoB9B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarSidebarButton.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarSidebar/ScalarSidebarButton.vue"],"names":[],"mappings":"AAwFA,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAI7E;;;;;;;;;;;;;;;;;;;;;GAqBG;;AACH,
|
|
1
|
+
{"version":3,"file":"ScalarSidebarButton.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarSidebar/ScalarSidebarButton.vue"],"names":[],"mappings":"AAwFA,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAI7E;;;;;;;;;;;;;;;;;;;;;GAqBG;;AACH,wBA+HC;AAWD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { defineComponent as r, createBlock as
|
|
2
|
-
import { cva as
|
|
1
|
+
import { defineComponent as r, createBlock as n, openBlock as t, resolveDynamicComponent as c, mergeProps as u, unref as a, withCtx as f, renderSlot as s, createElementVNode as p, createElementBlock as d, createCommentVNode as o, createVNode as b } from "vue";
|
|
2
|
+
import { cva as m, useBindCx as v } from "@scalar/use-hooks/useBindCx";
|
|
3
3
|
import y from "./ScalarSidebarIndent.vue.js";
|
|
4
4
|
import h from "../ScalarIcon/ScalarIconLegacyAdapter.vue.js";
|
|
5
|
-
const
|
|
5
|
+
const B = { class: "flex items-center gap-1 flex-1 py-2 leading-5" }, $ = {
|
|
6
6
|
key: 0,
|
|
7
7
|
class: "size-3.5"
|
|
8
|
-
},
|
|
8
|
+
}, g = { key: 0 }, k = {}, w = /* @__PURE__ */ r({
|
|
9
9
|
...k,
|
|
10
10
|
inheritAttrs: !1,
|
|
11
11
|
__name: "ScalarSidebarButton",
|
|
@@ -17,10 +17,10 @@ const g = { class: "flex items-center gap-1 flex-1 py-2 leading-5" }, B = {
|
|
|
17
17
|
indent: { default: 0 }
|
|
18
18
|
},
|
|
19
19
|
setup(C) {
|
|
20
|
-
const
|
|
21
|
-
base: ["group/button flex rounded px-
|
|
20
|
+
const l = m({
|
|
21
|
+
base: ["group/button flex rounded px-2 font-sidebar text-c-2 no-underline"],
|
|
22
22
|
variants: {
|
|
23
|
-
selected: { true: "cursor-auto bg-b-2 text-c-1" },
|
|
23
|
+
selected: { true: "cursor-auto bg-b-2 text-c-1 font-sidebar-active" },
|
|
24
24
|
disabled: { true: "cursor-auto" }
|
|
25
25
|
},
|
|
26
26
|
compoundVariants: [
|
|
@@ -28,38 +28,38 @@ const g = { class: "flex items-center gap-1 flex-1 py-2 leading-5" }, B = {
|
|
|
28
28
|
],
|
|
29
29
|
defaultVariants: { selected: !1, disabled: !1 }
|
|
30
30
|
}), { cx: i } = v();
|
|
31
|
-
return (e, S) => (t(),
|
|
31
|
+
return (e, S) => (t(), n(c(e.is), u({
|
|
32
32
|
"aria-level": e.indent,
|
|
33
33
|
"aria-selected": e.selected,
|
|
34
34
|
type: e.is === "button" ? "button" : void 0
|
|
35
|
-
},
|
|
35
|
+
}, a(i)(a(l)({ selected: e.selected, disabled: e.disabled }))), {
|
|
36
36
|
default: f(() => [
|
|
37
37
|
s(e.$slots, "indent", {}, () => [
|
|
38
|
-
|
|
38
|
+
b(y, {
|
|
39
39
|
indent: e.indent,
|
|
40
|
-
selected: e.selected
|
|
41
|
-
|
|
40
|
+
selected: e.selected,
|
|
41
|
+
disabled: e.disabled
|
|
42
|
+
}, null, 8, ["indent", "selected", "disabled"])
|
|
42
43
|
]),
|
|
43
|
-
|
|
44
|
-
e.icon || e.$slots.icon ? (t(),
|
|
44
|
+
p("div", B, [
|
|
45
|
+
e.icon || e.$slots.icon ? (t(), d("div", $, [
|
|
45
46
|
s(e.$slots, "icon", {}, () => [
|
|
46
|
-
e.icon ? (t(), a(
|
|
47
|
+
e.icon ? (t(), n(a(h), {
|
|
47
48
|
key: 0,
|
|
48
|
-
icon: e.icon
|
|
49
|
-
|
|
50
|
-
}, null, 8, ["icon"])) : n("", !0)
|
|
49
|
+
icon: e.icon
|
|
50
|
+
}, null, 8, ["icon"])) : o("", !0)
|
|
51
51
|
])
|
|
52
|
-
])) :
|
|
52
|
+
])) : o("", !0),
|
|
53
53
|
s(e.$slots, "default")
|
|
54
54
|
]),
|
|
55
|
-
e.$slots.aside ? (t(),
|
|
55
|
+
e.$slots.aside ? (t(), d("div", g, [
|
|
56
56
|
s(e.$slots, "aside")
|
|
57
|
-
])) :
|
|
57
|
+
])) : o("", !0)
|
|
58
58
|
]),
|
|
59
59
|
_: 3
|
|
60
60
|
}, 16, ["aria-level", "aria-selected", "type"]));
|
|
61
61
|
}
|
|
62
62
|
});
|
|
63
63
|
export {
|
|
64
|
-
|
|
64
|
+
w as default
|
|
65
65
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ScalarSidebarItemProps } from '../../components/ScalarSidebar/types';
|
|
2
2
|
import { type SidebarGroupLevel } from './useSidebarGroups.js';
|
|
3
3
|
/**
|
|
4
4
|
* Scalar Sidebar Group component
|
|
@@ -17,17 +17,11 @@ import { type SidebarGroupLevel } from './useSidebarGroups.js';
|
|
|
17
17
|
*/
|
|
18
18
|
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
19
19
|
modelValue?: boolean;
|
|
20
|
-
} & {
|
|
21
|
-
/** Override the element tag */
|
|
22
|
-
is?: Component | string;
|
|
23
|
-
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
20
|
+
} & ScalarSidebarItemProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
24
21
|
"update:modelValue": (value: boolean) => any;
|
|
25
22
|
}, string, import("vue").PublicProps, Readonly<{
|
|
26
23
|
modelValue?: boolean;
|
|
27
|
-
} & {
|
|
28
|
-
/** Override the element tag */
|
|
29
|
-
is?: Component | string;
|
|
30
|
-
}> & Readonly<{
|
|
24
|
+
} & ScalarSidebarItemProps> & Readonly<{
|
|
31
25
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
32
26
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, Readonly<{
|
|
33
27
|
/** The text content of the toggle */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarSidebarGroup.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarSidebar/ScalarSidebarGroup.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarSidebarGroup.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarSidebar/ScalarSidebarGroup.vue"],"names":[],"mappings":"AA8FA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAO9E,OAAO,EAAE,KAAK,iBAAiB,EAAoB,MAAM,oBAAoB,CAAA;AAI7E;;;;;;;;;;;;;;GAcG;;iBA+BU,OAAO;;;;iBAAP,OAAO;;;;IArBlB,qCAAqC;cAC3B,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,GAAG;IAC3C,wCAAwC;aAC/B,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,iBAAiB,CAAA;KAAE,KAAK,GAAG;IACpE,mCAAmC;YAC3B,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,GAAG;;IALzC,qCAAqC;cAC3B,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,GAAG;IAC3C,wCAAwC;aAC/B,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,iBAAiB,CAAA;KAAE,KAAK,GAAG;IACpE,mCAAmC;YAC3B,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,GAAG;;AAd3C,wBAgKC;AAWD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|