@appscode/design-system 2.0.6-alpha.1 → 2.0.6-alpha.3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appscode/design-system",
3
- "version": "2.0.6-alpha.1",
3
+ "version": "2.0.6-alpha.3",
4
4
  "description": "A design system for Appscode websites and dashboards made using Bulma",
5
5
  "main": "main.scss",
6
6
  "scripts": {
@@ -1,15 +1,65 @@
1
1
  // menu content
2
2
 
3
+
4
+
3
5
  .ac-menu-item {
6
+ .ac-nav-button {
7
+ width: 32px;
8
+ height: 32px;
9
+ border-radius: 50%;
10
+ padding: 5px;
11
+ transition: all 0.3s ease-in-out;
12
+ position: relative;
13
+ z-index: 99;
14
+ user-select: none;
15
+ border: 1px solid $primary-80;
16
+ cursor: pointer;
17
+
18
+ &:after {
19
+ position: absolute;
20
+ content: "";
21
+ left: 0;
22
+ top: 0;
23
+ opacity: 1;
24
+ z-index: -1;
25
+ width: 100%;
26
+ height: 100%;
27
+ border-radius: 50%;
28
+ transition: 0.3s ease-in-out;
29
+ }
30
+
31
+ &:focus {
32
+ box-shadow: none;
33
+ }
34
+
35
+ &:hover {
36
+ &:after {
37
+ background-color: $primary-90;
38
+ }
39
+ }
40
+ }
4
41
  &.ac-profile-button {
5
42
  margin-right: 15px;
6
43
  button.button.ac-nav-button {
44
+ width: 100%;
45
+ background-color: transparent;
46
+ border-radius: 0;
47
+ font-weight: 500;
48
+ border: none;
49
+
50
+ &::after {
51
+ border-radius: 0;
52
+ border: none;
53
+ background-color: transparent;
54
+ }
7
55
  .ac-user-profile {
8
56
  width: 32px;
9
57
  height: 32px;
10
58
  border-radius: 50%;
11
59
  overflow: hidden;
12
60
  border: 2px solid $primary-90;
61
+
62
+
13
63
  }
14
64
  i.fa {
15
65
  padding-left: 8px;
@@ -338,6 +388,11 @@
338
388
  }
339
389
 
340
390
  &.is-active {
391
+ .ac-nav-button {
392
+ &::after {
393
+ background-color: $primary-90;
394
+ }
395
+ }
341
396
  .ac-menu-content {
342
397
  opacity: 1;
343
398
  visibility: visible;
@@ -355,6 +410,7 @@
355
410
  transform: rotate(45deg);
356
411
  box-shadow: 0px -1px 4px rgba(0, 0, 0, 0.16);
357
412
  z-index: -1;
413
+
358
414
  }
359
415
  }
360
416
  }
@@ -362,6 +418,7 @@
362
418
  .ac-menu-content {
363
419
  &.navbar-dropdown-wrapper {
364
420
  position: absolute;
421
+ border-radius: 4px;
365
422
  z-index: 99;
366
423
  right: 0px;
367
424
  top: 40px;
@@ -55,6 +55,10 @@
55
55
  .ac-menu-item {
56
56
  position: relative;
57
57
  z-index: 1;
58
+ margin-left: 8px;
59
+ &:first-child {
60
+ margin-left: 0;
61
+ }
58
62
  }
59
63
  }
60
64
  }
@@ -67,4 +71,3 @@
67
71
  }
68
72
  }
69
73
  }
70
-
@@ -85,7 +85,7 @@
85
85
  content: "";
86
86
  width: 100%;
87
87
  height: 100%;
88
- background-image: url("~@appscode/design-system-images/payment-card/expire-msg-bg.svg");
88
+ // background-image: url("~@appscode/design-system-images/payment-card/expire-msg-bg.svg");
89
89
  top: 0;
90
90
  left: 0;
91
91
  z-index: -1;
