@bridge-ui/vue 0.0.1-beta.5 → 0.0.1-beta.7

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 (53) hide show
  1. package/dist/Components/List/List.vue.d.ts +0 -1
  2. package/dist/Components/List/List.vue_vue_type_script_setup_true_lang.js +2 -3
  3. package/dist/Components/List/composables/useList.d.ts +3 -9
  4. package/dist/Components/List/composables/useList.js +21 -25
  5. package/dist/Components/List/index.d.ts +1 -1
  6. package/dist/Components/List/list.types.d.ts +1 -8
  7. package/dist/Components/ListItem/ListItem.vue.d.ts +0 -1
  8. package/dist/Components/ListItem/ListItem.vue_vue_type_script_setup_true_lang.js +3 -6
  9. package/dist/Components/ListItem/composables/useListItem.d.ts +12 -18
  10. package/dist/Components/ListItem/composables/useListItem.js +97 -75
  11. package/dist/Components/ListItem/index.d.ts +1 -1
  12. package/dist/Components/ListItem/listItem.types.d.ts +7 -8
  13. package/dist/Components/ListSection/composables/useListSection.d.ts +1 -3
  14. package/dist/Components/ListSection/composables/useListSection.js +6 -5
  15. package/dist/Components/Listbox/Listbox.vue.d.ts +5 -2
  16. package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +107 -56
  17. package/dist/Components/Listbox/composables/useListbox.d.ts +0 -5
  18. package/dist/Components/Listbox/composables/useListbox.js +10 -19
  19. package/dist/Components/Listbox/index.d.ts +2 -1
  20. package/dist/Components/Listbox/index.js +3 -2
  21. package/dist/Components/Listbox/listbox.types.d.ts +23 -6
  22. package/dist/Components/Listbox/listboxInjectionKey.d.ts +23 -0
  23. package/dist/Components/Listbox/listboxInjectionKey.js +4 -0
  24. package/dist/Components/Menu/Menu.vue.d.ts +2 -2
  25. package/dist/Components/Menu/composables/useMenu.d.ts +1 -3
  26. package/dist/Components/Menu/composables/useMenu.js +3 -3
  27. package/dist/Components/Modal/composables/useModal.d.ts +1 -1
  28. package/dist/Components/Progress/Progress.js +5 -0
  29. package/dist/Components/Progress/Progress.vue.d.ts +4 -0
  30. package/dist/Components/Progress/Progress.vue_vue_type_script_setup_true_lang.js +32 -0
  31. package/dist/Components/Progress/composables/useProgress.d.ts +29 -0
  32. package/dist/Components/Progress/composables/useProgress.js +75 -0
  33. package/dist/Components/Progress/index.d.ts +3 -0
  34. package/dist/Components/Progress/index.js +3 -0
  35. package/dist/Components/Progress/progress.types.d.ts +94 -0
  36. package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +68 -57
  37. package/dist/Components/Select/SelectOption.vue_vue_type_script_setup_true_lang.js +2 -0
  38. package/dist/Components/Select/composables/useSelect.d.ts +5 -1
  39. package/dist/Components/Select/composables/useSelect.js +187 -154
  40. package/dist/Components/Select/select.types.d.ts +12 -5
  41. package/dist/Components/Spinner/Spinner.js +5 -0
  42. package/dist/Components/Spinner/Spinner.vue.d.ts +4 -0
  43. package/dist/Components/Spinner/Spinner.vue_vue_type_script_setup_true_lang.js +31 -0
  44. package/dist/Components/Spinner/composables/useSpinner.d.ts +58 -0
  45. package/dist/Components/Spinner/composables/useSpinner.js +97 -0
  46. package/dist/Components/Spinner/index.d.ts +3 -0
  47. package/dist/Components/Spinner/index.js +3 -0
  48. package/dist/Components/Spinner/spinner.types.d.ts +99 -0
  49. package/dist/augments.d.ts +12 -3
  50. package/dist/index.d.ts +6 -2
  51. package/dist/index.js +32 -28
  52. package/dist/theme.css +46 -3
  53. package/package.json +2 -2
