ropav 0.0.12 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1 -1
- package/dist/card.css +26 -26
- package/dist/card.js +6 -16
- package/dist/components/card/types.d.ts +0 -3
- package/dist/components/dialog/types.d.ts +1 -0
- package/dist/components/dropdown-menu/types.d.ts +5 -7
- package/dist/components/dropdown-menu/useDropdownMenuRenderItems.d.ts +2 -0
- package/dist/components/floating/index.d.ts +1 -1
- package/dist/components/floating/types.d.ts +11 -0
- package/dist/components/modal/types.d.ts +1 -0
- package/dist/components/overlay/index.d.ts +3 -0
- package/dist/components/overlay/index.js +3 -2
- package/dist/components/overlay/overlay-layer-provider.d.ts +21 -0
- package/dist/components/overlay/types.d.ts +10 -1
- package/dist/components/overlay/useOverlayZIndex.d.ts +4 -0
- package/dist/components/popover/types.d.ts +1 -0
- package/dist/components/toast/types.d.ts +1 -0
- package/dist/components/tooltip/types.d.ts +1 -0
- package/dist/composables/useOverlayLayer.d.ts +1 -1
- package/dist/dialog.js +7 -2
- package/dist/dropdown-menu.js +34 -23
- package/dist/index.js +3 -2
- package/dist/modal.css +28 -28
- package/dist/modal.js +5 -3
- package/dist/overlay2.js +16 -1
- package/dist/popover.js +11 -2
- package/dist/toast.css +21 -21
- package/dist/toast.js +10 -2
- package/dist/tooltip.js +12 -1
- package/dist/useFloatingPosition.js +16 -2
- package/dist/{useOverlayLayer.js → useOverlayZIndex.js} +29 -4
- package/docs/public-floating-api.md +24 -13
- package/docs/public-overlay-layer-api.md +65 -0
- package/docs/public-styles-api.md +1 -5
- package/package.json +38 -41
- package/dist/legacy-unlayered.css +0 -5382
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ import { n as color_input_default, t as colorInputParts } from "./color-input.js
|
|
|
14
14
|
import { t as color_swatch_default } from "./color-swatch.js";
|
|
15
15
|
import { t as color_picker_default } from "./color-picker.js";
|
|
16
16
|
import { t as input_default } from "./input.js";
|
|
17
|
+
import { n as useOverlayZIndex } from "./useOverlayZIndex.js";
|
|
17
18
|
import { t as useFocusTrap } from "./useFocusTrap.js";
|
|
18
19
|
import { n as useFloatingPosition } from "./useFloatingPosition.js";
|
|
19
20
|
import { r as useTeleportTarget } from "./useTeleportTarget.js";
|
|
@@ -31,7 +32,7 @@ import { t as inputParts } from "./input2.js";
|
|
|
31
32
|
import { t as overlay_default } from "./overlay.js";
|
|
32
33
|
import { n as modal_default, t as modalParts } from "./modal.js";
|
|
33
34
|
import { n as number_input_default, t as numberInputParts } from "./number-input.js";
|
|
34
|
-
import { t as overlayParts } from "./overlay2.js";
|
|
35
|
+
import { n as overlay_layer_provider_default, t as overlayParts } from "./overlay2.js";
|
|
35
36
|
import { n as popoverPlacements, t as popoverParts } from "./popover2.js";
|
|
36
37
|
import { a as progress_default, i as progressSizes, n as progressParts, r as progressRadiuses, t as progressColors } from "./progress.js";
|
|
37
38
|
import { i as radioParts, n as radio_default, r as radioGroupParts, t as radio_group_default } from "./radio.js";
|
|
@@ -44,4 +45,4 @@ import { t as teleport_provider_default } from "./teleport-provider.js";
|
|
|
44
45
|
import { n as textarea_default, t as textareaParts } from "./textarea.js";
|
|
45
46
|
import { a as toastColors, c as toastRadiuses, d as toastViewportParts, f as createToastStore, i as useToast, l as toastTypes, n as toast_viewport_default, o as toastParts, p as toast_default, r as toast_provider_default, s as toastPositions, t as useToastState, u as toastVariants } from "./toast.js";
|
|
46
47
|
import { t as tooltipParts } from "./tooltip2.js";
|
|
47
|
-
export { accordion_default as Accordion, accordion_item_default as AccordionItem, alert_default as Alert, aspect_ratio_default as AspectRatio, avatar_default as Avatar, badge_default as Badge, button_default as Button, button_group_default as ButtonGroup, button_link_default as ButtonLink, card_default as Card, checkbox_default as Checkbox, collapse_default as Collapse, color_input_default as ColorInput, color_picker_default as ColorPicker, color_swatch_default as ColorSwatch, dialog_close_default as DialogClose, dialog_content_default as DialogContent, dialog_description_default as DialogDescription, dialog_overlay_default as DialogOverlay, dialog_portal_default as DialogPortal, dialog_root_default as DialogRoot, dialog_title_default as DialogTitle, dialog_trigger_default as DialogTrigger, dropdown_menu_default as DropdownMenu, dropdown_menu_checkbox_item_default as DropdownMenuCheckboxItem, dropdown_menu_content_default as DropdownMenuContent, dropdown_menu_context_trigger_default as DropdownMenuContextTrigger, DropdownMenuItem, dropdown_menu_item_indicator_default as DropdownMenuItemIndicator, dropdown_menu_label_default as DropdownMenuLabel, dropdown_menu_portal_default as DropdownMenuPortal, dropdown_menu_radio_group_default as DropdownMenuRadioGroup, dropdown_menu_radio_item_default as DropdownMenuRadioItem, dropdown_menu_root_default as DropdownMenuRoot, dropdown_menu_separator_default as DropdownMenuSeparator, dropdown_menu_sub_default as DropdownMenuSub, dropdown_menu_sub_content_default as DropdownMenuSubContent, dropdown_menu_sub_trigger_default as DropdownMenuSubTrigger, dropdown_menu_trigger_default as DropdownMenuTrigger, field_default as Field, focus_trap_default as FocusTrap, icon_button_default as IconButton, input_default as Input, modal_default as Modal, number_input_default as NumberInput, overlay_default as Overlay, popover_default as Popover, progress_default as Progress, radio_default as Radio, radio_group_default as RadioGroup, range_slider_default as RangeSlider, select_default as Select, slider_default as Slider, switch_default as Switch, tabs_default as Tabs, tabs_content_default as TabsContent, tabs_list_default as TabsList, tabs_trigger_default as TabsTrigger, teleport_provider_default as TeleportProvider, textarea_default as Textarea, toast_default as Toast, toast_provider_default as ToastProvider, toast_viewport_default as ToastViewport, tooltip_default as Tooltip, accordionItemParts, accordionParts, alertColors, alertParts, alertRadiuses, alertVariants, aspectRatioParts, avatarColors, avatarParts, avatarRadiuses, avatarSizes, avatarVariants, badgeColors, badgeParts, badgeRadiuses, badgeSizes, badgeVariants, buttonGroupParts, buttonLinkParts, buttonParts, cardParts, checkboxParts, collapseParts, colorInputParts, colorPickerFormats, colorPickerParts, colorPickerSizes, colorSwatchParts, createToastStore, dropdownMenuParts, fieldParts, focusTrapParts, iconButtonParts, inputParts, modalParts, numberInputParts, overlayParts, popoverParts, popoverPlacements, progressColors, progressParts, progressRadiuses, progressSizes, radioGroupParts, radioParts, rangeSliderParts, selectParts, sliderColors, sliderOrientations, sliderParts, sliderSizes, switchParts, tabsContentParts, tabsListParts, tabsParts, tabsTriggerParts, textareaParts, toastColors, toastParts, toastPositions, toastRadiuses, toastTypes, toastVariants, toastViewportParts, tooltipParts, useAccordion, useAccordionItem, useCollapse, useDropdownMenu, useFloatingPosition, useFocusTrap, useHoverDisclosure, useTabs, useTabsContent, useTabsList, useTabsTrigger, useTeleportTarget, useToast, useToastState };
|
|
48
|
+
export { accordion_default as Accordion, accordion_item_default as AccordionItem, alert_default as Alert, aspect_ratio_default as AspectRatio, avatar_default as Avatar, badge_default as Badge, button_default as Button, button_group_default as ButtonGroup, button_link_default as ButtonLink, card_default as Card, checkbox_default as Checkbox, collapse_default as Collapse, color_input_default as ColorInput, color_picker_default as ColorPicker, color_swatch_default as ColorSwatch, dialog_close_default as DialogClose, dialog_content_default as DialogContent, dialog_description_default as DialogDescription, dialog_overlay_default as DialogOverlay, dialog_portal_default as DialogPortal, dialog_root_default as DialogRoot, dialog_title_default as DialogTitle, dialog_trigger_default as DialogTrigger, dropdown_menu_default as DropdownMenu, dropdown_menu_checkbox_item_default as DropdownMenuCheckboxItem, dropdown_menu_content_default as DropdownMenuContent, dropdown_menu_context_trigger_default as DropdownMenuContextTrigger, DropdownMenuItem, dropdown_menu_item_indicator_default as DropdownMenuItemIndicator, dropdown_menu_label_default as DropdownMenuLabel, dropdown_menu_portal_default as DropdownMenuPortal, dropdown_menu_radio_group_default as DropdownMenuRadioGroup, dropdown_menu_radio_item_default as DropdownMenuRadioItem, dropdown_menu_root_default as DropdownMenuRoot, dropdown_menu_separator_default as DropdownMenuSeparator, dropdown_menu_sub_default as DropdownMenuSub, dropdown_menu_sub_content_default as DropdownMenuSubContent, dropdown_menu_sub_trigger_default as DropdownMenuSubTrigger, dropdown_menu_trigger_default as DropdownMenuTrigger, field_default as Field, focus_trap_default as FocusTrap, icon_button_default as IconButton, input_default as Input, modal_default as Modal, number_input_default as NumberInput, overlay_default as Overlay, overlay_layer_provider_default as OverlayLayerProvider, popover_default as Popover, progress_default as Progress, radio_default as Radio, radio_group_default as RadioGroup, range_slider_default as RangeSlider, select_default as Select, slider_default as Slider, switch_default as Switch, tabs_default as Tabs, tabs_content_default as TabsContent, tabs_list_default as TabsList, tabs_trigger_default as TabsTrigger, teleport_provider_default as TeleportProvider, textarea_default as Textarea, toast_default as Toast, toast_provider_default as ToastProvider, toast_viewport_default as ToastViewport, tooltip_default as Tooltip, accordionItemParts, accordionParts, alertColors, alertParts, alertRadiuses, alertVariants, aspectRatioParts, avatarColors, avatarParts, avatarRadiuses, avatarSizes, avatarVariants, badgeColors, badgeParts, badgeRadiuses, badgeSizes, badgeVariants, buttonGroupParts, buttonLinkParts, buttonParts, cardParts, checkboxParts, collapseParts, colorInputParts, colorPickerFormats, colorPickerParts, colorPickerSizes, colorSwatchParts, createToastStore, dropdownMenuParts, fieldParts, focusTrapParts, iconButtonParts, inputParts, modalParts, numberInputParts, overlayParts, popoverParts, popoverPlacements, progressColors, progressParts, progressRadiuses, progressSizes, radioGroupParts, radioParts, rangeSliderParts, selectParts, sliderColors, sliderOrientations, sliderParts, sliderSizes, switchParts, tabsContentParts, tabsListParts, tabsParts, tabsTriggerParts, textareaParts, toastColors, toastParts, toastPositions, toastRadiuses, toastTypes, toastVariants, toastViewportParts, tooltipParts, useAccordion, useAccordionItem, useCollapse, useDropdownMenu, useFloatingPosition, useFocusTrap, useHoverDisclosure, useOverlayZIndex, useTabs, useTabsContent, useTabsList, useTabsTrigger, useTeleportTarget, useToast, useToastState };
|
package/dist/modal.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
@layer ropav.components {
|
|
2
|
-
.rp-modal[data-v-
|
|
2
|
+
.rp-modal[data-v-04a5d994] {
|
|
3
3
|
--_rp-modal-width: 32rem;
|
|
4
4
|
--_rp-modal-max-height: calc(100vh - var(--rp-spacing-12));
|
|
5
5
|
--_rp-modal-radius: var(--rp-radius-sm);
|
|
@@ -13,25 +13,25 @@
|
|
|
13
13
|
overflow: auto;
|
|
14
14
|
font-family: var(--rp-font-family);
|
|
15
15
|
}
|
|
16
|
-
.rp-modal--size-sm[data-v-
|
|
16
|
+
.rp-modal--size-sm[data-v-04a5d994] {
|
|
17
17
|
--_rp-modal-width: 22rem;
|
|
18
18
|
}
|
|
19
|
-
.rp-modal--size-lg[data-v-
|
|
19
|
+
.rp-modal--size-lg[data-v-04a5d994] {
|
|
20
20
|
--_rp-modal-width: 45rem;
|
|
21
21
|
}
|
|
22
|
-
.rp-modal--size-xl[data-v-
|
|
22
|
+
.rp-modal--size-xl[data-v-04a5d994] {
|
|
23
23
|
--_rp-modal-width: 58rem;
|
|
24
24
|
}
|
|
25
|
-
.rp-modal--size-full[data-v-
|
|
25
|
+
.rp-modal--size-full[data-v-04a5d994] {
|
|
26
26
|
--_rp-modal-width: 100vw;
|
|
27
27
|
--_rp-modal-max-height: 100vh;
|
|
28
28
|
--_rp-modal-radius: var(--rp-radius-none);
|
|
29
29
|
padding: 0;
|
|
30
30
|
}
|
|
31
|
-
.rp-modal__overlay[data-v-
|
|
31
|
+
.rp-modal__overlay[data-v-04a5d994] {
|
|
32
32
|
border-radius: 0;
|
|
33
33
|
}
|
|
34
|
-
.rp-modal__panel[data-v-
|
|
34
|
+
.rp-modal__panel[data-v-04a5d994] {
|
|
35
35
|
position: relative;
|
|
36
36
|
z-index: 1;
|
|
37
37
|
box-sizing: border-box;
|
|
@@ -47,39 +47,39 @@
|
|
|
47
47
|
box-shadow: var(--rp-shadow-lg);
|
|
48
48
|
outline: none;
|
|
49
49
|
}
|
|
50
|
-
.rp-modal--size-full .rp-modal__panel[data-v-
|
|
50
|
+
.rp-modal--size-full .rp-modal__panel[data-v-04a5d994] {
|
|
51
51
|
min-height: 100vh;
|
|
52
52
|
border: 0;
|
|
53
53
|
}
|
|
54
|
-
.rp-modal__header[data-v-
|
|
54
|
+
.rp-modal__header[data-v-04a5d994] {
|
|
55
55
|
box-sizing: border-box;
|
|
56
56
|
padding: var(--rp-spacing-5) calc(var(--rp-spacing-6) + var(--rp-size-control-sm)) var(--rp-spacing-4) var(--rp-spacing-5);
|
|
57
57
|
border-bottom: var(--rp-border-width-thin) solid var(--rp-color-default-border);
|
|
58
58
|
}
|
|
59
|
-
.rp-modal__heading[data-v-
|
|
59
|
+
.rp-modal__heading[data-v-04a5d994] {
|
|
60
60
|
display: grid;
|
|
61
61
|
gap: var(--rp-spacing-1);
|
|
62
62
|
}
|
|
63
|
-
.rp-modal__title[data-v-
|
|
63
|
+
.rp-modal__title[data-v-04a5d994] {
|
|
64
64
|
margin: 0;
|
|
65
65
|
color: var(--rp-color-text);
|
|
66
66
|
font-size: var(--rp-font-size-xl);
|
|
67
67
|
font-weight: var(--rp-font-weight-semibold);
|
|
68
68
|
line-height: var(--rp-line-height-xs);
|
|
69
69
|
}
|
|
70
|
-
.rp-modal__description[data-v-
|
|
70
|
+
.rp-modal__description[data-v-04a5d994] {
|
|
71
71
|
margin: 0;
|
|
72
72
|
color: var(--rp-color-dimmed);
|
|
73
73
|
font-size: var(--rp-font-size-sm);
|
|
74
74
|
line-height: var(--rp-line-height-md);
|
|
75
75
|
}
|
|
76
|
-
.rp-modal__close[data-v-
|
|
76
|
+
.rp-modal__close[data-v-04a5d994] {
|
|
77
77
|
position: absolute;
|
|
78
78
|
top: var(--rp-spacing-3);
|
|
79
79
|
right: var(--rp-spacing-3);
|
|
80
80
|
z-index: 1;
|
|
81
81
|
}
|
|
82
|
-
.rp-modal__body[data-v-
|
|
82
|
+
.rp-modal__body[data-v-04a5d994] {
|
|
83
83
|
box-sizing: border-box;
|
|
84
84
|
flex: 1 1 auto;
|
|
85
85
|
min-height: 0;
|
|
@@ -89,10 +89,10 @@
|
|
|
89
89
|
font-size: var(--rp-font-size-md);
|
|
90
90
|
line-height: var(--rp-line-height-md);
|
|
91
91
|
}
|
|
92
|
-
.rp-modal--closable.rp-modal--headerless .rp-modal__body[data-v-
|
|
92
|
+
.rp-modal--closable.rp-modal--headerless .rp-modal__body[data-v-04a5d994] {
|
|
93
93
|
padding-right: calc(var(--rp-spacing-6) + var(--rp-size-control-sm));
|
|
94
94
|
}
|
|
95
|
-
.rp-modal__footer[data-v-
|
|
95
|
+
.rp-modal__footer[data-v-04a5d994] {
|
|
96
96
|
box-sizing: border-box;
|
|
97
97
|
display: flex;
|
|
98
98
|
flex: 0 0 auto;
|
|
@@ -102,34 +102,34 @@
|
|
|
102
102
|
padding: var(--rp-spacing-4) var(--rp-spacing-5);
|
|
103
103
|
border-top: var(--rp-border-width-thin) solid var(--rp-color-default-border);
|
|
104
104
|
}
|
|
105
|
-
.rp-modal-enter-active[data-v-
|
|
106
|
-
.rp-modal-leave-active[data-v-
|
|
105
|
+
.rp-modal-enter-active[data-v-04a5d994],
|
|
106
|
+
.rp-modal-leave-active[data-v-04a5d994] {
|
|
107
107
|
transition: opacity var(--rp-transition-fast);
|
|
108
108
|
}
|
|
109
|
-
.rp-modal-enter-active .rp-modal__panel[data-v-
|
|
110
|
-
.rp-modal-leave-active .rp-modal__panel[data-v-
|
|
109
|
+
.rp-modal-enter-active .rp-modal__panel[data-v-04a5d994],
|
|
110
|
+
.rp-modal-leave-active .rp-modal__panel[data-v-04a5d994] {
|
|
111
111
|
transition: opacity var(--rp-transition-fast), transform var(--rp-transition-fast);
|
|
112
112
|
}
|
|
113
|
-
.rp-modal-enter-from[data-v-
|
|
114
|
-
.rp-modal-leave-to[data-v-
|
|
113
|
+
.rp-modal-enter-from[data-v-04a5d994],
|
|
114
|
+
.rp-modal-leave-to[data-v-04a5d994] {
|
|
115
115
|
opacity: 0;
|
|
116
116
|
}
|
|
117
|
-
.rp-modal-enter-from .rp-modal__panel[data-v-
|
|
118
|
-
.rp-modal-leave-to .rp-modal__panel[data-v-
|
|
117
|
+
.rp-modal-enter-from .rp-modal__panel[data-v-04a5d994],
|
|
118
|
+
.rp-modal-leave-to .rp-modal__panel[data-v-04a5d994] {
|
|
119
119
|
opacity: 0;
|
|
120
120
|
transform: translateY(var(--rp-spacing-2)) scale(0.98);
|
|
121
121
|
}
|
|
122
122
|
@media (max-width: 480px) {
|
|
123
|
-
.rp-modal[data-v-
|
|
123
|
+
.rp-modal[data-v-04a5d994] {
|
|
124
124
|
padding: var(--rp-spacing-3);
|
|
125
125
|
}
|
|
126
|
-
.rp-modal__header[data-v-
|
|
126
|
+
.rp-modal__header[data-v-04a5d994] {
|
|
127
127
|
padding-left: var(--rp-spacing-4);
|
|
128
128
|
}
|
|
129
|
-
.rp-modal__body[data-v-
|
|
129
|
+
.rp-modal__body[data-v-04a5d994] {
|
|
130
130
|
padding: var(--rp-spacing-4);
|
|
131
131
|
}
|
|
132
|
-
.rp-modal__footer[data-v-
|
|
132
|
+
.rp-modal__footer[data-v-04a5d994] {
|
|
133
133
|
padding: var(--rp-spacing-4);
|
|
134
134
|
}
|
|
135
135
|
}
|
package/dist/modal.js
CHANGED
|
@@ -106,8 +106,8 @@ function useModal(props, emit = {}) {
|
|
|
106
106
|
//#endregion
|
|
107
107
|
//#region src/components/modal/modal.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
108
108
|
var t0 = template(" ");
|
|
109
|
-
var t1 = template("<div data-v-
|
|
110
|
-
var t2 = template("<div data-v-
|
|
109
|
+
var t1 = template("<div data-v-04a5d994 class=rp-modal__heading>");
|
|
110
|
+
var t2 = template("<div data-v-04a5d994>");
|
|
111
111
|
//#endregion
|
|
112
112
|
//#region src/components/modal/modal.vue
|
|
113
113
|
var modal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -120,6 +120,7 @@ var modal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
120
120
|
type: Boolean,
|
|
121
121
|
default: void 0
|
|
122
122
|
},
|
|
123
|
+
baseZIndex: {},
|
|
123
124
|
title: { default: "" },
|
|
124
125
|
description: { default: "" },
|
|
125
126
|
ariaLabel: { default: "" },
|
|
@@ -196,6 +197,7 @@ var modal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
196
197
|
const closeStyles = computed(() => ({ root: props.styles?.close }));
|
|
197
198
|
return createComponent(unref(dialog_root_default), {
|
|
198
199
|
open: () => unref(isOpen),
|
|
200
|
+
"base-z-index": () => __props.baseZIndex,
|
|
199
201
|
modal: () => __props.modal,
|
|
200
202
|
"close-on-escape": () => __props.closeOnEscape,
|
|
201
203
|
"close-on-outside-click": () => __props.closeOnOverlayClick,
|
|
@@ -310,7 +312,7 @@ var modal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
310
312
|
});
|
|
311
313
|
}, true);
|
|
312
314
|
}
|
|
313
|
-
}), [["__scopeId", "data-v-
|
|
315
|
+
}), [["__scopeId", "data-v-04a5d994"]]);
|
|
314
316
|
//#endregion
|
|
315
317
|
//#region src/components/modal/types.ts
|
|
316
318
|
var modalParts = [
|
package/dist/overlay2.js
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
|
+
import { t as provideOverlayZIndex } from "./useOverlayZIndex.js";
|
|
2
|
+
import { createSlot, defineVaporComponent } from "vue";
|
|
3
|
+
//#endregion
|
|
4
|
+
//#region src/components/overlay/overlay-layer-provider.vue
|
|
5
|
+
var overlay_layer_provider_default = /* @__PURE__ */ defineVaporComponent({
|
|
6
|
+
name: "RpOverlayLayerProvider",
|
|
7
|
+
__name: "overlay-layer-provider",
|
|
8
|
+
props: { baseZIndex: {} },
|
|
9
|
+
setup(__props) {
|
|
10
|
+
const props = __props;
|
|
11
|
+
provideOverlayZIndex(() => props.baseZIndex);
|
|
12
|
+
return createSlot();
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
//#endregion
|
|
1
16
|
//#region src/components/overlay/types.ts
|
|
2
17
|
var overlayParts = ["root"];
|
|
3
18
|
//#endregion
|
|
4
|
-
export { overlayParts as t };
|
|
19
|
+
export { overlay_layer_provider_default as n, overlayParts as t };
|
package/dist/popover.js
CHANGED
|
@@ -2,7 +2,7 @@ import './popover.css';
|
|
|
2
2
|
import { t as bem } from "./bem.js";
|
|
3
3
|
import { n as useStylesApi, t as presence } from "./styles-api.js";
|
|
4
4
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
5
|
-
import {
|
|
5
|
+
import { n as useOverlayZIndex, r as useOverlayLayer } from "./useOverlayZIndex.js";
|
|
6
6
|
import { t as useFocusTrap } from "./useFocusTrap.js";
|
|
7
7
|
import { n as useFloatingPosition, r as useFloatingTarget, t as isElementReference } from "./useFloatingPosition.js";
|
|
8
8
|
import { n as useTeleportPositioningKey, r as useTeleportTarget } from "./useTeleportTarget.js";
|
|
@@ -70,7 +70,11 @@ function usePopover(props, emitOpenChange) {
|
|
|
70
70
|
const layer = useOverlayLayer({
|
|
71
71
|
active: isVisible,
|
|
72
72
|
element: contentRef,
|
|
73
|
-
baseZIndex:
|
|
73
|
+
baseZIndex: useOverlayZIndex({
|
|
74
|
+
baseZIndex: () => props.baseZIndex,
|
|
75
|
+
defaultBaseZIndex: 100,
|
|
76
|
+
aboveParent: false
|
|
77
|
+
})
|
|
74
78
|
});
|
|
75
79
|
const shouldRenderContent = computed(() => !isDisabled.value && (Boolean(props.keepMounted) || isVisible.value));
|
|
76
80
|
const shouldShowContent = computed(() => !props.keepMounted || isVisible.value);
|
|
@@ -96,8 +100,10 @@ function usePopover(props, emitOpenChange) {
|
|
|
96
100
|
strategy: () => props.strategy ?? "absolute",
|
|
97
101
|
offset: () => props.offset,
|
|
98
102
|
flip: () => props.flip !== false,
|
|
103
|
+
flipOptions: () => props.flipOptions,
|
|
99
104
|
shift: () => props.shift !== false,
|
|
100
105
|
collisionPadding: () => props.collisionPadding ?? 8,
|
|
106
|
+
autoUpdateOptions: () => props.autoUpdateOptions,
|
|
101
107
|
restartKey: () => [
|
|
102
108
|
Boolean(props.teleport),
|
|
103
109
|
teleportTo.value,
|
|
@@ -301,6 +307,7 @@ var popover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
301
307
|
__name: "popover",
|
|
302
308
|
props: {
|
|
303
309
|
id: {},
|
|
310
|
+
baseZIndex: {},
|
|
304
311
|
contentClass: {},
|
|
305
312
|
open: {
|
|
306
313
|
type: Boolean,
|
|
@@ -344,11 +351,13 @@ var popover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
344
351
|
type: Boolean,
|
|
345
352
|
default: true
|
|
346
353
|
},
|
|
354
|
+
flipOptions: {},
|
|
347
355
|
shift: {
|
|
348
356
|
type: Boolean,
|
|
349
357
|
default: true
|
|
350
358
|
},
|
|
351
359
|
collisionPadding: { default: 8 },
|
|
360
|
+
autoUpdateOptions: {},
|
|
352
361
|
arrow: {
|
|
353
362
|
type: Boolean,
|
|
354
363
|
default: false
|
package/dist/toast.css
CHANGED
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
134
|
}@layer ropav.components {
|
|
135
|
-
.rp-toast-viewport[data-v-
|
|
135
|
+
.rp-toast-viewport[data-v-480d3e51] {
|
|
136
136
|
--_rp-toast-viewport-shift-x: 0;
|
|
137
137
|
--_rp-toast-viewport-shift-y: calc(var(--rp-spacing-3) * -1);
|
|
138
138
|
position: fixed;
|
|
@@ -150,58 +150,58 @@
|
|
|
150
150
|
list-style: none;
|
|
151
151
|
pointer-events: none;
|
|
152
152
|
}
|
|
153
|
-
.rp-toast-viewport--top-left[data-v-
|
|
153
|
+
.rp-toast-viewport--top-left[data-v-480d3e51] {
|
|
154
154
|
--_rp-toast-viewport-shift-x: calc(var(--rp-spacing-3) * -1);
|
|
155
155
|
--_rp-toast-viewport-shift-y: 0;
|
|
156
156
|
top: 0;
|
|
157
157
|
left: 0;
|
|
158
158
|
}
|
|
159
|
-
.rp-toast-viewport--top-center[data-v-
|
|
159
|
+
.rp-toast-viewport--top-center[data-v-480d3e51] {
|
|
160
160
|
top: 0;
|
|
161
161
|
left: 50%;
|
|
162
162
|
transform: translateX(-50%);
|
|
163
163
|
}
|
|
164
|
-
.rp-toast-viewport--top-right[data-v-
|
|
164
|
+
.rp-toast-viewport--top-right[data-v-480d3e51] {
|
|
165
165
|
--_rp-toast-viewport-shift-x: var(--rp-spacing-3);
|
|
166
166
|
--_rp-toast-viewport-shift-y: 0;
|
|
167
167
|
top: 0;
|
|
168
168
|
right: 0;
|
|
169
169
|
}
|
|
170
|
-
.rp-toast-viewport--bottom-left[data-v-
|
|
170
|
+
.rp-toast-viewport--bottom-left[data-v-480d3e51] {
|
|
171
171
|
--_rp-toast-viewport-shift-x: calc(var(--rp-spacing-3) * -1);
|
|
172
172
|
--_rp-toast-viewport-shift-y: 0;
|
|
173
173
|
bottom: 0;
|
|
174
174
|
left: 0;
|
|
175
175
|
}
|
|
176
|
-
.rp-toast-viewport--bottom-center[data-v-
|
|
176
|
+
.rp-toast-viewport--bottom-center[data-v-480d3e51] {
|
|
177
177
|
--_rp-toast-viewport-shift-y: var(--rp-spacing-3);
|
|
178
178
|
bottom: 0;
|
|
179
179
|
left: 50%;
|
|
180
180
|
transform: translateX(-50%);
|
|
181
181
|
}
|
|
182
|
-
.rp-toast-viewport--bottom-right[data-v-
|
|
182
|
+
.rp-toast-viewport--bottom-right[data-v-480d3e51] {
|
|
183
183
|
--_rp-toast-viewport-shift-x: var(--rp-spacing-3);
|
|
184
184
|
--_rp-toast-viewport-shift-y: 0;
|
|
185
185
|
right: 0;
|
|
186
186
|
bottom: 0;
|
|
187
187
|
}
|
|
188
|
-
.rp-toast-viewport__item[data-v-
|
|
188
|
+
.rp-toast-viewport__item[data-v-480d3e51] {
|
|
189
189
|
display: flex;
|
|
190
190
|
width: 100%;
|
|
191
191
|
flex: 0 0 auto;
|
|
192
192
|
pointer-events: auto;
|
|
193
193
|
}
|
|
194
|
-
.rp-toast-viewport__item[data-v-
|
|
194
|
+
.rp-toast-viewport__item[data-v-480d3e51] .rp-toast {
|
|
195
195
|
width: 100%;
|
|
196
196
|
}
|
|
197
|
-
.rp-toast-viewport-item-enter-active[data-v-
|
|
198
|
-
.rp-toast-viewport-item-leave-active[data-v-
|
|
197
|
+
.rp-toast-viewport-item-enter-active[data-v-480d3e51],
|
|
198
|
+
.rp-toast-viewport-item-leave-active[data-v-480d3e51] {
|
|
199
199
|
will-change: opacity, transform;
|
|
200
200
|
}
|
|
201
|
-
.rp-toast-viewport-item-enter-active[data-v-
|
|
201
|
+
.rp-toast-viewport-item-enter-active[data-v-480d3e51] {
|
|
202
202
|
transition: opacity 180ms ease-out, transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
203
203
|
}
|
|
204
|
-
.rp-toast-viewport-item-leave-active[data-v-
|
|
204
|
+
.rp-toast-viewport-item-leave-active[data-v-480d3e51] {
|
|
205
205
|
position: absolute;
|
|
206
206
|
right: var(--rp-spacing-4);
|
|
207
207
|
left: var(--rp-spacing-4);
|
|
@@ -209,27 +209,27 @@
|
|
|
209
209
|
pointer-events: none;
|
|
210
210
|
transition: opacity 120ms ease-in, transform 180ms cubic-bezier(0.4, 0, 1, 1);
|
|
211
211
|
}
|
|
212
|
-
.rp-toast-viewport--empty .rp-toast-viewport-item-leave-active[data-v-
|
|
212
|
+
.rp-toast-viewport--empty .rp-toast-viewport-item-leave-active[data-v-480d3e51] {
|
|
213
213
|
position: relative;
|
|
214
214
|
right: auto;
|
|
215
215
|
left: auto;
|
|
216
216
|
width: 100%;
|
|
217
217
|
}
|
|
218
|
-
.rp-toast-viewport-item-move[data-v-
|
|
218
|
+
.rp-toast-viewport-item-move[data-v-480d3e51] {
|
|
219
219
|
transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
220
220
|
}
|
|
221
|
-
.rp-toast-viewport-item-enter-from[data-v-
|
|
222
|
-
.rp-toast-viewport-item-leave-to[data-v-
|
|
221
|
+
.rp-toast-viewport-item-enter-from[data-v-480d3e51],
|
|
222
|
+
.rp-toast-viewport-item-leave-to[data-v-480d3e51] {
|
|
223
223
|
opacity: 0;
|
|
224
224
|
transform: translate3d(var(--_rp-toast-viewport-shift-x), var(--_rp-toast-viewport-shift-y), 0) scale(0.98);
|
|
225
225
|
}
|
|
226
226
|
@media (prefers-reduced-motion: reduce) {
|
|
227
|
-
.rp-toast-viewport[data-v-
|
|
227
|
+
.rp-toast-viewport[data-v-480d3e51] {
|
|
228
228
|
scroll-behavior: auto;
|
|
229
229
|
}
|
|
230
|
-
.rp-toast-viewport-item-enter-active[data-v-
|
|
231
|
-
.rp-toast-viewport-item-leave-active[data-v-
|
|
232
|
-
.rp-toast-viewport-item-move[data-v-
|
|
230
|
+
.rp-toast-viewport-item-enter-active[data-v-480d3e51],
|
|
231
|
+
.rp-toast-viewport-item-leave-active[data-v-480d3e51],
|
|
232
|
+
.rp-toast-viewport-item-move[data-v-480d3e51] {
|
|
233
233
|
transition: none;
|
|
234
234
|
}
|
|
235
235
|
}
|
package/dist/toast.js
CHANGED
|
@@ -4,6 +4,7 @@ import { t as bem } from "./bem.js";
|
|
|
4
4
|
import { n as useStylesApi } from "./styles-api.js";
|
|
5
5
|
import { i as getComponentVariantColorRoles, t as componentColors } from "./componentColors.js";
|
|
6
6
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
7
|
+
import { n as useOverlayZIndex } from "./useOverlayZIndex.js";
|
|
7
8
|
import { r as useTeleportTarget } from "./useTeleportTarget.js";
|
|
8
9
|
import { VaporTeleport, VaporTransition, VaporTransitionGroup, computed, createComponent, createFor, createIf, createInvoker, createSlot, defineVaporComponent, delegateEvents, extend, inject, nextTick, onBeforeUnmount, onMounted, provide, ref, renderEffect, setDynamicProps, setInsertionState, setText, template, toDisplayString, toValue, txt, unref, useSlots, watch } from "vue";
|
|
9
10
|
//#region src/components/toast/defaults.ts
|
|
@@ -583,7 +584,7 @@ var toast_provider_default = /* @__PURE__ */ defineVaporComponent({
|
|
|
583
584
|
});
|
|
584
585
|
//#endregion
|
|
585
586
|
//#region src/components/toast/toast-viewport.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
586
|
-
var t0 = template("<li data-v-
|
|
587
|
+
var t0 = template("<li data-v-480d3e51>");
|
|
587
588
|
//#endregion
|
|
588
589
|
//#region src/components/toast/toast-viewport.vue
|
|
589
590
|
var toast_viewport_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -593,6 +594,7 @@ var toast_viewport_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
593
594
|
props: {
|
|
594
595
|
position: { default: "top-right" },
|
|
595
596
|
label: { default: "Notifications" },
|
|
597
|
+
baseZIndex: {},
|
|
596
598
|
teleport: {
|
|
597
599
|
type: Boolean,
|
|
598
600
|
default: true
|
|
@@ -604,6 +606,11 @@ var toast_viewport_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
604
606
|
setup(__props, { slots: $slots }) {
|
|
605
607
|
const props = __props;
|
|
606
608
|
const resolvedTeleportTo = useTeleportTarget(() => props.teleportTo);
|
|
609
|
+
const zIndex = useOverlayZIndex({
|
|
610
|
+
baseZIndex: () => props.baseZIndex,
|
|
611
|
+
defaultBaseZIndex: 1e3,
|
|
612
|
+
offset: 1
|
|
613
|
+
});
|
|
607
614
|
const context = useToastContext("<ToastViewport>");
|
|
608
615
|
function reverseToasts(toasts) {
|
|
609
616
|
return toasts.map((_, index) => toasts[toasts.length - index - 1]);
|
|
@@ -616,6 +623,7 @@ var toast_viewport_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
616
623
|
`rp-toast-viewport--${props.position}`,
|
|
617
624
|
{ "rp-toast-viewport--empty": orderedToasts.value.length === 0 }
|
|
618
625
|
],
|
|
626
|
+
style: { zIndex: zIndex.value },
|
|
619
627
|
"data-position": props.position,
|
|
620
628
|
"aria-label": props.label
|
|
621
629
|
}));
|
|
@@ -689,7 +697,7 @@ var toast_viewport_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
689
697
|
}, { _: 8 }));
|
|
690
698
|
}, true);
|
|
691
699
|
}
|
|
692
|
-
}), [["__scopeId", "data-v-
|
|
700
|
+
}), [["__scopeId", "data-v-480d3e51"]]);
|
|
693
701
|
//#endregion
|
|
694
702
|
//#region src/components/toast/useToastState.ts
|
|
695
703
|
function optionValue(value) {
|
package/dist/tooltip.js
CHANGED
|
@@ -3,6 +3,7 @@ import { t as bem } from "./bem.js";
|
|
|
3
3
|
import { n as useStylesApi, t as presence } from "./styles-api.js";
|
|
4
4
|
import { i as getComponentVariantColorRoles } from "./componentColors.js";
|
|
5
5
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
6
|
+
import { n as useOverlayZIndex } from "./useOverlayZIndex.js";
|
|
6
7
|
import { n as useFloatingPosition, r as useFloatingTarget, t as isElementReference } from "./useFloatingPosition.js";
|
|
7
8
|
import { n as useTeleportPositioningKey, r as useTeleportTarget } from "./useTeleportTarget.js";
|
|
8
9
|
import { VaporTeleport, VaporTransition, applyVShow, computed, createComponent, createIf, createSlot, createTemplateRefSetter, defineVaporComponent, extend, onBeforeUnmount, ref, renderEffect, setAttr, setDynamicProps, setInsertionState, setStaticTemplateRef, setStyle, setText, template, toDisplayString, unref, useId, useSlots, watch } from "vue";
|
|
@@ -95,6 +96,10 @@ function useTooltip(props, emitOpenChange) {
|
|
|
95
96
|
const teleportPositioningKey = useTeleportPositioningKey();
|
|
96
97
|
const { isExplicitTarget, reference, resolvedTarget } = useFloatingTarget(() => props.target, rootRef);
|
|
97
98
|
const targetElement = computed(() => isElementReference(resolvedTarget.value) ? resolvedTarget.value : null);
|
|
99
|
+
const zIndex = useOverlayZIndex({
|
|
100
|
+
baseZIndex: () => props.baseZIndex,
|
|
101
|
+
defaultBaseZIndex: 1e3
|
|
102
|
+
});
|
|
98
103
|
const { isOpen, open, closeImmediate } = useDelayedOpen({
|
|
99
104
|
open: () => props.open,
|
|
100
105
|
openDelay: () => props.openDelay ?? 300,
|
|
@@ -111,8 +116,10 @@ function useTooltip(props, emitOpenChange) {
|
|
|
111
116
|
strategy: () => props.strategy ?? "absolute",
|
|
112
117
|
offset: () => props.offset,
|
|
113
118
|
flip: () => props.flip !== false,
|
|
119
|
+
flipOptions: () => props.flipOptions,
|
|
114
120
|
shift: () => props.shift !== false,
|
|
115
121
|
collisionPadding: () => props.collisionPadding ?? 8,
|
|
122
|
+
autoUpdateOptions: () => props.autoUpdateOptions,
|
|
116
123
|
restartKey: () => [
|
|
117
124
|
Boolean(props.teleport),
|
|
118
125
|
teleportTo.value,
|
|
@@ -133,7 +140,8 @@ function useTooltip(props, emitOpenChange) {
|
|
|
133
140
|
const contentStyle = computed(() => ({
|
|
134
141
|
...floating.floatingStyle.value,
|
|
135
142
|
...resolveTooltipOffsetStyle(props.offset),
|
|
136
|
-
...resolveTooltipColorStyleWithContrast(props.color, props.autoContrast)
|
|
143
|
+
...resolveTooltipColorStyleWithContrast(props.color, props.autoContrast),
|
|
144
|
+
zIndex: zIndex.value
|
|
137
145
|
}));
|
|
138
146
|
function openTooltip() {
|
|
139
147
|
open();
|
|
@@ -216,6 +224,7 @@ var tooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
216
224
|
__name: "tooltip",
|
|
217
225
|
props: {
|
|
218
226
|
id: {},
|
|
227
|
+
baseZIndex: {},
|
|
219
228
|
content: { default: "" },
|
|
220
229
|
color: {},
|
|
221
230
|
autoContrast: { type: Boolean },
|
|
@@ -240,11 +249,13 @@ var tooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
240
249
|
type: Boolean,
|
|
241
250
|
default: true
|
|
242
251
|
},
|
|
252
|
+
flipOptions: {},
|
|
243
253
|
shift: {
|
|
244
254
|
type: Boolean,
|
|
245
255
|
default: true
|
|
246
256
|
},
|
|
247
257
|
collisionPadding: { default: 8 },
|
|
258
|
+
autoUpdateOptions: {},
|
|
248
259
|
arrow: {
|
|
249
260
|
type: Boolean,
|
|
250
261
|
default: false
|
|
@@ -1213,12 +1213,18 @@ function useFloatingPosition(options) {
|
|
|
1213
1213
|
function getFlip() {
|
|
1214
1214
|
return toValue(options.flip) !== false;
|
|
1215
1215
|
}
|
|
1216
|
+
function getFlipFallbackStrategy() {
|
|
1217
|
+
return toValue(options.flipOptions)?.fallbackStrategy;
|
|
1218
|
+
}
|
|
1216
1219
|
function getShift() {
|
|
1217
1220
|
return toValue(options.shift) !== false;
|
|
1218
1221
|
}
|
|
1219
1222
|
function getCollisionPadding() {
|
|
1220
1223
|
return toValue(options.collisionPadding) ?? DEFAULT_COLLISION_PADDING;
|
|
1221
1224
|
}
|
|
1225
|
+
function getAutoUpdateAnimationFrame() {
|
|
1226
|
+
return toValue(options.autoUpdateOptions)?.animationFrame;
|
|
1227
|
+
}
|
|
1222
1228
|
function getHiddenStyle() {
|
|
1223
1229
|
return {
|
|
1224
1230
|
position: getStrategy(),
|
|
@@ -1242,7 +1248,11 @@ function useFloatingPosition(options) {
|
|
|
1242
1248
|
function getMiddleware() {
|
|
1243
1249
|
const middleware = [offset(getOffset())];
|
|
1244
1250
|
const padding = getCollisionPadding();
|
|
1245
|
-
|
|
1251
|
+
const fallbackStrategy = getFlipFallbackStrategy();
|
|
1252
|
+
if (getFlip()) middleware.push(flip({
|
|
1253
|
+
padding,
|
|
1254
|
+
...fallbackStrategy == null ? {} : { fallbackStrategy }
|
|
1255
|
+
}));
|
|
1246
1256
|
if (getShift()) middleware.push(shift({ padding }));
|
|
1247
1257
|
const arrow$2 = getArrow();
|
|
1248
1258
|
if (arrow$2) middleware.push(arrow({
|
|
@@ -1285,7 +1295,9 @@ function useFloatingPosition(options) {
|
|
|
1285
1295
|
const reference = getReference();
|
|
1286
1296
|
const floating = getFloating();
|
|
1287
1297
|
if (currentGeneration !== generation || !reference || !floating || !getOpen()) return;
|
|
1288
|
-
|
|
1298
|
+
const updatePosition = () => void update();
|
|
1299
|
+
const animationFrame = getAutoUpdateAnimationFrame();
|
|
1300
|
+
cleanup = animationFrame == null ? autoUpdate(reference, floating, updatePosition) : autoUpdate(reference, floating, updatePosition, { animationFrame });
|
|
1289
1301
|
});
|
|
1290
1302
|
}
|
|
1291
1303
|
watch([
|
|
@@ -1297,8 +1309,10 @@ function useFloatingPosition(options) {
|
|
|
1297
1309
|
getStrategy,
|
|
1298
1310
|
getOffset,
|
|
1299
1311
|
getFlip,
|
|
1312
|
+
getFlipFallbackStrategy,
|
|
1300
1313
|
getShift,
|
|
1301
1314
|
getCollisionPadding,
|
|
1315
|
+
getAutoUpdateAnimationFrame,
|
|
1302
1316
|
() => toValue(options.restartKey)
|
|
1303
1317
|
], start, {
|
|
1304
1318
|
flush: "post",
|
|
@@ -33,7 +33,7 @@ function syncLayerZIndices(state) {
|
|
|
33
33
|
for (const layer of state.layers) {
|
|
34
34
|
const metadata = layerMetadata.get(layer);
|
|
35
35
|
if (!metadata) continue;
|
|
36
|
-
const zIndex = Math.max(metadata.baseZIndex, highestZIndex + 2);
|
|
36
|
+
const zIndex = Math.max(metadata.baseZIndex.value, highestZIndex + 2);
|
|
37
37
|
metadata.setZIndex(zIndex);
|
|
38
38
|
highestZIndex = zIndex;
|
|
39
39
|
}
|
|
@@ -142,7 +142,8 @@ function useOverlayLayer(options) {
|
|
|
142
142
|
const branchSet = /* @__PURE__ */ new Set();
|
|
143
143
|
const focusBranchSet = /* @__PURE__ */ new Set();
|
|
144
144
|
const insideBranchSet = /* @__PURE__ */ new Set();
|
|
145
|
-
const
|
|
145
|
+
const baseZIndex = computed(() => toValue(options.baseZIndex ?? 100));
|
|
146
|
+
const zIndex = ref(baseZIndex.value);
|
|
146
147
|
let registeredDocument = null;
|
|
147
148
|
let registeredElement = null;
|
|
148
149
|
let parentBranchCleanup;
|
|
@@ -194,7 +195,7 @@ function useOverlayLayer(options) {
|
|
|
194
195
|
registerBranch
|
|
195
196
|
};
|
|
196
197
|
layerMetadata.set(context, {
|
|
197
|
-
baseZIndex
|
|
198
|
+
baseZIndex,
|
|
198
199
|
parent,
|
|
199
200
|
setZIndex(value) {
|
|
200
201
|
zIndex.value = value;
|
|
@@ -241,6 +242,10 @@ function useOverlayLayer(options) {
|
|
|
241
242
|
watch([modal, preventScroll], () => {
|
|
242
243
|
if (registeredDocument) syncModalEffects(registeredDocument, getState(registeredDocument));
|
|
243
244
|
});
|
|
245
|
+
watch(baseZIndex, (value) => {
|
|
246
|
+
if (registeredDocument) syncLayerZIndices(getState(registeredDocument));
|
|
247
|
+
else zIndex.value = value;
|
|
248
|
+
});
|
|
244
249
|
onBeforeUnmount(unregister);
|
|
245
250
|
provide(overlayLayerKey, context);
|
|
246
251
|
return context;
|
|
@@ -258,5 +263,25 @@ function useOverlayLayerBranch(element, options = {}) {
|
|
|
258
263
|
onBeforeUnmount(() => cleanup?.());
|
|
259
264
|
return layer;
|
|
260
265
|
}
|
|
266
|
+
function useParentOverlayLayer() {
|
|
267
|
+
return inject(overlayLayerKey, null);
|
|
268
|
+
}
|
|
269
|
+
//#endregion
|
|
270
|
+
//#region src/components/overlay/useOverlayZIndex.ts
|
|
271
|
+
var overlayZIndexKey = Symbol("overlay-z-index");
|
|
272
|
+
function provideOverlayZIndex(baseZIndex) {
|
|
273
|
+
const resolvedBaseZIndex = computed(() => toValue(baseZIndex));
|
|
274
|
+
provide(overlayZIndexKey, { baseZIndex: resolvedBaseZIndex });
|
|
275
|
+
return resolvedBaseZIndex;
|
|
276
|
+
}
|
|
277
|
+
function useOverlayZIndex(options = {}) {
|
|
278
|
+
const provided = inject(overlayZIndexKey, null);
|
|
279
|
+
const parentLayer = useParentOverlayLayer();
|
|
280
|
+
return computed(() => {
|
|
281
|
+
const resolvedZIndex = (toValue(options.baseZIndex) ?? provided?.baseZIndex.value ?? options.defaultBaseZIndex ?? 1e3) + (toValue(options.offset) ?? 0);
|
|
282
|
+
if (toValue(options.aboveParent) === false || !parentLayer) return resolvedZIndex;
|
|
283
|
+
return Math.max(resolvedZIndex, parentLayer.zIndex.value + 1);
|
|
284
|
+
});
|
|
285
|
+
}
|
|
261
286
|
//#endregion
|
|
262
|
-
export { useOverlayLayerBranch as n, useOverlayLayer as t };
|
|
287
|
+
export { useOverlayLayerBranch as i, useOverlayZIndex as n, useOverlayLayer as r, provideOverlayZIndex as t };
|