@bitrix24/b24ui-nuxt 0.4.10 → 0.4.11
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/.nuxt/b24ui/collapsible.ts +6 -0
- package/.nuxt/b24ui/index.ts +2 -0
- package/.nuxt/b24ui/navigation-menu.ts +299 -0
- package/cli/package.json +1 -1
- package/dist/meta.cjs +9514 -354
- package/dist/meta.d.cts +9514 -354
- package/dist/meta.d.mts +9514 -354
- package/dist/meta.d.ts +9514 -354
- package/dist/meta.mjs +9514 -354
- package/dist/module.cjs +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -1
- package/dist/runtime/components/Collapsible.vue +56 -0
- package/dist/runtime/components/DropdownMenu.vue +2 -0
- package/dist/runtime/components/Navbar.vue +1 -2
- package/dist/runtime/components/NavbarDivider.vue +1 -2
- package/dist/runtime/components/NavbarSection.vue +1 -2
- package/dist/runtime/components/NavbarSpacer.vue +1 -2
- package/dist/runtime/components/NavigationMenu.vue +340 -0
- package/dist/runtime/components/Sidebar.vue +1 -2
- package/dist/runtime/components/SidebarFooter.vue +1 -2
- package/dist/runtime/components/SidebarHeader.vue +1 -2
- package/dist/runtime/components/SidebarHeading.vue +1 -2
- package/dist/runtime/components/SidebarLayout.vue +34 -8
- package/dist/runtime/components/SidebarSection.vue +1 -2
- package/dist/runtime/components/SidebarSpacer.vue +1 -2
- package/dist/runtime/components/StackedLayout.vue +1 -3
- package/dist/runtime/composables/defineLocale.js +1 -0
- package/dist/runtime/composables/defineShortcuts.js +1 -0
- package/dist/runtime/composables/useComponentIcons.d.ts +2 -2
- package/dist/runtime/composables/useKbd.js +1 -1
- package/dist/runtime/composables/useLocale.js +2 -2
- package/dist/runtime/composables/useOverlay.js +1 -1
- package/dist/runtime/types/index.d.ts +2 -0
- package/dist/runtime/types/index.js +2 -0
- package/dist/runtime/utils/tv.js +1 -1
- package/dist/shared/{b24ui-nuxt._rviRWFf.mjs → b24ui-nuxt.CJqO7fYv.mjs} +265 -0
- package/dist/shared/{b24ui-nuxt.CY35QViH.cjs → b24ui-nuxt.CltBJi1M.cjs} +265 -0
- package/dist/unplugin.cjs +1 -1
- package/dist/unplugin.mjs +1 -1
- package/dist/vite.cjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +2 -2
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
// import type { VariantProps } from 'tailwind-variants'
|
|
3
2
|
import type { AppConfig } from '@nuxt/schema'
|
|
4
3
|
import _appConfig from '#build/app.config'
|
|
5
4
|
import theme from '#build/b24ui/sidebar-layout'
|
|
6
5
|
import { tv } from '../utils/tv'
|
|
6
|
+
import { useRoute } from 'vue-router'
|
|
7
7
|
|
|
8
8
|
const appConfigSidebarLayout = _appConfig as AppConfig & { b24ui: { sidebarLayout: Partial<typeof theme> } }
|
|
9
9
|
|
|
10
10
|
const sidebarLayout = tv({ extend: tv(theme), ...(appConfigSidebarLayout.b24ui?.sidebarLayout || {}) })
|
|
11
11
|
|
|
12
|
-
// type SidebarLayoutVariants = VariantProps<typeof sidebarLayout>
|
|
13
|
-
|
|
14
12
|
export interface SidebarLayoutProps {
|
|
15
13
|
/**
|
|
16
14
|
* The element or component this component should render as.
|
|
@@ -26,8 +24,10 @@ export interface SidebarLayoutProps {
|
|
|
26
24
|
export interface SidebarLayoutSlots {
|
|
27
25
|
/**
|
|
28
26
|
* Menu for all screen sizes.
|
|
27
|
+
* @param props
|
|
28
|
+
* @param props.handleClick - Handler for navigation click events
|
|
29
29
|
*/
|
|
30
|
-
sidebar(props
|
|
30
|
+
sidebar(props: { handleClick: () => void }): any
|
|
31
31
|
/**
|
|
32
32
|
* Menu for mobile screen sizes.
|
|
33
33
|
*/
|
|
@@ -40,7 +40,7 @@ export interface SidebarLayoutSlots {
|
|
|
40
40
|
</script>
|
|
41
41
|
|
|
42
42
|
<script setup lang="ts">
|
|
43
|
-
import { computed } from 'vue'
|
|
43
|
+
import { ref, computed, watch, onUnmounted } from 'vue'
|
|
44
44
|
import { Primitive } from 'reka-ui'
|
|
45
45
|
import B24Slideover from './Slideover.vue'
|
|
46
46
|
import B24Sidebar from './Sidebar.vue'
|
|
@@ -55,12 +55,34 @@ const props = withDefaults(defineProps<SidebarLayoutProps>(), {
|
|
|
55
55
|
})
|
|
56
56
|
const slots = defineSlots<SidebarLayoutSlots>()
|
|
57
57
|
|
|
58
|
+
const route = useRoute()
|
|
58
59
|
const isUseSideBar = computed(() => !!slots.sidebar)
|
|
60
|
+
const openSidebarSlideover = ref(false)
|
|
59
61
|
|
|
60
62
|
const b24ui = computed(() => sidebarLayout({
|
|
61
63
|
useSidebar: isUseSideBar.value,
|
|
62
64
|
useLightContent: Boolean(props.useLightContent)
|
|
63
65
|
}))
|
|
66
|
+
|
|
67
|
+
const closeModal = () => {
|
|
68
|
+
if (openSidebarSlideover.value) {
|
|
69
|
+
openSidebarSlideover.value = false
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
const stopWatcher = watch(
|
|
74
|
+
() => route.path,
|
|
75
|
+
() => closeModal(),
|
|
76
|
+
{ immediate: true }
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
onUnmounted(() => {
|
|
80
|
+
stopWatcher()
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
const handleNavigationClick = () => {
|
|
84
|
+
closeModal()
|
|
85
|
+
}
|
|
64
86
|
</script>
|
|
65
87
|
|
|
66
88
|
<template>
|
|
@@ -68,14 +90,18 @@ const b24ui = computed(() => sidebarLayout({
|
|
|
68
90
|
<template v-if="isUseSideBar">
|
|
69
91
|
<div :class="b24ui.sidebar({ class: props.b24ui?.sidebar })">
|
|
70
92
|
<B24Sidebar>
|
|
71
|
-
<slot name="sidebar" />
|
|
93
|
+
<slot name="sidebar" :handle-click="handleNavigationClick" />
|
|
72
94
|
</B24Sidebar>
|
|
73
95
|
</div>
|
|
74
96
|
</template>
|
|
75
97
|
|
|
76
98
|
<header :class="b24ui.header({ class: props.b24ui?.header })">
|
|
77
|
-
<div
|
|
99
|
+
<div
|
|
100
|
+
v-if="isUseSideBar"
|
|
101
|
+
:class="b24ui.headerPaddings({ class: props.b24ui?.headerPaddings })"
|
|
102
|
+
>
|
|
78
103
|
<B24Slideover
|
|
104
|
+
v-model:open="openSidebarSlideover"
|
|
79
105
|
title="Navigation"
|
|
80
106
|
description="Content navigation"
|
|
81
107
|
side="left"
|
|
@@ -104,7 +130,7 @@ const b24ui = computed(() => sidebarLayout({
|
|
|
104
130
|
</B24ModalDialogClose>
|
|
105
131
|
</div>
|
|
106
132
|
|
|
107
|
-
<slot name="sidebar" />
|
|
133
|
+
<slot name="sidebar" :handle-click="handleNavigationClick" />
|
|
108
134
|
</B24Sidebar>
|
|
109
135
|
</div>
|
|
110
136
|
</template>
|
|
@@ -24,7 +24,6 @@ export interface SidebarSectionSlots {
|
|
|
24
24
|
</script>
|
|
25
25
|
|
|
26
26
|
<script setup lang="ts">
|
|
27
|
-
import { computed } from 'vue'
|
|
28
27
|
import { Primitive } from 'reka-ui'
|
|
29
28
|
|
|
30
29
|
const props = withDefaults(defineProps<SidebarSectionProps>(), {
|
|
@@ -33,7 +32,7 @@ const props = withDefaults(defineProps<SidebarSectionProps>(), {
|
|
|
33
32
|
defineSlots<SidebarSectionSlots>()
|
|
34
33
|
|
|
35
34
|
// eslint-disable-next-line vue/no-dupe-keys
|
|
36
|
-
const b24ui =
|
|
35
|
+
const b24ui = sidebarSection()
|
|
37
36
|
</script>
|
|
38
37
|
|
|
39
38
|
<template>
|
|
@@ -24,7 +24,6 @@ export interface SidebarSpacerSlots {
|
|
|
24
24
|
</script>
|
|
25
25
|
|
|
26
26
|
<script setup lang="ts">
|
|
27
|
-
import { computed } from 'vue'
|
|
28
27
|
import { Primitive } from 'reka-ui'
|
|
29
28
|
|
|
30
29
|
const props = withDefaults(defineProps<SidebarSpacerProps>(), {
|
|
@@ -33,7 +32,7 @@ const props = withDefaults(defineProps<SidebarSpacerProps>(), {
|
|
|
33
32
|
defineSlots<SidebarSpacerSlots>()
|
|
34
33
|
|
|
35
34
|
// eslint-disable-next-line vue/no-dupe-keys
|
|
36
|
-
const b24ui =
|
|
35
|
+
const b24ui = sidebarSpacer()
|
|
37
36
|
</script>
|
|
38
37
|
|
|
39
38
|
<template>
|
|
@@ -27,7 +27,6 @@ export interface StackedLayoutSlots {
|
|
|
27
27
|
</script>
|
|
28
28
|
|
|
29
29
|
<script setup lang="ts">
|
|
30
|
-
import { computed } from 'vue'
|
|
31
30
|
import { Primitive } from 'reka-ui'
|
|
32
31
|
|
|
33
32
|
const props = withDefaults(defineProps<StackedLayoutProps>(), {
|
|
@@ -36,8 +35,7 @@ const props = withDefaults(defineProps<StackedLayoutProps>(), {
|
|
|
36
35
|
const slots = defineSlots<StackedLayoutSlots>()
|
|
37
36
|
|
|
38
37
|
// eslint-disable-next-line vue/no-dupe-keys
|
|
39
|
-
const b24ui =
|
|
40
|
-
}))
|
|
38
|
+
const b24ui = stackedLayout()
|
|
41
39
|
</script>
|
|
42
40
|
|
|
43
41
|
<template>
|
|
@@ -22,6 +22,6 @@ export interface UseComponentIconsProps {
|
|
|
22
22
|
export declare function useComponentIcons(componentProps: MaybeRefOrGetter<UseComponentIconsProps>): {
|
|
23
23
|
isLeading: import("vue").ComputedRef<any>;
|
|
24
24
|
isTrailing: import("vue").ComputedRef<boolean>;
|
|
25
|
-
leadingIconName: import("vue").ComputedRef<
|
|
26
|
-
trailingIconName: import("vue").ComputedRef<
|
|
25
|
+
leadingIconName: import("vue").ComputedRef<import("vue").FunctionalComponent<import("vue").HTMLAttributes & import("vue").VNodeProps, {}, any, {}> | undefined>;
|
|
26
|
+
trailingIconName: import("vue").ComputedRef<import("vue").FunctionalComponent<import("vue").HTMLAttributes & import("vue").VNodeProps, {}, any, {}> | undefined>;
|
|
27
27
|
};
|
|
@@ -2,9 +2,9 @@ import { computed, inject, toRef } from "vue";
|
|
|
2
2
|
import { createSharedComposable } from "@vueuse/core";
|
|
3
3
|
import { buildLocaleContext } from "../utils/locale.js";
|
|
4
4
|
import en from "../locale/en.js";
|
|
5
|
-
export const localeContextInjectionKey = Symbol("bitrix24-ui.locale-context");
|
|
5
|
+
export const localeContextInjectionKey = Symbol.for("bitrix24-ui.locale-context");
|
|
6
6
|
const _useLocale = (localeOverrides) => {
|
|
7
7
|
const locale = localeOverrides || toRef(inject(localeContextInjectionKey));
|
|
8
8
|
return buildLocaleContext(computed(() => locale.value || en));
|
|
9
9
|
};
|
|
10
|
-
export const useLocale = createSharedComposable(_useLocale);
|
|
10
|
+
export const useLocale = /* @__PURE__ */ createSharedComposable(_useLocale);
|
|
@@ -9,6 +9,7 @@ export * from '../components/ButtonGroup.vue';
|
|
|
9
9
|
export * from '../components/Calendar.vue';
|
|
10
10
|
export * from '../components/Checkbox.vue';
|
|
11
11
|
export * from '../components/Chip.vue';
|
|
12
|
+
export * from '../components/Collapsible.vue';
|
|
12
13
|
export * from '../components/Container.vue';
|
|
13
14
|
export * from '../components/Countdown.vue';
|
|
14
15
|
export * from '../components/DescriptionList.vue';
|
|
@@ -22,6 +23,7 @@ export * from '../components/Kbd.vue';
|
|
|
22
23
|
export * from '../components/Link.vue';
|
|
23
24
|
export * from '../components/Modal.vue';
|
|
24
25
|
export * from '../components/ModalDialogClose.vue';
|
|
26
|
+
export * from '../components/NavigationMenu.vue';
|
|
25
27
|
export * from '../components/Popover.vue';
|
|
26
28
|
export * from '../components/Progress.vue';
|
|
27
29
|
export * from '../components/RadioGroup.vue';
|
|
@@ -9,6 +9,7 @@ export * from "../components/ButtonGroup.vue";
|
|
|
9
9
|
export * from "../components/Calendar.vue";
|
|
10
10
|
export * from "../components/Checkbox.vue";
|
|
11
11
|
export * from "../components/Chip.vue";
|
|
12
|
+
export * from "../components/Collapsible.vue";
|
|
12
13
|
export * from "../components/Container.vue";
|
|
13
14
|
export * from "../components/Countdown.vue";
|
|
14
15
|
export * from "../components/DescriptionList.vue";
|
|
@@ -22,6 +23,7 @@ export * from "../components/Kbd.vue";
|
|
|
22
23
|
export * from "../components/Link.vue";
|
|
23
24
|
export * from "../components/Modal.vue";
|
|
24
25
|
export * from "../components/ModalDialogClose.vue";
|
|
26
|
+
export * from "../components/NavigationMenu.vue";
|
|
25
27
|
export * from "../components/Popover.vue";
|
|
26
28
|
export * from "../components/Progress.vue";
|
|
27
29
|
export * from "../components/RadioGroup.vue";
|
package/dist/runtime/utils/tv.js
CHANGED
|
@@ -1635,6 +1635,16 @@ const chip = {
|
|
|
1635
1635
|
}
|
|
1636
1636
|
};
|
|
1637
1637
|
|
|
1638
|
+
const collapsible = {
|
|
1639
|
+
slots: {
|
|
1640
|
+
root: "",
|
|
1641
|
+
content: [
|
|
1642
|
+
"motion-safe:data-[state=open]:animate-[collapsible-down_200ms_ease-out] motion-safe:data-[state=closed]:animate-[collapsible-up_200ms_ease-out]",
|
|
1643
|
+
"overflow-hidden"
|
|
1644
|
+
].join(" ")
|
|
1645
|
+
}
|
|
1646
|
+
};
|
|
1647
|
+
|
|
1638
1648
|
const container = {
|
|
1639
1649
|
base: "max-w-[80rem] mx-auto px-5"
|
|
1640
1650
|
// max-w-7xl w-full
|
|
@@ -3503,6 +3513,259 @@ const modal = {
|
|
|
3503
3513
|
}
|
|
3504
3514
|
};
|
|
3505
3515
|
|
|
3516
|
+
const navigationMenu = {
|
|
3517
|
+
slots: {
|
|
3518
|
+
root: "relative flex gap-1.5 [&>div]:min-w-0",
|
|
3519
|
+
list: "isolate min-w-0",
|
|
3520
|
+
label: "w-full flex items-center gap-1.5 font-semibold text-xs/5 text-(--ui-text-highlighted) px-2.5 py-1.5",
|
|
3521
|
+
item: "min-w-0",
|
|
3522
|
+
link: "group relative w-full flex items-center gap-1.5 font-medium text-sm before:absolute before:z-[-1] before:rounded-[calc(var(--ui-radius)*1.5)] focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
|
|
3523
|
+
linkLeadingIcon: "shrink-0 size-5",
|
|
3524
|
+
linkLeadingAvatar: "shrink-0",
|
|
3525
|
+
linkLeadingAvatarSize: "2xs",
|
|
3526
|
+
linkTrailing: "ms-auto inline-flex gap-1.5 items-center",
|
|
3527
|
+
linkTrailingBadge: "shrink-0",
|
|
3528
|
+
linkTrailingBadgeSize: "sm",
|
|
3529
|
+
linkTrailingIcon: "size-5 transform shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
|
|
3530
|
+
linkLabel: "truncate",
|
|
3531
|
+
linkLabelExternalIcon: "inline-block size-3 align-top text-(--ui-text-dimmed)",
|
|
3532
|
+
childList: "",
|
|
3533
|
+
childItem: "",
|
|
3534
|
+
childLink: "group size-full px-3 py-2 rounded-[calc(var(--ui-radius)*1.5)] flex items-start gap-2 text-start",
|
|
3535
|
+
childLinkWrapper: "flex flex-col items-start",
|
|
3536
|
+
childLinkIcon: "size-5 shrink-0",
|
|
3537
|
+
childLinkLabel: "font-semibold text-sm relative inline-flex",
|
|
3538
|
+
childLinkLabelExternalIcon: "inline-block size-3 align-top text-(--ui-text-dimmed)",
|
|
3539
|
+
childLinkDescription: "text-sm text-(--ui-text-muted)",
|
|
3540
|
+
separator: "px-2 h-px bg-(--ui-border)",
|
|
3541
|
+
viewportWrapper: "absolute top-full left-0 flex w-full",
|
|
3542
|
+
viewport: "relative overflow-hidden bg-(--ui-bg) shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-(--ui-border) h-(--reka-navigation-menu-viewport-height) w-full transition-[width,height,left] duration-200 origin-[top_center] data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]",
|
|
3543
|
+
content: "absolute top-0 left-0 w-full",
|
|
3544
|
+
indicator: "absolute data-[state=visible]:animate-[fade-in_100ms_ease-out] data-[state=hidden]:animate-[fade-out_100ms_ease-in] data-[state=hidden]:opacity-0 bottom-0 z-[1] w-(--reka-navigation-menu-indicator-size) translate-x-(--reka-navigation-menu-indicator-position) flex h-2.5 items-end justify-center overflow-hidden transition-[translate,width] duration-200",
|
|
3545
|
+
arrow: "relative top-[50%] size-2.5 rotate-45 border border-(--ui-border) bg-(--ui-bg) z-[1] rounded-[calc(var(--ui-radius)/2)]"
|
|
3546
|
+
},
|
|
3547
|
+
variants: {
|
|
3548
|
+
color: {
|
|
3549
|
+
default: {
|
|
3550
|
+
link: "focus-visible:before:ring-(--ui-border-inverted)",
|
|
3551
|
+
childLink: "focus-visible:outline-(--ui-border-inverted)"
|
|
3552
|
+
}
|
|
3553
|
+
},
|
|
3554
|
+
highlightColor: {
|
|
3555
|
+
default: ""
|
|
3556
|
+
},
|
|
3557
|
+
variant: {
|
|
3558
|
+
pill: "",
|
|
3559
|
+
link: ""
|
|
3560
|
+
},
|
|
3561
|
+
orientation: {
|
|
3562
|
+
horizontal: {
|
|
3563
|
+
root: "items-center justify-between",
|
|
3564
|
+
list: "flex items-center",
|
|
3565
|
+
item: "py-2",
|
|
3566
|
+
link: "px-2.5 py-1.5 before:inset-x-px before:inset-y-0",
|
|
3567
|
+
childList: "grid p-2"
|
|
3568
|
+
},
|
|
3569
|
+
vertical: {
|
|
3570
|
+
root: "flex-col",
|
|
3571
|
+
link: "flex-row px-2.5 py-1.5 before:inset-y-px before:inset-x-0"
|
|
3572
|
+
}
|
|
3573
|
+
},
|
|
3574
|
+
contentOrientation: {
|
|
3575
|
+
horizontal: {
|
|
3576
|
+
viewport: "",
|
|
3577
|
+
viewportWrapper: "justify-center",
|
|
3578
|
+
content: "data-[motion=from-start]:animate-[enter-from-left_200ms_ease] data-[motion=from-end]:animate-[enter-from-right_200ms_ease] data-[motion=to-start]:animate-[exit-to-left_200ms_ease] data-[motion=to-end]:animate-[exit-to-right_200ms_ease]"
|
|
3579
|
+
},
|
|
3580
|
+
vertical: {
|
|
3581
|
+
viewport: "sm:w-(--reka-navigation-menu-viewport-width) left-(--reka-navigation-menu-viewport-left)",
|
|
3582
|
+
content: ""
|
|
3583
|
+
}
|
|
3584
|
+
},
|
|
3585
|
+
active: {
|
|
3586
|
+
true: {
|
|
3587
|
+
childLink: "bg-(--ui-bg-elevated) text-(--ui-text-highlighted)",
|
|
3588
|
+
childLinkIcon: "text-(--ui-text)"
|
|
3589
|
+
},
|
|
3590
|
+
false: {
|
|
3591
|
+
link: "text-(--ui-text-muted)",
|
|
3592
|
+
linkLeadingIcon: "text-(--ui-text-dimmed)",
|
|
3593
|
+
childLink: ["hover:bg-(--ui-bg-elevated)/50 text-(--ui-text) hover:text-(--ui-text-highlighted)", "transition-colors"],
|
|
3594
|
+
childLinkIcon: ["text-(--ui-text-dimmed) group-hover:text-(--ui-text)", "transition-colors"]
|
|
3595
|
+
}
|
|
3596
|
+
},
|
|
3597
|
+
disabled: {
|
|
3598
|
+
true: {
|
|
3599
|
+
link: "cursor-not-allowed opacity-75"
|
|
3600
|
+
}
|
|
3601
|
+
},
|
|
3602
|
+
highlight: {
|
|
3603
|
+
true: ""
|
|
3604
|
+
},
|
|
3605
|
+
level: {
|
|
3606
|
+
true: ""
|
|
3607
|
+
},
|
|
3608
|
+
collapsed: {
|
|
3609
|
+
true: ""
|
|
3610
|
+
}
|
|
3611
|
+
},
|
|
3612
|
+
compoundVariants: [
|
|
3613
|
+
{
|
|
3614
|
+
orientation: "horizontal",
|
|
3615
|
+
contentOrientation: "horizontal",
|
|
3616
|
+
class: {
|
|
3617
|
+
childList: "grid-cols-2 gap-2"
|
|
3618
|
+
}
|
|
3619
|
+
},
|
|
3620
|
+
{
|
|
3621
|
+
orientation: "horizontal",
|
|
3622
|
+
contentOrientation: "vertical",
|
|
3623
|
+
class: {
|
|
3624
|
+
childList: "gap-1",
|
|
3625
|
+
content: "w-60"
|
|
3626
|
+
}
|
|
3627
|
+
},
|
|
3628
|
+
{
|
|
3629
|
+
orientation: "horizontal",
|
|
3630
|
+
highlight: true,
|
|
3631
|
+
class: {
|
|
3632
|
+
link: ["after:absolute after:-bottom-2 after:inset-x-2.5 after:block after:h-px after:rounded-full", "after:transition-colors"]
|
|
3633
|
+
}
|
|
3634
|
+
},
|
|
3635
|
+
{
|
|
3636
|
+
orientation: "vertical",
|
|
3637
|
+
highlight: true,
|
|
3638
|
+
level: true,
|
|
3639
|
+
class: {
|
|
3640
|
+
link: ["after:absolute after:-start-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full", "after:transition-colors"]
|
|
3641
|
+
}
|
|
3642
|
+
},
|
|
3643
|
+
{
|
|
3644
|
+
disabled: false,
|
|
3645
|
+
active: false,
|
|
3646
|
+
variant: "pill",
|
|
3647
|
+
class: {
|
|
3648
|
+
link: ["hover:text-(--ui-text-highlighted) hover:before:bg-(--ui-bg-elevated)/50", "transition-colors before:transition-colors"],
|
|
3649
|
+
linkLeadingIcon: ["group-hover:text-(--ui-text)", "transition-colors"]
|
|
3650
|
+
}
|
|
3651
|
+
},
|
|
3652
|
+
{
|
|
3653
|
+
disabled: false,
|
|
3654
|
+
active: false,
|
|
3655
|
+
variant: "pill",
|
|
3656
|
+
orientation: "horizontal",
|
|
3657
|
+
class: {
|
|
3658
|
+
link: "data-[state=open]:text-(--ui-text-highlighted)",
|
|
3659
|
+
linkLeadingIcon: "group-data-[state=open]:text-(--ui-text)"
|
|
3660
|
+
}
|
|
3661
|
+
},
|
|
3662
|
+
{
|
|
3663
|
+
disabled: false,
|
|
3664
|
+
variant: "pill",
|
|
3665
|
+
highlight: true,
|
|
3666
|
+
orientation: "horizontal",
|
|
3667
|
+
class: {
|
|
3668
|
+
link: "data-[state=open]:before:bg-(--ui-bg-elevated)/50"
|
|
3669
|
+
}
|
|
3670
|
+
},
|
|
3671
|
+
{
|
|
3672
|
+
disabled: false,
|
|
3673
|
+
variant: "pill",
|
|
3674
|
+
highlight: false,
|
|
3675
|
+
active: false,
|
|
3676
|
+
orientation: "horizontal",
|
|
3677
|
+
class: {
|
|
3678
|
+
link: "data-[state=open]:before:bg-(--ui-bg-elevated)/50"
|
|
3679
|
+
}
|
|
3680
|
+
},
|
|
3681
|
+
{
|
|
3682
|
+
color: "default",
|
|
3683
|
+
variant: "pill",
|
|
3684
|
+
active: true,
|
|
3685
|
+
class: {
|
|
3686
|
+
link: "text-(--ui-text-highlighted)",
|
|
3687
|
+
linkLeadingIcon: "text-(--ui-text-highlighted) group-data-[state=open]:text-(--ui-text-highlighted)"
|
|
3688
|
+
}
|
|
3689
|
+
},
|
|
3690
|
+
{
|
|
3691
|
+
variant: "pill",
|
|
3692
|
+
active: true,
|
|
3693
|
+
highlight: false,
|
|
3694
|
+
class: {
|
|
3695
|
+
link: "before:bg-(--ui-bg-elevated)"
|
|
3696
|
+
}
|
|
3697
|
+
},
|
|
3698
|
+
{
|
|
3699
|
+
variant: "pill",
|
|
3700
|
+
active: true,
|
|
3701
|
+
highlight: true,
|
|
3702
|
+
class: {
|
|
3703
|
+
link: ["hover:before:bg-(--ui-bg-elevated)/50", "before:transition-colors"]
|
|
3704
|
+
}
|
|
3705
|
+
},
|
|
3706
|
+
{
|
|
3707
|
+
disabled: false,
|
|
3708
|
+
active: false,
|
|
3709
|
+
variant: "link",
|
|
3710
|
+
class: {
|
|
3711
|
+
link: ["hover:text-(--ui-text-highlighted)", "transition-colors"],
|
|
3712
|
+
linkLeadingIcon: ["group-hover:text-(--ui-text)", "transition-colors"]
|
|
3713
|
+
}
|
|
3714
|
+
},
|
|
3715
|
+
{
|
|
3716
|
+
disabled: false,
|
|
3717
|
+
active: false,
|
|
3718
|
+
variant: "link",
|
|
3719
|
+
orientation: "horizontal",
|
|
3720
|
+
class: {
|
|
3721
|
+
link: "data-[state=open]:text-(--ui-text-highlighted)",
|
|
3722
|
+
linkLeadingIcon: "group-data-[state=open]:text-(--ui-text)"
|
|
3723
|
+
}
|
|
3724
|
+
},
|
|
3725
|
+
{
|
|
3726
|
+
color: "default",
|
|
3727
|
+
variant: "link",
|
|
3728
|
+
active: true,
|
|
3729
|
+
class: {
|
|
3730
|
+
link: "text-(--ui-text-highlighted)",
|
|
3731
|
+
linkLeadingIcon: "text-(--ui-text-highlighted) group-data-[state=open]:text-(--ui-text-highlighted)"
|
|
3732
|
+
}
|
|
3733
|
+
},
|
|
3734
|
+
{
|
|
3735
|
+
highlightColor: "default",
|
|
3736
|
+
highlight: true,
|
|
3737
|
+
level: true,
|
|
3738
|
+
active: true,
|
|
3739
|
+
class: {
|
|
3740
|
+
link: "after:bg-(--ui-bg-inverted)"
|
|
3741
|
+
}
|
|
3742
|
+
},
|
|
3743
|
+
{
|
|
3744
|
+
orientation: "vertical",
|
|
3745
|
+
collapsed: false,
|
|
3746
|
+
class: {
|
|
3747
|
+
childList: "ms-5 border-s border-(--ui-border)",
|
|
3748
|
+
childItem: "ps-1.5 -ms-px"
|
|
3749
|
+
}
|
|
3750
|
+
},
|
|
3751
|
+
{
|
|
3752
|
+
orientation: "vertical",
|
|
3753
|
+
collapsed: true,
|
|
3754
|
+
class: {
|
|
3755
|
+
link: "px-1.5"
|
|
3756
|
+
}
|
|
3757
|
+
}
|
|
3758
|
+
],
|
|
3759
|
+
defaultVariants: {
|
|
3760
|
+
/**
|
|
3761
|
+
* @todo change to primary
|
|
3762
|
+
*/
|
|
3763
|
+
color: "default",
|
|
3764
|
+
highlightColor: "default",
|
|
3765
|
+
variant: "pill"
|
|
3766
|
+
}
|
|
3767
|
+
};
|
|
3768
|
+
|
|
3506
3769
|
const popover = {
|
|
3507
3770
|
slots: {
|
|
3508
3771
|
content: [
|
|
@@ -5624,6 +5887,7 @@ const theme = {
|
|
|
5624
5887
|
calendar: calendar,
|
|
5625
5888
|
checkbox: checkbox,
|
|
5626
5889
|
chip: chip,
|
|
5890
|
+
collapsible: collapsible,
|
|
5627
5891
|
container: container,
|
|
5628
5892
|
countdown: countdown,
|
|
5629
5893
|
descriptionList: descriptionList,
|
|
@@ -5640,6 +5904,7 @@ const theme = {
|
|
|
5640
5904
|
navbarDivider: navbarDivider,
|
|
5641
5905
|
navbarSection: navbarSection,
|
|
5642
5906
|
navbarSpacer: navbarSpacer,
|
|
5907
|
+
navigationMenu: navigationMenu,
|
|
5643
5908
|
popover: popover,
|
|
5644
5909
|
progress: progress,
|
|
5645
5910
|
radioGroup: radioGroup,
|