@redseed/redseed-ui-vue3 7.6.2 → 8.0.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/index.js +1 -0
- package/package.json +2 -2
- package/src/components/ActivityFeeds/FeedItem.vue +7 -2
- package/src/components/Card/CardHeader.vue +4 -1
- package/src/components/Disclosure/Disclosure.vue +15 -8
- package/src/components/Empty/Empty.vue +4 -1
- package/src/components/Icon/Icon.vue +9 -0
- package/src/components/Icon/IconCircleBackground.vue +9 -0
- package/src/components/Icon/IconRoundedBackground.vue +9 -0
- package/src/components/Icon/IconSlot.vue +167 -0
- package/src/components/Icon/index.js +11 -0
- package/src/components/Image/Image.vue +4 -1
- package/src/components/Layouts/SectionHeader.vue +4 -1
- package/src/components/LinkedList/LinkedListItem.vue +11 -9
- package/src/components/Loader/Loader.vue +2 -3
- package/src/components/MessageBox/MessageBox.vue +6 -3
- package/src/components/MetaInfo/MetaInfo.vue +4 -1
- package/src/components/Pagination/Pagination.vue +2 -0
- package/src/components/Pagination/PaginationItemCollapsed.vue +4 -1
- package/src/components/Pagination/PaginationItemNext.vue +11 -1
- package/src/components/Pagination/PaginationItemPrevious.vue +11 -1
- package/src/components/Sorting/Sorting.vue +5 -1
- package/src/components/Switcher/Switcher.vue +4 -3
- package/src/components/Table/TdUser.vue +4 -1
- package/src/components/Table/Th.vue +11 -4
package/index.js
CHANGED
|
@@ -18,6 +18,7 @@ export * from './src/components/Empty'
|
|
|
18
18
|
export * from './src/components/Form'
|
|
19
19
|
export * from './src/components/FormField'
|
|
20
20
|
export * from './src/components/HTML'
|
|
21
|
+
export * from './src/components/Icon'
|
|
21
22
|
export * from './src/components/Image'
|
|
22
23
|
export * from './src/components/Layouts'
|
|
23
24
|
export * from './src/components/Link'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redseed/redseed-ui-vue3",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"description": "RedSeed UI Vue 3 components",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": "https://github.com/redseedtraining/redseed-ui",
|
|
@@ -16,6 +16,6 @@
|
|
|
16
16
|
"@vueuse/core": "^14.0.0",
|
|
17
17
|
"lodash": "^4.17.21",
|
|
18
18
|
"lottie-web": "^5.13.0",
|
|
19
|
-
"vue": "^3.5.
|
|
19
|
+
"vue": "^3.5.24"
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import IconCircleBackground from '../Icon/IconCircleBackground.vue'
|
|
2
3
|
import { UserIcon } from '@heroicons/vue/24/outline'
|
|
3
4
|
|
|
4
5
|
const props = defineProps({
|
|
@@ -44,8 +45,12 @@ function handleClick() {
|
|
|
44
45
|
|
|
45
46
|
<div class="rsui-feed-item__avatar">
|
|
46
47
|
|
|
47
|
-
<slot name="
|
|
48
|
-
<
|
|
48
|
+
<slot name="icon">
|
|
49
|
+
<IconCircleBackground lg invert>
|
|
50
|
+
<slot name="avatar">
|
|
51
|
+
<UserIcon />
|
|
52
|
+
</slot>
|
|
53
|
+
</IconCircleBackground>
|
|
49
54
|
</slot>
|
|
50
55
|
|
|
51
56
|
<div v-if="status !== false"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed, ref, toRefs } from 'vue'
|
|
3
3
|
import ButtonTertiary from '../Button/ButtonTertiary.vue'
|
|
4
|
+
import Icon from '../Icon/Icon.vue'
|
|
4
5
|
import { useResponsiveWidth } from '../../helpers'
|
|
5
6
|
import { EllipsisVerticalIcon } from '@heroicons/vue/24/outline'
|
|
6
7
|
|
|
@@ -133,7 +134,9 @@ function handleMoreActionsClick() {
|
|
|
133
134
|
>
|
|
134
135
|
<ButtonTertiary @click="handleMoreActionsClick">
|
|
135
136
|
<slot name="more-actions-label">
|
|
136
|
-
<
|
|
137
|
+
<Icon>
|
|
138
|
+
<EllipsisVerticalIcon />
|
|
139
|
+
</Icon>
|
|
137
140
|
</slot>
|
|
138
141
|
</ButtonTertiary>
|
|
139
142
|
</slot>
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { ref, watch, watchEffect, nextTick, onMounted } from 'vue'
|
|
3
3
|
import { ChevronDownIcon } from '@heroicons/vue/24/outline'
|
|
4
4
|
import { ButtonTertiary } from '../Button'
|
|
5
|
+
import Icon from '../Icon/Icon.vue'
|
|
5
6
|
|
|
6
7
|
defineOptions({
|
|
7
8
|
inheritAttrs: false,
|
|
@@ -12,6 +13,10 @@ const props = defineProps({
|
|
|
12
13
|
type: Boolean,
|
|
13
14
|
default: false,
|
|
14
15
|
},
|
|
16
|
+
iconProps: {
|
|
17
|
+
type: Object,
|
|
18
|
+
default: () => {},
|
|
19
|
+
},
|
|
15
20
|
})
|
|
16
21
|
|
|
17
22
|
const emit = defineEmits(['click'])
|
|
@@ -104,14 +109,16 @@ onMounted(() => {
|
|
|
104
109
|
:full="$attrs.full"
|
|
105
110
|
@click.stop="handleTrigger"
|
|
106
111
|
>
|
|
107
|
-
<
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
112
|
+
<Icon v-bind="iconProps">
|
|
113
|
+
<ChevronDownIcon
|
|
114
|
+
:class="[
|
|
115
|
+
'rsui-disclosure__trigger-icon',
|
|
116
|
+
{
|
|
117
|
+
'rsui-disclosure__trigger-icon--open': isOpen,
|
|
118
|
+
}
|
|
119
|
+
]"
|
|
120
|
+
></ChevronDownIcon>
|
|
121
|
+
</Icon>
|
|
115
122
|
</ButtonTertiary>
|
|
116
123
|
</slot>
|
|
117
124
|
</Teleport>
|
|
@@ -4,6 +4,7 @@ import ButtonPrimary from '../Button/ButtonPrimary.vue'
|
|
|
4
4
|
import ButtonSecondary from '../Button/ButtonSecondary.vue'
|
|
5
5
|
import ButtonTertiary from '../Button/ButtonTertiary.vue'
|
|
6
6
|
import BodyText from '../HTML/BodyText.vue'
|
|
7
|
+
import IconCircleBackground from '../Icon/IconCircleBackground.vue'
|
|
7
8
|
import { ExclamationCircleIcon } from '@heroicons/vue/24/outline'
|
|
8
9
|
import { useResponsiveWidth } from '../../helpers'
|
|
9
10
|
|
|
@@ -43,7 +44,9 @@ const emptyClass = computed(() => [
|
|
|
43
44
|
class="rsui-empty__image"
|
|
44
45
|
>
|
|
45
46
|
<slot name="image">
|
|
46
|
-
<
|
|
47
|
+
<IconCircleBackground lg invert>
|
|
48
|
+
<ExclamationCircleIcon />
|
|
49
|
+
</IconCircleBackground>
|
|
47
50
|
</slot>
|
|
48
51
|
</div>
|
|
49
52
|
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed } from 'vue'
|
|
3
|
+
|
|
4
|
+
const props = defineProps({
|
|
5
|
+
xxs: {
|
|
6
|
+
type: Boolean,
|
|
7
|
+
default: false,
|
|
8
|
+
},
|
|
9
|
+
xs: {
|
|
10
|
+
type: Boolean,
|
|
11
|
+
default: false,
|
|
12
|
+
},
|
|
13
|
+
sm: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: false,
|
|
16
|
+
},
|
|
17
|
+
md: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: false,
|
|
20
|
+
},
|
|
21
|
+
lg: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
default: false,
|
|
24
|
+
},
|
|
25
|
+
xl: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
default: false,
|
|
28
|
+
},
|
|
29
|
+
xxl: {
|
|
30
|
+
type: Boolean,
|
|
31
|
+
default: false,
|
|
32
|
+
},
|
|
33
|
+
xxxl: {
|
|
34
|
+
type: Boolean,
|
|
35
|
+
default: false,
|
|
36
|
+
},
|
|
37
|
+
primary: {
|
|
38
|
+
type: Boolean,
|
|
39
|
+
default: false,
|
|
40
|
+
},
|
|
41
|
+
secondary: {
|
|
42
|
+
type: Boolean,
|
|
43
|
+
default: false,
|
|
44
|
+
},
|
|
45
|
+
brand: {
|
|
46
|
+
type: Boolean,
|
|
47
|
+
default: false,
|
|
48
|
+
},
|
|
49
|
+
success: {
|
|
50
|
+
type: Boolean,
|
|
51
|
+
default: false,
|
|
52
|
+
},
|
|
53
|
+
info: {
|
|
54
|
+
type: Boolean,
|
|
55
|
+
default: false,
|
|
56
|
+
},
|
|
57
|
+
warning: {
|
|
58
|
+
type: Boolean,
|
|
59
|
+
default: false,
|
|
60
|
+
},
|
|
61
|
+
error: {
|
|
62
|
+
type: Boolean,
|
|
63
|
+
default: false,
|
|
64
|
+
},
|
|
65
|
+
ai: {
|
|
66
|
+
type: Boolean,
|
|
67
|
+
default: false,
|
|
68
|
+
},
|
|
69
|
+
disabled: {
|
|
70
|
+
type: Boolean,
|
|
71
|
+
default: false,
|
|
72
|
+
},
|
|
73
|
+
rounded: {
|
|
74
|
+
type: Boolean,
|
|
75
|
+
default: false,
|
|
76
|
+
},
|
|
77
|
+
circle: {
|
|
78
|
+
type: Boolean,
|
|
79
|
+
default: false,
|
|
80
|
+
},
|
|
81
|
+
background: {
|
|
82
|
+
type: Boolean,
|
|
83
|
+
default: false,
|
|
84
|
+
},
|
|
85
|
+
invert: {
|
|
86
|
+
type: Boolean,
|
|
87
|
+
default: false,
|
|
88
|
+
},
|
|
89
|
+
})
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Default size is md (size-5) if no size is specified.
|
|
93
|
+
*/
|
|
94
|
+
const defaultSize = computed(() =>
|
|
95
|
+
!props.xxs
|
|
96
|
+
&& !props.xs
|
|
97
|
+
&& !props.sm
|
|
98
|
+
&& !props.md
|
|
99
|
+
&& !props.lg
|
|
100
|
+
&& !props.xl
|
|
101
|
+
&& !props.xxl
|
|
102
|
+
&& !props.xxxl
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Default color is primary if no color is specified.
|
|
107
|
+
*/
|
|
108
|
+
const defaultColor = computed(() =>
|
|
109
|
+
!props.primary
|
|
110
|
+
&& !props.secondary
|
|
111
|
+
&& !props.brand
|
|
112
|
+
&& !props.success
|
|
113
|
+
&& !props.info
|
|
114
|
+
&& !props.warning
|
|
115
|
+
&& !props.error
|
|
116
|
+
&& !props.ai
|
|
117
|
+
&& !props.disabled
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
const iconClass = computed(() => [
|
|
121
|
+
'rsui-icon',
|
|
122
|
+
{
|
|
123
|
+
/**
|
|
124
|
+
* Sizes
|
|
125
|
+
*/
|
|
126
|
+
'rsui-icon--xxs': props.xxs, // size-2
|
|
127
|
+
'rsui-icon--xs': props.xs, // size-3
|
|
128
|
+
'rsui-icon--sm': props.sm, // size-4
|
|
129
|
+
'rsui-icon--md': props.md || defaultSize.value, // size-5
|
|
130
|
+
'rsui-icon--lg': props.lg, // size-6
|
|
131
|
+
'rsui-icon--xl': props.xl, // size-8
|
|
132
|
+
'rsui-icon--xxl': props.xxl, // size-10
|
|
133
|
+
'rsui-icon--xxxl': props.xxxl, // size-12
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Colors
|
|
137
|
+
*/
|
|
138
|
+
'rsui-icon--primary': props.primary || defaultColor.value,
|
|
139
|
+
'rsui-icon--secondary': props.secondary,
|
|
140
|
+
'rsui-icon--brand': props.brand,
|
|
141
|
+
'rsui-icon--success': props.success,
|
|
142
|
+
'rsui-icon--info': props.info,
|
|
143
|
+
'rsui-icon--warning': props.warning,
|
|
144
|
+
'rsui-icon--error': props.error,
|
|
145
|
+
'rsui-icon--ai': props.ai,
|
|
146
|
+
'rsui-icon--disabled': props.disabled,
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Shapes
|
|
150
|
+
*/
|
|
151
|
+
'rsui-icon--rounded': props.rounded,
|
|
152
|
+
'rsui-icon--circle': props.circle,
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Variants
|
|
156
|
+
*/
|
|
157
|
+
'rsui-icon--background': props.background,
|
|
158
|
+
'rsui-icon--invert': props.invert,
|
|
159
|
+
}
|
|
160
|
+
])
|
|
161
|
+
</script>
|
|
162
|
+
|
|
163
|
+
<template>
|
|
164
|
+
<div :class="iconClass">
|
|
165
|
+
<slot></slot>
|
|
166
|
+
</div>
|
|
167
|
+
</template>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Icon from './Icon.vue'
|
|
2
|
+
import IconSlot from './IconSlot.vue'
|
|
3
|
+
import IconRoundedBackground from './IconRoundedBackground.vue'
|
|
4
|
+
import IconCircleBackground from './IconCircleBackground.vue'
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
Icon,
|
|
8
|
+
IconSlot,
|
|
9
|
+
IconRoundedBackground,
|
|
10
|
+
IconCircleBackground,
|
|
11
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { ref, computed, watch } from 'vue'
|
|
3
3
|
import { useImage } from '@vueuse/core'
|
|
4
|
+
import Icon from '../Icon/Icon.vue'
|
|
4
5
|
import { PhotoIcon } from '@heroicons/vue/24/outline'
|
|
5
6
|
|
|
6
7
|
const props = defineProps({
|
|
@@ -140,7 +141,9 @@ const imageClass = computed(() => [
|
|
|
140
141
|
class="rsui-image__empty"
|
|
141
142
|
>
|
|
142
143
|
<slot name="empty-icon">
|
|
143
|
-
<
|
|
144
|
+
<Icon xxl disabled>
|
|
145
|
+
<PhotoIcon></PhotoIcon>
|
|
146
|
+
</Icon>
|
|
144
147
|
</slot>
|
|
145
148
|
</div>
|
|
146
149
|
<div v-else-if="isLoading"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { ref, computed, useSlots } from 'vue'
|
|
3
3
|
import ButtonTertiary from '../Button/ButtonTertiary.vue'
|
|
4
|
+
import Icon from '../Icon/Icon.vue'
|
|
4
5
|
import { useResponsiveWidth } from '../../helpers'
|
|
5
6
|
import { EllipsisVerticalIcon } from '@heroicons/vue/24/outline'
|
|
6
7
|
|
|
@@ -103,7 +104,9 @@ const showToolbar = computed(() => {
|
|
|
103
104
|
>
|
|
104
105
|
<ButtonTertiary @click="handleMoreActionsClick">
|
|
105
106
|
<slot name="more-actions-label">
|
|
106
|
-
<
|
|
107
|
+
<Icon>
|
|
108
|
+
<EllipsisVerticalIcon />
|
|
109
|
+
</Icon>
|
|
107
110
|
</slot>
|
|
108
111
|
</ButtonTertiary>
|
|
109
112
|
</slot>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { ref, computed, watch, useAttrs } from 'vue'
|
|
3
|
+
import Icon from '../Icon/Icon.vue'
|
|
3
4
|
import { CheckIcon } from '@heroicons/vue/24/outline'
|
|
4
5
|
|
|
5
6
|
defineOptions({
|
|
@@ -44,17 +45,18 @@ const statusClass = computed(() => [
|
|
|
44
45
|
<template>
|
|
45
46
|
<li :class="componentClass">
|
|
46
47
|
<div :class="statusClass">
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
<
|
|
48
|
+
|
|
49
|
+
<slot name="active-icon"
|
|
50
|
+
v-if="$slots['active-icon'] && isActive"
|
|
51
|
+
/>
|
|
52
|
+
|
|
53
|
+
<slot name="done-icon"
|
|
54
|
+
v-if="isDone"
|
|
53
55
|
>
|
|
54
|
-
<
|
|
56
|
+
<Icon xxs invert>
|
|
55
57
|
<CheckIcon />
|
|
56
|
-
</
|
|
57
|
-
</
|
|
58
|
+
</Icon>
|
|
59
|
+
</slot>
|
|
58
60
|
</div>
|
|
59
61
|
<div class="rsui-linked-list-item__title">
|
|
60
62
|
<slot name="title"></slot>
|
|
@@ -18,14 +18,13 @@ const props = defineProps({
|
|
|
18
18
|
},
|
|
19
19
|
})
|
|
20
20
|
|
|
21
|
-
const defaultColor = computed(() => !props.
|
|
21
|
+
const defaultColor = computed(() => !props.primary && !props.secondary && !props.white)
|
|
22
22
|
|
|
23
23
|
const loaderClass = computed(() => [
|
|
24
24
|
'rsui-loader',
|
|
25
25
|
{
|
|
26
|
-
'rsui-loader--primary': props.primary,
|
|
26
|
+
'rsui-loader--primary': props.primary || defaultColor.value,
|
|
27
27
|
'rsui-loader--secondary': props.secondary,
|
|
28
|
-
'rsui-loader--tertiary': props.tertiary,
|
|
29
28
|
'rsui-loader--white': props.white,
|
|
30
29
|
}
|
|
31
30
|
])
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { ref } from 'vue'
|
|
3
|
+
import Icon from '../Icon/Icon.vue'
|
|
3
4
|
import { XMarkIcon } from '@heroicons/vue/24/outline'
|
|
4
5
|
|
|
5
6
|
const props = defineProps({
|
|
@@ -36,9 +37,11 @@ function close() {
|
|
|
36
37
|
</div>
|
|
37
38
|
<div class="rsui-message-box__close">
|
|
38
39
|
<div class="rsui-message-box__close-icon">
|
|
39
|
-
<
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
<Icon disabled>
|
|
41
|
+
<XMarkIcon
|
|
42
|
+
@click="close"
|
|
43
|
+
></XMarkIcon>
|
|
44
|
+
</Icon>
|
|
42
45
|
</div>
|
|
43
46
|
</div>
|
|
44
47
|
</div>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed } from 'vue'
|
|
3
|
+
import Icon from '../Icon/Icon.vue'
|
|
3
4
|
import { QuestionMarkCircleIcon } from '@heroicons/vue/24/outline'
|
|
4
5
|
|
|
5
6
|
const props = defineProps({
|
|
@@ -36,7 +37,9 @@ const emit = defineEmits(['click'])
|
|
|
36
37
|
@click="$emit('click')"
|
|
37
38
|
>
|
|
38
39
|
<slot name="help-icon">
|
|
39
|
-
<
|
|
40
|
+
<Icon sm secondary>
|
|
41
|
+
<QuestionMarkCircleIcon />
|
|
42
|
+
</Icon>
|
|
40
43
|
</slot>
|
|
41
44
|
</div>
|
|
42
45
|
</div>
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import PaginationItem from './PaginationItem.vue'
|
|
3
|
+
import Icon from '../Icon/Icon.vue'
|
|
3
4
|
import { EllipsisHorizontalIcon } from '@heroicons/vue/24/outline'
|
|
4
5
|
</script>
|
|
5
6
|
<template>
|
|
6
7
|
<PaginationItem freeze
|
|
7
8
|
class="rsui-pagination-item-collapsed"
|
|
8
9
|
>
|
|
9
|
-
<
|
|
10
|
+
<Icon sm>
|
|
11
|
+
<EllipsisHorizontalIcon />
|
|
12
|
+
</Icon>
|
|
10
13
|
</PaginationItem>
|
|
11
14
|
</template>
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import PaginationItem from './PaginationItem.vue'
|
|
3
|
+
import Icon from '../Icon/Icon.vue'
|
|
3
4
|
import { ChevronRightIcon } from '@heroicons/vue/24/outline'
|
|
5
|
+
|
|
6
|
+
const props = defineProps({
|
|
7
|
+
disabled: {
|
|
8
|
+
type: Boolean,
|
|
9
|
+
default: false
|
|
10
|
+
}
|
|
11
|
+
})
|
|
4
12
|
</script>
|
|
5
13
|
<template>
|
|
6
14
|
<PaginationItem class="rsui-pagination-item-next">
|
|
7
|
-
<
|
|
15
|
+
<Icon :disabled="disabled">
|
|
16
|
+
<ChevronRightIcon />
|
|
17
|
+
</Icon>
|
|
8
18
|
</PaginationItem>
|
|
9
19
|
</template>
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import PaginationItem from './PaginationItem.vue'
|
|
3
|
+
import Icon from '../Icon/Icon.vue'
|
|
3
4
|
import { ChevronLeftIcon } from '@heroicons/vue/24/outline'
|
|
5
|
+
|
|
6
|
+
const props = defineProps({
|
|
7
|
+
disabled: {
|
|
8
|
+
type: Boolean,
|
|
9
|
+
default: false
|
|
10
|
+
}
|
|
11
|
+
})
|
|
4
12
|
</script>
|
|
5
13
|
<template>
|
|
6
14
|
<PaginationItem class="rsui-pagination-item-previous">
|
|
7
|
-
<
|
|
15
|
+
<Icon :disabled="disabled">
|
|
16
|
+
<ChevronLeftIcon />
|
|
17
|
+
</Icon>
|
|
8
18
|
</PaginationItem>
|
|
9
19
|
</template>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { ref, computed } from 'vue'
|
|
3
|
+
import Icon from '../Icon/Icon.vue'
|
|
3
4
|
import { ArrowLongUpIcon } from '@heroicons/vue/24/outline'
|
|
4
5
|
import LinkPrimary from '../Link/LinkPrimary.vue'
|
|
5
6
|
|
|
@@ -58,6 +59,9 @@ function toggleDesc() {
|
|
|
58
59
|
<slot name="desc-label"></slot>
|
|
59
60
|
</LinkPrimary>
|
|
60
61
|
</slot>
|
|
61
|
-
|
|
62
|
+
|
|
63
|
+
<Icon sm>
|
|
64
|
+
<ArrowLongUpIcon :class="iconClass"></ArrowLongUpIcon>
|
|
65
|
+
</Icon>
|
|
62
66
|
</div>
|
|
63
67
|
</template>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { ref } from 'vue'
|
|
3
|
+
import Icon from '../Icon/Icon.vue'
|
|
3
4
|
import SwitcherItem from './SwitcherItem.vue'
|
|
4
5
|
|
|
5
6
|
const props = defineProps({
|
|
@@ -35,9 +36,9 @@ function setActiveItem(item) {
|
|
|
35
36
|
:disabled="item.disabled"
|
|
36
37
|
@click="setActiveItem(item)"
|
|
37
38
|
>
|
|
38
|
-
<
|
|
39
|
-
:is="item.icon"
|
|
40
|
-
|
|
39
|
+
<Icon v-if="item.icon">
|
|
40
|
+
<component :is="item.icon"></component>
|
|
41
|
+
</Icon>
|
|
41
42
|
|
|
42
43
|
{{ item.label }}
|
|
43
44
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import IconCircleBackground from '../Icon/IconCircleBackground.vue'
|
|
2
3
|
import { UserIcon } from '@heroicons/vue/24/outline'
|
|
3
4
|
</script>
|
|
4
5
|
|
|
@@ -6,7 +7,9 @@ import { UserIcon } from '@heroicons/vue/24/outline'
|
|
|
6
7
|
<div class="rsui-td-user">
|
|
7
8
|
<div class="rsui-td-user__avatar">
|
|
8
9
|
<slot name="avatar">
|
|
9
|
-
<
|
|
10
|
+
<IconCircleBackground disabled>
|
|
11
|
+
<UserIcon />
|
|
12
|
+
</IconCircleBackground>
|
|
10
13
|
</slot>
|
|
11
14
|
</div>
|
|
12
15
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { ref, computed, watch } from 'vue'
|
|
3
|
+
import Icon from '../Icon/Icon.vue'
|
|
3
4
|
import { ArrowUpIcon, ChevronUpDownIcon } from '@heroicons/vue/24/outline'
|
|
4
5
|
|
|
5
6
|
const props = defineProps({
|
|
@@ -75,10 +76,14 @@ function handleSort() {
|
|
|
75
76
|
<div v-if="sortable"
|
|
76
77
|
class="rsui-th__sort"
|
|
77
78
|
>
|
|
78
|
-
<
|
|
79
|
+
<Icon v-if="!isAsc && !isDesc"
|
|
79
80
|
class="rsui-th__sort-icon"
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
>
|
|
82
|
+
<ChevronUpDownIcon />
|
|
83
|
+
</Icon>
|
|
84
|
+
|
|
85
|
+
<Icon v-if="isAsc || isDesc"
|
|
86
|
+
sm
|
|
82
87
|
:class="[
|
|
83
88
|
'rsui-th__sort-icon',
|
|
84
89
|
{
|
|
@@ -86,7 +91,9 @@ function handleSort() {
|
|
|
86
91
|
'rsui-th__sort-icon--desc': isDesc,
|
|
87
92
|
},
|
|
88
93
|
]"
|
|
89
|
-
|
|
94
|
+
>
|
|
95
|
+
<ArrowUpIcon />
|
|
96
|
+
</Icon>
|
|
90
97
|
</div>
|
|
91
98
|
</div>
|
|
92
99
|
</th>
|