@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
@@ -1,31 +0,0 @@
1
- <template>
2
- <ac-single-input modifier-classes="is-extra-small width-200">
3
- <template #button>
4
- <button class="ac-search-button">
5
- <i class="fa fa-search" aria-hidden="true"></i>
6
- </button>
7
- </template>
8
- <ac-input name="search" placeholder="Search" type="search" class="ac-search" v-model="searchText" />
9
- </ac-single-input>
10
- </template>
11
-
12
- <script>
13
- export default {
14
- components: {
15
- AcSingleInput: () => import("../form-fields/AcSingleInput.vue"),
16
- AcInput: () => import("../form-fields/Input.vue"),
17
- },
18
-
19
- data() {
20
- return {
21
- searchText: "",
22
- };
23
- },
24
-
25
- watch: {
26
- searchText(n) {
27
- this.$emit("search", n);
28
- },
29
- },
30
- };
31
- </script>
@@ -1,126 +0,0 @@
1
- <template>
2
- <div class="is-cluster-logo" v-if="sidebarCollapsed">
3
- <img
4
- width="40"
5
- :src="getProviderIcon(selectedCluster && selectedCluster.provider)"
6
- onerror="this.onerror=null;this.src='https://cdn.appscode.com/images/cloud-provider-icons/Generic.png';"
7
- alt="provider-icon"
8
- />
9
- </div>
10
- <multiselect
11
- v-else
12
- v-model="selectedCluster"
13
- placeholder="Selected Cluster"
14
- label="name"
15
- track-by="name"
16
- :options="clusterOptions"
17
- :allow-empty="false"
18
- deselectLabel=""
19
- selectLabel=""
20
- selectedLabel=""
21
- >
22
- <template slot="singleLabel" slot-scope="props">
23
- <div class="is-flex is-align-items-center">
24
- <img
25
- :src="getProviderIcon(props.option.provider)"
26
- onerror="this.onerror=null;this.src='https://cdn.appscode.com/images/cloud-provider-icons/Generic.png';"
27
- alt="No cluster selected"
28
- /><span
29
- ><span>{{ props.option.displayName }}</span></span
30
- >
31
- </div>
32
- </template>
33
- <template slot="option" slot-scope="props">
34
- <div class="is-flex is-align-items-center">
35
- <img
36
- class="mr-15"
37
- :src="getProviderIcon(props.option.provider)"
38
- onerror="this.onerror=null;this.src='https://cdn.appscode.com/images/cloud-provider-icons/Generic.png';"
39
- alt="No cluster selected"
40
- />
41
- <div>
42
- <p>{{ props.option.displayName }}</p>
43
- <p class="location">{{ props.option.location }}</p>
44
- </div>
45
- </div>
46
- </template>
47
- </multiselect>
48
- </template>
49
-
50
- <script>
51
- export default {
52
- props: {
53
- sidebarCollapsed: {
54
- type: Boolean,
55
- default: false,
56
- },
57
- mouseHover: {
58
- type: Boolean,
59
- default: false,
60
- },
61
- clusterOptions: {
62
- type: Array,
63
- default: [],
64
- },
65
- value: {
66
- type: String,
67
- default: "",
68
- },
69
- },
70
-
71
- components: {
72
- Multiselect: () => import("vue-multiselect"),
73
- },
74
-
75
- data() {
76
- return {
77
- selectedCluster: null,
78
- selectedClusterName: "",
79
- };
80
- },
81
-
82
- methods: {
83
- getProviderIcon(provider) {
84
- return `https://cdn.appscode.com/images/cloud-provider-icons/${provider}.png`;
85
- },
86
- },
87
-
88
- watch: {
89
- value: {
90
- immediate: true,
91
- handler(n) {
92
- this.selectedClusterName = n;
93
- },
94
- },
95
- selectedCluster: {
96
- deep: true,
97
- handler(n) {
98
- this.selectedClusterName = n.name;
99
- },
100
- },
101
- selectedClusterName(n) {
102
- if (this.selectedCluster && n !== this.selectedCluster.name) {
103
- this.clusterOptions.forEach((item) => {
104
- if (this.selectedClusterName === item.name) {
105
- this.selectedCluster = item;
106
- }
107
- });
108
- }
109
- this.$emit("input", n);
110
- },
111
- clusterOptions: {
112
- deep: true,
113
- immediate: true,
114
- async handler(list) {
115
- if (list) {
116
- list.forEach(async (item) => {
117
- if (item.name === this.selectedClusterName) {
118
- this.selectedCluster = item;
119
- }
120
- });
121
- }
122
- },
123
- },
124
- },
125
- };
126
- </script>
@@ -1,5 +0,0 @@
1
- <template>
2
- <ul class="menu-list ac-menu-list">
3
- <slot />
4
- </ul>
5
- </template>
@@ -1,59 +0,0 @@
1
- <template>
2
- <li ref="sidebarItem">
3
- <router-link :id="id" :title="title" :to="url" :class="{ 'is-active': isActive }">
4
- <span>
5
- <img :src="icon" alt="icon" />
6
- </span>
7
- <strong>{{ title }}</strong>
8
- </router-link>
9
- </li>
10
- </template>
11
-
12
- <script>
13
- export default {
14
- props: {
15
- id: {
16
- type: String,
17
- default: "sidebar-item",
18
- },
19
- title: {
20
- type: String,
21
- default: "Sidebar Item",
22
- },
23
- url: {
24
- type: String,
25
- default: "/",
26
- },
27
- isActive: {
28
- type: Boolean,
29
- default: false,
30
- },
31
- icon: {
32
- type: null,
33
- default: "@/assets/images/icons/basic.svg",
34
- },
35
- },
36
- watch: {
37
- isActive: {
38
- immediate: true,
39
- handler(n) {
40
- if (n) {
41
- this.$nextTick(() => {
42
- setTimeout(() => {
43
- const top = (this.$refs.sidebarItem && this.$refs.sidebarItem.getBoundingClientRect().top) || 0;
44
- // preventing scroll to options that are already visible
45
- if (top > window.innerHeight - 200) {
46
- // scroll to selected option item
47
- this.$refs.sidebarItem.scrollIntoView({
48
- behavior: "smooth",
49
- block: "center",
50
- });
51
- }
52
- }, 500);
53
- });
54
- }
55
- },
56
- },
57
- },
58
- };
59
- </script>
@@ -1,114 +0,0 @@
1
- <template>
2
- <li :class="`is-${dropDownStatus}`">
3
- <a class="ac-dropdown-button" :title="title" @click="toggleDropDownStatus">
4
- <span>
5
- <img :src="icon" alt="icon" />
6
- </span>
7
- <strong>{{ title || "-" }}</strong>
8
- <span class="ac-arrow-down">
9
- <i class="fa fa-angle-down" aria-hidden="true"> </i>
10
- </span>
11
- </a>
12
-
13
- <ul ref="sectionItems" :style="{ maxHeight: dropDownSectionHeight }">
14
- <slot />
15
- </ul>
16
- </li>
17
- </template>
18
-
19
- <script>
20
- export default {
21
- props: {
22
- isDropDownOpen: {
23
- type: Boolean,
24
- default: false,
25
- },
26
- title: {
27
- type: String,
28
- default: "Sidebar Item",
29
- },
30
- icon: {
31
- type: String,
32
- default: "@/assets/images/icons/basic.svg",
33
- },
34
- },
35
-
36
- data() {
37
- return {
38
- dropDownStatus: "close",
39
- dropDownSectionHeight: null,
40
- isCompMounted: false,
41
- };
42
- },
43
-
44
- mounted() {
45
- this.isCompMounted = true;
46
- setTimeout(() => {
47
- // for expanding dropdown
48
- if (this.isDropDownOpen) {
49
- this.setDropdownMaxHeight("open");
50
- } else {
51
- this.setDropdownMaxHeight("close");
52
- }
53
- }, 700);
54
- },
55
-
56
- watch: {
57
- title(n, o) {
58
- if (n && this.isCompMounted) {
59
- this.$nextTick(() => {
60
- // for expanding dropdown
61
- this.setDropdownMaxHeight("open");
62
- });
63
- }
64
-
65
- if (o && this.isCompMounted) {
66
- this.$nextTick(() => {
67
- // for expanding dropdown
68
- this.setDropdownMaxHeight("close");
69
- });
70
- }
71
- },
72
- isDropDownOpen: {
73
- immediate: true,
74
- handler(n) {
75
- if (n) {
76
- this.dropDownStatus = "open";
77
- } else this.dropDownStatus = "close";
78
- },
79
- },
80
- dropDownStatus: {
81
- immediate: true,
82
- handler(n) {
83
- if (n === "open") {
84
- // emit event to close other drop down items
85
- this.$emit("dropDownItemChange");
86
-
87
- this.$nextTick(() => {
88
- const dropDownUl = this.$refs["sectionItems"];
89
- if (dropDownUl) this.dropDownSectionHeight = `${dropDownUl.scrollHeight}px`;
90
- });
91
- } else {
92
- // emit event to close other drop down items
93
- this.dropDownSectionHeight = null;
94
- }
95
- },
96
- },
97
- },
98
-
99
- methods: {
100
- setDropdownMaxHeight(mode) {
101
- if (mode === "open") {
102
- this.dropDownSectionHeight = `${this.$refs["sectionItems"]?.scrollHeight}px`;
103
- } else {
104
- this.dropDownSectionHeight = null;
105
- }
106
- },
107
- toggleDropDownStatus() {
108
- if (this.dropDownStatus === "open") {
109
- this.dropDownStatus = "close";
110
- } else this.dropDownStatus = "open";
111
- },
112
- },
113
- };
114
- </script>
@@ -1,16 +0,0 @@
1
- <template>
2
- <li :class="{ 'is-active': isActive }" data-testid="tab-item">
3
- <slot />
4
- </li>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- props: {
10
- isActive: {
11
- type: Boolean,
12
- default: false,
13
- },
14
- },
15
- };
16
- </script>
@@ -1,7 +0,0 @@
1
- <template>
2
- <div class="tabs ac-tabs">
3
- <ul>
4
- <slot />
5
- </ul>
6
- </div>
7
- </template>
@@ -1,5 +0,0 @@
1
- <template>
2
- <div class="ac-tabs-body is-content-available">
3
- <slot />
4
- </div>
5
- </template>
@@ -1,3 +0,0 @@
1
- <template>
2
- <img src="@/assets/images/illustrations/no-data-cuate-light.svg" alt="" />
3
- </template>
@@ -1,6 +0,0 @@
1
- <template>
2
- <strong>
3
- No Data Available
4
- <i class="pl-5 fa fa-exclamation-circle" aria-hidden="true"></i>
5
- </strong>
6
- </template>
@@ -1,35 +0,0 @@
1
- <template>
2
- <th v-if="isHeaderCell" class="increase-width">
3
- <div class="increase-innner" :style="dynamicColumnStyle" />
4
- </th>
5
- <table-cell v-else class="increase-width">
6
- <div class="increase-innner" :style="dynamicColumnStyle" />
7
- </table-cell>
8
- </template>
9
-
10
- <script>
11
- export default {
12
- props: {
13
- isHeaderCell: {
14
- type: Boolean,
15
- default: false,
16
- },
17
- fakeCellWidth: {
18
- type: Number,
19
- default: 0,
20
- },
21
- },
22
-
23
- components: {
24
- TableCell: () => import("@appscode/design-system/vue-components/v2/table/TableCell.vue"),
25
- },
26
-
27
- computed: {
28
- dynamicColumnStyle() {
29
- return {
30
- right: `-${this.fakeCellWidth}px`,
31
- };
32
- },
33
- },
34
- };
35
- </script>
@@ -1,91 +0,0 @@
1
- <template>
2
- <table-container>
3
- <table class="table ac-info-table is-fullwidth" :class="{ 'pl-0 pr-0': removeContentPadding }">
4
- <tbody v-if="isFullTableLoaderActive">
5
- <!-- table loader -->
6
- <table-row v-for="i in loaderCols" :key="i">
7
- <table-cell>
8
- <cell-value :is-loader-active="true" />
9
- </table-cell>
10
- <table-cell>
11
- <cell-value :is-loader-active="true" />
12
- </table-cell>
13
- </table-row>
14
- <!-- table loader -->
15
- </tbody>
16
- <tbody
17
- v-else
18
- :class="{
19
- 'no-data-available has-text-centered p-10': isTableEmpty,
20
- 'pl-0 pr-0': removeContentPadding,
21
- }"
22
- >
23
- <template v-if="!isTableEmpty">
24
- <!-- table rows -->
25
- <table-row v-for="(tableHeader, idx) in tableHeaders" :key="tableHeader">
26
- <table-cell>
27
- <!-- for table cell icons -->
28
- <slot :name="`table-cell-icon-${idx}`" />
29
- <!-- for table cell icons -->
30
- {{ tableHeader }}
31
- </table-cell>
32
- <table-cell v-if="isLoaderActive">
33
- <!-- single col loader -->
34
- <cell-value :is-loader-active="true" />
35
- <!-- single col loader -->
36
- </table-cell>
37
- <table-cell v-else>
38
- <slot :name="`slot-${idx}`" />
39
- </table-cell>
40
- </table-row>
41
- <!-- table rows -->
42
- </template>
43
-
44
- <empty-table-info v-else />
45
- </tbody>
46
- </table>
47
- </table-container>
48
- </template>
49
-
50
- <script>
51
- export default {
52
- props: {
53
- isLoaderActive: {
54
- type: Boolean,
55
- default: false,
56
- },
57
- isTableEmpty: {
58
- type: Boolean,
59
- default: true,
60
- },
61
- tableHeaders: {
62
- type: Array,
63
- default: () => [],
64
- },
65
- removeContentPadding: {
66
- type: Boolean,
67
- default: false,
68
- },
69
- },
70
-
71
- components: {
72
- TableContainer: () => import("./TableContainer.vue"),
73
- EmptyTableInfo: () => import("./EmptyTableInfo.vue"),
74
- TableRow: () => import("./TableRow.vue"),
75
- TableCell: () => import("./TableCell.vue"),
76
- CellValue: () => import("./table-cell/CellValue.vue"),
77
- },
78
-
79
- data() {
80
- return {
81
- loaderCols: 5,
82
- };
83
- },
84
-
85
- computed: {
86
- isFullTableLoaderActive() {
87
- return !this.tableHeaders.length;
88
- },
89
- },
90
- };
91
- </script>
@@ -1,17 +0,0 @@
1
- <template>
2
- <table-container>
3
- <table class="table ac-info-table is-narrow">
4
- <tbody>
5
- <slot />
6
- </tbody>
7
- </table>
8
- </table-container>
9
- </template>
10
-
11
- <script>
12
- export default {
13
- components: {
14
- TableContainer: () => import("./TableContainer.vue"),
15
- },
16
- };
17
- </script>