@bridge-ui/vue 0.0.1-beta.7 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Actions/BridgeUIHosts.vue.d.ts +3 -2
- package/dist/Actions/BridgeUIHosts.vue_vue_type_script_setup_true_lang.js +15 -10
- package/dist/Actions/Drawer/BridgeDrawerHost.js +5 -0
- package/dist/Actions/Drawer/BridgeDrawerHost.vue.d.ts +14 -0
- package/dist/Actions/Drawer/BridgeDrawerHost.vue_vue_type_script_setup_true_lang.js +35 -0
- package/dist/Actions/Drawer/bridgeDrawer.types.d.ts +44 -0
- package/dist/Actions/Drawer/bridgeDrawerInjectionKey.d.ts +3 -0
- package/dist/Actions/Drawer/bridgeDrawerInjectionKey.js +4 -0
- package/dist/Actions/Drawer/createBridgeDrawerApi.d.ts +2 -0
- package/dist/Actions/Drawer/createBridgeDrawerApi.js +49 -0
- package/dist/Actions/Drawer/index.d.ts +3 -0
- package/dist/Actions/Drawer/index.js +3 -0
- package/dist/Actions/Drawer/useDrawerAction.d.ts +5 -0
- package/dist/Actions/Drawer/useDrawerAction.js +26 -0
- package/dist/Actions/bridgeUIHosts.types.d.ts +5 -0
- package/dist/Actions/index.d.ts +2 -0
- package/dist/Actions/index.js +8 -6
- package/dist/Components/Badge/badge.types.d.ts +1 -1
- package/dist/Components/Chip/chip.types.d.ts +1 -1
- package/dist/Components/Drawer/Drawer.js +5 -0
- package/dist/Components/Drawer/Drawer.vue.d.ts +39 -0
- package/dist/Components/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js +96 -0
- package/dist/Components/Drawer/composables/useDrawer.d.ts +63 -0
- package/dist/Components/Drawer/composables/useDrawer.js +208 -0
- package/dist/Components/Drawer/drawer.types.d.ts +188 -0
- package/dist/Components/Drawer/index.d.ts +4 -0
- package/dist/Components/Drawer/index.js +3 -0
- package/dist/Components/FormControl/formControl.types.d.ts +6 -6
- package/dist/Components/FormField/formField.types.d.ts +7 -7
- package/dist/Components/Label/label.types.d.ts +1 -1
- package/dist/Components/Link/link.types.d.ts +3 -3
- package/dist/Components/List/list.types.d.ts +1 -1
- package/dist/Components/ListItem/listItem.types.d.ts +1 -1
- package/dist/Components/ListSection/listSection.types.d.ts +1 -1
- package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +72 -70
- package/dist/Components/Listbox/listbox.types.d.ts +15 -6
- package/dist/Components/Menu/menu.types.d.ts +3 -3
- package/dist/Components/Modal/composables/useModal.js +0 -1
- package/dist/Components/Modal/modal.types.d.ts +3 -2
- package/dist/Components/Select/Select.vue.d.ts +2 -2
- package/dist/Components/Select/composables/useSelect.d.ts +2 -1
- package/dist/Components/Select/composables/useSelect.js +3 -2
- package/dist/Components/Select/select.types.d.ts +5 -5
- package/dist/Components/Snackbar/composables/useSnackbar.js +1 -1
- package/dist/Components/Snackbar/snackbar.types.d.ts +7 -7
- package/dist/Components/Spinner/composables/useSpinner.js +16 -16
- package/dist/Components/Tab/Tab.js +5 -0
- package/dist/Components/Tab/Tab.vue.d.ts +11 -0
- package/dist/Components/Tab/Tab.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/Components/Tab/composables/useTab.d.ts +23 -0
- package/dist/Components/Tab/composables/useTab.js +88 -0
- package/dist/Components/Tab/index.d.ts +3 -0
- package/dist/Components/Tab/index.js +3 -0
- package/dist/Components/Tab/tab.types.d.ts +94 -0
- package/dist/Components/TabItem/TabItem.js +5 -0
- package/dist/Components/TabItem/TabItem.vue.d.ts +11 -0
- package/dist/Components/TabItem/TabItem.vue_vue_type_script_setup_true_lang.js +25 -0
- package/dist/Components/TabItem/composables/useTabItem.d.ts +3 -0
- package/dist/Components/TabItem/composables/useTabItem.js +39 -0
- package/dist/Components/TabItem/index.d.ts +3 -0
- package/dist/Components/TabItem/index.js +3 -0
- package/dist/Components/TabItem/tabItem.types.d.ts +72 -0
- package/dist/Components/TabList/TabList.js +5 -0
- package/dist/Components/TabList/TabList.vue.d.ts +11 -0
- package/dist/Components/TabList/TabList.vue_vue_type_script_setup_true_lang.js +18 -0
- package/dist/Components/TabList/composables/useTabList.d.ts +10 -0
- package/dist/Components/TabList/composables/useTabList.js +65 -0
- package/dist/Components/TabList/index.d.ts +3 -0
- package/dist/Components/TabList/index.js +3 -0
- package/dist/Components/TabList/tabList.types.d.ts +38 -0
- package/dist/Components/TabPanel/TabPanel.js +5 -0
- package/dist/Components/TabPanel/TabPanel.vue.d.ts +11 -0
- package/dist/Components/TabPanel/TabPanel.vue_vue_type_script_setup_true_lang.js +20 -0
- package/dist/Components/TabPanel/composables/useTabPanel.d.ts +14 -0
- package/dist/Components/TabPanel/composables/useTabPanel.js +51 -0
- package/dist/Components/TabPanel/index.d.ts +3 -0
- package/dist/Components/TabPanel/index.js +3 -0
- package/dist/Components/TabPanel/tabPanel.types.d.ts +48 -0
- package/dist/Components/Tabs/Tabs.js +5 -0
- package/dist/Components/Tabs/Tabs.vue.d.ts +24 -0
- package/dist/Components/Tabs/Tabs.vue_vue_type_script_setup_true_lang.js +73 -0
- package/dist/Components/Tabs/composables/useTabs.d.ts +39 -0
- package/dist/Components/Tabs/composables/useTabs.js +99 -0
- package/dist/Components/Tabs/index.d.ts +4 -0
- package/dist/Components/Tabs/index.js +4 -0
- package/dist/Components/Tabs/tabs.types.d.ts +93 -0
- package/dist/Components/Tabs/tabsInjectionKey.d.ts +121 -0
- package/dist/Components/Tabs/tabsInjectionKey.js +4 -0
- package/dist/Utils/index.d.ts +2 -0
- package/dist/Utils/index.js +20 -19
- package/dist/Utils/useBreakpoint.d.ts +19 -0
- package/dist/Utils/useBreakpoint.js +35 -0
- package/dist/index.d.ts +14 -1
- package/dist/index.js +76 -62
- package/dist/theme.css +9 -0
- package/package.json +2 -2
|
@@ -2,17 +2,18 @@ import { hasNamedSlot as e, resolveNamedSlot as t } from "../../Utils/slotOrProp
|
|
|
2
2
|
import n from "../List/List.js";
|
|
3
3
|
import { useListbox as r } from "./composables/useListbox.js";
|
|
4
4
|
import { LISTBOX_INJECTION_KEY as i } from "./listboxInjectionKey.js";
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { Fragment as
|
|
10
|
-
import {
|
|
5
|
+
import ee from "../ListItem/ListItem.js";
|
|
6
|
+
import te from "../ListSection/ListSection.js";
|
|
7
|
+
import a from "../Menu/Menu.js";
|
|
8
|
+
import ne from "../Progress/Progress.js";
|
|
9
|
+
import { Fragment as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createSlots as f, createVNode as p, defineComponent as m, guardReactiveProps as h, mergeModels as g, mergeProps as _, normalizeClass as v, normalizeProps as y, openBlock as b, provide as x, ref as S, renderList as C, renderSlot as w, resolveDynamicComponent as T, toDisplayString as E, unref as D, useModel as O, useSlots as k, watch as A, withCtx as j } from "vue";
|
|
10
|
+
import { isNil as M } from "es-toolkit/compat";
|
|
11
|
+
import { cn as N, entriesFromListboxOptions as re, flattenListboxOptions as ie, mapListboxEntriesToRows as ae } from "@bridge-ui/core";
|
|
11
12
|
import { Check as oe } from "@lucide/vue";
|
|
12
13
|
//#region src/Components/Listbox/Listbox.vue?vue&type=script&setup=true&lang.ts
|
|
13
|
-
var se = { key: 1 },
|
|
14
|
+
var se = { key: 1 }, P = /* @__PURE__ */ m({
|
|
14
15
|
__name: "Listbox",
|
|
15
|
-
props: /* @__PURE__ */
|
|
16
|
+
props: /* @__PURE__ */ g({
|
|
16
17
|
anchorEl: {},
|
|
17
18
|
classes: {},
|
|
18
19
|
color: { default: "primary" },
|
|
@@ -45,6 +46,7 @@ var se = { key: 1 }, N = /* @__PURE__ */ h({
|
|
|
45
46
|
},
|
|
46
47
|
options: {},
|
|
47
48
|
placement: { default: "bottom-start" },
|
|
49
|
+
rounded: {},
|
|
48
50
|
showCheckmark: {
|
|
49
51
|
type: Boolean,
|
|
50
52
|
default: !0
|
|
@@ -57,107 +59,107 @@ var se = { key: 1 }, N = /* @__PURE__ */ h({
|
|
|
57
59
|
},
|
|
58
60
|
modelModifiers: {}
|
|
59
61
|
}),
|
|
60
|
-
emits: /* @__PURE__ */
|
|
62
|
+
emits: /* @__PURE__ */ g([
|
|
61
63
|
"registered-options-change",
|
|
62
64
|
"select",
|
|
63
65
|
"show-change"
|
|
64
66
|
], ["update:modelValue"]),
|
|
65
|
-
setup(
|
|
66
|
-
let
|
|
67
|
-
A(
|
|
68
|
-
|
|
67
|
+
setup(m, { emit: g }) {
|
|
68
|
+
let P = k(), F = g, I = O(m, "modelValue");
|
|
69
|
+
A(I, (e) => {
|
|
70
|
+
F("show-change", e);
|
|
69
71
|
});
|
|
70
|
-
let
|
|
72
|
+
let L = m, { merged: R, checkClass: z, scrollBind: B, messageBind: V, sizeClasses: H, mergedClasses: U, optionSelectedClass: W, optionHighlightedClass: G } = r(L, {
|
|
71
73
|
size: "md",
|
|
72
74
|
color: "primary"
|
|
73
|
-
}),
|
|
75
|
+
}), ce = s(() => L.options ?? []), K = s(() => L.entries ? L.entries : re(ce.value)), q = s(() => ie(K.value)), J = s(() => e(P, "default")), Y = s(() => !L.loading && !J.value && q.value.length === 0 && L.hideEmptyMessage !== !0), X = s(() => N(z.value, U.value.check)), Z = S([]);
|
|
74
76
|
function Q(e) {
|
|
75
|
-
return
|
|
76
|
-
}
|
|
77
|
-
function ce(e) {
|
|
78
|
-
return I.highlightedIndex === e;
|
|
77
|
+
return L.isSelected?.(e) ?? !1;
|
|
79
78
|
}
|
|
80
79
|
function le(e) {
|
|
80
|
+
return L.highlightedIndex === e;
|
|
81
|
+
}
|
|
82
|
+
function ue(e) {
|
|
81
83
|
e.preventDefault();
|
|
82
84
|
}
|
|
83
|
-
function
|
|
85
|
+
function de(e, t) {
|
|
84
86
|
let n = {
|
|
85
87
|
tabindex: -1,
|
|
86
|
-
onMousedown:
|
|
87
|
-
class:
|
|
88
|
+
onMousedown: ue,
|
|
89
|
+
class: N(H.value?.option)
|
|
88
90
|
};
|
|
89
|
-
return Q(e.value) ? n.class =
|
|
91
|
+
return Q(e.value) ? n.class = N(n.class, W.value, U.value.optionSelected) : le(t) && (n.class = N(n.class, G.value, U.value.optionHighlighted)), {
|
|
90
92
|
interactive: n,
|
|
91
|
-
primary: { class:
|
|
92
|
-
secondary: { class:
|
|
93
|
+
primary: { class: H.value?.primary },
|
|
94
|
+
secondary: { class: H.value?.secondary }
|
|
93
95
|
};
|
|
94
96
|
}
|
|
95
97
|
function $(e) {
|
|
96
|
-
e.disabled ||
|
|
98
|
+
e.disabled || F("select", e);
|
|
97
99
|
}
|
|
98
|
-
function
|
|
100
|
+
function fe(e) {
|
|
99
101
|
return Z.value.some((t) => String(t.value) === String(e.value)) || (Z.value = [...Z.value, e]), () => {
|
|
100
102
|
Z.value = Z.value.filter((t) => String(t.value) !== String(e.value));
|
|
101
103
|
};
|
|
102
104
|
}
|
|
103
|
-
function
|
|
105
|
+
function pe(e) {
|
|
104
106
|
return (J.value ? Z.value : q.value).findIndex((t) => String(t.value) === String(e));
|
|
105
107
|
}
|
|
106
108
|
A(Z, (e) => {
|
|
107
|
-
J.value &&
|
|
108
|
-
}, { deep: !0 }),
|
|
109
|
-
getOptionIndex:
|
|
110
|
-
registerOption:
|
|
109
|
+
J.value && F("registered-options-change", e);
|
|
110
|
+
}, { deep: !0 }), x(i, s(() => ({
|
|
111
|
+
getOptionIndex: pe,
|
|
112
|
+
registerOption: fe,
|
|
111
113
|
onSelect: $,
|
|
112
|
-
listboxId:
|
|
114
|
+
listboxId: L.listboxId,
|
|
113
115
|
isSelected: Q,
|
|
114
|
-
sizeClasses:
|
|
115
|
-
showCheckmark:
|
|
116
|
+
sizeClasses: H.value,
|
|
117
|
+
showCheckmark: L.showCheckmark,
|
|
116
118
|
checkClass: X.value,
|
|
117
|
-
highlightedIndex:
|
|
118
|
-
optionSelectedClass:
|
|
119
|
-
optionHighlightedClass:
|
|
119
|
+
highlightedIndex: L.highlightedIndex,
|
|
120
|
+
optionSelectedClass: W.value,
|
|
121
|
+
optionHighlightedClass: G.value,
|
|
120
122
|
mergedClasses: {
|
|
121
|
-
optionSelected:
|
|
122
|
-
optionHighlighted:
|
|
123
|
+
optionSelected: U.value.optionSelected,
|
|
124
|
+
optionHighlighted: U.value.optionHighlighted
|
|
123
125
|
}
|
|
124
126
|
})));
|
|
125
|
-
let
|
|
126
|
-
return (r, i) => (
|
|
127
|
-
modelValue:
|
|
128
|
-
"onUpdate:modelValue": i[0] ||= (e) =>
|
|
129
|
-
"anchor-el":
|
|
130
|
-
placement:
|
|
127
|
+
let me = s(() => ae(K.value, Q));
|
|
128
|
+
return (r, i) => (b(), c(D(a), _({
|
|
129
|
+
modelValue: I.value,
|
|
130
|
+
"onUpdate:modelValue": i[0] ||= (e) => I.value = e,
|
|
131
|
+
"anchor-el": m.anchorEl,
|
|
132
|
+
placement: m.placement,
|
|
131
133
|
"close-on-click-away": !0,
|
|
132
|
-
"disable-auto-focus":
|
|
133
|
-
"custom-props": { content: D(
|
|
134
|
-
}, {
|
|
134
|
+
"disable-auto-focus": m.disableAutoFocus,
|
|
135
|
+
"custom-props": { content: D(R).customProps?.content }
|
|
136
|
+
}, D(M)(m.rounded) ? {} : { rounded: m.rounded }), {
|
|
135
137
|
default: j(() => [
|
|
136
|
-
D(e)(D(
|
|
137
|
-
|
|
138
|
+
D(e)(D(P), "beforeOptions") ? (b(), c(T(D(t)(D(P), "beforeOptions")), { key: 0 })) : l("", !0),
|
|
139
|
+
m.loading ? (b(), u(o, { key: 1 }, [p(D(ne), {
|
|
138
140
|
size: "xs",
|
|
139
141
|
"aria-hidden": "",
|
|
140
142
|
class: "shrink-0",
|
|
141
|
-
color: D(
|
|
142
|
-
classes: { bar: D(
|
|
143
|
-
"custom-props": { bar: D(
|
|
143
|
+
color: D(R).color,
|
|
144
|
+
classes: { bar: D(U).loading },
|
|
145
|
+
"custom-props": { bar: D(R).customProps?.loading }
|
|
144
146
|
}, null, 8, [
|
|
145
147
|
"color",
|
|
146
148
|
"classes",
|
|
147
149
|
"custom-props"
|
|
148
|
-
]),
|
|
150
|
+
]), d("div", y(h(D(V))), [D(e)(D(P), "loading") ? (b(), c(T(D(t)(D(P), "loading")), { key: 0 })) : (b(), u("span", se, E(m.loadingMessage), 1))], 16)], 64)) : (b(), u("div", y(_({ key: 2 }, D(B))), [p(D(n), {
|
|
149
151
|
dense: "",
|
|
150
152
|
class: "p-0",
|
|
151
153
|
role: "listbox",
|
|
152
|
-
id:
|
|
153
|
-
"aria-labelledby":
|
|
154
|
-
"aria-multiselectable":
|
|
154
|
+
id: m.listboxId,
|
|
155
|
+
"aria-labelledby": m.labelledBy,
|
|
156
|
+
"aria-multiselectable": m.multiple || void 0
|
|
155
157
|
}, {
|
|
156
|
-
default: j(() => [J.value ? w(r.$slots, "default", { key: 0 }) : (
|
|
158
|
+
default: j(() => [J.value ? w(r.$slots, "default", { key: 0 }) : (b(!0), u(o, { key: 1 }, C(me.value, (t) => (b(), u(o, { key: t.key }, [t.kind === "section" ? (b(), c(D(te), {
|
|
157
159
|
key: 0,
|
|
158
160
|
title: t.title,
|
|
159
161
|
sticky: t.sticky
|
|
160
|
-
}, null, 8, ["title", "sticky"])) : (
|
|
162
|
+
}, null, 8, ["title", "sticky"])) : (b(), c(D(ee), {
|
|
161
163
|
key: 1,
|
|
162
164
|
interactive: "",
|
|
163
165
|
role: "option",
|
|
@@ -166,19 +168,19 @@ var se = { key: 1 }, N = /* @__PURE__ */ h({
|
|
|
166
168
|
disabled: t.option.disabled,
|
|
167
169
|
secondary: t.option.description,
|
|
168
170
|
onClick: (e) => $(t.option),
|
|
169
|
-
id: `${
|
|
170
|
-
"custom-props":
|
|
171
|
-
primary: D(e)(D(
|
|
172
|
-
},
|
|
171
|
+
id: `${m.listboxId}-option-${t.index}`,
|
|
172
|
+
"custom-props": de(t.option, t.index),
|
|
173
|
+
primary: D(e)(D(P), "option") ? void 0 : t.option.label
|
|
174
|
+
}, f({ _: 2 }, [D(e)(D(P), "option") ? {
|
|
173
175
|
name: "default",
|
|
174
176
|
fn: j(() => [w(r.$slots, "option", {
|
|
175
177
|
option: t.option,
|
|
176
178
|
selected: t.selected
|
|
177
179
|
})]),
|
|
178
180
|
key: "0"
|
|
179
|
-
} : void 0,
|
|
181
|
+
} : void 0, m.showCheckmark && t.selected ? {
|
|
180
182
|
name: "end",
|
|
181
|
-
fn: j(() => [
|
|
183
|
+
fn: j(() => [p(D(oe), { class: v(X.value) }, null, 8, ["class"])]),
|
|
182
184
|
key: "1"
|
|
183
185
|
} : void 0]), 1032, [
|
|
184
186
|
"aria-selected",
|
|
@@ -195,11 +197,11 @@ var se = { key: 1 }, N = /* @__PURE__ */ h({
|
|
|
195
197
|
"aria-labelledby",
|
|
196
198
|
"aria-multiselectable"
|
|
197
199
|
])], 16)),
|
|
198
|
-
Y.value && !D(e)(D(
|
|
199
|
-
D(e)(D(
|
|
200
|
+
Y.value && !D(e)(D(P), "empty") ? (b(), u("div", y(_({ key: 3 }, D(V))), E(m.emptyMessage), 17)) : Y.value && D(e)(D(P), "empty") ? (b(), c(T(D(t)(D(P), "empty")), { key: 4 })) : l("", !0),
|
|
201
|
+
D(e)(D(P), "afterOptions") ? (b(), c(T(D(t)(D(P), "afterOptions")), { key: 5 })) : l("", !0)
|
|
200
202
|
]),
|
|
201
203
|
_: 3
|
|
202
|
-
},
|
|
204
|
+
}, 16, [
|
|
203
205
|
"modelValue",
|
|
204
206
|
"anchor-el",
|
|
205
207
|
"placement",
|
|
@@ -209,4 +211,4 @@ var se = { key: 1 }, N = /* @__PURE__ */ h({
|
|
|
209
211
|
}
|
|
210
212
|
});
|
|
211
213
|
//#endregion
|
|
212
|
-
export {
|
|
214
|
+
export { P as default };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { HTMLAttributes, Slot } from 'vue';
|
|
2
|
-
import { ListboxColor, ListboxEntry, ListboxOption, ListboxSize, ListboxValue, MergeHtmlProps, MergeProps, PositionPlacement } from '@bridge-ui/core';
|
|
2
|
+
import { ListboxColor, ListboxEntry, ListboxOption, ListboxSize, ListboxValue, MenuRounded, MergeHtmlProps, MergeProps, PositionPlacement } from '@bridge-ui/core';
|
|
3
3
|
export interface ListboxSizeOverrides {}
|
|
4
4
|
export interface ListboxColorOverrides {}
|
|
5
|
+
export interface ListboxRoundedOverrides {}
|
|
5
6
|
export interface ListboxClasses {
|
|
6
7
|
/**
|
|
7
8
|
* Classes merged onto the check icon.
|
|
@@ -165,6 +166,14 @@ export interface ListboxOwnProps {
|
|
|
165
166
|
* @default "bottom-start"
|
|
166
167
|
*/
|
|
167
168
|
placement?: PositionPlacement;
|
|
169
|
+
/**
|
|
170
|
+
* Roundedness of the floating panel (`Menu`). When omitted, `Menu` defaults
|
|
171
|
+
* apply (including `Menu.defaultProps.rounded`).
|
|
172
|
+
*
|
|
173
|
+
* `Select` always forwards its own `rounded` here so the dropdown matches the
|
|
174
|
+
* field, independent of `Menu.defaultProps`.
|
|
175
|
+
*/
|
|
176
|
+
rounded?: MergeProps<MenuRounded, ListboxRoundedOverrides>;
|
|
168
177
|
/**
|
|
169
178
|
* Shows a check icon on selected options.
|
|
170
179
|
*
|
|
@@ -182,25 +191,25 @@ export interface ListboxSlots {
|
|
|
182
191
|
/**
|
|
183
192
|
* Content below the list.
|
|
184
193
|
*/
|
|
185
|
-
afterOptions?: Slot
|
|
194
|
+
afterOptions?: Slot<undefined>;
|
|
186
195
|
/**
|
|
187
196
|
* Content above the list.
|
|
188
197
|
*/
|
|
189
|
-
beforeOptions?: Slot
|
|
198
|
+
beforeOptions?: Slot<undefined>;
|
|
190
199
|
/**
|
|
191
200
|
* Composed list content (`ListSection` / `ListItem`). When set, replaces the
|
|
192
201
|
* mapped `options` / `entries` render inside the list.
|
|
193
202
|
*/
|
|
194
|
-
default?: Slot
|
|
203
|
+
default?: Slot<undefined>;
|
|
195
204
|
/**
|
|
196
205
|
* Custom empty-state content.
|
|
197
206
|
*/
|
|
198
|
-
empty?: Slot
|
|
207
|
+
empty?: Slot<undefined>;
|
|
199
208
|
/**
|
|
200
209
|
* Custom loading content. Replaces the default `loadingMessage` when set.
|
|
201
210
|
* The progress bar still renders above this content.
|
|
202
211
|
*/
|
|
203
|
-
loading?: Slot
|
|
212
|
+
loading?: Slot<undefined>;
|
|
204
213
|
/**
|
|
205
214
|
* Custom option item content.
|
|
206
215
|
*/
|
|
@@ -54,13 +54,13 @@ export interface MenuEmits {
|
|
|
54
54
|
close: [];
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
|
-
* Anchored menu panel
|
|
58
|
-
* (not listed here — `defineModel` handles it). Anchor with `anchorEl`
|
|
57
|
+
* Anchored menu panel. Visibility is controlled with `v-model`
|
|
58
|
+
* (not listed here — `defineModel` handles it). Anchor with `anchorEl`
|
|
59
59
|
* or put the opener in the `trigger` slot; menu items go in the default slot.
|
|
60
60
|
*/
|
|
61
61
|
export interface MenuOwnProps {
|
|
62
62
|
/**
|
|
63
|
-
* Element that anchors the menu panel
|
|
63
|
+
* Element that anchors the menu panel. When set, it is used
|
|
64
64
|
* for positioning and click-away instead of the `trigger` slot wrapper.
|
|
65
65
|
* Prefer this when the opener lives outside the `Menu` or is controlled manually.
|
|
66
66
|
* Not merged into Bridge defaults (DOM nodes must not be deep-merged).
|
|
@@ -65,7 +65,6 @@ function x(x, ue, S = {}) {
|
|
|
65
65
|
})
|
|
66
66
|
})), be = n(() => e(z.value?.wrapper, { onClick: Q }, l({
|
|
67
67
|
"flex min-h-full w-full transform p-4": !0,
|
|
68
|
-
"items-end justify-center": !0,
|
|
69
68
|
[fe.value ?? ""]: !0,
|
|
70
69
|
[s(B.value, "wrapper") ?? ""]: !0
|
|
71
70
|
}))), xe = n(() => e(z.value?.panel, {
|
|
@@ -59,8 +59,9 @@ export interface ModalEmits {
|
|
|
59
59
|
*/
|
|
60
60
|
export interface ModalOwnProps {
|
|
61
61
|
/**
|
|
62
|
-
* Panel position
|
|
63
|
-
*
|
|
62
|
+
* Panel position on all breakpoints (`{row}-{column}` grid).
|
|
63
|
+
* Use `useBreakpoint` if you need a different align per viewport
|
|
64
|
+
* (e.g. bottom sheet on mobile, centered on desktop).
|
|
64
65
|
*
|
|
65
66
|
* @default "middle-center"
|
|
66
67
|
*/
|
|
@@ -6,19 +6,19 @@ type __VLS_ModelProps = {
|
|
|
6
6
|
};
|
|
7
7
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
8
8
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
9
|
+
clear: () => any;
|
|
9
10
|
search: (query: string) => any;
|
|
10
11
|
select: (option: import('@bridge-ui/core').ListboxOption) => any;
|
|
11
12
|
"update:modelValue": (...args: unknown[]) => any;
|
|
12
|
-
clear: () => any;
|
|
13
13
|
change: (value: import('@bridge-ui/core').SelectModel) => any;
|
|
14
14
|
close: () => any;
|
|
15
15
|
open: () => any;
|
|
16
16
|
deselect: (option: import('@bridge-ui/core').ListboxOption) => any;
|
|
17
17
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
18
|
+
onClear?: (() => any) | undefined;
|
|
18
19
|
onSearch?: ((query: string) => any) | undefined;
|
|
19
20
|
onSelect?: ((option: import('@bridge-ui/core').ListboxOption) => any) | undefined;
|
|
20
21
|
"onUpdate:modelValue"?: ((...args: unknown[]) => any) | undefined;
|
|
21
|
-
onClear?: (() => any) | undefined;
|
|
22
22
|
onChange?: ((value: import('@bridge-ui/core').SelectModel) => any) | undefined;
|
|
23
23
|
onClose?: (() => any) | undefined;
|
|
24
24
|
onOpen?: (() => any) | undefined;
|
|
@@ -732,8 +732,9 @@ export declare function useSelect(props: SelectOwnProps, model: Ref<null | undef
|
|
|
732
732
|
entries: ListboxEntry[];
|
|
733
733
|
options: import('@bridge-ui/core').ListboxOption[];
|
|
734
734
|
labelledBy: string;
|
|
735
|
-
|
|
735
|
+
rounded: NonNullable<keyof import('@bridge-ui/core').FormFieldRounded | undefined>;
|
|
736
736
|
invalidated: boolean;
|
|
737
|
+
highlightedIndex: number;
|
|
737
738
|
color: "dark" | "error" | "info" | "primary" | "secondary" | "success" | "warning";
|
|
738
739
|
size: "2xl" | "2xs" | "lg" | "md" | "sm" | "xl" | "xs";
|
|
739
740
|
classes?: import('../../Listbox').ListboxClasses;
|
|
@@ -319,8 +319,9 @@ function m(m, h, g, _, we) {
|
|
|
319
319
|
entries: Pe.value,
|
|
320
320
|
options: W.value,
|
|
321
321
|
labelledBy: K.controlId.value,
|
|
322
|
-
|
|
323
|
-
invalidated: K.invalidated.value
|
|
322
|
+
rounded: K.merged.value.rounded,
|
|
323
|
+
invalidated: K.invalidated.value,
|
|
324
|
+
highlightedIndex: S.value
|
|
324
325
|
}));
|
|
325
326
|
function tt(e) {
|
|
326
327
|
let t = I.value;
|
|
@@ -199,11 +199,11 @@ export interface SelectSlots extends FormFieldSlots {
|
|
|
199
199
|
/**
|
|
200
200
|
* Content below the trigger, above the option list.
|
|
201
201
|
*/
|
|
202
|
-
afterOptions?: Slot
|
|
202
|
+
afterOptions?: Slot<undefined>;
|
|
203
203
|
/**
|
|
204
204
|
* Content above the option list.
|
|
205
205
|
*/
|
|
206
|
-
beforeOptions?: Slot
|
|
206
|
+
beforeOptions?: Slot<undefined>;
|
|
207
207
|
/**
|
|
208
208
|
* Custom chip content (multiple mode).
|
|
209
209
|
*/
|
|
@@ -215,15 +215,15 @@ export interface SelectSlots extends FormFieldSlots {
|
|
|
215
215
|
* When set (and not using declarative `SelectOption` children), replaces
|
|
216
216
|
* mapped `options` inside the listbox.
|
|
217
217
|
*/
|
|
218
|
-
default?: Slot
|
|
218
|
+
default?: Slot<undefined>;
|
|
219
219
|
/**
|
|
220
220
|
* Custom empty-state content.
|
|
221
221
|
*/
|
|
222
|
-
empty?: Slot
|
|
222
|
+
empty?: Slot<undefined>;
|
|
223
223
|
/**
|
|
224
224
|
* Custom loading content.
|
|
225
225
|
*/
|
|
226
|
-
loading?: Slot
|
|
226
|
+
loading?: Slot<undefined>;
|
|
227
227
|
/**
|
|
228
228
|
* Custom option item content when rendering from the `options` prop.
|
|
229
229
|
*/
|
|
@@ -185,30 +185,30 @@ export interface SnackbarSlots {
|
|
|
185
185
|
/**
|
|
186
186
|
* Inline actions below the description.
|
|
187
187
|
*/
|
|
188
|
-
actions?: Slot
|
|
188
|
+
actions?: Slot<undefined>;
|
|
189
189
|
/**
|
|
190
190
|
* Content below the title/description.
|
|
191
191
|
*/
|
|
192
|
-
default?: Slot
|
|
192
|
+
default?: Slot<undefined>;
|
|
193
193
|
/**
|
|
194
194
|
* Custom description markup.
|
|
195
195
|
*/
|
|
196
|
-
description?: Slot
|
|
196
|
+
description?: Slot<undefined>;
|
|
197
197
|
/**
|
|
198
198
|
* Custom icon markup.
|
|
199
199
|
*/
|
|
200
|
-
icon?: Slot
|
|
200
|
+
icon?: Slot<undefined>;
|
|
201
201
|
/**
|
|
202
202
|
* Vertical action column on the right edge (WireUI `rightButtons` layout).
|
|
203
203
|
*/
|
|
204
|
-
right?: Slot
|
|
204
|
+
right?: Slot<undefined>;
|
|
205
205
|
/**
|
|
206
206
|
* Custom title markup.
|
|
207
207
|
*/
|
|
208
|
-
title?: Slot
|
|
208
|
+
title?: Slot<undefined>;
|
|
209
209
|
/**
|
|
210
210
|
* Content before the close button (e.g. compact accept action with `padding="small"`).
|
|
211
211
|
*/
|
|
212
|
-
trailing?: Slot
|
|
212
|
+
trailing?: Slot<undefined>;
|
|
213
213
|
}
|
|
214
214
|
export type SnackbarProps = MergeHtmlProps<SnackbarOwnProps, HTMLAttributes>;
|
|
@@ -32,17 +32,17 @@ function v(o, v) {
|
|
|
32
32
|
}), C = n({
|
|
33
33
|
entry: S,
|
|
34
34
|
props: () => b.value.componentProps
|
|
35
|
-
}), w = r(() => x.value.customProps), T = r(() => a(d(p, S.value?.customProps?.color), x.value.color)), E = r(() => a(d(m, S.value?.customProps?.size), x.value.size)), D = r(() => a(d(h, S.value?.customProps?.variant), x.value.variant)), O = r(() => x.value.thickness ?? s), k = r(() =>
|
|
35
|
+
}), w = r(() => x.value.customProps), T = r(() => a(d(p, S.value?.customProps?.color), x.value.color)), E = r(() => a(d(m, S.value?.customProps?.size), x.value.size)), D = r(() => a(d(h, S.value?.customProps?.variant), x.value.variant)), O = r(() => x.value.thickness ?? s), k = r(() => u(O.value)), A = c / 2, j = r(() => _(x.value.value)), M = r(() => !!x.value.enableTrack), N = r(() => !!x.value.disableShrink), P = r(() => x.value.variant === "determinate"), F = r(() => x.value.variant === "indeterminate"), I = r(() => e(w.value?.root, b.value.inheritedAttrs, {
|
|
36
36
|
role: "progressbar",
|
|
37
|
-
...
|
|
37
|
+
...P.value ? {
|
|
38
38
|
"aria-valuemin": 0,
|
|
39
39
|
"aria-valuemax": 100,
|
|
40
|
-
"aria-valuenow":
|
|
40
|
+
"aria-valuenow": j.value
|
|
41
41
|
} : {},
|
|
42
42
|
class: l({
|
|
43
43
|
"inline-block": !0,
|
|
44
44
|
[E.value ?? ""]: !0,
|
|
45
|
-
[D.value ?? ""]:
|
|
45
|
+
[D.value ?? ""]: F.value,
|
|
46
46
|
[C.value.root ?? ""]: !0
|
|
47
47
|
})
|
|
48
48
|
}));
|
|
@@ -53,31 +53,31 @@ function v(o, v) {
|
|
|
53
53
|
[C.value.svg ?? ""]: !0
|
|
54
54
|
}))),
|
|
55
55
|
rootBind: I,
|
|
56
|
-
trackBind: r(() =>
|
|
57
|
-
cx:
|
|
58
|
-
cy:
|
|
56
|
+
trackBind: r(() => M.value ? e(w.value?.track, {
|
|
57
|
+
cx: A,
|
|
58
|
+
cy: A,
|
|
59
59
|
fill: "none",
|
|
60
|
-
r:
|
|
60
|
+
r: k.value.radius,
|
|
61
61
|
"stroke-width": O.value
|
|
62
62
|
}, l({
|
|
63
63
|
[T.value?.track ?? ""]: !0,
|
|
64
64
|
[C.value.track ?? ""]: !0
|
|
65
65
|
})) : null),
|
|
66
66
|
circleBind: r(() => {
|
|
67
|
-
let { radius: t, circumference: n } =
|
|
67
|
+
let { radius: t, circumference: n } = k.value, r = P.value ? {
|
|
68
68
|
transformOrigin: "50% 50%",
|
|
69
69
|
transform: "rotate(-90deg)",
|
|
70
70
|
strokeDasharray: n,
|
|
71
71
|
transition: "stroke-dashoffset 200ms linear",
|
|
72
|
-
strokeDashoffset: (100 -
|
|
73
|
-
} : {}, i =
|
|
72
|
+
strokeDashoffset: (100 - j.value) / 100 * n
|
|
73
|
+
} : {}, i = F.value ? {
|
|
74
74
|
strokeDashoffset: 0,
|
|
75
|
-
strokeDasharray:
|
|
75
|
+
strokeDasharray: N.value ? `${n * .8}px, ${n}px` : "80px, 200px"
|
|
76
76
|
} : {};
|
|
77
77
|
return e(w.value?.circle, {
|
|
78
78
|
r: t,
|
|
79
|
-
cx:
|
|
80
|
-
cy:
|
|
79
|
+
cx: A,
|
|
80
|
+
cy: A,
|
|
81
81
|
fill: "none",
|
|
82
82
|
"stroke-width": O.value,
|
|
83
83
|
style: {
|
|
@@ -86,11 +86,11 @@ function v(o, v) {
|
|
|
86
86
|
}
|
|
87
87
|
}, l({
|
|
88
88
|
[T.value?.circle ?? ""]: !0,
|
|
89
|
-
"animate-bridge-spinner-dash":
|
|
89
|
+
"animate-bridge-spinner-dash": F.value && !N.value,
|
|
90
90
|
[C.value.circle ?? ""]: !0
|
|
91
91
|
}));
|
|
92
92
|
}),
|
|
93
|
-
enableTrack:
|
|
93
|
+
enableTrack: M
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
96
|
//#endregion
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TabOwnProps, TabSlots } from './tab.types';
|
|
2
|
+
type __VLS_Slots = TabSlots;
|
|
3
|
+
declare const __VLS_base: import('vue').DefineComponent<TabOwnProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<TabOwnProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
4
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
5
|
+
declare const _default: typeof __VLS_export;
|
|
6
|
+
export default _default;
|
|
7
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
8
|
+
new (): {
|
|
9
|
+
$slots: S;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { hasNamedSlot as e, resolveNamedSlot as t } from "../../Utils/slotOrProp.js";
|
|
2
|
+
import n from "../Icon/Icon.js";
|
|
3
|
+
import { useTab as r } from "./composables/useTab.js";
|
|
4
|
+
import { createBlock as i, createCommentVNode as a, createElementBlock as o, defineComponent as s, guardReactiveProps as c, mergeProps as l, normalizeProps as u, openBlock as d, resolveDynamicComponent as f, unref as p, useSlots as m } from "vue";
|
|
5
|
+
//#region src/Components/Tab/Tab.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var h = /* @__PURE__ */ s({
|
|
7
|
+
inheritAttrs: !1,
|
|
8
|
+
__name: "Tab",
|
|
9
|
+
props: {
|
|
10
|
+
classes: {},
|
|
11
|
+
customProps: {},
|
|
12
|
+
disabled: { type: Boolean },
|
|
13
|
+
endIcon: { type: [Function, Object] },
|
|
14
|
+
startIcon: { type: [Function, Object] },
|
|
15
|
+
value: {}
|
|
16
|
+
},
|
|
17
|
+
setup(s) {
|
|
18
|
+
let h = m(), { merged: g, iconSize: _, rootBind: v, endIconBind: y, endSlotBind: b, startIconBind: x, startSlotBind: S } = r(s);
|
|
19
|
+
return (r, s) => (d(), o("button", u(c(p(v))), [
|
|
20
|
+
p(g).startIcon ? (d(), i(p(n), l({
|
|
21
|
+
key: 0,
|
|
22
|
+
size: p(_)
|
|
23
|
+
}, p(x), { icon: p(g).startIcon }), null, 16, ["size", "icon"])) : p(e)(p(h), "start") ? (d(), o("div", u(l({ key: 1 }, p(S))), [(d(), i(f(p(t)(p(h), "start"))))], 16)) : a("", !0),
|
|
24
|
+
(d(), i(f(p(t)(p(h), "default")))),
|
|
25
|
+
p(g).endIcon ? (d(), i(p(n), l({
|
|
26
|
+
key: 2,
|
|
27
|
+
size: p(_)
|
|
28
|
+
}, p(y), { icon: p(g).endIcon }), null, 16, ["size", "icon"])) : p(e)(p(h), "end") ? (d(), o("div", u(l({ key: 3 }, p(b))), [(d(), i(f(p(t)(p(h), "end"))))], 16)) : a("", !0)
|
|
29
|
+
], 16));
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
//#endregion
|
|
33
|
+
export { h as default };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { IconSize } from '@bridge-ui/core';
|
|
2
|
+
import { TabOwnProps, TabProps } from '../tab.types';
|
|
3
|
+
export declare function useTab(props: TabOwnProps): {
|
|
4
|
+
merged: import('vue').ComputedRef<TabOwnProps>;
|
|
5
|
+
iconSize: import('vue').ComputedRef<keyof IconSize>;
|
|
6
|
+
rootBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<{
|
|
7
|
+
role: string;
|
|
8
|
+
type: string;
|
|
9
|
+
onClick: (event: PointerEvent) => void;
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
onKeydown: (event: KeyboardEvent) => void;
|
|
12
|
+
"aria-selected": boolean;
|
|
13
|
+
tabindex: number;
|
|
14
|
+
id: string;
|
|
15
|
+
"aria-controls": string;
|
|
16
|
+
class: string;
|
|
17
|
+
}, "class", import('vue').ButtonHTMLAttributes | undefined, Omit<TabProps, "value" | "classes" | "customProps" | "disabled" | "endIcon" | "startIcon">>>;
|
|
18
|
+
selected: import('vue').ComputedRef<boolean>;
|
|
19
|
+
endIconBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
|
|
20
|
+
endSlotBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
|
|
21
|
+
startIconBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
|
|
22
|
+
startSlotBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
|
|
23
|
+
};
|