@appscode/design-system 1.1.0 → 2.0.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 (215) hide show
  1. package/base/_video-player.scss +65 -0
  2. package/base/utilities/_all.scss +7 -5
  3. package/base/utilities/_colors.scss +377 -0
  4. package/base/utilities/_customize-bulma.scss +23 -27
  5. package/base/utilities/_extended.scss +39 -0
  6. package/base/utilities/{_default.scss → _global.scss} +192 -333
  7. package/base/utilities/_layouts.scss +19 -0
  8. package/base/utilities/_mixin.scss +11 -11
  9. package/base/utilities/_spacing.scss +96 -0
  10. package/base/utilities/_typography.scss +56 -24
  11. package/components/_ac-alert-box.scss +205 -263
  12. package/components/_ac-calendar.scss +4 -4
  13. package/components/_ac-code-highlight.scss +13 -16
  14. package/components/_ac-content-layout.scss +165 -165
  15. package/components/_ac-drag.scss +13 -13
  16. package/components/_ac-modal.scss +212 -212
  17. package/components/_ac-options.scss +122 -123
  18. package/components/_ac-select-box.scss +10 -10
  19. package/components/_ac-table.scss +503 -502
  20. package/components/_ac-tabs.scss +65 -61
  21. package/components/_ac-tags.scss +116 -116
  22. package/components/_accordion.scss +117 -0
  23. package/components/_add-card.scss +3 -3
  24. package/components/_all.scss +35 -28
  25. package/components/_app-drawer.scss +0 -134
  26. package/components/_breadcumb.scss +0 -71
  27. package/components/_buttons.scss +779 -779
  28. package/components/_card-body-wrapper.scss +5 -5
  29. package/components/_dashboard-header.scss +0 -115
  30. package/components/_direct-deploy.scss +8 -8
  31. package/components/_getkeeper.scss +110 -0
  32. package/components/_go-to-top.scss +1 -1
  33. package/components/_graph.scss +10 -10
  34. package/components/_image-upload.scss +9 -9
  35. package/components/_input-card.scss +232 -0
  36. package/components/_input.scss +573 -0
  37. package/components/_left-sidebar-menu.scss +452 -587
  38. package/components/_monaco-editor.scss +2 -2
  39. package/components/{_ac-multi-select.scss → _multi-select.scss} +89 -251
  40. package/components/_navbar.scss +786 -752
  41. package/components/_nested-list.scss +3 -3
  42. package/components/_overview-info.scss +10 -10
  43. package/components/_overview-page.scss +4 -4
  44. package/components/_pagination.scss +106 -124
  45. package/components/_payment-card.scss +21 -21
  46. package/components/_preloader.scss +1 -1
  47. package/components/_preview-modal.scss +18 -18
  48. package/components/_pricing-table.scss +14 -14
  49. package/components/_progress-bar.scss +73 -86
  50. package/components/_subscription-card.scss +22 -24
  51. package/components/_table-of-content.scss +8 -8
  52. package/components/{_ac-terminal.scss → _terminal.scss} +114 -81
  53. package/components/_tfa.scss +9 -9
  54. package/components/_transitions.scss +35 -0
  55. package/components/_widget-menu.scss +252 -257
  56. package/components/_wizard.scss +518 -793
  57. package/components/ac-toaster/_ac-toasted.scss +11 -16
  58. package/components/bbum/_activities-header.scss +1 -1
  59. package/components/bbum/_card-team.scss +12 -12
  60. package/components/bbum/_information-center.scss +21 -23
  61. package/components/bbum/_left-sidebar.scss +8 -8
  62. package/components/bbum/_mobile-desktop.scss +16 -21
  63. package/components/bbum/_post.scss +5 -5
  64. package/components/bbum/_sign-up-notification.scss +10 -10
  65. package/components/bbum/_single-post-preview.scss +29 -29
  66. package/components/bbum/_user-profile.scss +10 -10
  67. package/components/ui-builder/_ui-builder.scss +221 -31
  68. package/components/ui-builder/_vue-open-api.scss +565 -7
  69. package/icons/close-icon.svg +3 -0
  70. package/layouts/_code-preview.scss +17 -18
  71. package/main.scss +26 -10
  72. package/package.json +1 -1
  73. package/plugins/theme.js +11 -9
  74. package/plugins/vue-toaster.js +1 -1
  75. package/vue-components/images/icons/cluster-icon.svg +10 -0
  76. package/vue-components/images/icons/org-icon.svg +10 -0
  77. package/vue-components/plugins/time-convert.js +49 -0
  78. package/vue-components/types/cluster.ts +6 -0
  79. package/vue-components/types/importFlow.ts +16 -0
  80. package/vue-components/types/notification.ts +6 -0
  81. package/vue-components/types/previewYaml.ts +8 -0
  82. package/vue-components/types/table.ts +55 -0
  83. package/vue-components/types/theme.ts +10 -0
  84. package/vue-components/types/user.ts +22 -0
  85. package/vue-components/v2/banner/Banner.vue +1 -1
  86. package/vue-components/v2/button/Buttons.vue +1 -1
  87. package/vue-components/v2/card/Card.vue +1 -1
  88. package/vue-components/v2/card/OverviewCards.vue +17 -2
  89. package/vue-components/v2/content/ContentTable.vue +14 -9
  90. package/vue-components/v2/editor/FilteredFileEditor.vue +2 -2
  91. package/vue-components/v2/editor/ResourceKeyValueEditor.vue +21 -21
  92. package/vue-components/v2/icons/Ellipsis.vue +2 -1
  93. package/vue-components/v2/modal/Modal.vue +2 -6
  94. package/vue-components/v2/navbar/Appdrawer.vue +37 -12
  95. package/vue-components/v2/navbar/Navbar.vue +3 -3
  96. package/vue-components/v2/navbar/NavbarItem.vue +3 -1
  97. package/vue-components/v2/navbar/NavbarItemContent.vue +1 -1
  98. package/vue-components/v2/navbar/User.vue +5 -22
  99. package/vue-components/v2/pagination/Pagination.vue +66 -0
  100. package/vue-components/v2/sidebar/SidebarItem.vue +10 -7
  101. package/{components/_ac-accordion.scss → vue-components/v3/accordion/Accordion.vue} +40 -6
  102. package/vue-components/v3/alert/Alert.vue +238 -0
  103. package/vue-components/v3/alert/Toast.vue +79 -0
  104. package/vue-components/v3/banner/Banner.vue +10 -0
  105. package/vue-components/v3/breadcrumbs/Breadcrumb.vue +166 -0
  106. package/vue-components/v3/button/Button.vue +110 -57
  107. package/vue-components/v3/button/Buttons.vue +22 -0
  108. package/vue-components/v3/button/DownloadBtn.vue +31 -0
  109. package/vue-components/v3/cards/Card.vue +32 -0
  110. package/vue-components/v3/cards/CardContent.vue +7 -0
  111. package/vue-components/v3/cards/CardHeader.vue +14 -0
  112. package/vue-components/v3/cards/Cards.vue +7 -0
  113. package/vue-components/v3/cards/Cluster.vue +159 -0
  114. package/vue-components/v3/cards/Counter.vue +39 -0
  115. package/vue-components/v3/cards/FeatureCard.vue +67 -0
  116. package/vue-components/v3/cards/FeatureCards.vue +6 -0
  117. package/vue-components/v3/cards/InfoCard.vue +242 -0
  118. package/vue-components/v3/cards/Monitoring.vue +90 -0
  119. package/vue-components/v3/cards/OrgClusterCard.vue +86 -0
  120. package/vue-components/v3/cards/OverviewCard.vue +28 -0
  121. package/vue-components/v3/cards/OverviewCards.vue +39 -0
  122. package/vue-components/v3/cards/Payment.vue +62 -0
  123. package/vue-components/v3/cards/Vendor.vue +89 -0
  124. package/vue-components/v3/content/ContentHeader.vue +39 -30
  125. package/vue-components/v3/content/ContentLayout.vue +20 -0
  126. package/vue-components/v3/content/ContentTable.vue +44 -58
  127. package/vue-components/v3/dropdown/DropdownAction.vue +95 -0
  128. package/vue-components/v3/dropdown/DropdownDivider.vue +2 -0
  129. package/vue-components/v3/dropdown/DropdownItem.vue +2 -0
  130. package/vue-components/v3/dropdown/DropdownMenu.vue +85 -91
  131. package/vue-components/v3/editor/Editor.vue +117 -115
  132. package/vue-components/v3/editor/FilteredFileEditor.vue +325 -128
  133. package/vue-components/v3/editor/ResourceKeyValueEditor.vue +73 -94
  134. package/vue-components/v3/footer/FooterArea.vue +40 -0
  135. package/vue-components/v3/footer/FooterItem.vue +32 -0
  136. package/vue-components/v3/footer/FooterItems.vue +15 -0
  137. package/vue-components/v3/footer/Info.vue +25 -0
  138. package/vue-components/v3/footer/Status.vue +43 -0
  139. package/vue-components/v3/footer/Usage.vue +34 -0
  140. package/vue-components/v3/form/Form.vue +24 -36
  141. package/vue-components/v3/form/FormFooter.vue +24 -0
  142. package/vue-components/v3/form/FormFooterControl.vue +7 -0
  143. package/vue-components/v3/form/FormFooterControls.vue +7 -0
  144. package/vue-components/v3/form-fields/AcSingleInput.vue +21 -0
  145. package/vue-components/v3/form-fields/FileUpload.vue +89 -0
  146. package/vue-components/v3/form-fields/Input.vue +19 -15
  147. package/vue-components/v3/header/Header.vue +120 -26
  148. package/vue-components/v3/header/HeaderItem.vue +18 -0
  149. package/vue-components/v3/header/HeaderItems.vue +4 -0
  150. package/vue-components/v3/icons/Ellipsis.vue +2 -0
  151. package/vue-components/v3/loaders/ClusterSwitcherLoader.vue +13 -0
  152. package/vue-components/v3/loaders/InfoCardLoader.vue +19 -0
  153. package/vue-components/v3/loaders/ResourceLoader.vue +4 -12
  154. package/vue-components/v3/loaders/SidebarLoader.vue +4 -12
  155. package/vue-components/v3/loaders/SingleInfoCardLoader.vue +24 -0
  156. package/vue-components/v3/modal/Modal.vue +294 -95
  157. package/vue-components/v3/modals/DeleteConfirmationModal.vue +37 -50
  158. package/vue-components/v3/modals/JsonShowModal.vue +63 -68
  159. package/vue-components/v3/navbar/Appdrawer.vue +198 -51
  160. package/vue-components/v3/navbar/Navbar.vue +139 -0
  161. package/vue-components/v3/navbar/NavbarItem.vue +103 -0
  162. package/vue-components/v3/navbar/NavbarItemContent.vue +282 -0
  163. package/vue-components/v3/navbar/Notification.vue +207 -0
  164. package/vue-components/v3/navbar/ThemeMode.vue +128 -112
  165. package/vue-components/v3/navbar/User.vue +431 -268
  166. package/vue-components/v3/notification/AlertBox.vue +266 -39
  167. package/vue-components/v3/notification/Notification.vue +50 -44
  168. package/vue-components/v3/notification/NotificationItem.vue +51 -19
  169. package/vue-components/v3/option-dots/Options.vue +197 -0
  170. package/vue-components/v3/pagination/Pagination.vue +216 -102
  171. package/vue-components/v3/preloader/Preloader.vue +23 -0
  172. package/vue-components/v3/searchbars/SearchBar.vue +50 -34
  173. package/vue-components/v3/sidebar/AccentColorPicker.vue +97 -0
  174. package/vue-components/v3/sidebar/ClusterSwitcher.vue +71 -86
  175. package/vue-components/v3/sidebar/Sidebar.vue +239 -0
  176. package/vue-components/v3/sidebar/SidebarBody.vue +14 -0
  177. package/vue-components/v3/sidebar/SidebarFooter.vue +89 -0
  178. package/vue-components/v3/sidebar/SidebarHeader.vue +131 -0
  179. package/vue-components/v3/sidebar/SidebarItem.vue +62 -0
  180. package/vue-components/v3/sidebar/SidebarItemWithDropDown.vue +101 -104
  181. package/vue-components/v3/sidebar/SidebarMenuList.vue +9 -0
  182. package/vue-components/v3/sidebar/Steps.vue +152 -0
  183. package/vue-components/v3/sidebar/sidebar-tabs/SidebarTabs.vue +204 -0
  184. package/vue-components/v3/sidebar/sidebar-tabs/SidebarTabsLayout.vue +44 -0
  185. package/vue-components/v3/sidebar/sidebar-tabs/TabsContent.vue +99 -0
  186. package/vue-components/v3/tab/TabItem.vue +10 -12
  187. package/vue-components/v3/tab/Tabs.vue +36 -0
  188. package/vue-components/v3/tab/TabsBody.vue +7 -0
  189. package/vue-components/v3/table/EmptyTableInfo.vue +8 -0
  190. package/vue-components/v3/table/FakeTableCell.vue +22 -31
  191. package/vue-components/v3/table/InfoTable.vue +89 -61
  192. package/vue-components/v3/table/MultiInfoTable.vue +72 -95
  193. package/vue-components/v3/table/Table.vue +596 -157
  194. package/vue-components/v3/table/TableCell.vue +13 -24
  195. package/vue-components/v3/table/TableContainer.vue +50 -28
  196. package/vue-components/v3/table/TableRow.vue +65 -87
  197. package/vue-components/v3/table/table-cell/ArrayCell.vue +94 -103
  198. package/vue-components/v3/table/table-cell/CellValue.vue +74 -106
  199. package/vue-components/v3/table/table-cell/GenericCell.vue +43 -42
  200. package/vue-components/v3/table/table-cell/ObjectCell.vue +91 -101
  201. package/vue-components/v3/table/table-cell/ValueWithModal.vue +22 -31
  202. package/vue-components/v3/tabs/EditorTabs.vue +18 -24
  203. package/vue-components/v3/tag/Tag.vue +16 -12
  204. package/vue-components/v3/tag/Tags.vue +7 -0
  205. package/base/utilities/_derived-variables.scss +0 -25
  206. package/base/utilities/_initial-variables.scss +0 -215
  207. package/base/utilities/dark-theme.scss +0 -26
  208. package/components/_ac-card.scss +0 -597
  209. package/components/_ac-input.scss +0 -876
  210. package/mixins/stickyContent.js +0 -141
  211. package/plugins/caching.ts +0 -243
  212. package/vue-components/v3/long-running-tasks/LongRunningTaskItem.vue +0 -92
  213. package/vue-components/v3/modals/LongRunningTasksModal.vue +0 -400
  214. package/vue-components/v3/terminal/LongRunningTaskTerminal.vue +0 -148
  215. /package/components/{_ac-report.scss → _report.scss} +0 -0
