@appscode/design-system 1.0.43-alpha.205 → 1.0.43-alpha.207

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.
@@ -3,4 +3,5 @@
3
3
  @import "mixin";
4
4
  @import "typography";
5
5
  @import "default";
6
+ @import "grid";
6
7
  @import "dark-theme";
@@ -0,0 +1,191 @@
1
+ $primary : hsl(208, 77%, 42%);
2
+
3
+ // Colors
4
+ // $black: hsl(0, 0%, 4%) !default;
5
+ // $black-bis: hsl(0, 0%, 7%) !default;
6
+ // $black-ter: hsl(0, 0%, 14%) !default;
7
+
8
+ // $grey-darker: hsl(0, 0%, 21%) !default;
9
+ // $grey-dark: hsl(0, 0%, 29%) !default;
10
+ // $grey: hsl(0, 0%, 48%) !default;
11
+ // $grey-light: hsl(0, 0%, 71%) !default;
12
+ // $grey-lighter: hsl(0, 0%, 86%) !default;
13
+ // $grey-lightest: hsl(0, 0%, 93%) !default;
14
+
15
+ // $white-ter: hsl(0, 0%, 96%) !default;
16
+ // $white-bis: hsl(0, 0%, 98%) !default;
17
+ // $white: hsl(0, 0%, 100%) !default;
18
+
19
+ $orange: hsl(30, 100%, 50%) !default;
20
+ $yellow: hsl(38, 93%, 57%) !default;
21
+ $green: hsl(147, 73%, 31%) !default;
22
+ // $turquoise: hsl(171, 100%, 41%) !default;
23
+ // $cyan: hsl(207, 61%, 53%) !default;
24
+ // $blue: hsl(229, 53%, 53%) !default;
25
+ $purple: hsl(286, 66%, 35%) !default;
26
+ $red: hsl(4, 100%, 58%) !default;
27
+
28
+ // // Typography
29
+ // $family-sans-serif: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !default;
30
+ // $family-monospace: monospace !default;
31
+ // $render-mode: optimizeLegibility !default;
32
+
33
+ // $size-1: 3rem !default;
34
+ // $size-2: 2.5rem !default;
35
+ // $size-3: 2rem !default;
36
+ // $size-4: 1.5rem !default;
37
+ // $size-5: 1.25rem !default;
38
+ // $size-6: 1rem !default;
39
+ // $size-7: 0.75rem !default;
40
+
41
+ // $weight-light: 300 !default;
42
+ // $weight-normal: 400 !default;
43
+ // $weight-medium: 500 !default;
44
+ // $weight-semibold: 600 !default;
45
+ // $weight-bold: 700 !default;
46
+
47
+ // // Spacing
48
+ // $block-spacing: 1.5rem !default;
49
+
50
+ // // Responsiveness
51
+ // // The container horizontal gap, which acts as the offset for breakpoints
52
+ // $gap: 32px !default;
53
+ // // 960, 1152, and 1344 have been chosen because they are divisible by both 12 and 16
54
+ // $tablet: 769px !default;
55
+ // // 960px container + 4rem
56
+ // $desktop: 960px + (2 * $gap) !default;
57
+ // // 1152px container + 4rem
58
+ // $widescreen: 1152px + (2 * $gap) !default;
59
+ // $widescreen-enabled: true !default;
60
+ // // 1344px container + 4rem
61
+ // $fullhd: 1344px + (2 * $gap) !default;
62
+ // $fullhd-enabled: true !default;
63
+ // $breakpoints: ("mobile": ("until": $tablet), "tablet": ("from": $tablet), "tablet-only": ("from": $tablet, "until": $desktop), "touch": ("from": $desktop), "desktop": ("from": $desktop), "desktop-only": ("from": $desktop, "until": $widescreen), "until-widescreen": ("until": $widescreen), "widescreen": ("from": $widescreen), "widescreen-only": ("from": $widescreen, "until": $fullhd), "until-fullhd": ("until": $fullhd), "fullhd": ("from": $fullhd)) !default;
64
+
65
+ // // Miscellaneous
66
+ // $easing: ease-out !default;
67
+ // $radius-small: 2px !default;
68
+ // $radius: 4px !default;
69
+ // $radius-large: 6px !default;
70
+ // $radius-rounded: 9999px !default;
71
+ // $speed: 86ms !default;
72
+
73
+ // // Flags
74
+ // $variable-columns: true !default;
75
+ // $rtl: false !default;
76
+
77
+
78
+
79
+ // // Derived-Variables
80
+
81
+ // $primary: $turquoise !default;
82
+
83
+ // $info: $cyan !default;
84
+ // $success: $green !default;
85
+ // $warning: $yellow !default;
86
+ // $danger: $red !default;
87
+
88
+ // $light: $white-ter !default;
89
+ // $dark: $grey-darker !default;
90
+
91
+ // // Invert colors
92
+
93
+ // $orange-invert: findColorInvert($orange) !default;
94
+ // $yellow-invert: findColorInvert($yellow) !default;
95
+ // $green-invert: findColorInvert($green) !default;
96
+ // $turquoise-invert: findColorInvert($turquoise) !default;
97
+ // $cyan-invert: findColorInvert($cyan) !default;
98
+ // $blue-invert: findColorInvert($blue) !default;
99
+ // $purple-invert: findColorInvert($purple) !default;
100
+ // $red-invert: findColorInvert($red) !default;
101
+
102
+ // $primary-invert: findColorInvert($primary) !default;
103
+ // $primary-light: findLightColor($primary) !default;
104
+ // $primary-dark: findDarkColor($primary) !default;
105
+ // $info-invert: findColorInvert($info) !default;
106
+ // $info-light: findLightColor($info) !default;
107
+ // $info-dark: findDarkColor($info) !default;
108
+ // $success-invert: findColorInvert($success) !default;
109
+ // $success-light: findLightColor($success) !default;
110
+ // $success-dark: findDarkColor($success) !default;
111
+ // $warning-invert: findColorInvert($warning) !default;
112
+ // $warning-light: findLightColor($warning) !default;
113
+ // $warning-dark: findDarkColor($warning) !default;
114
+ // $danger-invert: findColorInvert($danger) !default;
115
+ // $danger-light: findLightColor($danger) !default;
116
+ // $danger-dark: findDarkColor($danger) !default;
117
+ // $light-invert: findColorInvert($light) !default;
118
+ // $dark-invert: findColorInvert($dark) !default;
119
+
120
+ // // General colors
121
+
122
+ // $scheme-main: $white !default;
123
+ // $scheme-main-bis: $white-bis !default;
124
+ // $scheme-main-ter: $white-ter !default;
125
+ // $scheme-invert: $black !default;
126
+ // $scheme-invert-bis: $black-bis !default;
127
+ // $scheme-invert-ter: $black-ter !default;
128
+
129
+ // $background: $white-ter !default;
130
+
131
+ // $border: $grey-lighter !default;
132
+ // $border-hover: $grey-light !default;
133
+ // $border-light: $grey-lightest !default;
134
+ // $border-light-hover: $grey-light !default;
135
+
136
+ // // Text colors
137
+
138
+ // $text: $grey-dark !default;
139
+ // $text-invert: findColorInvert($text) !default;
140
+ // $text-light: $grey !default;
141
+ // $text-strong: $grey-darker !default;
142
+
143
+ // // Code colors
144
+
145
+ // $code: darken($red, 15%) !default;
146
+ // $code-background: $background !default;
147
+
148
+ // $pre: $text !default;
149
+ // $pre-background: $background !default;
150
+
151
+ // // Link colors
152
+
153
+ // $link: $blue !default;
154
+ // $link-invert: findColorInvert($link) !default;
155
+ // $link-light: findLightColor($link) !default;
156
+ // $link-dark: findDarkColor($link) !default;
157
+ // $link-visited: $purple !default;
158
+
159
+ // $link-hover: $grey-darker !default;
160
+ // $link-hover-border: $grey-light !default;
161
+
162
+ // $link-focus: $grey-darker !default;
163
+ // $link-focus-border: $blue !default;
164
+
165
+ // $link-active: $grey-darker !default;
166
+ // $link-active-border: $grey-dark !default;
167
+
168
+ // // Typography
169
+
170
+ // $family-primary: $family-sans-serif !default;
171
+ // $family-secondary: $family-sans-serif !default;
172
+ // $family-code: $family-monospace !default;
173
+
174
+ // $size-small: $size-7 !default;
175
+ // $size-normal: $size-6 !default;
176
+ // $size-medium: $size-5 !default;
177
+ // $size-large: $size-4 !default;
178
+
179
+ // // Effects
180
+
181
+ // $shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0px 0 1px rgba($scheme-invert, 0.02) !default;
182
+
183
+ // // Lists and maps
184
+ // $custom-colors: null !default;
185
+ // $custom-shades: null !default;
186
+
187
+ // $colors: mergeColorMaps(("white": ($white, $black), "black": ($black, $white), "light": ($light, $light-invert), "dark": ($dark, $dark-invert), "primary": ($primary, $primary-invert, $primary-light, $primary-dark), "link": ($link, $link-invert, $link-light, $link-dark), "info": ($info, $info-invert, $info-light, $info-dark), "success": ($success, $success-invert, $success-light, $success-dark), "warning": ($warning, $warning-invert, $warning-light, $warning-dark), "danger": ($danger, $danger-invert, $danger-light, $danger-dark)), $custom-colors) !default;
188
+
189
+ // $shades: mergeColorMaps(("black-bis": $black-bis, "black-ter": $black-ter, "grey-darker": $grey-darker, "grey-dark": $grey-dark, "grey": $grey, "grey-light": $grey-light, "grey-lighter": $grey-lighter, "white-ter": $white-ter, "white-bis": $white-bis), $custom-shades) !default;
190
+
191
+ // $sizes: $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 $size-7 !default;
@@ -348,13 +348,13 @@ $positions: (
348
348
  }
