@appscode/design-system 2.1.8 → 2.2.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.
Files changed (73) hide show
  1. package/package.json +1 -1
  2. package/vue-components/styles/components/select-box/_multi-select.scss +1 -1
  3. package/vue-components/v3/form-fields/Switch.vue +1 -1
  4. package/vue-components/v2/banner/Banner.vue +0 -12
  5. package/vue-components/v2/breadcrumbs/Breadcrumb.vue +0 -84
  6. package/vue-components/v2/button/Button.vue +0 -70
  7. package/vue-components/v2/button/Buttons.vue +0 -5
  8. package/vue-components/v2/button/DownloadBtn.vue +0 -45
  9. package/vue-components/v2/card/Card.vue +0 -37
  10. package/vue-components/v2/card/CardContent.vue +0 -5
  11. package/vue-components/v2/card/CardHeader.vue +0 -10
  12. package/vue-components/v2/card/Cards.vue +0 -5
  13. package/vue-components/v2/card/OverviewCard.vue +0 -10
  14. package/vue-components/v2/card/OverviewCards.vue +0 -20
  15. package/vue-components/v2/card/PaymentCard.vue +0 -69
  16. package/vue-components/v2/card/PaymentCardOptionButtons.vue +0 -35
  17. package/vue-components/v2/card/PaymentCards.vue +0 -48
  18. package/vue-components/v2/content/ContentHeader.vue +0 -50
  19. package/vue-components/v2/content/ContentLayout.vue +0 -9
  20. package/vue-components/v2/content/ContentTable.vue +0 -62
  21. package/vue-components/v2/editor/Editor.vue +0 -144
  22. package/vue-components/v2/editor/FilteredFileEditor.vue +0 -177
  23. package/vue-components/v2/editor/MonacoEditor.vue +0 -118
  24. package/vue-components/v2/editor/ResourceKeyValueEditor.vue +0 -199
  25. package/vue-components/v2/form/Form.vue +0 -54
  26. package/vue-components/v2/form/FormFooterControl.vue +0 -5
  27. package/vue-components/v2/form/FormFooterControls.vue +0 -5
  28. package/vue-components/v2/form-fields/AcSingleInput.vue +0 -20
  29. package/vue-components/v2/form-fields/Input.vue +0 -17
  30. package/vue-components/v2/header/Header.vue +0 -34
  31. package/vue-components/v2/header/HeaderItem.vue +0 -5
  32. package/vue-components/v2/header/HeaderItems.vue +0 -5
  33. package/vue-components/v2/icons/Ellipsis.vue +0 -4
  34. package/vue-components/v2/loaders/ResourceLoader.vue +0 -101
  35. package/vue-components/v2/loaders/SidebarLoader.vue +0 -43
  36. package/vue-components/v2/modal/Modal.vue +0 -137
  37. package/vue-components/v2/modals/DeleteConfirmationModal.vue +0 -74
  38. package/vue-components/v2/modals/JsonShowModal.vue +0 -69
  39. package/vue-components/v2/navbar/Appdrawer.vue +0 -74
  40. package/vue-components/v2/navbar/Navbar.vue +0 -29
  41. package/vue-components/v2/navbar/NavbarItem.vue +0 -7
  42. package/vue-components/v2/navbar/NavbarItemContent.vue +0 -5
  43. package/vue-components/v2/navbar/ThemeMode.vue +0 -114
  44. package/vue-components/v2/navbar/User.vue +0 -190
  45. package/vue-components/v2/notification/Notification.vue +0 -92
  46. package/vue-components/v2/notification/NotificationItem.vue +0 -42
  47. package/vue-components/v2/pagination/Pagination.vue +0 -214
  48. package/vue-components/v2/preloader/Preloader.vue +0 -26
  49. package/vue-components/v2/searchbars/SearchBar.vue +0 -31
  50. package/vue-components/v2/sidebar/ClusterSwitcher.vue +0 -126
  51. package/vue-components/v2/sidebar/Sidebar.vue +0 -5
  52. package/vue-components/v2/sidebar/SidebarItem.vue +0 -59
  53. package/vue-components/v2/sidebar/SidebarItemWithDropDown.vue +0 -114
  54. package/vue-components/v2/tab/TabItem.vue +0 -16
  55. package/vue-components/v2/tab/Tabs.vue +0 -7
  56. package/vue-components/v2/tab/TabsBody.vue +0 -5
  57. package/vue-components/v2/table/EmptyTableImage.vue +0 -3
  58. package/vue-components/v2/table/EmptyTableInfo.vue +0 -6
  59. package/vue-components/v2/table/FakeTableCell.vue +0 -35
  60. package/vue-components/v2/table/InfoTable.vue +0 -91
  61. package/vue-components/v2/table/NarrowTable.vue +0 -17
  62. package/vue-components/v2/table/Table.vue +0 -212
  63. package/vue-components/v2/table/TableCell.vue +0 -26
  64. package/vue-components/v2/table/TableContainer.vue +0 -5
  65. package/vue-components/v2/table/TableRow.vue +0 -50
  66. package/vue-components/v2/table/table-cell/ArrayCell.vue +0 -94
  67. package/vue-components/v2/table/table-cell/CellValue.vue +0 -125
  68. package/vue-components/v2/table/table-cell/GenericCell.vue +0 -56
  69. package/vue-components/v2/table/table-cell/ObjectCell.vue +0 -93
  70. package/vue-components/v2/table/table-cell/ValueWithModal.vue +0 -34
  71. package/vue-components/v2/tabs/EditorTabs.vue +0 -28
  72. package/vue-components/v2/tag/Tag.vue +0 -16
  73. package/vue-components/v2/tag/Tags.vue +0 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appscode/design-system",