@@ -12,7 +12,7 @@
12
12
  height: 100%;
13
13
  left: 15px;
14
14
  bottom: 0;
15
- background-image: url("~@appscode/design-system-images/icons/bb-large-icon.svg");
15
+ // background-image: url("~@appscode/design-system-images/icons/bb-large-icon.svg");
16
16
  background-size: cover;
17
17
  background-position: center;
18
18
  background-repeat: no-repeat;
@@ -31,7 +31,7 @@
31
31
  background-position: center;
32
32
  background-repeat: no-repeat;
33
33
  width: 214px;
34
- background-image: url("~@appscode/design-system-images/icons/bb-large-icon-2.svg");
34
+ // background-image: url("~@appscode/design-system-images/icons/bb-large-icon-2.svg");
35
35
  z-index: -1;
36
36
  }
37
37
 
@@ -114,13 +114,13 @@
114
114
  background-repeat: no-repeat;
115
115
  background-size: cover;
116
116
 
117
- &.banner-1 {
118
- background-image: url("~@appscode/design-system-images/banner/post-banner-1.jpg");
119
- }
117
+ // &.banner-1 {
118
+ // background-image: url("~@appscode/design-system-images/banner/post-banner-1.jpg");
119
+ // }
120
120
 
121
- &.banner-2 {
122
- background-image: url("~@appscode/design-system-images/banner/post-banner-2.jpg");
123
- }
121
+ // &.banner-2 {
122
+ // background-image: url("~@appscode/design-system-images/banner/post-banner-2.jpg");
123
+ // }
124
124
 
125
125
  img {
126
126
  width: 100%;
@@ -21,10 +21,6 @@
21
21
  background-color: $black-80;
22
22
  background-repeat: no-repeat;
23
23
  border-radius: 10px;
24
-
25
- &.profile-1 {
26
- background-image: url("~@appscode/design-system-images/icons/appscode-large-icon.jpg");
27
- }
28
24
  }
29
25
 
