@scalar/components 0.14.19 → 0.14.21
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/ScalarCard/ScalarCardHeader.vue.d.ts.map +1 -1
- package/dist/components/ScalarCard/ScalarCardHeader.vue.js +12 -10
- package/dist/components/ScalarCodeBlock/ScalarCodeBlock.vue2.js +4 -0
- package/dist/components/ScalarCodeBlock/ScalarCodeBlock.vue3.js +1 -1
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleIcon.vue.js +1 -1
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleIcon.vue3.js +4 -0
- package/dist/components/ScalarCombobox/ScalarCombobox.vue.d.ts.map +1 -1
- package/dist/components/ScalarCombobox/ScalarCombobox.vue.js +15 -11
- package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.d.ts +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.js +7 -7
- package/dist/components/ScalarCombobox/ScalarComboboxOption.vue.d.ts.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue.d.ts.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue.js +5 -145
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue2.js +146 -2
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue3.js +4 -0
- package/dist/components/ScalarCombobox/types.d.ts +1 -1
- package/dist/components/ScalarCombobox/types.d.ts.map +1 -1
- package/dist/components/ScalarCombobox/types.js +6 -6
- package/dist/components/ScalarDropdown/ScalarDropdownButton.vue.js +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownButton.vue3.js +4 -0
- package/dist/components/ScalarDropdown/ScalarDropdownItem.vue.js +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownItem.vue3.js +4 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadInputCompact.vue.d.ts.map +1 -1
- package/dist/components/ScalarIcon/ScalarIcon.vue.js +1 -1
- package/dist/components/ScalarIcon/ScalarIcon.vue3.js +4 -0
- package/dist/components/ScalarListbox/ScalarListboxCheckbox.vue.d.ts.map +1 -1
- package/dist/components/ScalarLoading/ScalarLoading.vue.js +1 -1
- package/dist/components/ScalarLoading/ScalarLoading.vue3.js +4 -0
- package/dist/components/ScalarMarkdown/ScalarMarkdown.stories.d.ts +5 -0
- package/dist/components/ScalarMarkdown/ScalarMarkdown.stories.d.ts.map +1 -1
- package/dist/components/ScalarMarkdown/ScalarMarkdown.vue.d.ts.map +1 -1
- package/dist/components/ScalarMarkdown/ScalarMarkdown.vue.js +21 -21
- package/dist/components/ScalarMarkdown/ScalarMarkdown.vue2.js +4 -0
- package/dist/components/ScalarMarkdown/ScalarMarkdown.vue3.js +1 -1
- package/dist/components/ScalarMenu/ScalarMenuResources.vue.d.ts.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuTeamProfile.vue.d.ts.map +1 -1
- package/dist/components/ScalarModal/ScalarModal.vue.js +1 -1
- package/dist/components/ScalarModal/ScalarModal.vue3.js +4 -0
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue.js +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue3.js +4 -0
- package/dist/components/ScalarSidebar/ScalarSidebarItems.vue2.js +4 -0
- package/dist/components/ScalarSidebar/ScalarSidebarItems.vue3.js +1 -1
- package/dist/components/ScalarTooltip/ScalarTooltip.vue.d.ts.map +1 -1
- package/dist/components/ScalarTooltip/ScalarTooltip.vue2.js +4 -0
- package/dist/components/ScalarTooltip/ScalarTooltip.vue3.js +1 -1
- package/dist/docs/icons/ScalarIcons.stories.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -5
- package/dist/style.css +1 -1
- package/dist/style.css.js +4 -0
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarCardHeader.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarCard/ScalarCardHeader.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarCardHeader.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarCard/ScalarCardHeader.vue"],"names":[],"mappings":"AA8DA;;;;;;;;;;GAUG;;qBAwE0B,GAAG;qBACH,GAAG;;AAxEhC,wBAwGC;AAKD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent as n, useId as d, createBlock as i, openBlock as r, normalizeProps as c, guardReactiveProps as l, unref as a, withCtx as m, createElementVNode as f, createElementBlock as
|
|
2
|
-
import { useBindCx as
|
|
1
|
+
import { defineComponent as n, useId as d, createBlock as i, openBlock as r, normalizeProps as c, guardReactiveProps as l, unref as a, withCtx as m, createElementVNode as f, createElementBlock as p, createCommentVNode as _, renderSlot as o } from "vue";
|
|
2
|
+
import { useBindCx as u } from "@scalar/use-hooks/useBindCx";
|
|
3
3
|
import h from "./ScalarCardSection.vue.js";
|
|
4
|
-
import { useCardHeading as
|
|
5
|
-
const
|
|
4
|
+
import { useCardHeading as x } from "./useCardHeading.js";
|
|
5
|
+
const C = ["id"], k = {
|
|
6
6
|
key: 0,
|
|
7
7
|
class: "flex"
|
|
8
8
|
}, B = {}, H = /* @__PURE__ */ n({
|
|
@@ -10,9 +10,11 @@ const k = ["id"], x = {
|
|
|
10
10
|
inheritAttrs: !1,
|
|
11
11
|
__name: "ScalarCardHeader",
|
|
12
12
|
setup($) {
|
|
13
|
-
const { cx: s } =
|
|
14
|
-
return
|
|
15
|
-
a(s)(
|
|
13
|
+
const { cx: s } = u(), t = d();
|
|
14
|
+
return x(t), (e, g) => (r(), i(h, c(l(
|
|
15
|
+
a(s)(
|
|
16
|
+
"scalar-card-header leading-[22px] font-medium py-[6.75px] px-3 shrink-0"
|
|
17
|
+
)
|
|
16
18
|
)), {
|
|
17
19
|
default: m(() => [
|
|
18
20
|
f("div", {
|
|
@@ -20,10 +22,10 @@ const k = ["id"], x = {
|
|
|
20
22
|
class: "scalar-card-header-title min-w-0 flex-1 truncate"
|
|
21
23
|
}, [
|
|
22
24
|
o(e.$slots, "default")
|
|
23
|
-
], 8,
|
|
24
|
-
e.$slots.actions ? (r(),
|
|
25
|
+
], 8, C),
|
|
26
|
+
e.$slots.actions ? (r(), p("div", k, [
|
|
25
27
|
o(e.$slots, "actions")
|
|
26
|
-
])) :
|
|
28
|
+
])) : _("", !0)
|
|
27
29
|
]),
|
|
28
30
|
_: 3
|
|
29
31
|
}, 16));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarCombobox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarCombobox/ScalarCombobox.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarCombobox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarCombobox/ScalarCombobox.vue"],"names":[],"mappings":"AA4EA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIlD,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,qBAAqB,CAAA;AAEzB,KAAK,SAAS,GAAG;IACf,0CAA0C;IAC1C,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AA+BD,iBAAS,cAAc;WAqFT,OAAO,IAA6B;;QAzGhD,6CAA6C;uBAC9B,SAAS,GAAG,OAAO;QAClC,sDAAsD;uBACvC,SAAS,GAAG,OAAO;QAClC,qDAAqD;sBACvC,SAAS,GAAG,OAAO;;QALjC,6CAA6C;uBAC9B,SAAS,GAAG,OAAO;QAClC,sDAAsD;uBACvC,SAAS,GAAG,OAAO;QAClC,qDAAqD;sBACvC,SAAS,GAAG,OAAO;;;;EAyGlC;AAYD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;kFAQnB,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,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
const
|
|
1
|
+
import { defineComponent as n, createBlock as s, openBlock as i, withCtx as t, createVNode as f, createSlots as u, renderSlot as l } from "vue";
|
|
2
|
+
import V from "./ScalarComboboxOptions.vue.js";
|
|
3
|
+
import b from "./ScalarComboboxPopover.vue.js";
|
|
4
|
+
const y = /* @__PURE__ */ n({
|
|
5
5
|
__name: "ScalarCombobox",
|
|
6
6
|
props: {
|
|
7
7
|
options: {},
|
|
@@ -15,8 +15,12 @@ const h = /* @__PURE__ */ m({
|
|
|
15
15
|
teleport: { type: [Boolean, String] }
|
|
16
16
|
},
|
|
17
17
|
emits: ["update:modelValue"],
|
|
18
|
-
setup(
|
|
19
|
-
|
|
18
|
+
setup(c, { emit: a }) {
|
|
19
|
+
const r = a;
|
|
20
|
+
function p(e) {
|
|
21
|
+
e && r("update:modelValue", e);
|
|
22
|
+
}
|
|
23
|
+
return (e, h) => (i(), s(b, {
|
|
20
24
|
middleware: e.middleware,
|
|
21
25
|
offset: e.offset,
|
|
22
26
|
placement: e.placement ?? "bottom-start",
|
|
@@ -27,14 +31,14 @@ const h = /* @__PURE__ */ m({
|
|
|
27
31
|
default: t(({ open: o }) => [
|
|
28
32
|
l(e.$slots, "default", { open: o })
|
|
29
33
|
]),
|
|
30
|
-
popover: t(({ open: o, close:
|
|
31
|
-
|
|
34
|
+
popover: t(({ open: o, close: d }) => [
|
|
35
|
+
f(V, {
|
|
32
36
|
modelValue: e.modelValue ? [e.modelValue] : [],
|
|
33
37
|
open: o,
|
|
34
38
|
options: e.options,
|
|
35
39
|
placeholder: e.placeholder,
|
|
36
|
-
"onUpdate:modelValue": (
|
|
37
|
-
},
|
|
40
|
+
"onUpdate:modelValue": (m) => [p(m[0]), d()]
|
|
41
|
+
}, u({ _: 2 }, [
|
|
38
42
|
e.$slots.before ? {
|
|
39
43
|
name: "before",
|
|
40
44
|
fn: t(() => [
|
|
@@ -56,5 +60,5 @@ const h = /* @__PURE__ */ m({
|
|
|
56
60
|
}
|
|
57
61
|
});
|
|
58
62
|
export {
|
|
59
|
-
|
|
63
|
+
y as default
|
|
60
64
|
};
|
|
@@ -14,7 +14,7 @@ declare function __VLS_template(): {
|
|
|
14
14
|
$: import("vue").ComponentInternalInstance;
|
|
15
15
|
$data: {};
|
|
16
16
|
$props: {
|
|
17
|
-
readonly placement?: import("@floating-ui/
|
|
17
|
+
readonly placement?: import("@floating-ui/utils").Placement | undefined;
|
|
18
18
|
readonly offset?: import("@floating-ui/vue").OffsetOptions | undefined;
|
|
19
19
|
readonly resize?: boolean | undefined;
|
|
20
20
|
readonly target?: (string | HTMLElement) | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent as d, ref as f, createBlock as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { defineComponent as d, ref as f, createBlock as m, openBlock as n, withCtx as t, renderSlot as a, createCommentVNode as u, createSlots as b } from "vue";
|
|
2
|
+
import y from "./ScalarComboboxOptions.vue.js";
|
|
3
|
+
import V from "./ScalarComboboxPopover.vue.js";
|
|
4
4
|
const w = /* @__PURE__ */ d({
|
|
5
5
|
__name: "ScalarComboboxMultiselect",
|
|
6
6
|
props: {
|
|
@@ -16,9 +16,9 @@ const w = /* @__PURE__ */ d({
|
|
|
16
16
|
teleport: { type: [Boolean, String] }
|
|
17
17
|
},
|
|
18
18
|
emits: ["update:modelValue", "delete"],
|
|
19
|
-
setup(
|
|
19
|
+
setup($, { expose: i }) {
|
|
20
20
|
const s = f(null);
|
|
21
|
-
return i({ comboboxPopoverRef: s }), (e, o) => (n(),
|
|
21
|
+
return i({ comboboxPopoverRef: s }), (e, o) => (n(), m(V, {
|
|
22
22
|
ref_key: "comboboxPopoverRef",
|
|
23
23
|
ref: s,
|
|
24
24
|
middleware: e.middleware,
|
|
@@ -29,9 +29,9 @@ const w = /* @__PURE__ */ d({
|
|
|
29
29
|
teleport: e.teleport
|
|
30
30
|
}, {
|
|
31
31
|
popover: t(({ open: l }) => {
|
|
32
|
-
var
|
|
32
|
+
var p;
|
|
33
33
|
return [
|
|
34
|
-
(
|
|
34
|
+
(p = e.options) != null && p.length ? (n(), m(y, {
|
|
35
35
|
key: 0,
|
|
36
36
|
isDeletable: e.isDeletable,
|
|
37
37
|
modelValue: e.modelValue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarComboboxOption.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarCombobox/ScalarComboboxOption.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarComboboxOption.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarCombobox/ScalarComboboxOption.vue"],"names":[],"mappings":"AA2DA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,kBAAkB,CAAA;AAIzB,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,wBAAwB,CAAA;IAChC,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAC;AA+BF,iBAAS,cAAc;WA4ET,OAAO,IAA6B;;yBARrB,GAAG;;;;EAa/B;AAaD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;4FAQnB,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarComboboxOptions.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarCombobox/ScalarComboboxOptions.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarComboboxOptions.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarCombobox/ScalarComboboxOptions.vue"],"names":[],"mappings":"AA6NA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,WAAW,EAEjB,MAAM,SAAS,CAAA;AAIhB,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAC;AAuIF,iBAAS,cAAc;WA4KT,OAAO,IAA6B;;;;;;EAKjD;AAsBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;kFAOnB,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,147 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import { isGroups as z } from "./types.js";
|
|
6
|
-
const Z = { class: "relative flex" }, _ = ["aria-activedescendant", "placeholder"], ee = ["aria-multiselectable"], se = /* @__PURE__ */ q({
|
|
7
|
-
inheritAttrs: !1,
|
|
8
|
-
__name: "ScalarComboboxOptions",
|
|
9
|
-
props: {
|
|
10
|
-
options: {},
|
|
11
|
-
modelValue: {},
|
|
12
|
-
placeholder: {},
|
|
13
|
-
multiselect: { type: Boolean },
|
|
14
|
-
isDeletable: { type: Boolean }
|
|
15
|
-
},
|
|
16
|
-
emits: ["update:modelValue", "delete"],
|
|
17
|
-
setup(A, { emit: G }) {
|
|
18
|
-
var C;
|
|
19
|
-
const a = A, K = G, m = `scalar-combobox-items-${F()}`;
|
|
20
|
-
function p(e) {
|
|
21
|
-
return `${m}-${e.id}`;
|
|
22
|
-
}
|
|
23
|
-
const f = b(
|
|
24
|
-
() => z(a.options) ? a.options.flatMap((e) => e.options) : a.options
|
|
25
|
-
), O = b(
|
|
26
|
-
() => z(a.options) ? a.options : [{ label: "", options: a.options }]
|
|
27
|
-
), r = h(""), o = h(
|
|
28
|
-
((C = a.modelValue) == null ? void 0 : C[0]) ?? f.value[0]
|
|
29
|
-
);
|
|
30
|
-
M(async () => {
|
|
31
|
-
var e;
|
|
32
|
-
r.value = "", o.value = ((e = a.modelValue) == null ? void 0 : e[0]) ?? f.value[0], s.value.length !== 0 && setTimeout(() => {
|
|
33
|
-
var t;
|
|
34
|
-
(t = document == null ? void 0 : document.getElementById(p(s.value[0]))) == null || t.scrollIntoView({ block: "nearest" });
|
|
35
|
-
}, 10);
|
|
36
|
-
}), U(
|
|
37
|
-
() => r.value,
|
|
38
|
-
() => o.value = c.value[0]
|
|
39
|
-
);
|
|
40
|
-
const c = b(
|
|
41
|
-
() => r.value === "" ? f.value : f.value.filter((e) => e.label.toLowerCase().includes(r.value.toLowerCase()))
|
|
42
|
-
), s = b({
|
|
43
|
-
get: () => a.modelValue ?? [],
|
|
44
|
-
set: (e) => e && K("update:modelValue", e)
|
|
45
|
-
});
|
|
46
|
-
function k(e) {
|
|
47
|
-
a.multiselect ? s.value.some((t) => t.id === e.id) ? s.value = s.value.filter((t) => t.id !== e.id) : s.value = [...s.value, e] : s.value = [e];
|
|
48
|
-
}
|
|
49
|
-
function I(e) {
|
|
50
|
-
var l;
|
|
51
|
-
const t = c.value, u = t.findIndex((d) => {
|
|
52
|
-
var i;
|
|
53
|
-
return d.id === ((i = o.value) == null ? void 0 : i.id);
|
|
54
|
-
}) + e;
|
|
55
|
-
u < 0 || u > t.length - 1 || (o.value = t[u], (l = document == null ? void 0 : document.getElementById(p(o.value))) == null || l.scrollIntoView({
|
|
56
|
-
behavior: "smooth",
|
|
57
|
-
block: "nearest"
|
|
58
|
-
}));
|
|
59
|
-
}
|
|
60
|
-
const D = h(null);
|
|
61
|
-
return M(() => setTimeout(() => {
|
|
62
|
-
var e;
|
|
63
|
-
return (e = D.value) == null ? void 0 : e.focus();
|
|
64
|
-
}, 0)), (e, t) => (v(), y($, null, [
|
|
65
|
-
w("div", Z, [
|
|
66
|
-
j(H(W), { class: "pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-c-3 size-4" }),
|
|
67
|
-
B(w("input", {
|
|
68
|
-
"onUpdate:modelValue": t[0] || (t[0] = (n) => r.value = n),
|
|
69
|
-
ref_key: "input",
|
|
70
|
-
ref: D,
|
|
71
|
-
"aria-activedescendant": o.value ? p(o.value) : void 0,
|
|
72
|
-
"aria-autocomplete": "list",
|
|
73
|
-
"aria-controls": m,
|
|
74
|
-
class: "min-w-0 flex-1 rounded border-0 py-2.5 pl-8 pr-3 leading-none text-c-1 -outline-offset-1",
|
|
75
|
-
"data-1p-ignore": "",
|
|
76
|
-
placeholder: e.placeholder,
|
|
77
|
-
role: "combobox",
|
|
78
|
-
tabindex: "0",
|
|
79
|
-
type: "text",
|
|
80
|
-
onKeydown: [
|
|
81
|
-
t[1] || (t[1] = x(g((n) => I(1), ["prevent"]), ["down"])),
|
|
82
|
-
t[2] || (t[2] = x(g((n) => o.value && k(o.value), ["prevent"]), ["enter"])),
|
|
83
|
-
t[3] || (t[3] = x(g((n) => I(-1), ["prevent"]), ["up"]))
|
|
84
|
-
]
|
|
85
|
-
}, null, 40, _), [
|
|
86
|
-
[J, r.value]
|
|
87
|
-
])
|
|
88
|
-
]),
|
|
89
|
-
B(w("ul", {
|
|
90
|
-
id: m,
|
|
91
|
-
"aria-multiselectable": e.multiselect,
|
|
92
|
-
class: "border-t p-0.75 custom-scroll overscroll-contain flex-1 min-h-0",
|
|
93
|
-
role: "listbox",
|
|
94
|
-
tabindex: "-1"
|
|
95
|
-
}, [
|
|
96
|
-
S(e.$slots, "before"),
|
|
97
|
-
(v(!0), y($, null, E(O.value, (n, u) => (v(), N(Y, {
|
|
98
|
-
id: `${m}-group-${u}`,
|
|
99
|
-
key: u,
|
|
100
|
-
hidden: (
|
|
101
|
-
// Only show the group label if there are some results
|
|
102
|
-
!n.options.some((l) => c.value.some((d) => d.id === l.id)) || // And it has a label
|
|
103
|
-
!n.label
|
|
104
|
-
)
|
|
105
|
-
}, {
|
|
106
|
-
label: V(() => [
|
|
107
|
-
T(L(n.label), 1)
|
|
108
|
-
]),
|
|
109
|
-
default: V(() => [
|
|
110
|
-
(v(!0), y($, null, E(c.value, (l) => {
|
|
111
|
-
var d;
|
|
112
|
-
return v(), y($, {
|
|
113
|
-
key: l.id
|
|
114
|
-
}, [
|
|
115
|
-
n.options.some((i) => i.id === l.id) ? (v(), N(X, {
|
|
116
|
-
key: 0,
|
|
117
|
-
id: p(l),
|
|
118
|
-
active: ((d = o.value) == null ? void 0 : d.id) === l.id,
|
|
119
|
-
isDeletable: l.isDeletable ?? e.isDeletable,
|
|
120
|
-
selected: s.value.some((i) => i.id === l.id),
|
|
121
|
-
style: Q(e.multiselect ? "checkbox" : "radio"),
|
|
122
|
-
onClick: (i) => k(l),
|
|
123
|
-
onDelete: (i) => e.$emit("delete", l),
|
|
124
|
-
onMousedown: t[4] || (t[4] = g(() => {
|
|
125
|
-
}, ["prevent"])),
|
|
126
|
-
onMouseenter: (i) => o.value = l
|
|
127
|
-
}, {
|
|
128
|
-
default: V(() => [
|
|
129
|
-
T(L(l.label), 1)
|
|
130
|
-
]),
|
|
131
|
-
_: 2
|
|
132
|
-
}, 1032, ["id", "active", "isDeletable", "selected", "style", "onClick", "onDelete", "onMouseenter"])) : P("", !0)
|
|
133
|
-
], 64);
|
|
134
|
-
}), 128))
|
|
135
|
-
]),
|
|
136
|
-
_: 2
|
|
137
|
-
}, 1032, ["id", "hidden"]))), 128)),
|
|
138
|
-
S(e.$slots, "after")
|
|
139
|
-
], 8, ee), [
|
|
140
|
-
[R, c.value.length || e.$slots.before || e.$slots.after]
|
|
141
|
-
])
|
|
142
|
-
], 64));
|
|
143
|
-
}
|
|
144
|
-
});
|
|
1
|
+
import o from "./ScalarComboboxOptions.vue2.js";
|
|
2
|
+
import "./ScalarComboboxOptions.vue3.js";
|
|
3
|
+
import t from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-6cc86eda"]]);
|
|
145
5
|
export {
|
|
146
|
-
|
|
6
|
+
a as default
|
|
147
7
|
};
|
|
@@ -1,4 +1,148 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { defineComponent as q, useId as F, computed as b, ref as g, onMounted as M, watch as U, createElementBlock as y, openBlock as v, Fragment as $, createElementVNode as w, withDirectives as B, createVNode as j, unref as H, withKeys as x, withModifiers as h, vModelText as J, renderSlot as S, renderList as E, createBlock as N, withCtx as V, createCommentVNode as P, normalizeStyle as Q, createTextVNode as T, toDisplayString as L, vShow as R } from "vue";
|
|
2
|
+
import { ScalarIconMagnifyingGlass as W } from "@scalar/icons";
|
|
3
|
+
import X from "./ScalarComboboxOption.vue.js";
|
|
4
|
+
import Y from "./ScalarComboboxOptionGroup.vue.js";
|
|
5
|
+
import { isGroups as z } from "./types.js";
|
|
6
|
+
const Z = { class: "relative flex" }, _ = ["aria-activedescendant", "placeholder"], ee = ["aria-multiselectable"], ie = /* @__PURE__ */ q({
|
|
7
|
+
inheritAttrs: !1,
|
|
8
|
+
__name: "ScalarComboboxOptions",
|
|
9
|
+
props: {
|
|
10
|
+
options: {},
|
|
11
|
+
modelValue: {},
|
|
12
|
+
placeholder: {},
|
|
13
|
+
multiselect: { type: Boolean },
|
|
14
|
+
isDeletable: { type: Boolean }
|
|
15
|
+
},
|
|
16
|
+
emits: ["update:modelValue", "delete"],
|
|
17
|
+
setup(A, { emit: G }) {
|
|
18
|
+
var C;
|
|
19
|
+
const a = A, K = G, m = `scalar-combobox-items-${F()}`;
|
|
20
|
+
function f(e) {
|
|
21
|
+
return `${m}-${e.id}`;
|
|
22
|
+
}
|
|
23
|
+
const p = b(
|
|
24
|
+
() => z(a.options) ? a.options.flatMap((e) => e.options) : a.options
|
|
25
|
+
), O = b(
|
|
26
|
+
() => z(a.options) ? a.options : [{ label: "", options: a.options }]
|
|
27
|
+
), r = g(""), n = g(
|
|
28
|
+
((C = a.modelValue) == null ? void 0 : C[0]) ?? p.value[0]
|
|
29
|
+
);
|
|
30
|
+
M(async () => {
|
|
31
|
+
var e;
|
|
32
|
+
r.value = "", n.value = ((e = a.modelValue) == null ? void 0 : e[0]) ?? p.value[0], i.value.length !== 0 && setTimeout(() => {
|
|
33
|
+
var o;
|
|
34
|
+
const t = i.value[0];
|
|
35
|
+
t && ((o = document == null ? void 0 : document.getElementById(f(t))) == null || o.scrollIntoView({ block: "nearest" }));
|
|
36
|
+
}, 10);
|
|
37
|
+
}), U(
|
|
38
|
+
() => r.value,
|
|
39
|
+
() => n.value = c.value[0]
|
|
40
|
+
);
|
|
41
|
+
const c = b(
|
|
42
|
+
() => r.value === "" ? p.value : p.value.filter((e) => e.label.toLowerCase().includes(r.value.toLowerCase()))
|
|
43
|
+
), i = b({
|
|
44
|
+
get: () => a.modelValue ?? [],
|
|
45
|
+
set: (e) => e && K("update:modelValue", e)
|
|
46
|
+
});
|
|
47
|
+
function k(e) {
|
|
48
|
+
a.multiselect ? i.value.some((t) => t.id === e.id) ? i.value = i.value.filter((t) => t.id !== e.id) : i.value = [...i.value, e] : i.value = [e];
|
|
49
|
+
}
|
|
50
|
+
function I(e) {
|
|
51
|
+
var l;
|
|
52
|
+
const t = c.value, u = t.findIndex((d) => {
|
|
53
|
+
var s;
|
|
54
|
+
return d.id === ((s = n.value) == null ? void 0 : s.id);
|
|
55
|
+
}) + e;
|
|
56
|
+
u < 0 || u > t.length - 1 || (n.value = t[u], n.value && ((l = document == null ? void 0 : document.getElementById(f(n.value))) == null || l.scrollIntoView({
|
|
57
|
+
behavior: "smooth",
|
|
58
|
+
block: "nearest"
|
|
59
|
+
})));
|
|
60
|
+
}
|
|
61
|
+
const D = g(null);
|
|
62
|
+
return M(() => setTimeout(() => {
|
|
63
|
+
var e;
|
|
64
|
+
return (e = D.value) == null ? void 0 : e.focus();
|
|
65
|
+
}, 0)), (e, t) => (v(), y($, null, [
|
|
66
|
+
w("div", Z, [
|
|
67
|
+
j(H(W), { class: "pointer-events-none absolute left-2.5 search-icon text-c-3 size-4" }),
|
|
68
|
+
B(w("input", {
|
|
69
|
+
"onUpdate:modelValue": t[0] || (t[0] = (o) => r.value = o),
|
|
70
|
+
ref_key: "input",
|
|
71
|
+
ref: D,
|
|
72
|
+
"aria-activedescendant": n.value ? f(n.value) : void 0,
|
|
73
|
+
"aria-autocomplete": "list",
|
|
74
|
+
"aria-controls": m,
|
|
75
|
+
class: "min-w-0 flex-1 rounded border-0 py-2.5 pl-8 pr-3 leading-none text-c-1 -outline-offset-1",
|
|
76
|
+
"data-1p-ignore": "",
|
|
77
|
+
placeholder: e.placeholder,
|
|
78
|
+
role: "combobox",
|
|
79
|
+
tabindex: "0",
|
|
80
|
+
type: "text",
|
|
81
|
+
onKeydown: [
|
|
82
|
+
t[1] || (t[1] = x(h((o) => I(1), ["prevent"]), ["down"])),
|
|
83
|
+
t[2] || (t[2] = x(h((o) => n.value && k(n.value), ["prevent"]), ["enter"])),
|
|
84
|
+
t[3] || (t[3] = x(h((o) => I(-1), ["prevent"]), ["up"]))
|
|
85
|
+
]
|
|
86
|
+
}, null, 40, _), [
|
|
87
|
+
[J, r.value]
|
|
88
|
+
])
|
|
89
|
+
]),
|
|
90
|
+
B(w("ul", {
|
|
91
|
+
id: m,
|
|
92
|
+
"aria-multiselectable": e.multiselect,
|
|
93
|
+
class: "border-t p-0.75 custom-scroll overscroll-contain flex-1 min-h-0",
|
|
94
|
+
role: "listbox",
|
|
95
|
+
tabindex: "-1"
|
|
96
|
+
}, [
|
|
97
|
+
S(e.$slots, "before", {}, void 0, !0),
|
|
98
|
+
(v(!0), y($, null, E(O.value, (o, u) => (v(), N(Y, {
|
|
99
|
+
id: `${m}-group-${u}`,
|
|
100
|
+
key: u,
|
|
101
|
+
hidden: (
|
|
102
|
+
// Only show the group label if there are some results
|
|
103
|
+
!o.options.some((l) => c.value.some((d) => d.id === l.id)) || // And it has a label
|
|
104
|
+
!o.label
|
|
105
|
+
)
|
|
106
|
+
}, {
|
|
107
|
+
label: V(() => [
|
|
108
|
+
T(L(o.label), 1)
|
|
109
|
+
]),
|
|
110
|
+
default: V(() => [
|
|
111
|
+
(v(!0), y($, null, E(c.value, (l) => {
|
|
112
|
+
var d;
|
|
113
|
+
return v(), y($, {
|
|
114
|
+
key: l.id
|
|
115
|
+
}, [
|
|
116
|
+
o.options.some((s) => s.id === l.id) ? (v(), N(X, {
|
|
117
|
+
key: 0,
|
|
118
|
+
id: f(l),
|
|
119
|
+
active: ((d = n.value) == null ? void 0 : d.id) === l.id,
|
|
120
|
+
isDeletable: l.isDeletable ?? e.isDeletable,
|
|
121
|
+
selected: i.value.some((s) => s.id === l.id),
|
|
122
|
+
style: Q(e.multiselect ? "checkbox" : "radio"),
|
|
123
|
+
onClick: (s) => k(l),
|
|
124
|
+
onDelete: (s) => e.$emit("delete", l),
|
|
125
|
+
onMousedown: t[4] || (t[4] = h(() => {
|
|
126
|
+
}, ["prevent"])),
|
|
127
|
+
onMouseenter: (s) => n.value = l
|
|
128
|
+
}, {
|
|
129
|
+
default: V(() => [
|
|
130
|
+
T(L(l.label), 1)
|
|
131
|
+
]),
|
|
132
|
+
_: 2
|
|
133
|
+
}, 1032, ["id", "active", "isDeletable", "selected", "style", "onClick", "onDelete", "onMouseenter"])) : P("", !0)
|
|
134
|
+
], 64);
|
|
135
|
+
}), 128))
|
|
136
|
+
]),
|
|
137
|
+
_: 2
|
|
138
|
+
}, 1032, ["id", "hidden"]))), 128)),
|
|
139
|
+
S(e.$slots, "after", {}, void 0, !0)
|
|
140
|
+
], 8, ee), [
|
|
141
|
+
[R, c.value.length || e.$slots.before || e.$slots.after]
|
|
142
|
+
])
|
|
143
|
+
], 64));
|
|
144
|
+
}
|
|
145
|
+
});
|
|
2
146
|
export {
|
|
3
|
-
|
|
147
|
+
ie as default
|
|
4
148
|
};
|
|
@@ -9,7 +9,7 @@ export type OptionGroup = {
|
|
|
9
9
|
options: Option[];
|
|
10
10
|
};
|
|
11
11
|
/** Type guard to check if an option is a group */
|
|
12
|
-
export declare function isGroup(option: Option | OptionGroup): option is OptionGroup;
|
|
12
|
+
export declare function isGroup(option: Option | OptionGroup | undefined): option is OptionGroup;
|
|
13
13
|
/** Type guard to check if an array of options is an array of groups */
|
|
14
14
|
export declare function isGroups(options: Option[] | OptionGroup[]): options is OptionGroup[];
|
|
15
15
|
/** Available slots for the combobox */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarCombobox/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,kDAAkD;AAClD,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,IAAI,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarCombobox/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,kDAAkD;AAClD,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,IAAI,WAAW,CAEvF;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,IAAI,WAAW,EAAE,CAEpF;AAED,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG;IAC1B,uDAAuD;IACvD,OAAO,IAAI,OAAO,CAAA;IAClB,sDAAsD;IACtD,MAAM,CAAC,IAAI,OAAO,CAAA;IAClB,qDAAqD;IACrD,KAAK,CAAC,IAAI,OAAO,CAAA;CAClB,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
function
|
|
2
|
-
return
|
|
1
|
+
function u(r) {
|
|
2
|
+
return (r == null ? void 0 : r.options) !== void 0;
|
|
3
3
|
}
|
|
4
|
-
function r
|
|
5
|
-
return
|
|
4
|
+
function s(r) {
|
|
5
|
+
return u(r[0]);
|
|
6
6
|
}
|
|
7
7
|
export {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
u as isGroup,
|
|
9
|
+
s as isGroups
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarFileUploadInputCompact.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarFileUpload/ScalarFileUploadInputCompact.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarFileUploadInputCompact.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarFileUpload/ScalarFileUploadInputCompact.vue"],"names":[],"mappings":"AAyDA,OAAO,KAAK,EAEV,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAIhB;;;;;;;GAOG;;;;;;AACH,wBAwGC;AAWD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarListboxCheckbox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarListbox/ScalarListboxCheckbox.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarListboxCheckbox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarListbox/ScalarListboxCheckbox.vue"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB,CAAC;;AAuEF,wBAOG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import o from "./ScalarLoading.vue2.js";
|
|
2
2
|
import { useLoadingState as i } from "./ScalarLoading.vue2.js";
|
|
3
|
-
|
|
3
|
+
import "./ScalarLoading.vue3.js";
|
|
4
4
|
import t from "../../_virtual/_plugin-vue_export-helper.js";
|
|
5
5
|
const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-f525638b"]]);
|
|
6
6
|
export {
|
|
@@ -25,6 +25,11 @@ declare const meta: {
|
|
|
25
25
|
withImages: boolean;
|
|
26
26
|
withAnchors: boolean;
|
|
27
27
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
28
|
+
argTypes: {
|
|
29
|
+
class: {
|
|
30
|
+
control: "text";
|
|
31
|
+
};
|
|
32
|
+
};
|
|
28
33
|
tags: string[];
|
|
29
34
|
render: (args: import("@storybook/vue3").ComponentPropsAndSlots<import("vue").DefineComponent<{
|
|
30
35
|
value?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarMarkdown.stories.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarMarkdown/ScalarMarkdown.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAKrD;;GAEG;AACH,QAAA,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"ScalarMarkdown.stories.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarMarkdown/ScalarMarkdown.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAKrD;;GAEG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAa6B,CAAA;AAEvC,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,IAAI,EAAE,KAA4C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarMarkdown.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarMarkdown/ScalarMarkdown.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarMarkdown.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarMarkdown/ScalarMarkdown.vue"],"names":[],"mappings":"AAkrBA,KAAK,WAAW,GAAG;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAC;;gBAPa,OAAO;iBAKN,OAAO;;AAmHzB,wBAQG"}
|