@@ -0,0 +1,99 @@
1
+ <script setup lang="ts"></script>
2
+ <template>
3
+ <div class="content pt-10 pl-20 pb-20">
4
+ <h1>Heading One</h1>
5
+ <p>
6
+ Lorem ipsum dolor sit amet consectetur, adipisicing elit. Cumque cum
7
+ corrupti atque voluptatum quos a commodi similique perferendis
8
+ necessitatibus. Praesentium labore laudantium assumenda consectetur
9
+ corporis ex doloremque magnam animi numquam?
10
+ </p>
11
+ <h2>Heading Two</h2>
12
+ <p>
13
+ Lorem ipsum dolor sit amet consectetur, adipisicing elit. Cumque cum
14
+ corrupti atque voluptatum quos a commodi similique perferendis
15
+ necessitatibus. Praesentium labore laudantium assumenda consectetur
16
+ corporis ex doloremque magnam animi numquam? Lorem ipsum dolor sit amet
17
+ consectetur, adipisicing elit. Cumque cum corrupti atque voluptatum quos a
18
+ commodi similique perferendis necessitatibus. Praesentium labore
19
+ laudantium assumenda consectetur corporis ex doloremque magnam animi
20
+ numquam?
21
+ </p>
22
+ <h3>Heading three</h3>
23
+ <p>
24
+ Lorem ipsum dolor sit amet consectetur, adipisicing elit. Cumque cum
25
+ corrupti atque voluptatum quos a commodi similique perferendis
26
+ necessitatibus. Praesentium labore laudantium assumenda consectetur
27
+ corporis ex doloremque magnam animi numquam?
28
+ </p>
29
+
30
+ <h4>Heading Four</h4>
31
+ <p>
32
+ Lorem ipsum dolor sit amet consectetur, adipisicing elit. Cumque cum
33
+ corrupti atque voluptatum quos a commodi similique perferendis
34
+ necessitatibus. Praesentium labore laudantium assumenda consectetur
35
+ corporis ex doloremque magnam animi numquam?
36
+ </p>
37
+ <h5>Heading Five</h5>
38
+ <p>
39
+ Lorem ipsum dolor sit amet consectetur, adipisicing elit. Cumque cum
40
+ corrupti atque voluptatum quos a commodi similique perferendis
41
+ necessitatibus. Praesentium labore laudantium assumenda consectetur
42
+ corporis ex doloremque magnam animi numquam? Lorem ipsum dolor sit amet
43
+ consectetur, adipisicing elit. Cumque cum corrupti atque voluptatum quos a
44
+ commodi similique perferendis necessitatibus. Praesentium labore
45
+ laudantium assumenda consectetur corporis ex doloremque magnam animi
46
+ numquam?
47
+ </p>
48
+ <h6>Heading Six</h6>
49
+ <p>
50
+ Lorem ipsum dolor sit amet consectetur, adipisicing elit. Cumque cum
51
+ corrupti atque voluptatum quos a commodi similique perferendis
52
+ necessitatibus. Praesentium labore laudantium assumenda consectetur
53
+ corporis ex doloremque magnam animi numquam?
54
+ </p>
55
+
56
+ <h4>Block Quote</h4>
57
+
58
+ <blockquote>
59
+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Et repudiandae
60
+ officiis autem aspernatur. Ab cum quisquam dolore pariatur consequuntur
61
+ officia nostrum, commodi sint saepe delectus itaque vel quae voluptates
62
+ atque.
63
+ </blockquote>
64
+
65
+ <h5>Heading Five</h5>
66
+ <p>
67
+ Lorem ipsum dolor sit amet consectetur, adipisicing elit. Cumque cum
68
+ corrupti atque voluptatum quos a commodi similique perferendis
69
+ necessitatibus. Praesentium labore laudantium assumenda consectetur
70
+ corporis ex doloremque magnam animi numquam? Lorem ipsum dolor sit amet
71
+ consectetur, adipisicing elit. Cumque cum corrupti atque voluptatum quos a
72
+ commodi similique perferendis necessitatibus. Praesentium labore
73
+ laudantium assumenda consectetur corporis ex doloremque magnam animi
74
+ numquam?
75
+ </p>
76
+ <h6>Heading Six</h6>
77
+ <p>
78
+ Lorem ipsum dolor sit amet consectetur, adipisicing elit. Cumque cum
79
+ corrupti atque voluptatum quos a commodi similique perferendis
80
+ necessitatibus. Praesentium labore laudantium assumenda consectetur
81
+ corporis ex doloremque magnam animi numquam?
82
+ </p>
83
+
84
+ <h4>Block Quote</h4>
85
+
86
+ <blockquote>
87
+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Et repudiandae
88
+ officiis autem aspernatur. Ab cum quisquam dolore pariatur consequuntur
89
+ officia nostrum, commodi sint saepe delectus itaque vel quae voluptates
90
+ atque.
91
+ </blockquote>
92
+ </div>
93
+ </template>
94
+
95
+ <style lang="scss">
96
+ .content {
97
+ width: 100%;
98
+ }
99
+ </style>
@@ -1,17 +1,15 @@
1
+ <script setup lang="ts">
2
+ interface Props {
3
+ isActive?: boolean;
4
+ }
5
+
6
+ withDefaults(defineProps<Props>(), {
7
+ isActive: false,
8
+ });
9
+ </script>
10
+
1
11
  <template>
