@awes-io/ui 2.74.1 → 2.76.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 (46) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/assets/css/components/_index.css +4 -0
  3. package/assets/css/components/alert.css +9 -1
  4. package/assets/css/components/avatar.css +8 -1
  5. package/assets/css/components/birthday-picker.css +11 -1
  6. package/assets/css/components/button-nav.css +4 -7
  7. package/assets/css/components/button.css +25 -8
  8. package/assets/css/components/cropper.css +8 -0
  9. package/assets/css/components/empty-container.css +8 -0
  10. package/assets/css/components/icon-menu-item.css +45 -43
  11. package/assets/css/components/main.css +3 -3
  12. package/assets/css/components/mobile-menu.css +2 -0
  13. package/assets/css/components/nav.css +1 -1
  14. package/assets/css/components/page-header.css +61 -0
  15. package/assets/css/components/page-headline.css +8 -8
  16. package/assets/css/components/page-single.css +186 -0
  17. package/assets/css/components/progress.css +23 -0
  18. package/assets/css/components/select.css +3 -0
  19. package/assets/css/components/switch-field.css +51 -23
  20. package/assets/css/components/table.css +44 -28
  21. package/assets/css/components/tags.css +6 -4
  22. package/assets/css/components/text-field.css +31 -10
  23. package/assets/css/components/tooltip.css +1 -1
  24. package/assets/css/components/user-menu.css +27 -2
  25. package/assets/js/constants.js +6 -20
  26. package/components/1_atoms/AwAvatar.vue +39 -8
  27. package/components/1_atoms/AwProgress.vue +68 -0
  28. package/components/1_atoms/AwSwitcher.vue +1 -4
  29. package/components/2_molecules/AwAlert.vue +1 -1
  30. package/components/2_molecules/AwEmptyContainer.vue +104 -0
  31. package/components/3_organisms/AwCropper.vue +4 -1
  32. package/components/3_organisms/AwIslandAvatar.vue +10 -1
  33. package/components/3_organisms/AwTags.vue +1 -1
  34. package/components/4_pages/AwPage.vue +3 -41
  35. package/components/4_pages/AwPageSingle.vue +219 -0
  36. package/components/4_pages/_AwPageHeader.vue +64 -0
  37. package/components/5_layouts/_AwMenuItemIcon.vue +8 -2
  38. package/components/5_layouts/_AwMobileMenu.vue +1 -0
  39. package/components/5_layouts/_AwMobileMenuNav.vue +4 -2
  40. package/components/5_layouts/_AwUserMenu.vue +29 -2
  41. package/mixins/page.js +58 -0
  42. package/nuxt/awes.config.js +2 -2
  43. package/package.json +3 -2
  44. package/tailwind/colors.js +2 -2
  45. package/tailwind/container.js +1 -1
  46. package/tailwind.config.js +4 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,30 @@
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.76.0](https://github.com/awes-io/client/compare/@awes-io/ui@2.75.0...@awes-io/ui@2.76.0) (2023-10-25)
7
+
8
+
9
+ ### Features
10
+
11
+ * add square classes for cropper and avatar ([ed653b7](https://github.com/awes-io/client/commit/ed653b722f898234636cac914b26f6b40a10e240))
12
+ * aw-page-single component added ([10f90ee](https://github.com/awes-io/client/commit/10f90eecfe17e2942dd1562c32f3c90626cfb0c3))
13
+
14
+
15
+
16
+
17
+
18
+ # [2.75.0](https://github.com/awes-io/client/compare/@awes-io/ui@2.74.1...@awes-io/ui@2.75.0) (2023-10-12)
19
+
20
+
21
+ ### Features
22
+
23
+ * change style for alert, button nav and change menu logic ([62f96d8](https://github.com/awes-io/client/commit/62f96d84af39dee2bd1e5569451cb57901d262fa))
24
+ * partial dark theme support ([b3d1a9b](https://github.com/awes-io/client/commit/b3d1a9bbb009bf6a447f6ee748d9165450f33dbe))
25
+
26
+
27
+
28
+
29
+
6
30
  ## [2.74.1](https://github.com/awes-io/client/compare/@awes-io/ui@2.74.0...@awes-io/ui@2.74.1) (2023-10-11)
7
31
 
8
32
 
@@ -31,6 +31,7 @@
31
31
  @import './context-menu.css';
32
32
  @import './description.css';
33
33
  @import './download-link.css';
34
+ @import './empty-container.css';
34
35
 
35
36
  @import './dropdown.css';
36
37
  @import './dropdown-button.css';
@@ -65,7 +66,10 @@
65
66
  @import './page.css';
66
67
  @import './page-modal.css';
67
68
  @import './page-menu-buttons.css';
69
+ @import './page-header.css';
68
70
  @import './page-headline.css';
71
+ @import './page-single.css';
72
+ @import './progress.css';
69
73
 
70
74
  @import './modal.css';
71
75
  @import './model-edit.css';
@@ -34,9 +34,17 @@
34
34
  font-size: 0.875rem;
35
35
 
36
36
  .aw-icon,
37
- a {
37
+ a, button {
38
38
  color: var(--aw-alert-on-color);
39
39
  }
40
+
41
+ a, button {
42
+ white-space: nowrap;
43
+ }
44
+
45
+ a {
46
+ text-decoration: underline;
47
+ }
40
48
  }
41
49
 
42
50
  &--title-start {
@@ -13,6 +13,14 @@
13
13
  min-height: var(--ui-avatar-size, 2.25rem);
14
14
  border-radius: var(--ui-avatar-size, 2.25rem);
15
15
 
16
+ &--square {
17
+ border-radius: 20%;
18
+
19
+ &.aw-avatar > * {
20
+ border-radius: 20%;
21
+ }
22
+ }
23
+
16
24
  & > * {
17
25
  grid-row: 1 / -1;
18
26
  grid-column: 1 / -1;
@@ -27,7 +35,6 @@
27
35
  }
28
36
 
29
37
  & > :not(img):not(&__no-img-icon) {
30
- @apply bg-mono-400 text-on-overlay;
31
38
  text-align: center;
32
39
  font-size: var(--ui-avatar-font-size);
33
40
  }
@@ -1,9 +1,15 @@
1
1
  .aw-birthday-picker {
2
+ .aw-select__dropdown {
3
+ min-width: auto;
4
+ }
5
+
2
6
  &__wrap {
3
- @apply border rounded bg-surface justify-between;
7
+ @apply border bg-surface justify-between;
4
8
  display: flex;
5
9
  align-items: center;
6
10
  text-align: center;
11
+ border-radius: 0.625rem;
12
+ margin-top: 0.5rem;
7
13
  transition: 200ms border-color;
8
14
 
9
15
  &.has-error {
@@ -23,6 +29,10 @@
23
29
  border-radius: 0;
24
30
  flex: 1 1 auto;
25
31
 
32
+ input {
33
+ border-radius: 0.5rem;
34
+ }
35
+
26
36
  & + & {
27
37
  @apply border-l;
28
38
  border-top-left-radius: 0;
@@ -1,7 +1,6 @@
1
1
  .aw-button-nav {
2
2
  display: inline-flex;
3
3
  font-size: theme('fontSize.sm');
4
- @apply bg-mono-900;
5
4
  border: none;
6
5
  border-radius: 0.625rem;
7
6
 
@@ -22,6 +21,8 @@
22
21
  }
23
22
 
24
23
  &__toggler {
24
+ @apply bg-mono-800;
25
+
25
26
  position: relative;
26
27
  flex-shrink: 0;
27
28
  padding: 0;
@@ -52,10 +53,9 @@
52
53
  }
53
54
 
54
55
  &__toggler > span {
55
- padding: 1.125rem 1.25rem;
56
+ padding: 0.875rem 1.25rem;
56
57
  width: 100%;
57
58
  border-radius: 0.5rem;
58
- min-height: 2.75rem;
59
59
  }
60
60
 
61
61
  &__toggler:focus, &__toggler > span:focus {
@@ -118,7 +118,6 @@
118
118
 
119
119
  & > span {
120
120
  border-radius: 0.5rem;
121
- min-height: 2.5rem;
122
121
  }
123
122
  }
124
123
  }
@@ -153,9 +152,8 @@
153
152
  }
154
153
 
155
154
  & > span {
156
- min-height: 2.25rem;
157
155
  border-radius: 0.5rem;
158
- padding: 0.875rem 1.25rem;
156
+ padding: 0.625rem 1.25rem;
159
157
  }
160
158
  }
161
159
 
@@ -165,7 +163,6 @@
165
163
 
166
164
  & > span {
167
165
  border-radius: 0.5rem;
168
- min-height: 2.25rem;
169
166
  }
170
167
  }
171
168
  }
@@ -31,7 +31,7 @@
31
31
  justify-content: center;
32
32
  width: 100%;
33
33
  transition: 100ms opacity;
34
- font-size: 14px;
34
+ font-size: 0.875rem;
35
35
  line-height: 1.125rem;
36
36
 
37
37
  &:focus {
@@ -82,6 +82,7 @@
82
82
  &:focus > &__content {
83
83
  /* opacity: 0.15; */
84
84
  outline: theme('focusOutline', 'none');
85
+ height: 100%;
85
86
  }
86
87
 
87
88
  /**
@@ -117,13 +118,10 @@
117
118
  }
118
119
 
119
120
  &__content_md {
120
- @apply px-4 text-sm leading-4;
121
+ @apply p-4 text-sm leading-4;
121
122
 
122
- padding-top: 1rem;
123
- padding-bottom: 1rem;
124
123
  min-width: 3rem;
125
124
  min-height: 3rem;
126
- height: 100%;
127
125
  }
128
126
 
129
127
  &.theme-icon &__content_md,
@@ -505,7 +503,7 @@
505
503
  }
506
504
  }
507
505
 
508
- :root[data-dark='true'] {
506
+ [data-dark='true'] {
509
507
  .aw-button {
510
508
  &.theme-ghost.color-default .aw-button__overlay {
511
509
  display: none;
@@ -521,6 +519,22 @@
521
519
  }
522
520
  }
523
521
 
522
+ [data-dark='false'] {
523
+ .aw-button {
524
+ &.theme-ghost.color-default .aw-button__overlay {
525
+ display: block;
526
+ }
527
+
528
+ &.theme-ghost.color-default {
529
+ box-shadow: none;
530
+
531
+ /* &:hover {
532
+ background: var(--c-mono-200);
533
+ } */
534
+ }
535
+ }
536
+ }
537
+
524
538
  .aw-button.theme-solid,
525
539
  .aw-button .aw-button__overlay,
526
540
  .aw-button.theme-circle,
@@ -538,6 +552,10 @@
538
552
  box-shadow: none;
539
553
  }
540
554
 
555
+ .aw-button.color-default .aw-icon {
556
+ @apply text-mono-400;
557
+ }
558
+
541
559
  @screen lg {
542
560
  .aw-button.aw-button_md.theme-solid,
543
561
  .aw-button.aw-button_md .aw-button__overlay,
@@ -550,8 +568,7 @@
550
568
  }
551
569
 
552
570
  .aw-button__content_md {
553
- padding-top: 0.75rem;
554
- padding-bottom: 0.75rem;
571
+ padding: 0.75rem;
555
572
  min-width: 2.5rem;
556
573
  min-height: 2.5rem;
557
574
  }
@@ -5,6 +5,14 @@
5
5
  margin-left: auto;
6
6
  margin-right: auto;
7
7
 
8
+ &.aw-cropper--square {
9
+ .croppie-container {
10
+ .cr-viewport {
11
+ border-radius: 20%;
12
+ }
13
+ }
14
+ }
15
+
8
16
  &__croppie {
9
17
  position: relative;
10
18
  }
@@ -0,0 +1,8 @@
1
+ .aw-empty-container {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: center;
5
+ gap: 1.5rem;
6
+
7
+ padding: 1.5rem 0;
8
+ }
@@ -12,7 +12,7 @@
12
12
  .aw-icon-menu-item {
13
13
  &__icon,
14
14
  &__text {
15
- color: var(--c-mono-100);
15
+ color: var(--c-mono-100);
16
16
  }
17
17
  }
18
18
  }
@@ -21,44 +21,46 @@
21
21
  .aw-icon-menu-item {
22
22
  &__icon,
23
23
  &__text {
24
- color: var(--c-mono-100);
24
+ color: var(--c-mono-100);
25
25
  }
26
26
  }
27
27
  }
28
28
 
29
29
  &__icon {
30
- display: block;
31
- color: var(--c-mono-300);
32
- transition: 60ms color;
30
+ display: block;
31
+ color: var(--c-mono-300);
32
+ transition: 60ms color;
33
33
 
34
- &-block {
35
- display: flex;
36
- align-items: center;
37
- justify-content: center;
38
- flex-direction: column;
34
+ &-block {
35
+ display: flex;
36
+ align-items: center;
37
+ justify-content: center;
38
+ flex-direction: column;
39
39
 
40
- padding: 0.75rem;
40
+ padding: 0.75rem;
41
41
 
42
- width: 100%;
43
- position: relative;
44
- }
42
+ width: 100%;
43
+ position: relative;
44
+ }
45
45
  }
46
46
 
47
47
  &__text {
48
- display: block;
48
+ display: block;
49
+
50
+ font-size: 0.5rem;
51
+ font-weight: 400;
52
+ line-height: 0.58625rem;
53
+ color: var(--c-mono-300);
54
+ transition: 60ms color;
49
55
 
50
- font-size: 0.5625rem;
51
- font-weight: 400;
52
- line-height: 0.625rem;
53
- color: var(--c-mono-400);
54
- transition: 60ms color;
56
+ text-align: center;
55
57
 
56
- text-align: center;
58
+ white-space: nowrap;
59
+ text-overflow: ellipsis;
60
+ overflow: hidden;
61
+ width: 100%;
57
62
 
58
- white-space: nowrap;
59
- text-overflow: ellipsis;
60
- overflow: hidden;
61
- width: 100%;
63
+ margin-top: 0.25rem;
62
64
  }
63
65
 
64
66
  &__icon-badge {
@@ -88,38 +90,38 @@
88
90
  .aw-icon-menu-item {
89
91
  &--active {
90
92
  &: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);
93
+ border-radius: 0.625rem;
94
+ position: absolute;
95
+ top: 50%;
96
+ left: 50%;
97
+ transform: translate(-50%, -50%);
98
+ width: 3.5rem;
99
+ height: 2.875rem;
100
+ content: '';
101
+ background-color: var(--c-mono-800);
100
102
  }
101
103
  }
102
104
  }
103
105
 
104
- :root[data-dark="true"] {
106
+ [data-dark='true'] {
105
107
  .aw-icon-menu-item {
106
108
  &--active {
107
109
  &:before {
108
- background-color: rgba(var(--c-mono-700-rgb), 0.5);
110
+ background-color: rgba(var(--c-mono-700-rgb), 0.5);
109
111
  }
110
112
  }
111
113
  }
112
114
  }
113
115
  }
114
116
 
115
- :root[data-dark="true"] {
117
+ [data-dark='true'] {
116
118
  .aw-icon-menu-item {
117
119
  &:hover {
118
120
  .aw-icon-menu-item {
119
121
  &__icon,
120
122
  &__text {
121
- color: rgba(var(--c-on-surface-rgb), 0.9)
122
- }
123
+ color: rgba(var(--c-on-surface-rgb), 0.9);
124
+ }
123
125
  }
124
126
  }
125
127
 
@@ -127,17 +129,17 @@
127
129
  .aw-icon-menu-item {
128
130
  &__icon,
129
131
  &__text {
130
- color: rgba(var(--c-on-surface-rgb), 0.9)
131
- }
132
+ color: rgba(var(--c-on-surface-rgb), 0.9);
133
+ }
132
134
  }
133
135
  }
134
136
 
135
137
  &__icon {
136
- color: rgba(var(--c-on-surface-rgb), 0.8)
138
+ color: rgba(var(--c-on-surface-rgb), 0.8);
137
139
  }
138
140
 
139
141
  &__text {
140
- color: var(--c-mono-400);
142
+ color: var(--c-mono-400);
141
143
  }
142
144
  }
143
145
  }
@@ -8,9 +8,9 @@
8
8
 
9
9
  @screen lg {
10
10
  :root {
11
- --header-padding-bottom: 1.5rem;
12
- --header-padding-top: calc(env(safe-area-inset-top, 0px) + var(--header-padding-bottom, 1.5rem));
11
+ --header-padding-bottom: 1rem;
12
+ --header-padding-top: calc(env(safe-area-inset-top, 0px) + var(--header-padding-bottom, 1rem));
13
13
  --header-padding: var(--header-padding-top) var(--header-padding-horizontal) var(--header-padding-bottom);
14
- --header-height: calc(env(safe-area-inset-top, 0px) + 5.5rem);
14
+ --header-height: calc(env(safe-area-inset-top, 0px) + 4.5rem);
15
15
  }
16
16
  }
@@ -68,6 +68,8 @@
68
68
 
69
69
  .aw-avatar {
70
70
  --ui-avatar-size: 2.5rem !important;
71
+ --ui-avatar-font-size: 0.875rem !important;
72
+ font-weight: 900;
71
73
  }
72
74
 
73
75
  &-name {
@@ -66,7 +66,7 @@
66
66
  margin-left: 5px;
67
67
  margin-top: -3px;
68
68
  border-radius: 50%;
69
- background-color: var(--c-accent, green);
69
+ background-color: var(--c-mono-100, green);
70
70
 
71
71
  position: absolute;
72
72
  left: theme('spacing.8');
@@ -0,0 +1,61 @@
1
+ .aw-page-header {
2
+ display: flex;
3
+ align-items: center;
4
+ gap: 1rem;
5
+ padding: var(--header-padding-top) 1.5rem var(--header-padding-bottom);
6
+ height: var(--header-height);
7
+
8
+ position: relative;
9
+
10
+ .aw-progress {
11
+ position: absolute;
12
+ bottom: 2px;
13
+ left: 0;
14
+ }
15
+
16
+ &--primary {
17
+ @apply bg-surface;
18
+ }
19
+
20
+ &__title {
21
+ @apply font-body;
22
+
23
+ flex: 1 0 50%;
24
+
25
+ display: -webkit-box;
26
+ -webkit-line-clamp: 2;
27
+ -webkit-box-orient: vertical;
28
+ overflow: hidden;
29
+
30
+ margin: 0;
31
+
32
+ font-size: 0.875rem;
33
+ line-height: 1.4285;
34
+ font-weight: 700;
35
+ text-align: center;
36
+ }
37
+
38
+ &__breadcrumbs,
39
+ &__buttons {
40
+ flex: 1 1 25%;
41
+
42
+ display: flex;
43
+ gap: 1rem;
44
+ }
45
+
46
+ &__buttons {
47
+ justify-content: flex-end;
48
+ }
49
+ }
50
+
51
+ @screen lg {
52
+ .aw-page-header {
53
+ padding-left: 2.5rem;
54
+ padding-right: 2.5rem;
55
+
56
+ &__title {
57
+ font-size: 1.25rem;
58
+ line-height: 1.2;
59
+ }
60
+ }
61
+ }
@@ -108,27 +108,27 @@
108
108
  }
109
109
 
110
110
  &__back {
111
- border-radius: 0.625rem;
112
- width: 2.5rem;
113
- height: 2.5rem;
111
+ border-radius: 0.625rem;
112
+ width: 2.5rem;
113
+ height: 2.5rem;
114
114
  }
115
115
  }
116
116
  }
117
117
 
118
- :root[data-dark="false"] {
118
+ [data-dark='false'] {
119
119
  .aw-page-headline {
120
120
  &__back {
121
- background: var(--c-mono-800);
122
- color: var(--c-on-mono-800);
121
+ background: var(--c-mono-800);
122
+ color: var(--c-on-mono-800);
123
123
 
124
124
  &:hover {
125
- background: var(--c-mono-700);
125
+ background: var(--c-mono-700);
126
126
  }
127
127
  }
128
128
  }
129
129
  }
130
130
 
131
- :root[data-dark="true"] {
131
+ [data-dark='true'] {
132
132
  .aw-page-headline {
133
133
  &__back {
134
134
  background: var(--c-mono-800);