sprintify-ui 0.11.29 → 0.11.30
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/dist/sprintify-ui.es.js
CHANGED
|
@@ -11429,9 +11429,21 @@ const FM = ["src"], _M = ["fill"], VM = ["font-size"], jM = { class: "truncate"
|
|
|
11429
11429
|
__name: "BaseAvatar",
|
|
11430
11430
|
props: {
|
|
11431
11431
|
user: {
|
|
11432
|
-
|
|
11432
|
+
default: void 0,
|
|
11433
11433
|
type: Object
|
|
11434
11434
|
},
|
|
11435
|
+
name: {
|
|
11436
|
+
default: void 0,
|
|
11437
|
+
type: String
|
|
11438
|
+
},
|
|
11439
|
+
email: {
|
|
11440
|
+
default: void 0,
|
|
11441
|
+
type: String
|
|
11442
|
+
},
|
|
11443
|
+
src: {
|
|
11444
|
+
default: void 0,
|
|
11445
|
+
type: String
|
|
11446
|
+
},
|
|
11435
11447
|
size: {
|
|
11436
11448
|
default: "base",
|
|
11437
11449
|
type: String
|
|
@@ -11459,28 +11471,31 @@ const FM = ["src"], _M = ["fill"], VM = ["font-size"], jM = { class: "truncate"
|
|
|
11459
11471
|
},
|
|
11460
11472
|
setup(n) {
|
|
11461
11473
|
const t = n, e = S(() => {
|
|
11462
|
-
var
|
|
11463
|
-
return
|
|
11474
|
+
var f, p, h, m;
|
|
11475
|
+
return ((m = [t.name, (f = t.user) == null ? void 0 : f.name, (p = t.user) == null ? void 0 : p.full_name, (h = t.user) == null ? void 0 : h.label].find((v) => !!(v && v.trim()))) == null ? void 0 : m.trim()) || "";
|
|
11464
11476
|
}), r = S(() => {
|
|
11465
|
-
var
|
|
11466
|
-
return
|
|
11467
|
-
}), o = S(() =>
|
|
11477
|
+
var f;
|
|
11478
|
+
return (t.email || ((f = t.user) == null ? void 0 : f.email) || "").trim();
|
|
11479
|
+
}), o = S(() => {
|
|
11480
|
+
var f;
|
|
11481
|
+
return (t.src || ((f = t.user) == null ? void 0 : f.avatar_url) || "").trim();
|
|
11482
|
+
}), i = S(() => zM(e.value)), s = S(() => PM(e.value, r.value)), l = S(() => Ze(
|
|
11468
11483
|
"inline-flex",
|
|
11469
11484
|
"shrink-0",
|
|
11470
11485
|
"items-center",
|
|
11471
11486
|
t.class
|
|
11472
|
-
)),
|
|
11473
|
-
${
|
|
11487
|
+
)), a = S(() => !t.tooltip || !e.value && !r.value ? null : `<p class="font-medium leading-tight">
|
|
11488
|
+
${e.value}
|
|
11474
11489
|
</p>
|
|
11475
11490
|
<p class="text-slate-500 leading-tight">
|
|
11476
|
-
${
|
|
11477
|
-
</p>`
|
|
11478
|
-
const
|
|
11479
|
-
return t.size == "xs" ? "h-6 w-6" : t.size == "sm" ? "h-8 w-8" : t.size == "base" ?
|
|
11480
|
-
}),
|
|
11481
|
-
const
|
|
11482
|
-
return t.size == "xs" ? "text-[11px]" : t.size == "sm" ? "text-xs" : t.size == "base" ?
|
|
11483
|
-
}),
|
|
11491
|
+
${r.value}
|
|
11492
|
+
</p>`), u = S(() => {
|
|
11493
|
+
const f = "h-9 w-9";
|
|
11494
|
+
return t.size == "xs" ? "h-6 w-6" : t.size == "sm" ? "h-8 w-8" : t.size == "base" ? f : t.size == "lg" ? "h-12 w-12" : t.size == "xl" ? "h-14 w-14" : f;
|
|
11495
|
+
}), c = S(() => {
|
|
11496
|
+
const f = "text-sm";
|
|
11497
|
+
return t.size == "xs" ? "text-[11px]" : t.size == "sm" ? "text-xs" : t.size == "base" ? f : t.size == "lg" ? "text-sm" : t.size == "xl" ? "text-base" : f;
|
|
11498
|
+
}), d = S(() => {
|
|
11484
11499
|
switch (t.size) {
|
|
11485
11500
|
case "xl":
|
|
11486
11501
|
return "0.95rem";
|
|
@@ -11496,11 +11511,10 @@ const FM = ["src"], _M = ["fill"], VM = ["font-size"], jM = { class: "truncate"
|
|
|
11496
11511
|
return "1rem";
|
|
11497
11512
|
}
|
|
11498
11513
|
});
|
|
11499
|
-
return (
|
|
11500
|
-
key: 0,
|
|
11514
|
+
return (f, p) => (k(), re(Qi, {
|
|
11501
11515
|
visible: n.tooltip,
|
|
11502
|
-
text: g(
|
|
11503
|
-
class: j(g(
|
|
11516
|
+
text: g(a),
|
|
11517
|
+
class: j(g(l))
|
|
11504
11518
|
}, {
|
|
11505
11519
|
default: Q(() => [
|
|
11506
11520
|
(k(), re($n(n.to ? "RouterLink" : "div"), {
|
|
@@ -11508,20 +11522,20 @@ const FM = ["src"], _M = ["fill"], VM = ["font-size"], jM = { class: "truncate"
|
|
|
11508
11522
|
class: "flex items-center"
|
|
11509
11523
|
}, {
|
|
11510
11524
|
default: Q(() => [
|
|
11511
|
-
|
|
11525
|
+
g(o) ? (k(), $("img", {
|
|
11512
11526
|
key: 0,
|
|
11513
|
-
src:
|
|
11514
|
-
class: j([[g(
|
|
11527
|
+
src: g(o),
|
|
11528
|
+
class: j([[g(u), n.detailsPosition == "left" ? "order-2" : "order-1"], "shrink-0 block overflow-hidden rounded-full object-cover object-center"])
|
|
11515
11529
|
}, null, 10, FM)) : (k(), $("svg", {
|
|
11516
11530
|
key: 1,
|
|
11517
11531
|
viewBox: "0 0 100 100",
|
|
11518
|
-
class: j([[g(
|
|
11532
|
+
class: j([[g(u), n.detailsPosition == "left" ? "order-2" : "order-1"], "shrink-0 block overflow-hidden rounded-full"])
|
|
11519
11533
|
}, [
|
|
11520
11534
|
A("circle", {
|
|
11521
11535
|
cx: "50",
|
|
11522
11536
|
cy: "50",
|
|
11523
11537
|
r: "50",
|
|
11524
|
-
fill: g(
|
|
11538
|
+
fill: g(s)
|
|
11525
11539
|
}, null, 8, _M),
|
|
11526
11540
|
A("text", {
|
|
11527
11541
|
x: "50",
|
|
@@ -11529,31 +11543,31 @@ const FM = ["src"], _M = ["fill"], VM = ["font-size"], jM = { class: "truncate"
|
|
|
11529
11543
|
"text-anchor": "middle",
|
|
11530
11544
|
"dominant-baseline": "central",
|
|
11531
11545
|
fill: "white",
|
|
11532
|
-
"font-size": g(
|
|
11546
|
+
"font-size": g(i).length === 1 ? "45" : "40",
|
|
11533
11547
|
"font-weight": "600",
|
|
11534
11548
|
"font-family": "system-ui, -apple-system, sans-serif"
|
|
11535
|
-
}, ie(g(
|
|
11549
|
+
}, ie(g(i)), 9, VM)
|
|
11536
11550
|
], 2)),
|
|
11537
11551
|
n.showDetails ? (k(), $("div", {
|
|
11538
11552
|
key: 2,
|
|
11539
11553
|
class: j(["max-w-[120px] grow leading-tight", [
|
|
11540
|
-
g(
|
|
11554
|
+
g(c),
|
|
11541
11555
|
n.detailsPosition == "left" ? "order-1 text-right" : "order-2 text-left"
|
|
11542
11556
|
]]),
|
|
11543
11557
|
style: Fe({
|
|
11544
|
-
marginLeft: n.detailsPosition == "right" ? g(
|
|
11545
|
-
marginRight: n.detailsPosition == "left" ? g(
|
|
11558
|
+
marginLeft: n.detailsPosition == "right" ? g(d) : "0",
|
|
11559
|
+
marginRight: n.detailsPosition == "left" ? g(d) : "0"
|
|
11546
11560
|
})
|
|
11547
11561
|
}, [
|
|
11548
|
-
A("div", jM, ie(
|
|
11549
|
-
A("div", HM, ie(
|
|
11562
|
+
A("div", jM, ie(g(e)), 1),
|
|
11563
|
+
A("div", HM, ie(g(r)), 1)
|
|
11550
11564
|
], 6)) : Z("", !0)
|
|
11551
11565
|
]),
|
|
11552
11566
|
_: 1
|
|
11553
11567
|
}, 8, ["to"]))
|
|
11554
11568
|
]),
|
|
11555
11569
|
_: 1
|
|
11556
|
-
}, 8, ["visible", "text", "class"]))
|
|
11570
|
+
}, 8, ["visible", "text", "class"]));
|
|
11557
11571
|
}
|
|
11558
11572
|
}), WM = { class: "flex items-center -space-x-4" }, qM = { class: "rounded-full border-[3px] border-white" }, UM = { class: "rounded-full border-[3px] border-white bg-slate-300" }, KM = { key: 0 }, YM = { key: 1 }, GM = /* @__PURE__ */ te({
|
|
11559
11573
|
__name: "BaseAvatarGroup",
|
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
import { PropType } from 'vue';
|
|
2
2
|
import { User } from '@/types/User';
|
|
3
3
|
import { RouteLocationRaw } from 'vue-router';
|
|
4
|
+
type AvatarUserInput = Partial<User> & {
|
|
5
|
+
name?: string;
|
|
6
|
+
label?: string;
|
|
7
|
+
};
|
|
4
8
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
5
9
|
user: {
|
|
6
|
-
|
|
7
|
-
type: PropType<
|
|
10
|
+
default: undefined;
|
|
11
|
+
type: PropType<AvatarUserInput>;
|
|
12
|
+
};
|
|
13
|
+
name: {
|
|
14
|
+
default: undefined;
|
|
15
|
+
type: StringConstructor;
|
|
16
|
+
};
|
|
17
|
+
email: {
|
|
18
|
+
default: undefined;
|
|
19
|
+
type: StringConstructor;
|
|
20
|
+
};
|
|
21
|
+
src: {
|
|
22
|
+
default: undefined;
|
|
23
|
+
type: StringConstructor;
|
|
8
24
|
};
|
|
9
25
|
size: {
|
|
10
26
|
default: string;
|
|
@@ -32,8 +48,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
32
48
|
};
|
|
33
49
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
34
50
|
user: {
|
|
35
|
-
|
|
36
|
-
type: PropType<
|
|
51
|
+
default: undefined;
|
|
52
|
+
type: PropType<AvatarUserInput>;
|
|
53
|
+
};
|
|
54
|
+
name: {
|
|
55
|
+
default: undefined;
|
|
56
|
+
type: StringConstructor;
|
|
57
|
+
};
|
|
58
|
+
email: {
|
|
59
|
+
default: undefined;
|
|
60
|
+
type: StringConstructor;
|
|
61
|
+
};
|
|
62
|
+
src: {
|
|
63
|
+
default: undefined;
|
|
64
|
+
type: StringConstructor;
|
|
37
65
|
};
|
|
38
66
|
size: {
|
|
39
67
|
default: string;
|
|
@@ -61,9 +89,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
61
89
|
};
|
|
62
90
|
}>> & Readonly<{}>, {
|
|
63
91
|
class: string;
|
|
92
|
+
email: string;
|
|
64
93
|
to: string | import("vue-router").RouteLocationAsRelativeGeneric | import("vue-router").RouteLocationAsPathGeneric;
|
|
65
94
|
size: string;
|
|
95
|
+
name: string;
|
|
66
96
|
tooltip: boolean;
|
|
97
|
+
user: AvatarUserInput;
|
|
98
|
+
src: string;
|
|
67
99
|
showDetails: boolean;
|
|
68
100
|
detailsPosition: "left" | "right";
|
|
69
101
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<BaseTooltip
|
|
3
|
-
v-if="user"
|
|
4
3
|
:visible="tooltip"
|
|
5
4
|
:text="tooltipText"
|
|
6
5
|
:class="classInternal"
|
|
@@ -11,8 +10,8 @@
|
|
|
11
10
|
class="flex items-center"
|
|
12
11
|
>
|
|
13
12
|
<img
|
|
14
|
-
v-if="
|
|
15
|
-
:src="
|
|
13
|
+
v-if="resolvedUrl"
|
|
14
|
+
:src="resolvedUrl"
|
|
16
15
|
:class="[sizeClass, detailsPosition == 'left' ? 'order-2' : 'order-1']"
|
|
17
16
|
class="shrink-0 block overflow-hidden rounded-full object-cover object-center"
|
|
18
17
|
>
|
|
@@ -54,10 +53,10 @@
|
|
|
54
53
|
}"
|
|
55
54
|
>
|
|
56
55
|
<div class="truncate">
|
|
57
|
-
{{
|
|
56
|
+
{{ resolvedName }}
|
|
58
57
|
</div>
|
|
59
58
|
<div class="truncate opacity-50">
|
|
60
|
-
{{
|
|
59
|
+
{{ resolvedEmail }}
|
|
61
60
|
</div>
|
|
62
61
|
</div>
|
|
63
62
|
</component>
|
|
@@ -76,10 +75,27 @@ defineOptions({
|
|
|
76
75
|
inheritAttrs: false,
|
|
77
76
|
})
|
|
78
77
|
|
|
78
|
+
type AvatarUserInput = Partial<User> & {
|
|
79
|
+
name?: string;
|
|
80
|
+
label?: string;
|
|
81
|
+
};
|
|
82
|
+
|
|
79
83
|
const props = defineProps({
|
|
80
84
|
user: {
|
|
81
|
-
|
|
82
|
-
type: Object as PropType<
|
|
85
|
+
default: undefined,
|
|
86
|
+
type: Object as PropType<AvatarUserInput>,
|
|
87
|
+
},
|
|
88
|
+
name: {
|
|
89
|
+
default: undefined,
|
|
90
|
+
type: String,
|
|
91
|
+
},
|
|
92
|
+
email: {
|
|
93
|
+
default: undefined,
|
|
94
|
+
type: String,
|
|
95
|
+
},
|
|
96
|
+
src: {
|
|
97
|
+
default: undefined,
|
|
98
|
+
type: String,
|
|
83
99
|
},
|
|
84
100
|
size: {
|
|
85
101
|
default: 'base',
|
|
@@ -107,8 +123,23 @@ const props = defineProps({
|
|
|
107
123
|
},
|
|
108
124
|
});
|
|
109
125
|
|
|
110
|
-
const
|
|
111
|
-
|
|
126
|
+
const resolvedName = computed(() => {
|
|
127
|
+
return (
|
|
128
|
+
[props.name, props.user?.name, props.user?.full_name, props.user?.label]
|
|
129
|
+
.find((value) => Boolean(value && value.trim()))?.trim() || ''
|
|
130
|
+
);
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
const resolvedEmail = computed(() => {
|
|
134
|
+
return (props.email || props.user?.email || '').trim();
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
const resolvedUrl = computed(() => {
|
|
138
|
+
return (props.src || props.user?.avatar_url || '').trim();
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
const initials = computed(() => getInitials(resolvedName.value));
|
|
142
|
+
const avatarColor = computed(() => getAvatarColor(resolvedName.value, resolvedEmail.value));
|
|
112
143
|
|
|
113
144
|
const classInternal = computed(() => {
|
|
114
145
|
return twMerge(
|
|
@@ -125,11 +156,15 @@ const tooltipText = computed(() => {
|
|
|
125
156
|
return null;
|
|
126
157
|
}
|
|
127
158
|
|
|
159
|
+
if (!resolvedName.value && !resolvedEmail.value) {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
|
|
128
163
|
return `<p class="font-medium leading-tight">
|
|
129
|
-
${
|
|
164
|
+
${resolvedName.value}
|
|
130
165
|
</p>
|
|
131
166
|
<p class="text-slate-500 leading-tight">
|
|
132
|
-
${
|
|
167
|
+
${resolvedEmail.value}
|
|
133
168
|
</p>`;
|
|
134
169
|
})
|
|
135
170
|
|