@kusena/wui-single 18.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.
Files changed (117) hide show
  1. package/README.md +24 -0
  2. package/esm2022/kusena-wui-single.mjs +5 -0
  3. package/esm2022/lib/components/app/app.component.mjs +63 -0
  4. package/esm2022/lib/components/app-bar/app-bar.component.mjs +16 -0
  5. package/esm2022/lib/components/avatar/avatar.component.mjs +35 -0
  6. package/esm2022/lib/components/dialog/dialog.component.mjs +54 -0
  7. package/esm2022/lib/components/drawer/drawer-item.component.mjs +41 -0
  8. package/esm2022/lib/components/drawer/drawer.component.mjs +82 -0
  9. package/esm2022/lib/components/drawer/drawer.directive.mjs +22 -0
  10. package/esm2022/lib/components/form-field/wui-form-field.component.mjs +63 -0
  11. package/esm2022/lib/components/form-field/wui-input.directive.mjs +68 -0
  12. package/esm2022/lib/components/icon/icon.component.mjs +22 -0
  13. package/esm2022/lib/components/list/list.component.mjs +31 -0
  14. package/esm2022/lib/components/loading/loading.component.mjs +60 -0
  15. package/esm2022/lib/components/loading-dialog/loading-dialog.component.mjs +24 -0
  16. package/esm2022/lib/components/menu/menu.component.mjs +134 -0
  17. package/esm2022/lib/components/modal/modal-host.component.mjs +21 -0
  18. package/esm2022/lib/components/modal/modal-overlay.mjs +63 -0
  19. package/esm2022/lib/components/modal/modal.component.mjs +38 -0
  20. package/esm2022/lib/components/nav/nav.component.mjs +85 -0
  21. package/esm2022/lib/components/page/page-host.component.mjs +21 -0
  22. package/esm2022/lib/components/page/page-overlay.service.mjs +63 -0
  23. package/esm2022/lib/components/page/page.component.mjs +23 -0
  24. package/esm2022/lib/components/snackbar/snackbar.component.mjs +65 -0
  25. package/esm2022/lib/components/toggle/toggle.component.mjs +79 -0
  26. package/esm2022/lib/directives/menu.directive.mjs +79 -0
  27. package/esm2022/lib/directives/nav.directive.mjs +78 -0
  28. package/esm2022/lib/directives/num-input.directive.mjs +105 -0
  29. package/esm2022/lib/directives/page-header.directive.mjs +48 -0
  30. package/esm2022/lib/directives/ripple.directive.mjs +87 -0
  31. package/esm2022/lib/directives/scroll-end.directive.mjs +27 -0
  32. package/esm2022/lib/directives/sortable.directive.mjs +99 -0
  33. package/esm2022/lib/index.mjs +39 -0
  34. package/esm2022/lib/services/message.service.mjs +22 -0
  35. package/esm2022/lib/services/modal.service.mjs +26 -0
  36. package/esm2022/lib/services/nav.service.mjs +55 -0
  37. package/esm2022/lib/services/page.service.mjs +38 -0
  38. package/esm2022/lib/services/router.service.mjs +42 -0
  39. package/esm2022/lib/services/wui.service.mjs +43 -0
  40. package/esm2022/lib/wui-single.component.mjs +19 -0
  41. package/esm2022/lib/wui.providers.mjs +20 -0
  42. package/esm2022/public-api.mjs +5 -0
  43. package/fesm2022/kusena-wui-single.mjs +1841 -0
  44. package/fesm2022/kusena-wui-single.mjs.map +1 -0
  45. package/index.d.ts +5 -0
  46. package/lib/components/app/app.component.d.ts +16 -0
  47. package/lib/components/app-bar/app-bar.component.d.ts +5 -0
  48. package/lib/components/avatar/avatar.component.d.ts +10 -0
  49. package/lib/components/dialog/dialog.component.d.ts +9 -0
  50. package/lib/components/drawer/drawer-item.component.d.ts +8 -0
  51. package/lib/components/drawer/drawer.component.d.ts +21 -0
  52. package/lib/components/drawer/drawer.directive.d.ts +7 -0
  53. package/lib/components/form-field/wui-form-field.component.d.ts +13 -0
  54. package/lib/components/form-field/wui-input.directive.d.ts +17 -0
  55. package/lib/components/icon/icon.component.d.ts +7 -0
  56. package/lib/components/list/list.component.d.ts +9 -0
  57. package/lib/components/loading/loading.component.d.ts +9 -0
  58. package/lib/components/loading-dialog/loading-dialog.component.d.ts +8 -0
  59. package/lib/components/menu/menu.component.d.ts +27 -0
  60. package/lib/components/modal/modal-host.component.d.ts +10 -0
  61. package/lib/components/modal/modal-overlay.d.ts +25 -0
  62. package/lib/components/modal/modal.component.d.ts +11 -0
  63. package/lib/components/nav/nav.component.d.ts +17 -0
  64. package/lib/components/page/page-host.component.d.ts +10 -0
  65. package/lib/components/page/page-overlay.service.d.ts +25 -0
  66. package/lib/components/page/page.component.d.ts +5 -0
  67. package/lib/components/snackbar/snackbar.component.d.ts +18 -0
  68. package/lib/components/toggle/toggle.component.d.ts +21 -0
  69. package/lib/directives/menu.directive.d.ts +17 -0
  70. package/lib/directives/nav.directive.d.ts +30 -0
  71. package/lib/directives/num-input.directive.d.ts +27 -0
  72. package/lib/directives/page-header.directive.d.ts +13 -0
  73. package/lib/directives/ripple.directive.d.ts +16 -0
  74. package/lib/directives/scroll-end.directive.d.ts +9 -0
  75. package/lib/directives/sortable.directive.d.ts +19 -0
  76. package/lib/index.d.ts +33 -0
  77. package/lib/services/message.service.d.ts +9 -0
  78. package/lib/services/modal.service.d.ts +13 -0
  79. package/lib/services/nav.service.d.ts +14 -0
  80. package/lib/services/page.service.d.ts +16 -0
  81. package/lib/services/router.service.d.ts +16 -0
  82. package/lib/services/wui.service.d.ts +16 -0
  83. package/lib/wui-single.component.d.ts +5 -0
  84. package/lib/wui.providers.d.ts +2 -0
  85. package/package.json +25 -0
  86. package/public-api.d.ts +1 -0
  87. package/scss/screen/appbar.scss +71 -0
  88. package/scss/screen/avatar.scss +17 -0
  89. package/scss/screen/backdrop.scss +15 -0
  90. package/scss/screen/box.scss +67 -0
  91. package/scss/screen/breadcrumb.scss +34 -0
  92. package/scss/screen/buttons.scss +177 -0
  93. package/scss/screen/core.scss +103 -0
  94. package/scss/screen/drawer.scss +273 -0
  95. package/scss/screen/formfields.scss +288 -0
  96. package/scss/screen/icon.scss +33 -0
  97. package/scss/screen/list.scss +90 -0
  98. package/scss/screen/loading.scss +169 -0
  99. package/scss/screen/menu.scss +120 -0
  100. package/scss/screen/modal.scss +238 -0
  101. package/scss/screen/normalize.scss +340 -0
  102. package/scss/screen/page.scss +115 -0
  103. package/scss/screen/pagination.scss +46 -0
  104. package/scss/screen/ripple.scss +18 -0
  105. package/scss/screen/scrollbar.scss +108 -0
  106. package/scss/screen/searchbox.scss +40 -0
  107. package/scss/screen/selection.scss +190 -0
  108. package/scss/screen/snackbar.scss +25 -0
  109. package/scss/screen/sortable.scss +10 -0
  110. package/scss/screen/table.scss +199 -0
  111. package/scss/screen/tabs.scss +71 -0
  112. package/scss/screen/toogle.scss +79 -0
  113. package/scss/screen/tooltip.scss +16 -0
  114. package/scss/screen/utils.scss +140 -0
  115. package/scss/variables/colors.scss +180 -0
  116. package/scss/variables/defaults.scss +0 -0
  117. package/scss/wui.scss +2 -0
