@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
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { _ as
|
|
1
|
+
import { defineComponent as v, ref as y, useSlots as $, resolveComponent as b, createElementBlock as r, openBlock as o, createBlock as h, unref as k, normalizeClass as a, withCtx as m, createElementVNode as t, renderSlot as d, createVNode as n, toDisplayString as u } from "vue";
|
|
2
|
+
import { _ as x } from "./Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js";
|
|
3
3
|
import i from "./Icon.js";
|
|
4
|
-
import { _ as
|
|
5
|
-
const C = { class: "
|
|
4
|
+
import { _ as w } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
|
+
const C = { class: "flex flex-1 items-center overflow-hidden" }, A = { class: "truncate" }, B = { key: 1 }, I = { class: "flex flex-1 items-center overflow-hidden" }, N = { class: "truncate" }, g = /* @__PURE__ */ v({
|
|
6
6
|
__name: "AppNavigationItem",
|
|
7
7
|
props: {
|
|
8
8
|
to: {},
|
|
@@ -11,53 +11,53 @@ const C = { class: "tw-flex tw-flex-1 tw-items-center tw-overflow-hidden" }, A =
|
|
|
11
11
|
isActive: { type: Boolean, default: !1 }
|
|
12
12
|
},
|
|
13
13
|
setup(p) {
|
|
14
|
-
const l =
|
|
14
|
+
const l = y(!1), s = p, f = $();
|
|
15
15
|
return (e, c) => {
|
|
16
|
-
const
|
|
16
|
+
const _ = b("router-link");
|
|
17
17
|
return o(), r("li", null, [
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class:
|
|
18
|
+
k(f)["sub-items"] ? (o(), r("div", B, [
|
|
19
|
+
t("button", {
|
|
20
|
+
class: a([[e.$style.item, { [e.$style.expanded]: l.value }], "flex w-full items-center justify-between font-normal capitalize"]),
|
|
21
21
|
onClick: c[0] || (c[0] = () => l.value = !l.value)
|
|
22
22
|
}, [
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
name:
|
|
26
|
-
class: "
|
|
23
|
+
t("div", I, [
|
|
24
|
+
n(i, {
|
|
25
|
+
name: s.icon,
|
|
26
|
+
class: "mr-3"
|
|
27
27
|
}, null, 8, ["name"]),
|
|
28
|
-
|
|
28
|
+
t("span", N, u(s.label), 1)
|
|
29
29
|
]),
|
|
30
|
-
|
|
31
|
-
class:
|
|
30
|
+
n(i, {
|
|
31
|
+
class: a([e.$style.caret, { [e.$style.expandedIcon]: l.value }]),
|
|
32
32
|
name: "chevron-left"
|
|
33
33
|
}, null, 8, ["class"])
|
|
34
34
|
], 2),
|
|
35
|
-
|
|
35
|
+
n(x, {
|
|
36
36
|
"is-expanded": l.value,
|
|
37
|
-
class:
|
|
37
|
+
class: a(e.$style.expand)
|
|
38
38
|
}, {
|
|
39
39
|
default: m(() => [
|
|
40
|
-
|
|
41
|
-
class:
|
|
40
|
+
t("ul", {
|
|
41
|
+
class: a(e.$style["sub-items"])
|
|
42
42
|
}, [
|
|
43
43
|
d(e.$slots, "sub-items")
|
|
44
44
|
], 2)
|
|
45
45
|
]),
|
|
46
46
|
_: 3
|
|
47
47
|
}, 8, ["is-expanded", "class"])
|
|
48
|
-
])) : (o(),
|
|
48
|
+
])) : (o(), h(_, {
|
|
49
49
|
key: 0,
|
|
50
|
-
to:
|
|
51
|
-
class:
|
|
50
|
+
to: s.to,
|
|
51
|
+
class: a([[e.$style.item, { [e.$style.active]: s.isActive }], "flex w-full items-center justify-between font-normal capitalize"]),
|
|
52
52
|
"active-class": e.$style.active
|
|
53
53
|
}, {
|
|
54
54
|
default: m(() => [
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
name:
|
|
58
|
-
class: "
|
|
55
|
+
t("div", C, [
|
|
56
|
+
n(i, {
|
|
57
|
+
name: s.icon,
|
|
58
|
+
class: "mr-3"
|
|
59
59
|
}, null, 8, ["name"]),
|
|
60
|
-
|
|
60
|
+
t("span", A, u(s.label), 1)
|
|
61
61
|
]),
|
|
62
62
|
d(e.$slots, "default")
|
|
63
63
|
]),
|
|
@@ -66,15 +66,15 @@ const C = { class: "tw-flex tw-flex-1 tw-items-center tw-overflow-hidden" }, A =
|
|
|
66
66
|
]);
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
|
-
}), z = "
|
|
69
|
+
}), z = "_item_4474r_3", E = "_expanded_4474r_20", S = "_active_4474r_24", j = "_caret_4474r_30", M = {
|
|
70
70
|
item: z,
|
|
71
|
-
"sub-items": "_sub-
|
|
71
|
+
"sub-items": "_sub-items_4474r_16",
|
|
72
72
|
expanded: E,
|
|
73
73
|
active: S,
|
|
74
74
|
caret: j
|
|
75
75
|
}, V = {
|
|
76
76
|
$style: M
|
|
77
|
-
}, H = /* @__PURE__ */
|
|
77
|
+
}, H = /* @__PURE__ */ w(g, [["__cssModules", V]]);
|
|
78
78
|
export {
|
|
79
79
|
H as default
|
|
80
80
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppNavigationItem.js","sources":["../src/components/AppNavigationItem/AppNavigationItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { ref, useSlots } from 'vue';\n import { type RouteLocationRaw } from 'vue-router';\n\n import Expand from '../Expand/Expand.vue';\n import { IconName } from '../Icon/Icon.types';\n import Icon from '../Icon/Icon.vue';\n\n export interface AppNavigationItemProps {\n /**\n * Location to navigate to\n */\n to: RouteLocationRaw;\n /**\n * Icon to render on the left side\n */\n icon: IconName;\n /**\n * Text label to render\n */\n label: string;\n /**\n * Indicates whether the route is active or not\n */\n isActive?: boolean;\n }\n\n const isExpanded = ref(false);\n\n const props = withDefaults(defineProps<AppNavigationItemProps>(), {\n isActive: false,\n });\n\n const slots = useSlots();\n</script>\n\n<template>\n <li>\n <router-link\n v-if=\"!slots['sub-items']\"\n :to=\"props.to\"\n :class=\"[$style.item, { [$style.active]: props.isActive }]\"\n :active-class=\"$style.active\"\n class=\"
|
|
1
|
+
{"version":3,"file":"AppNavigationItem.js","sources":["../src/components/AppNavigationItem/AppNavigationItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { ref, useSlots } from 'vue';\n import { type RouteLocationRaw } from 'vue-router';\n\n import Expand from '../Expand/Expand.vue';\n import { IconName } from '../Icon/Icon.types';\n import Icon from '../Icon/Icon.vue';\n\n export interface AppNavigationItemProps {\n /**\n * Location to navigate to\n */\n to: RouteLocationRaw;\n /**\n * Icon to render on the left side\n */\n icon: IconName;\n /**\n * Text label to render\n */\n label: string;\n /**\n * Indicates whether the route is active or not\n */\n isActive?: boolean;\n }\n\n const isExpanded = ref(false);\n\n const props = withDefaults(defineProps<AppNavigationItemProps>(), {\n isActive: false,\n });\n\n const slots = useSlots();\n</script>\n\n<template>\n <li>\n <router-link\n v-if=\"!slots['sub-items']\"\n :to=\"props.to\"\n :class=\"[$style.item, { [$style.active]: props.isActive }]\"\n :active-class=\"$style.active\"\n class=\"flex w-full items-center justify-between font-normal capitalize\"\n >\n <div class=\"flex flex-1 items-center overflow-hidden\">\n <Icon :name=\"props.icon\" class=\"mr-3\" />\n <span class=\"truncate\">{{ props.label }}</span>\n </div>\n <!-- @slot Default component slot, for content to the right side of item -->\n <slot></slot>\n </router-link>\n <div v-else>\n <button\n :class=\"[$style.item, { [$style.expanded]: isExpanded }]\"\n class=\"flex w-full items-center justify-between font-normal capitalize\"\n @click=\"() => (isExpanded = !isExpanded)\"\n >\n <div class=\"flex flex-1 items-center overflow-hidden\">\n <Icon :name=\"props.icon\" class=\"mr-3\" />\n <span class=\"truncate\">{{ props.label }}</span>\n </div>\n <Icon :class=\"[$style.caret, { [$style.expandedIcon]: isExpanded }]\" name=\"chevron-left\" />\n </button>\n <Expand :is-expanded=\"isExpanded\" :class=\"$style.expand\">\n <ul :class=\"$style['sub-items']\">\n <!-- @slot Sub items component slot, for rendering nested navigation items -->\n <slot name=\"sub-items\"></slot>\n </ul>\n </Expand>\n </div>\n </li>\n</template>\n\n<style module>\n @layer utilities {\n .item {\n border-left: 6px solid transparent;\n color: var(--color-ice-500);\n padding: 10px 12px;\n transition: background-color 150ms;\n }\n\n .item:hover,\n .item:focus {\n text-decoration: none;\n background: #140e35;\n }\n\n .sub-items .item {\n padding-left: 40px;\n }\n\n .expanded {\n background-color: #263256;\n }\n\n .active {\n color: var(--color-seafoam-500);\n border-color: var(--color-seafoam-500);\n background: #140e35;\n }\n\n .caret {\n transition: transform 300ms ease-in-out;\n }\n\n .expanded .caret {\n transform: rotate(-90deg);\n }\n }\n</style>\n"],"names":["isExpanded","ref","props","__props","slots","useSlots"],"mappings":";;;;;;;;;;;;;AA2BE,UAAMA,IAAaC,EAAI,EAAK,GAEtBC,IAAQC,GAIRC,IAAQC,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/AppSidebar.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { defineComponent as B, useSlots as C, computed as
|
|
1
|
+
import { defineComponent as B, useSlots as C, computed as _, ref as O, watchEffect as V, createElementBlock as s, openBlock as a, normalizeClass as b, createVNode as o, Transition as g, withCtx as x, withDirectives as k, withModifiers as $, vShow as w, createElementVNode as p, createCommentVNode as c, renderSlot as i, unref as u } from "vue";
|
|
2
2
|
import z from "./useMediaQuery.js";
|
|
3
3
|
import N from "./Backdrop.js";
|
|
4
4
|
import j from "./Divider.js";
|
|
5
5
|
import { _ as A } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
6
|
const D = {
|
|
7
7
|
key: 0,
|
|
8
|
-
class: "
|
|
8
|
+
class: "px-3 pt-6"
|
|
9
9
|
}, M = {
|
|
10
10
|
key: 1,
|
|
11
|
-
class: "
|
|
11
|
+
class: "px-3 pt-6"
|
|
12
12
|
}, P = {
|
|
13
13
|
key: 2,
|
|
14
|
-
class: "
|
|
14
|
+
class: "pt-6"
|
|
15
15
|
}, I = {
|
|
16
16
|
role: "menubar",
|
|
17
17
|
"aria-orientation": "vertical"
|
|
@@ -22,7 +22,7 @@ const D = {
|
|
|
22
22
|
},
|
|
23
23
|
emits: ["dismiss", "update:is-open"],
|
|
24
24
|
setup(y, { emit: S }) {
|
|
25
|
-
const v = y, r = C(), m = S, l = z("screen and (min-width: 1321px)"), e =
|
|
25
|
+
const v = y, r = C(), m = S, l = z("screen and (min-width: 1321px)"), e = _(() => v.isOpen && !l.value), n = O({ height: "", overflow: "" }), f = _(() => v.isOpen || l.value);
|
|
26
26
|
function E() {
|
|
27
27
|
m("dismiss"), m("update:is-open", !1);
|
|
28
28
|
}
|
|
@@ -41,28 +41,28 @@ const D = {
|
|
|
41
41
|
}));
|
|
42
42
|
}), (t, h) => (a(), s("div", {
|
|
43
43
|
id: "stash-app-sidebar",
|
|
44
|
-
class:
|
|
44
|
+
class: b(["stash-app-sidebar relative", {
|
|
45
45
|
"stash-app-sidebar--is-open": f.value,
|
|
46
|
-
"
|
|
47
|
-
"
|
|
46
|
+
"z-modal": e.value,
|
|
47
|
+
"z-[301]": !e.value
|
|
48
48
|
}]),
|
|
49
49
|
"data-test": "stash-app-sidebar"
|
|
50
50
|
}, [
|
|
51
|
-
o(
|
|
52
|
-
default:
|
|
53
|
-
|
|
51
|
+
o(g, { name: "backdrop" }, {
|
|
52
|
+
default: x(() => [
|
|
53
|
+
k(o(N, {
|
|
54
54
|
class: "stash-app-sidebar__backdrop",
|
|
55
55
|
onClick: $(E, ["stop"])
|
|
56
56
|
}, null, 512), [
|
|
57
|
-
[
|
|
57
|
+
[w, e.value]
|
|
58
58
|
])
|
|
59
59
|
]),
|
|
60
60
|
_: 1
|
|
61
61
|
}),
|
|
62
|
-
o(
|
|
63
|
-
default:
|
|
64
|
-
|
|
65
|
-
class:
|
|
62
|
+
o(g, { name: "aside" }, {
|
|
63
|
+
default: x(() => [
|
|
64
|
+
k(p("aside", {
|
|
65
|
+
class: b(["stash-app-sidebar__aside fixed flex h-screen flex-col bg-purple-500", { "shadow-3xl": e.value }]),
|
|
66
66
|
"data-test": "stash-app-sidebar__aside"
|
|
67
67
|
}, [
|
|
68
68
|
o(j, { class: "stash-app-sidebar__divider" }),
|
|
@@ -77,17 +77,17 @@ const D = {
|
|
|
77
77
|
i(t.$slots, "navigation", {}, void 0, !0)
|
|
78
78
|
])
|
|
79
79
|
])) : c("", !0),
|
|
80
|
-
h[0] || (h[0] = p("div", { class: "
|
|
80
|
+
h[0] || (h[0] = p("div", { class: "flex-1" }, null, -1)),
|
|
81
81
|
i(t.$slots, "footer", {}, void 0, !0)
|
|
82
82
|
], 2), [
|
|
83
|
-
[
|
|
83
|
+
[w, f.value]
|
|
84
84
|
])
|
|
85
85
|
]),
|
|
86
86
|
_: 3
|
|
87
87
|
})
|
|
88
88
|
], 2));
|
|
89
89
|
}
|
|
90
|
-
}), H = /* @__PURE__ */ A(L, [["__scopeId", "data-v-
|
|
90
|
+
}), H = /* @__PURE__ */ A(L, [["__scopeId", "data-v-1d101ddc"]]);
|
|
91
91
|
export {
|
|
92
92
|
H as default
|
|
93
93
|
};
|
package/dist/AppSidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppSidebar.js","sources":["../src/components/AppSidebar/AppSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, ref, useSlots, watchEffect } from 'vue';\n\n import useMediaQuery from '../../composables/useMediaQuery/useMediaQuery';\n import Backdrop from '../Backdrop/Backdrop.vue';\n import Divider from '../Divider/Divider.vue';\n\n export interface AppSidebarProps {\n /**\n * Controls wether the sidebar is opened or not\n */\n isOpen?: boolean;\n }\n\n const props = withDefaults(defineProps<AppSidebarProps>(), {\n isOpen: false,\n });\n\n const slots = useSlots();\n\n const emit = defineEmits<{\n /**\n * @deprecated Use the `update:is-open` event instead\n */\n (e: 'dismiss'): void;\n (e: 'update:is-open', isOpen: boolean): void;\n }>();\n\n const isExtraLargeScreen = useMediaQuery('screen and (min-width: 1321px)');\n const isBackdropVisible = computed(() => props.isOpen && !isExtraLargeScreen.value);\n const initialPageScrollingElementStyle = ref({ height: '', overflow: '' });\n const isSidebarOpen = computed(() => props.isOpen || isExtraLargeScreen.value);\n\n function onBackdropClick() {\n emit('dismiss');\n emit('update:is-open', false);\n }\n\n function getPageScrollingElement() {\n return (document.scrollingElement || document.body) as HTMLElement;\n }\n\n watchEffect(() => {\n if (isExtraLargeScreen.value) {\n return;\n }\n\n if (isBackdropVisible.value) {\n Object.assign(initialPageScrollingElementStyle.value, {\n overflow: getPageScrollingElement().style.overflow,\n height: getPageScrollingElement().style.height,\n });\n }\n\n Object.assign(getPageScrollingElement().style, {\n overflow: isBackdropVisible.value ? 'hidden' : initialPageScrollingElementStyle.value.overflow, // Prevents page from scrolling when AppSidebar is open\n height: isBackdropVisible.value ? '100%' : initialPageScrollingElementStyle.value.height, // Ensures the backdrop covers the entire page when AppSidebar is open\n });\n });\n</script>\n\n<template>\n <div\n id=\"stash-app-sidebar\"\n class=\"stash-app-sidebar
|
|
1
|
+
{"version":3,"file":"AppSidebar.js","sources":["../src/components/AppSidebar/AppSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, ref, useSlots, watchEffect } from 'vue';\n\n import useMediaQuery from '../../composables/useMediaQuery/useMediaQuery';\n import Backdrop from '../Backdrop/Backdrop.vue';\n import Divider from '../Divider/Divider.vue';\n\n export interface AppSidebarProps {\n /**\n * Controls wether the sidebar is opened or not\n */\n isOpen?: boolean;\n }\n\n const props = withDefaults(defineProps<AppSidebarProps>(), {\n isOpen: false,\n });\n\n const slots = useSlots();\n\n const emit = defineEmits<{\n /**\n * @deprecated Use the `update:is-open` event instead\n */\n (e: 'dismiss'): void;\n (e: 'update:is-open', isOpen: boolean): void;\n }>();\n\n const isExtraLargeScreen = useMediaQuery('screen and (min-width: 1321px)');\n const isBackdropVisible = computed(() => props.isOpen && !isExtraLargeScreen.value);\n const initialPageScrollingElementStyle = ref({ height: '', overflow: '' });\n const isSidebarOpen = computed(() => props.isOpen || isExtraLargeScreen.value);\n\n function onBackdropClick() {\n emit('dismiss');\n emit('update:is-open', false);\n }\n\n function getPageScrollingElement() {\n return (document.scrollingElement || document.body) as HTMLElement;\n }\n\n watchEffect(() => {\n if (isExtraLargeScreen.value) {\n return;\n }\n\n if (isBackdropVisible.value) {\n Object.assign(initialPageScrollingElementStyle.value, {\n overflow: getPageScrollingElement().style.overflow,\n height: getPageScrollingElement().style.height,\n });\n }\n\n Object.assign(getPageScrollingElement().style, {\n overflow: isBackdropVisible.value ? 'hidden' : initialPageScrollingElementStyle.value.overflow, // Prevents page from scrolling when AppSidebar is open\n height: isBackdropVisible.value ? '100%' : initialPageScrollingElementStyle.value.height, // Ensures the backdrop covers the entire page when AppSidebar is open\n });\n });\n</script>\n\n<template>\n <div\n id=\"stash-app-sidebar\"\n class=\"stash-app-sidebar relative\"\n :class=\"{\n 'stash-app-sidebar--is-open': isSidebarOpen,\n 'z-modal': isBackdropVisible,\n 'z-[301]': !isBackdropVisible,\n }\"\n data-test=\"stash-app-sidebar\"\n >\n <Transition name=\"backdrop\">\n <Backdrop v-show=\"isBackdropVisible\" class=\"stash-app-sidebar__backdrop\" @click.stop=\"onBackdropClick\" />\n </Transition>\n <Transition name=\"aside\">\n <aside\n v-show=\"isSidebarOpen\"\n class=\"stash-app-sidebar__aside fixed flex h-screen flex-col bg-purple-500\"\n :class=\"{ 'shadow-3xl': isBackdropVisible }\"\n data-test=\"stash-app-sidebar__aside\"\n >\n <Divider class=\"stash-app-sidebar__divider\" />\n <div v-if=\"slots['app-context']\" class=\"px-3 pt-6\">\n <!-- @slot App Context component slot, ideally for rendering the context switcher -->\n <slot name=\"app-context\"></slot>\n </div>\n <div v-if=\"slots['company-context']\" class=\"px-3 pt-6\">\n <!-- @slot Company Context component slot, ideally for rendering the company picker -->\n <slot name=\"company-context\"></slot>\n </div>\n <nav v-if=\"slots['navigation']\" class=\"pt-6\">\n <ul role=\"menubar\" aria-orientation=\"vertical\">\n <!-- @slot Navigation component slot, for rendering navigation items -->\n <slot name=\"navigation\"></slot>\n </ul>\n </nav>\n <div class=\"flex-1\"></div>\n <!-- @slot Footer component slot, for rendering version/environment notes -->\n <slot name=\"footer\"></slot>\n </aside>\n </Transition>\n </div>\n</template>\n\n<style scoped>\n @layer utilities {\n .stash-app-sidebar__aside {\n padding-top: calc(var(--height-topbar) - 1px); /* -1px to compensate for the border height */\n width: var(--width-sidebar);\n }\n\n .stash-app-sidebar__divider::before,\n .stash-app-sidebar__divider::after {\n border-bottom: 1px solid rgb(255 255 255 / 12%);\n }\n\n .backdrop-enter-active,\n .backdrop-leave-active {\n transition: opacity 200ms ease-in-out;\n }\n\n .backdrop-enter-from,\n .backdrop-leave-to {\n opacity: 0;\n }\n\n .aside-enter-active,\n .aside-leave-active {\n transition:\n opacity 200ms ease-in-out,\n transform 200ms ease-in-out;\n }\n\n .aside-enter-from,\n .aside-leave-to {\n opacity: 0;\n transform: translateX(-20%);\n }\n }\n</style>\n"],"names":["props","__props","slots","useSlots","emit","__emit","isExtraLargeScreen","useMediaQuery","isBackdropVisible","computed","initialPageScrollingElementStyle","ref","isSidebarOpen","onBackdropClick","getPageScrollingElement","watchEffect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAcE,UAAMA,IAAQC,GAIRC,IAAQC,EAAA,GAERC,IAAOC,GAQPC,IAAqBC,EAAc,gCAAgC,GACnEC,IAAoBC,EAAS,MAAMT,EAAM,UAAU,CAACM,EAAmB,KAAK,GAC5EI,IAAmCC,EAAI,EAAE,QAAQ,IAAI,UAAU,IAAI,GACnEC,IAAgBH,EAAS,MAAMT,EAAM,UAAUM,EAAmB,KAAK;AAE7E,aAASO,IAAkB;AACzB,MAAAT,EAAK,SAAS,GACdA,EAAK,kBAAkB,EAAK;AAAA,IAC9B;AAEA,aAASU,IAA0B;AACjC,aAAQ,SAAS,oBAAoB,SAAS;AAAA,IAChD;AAEA,WAAAC,EAAY,MAAM;AAChB,MAAIT,EAAmB,UAInBE,EAAkB,SACpB,OAAO,OAAOE,EAAiC,OAAO;AAAA,QACpD,UAAUI,IAA0B,MAAM;AAAA,QAC1C,QAAQA,EAAA,EAA0B,MAAM;AAAA,MAAA,CACzC,GAGH,OAAO,OAAOA,EAAA,EAA0B,OAAO;AAAA,QAC7C,UAAUN,EAAkB,QAAQ,WAAWE,EAAiC,MAAM;AAAA;AAAA,QACtF,QAAQF,EAAkB,QAAQ,SAASE,EAAiC,MAAM;AAAA;AAAA,MAAA,CACnF;AAAA,IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/AppTopbar.js
CHANGED
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { _ as l } from "./Logo.vue_vue_type_script_setup_true_lang-
|
|
5
|
-
const
|
|
1
|
+
import { defineComponent as m, createElementBlock as f, openBlock as h, createElementVNode as e, normalizeClass as i, createVNode as a, unref as b, renderSlot as o } from "vue";
|
|
2
|
+
import u from "./useMediaQuery.js";
|
|
3
|
+
import x from "./Icon.js";
|
|
4
|
+
import { _ as l } from "./Logo.vue_vue_type_script_setup_true_lang-DghNC_k6.js";
|
|
5
|
+
const _ = {
|
|
6
6
|
"data-test": "stash-app-topbar",
|
|
7
|
-
class: "stash-app-topbar
|
|
8
|
-
},
|
|
7
|
+
class: "stash-app-topbar absolute left-0 top-0"
|
|
8
|
+
}, w = ["href"], v = { class: "flex items-center" }, g = { class: "ml-6" }, k = { class: "hidden pl-3 xl:block" }, C = /* @__PURE__ */ m({
|
|
9
9
|
__name: "AppTopbar",
|
|
10
10
|
props: {
|
|
11
11
|
sidebarOpened: { type: Boolean, default: !1 },
|
|
12
12
|
href: { default: "/" }
|
|
13
13
|
},
|
|
14
14
|
emits: ["toggle-sidebar"],
|
|
15
|
-
setup(n, { emit:
|
|
16
|
-
const
|
|
17
|
-
return (s, r) => (
|
|
18
|
-
|
|
19
|
-
class: i(["
|
|
20
|
-
"
|
|
21
|
-
"
|
|
15
|
+
setup(n, { emit: d }) {
|
|
16
|
+
const t = n, p = d, c = u("screen and (min-width: 1321px)");
|
|
17
|
+
return (s, r) => (h(), f("header", _, [
|
|
18
|
+
e("div", {
|
|
19
|
+
class: i(["fixed top-0 flex h-topbar w-sidebar items-center pl-3 xl:text-white", {
|
|
20
|
+
"z-dialog text-white": t.sidebarOpened,
|
|
21
|
+
"z-[401] text-ice-700": !t.sidebarOpened
|
|
22
22
|
}])
|
|
23
23
|
}, [
|
|
24
|
-
|
|
25
|
-
class: "xl:
|
|
26
|
-
onClick: r[0] || (r[0] = ($) =>
|
|
24
|
+
e("button", {
|
|
25
|
+
class: "xl:hidden",
|
|
26
|
+
onClick: r[0] || (r[0] = ($) => p("toggle-sidebar"))
|
|
27
27
|
}, [
|
|
28
|
-
a(
|
|
28
|
+
a(x, {
|
|
29
29
|
name: "menu",
|
|
30
|
-
class: "
|
|
30
|
+
class: "mr-3",
|
|
31
31
|
"aria-label": "open sidebar navigation"
|
|
32
32
|
})
|
|
33
33
|
]),
|
|
34
|
-
|
|
35
|
-
href:
|
|
36
|
-
class: "
|
|
34
|
+
e("a", {
|
|
35
|
+
href: t.href,
|
|
36
|
+
class: "flex items-center text-inherit"
|
|
37
37
|
}, [
|
|
38
38
|
a(l, {
|
|
39
|
-
color:
|
|
39
|
+
color: t.sidebarOpened ? "white" : "purple",
|
|
40
40
|
variant: "brandmark",
|
|
41
|
-
class: "
|
|
41
|
+
class: "transition-colors duration-500 md:hidden"
|
|
42
42
|
}, null, 8, ["color"]),
|
|
43
43
|
a(l, {
|
|
44
|
-
color:
|
|
45
|
-
class: "
|
|
44
|
+
color: t.sidebarOpened || b(c) ? "white" : "purple",
|
|
45
|
+
class: "hidden md:block"
|
|
46
46
|
}, null, 8, ["color"])
|
|
47
|
-
], 8,
|
|
47
|
+
], 8, w)
|
|
48
48
|
], 2),
|
|
49
|
-
|
|
50
|
-
class: i([[s.$attrs.class], "
|
|
49
|
+
e("div", {
|
|
50
|
+
class: i([[s.$attrs.class], "fixed top-0 z-page flex h-topbar w-full flex-row-reverse items-center justify-between bg-white py-3 pl-sidebar pr-3 shadow-md"])
|
|
51
51
|
}, [
|
|
52
|
-
|
|
52
|
+
e("div", v, [
|
|
53
53
|
o(s.$slots, "actions"),
|
|
54
|
-
|
|
54
|
+
e("div", g, [
|
|
55
55
|
o(s.$slots, "avatar")
|
|
56
56
|
])
|
|
57
57
|
]),
|
|
58
|
-
|
|
58
|
+
e("div", k, [
|
|
59
59
|
o(s.$slots, "text")
|
|
60
60
|
])
|
|
61
61
|
], 2)
|
package/dist/AppTopbar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppTopbar.js","sources":["../src/components/AppTopbar/AppTopbar.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import useMediaQuery from '../../composables/useMediaQuery/useMediaQuery';\n import Icon from '../Icon/Icon.vue';\n import Logo from '../Logo/Logo.vue';\n\n export interface AppTopbarProps {\n /**\n * Indicates if the AppSidebar is opened or not for styling purposes\n */\n sidebarOpened?: boolean;\n /**\n * Url for the logo anchor wrapper\n */\n href?: string;\n }\n\n const props = withDefaults(defineProps<AppTopbarProps>(), {\n sidebarOpened: false,\n href: '/',\n });\n\n const emit = defineEmits(['toggle-sidebar']);\n const isExtraLargeScreen = useMediaQuery('screen and (min-width: 1321px)');\n</script>\n\n<template>\n <header data-test=\"stash-app-topbar\" class=\"stash-app-topbar
|
|
1
|
+
{"version":3,"file":"AppTopbar.js","sources":["../src/components/AppTopbar/AppTopbar.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import useMediaQuery from '../../composables/useMediaQuery/useMediaQuery';\n import Icon from '../Icon/Icon.vue';\n import Logo from '../Logo/Logo.vue';\n\n export interface AppTopbarProps {\n /**\n * Indicates if the AppSidebar is opened or not for styling purposes\n */\n sidebarOpened?: boolean;\n /**\n * Url for the logo anchor wrapper\n */\n href?: string;\n }\n\n const props = withDefaults(defineProps<AppTopbarProps>(), {\n sidebarOpened: false,\n href: '/',\n });\n\n const emit = defineEmits(['toggle-sidebar']);\n const isExtraLargeScreen = useMediaQuery('screen and (min-width: 1321px)');\n</script>\n\n<template>\n <header data-test=\"stash-app-topbar\" class=\"stash-app-topbar absolute left-0 top-0\">\n <div\n class=\"fixed top-0 flex h-topbar w-sidebar items-center pl-3 xl:text-white\"\n :class=\"{\n 'z-dialog text-white': props.sidebarOpened,\n 'z-[401] text-ice-700': !props.sidebarOpened,\n }\"\n >\n <button class=\"xl:hidden\" @click=\"emit('toggle-sidebar')\">\n <Icon name=\"menu\" class=\"mr-3\" aria-label=\"open sidebar navigation\" />\n </button>\n\n <a :href=\"props.href\" class=\"flex items-center text-inherit\">\n <Logo\n :color=\"props.sidebarOpened ? 'white' : 'purple'\"\n variant=\"brandmark\"\n class=\"transition-colors duration-500 md:hidden\"\n />\n <Logo :color=\"props.sidebarOpened || isExtraLargeScreen ? 'white' : 'purple'\" class=\"hidden md:block\" />\n </a>\n </div>\n\n <div\n :class=\"[$attrs.class]\"\n class=\"fixed top-0 z-page flex h-topbar w-full flex-row-reverse items-center justify-between bg-white py-3 pl-sidebar pr-3 shadow-md\"\n >\n <div class=\"flex items-center\">\n <!-- @slot Actions slot, for showing any actions to the left of the avatar -->\n <slot name=\"actions\"></slot>\n <div class=\"ml-6\">\n <!-- @slot Avatar slot, for showing the avatar on the far right of the header -->\n <slot name=\"avatar\"></slot>\n </div>\n </div>\n <div class=\"hidden pl-3 xl:block\">\n <!-- @slot Text slot, for showing informative texts on the left of large viewports -->\n <slot name=\"text\"></slot>\n </div>\n </div>\n </header>\n</template>\n"],"names":["props","__props","emit","__emit","isExtraLargeScreen","useMediaQuery"],"mappings":";;;;;;;;;;;;;;;AAgBE,UAAMA,IAAQC,GAKRC,IAAOC,GACPC,IAAqBC,EAAc,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/Avatar.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as v, useAttrs as _, useCssModule as f, computed as c, createElementBlock as i, openBlock as d, mergeProps as u, unref as a, toDisplayString as h } from "vue";
|
|
2
2
|
import b from "./utils/colorScheme.js";
|
|
3
|
-
import { _ as
|
|
4
|
-
const
|
|
3
|
+
import { _ as x } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
4
|
+
const k = ["alt", "src", "tabindex"], g = ["tabindex"], C = /* @__PURE__ */ v({
|
|
5
5
|
name: "ll-avatar",
|
|
6
6
|
__name: "Avatar",
|
|
7
7
|
props: {
|
|
@@ -14,41 +14,41 @@ const g = ["alt", "src", "tabindex"], x = ["tabindex"], C = /* @__PURE__ */ p({
|
|
|
14
14
|
textColor: { default: void 0 }
|
|
15
15
|
},
|
|
16
16
|
setup(m) {
|
|
17
|
-
const t = m, s =
|
|
17
|
+
const t = m, s = _(), e = f(), n = c(
|
|
18
18
|
() => b({
|
|
19
19
|
shade: t.shade,
|
|
20
20
|
color: t.colorScheme
|
|
21
21
|
})
|
|
22
|
-
),
|
|
22
|
+
), p = c(() => {
|
|
23
23
|
const [l, r] = String(t.name).toUpperCase().split(" ");
|
|
24
24
|
return r ? l.charAt(0) + r.charAt(0) : l.charAt(0);
|
|
25
25
|
}), o = c(() => !!s.onClick);
|
|
26
26
|
return (l, r) => t.src ? (d(), i("img", u({
|
|
27
27
|
key: 0,
|
|
28
|
-
class: ["stash-avatar stash-avatar--image
|
|
28
|
+
class: ["stash-avatar stash-avatar--image inline-block rounded-full", [a(e).root, { [a(e).clickable]: o.value }]],
|
|
29
29
|
alt: t.alt,
|
|
30
30
|
src: t.src,
|
|
31
31
|
tabindex: o.value ? 0 : -1,
|
|
32
32
|
"data-test": "stash-avatar"
|
|
33
|
-
}, a(s)), null, 16,
|
|
33
|
+
}, a(s)), null, 16, k)) : (d(), i("div", u({
|
|
34
34
|
key: 1,
|
|
35
|
-
class: ["stash-avatar stash-avatar--initials
|
|
35
|
+
class: ["stash-avatar stash-avatar--initials inline-block cursor-default rounded-full text-center font-semibold", [
|
|
36
36
|
a(e).root,
|
|
37
|
-
`
|
|
38
|
-
`
|
|
37
|
+
`text-${t.textColor || n.value.computedTextColor}`,
|
|
38
|
+
`bg-${t.bgColor || n.value.computedBgColor}`,
|
|
39
39
|
{ [a(e).clickable]: o.value }
|
|
40
40
|
]],
|
|
41
41
|
tabindex: o.value ? 0 : -1,
|
|
42
42
|
"data-test": "stash-avatar"
|
|
43
|
-
}, a(s)), h(
|
|
43
|
+
}, a(s)), h(p.value), 17, g));
|
|
44
44
|
}
|
|
45
|
-
}),
|
|
46
|
-
root:
|
|
47
|
-
clickable:
|
|
48
|
-
},
|
|
49
|
-
$style:
|
|
50
|
-
},
|
|
45
|
+
}), A = "_root_7gax4_5", y = "_clickable_7gax4_12", S = {
|
|
46
|
+
root: A,
|
|
47
|
+
clickable: y
|
|
48
|
+
}, B = {
|
|
49
|
+
$style: S
|
|
50
|
+
}, E = /* @__PURE__ */ x(C, [["__cssModules", B]]);
|
|
51
51
|
export {
|
|
52
|
-
|
|
52
|
+
E as default
|
|
53
53
|
};
|
|
54
54
|
//# sourceMappingURL=Avatar.js.map
|
package/dist/Avatar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","sources":["../src/components/Avatar/Avatar.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, useAttrs, useCssModule } from 'vue';\n\n import { StashCommonColor, StashPrimaryColorGroup } from '../../../types/colors';\n import colorSchemeUtil from '../../utils/colorScheme';\n\n defineOptions({\n name: 'll-avatar',\n });\n\n export interface AvatarProps {\n /**\n * The name of the user will be parsed and have its initial displayed in case the src prop is empty\n */\n name?: string;\n\n /**\n * The color for the chip that determines both the text and bg color. Needs to\n * be one of the brand colors in our design system (not a shade).\n */\n colorScheme?: StashPrimaryColorGroup;\n\n /**\n * The shade of the provided color to use for the background color. This effects the inferred\n * text color unless a specific text color is provided. Currently only `light` and `main`\n * shades are supported. `dark` may be added in the future.\n */\n shade?: 'light' | 'main';\n\n /**\n * The image that will be displayed within the avatar\n */\n src?: string;\n\n /**\n * The alternative text to be displayed in case the image is unavailable\n */\n alt?: string;\n\n /**\n * The background color of the chip. Needs to be one of our design system colors.\n */\n bgColor?: StashCommonColor;\n\n /**\n * The color of the chip text. Needs to be one of our design system colors.\n */\n textColor?: StashCommonColor;\n }\n\n const props = withDefaults(defineProps<AvatarProps>(), {\n src: undefined,\n name: '',\n alt: undefined,\n colorScheme: 'ice',\n shade: 'light',\n bgColor: undefined,\n textColor: undefined,\n });\n\n const attrs = useAttrs();\n const classes = useCssModule();\n\n const computedColors = computed(() =>\n colorSchemeUtil({\n shade: props.shade,\n color: props.colorScheme,\n }),\n );\n\n const initials = computed(() => {\n const [firstName, lastName] = String(props.name).toUpperCase().split(' ');\n const initials = lastName ? firstName.charAt(0) + lastName.charAt(0) : firstName.charAt(0);\n\n return initials;\n });\n\n const isClickable = computed(() => {\n return !!attrs.onClick;\n });\n</script>\n\n<template>\n <img\n v-if=\"props.src\"\n class=\"stash-avatar stash-avatar--image
|
|
1
|
+
{"version":3,"file":"Avatar.js","sources":["../src/components/Avatar/Avatar.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, useAttrs, useCssModule } from 'vue';\n\n import { StashCommonColor, StashPrimaryColorGroup } from '../../../types/colors';\n import colorSchemeUtil from '../../utils/colorScheme';\n\n defineOptions({\n name: 'll-avatar',\n });\n\n export interface AvatarProps {\n /**\n * The name of the user will be parsed and have its initial displayed in case the src prop is empty\n */\n name?: string;\n\n /**\n * The color for the chip that determines both the text and bg color. Needs to\n * be one of the brand colors in our design system (not a shade).\n */\n colorScheme?: StashPrimaryColorGroup;\n\n /**\n * The shade of the provided color to use for the background color. This effects the inferred\n * text color unless a specific text color is provided. Currently only `light` and `main`\n * shades are supported. `dark` may be added in the future.\n */\n shade?: 'light' | 'main';\n\n /**\n * The image that will be displayed within the avatar\n */\n src?: string;\n\n /**\n * The alternative text to be displayed in case the image is unavailable\n */\n alt?: string;\n\n /**\n * The background color of the chip. Needs to be one of our design system colors.\n */\n bgColor?: StashCommonColor;\n\n /**\n * The color of the chip text. Needs to be one of our design system colors.\n */\n textColor?: StashCommonColor;\n }\n\n const props = withDefaults(defineProps<AvatarProps>(), {\n src: undefined,\n name: '',\n alt: undefined,\n colorScheme: 'ice',\n shade: 'light',\n bgColor: undefined,\n textColor: undefined,\n });\n\n const attrs = useAttrs();\n const classes = useCssModule();\n\n const computedColors = computed(() =>\n colorSchemeUtil({\n shade: props.shade,\n color: props.colorScheme,\n }),\n );\n\n const initials = computed(() => {\n const [firstName, lastName] = String(props.name).toUpperCase().split(' ');\n const initials = lastName ? firstName.charAt(0) + lastName.charAt(0) : firstName.charAt(0);\n\n return initials;\n });\n\n const isClickable = computed(() => {\n return !!attrs.onClick;\n });\n</script>\n\n<template>\n <img\n v-if=\"props.src\"\n class=\"stash-avatar stash-avatar--image inline-block rounded-full\"\n :class=\"[classes.root, { [classes.clickable]: isClickable }]\"\n :alt=\"props.alt\"\n :src=\"props.src\"\n :tabindex=\"isClickable ? 0 : -1\"\n data-test=\"stash-avatar\"\n v-bind=\"attrs\"\n />\n <div\n v-else\n class=\"stash-avatar stash-avatar--initials inline-block cursor-default rounded-full text-center font-semibold\"\n :class=\"[\n classes.root,\n `text-${props.textColor || computedColors.computedTextColor}`,\n `bg-${props.bgColor || computedColors.computedBgColor}`,\n { [classes.clickable]: isClickable },\n ]\"\n :tabindex=\"isClickable ? 0 : -1\"\n data-test=\"stash-avatar\"\n v-bind=\"attrs\"\n >\n {{ initials }}\n </div>\n</template>\n\n<style module>\n @reference \"../../../styles/main.css\";\n\n @layer utilities {\n .root {\n font-size: var(--text-sm);\n height: --spacing(9);\n line-height: calc(--spacing(9) + 2px);\n width: --spacing(9);\n }\n\n .clickable:hover,\n .clickable:focus,\n .clickable:active {\n outline: 1px solid var(--color-blue-500);\n outline-offset: -1px;\n }\n\n .clickable:focus,\n .clickable:active {\n box-shadow: 0 0 0 4px rgb(0 114 240 / 15%);\n }\n }\n</style>\n"],"names":["props","__props","attrs","useAttrs","classes","useCssModule","computedColors","computed","colorSchemeUtil","initials","firstName","lastName","isClickable"],"mappings":";;;;;;;;;;;;;;;;AAkDE,UAAMA,IAAQC,GAURC,IAAQC,EAAA,GACRC,IAAUC,EAAA,GAEVC,IAAiBC;AAAA,MAAS,MAC9BC,EAAgB;AAAA,QACd,OAAOR,EAAM;AAAA,QACb,OAAOA,EAAM;AAAA,MAAA,CACd;AAAA,IAAA,GAGGS,IAAWF,EAAS,MAAM;AAC9B,YAAM,CAACG,GAAWC,CAAQ,IAAI,OAAOX,EAAM,IAAI,EAAE,YAAA,EAAc,MAAM,GAAG;AAGxE,aAFiBW,IAAWD,EAAU,OAAO,CAAC,IAAIC,EAAS,OAAO,CAAC,IAAID,EAAU,OAAO,CAAC;AAAA,IAG3F,CAAC,GAEKE,IAAcL,EAAS,MACpB,CAAC,CAACL,EAAM,OAChB;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/Backdrop.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { createElementBlock as
|
|
1
|
+
import { createElementBlock as t, openBlock as r, renderSlot as o } from "vue";
|
|
2
2
|
import { _ as s } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
3
3
|
const a = {}, c = {
|
|
4
4
|
"aria-hidden": "true",
|
|
5
|
-
class: "stash-backdrop
|
|
5
|
+
class: "stash-backdrop fixed inset-0 z-behind bg-black/50",
|
|
6
6
|
"data-test": "stash-backdrop"
|
|
7
7
|
};
|
|
8
|
-
function d(
|
|
9
|
-
return r(),
|
|
10
|
-
o(
|
|
8
|
+
function d(e, n) {
|
|
9
|
+
return r(), t("div", c, [
|
|
10
|
+
o(e.$slots, "default")
|
|
11
11
|
]);
|
|
12
12
|
}
|
|
13
13
|
const f = /* @__PURE__ */ s(a, [["render", d]]);
|
package/dist/Backdrop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Backdrop.js","sources":["../src/components/Backdrop/Backdrop.vue"],"sourcesContent":["<template>\n <div
|
|
1
|
+
{"version":3,"file":"Backdrop.js","sources":["../src/components/Backdrop/Backdrop.vue"],"sourcesContent":["<template>\n <div aria-hidden=\"true\" class=\"stash-backdrop fixed inset-0 z-behind bg-black/50\" data-test=\"stash-backdrop\">\n <slot></slot>\n </div>\n</template>\n"],"names":["_hoisted_1","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock"],"mappings":";;cACOA,IAAY;AAAA,EAAO,eAAM;AAAA,EAAoD,OAAA;AAAA;;AAAlF,SAAAC,EAAAC,GAAAC,GAAA;SACEC,EAAa,GAAAC,EAAA,OAAAL,GAAA;AAAA;;;;"}
|
package/dist/Badge.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { defineComponent as u, useCssModule as g, computed as
|
|
2
|
-
import { _ as
|
|
3
|
-
const
|
|
4
|
-
class: "stash-badge
|
|
1
|
+
import { defineComponent as u, useCssModule as g, computed as d, ref as m, watch as v, createElementBlock as b, openBlock as h, renderSlot as _, withDirectives as x, createElementVNode as r, normalizeStyle as w, normalizeClass as c, unref as i, toDisplayString as y, vShow as B } from "vue";
|
|
2
|
+
import { _ as D } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
3
|
+
const S = {
|
|
4
|
+
class: "stash-badge relative inline-block",
|
|
5
5
|
"data-test": "stash-badge"
|
|
6
|
-
},
|
|
6
|
+
}, C = /* @__PURE__ */ u({
|
|
7
7
|
name: "ll-badge",
|
|
8
8
|
__name: "Badge",
|
|
9
9
|
props: {
|
|
@@ -21,60 +21,60 @@ const D = {
|
|
|
21
21
|
variant: { default: "standard" }
|
|
22
22
|
},
|
|
23
23
|
setup(p) {
|
|
24
|
-
const
|
|
25
|
-
const e = parseInt(t.content, 10),
|
|
26
|
-
return e != t.content ||
|
|
27
|
-
}),
|
|
28
|
-
top: t.offset.top !== void 0 ?
|
|
29
|
-
right: t.offset.right !== void 0 ?
|
|
30
|
-
})), n =
|
|
31
|
-
return
|
|
24
|
+
const a = g(), t = p, s = d(() => {
|
|
25
|
+
const e = parseInt(t.content, 10), o = parseInt(t.max, 10);
|
|
26
|
+
return e != t.content || o != t.max ? t.content : e > o ? `${o}+` : e;
|
|
27
|
+
}), l = (e) => e === 0 ? "0" : `${e}px`, f = d(() => ({
|
|
28
|
+
top: t.offset.top !== void 0 ? l(t.offset.top) : void 0,
|
|
29
|
+
right: t.offset.right !== void 0 ? l(t.offset.right) : void 0
|
|
30
|
+
})), n = m(!1);
|
|
31
|
+
return v(
|
|
32
32
|
() => t.content,
|
|
33
|
-
(e,
|
|
34
|
-
t.animate &&
|
|
33
|
+
(e, o) => {
|
|
34
|
+
t.animate && o !== e && (n.value = !0, setTimeout(() => {
|
|
35
35
|
n.value = !1;
|
|
36
36
|
}, 1e3));
|
|
37
37
|
}
|
|
38
|
-
), (e,
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
), (e, o) => (h(), b("span", S, [
|
|
39
|
+
_(e.$slots, "default"),
|
|
40
|
+
x(r("span", {
|
|
41
41
|
"data-test": "stash-badge|content-wrapper",
|
|
42
42
|
class: c([
|
|
43
43
|
{
|
|
44
|
-
[i(
|
|
45
|
-
|
|
46
|
-
"
|
|
44
|
+
[i(a)["top-right"]]: t.position === "top-right" && t.variant !== "dot",
|
|
45
|
+
absolute: t.variant === "dot" || t.position === "top-right",
|
|
46
|
+
"ml-1.5": t.position === "inline"
|
|
47
47
|
}
|
|
48
48
|
]),
|
|
49
|
-
style:
|
|
49
|
+
style: w(t.variant === "dot" || t.position === "top-right" ? f.value : "")
|
|
50
50
|
}, [
|
|
51
51
|
r("span", {
|
|
52
52
|
"data-test": "stash-badge|content",
|
|
53
|
-
class: c(["
|
|
53
|
+
class: c(["inline-block whitespace-nowrap rounded-full text-center text-[10px] font-semibold leading-4 text-white", [
|
|
54
54
|
{
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
"
|
|
60
|
-
[i(
|
|
61
|
-
[i(
|
|
62
|
-
"
|
|
55
|
+
"animate-grow": n.value,
|
|
56
|
+
"bg-red-500": t.color === "red" && !t.isDisabled,
|
|
57
|
+
"bg-blue-500": t.color === "blue" && !t.isDisabled,
|
|
58
|
+
absolute: t.variant === "dot",
|
|
59
|
+
"bg-ice-200 text-white": t.isDisabled,
|
|
60
|
+
[i(a)["badge-dot"]]: t.variant === "dot",
|
|
61
|
+
[i(a)["badge-standard"]]: t.variant === "standard",
|
|
62
|
+
"px-1.5": t.variant !== "dot"
|
|
63
63
|
}
|
|
64
64
|
]])
|
|
65
65
|
}, y(t.variant === "dot" ? null : s.value), 3)
|
|
66
66
|
], 6), [
|
|
67
|
-
[
|
|
67
|
+
[B, t.variant === "dot" || s.value || s.value === 0 && t.showZero]
|
|
68
68
|
])
|
|
69
69
|
]));
|
|
70
70
|
}
|
|
71
|
-
}),
|
|
72
|
-
"badge-standard": "_badge-
|
|
73
|
-
"badge-dot": "_badge-
|
|
74
|
-
"top-right": "_top-
|
|
71
|
+
}), k = {
|
|
72
|
+
"badge-standard": "_badge-standard_1gool_3",
|
|
73
|
+
"badge-dot": "_badge-dot_1gool_8",
|
|
74
|
+
"top-right": "_top-right_1gool_15"
|
|
75
75
|
}, M = {
|
|
76
|
-
$style:
|
|
77
|
-
}, E = /* @__PURE__ */
|
|
76
|
+
$style: k
|
|
77
|
+
}, E = /* @__PURE__ */ D(C, [["__cssModules", M]]);
|
|
78
78
|
export {
|
|
79
79
|
E as default
|
|
80
80
|
};
|