@appscode/design-system 1.1.0-beta.80 → 1.1.0-beta.82

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.
@@ -1,7 +1,7 @@
1
1
  .ac-single-input {
2
2
  position: relative;
3
3
  z-index: 1;
4
- margin-bottom: 15px;
4
+ margin-bottom: 16px;
5
5
 
6
6
  &.is-disable {
7
7
  opacity: 0.5;
@@ -32,19 +32,19 @@
32
32
  }
33
33
 
34
34
  &.is-success {
35
- background-color: #27b064 !important;
35
+ background-color: $success !important;
36
36
  }
37
37
 
38
38
  &.is-danger {
39
- background-color: #ea3d2f !important;
39
+ background-color: $danger !important;
40
40
  }
41
41
 
42
42
  &.is-warning {
43
- background-color: #f7ad2a !important;
43
+ background-color: $warning !important;
44
44
  }
45
45
 
46
46
  &.is-info {
47
- background-color: #0aafff !important;
47
+ background-color: $info !important;
48
48
  }
49
49
  }
50
50
 
@@ -3,13 +3,13 @@
3
3
  .ac-object-field-wrapper {
4
4
  display: grid;
5
5
  grid-template-columns: auto auto 45px;
6
- grid-gap: 15px;
6
+ grid-gap: 16px;
7
7
  }
8
8
 
9
9
  .ac-array-field-wrapper {
10
10
  display: grid;
11
11
  grid-template-columns: auto 99px;
12
- grid-gap: 15px;
12
+ grid-gap: 16px;
13
13
  }
14
14
 