@@ -0,0 +1,288 @@
1
+ @import '../variables/colors.scss';
2
+
3
+ wui-form-field {
4
+ position: relative;
5
+ display: block;
6
+ width: 100%;
7
+ margin-bottom: 1.75rem;
8
+
9
+ .wui-form-field {
10
+
11
+ &-flex {
12
+ display: flex;
13
+ align-items: center;
14
+ z-index: 0;
15
+ width: 100%;
16
+ position: relative;
17
+ height: 3.5rem;
18
+
19
+ &:before {
20
+ content: "";
21
+ display: block;
22
+ height: 1px;
23
+ width: 100%;
24
+ position: absolute;
25
+ bottom: 0; left: 0;
26
+ background-color: #CCC;
27
+ z-index: 0;
28
+ }
29
+
30
+ &:after {
31
+ content: "";
32
+ display: block;
33
+ height: 2px;
34
+ background-color: $theme-primary;
35
+ width: 0;
36
+ left: 50%;
37
+ opacity: 0;
38
+ position: absolute;
39
+ bottom: 0;
40
+ transition: all .15s ease-in-out;
41
+ }
42
+ }
43
+
44
+ &-infix {
45
+ flex: 1 1 auto;
46
+ position: relative;
47
+ display: flex;
48
+ align-items: center;
49
+ height: 100%;
50
+ opacity: 1;
51
+ }
52
+
53
+ &-input {
54
+ &-prefix, &-suffix {
55
+ flex: 0 1 auto;
56
+ display: inline-flex;
57
+ align-items: center;
58
+ }
59
+ }
60
+
61
+ &-input-prefix, &-prefix {
62
+ padding-right: 1rem;
63
+ }
64
+
65
+ &-input-suffix, &-suffix {
66
+ padding-left: 1rem;
67
+ }
68
+
69
+ &-hint {
70
+ margin-top: .5rem;
71
+ font-size: .75rem;
72
+ line-height: 1rem;
73
+ }
74
+ }
75
+
76
+ input, textarea, select {
77
+ -webkit-appearance: none;
78
+ height: 100%;
79
+ width: 100%;
80
+ border: none;
81
+ position: relative;
82
+ z-index: 1;
83
+ background-color: transparent;
84
+ font-family: inherit;
85
+ appearance: none;
86
+ box-sizing: border-box;
87
+ padding: 0;
88
+
89
+ &:-webkit-autofill{
90
+ -webkit-background-clip: text;
91
+ -webkit-text-fill-color: #ffffff;
92
+ }
93
+
94
+ &::placeholder {
95
+ font-family: inherit;
96
+ }
97
+ }
98
+
99
+ textarea {
100
+ height: auto;
101
+ padding: 1.5rem 0 2px;
102
+ width: 100%;
103
+ }
104
+
105
+ select {
106
+ background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink= "http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path fill="rgba(0,0,0,.67)" d="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z" /></svg>');
107
+ background-size: 1.5rem 1.5rem;
108
+ background-repeat: no-repeat;
109
+ background-position: calc(100% - .5rem) 50%;
110
+ }
111
+
112
+ input[type="date"], input[type="datetime-local"] {
113
+ -webkit-appearance: none;
114
+ appearance: none;
115
+ background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink= "http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path fill="rgba(0,0,0,.67)" d="M19,4H18V2H16V4H8V2H6V4H5C3.89,4 3,4.9 3,6V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V6A2,2 0 0,0 19,4M19,20H5V10H19V20M19,8H5V6H19V8M12,13H17V18H12V13Z" /></svg>');
116
+ background-size: 1.5rem 1.5rem;
117
+ background-repeat: no-repeat;
118
+ background-position: calc(100% - .5rem) 50%;
119
+
120
+ &::-webkit-inner-spin-button, &::-webkit-calendar-picker-indicator {
121
+ background: transparent;
122
+ bottom: 0; left: 0; right: 0; top: 0;
123
+ color: transparent;
124
+ cursor: pointer;
125
+ height: auto;
126
+ position: absolute;
127
+ width: auto;
128
+ }
129
+ }
130
+
131
+ label {
132
+ position: absolute;
133
+ left: 0; top: 50%;
134
+ transform: translateY(-50%);
135
+ transition: all .15s ease-in-out;
136
+ }
137
+
138
+ &:has(label) {
139
+ .wui-form-field-infix > *:not(label) {
140
+ opacity: 0;
141
+ }
142
+
143
+ &:has(input:focus), &:has(select:focus), &.has-content {
144
+ .wui-form-field-infix > *:not(label) {
145
+ opacity: 1;
146
+ }
147
+
148
+ label {
149
+ top: 0;
150
+ font-size: .75rem;
151
+ }
152
+ }
153
+ }
154
+
155
+ &:has(input:focus), &:has(select:focus) {
156
+ .wui-form-field-flex {
157
+ &:after {
158
+ width: 100%;
159
+ left: 0;
160
+ opacity: 1;
161
+ }
162
+ }
163
+ }
164
+
165
+ &.has-error {
166
+ label {
167
+ color: #E82C2C;
168
+ }
169
+
170
+ .wui-form-field {
171
+
172
+ &-flex {
173
+ &:before, &:after {
174
+ background-color: #E82C2C;
175
+ }
176
+
177
+ input, select, textarea {
178
+ color: #E82C2C;
179
+ }
180
+ }
181
+
182
+ &-hint {
183
+ color: #E82C2C;
184
+ }
185
+ }
186
+ }
187
+
188
+ &.wui-form-field {
189
+ &-boxed {
190
+ .wui-form-field {
191
+ &-flex {
192
+ border: 1px solid #CCC;
193
+ border-radius: .375rem;
194
+ padding: 0 .5rem;
195
+ height: 3.5rem;
196
+
197
+ &:before {
198
+ display: none;
199
+ }
200
+
201
+ &:after {
202
+ display: none;
203
+ }
204
+ }
205
+
206
+ &-prefix, &-suffix {
207
+ padding-left: .5rem;
208
+ padding-right: .5rem;
209
+ }
210
+
211
+ &-input {
212
+ &-prefix, &-suffix {
213
+ padding-left: .5rem;
214
+ padding-right: .5rem;
215
+ }
216
+ }
217
+
218
+ &-hint {
219
+ padding: 0 .5rem;
220
+ }
221
+ }
222
+
223
+ label {
224
+ background-color: #FFF;
225
+ padding: 0 0.5rem;
226
+ }
227
+
228
+ &:not(.has-error) {
229
+ &:has(input:focus), &:has(select:focus) {
230
+ .wui-form-field-flex {
231
+ border-color: $theme-primary;
232
+ }
233
+
234
+ label {
235
+ color: $theme-primary;
236
+ }
237
+ }
238
+ }
239
+
240
+ input, select, textarea {
241
+ padding: 0 .5rem;
242
+ }
243
+
244
+ &.has-error {
245
+ .wui-form-field-flex {
246
+ border-color: #E82C2C;
247
+ }
248
+ }
249
+ }
250
+
251
+ &-narrow {
252
+ margin-bottom: 1.25rem;
253
+
254
+ .wui-form-field{
255
+ &-flex {
256
+ height: 2.5rem;
257
+ // padding: 0 .25rem;
258
+ }
259
+
260
+ &-input-prefix, &-prefix {
261
+ padding-left: .25rem;
262
+ padding-right: .5rem;
263
+ }
264
+
265
+ &-input-suffix, &-suffix {
266
+ padding-right: .25rem;
267
+ padding-left: .5rem;
268
+ }
269
+ }
270
+
271
+ &.wui-form-field-boxed {
272
+ .wui-form-field {
273
+ &-suffix, &-prefix, &-input-prefix, &-input-suffix {
274
+ padding: 0 .25rem;
275
+ }
276
+ }
277
+ }
278
+
279
+ // label, input, select {
280
+ // padding: 0 .25rem;
281
+ // }
282
+
283
+ input[type="date"], input[type="datetime-local"], select {
284
+ background-position: calc(100% - .25rem) 50%;
285
+ }
286
+ }
287
+ }
288
+ }
@@ -0,0 +1,33 @@
1
+ wui-icon.mdi {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ width: 1.5rem;
6
+ height: 1.5rem;
7
+
8
+ &::before {
9
+ font-size: 1.5rem;
10
+ line-height: 1rem;
11
+ }
12
+
13
+ &.wui-icon {
14
+ &-12 {
15
+ width: .75rem;
16
+ height: .75rem;
17
+ font-size: .75rem;
18
+ }
19
+
20
+ &-14 {
21
+ width: .875rem;
22
+ height: .875rem;
23
+ font-size: .875rem;
24
+ }
25
+
26
+ &-16 {
27
+ width: 1rem;
28
+ height: 1rem;
29
+ font-size: 1rem;
30
+ }
31
+ }
32
+
33
+ }
@@ -0,0 +1,90 @@
1
+ @import '../../scss/variables/colors.scss';
2
+
3
+ wui-list {
4
+ display: block;
5
+
6
+ &-tile {
7
+ display: flex;
8
+ align-items: center;
9
+ height: 3rem;
10
+ padding: 0 1.125rem 0 1.5rem;
11
+ }
12
+
13
+ &.wui-list {
14
+
15
+ &-hovered{
16
+ wui-list-tile {
17
+ &:not(.wui-list-tile-header):hover {
18
+ background-color: rgba(#000, 4%);
19
+ }
20
+
21
+ &.wui-list-tile-no-hover {
22
+ &:hover {
23
+ background-color: transparent;
24
+ }
25
+ }
26
+ }
27
+ }
28
+
29
+ &-bordered {
30
+ wui-list-tile:not(:last-child) {
31
+ border-bottom: 1px solid $theme-border;
32
+ }
33
+ }
34
+
35
+ }
36
+
37
+ .wui-list {
38
+ &-tile {
39
+ &-header {
40
+ font-weight: bold;
41
+ font-size: .875rem;
42
+
43
+ &-sticky {
44
+ position: sticky;
45
+ top: 0;
46
+ width: 100%;
47
+ z-index: 99;
48
+ background-color: white;
49
+ }
50
+ }
51
+
52
+ &-32 { height: 2rem; }
53
+ &-56 { height: 3.5rem; }
54
+ &-64 { height: 4rem; }
55
+ &-72 { height: 4.5rem; }
56
+
57
+ &-content {
58
+ flex: 1 1 auto;
59
+ }
60
+
61
+ &-leading {
62
+ flex: 0 0 auto;
63
+ min-width: 3.5rem;
64
+
65
+ .wui-button {
66
+ margin-left: -.375rem;
67
+ }
68
+ }
69
+
70
+ &-trailing {
71
+ flex: 0 0 auto;
72
+ min-width: 3.25rem;
73
+ padding-left: 1rem;
74
+ }
75
+
76
+ &-active {
77
+ background-color: $theme-list-item-selected-bg;
78
+ color: $theme-primary;
79
+ }
80
+ }
81
+ }
82
+ }
83
+
84
+ @media screen and (max-width: 768px) {
85
+ wui-list {
86
+ &-tile {
87
+ padding: 0 .625rem 0 1.125rem;
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,169 @@
1
+ @import '../variables/colors.scss';
2
+
3
+ wui-loading{
4
+ display:block;
5
+
6
+ &.mode-indeterminate{
7
+ overflow: hidden;
8
+ width: 100%;
9
+ height: .25rem;
10
+ background-color: #B3E5FC;
11
+ display:block;
12
+ position:relative;
13
+
14
+ .indeterminate {
15
+ position:relative;
16
+ width: 100%;
17
+ height: 100%;
18
+
19
+ &:before {
20
+ content: '';
21
+ position: absolute;
22
+ height: 100%;
23
+ background-color: map-get($wui-colors, $theme, "500");
24
+ animation: indeterminate_first 1.5s infinite ease-out;
25
+ }
26
+
27
+ &:after {
28
+ content: '';
29
+ position: absolute;
30
+ height: 100%;
31
+ background-color: map-get($theme, "300");
32
+ animation: indeterminate_second 1.5s infinite ease-in;
33
+ }
34
+ }
35
+
36
+ @keyframes indeterminate_first {
37
+ 0% {
38
+ left: -100%;
39
+ width: 100%;
40
+ }
41
+ 100% {
42
+ left: 100%;
43
+ width: 10%;
44
+ }
45
+ }
46
+
47
+ @keyframes indeterminate_second {
48
+ 0% {
49
+ left: -150%;
50
+ width: 100%;
51
+ }
52
+ 100% {
53
+ left: 100%;
54
+ width: 10%;
55
+ }
56
+ }
57
+ }
58
+
59
+ &.mode-linear{
60
+ overflow: hidden;
61
+ width: 100%;
62
+ height: .25rem;
63
+ background-color: map-get($theme, "50");
64
+ display:block;
65
+ position:relative;
66
+
67
+ .linear{
68
+ position:relative;
69
+ width: 100%;
70
+ height: 100%;
71
+
72
+ .pos{
73
+ position:absolute;
74
+ display:block;
75
+ height:100%;
76
+ top:0;left:0;
77
+ background-color: map-get($theme, "500");
78
+ }
79
+ }
80
+ }
81
+
82
+ &.mode-circular{
83
+ .loader {
84
+ position: relative;
85
+ margin: 0 auto;
86
+ overflow:hidden;
87
+ &:before {
88
+ content: '';
89
+ display: block;
90
+ padding-top: 100%;
91
+ }
92
+ }
93
+
94
+ .circle {
95
+ animation: rotate 2s linear infinite;
96
+ height: 100%;
97
+ transform-origin: center center;
98
+ width: 100%;
99
+ position: absolute;
100
+ top: 0;
101
+ bottom: 0;
102
+ left: 0;
103
+ right: 0;
104
+ margin: auto;
105
+ }
106
+
107
+ .path {
108
+ stroke-dasharray: 1, 200;
109
+ stroke-dashoffset: 0;
110
+ stroke: var(--theme-primary, $theme-primary);
111
+ animation: dash 1.5s ease-in-out infinite;
112
+ stroke-linecap: round;
113
+ }
114
+
115
+ @keyframes rotate {
116
+ 100% {
117
+ transform: rotate(360deg);
118
+ }
119
+ }
120
+
121
+ @keyframes dash {
122
+ 0% {
123
+ stroke-dasharray: 1, 200;
124
+ stroke-dashoffset: 0;
125
+ }
126
+ 50% {
127
+ stroke-dasharray: 89, 200;
128
+ stroke-dashoffset: -35px;
129
+ }
130
+ 100% {
131
+ stroke-dasharray: 89, 200;
132
+ stroke-dashoffset: -124px;
133
+ }
134
+ }
135
+ }
136
+
137
+ }
138
+
139
+ // wui-loading-dialog {
140
+ // position: fixed;
141
+ // top: 0; left: 0;
142
+ // width: 100%;
143
+ // height: 100%;
144
+ // display: flex;
145
+ // justify-content: center;
146
+ // align-items: center;
147
+ // z-index: -1;
148
+ // opacity: 0;
149
+
150
+ // .wui-loading-dialog-inner {
151
+ // z-index: -1;
152
+ // }
153
+
154
+ // &.show {
155
+ // z-index: 10000;
156
+ // opacity: 1;
157
+
158
+ // .wui-loading-dialog-inner {
159
+ // z-index: 1000;
160
+ // position: relative;
161
+
162
+ // border-radius: 50%;
163
+ // display: flex;
164
+ // justify-content: center;
165
+ // align-items: center;
166
+
167
+ // }
168
+ // }
169
+ // }
@@ -0,0 +1,120 @@
1
+ @keyframes menuShow {
2
+ 0% {
3
+ opacity: 0;
4
+ transform: translate(.25rem, -.25rem);
5
+ }
6
+
7
+ 100% {
8
+ opacity: 1;
9
+ transform: translate(0, 0);
10
+ }
11
+ }
12
+
13
+ .wui-menu {
14
+ display: block;
15
+ box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.20);
16
+ background-color: white;
17
+ border-radius: .25rem;
18
+ padding-top: .5rem;
19
+ padding-bottom: .5rem;
20
+ min-width: 7rem;
21
+ max-width: 17.5rem;
22
+ overflow-y: auto;
23
+
24
+ &-item {
25
+ display: flex;
26
+ align-items: center;
27
+ padding: 0 1.5rem;
28
+ height: 3rem;
29
+ font-size: .875rem;
30
+ line-height: 1rem;
31
+ font-weight: 500;
32
+ text-decoration: none;
33
+ color: rgba(0,0,0,.67);
34
+ border: none;
35
+ background-color: transparent;
36
+ width: 100%;
37
+
38
+ &:hover, &:active, &:focus {
39
+ background-color: rgba(0,0,0, .04);
40
+ cursor: pointer;
41
+ }
42
+
43
+ wui-icon {
44
+ line-height: 1rem;
45
+ }
46
+ }
47
+
48
+ &-compact {
49
+ .wui-menu-item {
50
+ height: 2.25rem;
51
+ }
52
+ }
53
+ }
54
+
55
+ wui-menu {
56
+ position: fixed;
57
+ display: block;
58
+ box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.20);
59
+ background-color: white;
60
+ border-radius: .25rem;
61
+ padding-top: .5rem;
62
+ padding-bottom: .5rem;
63
+ min-width: 7rem;
64
+ max-width: 17.5rem;
65
+ opacity: 0;
66
+ z-index: -1;
67
+ overflow-y: auto;
68
+
69
+ &.show {
70
+ opacity: 1;
71
+ z-index: 99999;
72
+ }
73
+
74
+ &-item {
75
+ display: flex;
76
+ align-items: center;
77
+ padding: 0 1.5rem;
78
+ height: 3rem;
79
+ font-size: .875rem;
80
+ line-height: 1rem;
81
+ font-weight: 500;
82
+ text-decoration: none;
83
+ color: rgba(0,0,0,.67);
84
+
85
+ &:hover {
86
+ background-color: rgba(0,0,0, .04);
87
+ cursor: pointer;
88
+ }
89
+
90
+ wui-icon {
91
+ line-height: 1rem;
92
+ }
93
+ }
94
+
95
+ .wui-menu {
96
+ &-divider {
97
+ display: block;
98
+ border-top: 1px solid rgba(0,0,0, .08);
99
+ margin-top: .5rem;
100
+ margin-bottom: .5rem;
101
+ }
102
+
103
+ &-item {
104
+ &-leading {
105
+ width: 2.75rem;
106
+ flex: 0 0 auto;
107
+ }
108
+
109
+ &-content {
110
+ flex: 1 1 auto;
111
+ }
112
+ }
113
+ }
114
+
115
+ &.compact {
116
+ wui-menu-item {
117
+ height: 2.25rem;
118
+ }
119
+ }
120
+ }