@krrli/cm-designsystem 1.34.2 → 1.34.4
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/cm-designsystem.css +8 -5
- package/dist/components/accessible-button/AccessibleButton.d.ts +1 -1
- package/dist/components/accessible-button/AccessibleButton.d.ts.map +1 -1
- package/dist/components/like-toggle/LikeToggle.d.ts.map +1 -1
- package/dist/components/like-toggle/LikeToggle.js +1 -0
- package/dist/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.js +9 -1
- package/dist/components/timed-button/TimedButton.d.ts.map +1 -1
- package/dist/components/timed-button/TimedButton.js +3 -2
- package/dist/compositions/post/Post.d.ts +5 -9
- package/dist/compositions/post/Post.d.ts.map +1 -1
- package/dist/compositions/post/Post.js +71 -60
- package/dist/compositions/post-base/PostBase.d.ts +2 -0
- package/dist/compositions/post-base/PostBase.d.ts.map +1 -1
- package/dist/compositions/post-base/PostBase.js +25 -2
- package/package.json +7 -7
package/dist/cm-designsystem.css
CHANGED
|
@@ -604,6 +604,10 @@
|
|
|
604
604
|
width: auto;
|
|
605
605
|
}
|
|
606
606
|
|
|
607
|
+
.w-fit {
|
|
608
|
+
width: fit-content;
|
|
609
|
+
}
|
|
610
|
+
|
|
607
611
|
.w-full {
|
|
608
612
|
width: 100%;
|
|
609
613
|
}
|
|
@@ -755,11 +759,6 @@
|
|
|
755
759
|
border-top-right-radius: var(--radius-2xl);
|
|
756
760
|
}
|
|
757
761
|
|
|
758
|
-
.rounded-b-none {
|
|
759
|
-
border-bottom-right-radius: 0;
|
|
760
|
-
border-bottom-left-radius: 0;
|
|
761
|
-
}
|
|
762
|
-
|
|
763
762
|
.border {
|
|
764
763
|
border-style: var(--tw-border-style);
|
|
765
764
|
border-width: 1px;
|
|
@@ -1684,6 +1683,10 @@
|
|
|
1684
1683
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
1685
1684
|
}
|
|
1686
1685
|
|
|
1686
|
+
.focus-visible\:ring-slate-300:focus-visible {
|
|
1687
|
+
--tw-ring-color: var(--color-slate-300);
|
|
1688
|
+
}
|
|
1689
|
+
|
|
1687
1690
|
.focus-visible\:ring-violet-600:focus-visible {
|
|
1688
1691
|
--tw-ring-color: var(--color-violet-600);
|
|
1689
1692
|
}
|
|
@@ -17,7 +17,7 @@ export interface BaseAccessibleButtonProps {
|
|
|
17
17
|
/**
|
|
18
18
|
* Click handler for the button.
|
|
19
19
|
*/
|
|
20
|
-
onClick?: () => void;
|
|
20
|
+
onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
21
21
|
}
|
|
22
22
|
interface AccessibleButtonProps extends BaseAccessibleButtonProps {
|
|
23
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessibleButton.d.ts","sourceRoot":"","sources":["../../../src/components/accessible-button/AccessibleButton.tsx"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;IAE7D;;OAEG;IACH,OAAO,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"AccessibleButton.d.ts","sourceRoot":"","sources":["../../../src/components/accessible-button/AccessibleButton.tsx"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;IAE7D;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAC5D;AAED,UAAU,qBAAsB,SAAQ,yBAAyB;IAC/D;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAoB5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LikeToggle.d.ts","sourceRoot":"","sources":["../../../src/components/like-toggle/LikeToggle.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAI1D,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CA0IhB,CAAC;AAEH,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC;AAE5D,UAAU,eAAgB,SAAQ,kBAAkB;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,eAAO,MAAM,UAAU,GAAI,mCAIxB,eAAe,
|
|
1
|
+
{"version":3,"file":"LikeToggle.d.ts","sourceRoot":"","sources":["../../../src/components/like-toggle/LikeToggle.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAI1D,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CA0IhB,CAAC;AAEH,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC;AAE5D,UAAU,eAAgB,SAAQ,kBAAkB;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,eAAO,MAAM,UAAU,GAAI,mCAIxB,eAAe,4CAyEjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/Tabs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/Tabs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAmDb,CAAC;AAEH,KAAK,WAAW,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAS,SAAQ,WAAW;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;CAC9C;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,QAAQ,4CAsCnC,CAAC"}
|
|
@@ -5,7 +5,15 @@ import { tv } from "tailwind-variants";
|
|
|
5
5
|
import { Label } from "../typography/Label.js";
|
|
6
6
|
const tabStyles = tv({
|
|
7
7
|
slots: {
|
|
8
|
-
list: [
|
|
8
|
+
list: [
|
|
9
|
+
"bg-slate-200",
|
|
10
|
+
"rounded-lg",
|
|
11
|
+
"p-1",
|
|
12
|
+
"flex",
|
|
13
|
+
"gap-2",
|
|
14
|
+
"group",
|
|
15
|
+
"w-fit"
|
|
16
|
+
],
|
|
9
17
|
trigger: ["pt-2", "pb-2", "pr-3", "pl-3", "rounded-md"]
|
|
10
18
|
},
|
|
11
19
|
variants: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimedButton.d.ts","sourceRoot":"","sources":["../../../src/components/timed-button/TimedButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAoErB,CAAC;AAEH,KAAK,mBAAmB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;;;GAKG;AACH,UAAU,gBACR,SAAQ,mBAAmB,EAAE,yBAAyB;IACtD;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAE1C;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"TimedButton.d.ts","sourceRoot":"","sources":["../../../src/components/timed-button/TimedButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAoErB,CAAC;AAEH,KAAK,mBAAmB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;;;GAKG;AACH,UAAU,gBACR,SAAQ,mBAAmB,EAAE,yBAAyB;IACtD;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAE1C;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0DlD,CAAC"}
|
|
@@ -91,10 +91,11 @@ const TimedButton = ({
|
|
|
91
91
|
timeoutsRef.current = [];
|
|
92
92
|
};
|
|
93
93
|
}, []);
|
|
94
|
-
const handleClick = () => {
|
|
94
|
+
const handleClick = (e) => {
|
|
95
|
+
e.stopPropagation();
|
|
95
96
|
setPressed(true);
|
|
96
97
|
setAnimating(true);
|
|
97
|
-
onClick?.();
|
|
98
|
+
onClick?.(e);
|
|
98
99
|
const timeout1 = setTimeout(() => setAnimating(false), 350);
|
|
99
100
|
timeoutsRef.current.push(timeout1);
|
|
100
101
|
const timeout2 = setTimeout(() => {
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { VariantProps } from 'tailwind-variants';
|
|
2
2
|
declare const PostStyles: import('tailwind-variants').TVReturnType<{
|
|
3
3
|
size: {
|
|
4
|
-
lg: {
|
|
5
|
-
base: string[];
|
|
6
|
-
};
|
|
4
|
+
lg: {};
|
|
7
5
|
md: {};
|
|
8
6
|
};
|
|
9
7
|
}, {
|
|
@@ -14,9 +12,7 @@ declare const PostStyles: import('tailwind-variants').TVReturnType<{
|
|
|
14
12
|
action: string[];
|
|
15
13
|
}, undefined, {
|
|
16
14
|
size: {
|
|
17
|
-
lg: {
|
|
18
|
-
base: string[];
|
|
19
|
-
};
|
|
15
|
+
lg: {};
|
|
20
16
|
md: {};
|
|
21
17
|
};
|
|
22
18
|
}, {
|
|
@@ -27,9 +23,7 @@ declare const PostStyles: import('tailwind-variants').TVReturnType<{
|
|
|
27
23
|
action: string[];
|
|
28
24
|
}, import('tailwind-variants').TVReturnType<{
|
|
29
25
|
size: {
|
|
30
|
-
lg: {
|
|
31
|
-
base: string[];
|
|
32
|
-
};
|
|
26
|
+
lg: {};
|
|
33
27
|
md: {};
|
|
34
28
|
};
|
|
35
29
|
}, {
|
|
@@ -72,6 +66,8 @@ interface PostProps extends PostVariants {
|
|
|
72
66
|
onLikeClick: () => void;
|
|
73
67
|
/** Callback fired when the share button is clicked. */
|
|
74
68
|
onShareClick: () => void;
|
|
69
|
+
/** Link to Detail Post */
|
|
70
|
+
detailLink?: string;
|
|
75
71
|
}
|
|
76
72
|
/**
|
|
77
73
|
* Detailed post component displaying user info, text content,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Post.d.ts","sourceRoot":"","sources":["../../../src/compositions/post/Post.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAc1D,QAAA,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"Post.d.ts","sourceRoot":"","sources":["../../../src/compositions/post/Post.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAc1D,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAmBd,CAAC;AAEH,KAAK,YAAY,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;AACpD,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5B,UAAU,SAAU,SAAQ,YAAY;IACtC,sDAAsD;IACtD,IAAI,EAAE,QAAQ,CAAC;IAEf,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,mDAAmD;IACnD,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAExB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,4BAA4B;IAC5B,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE7B,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,4CAA4C;IAC5C,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B,yDAAyD;IACzD,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B,sDAAsD;IACtD,WAAW,EAAE,MAAM,IAAI,CAAC;IAExB,uDAAuD;IACvD,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA2EpC,CAAC"}
|
|
@@ -26,7 +26,7 @@ const PostStyles = tv({
|
|
|
26
26
|
},
|
|
27
27
|
variants: {
|
|
28
28
|
size: {
|
|
29
|
-
lg: {
|
|
29
|
+
lg: {},
|
|
30
30
|
md: {}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -37,67 +37,78 @@ const Post = ({
|
|
|
37
37
|
...props
|
|
38
38
|
}) => {
|
|
39
39
|
const { base, avatar, content, text, action } = PostStyles(props);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
UserInfo,
|
|
53
|
-
{
|
|
54
|
-
size: props.size,
|
|
55
|
-
displayName: props.displayName,
|
|
56
|
-
userName: props.userName,
|
|
57
|
-
timestamp: props.timestamp,
|
|
58
|
-
onClick: props.onAvatarClick
|
|
59
|
-
}
|
|
60
|
-
),
|
|
61
|
-
/* @__PURE__ */ jsx(Paragraph, { size: props.size, className: text(), children: renderWithHashtags(props.text) }),
|
|
62
|
-
props.imageSrc && /* @__PURE__ */ jsx(
|
|
63
|
-
ImageBanner,
|
|
64
|
-
{
|
|
65
|
-
src: props.imageSrc,
|
|
66
|
-
alt: props.imageAlt ?? "",
|
|
67
|
-
onClick: () => {
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
),
|
|
71
|
-
/* @__PURE__ */ jsxs("div", { className: action(), children: [
|
|
72
|
-
/* @__PURE__ */ jsx(
|
|
73
|
-
Toggle,
|
|
74
|
-
{
|
|
75
|
-
ariaLabel: "Comment",
|
|
76
|
-
labelText: nbrOfComments === 0 ? "Comment" : nbrOfComments === 1 ? "1 Comment" : `${nbrOfComments} Comments`,
|
|
77
|
-
pressed: nbrOfComments !== 0,
|
|
78
|
-
onToggle: props.onCommentClick
|
|
79
|
-
}
|
|
80
|
-
),
|
|
81
|
-
/* @__PURE__ */ jsx(
|
|
82
|
-
LikeToggle,
|
|
40
|
+
const handlePostClick = () => {
|
|
41
|
+
if (!props.detailLink) return;
|
|
42
|
+
window.location.href = props.detailLink;
|
|
43
|
+
};
|
|
44
|
+
return /* @__PURE__ */ jsxs(
|
|
45
|
+
PostBase,
|
|
46
|
+
{
|
|
47
|
+
className: base(),
|
|
48
|
+
onClick: props.detailLink ? handlePostClick : void 0,
|
|
49
|
+
children: [
|
|
50
|
+
/* @__PURE__ */ jsx("div", { className: avatar(), children: /* @__PURE__ */ jsx(
|
|
51
|
+
Avatar,
|
|
83
52
|
{
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
53
|
+
alt: "Profile",
|
|
54
|
+
size: "md",
|
|
55
|
+
src: props.avatarSrc,
|
|
56
|
+
onAvatarClick: props.onAvatarClick
|
|
87
57
|
}
|
|
88
|
-
),
|
|
89
|
-
/* @__PURE__ */
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
58
|
+
) }),
|
|
59
|
+
/* @__PURE__ */ jsxs("div", { className: content(), children: [
|
|
60
|
+
/* @__PURE__ */ jsx(
|
|
61
|
+
UserInfo,
|
|
62
|
+
{
|
|
63
|
+
size: props.size,
|
|
64
|
+
displayName: props.displayName,
|
|
65
|
+
userName: props.userName,
|
|
66
|
+
timestamp: props.timestamp,
|
|
67
|
+
onClick: props.onAvatarClick
|
|
68
|
+
}
|
|
69
|
+
),
|
|
70
|
+
/* @__PURE__ */ jsx(Paragraph, { size: props.size, className: text(), children: renderWithHashtags(props.text) }),
|
|
71
|
+
props.imageSrc && /* @__PURE__ */ jsx(
|
|
72
|
+
ImageBanner,
|
|
73
|
+
{
|
|
74
|
+
src: props.imageSrc,
|
|
75
|
+
alt: props.imageAlt ?? "",
|
|
76
|
+
onClick: () => {
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
),
|
|
80
|
+
/* @__PURE__ */ jsxs("div", { className: action(), children: [
|
|
81
|
+
/* @__PURE__ */ jsx(
|
|
82
|
+
Toggle,
|
|
83
|
+
{
|
|
84
|
+
ariaLabel: "Comment",
|
|
85
|
+
labelText: nbrOfComments === 0 ? "Comment" : nbrOfComments === 1 ? "1 Comment" : `${nbrOfComments} Comments`,
|
|
86
|
+
pressed: nbrOfComments !== 0,
|
|
87
|
+
onToggle: props.onCommentClick
|
|
88
|
+
}
|
|
89
|
+
),
|
|
90
|
+
/* @__PURE__ */ jsx(
|
|
91
|
+
LikeToggle,
|
|
92
|
+
{
|
|
93
|
+
pressed: props.likedBySelf ?? false,
|
|
94
|
+
likes: nbrOfLikes,
|
|
95
|
+
onLikeChange: props.onLikeClick
|
|
96
|
+
}
|
|
97
|
+
),
|
|
98
|
+
/* @__PURE__ */ jsx(
|
|
99
|
+
TimedButton,
|
|
100
|
+
{
|
|
101
|
+
icon: Share,
|
|
102
|
+
label: "Copy Link",
|
|
103
|
+
labelActive: "Link copied",
|
|
104
|
+
onClick: props.onShareClick
|
|
105
|
+
}
|
|
106
|
+
)
|
|
107
|
+
] })
|
|
108
|
+
] })
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
);
|
|
101
112
|
};
|
|
102
113
|
export {
|
|
103
114
|
Post
|
|
@@ -32,6 +32,8 @@ export interface PostBaseProps extends PostBaseVariants {
|
|
|
32
32
|
className?: string;
|
|
33
33
|
/** Content to be rendered inside the PostBase component */
|
|
34
34
|
children: React.ReactNode;
|
|
35
|
+
/** Navigation via onClick handler */
|
|
36
|
+
onClick?: () => void;
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
39
|
* Base layout wrapper for a post, including an avatar section
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostBase.d.ts","sourceRoot":"","sources":["../../../src/compositions/post-base/PostBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE9D,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"PostBase.d.ts","sourceRoot":"","sources":["../../../src/compositions/post-base/PostBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE9D,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;2CAiBlB,CAAC;AAEH,KAAK,gBAAgB,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2DAA2D;IAC3D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA4B5C,CAAC"}
|
|
@@ -12,14 +12,37 @@ const PostBaseStyles = tv({
|
|
|
12
12
|
"flex",
|
|
13
13
|
"relative",
|
|
14
14
|
"w-full",
|
|
15
|
+
"focus-visible:ring-2",
|
|
15
16
|
"hover:ring-2",
|
|
16
17
|
"hover:ring-slate-200"
|
|
17
18
|
]
|
|
18
19
|
}
|
|
19
20
|
});
|
|
20
|
-
const PostBase = (
|
|
21
|
+
const PostBase = ({
|
|
22
|
+
className,
|
|
23
|
+
onClick,
|
|
24
|
+
...props
|
|
25
|
+
}) => {
|
|
21
26
|
const { base } = PostBaseStyles(props);
|
|
22
|
-
return /* @__PURE__ */ jsx(
|
|
27
|
+
return /* @__PURE__ */ jsx(
|
|
28
|
+
"div",
|
|
29
|
+
{
|
|
30
|
+
className: cn(
|
|
31
|
+
base(),
|
|
32
|
+
className,
|
|
33
|
+
onClick ? "cursor-pointer focus-visible:ring-2 focus-visible:ring-slate-300" : void 0
|
|
34
|
+
),
|
|
35
|
+
onClick,
|
|
36
|
+
tabIndex: onClick ? 0 : void 0,
|
|
37
|
+
onKeyDown: (e) => {
|
|
38
|
+
if (onClick && (e.key === "Enter" || e.key === " ")) {
|
|
39
|
+
e.preventDefault();
|
|
40
|
+
onClick();
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
children: props.children
|
|
44
|
+
}
|
|
45
|
+
);
|
|
23
46
|
};
|
|
24
47
|
export {
|
|
25
48
|
PostBase
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@krrli/cm-designsystem",
|
|
3
3
|
"repository": "https://github.com/ost-cas-fea-25-26/cm-designsystem",
|
|
4
|
-
"version": "1.34.
|
|
4
|
+
"version": "1.34.4",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
"@chromatic-com/storybook": "4.1.3",
|
|
50
50
|
"@eslint/js": "9.39.2",
|
|
51
51
|
"@playwright/test": "1.57.0",
|
|
52
|
-
"@storybook/addon-a11y": "10.1.
|
|
53
|
-
"@storybook/addon-docs": "10.1.
|
|
54
|
-
"@storybook/addon-vitest": "10.1.
|
|
55
|
-
"@storybook/react-vite": "10.1.
|
|
52
|
+
"@storybook/addon-a11y": "10.1.10",
|
|
53
|
+
"@storybook/addon-docs": "10.1.10",
|
|
54
|
+
"@storybook/addon-vitest": "10.1.10",
|
|
55
|
+
"@storybook/react-vite": "10.1.10",
|
|
56
56
|
"@tailwindcss/vite": "4.1.18",
|
|
57
57
|
"@testing-library/dom": "10.4.1",
|
|
58
58
|
"@testing-library/jest-dom": "6.9.1",
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"eslint-plugin-react": "7.37.5",
|
|
74
74
|
"eslint-plugin-react-hooks": "7.0.1",
|
|
75
75
|
"eslint-plugin-react-refresh": "0.4.26",
|
|
76
|
-
"eslint-plugin-storybook": "10.1.
|
|
76
|
+
"eslint-plugin-storybook": "10.1.10",
|
|
77
77
|
"eslint-plugin-unused-imports": "4.3.0",
|
|
78
78
|
"globals": "16.5.0",
|
|
79
79
|
"jsdom": "27.3.0",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"prettier-plugin-tailwindcss": "0.7.2",
|
|
84
84
|
"rollup-preserve-directives": "1.1.3",
|
|
85
85
|
"semantic-release": "25.0.2",
|
|
86
|
-
"storybook": "10.1.
|
|
86
|
+
"storybook": "10.1.10",
|
|
87
87
|
"tailwind-merge": "3.4.0",
|
|
88
88
|
"tailwindcss": "4.1.18",
|
|
89
89
|
"typescript": "5.9.3",
|