@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.
- package/base/_video-player.scss +65 -0
- package/base/utilities/_all.scss +7 -5
- package/base/utilities/_colors.scss +377 -0
- package/base/utilities/_customize-bulma.scss +23 -27
- package/base/utilities/_extended.scss +39 -0
- package/base/utilities/{_default.scss → _global.scss} +192 -333
- package/base/utilities/_layouts.scss +19 -0
- package/base/utilities/_mixin.scss +11 -11
- package/base/utilities/_spacing.scss +96 -0
- package/base/utilities/_typography.scss +56 -24
- package/components/_ac-alert-box.scss +205 -263
- package/components/_ac-calendar.scss +4 -4
- package/components/_ac-code-highlight.scss +13 -16
- package/components/_ac-content-layout.scss +165 -165
- package/components/_ac-drag.scss +13 -13
- package/components/_ac-modal.scss +212 -212
- package/components/_ac-options.scss +122 -123
- package/components/_ac-select-box.scss +10 -10
- package/components/_ac-table.scss +503 -502
- package/components/_ac-tabs.scss +65 -61
- package/components/_ac-tags.scss +116 -116
- package/components/_accordion.scss +117 -0
- package/components/_add-card.scss +3 -3
- package/components/_all.scss +35 -28
- package/components/_app-drawer.scss +0 -134
- package/components/_breadcumb.scss +0 -71
- package/components/_buttons.scss +779 -779
- package/components/_card-body-wrapper.scss +5 -5
- package/components/_dashboard-header.scss +0 -115
- package/components/_direct-deploy.scss +8 -8
- package/components/_getkeeper.scss +110 -0
- package/components/_go-to-top.scss +1 -1
- package/components/_graph.scss +10 -10
- package/components/_image-upload.scss +9 -9
- package/components/_input-card.scss +232 -0
- package/components/_input.scss +573 -0
- package/components/_left-sidebar-menu.scss +452 -587
- package/components/_monaco-editor.scss +2 -2
- package/components/{_ac-multi-select.scss → _multi-select.scss} +89 -251
- package/components/_navbar.scss +786 -752
- package/components/_nested-list.scss +3 -3
- package/components/_overview-info.scss +10 -10
- package/components/_overview-page.scss +4 -4
- package/components/_pagination.scss +106 -124
- package/components/_payment-card.scss +21 -21
- package/components/_preloader.scss +1 -1
- package/components/_preview-modal.scss +18 -18
- package/components/_pricing-table.scss +14 -14
- package/components/_progress-bar.scss +73 -86
- package/components/_subscription-card.scss +22 -24
- package/components/_table-of-content.scss +8 -8
- package/components/{_ac-terminal.scss → _terminal.scss} +114 -81
- package/components/_tfa.scss +9 -9
- package/components/_transitions.scss +35 -0
- package/components/_widget-menu.scss +252 -257
- package/components/_wizard.scss +518 -793
- package/components/ac-toaster/_ac-toasted.scss +11 -16
- package/components/bbum/_activities-header.scss +1 -1
- package/components/bbum/_card-team.scss +12 -12
- package/components/bbum/_information-center.scss +21 -23
- package/components/bbum/_left-sidebar.scss +8 -8
- package/components/bbum/_mobile-desktop.scss +16 -21
- package/components/bbum/_post.scss +5 -5
- package/components/bbum/_sign-up-notification.scss +10 -10
- package/components/bbum/_single-post-preview.scss +29 -29
- package/components/bbum/_user-profile.scss +10 -10
- package/components/ui-builder/_ui-builder.scss +221 -31
- package/components/ui-builder/_vue-open-api.scss +565 -7
- package/icons/close-icon.svg +3 -0
- package/layouts/_code-preview.scss +17 -18
- package/main.scss +26 -10
- package/package.json +1 -1
- package/plugins/theme.js +11 -9
- package/plugins/vue-toaster.js +1 -1
- package/vue-components/images/icons/cluster-icon.svg +10 -0
- package/vue-components/images/icons/org-icon.svg +10 -0
- package/vue-components/plugins/time-convert.js +49 -0
- package/vue-components/types/cluster.ts +6 -0
- package/vue-components/types/importFlow.ts +16 -0
- package/vue-components/types/notification.ts +6 -0
- package/vue-components/types/previewYaml.ts +8 -0
- package/vue-components/types/table.ts +55 -0
- package/vue-components/types/theme.ts +10 -0
- package/vue-components/types/user.ts +22 -0
- package/vue-components/v2/banner/Banner.vue +1 -1
- package/vue-components/v2/button/Buttons.vue +1 -1
- package/vue-components/v2/card/Card.vue +1 -1
- package/vue-components/v2/card/OverviewCards.vue +17 -2
- package/vue-components/v2/content/ContentTable.vue +14 -9
- package/vue-components/v2/editor/FilteredFileEditor.vue +2 -2
- package/vue-components/v2/editor/ResourceKeyValueEditor.vue +21 -21
- package/vue-components/v2/icons/Ellipsis.vue +2 -1
- package/vue-components/v2/modal/Modal.vue +2 -6
- package/vue-components/v2/navbar/Appdrawer.vue +37 -12
- package/vue-components/v2/navbar/Navbar.vue +3 -3
- package/vue-components/v2/navbar/NavbarItem.vue +3 -1
- package/vue-components/v2/navbar/NavbarItemContent.vue +1 -1
- package/vue-components/v2/navbar/User.vue +5 -22
- package/vue-components/v2/pagination/Pagination.vue +66 -0
- package/vue-components/v2/sidebar/SidebarItem.vue +10 -7
- package/{components/_ac-accordion.scss → vue-components/v3/accordion/Accordion.vue} +40 -6
- package/vue-components/v3/alert/Alert.vue +238 -0
- package/vue-components/v3/alert/Toast.vue +79 -0
- package/vue-components/v3/banner/Banner.vue +10 -0
- package/vue-components/v3/breadcrumbs/Breadcrumb.vue +166 -0
- package/vue-components/v3/button/Button.vue +110 -57
- package/vue-components/v3/button/Buttons.vue +22 -0
- package/vue-components/v3/button/DownloadBtn.vue +31 -0
- package/vue-components/v3/cards/Card.vue +32 -0
- package/vue-components/v3/cards/CardContent.vue +7 -0
- package/vue-components/v3/cards/CardHeader.vue +14 -0
- package/vue-components/v3/cards/Cards.vue +7 -0
- package/vue-components/v3/cards/Cluster.vue +159 -0
- package/vue-components/v3/cards/Counter.vue +39 -0
- package/vue-components/v3/cards/FeatureCard.vue +67 -0
- package/vue-components/v3/cards/FeatureCards.vue +6 -0
- package/vue-components/v3/cards/InfoCard.vue +242 -0
- package/vue-components/v3/cards/Monitoring.vue +90 -0
- package/vue-components/v3/cards/OrgClusterCard.vue +86 -0
- package/vue-components/v3/cards/OverviewCard.vue +28 -0
- package/vue-components/v3/cards/OverviewCards.vue +39 -0
- package/vue-components/v3/cards/Payment.vue +62 -0
- package/vue-components/v3/cards/Vendor.vue +89 -0
- package/vue-components/v3/content/ContentHeader.vue +39 -30
- package/vue-components/v3/content/ContentLayout.vue +20 -0
- package/vue-components/v3/content/ContentTable.vue +44 -58
- package/vue-components/v3/dropdown/DropdownAction.vue +95 -0
- package/vue-components/v3/dropdown/DropdownDivider.vue +2 -0
- package/vue-components/v3/dropdown/DropdownItem.vue +2 -0
- package/vue-components/v3/dropdown/DropdownMenu.vue +85 -91
- package/vue-components/v3/editor/Editor.vue +117 -115
- package/vue-components/v3/editor/FilteredFileEditor.vue +325 -128
- package/vue-components/v3/editor/ResourceKeyValueEditor.vue +73 -94
- package/vue-components/v3/footer/FooterArea.vue +40 -0
- package/vue-components/v3/footer/FooterItem.vue +32 -0
- package/vue-components/v3/footer/FooterItems.vue +15 -0
- package/vue-components/v3/footer/Info.vue +25 -0
- package/vue-components/v3/footer/Status.vue +43 -0
- package/vue-components/v3/footer/Usage.vue +34 -0
- package/vue-components/v3/form/Form.vue +24 -36
- package/vue-components/v3/form/FormFooter.vue +24 -0
- package/vue-components/v3/form/FormFooterControl.vue +7 -0
- package/vue-components/v3/form/FormFooterControls.vue +7 -0
- package/vue-components/v3/form-fields/AcSingleInput.vue +21 -0
- package/vue-components/v3/form-fields/FileUpload.vue +89 -0
- package/vue-components/v3/form-fields/Input.vue +19 -15
- package/vue-components/v3/header/Header.vue +120 -26
- package/vue-components/v3/header/HeaderItem.vue +18 -0
- package/vue-components/v3/header/HeaderItems.vue +4 -0
- package/vue-components/v3/icons/Ellipsis.vue +2 -0
- package/vue-components/v3/loaders/ClusterSwitcherLoader.vue +13 -0
- package/vue-components/v3/loaders/InfoCardLoader.vue +19 -0
- package/vue-components/v3/loaders/ResourceLoader.vue +4 -12
- package/vue-components/v3/loaders/SidebarLoader.vue +4 -12
- package/vue-components/v3/loaders/SingleInfoCardLoader.vue +24 -0
- package/vue-components/v3/modal/Modal.vue +294 -95
- package/vue-components/v3/modals/DeleteConfirmationModal.vue +37 -50
- package/vue-components/v3/modals/JsonShowModal.vue +63 -68
- package/vue-components/v3/navbar/Appdrawer.vue +198 -51
- package/vue-components/v3/navbar/Navbar.vue +139 -0
- package/vue-components/v3/navbar/NavbarItem.vue +103 -0
- package/vue-components/v3/navbar/NavbarItemContent.vue +282 -0
- package/vue-components/v3/navbar/Notification.vue +207 -0
- package/vue-components/v3/navbar/ThemeMode.vue +128 -112
- package/vue-components/v3/navbar/User.vue +431 -268
- package/vue-components/v3/notification/AlertBox.vue +266 -39
- package/vue-components/v3/notification/Notification.vue +50 -44
- package/vue-components/v3/notification/NotificationItem.vue +51 -19
- package/vue-components/v3/option-dots/Options.vue +197 -0
- package/vue-components/v3/pagination/Pagination.vue +216 -102
- package/vue-components/v3/preloader/Preloader.vue +23 -0
- package/vue-components/v3/searchbars/SearchBar.vue +50 -34
- package/vue-components/v3/sidebar/AccentColorPicker.vue +97 -0
- package/vue-components/v3/sidebar/ClusterSwitcher.vue +71 -86
- package/vue-components/v3/sidebar/Sidebar.vue +239 -0
- package/vue-components/v3/sidebar/SidebarBody.vue +14 -0
- package/vue-components/v3/sidebar/SidebarFooter.vue +89 -0
- package/vue-components/v3/sidebar/SidebarHeader.vue +131 -0
- package/vue-components/v3/sidebar/SidebarItem.vue +62 -0
- package/vue-components/v3/sidebar/SidebarItemWithDropDown.vue +101 -104
- package/vue-components/v3/sidebar/SidebarMenuList.vue +9 -0
- package/vue-components/v3/sidebar/Steps.vue +152 -0
- package/vue-components/v3/sidebar/sidebar-tabs/SidebarTabs.vue +204 -0
- package/vue-components/v3/sidebar/sidebar-tabs/SidebarTabsLayout.vue +44 -0
- package/vue-components/v3/sidebar/sidebar-tabs/TabsContent.vue +99 -0
- package/vue-components/v3/tab/TabItem.vue +10 -12
- package/vue-components/v3/tab/Tabs.vue +36 -0
- package/vue-components/v3/tab/TabsBody.vue +7 -0
- package/vue-components/v3/table/EmptyTableInfo.vue +8 -0
- package/vue-components/v3/table/FakeTableCell.vue +22 -31
- package/vue-components/v3/table/InfoTable.vue +89 -61
- package/vue-components/v3/table/MultiInfoTable.vue +72 -95
- package/vue-components/v3/table/Table.vue +596 -157
- package/vue-components/v3/table/TableCell.vue +13 -24
- package/vue-components/v3/table/TableContainer.vue +50 -28
- package/vue-components/v3/table/TableRow.vue +65 -87
- package/vue-components/v3/table/table-cell/ArrayCell.vue +94 -103
- package/vue-components/v3/table/table-cell/CellValue.vue +74 -106
- package/vue-components/v3/table/table-cell/GenericCell.vue +43 -42
- package/vue-components/v3/table/table-cell/ObjectCell.vue +91 -101
- package/vue-components/v3/table/table-cell/ValueWithModal.vue +22 -31
- package/vue-components/v3/tabs/EditorTabs.vue +18 -24
- package/vue-components/v3/tag/Tag.vue +16 -12
- package/vue-components/v3/tag/Tags.vue +7 -0
- package/base/utilities/_derived-variables.scss +0 -25
- package/base/utilities/_initial-variables.scss +0 -215
- package/base/utilities/dark-theme.scss +0 -26
- package/components/_ac-card.scss +0 -597
- package/components/_ac-input.scss +0 -876
- package/mixins/stickyContent.js +0 -141
- package/plugins/caching.ts +0 -243
- package/vue-components/v3/long-running-tasks/LongRunningTaskItem.vue +0 -92
- package/vue-components/v3/modals/LongRunningTasksModal.vue +0 -400
- package/vue-components/v3/terminal/LongRunningTaskTerminal.vue +0 -148
- /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>
|
|
@@ -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
|
-
<
|
|
31
|
-
|
|
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
|
-
<
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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>
|