@appscode/design-system 1.1.0-alpha.8 → 1.1.0-beta.10

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 (200) hide show
  1. package/base/_video-player.scss +65 -0
  2. package/base/utilities/_all.scss +6 -5
  3. package/base/utilities/_colors.scss +408 -0
  4. package/base/utilities/_customize-bulma.scss +23 -27
  5. package/base/utilities/_extended.scss +9 -4
  6. package/base/utilities/{_default.scss → _global.scss} +185 -331
  7. package/base/utilities/_layouts.scss +157 -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/base/utilities/dark-theme.scss +1 -1
  12. package/components/_ac-accordion.scss +117 -117
  13. package/components/_ac-alert-box.scss +205 -263
  14. package/components/_ac-calendar.scss +4 -4
  15. package/components/_ac-card.scss +0 -597
  16. package/components/_ac-code-highlight.scss +6 -6
  17. package/components/_ac-content-layout.scss +165 -165
  18. package/components/_ac-drag.scss +11 -11
  19. package/components/_ac-input.scss +477 -452
  20. package/components/_ac-modal.scss +212 -212
  21. package/components/_ac-multi-select.scss +780 -751
  22. package/components/_ac-options.scss +122 -123
  23. package/components/_ac-select-box.scss +5 -5
  24. package/components/_ac-table.scss +503 -502
  25. package/components/_ac-tabs.scss +39 -38
  26. package/components/_ac-tags.scss +116 -116
  27. package/components/_ac-terminal.scss +95 -51
  28. package/components/_add-card.scss +3 -3
  29. package/components/_all.scss +29 -26
  30. package/components/_app-drawer.scss +0 -134
  31. package/components/_breadcumb.scss +0 -71
  32. package/components/_buttons.scss +779 -779
  33. package/components/_card-body-wrapper.scss +5 -5
  34. package/components/_dashboard-header.scss +0 -115
  35. package/components/_direct-deploy.scss +8 -8
  36. package/components/_go-to-top.scss +1 -1
  37. package/components/_image-upload.scss +5 -5
  38. package/components/_left-sidebar-menu.scss +448 -579
  39. package/components/_monaco-editor.scss +1 -1
  40. package/components/_navbar.scss +786 -752
  41. package/components/_nested-list.scss +1 -1
  42. package/components/_overview-info.scss +7 -7
  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 +10 -10
  49. package/components/_progress-bar.scss +12 -12
  50. package/components/_subscription-card.scss +14 -14
  51. package/components/_table-of-content.scss +4 -4
  52. package/components/_tfa.scss +9 -9
  53. package/components/_widget-menu.scss +247 -247
  54. package/components/_wizard.scss +557 -559
  55. package/components/ac-toaster/_ac-toasted.scss +7 -12
  56. package/components/bbum/_activities-header.scss +1 -1
  57. package/components/bbum/_card-team.scss +12 -12
  58. package/components/bbum/_information-center.scss +13 -13
  59. package/components/bbum/_left-sidebar.scss +8 -8
  60. package/components/bbum/_mobile-desktop.scss +7 -7
  61. package/components/bbum/_post.scss +5 -5
  62. package/components/bbum/_sign-up-notification.scss +10 -10
  63. package/components/bbum/_single-post-preview.scss +21 -21
  64. package/components/bbum/_user-profile.scss +10 -10
  65. package/components/ui-builder/_ui-builder.scss +15 -15
  66. package/components/ui-builder/_vue-open-api.scss +515 -2
  67. package/layouts/_code-preview.scss +11 -11
  68. package/main.scss +26 -10
  69. package/package.json +1 -1
  70. package/plugins/theme.js +11 -9
  71. package/plugins/vue-toaster.js +1 -1
  72. package/vue-components/plugins/time-convert.js +49 -0
  73. package/vue-components/text.vue +1 -0
  74. package/vue-components/types/cluster.ts +6 -0
  75. package/vue-components/types/importFlow.ts +16 -0
  76. package/vue-components/types/longRunningTasks.ts +20 -0
  77. package/vue-components/types/notification.ts +6 -0
  78. package/vue-components/types/previewYaml.ts +8 -0
  79. package/vue-components/types/table.ts +54 -0
  80. package/vue-components/types/theme.ts +10 -0
  81. package/vue-components/types/user.ts +22 -0
  82. package/vue-components/v2/card/Card.vue +1 -1
  83. package/vue-components/v2/card/OverviewCards.vue +17 -2
  84. package/vue-components/v2/editor/FilteredFileEditor.vue +2 -2
  85. package/vue-components/v2/editor/ResourceKeyValueEditor.vue +21 -21
  86. package/vue-components/v2/icons/Ellipsis.vue +2 -1
  87. package/vue-components/v2/modal/Modal.vue +0 -5
  88. package/vue-components/v2/navbar/Appdrawer.vue +37 -12
  89. package/vue-components/v2/navbar/Navbar.vue +3 -3
  90. package/vue-components/v2/navbar/NavbarItem.vue +3 -1
  91. package/vue-components/v2/navbar/NavbarItemContent.vue +1 -1
  92. package/vue-components/v2/navbar/User.vue +5 -22
  93. package/vue-components/v2/pagination/Pagination.vue +66 -0
  94. package/vue-components/v2/sidebar/SidebarItem.vue +10 -7
  95. package/vue-components/v3/accordion/Accordion.vue +151 -0
  96. package/vue-components/v3/alert/Alert.vue +238 -0
  97. package/vue-components/v3/alert/Toast.vue +79 -0
  98. package/vue-components/v3/banner/Banner.vue +10 -0
  99. package/vue-components/v3/breadcrumbs/Breadcrumb.vue +104 -0
  100. package/vue-components/v3/button/Button.vue +839 -58
  101. package/vue-components/v3/button/Buttons.vue +6 -0
  102. package/vue-components/v3/button/DownloadBtn.vue +31 -0
  103. package/vue-components/v3/cards/Card.vue +32 -0
  104. package/vue-components/v3/cards/CardContent.vue +7 -0
  105. package/vue-components/v3/cards/CardHeader.vue +14 -0
  106. package/vue-components/v3/cards/Cards.vue +7 -0
  107. package/vue-components/v3/cards/Cluster.vue +149 -0
  108. package/vue-components/v3/cards/Counter.vue +39 -0
  109. package/vue-components/v3/cards/FeatureCard.vue +71 -0
  110. package/vue-components/v3/cards/FeatureCards.vue +6 -0
  111. package/vue-components/v3/cards/InfoCard.vue +243 -0
  112. package/vue-components/v3/cards/Monitoring.vue +94 -0
  113. package/vue-components/v3/cards/OverviewCard.vue +24 -0
  114. package/vue-components/v3/cards/OverviewCards.vue +31 -0
  115. package/vue-components/v3/cards/Payment.vue +62 -0
  116. package/vue-components/v3/cards/Vendor.vue +85 -0
  117. package/vue-components/v3/content/ContentHeader.vue +39 -30
  118. package/vue-components/v3/content/ContentLayout.vue +20 -0
  119. package/vue-components/v3/content/ContentTable.vue +43 -62
  120. package/vue-components/v3/dropdown/DropdownDivider.vue +2 -0
  121. package/vue-components/v3/dropdown/DropdownItem.vue +2 -0
  122. package/vue-components/v3/dropdown/DropdownMenu.vue +85 -91
  123. package/vue-components/v3/editor/Editor.vue +100 -113
  124. package/vue-components/v3/editor/FilteredFileEditor.vue +317 -127
  125. package/vue-components/v3/editor/ResourceKeyValueEditor.vue +70 -94
  126. package/vue-components/v3/footer/FooterArea.vue +34 -0
  127. package/vue-components/v3/footer/FooterItem.vue +32 -0
  128. package/vue-components/v3/footer/FooterItems.vue +15 -0
  129. package/vue-components/v3/footer/Info.vue +23 -0
  130. package/vue-components/v3/footer/Status.vue +42 -0
  131. package/vue-components/v3/footer/Usage.vue +44 -0
  132. package/vue-components/v3/form/Form.vue +24 -33
  133. package/vue-components/v3/form/FormFooterControl.vue +7 -0
  134. package/vue-components/v3/form/FormFooterControls.vue +7 -0
  135. package/vue-components/v3/form-fields/AcSingleInput.vue +528 -0
  136. package/vue-components/v3/form-fields/Input.vue +19 -14
  137. package/vue-components/v3/header/Header.vue +119 -25
  138. package/vue-components/v3/header/HeaderItem.vue +18 -0
  139. package/vue-components/v3/header/HeaderItems.vue +4 -0
  140. package/vue-components/v3/icons/Ellipsis.vue +2 -0
  141. package/vue-components/v3/loaders/InfoCardLoader.vue +65 -0
  142. package/vue-components/v3/loaders/ResourceLoader.vue +4 -12
  143. package/vue-components/v3/loaders/SidebarLoader.vue +4 -12
  144. package/vue-components/v3/long-running-tasks/LongRunningTaskItem.vue +17 -15
  145. package/vue-components/v3/modal/Modal.vue +292 -96
  146. package/vue-components/v3/modals/DeleteConfirmationModal.vue +37 -50
  147. package/vue-components/v3/modals/JsonShowModal.vue +62 -68
  148. package/vue-components/v3/modals/LongRunningTasksModal.vue +145 -143
  149. package/vue-components/v3/navbar/Appdrawer.vue +196 -51
  150. package/vue-components/v3/navbar/Navbar.vue +298 -0
  151. package/vue-components/v3/navbar/NavbarItem.vue +81 -0
  152. package/vue-components/v3/navbar/NavbarItemContent.vue +284 -0
  153. package/vue-components/v3/navbar/Notification.vue +179 -0
  154. package/vue-components/v3/navbar/ThemeMode.vue +128 -112
  155. package/vue-components/v3/navbar/User.vue +383 -268
  156. package/vue-components/v3/notification/AlertBox.vue +41 -44
  157. package/vue-components/v3/notification/Notification.vue +49 -43
  158. package/vue-components/v3/notification/NotificationItem.vue +51 -19
  159. package/vue-components/v3/option-dots/Options.vue +188 -0
  160. package/vue-components/v3/pagination/Pagination.vue +203 -99
  161. package/vue-components/v3/preloader/Preloader.vue +23 -0
  162. package/vue-components/v3/searchbars/SearchBar.vue +59 -34
  163. package/vue-components/v3/sidebar/AccentColorPicker.vue +97 -0
  164. package/vue-components/v3/sidebar/ClusterSwitcher.vue +835 -81
  165. package/vue-components/v3/sidebar/Sidebar.vue +267 -0
  166. package/vue-components/v3/sidebar/SidebarBody.vue +7 -0
  167. package/vue-components/v3/sidebar/SidebarFooter.vue +80 -0
  168. package/vue-components/v3/sidebar/SidebarHeader.vue +124 -0
  169. package/vue-components/v3/sidebar/SidebarItem.vue +62 -0
  170. package/vue-components/v3/sidebar/SidebarItemWithDropDown.vue +101 -104
  171. package/vue-components/v3/sidebar/SidebarMenuList.vue +9 -0
  172. package/vue-components/v3/sidebar/Steps.vue +152 -0
  173. package/vue-components/v3/sidebar/sidebar-tabs/SidebarTabs.vue +128 -0
  174. package/vue-components/v3/sidebar/sidebar-tabs/SidebarTabsLayout.vue +29 -0
  175. package/vue-components/v3/sidebar/sidebar-tabs/TabsContent.vue +99 -0
  176. package/vue-components/v3/tab/TabItem.vue +10 -12
  177. package/vue-components/v3/tab/Tabs.vue +9 -0
  178. package/vue-components/v3/tab/TabsBody.vue +7 -0
  179. package/vue-components/v3/table/EmptyTableInfo.vue +8 -0
  180. package/vue-components/v3/table/FakeTableCell.vue +22 -31
  181. package/vue-components/v3/table/InfoTable.vue +89 -61
  182. package/vue-components/v3/table/MultiInfoTable.vue +72 -95
  183. package/vue-components/v3/table/Table.vue +589 -151
  184. package/vue-components/v3/table/TableCell.vue +20 -23
  185. package/vue-components/v3/table/TableContainer.vue +50 -28
  186. package/vue-components/v3/table/TableRow.vue +63 -85
  187. package/vue-components/v3/table/table-cell/ArrayCell.vue +67 -79
  188. package/vue-components/v3/table/table-cell/CellValue.vue +97 -103
  189. package/vue-components/v3/table/table-cell/GenericCell.vue +43 -42
  190. package/vue-components/v3/table/table-cell/ObjectCell.vue +67 -79
  191. package/vue-components/v3/table/table-cell/ValueWithModal.vue +22 -31
  192. package/vue-components/v3/tabs/EditorTabs.vue +18 -24
  193. package/vue-components/v3/tag/Tag.vue +15 -12
  194. package/vue-components/v3/tag/Tags.vue +7 -0
  195. package/vue-components/v3/terminal/LongRunningTaskTerminal.vue +26 -23
  196. package/base/utilities/_derived-variables.scss +0 -25
  197. package/base/utilities/_initial-variables.scss +0 -215
  198. package/components/_basic-card.scss +0 -124
  199. package/mixins/stickyContent.js +0 -141
  200. package/plugins/caching.ts +0 -243
