@luizleon/sf.prefeiturasp.vuecomponents 0.0.66 → 4.0.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/dist/sf.prefeiturasp.vuecomponents.cjs +423 -0
- package/dist/sf.prefeiturasp.vuecomponents.cjs.map +1 -0
- package/dist/sf.prefeiturasp.vuecomponents.js +8953 -0
- package/dist/sf.prefeiturasp.vuecomponents.js.map +1 -0
- package/dist/sf.prefeiturasp.vuecomponents.umd.cjs +423 -0
- package/dist/sf.prefeiturasp.vuecomponents.umd.cjs.map +1 -0
- package/dist/{axios → src/axios}/axiosClient.d.ts +7 -0
- package/dist/{components/button/Button.d.ts → src/components/button/Button.vue.d.ts} +16 -16
- package/dist/{components/content/Content.d.ts → src/components/content/Content.vue.d.ts} +7 -7
- package/dist/{components/drawer/Drawer.d.ts → src/components/drawer/Drawer.vue.d.ts} +15 -15
- package/dist/{components/icon/Icon.d.ts → src/components/icon/Icon.vue.d.ts} +23 -24
- package/dist/{components/internal/HeaderAvatar.d.ts → src/components/internal/HeaderAvatar.vue.d.ts} +2 -2
- package/dist/src/components/internal/LoadingCircle.vue.d.ts +2 -0
- package/dist/src/components/internal/MenuIcon.vue.d.ts +2 -0
- package/dist/src/components/internal/ScrollToTop.vue.d.ts +2 -0
- package/dist/src/components/internal/ThemeToggle.d.ts +10 -0
- package/dist/src/components/internal/ThemeToggle.vue.d.ts +2 -0
- package/dist/{components/layout/Layout.d.ts → src/components/layout/Layout.vue.d.ts} +9 -2
- package/dist/{components/message/Message.d.ts → src/components/message/Message.vue.d.ts} +14 -14
- package/dist/src/components/navmenu/NavMenu.vue.d.ts +15 -0
- package/dist/{components/tabnavigation/TabNavigation.d.ts → src/components/tabnavigation/TabNavigation.vue.d.ts} +9 -9
- package/dist/{components/tooltip/Tooltip.d.ts → src/components/tooltip/Tooltip.vue.d.ts} +7 -7
- package/dist/src/index.d.ts +17 -0
- package/dist/{types → src/types}/index.d.ts +11 -0
- package/dist/style.css +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +10 -9
- package/src/axios/axiosClient.ts +111 -3
- package/src/components/button/Button.vue +1 -1
- package/src/components/icon/Icon.vue +12 -16
- package/src/components/internal/getMaxZindex.ts +3 -2
- package/src/components/layout/Layout.vue +8 -1
- package/src/components/navmenu/NavMenu.vue +109 -0
- package/src/index.ts +2 -4
- package/src/keycloak.js +1485 -1890
- package/src/services/authService.ts +13 -4
- package/src/style/componentes.scss +5 -1
- package/src/style/src/_functions.scss +17 -2
- package/src/style/src/_mixins.scss +51 -29
- package/src/style/src/_variables.scss +11 -0
- package/src/style/src/components/_button.scss +8 -11
- package/src/style/src/components/_icon.scss +49 -47
- package/src/style/src/components/_tooltip.scss +6 -7
- package/src/types/index.ts +24 -0
- package/src/vite-env.d.ts +1 -0
- package/tsconfig.json +5 -3
- package/vite.config.js +2 -4
- package/dist/components/internal/LoadingCircle.d.ts +0 -2
- package/dist/components/internal/MenuIcon.d.ts +0 -2
- package/dist/components/internal/ScrollToTop.d.ts +0 -2
- package/dist/components/internal/ThemeToggle.d.ts +0 -2
- package/dist/components/navmenulink/NavMenuLink.d.ts +0 -18
- package/dist/components/panelmenu/PanelMenu.d.ts +0 -16
- package/dist/index.d.ts +0 -18
- package/dist/keycloak.d.ts +0 -671
- package/dist/sf.prefeiturasp.vuecomponents.es.js +0 -8685
- package/dist/sf.prefeiturasp.vuecomponents.es.js.map +0 -1
- package/dist/sf.prefeiturasp.vuecomponents.umd.js +0 -153
- package/dist/sf.prefeiturasp.vuecomponents.umd.js.map +0 -1
- package/src/components/button/Button.d.ts +0 -26
- package/src/components/content/Content.d.ts +0 -28
- package/src/components/drawer/Drawer.d.ts +0 -50
- package/src/components/icon/Icon.d.ts +0 -23
- package/src/components/layout/Layout.d.ts +0 -44
- package/src/components/message/Message.d.ts +0 -28
- package/src/components/navmenulink/NavMenuLink.d.ts +0 -29
- package/src/components/navmenulink/NavMenuLink.vue +0 -49
- package/src/components/panelmenu/PanelMenu.d.ts +0 -26
- package/src/components/panelmenu/PanelMenu.vue +0 -101
- package/src/components/tabnavigation/TabNavigation.d.ts +0 -34
- package/src/components/tooltip/Tooltip.d.ts +0 -23
- package/src/ts-helpers.d.ts +0 -57
- /package/dist/{common → src/common}/appResult.d.ts +0 -0
- /package/dist/{components → src/components}/internal/cssClassBuilder.d.ts +0 -0
- /package/dist/{components → src/components}/internal/getMaxZindex.d.ts +0 -0
- /package/dist/{services → src/services}/authService.d.ts +0 -0
- /package/dist/{services → src/services}/dialogService.d.ts +0 -0
- /package/dist/{services → src/services}/navMenuService.d.ts +0 -0
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
function GetMaxZindex(seletores: string[] = []) {
|
|
2
|
-
let selector = "body *:not(style)";
|
|
2
|
+
let selector = "body > *:not(script):not(style)";
|
|
3
3
|
for (const s of seletores) {
|
|
4
4
|
selector += `, ${s}`;
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
const max = Math.max(
|
|
7
7
|
...Array.from(document.querySelectorAll(selector)).map((x) => {
|
|
8
8
|
const z = getComputedStyle(x).zIndex;
|
|
9
9
|
return +z === +z ? +z : 0;
|
|
10
10
|
})
|
|
11
11
|
);
|
|
12
|
+
return max >= 100 ? max : 100;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export { GetMaxZindex };
|
|
@@ -8,6 +8,13 @@ import SfTooltip from "../tooltip/Tooltip.vue";
|
|
|
8
8
|
|
|
9
9
|
export interface SfLayoutProps {}
|
|
10
10
|
|
|
11
|
+
export interface SfLayoutSlots {
|
|
12
|
+
title: {};
|
|
13
|
+
action: {};
|
|
14
|
+
menu: {};
|
|
15
|
+
content: {};
|
|
16
|
+
}
|
|
17
|
+
|
|
11
18
|
const navService = UseNavMenuService();
|
|
12
19
|
|
|
13
20
|
const emit = defineEmits<{
|
|
@@ -37,7 +44,7 @@ onMounted(() => {
|
|
|
37
44
|
<slot name="title"></slot>
|
|
38
45
|
</div>
|
|
39
46
|
<slot name="action"> </slot>
|
|
40
|
-
<SfTooltip :text="'
|
|
47
|
+
<SfTooltip :text="'Tema'">
|
|
41
48
|
<ThemeToggle />
|
|
42
49
|
</SfTooltip>
|
|
43
50
|
<HeaderAvatar @logout="emit('logout')" />
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import PanelMenu from "primevue/panelmenu";
|
|
3
|
+
import { UseNavMenuService } from "../../services/navMenuService";
|
|
4
|
+
import { SfNavMenuItem } from "./../../types";
|
|
5
|
+
|
|
6
|
+
export interface SfNavMenuProps {
|
|
7
|
+
items: SfNavMenuItem[];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const props = defineProps<SfNavMenuProps>();
|
|
11
|
+
|
|
12
|
+
const navService = UseNavMenuService();
|
|
13
|
+
|
|
14
|
+
function OnClickRoute(ev: Event, navigate: () => void) {
|
|
15
|
+
ev.preventDefault();
|
|
16
|
+
const target = ev.target as HTMLElement;
|
|
17
|
+
const nav = target.closest(".panel-menu-wrapper");
|
|
18
|
+
if (nav && nav.clientWidth + 10 > document.body.clientWidth) {
|
|
19
|
+
navService.Close();
|
|
20
|
+
}
|
|
21
|
+
navigate();
|
|
22
|
+
}
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<template>
|
|
26
|
+
<div class="panel-menu-wrapper">
|
|
27
|
+
<PanelMenu :model="props.items" :unstyled="true">
|
|
28
|
+
<template #item="{ item, active }">
|
|
29
|
+
<router-link
|
|
30
|
+
v-if="!!item.href"
|
|
31
|
+
v-slot="{ navigate, isActive }"
|
|
32
|
+
:to="{
|
|
33
|
+
path: item.href,
|
|
34
|
+
params: item.params ?? {},
|
|
35
|
+
query: item.query ?? {},
|
|
36
|
+
}"
|
|
37
|
+
custom
|
|
38
|
+
>
|
|
39
|
+
<a
|
|
40
|
+
class="item-menu sf-ripple"
|
|
41
|
+
:data-active="isActive"
|
|
42
|
+
:href="item.href"
|
|
43
|
+
@click="OnClickRoute($event, navigate)"
|
|
44
|
+
>
|
|
45
|
+
<span class="material-symbols-outlined sf-mr-3">
|
|
46
|
+
{{ item.icon ?? "chevron_right" }}
|
|
47
|
+
</span>
|
|
48
|
+
<span>{{ item.text }}</span>
|
|
49
|
+
</a>
|
|
50
|
+
</router-link>
|
|
51
|
+
<a v-else class="item-menu sf-ripple">
|
|
52
|
+
<span
|
|
53
|
+
v-if="item.icon"
|
|
54
|
+
class="material-symbols-outlined sf-mr-3"
|
|
55
|
+
>
|
|
56
|
+
{{ item.icon }}
|
|
57
|
+
</span>
|
|
58
|
+
<span>{{ item.text }}</span>
|
|
59
|
+
<div class="sf-flex-grow-1"></div>
|
|
60
|
+
<span
|
|
61
|
+
:class="[
|
|
62
|
+
'material-symbols-outlined arrow',
|
|
63
|
+
{ '--expand': active },
|
|
64
|
+
]"
|
|
65
|
+
>
|
|
66
|
+
chevron_right
|
|
67
|
+
</span>
|
|
68
|
+
</a>
|
|
69
|
+
</template>
|
|
70
|
+
</PanelMenu>
|
|
71
|
+
</div>
|
|
72
|
+
</template>
|
|
73
|
+
|
|
74
|
+
<style scoped lang="scss">
|
|
75
|
+
.panel-menu-wrapper {
|
|
76
|
+
padding: var(--inline-spacing);
|
|
77
|
+
:deep(ul, li) {
|
|
78
|
+
list-style-type: none;
|
|
79
|
+
padding: 0;
|
|
80
|
+
margin: 0;
|
|
81
|
+
}
|
|
82
|
+
:deep(ul) {
|
|
83
|
+
padding-left: var(--inline-spacing);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
.item-menu {
|
|
87
|
+
display: flex;
|
|
88
|
+
align-items: center;
|
|
89
|
+
padding: var(--inline-spacing);
|
|
90
|
+
color: var(--text-color);
|
|
91
|
+
text-decoration: none;
|
|
92
|
+
border-radius: 6px;
|
|
93
|
+
margin-bottom: 0.25em;
|
|
94
|
+
cursor: pointer;
|
|
95
|
+
&.sub-item {
|
|
96
|
+
margin-bottom: var(--inline-spacing);
|
|
97
|
+
}
|
|
98
|
+
&[data-active="true"] {
|
|
99
|
+
background-color: var(--primary-hover-color);
|
|
100
|
+
color: var(--primary-color);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
.arrow {
|
|
104
|
+
transition: transform 0.3s;
|
|
105
|
+
&.--expand {
|
|
106
|
+
transform: rotate(90deg);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
</style>
|
package/src/index.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import SfLayout from "./components/layout/Layout.vue";
|
|
2
2
|
import SfIcon from "./components/icon/Icon.vue";
|
|
3
|
-
import SfNavMenuLink from "./components/navmenulink/NavMenuLink.vue";
|
|
4
3
|
import SfContent from "./components/content/Content.vue";
|
|
5
4
|
import SfTabNavigation from "./components/tabnavigation/TabNavigation.vue";
|
|
6
5
|
import SfButton from "./components/button/Button.vue";
|
|
7
6
|
import SfDrawer from "./components/drawer/Drawer.vue";
|
|
8
7
|
import SfMessage from "./components/message/Message.vue";
|
|
9
8
|
import SfTooltip from "./components/tooltip/Tooltip.vue";
|
|
10
|
-
import
|
|
9
|
+
import SfNavMenu from "./components/navmenu/NavMenu.vue";
|
|
11
10
|
import { ThemeToggleBase } from "./components/internal/ThemeToggle";
|
|
12
11
|
|
|
13
12
|
import { UseNavMenuService } from "./services/navMenuService";
|
|
@@ -27,14 +26,13 @@ import { AxiosClient, UseAxiosClient } from "./axios/axiosClient";
|
|
|
27
26
|
export {
|
|
28
27
|
SfLayout,
|
|
29
28
|
SfIcon,
|
|
30
|
-
SfNavMenuLink,
|
|
31
29
|
SfContent,
|
|
32
30
|
SfTabNavigation,
|
|
33
31
|
SfButton,
|
|
34
32
|
SfDrawer,
|
|
35
33
|
SfMessage,
|
|
36
34
|
SfTooltip,
|
|
37
|
-
|
|
35
|
+
SfNavMenu,
|
|
38
36
|
StartAuthService,
|
|
39
37
|
UseAuthService,
|
|
40
38
|
UseNavMenuService,
|