@leaflink/stash 52.0.3 → 53.0.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/README.md +50 -49
- package/dist/Accordion.js +16 -16
- package/dist/Accordion.js.map +1 -1
- package/dist/AccordionGroup.js +7 -7
- package/dist/AccordionGroup.js.map +1 -1
- package/dist/ActionsDropdown.js +16 -16
- package/dist/ActionsDropdown.js.map +1 -1
- package/dist/AddressSelect.js.map +1 -1
- package/dist/AddressSelect.vue.d.ts +1 -1
- package/dist/Alert.js +34 -34
- package/dist/Alert.js.map +1 -1
- package/dist/AppNavigationItem.js +31 -31
- package/dist/AppNavigationItem.js.map +1 -1
- package/dist/AppSidebar.js +19 -19
- package/dist/AppSidebar.js.map +1 -1
- package/dist/AppTopbar.js +32 -32
- package/dist/AppTopbar.js.map +1 -1
- package/dist/Avatar.js +18 -18
- package/dist/Avatar.js.map +1 -1
- package/dist/Backdrop.js +5 -5
- package/dist/Backdrop.js.map +1 -1
- package/dist/Badge.js +38 -38
- package/dist/Badge.js.map +1 -1
- package/dist/Box.js +1 -1
- package/dist/{Box.vue_vue_type_script_setup_true_lang-rFnvwLVY.js → Box.vue_vue_type_script_setup_true_lang-dFFZN40_.js} +6 -6
- package/dist/{Box.vue_vue_type_script_setup_true_lang-rFnvwLVY.js.map → Box.vue_vue_type_script_setup_true_lang-dFFZN40_.js.map} +1 -1
- package/dist/Button.js +21 -21
- package/dist/Button.js.map +1 -1
- package/dist/ButtonGroup.js +26 -26
- package/dist/ButtonGroup.js.map +1 -1
- package/dist/Card.js +14 -14
- package/dist/Card.js.map +1 -1
- package/dist/CardContent.js +1 -1
- package/dist/CardContent.js.map +1 -1
- package/dist/CardFooter.js +1 -1
- package/dist/CardFooter.js.map +1 -1
- package/dist/CardHeader.js +4 -4
- package/dist/CardHeader.js.map +1 -1
- package/dist/CardMedia.js +20 -20
- package/dist/CardMedia.js.map +1 -1
- package/dist/Carousel.js +60 -60
- package/dist/Carousel.js.map +1 -1
- package/dist/Checkbox.js +30 -30
- package/dist/Checkbox.js.map +1 -1
- package/dist/Checkbox.vue.d.ts +0 -3
- package/dist/Chip.js +33 -33
- package/dist/Chip.js.map +1 -1
- package/dist/ConfirmationCodeInput.js +72 -72
- package/dist/ConfirmationCodeInput.js.map +1 -1
- package/dist/ContextSwitcher.js +27 -27
- package/dist/ContextSwitcher.js.map +1 -1
- package/dist/Copy.js +47 -48
- package/dist/Copy.js.map +1 -1
- package/dist/CurrencyInput.js +1 -1
- package/dist/CurrencyInput.js.map +1 -1
- package/dist/CurrencyInput.vue.d.ts +5 -5
- package/dist/DataView.js +23 -23
- package/dist/DataView.js.map +1 -1
- package/dist/DataViewFilters.js +26 -26
- package/dist/DataViewFilters.js.map +1 -1
- package/dist/DataViewSortButton.js +22 -22
- package/dist/DataViewSortButton.js.map +1 -1
- package/dist/DataViewToolbar.js +52 -52
- package/dist/DataViewToolbar.js.map +1 -1
- package/dist/DatePicker.js +10 -10
- package/dist/DatePicker.js.map +1 -1
- package/dist/DescriptionList.js +2 -2
- package/dist/DescriptionList.js.map +1 -1
- package/dist/DescriptionListDetail.js +2 -2
- package/dist/DescriptionListDetail.js.map +1 -1
- package/dist/DescriptionListGroup.js +9 -9
- package/dist/DescriptionListGroup.js.map +1 -1
- package/dist/DescriptionListTerm.js +8 -8
- package/dist/DescriptionListTerm.js.map +1 -1
- package/dist/Dialog.js +47 -47
- package/dist/Dialog.js.map +1 -1
- package/dist/Divider.js +6 -6
- package/dist/Divider.js.map +1 -1
- package/dist/Dropdown.js +20 -20
- package/dist/Dropdown.js.map +1 -1
- package/dist/EmptyState.js +26 -26
- package/dist/EmptyState.js.map +1 -1
- package/dist/Field.js +1 -1
- package/dist/{Field.vue_vue_type_script_setup_true_lang-DI6z3AE9.js → Field.vue_vue_type_script_setup_true_lang-dAGKfjf5.js} +17 -17
- package/dist/Field.vue_vue_type_script_setup_true_lang-dAGKfjf5.js.map +1 -0
- package/dist/FileUpload.js +47 -49
- package/dist/FileUpload.js.map +1 -1
- package/dist/FilterChip.js +20 -20
- package/dist/FilterChip.js.map +1 -1
- package/dist/FilterDrawerItem.js +13 -13
- package/dist/FilterDrawerItem.js.map +1 -1
- package/dist/FilterDropdown.js +27 -27
- package/dist/FilterDropdown.js.map +1 -1
- package/dist/FilterSelect.js +33 -33
- package/dist/FilterSelect.js.map +1 -1
- package/dist/Filters.js +29 -29
- package/dist/Filters.js.map +1 -1
- package/dist/Filters.vue.d.ts +2 -8
- package/dist/HttpError.js +29 -29
- package/dist/HttpError.js.map +1 -1
- package/dist/HttpError.vue.d.ts +0 -3
- package/dist/Icon.js +12 -12
- package/dist/Icon.js.map +1 -1
- package/dist/IconLabel.js +19 -19
- package/dist/IconLabel.js.map +1 -1
- package/dist/IconLabel.vue.d.ts +1 -1
- package/dist/Illustration.js +2 -2
- package/dist/{Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js → Illustration.vue_vue_type_script_setup_true_lang-C1bPkWZZ.js} +4 -4
- package/dist/{Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js.map → Illustration.vue_vue_type_script_setup_true_lang-C1bPkWZZ.js.map} +1 -1
- package/dist/Image.js +2 -2
- package/dist/Image.vue.d.ts +0 -3
- package/dist/{Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js → Image.vue_vue_type_script_setup_true_lang-CAj0FH9h.js} +11 -11
- package/dist/Image.vue_vue_type_script_setup_true_lang-CAj0FH9h.js.map +1 -0
- package/dist/InlineEdit.js +8 -8
- package/dist/InlineEdit.js.map +1 -1
- package/dist/Input.js +29 -29
- package/dist/Input.js.map +1 -1
- package/dist/InputOptions.js +87 -84
- package/dist/InputOptions.js.map +1 -1
- package/dist/InputOptions.vue.d.ts +2 -2
- package/dist/IntegrationIcon.js +11 -11
- package/dist/IntegrationIcon.js.map +1 -1
- package/dist/Label.js +1 -1
- package/dist/{Label.vue_vue_type_script_setup_true_lang-CNquF3AP.js → Label.vue_vue_type_script_setup_true_lang-xwY3X-iV.js} +16 -16
- package/dist/{Label.vue_vue_type_script_setup_true_lang-CNquF3AP.js.map → Label.vue_vue_type_script_setup_true_lang-xwY3X-iV.js.map} +1 -1
- package/dist/ListItem.js +14 -14
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItem.vue.d.ts +0 -6
- package/dist/ListItemCell.js +9 -9
- package/dist/ListItemCell.js.map +1 -1
- package/dist/ListView.js +138 -141
- package/dist/ListView.js.map +1 -1
- package/dist/ListView.vue.d.ts +2 -26
- package/dist/Loading.js +8 -8
- package/dist/Loading.js.map +1 -1
- package/dist/Logo.js +1 -1
- package/dist/{Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js → Logo.vue_vue_type_script_setup_true_lang-DghNC_k6.js} +3 -3
- package/dist/{Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js.map → Logo.vue_vue_type_script_setup_true_lang-DghNC_k6.js.map} +1 -1
- package/dist/Menu.js +5 -5
- package/dist/Menu.js.map +1 -1
- package/dist/MenuItem.js +12 -12
- package/dist/MenuItem.js.map +1 -1
- package/dist/Metric.js +24 -24
- package/dist/Metric.js.map +1 -1
- package/dist/Modal.js +60 -60
- package/dist/Modal.js.map +1 -1
- package/dist/Modals.js +1 -1
- package/dist/Modals.js.map +1 -1
- package/dist/Module.js +6 -6
- package/dist/Module.js.map +1 -1
- package/dist/ModuleContent.js +16 -16
- package/dist/ModuleContent.js.map +1 -1
- package/dist/ModuleFooter.js +13 -13
- package/dist/ModuleFooter.js.map +1 -1
- package/dist/ModuleHeader.js +29 -29
- package/dist/ModuleHeader.js.map +1 -1
- package/dist/MoreActions.js +81 -84
- package/dist/MoreActions.js.map +1 -1
- package/dist/ObfuscateText.js +4 -4
- package/dist/ObfuscateText.js.map +1 -1
- package/dist/PageContent.js +13 -13
- package/dist/PageContent.js.map +1 -1
- package/dist/PageHeader.js +28 -28
- package/dist/PageHeader.js.map +1 -1
- package/dist/PageNavigation.js +1 -1
- package/dist/Paginate.js +45 -45
- package/dist/Paginate.js.map +1 -1
- package/dist/QuickAction.js +18 -18
- package/dist/QuickAction.js.map +1 -1
- package/dist/Radio.js +17 -17
- package/dist/Radio.js.map +1 -1
- package/dist/RadioGroup.js +121 -121
- package/dist/RadioGroup.js.map +1 -1
- package/dist/RadioNew.js +80 -80
- package/dist/RadioNew.js.map +1 -1
- package/dist/RadioNew.vue.d.ts +0 -3
- package/dist/RangeInput.js +2 -2
- package/dist/RangeInput.js.map +1 -1
- package/dist/SearchBar.js +9 -9
- package/dist/SearchBar.js.map +1 -1
- package/dist/SectionHeader.js +14 -14
- package/dist/SectionHeader.js.map +1 -1
- package/dist/Select.js +369 -366
- package/dist/Select.js.map +1 -1
- package/dist/SelectStatus.js +26 -26
- package/dist/SelectStatus.js.map +1 -1
- package/dist/Skeleton.js +20 -20
- package/dist/Skeleton.js.map +1 -1
- package/dist/Step.js +37 -40
- package/dist/Step.js.map +1 -1
- package/dist/Stepper.js +17 -17
- package/dist/Stepper.js.map +1 -1
- package/dist/Switch.js +57 -57
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.js +17 -19
- package/dist/Tab.js.map +1 -1
- package/dist/TabPanel.js +1 -1
- package/dist/TabPanel.js.map +1 -1
- package/dist/Table.js +22 -22
- package/dist/Table.js.map +1 -1
- package/dist/TableCell.js +32 -32
- package/dist/TableCell.js.map +1 -1
- package/dist/TableHeaderCell.js +35 -35
- package/dist/TableHeaderCell.js.map +1 -1
- package/dist/TableHeaderRow.js +10 -10
- package/dist/TableHeaderRow.js.map +1 -1
- package/dist/TableRow.js +51 -51
- package/dist/TableRow.js.map +1 -1
- package/dist/Tabs.js +2 -2
- package/dist/{Tabs.vue_vue_type_script_setup_true_lang-B3Irnlcd.js → Tabs.vue_vue_type_script_setup_true_lang-BVTCcK6M.js} +33 -33
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-BVTCcK6M.js.map +1 -0
- package/dist/TextEditor.js +8 -8
- package/dist/TextEditor.js.map +1 -1
- package/dist/Textarea.js +15 -15
- package/dist/Textarea.js.map +1 -1
- package/dist/Thumbnail.js +41 -41
- package/dist/Thumbnail.js.map +1 -1
- package/dist/ThumbnailEmpty.js +3 -3
- package/dist/ThumbnailEmpty.js.map +1 -1
- package/dist/ThumbnailGroup.js +22 -22
- package/dist/ThumbnailGroup.js.map +1 -1
- package/dist/Timeline.js +3 -3
- package/dist/Timeline.js.map +1 -1
- package/dist/TimelineItem.js +22 -22
- package/dist/TimelineItem.js.map +1 -1
- package/dist/Toast.js +29 -29
- package/dist/Toast.js.map +1 -1
- package/dist/Toast.vue.d.ts +3 -0
- package/dist/Toasts.js +11 -11
- package/dist/Toasts.js.map +1 -1
- package/dist/Tooltip.js +2 -81
- package/dist/Tooltip.js.map +1 -1
- package/dist/Tooltip.vue.d.ts +1 -1
- package/dist/Tooltip.vue_vue_type_script_setup_true_lang-mzBLSXy3.js +84 -0
- package/dist/Tooltip.vue_vue_type_script_setup_true_lang-mzBLSXy3.js.map +1 -0
- package/dist/components.css +2 -2
- package/dist/constants.d.ts +9 -9
- package/dist/constants.js +17 -17
- package/dist/constants.js.map +1 -1
- package/dist/directives/tooltip.js +2 -2
- package/dist/directives/tooltip.js.map +1 -1
- package/dist/{index-C14LhAwV.js → index-DBV9Uz0C.js} +3 -3
- package/dist/{index-C14LhAwV.js.map → index-DBV9Uz0C.js.map} +1 -1
- package/dist/tailwind-base.js.d.ts +12 -0
- package/dist/tailwind-base.js.map +1 -1
- package/dist/useSortable.js +1 -1
- package/dist/utils/helpers.js +15 -15
- package/dist/utils/helpers.js.map +1 -1
- package/package.json +15 -15
- package/styles/backwards-compat.css +373 -2851
- package/styles/main.css +8 -0
- package/styles/sofia-font.css +23 -27
- package/styles/theme.css +1033 -0
- package/dist/Field.vue_vue_type_script_setup_true_lang-DI6z3AE9.js.map +0 -1
- package/dist/Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js.map +0 -1
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-B3Irnlcd.js.map +0 -1
- package/dist/tailwind-base.d.ts +0 -333
- package/styles/base.css +0 -902
- package/tailwind-base.ts +0 -455
package/dist/Tooltip.js
CHANGED
|
@@ -1,84 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { u as D, a as O, f as z, s as A, o as F, b as I } from "./floating-ui.vue-CuGrC-z8.js";
|
|
3
|
-
import { a as P } from "./index-C14LhAwV.js";
|
|
4
|
-
const M = {
|
|
5
|
-
ref: "wrapper",
|
|
6
|
-
class: "stash-tooltip__wrapper tw-relative tw-inline-flex tw-size-fit"
|
|
7
|
-
}, N = 6, C = 12, U = /* @__PURE__ */ g({
|
|
8
|
-
__name: "Tooltip",
|
|
9
|
-
props: {
|
|
10
|
-
disableTeleport: { type: Boolean, default: !1 },
|
|
11
|
-
side: { default: "top" },
|
|
12
|
-
isDisabled: { type: Boolean, default: !1 },
|
|
13
|
-
isOpen: { type: Boolean, default: !1 },
|
|
14
|
-
teleportTo: { default: "#stash-menus-mount-node" },
|
|
15
|
-
text: { default: "" }
|
|
16
|
-
},
|
|
17
|
-
setup(u) {
|
|
18
|
-
const m = {
|
|
19
|
-
top: "bottom",
|
|
20
|
-
right: "left",
|
|
21
|
-
bottom: "top",
|
|
22
|
-
left: "right"
|
|
23
|
-
}, t = u, s = n(null), p = n(null), c = n(null), { isOutside: h } = P(s), y = r(() => !t.isDisabled && (!h.value || t.isOpen)), _ = r(() => t.side), { floatingStyles: x, middlewareData: o, placement: b } = D(s, c, {
|
|
24
|
-
whileElementsMounted: O,
|
|
25
|
-
placement: _,
|
|
26
|
-
middleware: [
|
|
27
|
-
z(),
|
|
28
|
-
A({ padding: 8 }),
|
|
29
|
-
F(C),
|
|
30
|
-
I({ element: p, padding: 8 })
|
|
31
|
-
]
|
|
32
|
-
}), v = r(() => {
|
|
33
|
-
var l, d;
|
|
34
|
-
const e = m[b.value];
|
|
35
|
-
return {
|
|
36
|
-
left: ((l = o.value.arrow) == null ? void 0 : l.x) != null ? `${o.value.arrow.x}px` : "",
|
|
37
|
-
top: ((d = o.value.arrow) == null ? void 0 : d.y) != null ? `${o.value.arrow.y}px` : "",
|
|
38
|
-
[e]: `-${N}px`
|
|
39
|
-
};
|
|
40
|
-
});
|
|
41
|
-
return (e, l) => (w(), S("div", M, [
|
|
42
|
-
i("span", {
|
|
43
|
-
ref_key: "anchor",
|
|
44
|
-
ref: s,
|
|
45
|
-
"data-test": "stash-tooltip|anchor",
|
|
46
|
-
class: "stash-tooltip__anchor"
|
|
47
|
-
}, [
|
|
48
|
-
a(e.$slots, "default")
|
|
49
|
-
], 512),
|
|
50
|
-
(w(), T(E, {
|
|
51
|
-
to: t.teleportTo,
|
|
52
|
-
disabled: t.disableTeleport
|
|
53
|
-
}, [
|
|
54
|
-
i("div", {
|
|
55
|
-
ref_key: "tooltip",
|
|
56
|
-
ref: c,
|
|
57
|
-
"data-test": "stash-tooltip",
|
|
58
|
-
class: "stash-tooltip tw-pointer-events-none tw-z-screen tw-flex tw-w-[148px] tw-flex-col tw-items-center tw-whitespace-normal tw-rounded tw-bg-ice-900 tw-p-3 tw-text-center tw-text-xs tw-text-white tw-opacity-0 tw-shadow tw-transition-opacity",
|
|
59
|
-
role: "tooltip",
|
|
60
|
-
style: f({
|
|
61
|
-
...$(x),
|
|
62
|
-
opacity: y.value ? 0.95 : 0
|
|
63
|
-
})
|
|
64
|
-
}, [
|
|
65
|
-
a(e.$slots, "icon"),
|
|
66
|
-
a(e.$slots, "content", {}, () => [
|
|
67
|
-
k(B(t.text), 1)
|
|
68
|
-
]),
|
|
69
|
-
a(e.$slots, "secondaryIcon"),
|
|
70
|
-
i("div", {
|
|
71
|
-
ref_key: "floatingArrow",
|
|
72
|
-
ref: p,
|
|
73
|
-
class: "stash-tooltip__arrow tw-absolute tw-z-behind tw-size-[12px] tw-rotate-45 tw-bg-ice-900",
|
|
74
|
-
style: f(v.value)
|
|
75
|
-
}, null, 4)
|
|
76
|
-
], 4)
|
|
77
|
-
], 8, ["to", "disabled"]))
|
|
78
|
-
], 512));
|
|
79
|
-
}
|
|
80
|
-
});
|
|
1
|
+
import { _ as f } from "./Tooltip.vue_vue_type_script_setup_true_lang-mzBLSXy3.js";
|
|
81
2
|
export {
|
|
82
|
-
|
|
3
|
+
f as default
|
|
83
4
|
};
|
|
84
5
|
//# sourceMappingURL=Tooltip.js.map
|
package/dist/Tooltip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sources":[
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/Tooltip.vue.d.ts
CHANGED
|
@@ -52,8 +52,8 @@ text: string;
|
|
|
52
52
|
isDisabled: boolean;
|
|
53
53
|
teleportTo: string | HTMLElement;
|
|
54
54
|
isOpen: boolean;
|
|
55
|
-
side: Side;
|
|
56
55
|
disableTeleport: boolean;
|
|
56
|
+
side: Side;
|
|
57
57
|
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, Readonly<TooltipSlots> & TooltipSlots>;
|
|
58
58
|
export default _default;
|
|
59
59
|
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { defineComponent as g, ref as n, computed as r, createElementBlock as S, openBlock as f, createElementVNode as i, createBlock as T, renderSlot as s, Teleport as E, normalizeStyle as u, unref as $, createTextVNode as k, toDisplayString as B } from "vue";
|
|
2
|
+
import { u as D, a as O, f as z, s as A, o as F, b as I } from "./floating-ui.vue-CuGrC-z8.js";
|
|
3
|
+
import { u as P } from "./index-DBV9Uz0C.js";
|
|
4
|
+
const M = {
|
|
5
|
+
ref: "wrapper",
|
|
6
|
+
class: "stash-tooltip__wrapper relative inline-flex size-fit"
|
|
7
|
+
}, N = 6, C = 12, U = /* @__PURE__ */ g({
|
|
8
|
+
__name: "Tooltip",
|
|
9
|
+
props: {
|
|
10
|
+
disableTeleport: { type: Boolean, default: !1 },
|
|
11
|
+
side: { default: "top" },
|
|
12
|
+
isDisabled: { type: Boolean, default: !1 },
|
|
13
|
+
isOpen: { type: Boolean, default: !1 },
|
|
14
|
+
teleportTo: { default: "#stash-menus-mount-node" },
|
|
15
|
+
text: { default: "" }
|
|
16
|
+
},
|
|
17
|
+
setup(m) {
|
|
18
|
+
const h = {
|
|
19
|
+
top: "bottom",
|
|
20
|
+
right: "left",
|
|
21
|
+
bottom: "top",
|
|
22
|
+
left: "right"
|
|
23
|
+
}, e = m, a = n(null), p = n(null), c = n(null), { isOutside: w } = P(a), _ = r(() => !e.isDisabled && (!w.value || e.isOpen)), y = r(() => e.side), { floatingStyles: x, middlewareData: o, placement: b } = D(a, c, {
|
|
24
|
+
whileElementsMounted: O,
|
|
25
|
+
placement: y,
|
|
26
|
+
middleware: [
|
|
27
|
+
z(),
|
|
28
|
+
A({ padding: 8 }),
|
|
29
|
+
F(C),
|
|
30
|
+
I({ element: p, padding: 8 })
|
|
31
|
+
]
|
|
32
|
+
}), v = r(() => {
|
|
33
|
+
var l, d;
|
|
34
|
+
const t = h[b.value];
|
|
35
|
+
return {
|
|
36
|
+
left: ((l = o.value.arrow) == null ? void 0 : l.x) != null ? `${o.value.arrow.x}px` : "",
|
|
37
|
+
top: ((d = o.value.arrow) == null ? void 0 : d.y) != null ? `${o.value.arrow.y}px` : "",
|
|
38
|
+
[t]: `-${N}px`
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
return (t, l) => (f(), S("div", M, [
|
|
42
|
+
i("span", {
|
|
43
|
+
ref_key: "anchor",
|
|
44
|
+
ref: a,
|
|
45
|
+
"data-test": "stash-tooltip|anchor",
|
|
46
|
+
class: "stash-tooltip__anchor"
|
|
47
|
+
}, [
|
|
48
|
+
s(t.$slots, "default")
|
|
49
|
+
], 512),
|
|
50
|
+
(f(), T(E, {
|
|
51
|
+
to: e.teleportTo,
|
|
52
|
+
disabled: e.disableTeleport
|
|
53
|
+
}, [
|
|
54
|
+
i("div", {
|
|
55
|
+
ref_key: "tooltip",
|
|
56
|
+
ref: c,
|
|
57
|
+
"data-test": "stash-tooltip",
|
|
58
|
+
class: "stash-tooltip pointer-events-none z-screen flex w-[148px] flex-col items-center whitespace-normal rounded bg-ice-900 p-3 text-center text-xs text-white opacity-0 shadow transition-opacity",
|
|
59
|
+
role: "tooltip",
|
|
60
|
+
style: u({
|
|
61
|
+
...$(x),
|
|
62
|
+
opacity: _.value ? 0.95 : 0
|
|
63
|
+
})
|
|
64
|
+
}, [
|
|
65
|
+
s(t.$slots, "icon"),
|
|
66
|
+
s(t.$slots, "content", {}, () => [
|
|
67
|
+
k(B(e.text), 1)
|
|
68
|
+
]),
|
|
69
|
+
s(t.$slots, "secondaryIcon"),
|
|
70
|
+
i("div", {
|
|
71
|
+
ref_key: "floatingArrow",
|
|
72
|
+
ref: p,
|
|
73
|
+
class: "stash-tooltip__arrow absolute z-behind size-[12px] rotate-45 bg-ice-900",
|
|
74
|
+
style: u(v.value)
|
|
75
|
+
}, null, 4)
|
|
76
|
+
], 4)
|
|
77
|
+
], 8, ["to", "disabled"]))
|
|
78
|
+
], 512));
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
export {
|
|
82
|
+
U as _
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=Tooltip.vue_vue_type_script_setup_true_lang-mzBLSXy3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.vue_vue_type_script_setup_true_lang-mzBLSXy3.js","sources":["../src/components/Tooltip/Tooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { arrow, autoUpdate, flip, offset, shift, type Side, useFloating } from '@floating-ui/vue';\n import { useMouseInElement } from '@vueuse/core';\n import { computed, ref } from 'vue';\n\n export type TooltipSide = Side;\n\n const ARROW_OFFSET_PX = 6;\n const OFFSET_DISTANCE_PX = 12;\n\n const SIDE_MAP: Record<TooltipSide, TooltipSide> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n };\n\n /* eslint-disable @typescript-eslint/no-explicit-any */\n export interface TooltipSlots {\n /**\n * The content to display in the tooltip. This may be text node, an element, or a component.\n */\n content: any;\n /**\n * The default slot is the element or component to which the tooltip will be anchored.\n */\n default: any;\n /**\n * A slot for the primary icon. This icon will be displayed before the text or content.\n */\n icon: any;\n /**\n * A slot for the secondary icon. This icon will be displayed after the text or content.\n */\n secondaryIcon: any;\n }\n /* eslint-enable @typescript-eslint/no-explicit-any */\n\n defineSlots<TooltipSlots>();\n\n export interface TooltipProps {\n /**\n * Disables teleporting the popover menu to an external element\n * @default false\n */\n disableTeleport?: boolean;\n /**\n * Sets the placement of the menu\n * @default 'top'\n */\n side?: TooltipSide;\n /**\n * Disables the tooltip\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Sets if the menu is open. If not set from the parent context, the menu will be controlled internally.\n * @default false\n */\n isOpen?: boolean;\n /**\n * The query selector where the tooltip should be teleported\n * @default '#stash-menus-mount-node'\n */\n teleportTo?: string | HTMLElement;\n /**\n * String content to display within the tooltip\n * @default ''\n */\n text?: string;\n }\n\n const props = withDefaults(defineProps<TooltipProps>(), {\n disableTeleport: false,\n isDisabled: false,\n isOpen: false,\n side: 'top',\n teleportTo: '#stash-menus-mount-node',\n text: '',\n });\n\n const anchor = ref<HTMLElement | null>(null);\n const floatingArrow = ref<HTMLElement | null>(null);\n const tooltip = ref<HTMLElement | null>(null);\n\n const { isOutside } = useMouseInElement(anchor);\n\n const open = computed(() => !props.isDisabled && (!isOutside.value || props.isOpen));\n const placementSetting = computed(() => props.side);\n\n const { floatingStyles, middlewareData, placement } = useFloating(anchor, tooltip, {\n whileElementsMounted: autoUpdate,\n placement: placementSetting,\n middleware: [\n flip(),\n shift({ padding: 8 }),\n offset(OFFSET_DISTANCE_PX),\n arrow({ element: floatingArrow, padding: 8 }),\n ],\n });\n\n const arrowStyles = computed(() => {\n const arrowPosition = SIDE_MAP[placement.value];\n\n return {\n left: middlewareData.value.arrow?.x != null ? `${middlewareData.value.arrow.x}px` : '',\n top: middlewareData.value.arrow?.y != null ? `${middlewareData.value.arrow.y}px` : '',\n [arrowPosition]: `-${ARROW_OFFSET_PX}px`,\n };\n });\n</script>\n\n<template>\n <div ref=\"wrapper\" class=\"stash-tooltip__wrapper relative inline-flex size-fit\">\n <span ref=\"anchor\" data-test=\"stash-tooltip|anchor\" class=\"stash-tooltip__anchor\">\n <slot></slot>\n </span>\n <Teleport :to=\"props.teleportTo\" :disabled=\"props.disableTeleport\">\n <div\n ref=\"tooltip\"\n data-test=\"stash-tooltip\"\n class=\"stash-tooltip pointer-events-none z-screen flex w-[148px] flex-col items-center whitespace-normal rounded bg-ice-900 p-3 text-center text-xs text-white opacity-0 shadow transition-opacity\"\n role=\"tooltip\"\n :style=\"{\n ...floatingStyles,\n opacity: open ? 0.95 : 0,\n }\"\n >\n <slot name=\"icon\"></slot>\n <slot name=\"content\">{{ props.text }}</slot>\n <slot name=\"secondaryIcon\"></slot>\n <div\n ref=\"floatingArrow\"\n class=\"stash-tooltip__arrow absolute z-behind size-[12px] rotate-45 bg-ice-900\"\n :style=\"arrowStyles\"\n ></div>\n </div>\n </Teleport>\n </div>\n</template>\n"],"names":["ARROW_OFFSET_PX","OFFSET_DISTANCE_PX","SIDE_MAP","props","__props","anchor","ref","floatingArrow","tooltip","isOutside","useMouseInElement","open","computed","placementSetting","floatingStyles","middlewareData","placement","useFloating","autoUpdate","flip","shift","offset","arrow","arrowStyles","arrowPosition","_a","_b"],"mappings":";;;;;;GAOQA,IAAkB,GAClBC,IAAqB;;;;;;;;;;;AAE3B,UAAMC,IAA6C;AAAA,MACjD,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA,GA2DFC,IAAQC,GASRC,IAASC,EAAwB,IAAI,GACrCC,IAAgBD,EAAwB,IAAI,GAC5CE,IAAUF,EAAwB,IAAI,GAEtC,EAAE,WAAAG,EAAA,IAAcC,EAAkBL,CAAM,GAExCM,IAAOC,EAAS,MAAM,CAACT,EAAM,eAAe,CAACM,EAAU,SAASN,EAAM,OAAO,GAC7EU,IAAmBD,EAAS,MAAMT,EAAM,IAAI,GAE5C,EAAE,gBAAAW,GAAgB,gBAAAC,GAAgB,WAAAC,MAAcC,EAAYZ,GAAQG,GAAS;AAAA,MACjF,sBAAsBU;AAAA,MACtB,WAAWL;AAAA,MACX,YAAY;AAAA,QACVM,EAAA;AAAA,QACAC,EAAM,EAAE,SAAS,GAAG;AAAA,QACpBC,EAAOpB,CAAkB;AAAA,QACzBqB,EAAM,EAAE,SAASf,GAAe,SAAS,GAAG;AAAA,MAAA;AAAA,IAC9C,CACD,GAEKgB,IAAcX,EAAS,MAAM;;AACjC,YAAMY,IAAgBtB,EAASc,EAAU,KAAK;AAE9C,aAAO;AAAA,QACL,QAAMS,IAAAV,EAAe,MAAM,UAArB,gBAAAU,EAA4B,MAAK,OAAO,GAAGV,EAAe,MAAM,MAAM,CAAC,OAAO;AAAA,QACpF,OAAKW,IAAAX,EAAe,MAAM,UAArB,gBAAAW,EAA4B,MAAK,OAAO,GAAGX,EAAe,MAAM,MAAM,CAAC,OAAO;AAAA,QACnF,CAACS,CAAa,GAAG,IAAIxB,CAAe;AAAA,MAAA;AAAA,IAExC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|