@appscode/design-system 1.1.0-beta.34 → 1.1.0-beta.36

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 (58) hide show
  1. package/base/utilities/_colors.scss +31 -98
  2. package/base/utilities/_global.scss +9 -9
  3. package/base/utilities/_typography.scss +2 -2
  4. package/base/utilities/dark-theme.scss +2 -8
  5. package/components/_ac-alert-box.scss +2 -2
  6. package/components/_ac-code-highlight.scss +9 -12
  7. package/components/_ac-drag.scss +4 -4
  8. package/components/_ac-modal.scss +2 -2
  9. package/components/_ac-multi-select.scss +17 -17
  10. package/components/_ac-select-box.scss +5 -5
  11. package/components/_ac-table.scss +7 -7
  12. package/components/_ac-tabs.scss +29 -26
  13. package/components/_all.scss +6 -5
  14. package/components/_buttons.scss +10 -10
  15. package/components/_image-upload.scss +4 -4
  16. package/components/_input-card.scss +232 -0
  17. package/components/{_ac-input.scss → _input.scss} +53 -7
  18. package/components/_left-sidebar-menu.scss +9 -13
  19. package/components/_monaco-editor.scss +2 -2
  20. package/components/_navbar.scss +7 -7
  21. package/components/_nested-list.scss +2 -2
  22. package/components/_overview-info.scss +3 -3
  23. package/components/_pricing-table.scss +5 -5
  24. package/components/_progress-bar.scss +61 -74
  25. package/components/_subscription-card.scss +8 -10
  26. package/components/_table-of-content.scss +4 -4
  27. package/components/{_ac-terminal.scss → _terminal.scss} +15 -46
  28. package/components/_widget-menu.scss +7 -12
  29. package/components/_wizard.scss +13 -286
  30. package/components/bbum/_information-center.scss +8 -10
  31. package/components/bbum/_mobile-desktop.scss +9 -14
  32. package/components/bbum/_single-post-preview.scss +9 -9
  33. package/components/ui-builder/_ui-builder.scss +193 -11
  34. package/components/ui-builder/_vue-open-api.scss +58 -13
  35. package/layouts/_code-preview.scss +6 -7
  36. package/package.json +1 -1
  37. package/vue-components/v3/alert/Alert.vue +1 -1
  38. package/vue-components/v3/breadcrumbs/Breadcrumb.vue +4 -2
  39. package/vue-components/v3/button/Button.vue +18 -11
  40. package/vue-components/v3/cards/Vendor.vue +1 -1
  41. package/vue-components/v3/editor/FilteredFileEditor.vue +4 -0
  42. package/vue-components/v3/footer/Status.vue +3 -9
  43. package/vue-components/v3/form/Form.vue +0 -3
  44. package/vue-components/v3/header/Header.vue +1 -1
  45. package/vue-components/v3/modals/LongRunningTasksModal.vue +1 -1
  46. package/vue-components/v3/navbar/User.vue +4 -4
  47. package/vue-components/v3/notification/AlertBox.vue +2 -1
  48. package/vue-components/v3/pagination/Pagination.vue +2 -1
  49. package/vue-components/v3/sidebar/ClusterSwitcher.vue +20 -17
  50. package/vue-components/v3/sidebar/Sidebar.vue +1 -29
  51. package/vue-components/v3/sidebar/SidebarFooter.vue +5 -2
  52. package/vue-components/v3/sidebar/sidebar-tabs/SidebarTabs.vue +39 -2
  53. package/vue-components/v3/sidebar/sidebar-tabs/SidebarTabsLayout.vue +12 -3
  54. package/vue-components/v3/table/Table.vue +8 -8
  55. package/vue-components/v3/table/TableRow.vue +2 -2
  56. package/components/_ac-card.scss +0 -0
  57. /package/components/{_ac-accordion.scss → _accordion.scss} +0 -0
  58. /package/components/{_ac-report.scss → _report.scss} +0 -0
@@ -11,7 +11,7 @@
11
11
  }
12
12
 
