@awes-io/ui 2.73.0 → 2.74.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.
Files changed (32) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/assets/css/components/_index.css +1 -0
  3. package/assets/css/components/alert.css +20 -39
  4. package/assets/css/components/button-fixed.css +3 -4
  5. package/assets/css/components/button-nav.css +13 -34
  6. package/assets/css/components/context-menu.css +22 -0
  7. package/assets/css/components/label.css +6 -0
  8. package/assets/css/components/mobile-menu-item-new.css +1 -1
  9. package/assets/css/components/mobile-menu-item.css +0 -1
  10. package/assets/css/components/mobile-menu-nav.css +7 -6
  11. package/assets/css/components/mobile-menu.css +24 -7
  12. package/assets/css/components/modal.css +5 -1
  13. package/assets/css/components/nav.css +9 -3
  14. package/assets/css/components/page.css +1 -1
  15. package/assets/css/components/search.css +1 -0
  16. package/assets/css/components/table.css +4 -0
  17. package/assets/css/components/tooltip.css +3 -5
  18. package/assets/js/icons/mono.js +1 -1
  19. package/assets/js/styles.js +93 -31
  20. package/components/1_atoms/AwLabel.vue +27 -5
  21. package/components/2_molecules/AwAlert.vue +29 -12
  22. package/components/3_organisms/AwContextMenu.vue +1 -0
  23. package/components/3_organisms/AwSearch.vue +2 -1
  24. package/components/3_organisms/AwTable/AwTableBuilder.vue +2 -2
  25. package/components/4_pages/AwPageMenuButtons.vue +0 -1
  26. package/components/5_layouts/AwLayoutProvider.vue +1 -1
  27. package/components/5_layouts/_AwMenuItemIcon.vue +1 -1
  28. package/components/5_layouts/_AwMobileMenu.vue +33 -26
  29. package/components/5_layouts/_AwMobileMenuItem.vue +2 -2
  30. package/components/5_layouts/_AwMobileMenuItemNew.vue +2 -2
  31. package/components/5_layouts/_AwUserMenu.vue +25 -2
  32. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,36 @@
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.74.0](https://github.com/awes-io/client/compare/@awes-io/ui@2.73.1...@awes-io/ui@2.74.0) (2023-10-10)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * fix style in component ([3b2dbb4](https://github.com/awes-io/client/commit/3b2dbb485ccbeab0aa96941e2f7f53ccb4e7ddaa))
12
+ * some fix style in menu and form components ([e64a877](https://github.com/awes-io/client/commit/e64a877ce0e4d8803a7c8b1edb59dac53bcf5aed))
13
+
14
+
15
+ ### Features
16
+
17
+ * add check external link in user profile ([95e1f52](https://github.com/awes-io/client/commit/95e1f5253097847b06fbdcab808ea0e53a9513c3))
18
+ * change border radius in button nav ([9bb4252](https://github.com/awes-io/client/commit/9bb4252bdf7d4f1dc8744f025aa74f3ed3f8f89d))
19
+ * change search icon ([70553be](https://github.com/awes-io/client/commit/70553be865e11e8ddd7a9461cbffef5f129aed5d))
20
+
21
+
22
+
23
+
24
+
25
+ ## [2.73.1](https://github.com/awes-io/client/compare/@awes-io/ui@2.73.0...@awes-io/ui@2.73.1) (2023-10-06)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * colors from design system ([1ba4cc0](https://github.com/awes-io/client/commit/1ba4cc0204d34bd63a453b9942e81724b388e240))
31
+
32
+
33
+
34
+
35
+
6
36
  # [2.73.0](https://github.com/awes-io/client/compare/@awes-io/ui@2.72.0...@awes-io/ui@2.73.0) (2023-09-29)
7
37
 
8
38
 
@@ -46,6 +46,7 @@
46
46
  @import './info.css';
47
47
  @import './island.css';
48
48
  @import './island-avatar.css';
49
+ @import './label.css';
49
50
  @import './sub-headline.css';
50
51
  @import './address-block.css';
51
52
  @import './gmap.css';
@@ -1,16 +1,10 @@
1
1
  .aw-alert {
2
- display: grid;
3
-
4
- padding: theme('spacing.4', 1rem);
2
+ padding: 1rem 1.5rem;
5
3
  border-radius: 0.625rem;
6
- border: 1px solid var(--aw-alert-border);
7
4
  background: var(--aw-alert-bg);
8
5
 
9
6
  &__icon {
10
- padding-right: theme('spacing.4', 1rem);
11
- font-size: 1.5em;
12
- line-height: 0.75em;
13
- align-self: start;
7
+ margin-right: 0.625rem;
14
8
  }
15
9
 
16
10
  .aw-description {
@@ -24,24 +18,23 @@
24
18
  &__title {
25
19
  display: flex;
26
20
  margin: 0;
21
+
22
+ &-text {
23
+ margin-top: 0.125rem;
24
+ }
27
25
  }
28
26
 
29
27
  &__buttons {
30
28
  display: flex;
31
- flex-wrap: wrap;
32
- justify-content: flex-end;
33
29
 
34
- justify-self: start;
35
30
  align-items: center;
36
- margin-left: 3rem;
37
- margin-bottom: 1rem;
31
+ margin-left: 2.125rem;
32
+ margin-top: 0.5rem;
38
33
 
39
- & > * {
40
- margin-top: theme('spacing.4', 1rem);
41
- margin-left: theme('spacing.4', 1rem);
42
- }
34
+ font-size: 0.875rem;
43
35
 
44
- .aw-icon, a {
36
+ .aw-icon,
37
+ a {
45
38
  color: var(--aw-alert-on-color);
46
39
  }
47
40
  }
@@ -51,33 +44,21 @@
51
44
  align-items: start;
52
45
  }
53
46
  }
47
+
48
+ &--color-default {
49
+ border: 1px solid var(--c-mono-800);
50
+ }
54
51
  }
55
52
 
56
53
  @screen lg {
57
54
  .aw-alert {
58
- grid-template-columns: 1fr minmax(0, max-content);
59
- grid-template-rows: auto;
60
-
61
- padding: theme('spacing.1', 0.25rem);
62
-
63
- &__title {
64
- align-self: center;
65
-
66
- padding-top: theme('spacing.1', 0.25rem);
67
- padding-bottom: theme('spacing.1', 0.25rem);
68
- padding-left: theme('spacing.4', 1rem);
69
- }
55
+ display: flex;
56
+ justify-content: space-between;
70
57
 
71
58
  &__buttons {
72
- margin-top: calc(-1 * theme('spacing.1', 0.25rem));
73
- margin-right: 1.5rem;
74
- margin-left: 0;
75
- margin-bottom: 0;
76
-
77
- & > * {
78
- margin-top: theme('spacing.1', 0.25rem);
79
- margin-left: theme('spacing.1', 0.25rem);
80
- }
59
+ justify-content: flex-end;
60
+ margin-left: 1rem;
61
+ margin-top: 0;
81
62
  }
82
63
  }
83
64
  }
@@ -7,10 +7,9 @@
7
7
  min-height: 3.5rem;
8
8
  /* border-radius: 1rem; */
9
9
 
10
- font-size: 0.75rem;
11
- font-weight: bold;
12
- letter-spacing: 0.09375rem;
13
- text-transform: uppercase;
10
+ font-size: 0.875rem;
11
+ line-height: 1rem;
12
+ font-weight: 500;
14
13
 
15
14
  background-color: rgba(var(--btn-bg), var(--btn-bg-opacity, 1));
16
15
  color: rgba(var(--btn-fg), 1);
@@ -3,7 +3,7 @@
3
3
  font-size: theme('fontSize.sm');
4
4
  @apply bg-mono-900;
5
5
  border: none;
6
- border-radius: 1rem;
6
+ border-radius: 0.625rem;
7
7
 
8
8
  /* & .aw-slider__scroller {
9
9
  padding: theme('spacing.1') 0;
@@ -22,27 +22,26 @@
22
22
  }
23
23
 
24
24
  &__toggler {
25
- @apply font-bold tracking-widest;
26
-
27
25
  position: relative;
28
26
  flex-shrink: 0;
29
27
  padding: 0;
30
28
  min-width: theme('spacing.8');
31
29
  white-space: nowrap;
32
30
 
33
- font-size: 0.625rem;
34
- line-height: 1.6;
31
+ font-size: 1rem;
32
+ line-height: 1rem;
33
+ font-weight: 400;
35
34
  border-radius: 0;
36
35
  border-top: 2px solid var(--c-mono-800);
37
36
  border-bottom: 2px solid var(--c-mono-800);
38
37
 
39
38
  &:first-child {
40
- border-radius: 1rem 0 0 1rem;
39
+ border-radius: 0.625rem 0 0 0.625rem;
41
40
  border-left: 2px solid var(--c-mono-800);
42
41
  }
43
42
 
44
43
  &:last-child {
45
- border-radius: 0 1rem 1rem 0;
44
+ border-radius: 0 0.625rem 0.625rem 0;
46
45
  border-right: 2px solid var(--c-mono-800);
47
46
  }
48
47
 
@@ -53,40 +52,19 @@
53
52
  }
54
53
 
55
54
  &__toggler > span {
56
- @apply uppercase;
57
-
58
- padding: theme('spacing.1') 1rem;
55
+ padding: 1.125rem 1.25rem;
59
56
  width: 100%;
60
- border-radius: calc(1rem - 2px);
57
+ border-radius: 0.5rem;
61
58
  min-height: 2.75rem;
62
59
  }
63
60
 
64
- &__toggler > span:before {
65
- @apply bg-mono-700 hidden;
66
- content: '';
67
- position: absolute;
68
- left: 0;
69
- top: theme('spacing.1');
70
- bottom: theme('spacing.1');
71
- width: 1px;
72
- display: block;
73
- }
74
-
75
- &__toggler:first-child > span:before {
76
- content: none;
77
- }
78
-
79
61
  &__toggler:focus, &__toggler > span:focus {
80
62
  outline: none;
81
63
  }
82
64
 
83
- &__toggler:focus > span {
84
- outline: theme('focusOutline', 'none');
85
- }
86
-
87
65
  &__toggler_active > span {
88
66
  @apply bg-surface;
89
- border-radius: theme('borderRadius.default');
67
+ border-radius: 0.5rem;
90
68
  box-shadow: theme('boxShadow.default');
91
69
  }
92
70
 
@@ -139,7 +117,7 @@
139
117
  border: 4px solid var(--c-mono-800);
140
118
 
141
119
  & > span {
142
- border-radius: calc(1rem - 4px);
120
+ border-radius: 0.5rem;
143
121
  min-height: 2.5rem;
144
122
  }
145
123
  }
@@ -176,7 +154,8 @@
176
154
 
177
155
  & > span {
178
156
  min-height: 2.25rem;
179
- border-radius: calc(0.625rem - 2px);
157
+ border-radius: 0.5rem;
158
+ padding: 0.875rem 1.25rem;
180
159
  }
181
160
  }
182
161
 
@@ -185,7 +164,7 @@
185
164
  border: 2px solid var(--c-mono-800);
186
165
 
187
166
  & > span {
188
- border-radius: calc(0.625rem - 2px);
167
+ border-radius: 0.5rem;
189
168
  min-height: 2.25rem;
190
169
  }
191
170
  }
@@ -19,4 +19,26 @@
19
19
  }
20
20
  }
21
21
  }
22
+
23
+ .aw-button {
24
+ .aw-button__text {
25
+ display: none;
26
+ }
27
+ }
28
+ }
29
+
30
+ @screen lg {
31
+ .aw-context-menu {
32
+ &--text {
33
+ .aw-icon {
34
+ margin-right: 0.5rem;
35
+ }
36
+ }
37
+
38
+ .aw-button {
39
+ .aw-button__text {
40
+ display: flex;
41
+ }
42
+ }
43
+ }
22
44
  }
@@ -0,0 +1,6 @@
1
+ .aw-label {
2
+ @apply whitespace-no-wrap leading-none relative inline-block rounded-lg text-xs;
3
+
4
+ color: var(--aw-label-on-color, var(--c-on-surface, '#121212'));
5
+ background-color: var(--aw-label-bg, var(--c-surface, '#fafafa'));
6
+ }
@@ -26,6 +26,7 @@
26
26
  &__text {
27
27
  font-size: 1rem;
28
28
  line-height: 1.5rem;
29
+ margin-right: 1rem;
29
30
  }
30
31
 
31
32
  &__description {
@@ -40,6 +41,5 @@
40
41
  &__arrow {
41
42
  margin-left: auto;
42
43
  flex: none;
43
- color: var(--c-on-surface);
44
44
  }
45
45
  }
@@ -40,7 +40,6 @@
40
40
  }
41
41
 
42
42
  &__arrow {
43
- color: var(--c-on-surface);
44
43
  flex: none;
45
44
  }
46
45
  }
@@ -3,10 +3,11 @@
3
3
 
4
4
  h3, h4 {
5
5
  color: var(--c-mono-400);
6
- font-size: inherit;
7
- text-transform: uppercase;
8
- padding: 0.625rem 1.875rem 0;
9
- margin-bottom: 0.5rem;
6
+ font-size: 0.875rem;
7
+ line-height: 1rem;
8
+ font-weight: bold;
9
+ padding: 0 1.5rem;
10
+ margin-bottom: 1rem;
10
11
  }
11
12
 
12
13
  ol, ul {
@@ -28,8 +29,8 @@
28
29
 
29
30
  position: absolute;
30
31
  top: 0;
31
- left: 1.875rem;
32
- right: 1.875rem;
32
+ left: 1.5rem;
33
+ right: 1.5rem;
33
34
  }
34
35
  }
35
36
 
@@ -38,7 +38,8 @@
38
38
  }
39
39
 
40
40
  &__submenu-title {
41
- margin: 0 0 0 0.9375rem;
41
+ margin: 1rem 0 1.5rem;
42
+ padding: 0 1.5rem;
42
43
  }
43
44
 
44
45
  &__user {
@@ -61,13 +62,12 @@
61
62
 
62
63
  position: absolute;
63
64
  bottom: 0;
64
- left: 1.875rem;
65
- right: 1.875rem;
65
+ left: 1.5rem;
66
+ right: 1.5rem;
66
67
  }
67
68
 
68
69
  .aw-avatar {
69
70
  --ui-avatar-size: 2.5rem !important;
70
- --ui-avatar-font-size: 1.875rem !important;
71
71
  }
72
72
 
73
73
  &-name {
@@ -77,6 +77,11 @@
77
77
  font-weight: 400;
78
78
  }
79
79
 
80
+ &-desc {
81
+ font-size: 0.875rem;
82
+ line-height: 1rem;
83
+ }
84
+
80
85
  &-link {
81
86
  color: inherit;
82
87
  grid-column: 3;
@@ -119,6 +124,12 @@
119
124
 
120
125
  &-switcher {
121
126
  margin-left: auto;
127
+ padding-top: 0;
128
+ padding-bottom: 0;
129
+
130
+ .aw-switch-field__switch {
131
+ margin: 0.1875rem;
132
+ }
122
133
  }
123
134
  }
124
135
 
@@ -156,7 +167,7 @@
156
167
  }
157
168
 
158
169
  &__menu {
159
- margin-bottom: 1.25rem;
170
+ margin-bottom: 1.5rem;
160
171
  }
161
172
 
162
173
  &--root &__menu h3 {
@@ -178,7 +189,13 @@
178
189
 
179
190
  &__back.aw-button,
180
191
  &__close.aw-button {
181
- width: 3rem;
182
- height: 3rem;
192
+ display: flex;
193
+ align-items: center;
194
+ justify-content: center;
195
+ border-radius: 0.625rem;
196
+
197
+ .aw-button__overlay {
198
+ border-radius: 0.625rem;
199
+ }
183
200
  }
184
201
  }
@@ -82,7 +82,11 @@ $modal-aside-width-large: 75vw;
82
82
  }
83
83
 
84
84
  &__title {
85
- @apply m-0 pr-6 text-left text-xl leading-tight font-heading font-medium truncate;
85
+ @apply m-0 pr-6 text-left leading-tight font-heading truncate;
86
+
87
+ font-size: 1.25rem;
88
+ line-height: 1.5rem;
89
+ font-weight: 700;
86
90
  }
87
91
 
88
92
  &__subtitle {
@@ -18,20 +18,26 @@
18
18
 
19
19
  &__toggler {
20
20
  @apply p-1;
21
- margin-left: -1.75rem;
21
+ margin-left: auto;
22
+ margin-right: 1.25rem;
22
23
 
23
24
  svg {
24
- transform: rotate(-180deg);
25
+ @apply text-mono-400;
26
+
27
+ transform: rotate(180deg);
25
28
  transition: 240ms transform;
26
29
  }
27
30
 
28
31
  &--open svg {
29
- transform: rotate(-90deg);
32
+ @apply text-on-surface;
33
+
34
+ transform: rotate(90deg);
30
35
  }
31
36
  }
32
37
 
33
38
  &__child {
34
39
  max-width: 100%;
40
+ min-width: 0;
35
41
  color: inherit;
36
42
  @apply flex items-center py-2 px-8;
37
43
 
@@ -58,7 +58,7 @@
58
58
  */
59
59
 
60
60
  .aw-page {
61
- @apply bg-mono-900;
61
+ @apply bg-page-bg;
62
62
  width: 100%;
63
63
  min-height: 100vh;
64
64
  /* min-height: -webkit-fill-available; */
@@ -40,6 +40,7 @@
40
40
  .aw-text-field__element,
41
41
  input {
42
42
  border-radius: 0.625rem;
43
+ height: 2.375rem;
43
44
  }
44
45
  }
45
46
  }
@@ -235,6 +235,10 @@
235
235
  .aw-table__scroller {
236
236
  @apply rounded-t-none;
237
237
  }
238
+
239
+ .aw-table-builder__empty-filter-container, .aw-table-builder__empty-container {
240
+ @apply rounded-t-none;
241
+ }
238
242
  }
239
243
  }
240
244
  }
@@ -54,9 +54,7 @@
54
54
  }
55
55
  }
56
56
 
57
- :root[data-dark="true"] {
58
- .aw-tooltip {
59
- background-color: var(--c-surface);
60
- color: rgba(var(--c-on-surface-rgb), 0.9);
61
- }
57
+ :where(:root[data-dark='true']) .aw-tooltip {
58
+ background-color: var(--c-surface);
59
+ color: rgba(var(--c-on-surface-rgb), 0.9);
62
60
  }
@@ -15,7 +15,7 @@ export default {
15
15
  'menu-dots':
16
16
  'M5.46 7.13a1.67 1.67 0 1 0 0-3.33 1.67 1.67 0 0 0 0 3.33Zm1.67 7.48a1.67 1.67 0 1 1-3.33 0 1.67 1.67 0 0 1 3.33 0Zm7.49-7.48a1.67 1.67 0 1 0 0-3.33 1.67 1.67 0 0 0 0 3.33Zm1.66 7.48a1.67 1.67 0 1 1-3.33 0 1.67 1.67 0 0 1 3.33 0Z',
17
17
  search:
18
- 'M18.8 17.7l-4.3-4.3a7.6 7.6 0 10-1 1l4.2 4.4c.3.3.8.3 1 0 .4-.3.4-.8 0-1zm-10.2-3a6 6 0 110-12.2 6 6 0 010 12.2z',
18
+ 'M8.3 2.3A6 6 0 0 1 13 12l4.1 4.1a.6.6 0 0 1 0 .9.6.6 0 0 1-.8 0l-4.2-4a6 6 0 0 1-7.9-.4A6 6 0 0 1 8.3 2.3Zm0 1.2a4.8 4.8 0 1 0 0 9.6 4.8 4.8 0 0 0 0-9.6Z',
19
19
  eye:
20
20
  'M10 3.33C4 3.33.2 9.47.13 9.6A.67.67 0 000 10c.01.12.06.24.13.33 0 0 3.2 6.34 9.87 6.34 6.67 0 9.87-6.2 9.87-6.27a.67.67 0 000-.8c-.07-.13-3.94-6.27-9.87-6.27zm0 2a4.67 4.67 0 110 9.34 4.67 4.67 0 010-9.34zM10 8a2 2 0 100 4 2 2 0 000-4z',
21
21
  'eye-no':
@@ -6,11 +6,12 @@ export default {
6
6
  accent: '#56af40',
7
7
  success: '#56af40',
8
8
  info: '#1d6ec5',
9
- notify: '#FFC230',
9
+ notify: '#ffc230',
10
10
  warning: '#fc8800',
11
- error: '#E9555B',
11
+ error: '#e9555b',
12
12
 
13
13
  surface: '#fff',
14
+ 'page-bg': '#f3f5f7',
14
15
  overlay: 'rgba(20, 23, 29, 0.4)',
15
16
  link: '#56af40',
16
17
 
@@ -25,7 +26,19 @@ export default {
25
26
  'mono-700': '#d7dbde',
26
27
  'mono-800': '#e7eaed',
27
28
  'mono-900': '#f3f5f7',
28
- 'mono-1000': '#fff'
29
+ 'mono-1000': '#fff',
30
+
31
+ red: '#fed9d9',
32
+ peach: '#ffe9e3',
33
+ yellow: '#fff2d9',
34
+ magenta: '#fddae9',
35
+ purple: '#ece1fc',
36
+ 'light-blue': '#daf4fe',
37
+ blue: '#e0e8ff',
38
+ green: '#ddefd9',
39
+ lime: '#f1f5d9',
40
+ grey: '#eceded',
41
+ 'light-grey': '#ecf0f5'
29
42
  },
30
43
 
31
44
  onColors: {
@@ -38,6 +51,7 @@ export default {
38
51
  error: '#fff',
39
52
 
40
53
  surface: '#14171d',
54
+ 'page-bg': '#14171d',
41
55
  overlay: '#fff',
42
56
  link: '#fff',
43
57
 
@@ -52,36 +66,61 @@ export default {
52
66
  'mono-700': '#333',
53
67
  'mono-800': '#333',
54
68
  'mono-900': '#383868',
55
- 'mono-1000': '#333'
69
+ 'mono-1000': '#333',
70
+
71
+ red: '#fa0000',
72
+ peach: '#ff6f41',
73
+ yellow: '#ffa800',
74
+ magenta: '#f4056c',
75
+ purple: '#8338ec',
76
+ 'light-blue': '#0ab7fa',
77
+ blue: '#2d67ff',
78
+ green: '#2bb611',
79
+ lime: '#a4bf00',
80
+ grey: '#565656',
81
+ 'light-grey': '#8b9aab'
56
82
  }
57
83
  },
58
84
  dark: {
59
85
  colors: {
60
- brand: '#1E1E1E',
61
- 'brand-tuned': '#1E1E1E',
86
+ brand: '#1e1e1e',
87
+ 'brand-tuned': '#1e1e1e',
62
88
  accent: '#56af40',
63
89
  success: '#56af40',
64
- info: '#4A7FE4',
65
- notify: '#FFC230',
90
+ info: '#4a7fe4',
91
+ notify: '#ffc230',
66
92
  warning: '#fc8800',
67
- error: '#E9555B',
93
+ error: '#e9555b',
68
94
 
69
95
  surface: '#313236',
96
+ 'page-bg': '#1e1e1e',
70
97
  overlay: 'rgba(0, 0, 0, 0.5)',
71
98
  link: '#56af40',
72
99
 
73
- 'mono-0': '#000',
74
- 'mono-50': '#fff',
75
- 'mono-100': '#14171d',
76
- 'mono-200': '#313236',
77
- 'mono-300': '#9A9A9A',
78
- 'mono-400': '#9A9A9A',
79
- 'mono-500': '#9A9A9A',
80
- 'mono-600': '#9A9A9A',
81
- 'mono-700': '#9A9A9A',
82
- 'mono-800': '#383838',
83
- 'mono-900': '#1E1E1E',
84
- 'mono-1000': '#1E1E1E'
100
+ 'mono-0': '#fff',
101
+ 'mono-50': '#f3f5f7',
102
+ 'mono-100': '#e7eaed',
103
+ 'mono-200': '#d7dbde',
104
+ 'mono-300': '#c1c4c7',
105
+ 'mono-400': '#838587',
106
+ 'mono-500': '#838587',
107
+ 'mono-600': '#595d62',
108
+ 'mono-700': '#46474a',
109
+ 'mono-800': '#373c46',
110
+ 'mono-900': '#383838',
111
+ 'mono-1000': '#313236',
112
+
113
+ red: '#431c1c',
114
+ peach: '#33160d',
115
+ yellow: '#3a2e17',
116
+ magenta: '#310116',
117
+ purple: '#271147',
118
+ 'light-blue': '#022532',
119
+ blue: '#202b49',
120
+ green: '#24331b',
121
+ lime: '#212600',
122
+ grey: '#060709',
123
+ 'light-grey': '#2c2e34'
85
124
  },
86
125
 
87
126
  onColors: {
@@ -94,21 +133,44 @@ export default {
94
133
  error: '#fff',
95
134
 
96
135
  surface: '#fff',
136
+ 'page-bg': '#fff',
97
137
  overlay: '#fff',
98
138
  link: '#fff',
99
139
 
100
- 'mono-0': '#fff',
101
- 'mono-50': '#161616',
102
- 'mono-100': '#161616',
103
- 'mono-200': '#fff',
104
- 'mono-300': '#fff',
105
- 'mono-400': '#9A9A9A',
106
- 'mono-500': '#161616',
107
- 'mono-600': '#161616',
108
- 'mono-700': '#313236',
140
+ 'mono-0': '#1e1e1e',
141
+ 'mono-50': '#1e1e1e',
142
+ 'mono-100': '#1e1e1e',
143
+ 'mono-200': '#1e1e1e',
144
+ 'mono-300': '#1e1e1e',
145
+ 'mono-400': '#1e1e1e',
146
+ 'mono-500': '#1e1e1e',
147
+ 'mono-600': '#fff',
148
+ 'mono-700': '#fff',
109
149
  'mono-800': '#fff',
110
150
  'mono-900': '#fff',
111
- 'mono-1000': '#fff'
151
+ 'mono-1000': '#fff',
152
+
153
+ red: '#fa0000',
154
+ peach: '#ff6f41',
155
+ yellow: '#ffa800',
156
+ magenta: '#f4056c',
157
+ purple: '#8338ec',
158
+ 'light-blue': '#0ab7fa',
159
+ blue: '#2d67ff',
160
+ green: '#2bb611',
161
+ lime: '#a4bf00',
162
+ grey: '#565656',
163
+ 'light-grey': '#8b9aab'
112
164
  }
113
165
  }
114
166
  }
167
+
168
+ export const toColor = (color) =>
169
+ (color || '').startsWith('#')
170
+ ? color
171
+ : `var(--c-${(color || '').toLowerCase()})`
172
+
173
+ export const toOnColor = (color) =>
174
+ (color || '').startsWith('#')
175
+ ? color
176
+ : `var(--c-on-${(color || '').replace(/^on-?/, '').toLowerCase()})`
@@ -1,12 +1,11 @@
1
1
  <template>
2
2
  <div
3
3
  v-if="label"
4
- class="whitespace-no-wrap leading-none relative inline-block rounded-lg bg-surface text-xs"
4
+ class="aw-label"
5
+ :style="styleVariables"
5
6
  >
6
7
  <span
7
- :class="`text-${color}`"
8
- class="relative inline-flex items-center leading-5 px-2 rounded-lg"
9
- :style="{ backgroundColor: `rgba(var(--c-${color}-rgb), .2)` }"
8
+ class="aw-label__wrapper relative inline-flex items-center leading-5 px-2 rounded-lg"
10
9
  >
11
10
  <AwIcon
12
11
  v-if="_icon === 'circle'"
@@ -44,6 +43,7 @@
44
43
 
45
44
  <script>
46
45
  import ICONS from '@AwUtils/icons/mono'
46
+ import { toColor, toOnColor } from '@AwUtils/styles'
47
47
 
48
48
  export default {
49
49
  name: 'AwLabel',
@@ -56,7 +56,12 @@ export default {
56
56
 
57
57
  color: {
58
58
  type: String,
59
- default: 'success'
59
+ default: 'green'
60
+ },
61
+
62
+ onColor: {
63
+ type: String,
64
+ default: ''
60
65
  },
61
66
 
62
67
  icon: {
@@ -85,6 +90,23 @@ export default {
85
90
  return this.isSystemIcon(this.iconSecond)
86
91
  ? 'AwIconSystemMono'
87
92
  : 'AwIcon'
93
+ },
94
+
95
+ isCustomColor() {
96
+ return this.color && this.color !== 'default'
97
+ },
98
+
99
+ styleVariables() {
100
+ return {
101
+ '--aw-label-bg': this.isCustomColor
102
+ ? toColor(this.color)
103
+ : null,
104
+ '--aw-label-on-color': this.onColor
105
+ ? toColor(this.onColor)
106
+ : this.isCustomColor
107
+ ? toOnColor(this.color)
108
+ : null
109
+ }
88
110
  }
89
111
  },
90
112
 
@@ -1,5 +1,9 @@
1
1
  <template>
2
- <div class="aw-alert" :style="styleVariables">
2
+ <div
3
+ class="aw-alert"
4
+ :class="{ 'aw-alert--color-default': isDefaultColor }"
5
+ :style="styleVariables"
6
+ >
3
7
  <AwDescription tag="div" class="aw-alert__title">
4
8
  <span v-if="icon || $scopedSlots.icon" class="aw-alert__icon">
5
9
  <slot name="icon">
@@ -9,19 +13,25 @@
9
13
  :style="{
10
14
  color: iconColor ? `var(--c-${iconColor})` : null
11
15
  }"
16
+ size="24"
12
17
  />
13
18
  </slot>
14
19
  </span>
15
- <slot name="title">{{ title }}</slot>
20
+
21
+ <span class="aw-alert__title-text">
22
+ <slot name="title">{{ title }}</slot>
23
+ </span>
16
24
  </AwDescription>
17
25
 
18
- <div class="aw-alert__buttons">
26
+ <div v-if="$scopedSlots.default" class="aw-alert__buttons">
19
27
  <slot />
20
28
  </div>
21
29
  </div>
22
30
  </template>
23
31
 
24
32
  <script>
33
+ import { toColor, toOnColor } from '@AwUtils/styles'
34
+
25
35
  export default {
26
36
  name: 'AwAlert',
27
37
 
@@ -33,7 +43,7 @@ export default {
33
43
 
34
44
  color: {
35
45
  type: String,
36
- default: ''
46
+ default: 'default'
37
47
  },
38
48
 
39
49
  onColor: {
@@ -53,17 +63,24 @@ export default {
53
63
  },
54
64
 
55
65
  computed: {
66
+ isCustomColor() {
67
+ return this.color && this.color !== 'default'
68
+ },
69
+
70
+ isDefaultColor() {
71
+ return this.color === 'default'
72
+ },
73
+
56
74
  styleVariables() {
57
75
  return {
58
- '--aw-alert-bg': this.color
59
- ? `var(--c-${this.color})`
60
- : 'current',
61
- '--aw-alert-border': this.onColor
62
- ? `var(--c-${this.onColor})`
63
- : 'var(--c-mono-800)',
76
+ '--aw-alert-bg': this.isCustomColor
77
+ ? toColor(this.color)
78
+ : null,
64
79
  '--aw-alert-on-color': this.onColor
65
- ? `var(--c-${this.onColor})`
66
- : 'current'
80
+ ? toColor(this.onColor)
81
+ : this.isCustomColor
82
+ ? toOnColor(this.color)
83
+ : null
67
84
  }
68
85
  }
69
86
  }
@@ -80,6 +80,7 @@ export default {
80
80
  text: this.text
81
81
  },
82
82
  staticClass: this.buttonClass,
83
+ class: { 'aw-context-menu--text': this.text },
83
84
  attrs: {
84
85
  'data-arrow-focus': ''
85
86
  },
@@ -14,7 +14,8 @@
14
14
  <AwIconSystemMono
15
15
  v-if="!$route.query[param]"
16
16
  name="search"
17
- class="aw-search__icon-default h-full w-10 p-3"
17
+ class="aw-search__icon-default mr-4"
18
+ size="24"
18
19
  />
19
20
  <button
20
21
  v-else
@@ -13,7 +13,7 @@
13
13
  <slot v-if="!isWatchParamsPresent" name="empty-container">
14
14
  <!-- Block with icon, headline and slot for button. -->
15
15
  <AwCard
16
- class="flex items-center justify-center min-h-full mb-5"
16
+ class="aw-table-builder__empty-container flex items-center justify-center min-h-full mb-5"
17
17
  :class="`h-${defaultHeight}`"
18
18
  >
19
19
  <div class="text-center">
@@ -46,7 +46,7 @@
46
46
  <slot v-if="isWatchParamsPresent" name="empty-filter-container">
47
47
  <!-- Block with icon, headline and slot for button. -->
48
48
  <AwCard
49
- class="flex items-center justify-center min-h-full mb-5"
49
+ class="aw-table-builder__empty-filter-container flex items-center justify-center min-h-full mb-5"
50
50
  :class="`h-${defaultHeight}`"
51
51
  >
52
52
  <div class="text-center">
@@ -4,7 +4,6 @@
4
4
  <AwContextMenu
5
5
  v-if="splitButtons.dropdown.length"
6
6
  class="aw-page-menu-buttons__aw-context-menu"
7
- vertical
8
7
  :options="$options.dropdownOptions"
9
8
  :text="$t('More')"
10
9
  >
@@ -229,7 +229,7 @@ export default {
229
229
 
230
230
  return acc.concat({
231
231
  ...pick(
232
- 'icon,iconBg,iconActive,class,expanded,target,rel,listeners,abstract,key,badge,back,isDivide,arrow',
232
+ 'icon,iconBg,iconActive,class,expanded,target,rel,listeners,abstract,key,badge,back,isDivide,arrow,hideText',
233
233
  props
234
234
  ),
235
235
  text,
@@ -19,7 +19,7 @@
19
19
  class="aw-icon-menu-item__icon"
20
20
  />
21
21
 
22
- <span class="aw-icon-menu-item__text">
22
+ <span v-if="!hideText" class="aw-icon-menu-item__text">
23
23
  {{ text }}
24
24
  </span>
25
25
 
@@ -10,31 +10,26 @@
10
10
  @click="_closeOnLinkClick"
11
11
  >
12
12
  <div class="aw-mobile-menu__header">
13
- <template v-if="submenuOpened">
14
- <!-- back button -->
15
- <AwButton
16
- theme="ghost"
17
- color="default"
18
- class="aw-mobile-menu__back w-10 h-10 flex-shrink-0"
19
- content-class="p-2"
20
- @click="submenuOpened = false"
21
- >
22
- <template #icon>
23
- <AwIconSystemMono name="arrow" size="16" />
24
- </template>
25
- <span class="sr-only">
26
- {{ $t('Back') }}
27
- </span>
28
- </AwButton>
29
-
30
- <!-- subtitle -->
31
- <AwHeadline
32
- v-if="submenuTitle"
33
- class="aw-mobile-menu__submenu-title truncate pr-2"
34
- >
35
- {{ submenuTitle }}
36
- </AwHeadline>
37
- </template>
13
+ <!-- back button -->
14
+ <AwButton
15
+ v-if="submenuOpened"
16
+ theme="ghost"
17
+ color="default"
18
+ class="aw-mobile-menu__back w-10 h-10 flex-shrink-0"
19
+ content-class="p-2"
20
+ @click="submenuOpened = false"
21
+ >
22
+ <template #icon>
23
+ <AwIconSystemMono
24
+ name="arrow"
25
+ size="16"
26
+ class="text-mono-400"
27
+ />
28
+ </template>
29
+ <span class="sr-only">
30
+ {{ $t('Back') }}
31
+ </span>
32
+ </AwButton>
38
33
 
39
34
  <!-- close button -->
40
35
  <AwButton
@@ -45,7 +40,11 @@
45
40
  @click="show = false"
46
41
  >
47
42
  <template #icon>
48
- <AwIconSystemMono name="close" size="16" />
43
+ <AwIconSystemMono
44
+ name="close"
45
+ size="16"
46
+ class="text-mono-400"
47
+ />
49
48
  </template>
50
49
  <span class="sr-only">
51
50
  {{ $t('Close') }}
@@ -61,6 +60,14 @@
61
60
  />
62
61
  </slot>
63
62
 
63
+ <!-- subtitle -->
64
+ <AwHeadline
65
+ v-if="submenuOpened && submenuTitle"
66
+ class="aw-mobile-menu__submenu-title truncate"
67
+ >
68
+ {{ submenuTitle }}
69
+ </AwHeadline>
70
+
64
71
  <!-- top level menu -->
65
72
  <AwMobileMenuNav
66
73
  v-show="!submenuOpened"
@@ -35,14 +35,14 @@
35
35
  v-if="_linkExternal"
36
36
  name="external"
37
37
  size="24"
38
- class="aw-mobile-menu-item__arrow"
38
+ class="aw-mobile-menu-item__arrow text-on-surface"
39
39
  />
40
40
 
41
41
  <AwIconSystemMono
42
42
  v-else-if="arrow"
43
43
  name="angle"
44
44
  rotate="180"
45
- class="aw-mobile-menu-item__arrow"
45
+ class="aw-mobile-menu-item__arrow text-mono-400"
46
46
  />
47
47
  </slot>
48
48
  </Component>
@@ -41,14 +41,14 @@
41
41
  <AwIconSystemMono
42
42
  v-if="_linkExternal"
43
43
  name="external"
44
- class="aw-mobile-menu-item-new__arrow"
44
+ class="aw-mobile-menu-item-new__arrow text-on-surface"
45
45
  />
46
46
 
47
47
  <AwIconSystemMono
48
48
  v-else-if="arrow"
49
49
  name="angle"
50
50
  rotate="180"
51
- class="aw-mobile-menu-item-new__arrow"
51
+ class="aw-mobile-menu-item-new__arrow text-mono-400"
52
52
  />
53
53
  </slot>
54
54
  </Component>
@@ -29,8 +29,8 @@
29
29
  }"
30
30
  >
31
31
  <Component
32
- :is="profileUrl ? 'NLink' : 'div'"
33
- :to="profileUrl || null"
32
+ :is="profileUrlAttr.is"
33
+ v-bind="profileUrlAttr"
34
34
  class="aw-user-menu__header"
35
35
  >
36
36
  <AwUserpic v-bind="user" big-image />
@@ -102,6 +102,7 @@
102
102
  import { mapGetters } from 'vuex'
103
103
  import { pathOr, viewOr, lensProp, omit, isEmpty, isNil, isType } from 'rambdax'
104
104
  import AwNavItem from '@AwLayouts/_AwNavItem.vue'
105
+ import { LINK_REGEX } from '@AwConfig'
105
106
 
106
107
  export default {
107
108
  name: 'AwUserMenu',
@@ -155,6 +156,28 @@ export default {
155
156
  return isType('Function', profileUrl)
156
157
  ? profileUrl(this.$store.state, this.$store.getters)
157
158
  : profileUrl
159
+ },
160
+
161
+ isExternalProfileUrl() {
162
+ return (
163
+ typeof this.profileUrl === 'string' &&
164
+ this.profileUrl &&
165
+ LINK_REGEX.test(this.profileUrl)
166
+ )
167
+ },
168
+
169
+ profileUrlAttr() {
170
+ if (this.isExternalProfileUrl) {
171
+ return {
172
+ href: this.profileUrl,
173
+ is: 'a'
174
+ }
175
+ } else {
176
+ return {
177
+ to: this.profileUrl || null,
178
+ is: this.profileUrl ? 'NLink' : 'div'
179
+ }
180
+ }
158
181
  }
159
182
  },
160
183
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awes-io/ui",
3
- "version": "2.73.0",
3
+ "version": "2.74.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": "7082e9cda8b1588e4a644c5d802a1819c982de83"
115
+ "gitHead": "fb3404c7bd68d6380cb1bf4e5fc357aa7bdc9bfd"
116
116
  }