@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
@@ -1,8 +1,79 @@
1
+ <script setup lang="ts">
2
+ import { defineAsyncComponent, ref, watch } from "vue";
3
+ import type { SelectedClusterType } from "../../types/cluster";
4
+
5
+ const Multiselect = defineAsyncComponent(() => import("vue-multiselect"));
6
+
7
+ interface Props {
8
+ sidebarCollapsed?: boolean;
9
+ mouseHover?: boolean;
10
+ clusterOptions?: Array<SelectedClusterType>;
11
+ modelValue?: string;
12
+ }
13
+
14
+ const props = withDefaults(defineProps<Props>(), {
15
+ sidebarCollapsed: false,
16
+ mouseHover: false,
17
+ clusterOptions: () => [],
18
+ modelValue: "",
19
+ });
20
+
21
+ const emit = defineEmits(["update:modelValue"]);
22
+
23
+ const selectedCluster = ref<SelectedClusterType | null>(null);
24
+ const selectedClusterName = ref<null | string>(null);
25
+
26
+ const getProviderIcon = (provider: string) => {
27
+ return `https://cdn.appscode.com/images/cloud-provider-icons/${provider}.png`;
28
+ };
29
+
30
+ watch(
31
+ () => props.modelValue,
32
+ (n) => {
33
+ selectedClusterName.value = n;
34
+ },
35
+ { immediate: true }
36
+ );
37
+
38
+ watch(selectedCluster, (n) => {
39
+ if (n) {
40
+ if (selectedClusterName.value !== n.name) {
41
+ selectedClusterName.value = n.name;
42
+ }
43
+ } else selectedCluster.value = null;
44
+ });
45
+
46
+ watch(selectedClusterName, (n) => {
47
+ if (n !== selectedCluster.value?.name) {
48
+ props.clusterOptions.forEach((item) => {
49
+ if (selectedClusterName.value === item.name) {
50
+ selectedCluster.value = item;
51
+ }
52
+ });
53
+ }
54
+ emit("update:modelValue", n);
55
+ });
56
+
57
+ watch(
58
+ () => props.clusterOptions,
59
+ async (list) => {
60
+ if (list) {
61
+ list.forEach((item) => {
62
+ if (selectedClusterName.value === item.name) {
63
+ selectedCluster.value = item;
64
+ }
65
+ });
66
+ }
67
+ },
68
+ { immediate: true, deep: true }
69
+ );
70
+ </script>
71
+
1
72
  <template>
2
73
  <div v-if="sidebarCollapsed" class="is-cluster-logo">
3
74
  <img
4
75
  width="40"
5
- :src="getProviderIcon(selectedCluster && selectedCluster.provider)"
76
+ :src="getProviderIcon(selectedCluster?.provider || '')"
6
77
  onerror="this.onerror=null;this.src='https://cdn.appscode.com/images/cloud-provider-icons/Generic.png';"
7
78
  alt="provider-icon"
8
79
  />
@@ -25,6 +96,7 @@
25
96
  :src="getProviderIcon(props.option.provider)"
26
97
  onerror="this.onerror=null;this.src='https://cdn.appscode.com/images/cloud-provider-icons/Generic.png';"
27
98
  alt="No cluster selected"
99
+ class="height-22 mr-8"
28
100
  /><span
29
101
  ><span>{{ props.option.displayName }}</span></span
30
102
  >
@@ -46,88 +118,770 @@
46
118
  </template>
47
119
  </multiselect>
48
120
  </template>