30
26
  .setting-button {
@@ -5,10 +5,6 @@
5
5
  background-size: cover;
6
6
  background-position: center;
7
7
 
8
- &.fzf-bg {
9
- background-image: url("~@/assets/images/404/404-bg.png");
10
- }
11
-
12
8
  .fzf-left-content-wrapper {
13
9
  .fzf-content-inner {
14
10
  padding: 110px 0;
@@ -0,0 +1,61 @@
1
+ <script setup lang="ts">
2
+ interface Props {
3
+ modifierClasses?: string;
4
+ message?: string;
5
+ }
6
+
7
+ withDefaults(defineProps<Props>(), {
8
+ modifierClasses: "",
9
+ message:
10
+ "Lorem, ipsum dolor sit amet consectetur adipisicing elit. Ut eum deserunt facilis natus ipsum eligendi! Consequuntur illo repudiandae at eius nam, ab omnis eveniet obcaecati.",
11
+ });
12
+ </script>
13
+
14
+ <template>
15
+ <div :class="modifierClasses" class="message is-success">
16
+ <div class="message-body">
17
+ <span class="status-icon">
18
+ <slot name="icon"></slot>
19
+ </span>
20
+ <p>{{ message }}</p>
21
+
22
+ <button class="button is-text">
23
+ <span class="icon"
24
+ ><svg
25
+ xmlns="http://www.w3.org/2000/svg"
26
+ fill="none"
27
+ viewBox="0 0 24 24"
28
+ stroke-width="1.5"
29
+ stroke="currentColor"
30
+ class="w-6 h-6"
31
+ >
32
+ <path
33
+ stroke-linecap="round"
34
+ stroke-linejoin="round"
35
+ d="M6 18L18 6M6 6l12 12"
36
+ />
37
+ </svg>
38
+ </span>
39
+ </button>
40
+ </div>
41
+ </div>
42
+ </template>
43
+
44
+ <style lang="scss" scoped>
45
+ .message {
46
+ .message-body {
47
+ display: flex;
48
+ padding: 16px;
49
+ gap: 12px;
50
+ align-items: center;
51
+ p {
52
+ line-height: 160%;
53
+ width: calc(100% - 48px);
54
+ }
55
+ .status-icon {
56
+ display: flex;
57
+ width: 24px;
58
+ }
59
+ }
60
+ }
61
+ </style>
@@ -1,10 +1,11 @@
1
1
  <script setup lang="ts">
2
2
  import { defineAsyncComponent } from "vue";
3
+ import SvgSpinners270Ring from "~icons/svg-spinners/270-ring";
3
4
  interface Props {
4
5
  clusterData?: {
5
6
  name?: string;
6
7
  providerIcon?: string;
7
- tags?: Array<{ value: string; class: string }>;
8
+ tags?: Array<{ value: string; class: string; isSpinner?: boolean }>;
8
9
  details?: Array<{ title: string; value: string }>;
9
10
  };
10
11
  modifierClasses?: string;
@@ -47,6 +48,9 @@ const OptionDots = defineAsyncComponent(
47
48
  :key="idx + tag.value"
48
49
  :class="tag.class"
49
50
  :data-testid="idx === 0 ? 'cluster-status-text' : undefined"
51
+ class="is-flex is-align-center gap-4"
52
+ ><span v-if="tag?.isSpinner || false" class="is-flex gap-4"
53
+ ><SvgSpinners270Ring /></span
50
54
  >{{ tag.value }}</span
51
55
  >
52
56
  </div>
@@ -36,68 +36,3 @@ onClickOutside(navbarItem, () => (isActive.value = ""));
36
36
  <slot name="navbar-content" />
37
37
  </div>
38
38
  </template>
39
-
40
- <style lang="scss" scoped>
41
- .ac-menu-item {
42
- margin-left: 8px;
43
- position: relative;
44
-
45
- &.is-active {
46
- .ac-nav-button {
47
- &::after {
48
- background-color: $primary-90;
49
- }
50
- }
51
- }
52
-
53
- &:first-child {
54
- margin-left: 0;
55
- }
56
- &.ac-profile-button {
57
- button.button.ac-nav-button {
58
- width: 100%;
59
- background-color: transparent;
60
- border-radius: 0;
61
- font-weight: 500;
62
- border: none;
63
- &::after {
64
- border-radius: 0;
65
- border: none;
66
- background-color: transparent;
67
- }
68
- }
69
- }
70
- .ac-nav-button {
71
- width: 32px;
72
- height: 32px;
73
- border-radius: 50%;
74
- padding: 5px;
75
- transition: all 0.3s ease-in-out;
76
- position: relative;
77
- z-index: 99;
78
- user-select: none;
79
- border: 1px solid $primary-80;
80
- cursor: pointer;
81
- &:after {
82
- position: absolute;
83
- content: "";
84
- left: 0;
85
- top: 0;
86
- opacity: 1;
87
- z-index: -1;
88
- width: 100%;
89
- height: 100%;
90
- border-radius: 50%;
91
- transition: 0.3s ease-in-out;
92
- }
93
- &:focus {
94
- box-shadow: none;
95
- }
96
- &:hover {
97
- &:after {
98
- background-color: $primary-90;
99
- }
100
- }
101
- }
102
- }
103
- </style>
@@ -115,11 +115,7 @@ watch(dropDownStatus, (n) => {
115
115
 
116
116
  <template #navbar-content>
117
117
  <navbar-item-content class="navbar-dropdown-wrapper">
118
- <div
119
- v-if="user.username"
120
- class="user-profile-wrapper"
121
- @mouseleave="onMouseLeave()"
122
- >
118
+ <div v-if="user.username" class="user-profile-wrapper">
123
119
  <a
124
120
  :href="`${serverDomain}/${user.username}`"
125
121
  :title="user.username.toUpperCase()"