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

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 (186) hide show
  1. package/base/utilities/_all.scss +1 -1
  2. package/base/utilities/_default.scss +41 -41
  3. package/base/utilities/_derived-variables.scss +8 -9
  4. package/base/utilities/_extended.scss +9 -5
  5. package/base/utilities/_initial-variables.scss +52 -50
  6. package/base/utilities/_mixin.scss +11 -11
  7. package/base/utilities/_typography.scss +22 -22
  8. package/base/utilities/dark-theme.scss +1 -1
  9. package/components/_ac-accordion.scss +6 -6
  10. package/components/_ac-alert-box.scss +27 -28
  11. package/components/_ac-calendar.scss +4 -4
  12. package/components/_ac-card.scss +55 -55
  13. package/components/_ac-code-highlight.scss +6 -6
  14. package/components/_ac-content-layout.scss +165 -165
  15. package/components/_ac-drag.scss +11 -11
  16. package/components/_ac-input.scss +85 -85
  17. package/components/_ac-modal.scss +8 -8
  18. package/components/_ac-multi-select.scss +751 -751
  19. package/components/_ac-options.scss +12 -13
  20. package/components/_ac-select-box.scss +5 -5
  21. package/components/_ac-table.scss +55 -55
  22. package/components/_ac-tabs.scss +36 -36
  23. package/components/_ac-tags.scss +22 -22
  24. package/components/_ac-terminal.scss +253 -253
  25. package/components/_add-card.scss +3 -3
  26. package/components/_app-drawer.scss +4 -4
  27. package/components/_basic-card.scss +108 -114
  28. package/components/_breadcumb.scss +5 -5
  29. package/components/_buttons.scss +64 -64
  30. package/components/_card-body-wrapper.scss +5 -5
  31. package/components/_dashboard-header.scss +29 -29
  32. package/components/_direct-deploy.scss +8 -8
  33. package/components/_go-to-top.scss +1 -1
  34. package/components/_image-upload.scss +3 -3
  35. package/components/_left-sidebar-menu.scss +374 -376
  36. package/components/_monaco-editor.scss +1 -1
  37. package/components/_navbar.scss +65 -65
  38. package/components/_nested-list.scss +1 -1
  39. package/components/_overview-info.scss +7 -7
  40. package/components/_overview-page.scss +4 -4
  41. package/components/_pagination.scss +110 -110
  42. package/components/_payment-card.scss +20 -20
  43. package/components/_preloader.scss +1 -1
  44. package/components/_preview-modal.scss +18 -18
  45. package/components/_pricing-table.scss +10 -10
  46. package/components/_progress-bar.scss +12 -12
  47. package/components/_subscription-card.scss +14 -14
  48. package/components/_table-of-content.scss +4 -4
  49. package/components/_tfa.scss +9 -9
  50. package/components/_widget-menu.scss +17 -17
  51. package/components/_wizard.scss +82 -82
  52. package/components/ac-toaster/_ac-toasted.scss +1 -1
  53. package/components/bbum/_activities-header.scss +1 -1
  54. package/components/bbum/_card-team.scss +12 -12
  55. package/components/bbum/_information-center.scss +13 -13
  56. package/components/bbum/_left-sidebar.scss +8 -8
  57. package/components/bbum/_mobile-desktop.scss +7 -7
  58. package/components/bbum/_post.scss +5 -5
  59. package/components/bbum/_sign-up-notification.scss +10 -10
  60. package/components/bbum/_single-post-preview.scss +21 -21
  61. package/components/bbum/_user-profile.scss +10 -10
  62. package/components/ui-builder/_ui-builder.scss +15 -15
  63. package/components/ui-builder/_vue-open-api.scss +2 -2
  64. package/layouts/_code-preview.scss +11 -11
  65. package/package.json +1 -1
  66. package/vue-components/plugins/time-convert.js +49 -0
  67. package/vue-components/text.vue +1 -0
  68. package/vue-components/types/cluster.ts +6 -0
  69. package/vue-components/types/longRunningTasks.ts +20 -0
  70. package/vue-components/types/notification.ts +6 -0
  71. package/vue-components/types/previewYaml.ts +8 -0
  72. package/vue-components/types/table.ts +54 -0
  73. package/vue-components/types/theme.ts +10 -0
  74. package/vue-components/types/user.ts +22 -0
  75. package/vue-components/v2/card/OverviewCards.vue +17 -2
  76. package/vue-components/v2/editor/ResourceKeyValueEditor.vue +21 -21
  77. package/vue-components/v2/icons/Ellipsis.vue +2 -1
  78. package/vue-components/v2/modal/Modal.vue +0 -5
  79. package/vue-components/v2/navbar/Appdrawer.vue +37 -12
  80. package/vue-components/v2/navbar/Navbar.vue +3 -3
  81. package/vue-components/v2/navbar/NavbarItem.vue +3 -1
  82. package/vue-components/v2/navbar/NavbarItemContent.vue +1 -1
  83. package/vue-components/v2/navbar/User.vue +5 -22
  84. package/vue-components/v2/pagination/Pagination.vue +65 -0
  85. package/vue-components/v2/sidebar/SidebarItem.vue +10 -7
  86. package/vue-components/v3/accordion/Accordion.vue +151 -0
  87. package/vue-components/v3/alert/Alert.vue +238 -0
  88. package/vue-components/v3/alert/Toast.vue +79 -0
  89. package/vue-components/v3/banner/Banner.vue +10 -0
  90. package/vue-components/v3/breadcrumbs/Breadcrumb.vue +104 -0
  91. package/vue-components/v3/button/Button.vue +831 -58
  92. package/vue-components/v3/button/Buttons.vue +6 -0
  93. package/vue-components/v3/button/DownloadBtn.vue +31 -0
  94. package/vue-components/v3/cards/Card.vue +32 -0
  95. package/vue-components/v3/cards/CardContent.vue +7 -0
  96. package/vue-components/v3/cards/CardHeader.vue +14 -0
  97. package/vue-components/v3/cards/Cards.vue +7 -0
  98. package/vue-components/v3/cards/Cluster.vue +150 -0
  99. package/vue-components/v3/cards/Counter.vue +27 -0
  100. package/vue-components/v3/cards/FeatureCard.vue +40 -0
  101. package/vue-components/v3/cards/FeatureCards.vue +6 -0
  102. package/vue-components/v3/cards/InfoCard.vue +248 -0
  103. package/vue-components/v3/cards/Monitoring.vue +94 -0
  104. package/vue-components/v3/cards/OverviewCard.vue +24 -0
  105. package/vue-components/v3/cards/OverviewCards.vue +31 -0
  106. package/vue-components/v3/cards/Payment.vue +62 -0
  107. package/vue-components/v3/cards/Vendor.vue +23 -0
  108. package/vue-components/v3/content/ContentHeader.vue +39 -30
  109. package/vue-components/v3/content/ContentLayout.vue +20 -0
  110. package/vue-components/v3/content/ContentTable.vue +37 -61
  111. package/vue-components/v3/dropdown/DropdownDivider.vue +2 -0
  112. package/vue-components/v3/dropdown/DropdownItem.vue +2 -0
  113. package/vue-components/v3/dropdown/DropdownMenu.vue +85 -91
  114. package/vue-components/v3/editor/Editor.vue +100 -113
  115. package/vue-components/v3/editor/FilteredFileEditor.vue +124 -127
  116. package/vue-components/v3/editor/ResourceKeyValueEditor.vue +70 -94
  117. package/vue-components/v3/footer/FooterArea.vue +34 -0
  118. package/vue-components/v3/footer/FooterItem.vue +29 -0
  119. package/vue-components/v3/footer/FooterItems.vue +15 -0
  120. package/vue-components/v3/footer/Info.vue +23 -0
  121. package/vue-components/v3/footer/Status.vue +42 -0
  122. package/vue-components/v3/footer/Usage.vue +44 -0
  123. package/vue-components/v3/form/Form.vue +24 -33
  124. package/vue-components/v3/form/FormFooterControl.vue +7 -0
  125. package/vue-components/v3/form/FormFooterControls.vue +7 -0
  126. package/vue-components/v3/form-fields/AcSingleInput.vue +520 -0
  127. package/vue-components/v3/form-fields/Input.vue +19 -14
  128. package/vue-components/v3/header/Header.vue +117 -24
  129. package/vue-components/v3/header/HeaderItem.vue +18 -0
  130. package/vue-components/v3/header/HeaderItems.vue +4 -0
  131. package/vue-components/v3/icons/Ellipsis.vue +2 -0
  132. package/vue-components/v3/loaders/ResourceLoader.vue +4 -12
  133. package/vue-components/v3/loaders/SidebarLoader.vue +4 -12
  134. package/vue-components/v3/long-running-tasks/LongRunningTaskItem.vue +17 -15
  135. package/vue-components/v3/modal/Modal.vue +292 -96
  136. package/vue-components/v3/modals/DeleteConfirmationModal.vue +37 -50
  137. package/vue-components/v3/modals/JsonShowModal.vue +62 -68
  138. package/vue-components/v3/modals/LongRunningTasksModal.vue +145 -143
  139. package/vue-components/v3/navbar/Appdrawer.vue +196 -51
  140. package/vue-components/v3/navbar/Navbar.vue +296 -0
  141. package/vue-components/v3/navbar/NavbarItem.vue +81 -0
  142. package/vue-components/v3/navbar/NavbarItemContent.vue +284 -0
  143. package/vue-components/v3/navbar/Notification.vue +179 -0
  144. package/vue-components/v3/navbar/ThemeMode.vue +128 -112
  145. package/vue-components/v3/navbar/User.vue +383 -268
  146. package/vue-components/v3/notification/AlertBox.vue +39 -42
  147. package/vue-components/v3/notification/Notification.vue +49 -43
  148. package/vue-components/v3/notification/NotificationItem.vue +51 -19
  149. package/vue-components/v3/option-dots/Options.vue +188 -0
  150. package/vue-components/v3/pagination/Pagination.vue +203 -99
  151. package/vue-components/v3/preloader/Preloader.vue +23 -0
  152. package/vue-components/v3/searchbars/SearchBar.vue +51 -34
  153. package/vue-components/v3/sidebar/AccentColorPicker.vue +97 -0
  154. package/vue-components/v3/sidebar/ClusterSwitcher.vue +834 -81
  155. package/vue-components/v3/sidebar/Sidebar.vue +271 -0
  156. package/vue-components/v3/sidebar/SidebarBody.vue +7 -0
  157. package/vue-components/v3/sidebar/SidebarFooter.vue +80 -0
  158. package/vue-components/v3/sidebar/SidebarHeader.vue +124 -0
  159. package/vue-components/v3/sidebar/SidebarItem.vue +62 -0
  160. package/vue-components/v3/sidebar/SidebarItemWithDropDown.vue +101 -104
  161. package/vue-components/v3/sidebar/SidebarMenuList.vue +9 -0
  162. package/vue-components/v3/sidebar/sidebar-tabs/SidebarTabs.vue +128 -0
  163. package/vue-components/v3/sidebar/sidebar-tabs/SidebarTabsLayout.vue +29 -0
  164. package/vue-components/v3/sidebar/sidebar-tabs/TabsContent.vue +99 -0
  165. package/vue-components/v3/tab/TabItem.vue +10 -12
  166. package/vue-components/v3/tab/Tabs.vue +9 -0
  167. package/vue-components/v3/tab/TabsBody.vue +7 -0
  168. package/vue-components/v3/table/EmptyTableInfo.vue +8 -0
  169. package/vue-components/v3/table/FakeTableCell.vue +22 -31
  170. package/vue-components/v3/table/InfoTable.vue +85 -59
  171. package/vue-components/v3/table/MultiInfoTable.vue +72 -95
  172. package/vue-components/v3/table/Table.vue +582 -151
  173. package/vue-components/v3/table/TableCell.vue +20 -23
  174. package/vue-components/v3/table/TableContainer.vue +50 -28
  175. package/vue-components/v3/table/TableRow.vue +63 -85
  176. package/vue-components/v3/table/table-cell/ArrayCell.vue +67 -79
  177. package/vue-components/v3/table/table-cell/CellValue.vue +97 -103
  178. package/vue-components/v3/table/table-cell/GenericCell.vue +43 -42
  179. package/vue-components/v3/table/table-cell/ObjectCell.vue +67 -79
  180. package/vue-components/v3/table/table-cell/ValueWithModal.vue +22 -31
  181. package/vue-components/v3/tabs/EditorTabs.vue +18 -24
  182. package/vue-components/v3/tag/Tag.vue +15 -12
  183. package/vue-components/v3/tag/Tags.vue +7 -0
  184. package/vue-components/v3/terminal/LongRunningTaskTerminal.vue +26 -23
  185. package/mixins/stickyContent.js +0 -141
  186. 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,769 @@
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: #e2f0fb;
140
+ min-height: 36px;
141
+ // max-height: 36px;
142
+ font-weight: 500;
143
+ width: 100%;
144
+ border-radius: 4px;
145
+ border: 1px solid $primary-90;
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: #e2f0fb;
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
+ img {
215
+ width: 30px;
216
+ }
217
+ p {
218
+ font-size: 13px;
219
+ color: $primary-10;
220
+ }
221
+ p:not(.location) {
222
+ font-weight: 500;
223
+ }
224
+ a {
225
+ display: block;
226
+ font-weight: 400;
227
+ margin-top: -12px;
228
+ margin-bottom: -12px;
229
+ padding-top: 12px;
230
+ padding-bottom: 12px;
231
+ }
232
+
233
+ &:hover {
234
+ background-color: hsla(
235
+ var(--hsl-hue),
236
+ var(--hsl-saturation),
237
+ var(--hsl-lightness),
238
+ 0.2
239
+ );
240
+ color: $primary;
241
+ }
242
+
243
+ &.multiselect__option--highlight {
244
+ background-color: hsla(
245
+ var(--hsl-hue),
246
+ var(--hsl-saturation),
247
+ var(--hsl-lightness),
248
+ 0.2
249
+ );
250
+ color: $primary;
251
+
252
+ &:after {
253
+ background-color: hsla(
254
+ var(--hsl-hue),
255
+ var(--hsl-saturation),
256
+ var(--hsl-lightness),
257
+ 0.2
258
+ );
259
+ color: $primary;
98
260
  }
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
261
  }
