@glimstone/vue 0.0.0-stage → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +51 -2
  2. package/dist/Badge.vue.d.ts +49 -0
  3. package/dist/BrandMark.vue.d.ts +6 -0
  4. package/dist/Button.vue.d.ts +43 -0
  5. package/dist/Card.vue.d.ts +25 -0
  6. package/dist/Checkbox.vue.d.ts +24 -0
  7. package/dist/ColorPicker.vue.d.ts +30 -0
  8. package/dist/Combobox.js +70 -0
  9. package/dist/Combobox.vue.d.ts +27 -0
  10. package/dist/ConfirmDialog.vue.d.ts +37 -0
  11. package/dist/ContextMenu.vue.d.ts +27 -0
  12. package/dist/CopyField.vue.d.ts +22 -0
  13. package/dist/EmptyState.vue.d.ts +28 -0
  14. package/dist/IconTipButton.vue.d.ts +24 -0
  15. package/dist/InfoAboutCard.vue.d.ts +4 -0
  16. package/dist/InfoBubble.vue.d.ts +9 -0
  17. package/dist/InfoHelpCard.vue.d.ts +6 -0
  18. package/dist/InfoTile.vue.d.ts +22 -0
  19. package/dist/InfoVersionCard.vue.d.ts +15 -0
  20. package/dist/Kbd.vue.d.ts +15 -0
  21. package/dist/ListSelect.vue.d.ts +37 -0
  22. package/dist/MenuBar.vue.d.ts +13 -0
  23. package/dist/MenuChoice.vue.d.ts +27 -0
  24. package/dist/MenuRows.vue.d.ts +12 -0
  25. package/dist/MenuSelect.vue.d.ts +37 -0
  26. package/dist/MenuSubmenu.vue.d.ts +31 -0
  27. package/dist/Meter.vue.d.ts +23 -0
  28. package/dist/NumberField.vue.d.ts +10 -0
  29. package/dist/PasswordField.vue.d.ts +25 -0
  30. package/dist/Pill.vue.d.ts +23 -0
  31. package/dist/ProgressBar.vue.d.ts +19 -0
  32. package/dist/ReadmeButton.vue.d.ts +33 -0
  33. package/dist/Select.js +444 -0
  34. package/dist/Select.vue.d.ts +50 -0
  35. package/dist/SelectFace.vue.d.ts +26 -0
  36. package/dist/Selector.vue.d.ts +55 -0
  37. package/dist/SelectorSegment.vue.d.ts +28 -0
  38. package/dist/SidebarRow.vue.d.ts +22 -0
  39. package/dist/Slider.js +36 -0
  40. package/dist/Slider.vue.d.ts +23 -0
  41. package/dist/SubCard.vue.d.ts +21 -0
  42. package/dist/TipBubble.vue.d.ts +7 -0
  43. package/dist/TipWrap-rNAEgvb0.js +51 -0
  44. package/dist/TipWrap.d.ts +11 -0
  45. package/dist/ToastViewport.vue.d.ts +25 -0
  46. package/dist/Toggle.vue.d.ts +21 -0
  47. package/dist/UnavailableNotice.vue.d.ts +20 -0
  48. package/dist/Window.vue.d.ts +42 -0
  49. package/dist/confirm.d.ts +20 -0
  50. package/dist/engines.d.ts +12 -0
  51. package/dist/entries/combobox.d.ts +1 -0
  52. package/dist/entries/select.d.ts +1 -0
  53. package/dist/entries/slider.d.ts +1 -0
  54. package/dist/glyphs-Cgknt-k1.js +27 -0
  55. package/dist/glyphs.d.ts +25 -0
  56. package/dist/index.d.ts +42 -0
  57. package/dist/index.js +1995 -0
  58. package/dist/info.d.ts +71 -0
  59. package/dist/selectParts.d.ts +25 -0
  60. package/dist/selectorItem.d.ts +19 -0
  61. package/dist/tipBubble.d.ts +16 -0
  62. package/dist/windowParts.d.ts +22 -0
  63. package/package.json +47 -4
