@bridge-ui/vue 0.8.0 → 0.9.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.
- package/ai/skills/bridge-ui-components/SKILL.md +2 -1
- package/dist/Components/Accordion/composables/useAccordion.d.ts +1 -1
- package/dist/Components/ActionFooter/ActionFooter.js +5 -0
- package/dist/Components/ActionFooter/ActionFooter.vue.d.ts +10 -0
- package/dist/Components/ActionFooter/ActionFooter.vue_vue_type_script_setup_true_lang.js +35 -0
- package/dist/Components/ActionFooter/actionFooter.types.d.ts +107 -0
- package/dist/Components/ActionFooter/composables/useActionFooter.d.ts +35 -0
- package/dist/Components/ActionFooter/composables/useActionFooter.js +53 -0
- package/dist/Components/ActionFooter/index.d.ts +3 -0
- package/dist/Components/ActionFooter/index.js +3 -0
- package/dist/Components/Alert/composables/useAlert.d.ts +1 -1
- package/dist/Components/Autocomplete/Autocomplete.vue.d.ts +2 -2
- package/dist/Components/Autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Autocomplete/autocomplete.types.d.ts +1 -1
- package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +3 -3
- package/dist/Components/Autocomplete/composables/useAutocomplete.js +1 -1
- package/dist/Components/Badge/composables/useBadge.d.ts +1 -1
- package/dist/Components/BreadcrumbItem/composables/useBreadcrumbItem.d.ts +3 -3
- package/dist/Components/Button/composables/useButton.d.ts +2 -2
- package/dist/Components/ButtonGroup/composables/useButtonGroup.d.ts +1 -1
- package/dist/Components/Calendar/composables/useCalendar.d.ts +1 -1
- package/dist/Components/CalendarDate/composables/useCalendarDate.d.ts +1 -1
- package/dist/Components/CalendarMonth/composables/useCalendarMonth.d.ts +1 -1
- package/dist/Components/CalendarRange/composables/useCalendarRange.d.ts +1 -1
- package/dist/Components/CalendarYear/composables/useCalendarYear.d.ts +1 -1
- package/dist/Components/Card/composables/useCard.d.ts +1 -1
- package/dist/Components/Chip/Chip.vue.d.ts +1 -1
- package/dist/Components/Chip/composables/useChip.d.ts +1 -1
- package/dist/Components/ColorField/ColorField.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/ColorField/colorField.types.d.ts +1 -1
- package/dist/Components/ColorField/composables/useColorField.d.ts +2 -2
- package/dist/Components/ColorField/composables/useColorField.js +1 -1
- package/dist/Components/ColorPicker/ColorPicker.vue_vue_type_script_setup_true_lang.js +41 -40
- package/dist/Components/ColorPicker/composables/useColorPicker.d.ts +1 -3
- package/dist/Components/ColorPicker/composables/useColorPicker.js +0 -2
- package/dist/Components/DataTable/DataTable.vue_vue_type_script_setup_true_lang.js +8 -0
- package/dist/Components/DataTable/DataTableFilterMenu.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/DataTable/composables/useDataTable.d.ts +1 -1
- package/dist/Components/DataTable/composables/useDataTable.js +86 -86
- package/dist/Components/DataTable/composables/useDataTablePagination.d.ts +1 -1
- package/dist/Components/DataTable/dataTable.types.d.ts +22 -4
- package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/DateField/composables/useDateField.d.ts +2 -2
- package/dist/Components/DateField/composables/useDateField.js +1 -1
- package/dist/Components/DateField/dateField.types.d.ts +1 -1
- package/dist/Components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +18 -17
- package/dist/Components/DatePicker/composables/useDatePicker.d.ts +1 -3
- package/dist/Components/DatePicker/composables/useDatePicker.js +45 -48
- package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +2 -2
- package/dist/Components/DateRangeField/composables/useDateRangeField.js +1 -1
- package/dist/Components/DateRangeField/dateRangeField.types.d.ts +1 -1
- package/dist/Components/DateRangePicker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +18 -17
- package/dist/Components/DateRangePicker/composables/useDateRangePicker.d.ts +1 -3
- package/dist/Components/DateRangePicker/composables/useDateRangePicker.js +45 -48
- package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +2 -2
- package/dist/Components/DateTimeField/composables/useDateTimeField.js +1 -1
- package/dist/Components/DateTimeField/dateTimeField.types.d.ts +1 -1
- package/dist/Components/DateTimePicker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +25 -24
- package/dist/Components/DateTimePicker/composables/useDateTimePicker.d.ts +1 -3
- package/dist/Components/DateTimePicker/composables/useDateTimePicker.js +75 -78
- package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +2 -2
- package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.js +1 -1
- package/dist/Components/DateTimeRangeField/dateTimeRangeField.types.d.ts +1 -1
- package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +29 -28
- package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.d.ts +1 -3
- package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.js +84 -87
- package/dist/Components/Drawer/composables/useDrawer.js +75 -72
- package/dist/Components/FormField/composables/useFormField.d.ts +1 -1
- package/dist/Components/ListItem/ListItem.vue.d.ts +1 -1
- package/dist/Components/ListItem/composables/useListItem.d.ts +1 -1
- package/dist/Components/Listbox/Listbox.vue.d.ts +3 -3
- package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +69 -71
- package/dist/Components/Listbox/composables/useListbox.d.ts +0 -2
- package/dist/Components/Listbox/composables/useListbox.js +63 -66
- package/dist/Components/Menu/composables/useMenu.js +125 -121
- package/dist/Components/Modal/composables/useModal.js +117 -114
- package/dist/Components/NumberField/composables/useNumberField.d.ts +2 -2
- package/dist/Components/Pagination/composables/usePagination.d.ts +1 -1
- package/dist/Components/PasswordField/composables/usePasswordField.d.ts +2 -2
- package/dist/Components/Select/Select.vue.d.ts +2 -2
- package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/Select/composables/useSelect.d.ts +3 -3
- package/dist/Components/Select/composables/useSelect.js +1 -1
- package/dist/Components/Select/select.types.d.ts +1 -1
- package/dist/Components/Slider/composables/useSlider.d.ts +1 -1
- package/dist/Components/Snackbar/Snackbar.vue_vue_type_script_setup_true_lang.js +31 -28
- package/dist/Components/Snackbar/composables/useSnackbar.d.ts +2 -1
- package/dist/Components/Snackbar/composables/useSnackbar.js +135 -128
- package/dist/Components/Step/composables/useStep.d.ts +1 -1
- package/dist/Components/TextField/composables/useTextField.d.ts +2 -2
- package/dist/Components/Textarea/composables/useTextarea.d.ts +2 -2
- package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/TimeField/composables/useTimeField.d.ts +2 -2
- package/dist/Components/TimeField/composables/useTimeField.js +1 -1
- package/dist/Components/TimeField/timeField.types.d.ts +1 -1
- package/dist/Components/TimePanel/composables/useTimePanel.d.ts +1 -1
- package/dist/Components/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js +38 -37
- package/dist/Components/TimePicker/composables/useTimePicker.d.ts +1 -3
- package/dist/Components/TimePicker/composables/useTimePicker.js +54 -57
- package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +2 -2
- package/dist/Components/TimeRangeField/composables/useTimeRangeField.js +1 -1
- package/dist/Components/TimeRangeField/timeRangeField.types.d.ts +1 -1
- package/dist/Components/TimeRangePicker/TimeRangePicker.vue_vue_type_script_setup_true_lang.js +61 -60
- package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.d.ts +1 -3
- package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.js +41 -43
- package/dist/Components/ToggleGroup/composables/useToggleGroup.d.ts +1 -1
- package/dist/Components/Tooltip/Tooltip.vue.d.ts +1 -1
- package/dist/Components/Tooltip/composables/useTooltip.d.ts +1 -1
- package/dist/Components/Tooltip/composables/useTooltip.js +6 -1
- package/dist/augments.d.ts +5 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +162 -160
- package/docs/README.md +1 -0
- package/docs/components/ActionFooter.md +85 -0
- package/docs/components/Autocomplete.md +2 -2
- package/docs/components/BridgeUIProvider.md +17 -1
- package/docs/components/ColorField.md +1 -1
- package/docs/components/ColorPicker.md +1 -1
- package/docs/components/DataTable.md +16 -4
- package/docs/components/DateField.md +1 -1
- package/docs/components/DatePicker.md +1 -1
- package/docs/components/DateRangeField.md +1 -1
- package/docs/components/DateRangePicker.md +1 -1
- package/docs/components/DateTimeField.md +1 -1
- package/docs/components/DateTimePicker.md +1 -1
- package/docs/components/DateTimeRangeField.md +1 -1
- package/docs/components/DateTimeRangePicker.md +1 -1
- package/docs/components/Select.md +2 -2
- package/docs/components/TimeField.md +1 -1
- package/docs/components/TimePicker.md +1 -1
- package/docs/components/TimeRangeField.md +1 -1
- package/docs/components/TimeRangePicker.md +1 -1
- package/package.json +2 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { mergePartBind as e, resolveVnodeRefElement as t, useBridgeUIComponent as n, useBridgeUIMergedRegistryClasses as
|
|
2
|
-
import { computed as
|
|
3
|
-
import { get as
|
|
4
|
-
import { menuRoundedProps as
|
|
5
|
-
import { cn as
|
|
6
|
-
import { createFocusable as
|
|
7
|
-
import { LAYER_STACK_BASE_Z_INDEX as
|
|
1
|
+
import { mergePartBind as e, resolveVnodeRefElement as t, useBridgeUIComponent as n, useBridgeUIMergedRegistryClasses as r } from "../../../Utils/index.js";
|
|
2
|
+
import { computed as i, nextTick as a, onBeforeUnmount as ee, ref as o, toValue as te, useAttrs as s, useId as c, watch as l } from "vue";
|
|
3
|
+
import { get as u, omit as d } from "es-toolkit/compat";
|
|
4
|
+
import { menuRoundedProps as ne, menuShadowProps as re } from "@bridge-ui/core/Tokens";
|
|
5
|
+
import { cn as f, mergeBridgeUILayeredClasses as p, splitComponentProps as m } from "@bridge-ui/core/Utils";
|
|
6
|
+
import { createFocusable as h, createPositionable as ie } from "@bridge-ui/core/Runtime";
|
|
7
|
+
import { LAYER_STACK_BASE_Z_INDEX as g, acquireLayerStackOrder as ae, claimOpenMenu as oe, getLayerStackEntry as se, pushLayerStack as ce, subscribeLayerStack as le } from "@bridge-ui/core/Layer";
|
|
8
8
|
//#region src/Components/Menu/composables/useMenu.ts
|
|
9
|
-
var
|
|
9
|
+
var ue = [
|
|
10
10
|
"offset",
|
|
11
11
|
"shadow",
|
|
12
12
|
"classes",
|
|
@@ -23,33 +23,33 @@ var le = [
|
|
|
23
23
|
"disableAutoFocus",
|
|
24
24
|
"disableScrollLock"
|
|
25
25
|
];
|
|
26
|
-
function
|
|
27
|
-
let
|
|
28
|
-
function
|
|
29
|
-
e ||
|
|
26
|
+
function _(_, de, v = {}) {
|
|
27
|
+
let y = s(), b = c(), x = o(!1), S = o(""), C = o(null), w = o(null), T = null, E = null, D = null, O = null, k = null, A = null, j = !1, M = o(g), N = i(() => te(v.show ?? !1));
|
|
28
|
+
function P(e) {
|
|
29
|
+
e || v.onClose?.(), v.show && (v.show.value = e), v.onShowChange?.(e);
|
|
30
30
|
}
|
|
31
|
-
let
|
|
32
|
-
bridgeKeys:
|
|
31
|
+
let F = i(() => m({
|
|
32
|
+
bridgeKeys: ue,
|
|
33
33
|
props: {
|
|
34
|
-
...
|
|
35
|
-
...
|
|
34
|
+
...y,
|
|
35
|
+
..._
|
|
36
36
|
}
|
|
37
|
-
})), { merged:
|
|
38
|
-
libDefaults:
|
|
37
|
+
})), { merged: I, entry: L } = n({
|
|
38
|
+
libDefaults: de,
|
|
39
39
|
componentName: "Menu",
|
|
40
|
-
props: () =>
|
|
41
|
-
}),
|
|
42
|
-
entry:
|
|
43
|
-
props: () =>
|
|
44
|
-
}),
|
|
45
|
-
let e =
|
|
46
|
-
return
|
|
47
|
-
}),
|
|
48
|
-
let e =
|
|
49
|
-
return
|
|
50
|
-
}),
|
|
40
|
+
props: () => F.value.componentProps
|
|
41
|
+
}), R = i(() => I.value.customProps), z = r({
|
|
42
|
+
entry: L,
|
|
43
|
+
props: () => F.value.componentProps
|
|
44
|
+
}), B = i(() => I.value.keepMounted && !N.value), V = i(() => I.value.teleportTo !== !1), fe = i(() => {
|
|
45
|
+
let e = p(ne, L.value?.tokens?.rounded);
|
|
46
|
+
return u(e, I.value.rounded);
|
|
47
|
+
}), pe = i(() => {
|
|
48
|
+
let e = p(re, L.value?.tokens?.shadow);
|
|
49
|
+
return u(e, I.value.shadow);
|
|
50
|
+
}), H = i(() => !I.value.persistent), U = i(() => d(F.value.inheritedAttrs, ["anchorEl", "onShowChange"]));
|
|
51
51
|
function W() {
|
|
52
|
-
return
|
|
52
|
+
return _.anchorEl ?? C.value;
|
|
53
53
|
}
|
|
54
54
|
function G() {
|
|
55
55
|
W()?.focus({ preventScroll: !0 });
|
|
@@ -58,21 +58,21 @@ function v(v, ue, y = {}) {
|
|
|
58
58
|
return W()?.contains(e) ?? !1;
|
|
59
59
|
}
|
|
60
60
|
function me(e) {
|
|
61
|
-
return !(e instanceof Element) || K(e) ||
|
|
61
|
+
return !(e instanceof Element) || K(e) || w.value?.contains(e) ? !1 : !!e.closest("[aria-haspopup=\"menu\"], button, [role=\"button\"]");
|
|
62
62
|
}
|
|
63
63
|
function q() {
|
|
64
|
-
!
|
|
64
|
+
!H.value || !N.value || P(!1);
|
|
65
65
|
}
|
|
66
66
|
function he() {
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
function J(e) {
|
|
70
|
-
(e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") && (e.preventDefault(), P.value || F(!0));
|
|
67
|
+
I.value.persistent && N.value || P(!N.value);
|
|
71
68
|
}
|
|
72
69
|
function ge(e) {
|
|
73
|
-
|
|
70
|
+
(e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") && (e.preventDefault(), N.value || P(!0));
|
|
71
|
+
}
|
|
72
|
+
function _e(e) {
|
|
73
|
+
let t = w.value;
|
|
74
74
|
if (!t) return;
|
|
75
|
-
let n =
|
|
75
|
+
let n = h(t);
|
|
76
76
|
switch (e.key) {
|
|
77
77
|
case "Escape":
|
|
78
78
|
e.preventDefault(), q(), G();
|
|
@@ -89,139 +89,143 @@ function v(v, ue, y = {}) {
|
|
|
89
89
|
case "End": e.preventDefault(), n.focusLast();
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
function
|
|
93
|
-
|
|
92
|
+
function J() {
|
|
93
|
+
j = !1, O?.destroy(), O = null;
|
|
94
94
|
}
|
|
95
|
-
function
|
|
96
|
-
|
|
97
|
-
let e = W(), t =
|
|
98
|
-
!
|
|
95
|
+
function Y() {
|
|
96
|
+
J();
|
|
97
|
+
let e = W(), t = w.value;
|
|
98
|
+
!N.value || !e || !t || (O = ie({
|
|
99
99
|
floating: t,
|
|
100
100
|
reference: e,
|
|
101
|
-
offset:
|
|
102
|
-
strategy:
|
|
103
|
-
placement:
|
|
104
|
-
matchWidth:
|
|
101
|
+
offset: I.value.offset,
|
|
102
|
+
strategy: I.value.strategy,
|
|
103
|
+
placement: I.value.placement,
|
|
104
|
+
matchWidth: I.value.matchWidth === !0,
|
|
105
105
|
onReferenceHidden: () => {
|
|
106
|
-
!
|
|
106
|
+
!j || !H.value || !N.value || q();
|
|
107
107
|
}
|
|
108
|
-
}),
|
|
109
|
-
|
|
108
|
+
}), O.start(), a(() => {
|
|
109
|
+
j = !0;
|
|
110
110
|
}));
|
|
111
111
|
}
|
|
112
|
-
function
|
|
113
|
-
!
|
|
112
|
+
function X() {
|
|
113
|
+
!N.value || I.value.disableAutoFocus || !w.value || h(w.value).focusFirst();
|
|
114
114
|
}
|
|
115
|
-
function
|
|
116
|
-
if (
|
|
117
|
-
|
|
115
|
+
function ve() {
|
|
116
|
+
if (k?.(), !N.value) {
|
|
117
|
+
k = null;
|
|
118
118
|
return;
|
|
119
119
|
}
|
|
120
120
|
function e(e) {
|
|
121
121
|
let t = e.target;
|
|
122
|
-
K(t) ||
|
|
122
|
+
K(t) || w.value?.contains(t) || I.value.closeOnClickAway === !1 || !H.value || me(t) || q();
|
|
123
123
|
}
|
|
124
|
-
document.addEventListener("pointerdown", e, !0),
|
|
124
|
+
document.addEventListener("pointerdown", e, !0), k = () => {
|
|
125
125
|
document.removeEventListener("pointerdown", e, !0);
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
|
-
function
|
|
128
|
+
function ye(e) {
|
|
129
129
|
let n = t(e);
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
C.value !== n && (C.value = n, n && a(() => {
|
|
131
|
+
Y();
|
|
132
132
|
}));
|
|
133
133
|
}
|
|
134
|
-
function
|
|
134
|
+
function Z() {
|
|
135
|
+
E?.setContainer(w.value);
|
|
136
|
+
}
|
|
137
|
+
function be(e) {
|
|
135
138
|
let n = t(e);
|
|
136
|
-
|
|
137
|
-
|
|
139
|
+
w.value !== n && (w.value = n, Z(), n && a(() => {
|
|
140
|
+
Y(), X();
|
|
138
141
|
}));
|
|
139
142
|
}
|
|
140
|
-
function
|
|
141
|
-
!
|
|
143
|
+
function xe() {
|
|
144
|
+
!N.value || I.value.closeOnEscape === !1 || !H.value || (q(), G());
|
|
142
145
|
}
|
|
143
146
|
function Q() {
|
|
144
|
-
let e =
|
|
145
|
-
e && (
|
|
147
|
+
let e = se(S.value);
|
|
148
|
+
e && (M.value = e.zIndex);
|
|
146
149
|
}
|
|
147
150
|
function $() {
|
|
148
|
-
|
|
151
|
+
A?.(), A = null, k?.(), k = null, D?.(), D = null, E?.release(), E = null, T = null, S.value = "", M.value = g, J();
|
|
149
152
|
}
|
|
150
|
-
let
|
|
153
|
+
let Se = i(() => e(R.value?.root, U.value, f({
|
|
151
154
|
"relative inline-flex": !0,
|
|
152
|
-
[
|
|
153
|
-
}))),
|
|
155
|
+
[u(z.value, "root") ?? ""]: !0
|
|
156
|
+
}))), Ce = i(() => e(R.value?.trigger, {}, {
|
|
154
157
|
tabindex: 0,
|
|
155
158
|
role: "button",
|
|
156
|
-
"aria-expanded":
|
|
157
|
-
onKeydown:
|
|
159
|
+
"aria-expanded": N.value,
|
|
160
|
+
onKeydown: ge,
|
|
158
161
|
"aria-haspopup": "menu",
|
|
159
162
|
onClickCapture: he,
|
|
160
|
-
"aria-controls":
|
|
161
|
-
class:
|
|
163
|
+
"aria-controls": N.value ? b : void 0,
|
|
164
|
+
class: f({
|
|
162
165
|
"inline-flex w-fit max-w-full cursor-pointer outline-hidden": !0,
|
|
163
|
-
[
|
|
166
|
+
[u(z.value, "trigger") ?? ""]: !0
|
|
164
167
|
})
|
|
165
|
-
})),
|
|
166
|
-
id:
|
|
168
|
+
})), we = i(() => e(R.value?.content, {}, {
|
|
169
|
+
id: b,
|
|
167
170
|
role: "menu",
|
|
168
|
-
onKeydown:
|
|
169
|
-
style: { zIndex:
|
|
170
|
-
"aria-hidden":
|
|
171
|
-
class:
|
|
171
|
+
onKeydown: _e,
|
|
172
|
+
style: { zIndex: M.value },
|
|
173
|
+
"aria-hidden": B.value ? !0 : void 0,
|
|
174
|
+
class: f({
|
|
172
175
|
"bg-white text-dark-900 dark:bg-dark-800 dark:text-dark-100 ring-1 ring-black/5 dark:ring-white/10 outline-hidden overflow-hidden max-w-[calc(100vw-16px)]": !0,
|
|
173
|
-
"min-w-0 w-full":
|
|
174
|
-
"min-w-32 w-max":
|
|
175
|
-
"invisible pointer-events-none":
|
|
176
|
-
[de.value ?? ""]: !0,
|
|
176
|
+
"min-w-0 w-full": I.value.matchWidth === !0,
|
|
177
|
+
"min-w-32 w-max": I.value.matchWidth !== !0,
|
|
178
|
+
"invisible pointer-events-none": B.value,
|
|
177
179
|
[fe.value ?? ""]: !0,
|
|
178
|
-
[
|
|
180
|
+
[pe.value ?? ""]: !0,
|
|
181
|
+
[u(z.value, "content") ?? ""]: !0
|
|
179
182
|
})
|
|
180
183
|
}));
|
|
181
|
-
return
|
|
184
|
+
return l(N, (e) => {
|
|
182
185
|
if (e) {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
id:
|
|
186
|
+
x.value = !0, a(() => {
|
|
187
|
+
N.value && (A = oe({
|
|
188
|
+
id: b,
|
|
186
189
|
requestClose: q
|
|
187
190
|
}));
|
|
188
|
-
}),
|
|
189
|
-
order:
|
|
190
|
-
onEscape:
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
191
|
+
}), T = ae(), E = ce({
|
|
192
|
+
order: T,
|
|
193
|
+
onEscape: xe,
|
|
194
|
+
container: w.value ?? void 0,
|
|
195
|
+
lockScroll: I.value.disableScrollLock !== !0
|
|
196
|
+
}), S.value = E.id, M.value = E.zIndex, Q(), D = le(Q), a(() => {
|
|
197
|
+
Z(), Y(), X(), ve();
|
|
194
198
|
});
|
|
195
199
|
return;
|
|
196
200
|
}
|
|
197
|
-
$(),
|
|
198
|
-
}, { immediate: !0 }),
|
|
199
|
-
|
|
200
|
-
() =>
|
|
201
|
-
() =>
|
|
202
|
-
() =>
|
|
203
|
-
() =>
|
|
201
|
+
$(), I.value.keepMounted || (x.value = !1);
|
|
202
|
+
}, { immediate: !0 }), l([
|
|
203
|
+
N,
|
|
204
|
+
() => _.anchorEl,
|
|
205
|
+
() => I.value.offset,
|
|
206
|
+
() => I.value.strategy,
|
|
207
|
+
() => I.value.placement
|
|
204
208
|
], () => {
|
|
205
|
-
|
|
206
|
-
|
|
209
|
+
a(() => {
|
|
210
|
+
Y();
|
|
207
211
|
});
|
|
208
|
-
}),
|
|
209
|
-
|
|
210
|
-
|
|
212
|
+
}), l([N, () => I.value.disableAutoFocus], () => {
|
|
213
|
+
a(() => {
|
|
214
|
+
X();
|
|
211
215
|
});
|
|
212
|
-
}),
|
|
216
|
+
}), ee(() => {
|
|
213
217
|
$();
|
|
214
218
|
}), {
|
|
215
|
-
merged:
|
|
216
|
-
menuId:
|
|
217
|
-
mounted:
|
|
218
|
-
rootBind:
|
|
219
|
-
isPortaled:
|
|
220
|
-
triggerBind:
|
|
221
|
-
contentBind:
|
|
222
|
-
setTriggerRef:
|
|
223
|
-
setContentRef:
|
|
219
|
+
merged: I,
|
|
220
|
+
menuId: b,
|
|
221
|
+
mounted: x,
|
|
222
|
+
rootBind: Se,
|
|
223
|
+
isPortaled: V,
|
|
224
|
+
triggerBind: Ce,
|
|
225
|
+
contentBind: we,
|
|
226
|
+
setTriggerRef: ye,
|
|
227
|
+
setContentRef: be
|
|
224
228
|
};
|
|
225
229
|
}
|
|
226
230
|
//#endregion
|
|
227
|
-
export {
|
|
231
|
+
export { _ as useMenu };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { mergePartBind as e, resolveVnodeRefElement as t, useBridgeUIComponent as n, useBridgeUIMergedRegistryClasses as ee } from "../../../Utils/index.js";
|
|
2
|
-
import { computed as r, nextTick as i, onBeforeUnmount as
|
|
3
|
-
import { get as
|
|
4
|
-
import { modalAlignProps as
|
|
5
|
-
import { cn as
|
|
6
|
-
import { createFocusTrap as
|
|
7
|
-
import { LAYER_STACK_BASE_Z_INDEX as
|
|
2
|
+
import { computed as r, nextTick as i, onBeforeUnmount as te, ref as a, toValue as ne, useAttrs as re, watch as o } from "vue";
|
|
3
|
+
import { get as s } from "es-toolkit/compat";
|
|
4
|
+
import { modalAlignProps as ie, modalBlurProps as ae, modalSizeProps as oe } from "@bridge-ui/core/Tokens";
|
|
5
|
+
import { cn as c, mergeBridgeUILayeredClasses as l, splitComponentProps as se } from "@bridge-ui/core/Utils";
|
|
6
|
+
import { createFocusTrap as ce, isModalBackdropClick as le } from "@bridge-ui/core/Runtime";
|
|
7
|
+
import { LAYER_STACK_BASE_Z_INDEX as u, acquireLayerStackOrder as ue, countModalTransitionLayers as de, getLayerFocusTrapGuards as fe, getLayerStackEntry as d, getModalOverlayTransitionClass as f, getModalPanelTransitionClass as p, hasModalTransition as m, pushLayerStack as h, resolveEffectiveModalTransition as g, subscribeLayerStack as _ } from "@bridge-ui/core/Layer";
|
|
8
8
|
//#region src/Components/Modal/composables/useModal.ts
|
|
9
|
-
var
|
|
9
|
+
var v = [
|
|
10
10
|
"blur",
|
|
11
11
|
"size",
|
|
12
12
|
"align",
|
|
@@ -26,175 +26,178 @@ var fe = [
|
|
|
26
26
|
"disableEnforceFocus",
|
|
27
27
|
"disableRestoreFocus"
|
|
28
28
|
];
|
|
29
|
-
function
|
|
30
|
-
let
|
|
31
|
-
function
|
|
29
|
+
function y(y, pe, b = {}) {
|
|
30
|
+
let me = re(), x = a(!1), S = a(!1), C = a(""), w = a(null), T = !1, E = 0, D = null, O = null, k = null, A = null, j = a(u), M = a("closed"), N = r(() => ne(b.show ?? !1));
|
|
31
|
+
function P(e) {
|
|
32
32
|
e || b.onClose?.(), b.show && (b.show.value = e), b.onShowChange?.(e);
|
|
33
33
|
}
|
|
34
|
-
let
|
|
35
|
-
bridgeKeys:
|
|
34
|
+
let F = r(() => se({
|
|
35
|
+
bridgeKeys: v,
|
|
36
36
|
props: {
|
|
37
|
-
...
|
|
38
|
-
...
|
|
37
|
+
...me,
|
|
38
|
+
...y
|
|
39
39
|
}
|
|
40
|
-
})), { merged:
|
|
41
|
-
libDefaults:
|
|
40
|
+
})), { merged: I, entry: L } = n({
|
|
41
|
+
libDefaults: pe,
|
|
42
42
|
componentName: "Modal",
|
|
43
|
-
props: () =>
|
|
44
|
-
}),
|
|
45
|
-
entry:
|
|
46
|
-
props: () =>
|
|
47
|
-
}),
|
|
48
|
-
let e =
|
|
49
|
-
return
|
|
50
|
-
}),
|
|
51
|
-
let e =
|
|
52
|
-
return
|
|
53
|
-
}),
|
|
54
|
-
let e =
|
|
55
|
-
return
|
|
56
|
-
}),
|
|
57
|
-
onTransitionend:
|
|
58
|
-
style: { zIndex:
|
|
59
|
-
"aria-hidden":
|
|
60
|
-
class:
|
|
43
|
+
props: () => F.value.componentProps
|
|
44
|
+
}), R = r(() => I.value.customProps), z = ee({
|
|
45
|
+
entry: L,
|
|
46
|
+
props: () => F.value.componentProps
|
|
47
|
+
}), B = r(() => g(I.value.transition ?? "none")), V = r(() => m(B.value)), H = r(() => I.value.scroll ?? "body"), U = r(() => I.value.keepMounted && !x.value), he = r(() => {
|
|
48
|
+
let e = l(ie, L.value?.tokens?.align);
|
|
49
|
+
return s(e, I.value.align);
|
|
50
|
+
}), ge = r(() => {
|
|
51
|
+
let e = l(ae, L.value?.tokens?.blur);
|
|
52
|
+
return s(e, I.value.blur);
|
|
53
|
+
}), _e = r(() => {
|
|
54
|
+
let e = l(oe, L.value?.tokens?.size);
|
|
55
|
+
return s(e, I.value.size);
|
|
56
|
+
}), ve = r(() => f(B.value)), ye = r(() => p(B.value)), W = r(() => !I.value.persistent), be = r(() => F.value.inheritedAttrs), xe = r(() => e(R.value?.root, be.value, {
|
|
57
|
+
onTransitionend: Ee,
|
|
58
|
+
style: { zIndex: j.value },
|
|
59
|
+
"aria-hidden": U.value ? !0 : void 0,
|
|
60
|
+
class: c({
|
|
61
61
|
"fixed inset-0": !0,
|
|
62
|
-
"overflow-y-auto":
|
|
63
|
-
"overflow-hidden":
|
|
64
|
-
"invisible pointer-events-none":
|
|
65
|
-
[
|
|
62
|
+
"overflow-y-auto": H.value === "body",
|
|
63
|
+
"overflow-hidden": H.value === "paper",
|
|
64
|
+
"invisible pointer-events-none": U.value,
|
|
65
|
+
[s(z.value, "root") ?? ""]: !0
|
|
66
66
|
})
|
|
67
|
-
})),
|
|
67
|
+
})), Se = r(() => e(R.value?.overlay, { onClick: Z }, {
|
|
68
68
|
"data-modal-part": "overlay",
|
|
69
|
-
"data-state":
|
|
70
|
-
class:
|
|
69
|
+
"data-state": M.value,
|
|
70
|
+
class: c({
|
|
71
71
|
"fixed inset-0 bg-black/50": !0,
|
|
72
|
-
[
|
|
73
|
-
[
|
|
74
|
-
[
|
|
72
|
+
[ge.value ?? ""]: !0,
|
|
73
|
+
[ve.value]: V.value,
|
|
74
|
+
[s(z.value, "overlay") ?? ""]: !0
|
|
75
75
|
})
|
|
76
|
-
})),
|
|
76
|
+
})), Ce = r(() => e(R.value?.wrapper, { onClick: Q }, c({
|
|
77
77
|
"flex min-h-full w-full transform p-4": !0,
|
|
78
|
-
[
|
|
79
|
-
[
|
|
80
|
-
}))),
|
|
78
|
+
[he.value ?? ""]: !0,
|
|
79
|
+
[s(z.value, "wrapper") ?? ""]: !0
|
|
80
|
+
}))), we = r(() => e(R.value?.panel, {
|
|
81
81
|
role: "dialog",
|
|
82
82
|
"aria-modal": !0
|
|
83
83
|
}, {
|
|
84
84
|
"data-modal-part": "panel",
|
|
85
|
-
"data-state":
|
|
86
|
-
class:
|
|
85
|
+
"data-state": M.value,
|
|
86
|
+
class: c({
|
|
87
87
|
"relative w-full": !0,
|
|
88
|
-
[
|
|
89
|
-
"max-h-[calc(100dvh-2rem)] overflow-y-auto bridge-scroll-fade-y bridge-hide-scrollbar":
|
|
90
|
-
[
|
|
91
|
-
[
|
|
88
|
+
[_e.value ?? ""]: !0,
|
|
89
|
+
"max-h-[calc(100dvh-2rem)] overflow-y-auto bridge-scroll-fade-y bridge-hide-scrollbar": H.value === "paper",
|
|
90
|
+
[ye.value]: V.value,
|
|
91
|
+
[s(z.value, "panel") ?? ""]: !0
|
|
92
92
|
})
|
|
93
93
|
}));
|
|
94
|
-
function
|
|
95
|
-
|
|
94
|
+
function G() {
|
|
95
|
+
O?.release(), O = null;
|
|
96
96
|
}
|
|
97
|
-
function
|
|
98
|
-
if (!
|
|
99
|
-
|
|
97
|
+
function K() {
|
|
98
|
+
if (!x.value || M.value !== "open" || !w.value) {
|
|
99
|
+
G();
|
|
100
100
|
return;
|
|
101
101
|
}
|
|
102
|
-
|
|
103
|
-
container:
|
|
104
|
-
disableAutoFocus: !
|
|
105
|
-
disableEnforceFocus:
|
|
106
|
-
disableRestoreFocus:
|
|
102
|
+
k?.setContainer(w.value), G(), O = ce({
|
|
103
|
+
container: w.value,
|
|
104
|
+
disableAutoFocus: !I.value.autoFocus,
|
|
105
|
+
disableEnforceFocus: I.value.disableEnforceFocus,
|
|
106
|
+
disableRestoreFocus: I.value.disableRestoreFocus,
|
|
107
|
+
...fe(() => C.value)
|
|
107
108
|
});
|
|
108
109
|
}
|
|
109
|
-
function
|
|
110
|
-
|
|
110
|
+
function q(e) {
|
|
111
|
+
w.value = t(e), K();
|
|
111
112
|
}
|
|
112
113
|
function J() {
|
|
113
|
-
|
|
114
|
+
T && (T = !1, E = 0, x.value = !1, G(), N.value ? P(!1) : b.onShowChange?.(!1), M.value = "closed", I.value.keepMounted || (S.value = !1));
|
|
114
115
|
}
|
|
115
116
|
function Y() {
|
|
116
|
-
if (
|
|
117
|
+
if (k?.releaseScrollLock(), T = !0, !V.value) {
|
|
117
118
|
J();
|
|
118
119
|
return;
|
|
119
120
|
}
|
|
120
|
-
|
|
121
|
+
M.value = "closed", E = de(B.value, { hideBackdrop: I.value.hideBackdrop }), E === 0 && J();
|
|
121
122
|
}
|
|
122
|
-
function
|
|
123
|
-
if (
|
|
124
|
-
|
|
123
|
+
function Te() {
|
|
124
|
+
if (T = !1, E = 0, !V.value) {
|
|
125
|
+
M.value = "open";
|
|
125
126
|
return;
|
|
126
127
|
}
|
|
127
|
-
|
|
128
|
+
M.value = "closed", i(() => {
|
|
128
129
|
requestAnimationFrame(() => {
|
|
129
|
-
|
|
130
|
+
M.value = "open";
|
|
130
131
|
});
|
|
131
132
|
});
|
|
132
133
|
}
|
|
133
|
-
function
|
|
134
|
-
if (!
|
|
134
|
+
function Ee(e) {
|
|
135
|
+
if (!T || !S.value || M.value !== "closed") return;
|
|
135
136
|
let t = e.target;
|
|
136
|
-
(t?.dataset.modalPart === "overlay" || t?.dataset.modalPart === "panel") && e.propertyName !== "none" && e.elapsedTime !== 0 && (--
|
|
137
|
+
(t?.dataset.modalPart === "overlay" || t?.dataset.modalPart === "panel") && e.propertyName !== "none" && e.elapsedTime !== 0 && (--E, E <= 0 && J());
|
|
137
138
|
}
|
|
138
139
|
function X() {
|
|
139
|
-
if (
|
|
140
|
-
if (!
|
|
141
|
-
|
|
140
|
+
if (W.value) {
|
|
141
|
+
if (!V.value) {
|
|
142
|
+
P(!1);
|
|
142
143
|
return;
|
|
143
144
|
}
|
|
144
|
-
|
|
145
|
+
S.value && Y();
|
|
145
146
|
}
|
|
146
147
|
}
|
|
147
148
|
function Z() {
|
|
148
|
-
|
|
149
|
+
I.value.closeOnOverlay === !1 || !W.value || X();
|
|
149
150
|
}
|
|
150
151
|
function Q(e) {
|
|
151
|
-
|
|
152
|
+
le(e) && Z();
|
|
152
153
|
}
|
|
153
|
-
function
|
|
154
|
-
!
|
|
154
|
+
function De() {
|
|
155
|
+
!N.value || I.value.closeOnEscape === !1 || !W.value || X();
|
|
155
156
|
}
|
|
156
|
-
|
|
157
|
+
o(N, (e) => {
|
|
157
158
|
if (e) {
|
|
158
|
-
|
|
159
|
+
S.value = !0, x.value = !0, Te();
|
|
159
160
|
return;
|
|
160
161
|
}
|
|
161
|
-
|
|
162
|
-
}, { immediate: !0 }),
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
() =>
|
|
166
|
-
() =>
|
|
167
|
-
() =>
|
|
162
|
+
S.value && Y();
|
|
163
|
+
}, { immediate: !0 }), o([
|
|
164
|
+
x,
|
|
165
|
+
M,
|
|
166
|
+
() => I.value.autoFocus,
|
|
167
|
+
() => I.value.disableEnforceFocus,
|
|
168
|
+
() => I.value.disableRestoreFocus
|
|
168
169
|
], () => {
|
|
169
170
|
i(() => {
|
|
170
|
-
|
|
171
|
+
K();
|
|
171
172
|
});
|
|
172
173
|
});
|
|
173
174
|
function $() {
|
|
174
|
-
let e =
|
|
175
|
-
e && (
|
|
175
|
+
let e = d(C.value);
|
|
176
|
+
e && (j.value = e.zIndex);
|
|
176
177
|
}
|
|
177
|
-
return
|
|
178
|
-
e ? (
|
|
179
|
-
|
|
178
|
+
return o(x, (e) => {
|
|
179
|
+
e ? (D = ue(), k = h({
|
|
180
|
+
trapsFocus: !0,
|
|
181
|
+
order: D,
|
|
180
182
|
id: b.stackId,
|
|
181
|
-
onEscape:
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
183
|
+
onEscape: De,
|
|
184
|
+
container: w.value ?? void 0,
|
|
185
|
+
lockScroll: I.value.disableScrollLock !== !0
|
|
186
|
+
}), C.value = k.id, j.value = k.zIndex, $(), A = _($)) : (A?.(), A = null, k?.release(), k = null, D = null, C.value = "", j.value = u);
|
|
187
|
+
}, { immediate: !0 }), te(() => {
|
|
188
|
+
A?.(), A = null, G(), k?.release(), k = null;
|
|
186
189
|
}), {
|
|
187
|
-
merged:
|
|
188
|
-
mounted:
|
|
189
|
-
rootBind:
|
|
190
|
-
panelBind:
|
|
191
|
-
overlayBind:
|
|
192
|
-
wrapperBind:
|
|
193
|
-
setPanelRef:
|
|
194
|
-
layerStackId:
|
|
190
|
+
merged: I,
|
|
191
|
+
mounted: S,
|
|
192
|
+
rootBind: xe,
|
|
193
|
+
panelBind: we,
|
|
194
|
+
overlayBind: Se,
|
|
195
|
+
wrapperBind: Ce,
|
|
196
|
+
setPanelRef: q,
|
|
197
|
+
layerStackId: C,
|
|
195
198
|
handleOverlayClick: Z,
|
|
196
199
|
handleWrapperClick: Q
|
|
197
200
|
};
|
|
198
201
|
}
|
|
199
202
|
//#endregion
|
|
200
|
-
export {
|
|
203
|
+
export { y as useModal };
|