349
349
 
350
350
  &::-webkit-scrollbar-thumb {
351
- background-color: $ac-gray-light;
351
+ background-color: $ac-gray-lightest;
352
352
  border-radius: 50px;
353
353
  height: 2px !important;
354
354
  }
355
355
 
356
356
  &::-webkit-scrollbar-thumb:hover {
357
- background-color: $ac-gray-light;
357
+ background-color: $ac-gray-lightest;
358
358
  }
359
359
 
360
360
  &:hover::-webkit-scrollbar-corner {
@@ -395,33 +395,33 @@ $positions: (
395
395
  }
396
396
 
397
397
  &::-webkit-scrollbar-thumb {
398
- background-color: $ac-gray-light;
398
+ background-color: $ac-gray-lightest;
399
399
  border-radius: 50px;
400
400
  height: 2px !important;
401
401
  }
402
402
 
403
403
  &::-moz-scrollbar-thumb {
404
- background-color: $ac-gray-light;
404
+ background-color: $ac-gray-lightest;
405
405
  border-radius: 50px;
406
406
  height: 2px !important;
407
407
  }
408
408
 
409
409
  &::-ms-scrollbar-thumb {
410
- background-color: $ac-gray-light;
410
+ background-color: $ac-gray-lightest;
411
411
  border-radius: 50px;
412
412
  height: 2px !important;
413
413
  }
414
414
 
415
415
  &::-webkit-scrollbar-thumb:hover {
416
- background-color: $ac-gray-light;
416
+ background-color: $ac-gray-lightest;
417
417
  }
418
418
 
419
419
  &::-moz-scrollbar-thumb:hover {
420
- background-color: $ac-gray-light;
420
+ background-color: $ac-gray-lightest;
421
421
  }
422
422
 
423
423
  &::-ms-scrollbar-thumb:hover {
424
- background-color: $ac-gray-light;
424
+ background-color: $ac-gray-lightest;
425
425
  }
426
426
 
427
427
  &:hover::-webkit-scrollbar-corner {
@@ -452,13 +452,13 @@ $positions: (
452
452
  }
453
453
 
454
454
  &::-webkit-scrollbar-thumb {
455
- background-color: $ac-gray-light;
455
+ background-color: $ac-gray-lightest;
456
456
  border-radius: 50px;
457
457
  width: 2px !important;
458
458
  }
459
459
 
460
460
  &::-webkit-scrollbar-thumb:hover {
461
- background-color: $ac-gray-light;
461
+ background-color: $ac-gray-lightest;
462
462
  }
463
463
 
464
464
  &:hover::-webkit-scrollbar-corner {
@@ -525,8 +525,13 @@ button {
525
525
  background-color: $ac-white-light;
526
526
  font-size: 11px;
527
527
  height: 18px;
528
+ line-height: 1;
528
529
  letter-spacing: 0.1px;
529
530
  color: $ac-color-heading;
531
+ &.is-outlined {
532
+ border: 1px solid;
533
+ background-color: transparent;
534
+ }
530
535
 
531
536
  a {
532
537
  &:hover {
@@ -17,3 +17,9 @@ $ac-shadow-1: 0 1px 4px rgba(26, 80, 151, 0.16);
17
17
  $ac-shadow-2: 0px 8px 57px rgba(0, 0, 0, 0.16);
18
18
  $ac-shadow-3: 0 3px 4px 0 rgba(0, 0, 0, 0.18),
19
19
  0 3px 3px -2px rgba(0, 0, 0, 0.16), 0 1px 6px 0 rgba(0, 0, 0, 0.12);
20
+
21
+ $ac-shadow-sm: 0 1px 4px rgba(26, 80, 151, 0.16);
22
+ $ac-shadow-xl: 0px 8px 57px rgba(0, 0, 0, 0.16);
23
+ $ac-shadow-lg: 0 3px 4px 0 rgba(0, 0, 0, 0.18),
24
+ 0 3px 3px -2px rgba(0, 0, 0, 0.16), 0 1px 6px 0 rgba(0, 0, 0, 0.12);
25
+
@@ -0,0 +1,29 @@
1
+ .grid {
2
+ display: grid;
3
+ }
4
+
5
+ @for $i from 1 through 12 {
6
+ .grid-cols-#{$i} {
7
+ grid-template-columns: repeat(#{$i}, minmax(0, 1fr));
8
+ }
9
+ }
10
+
11
+ .grid-cols-none {
12
+ grid-template-columns: none;
13
+ }
14
+
15
+ @for $i from 1 through 12 {
16
+ .col-span-#{$i} {
17
+ grid-column: span #{$i} / span #{$i};
18
+ }
19
+ }
20
+
21
+ .col-auto {
22
+ grid-column: auto;
23
+ }
24
+
25
+ @for $i from 0 through 30 {
26
+ .gap-#{$i} {
27
+ gap: #{$i}px;
28
+ }
29
+ }
@@ -4,14 +4,6 @@
4
4
  $ac-family-heading: "Roboto", sans-serif;
5
5
  $ac-family-paragraph: "Roboto", sans-serif;
6
6
 
7
- $ac-size-1: 48px;
8
- $ac-size-2: 36px;
9
- $ac-size-3: 28px;
10
- $ac-size-4: 22px;
11
- $ac-size-5: 18px;
12
- $ac-size-6: 16px;
13
- $ac-size-7: 14px;
14
-
15
7
  // body font size
16
8
  $font-size-medium: 16px;
17
9
  $font-size-semi-normal: 15px;
@@ -56,7 +48,8 @@ $swift-primary: #3f51b6;
56
48
  --ac-gray-light: #8d8d8d;
57
49
  --ac-gray-lightest: #d1d1d1;
58
50
  --ac-white-light: #e7e7e7;
59
- --ac-white-lighter: #f1f1f1;
51
+ --ac-white-lighter: #f2f5f8;
52
+ --ac-white-lightest: #f8f9fb;
60
53
 
61
54
  --ac-black: #000000;
62
55
  --ac-color-text-90: #323232;
@@ -121,6 +114,7 @@ $ac-gray-lighter: var(--ac-gray-lighter);
121
114
  $ac-gray-lightest: var(--ac-gray-lightest);
122
115
  $ac-white-light: var(--ac-white-light);
123
116
  $ac-white-lighter: var(--ac-white-lighter);
117
+ $ac-white-lightest: var(--ac-white-lightest);
124
118
  $ac-white: var(--ac-white);
125
119
  $ac-full-white: var(--ac-full-white);
126
120
 
@@ -188,6 +182,16 @@ $dark-bg-light: var(--dark-bg-light);
188
182
  }
189
183
  }
190
184
 
185
+ .mx-auto {
186
+ margin: 0 auto;
187
+ }
188
+ .mr-auto{
189
+ margin-right: auto;
190
+ }
191
+ .ml-auto{
192
+ margin-left: auto;
193
+ }
194
+
191
195
  /* Deafult height & widht */
192
196
  @for $i from 0 through 300 {
193
197
  .height-#{$i} {
@@ -21,33 +21,27 @@ h6 {
21
21
  }
22
22
 
23
23
  h1 {
24
- font-size: $ac-size-1;
25
- line-height: $ac-size-1 + 10;
24
+ font-size: $size-1;
26
25
  }
27
26
 
28
27
  h2 {
29
- font-size: $ac-size-2;
30
- line-height: $ac-size-2 + 10;
28
+ font-size: $size-2;
31
29
  }
32
30
 
33
31
  h3 {
34
- font-size: $ac-size-3;
35
- line-height: $ac-size-3 + 10;
32
+ font-size: $size-3;
36
33
  }
37
34
 
38
35
  h4 {
39
- font-size: $ac-size-4;
40
- line-height: $ac-size-4 + 10;
36
+ font-size: $size-4;
41
37
  }
42
38
 
43
39
  h5 {
44
- font-size: $ac-size-5;
45
- line-height: $ac-size-5 + 10;
40
+ font-size: $size-5;
46
41
  }
47
42
 
48
43
  h6 {
49
- font-size: $ac-size-6;
50
- line-height: $ac-size-6 + 10;
44
+ font-size: $size-6;
51
45
  }
52
46
 
53
47
  h6 {
@@ -14,6 +14,7 @@ $dark-bg-light: var(--dark-bg-light);
14
14
  --ac-gray-lightest: #777777;
15
15
  --ac-white-light: #3f3f3f;
16
16
  --ac-white-lighter: #2e323c;
17
+ --ac-white-lightest: #1f2229;
17
18
  --ac-label-text: #8c8c8c;
18
19
  --ac-bg-light-gray: #252830;
19
20
 
@@ -29,6 +29,12 @@
29
29
  border-radius: 4px;
30
30
  border: 1px solid $ac-white-light;
31
31
 
32
+ &.open {
33
+ .accordion-heading {
34
+ margin-bottom: 10px;
35
+ }
36
+ }
37
+
32
38
  &:last-child {
33
39
  margin-bottom: 0;
34
40
  }
@@ -37,7 +43,6 @@
37
43
  display: flex;
38
44
  align-items: center;
39
45
  justify-content: space-between;
40
- margin-bottom: 10px;
41
46
 
42
47
  h3 {
43
48
  cursor: pointer;
@@ -10,10 +10,10 @@
10
10
  overflow: hidden;
11
11
  border: 1px solid $ac-primary;
12
12
  border-radius: 4px;
13
- justify-content: center;
13
+ justify-content: flex-start;
14
14
  position: relative;
15
15
  z-index: 1;
16
- max-width: 280px;
16
+ min-width: 280px;
17
17
 
18
18
  p {
19
19
  color: $ac-primary;
@@ -47,8 +47,33 @@
47
47
  border: none;
48
48
  font-size: 14px;
49
49
  color: $ac-danger;
50
- width: 30px;
50
+ width: 40px;
51
51
  height: 100%;
52
+ display: flex;
53
+ align-items: center;
54
+ justify-content: center;
55
+ }
56
+ }
57
+
58
+
59
+ .toast {
60
+ box-shadow: $ac-shadow-sm;
61
+ border: 1px solid $ac-white-light;
62
+ width: 350px;
63
+
64
+ .toast-header {
65
+ padding: 8px 12px;
66
+ border-bottom: 1px solid $ac-white-light;
67
+
68
+ .button {
69
+ &:hover {
70
+ color: #000000;
71
+ }
72
+ }
73
+ }
74
+
75
+ .toast-body {
76
+ padding: 8px 12px;
52
77
  }
53
78
  }
54
79
 
@@ -144,6 +169,7 @@ AC Toast
144
169
 
145
170
  i.fa {
146
171
  padding-right: 0 !important;
172
+ margin-right: 4px;
147
173
  }
148
174
  }
149
175
 
@@ -29,8 +29,6 @@
29
29
  margin-bottom: 13px;
30
30
 
31
31
  .ac-card-logo {
32
- min-width: 30px;
33
- max-width: 30px;
34
32
  margin-right: 10px;
35
33
  position: relative;
36
34
  z-index: 1;
@@ -173,6 +171,11 @@
173
171
  }
174
172
  }
175
173
 
174
+ &.is-disabled {
175
+ opacity: 0.5;
176
+ cursor: not-allowed;
177
+ }
178
+
176
179
  &:hover {
177
180
  border: 1px solid $ac-primary;
178
181
 
@@ -188,15 +191,23 @@
188
191
  .ac-card-header {
189
192
  display: flex;
190
193
  align-items: center;
191
- margin-bottom: 20px;
194
+ margin-bottom: 16px;
192
195
 
193
196
  .ac-card-logo {
194
197
  width: 40px;
195
198
  overflow: hidden;
196
199
  margin-right: 15px;
200
+ background: $ac-white;
201
+ padding: 8px;
202
+ height: 40px;
203
+ border-radius: 50%;
204
+ display: flex;
205
+ align-items: center;
206
+ border: 1px solid $ac-white-light;
197
207
  }
198
208
 
199
209
  .ac-card-title {
210
+ width: calc(100% - 55px);
200
211
  h4 {
201
212
  a {
202
213
  color: $ac-color-heading;
@@ -209,7 +220,7 @@
209
220
 
210
221
  p {
211
222
  font-size: $font-size-small;
212
- color: $ac-gray-lightest;
223
+ color: $ac-gray;
213
224
  }
214
225
  }
215
226
  }
@@ -34,6 +34,8 @@
34
34
  ul {
35
35
  li {
36
36
  padding-left: 40px;
37
+ padding-top: 4px;
38
+ padding-bottom: 4px;
37
39
 
38
40
  &.is-not-change {
39
41
  background-color: $ac-white-lighter;
@@ -154,6 +154,7 @@
154
154
  height: 36px;
155
155
  width: 36px;
156
156
  margin-top: 0;
157
+ padding: 10px;
157
158
  }
158
159
  }
159
160
 
@@ -23,13 +23,5 @@
23
23
  @import "go-to-top";
24
24
  @import "ac-toaster/ac-toasted";
25
25
  @import "preview-modal";
26
- @import "bbum/post";
27
- @import "bbum/single-post-preview";
28
- @import "bbum/user-profile";
29
- @import "bbum/sign-up-notification";
30
- @import "bbum/activities-header";
31
- @import "bbum/card-team";
32
- @import "bbum/information-center";
33
- @import "bbum/left-sidebar";
34
- @import "ac-tags";
35
- @import "ui-builder/ui-builder";
26
+ @import "wizard";
27
+ @import "bbum/all";
@@ -43,7 +43,7 @@
43
43
  }
44
44
 
45
45
  .ac-left-sidebar-wrapper {
46
- background-color: $ac-white;
46
+ background-color: $ac-white-lightest;
47
47
  width: 100%;
48
48
  position: sticky;
49
49
  top: 50px;
@@ -87,7 +87,7 @@
87
87
  li {
88
88
  a {
89
89
  padding: 12px 15px 12px 26px !important;
90
- font-weight: 400;
90
+ font-weight: 500;
91
91
 
92
92
  &:hover {
93
93
  &::after {
@@ -95,7 +95,7 @@
95
95
  }
96
96
 
97
97
  span {
98
- color: $ac-black;
98
+ color: $ac-link-black;
99
99
  }
100
100
  }
101
101
 
@@ -183,7 +183,7 @@
183
183
  li {
184
184
  a {
185
185
  strong {
186
- font-weight: 400;
186
+ font-weight: 500;
187
187
  }
188
188
  }
189
189
  }
@@ -192,10 +192,10 @@
192
192
 
193
193
  a {
194
194
  font-style: normal;
195
- font-weight: 400;
195
+ font-weight: 500;
196
196
  font-size: $font-size-small;
197
197
  line-height: 16px;
198
- color: $ac-black;
198
+ color: $ac-link-black;
199
199
  position: relative;
200
200
  z-index: 1;
201
201
  padding: 10px 15px 10px 24px;
@@ -223,7 +223,7 @@
223
223
  display: flex;
224
224
  align-items: center;
225
225
  overflow: hidden;
226
- font-weight: 400;
226
+ font-weight: 500;
227
227
  }
228
228
 
229
229
  &.ac-dropdown-button {
@@ -247,7 +247,7 @@
247
247
  }
248
248
 
249
249
  span {
250
- color: $ac-black;
250
+ color: $ac-link-black;
251
251
 
252
252
  img {
253
253
  filter: grayscale(0);
@@ -569,7 +569,7 @@ Responsive Classes
569
569
  }
570
570
 
571
571
  span {
572
- color: $ac-black;
572
+ color: $ac-link-black;
573
573
  }
574
574
  }
575
575
  }
@@ -5,6 +5,7 @@
5
5
  width: 100%;
6
6
  top: 0;
7
7
  z-index: 999;
8
+
8
9
  &.is-light {
9
10
  background-color: $ac-white;
10
11
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.16);
@@ -12,10 +13,12 @@
12
13
  .ac-navbar-menu .ac-menu-item .ac-nav-button.ac-profile-button {
13
14
  color: #3a3a3a !important;
14
15
  }
16
+
15
17
  .drawer-icon svg {
16
18
  fill: $ac-color-text !important;
17
19
  }
18
20
  }
21
+
19
22
  .ac-navbar {
20
23
  display: inline-grid;
21
24
  grid-template-columns: 255px auto auto;
@@ -31,10 +34,12 @@
31
34
  font-weight: 600;
32
35
  color: $ac-white;
33
36
  }
37
+
34
38
  img {
35
39
  height: 30px;
36
40
  }
37
41
  }
42
+
38
43
  .search-item {
39
44
  display: flex;
40
45
  align-items: center;
@@ -119,10 +124,31 @@
119
124
  position: relative;
120
125
  z-index: 1;
121
126
 
127
+ // width: 30px;
128
+ // height: 30px;
129
+ // border-radius: 50%;
130
+ .ac-nav-button:not(.ac-profile-button) {
131
+ &:after {
132
+ content: "";
133
+ border-radius: 50%;
134
+ width: 30px;
135
+ height: 30px;
136
+ position: absolute;
137
+ z-index: -1;
138
+ left: 50%;
139
+ transition: 0.3s ease-in-out;
140
+ margin-left: -15px;
141
+ }
142
+
143
+ &:hover {
144
+ &:after {
145
+ background-color: rgba(255, 255, 255, 0.2) !important;
146
+ }
147
+ }
148
+ }
149
+
122
150
  &:hover {
123
151
  .ac-nav-button:not(.ac-profile-button) {
124
- background-color: $ac-primary;
125
-
126
152
  i.fa {
127
153
  color: $ac-white;
128
154
  }
@@ -132,6 +158,7 @@
132
158
  opacity: 1;
133
159
  visibility: visible;
134
160
  top: 40px;
161
+
135
162
  &.theme-choice {
136
163
  transition: none;
137
164
  padding: 10px 10px;
@@ -141,6 +168,7 @@
141
168
  border-radius: 4px;
142
169
  left: 0;
143
170
  background-color: $ac-white;
171
+
144
172
  ul {
145
173
  li {
146
174
  width: 40px;
@@ -156,10 +184,12 @@
156
184
  }
157
185
  }
158
186
  }
187
+
159
188
  // &::after {
160
189
  // right: 90px;
161
190
  // }
162
191
  }
192
+
163
193
  &::after {
164
194
  position: absolute;
165
195
  content: "";
@@ -216,7 +246,7 @@
216
246
  &.ac-profile-button {
217
247
  strong {
218
248
  color: $ac-white;
219
- margin-left: 45px;
249
+ margin-left: 16px;
220
250
  font-weight: 500;
221
251
  font-size: $font-size-small;
222
252
  }
@@ -244,6 +274,7 @@
244
274
  opacity: 0;
245
275
  visibility: hidden;
246
276
  transition: 0.3s ease-in;
277
+
247
278
  &.theme-choice {
248
279
  left: 0;
249
280
  }
@@ -560,6 +591,7 @@
560
591
  transition: max-height 0.25s ease-out;
561
592
  }
562
593
  }
594
+
563
595
  &.is-open {
564
596
  ul {
565
597
  max-height: 200px;
@@ -568,32 +600,40 @@
568
600
  }
569
601
  }
570
602
  }
603
+
571
604
  .is-fullwidth {
572
605
  width: 100%;
573
606
  }
607
+
574
608
  .navbar-dropdown-wrapper {
575
609
  width: 300px;
576
610
  transition: width 0.9s ease-in-out;
577
611
  }
578
612
  }
613
+
579
614
  .theme-choicee {
580
615
  border: 1px solid $ac-white-light;
616
+
581
617
  li {
582
618
  border-right: 1px solid $ac-white-light;
583
619
  cursor: pointer;
584
620
  transition: 0.3s ease-in-out;
621
+
585
622
  &:last-child {
586
623
  border-right: none;
587
624
  }
625
+
588
626
  &:hover {
589
627
  color: $ac-black;
590
628
  }
629
+
591
630
  &.is-active {
592
631
  background-color: $ac-primary;
593
632
  color: $ac-white;
594
633
  }
595
634
  }
596
635
  }
636
+
597
637
  // start dark theme
598
638
  .is-dark-theme {
599
639
  body {
@@ -617,6 +657,7 @@
617
657
  &.theme-choice {
618
658
  background-color: var(--dark-bg-light);
619
659
  }
660
+
620
661
  background-color: var(--dark-bg-light);
621
662
 
622
663
  ul {
@@ -637,6 +678,7 @@
637
678
  }
638
679
  }
639
680
  }
681
+
640
682
  // end dark theme code
641
683
 
642
684
  /****************************************
@@ -0,0 +1,9 @@
1
+ @import "activities-header";
2
+ @import "card-team";
3
+ @import "information-center";
4
+ @import "left-sidebar";
5
+ @import "mobile-desktop";
6
+ @import "post";
7
+ @import "sign-up-notification";
8
+ @import "single-post-preview";
9
+ @import "user-profile";
@@ -135,7 +135,7 @@
135
135
  left: 20px;
136
136
 
137
137
  h2 {
138
- font-size: $ac-size-2;
138
+ font-size: $size-2;
139
139
  margin-bottom: 25px;
140
140
  color: $ac-color-heading;
141
141
  }
@@ -12,20 +12,36 @@
12
12
 
13
13
  .ui-builders-wrapper {
14
14
  width: 760px;
15
+
15
16
  h5 {
16
17
  margin-bottom: 10px;
17
18
  }
19
+
18
20
  p {
19
21
  font-size: 13px;
20
22
  margin-bottom: 10px;
21
23
  color: $ac-color-value;
22
24
  }
23
25
  }
26
+
24
27
  .key-value-save {
28
+ display: grid;
29
+ grid-template-columns: 1fr 1fr auto;
30
+ grid-gap: 15px;
31
+ }
32
+
33
+ .key-value-save-check {
25
34
  display: grid;
26
35
  grid-template-columns: 1fr 1fr auto auto;
27
36
  grid-gap: 15px;
28
37
  }
38
+
39
+ .key-save {
40
+ display: grid;
41
+ grid-template-columns: 1fr auto;
42
+ grid-gap: 15px;
43
+ }
44
+
29
45
  .value-list-save {
30
46
  display: grid;
31
47
  grid-template-columns: 1fr auto;
@@ -38,16 +54,20 @@
38
54
  padding-left: 20px;
39
55
  position: relative;
40
56
  z-index: 1;
57
+
41
58
  &:first-child {
42
59
  margin-left: -20px;
43
60
  }
61
+
44
62
  &.is-active {
45
63
  &::after {
46
64
  border: 1px dashed $ac-primary;
47
65
  }
66
+
48
67
  &::before {
49
68
  background-color: $ac-primary;
50
69
  }
70
+
51
71
  .nested-header {
52
72
  h6 {
53
73
  .collaps-icon {
@@ -57,6 +77,7 @@
57
77
  }
58
78
  }
59
79
  }
80
+
60
81
  &::after {
61
82
  position: absolute;
62
83
  content: "";
@@ -79,15 +100,18 @@
79
100
  border-radius: 50%;
80
101
  z-index: -1;
81
102
  }
103
+
82
104
  .nested-header {
83
105
  display: flex;
84
106
  align-items: center;
85
107
  justify-content: space-between;
86
108
  margin-bottom: 5px;
109
+
87
110
  h6 {
88
111
  display: flex;
89
112
  align-items: center;
90
113
  cursor: pointer;
114
+
91
115
  .collaps-icon {
92
116
  width: 16px;
93
117
  height: 16px;
@@ -101,12 +125,14 @@
101
125
  cursor: pointer;
102
126
  background-color: $ac-white;
103
127
  color: $ac-color-value;
128
+
104
129
  &.is-disabled {
105
130
  cursor: not-allowed;
106
131
  }
107
132
  }
108
133
  }
109
134
  }
135
+
110
136
  .nested-body {
111
137
  padding-left: 24px;
112
138
  }
@@ -122,18 +148,23 @@
122
148
 
123
149
  .table-wrapper {
124
150
  overflow-x: auto;
151
+
125
152
  .table-inner {
126
153
  min-width: 630px;
154
+
127
155
  .thead {
128
156
  background-color: $ac-white-lighter;
157
+
129
158
  .tr {
130
159
  .th {
131
160
  font-weight: 600;
132
161
  }
162
+
133
163
  border-top: 1px solid var(--ac-white-light);
134
164
  border-bottom: 1px solid var(--ac-white-light);
135
165
  }
136
166
  }
167
+
137
168
  .thead,
138
169
  .tbody {
139
170
  .tr {
@@ -158,18 +189,21 @@
158
189
  }
159
190
  }
160
191
  }
192
+
161
193
  .is-selected {
162
194
  border: 1px solid $ac-primary;
163
195
  border-bottom: 1px solid $ac-primary !important;
164
196
  border-radius: 4px;
165
197
  }
166
198
  }
199
+
167
200
  .is-collapsed {
168
201
  &.ac-nested-elements::before,
169
202
  &.ac-nested-elements::after {
170
203
  display: none;
171
204
  }
172
205
  }
206
+
173
207
  // details with checkradio
174
208
  .details-with-checkradio-wrapper {
175
209
  display: grid;
@@ -193,15 +227,16 @@
193
227
  grid-gap: 15px;
194
228
  align-items: center;
195
229
  margin-bottom: 15px;
230
+
196
231
  .label-text {
197
232
  font-weight: 300;
198
233
  }
234
+
199
235
  .ac-single-input {
200
236
  margin: 0;
201
237
  }
202
238
  }
203
239
 
204
-
205
240
  // dark theme end
206
241
  /****************************************
207
242
  Responsive Classes
package/main.scss CHANGED
@@ -1,3 +1,5 @@
1
+
2
+ @import "~assets/design-system/base/utilities/customize-bulma";
1
3
  // Third party CSS
2
4
  @import "~bulma";
3
5
  @import "~bulma-checkradio";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appscode/design-system",
3
- "version": "1.0.43-alpha.205",
3
+ "version": "1.0.43-alpha.207",
4
4
  "description": "A design system for Appscode websites and dashboards made using Bulma",
5
5
  "main": "main.scss",
6
6
  "scripts": {
@@ -43,11 +43,7 @@
43
43
  <!-- modal footer start -->
44
44
  <div
45
45
  v-if="!hideActionFooter"
46
- class="
47
- ac-modal-footer
48
- action-footer
49
- is-flex is-align-items-center is-justify-content-space-between
50
- "
46
+ class="ac-modal-footer action-footer is-flex is-align-items-center is-justify-content-space-between"
51
47
  >
52
48
  <div>
53
49
  <slot name="modal-footer-left" />
@@ -65,6 +61,11 @@
65
61
  <script>
66
62
  import { defineComponent, defineAsyncComponent } from "vue";
67
63
 
64
+ const modalCloseIcon = import.meta.glob(
65
+ "/src/assets/icons/modal/close-icon.svg",
66
+ { eager: true }
67
+ );
68
+
68
69
  export default defineComponent({
69
70
  props: {
70
71
  open: {
@@ -112,9 +113,8 @@ export default defineComponent({
112
113
  data() {
113
114
  return {
114
115
  showModal: false,
115
- crossIcon: import.meta.globEager(
116
- "/src/assets/icons/modal/close-icon.svg"
117
- )["/src/assets/icons/modal/close-icon.svg"].default,
116
+ crossIcon:
117
+ modalCloseIcon["/src/assets/icons/modal/close-icon.svg"].default,
118
118
  };
119
119
  },
120
120
 
@@ -12,6 +12,13 @@
12
12
  v-bind="$attrs"
13
13
  data-testid="ac-table-row"
14
14
  >
15
+ <table-cell v-if="collapsible">
16
+ <collapsible-button
17
+ @click.stop="toggleCollapse"
18
+ modifier-classes="is-square is-tinny is-light"
19
+ :icon-class="isCollapsed ? 'chevron-right' : 'chevron-down'"
20
+ />
21
+ </table-cell>
15
22
  <slot />
16
23
  <fake-table-cell
17
24
  v-if="fakeCellWidth > 0"
@@ -21,6 +28,7 @@
21
28
  </router-link>
22
29
  <tr
23
30
  v-else
31
+ v-bind="$attrs"
24
32
  :class="{
25
33
  'is-selected': isSelected,
26
34
  'is-hoverless': !isSelected,
@@ -29,12 +37,24 @@
29
37
  data-testid="ac-table-row"
30
38
  @click.prevent="$emit('rowselect', true)"
31
39
  >
40
+ <table-cell v-if="collapsible">
41
+ <collapsible-button
42
+ @click.stop="toggleCollapse"
43
+ modifier-classes="is-square is-tinny is-light"
44
+ :icon-class="isCollapsed ? 'chevron-right' : 'chevron-down'"
45
+ />
46
+ </table-cell>
32
47
  <slot />
33
48
  <fake-table-cell
34
49
  v-if="fakeCellWidth > 0"
35
50
  :fake-cell-width="fakeCellWidth"
36
51
  />
37
52
  </tr>
53
+ <tr v-if="collapsible && !isCollapsed" v-bind="$attrs">
54
+ <table-cell colspan="1000">
55
+ <slot name="collapsible-content" />
56
+ </table-cell>
57
+ </tr>
38
58
  </template>
39
59
 
40
60
  <script>
@@ -58,6 +78,10 @@ export default defineComponent({
58
78
  type: Number,
59
79
  default: 0,
60
80
  },
81
+ collapsible: {
82
+ type: Boolean,
83
+ default: false,
84
+ },
61
85
  },
62
86
 
63
87
  emits: ["rowselect"],
@@ -69,6 +93,21 @@ export default defineComponent({
69
93
  FakeTableCell: defineAsyncComponent(() =>
70
94
  import("./FakeTableCell.vue").then((module) => module.default)
71
95
  ),
96
+ CollapsibleButton: defineAsyncComponent(() =>
97
+ import("../button/Button.vue")
98
+ ),
99
+ },
100
+
101
+ data() {
102
+ return {
103
+ isCollapsed: true,
104
+ };
105
+ },
106
+
107
+ methods: {
108
+ toggleCollapse() {
109
+ this.isCollapsed = !this.isCollapsed;
110
+ },
72
111
  },
73
112
  });
74
113
  </script>
@@ -5,13 +5,20 @@
5
5
  'is-align-items-center': cellValue.icon,
6
6
  'is-justify-content-center': cellDescriptor.textAlign === 'center',
7
7
  'is-justify-content-left': cellDescriptor.textAlign === 'left',
8
- 'is-justify-content-right': cellDescriptor.textAlign === 'right'
8
+ 'is-justify-content-right': cellDescriptor.textAlign === 'right',
9
9
  }"
10
10
  >
11
11
  <span v-if="cellValue.icon" class="icon p-0 mr-10">
12
12
  <img width="15" :src="cellValue.icon" />
13
13
  </span>
14
- <router-link v-if="cellValue.link" :to="getCellLink(cellValue)">
14
+ <a
15
+ v-if="cellValue.link && cellValue.link.startsWith('http')"
16
+ :href="getCellLink(cellValue)"
17
+ @click.prevent="redirectTo"
18
+ >
19
+ {{ cellValue.data }}
20
+ </a>
21
+ <router-link v-else-if="cellValue.link" :to="getCellLink(cellValue)">
15
22
  {{ cellValue.data }}
16
23
  </router-link>
17
24
  <tag v-else-if="cellValue.color" :class="`is-${cellValue.color}`">
@@ -33,30 +40,36 @@ import { useRoute } from "vue-router";
33
40
  export default defineComponent({
34
41
  components: {
35
42
  Tag: defineAsyncComponent(() => import("../../tag/Tag.vue")),
36
- CellValue: defineAsyncComponent(() => import("../table-cell/CellValue.vue"))
43
+ CellValue: defineAsyncComponent(() =>
44
+ import("../table-cell/CellValue.vue")
45
+ ),
37
46
  },
38
47
  props: {
39
48
  cellDescriptor: {
40
49
  type: Object,
41
- default: () => ({})
50
+ default: () => ({}),
42
51
  },
43
52
  cellValue: {
44
53
  type: Object,
45
- default: () => ({})
46
- }
54
+ default: () => ({}),
55
+ },
47
56
  },
48
57
  setup() {
58
+ const route = useRoute();
49
59
  function getCellLink(cell) {
50
- const route = useRoute();
51
60
  const inject = (str, obj) => str.replace(/\${(.*?)}/g, (x, g) => obj[g]);
52
61
  const { user, cluster } = route.params;
53
62
  const link = inject(cell.link || "", {
54
63
  username: user,
55
- clustername: cluster
64
+ clustername: cluster,
56
65
  });
57
66
  return link;
58
67
  }
59
- return { getCellLink };
60
- }
68
+ function redirectTo() {
69
+ const link = getCellLink(this.cellValue);
70
+ window.open(link, "_blank");
71
+ }
72
+ return { getCellLink, redirectTo };
73
+ },
61
74
  });
62
75
  </script>