@enki-tek/fms-web-components 0.0.90 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/Accordion/Accordion.svelte +3 -0
- package/components/Accordion/AccordionItem.svelte +3 -0
- package/components/Alert/Alert.svelte.d.ts +1 -1
- package/components/Badge/Badge.svelte +3 -0
- package/components/Breadcrumb/Breadcrumb.svelte +3 -0
- package/components/Button/Button.svelte +3 -0
- package/components/Button/Button.svelte.d.ts +8 -8
- package/components/Card/Card.svelte.d.ts +4 -4
- package/components/CardIcon/CardIcon.svelte +3 -0
- package/components/CardIcon/CardiconBody.svelte +3 -0
- package/components/CardIcon/CardiconSubtitle.svelte +3 -0
- package/components/CardIcon/CardiconTitle.svelte +3 -0
- package/components/CardIcon/CardiconTitle.svelte.d.ts +2 -2
- package/components/Charts/Barchart.svelte +74 -0
- package/components/Charts/Barchart.svelte.d.ts +23 -0
- package/components/Charts/DoughnutChart.svelte +73 -0
- package/components/Charts/DoughnutChart.svelte.d.ts +29 -0
- package/components/Charts/LineChart.svelte +62 -0
- package/components/Charts/LineChart.svelte.d.ts +23 -0
- package/components/Charts/PieChart.svelte +75 -0
- package/components/Charts/PieChart.svelte.d.ts +29 -0
- package/components/CheckBox/Checkbox.svelte +3 -0
- package/components/CheckBox/Checkbox.svelte.d.ts +8 -8
- package/components/Dropdown/Dropdown.svelte +3 -0
- package/components/Dropdown/DropdownItem.svelte +3 -0
- package/components/EnkiCard/CardBody.svelte.d.ts +2 -2
- package/components/EnkiSidbar/EnkiSidebar.svelte +3 -0
- package/components/EnkiSidbar/EnkiSidebar.svelte.d.ts +2 -2
- package/components/EnkiSidbar/NavIcon.svelte +3 -0
- package/components/EnkiSidbar/NavItem.svelte +3 -0
- package/components/EnkiSidbar/NavLink.svelte +3 -0
- package/components/EnkiTable/EnkiTable.svelte.d.ts +4 -4
- package/components/EnkiTable/TableCell.svelte.d.ts +2 -2
- package/components/Header/Brand.svelte +25 -16
- package/components/Header/Header.scss +40 -34
- package/components/Header/Header.svelte +26 -20
- package/components/Header/Header.svelte.d.ts +6 -2
- package/components/Header/HeaderDropDownLink.svelte +11 -0
- package/components/Header/HeaderDropDownLink.svelte.d.ts +29 -0
- package/components/Header/HeaderDropDownLinkItem.svelte +9 -0
- package/components/Header/HeaderDropDownLinkItem.svelte.d.ts +31 -0
- package/components/Header/HeaderItem.svelte +9 -0
- package/components/Header/HeaderItem.svelte.d.ts +2 -2
- package/components/Header/HeaderLink.svelte +9 -0
- package/components/Header/HeaderLink.svelte.d.ts +31 -0
- package/components/Header/HeaderLinks.svelte +9 -0
- package/components/Header/HeaderLinks.svelte.d.ts +27 -0
- package/components/Header/UserAvatar.svelte +12 -3
- package/components/Icon/ActionIcon.svelte.d.ts +2 -2
- package/components/Layout/Content.svelte +9 -0
- package/components/Layout/Content.svelte.d.ts +29 -0
- package/components/Layout/Footer.svelte +2 -0
- package/components/Layout/Layout.svelte +6 -0
- package/components/Layout/Layout.svelte.d.ts +27 -0
- package/components/Layout/Page.svelte +35 -9
- package/components/Layout/Page.svelte.d.ts +6 -2
- package/components/Layout/SortableGrid.svelte +28 -0
- package/components/Layout/SortableGrid.svelte.d.ts +27 -0
- package/components/ModalWindow/Modal.svelte +3 -0
- package/components/ModalWindow/Modal.svelte.d.ts +2 -2
- package/components/ModalWindow/ModalBody.svelte +3 -0
- package/components/ModalWindow/ModalFooter.svelte +3 -0
- package/components/ModalWindow/ModalHeader.svelte +3 -0
- package/components/NotFound/NotFound.svelte +3 -0
- package/components/Pagination/Pagination.svelte +3 -0
- package/components/RadioButton/RadioButton.svelte +3 -0
- package/components/Sidebar/MenuGroup.svelte +108 -0
- package/components/Sidebar/MenuGroup.svelte.d.ts +29 -0
- package/components/Sidebar/MenuItem.svelte +122 -0
- package/components/Sidebar/MenuItem.svelte.d.ts +35 -0
- package/components/Sidebar/SideBarMenu.svelte +148 -0
- package/components/Sidebar/SideBarMenu.svelte.d.ts +27 -0
- package/components/Sidebar/Sidebar.scss +29 -0
- package/components/Sidebar/Sidebar.svelte +29 -0
- package/components/StatusCard/StatusCard.scss +35 -0
- package/components/StatusCard/StatusCard.svelte +42 -0
- package/components/StatusCard/StatusCard.svelte.d.ts +27 -0
- package/components/StatusCard/StatusCardBody.svelte +57 -0
- package/components/StatusCard/StatusCardBody.svelte.d.ts +31 -0
- package/components/StatusCard/StatusCardTitle.svelte +47 -0
- package/components/StatusCard/StatusCardTitle.svelte.d.ts +29 -0
- package/components/Switches/Switch.svelte +3 -0
- package/components/Switches/Switch.svelte.d.ts +2 -2
- package/components/Tab/Tab.svelte +3 -0
- package/components/TextField/TextField.svelte +3 -0
- package/components/TextField/TextField.svelte.d.ts +8 -8
- package/components/Toast/Toast.svelte +3 -0
- package/components/Toast/Toast.svelte.d.ts +2 -2
- package/components/Tooltip/Tooltip.svelte +3 -0
- package/components/WidgetCard/Card.scss +108 -0
- package/components/WidgetCard/SensorStatusCard.svelte +130 -0
- package/components/WidgetCard/SensorStatusCard.svelte.d.ts +27 -0
- package/components/WidgetCard/StateCard.svelte +133 -0
- package/components/WidgetCard/StateCard.svelte.d.ts +29 -0
- package/components/WidgetCard/WidgetCard.svelte +152 -0
- package/components/WidgetCard/WidgetCard.svelte.d.ts +35 -0
- package/components/WidgetCard/WidgetCardBody.svelte +13 -0
- package/components/WidgetCard/WidgetCardBody.svelte.d.ts +27 -0
- package/components/common.scss +4 -0
- package/components/variable.scss +13 -3
- package/index.d.ts +65 -48
- package/index.js +65 -48
- package/package.json +30 -2
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} ContentProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} ContentEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} ContentSlots */
|
|
4
|
+
export default class Content extends SvelteComponentTyped<{
|
|
5
|
+
[x: string]: never;
|
|
6
|
+
}, {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
}, {
|
|
9
|
+
'sidebar-menu': {};
|
|
10
|
+
page: {};
|
|
11
|
+
}> {
|
|
12
|
+
}
|
|
13
|
+
export type ContentProps = typeof __propDef.props;
|
|
14
|
+
export type ContentEvents = typeof __propDef.events;
|
|
15
|
+
export type ContentSlots = typeof __propDef.slots;
|
|
16
|
+
import { SvelteComponentTyped } from "svelte";
|
|
17
|
+
declare const __propDef: {
|
|
18
|
+
props: {
|
|
19
|
+
[x: string]: never;
|
|
20
|
+
};
|
|
21
|
+
events: {
|
|
22
|
+
[evt: string]: CustomEvent<any>;
|
|
23
|
+
};
|
|
24
|
+
slots: {
|
|
25
|
+
'sidebar-menu': {};
|
|
26
|
+
page: {};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<script>
|
|
2
|
+
import { i18nInit } from '../i18n/i18n';
|
|
2
3
|
import ShiftLanguage from '../i18n/ShiftLanguage.svelte';
|
|
3
4
|
|
|
4
5
|
import { _ } from 'svelte-i18n';
|
|
6
|
+
i18nInit();
|
|
5
7
|
</script>
|
|
6
8
|
|
|
7
9
|
<footer class="main-footer p-10 d-flex flex-row align-items-center justify-content-between ">
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} LayoutProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} LayoutEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} LayoutSlots */
|
|
4
|
+
export default class Layout extends SvelteComponentTyped<{
|
|
5
|
+
[x: string]: never;
|
|
6
|
+
}, {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
}, {
|
|
9
|
+
default: {};
|
|
10
|
+
}> {
|
|
11
|
+
}
|
|
12
|
+
export type LayoutProps = typeof __propDef.props;
|
|
13
|
+
export type LayoutEvents = typeof __propDef.events;
|
|
14
|
+
export type LayoutSlots = typeof __propDef.slots;
|
|
15
|
+
import { SvelteComponentTyped } from "svelte";
|
|
16
|
+
declare const __propDef: {
|
|
17
|
+
props: {
|
|
18
|
+
[x: string]: never;
|
|
19
|
+
};
|
|
20
|
+
events: {
|
|
21
|
+
[evt: string]: CustomEvent<any>;
|
|
22
|
+
};
|
|
23
|
+
slots: {
|
|
24
|
+
default: {};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
import { Col, Row } from 'sveltestrap';
|
|
3
3
|
</script>
|
|
4
4
|
|
|
5
|
-
<
|
|
6
|
-
<div
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4">
|
|
6
|
+
<div
|
|
7
|
+
class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom"
|
|
8
|
+
>
|
|
9
|
+
<Row class="pt-3 pb-2 m-2" style="width:100%">
|
|
10
|
+
<Col md="4">
|
|
9
11
|
<header>
|
|
10
|
-
<div class="d-flex flex-row justify-content-start mt-2">
|
|
12
|
+
<div class="d-flex flex-row justify-content-start mt-2 title">
|
|
11
13
|
<slot name="title" />
|
|
12
14
|
</div>
|
|
13
15
|
</header>
|
|
@@ -16,13 +18,37 @@
|
|
|
16
18
|
<slot name="actions" />
|
|
17
19
|
</Col>
|
|
18
20
|
</Row>
|
|
21
|
+
<Row>
|
|
22
|
+
<slot name="widget" />
|
|
23
|
+
</Row>
|
|
24
|
+
</div>
|
|
25
|
+
<div>
|
|
26
|
+
<slot name="statuscard"/>
|
|
27
|
+
</div>
|
|
28
|
+
<div>
|
|
29
|
+
<slot />
|
|
19
30
|
</div>
|
|
20
|
-
|
|
21
|
-
</section>
|
|
31
|
+
</main>
|
|
22
32
|
|
|
23
33
|
<style>
|
|
24
|
-
.screen-size-fix{
|
|
34
|
+
.screen-size-fix {
|
|
25
35
|
height: calc(100vh - 128px);
|
|
26
36
|
overflow: auto;
|
|
27
37
|
}
|
|
28
|
-
|
|
38
|
+
.enki-content-body {
|
|
39
|
+
display: flex;
|
|
40
|
+
flex-wrap: wrap;
|
|
41
|
+
gap: 16px; /* Space between cards */
|
|
42
|
+
}
|
|
43
|
+
.blue-background-class {
|
|
44
|
+
background-color: #e0f7fa;
|
|
45
|
+
}
|
|
46
|
+
.title {
|
|
47
|
+
color: #000;
|
|
48
|
+
font-family: Roboto;
|
|
49
|
+
font-size: 20px;
|
|
50
|
+
font-style: normal;
|
|
51
|
+
font-weight: 400;
|
|
52
|
+
line-height: 20px;
|
|
53
|
+
}
|
|
54
|
+
</style>
|
|
@@ -8,7 +8,9 @@ export default class Page extends SvelteComponentTyped<{
|
|
|
8
8
|
}, {
|
|
9
9
|
title: {};
|
|
10
10
|
actions: {};
|
|
11
|
-
|
|
11
|
+
widget: {};
|
|
12
|
+
statuscard: {};
|
|
13
|
+
default: {};
|
|
12
14
|
}> {
|
|
13
15
|
}
|
|
14
16
|
export type PageProps = typeof __propDef.props;
|
|
@@ -25,7 +27,9 @@ declare const __propDef: {
|
|
|
25
27
|
slots: {
|
|
26
28
|
title: {};
|
|
27
29
|
actions: {};
|
|
28
|
-
|
|
30
|
+
widget: {};
|
|
31
|
+
statuscard: {};
|
|
32
|
+
default: {};
|
|
29
33
|
};
|
|
30
34
|
};
|
|
31
35
|
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import { onMount } from 'svelte';
|
|
3
|
+
import { Col, Row } from 'sveltestrap';
|
|
4
|
+
import Sortable from 'sortablejs';
|
|
5
|
+
export let id;
|
|
6
|
+
onMount(() => {
|
|
7
|
+
const el = document.getElementById(id);
|
|
8
|
+
console.log(el);
|
|
9
|
+
Sortable.create(el, {
|
|
10
|
+
animation: 150,
|
|
11
|
+
ghostClass: 'blue-background-class'
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<div class="enki-sortable-grid" {id}>
|
|
17
|
+
<slot />
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<style>
|
|
21
|
+
.enki-sortable-grid {
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-wrap: wrap;
|
|
24
|
+
}
|
|
25
|
+
.blue-background-class {
|
|
26
|
+
background-color: #e0f7fa;
|
|
27
|
+
}
|
|
28
|
+
</style>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} SortableGridProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} SortableGridEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} SortableGridSlots */
|
|
4
|
+
export default class SortableGrid extends SvelteComponentTyped<{
|
|
5
|
+
id: any;
|
|
6
|
+
}, {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
}, {
|
|
9
|
+
default: {};
|
|
10
|
+
}> {
|
|
11
|
+
}
|
|
12
|
+
export type SortableGridProps = typeof __propDef.props;
|
|
13
|
+
export type SortableGridEvents = typeof __propDef.events;
|
|
14
|
+
export type SortableGridSlots = typeof __propDef.slots;
|
|
15
|
+
import { SvelteComponentTyped } from "svelte";
|
|
16
|
+
declare const __propDef: {
|
|
17
|
+
props: {
|
|
18
|
+
id: any;
|
|
19
|
+
};
|
|
20
|
+
events: {
|
|
21
|
+
[evt: string]: CustomEvent<any>;
|
|
22
|
+
};
|
|
23
|
+
slots: {
|
|
24
|
+
default: {};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
/** @typedef {typeof __propDef.slots} ModalSlots */
|
|
4
4
|
export default class Modal extends SvelteComponentTyped<{
|
|
5
5
|
toggle: any;
|
|
6
|
+
className?: string | undefined;
|
|
6
7
|
size?: string | undefined;
|
|
7
8
|
isOpen?: boolean | undefined;
|
|
8
|
-
className?: string | undefined;
|
|
9
9
|
backdrop?: boolean | undefined;
|
|
10
10
|
}, {
|
|
11
11
|
[evt: string]: CustomEvent<any>;
|
|
@@ -20,9 +20,9 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
20
20
|
declare const __propDef: {
|
|
21
21
|
props: {
|
|
22
22
|
toggle: any;
|
|
23
|
+
className?: string | undefined;
|
|
23
24
|
size?: string | undefined;
|
|
24
25
|
isOpen?: boolean | undefined;
|
|
25
|
-
className?: string | undefined;
|
|
26
26
|
backdrop?: boolean | undefined;
|
|
27
27
|
};
|
|
28
28
|
events: {
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
export let className="";
|
|
3
|
+
export let bottomFlag=false;
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<ul class="nav flex-column {className} {bottomFlag ? "bottom" : '' }">
|
|
7
|
+
<slot />
|
|
8
|
+
</ul>
|
|
9
|
+
|
|
10
|
+
<style>@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
|
|
11
|
+
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
|
|
12
|
+
@import url("https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap");
|
|
13
|
+
ul, .icon-sidebar-content ul li, .icon-sidebar-content .toggle-button {
|
|
14
|
+
color: #ffffff;
|
|
15
|
+
}
|
|
16
|
+
.line-open, .line {
|
|
17
|
+
background: #ffffff;
|
|
18
|
+
}
|
|
19
|
+
:global(.offcanvas-body) {
|
|
20
|
+
background: #007FD8;
|
|
21
|
+
}
|
|
22
|
+
.nav .nav-item.active, .icon-sidebar-content ul .active {
|
|
23
|
+
border-left: 2px solid #ffffff;
|
|
24
|
+
background: #084298;
|
|
25
|
+
}
|
|
26
|
+
.nav-item, .icon-sidebar-content ul li {
|
|
27
|
+
display: flex;
|
|
28
|
+
padding: 15px 32px;
|
|
29
|
+
align-items: center;
|
|
30
|
+
gap: 8px;
|
|
31
|
+
}
|
|
32
|
+
.row {
|
|
33
|
+
--bs-gutter-x: 0rem;
|
|
34
|
+
}
|
|
35
|
+
.icon-sidebar {
|
|
36
|
+
position: fixed;
|
|
37
|
+
top: 0;
|
|
38
|
+
left: 0;
|
|
39
|
+
height: 100%;
|
|
40
|
+
width: 88px;
|
|
41
|
+
background: #007FD8;
|
|
42
|
+
}
|
|
43
|
+
.line {
|
|
44
|
+
width: 88px;
|
|
45
|
+
height: 1px;
|
|
46
|
+
}
|
|
47
|
+
.icon-btn {
|
|
48
|
+
padding: 20px 27px;
|
|
49
|
+
}
|
|
50
|
+
.icon-sidebar-content ul li {
|
|
51
|
+
padding: 16px 32px;
|
|
52
|
+
}
|
|
53
|
+
:global(.offcanvas-body) {
|
|
54
|
+
padding: 0rem 0rem;
|
|
55
|
+
}
|
|
56
|
+
.offcanvas-title {
|
|
57
|
+
color: #ffffff;
|
|
58
|
+
font-size: 28px;
|
|
59
|
+
}
|
|
60
|
+
.nav-item .item-name {
|
|
61
|
+
line-height: 22px;
|
|
62
|
+
}
|
|
63
|
+
.toggle-button {
|
|
64
|
+
background-color: transparent;
|
|
65
|
+
border: #ffffff;
|
|
66
|
+
cursor: pointer;
|
|
67
|
+
}
|
|
68
|
+
.material-icons {
|
|
69
|
+
font-size: 16px;
|
|
70
|
+
color: #ffffff;
|
|
71
|
+
}
|
|
72
|
+
:global(.offcanvas.offcanvas-start) {
|
|
73
|
+
width: 274px;
|
|
74
|
+
border-right: none;
|
|
75
|
+
}
|
|
76
|
+
.offcanvas-header {
|
|
77
|
+
padding: 1.5rem 1.5rem;
|
|
78
|
+
}
|
|
79
|
+
.line-open {
|
|
80
|
+
width: 274px;
|
|
81
|
+
height: 1px;
|
|
82
|
+
}
|
|
83
|
+
.title {
|
|
84
|
+
font-size: 16px;
|
|
85
|
+
}
|
|
86
|
+
.bottom {
|
|
87
|
+
bottom: 0;
|
|
88
|
+
position: absolute;
|
|
89
|
+
}
|
|
90
|
+
.box {
|
|
91
|
+
width: 100% !important;
|
|
92
|
+
height: 48px;
|
|
93
|
+
border-radius: 5px;
|
|
94
|
+
}
|
|
95
|
+
.box a {
|
|
96
|
+
color: #05445e;
|
|
97
|
+
}
|
|
98
|
+
@media (max-width: 768px) {
|
|
99
|
+
.box a {
|
|
100
|
+
color: #ffffff;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
.active {
|
|
104
|
+
background-color: #ddf9f6;
|
|
105
|
+
}
|
|
106
|
+
#sidebarMenu {
|
|
107
|
+
min-height: calc(100vh - 112px);
|
|
108
|
+
}</style>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} MenuGroupProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} MenuGroupEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} MenuGroupSlots */
|
|
4
|
+
export default class MenuGroup extends SvelteComponentTyped<{
|
|
5
|
+
className?: string | undefined;
|
|
6
|
+
bottomFlag?: boolean | undefined;
|
|
7
|
+
}, {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
}, {
|
|
10
|
+
default: {};
|
|
11
|
+
}> {
|
|
12
|
+
}
|
|
13
|
+
export type MenuGroupProps = typeof __propDef.props;
|
|
14
|
+
export type MenuGroupEvents = typeof __propDef.events;
|
|
15
|
+
export type MenuGroupSlots = typeof __propDef.slots;
|
|
16
|
+
import { SvelteComponentTyped } from "svelte";
|
|
17
|
+
declare const __propDef: {
|
|
18
|
+
props: {
|
|
19
|
+
className?: string | undefined;
|
|
20
|
+
bottomFlag?: boolean | undefined;
|
|
21
|
+
};
|
|
22
|
+
events: {
|
|
23
|
+
[evt: string]: CustomEvent<any>;
|
|
24
|
+
};
|
|
25
|
+
slots: {
|
|
26
|
+
default: {};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import Icon from '../Icon/Icon.svelte';
|
|
3
|
+
|
|
4
|
+
export let link = '#';
|
|
5
|
+
export let icon = '';
|
|
6
|
+
export let active = false;
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<li class="nav-item p-2 box {active ? "active" : ""}">
|
|
10
|
+
<a
|
|
11
|
+
class="nav-link d-flex align-items-center gap-2"
|
|
12
|
+
aria-current="page"
|
|
13
|
+
href={link}
|
|
14
|
+
on:click
|
|
15
|
+
>
|
|
16
|
+
{#if icon}
|
|
17
|
+
<Icon iconName={icon} />
|
|
18
|
+
{/if}
|
|
19
|
+
<slot />
|
|
20
|
+
</a>
|
|
21
|
+
</li>
|
|
22
|
+
|
|
23
|
+
<style>@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
|
|
24
|
+
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
|
|
25
|
+
@import url("https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap");
|
|
26
|
+
ul, .icon-sidebar-content ul li, .icon-sidebar-content .toggle-button {
|
|
27
|
+
color: #ffffff;
|
|
28
|
+
}
|
|
29
|
+
.line-open, .line {
|
|
30
|
+
background: #ffffff;
|
|
31
|
+
}
|
|
32
|
+
:global(.offcanvas-body) {
|
|
33
|
+
background: #007FD8;
|
|
34
|
+
}
|
|
35
|
+
.nav .nav-item.active, .icon-sidebar-content ul .active {
|
|
36
|
+
border-left: 2px solid #ffffff;
|
|
37
|
+
background: #084298;
|
|
38
|
+
}
|
|
39
|
+
.nav-item, .icon-sidebar-content ul li {
|
|
40
|
+
display: flex;
|
|
41
|
+
padding: 15px 32px;
|
|
42
|
+
align-items: center;
|
|
43
|
+
gap: 8px;
|
|
44
|
+
}
|
|
45
|
+
.row {
|
|
46
|
+
--bs-gutter-x: 0rem;
|
|
47
|
+
}
|
|
48
|
+
.icon-sidebar {
|
|
49
|
+
position: fixed;
|
|
50
|
+
top: 0;
|
|
51
|
+
left: 0;
|
|
52
|
+
height: 100%;
|
|
53
|
+
width: 88px;
|
|
54
|
+
background: #007FD8;
|
|
55
|
+
}
|
|
56
|
+
.line {
|
|
57
|
+
width: 88px;
|
|
58
|
+
height: 1px;
|
|
59
|
+
}
|
|
60
|
+
.icon-btn {
|
|
61
|
+
padding: 20px 27px;
|
|
62
|
+
}
|
|
63
|
+
.icon-sidebar-content ul li {
|
|
64
|
+
padding: 16px 32px;
|
|
65
|
+
}
|
|
66
|
+
:global(.offcanvas-body) {
|
|
67
|
+
padding: 0rem 0rem;
|
|
68
|
+
}
|
|
69
|
+
.offcanvas-title {
|
|
70
|
+
color: #ffffff;
|
|
71
|
+
font-size: 28px;
|
|
72
|
+
}
|
|
73
|
+
.nav-item .item-name {
|
|
74
|
+
line-height: 22px;
|
|
75
|
+
}
|
|
76
|
+
.toggle-button {
|
|
77
|
+
background-color: transparent;
|
|
78
|
+
border: #ffffff;
|
|
79
|
+
cursor: pointer;
|
|
80
|
+
}
|
|
81
|
+
.material-icons {
|
|
82
|
+
font-size: 16px;
|
|
83
|
+
color: #ffffff;
|
|
84
|
+
}
|
|
85
|
+
:global(.offcanvas.offcanvas-start) {
|
|
86
|
+
width: 274px;
|
|
87
|
+
border-right: none;
|
|
88
|
+
}
|
|
89
|
+
.offcanvas-header {
|
|
90
|
+
padding: 1.5rem 1.5rem;
|
|
91
|
+
}
|
|
92
|
+
.line-open {
|
|
93
|
+
width: 274px;
|
|
94
|
+
height: 1px;
|
|
95
|
+
}
|
|
96
|
+
.title {
|
|
97
|
+
font-size: 16px;
|
|
98
|
+
}
|
|
99
|
+
.bottom {
|
|
100
|
+
bottom: 0;
|
|
101
|
+
position: absolute;
|
|
102
|
+
}
|
|
103
|
+
.box {
|
|
104
|
+
width: 100% !important;
|
|
105
|
+
height: 48px;
|
|
106
|
+
border-radius: 5px;
|
|
107
|
+
}
|
|
108
|
+
.box a {
|
|
109
|
+
color: #05445e;
|
|
110
|
+
}
|
|
111
|
+
@media (max-width: 768px) {
|
|
112
|
+
.box a {
|
|
113
|
+
color: #ffffff;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
.active {
|
|
117
|
+
background-color: #ddf9f6;
|
|
118
|
+
}
|
|
119
|
+
#sidebarMenu {
|
|
120
|
+
min-height: calc(100vh - 112px);
|
|
121
|
+
}</style>
|
|
122
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} MenuItemProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} MenuItemEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} MenuItemSlots */
|
|
4
|
+
export default class MenuItem extends SvelteComponentTyped<{
|
|
5
|
+
active?: boolean | undefined;
|
|
6
|
+
icon?: string | undefined;
|
|
7
|
+
link?: string | undefined;
|
|
8
|
+
}, {
|
|
9
|
+
click: MouseEvent;
|
|
10
|
+
} & {
|
|
11
|
+
[evt: string]: CustomEvent<any>;
|
|
12
|
+
}, {
|
|
13
|
+
default: {};
|
|
14
|
+
}> {
|
|
15
|
+
}
|
|
16
|
+
export type MenuItemProps = typeof __propDef.props;
|
|
17
|
+
export type MenuItemEvents = typeof __propDef.events;
|
|
18
|
+
export type MenuItemSlots = typeof __propDef.slots;
|
|
19
|
+
import { SvelteComponentTyped } from "svelte";
|
|
20
|
+
declare const __propDef: {
|
|
21
|
+
props: {
|
|
22
|
+
active?: boolean | undefined;
|
|
23
|
+
icon?: string | undefined;
|
|
24
|
+
link?: string | undefined;
|
|
25
|
+
};
|
|
26
|
+
events: {
|
|
27
|
+
click: MouseEvent;
|
|
28
|
+
} & {
|
|
29
|
+
[evt: string]: CustomEvent<any>;
|
|
30
|
+
};
|
|
31
|
+
slots: {
|
|
32
|
+
default: {};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export {};
|