@scalar/components 0.11.6 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,17 +1,17 @@
1
1
  import { defineComponent as a, openBlock as p, createBlock as i, unref as o, withCtx as t, createVNode as l, mergeProps as m, renderSlot as s, createElementVNode as f } from "vue";
2
2
  import { Menu as u, MenuItems as d, MenuButton as c } from "@headlessui/vue";
3
3
  import _ from "../ScalarFloating/ScalarFloating.vue.js";
4
- const h = /* @__PURE__ */ f("div", { class: "absolute inset-0 -z-1 rounded bg-b-1 shadow-lg brightness-lifted" }, null, -1), w = /* @__PURE__ */ a({
4
+ const g = /* @__PURE__ */ f("div", { class: "absolute inset-0 -z-1 rounded bg-b-1 shadow-lg brightness-lifted" }, null, -1), w = /* @__PURE__ */ a({
5
5
  inheritAttrs: !1,
6
6
  __name: "ScalarDropdown",
7
7
  props: {
8
8
  placement: {},
9
9
  resize: { type: Boolean },
10
10
  isOpen: { type: Boolean },
11
- teleport: { type: Boolean }
11
+ teleport: { type: [Boolean, String] }
12
12
  },
13
- setup(B) {
14
- return (e, b) => (p(), i(o(u), null, {
13
+ setup(h) {
14
+ return (e, B) => (p(), i(o(u), null, {
15
15
  default: t(({ open: r }) => [
16
16
  l(o(_), {
17
17
  isOpen: r ?? e.isOpen,
@@ -26,7 +26,7 @@ const h = /* @__PURE__ */ f("div", { class: "absolute inset-0 -z-1 rounded bg-b-
26
26
  }, e.$attrs), {
27
27
  default: t(() => [
28
28
  s(e.$slots, "items"),
29
- h
29
+ g
30
30
  ]),
31
31
  _: 2
32
32
  }, 1040, ["style"])
@@ -1,20 +1,20 @@
1
1
  import { defineComponent as s, openBlock as i, createBlock as l, unref as t, withCtx as d, createElementVNode as p, normalizeClass as m, renderSlot as c } from "vue";
2
2
  import { MenuItem as b } from "@headlessui/vue";
3
3
  import { cva as u, cx as f } from "../../cva.js";
4
- const g = /* @__PURE__ */ s({
4
+ const w = /* @__PURE__ */ s({
5
5
  __name: "ScalarDropdownItem",
6
6
  props: {
7
7
  disabled: { type: Boolean }
8
8
  },
9
9
  emits: ["click"],
10
10
  setup(x) {
11
- const o = u({
11
+ const r = u({
12
12
  base: [
13
13
  // Layout
14
14
  "min-w-0 items-center gap-3 rounded px-2.5 py-1.5 text-left",
15
15
  "first-of-type:mt-0.75 last-of-type:mb-0.75",
16
16
  // Text / background style
17
- "truncate bg-transparent text-xs text-c-1",
17
+ "truncate text-xs text-c-1",
18
18
  // Interaction
19
19
  "cursor-pointer hover:bg-b-2 hover:text-c-1"
20
20
  ],
@@ -23,12 +23,12 @@ const g = /* @__PURE__ */ s({
23
23
  active: { true: "bg-b-2 text-c-1" }
24
24
  }
25
25
  });
26
- return (e, r) => (i(), l(t(b), { disabled: e.disabled }, {
26
+ return (e, o) => (i(), l(t(b), { disabled: e.disabled }, {
27
27
  default: d(({ active: a }) => [
28
28
  p("button", {
29
- class: m(["item", t(f)("scalar-dropdown-item", t(o)({ active: a, disabled: e.disabled }))]),
29
+ class: m(["item", t(f)("scalar-dropdown-item", t(r)({ active: a, disabled: e.disabled }))]),
30
30
  type: "button",
31
- onClick: r[0] || (r[0] = (n) => e.$emit("click", n))
31
+ onClick: o[0] || (o[0] = (n) => e.$emit("click", n))
32
32
  }, [
33
33
  c(e.$slots, "default")
34
34
  ], 2)
@@ -38,5 +38,5 @@ const g = /* @__PURE__ */ s({
38
38
  }
39
39
  });
40
40
  export {
41
- g as default
41
+ w as default
42
42
  };
@@ -1,8 +1,8 @@
1
- import { defineComponent as w, ref as s, computed as t, openBlock as d, createElementBlock as z, Fragment as b, createElementVNode as p, normalizeClass as k, renderSlot as m, createBlock as B, Teleport as R, normalizeStyle as S, unref as f, createCommentVNode as C } from "vue";
1
+ import { defineComponent as w, ref as d, computed as t, openBlock as p, createElementBlock as z, Fragment as S, createElementVNode as r, normalizeClass as b, renderSlot as m, createBlock as k, Teleport as B, normalizeStyle as R, unref as f, createCommentVNode as C } from "vue";
2
2
  import { getSideAxis as c } from "@floating-ui/utils";
3
3
  import { useFloating as E, autoUpdate as F, offset as _, flip as $, shift as A } from "@floating-ui/vue";
4
4
  import { useResizeWithTarget as N } from "./useResizeWithTarget.js";
5
- const D = /* @__PURE__ */ w({
5
+ const O = { class: "scalar-app" }, H = /* @__PURE__ */ w({
6
6
  inheritAttrs: !1,
7
7
  __name: "ScalarFloating",
8
8
  props: {
@@ -10,21 +10,21 @@ const D = /* @__PURE__ */ w({
10
10
  resize: { type: Boolean },
11
11
  middleware: {},
12
12
  isOpen: { type: Boolean },
13
- teleport: { type: Boolean }
13
+ teleport: { type: [Boolean, String] }
14
14
  },
15
15
  setup(u) {
16
- const o = u, r = s(null), l = s(null), n = t(
16
+ const o = u, n = d(null), l = d(null), i = t(
17
17
  () => {
18
18
  var e, a;
19
19
  return (((a = (e = l.value) == null ? void 0 : e.children) == null ? void 0 : a[0]) || l.value) ?? void 0;
20
20
  }
21
- ), i = N(n, {
21
+ ), s = N(i, {
22
22
  enabled: t(() => o.resize)
23
23
  }), g = t(
24
- () => c(o.placement || "bottom") === "y" ? i.width.value : void 0
24
+ () => c(o.placement || "bottom") === "y" ? s.width.value : void 0
25
25
  ), h = t(
26
- () => c(o.placement || "bottom") === "x" ? i.height.value : void 0
27
- ), { floatingStyles: v, middlewareData: y } = E(n, r, {
26
+ () => c(o.placement || "bottom") === "x" ? s.height.value : void 0
27
+ ), { floatingStyles: v, middlewareData: y } = E(i, n, {
28
28
  placement: t(() => o.placement),
29
29
  whileElementsMounted: F,
30
30
  middleware: t(() => [
@@ -34,35 +34,37 @@ const D = /* @__PURE__ */ w({
34
34
  ...o.middleware ?? []
35
35
  ])
36
36
  });
37
- return (e, a) => (d(), z(b, null, [
38
- p("div", {
37
+ return (e, a) => (p(), z(S, null, [
38
+ r("div", {
39
39
  ref_key: "wrapperRef",
40
40
  ref: l,
41
- class: k({ contents: !!e.$slots.default })
41
+ class: b({ contents: !!e.$slots.default })
42
42
  }, [
43
43
  m(e.$slots, "default")
44
44
  ], 2),
45
- e.isOpen ? (d(), B(R, {
45
+ e.isOpen ? (p(), k(B, {
46
46
  key: 0,
47
47
  disabled: !e.teleport,
48
- to: "body"
48
+ to: typeof e.teleport == "string" ? e.teleport : "body"
49
49
  }, [
50
- p("div", {
51
- ref_key: "floatingRef",
52
- ref: r,
53
- class: "relative z-overlay",
54
- style: S(f(v))
55
- }, [
56
- m(e.$slots, "floating", {
57
- data: f(y),
58
- height: h.value,
59
- width: g.value
60
- })
61
- ], 4)
62
- ], 8, ["disabled"])) : C("", !0)
50
+ r("div", O, [
51
+ r("div", {
52
+ ref_key: "floatingRef",
53
+ ref: n,
54
+ class: "relative z-overlay",
55
+ style: R(f(v))
56
+ }, [
57
+ m(e.$slots, "floating", {
58
+ data: f(y),
59
+ height: h.value,
60
+ width: g.value
61
+ })
62
+ ], 4)
63
+ ])
64
+ ], 8, ["disabled", "to"])) : C("", !0)
63
65
  ], 64));
64
66
  }
65
67
  });
66
68
  export {
67
- D as default
69
+ H as default
68
70
  };
@@ -1,14 +1,14 @@
1
- import { defineComponent as u, ref as a, watch as m, openBlock as n, createElementBlock as z, normalizeClass as r, unref as o, createBlock as p, resolveDynamicComponent as f } from "vue";
2
- import { cva as k, cx as v } from "../../cva.js";
3
- import { getIcon as d } from "./icons/index.js";
4
- const B = /* @__PURE__ */ u({
1
+ import { defineComponent as c, shallowRef as u, ref as m, watch as z, openBlock as i, createElementBlock as f, normalizeClass as n, unref as o, createBlock as p, resolveDynamicComponent as k } from "vue";
2
+ import { cva as v, cx as d } from "../../cva.js";
3
+ import { getIcon as x } from "./icons/index.js";
4
+ const w = /* @__PURE__ */ c({
5
5
  __name: "ScalarIcon",
6
6
  props: {
7
7
  icon: {},
8
8
  size: {}
9
9
  },
10
- setup(t) {
11
- const c = t, i = k({
10
+ setup(r) {
11
+ const t = r, l = v({
12
12
  variants: {
13
13
  size: {
14
14
  xs: "size-3 stroke-[1.4]",
@@ -24,22 +24,22 @@ const B = /* @__PURE__ */ u({
24
24
  defaultVariants: {
25
25
  size: "full"
26
26
  }
27
- }), l = a(null), s = a(!0);
28
- return m(
29
- () => c.icon,
27
+ }), a = u(null), s = m(!0);
28
+ return z(
29
+ () => t.icon,
30
30
  async (e) => {
31
- s.value = !0, l.value = await d(e), s.value = !1;
31
+ s.value = !0, a.value = await x(e), s.value = !1;
32
32
  },
33
33
  { immediate: !0 }
34
- ), (e, x) => s.value ? (n(), z("div", {
34
+ ), (e, y) => s.value ? (i(), f("div", {
35
35
  key: 0,
36
- class: r(o(i)({ size: e.size ? e.size : "xs" }))
37
- }, null, 2)) : (n(), p(f(l.value), {
36
+ class: n(o(l)({ size: e.size ? e.size : "xs" }))
37
+ }, null, 2)) : (i(), p(k(a.value), {
38
38
  key: 1,
39
- class: r(o(v)("scalar-icon", o(i)({ size: e.size })))
39
+ class: n(o(d)("scalar-icon", o(l)({ size: e.size })))
40
40
  }, null, 8, ["class"]));
41
41
  }
42
42
  });
43
43
  export {
44
- B as default
44
+ w as default
45
45
  };
@@ -1,26 +1,28 @@
1
- import { defineComponent as b, openBlock as i, createBlock as d, unref as t, withCtx as s, createVNode as a, mergeProps as x, createElementBlock as v, Fragment as g, renderList as y, createElementVNode as o, normalizeClass as m, toDisplayString as _, renderSlot as h } from "vue";
2
- import { Listbox as V, ListboxOptions as k, ListboxOption as z, ListboxButton as B } from "@headlessui/vue";
1
+ import { defineComponent as b, openBlock as i, createBlock as u, unref as t, normalizeClass as n, withCtx as l, createVNode as a, mergeProps as y, createElementBlock as g, Fragment as v, renderList as x, createElementVNode as o, toDisplayString as h, renderSlot as B } from "vue";
2
+ import { Listbox as V, ListboxOptions as k, ListboxOption as z, ListboxButton as _ } from "@headlessui/vue";
3
3
  import { cva as w, cx as L } from "../../cva.js";
4
4
  import O from "../ScalarFloating/ScalarFloating.vue.js";
5
5
  import $ from "../ScalarIcon/ScalarIcon.vue.js";
6
- const C = { class: "inline-block min-w-0 flex-1 truncate text-c-1" }, S = /* @__PURE__ */ o("div", { class: "absolute inset-0 -z-1 rounded bg-b-1 shadow-md brightness-lifted" }, null, -1), P = /* @__PURE__ */ b({
6
+ const C = { class: "inline-block min-w-0 flex-1 truncate text-c-1" }, S = /* @__PURE__ */ o("div", { class: "absolute inset-0 -z-1 rounded bg-b-1 shadow-md brightness-lifted" }, null, -1), F = /* @__PURE__ */ b({
7
7
  inheritAttrs: !1,
8
8
  __name: "ScalarListbox",
9
9
  props: {
10
+ multiple: { type: Boolean, default: !1 },
10
11
  options: {},
11
12
  modelValue: {},
13
+ fullWidth: { type: Boolean },
12
14
  placement: {},
13
15
  resize: { type: Boolean },
14
16
  isOpen: { type: Boolean },
15
- teleport: { type: Boolean }
17
+ teleport: { type: [Boolean, String] }
16
18
  },
17
19
  emits: ["update:modelValue"],
18
- setup(E) {
19
- const u = w({
20
+ setup(j) {
21
+ const m = w({
20
22
  base: [
21
23
  // Layout
22
24
  "group",
23
- "text-lef flex min-w-0 items-center gap-1.5 rounded px-2 py-1.5",
25
+ "flex min-w-0 items-center gap-1.5 rounded px-2 py-1.5 text-left",
24
26
  "first-of-type:mt-0.75 last-of-type:mb-0.75",
25
27
  // Text / background style
26
28
  "truncate bg-transparent text-c-1",
@@ -33,46 +35,47 @@ const C = { class: "inline-block min-w-0 flex-1 truncate text-c-1" }, S = /* @__
33
35
  disabled: { true: "pointer-events-none opacity-50" }
34
36
  }
35
37
  });
36
- return (e, n) => (i(), d(t(V), {
38
+ return (e, p) => (i(), u(t(V), {
37
39
  as: "div",
38
- class: "text-xs",
40
+ class: n([{ "w-full": e.fullWidth }, "text-xs"]),
39
41
  modelValue: e.modelValue,
40
- "onUpdate:modelValue": n[0] || (n[0] = (r) => e.$emit("update:modelValue", r))
42
+ multiple: e.multiple,
43
+ "onUpdate:modelValue": p[0] || (p[0] = (r) => e.$emit("update:modelValue", r))
41
44
  }, {
42
- default: s(({ open: r }) => [
45
+ default: l(({ open: r }) => [
43
46
  a(t(O), {
44
47
  isOpen: r ?? e.isOpen,
45
48
  placement: e.placement ?? "bottom-start",
46
49
  resize: e.resize,
47
50
  teleport: e.teleport
48
51
  }, {
49
- floating: s(({ width: c }) => [
50
- a(t(k), x({
51
- class: "relative flex w-40 flex-col p-0.75",
52
- style: { width: c }
52
+ floating: l(({ width: f }) => [
53
+ a(t(k), y({
54
+ class: "relative flex w-40 flex-col rounded border p-0.75",
55
+ style: { width: f }
53
56
  }, e.$attrs), {
54
- default: s(() => [
55
- (i(!0), v(g, null, y(e.options, (l) => (i(), d(t(z), {
56
- key: l.id,
57
+ default: l(() => [
58
+ (i(!0), g(v, null, x(e.options, (s) => (i(), u(t(z), {
59
+ key: s.id,
57
60
  as: "template",
58
- disabled: l.disabled,
59
- value: l
61
+ disabled: s.disabled,
62
+ value: s
60
63
  }, {
61
- default: s(({ active: f, selected: p }) => [
64
+ default: l(({ active: c, selected: d }) => [
62
65
  o("li", {
63
- class: m(
64
- t(L)(t(u)({ active: f, selected: p, disabled: l.disabled }))
66
+ class: n(
67
+ t(L)(t(m)({ active: c, selected: d, disabled: s.disabled }))
65
68
  )
66
69
  }, [
67
70
  o("div", {
68
- class: m(["flex size-4 items-center justify-center rounded-full p-[3px] group-hover:shadow-border", p ? "bg-blue text-b-1" : "text-transparent"])
71
+ class: n(["flex size-4 items-center justify-center rounded-full p-[3px] group-hover:shadow-border", d ? "bg-blue text-b-1" : "text-transparent"])
69
72
  }, [
70
73
  a(t($), {
71
74
  class: "relative top-[0.5px] size-2.5 stroke-[1.75]",
72
75
  icon: "Checkmark"
73
76
  })
74
77
  ], 2),
75
- o("span", C, _(l.label), 1)
78
+ o("span", C, h(s.label), 1)
76
79
  ], 2)
77
80
  ]),
78
81
  _: 2
@@ -82,10 +85,13 @@ const C = { class: "inline-block min-w-0 flex-1 truncate text-c-1" }, S = /* @__
82
85
  _: 2
83
86
  }, 1040, ["style"])
84
87
  ]),
85
- default: s(() => [
86
- a(t(B), { as: "template" }, {
87
- default: s(() => [
88
- h(e.$slots, "default")
88
+ default: l(() => [
89
+ a(t(_), {
90
+ as: "template",
91
+ class: "justify-start"
92
+ }, {
93
+ default: l(() => [
94
+ B(e.$slots, "default")
89
95
  ]),
90
96
  _: 3
91
97
  })
@@ -94,9 +100,9 @@ const C = { class: "inline-block min-w-0 flex-1 truncate text-c-1" }, S = /* @__
94
100
  }, 1032, ["isOpen", "placement", "resize", "teleport"])
95
101
  ]),
96
102
  _: 3
97
- }, 8, ["modelValue"]));
103
+ }, 8, ["class", "modelValue", "multiple"]));
98
104
  }
99
105
  });
100
106
  export {
101
- P as default
107
+ F as default
102
108
  };
@@ -1,9 +1,9 @@
1
1
  import o from "./ScalarModal.vue2.js";
2
- import { useModal as e } from "./ScalarModal.vue2.js";
2
+ import { useModal as s } from "./ScalarModal.vue2.js";
3
3
  /* empty css */
4
4
  import r from "../../_virtual/_plugin-vue_export-helper.js";
5
- const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-03b82fd9"]]);
5
+ const f = /* @__PURE__ */ r(o, [["__scopeId", "data-v-647be2f3"]]);
6
6
  export {
7
- m as default,
8
- e as useModal
7
+ f as default,
8
+ s as useModal
9
9
  };
@@ -1,7 +1,7 @@
1
- import { defineComponent as c, openBlock as l, createBlock as s, unref as a, withCtx as o, createElementVNode as f, normalizeClass as t, createVNode as u, normalizeStyle as v, createTextVNode as h, toDisplayString as y, createCommentVNode as b, createElementBlock as g, renderSlot as i, reactive as x } from "vue";
1
+ import { defineComponent as p, openBlock as l, createBlock as o, unref as a, withCtx as s, createElementVNode as f, normalizeClass as t, createVNode as u, normalizeStyle as v, createTextVNode as h, toDisplayString as y, createCommentVNode as b, createElementBlock as g, renderSlot as i, reactive as x } from "vue";
2
2
  import { Dialog as w, DialogPanel as z, DialogTitle as C, DialogDescription as k } from "@headlessui/vue";
3
3
  import { cva as d, cx as n } from "../../cva.js";
4
- const W = () => x({
4
+ const j = () => x({
5
5
  open: !1,
6
6
  show() {
7
7
  this.open = !0;
@@ -9,7 +9,7 @@ const W = () => x({
9
9
  hide() {
10
10
  this.open = !1;
11
11
  }
12
- }), $ = /* @__PURE__ */ c({
12
+ }), W = /* @__PURE__ */ p({
13
13
  __name: "ScalarModal",
14
14
  props: {
15
15
  state: {},
@@ -38,7 +38,7 @@ const W = () => x({
38
38
  search: "scalar-modal-search"
39
39
  }
40
40
  }
41
- }), p = d({
41
+ }), c = d({
42
42
  base: [
43
43
  "scalar-modal-body",
44
44
  "relative max-h-[calc(100dvh-240px)] overflow-y-auto rounded-lg bg-b-1 px-6 pb-4 pt-6"
@@ -50,15 +50,15 @@ const W = () => x({
50
50
  }
51
51
  }
52
52
  });
53
- return (e, r) => (l(), s(a(w), {
53
+ return (e, r) => (l(), o(a(w), {
54
54
  open: e.state.open,
55
55
  onClose: r[0] || (r[0] = (B) => e.state.hide())
56
56
  }, {
57
- default: o(() => [
57
+ default: s(() => [
58
58
  f("div", {
59
59
  class: t(
60
60
  a(n)(
61
- "scalar-modal-layout fixed left-0 top-0",
61
+ "scalar-modal-layout fixed left-0 top-0 flex items-center justify-center",
62
62
  "z-[1001] h-[100dvh] w-[100dvw]",
63
63
  "bg-backdrop opacity-0",
64
64
  e.size === "full" && "flex"
@@ -69,12 +69,12 @@ const W = () => x({
69
69
  class: t(a(m)({ size: e.size, variant: e.variant })),
70
70
  style: v({ maxWidth: e.maxWidth })
71
71
  }, {
72
- default: o(() => [
73
- e.title ? (l(), s(a(C), {
72
+ default: s(() => [
73
+ e.title ? (l(), o(a(C), {
74
74
  key: 0,
75
75
  class: t(["scalar-modal-header font-semiBold m-0 rounded-lg px-6 py-3 text-left text-xs text-c-1", { "pb-0 pt-6": e.variant === "history" }])
76
76
  }, {
77
- default: o(() => [
77
+ default: s(() => [
78
78
  h(y(e.title), 1)
79
79
  ]),
80
80
  _: 1
@@ -84,11 +84,11 @@ const W = () => x({
84
84
  class: t(e.bodyClass)
85
85
  }, [
86
86
  i(e.$slots, "default", {}, void 0, !0)
87
- ], 2)) : (l(), s(a(k), {
87
+ ], 2)) : (l(), o(a(k), {
88
88
  key: 2,
89
- class: t(a(n)(e.bodyClass, a(p)({ variant: e.variant })))
89
+ class: t(a(n)(e.bodyClass, a(c)({ variant: e.variant })))
90
90
  }, {
91
- default: o(() => [
91
+ default: s(() => [
92
92
  i(e.$slots, "default", {}, void 0, !0)
93
93
  ]),
94
94
  _: 3
@@ -103,6 +103,6 @@ const W = () => x({
103
103
  }
104
104
  });
105
105
  export {
106
- $ as default,
107
- W as useModal
106
+ W as default,
107
+ j as useModal
108
108
  };
@@ -1,37 +1,37 @@
1
- import { defineComponent as i, openBlock as f, createBlock as d, unref as t, withCtx as o, createVNode as l, mergeProps as r, renderSlot as s, createElementVNode as u } from "vue";
1
+ import { defineComponent as i, openBlock as f, createBlock as d, unref as o, withCtx as t, createVNode as l, mergeProps as r, renderSlot as s, createElementVNode as u } from "vue";
2
2
  import { Popover as m, PopoverPanel as c, PopoverButton as _ } from "@headlessui/vue";
3
3
  import v from "../ScalarFloating/ScalarFloating.vue.js";
4
- const h = /* @__PURE__ */ u("div", { class: "absolute inset-0 -z-1 rounded bg-b-1 shadow-lg brightness-lifted" }, null, -1), b = /* @__PURE__ */ i({
4
+ const g = /* @__PURE__ */ u("div", { class: "absolute inset-0 -z-1 rounded bg-b-1 shadow-lg brightness-lifted" }, null, -1), b = /* @__PURE__ */ i({
5
5
  inheritAttrs: !1,
6
6
  __name: "ScalarPopover",
7
7
  props: {
8
8
  placement: {},
9
9
  resize: { type: Boolean },
10
10
  isOpen: { type: Boolean },
11
- teleport: { type: Boolean }
11
+ teleport: { type: [Boolean, String] }
12
12
  },
13
- setup(B) {
14
- return (e, P) => (f(), d(t(m), null, {
15
- default: o(({ open: p }) => [
16
- l(t(v), r(e.$props, {
13
+ setup(h) {
14
+ return (e, B) => (f(), d(o(m), null, {
15
+ default: t(({ open: p }) => [
16
+ l(o(v), r(e.$props, {
17
17
  isOpen: p ?? e.isOpen,
18
18
  teleport: e.teleport
19
19
  }), {
20
- floating: o(({ width: a, height: n }) => [
21
- l(t(c), r({
20
+ floating: t(({ width: n, height: a }) => [
21
+ l(o(c), r({
22
22
  class: "relative flex flex-col p-0.75",
23
- style: { width: a, height: n }
23
+ style: { width: n, height: a }
24
24
  }, e.$attrs), {
25
- default: o(() => [
25
+ default: t(() => [
26
26
  s(e.$slots, "popover"),
27
- h
27
+ g
28
28
  ]),
29
29
  _: 2
30
30
  }, 1040, ["style"])
31
31
  ]),
32
- default: o(() => [
33
- l(t(_), { as: "template" }, {
34
- default: o(() => [
32
+ default: t(() => [
33
+ l(o(_), { as: "template" }, {
34
+ default: t(() => [
35
35
  s(e.$slots, "default")
36
36
  ]),
37
37
  _: 3
@@ -0,0 +1,57 @@
1
+ import { defineComponent as r, openBlock as n, createBlock as c, unref as l, withCtx as t, createVNode as o, renderSlot as a, normalizeClass as d } from "vue";
2
+ import { TooltipProvider as p, TooltipRoot as f, TooltipTrigger as u, TooltipPortal as k, TooltipContent as m } from "radix-vue";
3
+ const T = /* @__PURE__ */ r({
4
+ __name: "ScalarTooltip",
5
+ props: {
6
+ click: {},
7
+ delay: {},
8
+ skipDelay: { default: 1e3 },
9
+ side: { default: "top" },
10
+ sideOffset: {},
11
+ class: {}
12
+ },
13
+ emits: ["click"],
14
+ setup(i) {
15
+ const e = i;
16
+ return (s, _) => (n(), c(l(p), {
17
+ delayDuration: e.delay,
18
+ skipDelayDuration: e.skipDelay
19
+ }, {
20
+ default: t(() => [
21
+ o(l(f), null, {
22
+ default: t(() => [
23
+ o(l(u), {
24
+ class: "w-full",
25
+ onClick: e.click
26
+ }, {
27
+ default: t(() => [
28
+ a(s.$slots, "trigger")
29
+ ]),
30
+ _: 3
31
+ }, 8, ["onClick"]),
32
+ o(l(k), null, {
33
+ default: t(() => [
34
+ o(l(m), {
35
+ class: d(["scalar-app", e.class]),
36
+ side: e.side,
37
+ sideOffset: e.sideOffset
38
+ }, {
39
+ default: t(() => [
40
+ a(s.$slots, "content")
41
+ ]),
42
+ _: 3
43
+ }, 8, ["class", "side", "sideOffset"])
44
+ ]),
45
+ _: 3
46
+ })
47
+ ]),
48
+ _: 3
49
+ })
50
+ ]),
51
+ _: 3
52
+ }, 8, ["delayDuration", "skipDelayDuration"]));
53
+ }
54
+ });
55
+ export {
56
+ T as default
57
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./ScalarTooltip.vue.js";
2
+ export {
3
+ f as default
4
+ };
package/dist/index.d.ts CHANGED
@@ -24,6 +24,8 @@ declare type __VLS_NonUndefinedable_15<T> = T extends undefined ? never : T;
24
24
 
25
25
  declare type __VLS_NonUndefinedable_16<T> = T extends undefined ? never : T;
26
26
 
27
+ declare type __VLS_NonUndefinedable_17<T> = T extends undefined ? never : T;
28
+
27
29
  declare type __VLS_NonUndefinedable_2<T> = T extends undefined ? never : T;
28
30
 
29
31
  declare type __VLS_NonUndefinedable_3<T> = T extends undefined ? never : T;
@@ -68,6 +70,14 @@ declare type __VLS_Prettify_7<T> = {
68
70
  [K in keyof T]: T[K];
69
71
  } & {};
70
72
 
73
+ declare type __VLS_Prettify_8<T> = {
74
+ [K in keyof T]: T[K];
75
+ } & {};
76
+
77
+ declare type __VLS_Prettify_9<T> = {
78
+ [K in keyof T]: T[K];
79
+ } & {};
80
+
71
81
  declare type __VLS_TypePropsToRuntimeProps<T> = {
72
82
  [K in keyof T]-?: {} extends Pick<T, K> ? {
73
83
  type: PropType<__VLS_NonUndefinedable<T[K]>>;
@@ -140,6 +150,15 @@ declare type __VLS_TypePropsToRuntimeProps_16<T> = {
140
150
  };
141
151
  };
142
152
 
153
+ declare type __VLS_TypePropsToRuntimeProps_17<T> = {
154
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
155
+ type: PropType<__VLS_NonUndefinedable_17<T[K]>>;
156
+ } : {
157
+ type: PropType<T[K]>;
158
+ required: true;
159
+ };
160
+ };
161
+
143
162
  declare type __VLS_TypePropsToRuntimeProps_2<T> = {
144
163
  [K in keyof T]-?: {} extends Pick<T, K> ? {
145
164
  type: PropType<__VLS_NonUndefinedable_2<T[K]>>;
@@ -254,6 +273,18 @@ declare type __VLS_WithDefaults_7<P, D> = {
254
273
  }> : P[K];
255
274
  };
256
275
 
276
+ declare type __VLS_WithDefaults_8<P, D> = {
277
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify_8<P[K] & {
278
+ default: D[K];
279
+ }> : P[K];
280
+ };
281
+
282
+ declare type __VLS_WithDefaults_9<P, D> = {
283
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify_9<P[K] & {
284
+ default: D[K];
285
+ }> : P[K];
286
+ };
287
+
257
288
  declare type __VLS_WithTemplateSlots<T, S> = T & {
258
289
  new (): {
259
290
  $slots: S;
@@ -272,6 +303,12 @@ declare type __VLS_WithTemplateSlots_11<T, S> = T & {
272
303
  };
273
304
  };
274
305
 
306
+ declare type __VLS_WithTemplateSlots_12<T, S> = T & {
307
+ new (): {
308
+ $slots: S;
309
+ };
310
+ };
311
+
275
312
  declare type __VLS_WithTemplateSlots_2<T, S> = T & {
276
313
  new (): {
277
314
  $slots: S;
@@ -342,10 +379,11 @@ declare type FloatingOptions = {
342
379
  */
343
380
  isOpen?: boolean;
344
381
  /**
345
- * Whether to teleport the floating element to the end of the document body.
382
+ * Whether to teleport the floating element.
383
+ * Can be an `id` to teleport to or `true` to teleport to the `<body>`.
346
384
  * @default false
347
385
  */
348
- teleport?: boolean;
386
+ teleport?: boolean | string;
349
387
  };
350
388
 
351
389
  export declare type Icon = (typeof ICONS)[number];
@@ -565,17 +603,37 @@ size: "sm" | "md" | "xs" | "full" | "xxs";
565
603
  variant: string;
566
604
  }, {}>;
567
605
 
568
- export declare const ScalarListbox: __VLS_WithTemplateSlots_5<DefineComponent<__VLS_TypePropsToRuntimeProps_9<{
606
+ export declare const ScalarListbox: __VLS_WithTemplateSlots_5<DefineComponent<__VLS_WithDefaults_5<__VLS_TypePropsToRuntimeProps_9<{
607
+ /**
608
+ * Allow selecting multiple values
609
+ *
610
+ * @default false
611
+ */
612
+ multiple?: boolean | undefined;
569
613
  options: ScalarListboxOption[];
570
614
  modelValue?: ScalarListboxOption | undefined;
571
- } & Omit<FloatingOptions, "middleware" | "offset">>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
615
+ fullWidth?: boolean | undefined;
616
+ } & Omit<FloatingOptions, "middleware" | "offset">>, {
617
+ multiple: boolean;
618
+ }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
572
619
  "update:modelValue": (v: ScalarListboxOption) => void;
573
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps_9<{
620
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_5<__VLS_TypePropsToRuntimeProps_9<{
621
+ /**
622
+ * Allow selecting multiple values
623
+ *
624
+ * @default false
625
+ */
626
+ multiple?: boolean | undefined;
574
627
  options: ScalarListboxOption[];
575
628
  modelValue?: ScalarListboxOption | undefined;
576
- } & Omit<FloatingOptions, "middleware" | "offset">>>> & {
629
+ fullWidth?: boolean | undefined;
630
+ } & Omit<FloatingOptions, "middleware" | "offset">>, {
631
+ multiple: boolean;
632
+ }>>> & {
577
633
  "onUpdate:modelValue"?: ((v: ScalarListboxOption) => any) | undefined;
578
- }, {}, {}>, {
634
+ }, {
635
+ multiple: boolean;
636
+ }, {}>, {
579
637
  default?(_: {}): any;
580
638
  }>;
581
639
 
@@ -586,12 +644,12 @@ export declare type ScalarListboxOption = {
586
644
  [x: string]: any;
587
645
  };
588
646
 
589
- export declare const ScalarLoading: DefineComponent<__VLS_WithDefaults_5<__VLS_TypePropsToRuntimeProps_10<{
647
+ export declare const ScalarLoading: DefineComponent<__VLS_WithDefaults_6<__VLS_TypePropsToRuntimeProps_10<{
590
648
  loadingState: LoadingState;
591
649
  size?: string | undefined;
592
650
  }>, {
593
651
  size: string;
594
- }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_5<__VLS_TypePropsToRuntimeProps_10<{
652
+ }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_6<__VLS_TypePropsToRuntimeProps_10<{
595
653
  loadingState: LoadingState;
596
654
  size?: string | undefined;
597
655
  }>, {
@@ -614,7 +672,7 @@ withImages: boolean;
614
672
  withImages: boolean;
615
673
  }, {}>;
616
674
 
617
- export declare const ScalarModal: __VLS_WithTemplateSlots_6<DefineComponent<__VLS_WithDefaults_6<__VLS_TypePropsToRuntimeProps_11<{
675
+ export declare const ScalarModal: __VLS_WithTemplateSlots_6<DefineComponent<__VLS_WithDefaults_7<__VLS_TypePropsToRuntimeProps_11<{
618
676
  state: ReturnType<typeof useModal>;
619
677
  title?: string | undefined;
620
678
  bodyClass?: string | undefined;
@@ -623,7 +681,7 @@ size?: "sm" | "md" | "xs" | "lg" | "full" | undefined;
623
681
  variant?: "search" | "history" | undefined;
624
682
  }>, {
625
683
  size: string;
626
- }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_6<__VLS_TypePropsToRuntimeProps_11<{
684
+ }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_7<__VLS_TypePropsToRuntimeProps_11<{
627
685
  state: ReturnType<typeof useModal>;
628
686
  title?: string | undefined;
629
687
  bodyClass?: string | undefined;
@@ -697,7 +755,7 @@ noResults?: boolean | undefined;
697
755
  default?(_: {}): any;
698
756
  }>;
699
757
 
700
- export declare const ScalarTextField: __VLS_WithTemplateSlots_11<DefineComponent<__VLS_WithDefaults_7<__VLS_TypePropsToRuntimeProps_16<{
758
+ export declare const ScalarTextField: __VLS_WithTemplateSlots_11<DefineComponent<__VLS_WithDefaults_8<__VLS_TypePropsToRuntimeProps_16<{
701
759
  modelValue: string;
702
760
  placeholder?: string | undefined;
703
761
  label?: string | undefined;
@@ -718,7 +776,7 @@ disableTrim: boolean;
718
776
  }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
719
777
  submit: (v: string) => void;
720
778
  "update:modelValue": (v: string) => void;
721
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_7<__VLS_TypePropsToRuntimeProps_16<{
779
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_8<__VLS_TypePropsToRuntimeProps_16<{
722
780
  modelValue: string;
723
781
  placeholder?: string | undefined;
724
782
  label?: string | undefined;
@@ -747,6 +805,38 @@ disableTrim: boolean;
747
805
  default?(_: {}): any;
748
806
  }>;
749
807
 
808
+ export declare const ScalarTooltip: __VLS_WithTemplateSlots_12<DefineComponent<__VLS_WithDefaults_9<__VLS_TypePropsToRuntimeProps_17<{
809
+ click?: (() => void) | undefined;
810
+ delay?: number | undefined;
811
+ skipDelay?: number | undefined;
812
+ side?: "bottom" | "left" | "right" | "top" | undefined;
813
+ sideOffset?: number | undefined;
814
+ class?: string | undefined;
815
+ }>, {
816
+ skipDelay: number;
817
+ side: string;
818
+ }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
819
+ click: () => void;
820
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_9<__VLS_TypePropsToRuntimeProps_17<{
821
+ click?: (() => void) | undefined;
822
+ delay?: number | undefined;
823
+ skipDelay?: number | undefined;
824
+ side?: "bottom" | "left" | "right" | "top" | undefined;
825
+ sideOffset?: number | undefined;
826
+ class?: string | undefined;
827
+ }>, {
828
+ skipDelay: number;
829
+ side: string;
830
+ }>>> & {
831
+ onClick?: (() => any) | undefined;
832
+ }, {
833
+ skipDelay: number;
834
+ side: "bottom" | "left" | "right" | "top";
835
+ }, {}>, {
836
+ trigger?(_: {}): any;
837
+ content?(_: {}): any;
838
+ }>;
839
+
750
840
  /**
751
841
  * Handles isLoading spinner for the FlowLoader Component
752
842
  * - stateIsLoading will trigger the spinner
package/dist/index.js CHANGED
@@ -13,12 +13,13 @@ import { default as h } from "./components/ScalarIconButton/ScalarIconButton.vue
13
13
  import { default as M } from "./components/ScalarListbox/ScalarListbox.vue.js";
14
14
  import { default as v } from "./components/ScalarLoading/ScalarLoading.vue.js";
15
15
  import { default as R } from "./components/ScalarPopover/ScalarPopover.vue.js";
16
- import { default as C } from "./components/ScalarSearchInput/ScalarSearchInput.vue.js";
17
- import { default as T } from "./components/ScalarSearchResults/ScalarSearchResultItem.vue.js";
16
+ import { default as b } from "./components/ScalarSearchInput/ScalarSearchInput.vue.js";
17
+ import { default as P } from "./components/ScalarSearchResults/ScalarSearchResultItem.vue.js";
18
18
  import { default as q } from "./components/ScalarSearchResults/ScalarSearchResultList.vue.js";
19
19
  import { default as z } from "./components/ScalarTextField/ScalarTextField.vue.js";
20
- import { useLoadingState as E } from "./components/ScalarLoading/ScalarLoading.vue2.js";
21
- import { useModal as H } from "./components/ScalarModal/ScalarModal.vue2.js";
20
+ import { default as E } from "./components/ScalarTooltip/ScalarTooltip.vue.js";
21
+ import { useLoadingState as H } from "./components/ScalarLoading/ScalarLoading.vue2.js";
22
+ import { useModal as K } from "./components/ScalarModal/ScalarModal.vue2.js";
22
23
  export {
23
24
  f as ScalarButton,
24
25
  p as ScalarCodeBlock,
@@ -33,10 +34,11 @@ export {
33
34
  c as ScalarMarkdown,
34
35
  e as ScalarModal,
35
36
  R as ScalarPopover,
36
- C as ScalarSearchInput,
37
- T as ScalarSearchResultItem,
37
+ b as ScalarSearchInput,
38
+ P as ScalarSearchResultItem,
38
39
  q as ScalarSearchResultList,
39
40
  z as ScalarTextField,
40
- E as useLoadingState,
41
- H as useModal
41
+ E as ScalarTooltip,
42
+ H as useLoadingState,
43
+ K as useModal
42
44
  };
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .scalar-modal-layout[data-v-03b82fd9]{animation:modal-fade-03b82fd9 .2s forwards}.scalar-modal[data-v-03b82fd9]{animation:modal-pop-03b82fd9 .15s .15s forwards;height:calc(100% - 120px);width:calc(100% - 8px);max-width:1390px;position:fixed;left:0;top:0;bottom:0;right:0;margin:auto}.scalar-modal.scalar-modal-search[data-v-03b82fd9]{max-width:540px;background-color:transparent}.modal-content-search .modal-body[data-v-03b82fd9]{padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:440px}@media (max-width: 1280px){.scalar-modal[data-v-03b82fd9]{height:calc(100% - 56px);top:46px}}@keyframes modal-fade-03b82fd9{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-03b82fd9{0%{opacity:0}to{opacity:1}}@layer scalar-base,scalar-theme;:where(.scalar-app){font-family:var(--scalar-font);line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4}:where(.scalar-app) *,:where(.scalar-app) *:before,:where(.scalar-app) *:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--scalar-border-color);font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:unset;font-weight:inherit;line-height:inherit;color:inherit;margin:unset;padding:unset;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:where(.scalar-app) button,:where(.scalar-app) input,:where(.scalar-app) optgroup,:where(.scalar-app) select,:where(.scalar-app) textarea,:where(.scalar-app) ::file-selector-button{background:transparent}:where(.scalar-app) input:where(:not([type=button],[type=reset],[type=submit])),:where(.scalar-app) select,:where(.scalar-app) textarea{border-radius:var(--scalar-radius);border-width:1px}:where(.scalar-app) input::placeholder,:where(.scalar-app) input:-ms-input-placeholder,:where(.scalar-app) input::-webkit-input-placeholder{color:var(--scalar-color-3);font-family:var(--scalar-font)}:where(.scalar-app) input:-webkit-autofill{-webkit-background-clip:text!important;background-clip:text!important}.scalar-app .cm-scroller,.scalar-app .custom-scroll{overflow-y:auto;scrollbar-color:transparent transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.scalar-app .custom-scroll-self-contain-overflow{overscroll-behavior:contain}@supports (-moz-appearance: none){.scalar-app .cm-scroller,.scalar-app .custom-scroll{padding-right:12px}}.scalar-app .cm-scroller:hover,.scalar-app .custom-scroll:hover{scrollbar-color:var(--scalar-scrollbar-color, transparent)}.scalar-app .cm-scroller:hover::-webkit-scrollbar-thumb,.scalar-app .custom-scroll:hover::-webkit-scrollbar-thumb{background:var(--scalar-scrollbar-color);background-clip:content-box;border:3px solid transparent}.scalar-app .cm-scroller::-webkit-scrollbar-thumb:active,.scalar-app .custom-scroll::-webkit-scrollbar-thumb:active{background:var(--scalar-scrollbar-color-active);background-clip:content-box;border:3px solid transparent}.scalar-app .cm-scroller::-webkit-scrollbar-corner,.scalar-app .custom-scroll::-webkit-scrollbar-corner{background:transparent}.scalar-app .cm-scroller::-webkit-scrollbar,.scalar-app .custom-scroll::-webkit-scrollbar{height:12px;width:12px}.scalar-app .cm-scroller::-webkit-scrollbar-track,.scalar-app .custom-scroll::-webkit-scrollbar-track{background:transparent}.scalar-app .cm-scroller::-webkit-scrollbar-thumb,.scalar-app .custom-scroll::-webkit-scrollbar-thumb{border-radius:20px;background:transparent;background-clip:content-box;border:3px solid transparent}@media (pointer: coarse){.scalar-app .cm-scroller,.scalar-app .custom-scroll{padding-right:12px}}@layer scalar-base{:root{--scalar-border-width: 1px;--scalar-radius: 3px;--scalar-radius-lg: 6px;--scalar-radius-xl: 8px;--scalar-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--scalar-font-code: "JetBrains Mono", ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", "Fira Mono", "Droid Sans Mono", "Courier New", monospace;--scalar-heading-1: 40px;--scalar-page-description: 24px;--scalar-heading-2: 24px;--scalar-heading-3: 20px;--scalar-heading-4: 16px;--scalar-heading-5: 16px;--scalar-heading-6: 16px;--scalar-paragraph: 16px;--scalar-small: 14px;--scalar-mini: 13px;--scalar-micro: 12px;--scalar-bold: 600;--scalar-semibold: 500;--scalar-regular: 400;--scalar-font-size-1: 24px;--scalar-font-size-2: 16px;--scalar-font-size-3: 14px;--scalar-font-size-4: 13px;--scalar-font-size-5: 12px;--scalar-font-size-6: 12px;--scalar-font-size-7: 10px;--scalar-line-height-1: 32px;--scalar-line-height-2: 24px;--scalar-line-height-3: 20px;--scalar-line-height-4: 18px;--scalar-line-height-5: 16px;--scalar-font-medium: 500;--scalar-font-bold: 700;--scalar-text-decoration: none;--scalar-text-decoration-hover: underline}.dark-mode{color-scheme:dark;--scalar-scrollbar-color: rgba(255, 255, 255, .18);--scalar-scrollbar-color-active: rgba(255, 255, 255, .36);--scalar-button-1: rgba(255, 255, 255, 1);--scalar-button-1-hover: rgba(255, 255, 255, .9);--scalar-button-1-color: black;--scalar-shadow-1: 0 1px 3px 0 rgb(0, 0, 0, .1);--scalar-shadow-2: rgba(15, 15, 15, .2) 0px 3px 6px, rgba(15, 15, 15, .4) 0px 9px 24px, 0 0 0 1px rgba(255, 255, 255, .1);--scalar-sidebar-indent-border: transparent;--scalar-sidebar-indent-border-hover: transparent;--scalar-sidebar-indent-border-active: transparent}.light-mode{color-scheme:light;--scalar-scrollbar-color-active: rgba(0, 0, 0, .36);--scalar-scrollbar-color: rgba(0, 0, 0, .18);--scalar-button-1: rgba(0, 0, 0, 1);--scalar-button-1-hover: rgba(0, 0, 0, .8);--scalar-button-1-color: rgba(255, 255, 255, .9);--scalar-shadow-1: 0 1px 3px 0 rgba(0, 0, 0, .11);--scalar-shadow-2: rgba(0, 0, 0, .08) 0px 13px 20px 0px, rgba(0, 0, 0, .08) 0px 3px 8px 0px, #eeeeed 0px 0 0 1px;--scalar-sidebar-indent-border: transparent;--scalar-sidebar-indent-border-hover: transparent;--scalar-sidebar-indent-border-active: transparent}.light-mode .dark-mode{color-scheme:dark!important}@media (max-width: 460px){:root{--scalar-font-size-1: 22px;--scalar-font-size-2: 14px;--scalar-font-size-3: 12px}}@media (max-width: 720px){:root{--scalar-heading-1: 24px;--scalar-page-description: 20px}}.light-mode{--scalar-background-1: #fff;--scalar-background-2: #f6f6f6;--scalar-background-3: #e7e7e7;--scalar-background-accent: #8ab4f81f;--scalar-color-1: #2a2f45;--scalar-color-2: #757575;--scalar-color-3: #8e8e8e;--scalar-color-accent: #0099ff;--scalar-border-color: rgba(0, 0, 0, .1)}.dark-mode{--scalar-background-1: #0f0f0f;--scalar-background-2: #1a1a1a;--scalar-background-3: #272727;--scalar-color-1: rgba(255, 255, 255, .9);--scalar-color-2: rgba(255, 255, 255, .62);--scalar-color-3: rgba(255, 255, 255, .44);--scalar-color-accent: #3ea6ff;--scalar-background-accent: #3ea6ff1f;--scalar-border-color: rgba(255, 255, 255, .1)}.light-mode .t-doc__sidebar,.dark-mode .t-doc__sidebar{--scalar-sidebar-background-1: var(--scalar-background-1);--scalar-sidebar-color-1: var(--scalar-color-1);--scalar-sidebar-color-2: var(--scalar-color-2);--scalar-sidebar-border-color: var(--scalar-border-color);--scalar-sidebar-item-hover-background: var(--scalar-background-2);--scalar-sidebar-item-hover-color: currentColor;--scalar-sidebar-item-active-background: var(--scalar-background-2);--scalar-sidebar-color-active: var(--scalar-color-1);--scalar-sidebar-search-background: transparent;--scalar-sidebar-search-color: var(--scalar-color-3);--scalar-sidebar-search-border-color: var(--scalar-border-color)}.light-mode{--scalar-color-green: #069061;--scalar-color-red: #ef0006;--scalar-color-yellow: #edbe20;--scalar-color-blue: #0082d0;--scalar-color-orange: #fb892c;--scalar-color-purple: #5203d1;--scalar-button-1: rgba(0, 0, 0, 1);--scalar-button-1-hover: rgba(0, 0, 0, .8);--scalar-button-1-color: rgba(255, 255, 255, .9)}.dark-mode{--scalar-color-green: #00b648;--scalar-color-red: #dc1b19;--scalar-color-yellow: #ffc90d;--scalar-color-blue: #4eb3ec;--scalar-color-orange: #ff8d4d;--scalar-color-purple: #b191f9;--scalar-button-1: rgba(255, 255, 255, 1);--scalar-button-1-hover: rgba(255, 255, 255, .9);--scalar-button-1-color: black}}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.scalar-app .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.scalar-app .pointer-events-none{pointer-events:none}.scalar-app .visible{visibility:visible}.scalar-app .fixed{position:fixed}.scalar-app .absolute{position:absolute}.scalar-app .relative{position:relative}.scalar-app .inset-0{top:0;right:0;bottom:0;left:0}.scalar-app .left-0{left:0}.scalar-app .top-0{top:0}.scalar-app .top-\[0\.5px\]{top:.5px}.scalar-app .-z-1{z-index:-1}.scalar-app .z-\[1001\]{z-index:1001}.scalar-app .z-overlay{z-index:10000}.scalar-app .m-0{margin:0}.scalar-app .-mx-0{margin-left:-0px;margin-right:-0px}.scalar-app .-mx-0\.75{margin-left:-3px;margin-right:-3px}.scalar-app .mx-2{margin-left:8px;margin-right:8px}.scalar-app .mx-auto{margin-left:auto;margin-right:auto}.scalar-app .my-0{margin-top:0;margin-bottom:0}.scalar-app .my-0\.75{margin-top:3px;margin-bottom:3px}.scalar-app .my-3{margin-top:12px;margin-bottom:12px}.scalar-app .mb-0{margin-bottom:0}.scalar-app .ml-1{margin-left:4px}.scalar-app .ml-2{margin-left:8px}.scalar-app .mr-2{margin-right:8px}.scalar-app .mr-3{margin-right:12px}.scalar-app .mt-0{margin-top:0}.scalar-app .mt-1{margin-top:4px}.scalar-app .mt-1\.5{margin-top:6px}.scalar-app .mt-20{margin-top:80px}.scalar-app .block{display:block}.scalar-app .inline-block{display:inline-block}.scalar-app .flex{display:flex}.scalar-app .grid{display:grid}.scalar-app .contents{display:contents}.scalar-app .hidden{display:none}.scalar-app .aspect-square{aspect-ratio:1 / 1}.scalar-app .size-10{width:40px;height:40px}.scalar-app .size-2{width:8px;height:8px}.scalar-app .size-2\.5{width:10px;height:10px}.scalar-app .size-3{width:12px;height:12px}.scalar-app .size-3\.5{width:14px;height:14px}.scalar-app .size-4{width:16px;height:16px}.scalar-app .size-5{width:20px;height:20px}.scalar-app .size-6{width:24px;height:24px}.scalar-app .size-8{width:32px;height:32px}.scalar-app .size-full{width:100%;height:100%}.scalar-app .h-10{height:40px}.scalar-app .h-4{height:16px}.scalar-app .h-\[100dvh\]{height:100dvh}.scalar-app .h-full{height:100%}.scalar-app .h-px{height:1px}.scalar-app .h-screen{height:100vh}.scalar-app .max-h-\[440px\]{max-height:440px}.scalar-app .max-h-\[calc\(100dvh-240px\)\]{max-height:calc(100dvh - 240px)}.scalar-app .min-h-\[77px\]{min-height:77px}.scalar-app .w-4{width:16px}.scalar-app .w-40{width:160px}.scalar-app .w-48{width:192px}.scalar-app .w-56{width:224px}.scalar-app .w-\[100dvw\]{width:100dvw}.scalar-app .w-full{width:100%}.scalar-app .min-w-0{min-width:0px}.scalar-app .max-w-screen-lg{max-width:800px}.scalar-app .max-w-screen-md{max-width:640px}.scalar-app .max-w-screen-sm{max-width:540px}.scalar-app .max-w-screen-xs{max-width:480px}.scalar-app .flex-1{flex:1 1 0%}.scalar-app .origin-top-left{transform-origin:top left}.scalar-app .rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scalar-app .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scalar-app .cursor-not-allowed{cursor:not-allowed}.scalar-app .cursor-pointer{cursor:pointer}.scalar-app .resize-none{resize:none}.scalar-app .resize{resize:both}.scalar-app .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.scalar-app .flex-col{flex-direction:column}.scalar-app .flex-wrap{flex-wrap:wrap}.scalar-app .items-start{align-items:flex-start}.scalar-app .items-center{align-items:center}.scalar-app .justify-center{justify-content:center}.scalar-app .justify-between{justify-content:space-between}.scalar-app .gap-0{gap:0px}.scalar-app .gap-0\.75{gap:3px}.scalar-app .gap-1{gap:4px}.scalar-app .gap-1\.5{gap:6px}.scalar-app .gap-2{gap:8px}.scalar-app .gap-3{gap:12px}.scalar-app .gap-4{gap:16px}.scalar-app .divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(var(--scalar-border-width) * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(var(--scalar-border-width) * var(--tw-divide-y-reverse))}.scalar-app .self-center{align-self:center}.scalar-app .overflow-hidden{overflow:hidden}.scalar-app .overflow-y-auto{overflow-y:auto}.scalar-app .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scalar-app .text-wrap{text-wrap:wrap}.scalar-app .rounded{border-radius:var(--scalar-radius)}.scalar-app .rounded-full{border-radius:9999px}.scalar-app .rounded-lg{border-radius:var(--scalar-radius-lg)}.scalar-app .border{border-width:var(--scalar-border-width)}.scalar-app .border-0{border-width:0}.scalar-app .border-solid{border-style:solid}.scalar-app .border-none{border-style:none}.scalar-app .border-border{border-color:var(--scalar-border-color)}.scalar-app .border-c-3{border-color:var(--scalar-color-3)}.scalar-app .border-error{border-color:var(--scalar-error-color)}.scalar-app .bg-b-1{background-color:var(--scalar-background-1)}.scalar-app .bg-b-2{background-color:var(--scalar-background-2)}.scalar-app .bg-b-btn{background-color:var(--scalar-button-1)}.scalar-app .bg-backdrop{background-color:#00000070}.scalar-app .bg-blue{background-color:var(--scalar-color-blue)}.scalar-app .bg-border{background-color:var(--scalar-border-color)}.scalar-app .bg-error{background-color:var(--scalar-error-color)}.scalar-app .bg-transparent{background-color:transparent}.scalar-app .stroke-\[0\.92\]{stroke-width:.92}.scalar-app .stroke-\[0\.96\]{stroke-width:.96}.scalar-app .stroke-\[0\.9\]{stroke-width:.9}.scalar-app .stroke-\[1\.1\]{stroke-width:1.1}.scalar-app .stroke-\[1\.2\]{stroke-width:1.2}.scalar-app .stroke-\[1\.4\]{stroke-width:1.4}.scalar-app .stroke-\[1\.75\]{stroke-width:1.75}.scalar-app .p-0{padding:0}.scalar-app .p-0\.5{padding:2px}.scalar-app .p-0\.75{padding:3px}.scalar-app .p-1{padding:4px}.scalar-app .p-2{padding:8px}.scalar-app .p-3{padding:12px}.scalar-app .p-\[3px\]{padding:3px}.scalar-app .px-1{padding-left:4px;padding-right:4px}.scalar-app .px-2{padding-left:8px;padding-right:8px}.scalar-app .px-2\.5{padding-left:10px;padding-right:10px}.scalar-app .px-3{padding-left:12px;padding-right:12px}.scalar-app .px-4{padding-left:16px;padding-right:16px}.scalar-app .px-6{padding-left:24px;padding-right:24px}.scalar-app .px-9{padding-left:36px;padding-right:36px}.scalar-app .py-1{padding-top:4px;padding-bottom:4px}.scalar-app .py-1\.5{padding-top:6px;padding-bottom:6px}.scalar-app .py-3{padding-top:12px;padding-bottom:12px}.scalar-app .py-4{padding-top:16px;padding-bottom:16px}.scalar-app .pb-0{padding-bottom:0}.scalar-app .pb-4{padding-bottom:16px}.scalar-app .pl-9{padding-left:36px}.scalar-app .pr-3{padding-right:12px}.scalar-app .pt-3{padding-top:12px}.scalar-app .pt-6{padding-top:24px}.scalar-app .text-left{text-align:left}.scalar-app .font-code{font-family:var(--scalar-font-code)}.scalar-app .text-lg{font-size:var(--scalar-font-size-2)}.scalar-app .text-sm{font-size:var(--scalar-font-size-4)}.scalar-app .text-xs{font-size:var(--scalar-font-size-5)}.scalar-app .text-xxs{font-size:var(--scalar-font-size-6)}.scalar-app .font-bold{font-weight:var(--scalar-bold)}.scalar-app .font-medium{font-weight:var(--scalar-semibold)}.scalar-app .leading-snug{line-height:1.375}.scalar-app .text-b-1{color:var(--scalar-background-1)}.scalar-app .text-c-1{color:var(--scalar-color-1)}.scalar-app .text-c-2{color:var(--scalar-color-2)}.scalar-app .text-c-3{color:var(--scalar-color-3)}.scalar-app .text-c-btn{color:var(--scalar-button-1-color)}.scalar-app .text-c-ghost{color:var(--scalar-color-ghost)}.scalar-app .text-error{color:var(--scalar-error-color)}.scalar-app .text-transparent{color:transparent}.scalar-app .text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity))}.scalar-app .no-underline{text-decoration-line:none}.scalar-app .opacity-0{opacity:0}.scalar-app .opacity-50{opacity:.5}.scalar-app .shadow{--tw-shadow:var(--scalar-shadow-1);--tw-shadow-colored:var(--scalar-shadow-1);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.scalar-app .shadow-lg{--tw-shadow:var(--scalar-shadow-2);--tw-shadow-colored:var(--scalar-shadow-2);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.scalar-app .shadow-md{--tw-shadow:var(--scalar-shadow-1);--tw-shadow-colored:var(--scalar-shadow-1);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.scalar-app .shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.scalar-app .shadow-sm{--tw-shadow:rgba(0, 0, 0, .09) 0px 1px 4px;--tw-shadow-colored:0px 1px 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.scalar-app .shadow-current{--tw-shadow-color:currentColor;--tw-shadow:var(--tw-shadow-colored)}.scalar-app .outline-none{outline:2px solid transparent;outline-offset:2px}.scalar-app .outline{outline-style:solid}.scalar-app .blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.scalar-app .brightness-lifted{--tw-brightness:brightness(var(--scalar-lifted-brightness));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.scalar-app .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.scalar-app .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.scalar-app .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.scalar-app .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.scalar-app .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.scalar-app .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.scalar-app .bg-b-1{--tw-bg-base:var(--scalar-background-1)}.scalar-app .bg-b-2{--tw-bg-base:var(--scalar-background-2)}.scalar-app .bg-b-btn{--tw-bg-base:var(--scalar-button-1)}.scalar-app .bg-backdrop{--tw-bg-base:rgba(0, 0, 0, .44)}.scalar-app .bg-blue{--tw-bg-base:var(--scalar-color-blue)}.scalar-app .bg-border{--tw-bg-base:var(--scalar-border-color)}.scalar-app .bg-error{--tw-bg-base:var(--scalar-error-color)}.scalar-app .bg-transparent{--tw-bg-base:transparent}.scalar-app .row{display:flex;flex-direction:row}.scalar-app .col{display:flex;flex-direction:column}.before\:mr-1:before{content:var(--tw-content);margin-right:4px}.before\:mr-1\.5:before{content:var(--tw-content);margin-right:6px}.before\:block:before{content:var(--tw-content);display:block}.before\:h-4:before{content:var(--tw-content);height:16px}.before\:w-4:before{content:var(--tw-content);width:16px}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:bg-error:before{content:var(--tw-content);background-color:var(--scalar-error-color)}.before\:text-center:before{content:var(--tw-content);text-align:center}.before\:text-xxs:before{content:var(--tw-content);font-size:var(--scalar-font-size-6)}.before\:leading-4:before{content:var(--tw-content);line-height:var(--scalar-line-height-4)}.before\:text-white:before{content:var(--tw-content);--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity))}.before\:content-\[\'\!\'\]:before{--tw-content:"!";content:var(--tw-content)}.before\:bg-error:before{content:var(--tw-content);--tw-bg-base:var(--scalar-error-color)}.first-of-type\:mt-0:first-of-type{margin-top:0}.first-of-type\:mt-0\.75:first-of-type{margin-top:3px}.last-of-type\:mb-0:last-of-type{margin-bottom:0}.last-of-type\:mb-0\.75:last-of-type{margin-bottom:3px}.empty\:hidden:empty{display:none}.focus-within\:border-c-1:focus-within{border-color:var(--scalar-color-1)}.hover\:bg-b-2:hover{background-color:var(--scalar-background-2)}.hover\:text-c-1:hover{color:var(--scalar-color-1)}.hover\:bg-b-2:hover{--tw-bg-base:var(--scalar-background-2)}.active\:bg-b-btn:active{background-color:var(--scalar-button-1)}.active\:text-c-1:active{color:var(--scalar-color-1)}.active\:shadow-none:active{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.active\:brightness-90:active{--tw-brightness:brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.active\:bg-b-btn:active{--tw-bg-base:var(--scalar-button-1)}.group:hover .group-hover\:text-c-1{color:var(--scalar-color-1)}.group:hover .group-hover\:shadow-border{--tw-shadow:inset 0 0 0 1px var(--scalar-border-color);--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color:var(--scalar-border-color);--tw-shadow:var(--tw-shadow-colored)}.ui-open\:rotate-180[data-headlessui-state~=open]{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:where([data-headlessui-state~=open]) .ui-open\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.has-actv-btn\:border:has(button:active){border-width:var(--scalar-border-width)}.has-actv-btn\:border-border:has(button:active){border-color:var(--scalar-border-color)}.\!empty\:flex:not(:empty){display:flex}.\!empty\:w-7:not(:empty){width:28px}.\!empty\:items-center:not(:empty){align-items:center}.\!empty\:pr-3:not(:empty){padding-right:12px}.hocus\:bg-border:hover{background-color:var(--scalar-border-color)}.hocus\:bg-h-btn:hover{background-color:var(--scalar-button-1-hover)}.hocus\:text-c-1:hover{color:var(--scalar-color-1)}.hocus\:brightness-90:hover{--tw-brightness:brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hocus\:bg-border:hover{--tw-bg-base:var(--scalar-border-color)}.hocus\:bg-h-btn:hover{--tw-bg-base:var(--scalar-button-1-hover)}.hocus\:bg-border:focus-visible{background-color:var(--scalar-border-color)}.hocus\:bg-h-btn:focus-visible{background-color:var(--scalar-button-1-hover)}.hocus\:text-c-1:focus-visible{color:var(--scalar-color-1)}.hocus\:brightness-90:focus-visible{--tw-brightness:brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hocus\:bg-border:focus-visible{--tw-bg-base:var(--scalar-border-color)}.hocus\:bg-h-btn:focus-visible{--tw-bg-base:var(--scalar-button-1-hover)}@media (min-width: 800px){.md\:row{display:flex;flex-direction:row}}.loader-wrapper[data-v-47faceda]{position:relative;height:var(--d6cae758);width:var(--d6cae758);display:flex;align-items:center;justify-content:center;--loader-size: 50%}.svg-loader[data-v-47faceda]{width:var(--loader-size);height:var(--loader-size);top:1rem;right:.9rem;overflow:visible;fill:none;background-color:transparent;stroke:currentColor}.svg-path[data-v-47faceda]{stroke-width:14;fill:none;transition:.3s}.svg-x-mark[data-v-47faceda]{stroke-dasharray:57;stroke-dashoffset:57;transition-delay:0s}.svg-check-mark[data-v-47faceda]{stroke-dasharray:149;stroke-dashoffset:149;transition-delay:0s}.icon-is-invalid .svg-x-mark[data-v-47faceda],.icon-is-valid .svg-check-mark[data-v-47faceda]{stroke-dashoffset:0;transition-delay:.3s}.circular-loader[data-v-47faceda]{animation:rotate-47faceda .7s linear infinite,fade-in-47faceda .4s;transform-origin:center center;transform:scale(5);background:transparent}.loader-path[data-v-47faceda]{stroke-dasharray:50,200;stroke-dashoffset:-100;stroke-linecap:round}.loader-path-off[data-v-47faceda]{stroke-dasharray:50,200;stroke-dashoffset:-100;transition:opacity .3s;opacity:0}@keyframes fade-in-47faceda{0%{opacity:0}70%{opacity:0}to{opacity:1}}@keyframes rotate-47faceda{0%{transform:scale(5) rotate(0)}to{transform:scale(5) rotate(360deg)}}.scalar-codeblock-pre{margin:0;padding:.5rem;overflow:auto;background:transparent;text-wrap:nowrap;white-space-collapse:preserve;border-radius:0}.scalar-input-wrapper-focus .scalar-input-label[data-v-94574cc9]{color:var(--scalar-color-1)}.scalar-input-wrapper-error .scalar-input-label[data-v-94574cc9]{color:var(--scalar-color-error-color)}.scalar-input[data-v-94574cc9]::-moz-selection{color:var(--scalar-color-1);background:#ffa55859}.scalar-input[data-v-94574cc9]::selection{color:var(--scalar-color-1);background:#ffa55859}.scalar-input[data-v-94574cc9]:has(+.scalar-input-label){opacity:0}.scalar-input[data-v-94574cc9]:not(:-moz-placeholder-shown){opacity:1;-moz-transition:opacity .2s ease-in-out .15s;transition:opacity .2s ease-in-out .15s}.scalar-input[data-v-94574cc9]:not(:placeholder-shown),.scalar-input-wrapper-focus .scalar-input[data-v-94574cc9]{opacity:1;transition:opacity .2s ease-in-out .15s}.scalar-input[data-v-94574cc9]:-webkit-autofill,.scalar-input[data-v-94574cc9]:-webkit-autofill:hover,.scalar-input[data-v-94574cc9]:-webkit-autofill:focus,.scalar-input[data-v-94574cc9]:-webkit-autofill:active,.scalar-input[data-v-94574cc9]:focus-within:-webkit-autofill,.scalar-input[data-v-94574cc9]:focus-within:-webkit-autofill:hover,.scalar-input[data-v-94574cc9]:focus-within:-webkit-autofill:focus,.scalar-input[data-v-94574cc9]:focus-within:-webkit-autofill:active{-webkit-box-shadow:0 0 0px 1000px var(--scalar-background-1) inset!important;-webkit-text-fill-color:var(--scalar-color-1);color:var(--scalar-color-1);border-radius:var(--scalar-radius)}.scalar-input:not(:-moz-placeholder-shown)+.scalar-input-label[data-v-94574cc9]{transform:translate3d(0,-20px,0) scale(.8);transform-origin:top left}.scalar-input-wrapper-focus .scalar-input-label[data-v-94574cc9],.scalar-input:not(:placeholder-shown)+.scalar-input-label[data-v-94574cc9]{transform:translate3d(0,-20px,0) scale(.8);transform-origin:top left}.scalar-input-wrapper-focus:has(button:active) .scalar-input-label[data-v-94574cc9]{color:var(--scalar-color-3)!important}
1
+ .scalar-modal-layout[data-v-647be2f3]{animation:modal-fade-647be2f3 .2s forwards}.scalar-modal[data-v-647be2f3]{animation:modal-pop-647be2f3 .15s .15s forwards;height:calc(100% - 120px);width:calc(100% - 8px);max-width:1390px;position:fixed;left:0;top:0;bottom:0;right:0;margin:auto}.scalar-modal.scalar-modal-search[data-v-647be2f3]{max-width:540px;background-color:transparent}.modal-content-search .modal-body[data-v-647be2f3]{padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:440px}@media (max-width: 1280px){.scalar-modal[data-v-647be2f3]{height:calc(100% - 56px);top:46px}}@keyframes modal-fade-647be2f3{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-647be2f3{0%{opacity:0}to{opacity:1}}@layer scalar-base,scalar-theme;:where(.scalar-app){font-family:var(--scalar-font);line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4}:where(.scalar-app) *,:where(.scalar-app) *:before,:where(.scalar-app) *:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--scalar-border-color);font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:unset;font-weight:inherit;line-height:inherit;color:inherit;margin:unset;padding:unset;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:where(.scalar-app) button,:where(.scalar-app) input,:where(.scalar-app) optgroup,:where(.scalar-app) select,:where(.scalar-app) textarea,:where(.scalar-app) ::file-selector-button{background:transparent}:where(.scalar-app) input:where(:not([type=button],[type=reset],[type=submit])),:where(.scalar-app) select,:where(.scalar-app) textarea{border-radius:var(--scalar-radius);border-width:1px}:where(.scalar-app) input::placeholder,:where(.scalar-app) input:-ms-input-placeholder,:where(.scalar-app) input::-webkit-input-placeholder{color:var(--scalar-color-3);font-family:var(--scalar-font)}:where(.scalar-app) input:-webkit-autofill{-webkit-background-clip:text!important;background-clip:text!important}.scalar-app .cm-scroller,.scalar-app .custom-scroll{overflow-y:auto;scrollbar-color:transparent transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.scalar-app .custom-scroll-self-contain-overflow{overscroll-behavior:contain}@supports (-moz-appearance: none){.scalar-app .cm-scroller,.scalar-app .custom-scroll{padding-right:12px}}.scalar-app .cm-scroller:hover,.scalar-app .custom-scroll:hover{scrollbar-color:var(--scalar-scrollbar-color, transparent)}.scalar-app .cm-scroller:hover::-webkit-scrollbar-thumb,.scalar-app .custom-scroll:hover::-webkit-scrollbar-thumb{background:var(--scalar-scrollbar-color);background-clip:content-box;border:3px solid transparent}.scalar-app .cm-scroller::-webkit-scrollbar-thumb:active,.scalar-app .custom-scroll::-webkit-scrollbar-thumb:active{background:var(--scalar-scrollbar-color-active);background-clip:content-box;border:3px solid transparent}.scalar-app .cm-scroller::-webkit-scrollbar-corner,.scalar-app .custom-scroll::-webkit-scrollbar-corner{background:transparent}.scalar-app .cm-scroller::-webkit-scrollbar,.scalar-app .custom-scroll::-webkit-scrollbar{height:12px;width:12px}.scalar-app .cm-scroller::-webkit-scrollbar-track,.scalar-app .custom-scroll::-webkit-scrollbar-track{background:transparent}.scalar-app .cm-scroller::-webkit-scrollbar-thumb,.scalar-app .custom-scroll::-webkit-scrollbar-thumb{border-radius:20px;background:transparent;background-clip:content-box;border:3px solid transparent}@media (pointer: coarse){.scalar-app .cm-scroller,.scalar-app .custom-scroll{padding-right:12px}}@layer scalar-base{:root{--scalar-border-width: 1px;--scalar-radius: 3px;--scalar-radius-lg: 6px;--scalar-radius-xl: 8px;--scalar-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--scalar-font-code: "JetBrains Mono", ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", "Fira Mono", "Droid Sans Mono", "Courier New", monospace;--scalar-heading-1: 40px;--scalar-page-description: 24px;--scalar-heading-2: 24px;--scalar-heading-3: 20px;--scalar-heading-4: 16px;--scalar-heading-5: 16px;--scalar-heading-6: 16px;--scalar-paragraph: 16px;--scalar-small: 14px;--scalar-mini: 13px;--scalar-micro: 12px;--scalar-bold: 600;--scalar-semibold: 500;--scalar-regular: 400;--scalar-font-size-1: 24px;--scalar-font-size-2: 16px;--scalar-font-size-3: 14px;--scalar-font-size-4: 13px;--scalar-font-size-5: 12px;--scalar-font-size-6: 12px;--scalar-font-size-7: 10px;--scalar-line-height-1: 32px;--scalar-line-height-2: 24px;--scalar-line-height-3: 20px;--scalar-line-height-4: 18px;--scalar-line-height-5: 16px;--scalar-font-medium: 500;--scalar-font-bold: 700;--scalar-text-decoration: none;--scalar-text-decoration-hover: underline}.dark-mode{color-scheme:dark;--scalar-scrollbar-color: rgba(255, 255, 255, .18);--scalar-scrollbar-color-active: rgba(255, 255, 255, .36);--scalar-button-1: rgba(255, 255, 255, 1);--scalar-button-1-hover: rgba(255, 255, 255, .9);--scalar-button-1-color: black;--scalar-shadow-1: 0 1px 3px 0 rgb(0, 0, 0, .1);--scalar-shadow-2: rgba(15, 15, 15, .2) 0px 3px 6px, rgba(15, 15, 15, .4) 0px 9px 24px, 0 0 0 1px rgba(255, 255, 255, .1);--scalar-sidebar-indent-border: transparent;--scalar-sidebar-indent-border-hover: transparent;--scalar-sidebar-indent-border-active: transparent}.light-mode{color-scheme:light;--scalar-scrollbar-color-active: rgba(0, 0, 0, .36);--scalar-scrollbar-color: rgba(0, 0, 0, .18);--scalar-button-1: rgba(0, 0, 0, 1);--scalar-button-1-hover: rgba(0, 0, 0, .8);--scalar-button-1-color: rgba(255, 255, 255, .9);--scalar-shadow-1: 0 1px 3px 0 rgba(0, 0, 0, .11);--scalar-shadow-2: rgba(0, 0, 0, .08) 0px 13px 20px 0px, rgba(0, 0, 0, .08) 0px 3px 8px 0px, #eeeeed 0px 0 0 1px;--scalar-sidebar-indent-border: transparent;--scalar-sidebar-indent-border-hover: transparent;--scalar-sidebar-indent-border-active: transparent}.light-mode .dark-mode{color-scheme:dark!important}@media (max-width: 460px){:root{--scalar-font-size-1: 22px;--scalar-font-size-2: 14px;--scalar-font-size-3: 12px}}@media (max-width: 720px){:root{--scalar-heading-1: 24px;--scalar-page-description: 20px}}.light-mode{--scalar-background-1: #fff;--scalar-background-2: #f6f6f6;--scalar-background-3: #e7e7e7;--scalar-background-accent: #8ab4f81f;--scalar-color-1: #2a2f45;--scalar-color-2: #757575;--scalar-color-3: #8e8e8e;--scalar-color-accent: #0099ff;--scalar-border-color: rgba(0, 0, 0, .1)}.dark-mode{--scalar-background-1: #0f0f0f;--scalar-background-2: #1a1a1a;--scalar-background-3: #272727;--scalar-color-1: rgba(255, 255, 255, .9);--scalar-color-2: rgba(255, 255, 255, .62);--scalar-color-3: rgba(255, 255, 255, .44);--scalar-color-accent: #3ea6ff;--scalar-background-accent: #3ea6ff1f;--scalar-border-color: rgba(255, 255, 255, .1)}.light-mode .t-doc__sidebar,.dark-mode .t-doc__sidebar{--scalar-sidebar-background-1: var(--scalar-background-1);--scalar-sidebar-color-1: var(--scalar-color-1);--scalar-sidebar-color-2: var(--scalar-color-2);--scalar-sidebar-border-color: var(--scalar-border-color);--scalar-sidebar-item-hover-background: var(--scalar-background-2);--scalar-sidebar-item-hover-color: currentColor;--scalar-sidebar-item-active-background: var(--scalar-background-2);--scalar-sidebar-color-active: var(--scalar-color-1);--scalar-sidebar-search-background: transparent;--scalar-sidebar-search-color: var(--scalar-color-3);--scalar-sidebar-search-border-color: var(--scalar-border-color)}.light-mode{--scalar-color-green: #069061;--scalar-color-red: #ef0006;--scalar-color-yellow: #edbe20;--scalar-color-blue: #0082d0;--scalar-color-orange: #fb892c;--scalar-color-purple: #5203d1;--scalar-button-1: rgba(0, 0, 0, 1);--scalar-button-1-hover: rgba(0, 0, 0, .8);--scalar-button-1-color: rgba(255, 255, 255, .9)}.dark-mode{--scalar-color-green: #00b648;--scalar-color-red: #dc1b19;--scalar-color-yellow: #ffc90d;--scalar-color-blue: #4eb3ec;--scalar-color-orange: #ff8d4d;--scalar-color-purple: #b191f9;--scalar-button-1: rgba(255, 255, 255, 1);--scalar-button-1-hover: rgba(255, 255, 255, .9);--scalar-button-1-color: black}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }}:where(.scalar-app) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:where(.scalar-app) .pointer-events-none{pointer-events:none}:where(.scalar-app) .visible{visibility:visible}:where(.scalar-app) .fixed{position:fixed}:where(.scalar-app) .absolute{position:absolute}:where(.scalar-app) .relative{position:relative}:where(.scalar-app) .inset-0{top:0;right:0;bottom:0;left:0}:where(.scalar-app) .left-0{left:0}:where(.scalar-app) .top-0{top:0}:where(.scalar-app) .top-\[0\.5px\]{top:.5px}:where(.scalar-app) .-z-1{z-index:-1}:where(.scalar-app) .z-\[1001\]{z-index:1001}:where(.scalar-app) .z-overlay{z-index:10000}:where(.scalar-app) .m-0{margin:0}:where(.scalar-app) .-mx-0{margin-left:-0px;margin-right:-0px}:where(.scalar-app) .-mx-0\.75{margin-left:-3px;margin-right:-3px}:where(.scalar-app) .mx-2{margin-left:8px;margin-right:8px}:where(.scalar-app) .mx-auto{margin-left:auto;margin-right:auto}:where(.scalar-app) .my-0{margin-top:0;margin-bottom:0}:where(.scalar-app) .my-0\.75{margin-top:3px;margin-bottom:3px}:where(.scalar-app) .my-3{margin-top:12px;margin-bottom:12px}:where(.scalar-app) .mb-0{margin-bottom:0}:where(.scalar-app) .ml-1{margin-left:4px}:where(.scalar-app) .ml-2{margin-left:8px}:where(.scalar-app) .mr-2{margin-right:8px}:where(.scalar-app) .mr-3{margin-right:12px}:where(.scalar-app) .mt-0{margin-top:0}:where(.scalar-app) .mt-1{margin-top:4px}:where(.scalar-app) .mt-1\.5{margin-top:6px}:where(.scalar-app) .mt-20{margin-top:80px}:where(.scalar-app) .block{display:block}:where(.scalar-app) .inline-block{display:inline-block}:where(.scalar-app) .flex{display:flex}:where(.scalar-app) .grid{display:grid}:where(.scalar-app) .contents{display:contents}:where(.scalar-app) .hidden{display:none}:where(.scalar-app) .aspect-square{aspect-ratio:1 / 1}:where(.scalar-app) .size-10{width:40px;height:40px}:where(.scalar-app) .size-2{width:8px;height:8px}:where(.scalar-app) .size-2\.5{width:10px;height:10px}:where(.scalar-app) .size-3{width:12px;height:12px}:where(.scalar-app) .size-3\.5{width:14px;height:14px}:where(.scalar-app) .size-4{width:16px;height:16px}:where(.scalar-app) .size-5{width:20px;height:20px}:where(.scalar-app) .size-6{width:24px;height:24px}:where(.scalar-app) .size-8{width:32px;height:32px}:where(.scalar-app) .size-full{width:100%;height:100%}:where(.scalar-app) .h-10{height:40px}:where(.scalar-app) .h-4{height:16px}:where(.scalar-app) .h-\[100dvh\]{height:100dvh}:where(.scalar-app) .h-full{height:100%}:where(.scalar-app) .h-px{height:1px}:where(.scalar-app) .h-screen{height:100vh}:where(.scalar-app) .max-h-\[440px\]{max-height:440px}:where(.scalar-app) .max-h-\[calc\(100dvh-240px\)\]{max-height:calc(100dvh - 240px)}:where(.scalar-app) .min-h-\[77px\]{min-height:77px}:where(.scalar-app) .w-4{width:16px}:where(.scalar-app) .w-40{width:160px}:where(.scalar-app) .w-48{width:192px}:where(.scalar-app) .w-56{width:224px}:where(.scalar-app) .w-\[100dvw\]{width:100dvw}:where(.scalar-app) .w-full{width:100%}:where(.scalar-app) .min-w-0{min-width:0px}:where(.scalar-app) .max-w-screen-lg{max-width:800px}:where(.scalar-app) .max-w-screen-md{max-width:640px}:where(.scalar-app) .max-w-screen-sm{max-width:540px}:where(.scalar-app) .max-w-screen-xs{max-width:480px}:where(.scalar-app) .flex-1{flex:1 1 0%}:where(.scalar-app) .origin-top-left{transform-origin:top left}:where(.scalar-app) .rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:where(.scalar-app) .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:where(.scalar-app) .cursor-not-allowed{cursor:not-allowed}:where(.scalar-app) .cursor-pointer{cursor:pointer}:where(.scalar-app) .resize-none{resize:none}:where(.scalar-app) .resize{resize:both}:where(.scalar-app) .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}:where(.scalar-app) .flex-col{flex-direction:column}:where(.scalar-app) .flex-wrap{flex-wrap:wrap}:where(.scalar-app) .items-start{align-items:flex-start}:where(.scalar-app) .items-center{align-items:center}:where(.scalar-app) .justify-start{justify-content:flex-start}:where(.scalar-app) .justify-center{justify-content:center}:where(.scalar-app) .justify-between{justify-content:space-between}:where(.scalar-app) .gap-0{gap:0px}:where(.scalar-app) .gap-0\.75{gap:3px}:where(.scalar-app) .gap-1{gap:4px}:where(.scalar-app) .gap-1\.5{gap:6px}:where(.scalar-app) .gap-2{gap:8px}:where(.scalar-app) .gap-3{gap:12px}:where(.scalar-app) .gap-4{gap:16px}:where(.scalar-app) .divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(var(--scalar-border-width) * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(var(--scalar-border-width) * var(--tw-divide-y-reverse))}:where(.scalar-app) .self-center{align-self:center}:where(.scalar-app) .overflow-hidden{overflow:hidden}:where(.scalar-app) .overflow-y-auto{overflow-y:auto}:where(.scalar-app) .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(.scalar-app) .text-wrap{text-wrap:wrap}:where(.scalar-app) .rounded{border-radius:var(--scalar-radius)}:where(.scalar-app) .rounded-full{border-radius:9999px}:where(.scalar-app) .rounded-lg{border-radius:var(--scalar-radius-lg)}:where(.scalar-app) .border{border-width:var(--scalar-border-width)}:where(.scalar-app) .border-0{border-width:0}:where(.scalar-app) .border-solid{border-style:solid}:where(.scalar-app) .border-none{border-style:none}:where(.scalar-app) .border-border{border-color:var(--scalar-border-color)}:where(.scalar-app) .border-c-3{border-color:var(--scalar-color-3)}:where(.scalar-app) .border-error{border-color:var(--scalar-error-color)}:where(.scalar-app) .bg-b-1{background-color:var(--scalar-background-1)}:where(.scalar-app) .bg-b-2{background-color:var(--scalar-background-2)}:where(.scalar-app) .bg-b-btn{background-color:var(--scalar-button-1)}:where(.scalar-app) .bg-backdrop{background-color:#00000070}:where(.scalar-app) .bg-blue{background-color:var(--scalar-color-blue)}:where(.scalar-app) .bg-border{background-color:var(--scalar-border-color)}:where(.scalar-app) .bg-error{background-color:var(--scalar-error-color)}:where(.scalar-app) .bg-transparent{background-color:transparent}:where(.scalar-app) .stroke-\[0\.92\]{stroke-width:.92}:where(.scalar-app) .stroke-\[0\.96\]{stroke-width:.96}:where(.scalar-app) .stroke-\[0\.9\]{stroke-width:.9}:where(.scalar-app) .stroke-\[1\.1\]{stroke-width:1.1}:where(.scalar-app) .stroke-\[1\.2\]{stroke-width:1.2}:where(.scalar-app) .stroke-\[1\.4\]{stroke-width:1.4}:where(.scalar-app) .stroke-\[1\.75\]{stroke-width:1.75}:where(.scalar-app) .p-0{padding:0}:where(.scalar-app) .p-0\.5{padding:2px}:where(.scalar-app) .p-0\.75{padding:3px}:where(.scalar-app) .p-1{padding:4px}:where(.scalar-app) .p-2{padding:8px}:where(.scalar-app) .p-3{padding:12px}:where(.scalar-app) .p-\[3px\]{padding:3px}:where(.scalar-app) .px-1{padding-left:4px;padding-right:4px}:where(.scalar-app) .px-2{padding-left:8px;padding-right:8px}:where(.scalar-app) .px-2\.5{padding-left:10px;padding-right:10px}:where(.scalar-app) .px-3{padding-left:12px;padding-right:12px}:where(.scalar-app) .px-4{padding-left:16px;padding-right:16px}:where(.scalar-app) .px-6{padding-left:24px;padding-right:24px}:where(.scalar-app) .px-9{padding-left:36px;padding-right:36px}:where(.scalar-app) .py-1{padding-top:4px;padding-bottom:4px}:where(.scalar-app) .py-1\.5{padding-top:6px;padding-bottom:6px}:where(.scalar-app) .py-3{padding-top:12px;padding-bottom:12px}:where(.scalar-app) .py-4{padding-top:16px;padding-bottom:16px}:where(.scalar-app) .pb-0{padding-bottom:0}:where(.scalar-app) .pb-4{padding-bottom:16px}:where(.scalar-app) .pl-9{padding-left:36px}:where(.scalar-app) .pr-3{padding-right:12px}:where(.scalar-app) .pt-3{padding-top:12px}:where(.scalar-app) .pt-6{padding-top:24px}:where(.scalar-app) .text-left{text-align:left}:where(.scalar-app) .font-code{font-family:var(--scalar-font-code)}:where(.scalar-app) .text-lg{font-size:var(--scalar-font-size-2)}:where(.scalar-app) .text-sm{font-size:var(--scalar-font-size-4)}:where(.scalar-app) .text-xs{font-size:var(--scalar-font-size-5)}:where(.scalar-app) .text-xxs{font-size:var(--scalar-font-size-6)}:where(.scalar-app) .font-bold{font-weight:var(--scalar-bold)}:where(.scalar-app) .font-medium{font-weight:var(--scalar-semibold)}:where(.scalar-app) .leading-snug{line-height:1.375}:where(.scalar-app) .text-b-1{color:var(--scalar-background-1)}:where(.scalar-app) .text-c-1{color:var(--scalar-color-1)}:where(.scalar-app) .text-c-2{color:var(--scalar-color-2)}:where(.scalar-app) .text-c-3{color:var(--scalar-color-3)}:where(.scalar-app) .text-c-btn{color:var(--scalar-button-1-color)}:where(.scalar-app) .text-c-ghost{color:var(--scalar-color-ghost)}:where(.scalar-app) .text-error{color:var(--scalar-error-color)}:where(.scalar-app) .text-transparent{color:transparent}:where(.scalar-app) .text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity))}:where(.scalar-app) .no-underline{text-decoration-line:none}:where(.scalar-app) .opacity-0{opacity:0}:where(.scalar-app) .opacity-50{opacity:.5}:where(.scalar-app) .shadow{--tw-shadow:var(--scalar-shadow-1);--tw-shadow-colored:var(--scalar-shadow-1);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:where(.scalar-app) .shadow-lg{--tw-shadow:var(--scalar-shadow-2);--tw-shadow-colored:var(--scalar-shadow-2);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:where(.scalar-app) .shadow-md{--tw-shadow:var(--scalar-shadow-1);--tw-shadow-colored:var(--scalar-shadow-1);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:where(.scalar-app) .shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:where(.scalar-app) .shadow-sm{--tw-shadow:rgba(0, 0, 0, .09) 0px 1px 4px;--tw-shadow-colored:0px 1px 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:where(.scalar-app) .shadow-current{--tw-shadow-color:currentColor;--tw-shadow:var(--tw-shadow-colored)}:where(.scalar-app) .outline-none{outline:2px solid transparent;outline-offset:2px}:where(.scalar-app) .outline{outline-style:solid}:where(.scalar-app) .blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:where(.scalar-app) .brightness-lifted{--tw-brightness:brightness(var(--scalar-lifted-brightness));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:where(.scalar-app) .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:where(.scalar-app) .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:where(.scalar-app) .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:where(.scalar-app) .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:where(.scalar-app) .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:where(.scalar-app) .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:where(.scalar-app) .bg-b-1{--tw-bg-base:var(--scalar-background-1)}:where(.scalar-app) .bg-b-2{--tw-bg-base:var(--scalar-background-2)}:where(.scalar-app) .bg-b-btn{--tw-bg-base:var(--scalar-button-1)}:where(.scalar-app) .bg-backdrop{--tw-bg-base:rgba(0, 0, 0, .44)}:where(.scalar-app) .bg-blue{--tw-bg-base:var(--scalar-color-blue)}:where(.scalar-app) .bg-border{--tw-bg-base:var(--scalar-border-color)}:where(.scalar-app) .bg-error{--tw-bg-base:var(--scalar-error-color)}:where(.scalar-app) .bg-transparent{--tw-bg-base:transparent}:where(.scalar-app) .row{display:flex;flex-direction:row}:where(.scalar-app) .col{display:flex;flex-direction:column}:where(.scalar-app) .centered{left:50%;--tw-translate-x: -50%;top:50%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:where(.scalar-app) .before\:mr-1:before{content:var(--tw-content);margin-right:4px}:where(.scalar-app) .before\:mr-1\.5:before{content:var(--tw-content);margin-right:6px}:where(.scalar-app) .before\:block:before{content:var(--tw-content);display:block}:where(.scalar-app) .before\:h-4:before{content:var(--tw-content);height:16px}:where(.scalar-app) .before\:w-4:before{content:var(--tw-content);width:16px}:where(.scalar-app) .before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}:where(.scalar-app) .before\:bg-error:before{content:var(--tw-content);background-color:var(--scalar-error-color)}:where(.scalar-app) .before\:text-center:before{content:var(--tw-content);text-align:center}:where(.scalar-app) .before\:text-xxs:before{content:var(--tw-content);font-size:var(--scalar-font-size-6)}:where(.scalar-app) .before\:leading-4:before{content:var(--tw-content);line-height:var(--scalar-line-height-4)}:where(.scalar-app) .before\:text-white:before{content:var(--tw-content);--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity))}:where(.scalar-app) .before\:content-\[\'\!\'\]:before{--tw-content:"!";content:var(--tw-content)}:where(.scalar-app) .before\:bg-error:before{content:var(--tw-content);--tw-bg-base:var(--scalar-error-color)}:where(.scalar-app) .first-of-type\:mt-0:first-of-type{margin-top:0}:where(.scalar-app) .first-of-type\:mt-0\.75:first-of-type{margin-top:3px}:where(.scalar-app) .last-of-type\:mb-0:last-of-type{margin-bottom:0}:where(.scalar-app) .last-of-type\:mb-0\.75:last-of-type{margin-bottom:3px}:where(.scalar-app) .empty\:hidden:empty{display:none}:where(.scalar-app) .focus-within\:border-c-1:focus-within{border-color:var(--scalar-color-1)}:where(.scalar-app) .hover\:bg-b-2:hover{background-color:var(--scalar-background-2)}:where(.scalar-app) .hover\:text-c-1:hover{color:var(--scalar-color-1)}:where(.scalar-app) .hover\:bg-b-2:hover{--tw-bg-base:var(--scalar-background-2)}:where(.scalar-app) .active\:bg-b-btn:active{background-color:var(--scalar-button-1)}:where(.scalar-app) .active\:text-c-1:active{color:var(--scalar-color-1)}:where(.scalar-app) .active\:shadow-none:active{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:where(.scalar-app) .active\:brightness-90:active{--tw-brightness:brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:where(.scalar-app) .active\:bg-b-btn:active{--tw-bg-base:var(--scalar-button-1)}:where(.scalar-app) .group:hover .group-hover\:text-c-1{color:var(--scalar-color-1)}:where(.scalar-app) .group:hover .group-hover\:shadow-border{--tw-shadow:inset 0 0 0 1px var(--scalar-border-color);--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:where(.scalar-app) .group:hover .group-hover\:shadow-border{--tw-shadow-color:var(--scalar-border-color);--tw-shadow:var(--tw-shadow-colored)}:where(.scalar-app) .ui-open\:rotate-180[data-headlessui-state~=open]{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:where(.scalar-app) :where([data-headlessui-state~=open]) .ui-open\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:where(.scalar-app) .has-actv-btn\:border:has(button:active){border-width:var(--scalar-border-width)}:where(.scalar-app) .has-actv-btn\:border-border:has(button:active){border-color:var(--scalar-border-color)}:where(.scalar-app) .\!empty\:flex:not(:empty){display:flex}:where(.scalar-app) .\!empty\:w-7:not(:empty){width:28px}:where(.scalar-app) .\!empty\:items-center:not(:empty){align-items:center}:where(.scalar-app) .\!empty\:pr-3:not(:empty){padding-right:12px}:where(.scalar-app) .hocus\:bg-border:hover{background-color:var(--scalar-border-color)}:where(.scalar-app) .hocus\:bg-h-btn:hover{background-color:var(--scalar-button-1-hover)}:where(.scalar-app) .hocus\:text-c-1:hover{color:var(--scalar-color-1)}:where(.scalar-app) .hocus\:brightness-90:hover{--tw-brightness:brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:where(.scalar-app) .hocus\:bg-border:hover{--tw-bg-base:var(--scalar-border-color)}:where(.scalar-app) .hocus\:bg-h-btn:hover{--tw-bg-base:var(--scalar-button-1-hover)}:where(.scalar-app) .hocus\:bg-border:focus-visible{background-color:var(--scalar-border-color)}:where(.scalar-app) .hocus\:bg-h-btn:focus-visible{background-color:var(--scalar-button-1-hover)}:where(.scalar-app) .hocus\:text-c-1:focus-visible{color:var(--scalar-color-1)}:where(.scalar-app) .hocus\:brightness-90:focus-visible{--tw-brightness:brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:where(.scalar-app) .hocus\:bg-border:focus-visible{--tw-bg-base:var(--scalar-border-color)}:where(.scalar-app) .hocus\:bg-h-btn:focus-visible{--tw-bg-base:var(--scalar-button-1-hover)}@media (min-width: 800px){:where(.scalar-app) .md\:row{display:flex;flex-direction:row}}.loader-wrapper[data-v-47faceda]{position:relative;height:var(--d6cae758);width:var(--d6cae758);display:flex;align-items:center;justify-content:center;--loader-size: 50%}.svg-loader[data-v-47faceda]{width:var(--loader-size);height:var(--loader-size);top:1rem;right:.9rem;overflow:visible;fill:none;background-color:transparent;stroke:currentColor}.svg-path[data-v-47faceda]{stroke-width:14;fill:none;transition:.3s}.svg-x-mark[data-v-47faceda]{stroke-dasharray:57;stroke-dashoffset:57;transition-delay:0s}.svg-check-mark[data-v-47faceda]{stroke-dasharray:149;stroke-dashoffset:149;transition-delay:0s}.icon-is-invalid .svg-x-mark[data-v-47faceda],.icon-is-valid .svg-check-mark[data-v-47faceda]{stroke-dashoffset:0;transition-delay:.3s}.circular-loader[data-v-47faceda]{animation:rotate-47faceda .7s linear infinite,fade-in-47faceda .4s;transform-origin:center center;transform:scale(5);background:transparent}.loader-path[data-v-47faceda]{stroke-dasharray:50,200;stroke-dashoffset:-100;stroke-linecap:round}.loader-path-off[data-v-47faceda]{stroke-dasharray:50,200;stroke-dashoffset:-100;transition:opacity .3s;opacity:0}@keyframes fade-in-47faceda{0%{opacity:0}70%{opacity:0}to{opacity:1}}@keyframes rotate-47faceda{0%{transform:scale(5) rotate(0)}to{transform:scale(5) rotate(360deg)}}.scalar-codeblock-pre{margin:0;padding:.5rem;overflow:auto;background:transparent;text-wrap:nowrap;white-space-collapse:preserve;border-radius:0}.scalar-input-wrapper-focus .scalar-input-label[data-v-94574cc9]{color:var(--scalar-color-1)}.scalar-input-wrapper-error .scalar-input-label[data-v-94574cc9]{color:var(--scalar-color-error-color)}.scalar-input[data-v-94574cc9]::-moz-selection{color:var(--scalar-color-1);background:#ffa55859}.scalar-input[data-v-94574cc9]::selection{color:var(--scalar-color-1);background:#ffa55859}.scalar-input[data-v-94574cc9]:has(+.scalar-input-label){opacity:0}.scalar-input[data-v-94574cc9]:not(:-moz-placeholder-shown){opacity:1;-moz-transition:opacity .2s ease-in-out .15s;transition:opacity .2s ease-in-out .15s}.scalar-input[data-v-94574cc9]:not(:placeholder-shown),.scalar-input-wrapper-focus .scalar-input[data-v-94574cc9]{opacity:1;transition:opacity .2s ease-in-out .15s}.scalar-input[data-v-94574cc9]:-webkit-autofill,.scalar-input[data-v-94574cc9]:-webkit-autofill:hover,.scalar-input[data-v-94574cc9]:-webkit-autofill:focus,.scalar-input[data-v-94574cc9]:-webkit-autofill:active,.scalar-input[data-v-94574cc9]:focus-within:-webkit-autofill,.scalar-input[data-v-94574cc9]:focus-within:-webkit-autofill:hover,.scalar-input[data-v-94574cc9]:focus-within:-webkit-autofill:focus,.scalar-input[data-v-94574cc9]:focus-within:-webkit-autofill:active{-webkit-box-shadow:0 0 0px 1000px var(--scalar-background-1) inset!important;-webkit-text-fill-color:var(--scalar-color-1);color:var(--scalar-color-1);border-radius:var(--scalar-radius)}.scalar-input:not(:-moz-placeholder-shown)+.scalar-input-label[data-v-94574cc9]{transform:translate3d(0,-20px,0) scale(.8);transform-origin:top left}.scalar-input-wrapper-focus .scalar-input-label[data-v-94574cc9],.scalar-input:not(:placeholder-shown)+.scalar-input-label[data-v-94574cc9]{transform:translate3d(0,-20px,0) scale(.8);transform-origin:top left}.scalar-input-wrapper-focus:has(button:active) .scalar-input-label[data-v-94574cc9]{color:var(--scalar-color-3)!important}
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "https://github.com/scalar/scalar.git",
11
11
  "directory": "packages/components"
12
12
  },
13
- "version": "0.11.6",
13
+ "version": "0.12.1",
14
14
  "engines": {
15
15
  "node": ">=18"
16
16
  },
@@ -36,10 +36,11 @@
36
36
  "@vueuse/core": "^10.10.0",
37
37
  "cva": "1.0.0-beta.1",
38
38
  "nanoid": "^5.0.7",
39
+ "radix-vue": "^1.8.4",
39
40
  "tailwind-merge": "^2.3.0",
40
41
  "vue": "^3.4.22",
41
42
  "@scalar/code-highlight": "0.0.4",
42
- "@scalar/oas-utils": "0.2.3"
43
+ "@scalar/oas-utils": "0.2.4"
43
44
  },
44
45
  "devDependencies": {
45
46
  "@headlessui/tailwindcss": "^0.2.0",
@@ -73,8 +74,8 @@
73
74
  "vite-svg-loader": "^5.1.0",
74
75
  "vitest": "^1.6.0",
75
76
  "vue-tsc": "^2.0.13",
76
- "@scalar/themes": "0.9.5",
77
- "@scalar/build-tooling": "0.1.6"
77
+ "@scalar/build-tooling": "0.1.6",
78
+ "@scalar/themes": "0.9.5"
78
79
  },
79
80
  "scripts": {
80
81
  "build": "run-p typegen:icons types:check \"build-only {@}\" --",