adata-ui 2.1.40-beta.13 → 2.1.40-beta.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/components/elements/digit-badge/ADigitBadge.vue +3 -3
- package/components/elements/segmented/ASegmentedV2.vue +2 -2
- package/components/elements/status-badge/AStatusBadge.vue +69 -41
- package/components/elements/tree-select/components/ATreeSelectNode.vue +2 -2
- package/package.json +1 -1
- package/components/elements/status-badge-v2/StatusBadgeV2.vue +0 -76
|
@@ -30,7 +30,7 @@ const classes = computed(() =>
|
|
|
30
30
|
props.disabled ? 'text-gray-500 bg-deepblue-900/5' : typeSwitchValues[props.view][props.type],
|
|
31
31
|
'inline-flex items-center justify-center font-medium rounded-full select-none inline-flex outline-none',
|
|
32
32
|
sizeSwitchValues[props.size],
|
|
33
|
-
props.value && props.value.toString().length >
|
|
33
|
+
props.value && props.value.toString().length > 1 ? 'w-auto' : '',
|
|
34
34
|
])
|
|
35
35
|
|
|
36
36
|
export type StateType = {
|
|
@@ -70,8 +70,8 @@ const typeSwitchValues: ViewType = {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
const sizeSwitchValues: SizeSwitchValues = {
|
|
73
|
-
sm: 'w-4 h-4 px-1 text-
|
|
74
|
-
md: 'w-5 h-5 px-1 text-
|
|
73
|
+
sm: 'w-4 h-4 px-1 text-body-sm',
|
|
74
|
+
md: 'w-5 h-5 px-1 text-body-sm',
|
|
75
75
|
lg: 'px-2 w-6 h-6 text-body-sm font-semibold',
|
|
76
76
|
}
|
|
77
77
|
</script>
|
|
@@ -64,14 +64,14 @@ const CHIP_CLASS: Record<Color, Record<View | 'selected', string>> = {
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
const DOT_CLASS: Record<Color, Record<View, string>> = {
|
|
67
|
-
gray: { outline: 'bg-[#
|
|
67
|
+
gray: { outline: 'bg-[#6A7282] dark:bg-gray-300', solid: 'bg-[#6A7282] dark:bg-gray-300' },
|
|
68
68
|
blue: { outline: 'bg-[#068DFF] dark:bg-blue-400', solid: 'bg-[#068DFF] dark:bg-blue-400' },
|
|
69
69
|
green: { outline: 'bg-[#00A63E] dark:bg-green-400', solid: 'bg-[#00A63E] dark:bg-green-400' },
|
|
70
70
|
yellow: { outline: 'bg-[#E17100] dark:bg-orange-400', solid: 'bg-[#E17100] dark:bg-orange-400' },
|
|
71
71
|
red: { outline: 'bg-[#E7000B] dark:bg-red-400', solid: 'bg-[#E7000B] dark:bg-red-400' },
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
const DOT_SELECTED_CLASS = 'bg-white
|
|
74
|
+
const DOT_SELECTED_CLASS = 'bg-white'
|
|
75
75
|
|
|
76
76
|
function dotColorName(option: Option): Color {
|
|
77
77
|
return option.color ?? props.color
|
|
@@ -1,31 +1,36 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
|
|
2
|
+
type BadgeType = 'primary' | 'success' | 'danger' | 'gray' | 'warning'
|
|
3
|
+
type BadgeView = 'default' | 'inverted' | 'transparent'
|
|
4
|
+
type BadgeSize = 'xs' | 'sm' | 'lg'
|
|
3
5
|
|
|
4
|
-
|
|
6
|
+
type StateType = {
|
|
7
|
+
[key in BadgeType]?: string
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface ViewType {
|
|
11
|
+
default: StateType
|
|
12
|
+
inverted: StateType
|
|
13
|
+
transparent: StateType
|
|
14
|
+
}
|
|
5
15
|
|
|
6
16
|
interface Props {
|
|
7
|
-
type?:
|
|
8
|
-
view?:
|
|
9
|
-
size?:
|
|
17
|
+
type?: BadgeType
|
|
18
|
+
view?: BadgeView
|
|
19
|
+
size?: BadgeSize
|
|
20
|
+
point?: boolean
|
|
10
21
|
customClasses?: string
|
|
11
22
|
}
|
|
12
23
|
|
|
24
|
+
defineOptions({ name: 'AStatusBadge' })
|
|
25
|
+
|
|
13
26
|
const props = withDefaults(defineProps<Props>(), {
|
|
14
27
|
type: 'primary',
|
|
15
28
|
view: 'default',
|
|
16
29
|
size: 'lg',
|
|
17
|
-
|
|
30
|
+
point: false,
|
|
31
|
+
customClasses: '',
|
|
18
32
|
})
|
|
19
33
|
|
|
20
|
-
const classes = computed(() =>
|
|
21
|
-
[
|
|
22
|
-
'text-body-md rounded-sm select-none inline-flex gap-[5.5px] justify-center items-center border',
|
|
23
|
-
typeSwitchValues[props.view][props.type],
|
|
24
|
-
props.size === 'xs'? 'px-4 py-[2px] text-body-sm font-bold' : '',
|
|
25
|
-
props.size === 'sm'? 'text-body-sm font-semibold px-4 py-[2px] h-6' : '',
|
|
26
|
-
props.size === 'lg'? 'px-4 py-[7.5px] font-semibold' : '',
|
|
27
|
-
])
|
|
28
|
-
|
|
29
34
|
const typeSwitchValues: ViewType = {
|
|
30
35
|
default: {
|
|
31
36
|
primary: 'bg-[#068DFF] text-white border-transparent dark:bg-[#068DFF]/30 dark:text-blue-100',
|
|
@@ -33,45 +38,68 @@ const typeSwitchValues: ViewType = {
|
|
|
33
38
|
danger: 'bg-[#E7000B] text-white border-transparent dark:bg-[#E7000B]/30 dark:text-red-100',
|
|
34
39
|
warning: 'bg-[#E17100] text-white border-transparent dark:bg-[#E17100]/30 dark:text-orange-100',
|
|
35
40
|
gray: 'bg-[#4A5565] text-white border-transparent dark:bg-[#4A5565]/30 dark:text-gray-100',
|
|
36
|
-
orange: 'bg-[#E17100] text-white border-transparent dark:bg-[#E17100]/30 dark:text-orange-100'
|
|
37
41
|
},
|
|
38
42
|
inverted: {
|
|
39
43
|
primary: 'bg-[#F0F8FF] text-[#068DFF] border-transparent dark:bg-[#068DFF]/10 dark:text-blue-400',
|
|
40
|
-
success: 'bg-[#DCFCE7] text-[#
|
|
41
|
-
danger: 'bg-[#FFE2E2] text-[#
|
|
42
|
-
warning: 'bg-[#FEF3C6] text-[#
|
|
43
|
-
gray: 'bg-[#F3F4F6] text-[#
|
|
44
|
-
orange: 'bg-[#FEF3C6] text-[#E17100] border-transparent dark:bg-[#E17100]/10 dark:text-orange-400'
|
|
44
|
+
success: 'bg-[#DCFCE7] text-[#008236] border-transparent dark:bg-[#00A63E]/10 dark:text-green-400',
|
|
45
|
+
danger: 'bg-[#FFE2E2] text-[#C10007] border-transparent dark:bg-[#E7000B]/10 dark:text-red-400',
|
|
46
|
+
warning: 'bg-[#FEF3C6] text-[#9A5800] border-transparent dark:bg-[#E17100]/10 dark:text-orange-400',
|
|
47
|
+
gray: 'bg-[#F3F4F6] text-[#364153] border-transparent dark:bg-[#4A5565]/10 dark:text-gray-300',
|
|
45
48
|
},
|
|
46
49
|
transparent: {
|
|
47
|
-
primary: 'bg-white border-[#B3DCFF] text-[#
|
|
48
|
-
success: 'bg-white border-[#7BF1A8] text-[#
|
|
49
|
-
danger: 'bg-white border-[#FFA2A2] text-[#
|
|
50
|
-
warning: 'bg-white border-[#FFD230] text-[#
|
|
51
|
-
gray: 'bg-white border-[#D1D5DC] text-[#
|
|
52
|
-
|
|
53
|
-
}
|
|
50
|
+
primary: 'bg-white border-[#B3DCFF] text-[#0066BD] dark:bg-transparent dark:border-[#068DFF]/50 dark:text-blue-400',
|
|
51
|
+
success: 'bg-white border-[#7BF1A8] text-[#008236] dark:bg-transparent dark:border-[#00A63E]/50 dark:text-green-400',
|
|
52
|
+
danger: 'bg-white border-[#FFA2A2] text-[#C10007] dark:bg-transparent dark:border-[#E7000B]/50 dark:text-red-400',
|
|
53
|
+
warning: 'bg-white border-[#FFD230] text-[#9A5800] dark:bg-transparent dark:border-[#E17100]/50 dark:text-orange-400',
|
|
54
|
+
gray: 'bg-white border-[#D1D5DC] text-[#364153] dark:bg-transparent dark:border-[#4A5565]/50 dark:text-gray-300',
|
|
55
|
+
},
|
|
54
56
|
}
|
|
55
57
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
const pointSwitchValues: ViewType = {
|
|
59
|
+
default: {
|
|
60
|
+
primary: 'bg-white',
|
|
61
|
+
success: 'bg-white',
|
|
62
|
+
danger: 'bg-white',
|
|
63
|
+
warning: 'bg-white',
|
|
64
|
+
gray: 'bg-white',
|
|
65
|
+
},
|
|
66
|
+
inverted: {
|
|
67
|
+
primary: 'bg-[#068DFF] dark:bg-blue-400',
|
|
68
|
+
success: 'bg-[#00A63E] dark:bg-green-400',
|
|
69
|
+
danger: 'bg-[#E7000B] dark:bg-red-400',
|
|
70
|
+
warning: 'bg-[#E17100] dark:bg-orange-400',
|
|
71
|
+
gray: 'bg-[#6A7282] dark:bg-gray-300',
|
|
72
|
+
},
|
|
73
|
+
transparent: {
|
|
74
|
+
primary: 'bg-[#068DFF] dark:bg-blue-400',
|
|
75
|
+
success: 'bg-[#00A63E] dark:bg-green-400',
|
|
76
|
+
danger: 'bg-[#E7000B] dark:bg-red-400',
|
|
77
|
+
warning: 'bg-[#E17100] dark:bg-orange-400',
|
|
78
|
+
gray: 'bg-[#6A7282] dark:bg-gray-300',
|
|
79
|
+
},
|
|
61
80
|
}
|
|
62
81
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
82
|
+
const classes = computed(() =>
|
|
83
|
+
[
|
|
84
|
+
'text-body-md rounded-sm select-none inline-flex gap-[5.5px] justify-center items-center border',
|
|
85
|
+
typeSwitchValues[props.view][props.type],
|
|
86
|
+
props.size === 'xs' ? 'px-4 py-[2px] text-body-sm font-bold' : '',
|
|
87
|
+
props.size === 'sm' ? 'text-body-sm font-semibold px-4 py-[2px] h-6' : '',
|
|
88
|
+
props.size === 'lg' ? 'px-4 py-[7.5px] font-semibold' : '',
|
|
89
|
+
])
|
|
70
90
|
|
|
91
|
+
const pointClasses = computed(() =>
|
|
92
|
+
[
|
|
93
|
+
'w-1.5 h-1.5 rounded-full shrink-0',
|
|
94
|
+
pointSwitchValues[props.view][props.type],
|
|
95
|
+
])
|
|
71
96
|
</script>
|
|
97
|
+
|
|
72
98
|
<template>
|
|
73
99
|
<div :class="[[classes], customClasses]">
|
|
74
|
-
<slot name="point"
|
|
100
|
+
<slot name="point">
|
|
101
|
+
<span v-if="point" :class="pointClasses" />
|
|
102
|
+
</slot>
|
|
75
103
|
<slot />
|
|
76
104
|
</div>
|
|
77
105
|
</template>
|
|
@@ -50,8 +50,8 @@ function onSelectToggle() {
|
|
|
50
50
|
<a-checkbox-v2
|
|
51
51
|
v-if="type === 'checkbox'"
|
|
52
52
|
size="lg"
|
|
53
|
-
side="
|
|
54
|
-
class="flex w-full items-center
|
|
53
|
+
side="right"
|
|
54
|
+
class="flex w-full items-center text-left"
|
|
55
55
|
:model-value="node.state === 'checked'"
|
|
56
56
|
:intermediate="node.state === 'indeterminate'"
|
|
57
57
|
:disabled="isDisabled"
|
package/package.json
CHANGED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
<script lang="ts" setup>
|
|
2
|
-
import { twMerge } from '#adata-ui/utils/twMerge'
|
|
3
|
-
|
|
4
|
-
defineOptions({ name: 'StatusBadgeV2', inheritAttrs: false })
|
|
5
|
-
|
|
6
|
-
type BadgeType = 'primary' | 'success' | 'danger' | 'gray' | 'orange' | 'warning'
|
|
7
|
-
type BadgeView = 'default' | 'inverted' | 'transparent'
|
|
8
|
-
type BadgeSize = 'xs' | 'sm' | 'md' | 'lg'
|
|
9
|
-
|
|
10
|
-
interface Props {
|
|
11
|
-
type?: BadgeType
|
|
12
|
-
view?: BadgeView
|
|
13
|
-
size?: BadgeSize
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const props = withDefaults(defineProps<Props>(), {
|
|
17
|
-
type: 'primary',
|
|
18
|
-
view: 'inverted',
|
|
19
|
-
size: 'sm',
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
const base
|
|
23
|
-
= 'inline-flex w-fit items-center justify-center gap-1.5 rounded-full font-semibold select-none'
|
|
24
|
-
|
|
25
|
-
const sizeClasses: Record<BadgeSize, string> = {
|
|
26
|
-
xs: 'px-2 py-0.5 text-[11px] leading-none',
|
|
27
|
-
sm: 'px-2.5 py-1 text-xs leading-none',
|
|
28
|
-
md: 'px-3 py-1.5 text-sm',
|
|
29
|
-
lg: 'px-4 py-2 text-base',
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const typeClasses: Record<BadgeView, Partial<Record<BadgeType, string>>> = {
|
|
33
|
-
default: {
|
|
34
|
-
primary: 'bg-blue-700 text-white dark:bg-blue-500 dark:text-gray-900',
|
|
35
|
-
success: 'bg-green-500 text-white dark:bg-green-400 dark:text-gray-900',
|
|
36
|
-
danger: 'bg-red-500 text-white dark:text-gray-100',
|
|
37
|
-
warning: 'bg-yellow-400 text-white dark:text-gray-900',
|
|
38
|
-
gray: 'bg-deepblue-900 text-white dark:bg-gray-200/10 dark:text-gray-200',
|
|
39
|
-
orange: 'bg-orange-600 text-white dark:text-gray-100',
|
|
40
|
-
},
|
|
41
|
-
inverted: {
|
|
42
|
-
primary: 'bg-blue-700/10 text-blue-700 dark:bg-blue-500/10 dark:text-blue-500',
|
|
43
|
-
success: 'bg-green-500/15 text-green-600 dark:bg-green-400/15 dark:text-green-400',
|
|
44
|
-
danger: 'bg-red-500/10 text-red-500 dark:bg-red-400/10 dark:text-red-400',
|
|
45
|
-
warning: 'bg-yellow-400/15 text-yellow-500 dark:bg-yellow-400/15 dark:text-yellow-400',
|
|
46
|
-
gray: 'bg-deepblue-900/10 text-gray-600 dark:bg-gray-200/10 dark:text-gray-300',
|
|
47
|
-
orange: 'bg-orange-600/10 text-orange-600 dark:text-orange-500',
|
|
48
|
-
},
|
|
49
|
-
transparent: {
|
|
50
|
-
primary: 'bg-transparent text-blue-700 dark:text-blue-500',
|
|
51
|
-
success: 'bg-transparent text-green-600 dark:text-green-400',
|
|
52
|
-
danger: 'bg-transparent text-red-500 dark:text-red-400',
|
|
53
|
-
warning: 'bg-transparent text-yellow-500 dark:text-yellow-400',
|
|
54
|
-
gray: 'bg-transparent text-gray-600 dark:text-gray-300',
|
|
55
|
-
orange: 'bg-transparent text-orange-600 dark:text-orange-500',
|
|
56
|
-
},
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const attrs = useAttrs()
|
|
60
|
-
|
|
61
|
-
const classes = computed(() =>
|
|
62
|
-
twMerge(
|
|
63
|
-
base,
|
|
64
|
-
sizeClasses[props.size],
|
|
65
|
-
typeClasses[props.view][props.type],
|
|
66
|
-
attrs.class as string,
|
|
67
|
-
),
|
|
68
|
-
)
|
|
69
|
-
</script>
|
|
70
|
-
|
|
71
|
-
<template>
|
|
72
|
-
<div :class="classes" v-bind="{ ...$attrs, class: undefined }">
|
|
73
|
-
<slot name="point" />
|
|
74
|
-
<slot />
|
|
75
|
-
</div>
|
|
76
|
-
</template>
|