@globalbrain/sefirot 2.0.0 → 2.1.0
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/lib/components/SButton.vue +22 -23
- package/lib/components/SDropdownSectionFilter.vue +4 -3
- package/lib/components/SInputCheckbox.vue +4 -3
- package/lib/components/SInputDropdown.vue +6 -5
- package/lib/components/SInputDropdownItemAvatar.vue +3 -3
- package/lib/components/SInputDropdownItemText.vue +3 -3
- package/lib/components/SInputFile.vue +1 -0
- package/lib/components/SInputSelect.vue +6 -5
- package/lib/components/SInputText.vue +2 -1
- package/lib/components/SModal.vue +17 -3
- package/lib/components/SSheet.vue +7 -6
- package/lib/components/SSnackbar.vue +6 -5
- package/lib/components/{icons/SIconPreloader.vue → SSpinner.vue} +5 -4
- package/lib/components/SStep.vue +6 -5
- package/lib/components/STable.vue +3 -2
- package/lib/components/STableCellText.vue +4 -3
- package/lib/components/STableColumn.vue +5 -5
- package/lib/components/STableFooter.vue +5 -5
- package/package.json +3 -1
- package/lib/components/icons/SIconActivity.vue +0 -5
- package/lib/components/icons/SIconArrowDown.vue +0 -5
- package/lib/components/icons/SIconArrowLeft.vue +0 -5
- package/lib/components/icons/SIconArrowRight.vue +0 -5
- package/lib/components/icons/SIconArrowUp.vue +0 -5
- package/lib/components/icons/SIconBarChart.vue +0 -7
- package/lib/components/icons/SIconBriefcase.vue +0 -5
- package/lib/components/icons/SIconBuilding.vue +0 -5
- package/lib/components/icons/SIconCalendar.vue +0 -5
- package/lib/components/icons/SIconCheck.vue +0 -5
- package/lib/components/icons/SIconCheckCircle.vue +0 -6
- package/lib/components/icons/SIconCheckCircleThin.vue +0 -6
- package/lib/components/icons/SIconCheckSquare.vue +0 -6
- package/lib/components/icons/SIconChevronDown.vue +0 -5
- package/lib/components/icons/SIconChevronLeft.vue +0 -5
- package/lib/components/icons/SIconChevronRight.vue +0 -5
- package/lib/components/icons/SIconChevronUp.vue +0 -5
- package/lib/components/icons/SIconClock.vue +0 -6
- package/lib/components/icons/SIconCode.vue +0 -6
- package/lib/components/icons/SIconDatabase.vue +0 -5
- package/lib/components/icons/SIconDollarSign.vue +0 -5
- package/lib/components/icons/SIconDownload.vue +0 -6
- package/lib/components/icons/SIconDownloadCloud.vue +0 -6
- package/lib/components/icons/SIconEdit.vue +0 -6
- package/lib/components/icons/SIconEdit2.vue +0 -5
- package/lib/components/icons/SIconEdit3.vue +0 -6
- package/lib/components/icons/SIconEdit3Off.vue +0 -6
- package/lib/components/icons/SIconExternalLink.vue +0 -6
- package/lib/components/icons/SIconEye.vue +0 -6
- package/lib/components/icons/SIconFile.vue +0 -5
- package/lib/components/icons/SIconFilePlus.vue +0 -6
- package/lib/components/icons/SIconFileText.vue +0 -8
- package/lib/components/icons/SIconFlag.vue +0 -5
- package/lib/components/icons/SIconGitBranch.vue +0 -5
- package/lib/components/icons/SIconGitCommit.vue +0 -5
- package/lib/components/icons/SIconGitPullRequest.vue +0 -6
- package/lib/components/icons/SIconGlobe.vue +0 -5
- package/lib/components/icons/SIconGrab.vue +0 -10
- package/lib/components/icons/SIconGrid.vue +0 -8
- package/lib/components/icons/SIconHome.vue +0 -5
- package/lib/components/icons/SIconImage.vue +0 -6
- package/lib/components/icons/SIconInbox.vue +0 -5
- package/lib/components/icons/SIconInfo.vue +0 -7
- package/lib/components/icons/SIconLayout.vue +0 -5
- package/lib/components/icons/SIconList.vue +0 -10
- package/lib/components/icons/SIconLock.vue +0 -5
- package/lib/components/icons/SIconLogout.vue +0 -6
- package/lib/components/icons/SIconMail.vue +0 -6
- package/lib/components/icons/SIconMapPin.vue +0 -6
- package/lib/components/icons/SIconMoon.vue +0 -5
- package/lib/components/icons/SIconMoreHorizontal.vue +0 -7
- package/lib/components/icons/SIconMoreVertical.vue +0 -7
- package/lib/components/icons/SIconPauseFill.vue +0 -6
- package/lib/components/icons/SIconPlayCircle.vue +0 -6
- package/lib/components/icons/SIconPlayFill.vue +0 -5
- package/lib/components/icons/SIconPlus.vue +0 -5
- package/lib/components/icons/SIconPlusCircle.vue +0 -8
- package/lib/components/icons/SIconPlusOff.vue +0 -7
- package/lib/components/icons/SIconPreloaderDark.vue +0 -52
- package/lib/components/icons/SIconPreloaderLight.vue +0 -52
- package/lib/components/icons/SIconProgress.vue +0 -5
- package/lib/components/icons/SIconRadio.vue +0 -6
- package/lib/components/icons/SIconSave.vue +0 -5
- package/lib/components/icons/SIconSearch.vue +0 -5
- package/lib/components/icons/SIconSend.vue +0 -5
- package/lib/components/icons/SIconSettings.vue +0 -6
- package/lib/components/icons/SIconShare2.vue +0 -5
- package/lib/components/icons/SIconSkipBackFill.vue +0 -6
- package/lib/components/icons/SIconSliders.vue +0 -12
- package/lib/components/icons/SIconSun.vue +0 -13
- package/lib/components/icons/SIconTelescope.vue +0 -5
- package/lib/components/icons/SIconTrash.vue +0 -5
- package/lib/components/icons/SIconTrash2.vue +0 -7
- package/lib/components/icons/SIconTrash2Off.vue +0 -6
- package/lib/components/icons/SIconTrello.vue +0 -7
- package/lib/components/icons/SIconUser.vue +0 -6
- package/lib/components/icons/SIconUsers.vue +0 -8
- package/lib/components/icons/SIconWarning.vue +0 -7
- package/lib/components/icons/SIconX.vue +0 -5
- package/lib/components/icons/SIconXCircle.vue +0 -6
- package/lib/components/icons/SIconXCircleThin.vue +0 -6
- package/lib/components/icons/SIconXSquare.vue +0 -6
- package/lib/components/icons/SIconZap.vue +0 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { computed } from 'vue'
|
|
3
3
|
import SIcon from './SIcon.vue'
|
|
4
|
-
import
|
|
4
|
+
import SSpinner from './SSpinner.vue'
|
|
5
5
|
|
|
6
6
|
export type Size = 'mini' | 'small' | 'medium' | 'large' | 'jumbo'
|
|
7
7
|
|
|
@@ -68,7 +68,7 @@ function handleClick(): void {
|
|
|
68
68
|
|
|
69
69
|
<transition name="fade">
|
|
70
70
|
<span v-if="loading" key="loading" class="loader">
|
|
71
|
-
<
|
|
71
|
+
<SSpinner class="loader-icon" />
|
|
72
72
|
</span>
|
|
73
73
|
</transition>
|
|
74
74
|
</component>
|
|
@@ -96,7 +96,7 @@ function handleClick(): void {
|
|
|
96
96
|
&:hover { background-color: var(--button-fill-bg-hover); }
|
|
97
97
|
&:active { background-color: var(--button-fill-bg-focus); }
|
|
98
98
|
|
|
99
|
-
& .loader-icon
|
|
99
|
+
& .loader-icon { color: var(--c-text-inverse-1); }
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
&.white {
|
|
@@ -106,7 +106,7 @@ function handleClick(): void {
|
|
|
106
106
|
&:hover { background-color: var(--c-gray-light-3); }
|
|
107
107
|
&:active { background-color: var(--c-gray-light-1); }
|
|
108
108
|
|
|
109
|
-
& .loader-icon
|
|
109
|
+
& .loader-icon { color: var(--c-white); }
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
&.black {
|
|
@@ -116,7 +116,7 @@ function handleClick(): void {
|
|
|
116
116
|
&:hover { background-color: var(--c-gray-dark-4); }
|
|
117
117
|
&:active { background-color: var(--c-gray-dark-3); }
|
|
118
118
|
|
|
119
|
-
& .loader-icon
|
|
119
|
+
& .loader-icon { color: var(--c-white); }
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
&.info {
|
|
@@ -126,7 +126,7 @@ function handleClick(): void {
|
|
|
126
126
|
&:hover { background-color: var(--c-info-dark); }
|
|
127
127
|
&:active { background-color: var(--c-info-darker); }
|
|
128
128
|
|
|
129
|
-
& .loader-icon
|
|
129
|
+
& .loader-icon { color: var(--c-white); }
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
&.success {
|
|
@@ -136,7 +136,7 @@ function handleClick(): void {
|
|
|
136
136
|
&:hover { background-color: var(--c-success-dark); }
|
|
137
137
|
&:active { background-color: var(--c-success-darker); }
|
|
138
138
|
|
|
139
|
-
& .loader-icon
|
|
139
|
+
& .loader-icon { color: var(--c-white); }
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
&.warning {
|
|
@@ -146,7 +146,7 @@ function handleClick(): void {
|
|
|
146
146
|
&:hover { background-color: var(--c-warning-dark); }
|
|
147
147
|
&:active { background-color: var(--c-warning-darker); }
|
|
148
148
|
|
|
149
|
-
& .loader-icon
|
|
149
|
+
& .loader-icon { color: var(--c-white); }
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
&.danger {
|
|
@@ -156,7 +156,7 @@ function handleClick(): void {
|
|
|
156
156
|
&:hover { background-color: var(--c-danger-dark); }
|
|
157
157
|
&:active { background-color: var(--c-danger-darker); }
|
|
158
158
|
|
|
159
|
-
& .loader-icon
|
|
159
|
+
& .loader-icon { color: var(--c-white); }
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
&.mute {
|
|
@@ -167,7 +167,7 @@ function handleClick(): void {
|
|
|
167
167
|
&:hover { border-color: var(--c-divider); background-color: var(--c-gray-light-4); }
|
|
168
168
|
&:active { background-color: var(--c-bg-soft); }
|
|
169
169
|
|
|
170
|
-
& .loader-icon
|
|
170
|
+
& .loader-icon { color: var(--c-black); }
|
|
171
171
|
|
|
172
172
|
.dark & {
|
|
173
173
|
border-color: var(--c-divider-light);
|
|
@@ -176,7 +176,7 @@ function handleClick(): void {
|
|
|
176
176
|
&:hover { border-color: var(--c-divider); background-color: var(--c-gray-dark-5); }
|
|
177
177
|
&:active { background-color: var(--c-bg-soft); }
|
|
178
178
|
|
|
179
|
-
& .loader-icon
|
|
179
|
+
& .loader-icon { color: var(--c-white); }
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
|
|
@@ -348,8 +348,8 @@ function handleClick(): void {
|
|
|
348
348
|
font-size: 12px;
|
|
349
349
|
|
|
350
350
|
.icon-svg {
|
|
351
|
-
width:
|
|
352
|
-
height:
|
|
351
|
+
width: 16px;
|
|
352
|
+
height: 16px;
|
|
353
353
|
}
|
|
354
354
|
|
|
355
355
|
&.mini.rounded {
|
|
@@ -379,8 +379,8 @@ function handleClick(): void {
|
|
|
379
379
|
font-size: 12px;
|
|
380
380
|
|
|
381
381
|
.icon-svg {
|
|
382
|
-
width:
|
|
383
|
-
height:
|
|
382
|
+
width: 18px;
|
|
383
|
+
height: 18px;
|
|
384
384
|
}
|
|
385
385
|
|
|
386
386
|
&.small.rounded {
|
|
@@ -410,8 +410,8 @@ function handleClick(): void {
|
|
|
410
410
|
font-size: 14px;
|
|
411
411
|
|
|
412
412
|
.icon-svg {
|
|
413
|
-
width:
|
|
414
|
-
height:
|
|
413
|
+
width: 20px;
|
|
414
|
+
height: 20px;
|
|
415
415
|
}
|
|
416
416
|
|
|
417
417
|
&.medium.rounded {
|
|
@@ -441,8 +441,8 @@ function handleClick(): void {
|
|
|
441
441
|
font-size: 14px;
|
|
442
442
|
|
|
443
443
|
.icon-svg {
|
|
444
|
-
width:
|
|
445
|
-
height:
|
|
444
|
+
width: 20px;
|
|
445
|
+
height: 20px;
|
|
446
446
|
}
|
|
447
447
|
|
|
448
448
|
&.large.rounded {
|
|
@@ -608,7 +608,8 @@ function handleClick(): void {
|
|
|
608
608
|
|
|
609
609
|
.icon-svg {
|
|
610
610
|
fill: currentColor;
|
|
611
|
-
transition: fill
|
|
611
|
+
transition-property: color, fill;
|
|
612
|
+
transition-duration: 0.25s;
|
|
612
613
|
}
|
|
613
614
|
|
|
614
615
|
.loader {
|
|
@@ -701,9 +702,7 @@ function handleClick(): void {
|
|
|
701
702
|
}
|
|
702
703
|
}
|
|
703
704
|
|
|
704
|
-
& .loader-icon :
|
|
705
|
-
fill: var(--c-text-inverse-1);
|
|
706
|
-
}
|
|
705
|
+
& .loader-icon { color: var(--c-text-inverse-1); }
|
|
707
706
|
}
|
|
708
707
|
|
|
709
708
|
.SButton.secondary {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import IconCheck from '@iconify-icons/ph/check'
|
|
2
3
|
import type { MaybeRef } from '@vueuse/core'
|
|
3
4
|
import Fuse from 'fuse.js'
|
|
4
5
|
import { ref, computed, unref, onMounted } from 'vue'
|
|
5
6
|
import { DropdownSectionFilterSelectedValue, DropdownSectionFilterOption } from '../composables/Dropdown'
|
|
6
7
|
import { isArray } from '../support/Utils'
|
|
7
8
|
import SDropdownSectionFilterItem from './SDropdownSectionFilterItem.vue'
|
|
8
|
-
import
|
|
9
|
+
import SIcon from './SIcon.vue'
|
|
9
10
|
|
|
10
11
|
const props = defineProps<{
|
|
11
12
|
search?: boolean
|
|
@@ -71,7 +72,7 @@ function handleClick(option: DropdownSectionFilterOption, value: string | number
|
|
|
71
72
|
>
|
|
72
73
|
<span class="checkbox">
|
|
73
74
|
<span class="checkbox-box">
|
|
74
|
-
<
|
|
75
|
+
<SIcon :icon="IconCheck" class="checkbox-icon" />
|
|
75
76
|
</span>
|
|
76
77
|
</span>
|
|
77
78
|
<span class="option-item">
|
|
@@ -167,7 +168,7 @@ function handleClick(option: DropdownSectionFilterOption, value: string | number
|
|
|
167
168
|
display: block;
|
|
168
169
|
width: 10px;
|
|
169
170
|
height: 10px;
|
|
170
|
-
|
|
171
|
+
color: var(--c-white);
|
|
171
172
|
opacity: 0;
|
|
172
173
|
transition: opacity 0.25s;
|
|
173
174
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<div class="input" :class="{ on: modelValue }" role="button" @click="emitChange">
|
|
12
12
|
<div class="box">
|
|
13
13
|
<div class="check">
|
|
14
|
-
<
|
|
14
|
+
<SIcon :icon="IconCheck" class="check-icon" />
|
|
15
15
|
</div>
|
|
16
16
|
</div>
|
|
17
17
|
|
|
@@ -22,10 +22,11 @@
|
|
|
22
22
|
</template>
|
|
23
23
|
|
|
24
24
|
<script setup lang="ts">
|
|
25
|
+
import IconCheck from '@iconify-icons/ph/check'
|
|
25
26
|
import { PropType } from 'vue'
|
|
26
27
|
import { Validatable } from '../composables/Validation'
|
|
28
|
+
import SIcon from './SIcon.vue'
|
|
27
29
|
import SInputBase from './SInputBase.vue'
|
|
28
|
-
import SIconCheck from './icons/SIconCheck.vue'
|
|
29
30
|
|
|
30
31
|
type Size = 'mini' | 'small' | 'medium'
|
|
31
32
|
|
|
@@ -101,7 +102,7 @@ function emitChange() {
|
|
|
101
102
|
.check-icon {
|
|
102
103
|
width: 10px;
|
|
103
104
|
height: 10px;
|
|
104
|
-
|
|
105
|
+
color: var(--c-white);
|
|
105
106
|
}
|
|
106
107
|
|
|
107
108
|
.text {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import IconCaretDown from '@iconify-icons/ph/caret-down'
|
|
3
|
+
import IconCaretUp from '@iconify-icons/ph/caret-up'
|
|
2
4
|
import xor from 'lodash-es/xor'
|
|
3
5
|
import { computed } from 'vue'
|
|
4
6
|
import type { DropdownSectionFilter } from '../composables/Dropdown'
|
|
@@ -6,10 +8,9 @@ import { useFlyout } from '../composables/Flyout'
|
|
|
6
8
|
import { Validatable } from '../composables/Validation'
|
|
7
9
|
import { isArray } from '../support/Utils'
|
|
8
10
|
import SDropdown from './SDropdown.vue'
|
|
11
|
+
import SIcon from './SIcon.vue'
|
|
9
12
|
import SInputBase from './SInputBase.vue'
|
|
10
13
|
import SInputDropdownItem from './SInputDropdownItem.vue'
|
|
11
|
-
import SIconChevronDown from './icons/SIconChevronDown.vue'
|
|
12
|
-
import SIconChevronUp from './icons/SIconChevronUp.vue'
|
|
13
14
|
|
|
14
15
|
export type Size = 'mini' | 'small' | 'medium'
|
|
15
16
|
export type PrimitiveValue = string | number | boolean | null
|
|
@@ -144,8 +145,8 @@ function handleArray(value: OptionValue) {
|
|
|
144
145
|
</div>
|
|
145
146
|
|
|
146
147
|
<div class="box-icon">
|
|
147
|
-
<
|
|
148
|
-
<
|
|
148
|
+
<SIcon :icon="IconCaretUp" class="box-icon-svg up" />
|
|
149
|
+
<SIcon :icon="IconCaretDown" class="box-icon-svg down" />
|
|
149
150
|
</div>
|
|
150
151
|
</div>
|
|
151
152
|
|
|
@@ -277,7 +278,7 @@ function handleArray(value: OptionValue) {
|
|
|
277
278
|
display: block;
|
|
278
279
|
width: 14px;
|
|
279
280
|
height: 14px;
|
|
280
|
-
|
|
281
|
+
color: var(--c-text-2);
|
|
281
282
|
}
|
|
282
283
|
|
|
283
284
|
.box-icon-svg.up {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import IconX from '@iconify-icons/ph/x'
|
|
2
3
|
import SAvatar from './SAvatar.vue'
|
|
3
|
-
import
|
|
4
|
+
import SIcon from './SIcon.vue'
|
|
4
5
|
|
|
5
6
|
defineProps<{
|
|
6
7
|
label: string
|
|
@@ -25,7 +26,7 @@ defineEmits<{
|
|
|
25
26
|
|
|
26
27
|
<div v-if="!disabled" class="remove" role="button" @click="$emit('remove', value)">
|
|
27
28
|
<div class="remove-box">
|
|
28
|
-
<
|
|
29
|
+
<SIcon :icon="IconX" class="remove-icon" />
|
|
29
30
|
</div>
|
|
30
31
|
</div>
|
|
31
32
|
</div>
|
|
@@ -94,6 +95,5 @@ defineEmits<{
|
|
|
94
95
|
.remove-icon {
|
|
95
96
|
width: 12px;
|
|
96
97
|
height: 12px;
|
|
97
|
-
fill: currentColor;
|
|
98
98
|
}
|
|
99
99
|
</style>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import
|
|
2
|
+
import IconX from '@iconify-icons/ph/x'
|
|
3
|
+
import SIcon from './SIcon.vue'
|
|
3
4
|
|
|
4
5
|
defineProps<{
|
|
5
6
|
label: string
|
|
@@ -18,7 +19,7 @@ defineEmits<{
|
|
|
18
19
|
|
|
19
20
|
<div v-if="!disabled" class="remove" role="button" @click.stop="$emit('remove', value)">
|
|
20
21
|
<div class="remove-box">
|
|
21
|
-
<
|
|
22
|
+
<SIcon :icon="IconX" class="remove-icon" />
|
|
22
23
|
</div>
|
|
23
24
|
</div>
|
|
24
25
|
</div>
|
|
@@ -86,6 +87,5 @@ defineEmits<{
|
|
|
86
87
|
.remove-icon {
|
|
87
88
|
width: 12px;
|
|
88
89
|
height: 12px;
|
|
89
|
-
fill: currentColor;
|
|
90
90
|
}
|
|
91
91
|
</style>
|
|
@@ -38,19 +38,20 @@
|
|
|
38
38
|
</select>
|
|
39
39
|
|
|
40
40
|
<div class="icon" role="button">
|
|
41
|
-
<
|
|
42
|
-
<
|
|
41
|
+
<SIcon :icon="IconCaretUp" class="icon-svg up" />
|
|
42
|
+
<SIcon :icon="IconCaretDown" class="icon-svg down" />
|
|
43
43
|
</div>
|
|
44
44
|
</div>
|
|
45
45
|
</SInputBase>
|
|
46
46
|
</template>
|
|
47
47
|
|
|
48
48
|
<script setup lang="ts">
|
|
49
|
+
import IconCaretDown from '@iconify-icons/ph/caret-down'
|
|
50
|
+
import IconCaretUp from '@iconify-icons/ph/caret-up'
|
|
49
51
|
import { PropType, ref, computed } from 'vue'
|
|
50
52
|
import { Validatable } from '../composables/Validation'
|
|
53
|
+
import SIcon from './SIcon.vue'
|
|
51
54
|
import SInputBase from './SInputBase.vue'
|
|
52
|
-
import SIconChevronDown from './icons/SIconChevronDown.vue'
|
|
53
|
-
import SIconChevronUp from './icons/SIconChevronUp.vue'
|
|
54
55
|
|
|
55
56
|
type Size = 'mini' | 'small' | 'medium'
|
|
56
57
|
|
|
@@ -226,7 +227,7 @@ function emitChange(e: any): void {
|
|
|
226
227
|
display: block;
|
|
227
228
|
width: 14px;
|
|
228
229
|
height: 14px;
|
|
229
|
-
|
|
230
|
+
color: var(--input-placeholder);
|
|
230
231
|
}
|
|
231
232
|
|
|
232
233
|
.icon-svg.up {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { ref, computed } from 'vue'
|
|
3
3
|
import { Validatable } from '../composables/Validation'
|
|
4
|
+
import SIcon from './SIcon.vue'
|
|
4
5
|
import SInputBase from './SInputBase.vue'
|
|
5
6
|
|
|
6
7
|
export type Size = 'mini' | 'small' | 'medium'
|
|
@@ -93,7 +94,7 @@ function getValue(e: Event | FocusEvent | KeyboardEvent): string | null {
|
|
|
93
94
|
>
|
|
94
95
|
<div class="box" :class="{ focus: isFocused }" @click="focus">
|
|
95
96
|
<div v-if="icon" class="icon">
|
|
96
|
-
<
|
|
97
|
+
<SIcon :icon="icon" class="icon-svg" />
|
|
97
98
|
</div>
|
|
98
99
|
|
|
99
100
|
<div class="value">
|
|
@@ -1,22 +1,36 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import { ref } from 'vue'
|
|
3
|
+
|
|
2
4
|
export interface Props {
|
|
3
5
|
open: boolean
|
|
4
6
|
closable?: boolean
|
|
5
7
|
}
|
|
6
8
|
|
|
7
|
-
withDefaults(defineProps<Props>(), {
|
|
9
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
8
10
|
closable: true
|
|
9
11
|
})
|
|
10
12
|
|
|
11
|
-
defineEmits<{
|
|
13
|
+
const emit = defineEmits<{
|
|
12
14
|
(e: 'close'): void
|
|
13
15
|
}>()
|
|
16
|
+
|
|
17
|
+
const el = ref<any>(null)
|
|
18
|
+
|
|
19
|
+
function onClick(e: any) {
|
|
20
|
+
if (!props.closable) {
|
|
21
|
+
return
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (e.target === el.value) {
|
|
25
|
+
emit('close')
|
|
26
|
+
}
|
|
27
|
+
}
|
|
14
28
|
</script>
|
|
15
29
|
|
|
16
30
|
<template>
|
|
17
31
|
<Teleport to="#sefirot-modals">
|
|
18
32
|
<transition name="fade">
|
|
19
|
-
<div v-if="open" class="SModal" @click="
|
|
33
|
+
<div v-if="open" class="SModal" ref="el" @click="onClick">
|
|
20
34
|
<slot />
|
|
21
35
|
</div>
|
|
22
36
|
</transition>
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import
|
|
2
|
+
import IconX from '@iconify-icons/ph/x'
|
|
3
|
+
import SIcon from './SIcon.vue'
|
|
4
|
+
import SMount from './SMount.vue'
|
|
3
5
|
|
|
4
6
|
export interface Props {
|
|
5
7
|
size?: 'small' | 'medium' | 'large'
|
|
@@ -11,19 +13,19 @@ withDefaults(defineProps<Props>(), {
|
|
|
11
13
|
closable: true
|
|
12
14
|
})
|
|
13
15
|
|
|
14
|
-
defineEmits<{
|
|
16
|
+
const emit = defineEmits<{
|
|
15
17
|
(e: 'close'): void
|
|
16
18
|
}>()
|
|
17
19
|
</script>
|
|
18
20
|
|
|
19
21
|
<template>
|
|
20
|
-
<
|
|
22
|
+
<SMount class="SSheet" :class="[size]">
|
|
21
23
|
<button v-if="closable ?? true" class="close" @click="$emit('close')">
|
|
22
|
-
<
|
|
24
|
+
<SIcon :icon="IconX" class="icon" />
|
|
23
25
|
</button>
|
|
24
26
|
|
|
25
27
|
<slot />
|
|
26
|
-
</
|
|
28
|
+
</SMount>
|
|
27
29
|
</template>
|
|
28
30
|
|
|
29
31
|
<style scoped lang="postcss">
|
|
@@ -81,6 +83,5 @@ defineEmits<{
|
|
|
81
83
|
.icon {
|
|
82
84
|
width: 24px;
|
|
83
85
|
height: 24px;
|
|
84
|
-
fill: currentColor;
|
|
85
86
|
}
|
|
86
87
|
</style>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import IconX from '@iconify-icons/ph/x'
|
|
2
3
|
import { SnackbarAction, useSnackbars } from '../stores/Snackbars'
|
|
3
4
|
import SButton from './SButton.vue'
|
|
4
|
-
import
|
|
5
|
+
import SIcon from './SIcon.vue'
|
|
5
6
|
|
|
6
7
|
const props = defineProps<{
|
|
7
8
|
id: number
|
|
@@ -20,7 +21,7 @@ function close() {
|
|
|
20
21
|
<template>
|
|
21
22
|
<div class="SSnackbar" :class="[mode ?? 'neutral']">
|
|
22
23
|
<button class="close" @click="close">
|
|
23
|
-
<
|
|
24
|
+
<SIcon :icon="IconX" class="close-icon" />
|
|
24
25
|
</button>
|
|
25
26
|
|
|
26
27
|
<p class="content">
|
|
@@ -78,7 +79,7 @@ function close() {
|
|
|
78
79
|
|
|
79
80
|
&:hover {
|
|
80
81
|
.close-icon {
|
|
81
|
-
|
|
82
|
+
color: var(--c-text-1);
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
}
|
|
@@ -86,8 +87,8 @@ function close() {
|
|
|
86
87
|
.close-icon {
|
|
87
88
|
width: 16px;
|
|
88
89
|
height: 16px;
|
|
89
|
-
|
|
90
|
-
transition:
|
|
90
|
+
color: var(--c-text-3);
|
|
91
|
+
transition: color .25s;
|
|
91
92
|
}
|
|
92
93
|
|
|
93
94
|
.content {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">
|
|
2
|
+
<svg class="SSpinner" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">
|
|
3
3
|
<g transform="rotate(0 50 50)">
|
|
4
4
|
<rect
|
|
5
5
|
class="bar"
|
|
@@ -228,12 +228,13 @@
|
|
|
228
228
|
repeatCount="indefinite"
|
|
229
229
|
/>
|
|
230
230
|
</rect>
|
|
231
|
-
</g
|
|
231
|
+
</g>
|
|
232
|
+
</svg>
|
|
232
233
|
</template>
|
|
233
234
|
|
|
234
235
|
<style lang="postcss" scoped>
|
|
235
236
|
.bar {
|
|
236
|
-
fill:
|
|
237
|
-
transition: fill .5s;
|
|
237
|
+
fill: currentColor;
|
|
238
|
+
transition: fill 0.5s;
|
|
238
239
|
}
|
|
239
240
|
</style>
|
package/lib/components/SStep.vue
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<div class="bar" :class="[barLeft]" />
|
|
5
5
|
<div class="point">
|
|
6
6
|
<div v-if="status === 'active'" class="inner-dot" />
|
|
7
|
-
<
|
|
8
|
-
<
|
|
7
|
+
<SIcon v-else-if="status === 'done'" :icon="IconCheck" class="icon" />
|
|
8
|
+
<SIcon v-else-if="status === 'failed'" :icon="IconX" class="icon" />
|
|
9
9
|
</div>
|
|
10
10
|
<div class="bar" :class="[barRight]" />
|
|
11
11
|
</div>
|
|
@@ -15,10 +15,11 @@
|
|
|
15
15
|
</template>
|
|
16
16
|
|
|
17
17
|
<script setup lang="ts">
|
|
18
|
+
import IconCheck from '@iconify-icons/ph/check'
|
|
19
|
+
import IconX from '@iconify-icons/ph/x'
|
|
18
20
|
import { PropType } from 'vue'
|
|
19
21
|
import { StepStatus, BarMode } from '../composables/Step'
|
|
20
|
-
import
|
|
21
|
-
import SIconX from './icons/SIconX.vue'
|
|
22
|
+
import SIcon from './SIcon.vue'
|
|
22
23
|
|
|
23
24
|
defineProps({
|
|
24
25
|
status: { type: String as PropType<StepStatus>, required: true },
|
|
@@ -83,7 +84,7 @@ defineProps({
|
|
|
83
84
|
.icon {
|
|
84
85
|
width: 10px;
|
|
85
86
|
height: 10px;
|
|
86
|
-
|
|
87
|
+
color: var(--c-white);
|
|
87
88
|
}
|
|
88
89
|
|
|
89
90
|
.bar {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { reactive, ref, computed, watch, toRefs } from 'vue'
|
|
3
3
|
import { Table } from '../composables/Table'
|
|
4
|
+
import SSpinner from './SSpinner.vue'
|
|
4
5
|
import STableCell from './STableCell.vue'
|
|
5
6
|
import STableColumn from './STableColumn.vue'
|
|
6
7
|
import STableFooter from './STableFooter.vue'
|
|
7
8
|
import STableHeader from './STableHeader.vue'
|
|
8
9
|
import STableItem from './STableItem.vue'
|
|
9
|
-
import SIconPreloader from './icons/SIconPreloader.vue'
|
|
10
10
|
|
|
11
11
|
const props = defineProps<{
|
|
12
12
|
options: Table
|
|
@@ -146,7 +146,7 @@ function updateColWidth(key: string, value: string) {
|
|
|
146
146
|
|
|
147
147
|
<div v-if="loading" class="loading">
|
|
148
148
|
<div class="loading-icon">
|
|
149
|
-
<
|
|
149
|
+
<SSpinner class="loading-svg" />
|
|
150
150
|
</div>
|
|
151
151
|
</div>
|
|
152
152
|
|
|
@@ -237,5 +237,6 @@ function updateColWidth(key: string, value: string) {
|
|
|
237
237
|
.loading-svg {
|
|
238
238
|
width: 48px;
|
|
239
239
|
height: 48px;
|
|
240
|
+
color: var(--c-text-1);
|
|
240
241
|
}
|
|
241
242
|
</style>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { computed } from 'vue'
|
|
3
|
+
import SIcon from './SIcon.vue'
|
|
3
4
|
import SLink from './SLink.vue'
|
|
4
5
|
|
|
5
6
|
const props = defineProps<{
|
|
@@ -27,7 +28,7 @@ const _value = computed(() => {
|
|
|
27
28
|
<div class="STableCellText" :class="[{ link }, color ?? 'neutral']">
|
|
28
29
|
<SLink v-if="_value" class="container" :href="link?.(value, record)">
|
|
29
30
|
<div v-if="icon" class="icon" :class="[iconColor ?? color ?? 'neutral']">
|
|
30
|
-
<
|
|
31
|
+
<SIcon :icon="icon" class="svg" />
|
|
31
32
|
</div>
|
|
32
33
|
<div class="text" :class="[color ?? 'neutral']">
|
|
33
34
|
{{ _value }}
|
|
@@ -95,8 +96,8 @@ const _value = computed(() => {
|
|
|
95
96
|
}
|
|
96
97
|
|
|
97
98
|
.svg {
|
|
98
|
-
width:
|
|
99
|
-
height:
|
|
99
|
+
width: 18px;
|
|
100
|
+
height: 18px;
|
|
100
101
|
fill: currentColor;
|
|
101
102
|
}
|
|
102
103
|
</style>
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import IconDotsThree from '@iconify-icons/ph/dots-three'
|
|
2
3
|
import { ref, computed, unref, watch, nextTick } from 'vue'
|
|
3
4
|
import { DropdownSection } from '../composables/Dropdown'
|
|
4
5
|
import { useFlyout } from '../composables/Flyout'
|
|
5
6
|
import { isArray } from '../support/Utils'
|
|
6
7
|
import SDropdown from './SDropdown.vue'
|
|
7
|
-
import
|
|
8
|
+
import SIcon from './SIcon.vue'
|
|
8
9
|
|
|
9
10
|
const props = defineProps<{
|
|
10
11
|
name: string
|
|
@@ -113,7 +114,7 @@ function stopDialogPositionListener() {
|
|
|
113
114
|
|
|
114
115
|
<div v-if="dropdown" class="action" ref="container">
|
|
115
116
|
<button class="button" :class="{ active: buttonActive }" @click="toggle">
|
|
116
|
-
<
|
|
117
|
+
<SIcon :icon="IconDotsThree" class="icon" />
|
|
117
118
|
</button>
|
|
118
119
|
|
|
119
120
|
<transition name="fade">
|
|
@@ -198,9 +199,8 @@ function stopDialogPositionListener() {
|
|
|
198
199
|
}
|
|
199
200
|
|
|
200
201
|
.icon {
|
|
201
|
-
width:
|
|
202
|
-
height:
|
|
203
|
-
fill: currentColor;
|
|
202
|
+
width: 20px;
|
|
203
|
+
height: 20px;
|
|
204
204
|
}
|
|
205
205
|
|
|
206
206
|
.dialog {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import IconCaretLeft from '@iconify-icons/ph/caret-left-bold'
|
|
3
|
+
import IconCaretRight from '@iconify-icons/ph/caret-right-bold'
|
|
2
4
|
import { computed } from 'vue'
|
|
3
5
|
import { format } from '../support/Num'
|
|
4
|
-
import
|
|
5
|
-
import SIconChevronRight from './icons/SIconChevronRight.vue'
|
|
6
|
+
import SIcon from './SIcon.vue'
|
|
6
7
|
|
|
7
8
|
const props = defineProps<{
|
|
8
9
|
total?: number
|
|
@@ -43,10 +44,10 @@ const hasNext = computed(() => {
|
|
|
43
44
|
|
|
44
45
|
<div class="actions">
|
|
45
46
|
<button class="button prev" :class="{ active: hasPrev }" @click="onPrev">
|
|
46
|
-
<
|
|
47
|
+
<SIcon :icon="IconCaretLeft" class="icon" />
|
|
47
48
|
</button>
|
|
48
49
|
<button class="button next" :class="{ active: hasNext }" @click="onNext">
|
|
49
|
-
<
|
|
50
|
+
<SIcon :icon="IconCaretRight" class="icon" />
|
|
50
51
|
</button>
|
|
51
52
|
</div>
|
|
52
53
|
</div>
|
|
@@ -110,6 +111,5 @@ const hasNext = computed(() => {
|
|
|
110
111
|
.icon {
|
|
111
112
|
width: 16px;
|
|
112
113
|
height: 16px;
|
|
113
|
-
fill: currentColor;
|
|
114
114
|
}
|
|
115
115
|
</style>
|