@atme-lab/ui-kit 0.1.26 → 0.1.27
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/components/primitives/Callout/Callout.d.ts +1 -0
- package/dist/index.cjs10.js +1 -1
- package/dist/index.cjs11.js +1 -1
- package/dist/index.cjs12.js +1 -1
- package/dist/index.cjs13.js +1 -1
- package/dist/index.cjs14.js +1 -1
- package/dist/index.cjs15.js +1 -1
- package/dist/index.cjs16.js +1 -1
- package/dist/index.cjs18.js +1 -1
- package/dist/index.cjs19.js +1 -1
- package/dist/index.cjs20.js +1 -1
- package/dist/index.cjs21.js +1 -1
- package/dist/index.cjs22.js +1 -1
- package/dist/index.cjs23.js +1 -1
- package/dist/index.cjs24.js +1 -1
- package/dist/index.cjs24.js.map +1 -1
- package/dist/index.cjs25.js +1 -1
- package/dist/index.cjs26.js +1 -1
- package/dist/index.cjs27.js +1 -1
- package/dist/index.cjs28.js +1 -1
- package/dist/index.cjs30.js +1 -1
- package/dist/index.cjs31.js +1 -1
- package/dist/index.cjs32.js +1 -1
- package/dist/index.cjs389.js +1 -1
- package/dist/index.cjs394.js +1 -1
- package/dist/index.cjs395.js +1 -1
- package/dist/index.cjs415.js +6 -1
- package/dist/index.cjs415.js.map +1 -1
- package/dist/index.cjs416.js +6 -1
- package/dist/index.cjs416.js.map +1 -1
- package/dist/index.cjs417.js +1 -1
- package/dist/index.cjs417.js.map +1 -1
- package/dist/index.cjs418.js +1 -1
- package/dist/index.cjs418.js.map +1 -1
- package/dist/index.cjs419.js +1 -6
- package/dist/index.cjs419.js.map +1 -1
- package/dist/index.cjs420.js +1 -6
- package/dist/index.cjs420.js.map +1 -1
- package/dist/index.cjs424.js +1 -1
- package/dist/index.cjs425.js +1 -1
- package/dist/index.cjs426.js +1 -1
- package/dist/index.cjs427.js +1 -1
- package/dist/index.cjs428.js +1 -1
- package/dist/index.cjs429.js +1 -1
- package/dist/index.cjs430.js +1 -1
- package/dist/index.cjs432.js +1 -1
- package/dist/index.cjs434.js +1 -1
- package/dist/index.cjs437.js +1 -1
- package/dist/index.cjs442.js +1 -1
- package/dist/index.cjs442.js.map +1 -1
- package/dist/index.cjs443.js +1 -1
- package/dist/index.cjs443.js.map +1 -1
- package/dist/index.cjs444.js +1 -1
- package/dist/index.cjs444.js.map +1 -1
- package/dist/index.cjs445.js +1 -1
- package/dist/index.cjs445.js.map +1 -1
- package/dist/index.cjs446.js +1 -1
- package/dist/index.cjs446.js.map +1 -1
- package/dist/index.cjs447.js +1 -1
- package/dist/index.cjs447.js.map +1 -1
- package/dist/index.cjs448.js +1 -1
- package/dist/index.cjs448.js.map +1 -1
- package/dist/index.cjs449.js +1 -1
- package/dist/index.cjs449.js.map +1 -1
- package/dist/index.cjs45.js +1 -1
- package/dist/index.cjs450.js +1 -1
- package/dist/index.cjs450.js.map +1 -1
- package/dist/index.cjs451.js +1 -1
- package/dist/index.cjs451.js.map +1 -1
- package/dist/index.cjs452.js +1 -1
- package/dist/index.cjs452.js.map +1 -1
- package/dist/index.cjs453.js +1 -1
- package/dist/index.cjs453.js.map +1 -1
- package/dist/index.cjs454.js +1 -1
- package/dist/index.cjs454.js.map +1 -1
- package/dist/index.cjs455.js +1 -1
- package/dist/index.cjs455.js.map +1 -1
- package/dist/index.cjs456.js +1 -1
- package/dist/index.cjs456.js.map +1 -1
- package/dist/index.cjs46.js +1 -1
- package/dist/index.cjs46.js.map +1 -1
- package/dist/index.cjs47.js +1 -1
- package/dist/index.cjs47.js.map +1 -1
- package/dist/index.cjs48.js +1 -1
- package/dist/index.cjs50.js +1 -1
- package/dist/index.cjs51.js +1 -1
- package/dist/index.cjs51.js.map +1 -1
- package/dist/index.cjs52.js +1 -1
- package/dist/index.cjs53.js +1 -1
- package/dist/index.cjs53.js.map +1 -1
- package/dist/index.cjs54.js +1 -1
- package/dist/index.cjs54.js.map +1 -1
- package/dist/index.cjs55.js +1 -1
- package/dist/index.cjs55.js.map +1 -1
- package/dist/index.cjs56.js +1 -1
- package/dist/index.cjs56.js.map +1 -1
- package/dist/index.cjs57.js +1 -1
- package/dist/index.cjs58.js +1 -1
- package/dist/index.cjs58.js.map +1 -1
- package/dist/index.cjs59.js +1 -1
- package/dist/index.cjs59.js.map +1 -1
- package/dist/index.cjs60.js +1 -1
- package/dist/index.cjs61.js +1 -1
- package/dist/index.cjs61.js.map +1 -1
- package/dist/index.cjs62.js +1 -1
- package/dist/index.cjs63.js +1 -1
- package/dist/index.cjs64.js +1 -1
- package/dist/index.cjs65.js +1 -1
- package/dist/index.cjs66.js +1 -1
- package/dist/index.cjs67.js +1 -1
- package/dist/index.cjs67.js.map +1 -1
- package/dist/index.cjs68.js +1 -1
- package/dist/index.cjs69.js +1 -1
- package/dist/index.cjs69.js.map +1 -1
- package/dist/index.cjs70.js +1 -1
- package/dist/index.cjs70.js.map +1 -1
- package/dist/index.cjs71.js +1 -1
- package/dist/index.cjs72.js +1 -1
- package/dist/index.cjs73.js +1 -1
- package/dist/index.cjs74.js +1 -1
- package/dist/index.cjs74.js.map +1 -1
- package/dist/index.cjs76.js +1 -1
- package/dist/index.cjs77.js +1 -1
- package/dist/index.cjs77.js.map +1 -1
- package/dist/index.cjs9.js +1 -1
- package/dist/index.esm10.js +2 -2
- package/dist/index.esm11.js +1 -1
- package/dist/index.esm12.js +3 -3
- package/dist/index.esm13.js +1 -1
- package/dist/index.esm14.js +1 -1
- package/dist/index.esm15.js +1 -1
- package/dist/index.esm16.js +1 -1
- package/dist/index.esm18.js +1 -1
- package/dist/index.esm19.js +1 -1
- package/dist/index.esm20.js +1 -1
- package/dist/index.esm21.js +2 -2
- package/dist/index.esm22.js +2 -2
- package/dist/index.esm23.js +1 -1
- package/dist/index.esm24.js +15 -14
- package/dist/index.esm24.js.map +1 -1
- package/dist/index.esm25.js +1 -1
- package/dist/index.esm26.js +2 -2
- package/dist/index.esm27.js +1 -1
- package/dist/index.esm28.js +1 -1
- package/dist/index.esm30.js +2 -2
- package/dist/index.esm31.js +1 -1
- package/dist/index.esm32.js +3 -3
- package/dist/index.esm389.js +1 -1
- package/dist/index.esm394.js +1 -1
- package/dist/index.esm395.js +1 -1
- package/dist/index.esm415.js +9 -5
- package/dist/index.esm415.js.map +1 -1
- package/dist/index.esm416.js +18 -5
- package/dist/index.esm416.js.map +1 -1
- package/dist/index.esm417.js +8 -2
- package/dist/index.esm417.js.map +1 -1
- package/dist/index.esm418.js +5 -6
- package/dist/index.esm418.js.map +1 -1
- package/dist/index.esm419.js +5 -15
- package/dist/index.esm419.js.map +1 -1
- package/dist/index.esm420.js +5 -17
- package/dist/index.esm420.js.map +1 -1
- package/dist/index.esm424.js +1 -1
- package/dist/index.esm425.js +2 -2
- package/dist/index.esm426.js +3 -3
- package/dist/index.esm427.js +3 -3
- package/dist/index.esm428.js +1 -1
- package/dist/index.esm429.js +2 -2
- package/dist/index.esm430.js +1 -1
- package/dist/index.esm432.js +1 -1
- package/dist/index.esm434.js +7 -7
- package/dist/index.esm437.js +1 -1
- package/dist/index.esm442.js +5 -18
- package/dist/index.esm442.js.map +1 -1
- package/dist/index.esm443.js +9 -16
- package/dist/index.esm443.js.map +1 -1
- package/dist/index.esm444.js +6 -11
- package/dist/index.esm444.js.map +1 -1
- package/dist/index.esm445.js +3 -4
- package/dist/index.esm445.js.map +1 -1
- package/dist/index.esm446.js +84 -3
- package/dist/index.esm446.js.map +1 -1
- package/dist/index.esm447.js +34 -27
- package/dist/index.esm447.js.map +1 -1
- package/dist/index.esm448.js +27 -30
- package/dist/index.esm448.js.map +1 -1
- package/dist/index.esm449.js +13 -20
- package/dist/index.esm449.js.map +1 -1
- package/dist/index.esm45.js +16 -39
- package/dist/index.esm45.js.map +1 -1
- package/dist/index.esm450.js +16 -3
- package/dist/index.esm450.js.map +1 -1
- package/dist/index.esm451.js +11 -5
- package/dist/index.esm451.js.map +1 -1
- package/dist/index.esm452.js +4 -9
- package/dist/index.esm452.js.map +1 -1
- package/dist/index.esm453.js +3 -6
- package/dist/index.esm453.js.map +1 -1
- package/dist/index.esm454.js +33 -3
- package/dist/index.esm454.js.map +1 -1
- package/dist/index.esm455.js +26 -85
- package/dist/index.esm455.js.map +1 -1
- package/dist/index.esm456.js +3 -37
- package/dist/index.esm456.js.map +1 -1
- package/dist/index.esm46.js +16 -17
- package/dist/index.esm46.js.map +1 -1
- package/dist/index.esm47.js +7 -16
- package/dist/index.esm47.js.map +1 -1
- package/dist/index.esm48.js +39 -40
- package/dist/index.esm48.js.map +1 -1
- package/dist/index.esm50.js +8 -32
- package/dist/index.esm50.js.map +1 -1
- package/dist/index.esm51.js +28 -9
- package/dist/index.esm51.js.map +1 -1
- package/dist/index.esm52.js +58 -6
- package/dist/index.esm52.js.map +1 -1
- package/dist/index.esm53.js +41 -9
- package/dist/index.esm53.js.map +1 -1
- package/dist/index.esm54.js +11 -7
- package/dist/index.esm54.js.map +1 -1
- package/dist/index.esm55.js +30 -9
- package/dist/index.esm55.js.map +1 -1
- package/dist/index.esm56.js +37 -28
- package/dist/index.esm56.js.map +1 -1
- package/dist/index.esm57.js +64 -10
- package/dist/index.esm57.js.map +1 -1
- package/dist/index.esm58.js +9 -30
- package/dist/index.esm58.js.map +1 -1
- package/dist/index.esm59.js +88 -9
- package/dist/index.esm59.js.map +1 -1
- package/dist/index.esm60.js +34 -19
- package/dist/index.esm60.js.map +1 -1
- package/dist/index.esm61.js +127 -47
- package/dist/index.esm61.js.map +1 -1
- package/dist/index.esm62.js +28 -10
- package/dist/index.esm62.js.map +1 -1
- package/dist/index.esm63.js +42 -5
- package/dist/index.esm63.js.map +1 -1
- package/dist/index.esm64.js +7 -3
- package/dist/index.esm64.js.map +1 -1
- package/dist/index.esm65.js +47 -65
- package/dist/index.esm65.js.map +1 -1
- package/dist/index.esm66.js +10 -36
- package/dist/index.esm66.js.map +1 -1
- package/dist/index.esm67.js +5 -88
- package/dist/index.esm67.js.map +1 -1
- package/dist/index.esm68.js +6 -34
- package/dist/index.esm68.js.map +1 -1
- package/dist/index.esm69.js +8 -126
- package/dist/index.esm69.js.map +1 -1
- package/dist/index.esm70.js +7 -59
- package/dist/index.esm70.js.map +1 -1
- package/dist/index.esm71.js +27 -40
- package/dist/index.esm71.js.map +1 -1
- package/dist/index.esm72.js +32 -6
- package/dist/index.esm72.js.map +1 -1
- package/dist/index.esm73.js +5 -15
- package/dist/index.esm73.js.map +1 -1
- package/dist/index.esm74.js +20 -109
- package/dist/index.esm74.js.map +1 -1
- package/dist/index.esm76.js +15 -28
- package/dist/index.esm76.js.map +1 -1
- package/dist/index.esm77.js +109 -30
- package/dist/index.esm77.js.map +1 -1
- package/dist/index.esm9.js +1 -1
- package/package.json +1 -1
package/dist/index.esm74.js
CHANGED
|
@@ -1,113 +1,24 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if (e < 60) return `${e} мин`;
|
|
15
|
-
const i = Math.floor(e / 60), r = e % 60;
|
|
16
|
-
return r > 0 ? `${i} ч ${r} мин` : `${i} ч`;
|
|
17
|
-
}
|
|
18
|
-
function k({
|
|
19
|
-
title: e,
|
|
20
|
-
description: i,
|
|
21
|
-
viewsCount: r,
|
|
22
|
-
readingTimeMinutes: t,
|
|
23
|
-
author: n,
|
|
24
|
-
imageUrl: d,
|
|
25
|
-
imageAlt: I,
|
|
26
|
-
formattedDate: m,
|
|
27
|
-
view: x,
|
|
28
|
-
tags: o,
|
|
29
|
-
href: j,
|
|
30
|
-
className: p
|
|
31
|
-
}) {
|
|
32
|
-
return x === "row" ? /* @__PURE__ */ s.jsxs("div", { className: N(a.content, a["content--row"], p), children: [
|
|
33
|
-
/* @__PURE__ */ s.jsx("div", { className: a.rowIcon, "aria-hidden": !0, children: /* @__PURE__ */ s.jsx(g, { size: 24, strokeWidth: 2 }) }),
|
|
34
|
-
/* @__PURE__ */ s.jsxs("div", { className: a.rowBody, children: [
|
|
35
|
-
o && /* @__PURE__ */ s.jsx("div", { className: a.tagsSlotRow, onClick: (l) => l.stopPropagation(), children: o }),
|
|
36
|
-
/* @__PURE__ */ s.jsx(c, { variant: "h5", as: "h2", className: a.title, title: e, children: e }),
|
|
37
|
-
/* @__PURE__ */ s.jsxs("div", { className: a.rowMeta, children: [
|
|
38
|
-
/* @__PURE__ */ s.jsx(c, { variant: "caption", className: a.date, children: m }),
|
|
39
|
-
r != null && /* @__PURE__ */ s.jsxs("span", { className: a.views, title: "Просмотры", children: [
|
|
40
|
-
/* @__PURE__ */ s.jsx(w, { size: 14, strokeWidth: 2 }),
|
|
41
|
-
/* @__PURE__ */ s.jsx("span", { children: h(r) })
|
|
42
|
-
] })
|
|
43
|
-
] })
|
|
44
|
-
] })
|
|
45
|
-
] }) : x === "card" ? /* @__PURE__ */ s.jsxs(
|
|
46
|
-
"div",
|
|
47
|
-
{
|
|
48
|
-
className: N(
|
|
49
|
-
a.content,
|
|
50
|
-
a["content--card"],
|
|
51
|
-
!d && a["content--card-no-image"],
|
|
52
|
-
p
|
|
53
|
-
),
|
|
54
|
-
children: [
|
|
55
|
-
/* @__PURE__ */ s.jsxs("div", { className: a.cardBody, children: [
|
|
56
|
-
n ? /* @__PURE__ */ s.jsxs("div", { className: a.author, onClick: (l) => l.stopPropagation(), children: [
|
|
57
|
-
n.avatarUrl ? /* @__PURE__ */ s.jsx(
|
|
58
|
-
"img",
|
|
59
|
-
{
|
|
60
|
-
src: n.avatarUrl,
|
|
61
|
-
alt: "",
|
|
62
|
-
className: a.authorAvatar,
|
|
63
|
-
width: 32,
|
|
64
|
-
height: 32
|
|
65
|
-
}
|
|
66
|
-
) : /* @__PURE__ */ s.jsx("div", { className: a.authorAvatarPlaceholder, "aria-hidden": !0, children: n.name.charAt(0).toUpperCase() }),
|
|
67
|
-
/* @__PURE__ */ s.jsx(c, { variant: "caption", className: a.authorName, children: n.name }),
|
|
68
|
-
/* @__PURE__ */ s.jsx(c, { variant: "caption", className: a.date, children: m })
|
|
69
|
-
] }) : /* @__PURE__ */ s.jsx(c, { variant: "caption", className: a.date, children: m }),
|
|
70
|
-
/* @__PURE__ */ s.jsx(c, { variant: "h5", as: "h2", className: a.title, title: e, children: e }),
|
|
71
|
-
i && /* @__PURE__ */ s.jsx(c, { variant: "caption", className: a.description, children: i }),
|
|
72
|
-
/* @__PURE__ */ s.jsxs("div", { className: a.cardFooter, children: [
|
|
73
|
-
o && /* @__PURE__ */ s.jsx("div", { className: a.tagsSlotCard, onClick: (l) => l.stopPropagation(), children: o }),
|
|
74
|
-
j ? /* @__PURE__ */ s.jsxs("a", { href: j, className: a.meta, children: [
|
|
75
|
-
t != null && /* @__PURE__ */ s.jsxs("span", { className: a.readingTime, title: "Время чтения", children: [
|
|
76
|
-
/* @__PURE__ */ s.jsx(f, { size: 14, className: a.clockIcon }),
|
|
77
|
-
/* @__PURE__ */ s.jsx("span", { children: y(t) })
|
|
78
|
-
] }),
|
|
79
|
-
r != null && /* @__PURE__ */ s.jsxs("span", { className: a.views, title: "Просмотры", children: [
|
|
80
|
-
/* @__PURE__ */ s.jsx(v, { size: 14, className: a.eyeIcon }),
|
|
81
|
-
/* @__PURE__ */ s.jsx("span", { children: h(r) })
|
|
82
|
-
] })
|
|
83
|
-
] }) : /* @__PURE__ */ s.jsxs("div", { className: a.meta, children: [
|
|
84
|
-
t != null && /* @__PURE__ */ s.jsxs("span", { className: a.readingTime, title: "Время чтения", children: [
|
|
85
|
-
/* @__PURE__ */ s.jsx(f, { size: 14, className: a.clockIcon }),
|
|
86
|
-
/* @__PURE__ */ s.jsx("span", { children: y(t) })
|
|
87
|
-
] }),
|
|
88
|
-
r != null && /* @__PURE__ */ s.jsxs("span", { className: a.views, title: "Просмотры", children: [
|
|
89
|
-
/* @__PURE__ */ s.jsx(v, { size: 14, className: a.eyeIcon }),
|
|
90
|
-
/* @__PURE__ */ s.jsx("span", { children: h(r) })
|
|
91
|
-
] })
|
|
92
|
-
] })
|
|
93
|
-
] })
|
|
94
|
-
] }),
|
|
95
|
-
d && /* @__PURE__ */ s.jsx("div", { className: a.previewWrap, children: /* @__PURE__ */ s.jsx(
|
|
96
|
-
"img",
|
|
97
|
-
{
|
|
98
|
-
src: d,
|
|
99
|
-
alt: I || e,
|
|
100
|
-
className: a.previewImage,
|
|
101
|
-
decoding: "async",
|
|
102
|
-
loading: "lazy"
|
|
103
|
-
}
|
|
104
|
-
) })
|
|
105
|
-
]
|
|
106
|
-
}
|
|
107
|
-
) : null;
|
|
108
|
-
}
|
|
109
|
-
k.displayName = "ArticlePreviewContent";
|
|
2
|
+
const c = "_callout_1vzc5_1", o = "_callout--tone-info_1vzc5_16", n = "_callout--tone-warning_1vzc5_23", t = "_callout--tone-success_1vzc5_30", l = "_icon_1vzc5_37", _ = "_iconSvg_1vzc5_49", e = "_text_1vzc5_55", a = {
|
|
3
|
+
callout: c,
|
|
4
|
+
"callout--tone-info": "_callout--tone-info_1vzc5_16",
|
|
5
|
+
calloutToneInfo: o,
|
|
6
|
+
"callout--tone-warning": "_callout--tone-warning_1vzc5_23",
|
|
7
|
+
calloutToneWarning: n,
|
|
8
|
+
"callout--tone-success": "_callout--tone-success_1vzc5_30",
|
|
9
|
+
calloutToneSuccess: t,
|
|
10
|
+
icon: l,
|
|
11
|
+
iconSvg: _,
|
|
12
|
+
text: e
|
|
13
|
+
};
|
|
110
14
|
export {
|
|
111
|
-
|
|
15
|
+
c as callout,
|
|
16
|
+
o as calloutToneInfo,
|
|
17
|
+
t as calloutToneSuccess,
|
|
18
|
+
n as calloutToneWarning,
|
|
19
|
+
a as default,
|
|
20
|
+
l as icon,
|
|
21
|
+
_ as iconSvg,
|
|
22
|
+
e as text
|
|
112
23
|
};
|
|
113
24
|
//# sourceMappingURL=index.esm74.js.map
|
package/dist/index.esm74.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm74.js","sources":["../src/components/content/ArticlePreview/components/ArticlePreviewContent/ArticlePreviewContent.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Typography } from '../../../../primitives/Typography';\nimport { EyeIcon, FileTextIcon } from '../../../../primitives/Icon/Icons';\nimport { AnimatedEyeIcon } from './AnimatedEyeIcon';\nimport type { ArticlePreviewAuthor } from '../../ArticlePreview';\nimport { AnimatedClockIcon } from './AnimatedClockIcon';\nimport styles from './ArticlePreviewContent.module.pcss';\n\nexport type ArticlePreviewContentView = 'card' | 'row';\n\nexport interface ArticlePreviewContentProps {\n title: string;\n description?: string;\n viewsCount?: number;\n readingTimeMinutes?: number;\n author?: ArticlePreviewAuthor;\n imageUrl?: string;\n imageAlt?: string;\n formattedDate: string;\n view: ArticlePreviewContentView;\n tags?: React.ReactNode;\n href?: string;\n className?: string;\n}\n\nfunction formatViews(count: number): string {\n if (count >= 1_000_000) return `${(count / 1_000_000).toFixed(1)}M`;\n if (count >= 1_000) return `${(count / 1_000).toFixed(1)}K`;\n return String(count);\n}\n\nfunction formatReadingTime(minutes: number): string {\n if (minutes < 60) return `${minutes} мин`;\n const h = Math.floor(minutes / 60);\n const m = minutes % 60;\n return m > 0 ? `${h} ч ${m} мин` : `${h} ч`;\n}\n\nexport function ArticlePreviewContent({\n title,\n description,\n viewsCount,\n readingTimeMinutes,\n author,\n imageUrl,\n imageAlt,\n formattedDate,\n view,\n tags,\n href,\n className,\n}: ArticlePreviewContentProps) {\n if (view === 'row') {\n return (\n <div className={cn(styles.content, styles['content--row'], className)}>\n <div className={styles.rowIcon} aria-hidden>\n <FileTextIcon size={24} strokeWidth={2} />\n </div>\n <div className={styles.rowBody}>\n {tags && (\n <div className={styles.tagsSlotRow} onClick={(e) => e.stopPropagation()}>\n {tags}\n </div>\n )}\n <Typography variant=\"h5\" as=\"h2\" className={styles.title} title={title}>\n {title}\n </Typography>\n <div className={styles.rowMeta}>\n <Typography variant=\"caption\" className={styles.date}>\n {formattedDate}\n </Typography>\n {viewsCount != null && (\n <span className={styles.views} title=\"Просмотры\">\n <EyeIcon size={14} strokeWidth={2} />\n <span>{formatViews(viewsCount)}</span>\n </span>\n )}\n </div>\n </div>\n </div>\n );\n }\n\n if (view === 'card') {\n return (\n <div\n className={cn(\n styles.content,\n styles['content--card'],\n !imageUrl && styles['content--card-no-image'],\n className\n )}\n >\n <div className={styles.cardBody}>\n {author ? (\n <div className={styles.author} onClick={(e) => e.stopPropagation()}>\n {author.avatarUrl ? (\n <img\n src={author.avatarUrl}\n alt=\"\"\n className={styles.authorAvatar}\n width={32}\n height={32}\n />\n ) : (\n <div className={styles.authorAvatarPlaceholder} aria-hidden>\n {author.name.charAt(0).toUpperCase()}\n </div>\n )}\n <Typography variant=\"caption\" className={styles.authorName}>\n {author.name}\n </Typography>\n <Typography variant=\"caption\" className={styles.date}>\n {formattedDate}\n </Typography>\n </div>\n ) : (\n <Typography variant=\"caption\" className={styles.date}>\n {formattedDate}\n </Typography>\n )}\n <Typography variant=\"h5\" as=\"h2\" className={styles.title} title={title}>\n {title}\n </Typography>\n {description && (\n <Typography variant=\"caption\" className={styles.description}>\n {description}\n </Typography>\n )}\n <div className={styles.cardFooter}>\n {tags && (\n <div className={styles.tagsSlotCard} onClick={(e) => e.stopPropagation()}>\n {tags}\n </div>\n )}\n {href ? (\n <a href={href} className={styles.meta}>\n {readingTimeMinutes != null && (\n <span className={styles.readingTime} title=\"Время чтения\">\n <AnimatedClockIcon size={14} className={styles.clockIcon} />\n <span>{formatReadingTime(readingTimeMinutes)}</span>\n </span>\n )}\n {viewsCount != null && (\n <span className={styles.views} title=\"Просмотры\">\n <AnimatedEyeIcon size={14} className={styles.eyeIcon} />\n <span>{formatViews(viewsCount)}</span>\n </span>\n )}\n </a>\n ) : (\n <div className={styles.meta}>\n {readingTimeMinutes != null && (\n <span className={styles.readingTime} title=\"Время чтения\">\n <AnimatedClockIcon size={14} className={styles.clockIcon} />\n <span>{formatReadingTime(readingTimeMinutes)}</span>\n </span>\n )}\n {viewsCount != null && (\n <span className={styles.views} title=\"Просмотры\">\n <AnimatedEyeIcon size={14} className={styles.eyeIcon} />\n <span>{formatViews(viewsCount)}</span>\n </span>\n )}\n </div>\n )}\n </div>\n </div>\n {imageUrl && (\n <div className={styles.previewWrap}>\n <img\n src={imageUrl}\n alt={imageAlt || title}\n className={styles.previewImage}\n decoding=\"async\"\n loading=\"lazy\"\n />\n </div>\n )}\n </div>\n );\n }\n\n return null;\n}\n\nArticlePreviewContent.displayName = 'ArticlePreviewContent';\n"],"names":["formatViews","count","formatReadingTime","minutes","h","m","ArticlePreviewContent","title","description","viewsCount","readingTimeMinutes","author","imageUrl","imageAlt","formattedDate","view","tags","href","className","jsxs","cn","styles","jsx","FileTextIcon","e","Typography","EyeIcon","AnimatedClockIcon","AnimatedEyeIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm74.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
package/dist/index.esm76.js
CHANGED
|
@@ -1,33 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"wrapper--sm": "_wrapper--sm_1xv65_72",
|
|
12
|
-
wrapperSm: t,
|
|
13
|
-
"wrapper--md": "_wrapper--md_1xv65_82",
|
|
14
|
-
wrapperMd: n,
|
|
15
|
-
"wrapper--lg": "_wrapper--lg_1xv65_92",
|
|
16
|
-
wrapperLg: o,
|
|
17
|
-
"wrapper--fullWidth": "_wrapper--fullWidth_1xv65_102",
|
|
18
|
-
wrapperFullWidth: s
|
|
2
|
+
const o = "_root_iwlyv_1", t = "_root--interactive_iwlyv_16", r = "_cardLink_iwlyv_20", _ = "_root--card_iwlyv_41", i = "_root--row_iwlyv_50", c = {
|
|
3
|
+
root: o,
|
|
4
|
+
"root--interactive": "_root--interactive_iwlyv_16",
|
|
5
|
+
rootInteractive: t,
|
|
6
|
+
cardLink: r,
|
|
7
|
+
"root--card": "_root--card_iwlyv_41",
|
|
8
|
+
rootCard: _,
|
|
9
|
+
"root--row": "_root--row_iwlyv_50",
|
|
10
|
+
rootRow: i
|
|
19
11
|
};
|
|
20
12
|
export {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
p as wrapperError,
|
|
28
|
-
s as wrapperFullWidth,
|
|
29
|
-
o as wrapperLg,
|
|
30
|
-
n as wrapperMd,
|
|
31
|
-
t as wrapperSm
|
|
13
|
+
r as cardLink,
|
|
14
|
+
c as default,
|
|
15
|
+
o as root,
|
|
16
|
+
_ as rootCard,
|
|
17
|
+
t as rootInteractive,
|
|
18
|
+
i as rootRow
|
|
32
19
|
};
|
|
33
20
|
//# sourceMappingURL=index.esm76.js.map
|
package/dist/index.esm76.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm76.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm76.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
package/dist/index.esm77.js
CHANGED
|
@@ -1,34 +1,113 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
2
|
+
import { j as s } from "./index.esm38.js";
|
|
3
|
+
import N from "./index.esm44.js";
|
|
4
|
+
import { AnimatedEyeIcon as v } from "./index.esm391.js";
|
|
5
|
+
import { AnimatedClockIcon as f } from "./index.esm392.js";
|
|
6
|
+
import a from "./index.esm393.js";
|
|
7
|
+
import { FileTextIcon as g } from "./index.esm394.js";
|
|
8
|
+
import { Typography as c } from "./index.esm9.js";
|
|
9
|
+
import { EyeIcon as w } from "./index.esm395.js";
|
|
10
|
+
function h(e) {
|
|
11
|
+
return e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).toFixed(1)}K` : String(e);
|
|
12
|
+
}
|
|
13
|
+
function y(e) {
|
|
14
|
+
if (e < 60) return `${e} мин`;
|
|
15
|
+
const i = Math.floor(e / 60), r = e % 60;
|
|
16
|
+
return r > 0 ? `${i} ч ${r} мин` : `${i} ч`;
|
|
17
|
+
}
|
|
18
|
+
function k({
|
|
19
|
+
title: e,
|
|
20
|
+
description: i,
|
|
21
|
+
viewsCount: r,
|
|
22
|
+
readingTimeMinutes: t,
|
|
23
|
+
author: n,
|
|
24
|
+
imageUrl: d,
|
|
25
|
+
imageAlt: I,
|
|
26
|
+
formattedDate: m,
|
|
27
|
+
view: x,
|
|
28
|
+
tags: o,
|
|
29
|
+
href: j,
|
|
30
|
+
className: p
|
|
31
|
+
}) {
|
|
32
|
+
return x === "row" ? /* @__PURE__ */ s.jsxs("div", { className: N(a.content, a["content--row"], p), children: [
|
|
33
|
+
/* @__PURE__ */ s.jsx("div", { className: a.rowIcon, "aria-hidden": !0, children: /* @__PURE__ */ s.jsx(g, { size: 24, strokeWidth: 2 }) }),
|
|
34
|
+
/* @__PURE__ */ s.jsxs("div", { className: a.rowBody, children: [
|
|
35
|
+
o && /* @__PURE__ */ s.jsx("div", { className: a.tagsSlotRow, onClick: (l) => l.stopPropagation(), children: o }),
|
|
36
|
+
/* @__PURE__ */ s.jsx(c, { variant: "h5", as: "h2", className: a.title, title: e, children: e }),
|
|
37
|
+
/* @__PURE__ */ s.jsxs("div", { className: a.rowMeta, children: [
|
|
38
|
+
/* @__PURE__ */ s.jsx(c, { variant: "caption", className: a.date, children: m }),
|
|
39
|
+
r != null && /* @__PURE__ */ s.jsxs("span", { className: a.views, title: "Просмотры", children: [
|
|
40
|
+
/* @__PURE__ */ s.jsx(w, { size: 14, strokeWidth: 2 }),
|
|
41
|
+
/* @__PURE__ */ s.jsx("span", { children: h(r) })
|
|
42
|
+
] })
|
|
43
|
+
] })
|
|
44
|
+
] })
|
|
45
|
+
] }) : x === "card" ? /* @__PURE__ */ s.jsxs(
|
|
46
|
+
"div",
|
|
47
|
+
{
|
|
48
|
+
className: N(
|
|
49
|
+
a.content,
|
|
50
|
+
a["content--card"],
|
|
51
|
+
!d && a["content--card-no-image"],
|
|
52
|
+
p
|
|
53
|
+
),
|
|
54
|
+
children: [
|
|
55
|
+
/* @__PURE__ */ s.jsxs("div", { className: a.cardBody, children: [
|
|
56
|
+
n ? /* @__PURE__ */ s.jsxs("div", { className: a.author, onClick: (l) => l.stopPropagation(), children: [
|
|
57
|
+
n.avatarUrl ? /* @__PURE__ */ s.jsx(
|
|
58
|
+
"img",
|
|
59
|
+
{
|
|
60
|
+
src: n.avatarUrl,
|
|
61
|
+
alt: "",
|
|
62
|
+
className: a.authorAvatar,
|
|
63
|
+
width: 32,
|
|
64
|
+
height: 32
|
|
65
|
+
}
|
|
66
|
+
) : /* @__PURE__ */ s.jsx("div", { className: a.authorAvatarPlaceholder, "aria-hidden": !0, children: n.name.charAt(0).toUpperCase() }),
|
|
67
|
+
/* @__PURE__ */ s.jsx(c, { variant: "caption", className: a.authorName, children: n.name }),
|
|
68
|
+
/* @__PURE__ */ s.jsx(c, { variant: "caption", className: a.date, children: m })
|
|
69
|
+
] }) : /* @__PURE__ */ s.jsx(c, { variant: "caption", className: a.date, children: m }),
|
|
70
|
+
/* @__PURE__ */ s.jsx(c, { variant: "h5", as: "h2", className: a.title, title: e, children: e }),
|
|
71
|
+
i && /* @__PURE__ */ s.jsx(c, { variant: "caption", className: a.description, children: i }),
|
|
72
|
+
/* @__PURE__ */ s.jsxs("div", { className: a.cardFooter, children: [
|
|
73
|
+
o && /* @__PURE__ */ s.jsx("div", { className: a.tagsSlotCard, onClick: (l) => l.stopPropagation(), children: o }),
|
|
74
|
+
j ? /* @__PURE__ */ s.jsxs("a", { href: j, className: a.meta, children: [
|
|
75
|
+
t != null && /* @__PURE__ */ s.jsxs("span", { className: a.readingTime, title: "Время чтения", children: [
|
|
76
|
+
/* @__PURE__ */ s.jsx(f, { size: 14, className: a.clockIcon }),
|
|
77
|
+
/* @__PURE__ */ s.jsx("span", { children: y(t) })
|
|
78
|
+
] }),
|
|
79
|
+
r != null && /* @__PURE__ */ s.jsxs("span", { className: a.views, title: "Просмотры", children: [
|
|
80
|
+
/* @__PURE__ */ s.jsx(v, { size: 14, className: a.eyeIcon }),
|
|
81
|
+
/* @__PURE__ */ s.jsx("span", { children: h(r) })
|
|
82
|
+
] })
|
|
83
|
+
] }) : /* @__PURE__ */ s.jsxs("div", { className: a.meta, children: [
|
|
84
|
+
t != null && /* @__PURE__ */ s.jsxs("span", { className: a.readingTime, title: "Время чтения", children: [
|
|
85
|
+
/* @__PURE__ */ s.jsx(f, { size: 14, className: a.clockIcon }),
|
|
86
|
+
/* @__PURE__ */ s.jsx("span", { children: y(t) })
|
|
87
|
+
] }),
|
|
88
|
+
r != null && /* @__PURE__ */ s.jsxs("span", { className: a.views, title: "Просмотры", children: [
|
|
89
|
+
/* @__PURE__ */ s.jsx(v, { size: 14, className: a.eyeIcon }),
|
|
90
|
+
/* @__PURE__ */ s.jsx("span", { children: h(r) })
|
|
91
|
+
] })
|
|
92
|
+
] })
|
|
93
|
+
] })
|
|
94
|
+
] }),
|
|
95
|
+
d && /* @__PURE__ */ s.jsx("div", { className: a.previewWrap, children: /* @__PURE__ */ s.jsx(
|
|
96
|
+
"img",
|
|
97
|
+
{
|
|
98
|
+
src: d,
|
|
99
|
+
alt: I || e,
|
|
100
|
+
className: a.previewImage,
|
|
101
|
+
decoding: "async",
|
|
102
|
+
loading: "lazy"
|
|
103
|
+
}
|
|
104
|
+
) })
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
) : null;
|
|
108
|
+
}
|
|
109
|
+
k.displayName = "ArticlePreviewContent";
|
|
20
110
|
export {
|
|
21
|
-
|
|
22
|
-
_ as item,
|
|
23
|
-
i as itemLevel3,
|
|
24
|
-
v as itemLevel4,
|
|
25
|
-
n as itemLevel5,
|
|
26
|
-
m as itemLevel6,
|
|
27
|
-
k as link,
|
|
28
|
-
o as linkActive,
|
|
29
|
-
s as linkText,
|
|
30
|
-
l as list,
|
|
31
|
-
e as root,
|
|
32
|
-
t as title
|
|
111
|
+
k as ArticlePreviewContent
|
|
33
112
|
};
|
|
34
113
|
//# sourceMappingURL=index.esm77.js.map
|
package/dist/index.esm77.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm77.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.esm77.js","sources":["../src/components/content/ArticlePreview/components/ArticlePreviewContent/ArticlePreviewContent.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Typography } from '../../../../primitives/Typography';\nimport { EyeIcon, FileTextIcon } from '../../../../primitives/Icon/Icons';\nimport { AnimatedEyeIcon } from './AnimatedEyeIcon';\nimport type { ArticlePreviewAuthor } from '../../ArticlePreview';\nimport { AnimatedClockIcon } from './AnimatedClockIcon';\nimport styles from './ArticlePreviewContent.module.pcss';\n\nexport type ArticlePreviewContentView = 'card' | 'row';\n\nexport interface ArticlePreviewContentProps {\n title: string;\n description?: string;\n viewsCount?: number;\n readingTimeMinutes?: number;\n author?: ArticlePreviewAuthor;\n imageUrl?: string;\n imageAlt?: string;\n formattedDate: string;\n view: ArticlePreviewContentView;\n tags?: React.ReactNode;\n href?: string;\n className?: string;\n}\n\nfunction formatViews(count: number): string {\n if (count >= 1_000_000) return `${(count / 1_000_000).toFixed(1)}M`;\n if (count >= 1_000) return `${(count / 1_000).toFixed(1)}K`;\n return String(count);\n}\n\nfunction formatReadingTime(minutes: number): string {\n if (minutes < 60) return `${minutes} мин`;\n const h = Math.floor(minutes / 60);\n const m = minutes % 60;\n return m > 0 ? `${h} ч ${m} мин` : `${h} ч`;\n}\n\nexport function ArticlePreviewContent({\n title,\n description,\n viewsCount,\n readingTimeMinutes,\n author,\n imageUrl,\n imageAlt,\n formattedDate,\n view,\n tags,\n href,\n className,\n}: ArticlePreviewContentProps) {\n if (view === 'row') {\n return (\n <div className={cn(styles.content, styles['content--row'], className)}>\n <div className={styles.rowIcon} aria-hidden>\n <FileTextIcon size={24} strokeWidth={2} />\n </div>\n <div className={styles.rowBody}>\n {tags && (\n <div className={styles.tagsSlotRow} onClick={(e) => e.stopPropagation()}>\n {tags}\n </div>\n )}\n <Typography variant=\"h5\" as=\"h2\" className={styles.title} title={title}>\n {title}\n </Typography>\n <div className={styles.rowMeta}>\n <Typography variant=\"caption\" className={styles.date}>\n {formattedDate}\n </Typography>\n {viewsCount != null && (\n <span className={styles.views} title=\"Просмотры\">\n <EyeIcon size={14} strokeWidth={2} />\n <span>{formatViews(viewsCount)}</span>\n </span>\n )}\n </div>\n </div>\n </div>\n );\n }\n\n if (view === 'card') {\n return (\n <div\n className={cn(\n styles.content,\n styles['content--card'],\n !imageUrl && styles['content--card-no-image'],\n className\n )}\n >\n <div className={styles.cardBody}>\n {author ? (\n <div className={styles.author} onClick={(e) => e.stopPropagation()}>\n {author.avatarUrl ? (\n <img\n src={author.avatarUrl}\n alt=\"\"\n className={styles.authorAvatar}\n width={32}\n height={32}\n />\n ) : (\n <div className={styles.authorAvatarPlaceholder} aria-hidden>\n {author.name.charAt(0).toUpperCase()}\n </div>\n )}\n <Typography variant=\"caption\" className={styles.authorName}>\n {author.name}\n </Typography>\n <Typography variant=\"caption\" className={styles.date}>\n {formattedDate}\n </Typography>\n </div>\n ) : (\n <Typography variant=\"caption\" className={styles.date}>\n {formattedDate}\n </Typography>\n )}\n <Typography variant=\"h5\" as=\"h2\" className={styles.title} title={title}>\n {title}\n </Typography>\n {description && (\n <Typography variant=\"caption\" className={styles.description}>\n {description}\n </Typography>\n )}\n <div className={styles.cardFooter}>\n {tags && (\n <div className={styles.tagsSlotCard} onClick={(e) => e.stopPropagation()}>\n {tags}\n </div>\n )}\n {href ? (\n <a href={href} className={styles.meta}>\n {readingTimeMinutes != null && (\n <span className={styles.readingTime} title=\"Время чтения\">\n <AnimatedClockIcon size={14} className={styles.clockIcon} />\n <span>{formatReadingTime(readingTimeMinutes)}</span>\n </span>\n )}\n {viewsCount != null && (\n <span className={styles.views} title=\"Просмотры\">\n <AnimatedEyeIcon size={14} className={styles.eyeIcon} />\n <span>{formatViews(viewsCount)}</span>\n </span>\n )}\n </a>\n ) : (\n <div className={styles.meta}>\n {readingTimeMinutes != null && (\n <span className={styles.readingTime} title=\"Время чтения\">\n <AnimatedClockIcon size={14} className={styles.clockIcon} />\n <span>{formatReadingTime(readingTimeMinutes)}</span>\n </span>\n )}\n {viewsCount != null && (\n <span className={styles.views} title=\"Просмотры\">\n <AnimatedEyeIcon size={14} className={styles.eyeIcon} />\n <span>{formatViews(viewsCount)}</span>\n </span>\n )}\n </div>\n )}\n </div>\n </div>\n {imageUrl && (\n <div className={styles.previewWrap}>\n <img\n src={imageUrl}\n alt={imageAlt || title}\n className={styles.previewImage}\n decoding=\"async\"\n loading=\"lazy\"\n />\n </div>\n )}\n </div>\n );\n }\n\n return null;\n}\n\nArticlePreviewContent.displayName = 'ArticlePreviewContent';\n"],"names":["formatViews","count","formatReadingTime","minutes","h","m","ArticlePreviewContent","title","description","viewsCount","readingTimeMinutes","author","imageUrl","imageAlt","formattedDate","view","tags","href","className","jsxs","cn","styles","jsx","FileTextIcon","e","Typography","EyeIcon","AnimatedClockIcon","AnimatedEyeIcon"],"mappings":"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"}
|
package/dist/index.esm9.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { j as f } from "./index.esm38.js";
|
|
3
3
|
import a, { forwardRef as h } from "react";
|
|
4
4
|
import l from "./index.esm44.js";
|
|
5
|
-
import r from "./index.
|
|
5
|
+
import r from "./index.esm57.js";
|
|
6
6
|
const c = h(
|
|
7
7
|
({ variant: t = "body", size: e, color: p, as: o, children: m, className: y, ...s }, n) => {
|
|
8
8
|
const u = a.useMemo(() => o || (t.startsWith("h") ? t : t === "body" ? "p" : "span"), [o, t]);
|