@appscode/design-system 2.6.6 → 2.6.8-alpha-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.
package/main.scss CHANGED
@@ -26,7 +26,7 @@
26
26
  @import "@/components/vue-components/styles/components/inbox/all";
27
27
  @import "@/components/vue-components/styles/components/ui-builder/vue-open-api";
28
28
  @import "@/components/vue-components/styles/components/ui-builder/ui-builder";
29
- @import "@/components/vue-components/styles/components/dropdown.scss";
29
+ @import "@/components/vue-components/styles/components/dropdown";
30
30
  @import "@/components/vue-components/styles/components/badge-tags";
31
31
 
32
32
  // @import "@/components/vue-components/styles/theme/appscode.scss";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appscode/design-system",
3
- "version": "2.6.6",
3
+ "version": "2.6.8-alpha-1",
4
4
  "description": "A design system for Appscode websites and dashboards made using Bulma",
5
5
  "main": "main.scss",
6
6
  "scripts": {
@@ -1,30 +1,30 @@
1
1
  .dropdown-group {
2
2
  margin-bottom: 8px;
3
- .dropdown-content {
4
- min-width: 220px;
5
- max-width: 500px;
6
- max-height: calc(100vh - 200px);
7
- overflow-y: auto;
8
- border: 1px solid $color-border;
3
+ }
4
+ .dropdown-content {
5
+ min-width: 220px;
6
+ max-width: 500px;
7
+ max-height: calc(100vh - 200px);
8
+ overflow-y: auto;
9
+ border: 1px solid $color-border;
9
10
 
10
- label {
11
- padding: 8px 16px;
12
- display: flex;
13
- border-bottom: 1px solid $color-border-light;
14
- color: $color-text;
15
- font-weight: 500;
16
- }
17
- .dropdown-item {
18
- display: flex;
19
- align-items: center;
20
- gap: 8px;
21
- font-size: 1rem;
22
- padding: 8px 16px;
23
- color: $color-text;
24
- &:hover {
25
- background-color: $primary-light-gray;
26
- color: $color-heading;
27
- }
11
+ label {
12
+ padding: 8px 16px;
13
+ display: flex;
14
+ border-bottom: 1px solid $color-border-light;
15
+ color: $color-text;
16
+ font-weight: 500;
17
+ }
18
+ .dropdown-item {
19
+ display: flex;
20
+ align-items: center;
21
+ gap: 8px;
22
+ font-size: 1rem;
23
+ padding: 8px 16px;
24
+ color: $color-text;
25
+ &:hover {
26
+ background-color: $primary-light-gray;
27
+ color: $color-heading;
28
28
  }
29
29
  }
30
30
  }
@@ -44,9 +44,8 @@
44
44
  justify-content: space-between;
45
45
 
46
46
  .image {
47
- border-radius: 50%;
48
-
49
- &:has(.is-rounded) {
47
+ &.is-rounded {
48
+ border-radius: 50%;
50
49
  box-shadow: inset 0 0 0 1px hsla(0, 0%, 0%, 0.1);
51
50
  }
52
51
  }
@@ -15,7 +15,7 @@ interface Props {
15
15
  withDefaults(defineProps<Props>(), {
16
16
  clusterData: () => ({
17
17
  name: "Cluster Name",
18
- providerIcon: "https://via.placeholder.com/100/dddddd/808080",
18
+ providerIcon: "https://placehold.co/100x100",
19
19
  tags: [],
20
20
  details: [],
21
21
  }),
@@ -13,6 +13,7 @@ interface Props {
13
13
  cardLabel?: string;
14
14
  noDataAvailable?: boolean;
15
15
  hideCreateButton?: boolean;
16
+ noClusterAvailable?: boolean;
16
17
  }
17
18
 
18
19
  withDefaults(defineProps<Props>(), {
@@ -20,29 +21,40 @@ withDefaults(defineProps<Props>(), {
20
21
  type: "organization",
21
22
  modifierClasses: "",
22
23
  roundedThumbnail: true,
23
- thumbnail: "https://via.placeholder.com/100/dddddd/808080",
24
+ thumbnail: "https://placehold.co/100x100",
24
25
  cardLabel: "",
25
26
  noDataAvailable: false,
26
27
  hideCreateButton: false,
28
+ noClusterAvailable: false,
27
29
  });
28
30
  </script>
29
31
  <template>
30
32
  <div
31
- class="card-details has-hover-style"
32
- :class="[modifierClasses, { 'no-data-available is-justify-content-center': noDataAvailable }]"
33
+ class="card-details"
34
+ :class="[
35
+ modifierClasses,
36
+ {
37
+ 'has-hover-style': !noClusterAvailable,
38
+ 'no-data-available is-justify-content-center': noDataAvailable || noClusterAvailable,
39
+ },
40
+ ]"
33
41
  >
34
- <div class="left-content" :class="{ 'is-align-items-center': noDataAvailable }">
35
- <figure class="image" :class="{ 'is-48x48': !noDataAvailable }">
36
- <img :class="{ 'is-rounded': !noDataAvailable }" :src="thumbnail" />
42
+ <div class="left-content" :class="{ 'is-align-items-center': noDataAvailable || noClusterAvailable }">
43
+ <figure class="image is-clipped" :class="[noClusterAvailable ? 'is-96x96' : 'width-64']">
44
+ <img :src="thumbnail" />
37
45
  </figure>
38
- <h5>{{ title }}</h5>
39
46
 
40
- <AcButton v-if="noDataAvailable && !hideCreateButton" :title="cardLabel" icon-class="unplugin">
47
+ <h5>{{ noClusterAvailable ? "No Cluster Available" : title }}</h5>
48
+
49
+ <AcButton
50
+ v-if="noDataAvailable && !noClusterAvailable && !hideCreateButton"
51
+ :title="cardLabel"
52
+ icon-class="unplugin"
53
+ >
41
54
  <template #icon><HeroiconsPlus /></template>
42
55
  </AcButton>
43
-
44
56
  <AcButton
45
- v-else
57
+ v-else-if="!noClusterAvailable"
46
58
  :title="cardLabel"
47
59
  modifier-classes="is-text px-0 is-flex-direction-row-reverse gap-8"
48
60
  icon-class="unplugin"
@@ -50,7 +62,7 @@ withDefaults(defineProps<Props>(), {
50
62
  <template #icon v-if="!hideCreateButton"><HeroiconsArrowSmallRight /></template>
51
63
  </AcButton>
52
64
  </div>
53
- <div class="right-content" v-if="!noDataAvailable">
65
+ <div class="right-content" v-if="!noDataAvailable && !noClusterAvailable">
54
66
  <figure class="image is-48x48">
55
67
  <img v-if="type === 'organization'" src="../../images/icons/org-icon.svg" />
56
68
  <img v-else src="../../images/icons/cluster-icon.svg" />
@@ -1,8 +1,6 @@
1
1
  <script lang="ts" setup>
2
- import { defineAsyncComponent } from "vue";
3
2
  import MessageDetails from "./MessageDetails.vue";
4
-
5
- const MessageList = defineAsyncComponent(() => import("@/components/vue-components/v3/inbox/MessageList.vue"));
3
+ import MessageList from "./MessageList.vue";
6
4
  </script>
7
5
 
8
6
  <template>
@@ -1,10 +1,7 @@
1
1
  <script lang="ts" setup>
2
2
  import { defineAsyncComponent } from "vue";
3
- const AlertMessage = defineAsyncComponent(() => import("@/components/vue-components/v3/alert/AlertMessage.vue"));
4
- const AcSingleInput = defineAsyncComponent(
5
- () => import("@/components/vue-components/v3/form-fields/AcSingleInput.vue"),
6
- );
7
-
3
+ const AlertMessage = defineAsyncComponent(() => import("../alert/AlertMessage.vue"));
4
+ const AcSingleInput = defineAsyncComponent(() => import("../form-fields/AcSingleInput.vue"));
8
5
  const EllipsisVertical = defineAsyncComponent(() => import("../icons/EllipsisVertical.vue"));
9
6
  const StarIcon = defineAsyncComponent(() => import("../icons/StarIcon.vue"));
10
7
  const TrashIcon = defineAsyncComponent(() => import("../icons/TrashIcon.vue"));
@@ -6,7 +6,7 @@ import RefreshIcon from "../icons/RefreshIcon.vue";
6
6
  import EllipsisVertical from "../icons/EllipsisVertical.vue";
7
7
  import StarIcon from "../icons/StarIcon.vue";
8
8
 
9
- const Searchbar = defineAsyncComponent(() => import("@/components/vue-components/v3/form-fields/Searchbar.vue"));
9
+ const Searchbar = defineAsyncComponent(() => import("../form-fields/Searchbar.vue"));
10
10
  </script>
11
11
 
12
12
  <template>