2
12
  <li :class="{ 'is-active': isActive }" data-testid="tab-item">
3
13
  <slot />
4
14
  </li>
5
15
  </template>
6
-
7
- <script>
8
- import { defineComponent } from "vue";
9
- export default defineComponent({
10
- props: {
11
- isActive: {
12
- type: Boolean,
13
- default: false,
14
- },
15
- },
16
- });
17
- </script>
@@ -0,0 +1,36 @@
1
+ <script setup lang="ts"></script>
2
+
3
+ <template>
4
+ <div class="tabs ac-tabs">
5
+ <ul>
6
+ <slot />
7
+ </ul>
8
+ </div>
9
+ </template>
10
+
11
+ <style lang="scss">
12
+ .tabs {
13
+ &.ac-tabs {
14
+ ul {
15
+ border-color: $primary-90;
16
+ }
17
+ a {
18
+ padding: 8px 20px;
19
+ color: $primary-10;
20
+ font-weight: 500;
21
+ color: $black-40;
22
+ &:hover {
23
+ border-bottom-color: $black-40;
24
+ }
25
+ }
26
+ li {
27
+ &.is-active {
28
+ a {
29
+ border-bottom-color: $primary;
30
+ color: $primary;
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
36
+ </style>
@@ -0,0 +1,7 @@
1
+ <script setup lang="ts"></script>
2
+
3
+ <template>
4
+ <div class="ac-tabs-body is-content-available">
5
+ <slot />
6
+ </div>
7
+ </template>
@@ -0,0 +1,8 @@
1
+ <script setup lang="ts"></script>
2
+
3
+ <template>
4
+ <strong>
5
+ No Data Available
6
+ <i class="pl-5 fa fa-exclamation-circle" aria-hidden="true"></i>
7
+ </strong>
8
+ </template>
@@ -1,3 +1,25 @@
1
+ <script setup lang="ts">
2
+ import { defineAsyncComponent, computed } from "vue";
3
+
4
+ interface Props {
5
+ isHeaderCell?: boolean;
6
+ fakeCellWidth?: number;
7
+ }
8
+
9
+ const props = withDefaults(defineProps<Props>(), {
10
+ isHeaderCell: false,
11
+ fakeCellWidth: 0,
12
+ });
13
+
14
+ const TableCell = defineAsyncComponent(() => import("./TableCell.vue"));
15
+
16
+ const dynamicColumnStyle = computed(() => {
17
+ return {
18
+ right: `-${props.fakeCellWidth}px`,
19
+ };
20
+ });
21
+ </script>
22
+
1
23
  <template>
2
24
  <th v-if="isHeaderCell" class="increase-width">
3
25
  <div class="increase-innner" :style="dynamicColumnStyle" />
@@ -6,34 +28,3 @@
6
28
  <div class="increase-innner" :style="dynamicColumnStyle" />
7
29
  </table-cell>
8
30
  </template>
9
-
10
- <script>
11
- import { defineComponent, defineAsyncComponent } from "vue";
12
-
13
- export default defineComponent({
14
- props: {
15
- isHeaderCell: {
16
- type: Boolean,
17
- default: false,
18
- },
19
- fakeCellWidth: {
20
- type: Number,
21
- default: 0,
22
- },
23
- },
24
-
25
- components: {
26
- TableCell: defineAsyncComponent(() =>
27
- import("./TableCell.vue").then((module) => module.default)
28
- ),
29
- },
30
-
31
- computed: {
32
- dynamicColumnStyle() {
33
- return {
34
- right: `-${this.fakeCellWidth}px`,
35
- };
36
- },
37
- },
38
- });
39
- </script>
@@ -1,3 +1,43 @@
1
+ <script setup lang="ts">
2
+ import { computed, defineAsyncComponent, ref } from "vue";
3
+
4
+ interface Props {
5
+ isLoaderActive?: boolean;
6
+ isTableEmpty?: boolean;
7
+ tableHeaders?: Array<unknown>;
8
+ removeContentPadding?: boolean;
9
+ }
10
+
11
+ const props = withDefaults(defineProps<Props>(), {
12
+ isLoaderActive: false,
13
+ isTableEmpty: true,
14
+ tableHeaders: () => [],
15
+ removeContentPadding: false,
16
+ });
17
+
18
+ const TableContainer = defineAsyncComponent(
19
+ () => import("./TableContainer.vue")
20
+ );
21
+
22
+ const EmptyTableInfo = defineAsyncComponent(
23
+ () => import("./EmptyTableInfo.vue")
24
+ );
25
+
26
+ const TableRow = defineAsyncComponent(() => import("./TableRow.vue"));
27
+
28
+ const TableCell = defineAsyncComponent(() => import("./TableCell.vue"));
29
+
30
+ const CellValue = defineAsyncComponent(
31
+ () => import("./table-cell/CellValue.vue")
32
+ );
33
+
34
+ const loaderCols = ref(5);
35
+
36
+ const isFullTableLoaderActive = computed(() => {
37
+ return !props.tableHeaders.length;
38
+ });
39
+ </script>
40
+
1
41
  <template>
2
42
  <table-container>
3
43
  <table
@@ -24,11 +64,13 @@
24
64
  <template v-if="!isTableEmpty">
25
65
  <table-row
26
66
  v-for="(tableHeader, idx) in tableHeaders"
27
- :key="tableHeader"
67
+ :key="(tableHeader as string)"
28
68
  >
29
69
  <table-cell>
30
- <slot :name="`table-cell-icon-${idx}`" />
31
- {{ tableHeader }}
70
+ <span class="is-flex is-align-items-center">
71
+ <slot :name="`table-cell-icon-${idx}`" />
72
+ {{ tableHeader }}
73
+ </span>
32
74
  </table-cell>
33
75
  <table-cell v-if="isLoaderActive">
34
76
  <cell-value :is-loader-active="true" />
@@ -45,61 +87,47 @@
45
87
  </table-container>
46
88
  </template>
47
89
 
48
- <script>
49
- import { defineComponent, defineAsyncComponent } from "vue";
50
-
51
- export default defineComponent({
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: defineAsyncComponent(() =>
73
- import("../../v2/table/TableContainer.vue").then(
74
- (module) => module.default
75
- )
76
- ),
77
- EmptyTableInfo: defineAsyncComponent(() =>
78
- import("../../v2/table/EmptyTableInfo.vue").then(
79
- (module) => module.default
80
- )
81
- ),
82
- TableRow: defineAsyncComponent(() =>
83
- import("./TableRow.vue").then((module) => module.default)
84
- ),
85
- TableCell: defineAsyncComponent(() =>
86
- import("./TableCell.vue").then((module) => module.default)
87
- ),
88
- CellValue: defineAsyncComponent(() =>
89
- import("./table-cell/CellValue.vue").then((module) => module.default)
90
- ),
91
- },
92
-
93
- data() {
94
- return {
95
- loaderCols: 5,
96
- };
97
- },
98
-
99
- computed: {
100
- isFullTableLoaderActive() {
101
- return !this.tableHeaders.length;
102
- },
103
- },
104
- });
105
- </script>
90
+ <style lang="scss">
91
+ // INFO TABLE START
92
+ .table.ac-info-table {
93
+ background-color: transparent;
94
+ border-top: 1px solid $primary-95;
95
+
96
+ &.is-fullwidth {
97
+ tbody {
98
+ tr {
99
+ td {
100
+ &:first-child {
101
+ width: 1%;
102
+ }
103
+ }
104
+ }
105
+ }
106
+ }
107
+
108
+ padding: 10px;
109
+ border-radius: 4px;
110
+
111
+ tbody {
112
+ display: block;
113
+ padding: 5px 20px;
114
+
115
+ tr {
116
+ td {
117
+ border: none;
118
+ font-size: 13px;
119
+ color: $primary-20;
120
+ font-weight: 400;
121
+ padding: 3px 0px;
122
+ min-width: 230px;
123
+
124
+ &:first-child {
125
+ font-weight: 400;
126
+ padding-right: 10px;
127
+ color: $primary-5;
128
+ }
129
+ }
130
+ }
131
+ }
132
+ }
133
+ </style>
@@ -1,3 +1,75 @@
1
+ <script setup lang="ts">
2
+ import type { AcTableCol } from "../../types/table";
3
+ import { defineAsyncComponent, ref, computed, watch } from "vue";
4
+
5
+ interface Props {
6
+ isLoaderActive?: boolean;
7
+ isTableEmpty?: boolean;
8
+ tableHeaders?: Array<AcTableCol>;
9
+ removeContentPadding?: boolean;
10
+ }
11
+
12
+ const props = withDefaults(defineProps<Props>(), {
13
+ isLoaderActive: false,
14
+ isTableEmpty: false,
15
+ tableHeaders: () => [],
16
+ removeContentPadding: false,
17
+ });
18
+
19
+ const TableContainer = defineAsyncComponent(
20
+ () => import("../table/TableContainer.vue")
21
+ );
22
+ const EmptyTableInfo = defineAsyncComponent(
23
+ () => import("../table/EmptyTableInfo.vue")
24
+ );
25
+ const TableRow = defineAsyncComponent(() => import("../table/TableRow.vue"));
26
+ const TableCell = defineAsyncComponent(() => import("../table/TableCell.vue"));
27
+ const CellValue = defineAsyncComponent(
28
+ () => import("../table/table-cell/CellValue.vue")
29
+ );
30
+
31
+ const loaderCols = ref(5);
32
+ const headerSortables = ref<Array<{ enabled: boolean; mode: string }>>([]);
33
+
34
+ const isFullTableLoaderActive = computed(() => {
35
+ return !props.tableHeaders.length;
36
+ });
37
+
38
+ const headerLabels = computed(() => {
39
+ return props.tableHeaders.map((th) =>
40
+ typeof th === "string" ? th : th?.name || "Label"
41
+ );
42
+ });
43
+
44
+ watch(
45
+ () => props.tableHeaders,
46
+ (n) => {
47
+ if (headerSortables.value.length === n.length) {
48
+ n.forEach((th, idx) => {
49
+ if (headerSortables.value[idx].enabled !== !!th?.sort?.enable) {
50
+ headerSortables.value[idx].enabled = !!th?.sort?.enable;
51
+ headerSortables.value[idx].mode = "";
52
+ }
53
+ });
54
+ } else {
55
+ headerSortables.value = n.map((th) => {
56
+ if (typeof th === "string") {
57
+ return {
58
+ enabled: false,
59
+ mode: "",
60
+ };
61
+ } else {
62
+ return {
63
+ enabled: !!th?.sort?.enable,
64
+ mode: "",
65
+ };
66
+ }
67
+ });
68
+ }
69
+ }
70
+ );
71
+ </script>
72
+
1
73
  <template>
2
74
  <table-container>
3
75
  <table
@@ -46,98 +118,3 @@
46
118
  <!-- pagination end -->
47
119
  </table-container>
48
120
  </template>
49
-
50
- <script>
51
- import { defineComponent, defineAsyncComponent } from "vue";
52
-
53
- export default defineComponent({
54
- props: {
55
- isLoaderActive: {
56
- type: Boolean,
57
- default: false,
58
- },
59
- isTableEmpty: {
60
- type: Boolean,
61
- default: true,
62
- },
63
- tableHeaders: {
64
- type: Array,
65
- default: () => [],
66
- },
67
- removeContentPadding: {
68
- type: Boolean,
69
- default: false,
70
- },
71
- },
72
-
73
- components: {
74
- TableContainer: defineAsyncComponent(() =>
75
- import("../../v2/table/TableContainer.vue").then(
76
- (module) => module.default
77
- )
78
- ),
79
- EmptyTableInfo: defineAsyncComponent(() =>
80
- import("../../v2/table/EmptyTableInfo.vue").then(
81
- (module) => module.default
82
- )
83
- ),
84
- TableRow: defineAsyncComponent(() =>
85
- import("./TableRow.vue").then((module) => module.default)
86
- ),
87
- TableCell: defineAsyncComponent(() =>
88
- import("./TableCell.vue").then((module) => module.default)
89
- ),
90
- CellValue: defineAsyncComponent(() =>
91
- import("./table-cell/CellValue.vue").then((module) => module.default)
92
- ),
93
- },
94
-
95
- data() {
96
- return {
97
- loaderCols: 5,
98
- headerSortables: [],
99
- };
100
- },
101
-
102
- computed: {
103
- isFullTableLoaderActive() {
104
- return !this.tableHeaders.length;
105
- },
106
- headerLabels() {
107
- return this.tableHeaders.map((th) =>
108
- typeof th === "string" ? th : th?.name || "Label"
109
- );
110
- },
111
- },
112
-
113
- watch: {
114
- tableHeaders: {
115
- immediate: true,
116
- handler(n) {
117
- if (this.headerSortables.length === n.length) {
118
- n.forEach((th, idx) => {
119
- if (this.headerSortables[idx].enabled !== !!th?.sort?.enable) {
120
- this.headerSortables[idx].enabled = !!th?.sort?.enable;
121
- this.headerSortables[idx].mode = "";
122
- }
123
- });
124
- } else {
125
- this.headerSortables = n.map((th) => {
126
- if (typeof th === "string") {
127
- return {
128
- enabled: false,
129
- mode: "",
130
- };
131
- } else {
132
- return {
133
- enabled: !!th?.sort?.enable,
134
- mode: "",
135
- };
136
- }
137
- });
138
- }
139
- },
140
- },
141
- },
142
- });
143
- </script>