@@ -0,0 +1,94 @@
1
+ import { HTMLAttributes } from 'vue';
2
+ import { MergeHtmlProps, MergeProps, ProgressColor, ProgressRounded, ProgressSize, ProgressVariant } from '@bridge-ui/core';
3
+ export interface ProgressSizeOverrides {}
4
+ export interface ProgressColorOverrides {}
5
+ export interface ProgressRoundedOverrides {}
6
+ export interface ProgressVariantOverrides {}
7
+ export interface ProgressClasses {
8
+ /**
9
+ * The classes to apply to the primary progress bar.
10
+ */
11
+ bar?: string;
12
+ /**
13
+ * The classes to apply to the buffer bar.
14
+ */
15
+ buffer?: string;
16
+ /**
17
+ * The classes to apply to the root.
18
+ */
19
+ root?: string;
20
+ /**
21
+ * The classes to apply to the track.
22
+ */
23
+ track?: string;
24
+ }
25
+ export interface ProgressCustomProps {
26
+ /**
27
+ * Props forwarded to the primary progress bar.
28
+ */
29
+ bar?: HTMLAttributes;
30
+ /**
31
+ * Props forwarded to the buffer bar.
32
+ */
33
+ buffer?: HTMLAttributes;
34
+ /**
35
+ * Props forwarded to the root element.
36
+ */
37
+ root?: HTMLAttributes;
38
+ /**
39
+ * Props forwarded to the track element.
40
+ */
41
+ track?: HTMLAttributes;
42
+ }
43
+ export interface ProgressOwnProps {
44
+ /**
45
+ * The classes to apply to progress parts.
46
+ *
47
+ * @default undefined
48
+ */
49
+ classes?: ProgressClasses;
50
+ /**
51
+ * The color of the progress indicator.
52
+ *
53
+ * @default "primary"
54
+ */
55
+ color?: MergeProps<ProgressColor, ProgressColorOverrides>;
56
+ /**
57
+ * Extra props for internal parts (`root`, `track`, `bar`, `buffer`).
58
+ * Root HTML attributes stay on the component top level.
59
+ *
60
+ * @default undefined
61
+ */
62
+ customProps?: ProgressCustomProps;
63
+ /**
64
+ * The roundedness of the progress bar.
65
+ *
66
+ * @default "full"
67
+ */
68
+ rounded?: MergeProps<ProgressRounded, ProgressRoundedOverrides>;
69
+ /**
70
+ * The height size of the progress bar.
71
+ *
72
+ * @default "md"
73
+ */
74
+ size?: MergeProps<ProgressSize, ProgressSizeOverrides>;
75
+ /**
76
+ * Progress value from 0 to 100. Used by `determinate` and `buffer` variants.
77
+ *
78
+ * @default undefined
79
+ */
80
+ value?: number;
81
+ /**
82
+ * Buffer value from 0 to 100. Used by the `buffer` variant; should be ≥ `value`.
83
+ *
84
+ * @default undefined
85
+ */
86
+ valueBuffer?: number;
87
+ /**
88
+ * Visual variant of the progress indicator.
89
+ *
90
+ * @default "indeterminate"
91
+ */
92
+ variant?: MergeProps<ProgressVariant, ProgressVariantOverrides>;
93
+ }
94
+ export type ProgressProps = MergeHtmlProps<ProgressOwnProps, HTMLAttributes>;
@@ -1,23 +1,27 @@
1
1
  import { hasNamedSlot as e, resolveNamedSlot as t } from "../../Utils/slotOrProp.js";
2
- import n from "../Icon/Icon.js";
3
- import r from "../Chip/Chip.js";
4
- import i from "../FormField/FormField.js";
5
- import a from "../Listbox/Listbox.js";
6
- import { useSelect as o } from "./composables/useSelect.js";
7
- import { SELECT_OPTION_KEY as s } from "./selectInjectionKey.js";
8
- import { Fragment as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createTextVNode as m, createVNode as h, defineComponent as g, guardReactiveProps as _, isRef as v, mergeModels as y, mergeProps as b, normalizeProps as x, openBlock as S, provide as C, ref as w, renderList as T, renderSlot as E, resolveDynamicComponent as D, toDisplayString as O, unref as k, useModel as A, useTemplateRef as j, withCtx as M, withKeys as N, withModifiers as P } from "vue";
9
- import { X as F } from "@lucide/vue";
2
+ import ee from "../Icon/Icon.js";
3
+ import n from "../Chip/Chip.js";
4
+ import r from "../FormField/FormField.js";
5
+ import i from "../Listbox/Listbox.js";
6
+ import { useSelect as a } from "./composables/useSelect.js";
7
+ import { SELECT_OPTION_KEY as o } from "./selectInjectionKey.js";
8
+ import { Fragment as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createSlots as f, createTextVNode as p, createVNode as m, defineComponent as h, guardReactiveProps as g, isRef as _, mergeModels as v, mergeProps as y, normalizeProps as b, openBlock as x, provide as S, ref as C, renderList as w, renderSlot as T, resolveDynamicComponent as E, toDisplayString as D, unref as O, useModel as k, useTemplateRef as A, withCtx as j, withKeys as M, withModifiers as N } from "vue";
9
+ import { X as P } from "@lucide/vue";
10
10
  //#region src/Components/Select/Select.vue?vue&type=script&setup=true&lang.ts
