@appscode/design-system 2.4.26 → 2.4.27-alpha-3

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 (64) hide show
  1. package/main.scss +4 -0
  2. package/package.json +1 -1
  3. package/vue-components/styles/base/utilities/_colors.scss +26 -9
  4. package/vue-components/styles/base/utilities/_customize-bulma.scss +1 -1
  5. package/vue-components/styles/base/utilities/_global.scss +15 -2
  6. package/vue-components/styles/base/utilities/_typography.scss +5 -5
  7. package/vue-components/styles/components/_ac-calendar.scss +3 -3
  8. package/vue-components/styles/components/_ac-code-highlight.scss +1 -1
  9. package/vue-components/styles/components/_ac-drag.scss +1 -1
  10. package/vue-components/styles/components/_accordion.scss +1 -1
  11. package/vue-components/styles/components/_breadcrumb.scss +1 -1
  12. package/vue-components/styles/components/_dropdown.scss +1 -1
  13. package/vue-components/styles/components/_getkeeper.scss +1 -1
  14. package/vue-components/styles/components/_graph.scss +1 -1
  15. package/vue-components/styles/components/_options.scss +2 -2
  16. package/vue-components/styles/components/_pagination.scss +2 -2
  17. package/vue-components/styles/components/_preview-modal.scss +1 -1
  18. package/vue-components/styles/components/_progress-bar.scss +2 -2
  19. package/vue-components/styles/components/_table-of-content.scss +3 -3
  20. package/vue-components/styles/components/_table.scss +4 -4
  21. package/vue-components/styles/components/_tabs.scss +3 -3
  22. package/vue-components/styles/components/_terminal.scss +3 -3
  23. package/vue-components/styles/components/_widget-menu.scss +6 -6
  24. package/vue-components/styles/components/_wizard.scss +8 -8
  25. package/vue-components/styles/components/ac-toaster/_ac-toasted.scss +2 -2
  26. package/vue-components/styles/components/alert/_alert.scss +1 -1
  27. package/vue-components/styles/components/alert/_toast.scss +1 -1
  28. package/vue-components/styles/components/bbum/_card-team.scss +2 -2
  29. package/vue-components/styles/components/bbum/_left-sidebar.scss +2 -2
  30. package/vue-components/styles/components/bbum/_sign-up-notification.scss +2 -2
  31. package/vue-components/styles/components/bbum/_single-post-preview.scss +1 -1
  32. package/vue-components/styles/components/bbum/_user-profile.scss +1 -1
  33. package/vue-components/styles/components/cards/_cluster.scss +1 -1
  34. package/vue-components/styles/components/cards/_info.scss +1 -1
  35. package/vue-components/styles/components/cards/_payment-card.scss +1 -1
  36. package/vue-components/styles/components/cards/_vendor.scss +1 -1
  37. package/vue-components/styles/components/editor/_filtered-file-editor.scss +1 -1
  38. package/vue-components/styles/components/form-fields/_check-radio-switch.scss +4 -4
  39. package/vue-components/styles/components/form-fields/_image-upload.scss +1 -1
  40. package/vue-components/styles/components/form-fields/_input-card.scss +3 -3
  41. package/vue-components/styles/components/form-fields/_input.scss +16 -16
  42. package/vue-components/styles/components/inbox/all.scss +73 -0
  43. package/vue-components/styles/components/navbar/_menu-content.scss +10 -10
  44. package/vue-components/styles/components/select-box/_ac-select-box.scss +1 -1
  45. package/vue-components/styles/components/select-box/_multi-select.scss +23 -22
  46. package/vue-components/styles/components/sidebar/_left-sidebar.scss +1 -1
  47. package/vue-components/styles/components/ui-builder/_ui-builder.scss +3 -3
  48. package/vue-components/styles/components/ui-builder/_vue-open-api.scss +14 -14
  49. package/vue-components/v3/form-fields/CheckBox.vue +1 -1
  50. package/vue-components/v3/form-fields/CheckRadio.vue +2 -3
  51. package/vue-components/v3/form-fields/Searchbar.vue +25 -23
  52. package/vue-components/v3/icons/ArrowDownIcon.vue +2 -2
  53. package/vue-components/v3/icons/CloseIcon.vue +2 -9
  54. package/vue-components/v3/icons/EllipsisVertical.vue +16 -0
  55. package/vue-components/v3/icons/InfoIcon.vue +9 -0
  56. package/vue-components/v3/icons/SearchIcon.vue +16 -0
  57. package/vue-components/v3/icons/StarIcon.vue +33 -0
  58. package/vue-components/v3/icons/TrashIcon.vue +16 -0
  59. package/vue-components/v3/inbox/Inbox.vue +13 -0
  60. package/vue-components/v3/inbox/MessageDetails.vue +102 -0
  61. package/vue-components/v3/inbox/MessageList.vue +95 -0
  62. package/vue-components/v3/navbar/Appdrawer.vue +7 -8
  63. package/vue-components/v3/pagination/Pagination.vue +1 -1
  64. package/vue-components/v3/table/InfoTable.vue +1 -1