@@ -0,0 +1,94 @@
1
+ <script setup lang="ts">
2
+ interface Props {
3
+ title?: string;
4
+ modifierClasses?: string;
5
+ }
6
+
7
+ withDefaults(defineProps<Props>(), {
8
+ title: "no title",
9
+ modifierClasses: "",
10
+ });
11
+ </script>
12
+
13
+ <template>
14
+ <div class="card-basic b-1 mb-12 has-hover-style">
15
+ <div class="c-header is-flex is-justify-content-space-between">
16
+ <div
17
+ class="tag has-background-danger-light has-text-danger is-rounded required"
18
+ >
19
+ REQUIRED
20
+ </div>
21
+ <div class="c-title is-flex is-align-items-center">
22
+ <div class="icon mr-8">
23
+ <svg
24
+ width="24"
25
+ height="24"
26
+ viewBox="0 0 24 24"
27
+ fill="none"
28
+ xmlns="http://www.w3.org/2000/svg"
29
+ >
30
+ <path
31
+ d="M20 3H4C2.89543 3 2 3.89543 2 5V15C2 16.1046 2.89543 17 4 17H20C21.1046 17 22 16.1046 22 15V5C22 3.89543 21.1046 3 20 3Z"
32
+ stroke="#808080"
33
+ stroke-width="1.5"
34
+ stroke-linecap="round"
35
+ stroke-linejoin="round"
36
+ ></path>
37
+ <path
38
+ d="M8 21H16"
39
+ stroke="#808080"
40
+ stroke-width="1.5"
41
+ stroke-linecap="round"
42
+ stroke-linejoin="round"
43
+ ></path>
44
+ <path
45
+ d="M12 17V21"
46
+ stroke="#808080"
47
+ stroke-width="1.5"
48
+ stroke-linecap="round"
49
+ stroke-linejoin="round"
50
+ ></path>
51
+ </svg>
52
+ </div>
53
+ <h4>{{ title }}</h4>
54
+ </div>
55
+ <div class="tag has-background-success-light has-text-success is-rounded">
56
+ ENABLED
57
+ </div>
58
+ </div>
59
+ <div class="c-body">
60
+ <p>Monitor your kubernetes resources with Prometheus and Grafana.</p>
61
+ </div>
62
+ </div>
63
+ </template>
64
+
65
+ <style lang="scss" scoped>
66
+ // ac card
67
+ .card-basic {
68
+ padding: 20px;
69
+ width: calc(25% - 8px);
70
+ max-width: 390px;
71
+ min-width: 290px;
72
+ position: relative;
73
+
74
+ .required {
75
+ position: absolute;
76
+ left: 20px;
77
+ top: -9px;
78
+ }
79
+ .c-header {
80
+ .c-title {
81
+ h4 {
82
+ font-size: 18px;
83
+ color: #061b2d;
84
+ }
85
+ }
86
+ }
87
+
88
+ .c-body {
89
+ p {
90
+ color: #0c365a;
91
+ }
92
+ }
93
+ }
94
+ </style>
@@ -0,0 +1,24 @@
1
+ <script setup lang="ts"></script>
2
+
3
+ <template>
4
+ <div class="card-data">
5
+ <p>
6
+ <slot name="card-label" />
7
+ </p>
8
+ <strong>
9
+ <slot name="card-value" />
10
+ </strong>
11
+ </div>
12
+ </template>
13
+
14
+ <style lang="scss" scoped>
15
+ .card-data {
16
+ // min-width: 200px;
17
+ align-items: center;
18
+ display: flex;
19
+ justify-content: space-between;
20
+ border: 1px solid $primary-90;
21
+ padding: 8px 16px;
22
+ border-radius: 2px;
23
+ }
24
+ </style>
@@ -0,0 +1,31 @@
1
+ <script setup lang="ts">
2
+ import { defineAsyncComponent } from "vue";
3
+
4
+ const ContentHeader = defineAsyncComponent(
5
+ () => import("./../content/ContentHeader.vue")
6
+ );
7
+ </script>
8
+
9
+ <template>
10
+ <div class="overview-cards-wrapper">
11
+ <!-- title -->
12
+ <content-header headerTitle="Resource Usage"></content-header>
13
+ <!-- title -->
14
+ <div class="overview-cards b-t-1">
15
+ <slot />
16
+ </div>
17
+ </div>
18
+ </template>
19
+ <style lang="scss" scoped>
20
+ .overview-cards-wrapper {
21
+ border: 1px solid $primary-90;
22
+ margin-right: 20px;
23
+ height: 100%;
24
+ }
25
+ .overview-cards {
26
+ display: grid;
27
+ gap: 8px;
28
+ grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr));
29
+ padding: 16px;
30
+ }
31
+ </style>
@@ -0,0 +1,62 @@
1
+ <script setup lang="ts"></script>
2
+ <template>
3
+ <div class="ac-payment-card-wrapper">
4
+ <!-- single card start -->
5
+ <div class="ac-payment-card payment-bg-2">
6
+ <div class="payment-card-inner">
7
+ <!-- card header start -->
8
+ <div class="payment-card-header">
9
+ <div class="card-left">
10
+ <div class="expired-notice">
11
+ <p>Expire Soon</p>
12
+ </div>
13
+ </div>
14
+ <!-- header-right start -->
15
+ <div class="card-right">
16
+ <div class="ac-options is-right">
17
+ <div class="option-dots">
18
+ <span></span>
19
+ <span></span>
20
+ <span></span>
21
+ </div>
22
+ <!-- dropdown Item start -->
23
+ <!-- use "is-hidden" class in the line below for hide dropdown element -->
24
+ <ul class="options-items is-hidden">
25
+ <li><a href="#">Make as default</a></li>
26
+ <li><a href="#">Delete card</a></li>
27
+ </ul>
28
+ <!-- dropdown Item end -->
29
+ </div>
30
+ </div>
31
+ <!-- header-right end -->
32
+ </div>
33
+ <!-- card header end -->
34
+ <!-- card body start -->
35
+ <div class="payment-card-body">
36
+ <p class="p-card-number is-star">****</p>
37
+ <p class="p-card-number is-star">****</p>
38
+ <p class="p-card-number is-star">****</p>
39
+ <p class="p-card-number">2296</p>
40
+ </div>
41
+ <!-- card body end -->
42
+ <!-- card footer start -->
43
+ <div class="payment-card-footer">
44
+ <div class="left-content">
45
+ <div class="p-card-expiry">
46
+ <p>Expiry Date <span>12/20</span></p>
47
+ </div>
48
+ <p class="user-name">John Smith</p>
49
+ </div>
50
+ <div class="p-card-logo">
51
+ <img
52
+ src="https://bb-developer-v1.web.app/_nuxt/img/visa-card-logo.6a56d8c.svg"
53
+ alt="visa-card"
54
+ />
55
+ </div>
56
+ </div>
57
+ <!-- card footer end -->
58
+ </div>
59
+ </div>
60
+ <!-- single card end -->
61
+ </div>
62
+ </template>
@@ -0,0 +1,85 @@
1
+ <script setup lang="ts">
2
+ interface Props {
3
+ title?: string;
4
+ subTitle?: string;
5
+ logo?: string;
6
+ }
7
+
8
+ withDefaults(defineProps<Props>(), {
9
+ title: "no title",
10
+ subTitle: "",
11
+ logo: "https://bb-developer-v1.web.app/_nuxt/img/azure-logo.4fa9281.svg",
12
+ });
13
+ </script>
14
+ <template>
15
+ <!-- use "is-selected" for select item -->
16
+ <a class="ac-single-card has-text-centered">
17
+ <div class="ac-card-logo">
18
+ <div class="card-status"></div>
19
+ <img :src="logo" alt="vendor logo" />
20
+ </div>
21
+ <div class="ac-card-name">
22
+ <p>{{ title }}</p>
23
+ <p class="has-text-weight-normal mt-8" v-if="subTitle">{{ subTitle }}</p>
24
+ </div>
25
+ </a>
26
+ </template>
27
+
28
+ <style lang="scss" scoped>
29
+ .ac-single-card {
30
+ border: 1px solid $primary-90;
31
+ transition: 0.3s ease-in-out;
32
+
33
+ display: flex;
34
+ flex-direction: column;
35
+ justify-content: space-between;
36
+ background-color: $primary-97;
37
+ min-width: 220px;
38
+ padding: 30px 20px 20px;
39
+ cursor: pointer;
40
+
41
+ .ac-card-name {
42
+ p {
43
+ font-size: 13px;
44
+ color: $primary-10;
45
+ line-height: 1;
46
+ font-weight: 500;
47
+
48
+ &.free {
49
+ color: $primary;
50
+ }
51
+ }
52
+ }
53
+ .ac-card-logo {
54
+ width: 70px;
55
+ height: 70px;
56
+ border: 1px solid $primary-90;
57
+ background-color: #fff;
58
+ border-radius: 50%;
59
+ padding: 16px;
60
+ margin-inline: auto;
61
+ margin-bottom: 20px;
62
+ display: flex;
63
+ align-items: center;
64
+
65
+ img {
66
+ width: 100%;
67
+ height: auto;
68
+ }
69
+ }
70
+ &.is-selected {
71
+ border: 1px solid $primary !important;
72
+ }
73
+ &:hover {
74
+ border: 1px solid $primary;
75
+
76
+ .ac-card-title {
77
+ h4 {
78
+ a {
79
+ color: $primary;
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }
85
+ </style>
@@ -1,14 +1,34 @@
1
+ <script setup lang="ts">
2
+ import { defineAsyncComponent } from "vue";
3
+
4
+ const HeaderItems = defineAsyncComponent(
5
+ () => import("./../header/HeaderItems.vue")
6
+ );
7
+
8
+ interface Props {
9
+ headerTitle?: string;
10
+ headerSubTitle?: string;
11
+ removeBorderBottom?: boolean;
12
+ }
13
+
14
+ withDefaults(defineProps<Props>(), {
15
+ headerTitle: "Content Header",
16
+ headerSubTitle: "",
17
+ removeBorderBottom: false,
18
+ });
19
+ </script>
20
+
1
21
  <template>
2
- <div class="ac-content-header" :class="{ 'b-b-1': !removeBorderBottom }">
22
+ <div class="ac-content-header">
3
23
  <!-- header left start -->
4
24
  <div class="ac-cheader-left">
5
25
  <!-- title -->
6
26
  <div class="ac-content-title">
7
- <h6 class="is-flex">
27
+ <h5 class="is-flex is-align-items-center">
8
28
  <slot name="header-icon" />
9
29
  {{ headerTitle }}
10
30
  <slot name="title-right-actions" />
11
- </h6>
31
+ </h5>
12
32
  <p v-if="headerSubTitle">{{ headerSubTitle }}</p>
13
33
  </div>
14
34
  <!-- title -->
@@ -26,30 +46,19 @@
26
46
  <!-- header right end -->
27
47
  </div>
28
48
  </template>
29
-
30
- <script>
31
- import { defineComponent, defineAsyncComponent } from "vue";
32
-
33
- export default defineComponent({
34
- props: {
35
- headerTitle: {
36
- type: String,
37
- default: "Content Header",
38
- },
39
- headerSubTitle: {
40
- type: String,
41
- default: "",
42
- },
43
- removeBorderBottom: {
44
- type: Boolean,
45
- default: false,
46
- },
47
- },
48
-
49
- components: {
50
- HeaderItems: defineAsyncComponent(() =>
51
- import("../../v2/header/HeaderItems.vue").then((module) => module.default)
52
- ),
53
- },
54
- });
55
- </script>
49
+ <style lang="scss" scoped>
50
+ .ac-content-header {
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: space-between;
54
+ padding: 4px 20px;
55
+ min-height: 40px;
56
+ .ac-content-title {
57
+ h4,
58
+ h5,
59
+ h6 {
60
+ color: $primary-10;
61
+ }
62
+ }
63
+ }
64
+ </style>
@@ -0,0 +1,20 @@
1
+ <script setup lang="ts"></script>
2
+
3
+ <template>
4
+ <div class="ac-content-layout">
5
+ <slot name="content-header" />
6
+
7
+ <div class="ac-content">
8
+ <slot />
9
+ </div>
10
+ </div>
11
+ </template>
12
+ <style lang="scss">
13
+ .ac-content-layout {
14
+ // margin: 20px;
15
+ // margin-top: 8px;
16
+ // border: 1px solid $primary-95;
17
+ margin-bottom: 16px;
18
+ border-radius: 4px;
19
+ }
20
+ </style>
@@ -1,3 +1,41 @@
1
+ <script setup lang="ts">
2
+ import { defineAsyncComponent, ref } from "vue";
3
+
4
+ const ContentLayout = defineAsyncComponent(() => import("./ContentLayout.vue"));
5
+ const ContentHeader = defineAsyncComponent(() => import("./ContentHeader.vue"));
6
+ const HeaderItem = defineAsyncComponent(
7
+ () => import("./../header/HeaderItem.vue")
8
+ );
9
+ const SearchBar = defineAsyncComponent(
10
+ () => import("./../searchbars/SearchBar.vue")
11
+ );
12
+
13
+ interface Props {
14
+ removeTableHeaderPadding?: boolean;
15
+ tableTitle?: string;
16
+ tableSubTitle?: string;
17
+ searchable?: boolean;
18
+ hideHeader?: boolean;
19
+ removeBorderBottom?: boolean;
20
+ }
21
+
22
+ const props = withDefaults(defineProps<Props>(), {
23
+ removeTableHeaderPadding: false,
24
+ tableTitle: "Table",
25
+ tableSubTitle: "",
26
+ searchable: false,
27
+ hideHeader: false,
28
+ removeBorderBottom: false,
29
+ });
30
+
31
+ const acInuptId = props.tableTitle.trim()?.replace(/ /g, "-")?.toLowerCase();
32
+ const searchText = ref("");
33
+
34
+ const updateSearchText = (text: string) => {
35
+ searchText.value = text;
36
+ };
37
+ </script>
38
+
1
39
  <template>
2
40
  <content-layout>
3
41
  <template #content-header>
@@ -13,7 +51,11 @@
13
51
  </template>
14
52
  <slot name="content-left-controls" />
15
53
  <header-item>
16
- <search-bar v-if="searchable" @search="updateSearchText" />
54
+ <search-bar
55
+ v-if="searchable"
56
+ @search="updateSearchText"
57
+ :ac-input-id="acInuptId"
58
+ />
17
59
  </header-item>
18
60
  <slot name="content-right-controls" />
19
61
  </content-header>
@@ -25,64 +67,3 @@
25
67
  />
26
68
  </content-layout>
27
69
  </template>
28
-
29
- <script>
30
- import { defineComponent, defineAsyncComponent } from "vue";
31
-
32
- export default defineComponent({
33
- props: {
34
- removeTableHeaderPadding: {
35
- type: Boolean,
36
- default: false,
37
- },
38
- tableTitle: {
39
- type: String,
40
- default: "Table",
41
- },
42
- tableSubTitle: {
43
- type: String,
44
- default: "",
45
- },
46
- searchable: {
47
- type: Boolean,
48
- default: true,
49
- },
50
- hideHeader: {
51
- type: Boolean,
52
- default: false,
53
- },
54
- removeBorderBottom: {
55
- type: Boolean,
56
- default: false,
57
- },
58
- },
59
- components: {
60
- ContentLayout: defineAsyncComponent(() =>
61
- import("../../v2/content/ContentLayout.vue").then(
62
- (module) => module.default
63
- )
64
- ),
65
- ContentHeader: defineAsyncComponent(() =>
66
- import("./ContentHeader.vue").then((module) => module.default)
67
- ),
68
- HeaderItem: defineAsyncComponent(() =>
69
- import("../../v2/header/HeaderItem.vue").then((module) => module.default)
70
- ),
71
- SearchBar: defineAsyncComponent(() =>
72
- import("../searchbars/SearchBar.vue").then((module) => module.default)
73
- ),
74
- },
75
-
76
- data() {
77
- return {
78
- searchText: "",
79
- };
80
- },
81
-
82
- methods: {
83
- updateSearchText(text) {
84
- this.searchText = text;
85
- },
86
- },
87
- });
88
- </script>
@@ -1,3 +1,5 @@
1
+ <script setup lang="ts"></script>
2
+
1
3
  <template>
2
4
  <hr class="dropdown-divider" />
3
5
  </template>
@@ -1,3 +1,5 @@
1
+ <script setup lang="ts"></script>
2
+
1
3
  <template>
2
4
  <div class="dropdown-item">
3
5
  <slot />