11
- var I = {
11
+ var F = {
12
12
  key: 0,
13
13
  class: "flex min-w-0 flex-1 flex-wrap items-center gap-0.5"
14
- }, L = {
14
+ }, I = {
15
15
  key: 1,
16
16
  class: "flex min-w-0 flex-1 items-center gap-1"
17
- }, R = /* @__PURE__ */ g({
17
+ }, L = {
18
+ key: 0,
19
+ hidden: "",
20
+ "aria-hidden": "true"
21
+ }, R = /* @__PURE__ */ h({
18
22
  inheritAttrs: !1,
19
23
  __name: "Select",
20
- props: /* @__PURE__ */ y({
24
+ props: /* @__PURE__ */ v({
21
25
  asyncData: {},
22
26
  clearable: {
23
27
  type: Boolean,
@@ -72,7 +76,7 @@ var I = {
72
76
  modelValue: {},
73
77
  modelModifiers: {}
74
78
  }),
75
- emits: /* @__PURE__ */ y([
79
+ emits: /* @__PURE__ */ v([
76
80
  "change",
77
81
  "clear",
78
82
  "close",
@@ -82,9 +86,9 @@ var I = {
82
86
  "select",
83
87
  "update:modelValue"
84
88
  ], ["update:modelValue"]),
85
- setup(g, { emit: y }) {
86
- let R = A(g, "modelValue"), z = g, B = y, V = j("trigger"), H = w([]);
87
- C(s, {
89
+ setup(h, { emit: v }) {
90
+ let R = k(h, "modelValue"), z = h, B = v, V = A("trigger"), H = C([]);
91
+ S(o, {
88
92
  unregister(e) {
89
93
  H.value = H.value.filter((t) => String(t.value) !== String(e));
90
94
  },
@@ -92,20 +96,20 @@ var I = {
92
96
  H.value.some((t) => String(t.value) === String(e.value)) || (H.value = [...H.value, e]);
93
97
  }
94
98
  });
95
- let { open: U, slots: W, hasValue: G, multiple: K, formField: q, clearable: J, clearBind: Y, clearValue: X, removeChip: Z, triggerBind: Q, selectOption: $, containerRef: ee, listboxProps: te, clearIconSize: ne, mergedClasses: re, selectedOptions: ie } = o(z, R, V, B, H);
96
- return (o, s) => (S(), d(c, null, [
97
- h(k(i), { field: k(q) }, {
98
- default: M(() => [k(K) ? (S(), d("div", I, [(S(!0), d(c, null, T(k(ie), (e) => (S(), l(k(r), {
99
+ let { open: U, slots: W, hasValue: G, multiple: K, formField: q, clearable: J, clearBind: Y, clearValue: X, removeChip: Z, triggerBind: Q, selectOption: te, containerRef: ne, listboxProps: re, clearIconSize: ie, mergedClasses: ae, selectedOptions: oe, hasComposedList: $, handleRegisteredOptionsChange: se } = a(z, R, V, B, H);
100
+ return (a, o) => (x(), u(s, null, [
101
+ m(O(r), { field: O(q) }, {
102
+ default: j(() => [O(K) ? (x(), u("div", F, [(x(!0), u(s, null, w(O(oe), (e) => (x(), c(O(n), {
99
103
  dismissible: "",
100
104
  key: String(e.value),
101
- size: k(q).merged.value.size,
102
- "custom-props": { clear: k(Y) },
103
- disabled: k(q).isDisabled.value,
105
+ size: O(q).merged.value.size,
106
+ "custom-props": { clear: O(Y) },
107
+ disabled: O(q).isDisabled.value,
104
108
  "clear-label": `Remove ${e.label}`,
105
- classes: { root: k(re).chip },
106
- onDismiss: (t) => k(Z)(e, t)
109
+ classes: { root: O(ae).chip },
110
+ onDismiss: (t) => O(Z)(e, t)
107
111
  }, {
108
- default: M(() => [E(o.$slots, "chip", { option: e }, () => [m(O(e.label), 1)])]),
112
+ default: j(() => [T(a.$slots, "chip", { option: e }, () => [p(D(e.label), 1)])]),
109
113
  _: 2
110
114
  }, 1032, [
111
115
  "size",
@@ -114,56 +118,63 @@ var I = {
114
118
  "clear-label",
115
119
  "classes",
116
120
  "onDismiss"
117
- ]))), 128)), f("textarea", b({ ref: "trigger" }, k(Q)), null, 16)])) : (S(), d("div", L, [f("input", b({
121
+ ]))), 128)), d("textarea", y({ ref: "trigger" }, O(Q)), null, 16)])) : (x(), u("div", I, [d("input", y({
118
122
  ref: "trigger",
119
123
  class: "min-w-0 flex-1"
120
- }, k(Q)), null, 16), k(J) && k(G) && !k(q).isDisabled.value ? (S(), d("span", b({ key: 0 }, k(Y), {
121
- onClick: s[0] ||= (...e) => k(X) && k(X)(...e),
124
+ }, O(Q)), null, 16), O(J) && O(G) && !O(q).isDisabled.value ? (x(), u("span", y({ key: 0 }, O(Y), {
125
+ onClick: o[0] ||= (...e) => O(X) && O(X)(...e),
122
126
  "aria-label": "Clear selection",
123
- onKeydown: [s[1] ||= N(P((...e) => k(X) && k(X)(...e), ["prevent"]), ["enter"]), s[2] ||= N(P((...e) => k(X) && k(X)(...e), ["prevent"]), ["space"])]
124
- }), [h(k(n), {
125
- icon: k(F),
126
- size: k(ne)
127
- }, null, 8, ["icon", "size"])], 16)) : u("", !0)]))]),
127
+ onKeydown: [o[1] ||= M(N((...e) => O(X) && O(X)(...e), ["prevent"]), ["enter"]), o[2] ||= M(N((...e) => O(X) && O(X)(...e), ["prevent"]), ["space"])]
128
+ }), [m(O(ee), {
129
+ icon: O(P),
130
+ size: O(ie)
131
+ }, null, 8, ["icon", "size"])], 16)) : l("", !0)]))]),
128
132
  _: 3
129
133
  }, 8, ["field"]),
130
- h(k(a), b(k(te), {
131
- modelValue: k(U),
132
- "onUpdate:modelValue": s[3] ||= (e) => v(U) ? U.value = e : null,
133
- "anchor-el": k(ee),
134
- onSelect: k($)
135
- }), p({ _: 2 }, [
136
- k(e)(k(W), "beforeOptions") ? {
137
- name: "beforeOptions",
138
- fn: M(() => [(S(), l(D(k(t)(k(W), "beforeOptions"))))]),
134
+ m(O(i), y(O(re), {
135
+ modelValue: O(U),
136
+ "onUpdate:modelValue": o[3] ||= (e) => _(U) ? U.value = e : null,
137
+ "anchor-el": O(ne),
138
+ onSelect: O(te),
139
+ onRegisteredOptionsChange: O(se)
140
+ }), f({ _: 2 }, [
141
+ O($) ? {
142
+ name: "default",
143
+ fn: j(() => [T(a.$slots, "default")]),
139
144
  key: "0"
140
145
  } : void 0,
141
- k(e)(k(W), "loading") ? {
142
- name: "loading",
143
- fn: M(() => [(S(), l(D(k(t)(k(W), "loading"))))]),
146
+ O(e)(O(W), "beforeOptions") ? {
147
+ name: "beforeOptions",
148
+ fn: j(() => [(x(), c(E(O(t)(O(W), "beforeOptions"))))]),
144
149
  key: "1"
145
150
  } : void 0,
146
- k(e)(k(W), "option") ? {
147
- name: "option",
148
- fn: M((e) => [E(o.$slots, "option", x(_(e)))]),
151
+ O(e)(O(W), "loading") ? {
152
+ name: "loading",
153
+ fn: j(() => [(x(), c(E(O(t)(O(W), "loading"))))]),
149
154
  key: "2"
150
155
  } : void 0,
151
- k(e)(k(W), "empty") ? {
152
- name: "empty",
153
- fn: M(() => [(S(), l(D(k(t)(k(W), "empty"))))]),
156
+ O(e)(O(W), "option") ? {
157
+ name: "option",
158
+ fn: j((e) => [T(a.$slots, "option", b(g(e)))]),
154
159
  key: "3"
155
160
  } : void 0,
156
- k(e)(k(W), "afterOptions") ? {
157
- name: "afterOptions",
158
- fn: M(() => [(S(), l(D(k(t)(k(W), "afterOptions"))))]),
161
+ O(e)(O(W), "empty") ? {
162
+ name: "empty",
163
+ fn: j(() => [(x(), c(E(O(t)(O(W), "empty"))))]),
159
164
  key: "4"
165
+ } : void 0,
166
+ O(e)(O(W), "afterOptions") ? {
167
+ name: "afterOptions",
168
+ fn: j(() => [(x(), c(E(O(t)(O(W), "afterOptions"))))]),
169
+ key: "5"
160
170
  } : void 0
161
171
  ]), 1040, [
162
172
  "modelValue",
163
173
  "anchor-el",
164
- "onSelect"
174
+ "onSelect",
175
+ "onRegisteredOptionsChange"
165
176
  ]),
166
- E(o.$slots, "default")
177
+ O($) ? l("", !0) : (x(), u("div", L, [T(a.$slots, "default")]))
167
178
  ], 64));
168
179
  }
169
180
  });
@@ -5,6 +5,8 @@ var s = {
5
5
  hidden: "",
6
6
  "aria-hidden": "true"
7
7
  }, c = /* @__PURE__ */ n({
8
+ inheritAttrs: !1,
9
+ name: "SelectOption",
8
10
  __name: "SelectOption",
9
11
  props: {
10
12
  description: {},
@@ -1,4 +1,5 @@
1
1
  import { Ref, SetupContext } from 'vue';
2
+ import { ListboxEntry } from '@bridge-ui/core';
2
3
  import { FormFieldOwnProps } from '../../FormField/formField.types';
3
4
  import { SelectClasses, SelectEmits, SelectOption, SelectOwnProps, SelectValue } from '../select.types';
4
5
  export declare function useSelect(props: SelectOwnProps, model: Ref<null | undefined | SelectValue | SelectValue[]>, triggerRef: Ref<null | HTMLInputElement | HTMLTextAreaElement>, emit: SetupContext<SelectEmits>["emit"], declarativeOptions: Ref<SelectOption[]>): {
@@ -728,6 +729,7 @@ export declare function useSelect(props: SelectOwnProps, model: Ref<null | undef
728
729
  isSelected: (value: SelectValue) => boolean;
729
730
  loading: boolean;
730
731
  multiple: boolean;
732
+ entries: ListboxEntry[];
731
733
  options: import('@bridge-ui/core').ListboxOption[];
732
734
  labelledBy: string;
733
735
  highlightedIndex: number;
@@ -737,12 +739,12 @@ export declare function useSelect(props: SelectOwnProps, model: Ref<null | undef
737
739
  classes?: import('../../Listbox').ListboxClasses;
738
740
  customProps?: import('../../Listbox').ListboxCustomProps;
739
741
  disableAutoFocus: boolean;
740
- placement?: import('@floating-ui/utils').Placement;
741
742
  disableMaxHeight: boolean;
742
743
  emptyMessage: string;
743
744
  hideEmptyMessage: boolean;
744
745
  loadingMessage: string;
745
746
  maxHeight: string;
747
+ placement?: import('@floating-ui/utils').Placement;
746
748
  showCheckmark?: boolean;
747
749
  }>;
748
750
  clearIconSize: import('vue').ComputedRef<keyof import('@bridge-ui/core').IconSize>;
@@ -750,7 +752,9 @@ export declare function useSelect(props: SelectOwnProps, model: Ref<null | undef
750
752
  visibleOptions: import('vue').ComputedRef<import('@bridge-ui/core').ListboxOption[]>;
751
753
  isSearchActive: import('vue').ComputedRef<boolean>;
752
754
  selectedOptions: import('vue').ComputedRef<import('@bridge-ui/core').ListboxOption[]>;
755
+ hasComposedList: import('vue').ComputedRef<boolean>;
753
756
  highlightedIndex: Ref<number, number>;
757
+ handleRegisteredOptionsChange: (options: SelectOption[]) => void;
754
758
  emptyMessage: import('vue').ComputedRef<string>;
755
759
  hideEmptyMessage: import('vue').ComputedRef<boolean>;
756
760
  loadingMessage: import('vue').ComputedRef<string>;