13
13
  .ui-builders-wrapper {
14
- width: 760px;
14
+ width: 800px;
15
15
 
16
16
  h5 {
17
17
  margin-bottom: 10px;
@@ -28,6 +28,10 @@
28
28
  display: grid;
29
29
  grid-template-columns: 1fr 1fr auto;
30
30
  grid-gap: 15px;
31
+
32
+ &.has-close {
33
+ grid-template-columns: 1fr 1fr auto auto;
34
+ }
31
35
  }
32
36
 
33
37
  .key-value-save-check {
@@ -153,7 +157,7 @@
153
157
  min-width: 630px;
154
158
 
155
159
  .thead {
156
- background-color: $white-100-lighter;
160
+ background-color: $primary-90;
157
161
 
158
162
  .tr {
159
163
  .th {
@@ -206,18 +210,101 @@
206
210
 
207
211
  // details with checkradio
208
212
  .details-with-checkradio-wrapper {
209
- display: grid;
210
- grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
211
- grid-gap: 15px;
213
+ display: flex;
214
+ flex-wrap: wrap;
215
+ gap: 15px;
216
+ }
217
+ .table {
218
+ tr {
219
+ &.is-selected {
220
+ background-color: $primary-97;
221
+ strong {
222
+ color: $primary;
223
+ }
224
+ }
225
+ }
212
226
  }
213
-
214
227
  // dark theme start
215
- .is-dark-theme {
216
- .nested-body {
217
- code {
218
- background-color: var(--dark-bg-light);
228
+ // .is-dark-theme {
229
+ // .nested-body {
230
+ // code {
231
+ // background-color: var(--dark-bg-light);
232
+ // }
233
+ // }
234
+ // }
235
+
236
+ // label action start
237
+ .label-action {
238
+ align-items: center;
239
+ height: 21px;
240
+
241
+ .ac-single-input {
242
+ label {
243
+ margin-top: 2px;
244
+ }
245
+ }
246
+
247
+ button:not(.is-text) {
248
+ opacity: 0;
249
+ visibility: hidden;
250
+ transition: 0.3s ease-in-out;
251
+
252
+ img {
253
+ width: 15px;
254
+ }
255
+
256
+ &.label-icon {
257
+ border: none;
258
+ background-color: transparent;
259
+ cursor: pointer;
260
+ padding: 0;
261
+ transition: 0.3s ease-in-out;
262
+
263
+ &:hover {
264
+ opacity: 0.8;
265
+ }
266
+ }
267
+ }
268
+
269
+ &:hover {
270
+ button {
271
+ opacity: 1;
272
+ visibility: visible;
219
273
  }
220
274
  }
275
+
276
+ .ms-close-button,
277
+ .ac-modal-footer {
278
+ .buttons {
279
+ button {
280
+ opacity: 1;
281
+ visibility: visible;
282
+
283
+ &:hover {
284
+ opacity: 0.7;
285
+ }
286
+ }
287
+ }
288
+ }
289
+
290
+ .label-icon {
291
+ display: flex;
292
+ align-items: center;
293
+ margin-right: 10px;
294
+
295
+ img {
296
+ width: 16px;
297
+ }
298
+ }
299
+
300
+ strong {
301
+ font-style: normal;
302
+ font-weight: 500;
303
+ font-size: 13px;
304
+ line-height: 16px;
305
+ color: $primary-10;
306
+ margin-right: 16px;
307
+ }
221
308
  }
222
309
 
223
310
  //For resource input from
@@ -243,7 +330,102 @@
243
330
  top: 7px;
244
331
  }
245
332
 
246
- // dark theme end
333
+ .ac-final-state {
334
+ margin-bottom: 10px;
335
+
336
+ &:last-child {
337
+ margin-bottom: 0;
338
+ }
339
+
340
+ .state-left {
341
+ h5 {
342
+ font-style: normal;
343
+ font-weight: 500;
344
+ font-size: 14px;
345
+ line-height: 19px;
346
+ color: $primary-10;
347
+ }
348
+
349
+ button {
350
+ &.ac-button {
351
+ opacity: 0;
352
+ visibility: hidden;
353
+ transition: 0.3s ease-in-out;
354
+ }
355
+ }
356
+ }
357
+
358
+ &:hover {
359
+ .state-left {
360
+ button {
361
+ &.ac-button {
362
+ opacity: 1;
363
+ visibility: visible;
364
+ }
365
+ }
366
+ }
367
+ }
368
+ }
369
+
370
+ .up-down-buttons {
371
+ border-radius: 4px;
372
+ overflow: hidden;
373
+ position: relative;
374
+ z-index: 1;
375
+ max-width: 36px;
376
+ margin-bottom: 0 !important;
377
+ button {
378
+ width: 36px;
379
+ height: 18px;
380
+ cursor: pointer;
381
+ border: none;
382
+ color: $primary;
383
+ background-color: $primary-90;
384
+ transition: 0.3s ease-in-out;
385
+ &:hover {
386
+ background-color: $primary-80;
387
+ }
388
+ &.is-primary {
389
+ background-color: $primary;
390
+ color: $white-100;
391
+ &:hover {
392
+ background-color: $primary-30;
393
+ }
394
+ }
395
+ .icon {
396
+ margin: 0;
397
+ padding: 0;
398
+ width: auto;
399
+ height: auto;
400
+ }
401
+ }
402
+ }
403
+ // buttons
404
+ .button {
405
+ &.ac-button {
406
+ &.is-medium {
407
+ font-size: 1rem;
408
+ height: 36px;
409
+ }
410
+ &.is-tinny {
411
+ height: 24px;
412
+ padding: 0 8px;
413
+ }
414
+ }
415
+ }
416
+
417
+ .button[disabled] {
418
+ &.is-ghost {
419
+ border-color: transparent !important;
420
+ }
421
+ }
422
+
423
+ p.is-error,
424
+ span.is-error {
425
+ color: $danger;
426
+ font-weight: 400;
427
+ }
428
+
247
429
  /****************************************
248
430
  Responsive Classes
249
431
  *****************************************/
@@ -65,13 +65,13 @@
65
65
 
66
66
  .vue-form-scema-body {
67
67
  .left-content {
68
- width: 650px;
69
- background-color: $white-100-lighter;
68
+ background-color: $primary-97;
69
+ border-right: 1px solid $primary-90;
70
70
  padding: 30px;
71
+ width: 500px;
71
72
  }
72
73
 
73
74
  .right-content {
74
- width: 100%;
75
75
  margin-top: 30px;
76
76
  }
77
77
  }
@@ -91,7 +91,6 @@
91
91
  }
92
92
 
93
93
  .is-collapsed {
94
-
95
94
  &.ac-nested-elements::before,
96
95
  &.ac-nested-elements::after {
97
96
  display: none;
@@ -100,7 +99,7 @@
100
99
 
101
100
  .ui-builders-wrapper {
102
101
  .ac-nested-elements::before {
103
- bottom: 6px !important;
102
+ bottom: 10px !important;
104
103
  }
105
104
  }
106
105
 
@@ -137,7 +136,6 @@
137
136
  }
138
137
 
139
138
  &.is-success {
140
-
141
139
  input,
142
140
  .ac-card,
143
141
  textarea {
@@ -150,7 +148,6 @@
150
148
  }
151
149
 
152
150
  &.is-danger {
153
-
154
151
  input,
155
152
  .ac-card,
156
153
  textarea {
@@ -163,7 +160,6 @@
163
160
  }
164
161
 
165
162
  &.is-loading {
166
-
167
163
  input,
168
164
  .ac-card,
169
165
  textarea {
@@ -216,6 +212,10 @@
216
212
  height: 45px;
217
213
  width: 45px;
218
214
  margin-top: 0;
215
+ &:focus {
216
+ outline: none;
217
+ box-shadow: none;
218
+ }
219
219
  }
220
220
  }
221
221
 
@@ -485,10 +485,12 @@
485
485
  transition: 0.3s;
486
486
 
487
487
  &:hover {
488
- background-color: hsla(var(--hsl-hue),
489
- var(--hsl-saturation),
490
- var(--hsl-lightness),
491
- 0.2);
488
+ background-color: hsla(
489
+ var(--hsl-hue),
490
+ var(--hsl-saturation),
491
+ var(--hsl-lightness),
492
+ 0.2
493
+ );
492
494
  color: $primary;
493
495
  }
494
496
  }
@@ -614,4 +616,47 @@
614
616
  width: 200px !important;
615
617
  padding-right: 10px;
616
618
  }
617
- }
619
+ }
620
+
621
+ // button scss
622
+ .button {
623
+ &.ac-button {
624
+ padding: 8px 16px;
625
+ font-weight: 500;
626
+ line-height: 1;
627
+
628
+ &.is-light {
629
+ &.is-loading {
630
+ &::after {
631
+ border-color: transparent transparent #1c1c1c #1c1c1c !important;
632
+ }
633
+ }
634
+ }
635
+ &.is-ghost {
636
+ border-color: transparent !important;
637
+ }
638
+ &.is-square {
639
+ border: 1px solid $primary-95;
640
+ }
641
+ &.is-small {
642
+ padding: 4px 9px;
643
+ }
644
+ &.is-medium {
645
+ font-size: 1rem;
646
+ height: 36px;
647
+ }
648
+ }
649
+ &:focus {
650
+ outline: none;
651
+ box-shadow: none;
652
+ }
653
+ }
654
+ button.is-primary {
655
+ background-color: $primary;
656
+ }
657
+
658
+ .is-refresh {
659
+ i.fa {
660
+ color: $primary-10;
661
+ }
662
+ }
@@ -9,7 +9,7 @@
9
9
  background-color: $white-100;
10
10
 
11
11
  &.ac-bg {
12
- background-color: $ac-bg;
12
+ background-color: transparent;
13
13
  }
14
14
 
15
15
  &.is-fullwidth {
@@ -58,13 +58,13 @@
58
58
 
59
59
  /* Handle */
60
60
  &::-webkit-scrollbar-thumb {
61
- background-color: $ac-gray-light;
61
+ background-color: $black-50;
62
62
  border-radius: 10px;
63
63
  }
64
64
 
65
65
  /* Handle on hover */
66
66
  &::-webkit-scrollbar-thumb:hover {
67
- background-color: $ac-gray-light;
67
+ background-color: $black-50;
68
68
  }
69
69
 
70
70
  .number {
@@ -110,6 +110,7 @@
110
110
  // new code preview
111
111
  .ac-components {
112
112
  margin: 20px;
113
+
113
114
  .single-component {
114
115
  // box-shadow: $ac-shadow-1;
115
116
  border: 1px solid $primary-90;
@@ -253,9 +254,7 @@ Responsive Classes
253
254
  }
254
255
 
255
256
  // Large devices (desktops, 992px and up)
256
- @media (min-width: 992px) and (max-width: 1199.98px) {
257
- }
257
+ @media (min-width: 992px) and (max-width: 1199.98px) {}
258
258
 
259
259
  // Extra large devices (large desktops, 1200px and up)
260
- @media (min-width: 1200px) {
261
- }
260
+ @media (min-width: 1200px) {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appscode/design-system",
3
- "version": "1.1.0-beta.34",
3
+ "version": "1.1.0-beta.36",
4
4
  "description": "A design system for Appscode websites and dashboards made using Bulma",
5
5
  "main": "main.scss",
6
6
  "scripts": {
@@ -232,7 +232,7 @@ AC Toast
232
232
  // dark theme start
233
233
  // .is-dark-theme {
234
234
  // .ac-notification.is-danger {
235
- // background-color: $dark-bg-light;
235
+ // background-color: $black-80;
236
236
  // }
237
237
  // }
238
238
  </style>
@@ -54,8 +54,10 @@ const createBreadcrumbs = () => {
54
54
  pathReplaceWithParam(element.path)
55
55
  );
56
56
 
57
- //Removing the last duplicate value from the listpaths array
58
- listPaths.pop();
57
+ // If there is duplicate value in arrays last element remove it
58
+ const length = listPaths.length;
59
+ if (length > 1 && listPaths[length - 1] === listPaths[length - 2])
60
+ listPaths.pop();
59
61
 
60
62
  //Createing the breadcrumb name
61
63
  const listName = createList(listPaths);
@@ -55,7 +55,7 @@ const handleClick = (e: Event) => {
55
55
  <style lang="scss" scoped>
56
56
  .button {
57
57
  &.ac-button {
58
- padding: 8px 18px;
58
+ padding: 8px 16px;
59
59
  font-weight: 500;
60
60
  line-height: 1;
61
61
 
@@ -66,16 +66,23 @@ const handleClick = (e: Event) => {
66
66
  }
67
67
  }
68
68
  }
69
+ &.is-ghost {
70
+ border-color: transparent !important;
71
+ }
69
72
  &.is-square {
70
73
  border: 1px solid $primary-95;
71
74
  }
72
75
  &.is-small {
73
76
  padding: 4px 9px;
74
77
  }
78
+ &.is-medium {
79
+ font-size: 1rem;
80
+ height: 36px;
81
+ }
75
82
  }
76
83
  }
77
84
  button.is-primary {
78
- background-color: $ac-primary;
85
+ background-color: $primary;
79
86
  }
80
87
  // .button {
81
88
  // transition: 86ms ease-in-out;
@@ -248,19 +255,19 @@ button.is-primary {
248
255
  // color: $black-40;
249
256
 
250
257
  // &:hover {
251
- // background-color: $white-100-lighter;
252
- // color: $ac-black;
258
+ // background-color: $primary-90;
259
+ // color: $black-5;
253
260
  // }
254
261
 
255
262
  // &:focus {
256
- // background-color: $white-100-lighter;
257
- // color: $ac-black;
263
+ // background-color: $primary-90;
264
+ // color: $black-5;
258
265
  // }
259
266
  // }
260
267
 
261
268
  // &.transparent-bg {
262
269
  // background-color: transparent;
263
- // border: 1px solid $ac-label-text;
270
+ // border: 1px solid $primary-10;
264
271
 
265
272
  // img {
266
273
  // &:hover {
@@ -536,7 +543,7 @@ button.is-primary {
536
543
  // // counter button start
537
544
  // .ac-counter-button {
538
545
  // background-color: transparent;
539
- // border: 1px solid $ac-label-text;
546
+ // border: 1px solid $primary-10;
540
547
  // border-radius: 4px;
541
548
  // height: 46px;
542
549
  // overflow: hidden;
@@ -583,13 +590,13 @@ button.is-primary {
583
590
  // .ac-counter-arrow-wrapper {
584
591
  // height: 100%;
585
592
  // color: $primary-10;
586
- // border-left: 1px solid $ac-label-text;
593
+ // border-left: 1px solid $primary-10;
587
594
 
588
595
  // .ac-counter-arrow {
589
596
  // background-color: transparent;
590
597
  // border: none;
591
598
  // cursor: pointer;
592
- // color: $ac-label-text;
599
+ // color: $primary-10;
593
600
  // height: 23px;
594
601
 
595
602
  // &:hover {
@@ -597,7 +604,7 @@ button.is-primary {
597
604
  // }
598
605
 
599
606
  // &:first-child {
600
- // border-bottom: 1px solid $ac-label-text;
607
+ // border-bottom: 1px solid $primary-10;
601
608
  // }
602
609
  // }
603
610
  // }
@@ -34,7 +34,7 @@ withDefaults(defineProps<Props>(), {
34
34
  flex-direction: column;
35
35
  justify-content: space-between;
36
36
  background-color: $primary-97;
37
- min-width: 220px;
37
+ min-width: 215px;
38
38
  padding: 30px 20px 20px;
39
39
  cursor: pointer;
40
40
 
@@ -288,6 +288,10 @@ watch(
288
288
 
289
289
  .ac-files {
290
290
  ul {
291
+ margin: 0;
292
+ padding: 0;
293
+ list-style: none;
294
+
291
295
  li {
292
296
  &.is-active {
293
297
  a {
@@ -28,15 +28,9 @@ withDefaults(defineProps<Props>(), {
28
28
  :modifier-classes="item.color"
29
29
  >
30
30
  <span class="icon">
31
- <HeroiconsCheckBadge
32
- v-if="item.color === `has-text-success`"
33
- :size="20"
34
- />
35
- <HeroiconsLoadingBadge
36
- v-else-if="item.color === `has-text-warning`"
37
- :size="20"
38
- />
39
- <HeroiconsCrossBadge v-else :size="20" />
31
+ <HeroiconsCheckBadge v-if="item.color === `has-text-success`" />
32
+ <HeroiconsLoadingBadge v-else-if="item.color === `has-text-warning`" />
33
+ <HeroiconsCrossBadge v-else />
40
34
  </span>
41
35
  <span>{{ item.label }}</span>
42
36
  </footer-item>
@@ -22,9 +22,6 @@ withDefaults(defineProps<Props>(), {
22
22
  <div class="form-wrapper">
23
23
  <div
24
24
  :class="{
25
- 'pt-20': !reducePaddingTop,
26
- 'pt-10': reducePaddingTop,
27
- 'pl-20': !isContainer,
28
25
  'form-content': !isContainer,
29
26
  container: isContainer,
30
27
  }"
@@ -26,7 +26,7 @@ withDefaults(defineProps<Props>(), {
26
26
  <header-items>
27
27
  <header-item>
28
28
  <transition name="fade" mode="out-in" appear>
29
- <h5 :key="title">{{ title }}</h5>
29
+ <h4 :key="title">{{ title }}</h4>
30
30
  </transition>
31
31
  </header-item>
32
32
  <slot name="header-left-controls" />
@@ -395,7 +395,7 @@ watch(longRunningTaskStatus, (n) => {
395
395
  .task-log {
396
396
  width: 70%;
397
397
  height: 100%;
398
- border-radius: 1rem;
398
+ border-radius: 4px;
399
399
  font-size: 13px;
400
400
  }
401
401
  }
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
2
  import { defineAsyncComponent, ref, watch, computed, nextTick } from "vue";
3
- import type { User, Organization } from "../../types/user";
3
+ import type { User } from "../../types/user";
4
4
 
5
- interface FormatedOrgs extends Organization {
5
+ interface FormatedOrgs extends User {
6
6
  isPersonalAccount?: boolean;
7
7
  }
8
8
 
@@ -93,13 +93,13 @@ watch(dropDownStatus, (n) => {
93
93
  <navbar-item :modifierClasses="'ac-profile-button'">
94
94
  <template #navbar-item>
95
95
  <div class="ac-user-profile mr-8">
96
- <img :src="(user.avatar_url as string)" alt="User Photo" />
96
+ <img :src="user.avatar_url" alt="User Photo" />
97
97
  </div>
98
98
  {{ user.full_name || user.username }}
99
99
  <i class="fa fa-angle-down" aria-hidden="true"></i>
100
100
  </template>
101
101
  <!-- <button class="button ac-nav-button ac-profile-button">
102
-
102
+
103
103
  </button> -->
104
104
 
105
105
  <template #navbar-content>
@@ -85,6 +85,7 @@ const getSanitizedHtml = (content: string) => {
85
85
 
86
86
  p {
87
87
  color: $primary;
88
+ margin-bottom: 0;
88
89
 
89
90
  .close-icon {
90
91
  padding-right: 10px;
@@ -281,7 +282,7 @@ AC Toast
281
282
  // dark theme start
282
283
  // .is-dark-theme {
283
284
  // .ac-notification.is-danger {
284
- // background-color: $dark-bg-light;
285
+ // background-color: $black-80;
285
286
  // }
286
287
  // }
287
288
  </style>
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { ref, computed, watch } from "vue";
2
+ import { computed, ref, watch } from "vue";
3
3
 
4
4
  interface Props {
5
5
  hideRowsPerPageSelection?: boolean;
@@ -224,6 +224,7 @@ watch(selectedItemCountPerPage, () => {
224
224
  &:active,
225
225
  &:focus-visible {
226
226
  border: 1px solid $primary;
227
+ outline: none;
227
228
  }
228
229
  }
229
230
  }