tera-system-ui 0.0.12 → 0.0.13
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/dist/components/brand-logo/BrandLogo.svelte +31 -31
- package/dist/components/button/Button.svelte +49 -49
- package/dist/components/combobox/Combobox.svelte +8 -8
- package/dist/components/command/command.scss +72 -72
- package/dist/components/command/components/Command.svelte +120 -120
- package/dist/components/command/components/CommandEmpty.svelte +30 -30
- package/dist/components/command/components/CommandGroup.svelte +110 -110
- package/dist/components/command/components/CommandInput.svelte +92 -92
- package/dist/components/command/components/CommandItem.svelte +110 -110
- package/dist/components/command/components/CommandList.svelte +56 -56
- package/dist/components/command/components/CommandLoading.svelte +28 -28
- package/dist/components/command/components/CommandSeparator.svelte +21 -21
- package/dist/components/dialog/Dialog.js +4 -4
- package/dist/components/dialog/Dialog.svelte +106 -106
- package/dist/components/dialog/dialog.scss +85 -81
- package/dist/components/header/Header.svelte +36 -36
- package/dist/components/header/header.scss +19 -19
- package/dist/components/icons/IconArrowBigRightFilled.svelte +10 -10
- package/dist/components/icons/IconBook.svelte +10 -10
- package/dist/components/icons/IconBookmarkPlus.svelte +10 -10
- package/dist/components/icons/IconCalculator.svelte +10 -10
- package/dist/components/icons/IconCheck.svelte +10 -10
- package/dist/components/icons/IconChevronDown.svelte +10 -10
- package/dist/components/icons/IconCopy.svelte +10 -10
- package/dist/components/icons/IconCopyCheckFilled.svelte +10 -10
- package/dist/components/icons/IconHamburger.svelte +10 -10
- package/dist/components/icons/IconLanguage.svelte +10 -10
- package/dist/components/icons/IconLoader2.svelte +10 -10
- package/dist/components/icons/IconMoon.svelte +10 -10
- package/dist/components/icons/IconPointFilled.svelte +10 -10
- package/dist/components/icons/IconSearch.svelte +10 -10
- package/dist/components/icons/IconSun.svelte +10 -10
- package/dist/components/icons/IconSwitchHorizontal.svelte +10 -10
- package/dist/components/icons/IconSwitchVertical.svelte +10 -10
- package/dist/components/icons/IconTransform.svelte +10 -10
- package/dist/components/icons/IconX.svelte +10 -10
- package/dist/components/input/Input.svelte +24 -24
- package/dist/components/language-picker-button/LanguagePickerButton.svelte +109 -109
- package/dist/components/light-dark-toggle/LightDarkToggle.svelte +36 -36
- package/dist/components/popover/Popover.svelte +136 -136
- package/dist/components/popover-responsive/PopoverResponsive.svelte +87 -87
- package/dist/components/side-navigation/SideNavigation.svelte +113 -113
- package/dist/components/side-navigation/SideNavigationItem.svelte +17 -17
- package/dist/components/side-navigation/SideNavigationLayout.svelte +19 -19
- package/dist/components/side-navigation/sidenav.scss +149 -149
- package/dist/components/tera-ui-context/TeraUiContext.svelte +28 -28
- package/dist/themes/scrollbar.scss +37 -37
- package/package.json +1 -1
- package/scripts/add-component-template.js +120 -120
- package/scripts/generate-ts-index.js +136 -136
- package/dist/paraglide/.prettierignore +0 -3
- package/dist/paraglide/messages/de.d.ts +0 -1
- package/dist/paraglide/messages/de.js +0 -18
- package/dist/paraglide/messages/en.d.ts +0 -1
- package/dist/paraglide/messages/en.js +0 -18
- package/dist/paraglide/messages/es.d.ts +0 -1
- package/dist/paraglide/messages/es.js +0 -18
- package/dist/paraglide/messages/fr.d.ts +0 -1
- package/dist/paraglide/messages/fr.js +0 -18
- package/dist/paraglide/messages/it.d.ts +0 -1
- package/dist/paraglide/messages/it.js +0 -18
- package/dist/paraglide/messages/pt.d.ts +0 -1
- package/dist/paraglide/messages/pt.js +0 -18
- package/dist/paraglide/messages/ru.d.ts +0 -1
- package/dist/paraglide/messages/ru.js +0 -18
- package/dist/paraglide/messages/vi.d.ts +0 -1
- package/dist/paraglide/messages/vi.js +0 -18
- package/dist/paraglide/messages.d.ts +0 -3
- package/dist/paraglide/messages.js +0 -38
- package/dist/paraglide/runtime.d.ts +0 -52
- package/dist/paraglide/runtime.js +0 -141
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import {type PopoverResponsiveProps} from "./PopoverResponsive";
|
|
3
|
-
import {Dialog, Popover} from "../..";
|
|
4
|
-
import {onMount} from "svelte";
|
|
5
|
-
import {getScreenWidth, SCREEN_BREAK_POINTS} from "../side-navigation/SideNavigation";
|
|
6
|
-
|
|
7
|
-
let {
|
|
8
|
-
children,
|
|
9
|
-
triggerRef,
|
|
10
|
-
class: className,
|
|
11
|
-
open = $bindable(),
|
|
12
|
-
offset = 3,
|
|
13
|
-
popoverPadding = 12,
|
|
14
|
-
focusTriggerAfterClose = true,
|
|
15
|
-
flip = false,
|
|
16
|
-
...props
|
|
17
|
-
}: PopoverResponsiveProps & {
|
|
18
|
-
dialogPadding?: string,
|
|
19
|
-
popoverPadding?: number,
|
|
20
|
-
offset?: number,
|
|
21
|
-
open?: boolean,
|
|
22
|
-
focusTriggerAfterClose?: boolean,
|
|
23
|
-
flip?: boolean,
|
|
24
|
-
triggerRef?: HTMLElement,
|
|
25
|
-
} = $props();
|
|
26
|
-
|
|
27
|
-
let openPopover = $state(false)
|
|
28
|
-
let openDialog = $state(false)
|
|
29
|
-
|
|
30
|
-
$effect(() => {
|
|
31
|
-
open = openPopover || openDialog
|
|
32
|
-
})
|
|
33
|
-
|
|
34
|
-
$effect(() => {
|
|
35
|
-
toggleOpen(open)
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
function toggleOpen(open?: boolean) {
|
|
39
|
-
if (getScreenWidth() >= SCREEN_BREAK_POINTS.sm) {
|
|
40
|
-
if (open === undefined) {
|
|
41
|
-
openPopover = !(openDialog || openPopover)
|
|
42
|
-
} else {
|
|
43
|
-
openPopover = open
|
|
44
|
-
}
|
|
45
|
-
openDialog = false
|
|
46
|
-
} else {
|
|
47
|
-
if (open === undefined) {
|
|
48
|
-
openDialog = !(openDialog || openPopover)
|
|
49
|
-
} else {
|
|
50
|
-
openDialog = open
|
|
51
|
-
}
|
|
52
|
-
openPopover = false
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
console.log('toggleOpen Responsive Popover', open)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
onMount(() => {
|
|
59
|
-
triggerRef?.addEventListener('click', (e) => {
|
|
60
|
-
e.stopPropagation()
|
|
61
|
-
toggleOpen()
|
|
62
|
-
})
|
|
63
|
-
})
|
|
64
|
-
</script>
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
<Popover bind:open={openPopover}
|
|
68
|
-
triggerRef={triggerRef}
|
|
69
|
-
autoTrigger={false}
|
|
70
|
-
padding={popoverPadding}
|
|
71
|
-
focusTriggerAfterClose={focusTriggerAfterClose}
|
|
72
|
-
offset={offset}
|
|
73
|
-
flip={flip}
|
|
74
|
-
class={className}
|
|
75
|
-
{...props}
|
|
76
|
-
>
|
|
77
|
-
{@render children?.()}
|
|
78
|
-
</Popover>
|
|
79
|
-
|
|
80
|
-
<Dialog bind:open={openDialog}
|
|
81
|
-
position="top"
|
|
82
|
-
padding="none"
|
|
83
|
-
class={className}
|
|
84
|
-
triggerRef={triggerRef}
|
|
85
|
-
focusTriggerAfterClose={focusTriggerAfterClose}
|
|
86
|
-
>
|
|
87
|
-
{@render children?.()}
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import {type PopoverResponsiveProps} from "./PopoverResponsive";
|
|
3
|
+
import {Dialog, Popover} from "../..";
|
|
4
|
+
import {onMount} from "svelte";
|
|
5
|
+
import {getScreenWidth, SCREEN_BREAK_POINTS} from "../side-navigation/SideNavigation";
|
|
6
|
+
|
|
7
|
+
let {
|
|
8
|
+
children,
|
|
9
|
+
triggerRef,
|
|
10
|
+
class: className,
|
|
11
|
+
open = $bindable(),
|
|
12
|
+
offset = 3,
|
|
13
|
+
popoverPadding = 12,
|
|
14
|
+
focusTriggerAfterClose = true,
|
|
15
|
+
flip = false,
|
|
16
|
+
...props
|
|
17
|
+
}: PopoverResponsiveProps & {
|
|
18
|
+
dialogPadding?: string,
|
|
19
|
+
popoverPadding?: number,
|
|
20
|
+
offset?: number,
|
|
21
|
+
open?: boolean,
|
|
22
|
+
focusTriggerAfterClose?: boolean,
|
|
23
|
+
flip?: boolean,
|
|
24
|
+
triggerRef?: HTMLElement,
|
|
25
|
+
} = $props();
|
|
26
|
+
|
|
27
|
+
let openPopover = $state(false)
|
|
28
|
+
let openDialog = $state(false)
|
|
29
|
+
|
|
30
|
+
$effect(() => {
|
|
31
|
+
open = openPopover || openDialog
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
$effect(() => {
|
|
35
|
+
toggleOpen(open)
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
function toggleOpen(open?: boolean) {
|
|
39
|
+
if (getScreenWidth() >= SCREEN_BREAK_POINTS.sm) {
|
|
40
|
+
if (open === undefined) {
|
|
41
|
+
openPopover = !(openDialog || openPopover)
|
|
42
|
+
} else {
|
|
43
|
+
openPopover = open
|
|
44
|
+
}
|
|
45
|
+
openDialog = false
|
|
46
|
+
} else {
|
|
47
|
+
if (open === undefined) {
|
|
48
|
+
openDialog = !(openDialog || openPopover)
|
|
49
|
+
} else {
|
|
50
|
+
openDialog = open
|
|
51
|
+
}
|
|
52
|
+
openPopover = false
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
console.log('toggleOpen Responsive Popover', open)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
onMount(() => {
|
|
59
|
+
triggerRef?.addEventListener('click', (e) => {
|
|
60
|
+
e.stopPropagation()
|
|
61
|
+
toggleOpen()
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
</script>
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
<Popover bind:open={openPopover}
|
|
68
|
+
triggerRef={triggerRef}
|
|
69
|
+
autoTrigger={false}
|
|
70
|
+
padding={popoverPadding}
|
|
71
|
+
focusTriggerAfterClose={focusTriggerAfterClose}
|
|
72
|
+
offset={offset}
|
|
73
|
+
flip={flip}
|
|
74
|
+
class={className}
|
|
75
|
+
{...props}
|
|
76
|
+
>
|
|
77
|
+
{@render children?.()}
|
|
78
|
+
</Popover>
|
|
79
|
+
|
|
80
|
+
<Dialog bind:open={openDialog}
|
|
81
|
+
position="top"
|
|
82
|
+
padding="none"
|
|
83
|
+
class={className}
|
|
84
|
+
triggerRef={triggerRef}
|
|
85
|
+
focusTriggerAfterClose={focusTriggerAfterClose}
|
|
86
|
+
>
|
|
87
|
+
{@render children?.()}
|
|
88
88
|
</Dialog>
|
|
@@ -1,113 +1,113 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
SCREEN_BREAK_POINTS,
|
|
4
|
-
mainLayout,
|
|
5
|
-
setSideNavState,
|
|
6
|
-
type SideNavigationProps,
|
|
7
|
-
toggleSideNavigation
|
|
8
|
-
} from "./SideNavigation";
|
|
9
|
-
import {clickOutside} from "../../actions/clickOutside"
|
|
10
|
-
import {Button} from "../button";
|
|
11
|
-
import {IconHamburger} from "../icons";
|
|
12
|
-
import {BrandLogo} from "../brand-logo";
|
|
13
|
-
import SideNavItem from "./SideNavigationItem.svelte";
|
|
14
|
-
import IconBook from "../icons/IconBook.svelte";
|
|
15
|
-
import IconTransform from "../icons/IconTransform.svelte";
|
|
16
|
-
import IconCalculator from "../icons/IconCalculator.svelte";
|
|
17
|
-
import {LightDarkToggle} from "../light-dark-toggle";
|
|
18
|
-
|
|
19
|
-
import {getGlobalContext} from "../tera-ui-context/global-context";
|
|
20
|
-
|
|
21
|
-
let {children, ...props}: SideNavigationProps = $props();
|
|
22
|
-
|
|
23
|
-
let temporaryExpand: any = undefined
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
function handleClickOutside() {
|
|
27
|
-
let screenWidth = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0)
|
|
28
|
-
if (screenWidth < SCREEN_BREAK_POINTS.md) {
|
|
29
|
-
setSideNavState(undefined)
|
|
30
|
-
} else if (screenWidth >= SCREEN_BREAK_POINTS.md && screenWidth < SCREEN_BREAK_POINTS.xl) {
|
|
31
|
-
setSideNavState(undefined)
|
|
32
|
-
} else if (screenWidth >= SCREEN_BREAK_POINTS.xl) {
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function handleHover(isHover: boolean) {
|
|
38
|
-
temporaryExpand = isHover ? true : undefined
|
|
39
|
-
|
|
40
|
-
if (temporaryExpand) {
|
|
41
|
-
mainLayout()?.setAttribute('data-side-nav-temporary-expand', temporaryExpand)
|
|
42
|
-
} else {
|
|
43
|
-
mainLayout()?.removeAttribute('data-side-nav-temporary-expand')
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
let globalContext = getGlobalContext()
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
function isSelected(href: string) {
|
|
52
|
-
const pathname = globalContext?.sideNavHref
|
|
53
|
-
return pathname?.startsWith(href)
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const NAV_ITEM = [
|
|
59
|
-
{
|
|
60
|
-
href: '/calculator',
|
|
61
|
-
icon: IconCalculator,
|
|
62
|
-
title: 'CalcES Scientific Calculator',
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
href: '/convert',
|
|
66
|
-
icon: IconTransform,
|
|
67
|
-
title: 'Unit Converter',
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
href: '/docs/calculator-usages/calces',
|
|
71
|
-
icon: IconBook,
|
|
72
|
-
title: 'CalcES Documentation',
|
|
73
|
-
},
|
|
74
|
-
]
|
|
75
|
-
</script>
|
|
76
|
-
|
|
77
|
-
<nav class="side-nav_main-side-bar grid grid-rows-[auto_1fr_auto]"
|
|
78
|
-
use:clickOutside
|
|
79
|
-
onclick_outside={handleClickOutside}
|
|
80
|
-
>
|
|
81
|
-
<div class="flex mt-2 gap-1 items-center">
|
|
82
|
-
<Button variant="ghost" ring={false}
|
|
83
|
-
onclick={toggleSideNavigation}
|
|
84
|
-
>
|
|
85
|
-
<IconHamburger/>
|
|
86
|
-
</Button>
|
|
87
|
-
<div class="sm-hidden">
|
|
88
|
-
<BrandLogo/>
|
|
89
|
-
</div>
|
|
90
|
-
</div>
|
|
91
|
-
<ul class="mt-12"
|
|
92
|
-
onmouseenter={() => {
|
|
93
|
-
handleHover(true)
|
|
94
|
-
}}
|
|
95
|
-
onmouseleave={() => {
|
|
96
|
-
handleHover(false)
|
|
97
|
-
}}
|
|
98
|
-
>
|
|
99
|
-
{#each NAV_ITEM as item}
|
|
100
|
-
<SideNavItem href={item.href} class={isSelected(item.href) ? 'selected' : ''}>
|
|
101
|
-
{#snippet icon()}
|
|
102
|
-
<item.icon/>
|
|
103
|
-
{/snippet}
|
|
104
|
-
{item.title}
|
|
105
|
-
</SideNavItem>
|
|
106
|
-
{/each}
|
|
107
|
-
</ul>
|
|
108
|
-
<div>
|
|
109
|
-
<div class="w-[3rem] mb-8 flex justify-center">
|
|
110
|
-
<LightDarkToggle/>
|
|
111
|
-
</div>
|
|
112
|
-
</div>
|
|
113
|
-
</nav>
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import {
|
|
3
|
+
SCREEN_BREAK_POINTS,
|
|
4
|
+
mainLayout,
|
|
5
|
+
setSideNavState,
|
|
6
|
+
type SideNavigationProps,
|
|
7
|
+
toggleSideNavigation
|
|
8
|
+
} from "./SideNavigation";
|
|
9
|
+
import {clickOutside} from "../../actions/clickOutside"
|
|
10
|
+
import {Button} from "../button";
|
|
11
|
+
import {IconHamburger} from "../icons";
|
|
12
|
+
import {BrandLogo} from "../brand-logo";
|
|
13
|
+
import SideNavItem from "./SideNavigationItem.svelte";
|
|
14
|
+
import IconBook from "../icons/IconBook.svelte";
|
|
15
|
+
import IconTransform from "../icons/IconTransform.svelte";
|
|
16
|
+
import IconCalculator from "../icons/IconCalculator.svelte";
|
|
17
|
+
import {LightDarkToggle} from "../light-dark-toggle";
|
|
18
|
+
|
|
19
|
+
import {getGlobalContext} from "../tera-ui-context/global-context";
|
|
20
|
+
|
|
21
|
+
let {children, ...props}: SideNavigationProps = $props();
|
|
22
|
+
|
|
23
|
+
let temporaryExpand: any = undefined
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
function handleClickOutside() {
|
|
27
|
+
let screenWidth = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0)
|
|
28
|
+
if (screenWidth < SCREEN_BREAK_POINTS.md) {
|
|
29
|
+
setSideNavState(undefined)
|
|
30
|
+
} else if (screenWidth >= SCREEN_BREAK_POINTS.md && screenWidth < SCREEN_BREAK_POINTS.xl) {
|
|
31
|
+
setSideNavState(undefined)
|
|
32
|
+
} else if (screenWidth >= SCREEN_BREAK_POINTS.xl) {
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function handleHover(isHover: boolean) {
|
|
38
|
+
temporaryExpand = isHover ? true : undefined
|
|
39
|
+
|
|
40
|
+
if (temporaryExpand) {
|
|
41
|
+
mainLayout()?.setAttribute('data-side-nav-temporary-expand', temporaryExpand)
|
|
42
|
+
} else {
|
|
43
|
+
mainLayout()?.removeAttribute('data-side-nav-temporary-expand')
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
let globalContext = getGlobalContext()
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
function isSelected(href: string) {
|
|
52
|
+
const pathname = globalContext?.sideNavHref
|
|
53
|
+
return pathname?.startsWith(href)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
const NAV_ITEM = [
|
|
59
|
+
{
|
|
60
|
+
href: '/calculator',
|
|
61
|
+
icon: IconCalculator,
|
|
62
|
+
title: 'CalcES Scientific Calculator',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
href: '/convert',
|
|
66
|
+
icon: IconTransform,
|
|
67
|
+
title: 'Unit Converter',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
href: '/docs/calculator-usages/calces',
|
|
71
|
+
icon: IconBook,
|
|
72
|
+
title: 'CalcES Documentation',
|
|
73
|
+
},
|
|
74
|
+
]
|
|
75
|
+
</script>
|
|
76
|
+
|
|
77
|
+
<nav class="side-nav_main-side-bar grid grid-rows-[auto_1fr_auto]"
|
|
78
|
+
use:clickOutside
|
|
79
|
+
onclick_outside={handleClickOutside}
|
|
80
|
+
>
|
|
81
|
+
<div class="flex mt-2 gap-1 items-center">
|
|
82
|
+
<Button variant="ghost" ring={false}
|
|
83
|
+
onclick={toggleSideNavigation}
|
|
84
|
+
>
|
|
85
|
+
<IconHamburger/>
|
|
86
|
+
</Button>
|
|
87
|
+
<div class="sm-hidden">
|
|
88
|
+
<BrandLogo/>
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
<ul class="mt-12"
|
|
92
|
+
onmouseenter={() => {
|
|
93
|
+
handleHover(true)
|
|
94
|
+
}}
|
|
95
|
+
onmouseleave={() => {
|
|
96
|
+
handleHover(false)
|
|
97
|
+
}}
|
|
98
|
+
>
|
|
99
|
+
{#each NAV_ITEM as item}
|
|
100
|
+
<SideNavItem href={item.href} class={isSelected(item.href) ? 'selected' : ''}>
|
|
101
|
+
{#snippet icon()}
|
|
102
|
+
<item.icon/>
|
|
103
|
+
{/snippet}
|
|
104
|
+
{item.title}
|
|
105
|
+
</SideNavItem>
|
|
106
|
+
{/each}
|
|
107
|
+
</ul>
|
|
108
|
+
<div>
|
|
109
|
+
<div class="w-[3rem] mb-8 flex justify-center">
|
|
110
|
+
<LightDarkToggle/>
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
</nav>
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
const {class: className, href, children, icon} = $props()
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<li class="{className + ' side-nav_item'}">
|
|
6
|
-
<a href="{href || '#'}" class="">
|
|
7
|
-
<div class="min-w-icon-sm z-10">
|
|
8
|
-
{@render icon?.()}
|
|
9
|
-
</div>
|
|
10
|
-
<div class="sm-hidden z-10">
|
|
11
|
-
{@render children?.()}
|
|
12
|
-
</div>
|
|
13
|
-
</a>
|
|
14
|
-
</li>
|
|
15
|
-
|
|
16
|
-
<style>
|
|
17
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
const {class: className, href, children, icon} = $props()
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<li class="{className + ' side-nav_item'}">
|
|
6
|
+
<a href="{href || '#'}" class="">
|
|
7
|
+
<div class="min-w-icon-sm z-10">
|
|
8
|
+
{@render icon?.()}
|
|
9
|
+
</div>
|
|
10
|
+
<div class="sm-hidden z-10">
|
|
11
|
+
{@render children?.()}
|
|
12
|
+
</div>
|
|
13
|
+
</a>
|
|
14
|
+
</li>
|
|
15
|
+
|
|
16
|
+
<style>
|
|
17
|
+
|
|
18
18
|
</style>
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import {SideNavigation} from "./";
|
|
3
|
-
import './sidenav.scss'
|
|
4
|
-
|
|
5
|
-
let {children} = $props()
|
|
6
|
-
</script>
|
|
7
|
-
|
|
8
|
-
<main
|
|
9
|
-
id="side-nav_main-layout"
|
|
10
|
-
class="side-nav_main-layout relative"
|
|
11
|
-
data-side-nav-state="compact"
|
|
12
|
-
>
|
|
13
|
-
<SideNavigation/>
|
|
14
|
-
|
|
15
|
-
<section class="side-nav_main-content">
|
|
16
|
-
{@render children?.()}
|
|
17
|
-
</section>
|
|
18
|
-
</main>
|
|
19
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import {SideNavigation} from "./";
|
|
3
|
+
import './sidenav.scss'
|
|
4
|
+
|
|
5
|
+
let {children} = $props()
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<main
|
|
9
|
+
id="side-nav_main-layout"
|
|
10
|
+
class="side-nav_main-layout relative"
|
|
11
|
+
data-side-nav-state="compact"
|
|
12
|
+
>
|
|
13
|
+
<SideNavigation/>
|
|
14
|
+
|
|
15
|
+
<section class="side-nav_main-content">
|
|
16
|
+
{@render children?.()}
|
|
17
|
+
</section>
|
|
18
|
+
</main>
|
|
19
|
+
|