@awes-io/ui 2.68.0 → 2.70.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/CHANGELOG.md +38 -0
- package/assets/css/components/_index.css +1 -0
- package/assets/css/components/icon-menu-item.css +62 -40
- package/assets/css/components/layout-menu.css +1 -1
- package/assets/css/components/mobile-menu-item-new.css +44 -0
- package/assets/css/components/mobile-menu-nav.css +7 -1
- package/assets/css/components/mobile-menu.css +44 -20
- package/assets/css/components/page-menu-buttons.css +1 -1
- package/assets/css/components/select.css +1 -0
- package/assets/css/components/switch-field.css +1 -1
- package/assets/css/components/text-field.css +1 -1
- package/assets/css/components/user-menu.css +55 -7
- package/assets/js/icons/mono.js +2 -0
- package/components/1_atoms/AwDropdownButton.vue +6 -1
- package/components/3_organisms/AwContextMenu.vue +3 -2
- package/components/4_pages/AwPageMenuButtons.vue +18 -17
- package/components/5_layouts/_AwLayoutMenu.vue +11 -3
- package/components/5_layouts/_AwMenuItemIcon.vue +7 -26
- package/components/5_layouts/_AwMobileMenu.vue +94 -48
- package/components/5_layouts/_AwMobileMenuItem.vue +5 -0
- package/components/5_layouts/_AwMobileMenuItemNew.vue +122 -0
- package/components/5_layouts/_AwMobileMenuNav.vue +33 -25
- package/components/5_layouts/_AwUserMenu.vue +20 -11
- package/package.json +2 -2
- package/readme.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,44 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [2.70.0](https://github.com/awes-io/client/compare/@awes-io/ui@2.69.0...@awes-io/ui@2.70.0) (2023-09-04)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* create new styles for layout ([0406558](https://github.com/awes-io/client/commit/04065588301b26f2941e01a2b72f3ff6890a9840))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [2.69.0](https://github.com/awes-io/client/compare/@awes-io/ui@2.68.1...@awes-io/ui@2.69.0) (2023-09-04)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* pkg ([3a0fb7b](https://github.com/awes-io/client/commit/3a0fb7bac1c9f2b41abbeebc866458ac9d6a06d9))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* update ([ba17580](https://github.com/awes-io/client/commit/ba1758017437b2cb18109807ab4465f6be4a0ba1))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## [2.68.1](https://github.com/awes-io/client/compare/@awes-io/ui@2.68.0...@awes-io/ui@2.68.1) (2023-09-04)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Bug Fixes
|
|
37
|
+
|
|
38
|
+
* change styles and code in some components ([1d998fb](https://github.com/awes-io/client/commit/1d998fb7d07587feead975fafc9dd9205e4372c4))
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
6
44
|
# [2.68.0](https://github.com/awes-io/client/compare/@awes-io/ui@2.67.0...@awes-io/ui@2.68.0) (2023-08-25)
|
|
7
45
|
|
|
8
46
|
|
|
@@ -8,26 +8,57 @@
|
|
|
8
8
|
|
|
9
9
|
position: relative;
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
&:hover {
|
|
12
|
+
.aw-icon-menu-item {
|
|
13
|
+
&__icon,
|
|
14
|
+
&__text {
|
|
15
|
+
color: var(--c-on-surface);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
13
18
|
}
|
|
14
19
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
line-height: 1;
|
|
22
|
-
|
|
23
|
-
&--clip {
|
|
24
|
-
overflow: hidden;
|
|
25
|
-
padding: theme('spacing.2') theme('spacing.1') theme('spacing.1');
|
|
20
|
+
&--active {
|
|
21
|
+
.aw-icon-menu-item {
|
|
22
|
+
&__icon,
|
|
23
|
+
&__text {
|
|
24
|
+
color: var(--c-on-surface);
|
|
25
|
+
}
|
|
26
26
|
}
|
|
27
|
+
}
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
&__icon {
|
|
30
|
+
display: block;
|
|
31
|
+
color: var(--c-mono-300);
|
|
32
|
+
transition: 60ms color;
|
|
33
|
+
|
|
34
|
+
&-block {
|
|
35
|
+
display: flex;
|
|
36
|
+
align-items: center;
|
|
37
|
+
justify-content: center;
|
|
38
|
+
flex-direction: column;
|
|
39
|
+
|
|
40
|
+
padding: 0.75rem;
|
|
41
|
+
|
|
42
|
+
width: 100%;
|
|
43
|
+
position: relative;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&__text {
|
|
48
|
+
display: block;
|
|
49
|
+
|
|
50
|
+
font-size: 0.5625rem;
|
|
51
|
+
font-weight: 400;
|
|
52
|
+
line-height: 0.625rem;
|
|
53
|
+
color: var(--c-mono-400);
|
|
54
|
+
transition: 60ms color;
|
|
55
|
+
|
|
56
|
+
text-align: center;
|
|
57
|
+
|
|
58
|
+
white-space: nowrap;
|
|
59
|
+
text-overflow: ellipsis;
|
|
60
|
+
overflow: hidden;
|
|
61
|
+
width: 100%;
|
|
31
62
|
}
|
|
32
63
|
|
|
33
64
|
&__icon-badge {
|
|
@@ -51,31 +82,22 @@
|
|
|
51
82
|
min-width: theme('spacing.4');
|
|
52
83
|
transform: translate(50%, -50%);
|
|
53
84
|
}
|
|
85
|
+
}
|
|
54
86
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
&__text {
|
|
71
|
-
@apply truncate;
|
|
72
|
-
font-size: 0.625rem;
|
|
73
|
-
display: block;
|
|
74
|
-
max-width: 100%;
|
|
75
|
-
margin: 0 auto theme('spacing.1', 0.25rem);
|
|
76
|
-
|
|
77
|
-
&--highlight {
|
|
78
|
-
color: var(--icon-color-active, currentColor);
|
|
87
|
+
@screen lg {
|
|
88
|
+
.aw-icon-menu-item {
|
|
89
|
+
&--active {
|
|
90
|
+
&:before {
|
|
91
|
+
border-radius: 0.625rem;
|
|
92
|
+
position: absolute;
|
|
93
|
+
top: 50%;
|
|
94
|
+
left: 50%;
|
|
95
|
+
transform: translate(-50%, -50%);
|
|
96
|
+
width: 3.5rem;
|
|
97
|
+
height: 2.875rem;
|
|
98
|
+
content: '';
|
|
99
|
+
background-color: var(--c-mono-800);
|
|
100
|
+
}
|
|
79
101
|
}
|
|
80
102
|
}
|
|
81
103
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
background-image: linear-gradient(var(--c-brand, transparent), var(--c-brand-tuned, transparent));
|
|
4
4
|
|
|
5
5
|
display: grid;
|
|
6
|
-
grid-template-columns:
|
|
6
|
+
grid-template-columns: 72px auto;
|
|
7
7
|
grid-template-rows: 80px minmax(0, 2fr) minmax(0, 1fr) 80px minmax(0, auto);
|
|
8
8
|
|
|
9
9
|
z-index: 1;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
.aw-mobile-menu-item-new {
|
|
2
|
+
@apply bg-surface;
|
|
3
|
+
font-size: theme('fontSize.base', 1rem);
|
|
4
|
+
display: flex;
|
|
5
|
+
align-items: center;
|
|
6
|
+
width: 100%;
|
|
7
|
+
padding: 1.5rem;
|
|
8
|
+
border-radius: 1.25rem;
|
|
9
|
+
|
|
10
|
+
&:hover,
|
|
11
|
+
&:focus {
|
|
12
|
+
oultine: none;
|
|
13
|
+
text-decoration: none;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&--active {
|
|
17
|
+
color: var(--c-accent);
|
|
18
|
+
font-weight: bold;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&__icon-bg {
|
|
22
|
+
margin-right: 1rem;
|
|
23
|
+
align-self: start;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&__text {
|
|
27
|
+
font-size: 1rem;
|
|
28
|
+
line-height: 1.5rem;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&__description {
|
|
32
|
+
display: block;
|
|
33
|
+
font-weight: 400;
|
|
34
|
+
color: var(--c-mono-400);
|
|
35
|
+
font-size: theme('fontSize.xs', 0.75rem);
|
|
36
|
+
margin-top: 0.25rem;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&__arrow {
|
|
40
|
+
margin-left: auto;
|
|
41
|
+
flex: none;
|
|
42
|
+
color: var(--c-on-surface);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
list-style: none;
|
|
15
15
|
padding: 0;
|
|
16
16
|
margin: 0;
|
|
17
|
+
border-radius: 1.25rem;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
li + li {
|
|
20
|
+
li + li .aw-mobile-menu-nav__item--divide {
|
|
20
21
|
position: relative;
|
|
21
22
|
|
|
22
23
|
&:before {
|
|
@@ -31,4 +32,9 @@
|
|
|
31
32
|
right: 1.875rem;
|
|
32
33
|
}
|
|
33
34
|
}
|
|
35
|
+
|
|
36
|
+
li + li .aw-mobile-menu-item-new {
|
|
37
|
+
position: relative;
|
|
38
|
+
margin-top: 0.125rem;
|
|
39
|
+
}
|
|
34
40
|
}
|
|
@@ -44,35 +44,35 @@
|
|
|
44
44
|
&__user {
|
|
45
45
|
@apply bg-surface;
|
|
46
46
|
|
|
47
|
-
display:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
padding: 1.
|
|
51
|
-
margin-bottom: 1.25rem;
|
|
47
|
+
display: flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
justify-content: space-between;
|
|
50
|
+
padding: 1.5rem;
|
|
52
51
|
|
|
53
52
|
position: relative;
|
|
54
53
|
|
|
54
|
+
&:after {
|
|
55
|
+
@apply bg-mono-900;
|
|
56
|
+
content: '';
|
|
57
|
+
display: block;
|
|
58
|
+
height: 1px;
|
|
59
|
+
|
|
60
|
+
position: absolute;
|
|
61
|
+
bottom: 0;
|
|
62
|
+
left: 1.875rem;
|
|
63
|
+
right: 1.875rem;
|
|
64
|
+
}
|
|
65
|
+
|
|
55
66
|
.aw-avatar {
|
|
56
|
-
--ui-avatar-size:
|
|
67
|
+
--ui-avatar-size: 2.5rem !important;
|
|
57
68
|
--ui-avatar-font-size: 1.875rem !important;
|
|
58
|
-
grid-column: 1;
|
|
59
|
-
grid-row: 1 / -1;
|
|
60
69
|
}
|
|
61
70
|
|
|
62
71
|
&-name {
|
|
63
|
-
grid-column: 2;
|
|
64
|
-
grid-row: 1;
|
|
65
|
-
align-self: end;
|
|
66
72
|
margin-top: 0;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
&-desc {
|
|
72
|
-
grid-column: 2;
|
|
73
|
-
grid-row: 2;
|
|
74
|
-
align-self: start;
|
|
75
|
-
padding-left: 0.9375rem;
|
|
73
|
+
font-size: 1rem;
|
|
74
|
+
line-height: 1.5rem;
|
|
75
|
+
font-weight: 400;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
&-link {
|
|
@@ -96,6 +96,30 @@
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
+
&__theme {
|
|
100
|
+
@apply bg-surface;
|
|
101
|
+
|
|
102
|
+
display: flex;
|
|
103
|
+
align-items: center;
|
|
104
|
+
position: relative;
|
|
105
|
+
|
|
106
|
+
padding: 1.5rem;
|
|
107
|
+
|
|
108
|
+
&-icon {
|
|
109
|
+
margin-right: 1rem;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
&-text {
|
|
113
|
+
font-size: 1rem;
|
|
114
|
+
font-weight: 400;
|
|
115
|
+
line-height: 1.3125rem;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
&-switcher {
|
|
119
|
+
margin-left: auto;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
99
123
|
&__logo {
|
|
100
124
|
display: block;
|
|
101
125
|
align-self: center;
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
|
|
48
48
|
&--partial {
|
|
49
49
|
&:checked {
|
|
50
|
-
background-image: url("data:image/svg+xml,%3csvg viewBox='0 0
|
|
50
|
+
background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 22 22' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M4.77765 11.5553H17.2224C17.4286 11.5553 17.6264 11.4734 17.7722 11.3275C17.9181 11.1817 18 10.9839 18 10.7776C18 10.5714 17.9181 10.3736 17.7722 10.2278C17.6264 10.0819 17.4286 10 17.2224 10H4.77765C4.5714 10 4.37361 10.0819 4.22777 10.2278C4.08193 10.3736 4 10.5714 4 10.7776C4 10.9839 4.08193 11.1817 4.22777 11.3275C4.37361 11.4734 4.5714 11.5553 4.77765 11.5553V11.5553Z'/%3e%3c/svg%3e");
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|
|
@@ -9,13 +9,57 @@
|
|
|
9
9
|
&__header {
|
|
10
10
|
display: block;
|
|
11
11
|
color: inherit;
|
|
12
|
-
padding:
|
|
12
|
+
padding: 0.75rem 1rem;
|
|
13
13
|
border-bottom-width: 1px;
|
|
14
|
+
|
|
15
|
+
.aw-userpic {
|
|
16
|
+
flex-direction: row-reverse;
|
|
17
|
+
justify-content: space-between;
|
|
18
|
+
|
|
19
|
+
&__name {
|
|
20
|
+
font-size: 1rem;
|
|
21
|
+
line-height: 1.5rem;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&__content {
|
|
25
|
+
margin-left: 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.aw-avatar {
|
|
29
|
+
--ui-avatar-size: 40px !important;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
14
32
|
}
|
|
15
33
|
|
|
16
|
-
&__theme
|
|
17
|
-
|
|
18
|
-
|
|
34
|
+
&__theme {
|
|
35
|
+
display: flex;
|
|
36
|
+
align-items: center;
|
|
37
|
+
|
|
38
|
+
padding: 1rem;
|
|
39
|
+
color: var(--c-on-surface);
|
|
40
|
+
|
|
41
|
+
&-icon {
|
|
42
|
+
margin-right: 1rem;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&-text {
|
|
46
|
+
font-size: 1rem;
|
|
47
|
+
line-height: 1.3125rem;
|
|
48
|
+
font-weight: 400;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&-switcher {
|
|
52
|
+
margin-left: auto;
|
|
53
|
+
padding-top: 0;
|
|
54
|
+
padding-bottom: 0;
|
|
55
|
+
|
|
56
|
+
.aw-switch-field {
|
|
57
|
+
&__switch {
|
|
58
|
+
margin-top: 0;
|
|
59
|
+
margin-bottom: 0;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
19
63
|
}
|
|
20
64
|
|
|
21
65
|
&__menu {
|
|
@@ -33,13 +77,17 @@
|
|
|
33
77
|
|
|
34
78
|
&__nav-item {
|
|
35
79
|
@apply bg-surface;
|
|
36
|
-
padding:
|
|
80
|
+
padding: 1rem;
|
|
37
81
|
display: block;
|
|
38
82
|
width: 100%;
|
|
39
83
|
|
|
84
|
+
font-size: 1rem;
|
|
85
|
+
line-height: 1.3125rem;
|
|
86
|
+
font-weight: 400;
|
|
87
|
+
|
|
40
88
|
svg {
|
|
41
|
-
width: 1.
|
|
42
|
-
height: 1.
|
|
89
|
+
width: 1.5rem;
|
|
90
|
+
height: 1.5rem;
|
|
43
91
|
}
|
|
44
92
|
|
|
45
93
|
&:focus {
|
package/assets/js/icons/mono.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export default {
|
|
2
|
+
light:
|
|
3
|
+
'M9.31.69A.7.7 0 0 1 10 0a.7.7 0 0 1 .69.69v2.03a.7.7 0 0 1-.69.7.7.7 0 0 1-.69-.7V.7Zm4.23 5.77A5.04 5.04 0 0 0 10 4.97 5.04 5.04 0 0 0 4.97 10a5.04 5.04 0 0 0 8.57 3.54 4.93 4.93 0 0 0 0-7.09Zm-.95 6.13A3.66 3.66 0 0 1 10 13.65c-1 0-1.93-.4-2.6-1.06A3.66 3.66 0 0 1 6.36 10c0-1 .4-1.93 1.06-2.6A3.66 3.66 0 0 1 10 6.36c1 0 1.93.4 2.6 1.06A3.66 3.66 0 0 1 13.64 10c0 1-.4 1.93-1.06 2.6Zm6.72-3.28h-2.03a.7.7 0 0 0-.7.69c0 .37.32.69.7.69h2.03A.7.7 0 0 0 20 10a.7.7 0 0 0-.69-.69Zm-10 7.97a.7.7 0 0 1 .69-.7.7.7 0 0 1 .69.7v2.03A.7.7 0 0 1 10 20a.7.7 0 0 1-.69-.69v-2.03Zm7.75-1.17-1.45-1.45c-.24-.27-.69-.27-.95 0a.67.67 0 0 0 0 .95l1.45 1.45c.27.27.69.27.95 0a.67.67 0 0 0 0-.95Zm.03-13.17a.67.67 0 0 0-.95 0l-1.46 1.45a.67.67 0 0 0 0 .95c.24.27.69.27.95 0L17.1 3.9a.67.67 0 0 0 0-.95ZM.69 9.3h2.03a.7.7 0 0 1 .7.69.7.7 0 0 1-.7.69H.7A.68.68 0 0 1 0 10a.7.7 0 0 1 .69-.69Zm4.63 5.35c-.24-.27-.69-.27-.95 0L2.9 16.1a.67.67 0 0 0 0 .95c.26.27.69.27.95 0l1.46-1.45a.67.67 0 0 0 0-.95ZM3.86 2.94l1.46 1.45c.26.27.26.69 0 .95a.67.67 0 0 1-.95 0L2.9 3.9a.67.67 0 0 1 0-.95.67.67 0 0 1 .95 0Z',
|
|
2
4
|
close:
|
|
3
5
|
'M15.88 5.88a1.25 1.25 0 0 0-1.76-1.76L10 8.23 5.88 4.12a1.25 1.25 0 0 0-1.76 1.76L8.23 10l-4.11 4.12a1.25 1.25 0 1 0 1.76 1.76L10 11.77l4.12 4.11a1.25 1.25 0 1 0 1.76-1.76L11.77 10l4.11-4.12Z',
|
|
4
6
|
angle:
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
class="w-6 text-left inline-block mr-1"
|
|
15
15
|
>
|
|
16
16
|
<slot name="icon">
|
|
17
|
-
<AwIcon :name="icon" />
|
|
17
|
+
<AwIcon :name="icon" :size="iconSize" />
|
|
18
18
|
</slot>
|
|
19
19
|
</span>
|
|
20
20
|
<slot>
|
|
@@ -58,6 +58,11 @@ export default {
|
|
|
58
58
|
default: ''
|
|
59
59
|
},
|
|
60
60
|
|
|
61
|
+
iconSize: {
|
|
62
|
+
type: [String, Number],
|
|
63
|
+
default: ''
|
|
64
|
+
},
|
|
65
|
+
|
|
61
66
|
/**
|
|
62
67
|
* Sets active state class
|
|
63
68
|
*/
|
|
@@ -72,9 +72,10 @@ export default {
|
|
|
72
72
|
props: {
|
|
73
73
|
theme: 'ghost',
|
|
74
74
|
color: 'default',
|
|
75
|
-
contentClass: 'p-2'
|
|
75
|
+
contentClass: 'p-2',
|
|
76
|
+
text: this.$t('More')
|
|
76
77
|
},
|
|
77
|
-
staticClass: '
|
|
78
|
+
staticClass: 'h-10 ' + this.buttonClass,
|
|
78
79
|
attrs: {
|
|
79
80
|
'data-arrow-focus': ''
|
|
80
81
|
},
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div v-if="items && items.length" class="aw-page-menu-buttons">
|
|
3
|
+
<!-- context menu -->
|
|
4
|
+
<AwContextMenu
|
|
5
|
+
v-if="splitButtons.dropdown.length"
|
|
6
|
+
class="aw-page-menu-buttons__aw-context-menu"
|
|
7
|
+
vertical
|
|
8
|
+
:options="$options.dropdownOptions"
|
|
9
|
+
>
|
|
10
|
+
<AwDropdownButton
|
|
11
|
+
v-for="({ listeners, tooltip, iconSize, ...attrs },
|
|
12
|
+
i) in splitButtons.dropdown"
|
|
13
|
+
:key="i"
|
|
14
|
+
:iconSize="iconSize ? iconSize : 24"
|
|
15
|
+
v-tooltip="tooltip"
|
|
16
|
+
v-bind="attrs"
|
|
17
|
+
v-on="listeners"
|
|
18
|
+
/>
|
|
19
|
+
</AwContextMenu>
|
|
20
|
+
|
|
3
21
|
<!-- default buttons -->
|
|
4
22
|
<AwFlow
|
|
5
23
|
v-if="isExpanded && splitButtons.buttons.length"
|
|
@@ -17,23 +35,6 @@
|
|
|
17
35
|
/>
|
|
18
36
|
</AwFlow>
|
|
19
37
|
|
|
20
|
-
<!-- context menu -->
|
|
21
|
-
<AwContextMenu
|
|
22
|
-
v-if="splitButtons.dropdown.length"
|
|
23
|
-
class="aw-page-menu-buttons__aw-context-menu"
|
|
24
|
-
vertical
|
|
25
|
-
:options="$options.dropdownOptions"
|
|
26
|
-
>
|
|
27
|
-
<AwDropdownButton
|
|
28
|
-
v-for="({ listeners, tooltip, ...attrs },
|
|
29
|
-
i) in splitButtons.dropdown"
|
|
30
|
-
:key="i"
|
|
31
|
-
v-tooltip="tooltip"
|
|
32
|
-
v-bind="attrs"
|
|
33
|
-
v-on="listeners"
|
|
34
|
-
/>
|
|
35
|
-
</AwContextMenu>
|
|
36
|
-
|
|
37
38
|
<!-- fixed button -->
|
|
38
39
|
<div
|
|
39
40
|
v-if="!isExpanded && splitButtons.fixed"
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
</slot>
|
|
15
15
|
|
|
16
16
|
<div class="aw-layout-menu__menu">
|
|
17
|
-
<slot name="menu">
|
|
17
|
+
<slot name="menu" :mainMenu="mainMenu" :activeMenu="activeMenu">
|
|
18
18
|
<template v-for="(item, i) in mainMenu">
|
|
19
19
|
<!-- eslint-disable-next-line vue/require-component-is -->
|
|
20
20
|
<Component v-if="item.is" :key="'cmp-' + i" v-bind="item" />
|
|
@@ -31,7 +31,11 @@
|
|
|
31
31
|
</div>
|
|
32
32
|
|
|
33
33
|
<div class="aw-layout-menu__secondary-menu">
|
|
34
|
-
<slot
|
|
34
|
+
<slot
|
|
35
|
+
name="secondary-menu"
|
|
36
|
+
:secondaryMenu="secondaryMenu"
|
|
37
|
+
:activeMenu="activeMenu"
|
|
38
|
+
>
|
|
35
39
|
<template v-for="(item, i) in secondaryMenu">
|
|
36
40
|
<!-- eslint-disable-next-line vue/require-component-is -->
|
|
37
41
|
<Component v-if="item.is" :key="'cmp-' + i" v-bind="item" />
|
|
@@ -51,7 +55,11 @@
|
|
|
51
55
|
<AwUserMenu class="aw-layout-menu__aw-user-menu" />
|
|
52
56
|
|
|
53
57
|
<div class="aw-layout-menu__tertiary-menu">
|
|
54
|
-
<slot
|
|
58
|
+
<slot
|
|
59
|
+
name="tertiary-menu"
|
|
60
|
+
:tertiaryMenu="tertiaryMenu"
|
|
61
|
+
:activeMenu="activeMenu"
|
|
62
|
+
>
|
|
55
63
|
<template v-for="(item, i) in tertiaryMenu">
|
|
56
64
|
<!-- eslint-disable-next-line vue/require-component-is -->
|
|
57
65
|
<Component v-if="item.is" :key="'cmp-' + i" v-bind="item" />
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
<Component
|
|
3
3
|
:is="_linkComponent"
|
|
4
4
|
:class="{
|
|
5
|
-
'aw-icon-menu-item--clip': !tooltip,
|
|
6
5
|
'aw-icon-menu-item--active': active
|
|
7
6
|
}"
|
|
8
7
|
class="aw-icon-menu-item focus-outline"
|
|
@@ -10,26 +9,20 @@
|
|
|
10
9
|
v-on="$listeners"
|
|
11
10
|
>
|
|
12
11
|
<slot v-bind="$props">
|
|
13
|
-
<span
|
|
14
|
-
v-tooltip:right="
|
|
15
|
-
tooltip ? { content: text, offset: [0, -6] } : null
|
|
16
|
-
"
|
|
17
|
-
:class="{
|
|
18
|
-
'aw-icon-menu-item__icon-block--clip':
|
|
19
|
-
!tooltip && !hideText,
|
|
20
|
-
'aw-icon-menu-item__icon-block--small': !tooltip && hideText
|
|
21
|
-
}"
|
|
22
|
-
class="aw-icon-menu-item__icon-block"
|
|
23
|
-
tabindex="-1"
|
|
24
|
-
>
|
|
12
|
+
<span class="aw-icon-menu-item__icon-block" tabindex="-1">
|
|
25
13
|
<AwIcon
|
|
26
14
|
:name="(active && iconActive) || icon"
|
|
27
15
|
:size="size"
|
|
28
16
|
:class="{
|
|
29
|
-
'aw-icon-menu-item__icon--
|
|
17
|
+
'aw-icon-menu-item__icon--active': active
|
|
30
18
|
}"
|
|
31
19
|
class="aw-icon-menu-item__icon"
|
|
32
20
|
/>
|
|
21
|
+
|
|
22
|
+
<span class="aw-icon-menu-item__text">
|
|
23
|
+
{{ text }}
|
|
24
|
+
</span>
|
|
25
|
+
|
|
33
26
|
<span
|
|
34
27
|
v-if="badge"
|
|
35
28
|
class="aw-icon-menu-item__icon-badge"
|
|
@@ -44,18 +37,6 @@
|
|
|
44
37
|
{{ badge.text }}
|
|
45
38
|
</span>
|
|
46
39
|
</span>
|
|
47
|
-
<span
|
|
48
|
-
v-if="!hideText"
|
|
49
|
-
v-show="!tooltip"
|
|
50
|
-
class="aw-icon-menu-item__text"
|
|
51
|
-
:class="{
|
|
52
|
-
'aw-icon-menu-item__text--highlight': active
|
|
53
|
-
}"
|
|
54
|
-
>
|
|
55
|
-
{{ text }}
|
|
56
|
-
<AwIconSystemMono v-if="_linkExternal" name="external" />
|
|
57
|
-
</span>
|
|
58
|
-
<span v-if="hideText" class="sr-only">{{ text }}</span>
|
|
59
40
|
</slot>
|
|
60
41
|
</Component>
|
|
61
42
|
</template>
|
|
@@ -36,18 +36,6 @@
|
|
|
36
36
|
</AwHeadline>
|
|
37
37
|
</template>
|
|
38
38
|
|
|
39
|
-
<!-- theme switcher -->
|
|
40
|
-
<AwSwitcher
|
|
41
|
-
v-else
|
|
42
|
-
v-model="isDarkTheme"
|
|
43
|
-
:label="$t('Dark theme')"
|
|
44
|
-
icon="moon"
|
|
45
|
-
icon-place-in
|
|
46
|
-
icon-color="warning"
|
|
47
|
-
active-color="mono-600"
|
|
48
|
-
inactive-color="mono-600"
|
|
49
|
-
/>
|
|
50
|
-
|
|
51
39
|
<!-- close button -->
|
|
52
40
|
<AwButton
|
|
53
41
|
theme="ghost"
|
|
@@ -65,26 +53,6 @@
|
|
|
65
53
|
</AwButton>
|
|
66
54
|
</div>
|
|
67
55
|
|
|
68
|
-
<!-- user -->
|
|
69
|
-
<div v-if="user" v-show="!submenuOpened" class="aw-mobile-menu__user">
|
|
70
|
-
<AwAvatar :src="user.src" :name="user.name" size="56" />
|
|
71
|
-
<AwHeadline tag="span" class="aw-mobile-menu__user-name truncate">
|
|
72
|
-
{{ user.name }}
|
|
73
|
-
</AwHeadline>
|
|
74
|
-
<AwDescription class="aw-mobile-menu__user-desc truncate">
|
|
75
|
-
{{ user.description }}
|
|
76
|
-
</AwDescription>
|
|
77
|
-
|
|
78
|
-
<NLink
|
|
79
|
-
v-if="profileUrl"
|
|
80
|
-
:to="profileUrl"
|
|
81
|
-
:aria-label="$t('User profile')"
|
|
82
|
-
class="aw-mobile-menu__user-link"
|
|
83
|
-
>
|
|
84
|
-
<AwIconSystemMono name="angle" rotate="180" />
|
|
85
|
-
</NLink>
|
|
86
|
-
</div>
|
|
87
|
-
|
|
88
56
|
<slot v-if="!submenuOpened" name="before-mobile-menu">
|
|
89
57
|
<Component
|
|
90
58
|
v-if="beforeMobileMenuComponent"
|
|
@@ -100,7 +68,29 @@
|
|
|
100
68
|
:items="mainMenu"
|
|
101
69
|
class="aw-mobile-menu__menu"
|
|
102
70
|
@click:submenu="showSubmenu"
|
|
103
|
-
|
|
71
|
+
>
|
|
72
|
+
<template #default="{items, _getChildrenCount, isActive }">
|
|
73
|
+
<li v-for="(item, i) in items" :key="i" v-show="!item.abstract">
|
|
74
|
+
<AwMobileMenuItemNew
|
|
75
|
+
v-bind="item"
|
|
76
|
+
:href="_getChildrenCount(item) ? null : item.href"
|
|
77
|
+
:arrow="!!(item.href || _getChildrenCount(item))"
|
|
78
|
+
:active="isActive(item)"
|
|
79
|
+
v-on="
|
|
80
|
+
_getChildrenCount(item)
|
|
81
|
+
? {
|
|
82
|
+
click: () =>
|
|
83
|
+
showSubmenu(
|
|
84
|
+
item.children,
|
|
85
|
+
item.subtitle || item.text
|
|
86
|
+
)
|
|
87
|
+
}
|
|
88
|
+
: item.listeners || null
|
|
89
|
+
"
|
|
90
|
+
/>
|
|
91
|
+
</li>
|
|
92
|
+
</template>
|
|
93
|
+
</AwMobileMenuNav>
|
|
104
94
|
|
|
105
95
|
<AwMobileMenuNav
|
|
106
96
|
v-show="!submenuOpened"
|
|
@@ -108,7 +98,29 @@
|
|
|
108
98
|
:items="secondaryMenu"
|
|
109
99
|
class="aw-mobile-menu__menu"
|
|
110
100
|
@click:submenu="showSubmenu"
|
|
111
|
-
|
|
101
|
+
>
|
|
102
|
+
<template #default="{items, _getChildrenCount, isActive }">
|
|
103
|
+
<li v-for="(item, i) in items" :key="i" v-show="!item.abstract">
|
|
104
|
+
<AwMobileMenuItemNew
|
|
105
|
+
v-bind="item"
|
|
106
|
+
:href="_getChildrenCount(item) ? null : item.href"
|
|
107
|
+
:arrow="!!(item.href || _getChildrenCount(item))"
|
|
108
|
+
:active="isActive(item)"
|
|
109
|
+
v-on="
|
|
110
|
+
_getChildrenCount(item)
|
|
111
|
+
? {
|
|
112
|
+
click: () =>
|
|
113
|
+
showSubmenu(
|
|
114
|
+
item.children,
|
|
115
|
+
item.subtitle || item.text
|
|
116
|
+
)
|
|
117
|
+
}
|
|
118
|
+
: item.listeners || null
|
|
119
|
+
"
|
|
120
|
+
/>
|
|
121
|
+
</li>
|
|
122
|
+
</template>
|
|
123
|
+
</AwMobileMenuNav>
|
|
112
124
|
|
|
113
125
|
<AwMobileMenuNav
|
|
114
126
|
v-show="!submenuOpened"
|
|
@@ -116,7 +128,51 @@
|
|
|
116
128
|
:items="userMenu"
|
|
117
129
|
class="aw-mobile-menu__menu"
|
|
118
130
|
@click:submenu="showSubmenu"
|
|
119
|
-
|
|
131
|
+
>
|
|
132
|
+
<template #before>
|
|
133
|
+
<!-- user -->
|
|
134
|
+
<NLink
|
|
135
|
+
v-if="user"
|
|
136
|
+
:to="profileUrl"
|
|
137
|
+
class="aw-mobile-menu__user"
|
|
138
|
+
>
|
|
139
|
+
<div>
|
|
140
|
+
<AwHeadline
|
|
141
|
+
tag="span"
|
|
142
|
+
class="aw-mobile-menu__user-name truncate"
|
|
143
|
+
>
|
|
144
|
+
{{ user.name }}
|
|
145
|
+
</AwHeadline>
|
|
146
|
+
|
|
147
|
+
<AwDescription
|
|
148
|
+
tag="div"
|
|
149
|
+
class="aw-mobile-menu__user-desc truncate"
|
|
150
|
+
>
|
|
151
|
+
{{ user.description }}
|
|
152
|
+
</AwDescription>
|
|
153
|
+
</div>
|
|
154
|
+
|
|
155
|
+
<AwAvatar :src="user.src" :name="user.name" size="56" />
|
|
156
|
+
</NLink>
|
|
157
|
+
|
|
158
|
+
<div class="aw-mobile-menu__theme">
|
|
159
|
+
<AwIconSystemMono
|
|
160
|
+
:size="24"
|
|
161
|
+
class="aw-mobile-menu__theme-icon"
|
|
162
|
+
name="light"
|
|
163
|
+
/>
|
|
164
|
+
|
|
165
|
+
<span class="aw-mobile-menu__theme-text">{{
|
|
166
|
+
$t('Dark theme')
|
|
167
|
+
}}</span>
|
|
168
|
+
|
|
169
|
+
<AwSwitcher
|
|
170
|
+
v-model="isDarkTheme"
|
|
171
|
+
class="aw-mobile-menu__theme-switcher"
|
|
172
|
+
/>
|
|
173
|
+
</div>
|
|
174
|
+
</template>
|
|
175
|
+
</AwMobileMenuNav>
|
|
120
176
|
|
|
121
177
|
<AwMobileMenuNav
|
|
122
178
|
v-show="!submenuOpened"
|
|
@@ -145,18 +201,6 @@
|
|
|
145
201
|
v-bind="afterMobileMenuComponent.props"
|
|
146
202
|
/>
|
|
147
203
|
</slot>
|
|
148
|
-
|
|
149
|
-
<!-- logo -->
|
|
150
|
-
<slot name="logo" v-bind="logo">
|
|
151
|
-
<Component
|
|
152
|
-
:is="logoComponent.is"
|
|
153
|
-
v-bind="logoComponent.props"
|
|
154
|
-
class="aw-mobile-menu__logo"
|
|
155
|
-
/>
|
|
156
|
-
<span class="aw-mobile-menu__version">
|
|
157
|
-
{{ $t('version v{version}', { version: $config.VERSION }) }}
|
|
158
|
-
</span>
|
|
159
|
-
</slot>
|
|
160
204
|
</div>
|
|
161
205
|
</template>
|
|
162
206
|
|
|
@@ -165,6 +209,7 @@ import { mapGetters } from 'vuex'
|
|
|
165
209
|
import { pathOr, viewOr, lensProp, partition } from 'rambdax'
|
|
166
210
|
import { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock'
|
|
167
211
|
import AwMobileMenuNav from '@AwLayouts/_AwMobileMenuNav.vue'
|
|
212
|
+
import AwMobileMenuItemNew from '@AwLayouts/_AwMobileMenuItemNew.vue'
|
|
168
213
|
// import AwMobileMenuItem from '@AwLayouts/_AwMobileMenuItem.vue'
|
|
169
214
|
|
|
170
215
|
export default {
|
|
@@ -172,7 +217,8 @@ export default {
|
|
|
172
217
|
|
|
173
218
|
components: {
|
|
174
219
|
AwMobileMenuNav,
|
|
175
|
-
AwLayoutLogo: () => import('@AwLayouts/_AwLayoutLogo.vue')
|
|
220
|
+
AwLayoutLogo: () => import('@AwLayouts/_AwLayoutLogo.vue'),
|
|
221
|
+
AwMobileMenuItemNew
|
|
176
222
|
// AwMobileMenuItem
|
|
177
223
|
},
|
|
178
224
|
|
|
@@ -18,20 +18,25 @@
|
|
|
18
18
|
class="aw-mobile-menu-item__icon"
|
|
19
19
|
/>
|
|
20
20
|
</span>
|
|
21
|
+
|
|
21
22
|
<span class="aw-mobile-menu-item__text" tabindex="-1">
|
|
22
23
|
{{ text }}
|
|
24
|
+
|
|
23
25
|
<span
|
|
24
26
|
v-if="description"
|
|
25
27
|
v-html="$sanitize(description)"
|
|
26
28
|
class="aw-mobile-menu-item__description"
|
|
27
29
|
></span>
|
|
28
30
|
</span>
|
|
31
|
+
|
|
29
32
|
<AwBadge v-if="badge" v-bind="badge" class="mr-2" />
|
|
33
|
+
|
|
30
34
|
<AwIconSystemMono
|
|
31
35
|
v-if="_linkExternal"
|
|
32
36
|
name="external"
|
|
33
37
|
class="aw-mobile-menu-item__arrow"
|
|
34
38
|
/>
|
|
39
|
+
|
|
35
40
|
<AwIconSystemMono
|
|
36
41
|
v-else-if="arrow"
|
|
37
42
|
name="angle"
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<Component
|
|
3
|
+
:is="_linkComponent"
|
|
4
|
+
v-bind="_linkAttrs"
|
|
5
|
+
:class="{ 'aw-mobile-menu-item-new--active': active }"
|
|
6
|
+
class="aw-mobile-menu-item-new focus-outline"
|
|
7
|
+
v-on="$listeners"
|
|
8
|
+
>
|
|
9
|
+
<slot>
|
|
10
|
+
<span
|
|
11
|
+
v-if="icon"
|
|
12
|
+
class="aw-mobile-menu-item-new__icon-bg"
|
|
13
|
+
:style="iconColor"
|
|
14
|
+
>
|
|
15
|
+
<AwIcon
|
|
16
|
+
:name="(active && iconActive) || icon"
|
|
17
|
+
size="24"
|
|
18
|
+
class="aw-mobile-menu-item-new__icon"
|
|
19
|
+
/>
|
|
20
|
+
</span>
|
|
21
|
+
|
|
22
|
+
<span class="aw-mobile-menu-item-new__text" tabindex="-1">
|
|
23
|
+
{{ text }}
|
|
24
|
+
|
|
25
|
+
<span
|
|
26
|
+
v-if="childrenDescription"
|
|
27
|
+
class="aw-mobile-menu-item-new__description"
|
|
28
|
+
>
|
|
29
|
+
{{ childrenDescription }}
|
|
30
|
+
</span>
|
|
31
|
+
</span>
|
|
32
|
+
|
|
33
|
+
<AwBadge v-if="badge" v-bind="badge" class="mr-2" />
|
|
34
|
+
|
|
35
|
+
<AwIconSystemMono
|
|
36
|
+
v-if="_linkExternal"
|
|
37
|
+
name="external"
|
|
38
|
+
class="aw-mobile-menu-item-new__arrow"
|
|
39
|
+
/>
|
|
40
|
+
|
|
41
|
+
<AwIconSystemMono
|
|
42
|
+
v-else-if="arrow"
|
|
43
|
+
name="angle"
|
|
44
|
+
rotate="180"
|
|
45
|
+
class="aw-mobile-menu-item-new__arrow"
|
|
46
|
+
/>
|
|
47
|
+
</slot>
|
|
48
|
+
</Component>
|
|
49
|
+
</template>
|
|
50
|
+
|
|
51
|
+
<script>
|
|
52
|
+
import linkMixin from '@AwMixins/link'
|
|
53
|
+
|
|
54
|
+
export default {
|
|
55
|
+
name: 'AwMobileMenuItemNew',
|
|
56
|
+
|
|
57
|
+
mixins: [linkMixin],
|
|
58
|
+
|
|
59
|
+
props: {
|
|
60
|
+
text: {
|
|
61
|
+
type: String,
|
|
62
|
+
required: true
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
description: {
|
|
66
|
+
type: String,
|
|
67
|
+
default: ''
|
|
68
|
+
},
|
|
69
|
+
|
|
70
|
+
href: {
|
|
71
|
+
type: [String, Object],
|
|
72
|
+
default: ''
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
children: {
|
|
76
|
+
type: Array,
|
|
77
|
+
default: () => []
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
icon: {
|
|
81
|
+
type: String,
|
|
82
|
+
default: ''
|
|
83
|
+
},
|
|
84
|
+
|
|
85
|
+
iconBg: {
|
|
86
|
+
type: String,
|
|
87
|
+
default: ''
|
|
88
|
+
},
|
|
89
|
+
|
|
90
|
+
iconActive: {
|
|
91
|
+
type: String,
|
|
92
|
+
default: ''
|
|
93
|
+
},
|
|
94
|
+
|
|
95
|
+
badge: {
|
|
96
|
+
type: Object,
|
|
97
|
+
default: null
|
|
98
|
+
},
|
|
99
|
+
|
|
100
|
+
arrow: Boolean,
|
|
101
|
+
|
|
102
|
+
active: Boolean
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
computed: {
|
|
106
|
+
iconColor() {
|
|
107
|
+
return this.iconBg
|
|
108
|
+
? {
|
|
109
|
+
backgroundColor: this.iconBg,
|
|
110
|
+
color: '#fff'
|
|
111
|
+
}
|
|
112
|
+
: null
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
childrenDescription() {
|
|
116
|
+
const childrenText = this.children.map((item) => this.$t(item.text))
|
|
117
|
+
|
|
118
|
+
return childrenText.join(' • ')
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
</script>
|
|
@@ -4,35 +4,47 @@
|
|
|
4
4
|
{{ title }}
|
|
5
5
|
<AwBadge v-if="badge" v-bind="badge" />
|
|
6
6
|
</h3>
|
|
7
|
+
|
|
7
8
|
<ol>
|
|
8
9
|
<slot name="before" />
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
10
|
+
|
|
11
|
+
<slot
|
|
12
|
+
:items="items"
|
|
13
|
+
:_getChildrenCount="_getChildrenCount"
|
|
14
|
+
:isActive="isActive"
|
|
15
|
+
>
|
|
16
|
+
<li v-for="(item, i) in items" :key="i" v-show="!item.abstract">
|
|
17
|
+
<AwMobileMenuItem
|
|
18
|
+
v-bind="item"
|
|
19
|
+
:class="{
|
|
20
|
+
'aw-mobile-menu-nav__item--divide': item.isDivide
|
|
21
|
+
}"
|
|
22
|
+
:href="_getChildrenCount(item) ? null : item.href"
|
|
23
|
+
:arrow="!!(item.href || _getChildrenCount(item))"
|
|
24
|
+
:active="isActive(item)"
|
|
25
|
+
v-on="
|
|
26
|
+
_getChildrenCount(item)
|
|
27
|
+
? {
|
|
28
|
+
click: () =>
|
|
29
|
+
$emit(
|
|
30
|
+
'click:submenu',
|
|
31
|
+
item.children,
|
|
32
|
+
item.subtitle || item.text
|
|
33
|
+
)
|
|
34
|
+
}
|
|
35
|
+
: item.listeners || null
|
|
36
|
+
"
|
|
37
|
+
/>
|
|
38
|
+
</li>
|
|
39
|
+
</slot>
|
|
40
|
+
|
|
29
41
|
<slot name="after" />
|
|
30
42
|
</ol>
|
|
31
43
|
</nav>
|
|
32
44
|
</template>
|
|
33
45
|
|
|
34
46
|
<script>
|
|
35
|
-
import { viewOr, lensProp
|
|
47
|
+
import { viewOr, lensProp } from 'rambdax'
|
|
36
48
|
import AwMobileMenuItem from '@AwLayouts/_AwMobileMenuItem.vue'
|
|
37
49
|
|
|
38
50
|
export default {
|
|
@@ -72,10 +84,6 @@ export default {
|
|
|
72
84
|
},
|
|
73
85
|
|
|
74
86
|
methods: {
|
|
75
|
-
_getItemProps(props) {
|
|
76
|
-
return omit('children', props)
|
|
77
|
-
},
|
|
78
|
-
|
|
79
87
|
_getChildrenCount(item) {
|
|
80
88
|
return item.children ? item.children.length : 0
|
|
81
89
|
},
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
@focus="openDropdown"
|
|
16
16
|
@mouseenter="openDropdown"
|
|
17
17
|
>
|
|
18
|
-
<AwAvatar v-bind="user" size="
|
|
18
|
+
<AwAvatar v-bind="user" size="40" tabindex="-1" />
|
|
19
19
|
</button>
|
|
20
20
|
</slot>
|
|
21
21
|
|
|
@@ -35,20 +35,29 @@
|
|
|
35
35
|
>
|
|
36
36
|
<AwUserpic v-bind="user" big-image />
|
|
37
37
|
</Component>
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
class="aw-user-menu__theme-
|
|
47
|
-
|
|
38
|
+
|
|
39
|
+
<span class="aw-user-menu__theme">
|
|
40
|
+
<AwIconSystemMono
|
|
41
|
+
:size="24"
|
|
42
|
+
class="aw-user-menu__theme-icon"
|
|
43
|
+
name="light"
|
|
44
|
+
/>
|
|
45
|
+
|
|
46
|
+
<span class="aw-user-menu__theme-text">{{
|
|
47
|
+
$t('Dark theme')
|
|
48
|
+
}}</span>
|
|
49
|
+
|
|
50
|
+
<AwSwitcher
|
|
51
|
+
v-model="isDarkTheme"
|
|
52
|
+
class="aw-user-menu__theme-switcher"
|
|
53
|
+
size="sm"
|
|
54
|
+
/>
|
|
55
|
+
</span>
|
|
48
56
|
|
|
49
57
|
<template v-for="(item, i) in userMenu">
|
|
50
58
|
<!-- eslint-disable-next-line vue/require-component-is -->
|
|
51
59
|
<Component v-if="item.is" :key="'cmp-' + i" v-bind="item" />
|
|
60
|
+
|
|
52
61
|
<AwNavItem
|
|
53
62
|
v-else
|
|
54
63
|
:key="i"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@awes-io/ui",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.70.0",
|
|
4
4
|
"description": "User Interface (UI) components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ui",
|
|
@@ -112,5 +112,5 @@
|
|
|
112
112
|
"rollup-plugin-visualizer": "^2.6.0",
|
|
113
113
|
"rollup-plugin-vue": "^5.0.1"
|
|
114
114
|
},
|
|
115
|
-
"gitHead": "
|
|
115
|
+
"gitHead": "3fd940536b101cc0a6aba3a0d832788a1a3c809f"
|
|
116
116
|
}
|
package/readme.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Awes.io/Ui
|
|
1
|
+
Awes.io/Ui 424
|