@@ -0,0 +1,50 @@
1
+ import { type SelectSize, type SelectWidth } from "@glimstone/core";
2
+ import type { SelectGroup, SelectOption } from "./selectParts";
3
+ declare const __VLS_export: <T extends string>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<({
5
+ /** The field's name, always the accessible name. */
6
+ label: string;
7
+ /** Draw the label off screen, for a settings row that names the field at its start. */
8
+ hideLabel?: boolean;
9
+ /** Every choice, in list order, for a list without groups. */
10
+ options?: SelectOption<T>[];
11
+ /** The list in runs, with headings and submenus. */
12
+ groups?: SelectGroup<T>[];
13
+ /** Shown while the value is null. */
14
+ placeholder?: string;
15
+ /** Defaults to `fill` for a field and to `steady` for the smaller sizes. */
16
+ width?: SelectWidth;
17
+ size?: SelectSize;
18
+ /** Lets a long value run onto a second line, for one whose end says as much as its start. */
19
+ wrap?: boolean;
20
+ /** The trigger's id, for a `<label for>` outside the select. */
21
+ id?: string;
22
+ disabled?: boolean;
23
+ /** A choice is out and its answer not back yet: the trigger keeps its focus but takes no input. */
24
+ busy?: boolean;
25
+ /** A hover bubble, for a trigger with no label beside it whose value does not say what it picks. */
26
+ tip?: string;
27
+ /** The caller's failure counter. Each bump shakes the trigger once, as the value snaps back. */
28
+ shake?: number;
29
+ } & {
30
+ /** Null when there is no one value, such as over a selection whose rows disagree. */
31
+ modelValue: T | null;
32
+ }) & {
33
+ "onUpdate:modelValue"?: ((value: T | null) => any) | undefined;
34
+ }> & (typeof globalThis extends {
35
+ __VLS_PROPS_FALLBACK: infer P;
36
+ } ? P : {});
37
+ expose: (exposed: {}) => void;
38
+ attrs: any;
39
+ slots: {};
40
+ emit: (event: "update:modelValue", value: T | null) => void;
41
+ }>) => import("vue").VNode & {
42
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
43
+ };
44
+ declare const _default: typeof __VLS_export;
45
+ export default _default;
46
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
47
+ [K in keyof T]: T[K];
48
+ } : {
49
+ [K in keyof T as K]: T[K];
50
+ }) & {};
@@ -0,0 +1,26 @@
1
+ import { type SelectWidth } from "@glimstone/core";
2
+ import type { SelectOption } from "./selectParts";
3
+ declare const __VLS_export: <T extends string>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<{
5
+ all: SelectOption<T>[];
6
+ value: T | null;
7
+ placeholder?: string;
8
+ width: SelectWidth;
9
+ glyphs: boolean;
10
+ }> & (typeof globalThis extends {
11
+ __VLS_PROPS_FALLBACK: infer P;
12
+ } ? P : {});
13
+ expose: (exposed: {}) => void;
14
+ attrs: any;
15
+ slots: {};
16
+ emit: {};
17
+ }>) => import("vue").VNode & {
18
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
19
+ };
20
+ declare const _default: typeof __VLS_export;
21
+ export default _default;
22
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
23
+ [K in keyof T]: T[K];
24
+ } : {
25
+ [K in keyof T as K]: T[K];
26
+ }) & {};
@@ -0,0 +1,55 @@
1
+ import { type SelectMode, type SelectorActivation, type SelectorOrientation, type SelectorSize, type SelectorVariant } from "@glimstone/core";
2
+ import type { SelectorItem } from "./selectorItem";
3
+ type __VLS_Props = {
4
+ items: SelectorItem[];
5
+ /** The accessible name of the strip, such as "Sort" or "Settings pages". */
6
+ label: string;
7
+ select?: SelectMode;
8
+ /** `vertical` is the column of tiles beside a settings area's pages. */
9
+ orientation?: SelectorOrientation;
10
+ size?: SelectorSize;
11
+ variant?: SelectorVariant;
12
+ /** "manual" moves the focus and chooses on Space, Enter or a click, for a strip that saves a setting. */
13
+ activation?: SelectorActivation;
14
+ /** Pin every segment to the widest one's measured width; the page-level picker. */
15
+ equalWidth?: boolean;
16
+ /** Hug the segments, for a strip that shares a toolbar row. */
17
+ inline?: boolean;
18
+ /** Keep every segment on one row, for page tabs. */
19
+ fit?: boolean;
20
+ /** Below 600px, two segments to a row with labels that wrap. */
21
+ pairsOnPhone?: boolean;
22
+ /** The button height for every segment, for a strip beside a Button. */
23
+ buttonHeight?: boolean;
24
+ /** Take a colour under rainbow. */
25
+ hue?: boolean;
26
+ /** Makes the strip a tab strip for colour, each segment keeping its own position from here. */
27
+ hueOffset?: number;
28
+ disabled?: boolean;
29
+ /** The id of the panel a tab strip switches. */
30
+ panelId?: string;
31
+ };
32
+ type __VLS_ModelProps = {
33
+ modelValue: string | null | string[];
34
+ };
35
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
36
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
37
+ "update:modelValue": (value: string | string[] | null) => any;
38
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
39
+ "onUpdate:modelValue"?: ((value: string | string[] | null) => any) | undefined;
40
+ }>, {
41
+ disabled: boolean;
42
+ select: SelectMode;
43
+ size: SelectorSize;
44
+ variant: SelectorVariant;
45
+ hue: boolean;
46
+ inline: boolean;
47
+ orientation: SelectorOrientation;
48
+ equalWidth: boolean;
49
+ buttonHeight: boolean;
50
+ pairsOnPhone: boolean;
51
+ activation: SelectorActivation;
52
+ fit: boolean;
53
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
54
+ declare const _default: typeof __VLS_export;
55
+ export default _default;
@@ -0,0 +1,28 @@
1
+ import { type SelectorOrientation, type SelectorSize, type SelectorVariant, type SelectorView } from "@glimstone/core";
2
+ import type { SelectorItem } from "./selectorItem";
3
+ type __VLS_Props = {
4
+ item: SelectorItem;
5
+ index: number;
6
+ strip: SelectorView;
7
+ on: boolean;
8
+ disabled: boolean;
9
+ roved: boolean;
10
+ share: Record<string, string>;
11
+ squeezed: boolean;
12
+ orientation: SelectorOrientation;
13
+ size: SelectorSize;
14
+ variant: SelectorVariant;
15
+ equalWidth: boolean;
16
+ buttonHeight: boolean;
17
+ pairsOnPhone: boolean;
18
+ hue: boolean;
19
+ hueOffset?: number;
20
+ panelId?: string;
21
+ };
22
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
+ select: () => any;
24
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
25
+ onSelect?: (() => any) | undefined;
26
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
+ declare const _default: typeof __VLS_export;
28
+ export default _default;
@@ -0,0 +1,22 @@
1
+ import { type Component } from "vue";
2
+ type __VLS_Props = {
3
+ /** The destination's name: shown, or hidden but still the link's name. */
4
+ label: string;
5
+ /** Without one the row shows its name in every mode. */
6
+ glyph?: Component;
7
+ href: string;
8
+ /** This destination is showing; the row is filled and marked as the current page. */
9
+ active?: boolean;
10
+ /** The row's rank among the rows the rail shows. */
11
+ hueIndex?: number;
12
+ /** The figure on the row, with the figure in words as `label`. Nothing shows at zero. */
13
+ count?: {
14
+ value: number;
15
+ label: string;
16
+ };
17
+ };
18
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
19
+ active: boolean;
20
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ declare const _default: typeof __VLS_export;
22
+ export default _default;
package/dist/Slider.js ADDED
@@ -0,0 +1,36 @@
1
+ import { Fragment as e, computed as t, createElementBlock as n, createElementVNode as r, defineComponent as i, mergeModels as a, mergeProps as o, openBlock as s, renderList as c, toDisplayString as l, useId as u, useModel as d } from "vue";
2
+ import { normalizeProps as f, useMachine as p } from "@zag-js/vue";
3
+ import * as m from "@zag-js/slider";
4
+ // src/Slider.vue?vue&type=script&setup=true&lang.ts
5
+ var h = { class: "glim-slider-head" }, g = /* @__PURE__ */ i({
6
+ __name: "Slider",
7
+ props: /*@__PURE__*/ a({
8
+ label: {},
9
+ min: {},
10
+ max: {},
11
+ step: { default: 1 },
12
+ format: {},
13
+ disabled: {
14
+ type: Boolean,
15
+ default: !1
16
+ }
17
+ }, {
18
+ modelValue: { required: !0 },
19
+ modelModifiers: {}
20
+ }),
21
+ emits: ["update:modelValue"],
22
+ setup(i) {
23
+ let a = i, g = d(i, "modelValue"), _ = u(), v = p(m.machine, t(() => ({
24
+ id: _,
25
+ value: [g.value],
26
+ min: a.min,
27
+ max: a.max,
28
+ step: a.step,
29
+ disabled: a.disabled,
30
+ onValueChange: (e) => g.value = e.value[0],
31
+ getAriaValueText: (e) => a.format(e.value)
32
+ }))), y = t(() => m.connect(v, f));
33
+ return (t, a) => (s(), n("div", o(y.value.getRootProps(), { class: "glim-slider" }), [r("div", h, [r("label", o(y.value.getLabelProps(), { class: "glim-field-label" }), l(i.label), 17), r("output", o(y.value.getValueTextProps(), { class: "glim-slider-value" }), l(i.format(y.value.value[0])), 17)]), r("div", o(y.value.getControlProps(), { class: "glim-slider-control" }), [r("div", o(y.value.getTrackProps(), { class: "glim-slider-track" }), [r("div", o(y.value.getRangeProps(), { class: "glim-slider-range" }), null, 16)], 16), (s(!0), n(e, null, c(y.value.value, (e, t) => (s(), n("div", o({ key: t }, { ref_for: !0 }, y.value.getThumbProps({ index: t }), { class: "glim-slider-thumb" }), [r("input", o({ ref_for: !0 }, y.value.getHiddenInputProps({ index: t })), null, 16)], 16))), 128))], 16)], 16));
34
+ }
35
+ });
36
+ export { g as Slider };
@@ -0,0 +1,23 @@
1
+ type __VLS_Props = {
2
+ label: string;
3
+ min: number;
4
+ max: number;
5
+ step?: number;
6
+ /** How the value reads, on screen and to a screen reader. */
7
+ format: (value: number) => string;
8
+ disabled?: boolean;
9
+ };
10
+ type __VLS_ModelProps = {
11
+ modelValue: number;
12
+ };
13
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
14
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ "update:modelValue": (value: number) => any;
16
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
17
+ "onUpdate:modelValue"?: ((value: number) => any) | undefined;
18
+ }>, {
19
+ disabled: boolean;
20
+ step: number;
21
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
@@ -0,0 +1,21 @@
1
+ type __VLS_Props = {
2
+ /** The group's name, set small and uppercase above it. */
3
+ title: string;
4
+ /** One line on what the group does, drawn as an "(i)" beside the title. */
5
+ hint?: string;
6
+ };
7
+ declare const __VLS_template: () => {
8
+ __VLS_Slots: {
9
+ default?: (props: {}) => any;
10
+ };
11
+ };
12
+ type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
13
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
+ declare const _default: typeof __VLS_export;
16
+ export default _default;
17
+ type __VLS_WithSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };
@@ -0,0 +1,7 @@
1
+ import type { TipBubble } from "./tipBubble";
2
+ type __VLS_Props = {
3
+ state: TipBubble;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,51 @@
1
+ import { Teleport as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, defineComponent as a, h as o, onScopeDispose as s, openBlock as c, ref as l, shallowRef as u, toDisplayString as d, useId as f, watch as p } from "vue";
2
+ import { dismissBubbleOn as m, placeBubble as h, pointerWasLast as g, trackInputModality as _ } from "@glimstone/core";
3
+ // src/tipBubble.ts
4
+ function v(e, n = () => !1) {
5
+ let r = l(!1), i = u(null), a = u(null), o = f(), c = t(e), d = t(() => !!c.value && r.value);
6
+ p(n, () => r.value = !1), _();
7
+ let v = () => {
8
+ c.value && (r.value = !0);
9
+ }, y = () => {
10
+ r.value = !1;
11
+ }, b;
12
+ return p(d, (e) => {
13
+ b?.(), b = void 0, e && (i.value && a.value && h(i.value, a.value), b = m(y));
14
+ }, { flush: "post" }), s(() => b?.()), {
15
+ trigger: i,
16
+ bubble: a,
17
+ id: o,
18
+ text: c,
19
+ shown: d,
20
+ describedBy: t(() => d.value ? o : void 0),
21
+ show: v,
22
+ hide: y,
23
+ showOnFocus: () => {
24
+ g() || v();
25
+ }
26
+ };
27
+ }
28
+ // src/TipBubble.vue?vue&type=script&setup=true&lang.ts
29
+ var y = ["id"], b = /* @__PURE__ */ a({
30
+ __name: "TipBubble",
31
+ props: { state: {} },
32
+ setup(t) {
33
+ return (a, o) => (c(), n(e, { to: "body" }, [t.state.shown.value ? (c(), i("div", {
34
+ key: 0,
35
+ ref: (e) => t.state.bubble.value = e,
36
+ id: t.state.id,
37
+ role: "tooltip",
38
+ class: "glim-bubble glim-fade"
39
+ }, d(t.state.text.value), 9, y)) : r("", !0)]));
40
+ }
41
+ }), x = (e, { slots: t }) => e.on ? o("span", {
42
+ class: "glim-tip-wrap",
43
+ onMouseenter: e.show,
44
+ onMouseleave: e.hide
45
+ }, t.default?.()) : t.default?.();
46
+ x.props = [
47
+ "on",
48
+ "show",
49
+ "hide"
50
+ ];
51
+ export { b as n, v as r, x as t };
@@ -0,0 +1,11 @@
1
+ import { type FunctionalComponent } from "vue";
2
+ /**
3
+ * Boxes a disabled trigger with a tip in a span that still sees the pointer,
4
+ * since a disabled <button> emits no mouse events. Otherwise the trigger
5
+ * renders as it is.
6
+ */
7
+ export declare const TipWrap: FunctionalComponent<{
8
+ on: boolean;
9
+ show: () => void;
10
+ hide: () => void;
11
+ }>;
@@ -0,0 +1,25 @@
1
+ import { type ToastSeverity } from "@glimstone/core";
2
+ type __VLS_Props = {
3
+ toasts: {
4
+ id: string;
5
+ message: string;
6
+ severity: ToastSeverity;
7
+ }[];
8
+ /** Accessible name for each dismiss button. */
9
+ dismissLabel: string;
10
+ };
11
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
12
+ focusin: (id: string) => any;
13
+ focusout: (id: string) => any;
14
+ enter: (id: string) => any;
15
+ dismiss: (id: string) => any;
16
+ leave: (id: string) => any;
17
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
18
+ onFocusin?: ((id: string) => any) | undefined;
19
+ onFocusout?: ((id: string) => any) | undefined;
20
+ onEnter?: ((id: string) => any) | undefined;
21
+ onDismiss?: ((id: string) => any) | undefined;
22
+ onLeave?: ((id: string) => any) | undefined;
23
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
+ declare const _default: typeof __VLS_export;
25
+ export default _default;
@@ -0,0 +1,21 @@
1
+ type __VLS_Props = {
2
+ label: string;
3
+ /** Use it only when the caller draws the same text right next to the
4
+ * switch, never because a card title further up already says it. */
5
+ hideLabel?: boolean;
6
+ disabled?: boolean;
7
+ };
8
+ type __VLS_ModelProps = {
9
+ modelValue: boolean;
10
+ };
11
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
12
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
+ "update:modelValue": (value: boolean) => any;
14
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
15
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
16
+ }>, {
17
+ disabled: boolean;
18
+ hideLabel: boolean;
19
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ declare const _default: typeof __VLS_export;
21
+ export default _default;
@@ -0,0 +1,20 @@
1
+ type __VLS_Props = {
2
+ title: string;
3
+ };
4
+ declare const __VLS_template: () => {
5
+ __VLS_Slots: {
6
+ default?: (props: {}) => any;
7
+ } & {
8
+ action?: (props: {}) => any;
9
+ };
10
+ };
11
+ type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
12
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,42 @@
1
+ import { type WindowSize } from "@glimstone/core";
2
+ import type { WindowAction } from "./windowParts";
3
+ type __VLS_Props = {
4
+ /** The notch's words, also the window's accessible name. */
5
+ title: string;
6
+ /** The foot's buttons, in reading order. Cancel or Close is added before
7
+ * them unless one of them is a way out itself. */
8
+ actions?: WindowAction[];
9
+ /** A quiet line at the start of the foot; the `start` slot takes markup. */
10
+ start?: string;
11
+ /** `normal` for a question or a form, `wide` for a list, `full` for a tool. */
12
+ size?: WindowSize;
13
+ /** The words of the way out the window adds. */
14
+ text: {
15
+ cancel: string;
16
+ close: string;
17
+ };
18
+ };
19
+ declare const __VLS_template: () => {
20
+ __VLS_Slots: {
21
+ default?: (props: {}) => any;
22
+ } & {
23
+ start?: (props: {}) => any;
24
+ };
25
+ };
26
+ type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
27
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
28
+ close: () => any;
29
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
30
+ onClose?: (() => any) | undefined;
31
+ }>, {
32
+ size: WindowSize;
33
+ actions: WindowAction[];
34
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
36
+ declare const _default: typeof __VLS_export;
37
+ export default _default;
38
+ type __VLS_WithSlots<T, S> = T & {
39
+ new (): {
40
+ $slots: S;
41
+ };
42
+ };
@@ -0,0 +1,20 @@
1
+ import { type Component } from "vue";
2
+ export interface ConfirmText {
3
+ /** The dialog's title, the same for every question, such as "Confirm". */
4
+ title: string;
5
+ cancel: string;
6
+ /** The confirm button's words where a question passes none of its own. */
7
+ confirm: string;
8
+ }
9
+ export interface ConfirmOptions {
10
+ confirmLabel?: string;
11
+ confirmLabelKey?: string;
12
+ confirmGlyph?: Component;
13
+ /** A switch or two the answer needs, shown under the question. */
14
+ extra?: Component;
15
+ }
16
+ export declare function useConfirm(text: ConfirmText): {
17
+ confirm: (message: string, options?: ConfirmOptions) => Promise<boolean>;
18
+ dismiss: () => void;
19
+ ConfirmHost: import("vue").DefineSetupFnComponent<Record<string, any>, {}, {}, Record<string, any> & {}, import("vue").PublicProps>;
20
+ };
@@ -0,0 +1,12 @@
1
+ import { type Ref, type WritableComputedRef } from "vue";
2
+ import { type LabelAxis, type LabelMode, type Motion, type RainbowState, type Shape } from "@glimstone/core";
3
+ /** One axis of the label engine. Writing it stores the mode and tells every control. */
4
+ export declare function useLabelMode(axis: LabelAxis): WritableComputedRef<LabelMode>;
5
+ /** The rainbow state. Writing it applies the new state to the document. */
6
+ export declare function useRainbow(): WritableComputedRef<RainbowState>;
7
+ /** The custom properties that put an element at a rainbow position. */
8
+ export declare function useHue(index: () => number | undefined): Ref<Record<string, string> | undefined>;
9
+ export declare function useShape(): WritableComputedRef<Shape>;
10
+ export declare function useMotion(): WritableComputedRef<Motion>;
11
+ /** The accent the user chose, or "" for the default. */
12
+ export declare function useAccent(): WritableComputedRef<string>;
@@ -0,0 +1 @@
1
+ export { default as Combobox } from "../Combobox.vue";
@@ -0,0 +1 @@
1
+ export { default as Select } from "../Select.vue";
@@ -0,0 +1 @@
1
+ export { default as Slider } from "../Slider.vue";
@@ -0,0 +1,27 @@
1
+ import { h as e } from "vue";
2
+ import { MARKS as t } from "@glimstone/core";
3
+ // src/glyphs.ts
4
+ var n = null;
5
+ function r(e) {
6
+ n = e;
7
+ }
8
+ function i(e) {
9
+ return n ? n(e) : void 0;
10
+ }
11
+ var a = ({ mark: t }) => e("svg", {
12
+ width: t.size,
13
+ height: t.size,
14
+ viewBox: t.viewBox,
15
+ fill: "currentColor",
16
+ "aria-hidden": "true",
17
+ innerHTML: t.body
18
+ });
19
+ a.props = ["mark"];
20
+ function o(t) {
21
+ return () => e(a, {
22
+ mark: t,
23
+ class: "glim-mark"
24
+ });
25
+ }
26
+ var s = o(t.close), c = o(t.cancel), l = o(t.check), u = o(t.expand), d = o(t.pencil), f = o(t.windowMinimise), p = o(t.windowMaximise), m = o(t.windowRestore), h = o(t.eye), g = o(t.eyeOff), _ = o(t.copy);
27
+ export { u as a, d as c, m as d, a as f, _ as i, p as l, r as m, l as n, h as o, i as p, s as r, g as s, c as t, f as u };
@@ -0,0 +1,25 @@
1
+ import { type Component, type FunctionalComponent } from "vue";
2
+ import { type Mark } from "@glimstone/core";
3
+ /**
4
+ * Register the app's label-key-to-glyph mapping, once, at boot. A button that is
5
+ * given no glyph cannot be shown in glyph mode, and one place to ask saves
6
+ * passing an icon at every call site.
7
+ */
8
+ export declare function setGlyphResolver(fn: (labelKey: string) => Component | undefined): void;
9
+ /** The mark for a label key, or nothing when no app resolver knows it. */
10
+ export declare function glyphFor(labelKey: string): Component | undefined;
11
+ /** A mark from the core, drawn in the current colour. A `class` falls through to the <svg>. */
12
+ export declare const MarkSvg: FunctionalComponent<{
13
+ mark: Mark;
14
+ }>;
15
+ export declare const IconClose: FunctionalComponent<{}, {}, any, {}>;
16
+ export declare const IconCancel: FunctionalComponent<{}, {}, any, {}>;
17
+ export declare const IconCheck: FunctionalComponent<{}, {}, any, {}>;
18
+ export declare const IconExpand: FunctionalComponent<{}, {}, any, {}>;
19
+ export declare const IconPencil: FunctionalComponent<{}, {}, any, {}>;
20
+ export declare const IconWindowMinimise: FunctionalComponent<{}, {}, any, {}>;
21
+ export declare const IconWindowMaximise: FunctionalComponent<{}, {}, any, {}>;
22
+ export declare const IconWindowRestore: FunctionalComponent<{}, {}, any, {}>;
23
+ export declare const IconEye: FunctionalComponent<{}, {}, any, {}>;
24
+ export declare const IconEyeOff: FunctionalComponent<{}, {}, any, {}>;
25
+ export declare const IconCopy: FunctionalComponent<{}, {}, any, {}>;
@@ -0,0 +1,42 @@
1
+ export { default as Badge } from "./Badge.vue";
2
+ export { default as BrandMark } from "./BrandMark.vue";
3
+ export { default as Button } from "./Button.vue";
4
+ export { default as Card } from "./Card.vue";
5
+ export { default as Checkbox } from "./Checkbox.vue";
6
+ export { default as ColorPicker } from "./ColorPicker.vue";
7
+ export { default as ConfirmDialog } from "./ConfirmDialog.vue";
8
+ export { default as ContextMenu } from "./ContextMenu.vue";
9
+ export { default as CopyField } from "./CopyField.vue";
10
+ export { default as EmptyState } from "./EmptyState.vue";
11
+ export { default as IconTipButton } from "./IconTipButton.vue";
12
+ export { default as InfoAboutCard } from "./InfoAboutCard.vue";
13
+ export { default as InfoBubble } from "./InfoBubble.vue";
14
+ export { default as InfoHelpCard } from "./InfoHelpCard.vue";
15
+ export { default as InfoTile } from "./InfoTile.vue";
16
+ export { default as InfoVersionCard } from "./InfoVersionCard.vue";
17
+ export { default as Kbd } from "./Kbd.vue";
18
+ export { default as MenuBar } from "./MenuBar.vue";
19
+ export { default as Meter } from "./Meter.vue";
20
+ export { default as NumberField } from "./NumberField.vue";
21
+ export { default as PasswordField } from "./PasswordField.vue";
22
+ export { default as Pill } from "./Pill.vue";
23
+ export { default as ProgressBar } from "./ProgressBar.vue";
24
+ export { default as ReadmeButton } from "./ReadmeButton.vue";
25
+ export { default as Selector } from "./Selector.vue";
26
+ export { default as SidebarRow } from "./SidebarRow.vue";
27
+ export { default as SubCard } from "./SubCard.vue";
28
+ export { default as ToastViewport } from "./ToastViewport.vue";
29
+ export { default as Toggle } from "./Toggle.vue";
30
+ export { default as UnavailableNotice } from "./UnavailableNotice.vue";
31
+ export { default as Window } from "./Window.vue";
32
+ export { useConfirm, type ConfirmOptions, type ConfirmText } from "./confirm";
33
+ export { useAccent, useHue, useLabelMode, useMotion, useRainbow, useShape } from "./engines";
34
+ export * from "./glyphs";
35
+ export type { InfoAboutCardProps, InfoHelpCardProps, InfoVersionCardProps } from "./info";
36
+ export type { SelectEntry, SelectGroup, SelectOption, SelectSubmenu } from "./selectParts";
37
+ export type { SelectorItem } from "./selectorItem";
38
+ export type { MenuBarMenu, MenuEntry, MenuHead, MenuItem, WindowAction } from "./windowParts";
39
+ export type { ColorName, ColorPickerPanelText, MeterSize, PillTone, WindowSize } from "@glimstone/core";
40
+ export { selectorTabId } from "@glimstone/core";
41
+ export { useTipBubble, type TipBubble } from "./tipBubble";
42
+ export { GLIMSTONE_VERSION } from "@glimstone/core";