15
15
  .ui-builders-wrapper {
@@ -29,7 +29,7 @@
29
29
  .key-value-save {
30
30
  display: grid;
31
31
  grid-template-columns: 1fr 1fr auto;
32
- grid-gap: 15px;
32
+ grid-gap: 16px;
33
33
 
34
34
  &.has-close {
35
35
  grid-template-columns: 1fr 1fr auto auto;
@@ -39,19 +39,19 @@
39
39
  .key-value-save-check {
40
40
  display: grid;
41
41
  grid-template-columns: 1fr 1fr auto auto;
42
- grid-gap: 15px;
42
+ grid-gap: 16px;
43
43
  }
44
44
 
45
45
  .key-save {
46
46
  display: grid;
47
47
  grid-template-columns: 1fr auto;
48
- grid-gap: 15px;
48
+ grid-gap: 16px;
49
49
  }
50
50
 
51
51
  .value-list-save {
52
52
  display: grid;
53
53
  grid-template-columns: 1fr auto;
54
- grid-gap: 15px;
54
+ grid-gap: 16px;
55
55
  }
56
56
 
57
57
  // nested elements start
@@ -213,7 +213,7 @@
213
213
  // details with checkradio
214
214
  .details-with-checkradio-wrapper {
215
215
  display: grid;
216
- gap: 15px;
216
+ gap: 16px;
217
217
  grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr));
218
218
  }
219
219
  .table {
@@ -252,7 +252,7 @@
252
252
  transition: 0.3s ease-in-out;
253
253
 
254
254
  img {
255
- width: 15px;
255
+ width: 16px;
256
256
  }
257
257
 
258
258
  &.label-icon {
@@ -313,9 +313,9 @@
313
313
  .resource-input {
314
314
  display: grid;
315
315
  grid-template-columns: 60px 1fr 1fr;
316
- grid-gap: 15px;
316
+ grid-gap: 16px;
317
317
  align-items: center;
318
- margin-bottom: 15px;
318
+ margin-bottom: 16px;
319
319
 
320
320
  .label-text {
321
321
  font-weight: 300;
@@ -31,7 +31,7 @@
31
31
 
32
32
  .is-warning {
33
33
  font-size: 12px;
34
- color: #ea3d2f;
34
+ color: $warning;
35
35
  padding-left: 10px;
36
36
  }
37
37
 
@@ -58,7 +58,7 @@
58
58
  margin-left: 25px;
59
59
 
60
60
  &:last-child {
61
- margin-bottom: 15px;
61
+ margin-bottom: 16px;
62
62
  }
63
63
  }
64
64
  }
@@ -109,7 +109,7 @@
109
109
  .ac-single-input {
110
110
  position: relative;
111
111
  z-index: 1;
112
- margin-bottom: 15px;
112
+ margin-bottom: 16px;
113
113
 
114
114
  &.is-disable {
115
115
  opacity: 0.5;
@@ -510,7 +510,7 @@
510
510
  textarea {
511
511
  border: 1px solid $primary-80;
512
512
  background-color: transparent;
513
- padding: 10px 15px;
513
+ padding: 10px 16px;
514
514
  min-height: 50px;
515
515
 
516
516
  &.bg-white {
@@ -534,7 +534,7 @@
534
534
  width: 100%;
535
535
  border-radius: 4px;
536
536
  border: 1px solid $primary-80;
537
- padding: 8px 15px;
537
+ padding: 8px 16px;
538
538
  font-size: 13px;
539
539
 
540
540
  &:hover {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appscode/design-system",
3
- "version": "1.1.0-beta.80",
3
+ "version": "1.1.0-beta.82",
4
4
  "description": "A design system for Appscode websites and dashboards made using Bulma",
5
5
  "main": "main.scss",
6
6
  "scripts": {
@@ -97,10 +97,18 @@ const showUnpluginIcon = computed(() => {
97
97
  border-color: transparent transparent #1c1c1c #1c1c1c !important;
98
98
  }
99
99
  }
100
+ &.is-outlined {
101
+ &:hover {
102
+ border-color: inherit;
103
+ }
104
+ }
100
105
  }
101
106
 
102
107
  &.is-small {
103
108
  padding: 4px 12px;
109
+ &:not(.is-rounded) {
110
+ border-radius: 4px;
111
+ }
104
112
  }
105
113
  &.is-medium {
106
114
  font-size: 1rem;
@@ -1,6 +1,22 @@
1
- <script setup lang="ts"></script>
1
+ <script setup lang="ts">
2
+ withDefaults(
3
+ defineProps<{
4
+ isMaxWidth?: boolean;
5
+ }>(),
6
+ { isMaxWidth: false }
7
+ );
8
+ </script>
2
9
  <template>
3
- <div class="buttons">
10
+ <div v-if="isMaxWidth" :style="{ width: 'max-content' }" class="buttons">
4
11
  <slot />
5
12
  </div>
13
+ <div v-else class="buttons"><slot /></div>
6
14
  </template>
15
+
16
+ <!-- <style lang="scss">
17
+ .buttons {
18
+ .button {
19
+ margin-bottom: 16px;
20
+ }
21
+ }
22
+ </style> -->
@@ -57,13 +57,14 @@ withDefaults(defineProps<Props>(), {
57
57
  width: 70px;
58
58
  height: 70px;
59
59
  border: 1px solid $primary-90;
60
- background-color: #fff;
60
+ background-color: $white-100;
61
61
  border-radius: 50%;
62
62
  padding: 16px;
63
63
  margin-inline: auto;
64
64
  margin-bottom: 20px;
65
65
  display: flex;
66
66
  align-items: center;
67
+ overflow: hidden;
67
68
 
68
69
  img {
69
70
  width: 100%;
@@ -52,7 +52,7 @@ onClickOutside(actionDropdown, () => emit("update:modelValue", false));
52
52
  </ac-button>
53
53
  </div>
54
54
  <div class="dropdown-menu" id="dropdown-menu3" role="menu">
55
- <div class="dropdown-content">
55
+ <div class="dropdown-content ac-scrollbar p-0">
56
56
  <slot name="list" />
57
57
  </div>
58
58
  </div>
@@ -61,11 +61,14 @@ onClickOutside(actionDropdown, () => emit("update:modelValue", false));
61
61
  </template>
62
62
  <style lang="scss">
63
63
  .dropdown-group {
64
- margin-bottom: 16px;
64
+ margin-bottom: 8px;
65
65
  }
66
66
  .dropdown-action {
67
67
  .dropdown-content {
68
68
  min-width: 220px;
69
+ max-width: 500px;
70
+ max-height: calc(100vh - 200px);
71
+ overflow-y: auto;
69
72
  border: 1px solid $primary-90;
70
73
 
71
74
  label {
@@ -0,0 +1,24 @@
1
+ <script setup lang="ts"></script>
2
+
3
+ <template>
4
+ <div class="form-footer">
5
+ <div class="footer-left">
6
+ <slot name="footer-left" />
7
+ </div>
8
+ <div class="footer-right">
9
+ <slot name="footer-right" />
10
+ </div>
11
+ </div>
12
+ </template>
13
+
14
+ <style lang="scss" scoped>
15
+ .form-footer {
16
+ display: flex;
17
+ align-items: center;
18
+ justify-content: space-between;
19
+ margin-left: -20px;
20
+ margin-right: -20px;
21
+ border-top: 1px solid $primary-90;
22
+ padding: 16px 20px;
23
+ }
24
+ </style>
@@ -18,506 +18,4 @@ withDefaults(defineProps<Props>(), {
18
18
  </div>
19
19
  </template>
20
20
 
21
- <style lang="scss">
22
- .ac-single-input {
23
- position: relative;
24
- z-index: 1;
25
- margin-bottom: 15px;
26
-
27
- &.is-disable {
28
- opacity: 0.5;
29
-
30
- input,
31
- .button.is-information,
32
- .eye i.fa {
33
- cursor: not-allowed;
34
- }
35
- }
36
-
37
- &.is-information {
38
- input {
39
- padding-right: 45px;
40
-
41
- &[type="password"] {
42
- padding-right: 80px;
43
- }
44
- }
45
-
46
- span.eye i.fa {
47
- right: 35px;
48
- }
49
- }
50
-
51
- &.is-success {
52
- input,
53
- .ac-card,
54
- textarea {
55
- border: 1px solid $primary !important;
56
- }
57
-
58
- p {
59
- color: $primary;
60
- }
61
- }
62
-
63
- &.is-danger {
64
- input,
65
- .ac-card,
66
- textarea {
67
- border: 1px solid $danger;
68
- }
69
-
70
- p {
71
- color: $danger;
72
- }
73
- }
74
-
75
- &.is-loading {
76
- input,
77
- .ac-card,
78
- textarea {
79
- border: 1px solid $info;
80
- opacity: 0.5;
81
- }
82
-
83
- p {
84
- color: $info;
85
- opacity: 0.5;
86
- }
87
- }
88
-
89
- &.borderless-input {
90
- input {
91
- border: none;
92
- font-size: 13px;
93
- padding: 4px 7px;
94
- height: 30px;
95
- background-color: $white-100;
96
- padding-right: 30px;
97
-
98
- &[type="password"] {
99
- padding-right: 30px;
100
- }
101
-
102
- &:focus {
103
- outline: none;
104
- border: none;
105
- }
106
- }
107
-
108
- span.eye {
109
- i.fa {
110
- padding: 9px;
111
- font-size: 12px;
112
- }
113
- }
114
- }
115
-
116
- &.is-normal {
117
- input {
118
- height: 45px;
119
- font-size: 15px;
120
- font-weight: 400;
121
- }
122
-
123
- .button {
124
- &.is-information {
125
- height: 45px;
126
- width: 45px;
127
- margin-top: 0;
128
- }
129
- }
130
-
131
- span.eye i.fa {
132
- padding: 14px 10px;
133
- }
134
-
135
- .ac-search-button {
136
- margin-top: -22.5px;
137
- }
138
-
139
- label {
140
- top: 13px;
141
- font-size: 13px;
142
-
143
- &.show-label {
144
- font-size: 12px;
145
- color: $primary-20;
146
- top: -9px;
147
- font-weight: 500;
148
- background-color: $white-100;
149
- }
150
- }
151
-
152
- .control {
153
- &.has-icons-right {
154
- .icon {
155
- height: 45px;
156
- width: 30px;
157
- font-size: 13px;
158
- }
159
- }
160
- }
161
- }
162
-
163
- &.is-small {
164
- input {
165
- height: 36px;
166
- font-size: 13px;
167
- font-weight: 400;
168
- }
169
-
170
- .button {
171
- &.is-information {
172
- height: 36px;
173
- width: 36px;
174
- margin-top: 0;
175
- padding: 10px;
176
- }
177
- }
178
-
179
- span.eye i.fa {
180
- padding: 10px;
181
- }
182
-
183
- .ac-search-button {
184
- margin-top: -18px;
185
- }
186
-
187
- label {
188
- top: 8px;
189
- font-size: 13px;
190
-
191
- &.switch-label {
192
- top: 0;
193
- }
194
-
195
- &.show-label {
196
- font-size: 12px;
197
- top: -9px;
198
- font-weight: 500;
199
- color: $black-40;
200
-
201
- &.is-required {
202
- &:after {
203
- width: calc(100% + 10px);
204
- }
205
- }
206
- }
207
- }
208
-
209
- .control {
210
- &.has-icons-right {
211
- .icon {
212
- height: 36px;
213
- width: 25px;
214
- font-size: 13px;
215
- }
216
- }
217
- }
218
- }
219
-
220
- &.is-extra-small {
221
- input {
222
- height: 32px;
223
- font-size: 13px;
224
- font-weight: 400;
225
- }
226
-
227
- .button {
228
- &.is-information {
229
- height: 32px;
230
- width: 32px;
231
- margin-top: 0;
232
- }
233
- }
234
-
235
- span.eye i.fa {
236
- padding: 10px;
237
- }
238
-
239
- .ac-search-button {
240
- margin-top: 0px;
241
- top: 0;
242
- display: flex;
243
- align-items: center;
244
- width: 40px;
245
- justify-content: center;
246
-
247
- svg {
248
- width: 18px;
249
- }
250
- }
251
-
252
- label {
253
- top: 8px;
254
- font-size: 13px;
255
-
256
- &.switch-label {
257
- top: 0;
258
- }
259
-
260
- &.show-label {
261
- font-size: 12px;
262
- top: -9px;
263
- }
264
- }
265
-
266
- .control {
267
- &.has-icons-right {
268
- .icon {
269
- height: 32px;
270
- width: 25px;
271
- font-size: 13px;
272
- }
273
- }
274
- }
275
- }
276
-
277
- &:last-child {
278
- margin-bottom: 0;
279
- }
280
-
281
- &.is-dark {
282
- input {
283
- background-color: $primary-10;
284
- border-color: transparent;
285
- color: $white-100;
286
-
287
- &::placeholder {
288
- color: $primary-10;
289
- }
290
-
291
- button {
292
- i.fa {
293
- color: $white-100;
294
- }
295
- }
296
- }
297
- }
298
-
299
- label {
300
- font-size: 13px;
301
- left: 15px;
302
- top: 11px;
303
- cursor: text;
304
- color: $primary-10;
305
- position: absolute;
306
- z-index: 2;
307
- transition: 0.3s ease-in-out;
308
-
309
- .is-required {
310
- color: $danger;
311
-
312
- img {
313
- position: absolute;
314
- top: 7px;
315
- padding-left: 3px;
316
- }
317
- }
318
-
319
- &.show-label {
320
- top: -9px;
321
- left: 10px;
322
- padding: 0 5px;
323
- font-size: 13px;
324
- color: $black-40;
325
-
326
- &:after {
327
- position: absolute;
328
- content: "";
329
- left: 0;
330
- top: 50%;
331
- background-color: $white-100;
332
- width: 100%;
333
- height: 2px;
334
- margin-top: -1px;
335
- z-index: -1;
336
- }
337
-
338
- // &.is-required {
339
- // &:after {
340
- // width: calc(100% + 10px);
341
- // }
342
- // }
343
- }
344
- }
345
-
346
- .button {
347
- &.is-information {
348
- background-color: transparent;
349
- border: none;
350
- position: absolute;
351
- right: 0;
352
- height: 32px;
353
- width: 32px;
354
- margin-top: 0;
355
-
356
- &:focus {
357
- outline: none;
358
- box-shadow: none;
359
- background-color: #e4e8ef;
360
- transform: scale(0.8);
361
- }
362
- }
363
- }
364
-
365
- .ac-search-button {
366
- background-color: transparent;
367
- border: none;
368
- position: absolute;
369
- left: 0;
370
- top: 50%;
371
- width: 32px;
372
- height: 100%;
373
- margin-top: -15px;
374
- color: $primary-20;
375
- cursor: pointer;
376
- }
377
-
378
- .ac-dropdown-content {
379
- position: absolute;
380
- background-color: $primary-90;
381
- width: 100%;
382
- height: auto;
383
- box-shadow: 0px 4px 16px rgba(132, 147, 168, 0.6);
384
- border-radius: 4px;
385
- overflow: hidden;
386
-
387
- ul {
388
- li {
389
- a {
390
- color: $primary-10;
391
- display: block;
392
- font-size: 13px;
393
- padding: 8px 20px;
394
- transition: 0.3s;
395
-
396
- &:hover {
397
- background-color: $primary-30;
398
- color: $primary;
399
- }
400
- }
401
- }
402
- }
403
- }
404
-
405
- .ac-textarea {
406
- .ac-label {
407
- &.is-required {
408
- &:after {
409
- width: calc(100% + 10px);
410
- }
411
- }
412
- }
413
-
414
- textarea {
415
- border: 1px solid $primary-80;
416
- background-color: transparent;
417
- padding: 10px 15px;
418
- min-height: 50px;
419
-
420
- &.bg-white {
421
- background-color: transparent;
422
- }
423
-
424
- &:focus {
425
- outline: none;
426
- border: 1px solid $primary;
427
- }
428
- }
429
- }
430
-
431
- input,
432
- .ac-card,
433
- textarea {
434
- background-color: $white-100;
435
- color: $primary-10;
436
- height: 45px;
437
- font-weight: 400;
438
- width: 100%;
439
- border-radius: 4px;
440
- border: 1px solid $primary-80;
441
- padding: 8px 15px;
442
- font-size: 13px;
443
-
444
- &:hover {
445
- border-color: $black-70;
446
- }
447
-
448
- &.bg-white {
449
- background-color: $white-100;
450
- }
451
-
452
- &.StripeElement--focus {
453
- border: 1px solid $primary;
454
- }
455
-
456
- &:focus {
457
- border: 1px solid $primary;
458
- outline: none;
459
- background-color: $white-100;
460
- }
461
-
462
- &[type="password"] {
463
- padding-right: 40px;
464
- }
465
-
466
- &[type="search"] {
467
- padding-left: 30px;
468
- }
469
-
470
- transition: background-color 0.3s ease-in-out;
471
- }
472
-
473
- .ac-card {
474
- height: 36px;
475
- padding: 10px 20px;
476
- }
477
-
478
- textarea {
479
- height: 55px;
480
- }
481
-
482
- b.isRequired {
483
- color: $danger;
484
- font-size: 13px;
485
- position: absolute;
486
- right: 5px;
487
- z-index: 9;
488
- }
489
-
490
- span.eye {
491
- i.fa {
492
- color: $primary-70;
493
- position: absolute;
494
- cursor: pointer;
495
- padding: 15px;
496
- right: 0;
497
- top: 0;
498
- }
499
- }
500
-
501
- .is-danger {
502
- font-size: 12px;
503
- line-height: 22px;
504
- color: $danger;
505
- text-align: left;
506
-
507
- i.fa {
508
- padding-right: 10px;
509
- }
510
- }
511
- }
512
-
513
- .ac-input.ac-search {
514
- width: 42px;
515
- transition: 0.3s ease-in-out;
516
- padding: 0;
517
- }
518
-
519
- .ac-search:focus {
520
- width: 200px !important;
521
- padding-right: 10px;
522
- }
523
- </style>
21
+ <style lang="scss"></style>
@@ -0,0 +1,89 @@
1
+ <template>
2
+ <div class="file-upload" data-testid="image-upload-drag-section">
3
+ <label
4
+ for="image-upload-with-cropping"
5
+ class="has-text-centered"
6
+ title="Click to upload new avatar"
7
+ >
8
+ <div class="ms-upload-logo" title="Click to upload new avatar">
9
+ <div class="upload-icon">
10
+ <svg
11
+ xmlns="http://www.w3.org/2000/svg"
12
+ fill="none"
13
+ viewBox="0 0 24 24"
14
+ stroke-width="1"
15
+ stroke="currentColor"
16
+ class="w-6 h-6"
17
+ >
18
+ <path
19
+ stroke-linecap="round"
20
+ stroke-linejoin="round"
21
+ d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5"
22
+ />
23
+ </svg>
24
+ </div>
25
+ </div>
26
+ <div class="ms-upload-description">
27
+ <p class="drag-and-drop-msg">
28
+ Drag &amp; Drop here <strong>or</strong> Choose image From Storage
29
+ </p>
30
+ <p class="img-size-msg">
31
+ Size should not a exceed 1MB &amp; Dimension prefarable 4096 X 3072
32
+ </p>
33
+ </div>
34
+ </label>
35
+ <input
36
+ id="image-upload-with-cropping"
37
+ type="file"
38
+ name="image-upload"
39
+ class="is-hidden"
40
+ data-testid="image-upload-input"
41
+ />
42
+ </div>
43
+ </template>
44
+
45
+ <style lang="scss" scoped>
46
+ // file upload large
47
+ .file-upload {
48
+ border: 1px dashed $primary-80;
49
+ border-radius: 4px;
50
+ &:hover {
51
+ background-color: $primary-97;
52
+
53
+ label {
54
+ .upload-icon {
55
+ border: 1px solid $primary-80;
56
+ svg {
57
+ color: $primary-10;
58
+ }
59
+ }
60
+ }
61
+ }
62
+ label {
63
+ cursor: pointer;
64
+ padding: 32px;
65
+ display: block;
66
+ .upload-icon {
67
+ border: 1px solid $primary-90;
68
+ display: inline-flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ border-radius: 50%;
72
+ width: 100px;
73
+ height: 100px;
74
+ margin-bottom: 24px;
75
+ padding: 24px;
76
+
77
+ svg {
78
+ color: $primary-30;
79
+ }
80
+ }
81
+ p {
82
+ color: $primary-10;
83
+ strong {
84
+ font-weight: 600;
85
+ }
86
+ }
87
+ }
88
+ }
89
+ </style>
@@ -58,15 +58,6 @@ watch(searchText, (n) => {
58
58
  .ac-single-input {
59
59
  width: 200px;
60
60
  transition: 0.3s all;
61
- input {
62
- // padding: 0 20px;
63
- &::placeholder {
64
- // opacity: 0;
65
- }
66
- &:focus {
67
- // opacity: 1;
68
- }
69
- }
70
61
  }
71
62
  }
72
63
  </style>