121
+ <style lang="scss">
122
+ .multiselect {
123
+ // margin-top: 3px;
124
+ // display: flex;
125
+ // align-items: center;
126
+ // max-width: 350px;
127
+ // &.cluster-select {
128
+ // .multiselect__tags {
129
+ // border: 1px solid $primary-90;
130
+ // background-color: $table-header;
131
+
132
+ // .multiselect__input {
133
+ // background-color: $table-header;
134
+ // }
135
+ // }
136
+ // }
137
+
138
+ .multiselect__tags {
139
+ background-color: $white-100;
140
+ min-height: 36px;
141
+ // max-height: 36px;
142
+ font-weight: 500;
143
+ width: 100%;
144
+ border-radius: 4px;
145
+ border: 1px solid $primary-80;
146
+ padding: 6px 30px 8px 20px;
147
+ font-size: 13px;
148
+ border-radius: 4px;
149
+
150
+ .multiselect__placeholder {
151
+ margin: 0;
152
+ padding: 0;
153
+ // padding-top: 2px !important;
154
+ font-weight: 500;
155
+ font-size: 13px;
156
+ }
157
+
158
+ .multiselect__tags-wrap {
159
+ display: flex;
160
+ align-items: center;
161
+ }
49
162
 
50
- <script>
51
- import { defineComponent, defineAsyncComponent } from 'vue'
52
- export default defineComponent({
53
- components: {
54
- Multiselect: defineAsyncComponent(() =>
55
- import('vue-multiselect').then((module) => module.default)
56
- ),
57
- },
58
- props: {
59
- sidebarCollapsed: {
60
- type: Boolean,
61
- default: false,
62
- },
63
- mouseHover: {
64
- type: Boolean,
65
- default: false,
66
- },
67
- clusterOptions: {
68
- type: Array,
69
- default: () => [],
70
- },
71
- modelValue: {
72
- type: String,
73
- default: '',
74
- },
75
- },
76
-
77
- emits: ['update:modelValue'],
78
-
79
- data() {
80
- return {
81
- selectedCluster: null,
82
- selectedClusterName: null,
83
- }
84
- },
85
-
86
- watch: {
87
- modelValue: {
88
- immediate: true,
89
- handler(n) {
90
- this.selectedClusterName = n
91
- },
92
- },
93
- selectedCluster: {
94
- deep: true,
95
- handler(n) {
96
- if (this.selectedClusterName !== n.name) {
97
- this.selectedClusterName = n.name
163
+ .multiselect__tag {
164
+ background-color: $dark-bg-light;
165
+ margin-top: 4px;
166
+ margin-bottom: 0;
167
+
168
+ .multiselect__tag-icon {
169
+ font-size: 12px;
170
+
171
+ &::after {
172
+ color: $white-100;
173
+ }
174
+
175
+ &:hover {
176
+ background-color: hsla(
177
+ var(--hsl-hue),
178
+ var(--hsl-saturation),
179
+ calc(var(--hsl-lightness) - 9%),
180
+ 1
181
+ );
182
+ }
183
+ }
184
+ }
185
+
186
+ .multiselect__input,
187
+ .multiselect__single {
188
+ background-color: $white-100;
189
+ margin-bottom: 0;
190
+ margin: 0 !important;
191
+ padding-left: 0;
192
+ left: 0px;
193
+ // top: 2px;
194
+ font-size: 13px !important;
195
+ font-weight: 500;
196
+ color: $primary-10;
197
+ line-height: 1.5;
198
+ }
199
+
200
+ .multiselect__single {
201
+ margin-top: 3px;
202
+ margin-bottom: 0;
203
+ }
204
+ }
205
+ .multiselect__select {
206
+ height: 36px;
207
+ }
208
+ .multiselect__content {
209
+ .multiselect__element {
210
+ .multiselect__option {
211
+ padding: 4px 16px;
212
+ min-height: 32px;
213
+ font-size: 13px;
214
+ display: flex;
215
+ align-items: center;
216
+ img {
217
+ width: 30px;
218
+ }
219
+ p {
220
+ font-size: 13px;
221
+ color: $primary-10;
222
+ }
223
+ p:not(.location) {
224
+ font-weight: 500;
225
+ }
226
+ a {
227
+ display: block;
228
+ font-weight: 400;
229
+ margin-top: -12px;
230
+ margin-bottom: -12px;
231
+ padding-top: 12px;
232
+ padding-bottom: 12px;
233
+ }
234
+
235
+ &:hover {
236
+ background-color: hsla(
237
+ var(--hsl-hue),
238
+ var(--hsl-saturation),
239
+ var(--hsl-lightness),
240
+ 0.2
241
+ );
242
+ color: $primary;
243
+ }
244
+
245
+ &.multiselect__option--highlight {
246
+ background-color: $white-100;
247
+ color: $primary;
248
+
249
+ &:after {
250
+ background-color: hsla(
251
+ var(--hsl-hue),
252
+ var(--hsl-saturation),
253
+ var(--hsl-lightness),
254
+ 0.2
255
+ );
256
+ color: $primary;
98
257
  }
99
- },
100
- },
101
- selectedClusterName(n) {
102
- if (n !== this.selectedCluster.name) {
103
- this.clusterOptions.forEach((item) => {
104
- if (this.selectedClusterName === item.name) {
105
- this.selectedCluster = item
106
- }
107
- })
108
258
  }
259
+ }
260
+ }
261
+ }
262
+ }
109
263
 
110
- this.$emit('update:modelValue', n)
111
- },
112
- clusterOptions: {
113
- deep: true,
114
- immediate: true,
115
- async handler(list) {
116
- if (list) {
117
- list.forEach((item) => {
118
- if (this.selectedClusterName === item.name) {
119
- this.selectedCluster = item
120
- }
121
- })
264
+ .multi-select-wrapper {
265
+ &.is-last-child-bold {
266
+ .multiselect {
267
+ .multiselect__content {
268
+ .multiselect__element {
269
+ &:nth-last-child(-n + 3) {
270
+ .multiselect__option {
271
+ font-weight: 500;
272
+ }
122
273
  }
123
- },
124
- },
125
- },
126
-
127
- methods: {
128
- getProviderIcon(provider) {
129
- return `https://cdn.appscode.com/images/cloud-provider-icons/${provider}.png`
130
- },
131
- },
132
- })
133
- </script>
274
+ }
275
+ }
276
+ }
277
+ }
278
+ }
279
+
280
+ .multiselect__element {
281
+ span {
282
+ label {
283
+ padding-left: 15px !important;
284
+ font-size: 13px !important;
285
+ color: $primary-10 !important;
286
+
287
+ &:after {
288
+ position: inherit !important;
289
+ content: "" !important;
290
+ background-color: transparent;
291
+ }
292
+ }
293
+ }
294
+ }
295
+
296
+ .multiselect__input {
297
+ &::placeholder {
298
+ color: $primary-20;
299
+ font-weight: 400;
300
+ line-height: 1.6;
301
+ font-size: 13px;
302
+ }
303
+ }
304
+
305
+ .multiselect__tags > span {
306
+ font-size: 13px;
307
+ line-height: 1.6;
308
+ color: $primary-10;
309
+ }
310
+
311
+ .multi-select-wrapper {
312
+ position: relative;
313
+ z-index: 0;
314
+
315
+ .multiselect--disabled {
316
+ opacity: unset;
317
+ }
318
+
319
+ &.is-disable {
320
+ opacity: 0.5;
321
+ cursor: not-allowed;
322
+
323
+ input,
324
+ .button.is-information,
325
+ .eye i.fa {
326
+ cursor: not-allowed;
327
+ }
328
+ }
329
+
330
+ .multiselect__input {
331
+ border: none !important;
332
+ }
333
+
334
+ &.has-bg-color {
335
+ label.show-label {
336
+ &:after {
337
+ background-color: $ac-bg;
338
+ }
339
+ }
340
+ }
341
+
342
+ &.is-small {
343
+ label {
344
+ font-size: 13px;
345
+ top: 8px;
346
+
347
+ &.show-label {
348
+ font-size: 12px;
349
+ top: -9px;
350
+ font-weight: 500;
351
+ color: $ac-black;
352
+ }
353
+ }
354
+
355
+ .button.is-information {
356
+ width: 36px;
357
+ height: 36px;
358
+ }
359
+
360
+ .multiselect__select {
361
+ height: 100%;
362
+ }
363
+
364
+ .multiselect__tags {
365
+ .multiselect__tag {
366
+ padding: 5px 20px 4px 10px;
367
+ font-size: 12px;
368
+ }
369
+ }
370
+
371
+ .multiselect {
372
+ min-height: auto;
373
+ }
374
+
375
+ .multiselect--active {
376
+ height: 36px !important;
377
+ z-index: 50;
378
+ }
379
+
380
+ .multiselect .multiselect__tags {
381
+ min-height: 36px !important;
382
+ padding: 4px 30px 4px 20px;
383
+ font-size: 13px;
384
+
385
+ .multiselect__single {
386
+ font-size: 12px;
387
+ }
388
+
389
+ .multiselect__placeholder {
390
+ padding: 5px 0 0;
391
+ font-size: 13px;
392
+ font-weight: 500;
393
+ }
394
+ }
395
+
396
+ .multiselect__input,
397
+ .multiselect__single {
398
+ font-size: 13px !important;
399
+ font-weight: 500;
400
+ line-height: 1.5;
401
+ // padding-bottom: 4px;
402
+ display: flex;
403
+ align-items: center;
404
+
405
+ &::placeholder {
406
+ font-weight: 500;
407
+ line-height: 1.6;
408
+ font-size: 13px;
409
+ }
410
+ }
411
+ }
412
+
413
+ &.is-extra-small {
414
+ label {
415
+ font-size: 13px;
416
+ top: 8px;
417
+
418
+ &.show-label {
419
+ font-size: 12px;
420
+ top: -9px;
421
+ }
422
+ }
423
+
424
+ .button.is-information {
425
+ width: 32px;
426
+ height: 32px;
427
+ }
428
+
429
+ .multiselect__select {
430
+ height: 100%;
431
+ }
432
+
433
+ .multiselect__tags {
434
+ .multiselect__tag {
435
+ padding: 5px 20px 4px 10px;
436
+ font-size: 12px;
437
+ }
438
+ }
439
+
440
+ .multiselect {
441
+ min-height: auto;
442
+ }
443
+
444
+ .multiselect--active {
445
+ height: 32px !important;
446
+ z-index: 50;
447
+ }
448
+
449
+ .multiselect .multiselect__tags {
450
+ min-height: 32px !important;
451
+ padding: 3px 30px 4px 20px;
452
+ font-size: 13px;
453
+ display: flex;
454
+ align-items: center;
455
+ .multiselect__single {
456
+ font-size: 12px;
457
+ }
458
+
459
+ .multiselect__placeholder {
460
+ padding: 5px 0 0;
461
+ font-size: 13px;
462
+ font-weight: 500;
463
+ }
464
+ }
465
+
466
+ .multiselect__input,
467
+ .multiselect__single {
468
+ font-size: 13px !important;
469
+ font-weight: 500;
470
+ line-height: 1.5;
471
+ // padding-bottom: 4px;
472
+ display: flex;
473
+ align-items: center;
474
+
475
+ &::placeholder {
476
+ font-weight: 500;
477
+ line-height: 1.6;
478
+ font-size: 13px;
479
+ }
480
+ }
481
+ }
482
+
483
+ &.is-danger {
484
+ input,
485
+ .ac-card,
486
+ textarea {
487
+ border: 1px solid $danger;
488
+ }
489
+
490
+ p {
491
+ color: $danger;
492
+ }
493
+ }
494
+
495
+ &.is-loading {
496
+ input,
497
+ .ac-card,
498
+ textarea {
499
+ border: 1px solid $info;
500
+ opacity: 0.5;
501
+ }
502
+
503
+ p {
504
+ color: $info;
505
+ opacity: 0.5;
506
+ }
507
+ }
508
+
509
+ .is-danger {
510
+ font-size: 12px;
511
+ line-height: 22px;
512
+ color: $danger;
513
+ text-align: left;
514
+
515
+ i.fa {
516
+ padding-right: 10px;
517
+ }
518
+ }
519
+
520
+ .multiselect__select {
521
+ height: calc(100% - 2px);
522
+ border-radius: 0 4px 4px 0;
523
+ background-color: transparent !important;
524
+ }
525
+
526
+ label {
527
+ font-size: 16px;
528
+ left: 20px;
529
+ top: 11px;
530
+ cursor: text;
531
+ color: $ac-label-text;
532
+ position: absolute;
533
+ z-index: 99;
534
+ transition: 0.3s ease-in-out;
535
+
536
+ .is-required {
537
+ img {
538
+ position: absolute;
539
+ top: 7px;
540
+ padding-left: 3px;
541
+ }
542
+ }
543
+
544
+ &.show-label {
545
+ top: -10px;
546
+ left: 15px;
547
+ padding: 0 5px;
548
+ font-size: 13px;
549
+ color: $ac-black;
550
+
551
+ &::after {
552
+ background-color: $white-100;
553
+ }
554
+ }
555
+
556
+ &:after {
557
+ position: absolute;
558
+ content: "";
559
+ left: 0;
560
+ top: 50%;
561
+ background-color: $white-100;
562
+ width: 100%;
563
+ height: 2px;
564
+ margin-top: -1px;
565
+ z-index: -1;
566
+ }
567
+
568
+ &.is-required {
569
+ &:after {
570
+ width: calc(100% + 10px);
571
+ }
572
+ }
573
+ }
574
+ }
575
+ li {
576
+ .multiselect__option {
577
+ font-size: 13px;
578
+ color: $primary-10;
579
+ }
580
+ }
581
+ .multiselect__option--selected {
582
+ label {
583
+ right: 30px;
584
+ }
585
+ }
586
+ .multi-select-wrapper.is-small {
587
+ .multiselect .multiselect__tags {
588
+ .multiselect__input,
589
+ .multiselect__single {
590
+ top: 3.5px !important;
591
+ }
592
+ }
593
+ .multiselect .multiselect__tags .multiselect__placeholder {
594
+ padding-top: 3.5px !important;
595
+ }
596
+ }
597
+ // has info button start
598
+ .multi-select-wrapper {
599
+ &.has-info-button {
600
+ .multiselect__select {
601
+ z-index: 99;
602
+ right: 30px;
603
+ }
604
+ &.has-refresh-button {
605
+ .multiselect__select {
606
+ z-index: 99;
607
+ right: 60px;
608
+ }
609
+ .button {
610
+ &.is-refresh {
611
+ right: 30px;
612
+ }
613
+ }
614
+ }
615
+ .button {
616
+ &.is-information {
617
+ right: 0;
618
+ }
619
+ }
620
+ }
621
+ &.has-refresh-button {
622
+ .multiselect__select {
623
+ z-index: 99;
624
+ right: 30px;
625
+ }
626
+ .button {
627
+ &.is-refresh {
628
+ right: 0;
629
+ }
630
+ }
631
+ }
632
+
633
+ .button {
634
+ &.is-information,
635
+ &.is-refresh {
636
+ background-color: transparent;
637
+ border: none;
638
+ position: absolute;
639
+ height: 36px;
640
+ width: 36px;
641
+ z-index: 90;
642
+ margin-top: 0;
643
+
644
+ &:focus {
645
+ outline: none;
646
+ box-shadow: none;
647
+ background-color: #e4e8ef;
648
+ transform: scale(0.8);
649
+ }
650
+ }
651
+ &.is-refresh.spin {
652
+ i {
653
+ animation: spin 1s linear infinite;
654
+ }
655
+ }
656
+ }
657
+ }
658
+
659
+ @-moz-keyframes spin {
660
+ from {
661
+ -moz-transform: rotate(0deg);
662
+ }
663
+ to {
664
+ -moz-transform: rotate(360deg);
665
+ }
666
+ }
667
+ @-webkit-keyframes spin {
668
+ from {
669
+ -webkit-transform: rotate(0deg);
670
+ }
671
+ to {
672
+ -webkit-transform: rotate(360deg);
673
+ }
674
+ }
675
+ @keyframes spin {
676
+ from {
677
+ transform: rotate(0deg);
678
+ }
679
+ to {
680
+ transform: rotate(360deg);
681
+ }
682
+ }
683
+ // has info button end
684
+
685
+ // dark theme start
686
+ .is-dark-theme {
687
+ .multiselect__content-wrapper {
688
+ background: var(--dark-bg-light);
689
+ border: 1px solid $primary-90;
690
+
691
+ // scroll
692
+ &::-webkit-scrollbar {
693
+ border-radius: 50px;
694
+ width: 3px;
695
+ }
696
+
697
+ &::-moz-scrollbar {
698
+ border-radius: 50px;
699
+ width: 3px;
700
+ }
701
+
702
+ &::-ms-scrollbar {
703
+ border-radius: 50px;
704
+ width: 3px;
705
+ }
706
+
707
+ &::-webkit-scrollbar:hover {
708
+ width: 7px;
709
+ }
710
+
711
+ &::-moz-scrollbar:hover {
712
+ width: 7px;
713
+ }
714
+
715
+ &::-ms-scrollbar:hover {
716
+ width: 7px;
717
+ }
718
+
719
+ &::-webkit-scrollbar-thumb {
720
+ background-color: $dark-bg-light;
721
+ border-radius: 50px;
722
+ height: 2px !important;
723
+ }
724
+
725
+ &::-moz-scrollbar-thumb {
726
+ background-color: $dark-bg-light;
727
+ border-radius: 50px;
728
+ height: 2px !important;
729
+ }
730
+
731
+ &::-ms-scrollbar-thumb {
732
+ background-color: $dark-bg-light;
733
+ border-radius: 50px;
734
+ height: 2px !important;
735
+ }
736
+
737
+ &::-webkit-scrollbar-thumb:hover {
738
+ background-color: $dark-bg-light;
739
+ }
740
+
741
+ &::-moz-scrollbar-thumb:hover {
742
+ background-color: $dark-bg-light;
743
+ }
744
+
745
+ &::-ms-scrollbar-thumb:hover {
746
+ background-color: $dark-bg-light;
747
+ }
748
+
749
+ &:hover::-webkit-scrollbar-corner {
750
+ height: 40px;
751
+ }
752
+
753
+ &:hover::-moz-scrollbar-corner {
754
+ height: 40px;
755
+ }
756
+
757
+ &:hover::-ms-scrollbar-corner {
758
+ height: 40px;
759
+ }
760
+
761
+ // scroll
762
+
763
+ .multiselect__option--selected {
764
+ background: var(--dark-bg);
765
+ color: var(--ac-white-text);
766
+ }
767
+ }
768
+
769
+ .multi-select-wrapper {
770
+ background: var(--dark-bg-light);
771
+
772
+ .multiselect__content-wrapper {
773
+ background-color: var(--dark-bg-light);
774
+ background: var(--dark-bg-light);
775
+
776
+ // scroll
777
+ &::-webkit-scrollbar {
778
+ border-radius: 50px;
779
+ width: 3px;
780
+ }
781
+
782
+ &::-moz-scrollbar {
783
+ border-radius: 50px;
784
+ width: 3px;
785
+ }
786
+
787
+ &::-ms-scrollbar {
788
+ border-radius: 50px;
789
+ width: 3px;
790
+ }
791
+
792
+ &::-webkit-scrollbar:hover {
793
+ width: 7px;
794
+ }
795
+
796
+ &::-moz-scrollbar:hover {
797
+ width: 7px;
798
+ }
799
+
800
+ &::-ms-scrollbar:hover {
801
+ width: 7px;
802
+ }
803
+
804
+ &::-webkit-scrollbar-thumb {
805
+ background-color: $dark-bg-light;
806
+ border-radius: 50px;
807
+ height: 2px !important;
808
+ }
809
+
810
+ &::-moz-scrollbar-thumb {
811
+ background-color: $dark-bg-light;
812
+ border-radius: 50px;
813
+ height: 2px !important;
814
+ }
815
+
816
+ &::-ms-scrollbar-thumb {
817
+ background-color: $dark-bg-light;
818
+ border-radius: 50px;
819
+ height: 2px !important;
820
+ }
821
+
822
+ &::-webkit-scrollbar-thumb:hover {
823
+ background-color: $dark-bg-light;
824
+ }
825
+
826
+ &::-moz-scrollbar-thumb:hover {
827
+ background-color: $dark-bg-light;
828
+ }
829
+
830
+ &::-ms-scrollbar-thumb:hover {
831
+ background-color: $dark-bg-light;
832
+ }
833
+
834
+ &:hover::-webkit-scrollbar-corner {
835
+ height: 40px;
836
+ }
837
+
838
+ &:hover::-moz-scrollbar-corner {
839
+ height: 40px;
840
+ }
841
+
842
+ &:hover::-ms-scrollbar-corner {
843
+ height: 40px;
844
+ }
845
+
846
+ // scroll
847
+
848
+ .multiselect__content .multiselect__element .multiselect__option {
849
+ color: var(--ac-white-text);
850
+ }
851
+
852
+ .multiselect__option--group {
853
+ color: var(--ac-white-text);
854
+ background-color: var(--dark-bg-light);
855
+ }
856
+
857
+ .multiselect__option--selected {
858
+ color: var(--ac-white-text);
859
+ background-color: var(--dark-bg-light);
860
+ }
861
+ }
862
+ }
863
+ }
864
+ // dark theme end
865
+ /****************************************
866
+ Responsive Classes
867
+ *****************************************/
868
+ // Extra small devices (portrait phones, less than 576px)
869
+ @media (max-width: 575.98px) {
870
+ }
871
+
872
+ // Small devices (landscape phones, 576px and up)
873
+ @media (min-width: 576px) and (max-width: 767.98px) {
874
+ }
875
+
876
+ // Medium devices (tablets, 768px and up)
877
+ @media (min-width: 768px) and (max-width: 991.98px) {
878
+ }
879
+
880
+ // Large devices (desktops, 992px and up)
881
+ @media (min-width: 992px) and (max-width: 1199.98px) {
882
+ }
883
+
884
+ // Extra large devices (large desktops, 1200px and up)
885
+ @media (min-width: 1200px) {
886
+ }
887
+ </style>