webcake-ui-kit 1.0.12 → 1.0.14
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 +1 -1
- package/src/components/accordion-item/AccordionItem.vue +4 -9
- package/src/components/breadcrumb/Breadcrumb.vue +9 -26
- package/src/components/checkbox/Checkbox.vue +4 -6
- package/src/components/checkbox/checkbox.css +0 -2
- package/src/components/dialog/Dialog.vue +11 -59
- package/src/components/dialog/dialog.css +4 -2
- package/src/components/pagination/Pagination.vue +7 -35
- package/src/components/select/Select.vue +7 -29
- package/src/components/select/select.css +4 -4
- package/src/components/sidebar-group-label/SidebarGroupLabel.vue +5 -10
- package/src/components/spinner/Spinner.vue +5 -14
- package/src/components/tabs/Tabs.vue +1 -1
- package/src/components/tabs/tabs.css +3 -3
- package/src/icons/CheckIcon.vue +29 -0
- package/src/icons/ChevronDownIcon.vue +29 -0
- package/src/icons/ChevronLeftIcon.vue +29 -0
- package/src/icons/ChevronRightIcon.vue +29 -0
- package/src/icons/ChevronUpIcon.vue +29 -0
- package/src/icons/CircleXIcon.vue +31 -0
- package/src/icons/EllipsisIcon.vue +31 -0
- package/src/icons/ExpandIcon.vue +36 -0
- package/src/icons/LoaderCircleIcon.vue +29 -0
- package/src/icons/LoaderIcon.vue +21 -7
- package/src/icons/MinusIcon.vue +29 -0
- package/src/icons/PlusIcon.vue +30 -0
- package/src/icons/SearchIcon.vue +30 -0
- package/src/icons/ShrinkIcon.vue +32 -0
- package/src/icons/SlashIcon.vue +29 -0
- package/src/icons/UnfoldVerticalIcon.vue +36 -0
- package/src/icons/XIcon.vue +30 -0
- package/src/icons/icon.css +7 -0
package/package.json
CHANGED
|
@@ -26,15 +26,7 @@
|
|
|
26
26
|
</span>
|
|
27
27
|
<span :class="['ui-accordion-item__icon', isOpen && 'ui-accordion-item__icon--open']">
|
|
28
28
|
<slot name="icon">
|
|
29
|
-
<
|
|
30
|
-
<path
|
|
31
|
-
d="m4 6 4 4 4-4"
|
|
32
|
-
stroke="currentColor"
|
|
33
|
-
stroke-width="1.5"
|
|
34
|
-
stroke-linecap="round"
|
|
35
|
-
stroke-linejoin="round"
|
|
36
|
-
/>
|
|
37
|
-
</svg>
|
|
29
|
+
<ChevronDownIcon :size="16" />
|
|
38
30
|
</slot>
|
|
39
31
|
</span>
|
|
40
32
|
</button>
|
|
@@ -45,10 +37,13 @@
|
|
|
45
37
|
</template>
|
|
46
38
|
|
|
47
39
|
<script>
|
|
40
|
+
import ChevronDownIcon from '../../icons/ChevronDownIcon.vue'
|
|
41
|
+
|
|
48
42
|
let uidCounter = 0
|
|
49
43
|
|
|
50
44
|
export default {
|
|
51
45
|
name: 'AccordionItem',
|
|
46
|
+
components: { ChevronDownIcon },
|
|
52
47
|
inject: {
|
|
53
48
|
accordion: { default: null }
|
|
54
49
|
},
|
|
@@ -5,32 +5,8 @@
|
|
|
5
5
|
<li v-for="(item, index) in items" :key="index" class="ui-breadcrumb__row">
|
|
6
6
|
<span v-if="index > 0" class="ui-breadcrumb__separator" aria-hidden="true">
|
|
7
7
|
<slot name="separator" :type="separator">
|
|
8
|
-
<
|
|
9
|
-
|
|
10
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
-
width="14"
|
|
12
|
-
height="14"
|
|
13
|
-
viewBox="0 0 14 14"
|
|
14
|
-
fill="none"
|
|
15
|
-
>
|
|
16
|
-
<g clip-path="url(#clip0_3182_3913)">
|
|
17
|
-
<path
|
|
18
|
-
d="M12.524 0.857389C12.6948 0.686535 12.9718 0.686535 13.1426 0.857389C13.3135 1.02824 13.3135 1.30519 13.1426 1.47604L1.47598 13.1427C1.30513 13.3136 1.02818 13.3136 0.857328 13.1427C0.686473 12.9719 0.686473 12.6949 0.857328 12.5241L12.524 0.857389Z"
|
|
19
|
-
fill="#5C5C5C"
|
|
20
|
-
/>
|
|
21
|
-
</g>
|
|
22
|
-
<defs>
|
|
23
|
-
<clipPath id="clip0_3182_3913">
|
|
24
|
-
<rect width="14" height="14" fill="white" />
|
|
25
|
-
</clipPath>
|
|
26
|
-
</defs>
|
|
27
|
-
</svg>
|
|
28
|
-
<svg v-else xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none">
|
|
29
|
-
<path
|
|
30
|
-
d="M4.88882 3.13888C5.08815 2.93955 5.41182 2.93955 5.61115 3.13888L9.11115 6.63888C9.31048 6.83821 9.31048 7.16188 9.11115 7.36121L5.61115 10.8612C5.41182 11.0605 5.08815 11.0605 4.88882 10.8612C4.68949 10.6619 4.68949 10.3382 4.88882 10.1389L8.02765 7.00004L4.88882 3.86121C4.68949 3.66188 4.68949 3.33821 4.88882 3.13888Z"
|
|
31
|
-
fill="#5C5C5C"
|
|
32
|
-
/>
|
|
33
|
-
</svg>
|
|
8
|
+
<SlashIcon v-if="separator === 'slash'" :size="16" />
|
|
9
|
+
<ChevronRightIcon v-else :size="16" />
|
|
34
10
|
</slot>
|
|
35
11
|
</span>
|
|
36
12
|
<component
|
|
@@ -54,8 +30,15 @@
|
|
|
54
30
|
</template>
|
|
55
31
|
|
|
56
32
|
<script>
|
|
33
|
+
import SlashIcon from '../../icons/SlashIcon.vue'
|
|
34
|
+
import ChevronRightIcon from '../../icons/ChevronRightIcon.vue'
|
|
35
|
+
|
|
57
36
|
export default {
|
|
58
37
|
name: 'Breadcrumb',
|
|
38
|
+
components: {
|
|
39
|
+
SlashIcon,
|
|
40
|
+
ChevronRightIcon
|
|
41
|
+
},
|
|
59
42
|
props: {
|
|
60
43
|
items: {
|
|
61
44
|
type: Array,
|
|
@@ -10,19 +10,17 @@
|
|
|
10
10
|
@change="onChange"
|
|
11
11
|
/>
|
|
12
12
|
<span class="ui-checkbox__box" aria-hidden="true">
|
|
13
|
-
<
|
|
14
|
-
<path
|
|
15
|
-
d="M11.3055 3.13885C11.5049 2.93952 11.8285 2.93952 12.0279 3.13885C12.2272 3.33818 12.2272 3.66185 12.0279 3.86118L5.61119 10.2778C5.41186 10.4772 5.08819 10.4772 4.88886 10.2778L1.97219 7.36118C1.77286 7.16185 1.77286 6.83818 1.97219 6.63885C2.17152 6.43952 2.49519 6.43952 2.69452 6.63885L5.25002 9.19435L11.3055 3.13885Z"
|
|
16
|
-
fill="white"
|
|
17
|
-
/>
|
|
18
|
-
</svg>
|
|
13
|
+
<CheckIcon v-if="isChecked" :size="16" />
|
|
19
14
|
</span>
|
|
20
15
|
</span>
|
|
21
16
|
</template>
|
|
22
17
|
|
|
23
18
|
<script>
|
|
19
|
+
import CheckIcon from '../../icons/CheckIcon.vue'
|
|
20
|
+
|
|
24
21
|
export default {
|
|
25
22
|
name: 'Checkbox',
|
|
23
|
+
components: { CheckIcon },
|
|
26
24
|
inheritAttrs: false,
|
|
27
25
|
model: { prop: 'checked', event: 'change' },
|
|
28
26
|
props: {
|
|
@@ -40,18 +40,8 @@
|
|
|
40
40
|
:aria-label="minimized ? 'Restore' : 'Minimize'"
|
|
41
41
|
@click="toggleMinimize"
|
|
42
42
|
>
|
|
43
|
-
<
|
|
44
|
-
|
|
45
|
-
viewBox="0 0 20 20"
|
|
46
|
-
fill="none"
|
|
47
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
48
|
-
aria-hidden="true"
|
|
49
|
-
>
|
|
50
|
-
<path d="M5 10h10" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" />
|
|
51
|
-
</svg>
|
|
52
|
-
<svg v-else viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
53
|
-
<rect x="4" y="5" width="12" height="10" rx="1.5" stroke="currentColor" stroke-width="1.75" />
|
|
54
|
-
</svg>
|
|
43
|
+
<MinusIcon v-if="!minimized" />
|
|
44
|
+
<UnfoldVerticalIcon v-else />
|
|
55
45
|
</button>
|
|
56
46
|
<button
|
|
57
47
|
v-if="fullscreen"
|
|
@@ -60,46 +50,8 @@
|
|
|
60
50
|
:aria-label="isFullscreen ? 'Exit fullscreen' : 'Fullscreen'"
|
|
61
51
|
@click="toggleFullscreen"
|
|
62
52
|
>
|
|
63
|
-
<
|
|
64
|
-
|
|
65
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
66
|
-
width="24"
|
|
67
|
-
height="24"
|
|
68
|
-
viewBox="0 0 24 24"
|
|
69
|
-
fill="none"
|
|
70
|
-
stroke="currentColor"
|
|
71
|
-
stroke-width="1.75"
|
|
72
|
-
stroke-linecap="round"
|
|
73
|
-
stroke-linejoin="round"
|
|
74
|
-
class="lucide lucide-expand-icon lucide-expand"
|
|
75
|
-
>
|
|
76
|
-
<path d="m15 15 6 6" />
|
|
77
|
-
<path d="m15 9 6-6" />
|
|
78
|
-
<path d="M21 16v5h-5" />
|
|
79
|
-
<path d="M21 8V3h-5" />
|
|
80
|
-
<path d="M3 16v5h5" />
|
|
81
|
-
<path d="m3 21 6-6" />
|
|
82
|
-
<path d="M3 8V3h5" />
|
|
83
|
-
<path d="M9 9 3 3" />
|
|
84
|
-
</svg>
|
|
85
|
-
<svg
|
|
86
|
-
v-else
|
|
87
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
88
|
-
width="24"
|
|
89
|
-
height="24"
|
|
90
|
-
viewBox="0 0 24 24"
|
|
91
|
-
fill="none"
|
|
92
|
-
stroke="currentColor"
|
|
93
|
-
stroke-width="1.75"
|
|
94
|
-
stroke-linecap="round"
|
|
95
|
-
stroke-linejoin="round"
|
|
96
|
-
class="lucide lucide-shrink-icon lucide-shrink"
|
|
97
|
-
>
|
|
98
|
-
<path d="m15 15 6 6m-6-6v4.8m0-4.8h4.8" />
|
|
99
|
-
<path d="M9 19.8V15m0 0H4.2M9 15l-6 6" />
|
|
100
|
-
<path d="M15 4.2V9m0 0h4.8M15 9l6-6" />
|
|
101
|
-
<path d="M9 4.2V9m0 0H4.2M9 9 3 3" />
|
|
102
|
-
</svg>
|
|
53
|
+
<ExpandIcon v-if="!isFullscreen" />
|
|
54
|
+
<ShrinkIcon v-else />
|
|
103
55
|
</button>
|
|
104
56
|
<button
|
|
105
57
|
v-if="closable"
|
|
@@ -108,12 +60,7 @@
|
|
|
108
60
|
aria-label="Close"
|
|
109
61
|
@click="handleCancel"
|
|
110
62
|
>
|
|
111
|
-
<
|
|
112
|
-
<path
|
|
113
|
-
d="M14.4841 4.48408C14.7688 4.19932 15.2312 4.19932 15.516 4.48408C15.8007 4.76883 15.8007 5.23122 15.516 5.51598L11.0319 10L15.516 14.4841C15.8007 14.7688 15.8007 15.2312 15.516 15.516C15.2312 15.8007 14.7688 15.8007 14.4841 15.516L10 11.0319L5.51598 15.516C5.23122 15.8007 4.76883 15.8007 4.48408 15.516C4.19932 15.2312 4.19932 14.7688 4.48408 14.4841L8.96813 10L4.48408 5.51598C4.19932 5.23122 4.19932 4.76883 4.48408 4.48408C4.76883 4.19932 5.23122 4.19932 5.51598 4.48408L10 8.96813L14.4841 4.48408Z"
|
|
114
|
-
fill="#171717"
|
|
115
|
-
/>
|
|
116
|
-
</svg>
|
|
63
|
+
<XIcon />
|
|
117
64
|
</button>
|
|
118
65
|
</div>
|
|
119
66
|
</div>
|
|
@@ -147,10 +94,15 @@
|
|
|
147
94
|
|
|
148
95
|
<script>
|
|
149
96
|
import Button from '../button/Button.vue'
|
|
97
|
+
import MinusIcon from '../../icons/MinusIcon.vue'
|
|
98
|
+
import UnfoldVerticalIcon from '../../icons/UnfoldVerticalIcon.vue'
|
|
99
|
+
import ExpandIcon from '../../icons/ExpandIcon.vue'
|
|
100
|
+
import ShrinkIcon from '../../icons/ShrinkIcon.vue'
|
|
101
|
+
import XIcon from '../../icons/XIcon.vue'
|
|
150
102
|
|
|
151
103
|
export default {
|
|
152
104
|
name: 'Dialog',
|
|
153
|
-
components: { Button },
|
|
105
|
+
components: { Button, MinusIcon, UnfoldVerticalIcon, ExpandIcon, ShrinkIcon, XIcon },
|
|
154
106
|
model: { prop: 'open', event: 'change' },
|
|
155
107
|
props: {
|
|
156
108
|
open: { type: Boolean, default: false },
|
|
@@ -67,12 +67,14 @@
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
.ui-dialog-content {
|
|
70
|
-
width:
|
|
70
|
+
width: 640px;
|
|
71
|
+
max-width: calc(100vw - 32px);
|
|
71
72
|
}
|
|
72
73
|
|
|
73
74
|
@media (max-width: 767px) {
|
|
74
75
|
.ui-dialog-content {
|
|
75
|
-
width:
|
|
76
|
+
width: 320px;
|
|
77
|
+
max-width: calc(100vw - 32px);
|
|
76
78
|
}
|
|
77
79
|
}
|
|
78
80
|
|
|
@@ -2,15 +2,7 @@
|
|
|
2
2
|
<nav class="ui-pagination" role="navigation" :aria-label="ariaLabel" :class="{ 'ui-pagination--disabled': disabled }">
|
|
3
3
|
<Button variant="ghost" :disabled="isPrevDisabled" @click="goPrev" :label="prevLabel || ''">
|
|
4
4
|
<template v-if="showIcon" #icon-left>
|
|
5
|
-
<
|
|
6
|
-
<path
|
|
7
|
-
d="M10 4L6 8L10 12"
|
|
8
|
-
stroke="currentColor"
|
|
9
|
-
stroke-width="1.5"
|
|
10
|
-
stroke-linecap="round"
|
|
11
|
-
stroke-linejoin="round"
|
|
12
|
-
/>
|
|
13
|
-
</svg>
|
|
5
|
+
<ChevronLeftIcon />
|
|
14
6
|
</template>
|
|
15
7
|
</Button>
|
|
16
8
|
|
|
@@ -32,37 +24,14 @@
|
|
|
32
24
|
@click="onEllipsisClick(item)"
|
|
33
25
|
>
|
|
34
26
|
<template #icon>
|
|
35
|
-
<
|
|
36
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
37
|
-
width="20"
|
|
38
|
-
height="20"
|
|
39
|
-
viewBox="0 0 24 24"
|
|
40
|
-
fill="none"
|
|
41
|
-
stroke="currentColor"
|
|
42
|
-
stroke-width="1.5"
|
|
43
|
-
stroke-linecap="round"
|
|
44
|
-
stroke-linejoin="round"
|
|
45
|
-
class="lucide lucide-ellipsis-icon lucide-ellipsis"
|
|
46
|
-
>
|
|
47
|
-
<circle cx="12" cy="12" r="1" />
|
|
48
|
-
<circle cx="19" cy="12" r="1" />
|
|
49
|
-
<circle cx="5" cy="12" r="1" />
|
|
50
|
-
</svg>
|
|
27
|
+
<EllipsisIcon />
|
|
51
28
|
</template>
|
|
52
29
|
</Button>
|
|
53
30
|
</template>
|
|
54
31
|
|
|
55
32
|
<Button variant="ghost" :disabled="isNextDisabled" @click="goNext" :label="nextLabel || ''">
|
|
56
33
|
<template v-if="showIcon" #icon-right>
|
|
57
|
-
<
|
|
58
|
-
<path
|
|
59
|
-
d="M6 4L10 8L6 12"
|
|
60
|
-
stroke="currentColor"
|
|
61
|
-
stroke-width="1.5"
|
|
62
|
-
stroke-linecap="round"
|
|
63
|
-
stroke-linejoin="round"
|
|
64
|
-
/>
|
|
65
|
-
</svg>
|
|
34
|
+
<ChevronRightIcon />
|
|
66
35
|
</template>
|
|
67
36
|
</Button>
|
|
68
37
|
</nav>
|
|
@@ -70,6 +39,9 @@
|
|
|
70
39
|
|
|
71
40
|
<script>
|
|
72
41
|
import Button from '../button/Button.vue'
|
|
42
|
+
import ChevronLeftIcon from '../../icons/ChevronLeftIcon.vue'
|
|
43
|
+
import ChevronRightIcon from '../../icons/ChevronRightIcon.vue'
|
|
44
|
+
import EllipsisIcon from '../../icons/EllipsisIcon.vue'
|
|
73
45
|
|
|
74
46
|
function range(start, end) {
|
|
75
47
|
if (end < start) return []
|
|
@@ -80,7 +52,7 @@ function range(start, end) {
|
|
|
80
52
|
|
|
81
53
|
export default {
|
|
82
54
|
name: 'Pagination',
|
|
83
|
-
components: { Button },
|
|
55
|
+
components: { Button, ChevronLeftIcon, ChevronRightIcon, EllipsisIcon },
|
|
84
56
|
|
|
85
57
|
model: {
|
|
86
58
|
prop: 'current',
|
|
@@ -28,28 +28,12 @@
|
|
|
28
28
|
|
|
29
29
|
<spinner v-if="loading" type="mirrored" size="sm" />
|
|
30
30
|
<span v-else class="ui-select__chevron">
|
|
31
|
-
<
|
|
32
|
-
<path
|
|
33
|
-
d="M4 6L8 10L12 6"
|
|
34
|
-
stroke="currentColor"
|
|
35
|
-
stroke-width="1.5"
|
|
36
|
-
stroke-linecap="round"
|
|
37
|
-
stroke-linejoin="round"
|
|
38
|
-
/>
|
|
39
|
-
</svg>
|
|
31
|
+
<ChevronDownIcon :size="16" />
|
|
40
32
|
</span>
|
|
41
33
|
|
|
42
34
|
<div ref="dropdown" v-show="isOpen" class="ui-select__dropdown" :style="dropdownStyle" @click.stop>
|
|
43
35
|
<div v-if="canScrollUp" class="ui-select__scroll-indicator ui-select__scroll-indicator--up">
|
|
44
|
-
<
|
|
45
|
-
<path
|
|
46
|
-
d="M4 10L8 6L12 10"
|
|
47
|
-
stroke="currentColor"
|
|
48
|
-
stroke-width="1.5"
|
|
49
|
-
stroke-linecap="round"
|
|
50
|
-
stroke-linejoin="round"
|
|
51
|
-
/>
|
|
52
|
-
</svg>
|
|
36
|
+
<ChevronUpIcon :size="16" />
|
|
53
37
|
</div>
|
|
54
38
|
<div
|
|
55
39
|
ref="options"
|
|
@@ -68,28 +52,22 @@
|
|
|
68
52
|
</slot>
|
|
69
53
|
</div>
|
|
70
54
|
<div v-if="canScrollDown" class="ui-select__scroll-indicator ui-select__scroll-indicator--down">
|
|
71
|
-
<
|
|
72
|
-
<path
|
|
73
|
-
d="M4 6L8 10L12 6"
|
|
74
|
-
stroke="currentColor"
|
|
75
|
-
stroke-width="1.5"
|
|
76
|
-
stroke-linecap="round"
|
|
77
|
-
stroke-linejoin="round"
|
|
78
|
-
/>
|
|
79
|
-
</svg>
|
|
55
|
+
<ChevronDownIcon :size="16" />
|
|
80
56
|
</div>
|
|
81
57
|
</div>
|
|
82
58
|
</div>
|
|
83
59
|
</template>
|
|
84
60
|
|
|
85
61
|
<script>
|
|
62
|
+
import ChevronDownIcon from '../../icons/ChevronDownIcon.vue'
|
|
63
|
+
import ChevronUpIcon from '../../icons/ChevronUpIcon.vue'
|
|
86
64
|
import SelectOption from '../select-option/SelectOption.vue'
|
|
87
65
|
import Spinner from '../spinner/Spinner.vue'
|
|
88
66
|
|
|
89
67
|
export default {
|
|
90
68
|
name: 'Select',
|
|
91
69
|
|
|
92
|
-
components: { SelectOption, Spinner },
|
|
70
|
+
components: { SelectOption, Spinner, ChevronDownIcon, ChevronUpIcon },
|
|
93
71
|
|
|
94
72
|
provide() {
|
|
95
73
|
return { select: this }
|
|
@@ -105,7 +83,7 @@ export default {
|
|
|
105
83
|
type: String,
|
|
106
84
|
default: 'default',
|
|
107
85
|
validator: function (v) {
|
|
108
|
-
return ['
|
|
86
|
+
return ['xs', 'sm', 'default', 'lg'].includes(v)
|
|
109
87
|
}
|
|
110
88
|
},
|
|
111
89
|
value: {
|
|
@@ -148,17 +148,17 @@
|
|
|
148
148
|
gap: var(--spacing-6);
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
.ui-select--
|
|
151
|
+
.ui-select--xs {
|
|
152
152
|
min-height: 28px;
|
|
153
153
|
padding: var(--spacing-2xs) var(--spacing-6);
|
|
154
154
|
gap: var(--spacing-2xs);
|
|
155
155
|
border-radius: var(--rounded-lg);
|
|
156
156
|
}
|
|
157
|
-
.ui-select--
|
|
157
|
+
.ui-select--xs .ui-select__left {
|
|
158
158
|
gap: var(--spacing-2xs);
|
|
159
159
|
}
|
|
160
|
-
.ui-select--
|
|
161
|
-
.ui-select--
|
|
160
|
+
.ui-select--xs .ui-select__value,
|
|
161
|
+
.ui-select--xs .ui-select__prepend {
|
|
162
162
|
font-size: var(--paragraph-mini-font-size);
|
|
163
163
|
line-height: var(--paragraph-mini-line-height);
|
|
164
164
|
}
|
|
@@ -16,15 +16,7 @@
|
|
|
16
16
|
><slot>{{ label }}</slot></span
|
|
17
17
|
>
|
|
18
18
|
<span class="ui-sidebar-group-label__chevron" aria-hidden="true">
|
|
19
|
-
<
|
|
20
|
-
<path
|
|
21
|
-
d="M3 4.5L6 7.5L9 4.5"
|
|
22
|
-
stroke="currentColor"
|
|
23
|
-
stroke-width="1.5"
|
|
24
|
-
stroke-linecap="round"
|
|
25
|
-
stroke-linejoin="round"
|
|
26
|
-
/>
|
|
27
|
-
</svg>
|
|
19
|
+
<ChevronDownIcon :size="16" />
|
|
28
20
|
</span>
|
|
29
21
|
</button>
|
|
30
22
|
<span v-else class="ui-sidebar-group-label__text"
|
|
@@ -37,9 +29,12 @@
|
|
|
37
29
|
</template>
|
|
38
30
|
|
|
39
31
|
<script>
|
|
32
|
+
import ChevronDownIcon from '../../icons/ChevronDownIcon.vue'
|
|
40
33
|
export default {
|
|
41
34
|
name: 'SidebarGroupLabel',
|
|
42
|
-
|
|
35
|
+
components: {
|
|
36
|
+
ChevronDownIcon
|
|
37
|
+
},
|
|
43
38
|
props: {
|
|
44
39
|
label: {
|
|
45
40
|
type: String,
|
|
@@ -1,25 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<span class="ui-spinner" :class="[`ui-spinner--${size}`, `ui-spinner--${type}`]" role="status" :aria-label="label">
|
|
3
|
-
<
|
|
4
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
5
|
-
width="24"
|
|
6
|
-
height="24"
|
|
7
|
-
viewBox="0 0 24 24"
|
|
8
|
-
fill="none"
|
|
9
|
-
stroke="currentColor"
|
|
10
|
-
stroke-width="1.75"
|
|
11
|
-
stroke-linecap="round"
|
|
12
|
-
stroke-linejoin="round"
|
|
13
|
-
class="lucide lucide-loader-circle-icon lucide-loader-circle ui-spinner__svg"
|
|
14
|
-
>
|
|
15
|
-
<path d="M21 12a9 9 0 1 1-6.219-8.56" />
|
|
16
|
-
</svg>
|
|
3
|
+
<LoaderCircleIcon class="ui-spinner__svg" />
|
|
17
4
|
</span>
|
|
18
5
|
</template>
|
|
19
6
|
|
|
20
7
|
<script>
|
|
8
|
+
import LoaderCircleIcon from '../../icons/LoaderCircleIcon.vue'
|
|
21
9
|
export default {
|
|
22
10
|
name: 'Spinner',
|
|
11
|
+
components: {
|
|
12
|
+
LoaderCircleIcon
|
|
13
|
+
},
|
|
23
14
|
props: {
|
|
24
15
|
size: {
|
|
25
16
|
type: String,
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
box-sizing: border-box;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
.ui-tabs--
|
|
10
|
+
.ui-tabs--xs {
|
|
11
11
|
padding: 2px;
|
|
12
12
|
}
|
|
13
13
|
.ui-tabs--md {
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
/* — sizes — */
|
|
68
|
-
.ui-tabs--
|
|
68
|
+
.ui-tabs--xs .ui-tabs__item {
|
|
69
69
|
height: 20px;
|
|
70
70
|
padding: 0 6px;
|
|
71
71
|
font-size: var(--paragraph-mini-font-size);
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
flex-shrink: 0;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
.ui-tabs--
|
|
94
|
+
.ui-tabs--xs .ui-tabs__icon {
|
|
95
95
|
width: 12px;
|
|
96
96
|
height: 12px;
|
|
97
97
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<path d="M20 6 9 17l-5-5" />
|
|
15
|
+
</svg>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
export default {
|
|
20
|
+
name: 'CheckIcon',
|
|
21
|
+
props: {
|
|
22
|
+
size: { type: Number, default: 20 },
|
|
23
|
+
label: { type: String, default: '' }
|
|
24
|
+
},
|
|
25
|
+
emits: []
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<path d="m6 9 6 6 6-6" />
|
|
15
|
+
</svg>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
export default {
|
|
20
|
+
name: 'ChevronDownIcon',
|
|
21
|
+
props: {
|
|
22
|
+
size: { type: Number, default: 20 },
|
|
23
|
+
label: { type: String, default: '' }
|
|
24
|
+
},
|
|
25
|
+
emits: []
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<path d="m15 18-6-6 6-6" />
|
|
15
|
+
</svg>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
export default {
|
|
20
|
+
name: 'ChevronLeftIcon',
|
|
21
|
+
props: {
|
|
22
|
+
size: { type: Number, default: 20 },
|
|
23
|
+
label: { type: String, default: '' }
|
|
24
|
+
},
|
|
25
|
+
emits: []
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<path d="m9 18 6-6-6-6" />
|
|
15
|
+
</svg>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
export default {
|
|
20
|
+
name: 'ChevronRightIcon',
|
|
21
|
+
props: {
|
|
22
|
+
size: { type: Number, default: 20 },
|
|
23
|
+
label: { type: String, default: '' }
|
|
24
|
+
},
|
|
25
|
+
emits: []
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<path d="m18 15-6-6-6 6" />
|
|
15
|
+
</svg>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
export default {
|
|
20
|
+
name: 'ChevronUpIcon',
|
|
21
|
+
props: {
|
|
22
|
+
size: { type: Number, default: 20 },
|
|
23
|
+
label: { type: String, default: '' }
|
|
24
|
+
},
|
|
25
|
+
emits: []
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<circle cx="12" cy="12" r="10" />
|
|
15
|
+
<path d="m15 9-6 6" />
|
|
16
|
+
<path d="m9 9 6 6" />
|
|
17
|
+
</svg>
|
|
18
|
+
</template>
|
|
19
|
+
|
|
20
|
+
<script>
|
|
21
|
+
export default {
|
|
22
|
+
name: 'CircleXIcon',
|
|
23
|
+
props: {
|
|
24
|
+
size: { type: Number, default: 20 },
|
|
25
|
+
label: { type: String, default: '' }
|
|
26
|
+
},
|
|
27
|
+
emits: []
|
|
28
|
+
}
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<circle cx="12" cy="12" r="1" />
|
|
15
|
+
<circle cx="19" cy="12" r="1" />
|
|
16
|
+
<circle cx="5" cy="12" r="1" />
|
|
17
|
+
</svg>
|
|
18
|
+
</template>
|
|
19
|
+
|
|
20
|
+
<script>
|
|
21
|
+
export default {
|
|
22
|
+
name: 'EllipsisIcon',
|
|
23
|
+
props: {
|
|
24
|
+
size: { type: Number, default: 20 },
|
|
25
|
+
label: { type: String, default: '' }
|
|
26
|
+
},
|
|
27
|
+
emits: []
|
|
28
|
+
}
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<path d="m15 15 6 6" />
|
|
15
|
+
<path d="m15 9 6-6" />
|
|
16
|
+
<path d="M21 16v5h-5" />
|
|
17
|
+
<path d="M21 8V3h-5" />
|
|
18
|
+
<path d="M3 16v5h5" />
|
|
19
|
+
<path d="m3 21 6-6" />
|
|
20
|
+
<path d="M3 8V3h5" />
|
|
21
|
+
<path d="M9 9 3 3" />
|
|
22
|
+
</svg>
|
|
23
|
+
</template>
|
|
24
|
+
|
|
25
|
+
<script>
|
|
26
|
+
export default {
|
|
27
|
+
name: 'ExpandIcon',
|
|
28
|
+
props: {
|
|
29
|
+
size: { type: Number, default: 20 },
|
|
30
|
+
label: { type: String, default: '' }
|
|
31
|
+
},
|
|
32
|
+
emits: []
|
|
33
|
+
}
|
|
34
|
+
</script>
|
|
35
|
+
|
|
36
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<path d="M21 12a9 9 0 1 1-6.219-8.56" />
|
|
15
|
+
</svg>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
export default {
|
|
20
|
+
name: 'LoaderCircleIcon',
|
|
21
|
+
props: {
|
|
22
|
+
size: { type: Number, default: 20 },
|
|
23
|
+
label: { type: String, default: '' }
|
|
24
|
+
},
|
|
25
|
+
emits: []
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<style src="./icon.css" scoped></style>
|
package/src/icons/LoaderIcon.vue
CHANGED
|
@@ -1,22 +1,36 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<svg
|
|
3
|
-
|
|
4
|
-
width="
|
|
5
|
-
height="
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
6
|
viewBox="0 0 24 24"
|
|
7
7
|
fill="none"
|
|
8
8
|
stroke="currentColor"
|
|
9
|
-
stroke-width="1.75"
|
|
10
9
|
stroke-linecap="round"
|
|
11
10
|
stroke-linejoin="round"
|
|
12
|
-
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
13
|
>
|
|
14
|
-
<path d="
|
|
14
|
+
<path d="M12 2v4" />
|
|
15
|
+
<path d="m16.2 7.8 2.9-2.9" />
|
|
16
|
+
<path d="M18 12h4" />
|
|
17
|
+
<path d="m16.2 16.2 2.9 2.9" />
|
|
18
|
+
<path d="M12 18v4" />
|
|
19
|
+
<path d="m4.9 19.1 2.9-2.9" />
|
|
20
|
+
<path d="M2 12h4" />
|
|
21
|
+
<path d="m4.9 4.9 2.9 2.9" />
|
|
15
22
|
</svg>
|
|
16
23
|
</template>
|
|
17
24
|
|
|
18
25
|
<script>
|
|
19
26
|
export default {
|
|
20
|
-
name: 'LoaderIcon'
|
|
27
|
+
name: 'LoaderIcon',
|
|
28
|
+
props: {
|
|
29
|
+
size: { type: Number, default: 20 },
|
|
30
|
+
label: { type: String, default: '' }
|
|
31
|
+
},
|
|
32
|
+
emits: []
|
|
21
33
|
}
|
|
22
34
|
</script>
|
|
35
|
+
|
|
36
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<path d="M5 12h14" />
|
|
15
|
+
</svg>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
export default {
|
|
20
|
+
name: 'MinusIcon',
|
|
21
|
+
props: {
|
|
22
|
+
size: { type: Number, default: 20 },
|
|
23
|
+
label: { type: String, default: '' }
|
|
24
|
+
},
|
|
25
|
+
emits: []
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<path d="M5 12h14" />
|
|
15
|
+
<path d="M12 5v14" />
|
|
16
|
+
</svg>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
export default {
|
|
21
|
+
name: 'PlusIcon',
|
|
22
|
+
props: {
|
|
23
|
+
size: { type: Number, default: 20 },
|
|
24
|
+
label: { type: String, default: '' }
|
|
25
|
+
},
|
|
26
|
+
emits: []
|
|
27
|
+
}
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<circle cx="11" cy="11" r="8" />
|
|
15
|
+
<path d="m21 21-4.3-4.3" />
|
|
16
|
+
</svg>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
export default {
|
|
21
|
+
name: 'SearchIcon',
|
|
22
|
+
props: {
|
|
23
|
+
size: { type: Number, default: 20 },
|
|
24
|
+
label: { type: String, default: '' }
|
|
25
|
+
},
|
|
26
|
+
emits: []
|
|
27
|
+
}
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<path d="m15 15 6 6m-6-6v4.8m0-4.8h4.8" />
|
|
15
|
+
<path d="M9 19.8V15m0 0H4.2M9 15l-6 6" />
|
|
16
|
+
<path d="M15 4.2V9m0 0h4.8M15 9l6-6" />
|
|
17
|
+
<path d="M9 4.2V9m0 0H4.2M9 9 3 3" />
|
|
18
|
+
</svg>
|
|
19
|
+
</template>
|
|
20
|
+
|
|
21
|
+
<script>
|
|
22
|
+
export default {
|
|
23
|
+
name: 'ShrinkIcon',
|
|
24
|
+
props: {
|
|
25
|
+
size: { type: Number, default: 20 },
|
|
26
|
+
label: { type: String, default: '' }
|
|
27
|
+
},
|
|
28
|
+
emits: []
|
|
29
|
+
}
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<path d="M22 2 2 22" />
|
|
15
|
+
</svg>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
export default {
|
|
20
|
+
name: 'SlashIcon',
|
|
21
|
+
props: {
|
|
22
|
+
size: { type: Number, default: 20 },
|
|
23
|
+
label: { type: String, default: '' }
|
|
24
|
+
},
|
|
25
|
+
emits: []
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<path d="M12 22v-6" />
|
|
15
|
+
<path d="M12 8V2" />
|
|
16
|
+
<path d="M4 12H2" />
|
|
17
|
+
<path d="M10 12H8" />
|
|
18
|
+
<path d="M16 12h-2" />
|
|
19
|
+
<path d="M22 12h-2" />
|
|
20
|
+
<path d="m15 19-3 3-3-3" />
|
|
21
|
+
<path d="m15 5-3-3-3 3" />
|
|
22
|
+
</svg>
|
|
23
|
+
</template>
|
|
24
|
+
|
|
25
|
+
<script>
|
|
26
|
+
export default {
|
|
27
|
+
name: 'UnfoldVerticalIcon',
|
|
28
|
+
props: {
|
|
29
|
+
size: { type: Number, default: 20 },
|
|
30
|
+
label: { type: String, default: '' }
|
|
31
|
+
},
|
|
32
|
+
emits: []
|
|
33
|
+
}
|
|
34
|
+
</script>
|
|
35
|
+
|
|
36
|
+
<style src="./icon.css" scoped></style>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
class="ui-icon"
|
|
4
|
+
:width="size"
|
|
5
|
+
:height="size"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
fill="none"
|
|
8
|
+
stroke="currentColor"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
:aria-hidden="label ? undefined : 'true'"
|
|
12
|
+
:aria-label="label || undefined"
|
|
13
|
+
>
|
|
14
|
+
<path d="M18 6 6 18" />
|
|
15
|
+
<path d="m6 6 12 12" />
|
|
16
|
+
</svg>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
export default {
|
|
21
|
+
name: 'XIcon',
|
|
22
|
+
props: {
|
|
23
|
+
size: { type: Number, default: 20 },
|
|
24
|
+
label: { type: String, default: '' }
|
|
25
|
+
},
|
|
26
|
+
emits: []
|
|
27
|
+
}
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<style src="./icon.css" scoped></style>
|