@appscode/design-system 2.4.27-alpha-9 → 2.4.27-alpha-11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -6
- package/vue-components/styles/base/utilities/_customize-bulma.scss +1 -1
- package/vue-components/styles/base/utilities/_global.scss +1 -1
- package/vue-components/styles/components/_ac-code-highlight.scss +1 -1
- package/vue-components/styles/components/_overview-page.scss +3 -3
- package/vue-components/styles/components/_preview-modal.scss +2 -2
- package/vue-components/styles/components/_pricing-table.scss +1 -1
- package/vue-components/styles/components/_progress-bar.scss +2 -2
- package/vue-components/styles/components/alert/_alert.scss +1 -1
- package/vue-components/styles/components/bbum/_post.scss +1 -1
- package/vue-components/styles/components/bbum/_single-post-preview.scss +1 -1
- package/vue-components/styles/components/cards/_vendor.scss +4 -4
- package/vue-components/styles/components/editor/_filtered-file-editor.scss +2 -2
- package/vue-components/styles/components/navbar/_notification.scss +2 -2
- package/vue-components/styles/components/ui-builder/_ui-builder.scss +1 -1
- package/vue-components/styles/components/ui-builder/_vue-open-api.scss +1 -1
- package/vue-components/styles/layouts/_code-preview.scss +1 -1
- package/vue-components/v3/accordion/Accordion.vue +3 -11
- package/vue-components/v3/alert/AlertMessage.vue +3 -11
- package/vue-components/v3/alert/Toast.vue +3 -10
- package/vue-components/v3/breadcrumbs/Breadcrumb.vue +2 -16
- package/vue-components/v3/cards/InfoCard.vue +6 -77
- package/vue-components/v3/cards/Monitoring.vue +3 -23
- package/vue-components/v3/cards/OverviewCard.vue +1 -1
- package/vue-components/v3/form-fields/AcSelect.vue +2 -10
- package/vue-components/v3/form-fields/Accordion.vue +4 -4
- package/vue-components/v3/form-fields/CustomSelect.vue +7 -12
- package/vue-components/v3/form-fields/FileUpload.vue +5 -14
- package/vue-components/v3/icons/BellIcon.vue +18 -0
- package/vue-components/v3/icons/CrossIcon.vue +12 -0
- package/vue-components/v3/icons/GridIcon.vue +32 -0
- package/vue-components/v3/icons/HomeIcon.vue +12 -0
- package/vue-components/v3/icons/MemoryIcon.vue +36 -4
- package/vue-components/v3/icons/MonitorIcon.vue +13 -0
- package/vue-components/v3/icons/StorageIcon.vue +32 -0
- package/vue-components/v3/icons/UploadIcon.vue +16 -0
- package/vue-components/v3/inbox/MessageList.vue +7 -6
- package/vue-components/v3/modal/DialogModal.vue +2 -10
- package/vue-components/v3/navbar/Appdrawer.vue +2 -30
- package/vue-components/v3/navbar/Notification.vue +6 -22
- package/vue-components/v3/searchbars/SearchBar.vue +2 -7
- package/vue-components/v3/upcoming/SimpleSelect.vue +5 -5
- package/vue-components/plugins/time-convert.js +0 -45
- /package/vue-components/v3/icons/{ArrowDownIcon.vue → ArrowIcon.vue} +0 -0
package/package.json
CHANGED
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appscode/design-system",
|
|
3
|
-
"version": "2.4.27-alpha-
|
|
3
|
+
"version": "2.4.27-alpha-11",
|
|
4
4
|
"description": "A design system for Appscode websites and dashboards made using Bulma",
|
|
5
5
|
"main": "main.scss",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@appscode/design-system-images": "^0.0.13"
|
|
11
|
-
"crypto-js": "^4.1.1",
|
|
12
|
-
"fast-json-stable-stringify": "^2.1.0"
|
|
10
|
+
"@appscode/design-system-images": "^0.0.13"
|
|
13
11
|
},
|
|
14
12
|
"repository": {
|
|
15
13
|
"type": "git",
|
|
16
14
|
"url": "git+https://github.com/appscode/design-system.git"
|
|
17
15
|
},
|
|
18
16
|
"keywords": [
|
|
17
|
+
"appscode",
|
|
19
18
|
"design-system",
|
|
20
|
-
"
|
|
19
|
+
"material-ui",
|
|
21
20
|
"ui",
|
|
22
|
-
"appscode",
|
|
23
21
|
"bulma"
|
|
24
22
|
],
|
|
25
23
|
"author": "AppsCode Design Team",
|
|
@@ -33,7 +33,7 @@ $size-2: 2rem !default; //26px
|
|
|
33
33
|
$size-3: 1.692rem !default; //22px
|
|
34
34
|
$size-4: 1.385rem !default; //18px
|
|
35
35
|
$size-5: 1.213rem !default; //16px
|
|
36
|
-
$size-6: 1rem !default; //
|
|
36
|
+
$size-6: 1rem !default; //13px
|
|
37
37
|
$size-7: 0.846rem !default; //11px
|
|
38
38
|
|
|
39
39
|
$weight-light: 300 !default;
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
p {
|
|
21
|
-
font-size:
|
|
21
|
+
font-size: 14px;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
span.meta-data {
|
|
40
|
-
font-size:
|
|
40
|
+
font-size: 14px;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
.view-details-button {
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
.title-meta {
|
|
68
|
-
font-size:
|
|
68
|
+
font-size: 14px;
|
|
69
69
|
color: #4a4a4a;
|
|
70
70
|
}
|
|
71
71
|
|
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
font-family: $font-paragraph;
|
|
138
138
|
font-style: normal;
|
|
139
139
|
font-weight: 500;
|
|
140
|
-
font-size:
|
|
140
|
+
font-size: 14px;
|
|
141
141
|
line-height: 100%;
|
|
142
142
|
color: $color-heading;
|
|
143
143
|
border-top: 1px solid $color-border;
|
|
@@ -145,7 +145,7 @@
|
|
|
145
145
|
span {
|
|
146
146
|
img {
|
|
147
147
|
margin-right: 5px;
|
|
148
|
-
height:
|
|
148
|
+
height: 13px;
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
}
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
border: 7px solid transparent;
|
|
38
38
|
border-top-color: $gray-60;
|
|
39
39
|
position: absolute;
|
|
40
|
-
bottom: -
|
|
40
|
+
bottom: -13px;
|
|
41
41
|
left: 50%;
|
|
42
42
|
transform: translateX(-50%);
|
|
43
43
|
border-width: 8px;
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
border: 7px solid transparent;
|
|
53
53
|
border-top-color: $gray-60;
|
|
54
54
|
position: absolute;
|
|
55
|
-
bottom: -
|
|
55
|
+
bottom: -13px;
|
|
56
56
|
left: 50%;
|
|
57
57
|
transform: translateX(-50%);
|
|
58
58
|
z-index: 1;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// vendor cards start
|
|
2
2
|
.ac-single-card.vendor-card {
|
|
3
|
-
|
|
4
|
-
transition:
|
|
3
|
+
outline: 1px solid $color-border;
|
|
4
|
+
transition: 0s ease-in-out;
|
|
5
5
|
border-radius: 2px;
|
|
6
6
|
display: flex;
|
|
7
7
|
flex-direction: column;
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
&.is-selected {
|
|
55
|
-
|
|
55
|
+
outline: 2px solid $ac-primary !important;
|
|
56
56
|
}
|
|
57
57
|
&:hover {
|
|
58
|
-
|
|
58
|
+
outline: 2px solid $ac-primary;
|
|
59
59
|
|
|
60
60
|
.ac-card-title {
|
|
61
61
|
h4 {
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
display: flex;
|
|
140
140
|
font-style: normal;
|
|
141
141
|
font-weight: 500;
|
|
142
|
-
font-size:
|
|
142
|
+
font-size: 14px;
|
|
143
143
|
line-height: 100%;
|
|
144
144
|
color: $color-heading;
|
|
145
145
|
border-top: 1px solid $color-border;
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
span {
|
|
148
148
|
img {
|
|
149
149
|
margin-right: 5px;
|
|
150
|
-
height:
|
|
150
|
+
height: 13px;
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
}
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
height: 36px;
|
|
60
60
|
background-color: $primary-95;
|
|
61
61
|
color: $ac-primary;
|
|
62
|
-
font-size:
|
|
62
|
+
font-size: 14px;
|
|
63
63
|
display: flex;
|
|
64
64
|
align-items: center;
|
|
65
65
|
justify-content: center;
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
.notification-content {
|
|
73
73
|
width: calc(100% - 60px);
|
|
74
74
|
h6 {
|
|
75
|
-
font-size:
|
|
75
|
+
font-size: 14px;
|
|
76
76
|
font-weight: 500;
|
|
77
77
|
transition: 0.3s ease-in-out;
|
|
78
78
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import ArrowIcon from "../icons/ArrowIcon.vue";
|
|
3
|
+
|
|
2
4
|
withDefaults(defineProps<{ isActive?: boolean; bodyInside?: boolean }>(), {
|
|
3
5
|
isActive: false,
|
|
4
6
|
bodyInside: false,
|
|
@@ -19,17 +21,7 @@ defineEmits(["onClick"]);
|
|
|
19
21
|
<slot name="description" />
|
|
20
22
|
</div>
|
|
21
23
|
<button class="icon">
|
|
22
|
-
<
|
|
23
|
-
:style="{ transform: isActive ? 'rotate(-180deg)' : 'rotate(0deg)' }"
|
|
24
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
25
|
-
fill="none"
|
|
26
|
-
viewBox="0 0 24 24"
|
|
27
|
-
stroke-width="1.5"
|
|
28
|
-
stroke="currentColor"
|
|
29
|
-
class="size-6"
|
|
30
|
-
>
|
|
31
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" />
|
|
32
|
-
</svg>
|
|
24
|
+
<ArrowIcon :direction="isActive ? 'down' : 'up'" />
|
|
33
25
|
</button>
|
|
34
26
|
</div>
|
|
35
27
|
</div>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { ref } from "vue";
|
|
3
|
+
import CrossIcon from "../icons/CrossIcon.vue";
|
|
3
4
|
|
|
4
5
|
interface Props {
|
|
5
6
|
modifierClasses?: string;
|
|
@@ -34,17 +35,8 @@ function hideAlert() {
|
|
|
34
35
|
</div>
|
|
35
36
|
|
|
36
37
|
<button v-if="hasCrossIcon" class="button is-text" @click="hideAlert">
|
|
37
|
-
<span class="icon"
|
|
38
|
-
|
|
39
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
40
|
-
fill="none"
|
|
41
|
-
viewBox="0 0 24 24"
|
|
42
|
-
stroke-width="1.5"
|
|
43
|
-
stroke="currentColor"
|
|
44
|
-
class="w-6 h-6"
|
|
45
|
-
>
|
|
46
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
|
|
47
|
-
</svg>
|
|
38
|
+
<span class="icon">
|
|
39
|
+
<CrossIcon />
|
|
48
40
|
</span>
|
|
49
41
|
</button>
|
|
50
42
|
</div>
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import CrossIcon from "../icons/CrossIcon.vue";
|
|
3
|
+
|
|
2
4
|
interface Props {
|
|
3
5
|
modifierClasses?: string;
|
|
4
6
|
}
|
|
@@ -15,16 +17,7 @@ withDefaults(defineProps<Props>(), {
|
|
|
15
17
|
<small>2 hours ago</small>
|
|
16
18
|
<button type="button" class="button ac-button is-white ml-8">
|
|
17
19
|
<span class="icon">
|
|
18
|
-
<
|
|
19
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
20
|
-
fill="none"
|
|
21
|
-
viewBox="0 0 24 24"
|
|
22
|
-
stroke-width="1.5"
|
|
23
|
-
stroke="currentColor"
|
|
24
|
-
class="w-6 h-6"
|
|
25
|
-
>
|
|
26
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
|
|
27
|
-
</svg>
|
|
20
|
+
<CrossIcon />
|
|
28
21
|
</span>
|
|
29
22
|
</button>
|
|
30
23
|
</div>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { watch, ref } from "vue";
|
|
3
3
|
import { useRoute } from "vue-router";
|
|
4
|
+
import HomeIcon from "../icons/HomeIcon.vue";
|
|
4
5
|
|
|
5
6
|
interface BreadCrumbType {
|
|
6
7
|
name: string;
|
|
@@ -86,22 +87,7 @@ watch(
|
|
|
86
87
|
<li v-for="(item, idx) in list" :key="idx" :class="{ 'is-active': idx === list.length - 1 }">
|
|
87
88
|
<router-link class="router-link-active" :class="{ 'is-active': idx === list.length - 1 }" :to="item.path">
|
|
88
89
|
<span v-if="idx === 0" class="icon is-flex-start p-0 m-0">
|
|
89
|
-
<
|
|
90
|
-
<path
|
|
91
|
-
d="M1 4.5L5.5 1L10 4.5V10C10 10.2652 9.89464 10.5196 9.70711 10.7071C9.51957 10.8946 9.26522 11 9 11H2C1.73478 11 1.48043 10.8946 1.29289 10.7071C1.10536 10.5196 1 10.2652 1 10V4.5Z"
|
|
92
|
-
stroke="#666666"
|
|
93
|
-
stroke-width="1.5"
|
|
94
|
-
stroke-linecap="round"
|
|
95
|
-
stroke-linejoin="round"
|
|
96
|
-
/>
|
|
97
|
-
<path
|
|
98
|
-
d="M4 11V6H7V11"
|
|
99
|
-
stroke="#666666"
|
|
100
|
-
stroke-width="1.5"
|
|
101
|
-
stroke-linecap="round"
|
|
102
|
-
stroke-linejoin="round"
|
|
103
|
-
/>
|
|
104
|
-
</svg>
|
|
90
|
+
<HomeIcon />
|
|
105
91
|
</span>
|
|
106
92
|
{{ item.name }}
|
|
107
93
|
</router-link>
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { defineAsyncComponent } from "vue";
|
|
3
3
|
import type { AcTableRow } from "../../types/table";
|
|
4
|
+
import CpuIcon from "../icons/CpuIcon.vue";
|
|
5
|
+
import MemoryIcon from "../icons/MemoryIcon.vue";
|
|
6
|
+
import StorageIcon from "../icons/StorageIcon.vue";
|
|
4
7
|
interface Props {
|
|
5
8
|
title?: string;
|
|
6
9
|
modifierClasses?: string;
|
|
@@ -33,15 +36,7 @@ const OptionDots = defineAsyncComponent(() => import("../option-dots/Options.vue
|
|
|
33
36
|
<div class="left-content">
|
|
34
37
|
<p title="CPU (request/limit)">
|
|
35
38
|
<span class="icon">
|
|
36
|
-
<
|
|
37
|
-
<path
|
|
38
|
-
d="M6.63471 1V2.45659M2.60992 6.09807H1M20.319 6.09807H18.7091M2.60992 9.73955H1M20.319 9.73955H18.7091M2.60992 13.381H1M20.319 13.381H18.7091M6.63471 17.0225V18.4791M10.6595 1V2.45659M10.6595 17.0225V18.4791M14.6843 1V2.45659M14.6843 17.0225V18.4791M5.02479 17.0225H16.2942C16.9347 17.0225 17.5489 16.7923 18.0018 16.3826C18.4547 15.9728 18.7091 15.4171 18.7091 14.8376V4.64148C18.7091 4.06201 18.4547 3.50628 18.0018 3.09653C17.5489 2.68679 16.9347 2.45659 16.2942 2.45659H5.02479C4.38433 2.45659 3.7701 2.68679 3.31722 3.09653C2.86434 3.50628 2.60992 4.06201 2.60992 4.64148V14.8376C2.60992 15.4171 2.86434 15.9728 3.31722 16.3826C3.7701 16.7923 4.38433 17.0225 5.02479 17.0225ZM5.82975 5.36978H15.4893V14.1093H5.82975V5.36978Z"
|
|
39
|
-
stroke="#5C5C5C"
|
|
40
|
-
stroke-width="0.979443"
|
|
41
|
-
stroke-linecap="round"
|
|
42
|
-
stroke-linejoin="round"
|
|
43
|
-
/>
|
|
44
|
-
</svg>
|
|
39
|
+
<CpuIcon />
|
|
45
40
|
</span>
|
|
46
41
|
<strong>
|
|
47
42
|
{{ rowData?.cells[2]?.data ? rowData?.cells[2]?.data : "-" }}
|
|
@@ -49,44 +44,7 @@ const OptionDots = defineAsyncComponent(() => import("../option-dots/Options.vue
|
|
|
49
44
|
</p>
|
|
50
45
|
<p title="Memory (request/limit)">
|
|
51
46
|
<span class="icon">
|
|
52
|
-
<
|
|
53
|
-
<rect
|
|
54
|
-
x="0.489721"
|
|
55
|
-
y="0.489721"
|
|
56
|
-
width="18.6094"
|
|
57
|
-
height="11.7533"
|
|
58
|
-
rx="1.46916"
|
|
59
|
-
stroke="#5C5C5C"
|
|
60
|
-
stroke-width="0.979443"
|
|
61
|
-
/>
|
|
62
|
-
<rect
|
|
63
|
-
x="3.10105"
|
|
64
|
-
y="2.91453"
|
|
65
|
-
width="2.50302"
|
|
66
|
-
height="7.2059"
|
|
67
|
-
rx="1.25151"
|
|
68
|
-
stroke="#5C5C5C"
|
|
69
|
-
stroke-width="0.979443"
|
|
70
|
-
/>
|
|
71
|
-
<rect
|
|
72
|
-
x="8.54246"
|
|
73
|
-
y="2.91453"
|
|
74
|
-
width="2.50302"
|
|
75
|
-
height="7.2059"
|
|
76
|
-
rx="1.25151"
|
|
77
|
-
stroke="#5C5C5C"
|
|
78
|
-
stroke-width="0.979443"
|
|
79
|
-
/>
|
|
80
|
-
<rect
|
|
81
|
-
x="13.9839"
|
|
82
|
-
y="2.91453"
|
|
83
|
-
width="2.50302"
|
|
84
|
-
height="7.2059"
|
|
85
|
-
rx="1.25151"
|
|
86
|
-
stroke="#5C5C5C"
|
|
87
|
-
stroke-width="0.979443"
|
|
88
|
-
/>
|
|
89
|
-
</svg>
|
|
47
|
+
<MemoryIcon />
|
|
90
48
|
</span>
|
|
91
49
|
<strong>
|
|
92
50
|
{{ rowData.cells[3]?.data ? rowData?.cells[3]?.data : "-" }}
|
|
@@ -94,36 +52,7 @@ const OptionDots = defineAsyncComponent(() => import("../option-dots/Options.vue
|
|
|
94
52
|
</p>
|
|
95
53
|
<p title="Storage (request/limit)">
|
|
96
54
|
<span class="icon">
|
|
97
|
-
<
|
|
98
|
-
<path
|
|
99
|
-
d="M20.3189 7.76208H1"
|
|
100
|
-
stroke="#5C5C5C"
|
|
101
|
-
stroke-width="0.979443"
|
|
102
|
-
stroke-linecap="round"
|
|
103
|
-
stroke-linejoin="round"
|
|
104
|
-
/>
|
|
105
|
-
<path
|
|
106
|
-
d="M4.3325 1.93817L1 7.76161V12.8328C1 13.2811 1.20354 13.7111 1.56584 14.0281C1.92814 14.3451 2.41952 14.5232 2.93189 14.5232H18.387C18.8994 14.5232 19.3907 14.3451 19.753 14.0281C20.1153 13.7111 20.3189 13.2811 20.3189 12.8328V7.76161L16.9864 1.93817C16.8264 1.65654 16.5799 1.41953 16.2744 1.2538C15.969 1.08806 15.6167 1.00017 15.2573 1H6.06154C5.70213 1.00017 5.3499 1.08806 5.04445 1.2538C4.739 1.41953 4.49244 1.65654 4.3325 1.93817Z"
|
|
107
|
-
stroke="#5C5C5C"
|
|
108
|
-
stroke-width="0.979443"
|
|
109
|
-
stroke-linecap="round"
|
|
110
|
-
stroke-linejoin="round"
|
|
111
|
-
/>
|
|
112
|
-
<path
|
|
113
|
-
d="M4.86426 11.1421H4.87333"
|
|
114
|
-
stroke="#5C5C5C"
|
|
115
|
-
stroke-width="1.27328"
|
|
116
|
-
stroke-linecap="round"
|
|
117
|
-
stroke-linejoin="round"
|
|
118
|
-
/>
|
|
119
|
-
<path
|
|
120
|
-
d="M8.72754 11.1421H8.73661"
|
|
121
|
-
stroke="#5C5C5C"
|
|
122
|
-
stroke-width="1.27328"
|
|
123
|
-
stroke-linecap="round"
|
|
124
|
-
stroke-linejoin="round"
|
|
125
|
-
/>
|
|
126
|
-
</svg>
|
|
55
|
+
<StorageIcon />
|
|
127
56
|
</span>
|
|
128
57
|
<strong>
|
|
129
58
|
{{ rowData?.cells[4]?.data ? rowData?.cells[4]?.data : "-" }}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import MonitorIcon from "../icons/MonitorIcon.vue";
|
|
3
|
+
|
|
2
4
|
interface Props {
|
|
3
5
|
title?: string;
|
|
4
6
|
modifierClasses?: string;
|
|
@@ -16,29 +18,7 @@ withDefaults(defineProps<Props>(), {
|
|
|
16
18
|
<div class="tag has-background-danger-light has-text-danger is-rounded required">REQUIRED</div>
|
|
17
19
|
<div class="c-title is-flex gap-8 is-fullwidth is-align-items-center">
|
|
18
20
|
<div class="icon">
|
|
19
|
-
<
|
|
20
|
-
<path
|
|
21
|
-
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"
|
|
22
|
-
stroke="#808080"
|
|
23
|
-
stroke-width="1.5"
|
|
24
|
-
stroke-linecap="round"
|
|
25
|
-
stroke-linejoin="round"
|
|
26
|
-
></path>
|
|
27
|
-
<path
|
|
28
|
-
d="M8 21H16"
|
|
29
|
-
stroke="#808080"
|
|
30
|
-
stroke-width="1.5"
|
|
31
|
-
stroke-linecap="round"
|
|
32
|
-
stroke-linejoin="round"
|
|
33
|
-
></path>
|
|
34
|
-
<path
|
|
35
|
-
d="M12 17V21"
|
|
36
|
-
stroke="#808080"
|
|
37
|
-
stroke-width="1.5"
|
|
38
|
-
stroke-linecap="round"
|
|
39
|
-
stroke-linejoin="round"
|
|
40
|
-
></path>
|
|
41
|
-
</svg>
|
|
21
|
+
<MonitorIcon />
|
|
42
22
|
</div>
|
|
43
23
|
<h5>{{ title }}</h5>
|
|
44
24
|
</div>
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { computed, ref } from "vue";
|
|
3
3
|
import type { ComponentPublicInstance } from "vue";
|
|
4
4
|
import Multiselect from "vue-multiselect";
|
|
5
|
+
import CrossIcon from "../icons/CrossIcon.vue";
|
|
5
6
|
|
|
6
7
|
interface Props {
|
|
7
8
|
errorMsg?: string;
|
|
@@ -116,16 +117,7 @@ const onSelect = (selectedOption: unknown, id: string) => emit("select", selecte
|
|
|
116
117
|
</label>
|
|
117
118
|
<button v-if="allowEmpty && model" class="button ac-button is-clear is-transparent" @click.prevent="model = ''">
|
|
118
119
|
<span class="icon width-16">
|
|
119
|
-
<
|
|
120
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
121
|
-
fill="none"
|
|
122
|
-
viewBox="0 0 24 24"
|
|
123
|
-
stroke-width="1.5"
|
|
124
|
-
stroke="currentColor"
|
|
125
|
-
class="size-6"
|
|
126
|
-
>
|
|
127
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
|
|
128
|
-
</svg>
|
|
120
|
+
<CrossIcon />
|
|
129
121
|
</span>
|
|
130
122
|
</button>
|
|
131
123
|
<button
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
interface Props {
|
|
3
3
|
label: string;
|
|
4
4
|
customClass?: string;
|
|
5
|
-
isCollapsible
|
|
6
|
-
isRequired
|
|
7
|
-
errors
|
|
8
|
-
isFormHidden
|
|
5
|
+
isCollapsible?: boolean;
|
|
6
|
+
isRequired?: boolean;
|
|
7
|
+
errors?: Array<string>;
|
|
8
|
+
isFormHidden?: boolean;
|
|
9
9
|
}
|
|
10
10
|
withDefaults(defineProps<Props>(), {
|
|
11
11
|
label: "",
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import
|
|
2
|
+
import ArrowIcon from "../icons/ArrowIcon.vue";
|
|
3
|
+
import RefreshIcon from "../icons/RefreshIcon.vue";
|
|
4
|
+
import CloseIcon from "../icons/CloseIcon.vue";
|
|
5
|
+
import AcButton from "../button/Button.vue";
|
|
6
|
+
import AcButtons from "../button/Buttons.vue";
|
|
3
7
|
|
|
4
8
|
interface prop {
|
|
5
9
|
multiselect?: boolean;
|
|
@@ -13,13 +17,6 @@ withDefaults(defineProps<prop>(), {
|
|
|
13
17
|
custom: false,
|
|
14
18
|
isOpen: false,
|
|
15
19
|
});
|
|
16
|
-
|
|
17
|
-
const AcButtons = defineAsyncComponent(() => import("../button/Buttons.vue"));
|
|
18
|
-
const AcButton = defineAsyncComponent(() => import("../button/Button.vue"));
|
|
19
|
-
|
|
20
|
-
const ArrowDownIcon = defineAsyncComponent(() => import("../icons/ArrowDownIcon.vue"));
|
|
21
|
-
const RefreshIcon = defineAsyncComponent(() => import("../icons/RefreshIcon.vue"));
|
|
22
|
-
const CloseIcon = defineAsyncComponent(() => import("../icons/CloseIcon.vue"));
|
|
23
20
|
</script>
|
|
24
21
|
|
|
25
22
|
<template>
|
|
@@ -30,9 +27,7 @@ const CloseIcon = defineAsyncComponent(() => import("../icons/CloseIcon.vue"));
|
|
|
30
27
|
|
|
31
28
|
<!-- <input type="text" value="Select" /> -->
|
|
32
29
|
<p class="custom-select-placeholder">
|
|
33
|
-
<span class="is-ellipsis-1">
|
|
34
|
-
Select Value Select ValueSelect ValueSelect ValueSelect ValueSelect ValueSelect Value
|
|
35
|
-
</span>
|
|
30
|
+
<span class="is-ellipsis-1"> Select Value </span>
|
|
36
31
|
</p>
|
|
37
32
|
|
|
38
33
|
<div v-if="multiselect" class="ac-field field is-grouped is-clipped">
|
|
@@ -66,7 +61,7 @@ const CloseIcon = defineAsyncComponent(() => import("../icons/CloseIcon.vue"));
|
|
|
66
61
|
|
|
67
62
|
<ac-buttons>
|
|
68
63
|
<button class="button ac-button is-white">
|
|
69
|
-
<
|
|
64
|
+
<ArrowIcon />
|
|
70
65
|
</button>
|
|
71
66
|
|
|
72
67
|
<ac-button modifier-classes="is-white">
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import UploadIcon from "../icons/UploadIcon.vue";
|
|
3
|
+
</script>
|
|
4
|
+
|
|
1
5
|
<template>
|
|
2
6
|
<div class="file-upload" data-testid="image-upload-drag-section">
|
|
3
7
|
<label for="image-upload-with-cropping" class="has-text-centered" title="Click to upload new avatar">
|
|
4
8
|
<div class="ms-upload-logo" title="Click to upload new avatar">
|
|
5
9
|
<div class="upload-icon">
|
|
6
|
-
<
|
|
7
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
-
fill="none"
|
|
9
|
-
viewBox="0 0 24 24"
|
|
10
|
-
stroke-width="1"
|
|
11
|
-
stroke="currentColor"
|
|
12
|
-
class="w-6 h-6"
|
|
13
|
-
>
|
|
14
|
-
<path
|
|
15
|
-
stroke-linecap="round"
|
|
16
|
-
stroke-linejoin="round"
|
|
17
|
-
d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5"
|
|
18
|
-
/>
|
|
19
|
-
</svg>
|
|
10
|
+
<UploadIcon />
|
|
20
11
|
</div>
|
|
21
12
|
</div>
|
|
22
13
|
<div class="ms-upload-description">
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<g clip-path="url(#clip0_534_14009)">
|
|
4
|
+
<path
|
|
5
|
+
d="M9.15331 14C9.03611 14.2021 8.86787 14.3698 8.66546 14.4864C8.46305 14.603 8.23357 14.6643 7.99998 14.6643C7.76639 14.6643 7.53691 14.603 7.3345 14.4864C7.13208 14.3698 6.96385 14.2021 6.84665 14M14.6666 11.3334H1.33331C1.86375 11.3334 2.37245 11.1227 2.74753 10.7476C3.1226 10.3725 3.33331 9.86381 3.33331 9.33337V6.00004C3.33331 4.76236 3.82498 3.57538 4.70015 2.70021C5.57532 1.82504 6.7623 1.33337 7.99998 1.33337C9.23766 1.33337 10.4246 1.82504 11.2998 2.70021C12.175 3.57538 12.6666 4.76236 12.6666 6.00004V9.33337C12.6666 9.86381 12.8774 10.3725 13.2524 10.7476C13.6275 11.1227 14.1362 11.3334 14.6666 11.3334Z"
|
|
6
|
+
stroke="#061B2D"
|
|
7
|
+
stroke-width="1.5"
|
|
8
|
+
stroke-linecap="round"
|
|
9
|
+
stroke-linejoin="round"
|
|
10
|
+
/>
|
|
11
|
+
</g>
|
|
12
|
+
<defs>
|
|
13
|
+
<clipPath id="clip0_534_14009">
|
|
14
|
+
<rect width="16" height="16" fill="white" />
|
|
15
|
+
</clipPath>
|
|
16
|
+
</defs>
|
|
17
|
+
</svg>
|
|
18
|
+
</template>
|
|
@@ -0,0 +1,12 @@
|
|
|
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 stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
|
|
11
|
+
</svg>
|
|
12
|
+
</template>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path
|
|
4
|
+
d="M6.66667 2H2V6.66667H6.66667V2Z"
|
|
5
|
+
stroke="#061B2D"
|
|
6
|
+
stroke-width="1.5"
|
|
7
|
+
stroke-linecap="round"
|
|
8
|
+
stroke-linejoin="round"
|
|
9
|
+
/>
|
|
10
|
+
<path
|
|
11
|
+
d="M14 2H9.33337V6.66667H14V2Z"
|
|
12
|
+
stroke="#061B2D"
|
|
13
|
+
stroke-width="1.5"
|
|
14
|
+
stroke-linecap="round"
|
|
15
|
+
stroke-linejoin="round"
|
|
16
|
+
/>
|
|
17
|
+
<path
|
|
18
|
+
d="M14 9.33334H9.33337V14H14V9.33334Z"
|
|
19
|
+
stroke="#061B2D"
|
|
20
|
+
stroke-width="1.5"
|
|
21
|
+
stroke-linecap="round"
|
|
22
|
+
stroke-linejoin="round"
|
|
23
|
+
/>
|
|
24
|
+
<path
|
|
25
|
+
d="M6.66667 9.33334H2V14H6.66667V9.33334Z"
|
|
26
|
+
stroke="#061B2D"
|
|
27
|
+
stroke-width="1.5"
|
|
28
|
+
stroke-linecap="round"
|
|
29
|
+
stroke-linejoin="round"
|
|
30
|
+
/>
|
|
31
|
+
</svg>
|
|
32
|
+
</template>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path
|
|
4
|
+
d="M1 4.5L5.5 1L10 4.5V10C10 10.2652 9.89464 10.5196 9.70711 10.7071C9.51957 10.8946 9.26522 11 9 11H2C1.73478 11 1.48043 10.8946 1.29289 10.7071C1.10536 10.5196 1 10.2652 1 10V4.5Z"
|
|
5
|
+
stroke="#666666"
|
|
6
|
+
stroke-width="1.5"
|
|
7
|
+
stroke-linecap="round"
|
|
8
|
+
stroke-linejoin="round"
|
|
9
|
+
/>
|
|
10
|
+
<path d="M4 11V6H7V11" stroke="#666666" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
|
11
|
+
</svg>
|
|
12
|
+
</template>
|
|
@@ -1,8 +1,40 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<svg
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
<svg width="20" height="13" viewBox="0 0 20 13" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<rect
|
|
4
|
+
x="0.489721"
|
|
5
|
+
y="0.489721"
|
|
6
|
+
width="18.6094"
|
|
7
|
+
height="11.7533"
|
|
8
|
+
rx="1.46916"
|
|
9
|
+
stroke="#5C5C5C"
|
|
10
|
+
stroke-width="0.979443"
|
|
11
|
+
/>
|
|
12
|
+
<rect
|
|
13
|
+
x="3.10105"
|
|
14
|
+
y="2.91453"
|
|
15
|
+
width="2.50302"
|
|
16
|
+
height="7.2059"
|
|
17
|
+
rx="1.25151"
|
|
18
|
+
stroke="#5C5C5C"
|
|
19
|
+
stroke-width="0.979443"
|
|
20
|
+
/>
|
|
21
|
+
<rect
|
|
22
|
+
x="8.54246"
|
|
23
|
+
y="2.91453"
|
|
24
|
+
width="2.50302"
|
|
25
|
+
height="7.2059"
|
|
26
|
+
rx="1.25151"
|
|
27
|
+
stroke="#5C5C5C"
|
|
28
|
+
stroke-width="0.979443"
|
|
29
|
+
/>
|
|
30
|
+
<rect
|
|
31
|
+
x="13.9839"
|
|
32
|
+
y="2.91453"
|
|
33
|
+
width="2.50302"
|
|
34
|
+
height="7.2059"
|
|
35
|
+
rx="1.25151"
|
|
36
|
+
stroke="#5C5C5C"
|
|
37
|
+
stroke-width="0.979443"
|
|
6
38
|
/>
|
|
7
39
|
</svg>
|
|
8
40
|
</template>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path
|
|
4
|
+
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"
|
|
5
|
+
stroke="#808080"
|
|
6
|
+
stroke-width="1.5"
|
|
7
|
+
stroke-linecap="round"
|
|
8
|
+
stroke-linejoin="round"
|
|
9
|
+
></path>
|
|
10
|
+
<path d="M8 21H16" stroke="#808080" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
11
|
+
<path d="M12 17V21" stroke="#808080" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
12
|
+
</svg>
|
|
13
|
+
</template>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg width="21" height="16" viewBox="0 0 21 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path
|
|
4
|
+
d="M20.3189 7.76208H1"
|
|
5
|
+
stroke="#5C5C5C"
|
|
6
|
+
stroke-width="0.979443"
|
|
7
|
+
stroke-linecap="round"
|
|
8
|
+
stroke-linejoin="round"
|
|
9
|
+
/>
|
|
10
|
+
<path
|
|
11
|
+
d="M4.3325 1.93817L1 7.76161V12.8328C1 13.2811 1.20354 13.7111 1.56584 14.0281C1.92814 14.3451 2.41952 14.5232 2.93189 14.5232H18.387C18.8994 14.5232 19.3907 14.3451 19.753 14.0281C20.1153 13.7111 20.3189 13.2811 20.3189 12.8328V7.76161L16.9864 1.93817C16.8264 1.65654 16.5799 1.41953 16.2744 1.2538C15.969 1.08806 15.6167 1.00017 15.2573 1H6.06154C5.70213 1.00017 5.3499 1.08806 5.04445 1.2538C4.739 1.41953 4.49244 1.65654 4.3325 1.93817Z"
|
|
12
|
+
stroke="#5C5C5C"
|
|
13
|
+
stroke-width="0.979443"
|
|
14
|
+
stroke-linecap="round"
|
|
15
|
+
stroke-linejoin="round"
|
|
16
|
+
/>
|
|
17
|
+
<path
|
|
18
|
+
d="M4.86426 11.1421H4.87333"
|
|
19
|
+
stroke="#5C5C5C"
|
|
20
|
+
stroke-width="1.27328"
|
|
21
|
+
stroke-linecap="round"
|
|
22
|
+
stroke-linejoin="round"
|
|
23
|
+
/>
|
|
24
|
+
<path
|
|
25
|
+
d="M8.72754 11.1421H8.73661"
|
|
26
|
+
stroke="#5C5C5C"
|
|
27
|
+
stroke-width="1.27328"
|
|
28
|
+
stroke-linecap="round"
|
|
29
|
+
stroke-linejoin="round"
|
|
30
|
+
/>
|
|
31
|
+
</svg>
|
|
32
|
+
</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"
|
|
7
|
+
stroke="currentColor"
|
|
8
|
+
class="w-6 h-6"
|
|
9
|
+
>
|
|
10
|
+
<path
|
|
11
|
+
stroke-linecap="round"
|
|
12
|
+
stroke-linejoin="round"
|
|
13
|
+
d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5"
|
|
14
|
+
/>
|
|
15
|
+
</svg>
|
|
16
|
+
</template>
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
2
|
import { defineAsyncComponent } from "vue";
|
|
3
|
-
const Searchbar = defineAsyncComponent(() => import("@/components/vue-components/v3/form-fields/Searchbar.vue"));
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
import ArrowIcon from "../icons/ArrowIcon.vue";
|
|
5
|
+
import RefreshIcon from "../icons/RefreshIcon.vue";
|
|
6
|
+
import EllipsisVertical from "../icons/EllipsisVertical.vue";
|
|
7
|
+
import StarIcon from "../icons/StarIcon.vue";
|
|
8
|
+
|
|
9
|
+
const Searchbar = defineAsyncComponent(() => import("@/components/vue-components/v3/form-fields/Searchbar.vue"));
|
|
9
10
|
</script>
|
|
10
11
|
|
|
11
12
|
<template>
|
|
@@ -23,7 +24,7 @@ const EllipsisVertical = defineAsyncComponent(() => import("../icons/EllipsisVer
|
|
|
23
24
|
</label>
|
|
24
25
|
<button class="button ac-button is-white is-small" title="Filter">
|
|
25
26
|
<span class="icon">
|
|
26
|
-
<
|
|
27
|
+
<ArrowIcon />
|
|
27
28
|
</span>
|
|
28
29
|
</button>
|
|
29
30
|
</div>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { defineAsyncComponent, ref, watch, nextTick } from "vue";
|
|
3
|
+
import CrossIcon from "../icons/CrossIcon.vue";
|
|
3
4
|
|
|
4
5
|
interface Props {
|
|
5
6
|
title?: string;
|
|
@@ -89,16 +90,7 @@ const handleCancel = (event: Event) => {
|
|
|
89
90
|
:disabled="disableModalClose"
|
|
90
91
|
>
|
|
91
92
|
<span class="icon">
|
|
92
|
-
<
|
|
93
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
94
|
-
fill="none"
|
|
95
|
-
viewBox="0 0 24 24"
|
|
96
|
-
stroke-width="1.5"
|
|
97
|
-
stroke="currentColor"
|
|
98
|
-
class="size-6"
|
|
99
|
-
>
|
|
100
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
|
|
101
|
-
</svg>
|
|
93
|
+
<CrossIcon />
|
|
102
94
|
</span>
|
|
103
95
|
</button>
|
|
104
96
|
</div>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { setCookie } from "tiny-cookie";
|
|
3
3
|
import { computed, defineAsyncComponent, ref } from "vue";
|
|
4
|
+
import GridIcon from "../icons/GridIcon.vue";
|
|
4
5
|
|
|
5
6
|
interface Props {
|
|
6
7
|
currentApp?: "console" | "db" | "platform" | "billing" | "selfhost" | "learn" | "grafana";
|
|
@@ -110,36 +111,7 @@ const handleClick = (name: string) => {
|
|
|
110
111
|
<template>
|
|
111
112
|
<navbar-item @on-is-active-change="handleIsActiveChange">
|
|
112
113
|
<template #navbar-item>
|
|
113
|
-
<
|
|
114
|
-
<path
|
|
115
|
-
d="M6.66667 2H2V6.66667H6.66667V2Z"
|
|
116
|
-
stroke="#061B2D"
|
|
117
|
-
stroke-width="1.5"
|
|
118
|
-
stroke-linecap="round"
|
|
119
|
-
stroke-linejoin="round"
|
|
120
|
-
/>
|
|
121
|
-
<path
|
|
122
|
-
d="M14 2H9.33337V6.66667H14V2Z"
|
|
123
|
-
stroke="#061B2D"
|
|
124
|
-
stroke-width="1.5"
|
|
125
|
-
stroke-linecap="round"
|
|
126
|
-
stroke-linejoin="round"
|
|
127
|
-
/>
|
|
128
|
-
<path
|
|
129
|
-
d="M14 9.33334H9.33337V14H14V9.33334Z"
|
|
130
|
-
stroke="#061B2D"
|
|
131
|
-
stroke-width="1.5"
|
|
132
|
-
stroke-linecap="round"
|
|
133
|
-
stroke-linejoin="round"
|
|
134
|
-
/>
|
|
135
|
-
<path
|
|
136
|
-
d="M6.66667 9.33334H2V14H6.66667V9.33334Z"
|
|
137
|
-
stroke="#061B2D"
|
|
138
|
-
stroke-width="1.5"
|
|
139
|
-
stroke-linecap="round"
|
|
140
|
-
stroke-linejoin="round"
|
|
141
|
-
/>
|
|
142
|
-
</svg>
|
|
114
|
+
<GridIcon />
|
|
143
115
|
</template>
|
|
144
116
|
<template #navbar-content>
|
|
145
117
|
<transition>
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { defineAsyncComponent, ref } from "vue";
|
|
3
|
-
import TimeConvert from "../../plugins/time-convert";
|
|
4
3
|
import type { Notification } from "../../types/notification";
|
|
4
|
+
import { useTimeAgo } from "@vueuse/core";
|
|
5
|
+
|
|
6
|
+
import BellIcon from "../icons/BellIcon.vue";
|
|
5
7
|
const NavbarItem = defineAsyncComponent(() => import("./NavbarItem.vue"));
|
|
6
8
|
const NavbarItemContent = defineAsyncComponent(() => import("./NavbarItemContent.vue"));
|
|
7
9
|
withDefaults(
|
|
@@ -14,9 +16,7 @@ withDefaults(
|
|
|
14
16
|
unreadNotification: 0,
|
|
15
17
|
},
|
|
16
18
|
);
|
|
17
|
-
|
|
18
|
-
return TimeConvert.getDayDifferences({ past: time });
|
|
19
|
-
}
|
|
19
|
+
|
|
20
20
|
const emit = defineEmits(["isActive"]);
|
|
21
21
|
const showNotification = ref(false);
|
|
22
22
|
function handleIsActiveChange(isActive: string | any[]) {
|
|
@@ -27,23 +27,7 @@ function handleIsActiveChange(isActive: string | any[]) {
|
|
|
27
27
|
<template>
|
|
28
28
|
<navbar-item ref="notificationItem" @on-is-active-change="handleIsActiveChange">
|
|
29
29
|
<template #navbar-item>
|
|
30
|
-
<
|
|
31
|
-
<g clip-path="url(#clip0_534_14009)">
|
|
32
|
-
<path
|
|
33
|
-
d="M9.15331 14C9.03611 14.2021 8.86787 14.3698 8.66546 14.4864C8.46305 14.603 8.23357 14.6643 7.99998 14.6643C7.76639 14.6643 7.53691 14.603 7.3345 14.4864C7.13208 14.3698 6.96385 14.2021 6.84665 14M14.6666 11.3334H1.33331C1.86375 11.3334 2.37245 11.1227 2.74753 10.7476C3.1226 10.3725 3.33331 9.86381 3.33331 9.33337V6.00004C3.33331 4.76236 3.82498 3.57538 4.70015 2.70021C5.57532 1.82504 6.7623 1.33337 7.99998 1.33337C9.23766 1.33337 10.4246 1.82504 11.2998 2.70021C12.175 3.57538 12.6666 4.76236 12.6666 6.00004V9.33337C12.6666 9.86381 12.8774 10.3725 13.2524 10.7476C13.6275 11.1227 14.1362 11.3334 14.6666 11.3334Z"
|
|
34
|
-
stroke="#061B2D"
|
|
35
|
-
stroke-width="1.5"
|
|
36
|
-
stroke-linecap="round"
|
|
37
|
-
stroke-linejoin="round"
|
|
38
|
-
/>
|
|
39
|
-
</g>
|
|
40
|
-
<defs>
|
|
41
|
-
<clipPath id="clip0_534_14009">
|
|
42
|
-
<rect width="16" height="16" fill="white" />
|
|
43
|
-
</clipPath>
|
|
44
|
-
</defs>
|
|
45
|
-
</svg>
|
|
46
|
-
|
|
30
|
+
<BellIcon />
|
|
47
31
|
<span v-if="unreadNotification > 999" class="notification-count">999+</span>
|
|
48
32
|
<span v-else-if="unreadNotification !== 0" class="notification-count">{{ unreadNotification }}</span>
|
|
49
33
|
</template>
|
|
@@ -65,7 +49,7 @@ function handleIsActiveChange(isActive: string | any[]) {
|
|
|
65
49
|
<h6>{{ data.msg }}</h6>
|
|
66
50
|
<p>{{ data.status }}</p>
|
|
67
51
|
</div>
|
|
68
|
-
<span>{{
|
|
52
|
+
<span>{{ useTimeAgo(data.time) }}</span>
|
|
69
53
|
</a>
|
|
70
54
|
|
|
71
55
|
<a v-if="!notifications.length" href="#" class="single-notification">
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { defineAsyncComponent, ref, watch } from "vue";
|
|
3
|
+
import SearchIcon from "../icons/SearchIcon.vue";
|
|
3
4
|
|
|
4
5
|
const AcSingleInput = defineAsyncComponent(() => import("../form-fields/AcSingleInput.vue"));
|
|
5
6
|
|
|
@@ -26,13 +27,7 @@ watch(searchText, (n) => {
|
|
|
26
27
|
<ac-single-input modifier-classes="is-extra-small width-auto">
|
|
27
28
|
<template #button>
|
|
28
29
|
<label class="ac-search-button" :for="acInputId">
|
|
29
|
-
<
|
|
30
|
-
<path
|
|
31
|
-
fill-rule="evenodd"
|
|
32
|
-
d="M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z"
|
|
33
|
-
clip-rule="evenodd"
|
|
34
|
-
/>
|
|
35
|
-
</svg>
|
|
30
|
+
<SearchIcon />
|
|
36
31
|
</label>
|
|
37
32
|
</template>
|
|
38
33
|
<ac-input name="search" placeholder="Search" type="search" class="ac-search" :id="acInputId" v-model="searchText" />
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { computed,
|
|
2
|
+
import { computed, ref, watch } from "vue";
|
|
3
3
|
import { onClickOutside, useFocus } from "@vueuse/core";
|
|
4
4
|
|
|
5
5
|
import AcButton from "../button/Button.vue";
|
|
6
6
|
import AcButtons from "../button/Buttons.vue";
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
import ArrowIcon from "../icons/ArrowIcon.vue";
|
|
9
|
+
import RefreshIcon from "../icons/RefreshIcon.vue";
|
|
10
|
+
import CloseIcon from "../icons/CloseIcon.vue";
|
|
11
11
|
|
|
12
12
|
type Option = { text: string; value: string };
|
|
13
13
|
interface prop {
|
|
@@ -104,7 +104,7 @@ watch(isOpen, (n) => {
|
|
|
104
104
|
|
|
105
105
|
<ac-buttons>
|
|
106
106
|
<button class="button ac-button is-white" @click="handleClear">
|
|
107
|
-
<
|
|
107
|
+
<ArrowIcon />
|
|
108
108
|
</button>
|
|
109
109
|
|
|
110
110
|
<ac-button modifier-classes="is-white" @click="$emit('onRefreshClick')">
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import moment from "moment";
|
|
2
|
-
// import { useNow, useThrottleFn } from '@vueuse/core'
|
|
3
|
-
|
|
4
|
-
const getTime = (option) => {
|
|
5
|
-
if (parseInt(option.time, 10) < 0 || !option.time) {
|
|
6
|
-
return undefined;
|
|
7
|
-
}
|
|
8
|
-
let time = option.time;
|
|
9
|
-
|
|
10
|
-
// moment(option.time).valueOf('x') needs to convert pharmer's api date to epoch time
|
|
11
|
-
time = moment(option.time).valueOf("x") ? moment(option.time).valueOf("x") : time * 1000;
|
|
12
|
-
|
|
13
|
-
return moment(time).format("MMM DD YYYY, h:mm A");
|
|
14
|
-
};
|
|
15
|
-
const getDayDifferences = (options) => {
|
|
16
|
-
const past = moment(options.past).isValid() ? moment(options.past).valueOf("x") / 1000 : options.past;
|
|
17
|
-
const now = Date.now() / 1000;
|
|
18
|
-
const diff = now - past;
|
|
19
|
-
if (parseInt(options.past, 10) > 10) {
|
|
20
|
-
let ret = Math.floor(diff / 86400);
|
|
21
|
-
let unit = "";
|
|
22
|
-
if (diff < 60) {
|
|
23
|
-
ret = parseInt(diff, 10);
|
|
24
|
-
unit = " Second";
|
|
25
|
-
} else if (diff < 3600) {
|
|
26
|
-
ret = parseInt(diff / 60, 10);
|
|
27
|
-
unit = " Minute";
|
|
28
|
-
} else if (diff < 86400) {
|
|
29
|
-
ret = parseInt(diff / 3600, 10);
|
|
30
|
-
unit = " Hour";
|
|
31
|
-
} else {
|
|
32
|
-
ret = parseInt(diff / 86400, 10);
|
|
33
|
-
unit = " Day";
|
|
34
|
-
}
|
|
35
|
-
unit += ret > 1 ? "s" : "";
|
|
36
|
-
return ret + unit;
|
|
37
|
-
}
|
|
38
|
-
return undefined;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
export default {
|
|
42
|
-
getTime,
|
|
43
|
-
// formatMoment,
|
|
44
|
-
getDayDifferences,
|
|
45
|
-
};
|
|
File without changes
|