3
- "version": "2.1.8",
3
+ "version": "2.2.1",
4
4
  "description": "A design system for Appscode websites and dashboards made using Bulma",
5
5
  "main": "main.scss",
6
6
  "scripts": {
@@ -43,7 +43,7 @@
43
43
  }
44
44
 
45
45
  .multiselect__tag {
46
- background-color: $gray-80;
46
+ background-color: $ac-primary;
47
47
  margin-top: 4px;
48
48
  margin-bottom: 0;
49
49
 
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
2
  interface Props {
3
3
  modifierClasses?: string;
4
- name: string;
4
+ name?: string;
5
5
  label?: string;
6
6
  type?: string;
7
7
  check?: boolean;
@@ -1,12 +0,0 @@
1
- <script setup lang="ts">
2
- withDefaults(defineProps<{ bannerClass: string }>(), { bannerClass: "has-text-danger" });
3
- </script>
4
-
5
- <template>
6
- <div class="sign-up-notification mb-20">
7
- <div class="has-text-centered">
8
- <h3 :class="bannerClass"><slot name="banner-title">Error!</slot></h3>
9
- <slot><p>Oops!! There was an error while loading!</p></slot>
10
- </div>
11
- </div>
12
- </template>
@@ -1,84 +0,0 @@
1
- <template>
2
- <div class="ac-breadcrumb">
3
- <nav aria-label="breadcrumbs" class="breadcrumb">
4
- <ul>
5
- <li v-for="(item, idx) in list" :key="idx" :class="{ 'is-active': idx === list.length - 1 }">
6
- <router-link class="router-link-active" :class="{ 'is-active': idx === list.length - 1 }" :to="item.path"
7
- >{{ item.name }}
8
- </router-link>
9
- </li>
10
- </ul>
11
- </nav>
12
- </div>
13
- </template>
14
- <script>
15
- export default {
16
- data() {
17
- return {
18
- list: [],
19
- };
20
- },
21
- methods: {
22
- createBreadcrumbs(n) {
23
- //Adding dynamic path to the route
24
- const listPaths = this.$route.matched.map((element) => this.pathReplaceWithParam(element.path));
25
-
26
- //Removing the last duplicate value from the listpaths array
27
- listPaths.pop();
28
-
29
- //Createing the breadcrumb name
30
- const listName = this.createList(listPaths);
31
-
32
- //Set the new breadcrumb name and path value to list
33
- this.list = listName.map((element, index) => {
34
- return {
35
- name: element,
36
- path: listPaths[index],
37
- };
38
- });
39
- },
40
- pathReplaceWithParam(path) {
41
- //Split the path and remove the first and last empty block
42
- let splitPath = path.split("/").filter((element) => element !== "");
43
-
44
- //Replace all element with query params where the element start with ":"
45
- // Then again add them wthi "/" and return the path value
46
- return splitPath.reduce((pval, cval) => {
47
- if (cval[0] === ":") {
48
- const cutIndex = cval.indexOf("?") !== -1 ? cval.indexOf("?") : cval.length;
49
- return (pval += this.$route.params[cval.slice(1, cutIndex)] + "/");
50
- } else return (pval += cval + "/");
51
- }, "/");
52
- },
53
- createList(paths) {
54
- //Split all the path and remove all empty block
55
- let spath = paths.map((element) => {
56
- return element.split("/").filter((word) => word !== "");
57
- });
58
-
59
- // Convert all the path arry in one arry where each element is the different fo previous element
60
- return spath.reduce((prev, curr, currentIdx) => {
61
- if (currentIdx === 0) return prev.concat([this.createVal(0, curr)]);
62
- else return prev.concat([this.createVal(spath[currentIdx - 1].length, curr)]);
63
- }, []);
64
- },
65
- createVal(startIdx, paths) {
66
- return paths.reduce((prev, curr, idx) => {
67
- if (idx >= startIdx) {
68
- if (idx + 1 === paths.length) return (prev += curr);
69
- else return (prev += curr + " / ");
70
- } else return prev + "";
71
- }, "");
72
- },
73
- },
74
- watch: {
75
- "$route.path": {
76
- deep: true,
77
- immediate: true,
78
- handler(n) {
79
- this.createBreadcrumbs(n);
80
- },
81
- },
82
- },
83
- };
84
- </script>
@@ -1,70 +0,0 @@
1
- <template>
2
- <button
3
- class="button ac-button is-extra-small"
4
- :class="`${modifierClasses}${isLoaderActive ? ' is-loading' : ''}`"
5
- :disabled="disabled"
6
- @click="handleClick"
7
- :title="tooltip"
8
- >
9
- <span v-if="iconClass || iconImage" class="icon is-small">
10
- <img v-if="iconImage" :src="iconImage" alt="close-icon" :width="iconImageWidth" />
11
- <i v-else :class="`fa fa-${iconClass}`" aria-hidden="true" />
12
- </span>
13
- <span v-if="title" :class="titleModifierClass">{{ title }}</span>
14
- <slot />
15
- </button>
16
- </template>
17
-
18
- <script>
19
- export default {
20
- props: {
21
- // button title
22
- title: {
23
- type: String,
24
- default: "",
25
- },
26
- tooltip: {
27
- type: String,
28
- defualt: undefined,
29
- },
30
- // for loader
31
- isLoaderActive: {
32
- type: Boolean,
33
- default: false,
34
- },
35
- // for disability
36
- disabled: {
37
- type: Boolean,
38
- default: false,
39
- },
40
- // for icon
41
- iconClass: {
42
- type: String,
43
- default: "",
44
- },
45
- iconImage: {
46
- type: String,
47
- default: "",
48
- },
49
- iconImageWidth: {
50
- type: Number,
51
- default: undefined,
52
- },
53
- // modifier class
54
- modifierClasses: {
55
- type: String,
56
- default: "is-primary",
57
- },
58
- titleModifierClass: {
59
- type: String,
60
- default: "",
61
- },
62
- },
63
-
64
- methods: {
65
- handleClick(e) {
66
- if (!this.disabled) this.$emit("click", e);
67
- },
68
- },
69
- };
70
- </script>
@@ -1,5 +0,0 @@
1
- <template>
2
- <div class="buttons" style="width: max-content">
3
- <slot />
4
- </div>
5
- </template>
@@ -1,45 +0,0 @@
1
- <template>
2
- <ac-button
3
- modifier-classes="is-primary is-square"
4
- icon-class="download"
5
- :is-loader-active="isFetching"
6
- @click="download()"
7
- />
8
- </template>
9
-
10
- <script>
11
- import downloadFunc from "downloadjs";
12
-
13
- export default {
14
- components: {
15
- AcButton: () => import("./../button/Button.vue"),
16
- },
17
- props: {
18
- fileData: {
19
- type: String,
20
- default: "",
21
- },
22
- fileName: {
23
- type: String,
24
- default: "",
25
- },
26
- isFetching: {
27
- type: Boolean,
28
- default: false,
29
- },
30
- },
31
- data() {
32
- return {
33
- downloadIcon: "fa fa-cloud-download",
34
- };
35
- },
36
- component: {
37
- downloadFunc,
38
- },
39
- methods: {
40
- download() {
41
- downloadFunc(this.fileData, this.fileName);
42
- },
43
- },
44
- };
45
- </script>
@@ -1,37 +0,0 @@
1
- <template>
2
- <div
3
- class="ac-single-card has-text-centered vendor-card"
4
- :class="{ 'is-selected': isSelected }"
5
- @click="$emit('click', $event)"
6
- data-testid="card-list-item"
7
- >
8
- <div class="ac-card-logo" v-if="hasLogo">
9
- <slot name="card-logo" />
10
- </div>
11
- <div class="ac-card-name" v-if="hasName">
12
- <p>
13
- <slot name="card-name" />
14
- </p>
15
- </div>
16
- <slot />
17
- </div>
18
- </template>
19
-
20
- <script>
21
- export default {
22
- props: {
23
- isSelected: {
24
- type: Boolean,
25
- default: false,
26
- },
27
- hasLogo: {
28
- type: Boolean,
29
- default: true,
30
- },
31
- hasName: {
32
- type: Boolean,
33
- default: true,
34
- },
35
- },
36
- };
37
- </script>
@@ -1,5 +0,0 @@
1
- <template>
2
- <div class="ac-card-content b-1 b-t-n">
3
- <slot />
4
- </div>
5
- </template>
@@ -1,10 +0,0 @@
1
- <template>
2
- <div class="is-flex is-justify-content-space-between pt-8 pb-8 pl-20 pr-20 b-1">
3
- <div class="header-left-content">
4
- <slot name="card-header-left" />
5
- </div>
6
- <div class="header-right-content">
7
- <slot name="card-header-right" />
8
- </div>
9
- </div>
10
- </template>
@@ -1,5 +0,0 @@
1
- <template>
2
- <div class="ac-card-wrapper">
3
- <slot />
4
- </div>
5
- </template>
@@ -1,10 +0,0 @@
1
- <template>
2
- <div class="card-data">
3
- <p>
4
- <slot name="card-label" />
5
- </p>
6
- <h5>
7
- <slot name="card-value" />
8
- </h5>
9
- </div>
10
- </template>
@@ -1,20 +0,0 @@
1
- <template>
2
- <div>
3
- <h1>Hello there</h1>
4
- <div class="overview-cards">
5
- <slot />
6
- </div>
7
- </div>
8
- </template>
9
- <style lang="scss" scoped>
10
- .overview-cards {
11
- display: grid;
12
- gap: 8px;
13
- grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr));
14
-
15
- border: 1px solid $color-border-light;
16
- padding: 16px;
17
- height: 100%;
18
- margin-right: 20px;
19
- }
20
- </style>
@@ -1,69 +0,0 @@
1
- <template>
2
- <div class="ac-payment-card" :class="bgClass">
3
- <div class="payment-card-inner">
4
- <!-- card header start -->
5
- <div class="payment-card-header">
6
- <div class="card-left">
7
- <slot name="expire-section" />
8
- </div>
9
- <!-- header-right start -->
10
- <div class="card-right">
11
- <template v-if="showRightSection">
12
- <p v-if="isDefaultCard" class="default-status">
13
- <span>
14
- <i class="fa fa-check-circle" aria-hidden="true" />
15
- Default
16
- </span>
17
- </p>
18
- <slot v-else name="option-button" />
19
- </template>
20
- </div>
21
- <!-- header-right end -->
22
- </div>
23
- <!-- card header end -->
24
- <!-- card body start -->
25
- <div class="payment-card-body">
26
- <p class="p-card-number is-star">****</p>
27
- <p class="p-card-number is-star">****</p>
28
- <p class="p-card-number is-star">****</p>
29
- <p class="p-card-number"><slot name="card-number" /></p>
30
- </div>
31
- <!-- card body end -->
32
- <!-- card footer start -->
33
- <div class="payment-card-footer">
34
- <div class="left-content">
35
- <div class="p-card-expiry">
36
- <p>
37
- <slot name="card-expiry-date" />
38
- </p>
39
- </div>
40
- <p class="user-name">
41
- <slot name="card-holder-name" />
42
- </p>
43
- </div>
44
- <div class="p-card-logo">
45
- <slot name="card-logo" />
46
- </div>
47
- </div>
48
- <!-- card footer end -->
49
- </div>
50
- </div>
51
- </template>
52
- <script>
53
- export default {
54
- props: {
55
- bgClass: {
56
- type: String,
57
- default: "payment-bg-2",
58
- },
59
- isDefaultCard: {
60
- type: Boolean,
61
- default: false,
62
- },
63
- showRightSection: {
64
- type: Boolean,
65
- default: false,
66
- },
67
- },
68
- };
69
- </script>
@@ -1,35 +0,0 @@
1
- <template>
2
- <div class="ac-options is-right" @click="handleClick">
3
- <div class="option-dots">
4
- <span></span>
5
- <span></span>
6
- <span></span>
7
- </div>
8
- <!-- dropdown Item start -->
9
- <!-- use "is-hidden" class in the line below for hide dropdown element -->
10
- <ul class="options-items" :class="{ 'is-hidden': isOptionButtonHidden }">
11
- <li>
12
- <slot name="make-default-button" />
13
- </li>
14
- <li>
15
- <slot name="delete-card-button" />
16
- </li>
17
- </ul>
18
- <!-- dropdown Item end -->
19
- </div>
20
- </template>
21
- <script>
22
- export default {
23
- props: {
24
- isOptionButtonHidden: {
25
- type: Boolean,
26
- default: false,
27
- },
28
- },
29
- methods: {
30
- handleClick(e) {
31
- if (!this.disabled) this.$emit("click", e);
32
- },
33
- },
34
- };
35
- </script>
@@ -1,48 +0,0 @@
1
- <template>
2
- <div class="ac-payment-card-wrapper">
3
- <!-- loader start -->
4
- <div v-if="isLoaderActive" class="ac-payment-card is-transparent-bg p-0">
5
- <content-loader :height="235" :speed="2" :primaryColor="primaryColor" :secondaryColor="secondaryColor" />
6
- </div>
7
- <!-- loader end -->
8
- <template v-else>
9
- <slot name="cards" />
10
- </template>
11
-
12
- <!-- single payment method start -->
13
- <slot name="add-card" />
14
- </div>
15
- </template>
16
- <script>
17
- import { ContentLoader } from "vue-content-loader";
18
- import {
19
- loaderLightThemePrimaryColor,
20
- loaderDarkThemePrimaryColor,
21
- loaderLightThemeSecondaryColor,
22
- loaderDarkThemeSecondaryColor,
23
- } from "@appscode/design-system/plugins/theme";
24
-
25
- export default {
26
- components: {
27
- ContentLoader,
28
- },
29
- props: {
30
- isLoaderActive: {
31
- type: Boolean,
32
- default: false,
33
- },
34
- },
35
- computed: {
36
- primaryColor() {
37
- return document.documentElement.classList.contains("is-dark-theme")
38
- ? loaderDarkThemePrimaryColor
39
- : loaderLightThemePrimaryColor;
40
- },
41
- secondaryColor() {
42
- return document.documentElement.classList.contains("is-dark-theme")
43
- ? loaderDarkThemeSecondaryColor
44
- : loaderLightThemeSecondaryColor;
45
- },
46
- },
47
- };
48
- </script>
@@ -1,50 +0,0 @@
1
- <template>
2
- <div class="ac-content-header" :class="{ 'b-b-1': !removeBorderBottom }">
3
- <!-- header left start -->
4
- <div class="ac-cheader-left">
5
- <!-- title -->
6
- <div class="ac-content-title">
7
- <h6>
8
- <slot name="header-icon" />
9
- {{ headerTitle }}
10
- </h6>
11
- <p v-if="headerSubTitle">{{ headerSubTitle }}</p>
12
- </div>
13
- <!-- title -->
14
- </div>
15
- <!-- header left end -->
16
-
17
- <!-- header right start -->
18
- <div class="ac-cheader-right">
19
- <!-- your feedom content start here -->
20
- <header-items>
21
- <slot />
22
- </header-items>
23
- <!-- your feedom content end here -->
24
- </div>
25
- <!-- header right end -->
26
- </div>
27
- </template>
28
-
29
- <script>
30
- export default {
31
- props: {
32
- headerTitle: {
33
- type: String,
34
- default: "Content Header",
35
- },
36
- headerSubTitle: {
37
- type: String,
38
- default: "",
39
- },
40
- removeBorderBottom: {
41
- type: Boolean,
42
- default: false,
43
- },
44
- },
45
-
46
- components: {
47
- HeaderItems: () => import("../header/HeaderItems.vue"),
48
- },
49
- };
50
- </script>
@@ -1,9 +0,0 @@
1
- <template>
2
- <div class="ac-content-layout mb-20">
3
- <slot name="content-header" />
4
-
5
- <div class="ac-content">
6
- <slot />
7
- </div>
8
- </div>
9
- </template>
@@ -1,62 +0,0 @@
1
- <template>
2
- <content-layout>
3
- <template #content-header>
4
- <content-header
5
- v-if="!hideHeader"
6
- :header-title="tableTitle"
7
- :header-sub-title="tableSubTitle"
8
- :remove-border-bottom="removeBorderBottom"
9
- :class="{ 'pl-0 pr-0': removeTableHeaderPadding }"
10
- >
11
- <header-item>
12
- <search-bar v-if="searchable" @search="searchText = $event" />
13
- </header-item>
14
- <slot name="content-controls" />
15
- </content-header>
16
- </template>
17
- <slot name="content" :search-text="searchText" />
18
- </content-layout>
19
- </template>
20
-
21
- <script>
22
- export default {
23
- props: {
24
- removeTableHeaderPadding: {
25
- type: Boolean,
26
- default: false,
27
- },
28
- tableTitle: {
29
- type: String,
30
- default: "Table",
31
- },
32
- tableSubTitle: {
33
- type: String,
34
- default: "",
35
- },
36
- searchable: {
37
- type: Boolean,
38
- default: true,
39
- },
40
- hideHeader: {
41
- type: Boolean,
42
- default: false,
43
- },
44
- removeBorderBottom: {
45
- type: Boolean,
46
- default: false,
47
- },
48
- },
49
- components: {
50
- ContentLayout: () => import("./ContentLayout.vue"),
51
- ContentHeader: () => import("./ContentHeader.vue"),
52
- HeaderItem: () => import("../header/HeaderItem.vue"),
53
- SearchBar: () => import("../searchbars/SearchBar.vue"),
54
- },
55
-
56
- data() {
57
- return {
58
- searchText: "",
59
- };
60
- },
61
- };
62
- </script>