262
+ }
263
+ }
264
+ }
265
+ }
109
266
 
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
- })
267
+ .multi-select-wrapper {
268
+ &.is-last-child-bold {
269
+ .multiselect {
270
+ .multiselect__content {
271
+ .multiselect__element {
272
+ &:nth-last-child(-n + 3) {
273
+ .multiselect__option {
274
+ font-weight: 500;
275
+ }
122
276
  }
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>
277
+ }
278
+ }
279
+ }
280
+ }
281
+ }
282
+
283
+ .multiselect__element {
284
+ span {
285
+ label {
286
+ padding-left: 15px !important;
287
+ font-size: 13px !important;
288
+ color: $primary-10 !important;
289
+
290
+ &:after {
291
+ position: inherit !important;
292
+ content: "" !important;
293
+ background-color: transparent;
294
+ }
295
+ }
296
+ }
297
+ }
298
+
299
+ .multiselect__input {
300
+ &::placeholder {
301
+ color: $primary-20;
302
+ font-weight: 400;
303
+ line-height: 1.6;
304
+ font-size: 13px;
305
+ }
306
+ }
307
+
308
+ .multiselect__tags > span {
309
+ font-size: 13px;
310
+ line-height: 1.6;
311
+ color: $primary-10;
312
+ }
313
+
314
+ .multi-select-wrapper {
315
+ position: relative;
316
+ z-index: 0;
317
+
318
+ .multiselect--disabled {
319
+ opacity: unset;
320
+ }
321
+
322
+ &.is-disable {
323
+ opacity: 0.5;
324
+ cursor: not-allowed;
325
+
326
+ input,
327
+ .button.is-information,
328
+ .eye i.fa {
329
+ cursor: not-allowed;
330
+ }
331
+ }
332
+
333
+ .multiselect__input {
334
+ border: none !important;
335
+ }
336
+
337
+ &.has-bg-color {
338
+ label.show-label {
339
+ &:after {
340
+ background-color: $ac-bg;
341
+ }
342
+ }
343
+ }
344
+
345
+ &.is-small {
346
+ label {
347
+ font-size: 13px;
348
+ top: 8px;
349
+
350
+ &.show-label {
351
+ font-size: 12px;
352
+ top: -9px;
353
+ font-weight: 500;
354
+ color: $ac-black;
355
+ }
356
+ }
357
+
358
+ .button.is-information {
359
+ width: 36px;
360
+ height: 36px;
361
+ }
362
+
363
+ .multiselect__select {
364
+ height: 100%;
365
+ }
366
+
367
+ .multiselect__tags {
368
+ .multiselect__tag {
369
+ padding: 5px 20px 4px 10px;
370
+ font-size: 12px;
371
+ }
372
+ }
373
+
374
+ .multiselect {
375
+ min-height: auto;
376
+ }
377
+
378
+ .multiselect--active {
379
+ height: 36px !important;
380
+ z-index: 50;
381
+ }
382
+
383
+ .multiselect .multiselect__tags {
384
+ min-height: 36px !important;
385
+ padding: 4px 30px 4px 20px;
386
+ font-size: 13px;
387
+
388
+ .multiselect__single {
389
+ font-size: 12px;
390
+ }
391
+
392
+ .multiselect__placeholder {
393
+ padding: 5px 0 0;
394
+ font-size: 13px;
395
+ font-weight: 500;
396
+ }
397
+ }
398
+
399
+ .multiselect__input,
400
+ .multiselect__single {
401
+ font-size: 13px !important;
402
+ font-weight: 500;
403
+ line-height: 1.5;
404
+ padding-bottom: 4px;
405
+
406
+ &::placeholder {
407
+ font-weight: 500;
408
+ line-height: 1.6;
409
+ font-size: 13px;
410
+ }
411
+ }
412
+ }
413
+
414
+ &.is-extra-small {
415
+ label {
416
+ font-size: 13px;
417
+ top: 8px;
418
+
419
+ &.show-label {
420
+ font-size: 12px;
421
+ top: -9px;
422
+ }
423
+ }
424
+
425
+ .button.is-information {
426
+ width: 32px;
427
+ height: 32px;
428
+ }
429
+
430
+ .multiselect__select {
431
+ height: 100%;
432
+ }
433
+
434
+ .multiselect__tags {
435
+ .multiselect__tag {
436
+ padding: 5px 20px 4px 10px;
437
+ font-size: 12px;
438
+ }
439
+ }
440
+
441
+ .multiselect {
442
+ min-height: auto;
443
+ }
444
+
445
+ .multiselect--active {
446
+ height: 32px !important;
447
+ z-index: 50;
448
+ }
449
+
450
+ .multiselect .multiselect__tags {
451
+ min-height: 32px !important;
452
+ padding: 3px 30px 4px 20px;
453
+ font-size: 13px;
454
+ display: flex;
455
+ align-items: center;
456
+ .multiselect__single {
457
+ font-size: 12px;
458
+ }
459
+
460
+ .multiselect__placeholder {
461
+ padding: 5px 0 0;
462
+ font-size: 13px;
463
+ font-weight: 500;
464
+ }
465
+ }
466
+
467
+ .multiselect__input,
468
+ .multiselect__single {
469
+ font-size: 13px !important;
470
+ font-weight: 500;
471
+ line-height: 1.5;
472
+ padding-bottom: 4px;
473
+
474
+ &::placeholder {
475
+ font-weight: 500;
476
+ line-height: 1.6;
477
+ font-size: 13px;
478
+ }
479
+ }
480
+ }
481
+
482
+ &.is-danger {
483
+ input,
484
+ .ac-card,
485
+ textarea {
486
+ border: 1px solid $danger;
487
+ }
488
+
489
+ p {
490
+ color: $danger;
491
+ }
492
+ }
493
+
494
+ &.is-loading {
495
+ input,
496
+ .ac-card,
497
+ textarea {
498
+ border: 1px solid $info;
499
+ opacity: 0.5;
500
+ }
501
+
502
+ p {
503
+ color: $info;
504
+ opacity: 0.5;
505
+ }
506
+ }
507
+
508
+ .is-error {
509
+ font-size: 12px;
510
+ line-height: 22px;
511
+ color: $danger;
512
+ text-align: left;
513
+
514
+ i.fa {
515
+ padding-right: 10px;
516
+ }
517
+ }
518
+
519
+ .multiselect__select {
520
+ height: calc(100% - 2px);
521
+ border-radius: 0 4px 4px 0;
522
+ background-color: transparent !important;
523
+ }
524
+
525
+ label {
526
+ font-size: 16px;
527
+ left: 20px;
528
+ top: 11px;
529
+ cursor: text;
530
+ color: $ac-label-text;
531
+ position: absolute;
532
+ z-index: 99;
533
+ transition: 0.3s ease-in-out;
534
+
535
+ .is-required {
536
+ img {
537
+ position: absolute;
538
+ top: 7px;
539
+ padding-left: 3px;
540
+ }
541
+ }
542
+
543
+ &.show-label {
544
+ top: -10px;
545
+ left: 15px;
546
+ padding: 0 5px;
547
+ font-size: 13px;
548
+ color: $ac-black;
549
+
550
+ &::after {
551
+ background-color: $white-100;
552
+ }
553
+ }
554
+
555
+ &:after {
556
+ position: absolute;
557
+ content: "";
558
+ left: 0;
559
+ top: 50%;
560
+ background-color: $white-100;
561
+ width: 100%;
562
+ height: 2px;
563
+ margin-top: -1px;
564
+ z-index: -1;
565
+ }
566
+
567
+ &.is-required {
568
+ &:after {
569
+ width: calc(100% + 10px);
570
+ }
571
+ }
572
+ }
573
+ }
574
+ li {
575
+ .multiselect__option {
576
+ font-size: 13px;
577
+ color: $primary-10;
578
+ }
579
+ }
580
+ .multiselect__option--selected {
581
+ label {
582
+ right: 30px;
583
+ }
584
+ }
585
+ .multi-select-wrapper.is-small {
586
+ .multiselect .multiselect__tags {
587
+ .multiselect__input,
588
+ .multiselect__single {
589
+ top: 3.5px !important;
590
+ }
591
+ }
592
+ .multiselect .multiselect__tags .multiselect__placeholder {
593
+ padding-top: 3.5px !important;
594
+ }
595
+ }
596
+ // has info button start
597
+ .multi-select-wrapper {
598
+ &.has-info-button {
599
+ .multiselect__select {
600
+ z-index: 99;
601
+ right: 30px;
602
+ }
603
+ &.has-refresh-button {
604
+ .multiselect__select {
605
+ z-index: 99;
606
+ right: 60px;
607
+ }
608
+ .button {
609
+ &.is-refresh {
610
+ right: 30px;
611
+ }
612
+ }
613
+ }
614
+ .button {
615
+ &.is-information {
616
+ right: 0;
617
+ }
618
+ }
619
+ }
620
+ &.has-refresh-button {
621
+ .multiselect__select {
622
+ z-index: 99;
623
+ right: 30px;
624
+ }
625
+ .button {
626
+ &.is-refresh {
627
+ right: 0;
628
+ }
629
+ }
630
+ }
631
+
632
+ .button {
633
+ &.is-information,
634
+ &.is-refresh {
635
+ background-color: transparent;
636
+ border: none;
637
+ position: absolute;
638
+ height: 36px;
639
+ width: 36px;
640
+ z-index: 90;
641
+ margin-top: 0;
642
+
643
+ &:focus {
644
+ outline: none;
645
+ box-shadow: none;
646
+ background-color: #e4e8ef;
647
+ transform: scale(0.8);
648
+ }
649
+ }
650
+ &.is-refresh.spin {
651
+ i {
652
+ animation: spin 1s linear infinite;
653
+ }
654
+ }
655
+ }
656
+ }
657
+
658
+ @-moz-keyframes spin {
659
+ from {
660
+ -moz-transform: rotate(0deg);
661
+ }
662
+ to {
663
+ -moz-transform: rotate(360deg);
664
+ }
665
+ }
666
+ @-webkit-keyframes spin {
667
+ from {
668
+ -webkit-transform: rotate(0deg);
669
+ }
670
+ to {
671
+ -webkit-transform: rotate(360deg);
672
+ }
673
+ }
674
+ @keyframes spin {
675
+ from {
676
+ transform: rotate(0deg);
677
+ }
678
+ to {
679
+ transform: rotate(360deg);
680
+ }
681
+ }
682
+ // has info button end
683
+
684
+ // dark theme start
685
+ .is-dark-theme {
686
+ .multiselect__content-wrapper {
687
+ background: var(--dark-bg-light);
688
+ border: 1px solid $primary-90;
689
+
690
+ // scroll
691
+ &::-webkit-scrollbar {
692
+ border-radius: 50px;
693
+ width: 3px;
694
+ }
695
+
696
+ &::-moz-scrollbar {
697
+ border-radius: 50px;
698
+ width: 3px;
699
+ }
700
+
701
+ &::-ms-scrollbar {
702
+ border-radius: 50px;
703
+ width: 3px;
704
+ }
705
+
706
+ &::-webkit-scrollbar:hover {
707
+ width: 7px;
708
+ }
709
+
710
+ &::-moz-scrollbar:hover {
711
+ width: 7px;
712
+ }
713
+
714
+ &::-ms-scrollbar:hover {
715
+ width: 7px;
716
+ }
717
+
718
+ &::-webkit-scrollbar-thumb {
719
+ background-color: $dark-bg-light;
720
+ border-radius: 50px;
721
+ height: 2px !important;
722
+ }
723
+
724
+ &::-moz-scrollbar-thumb {
725
+ background-color: $dark-bg-light;
726
+ border-radius: 50px;
727
+ height: 2px !important;
728
+ }
729
+
730
+ &::-ms-scrollbar-thumb {
731
+ background-color: $dark-bg-light;
732
+ border-radius: 50px;
733
+ height: 2px !important;
734
+ }
735
+
736
+ &::-webkit-scrollbar-thumb:hover {
737
+ background-color: $dark-bg-light;
738
+ }
739
+
740
+ &::-moz-scrollbar-thumb:hover {
741
+ background-color: $dark-bg-light;
742
+ }
743
+
744
+ &::-ms-scrollbar-thumb:hover {
745
+ background-color: $dark-bg-light;
746
+ }
747
+
748
+ &:hover::-webkit-scrollbar-corner {
749
+ height: 40px;
750
+ }
751
+
752
+ &:hover::-moz-scrollbar-corner {
753
+ height: 40px;
754
+ }
755
+
756
+ &:hover::-ms-scrollbar-corner {
757
+ height: 40px;
758
+ }
759
+
760
+ // scroll
761
+
762
+ .multiselect__option--selected {
763
+ background: var(--dark-bg);
764
+ color: var(--ac-white-text);
765
+ }
766
+ }
767
+
768
+ .multi-select-wrapper {
769
+ background: var(--dark-bg-light);
770
+
771
+ .multiselect__content-wrapper {
772
+ background-color: var(--dark-bg-light);
773
+ background: var(--dark-bg-light);
774
+
775
+ // scroll
776
+ &::-webkit-scrollbar {
777
+ border-radius: 50px;
778
+ width: 3px;
779
+ }
780
+
781
+ &::-moz-scrollbar {
782
+ border-radius: 50px;
783
+ width: 3px;
784
+ }
785
+
786
+ &::-ms-scrollbar {
787
+ border-radius: 50px;
788
+ width: 3px;
789
+ }
790
+
791
+ &::-webkit-scrollbar:hover {
792
+ width: 7px;
793
+ }
794
+
795
+ &::-moz-scrollbar:hover {
796
+ width: 7px;
797
+ }
798
+
799
+ &::-ms-scrollbar:hover {
800
+ width: 7px;
801
+ }
802
+
803
+ &::-webkit-scrollbar-thumb {
804
+ background-color: $dark-bg-light;
805
+ border-radius: 50px;
806
+ height: 2px !important;
807
+ }
808
+
809
+ &::-moz-scrollbar-thumb {
810
+ background-color: $dark-bg-light;
811
+ border-radius: 50px;
812
+ height: 2px !important;
813
+ }
814
+
815
+ &::-ms-scrollbar-thumb {
816
+ background-color: $dark-bg-light;
817
+ border-radius: 50px;
818
+ height: 2px !important;
819
+ }
820
+
821
+ &::-webkit-scrollbar-thumb:hover {
822
+ background-color: $dark-bg-light;
823
+ }
824
+
825
+ &::-moz-scrollbar-thumb:hover {
826
+ background-color: $dark-bg-light;
827
+ }
828
+
829
+ &::-ms-scrollbar-thumb:hover {
830
+ background-color: $dark-bg-light;
831
+ }
832
+
833
+ &:hover::-webkit-scrollbar-corner {
834
+ height: 40px;
835
+ }
836
+
837
+ &:hover::-moz-scrollbar-corner {
838
+ height: 40px;
839
+ }
840
+
841
+ &:hover::-ms-scrollbar-corner {
842
+ height: 40px;
843
+ }
844
+
845
+ // scroll
846
+
847
+ .multiselect__content .multiselect__element .multiselect__option {
848
+ color: var(--ac-white-text);
849
+ }
850
+
851
+ .multiselect__option--group {
852
+ color: var(--ac-white-text);
853
+ background-color: var(--dark-bg-light);
854
+ }
855
+
856
+ .multiselect__option--selected {
857
+ color: var(--ac-white-text);
858
+ background-color: var(--dark-bg-light);
859
+ }
860
+ }
861
+ }
862
+ }
863
+ // dark theme end
864
+ /****************************************
865
+ Responsive Classes
866
+ *****************************************/
867
+ // Extra small devices (portrait phones, less than 576px)
868
+ @media (max-width: 575.98px) {
869
+ }
870
+
871
+ // Small devices (landscape phones, 576px and up)
872
+ @media (min-width: 576px) and (max-width: 767.98px) {
873
+ }
874
+
875
+ // Medium devices (tablets, 768px and up)
876
+ @media (min-width: 768px) and (max-width: 991.98px) {
877
+ }
878
+
879
+ // Large devices (desktops, 992px and up)
880
+ @media (min-width: 992px) and (max-width: 1199.98px) {
881
+ }
882
+
883
+ // Extra large devices (large desktops, 1200px and up)
884
+ @media (min-width: 1200px) {
885
+ }
886
+ </style>