@@ -170,7 +170,7 @@
170
170
  &.borderless-input {
171
171
  input {
172
172
  border: none;
173
- font-size: 13px;
173
+ font-size: 14px;
174
174
  padding: 4px 7px;
175
175
  height: 30px;
176
176
  background-color: $white-100;
@@ -222,8 +222,8 @@
222
222
  }
223
223
 
224
224
  label {
225
- top: 13px;
226
- font-size: 13px;
225
+ top: 14px;
226
+ font-size: 14px;
227
227
 
228
228
  &.show-label {
229
229
  font-size: 12px;
@@ -239,7 +239,7 @@
239
239
  .icon {
240
240
  height: 45px;
241
241
  width: 30px;
242
- font-size: 13px;
242
+ font-size: 14px;
243
243
  }
244
244
  }
245
245
  }
@@ -248,7 +248,7 @@
248
248
  &.is-small {
249
249
  input {
250
250
  height: 36px;
251
- font-size: 13px;
251
+ font-size: 14px;
252
252
  font-weight: 400;
253
253
  }
254
254
 
@@ -271,7 +271,7 @@
271
271
 
272
272
  label {
273
273
  top: 8px;
274
- font-size: 13px;
274
+ font-size: 14px;
275
275
 
276
276
  &.switch-label {
277
277
  top: 0;
@@ -296,7 +296,7 @@
296
296
  .icon {
297
297
  height: 36px;
298
298
  width: 25px;
299
- font-size: 13px;
299
+ font-size: 14px;
300
300
  }
301
301
  }
302
302
  }
@@ -305,7 +305,7 @@
305
305
  &.is-extra-small {
306
306
  input {
307
307
  height: 32px;
308
- font-size: 13px;
308
+ font-size: 14px;
309
309
  font-weight: 400;
310
310
  }
311
311
 
@@ -336,7 +336,7 @@
336
336
 
337
337
  label {
338
338
  top: 8px;
339
- font-size: 13px;
339
+ font-size: 14px;
340
340
 
341
341
  &.switch-label {
342
342
  top: 0;
@@ -353,7 +353,7 @@
353
353
  .icon {
354
354
  height: 32px;
355
355
  width: 25px;
356
- font-size: 13px;
356
+ font-size: 14px;
357
357
  }
358
358
  }
359
359
  }
@@ -382,7 +382,7 @@
382
382
  }
383
383
 
384
384
  label {
385
- font-size: 13px;
385
+ font-size: 14px;
386
386
  left: 15px;
387
387
  top: 11px;
388
388
  cursor: text;
@@ -405,7 +405,7 @@
405
405
  top: -9px;
406
406
  left: 10px;
407
407
  padding: 0 5px;
408
- font-size: 13px;
408
+ font-size: 14px;
409
409
  color: $gray-40;
410
410
 
411
411
  &:after {
@@ -474,7 +474,7 @@
474
474
  a {
475
475
  color: $color-heading;
476
476
  display: block;
477
- font-size: 13px;
477
+ font-size: 14px;
478
478
  padding: 8px 20px;
479
479
  transition: 0.3s;
480
480
 
@@ -520,7 +520,7 @@
520
520
 
521
521
  b.isRequired {
522
522
  color: $danger;
523
- font-size: 13px;
523
+ font-size: 14px;
524
524
  position: absolute;
525
525
  right: 5px;
526
526
  z-index: 9;
@@ -26,7 +26,7 @@ const model = defineModel({ type: Array });
26
26
  <span>{{ option.label }}</span>
27
27
  </label>
28
28
  </div>
29
- <p v-show="errorMsg" class="is-danger mb-16">
29
+ <p v-show="errorMsg" class="has-text-danger mb-16">
30
30
  {{ errorMsg }}
31
31
  </p>
32
32
  </template>
@@ -28,14 +28,13 @@ const model = defineModel();
28
28
  :id="name + option.label"
29
29
  type="radio"
30
30
  :name="name"
31
- l
32
31
  :value="option.value"
33
32
  />
34
33
  <label :for="name + option.label">{{ option.label }}</label>
35
- <p v-show="errorMsg" class="is-danger">
34
+ <p v-show="errorMsg" class="has-text-danger">
36
35
  <slot name="message" />
37
36
  </p>
38
- <p v-show="errorMsg" class="is-danger mb-16">
37
+ <p v-show="errorMsg" class="has-text-danger mb-16">
39
38
  {{ errorMsg }}
40
39
  </p>
41
40
  </div>
@@ -1,35 +1,37 @@
1
+ <script setup lang="ts">
2
+ import { defineAsyncComponent } from "vue";
3
+
4
+ interface Props {
5
+ placeholder?: string;
6
+ size?: string;
7
+ loading?: boolean;
8
+ withResult?: boolean;
9
+ }
10
+ withDefaults(defineProps<Props>(), {
11
+ placeholder: "Search what you are looking for",
12
+ size: "is-small",
13
+ loading: false,
14
+ withResult: false,
15
+ });
16
+
17
+ const SearchIcon = defineAsyncComponent(() => import("./../icons/SearchIcon.vue"));
18
+ const RefreshIcon = defineAsyncComponent(() => import("./../icons/RefreshIcon.vue"));
19
+ </script>
1
20
  <template>
2
21
  <!-- searchbar -->
3
22
  <div class="searchbar ac-single-input is-small is-relative">
4
23
  <label for="search">
5
24
  <span class="icon">
6
- <svg
7
- xmlns="http://www.w3.org/2000/svg"
8
- fill="none"
9
- viewBox="0 0 24 24"
10
- stroke-width="1.5"
11
- stroke="currentColor"
12
- class="w-6 h-6"
13
- >
14
- <path
15
- stroke-linecap="round"
16
- stroke-linejoin="round"
17
- d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
18
- />
19
- </svg>
25
+ <RefreshIcon v-if="loading" class="is-spin" />
26
+ <SearchIcon v-else />
20
27
  </span>
21
28
  </label>
22
- <input id="search" type="text" placeholder="Search what you are looking for" class="pl-48" />
29
+ <input id="search" type="text" :placeholder="placeholder" class="pl-40" />
23
30
 
24
31
  <!-- use .is-absolute -->
25
- <div id="meilisearch-hideid" class="search-result-box panel is-fullwidth">
26
- <div class="search-content" id="meilisearch-hits" style="max-height: 350px; overflow-y: auto">
27
- <a class="panel-block is-flex-direction-column is-align-items-flex-start px-5 py-4" v-for="i in 6" :key="i">
28
- <h2 class="is-size-5 has-text-primary">Changelog | <em>Kube</em>DB</h2>
29
- <p class="is-ellipsis-2">
30
- <em>Kube</em>DB v2020.07.10-beta.1 (2020-07-10) kubedb/apimachinery v0.14.0-beta.1 157a8724 Update for…
31
- </p>
32
- </a>
32
+ <div v-if="withResult" class="search-result-box panel is-fullwidth z-900">
33
+ <div class="search-content ac-vscrollbar p-0" style="max-height: 350px; overflow-y: auto">
34
+ <slot name="search-result" />
33
35
  </div>
34
36
  </div>
35
37
  </div>
@@ -8,14 +8,14 @@ withDefaults(defineProps<{ direction?: "up" | "down" }>(), {
8
8
  <svg
9
9
  xmlns="http://www.w3.org/2000/svg"
10
10
  fill="none"
11
- width="16px"
12
11
  height="16px"
12
+ width="16px"
13
13
  viewBox="0 0 24 24"
14
14
  stroke-width="1.5"
15
15
  stroke="currentColor"
16
16
  class="size-6"
17
17
  :style="direction === 'up' ? 'transform: rotate(0deg)' : 'transform: rotate(-180deg)'"
18
18
  >
19
- <path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
19
+ <path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" />
20
20
  </svg>
21
21
  </template>
@@ -1,21 +1,14 @@
1
- <script setup lang="ts">
2
- withDefaults(defineProps<{ direction?: "up" | "down" }>(), {
3
- direction: "up",
4
- });
5
- </script>
6
-
7
1
  <template>
8
2
  <svg
9
3
  xmlns="http://www.w3.org/2000/svg"
10
4
  fill="none"
11
- height="16px"
12
5
  width="16px"
6
+ height="16px"
13
7
  viewBox="0 0 24 24"
14
8
  stroke-width="1.5"
15
9
  stroke="currentColor"
16
10
  class="size-6"
17
- :style="direction === 'up' ? 'transform: rotate(0deg)' : 'transform: rotate(-180deg)'"
18
11
  >
19
- <path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" />
12
+ <path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
20
13
  </svg>
21
14
  </template>
@@ -0,0 +1,16 @@
1
+ <template>
2
+ <svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ fill="none"
5
+ viewBox="0 0 24 24"
6
+ stroke-width="1.5"
7
+ stroke="currentColor"
8
+ class="size-6"
9
+ >
10
+ <path
11
+ stroke-linecap="round"
12
+ stroke-linejoin="round"
13
+ d="M12 6.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM12 12.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM12 18.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Z"
14
+ />
15
+ </svg>
16
+ </template>
@@ -0,0 +1,9 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="width-32">
3
+ <path
4
+ fill-rule="evenodd"
5
+ d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm8.706-1.442c1.146-.573 2.437.463 2.126 1.706l-.709 2.836.042-.02a.75.75 0 0 1 .67 1.34l-.04.022c-1.147.573-2.438-.463-2.127-1.706l.71-2.836-.042.02a.75.75 0 1 1-.671-1.34l.041-.022ZM12 9a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z"
6
+ clip-rule="evenodd"
7
+ />
8
+ </svg>
9
+ </template>
@@ -0,0 +1,16 @@
1
+ <template>
2
+ <svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ fill="none"
5
+ viewBox="0 0 24 24"
6
+ stroke-width="1.5"
7
+ stroke="currentColor"
8
+ class="w-6 h-6"
9
+ >
10
+ <path
11
+ stroke-linecap="round"
12
+ stroke-linejoin="round"
13
+ d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
14
+ />
15
+ </svg>
16
+ </template>
@@ -0,0 +1,33 @@
1
+ <script setup lang="ts">
2
+ interface Props {
3
+ fill?: boolean;
4
+ }
5
+ withDefaults(defineProps<Props>(), {
6
+ fill: false,
7
+ });
8
+ </script>
9
+
10
+ <template>
11
+ <svg v-if="fill" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-6">
12
+ <path
13
+ fill-rule="evenodd"
14
+ d="M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.006 5.404.434c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.434 2.082-5.005Z"
15
+ clip-rule="evenodd"
16
+ />
17
+ </svg>
18
+ <svg
19
+ v-else
20
+ xmlns="http://www.w3.org/2000/svg"
21
+ fill="none"
22
+ viewBox="0 0 24 24"
23
+ stroke-width="1.5"
24
+ stroke="currentColor"
25
+ class="size-6"
26
+ >
27
+ <path
28
+ stroke-linecap="round"
29
+ stroke-linejoin="round"
30
+ d="M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.563.563 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.562.562 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.562.562 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.563.563 0 0 0 .475-.345L11.48 3.5Z"
31
+ />
32
+ </svg>
33
+ </template>
@@ -0,0 +1,16 @@
1
+ <template>
2
+ <svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ fill="none"
5
+ viewBox="0 0 24 24"
6
+ stroke-width="1.5"
7
+ stroke="currentColor"
8
+ class="size-6"
9
+ >
10
+ <path
11
+ stroke-linecap="round"
12
+ stroke-linejoin="round"
13
+ d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"
14
+ />
15
+ </svg>
16
+ </template>
@@ -0,0 +1,13 @@
1
+ <script lang="ts" setup>
2
+ import { defineAsyncComponent } from "vue";
3
+ import MessageDetails from "./MessageDetails.vue";
4
+
5
+ const MessageList = defineAsyncComponent(() => import("@/components/vue-components/v3/inbox/MessageList.vue"));
6
+ </script>
7
+
8
+ <template>
9
+ <div class="is-flex">
10
+ <MessageList />
11
+ <MessageDetails />
12
+ </div>
13
+ </template>
@@ -0,0 +1,102 @@
1
+ <script lang="ts" setup>
2
+ import { defineAsyncComponent } from "vue";
3
+ const AlertMessage = defineAsyncComponent(() => import("@/components/vue-components/v3/alert/AlertMessage.vue"));
4
+ const AcSingleInput = defineAsyncComponent(
5
+ () => import("@/components/vue-components/v3/form-fields/AcSingleInput.vue"),
6
+ );
7
+
8
+ const EllipsisVertical = defineAsyncComponent(() => import("../icons/EllipsisVertical.vue"));
9
+ const StarIcon = defineAsyncComponent(() => import("../icons/StarIcon.vue"));
10
+ const TrashIcon = defineAsyncComponent(() => import("../icons/TrashIcon.vue"));
11
+ const InfoIcon = defineAsyncComponent(() => import("../icons/InfoIcon.vue"));
12
+ </script>
13
+ <template>
14
+ <div class="message-details">
15
+ <div class="is-flex is-justify-content-space-between">
16
+ <div class="is-flex gap-16">
17
+ <figure class="avatar image is-48x48">
18
+ <!-- <span class="dots"></span> -->
19
+ <div class="is-initial is-rounded is-size-2 has-text-weight-bold">S</div>
20
+ </figure>
21
+ <div class="is-flex is-flex-direction-column">
22
+ <h5>Support @AppsCode.com</h5>
23
+ <p>@appscode</p>
24
+ </div>
25
+ </div>
26
+
27
+ <div class="is-flex">
28
+ <button class="button ac-button is-white is-small" title="Star">
29
+ <span class="icon">
30
+ <StarIcon :fill="true" />
31
+ </span>
32
+ </button>
33
+
34
+ <button class="button ac-button is-white is-small" title="Trash">
35
+ <span class="icon">
36
+ <TrashIcon />
37
+ </span>
38
+ </button>
39
+
40
+ <button class="button ac-button is-white is-small" title="More Options">
41
+ <span class="icon">
42
+ <EllipsisVertical />
43
+ </span>
44
+ </button>
45
+ </div>
46
+ </div>
47
+
48
+ <div class="message-content mt-24">
49
+ <h2 class="mb-4">Update scanner addons</h2>
50
+ <p>
51
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the Lorem Ipsum
52
+ is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the...Lorem Ipsum is simply
53
+ dummy text of the printing and typesetting industry. Lorem Ipsum has been the...
54
+ </p>
55
+
56
+ <alert-message class="is-info mt-24 mb-24">
57
+ <template #icon>
58
+ <InfoIcon />
59
+ </template>
60
+ <template #custom-text>
61
+ Flux CD is not installed. We are going to install it. By default, we are going to enable Helm Controller and
62
+ Source controller feature of Flux CD. You will be able to configure Flux CD options from Settings > Flux CD of
63
+ your cluster dashboard.
64
+ </template>
65
+ </alert-message>
66
+
67
+ <!-- recommended actions -->
68
+ <div class="recommended-actions mb-16">
69
+ <div class="recommended-heading">
70
+ <h4>Recommend Actions</h4>
71
+ </div>
72
+
73
+ <div class="recommended-body">
74
+ <div class="single-action" :class="{ 'mb-16': i === 1 }" v-for="i in 2" :key="i">
75
+ <h5 class="mb-4">Remedy Actions {{ i }}</h5>
76
+ <p>
77
+ Simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the Lorem Ipsum is simply
78
+ dummy text of the printing and typesetting industry.
79
+ </p>
80
+
81
+ <div class="grid grid-cols-2 mt-16">
82
+ <ac-single-input modifier-classes="is-primary mr-16" v-for="i in 4" :key="i">
83
+ <label for="email" class="ac-label is-required show-label"
84
+ >Email {{ i }}
85
+ <!-- <span class="has-text-danger">*</span> -->
86
+ </label>
87
+
88
+ <input id="email" name="email" type="email" class="ac-input bg-white" value="user@appscode.com" />
89
+ </ac-single-input>
90
+ </div>
91
+
92
+ <div class="buttons">
93
+ <button class="button ac-button is-primary">Execute</button>
94
+ <button class="button ac-button">Ignore</button>
95
+ </div>
96
+ </div>
97
+ </div>
98
+ </div>
99
+ <!-- recommended actions -->
100
+ </div>
101
+ </div>
102
+ </template>
@@ -0,0 +1,95 @@
1
+ <script lang="ts" setup>
2
+ import { defineAsyncComponent } from "vue";
3
+ const Searchbar = defineAsyncComponent(() => import("@/components/vue-components/v3/form-fields/Searchbar.vue"));
4
+
5
+ const ArrowDownIcon = defineAsyncComponent(() => import("../icons/ArrowDownIcon.vue"));
6
+ const RefreshIcon = defineAsyncComponent(() => import("../icons/RefreshIcon.vue"));
7
+ const StarIcon = defineAsyncComponent(() => import("../icons/StarIcon.vue"));
8
+ const EllipsisVertical = defineAsyncComponent(() => import("../icons/EllipsisVertical.vue"));
9
+ </script>
10
+
11
+ <template>
12
+ <div class="inbox-sidebar">
13
+ <div class="head">
14
+ <!-- search -->
15
+ <Searchbar placeholder="Search..." />
16
+ <!-- search -->
17
+
18
+ <!-- filter -->
19
+ <div class="is-flex is-justify-content-space-between">
20
+ <div class="is-flex gap-8">
21
+ <label class="ac-checkbox" for="checkbox16">
22
+ <input class="is-danger" id="checkbox16" type="checkbox" /><span class="checkmark"></span>
23
+ </label>
24
+ <button class="button ac-button is-white is-small" title="Filter">
25
+ <span class="icon">
26
+ <ArrowDownIcon />
27
+ </span>
28
+ </button>
29
+ </div>
30
+
31
+ <div class="is-flex gap-4">
32
+ <button class="button ac-button is-white is-small" title="Refresh">
33
+ <span class="icon">
34
+ <RefreshIcon />
35
+ </span>
36
+ </button>
37
+ <!-- is-active -->
38
+ <div class="dropdown-action dropdown">
39
+ <button class="button ac-button is-white is-small" title="More">
40
+ <span class="icon">
41
+ <EllipsisVertical />
42
+ </span>
43
+ </button>
44
+ <!-- dropdown -->
45
+ <div class="dropdown-menu" id="dropdown-menu3" role="menu" style="left: auto; right: 0">
46
+ <div class="dropdown-content ac-scrollbar p-0">
47
+ <div class="dropdown-group">
48
+ <label>Options</label>
49
+ <a href="#" class="dropdown-item">
50
+ <span class="icon">
51
+ <RefreshIcon />
52
+ </span>
53
+ <span>Read</span>
54
+ </a>
55
+ </div>
56
+ </div>
57
+ </div>
58
+ <!-- dropdown -->
59
+ </div>
60
+ </div>
61
+ </div>
62
+ <!-- filter -->
63
+ </div>
64
+
65
+ <div class="message-list ac-vscrollbar pt-0 pb-0">
66
+ <!-- messages '.is-unread' -->
67
+ <div
68
+ class="is-flex gap-16 is-clickable single-message"
69
+ v-for="i in 10"
70
+ :key="i"
71
+ :class="{ 'is-unread': i % 2 !== 0 }"
72
+ >
73
+ <label class="ac-checkbox is-align-items-flex-start" :for="'check' + i">
74
+ <input class="is-danger" :id="'check' + i" type="checkbox" /><span class="checkmark"></span>
75
+ </label>
76
+ <div class="is-flex gap-4 is-flex-direction-column">
77
+ <div class="is-flex is-flex-direction-column">
78
+ <span>Category</span>
79
+ <h6 class="has-text-weight-medium is-size-5">Update scanner addons</h6>
80
+ </div>
81
+ <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been</p>
82
+ </div>
83
+ <div class="is-flex is-flex-direction-column is-justify-content-space-between">
84
+ <p class="is-size-7">2mins</p>
85
+ <button class="button ac-button is-transparent is-small">
86
+ <span class="icon">
87
+ <StarIcon />
88
+ </span>
89
+ </button>
90
+ </div>
91
+ </div>
92
+ <!-- messages -->
93
+ </div>
94
+ </div>
95
+ </template>
@@ -3,10 +3,10 @@ import { setCookie } from "tiny-cookie";
3
3
  import { computed, defineAsyncComponent, ref } from "vue";
4
4
 
5
5
  interface Props {
6
- currentApp: "console" | "db" | "platform" | "billing" | "selfhost" | "learn" | "grafana";
7
- baseUrl: string;
8
- activeOrganization: string;
9
- rootDomain: string;
6
+ currentApp?: "console" | "db" | "platform" | "billing" | "selfhost" | "learn" | "grafana";
7
+ baseUrl?: string;
8
+ activeOrganization?: string;
9
+ rootDomain?: string;
10
10
  }
11
11
 
12
12
  const props = withDefaults(defineProps<Props>(), {
@@ -102,9 +102,8 @@ const filteredAppList = appListWithUrl.filter((element) => {
102
102
  return true;
103
103
  });
104
104
 
105
- const handleClick = (url: string) => {
106
- setCookie("gorg", props.activeOrganization, { domain: props.rootDomain });
107
- window.open(url, "_blank");
105
+ const handleClick = (name: string) => {
106
+ if (name === "grafana") setCookie("gorg", props.activeOrganization, { domain: props.rootDomain });
108
107
  };
109
108
  </script>
110
109
 
@@ -148,7 +147,7 @@ const handleClick = (url: string) => {
148
147
  <navbar-item-content class="navbar-dropdown-wrapper" style="right: -30px">
149
148
  <ul class="ac-scrollbar p-0 app-drawer">
150
149
  <li v-for="app in filteredAppList" :key="app.url">
151
- <a @click.prevent.stop="handleClick(app.url)">
150
+ <a :href="app.url" target="_blank" @click="handleClick(app.name)">
152
151
  <article class="media">
153
152
  <figure class="media-left">
154
153
  <p class="image">
@@ -170,7 +170,7 @@ watch(
170
170
  display: block;
171
171
  width: 20px;
172
172
  text-align: center;
173
- font-size: 13px;
173
+ font-size: 14px;
174
174
  font-weight: 500;
175
175
  border-radius: 4px;
176
176
  border: 1px solid $color-border;
@@ -103,7 +103,7 @@ const isFullTableLoaderActive = computed(() => {
103
103
  tr {
104
104
  td {
105
105
  border: none;
106
- font-size: 13px;
106
+ font-size: 14px;
107
107
  color: $color-text;
108
108
  font-weight: 400;
109
109
  padding: 3px 0px;