@krrli/cm-designsystem 1.32.1 → 1.32.2

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.
Files changed (180) hide show
  1. package/dist/assets/fallback.png.js +4 -0
  2. package/dist/cm-designsystem.css +1944 -1
  3. package/dist/components/accessible-button/AccessibleButton.js +29 -11
  4. package/dist/components/avatar/Avatar.js +91 -65
  5. package/dist/components/branding/BrandingGallery.js +212 -145
  6. package/dist/components/branding/app-icon-gradient.svg.js +4 -0
  7. package/dist/components/branding/app-icon-white.svg.js +4 -0
  8. package/dist/components/branding/hover-logo-default.svg.js +4 -0
  9. package/dist/components/branding/hover-logo-hovered.svg.js +4 -0
  10. package/dist/components/branding/logo-inline-gradient.svg.js +4 -0
  11. package/dist/components/branding/logo-inline-violet.svg.js +4 -0
  12. package/dist/components/branding/logo-inline-white.svg.js +4 -0
  13. package/dist/components/branding/logo-stacked-gradient.svg.js +4 -0
  14. package/dist/components/branding/logo-stacked-violet.svg.js +4 -0
  15. package/dist/components/branding/logo-stacked-white.svg.js +4 -0
  16. package/dist/components/branding/superzeichen.svg.js +4 -0
  17. package/dist/components/button/Button.js +61 -55
  18. package/dist/components/color/ColorDoc.js +26 -7
  19. package/dist/components/file-upload/FileUpload.js +129 -66
  20. package/dist/components/form/Form.js +33 -26
  21. package/dist/components/icon-button/IconButton.js +33 -29
  22. package/dist/components/icons/IconBase.js +21 -6
  23. package/dist/components/icons/generated/ArrowDown.js +15 -4
  24. package/dist/components/icons/generated/ArrowLeft.js +15 -4
  25. package/dist/components/icons/generated/ArrowRight.js +15 -4
  26. package/dist/components/icons/generated/ArrowUp.js +15 -4
  27. package/dist/components/icons/generated/Calendar.js +15 -4
  28. package/dist/components/icons/generated/Cancel.js +12 -4
  29. package/dist/components/icons/generated/Checkmark.js +12 -4
  30. package/dist/components/icons/generated/Edit.js +9 -4
  31. package/dist/components/icons/generated/Eye.js +15 -4
  32. package/dist/components/icons/generated/Fullscreen.js +9 -4
  33. package/dist/components/icons/generated/HeartFilled.js +15 -4
  34. package/dist/components/icons/generated/HeartOutline.js +15 -4
  35. package/dist/components/icons/generated/Location.js +15 -4
  36. package/dist/components/icons/generated/LogOut.js +12 -4
  37. package/dist/components/icons/generated/Mumble.js +13 -4
  38. package/dist/components/icons/generated/Profile.js +12 -4
  39. package/dist/components/icons/generated/ReplyFilled.js +15 -4
  40. package/dist/components/icons/generated/ReplyOutline.js +15 -4
  41. package/dist/components/icons/generated/Repost.js +15 -4
  42. package/dist/components/icons/generated/Send.js +15 -4
  43. package/dist/components/icons/generated/Settings.js +15 -4
  44. package/dist/components/icons/generated/Share.js +12 -4
  45. package/dist/components/icons/generated/Time.js +12 -4
  46. package/dist/components/icons/generated/Upload.js +21 -4
  47. package/dist/components/input/Input.js +67 -41
  48. package/dist/components/like-toggle/LikeToggle.js +203 -176
  49. package/dist/components/logo-link/LogoLink.js +56 -34
  50. package/dist/components/modal/Modal.js +66 -50
  51. package/dist/components/navi-button/NaviButton.js +42 -30
  52. package/dist/components/navi-user-button/NaviUserButton.js +39 -29
  53. package/dist/components/round-button/RoundButton.js +39 -29
  54. package/dist/components/tabs/TabItem.js +11 -8
  55. package/dist/components/tabs/Tabs.js +74 -59
  56. package/dist/components/text-link/TextLink.js +14 -11
  57. package/dist/components/textarea/Textarea.js +57 -41
  58. package/dist/components/timed-button/TimedButton.js +116 -102
  59. package/dist/components/toggle/Toggle.js +91 -62
  60. package/dist/components/typography/AccessibleTypography.js +12 -9
  61. package/dist/components/typography/Heading.js +13 -9
  62. package/dist/components/typography/Label.js +13 -9
  63. package/dist/components/typography/Paragraph.js +13 -9
  64. package/dist/components/typography/Placeholder.js +13 -9
  65. package/dist/components/typography/ValidationMessage.js +14 -9
  66. package/dist/components/typography/styles.js +53 -46
  67. package/dist/compositions/image-banner/ImageBanner.js +53 -45
  68. package/dist/compositions/image-upload-modal/ImageUploadModal.js +44 -20
  69. package/dist/compositions/post/Post.js +81 -26
  70. package/dist/compositions/post-base/PostBase.js +23 -24
  71. package/dist/compositions/post-creator/PostCreator.js +72 -24
  72. package/dist/compositions/profile-banner/ProfileBanner.js +71 -21
  73. package/dist/compositions/profile-banner-image/ProfileBannerImage.js +60 -52
  74. package/dist/compositions/profile-banner-info/ProfileBannerInfo.js +72 -40
  75. package/dist/compositions/response/Response.js +63 -19
  76. package/dist/compositions/response-creator/ResponseCreator.js +67 -23
  77. package/dist/compositions/user-info/UserInfo.js +71 -52
  78. package/dist/compositions/user-recommendation/UserRecommendation.js +58 -30
  79. package/dist/index.js +129 -4
  80. package/package.json +14 -12
  81. package/dist/components/accessible-button/AccessibleButton.d.ts +0 -32
  82. package/dist/components/accessible-button/AccessibleButton.test.d.ts +0 -1
  83. package/dist/components/accessible-button/AccessibleButton.test.js +0 -28
  84. package/dist/components/avatar/Avatar.d.ts +0 -118
  85. package/dist/components/branding/BrandingGallery.d.ts +0 -1
  86. package/dist/components/button/Button.d.ts +0 -66
  87. package/dist/components/button/Button.test.d.ts +0 -1
  88. package/dist/components/button/Button.test.js +0 -30
  89. package/dist/components/color/ColorDoc.d.ts +0 -4
  90. package/dist/components/file-upload/FileUpload.d.ts +0 -83
  91. package/dist/components/form/Form.d.ts +0 -54
  92. package/dist/components/icon-button/IconButton.d.ts +0 -69
  93. package/dist/components/icon-button/IconButton.test.d.ts +0 -1
  94. package/dist/components/icon-button/IconButton.test.js +0 -22
  95. package/dist/components/icons/IconBase.d.ts +0 -5
  96. package/dist/components/icons/generated/ArrowDown.d.ts +0 -3
  97. package/dist/components/icons/generated/ArrowLeft.d.ts +0 -3
  98. package/dist/components/icons/generated/ArrowRight.d.ts +0 -3
  99. package/dist/components/icons/generated/ArrowUp.d.ts +0 -3
  100. package/dist/components/icons/generated/Calendar.d.ts +0 -3
  101. package/dist/components/icons/generated/Cancel.d.ts +0 -3
  102. package/dist/components/icons/generated/Checkmark.d.ts +0 -3
  103. package/dist/components/icons/generated/Edit.d.ts +0 -3
  104. package/dist/components/icons/generated/Eye.d.ts +0 -3
  105. package/dist/components/icons/generated/Fullscreen.d.ts +0 -3
  106. package/dist/components/icons/generated/HeartFilled.d.ts +0 -3
  107. package/dist/components/icons/generated/HeartOutline.d.ts +0 -3
  108. package/dist/components/icons/generated/Location.d.ts +0 -3
  109. package/dist/components/icons/generated/LogOut.d.ts +0 -3
  110. package/dist/components/icons/generated/Mumble.d.ts +0 -3
  111. package/dist/components/icons/generated/Profile.d.ts +0 -3
  112. package/dist/components/icons/generated/ReplyFilled.d.ts +0 -3
  113. package/dist/components/icons/generated/ReplyOutline.d.ts +0 -3
  114. package/dist/components/icons/generated/Repost.d.ts +0 -3
  115. package/dist/components/icons/generated/Send.d.ts +0 -3
  116. package/dist/components/icons/generated/Settings.d.ts +0 -3
  117. package/dist/components/icons/generated/Share.d.ts +0 -3
  118. package/dist/components/icons/generated/Time.d.ts +0 -3
  119. package/dist/components/icons/generated/Upload.d.ts +0 -3
  120. package/dist/components/icons/generated/index.d.ts +0 -24
  121. package/dist/components/icons/generated/index.js +0 -24
  122. package/dist/components/index.d.ts +0 -27
  123. package/dist/components/index.js +0 -27
  124. package/dist/components/input/Input.d.ts +0 -61
  125. package/dist/components/like-toggle/LikeToggle.d.ts +0 -97
  126. package/dist/components/like-toggle/LikeToggle.test.d.ts +0 -1
  127. package/dist/components/like-toggle/LikeToggle.test.js +0 -35
  128. package/dist/components/logo-link/LogoLink.d.ts +0 -11
  129. package/dist/components/modal/Modal.d.ts +0 -75
  130. package/dist/components/modal/Modal.test.d.ts +0 -1
  131. package/dist/components/modal/Modal.test.js +0 -24
  132. package/dist/components/navi-button/NaviButton.d.ts +0 -49
  133. package/dist/components/navi-button/NaviButton.test.d.ts +0 -1
  134. package/dist/components/navi-button/NaviButton.test.js +0 -22
  135. package/dist/components/navi-user-button/NaviUserButton.d.ts +0 -44
  136. package/dist/components/round-button/RoundButton.d.ts +0 -44
  137. package/dist/components/round-button/RoundButton.test.d.ts +0 -1
  138. package/dist/components/round-button/RoundButton.test.js +0 -22
  139. package/dist/components/tabs/TabItem.d.ts +0 -11
  140. package/dist/components/tabs/Tabs.d.ts +0 -67
  141. package/dist/components/tabs/Tabs.test.d.ts +0 -1
  142. package/dist/components/tabs/Tabs.test.js +0 -61
  143. package/dist/components/text-link/TextLink.d.ts +0 -9
  144. package/dist/components/text-link/TextLink.test.d.ts +0 -1
  145. package/dist/components/text-link/TextLink.test.js +0 -14
  146. package/dist/components/textarea/Textarea.d.ts +0 -48
  147. package/dist/components/timed-button/TimedButton.d.ts +0 -79
  148. package/dist/components/timed-button/TimedButton.test.d.ts +0 -1
  149. package/dist/components/timed-button/TimedButton.test.js +0 -36
  150. package/dist/components/toggle/Toggle.d.ts +0 -62
  151. package/dist/components/toggle/Toggle.test.d.ts +0 -1
  152. package/dist/components/toggle/Toggle.test.js +0 -93
  153. package/dist/components/typography/AccessibleTypography.d.ts +0 -33
  154. package/dist/components/typography/Heading.d.ts +0 -24
  155. package/dist/components/typography/Label.d.ts +0 -22
  156. package/dist/components/typography/Paragraph.d.ts +0 -22
  157. package/dist/components/typography/Placeholder.d.ts +0 -17
  158. package/dist/components/typography/ValidationMessage.d.ts +0 -22
  159. package/dist/components/typography/styles.d.ts +0 -74
  160. package/dist/compositions/image-banner/ImageBanner.d.ts +0 -54
  161. package/dist/compositions/image-upload-modal/ImageUploadModal.d.ts +0 -15
  162. package/dist/compositions/index.d.ts +0 -11
  163. package/dist/compositions/index.js +0 -11
  164. package/dist/compositions/post/Post.d.ts +0 -75
  165. package/dist/compositions/post-base/PostBase.d.ts +0 -41
  166. package/dist/compositions/post-creator/PostCreator.d.ts +0 -69
  167. package/dist/compositions/profile-banner/ProfileBanner.d.ts +0 -82
  168. package/dist/compositions/profile-banner-image/ProfileBannerImage.d.ts +0 -54
  169. package/dist/compositions/profile-banner-info/ProfileBannerInfo.d.ts +0 -92
  170. package/dist/compositions/response/Response.d.ts +0 -75
  171. package/dist/compositions/response-creator/ResponseCreator.d.ts +0 -63
  172. package/dist/compositions/user-info/UserInfo.d.ts +0 -75
  173. package/dist/compositions/user-recommendation/UserRecommendation.d.ts +0 -63
  174. package/dist/favicon.svg +0 -18
  175. package/dist/index.cjs.js +0 -50
  176. package/dist/index.d.ts +0 -3
  177. package/dist/index.es.js +0 -8343
  178. package/dist/logo-inline-gradient.svg +0 -43
  179. package/dist/setupTests.d.ts +0 -1
  180. package/dist/setupTests.js +0 -7
@@ -1,62 +0,0 @@
1
- import { type VariantProps } from "tailwind-variants";
2
- declare const toggleStyles: import("tailwind-variants").TVReturnType<{
3
- pressed: {
4
- true: {
5
- base: string[];
6
- icon: string[];
7
- label: string[];
8
- };
9
- false: {
10
- base: string[];
11
- icon: string[];
12
- label: string[];
13
- };
14
- };
15
- }, {
16
- base: string[];
17
- icon: string[];
18
- label: never[];
19
- }, undefined, {
20
- pressed: {
21
- true: {
22
- base: string[];
23
- icon: string[];
24
- label: string[];
25
- };
26
- false: {
27
- base: string[];
28
- icon: string[];
29
- label: string[];
30
- };
31
- };
32
- }, {
33
- base: string[];
34
- icon: string[];
35
- label: never[];
36
- }, import("tailwind-variants").TVReturnType<{
37
- pressed: {
38
- true: {
39
- base: string[];
40
- icon: string[];
41
- label: string[];
42
- };
43
- false: {
44
- base: string[];
45
- icon: string[];
46
- label: string[];
47
- };
48
- };
49
- }, {
50
- base: string[];
51
- icon: string[];
52
- label: never[];
53
- }, undefined, unknown, unknown, undefined>>;
54
- type ToggleVariants = VariantProps<typeof toggleStyles>;
55
- interface ToggleProps extends ToggleVariants {
56
- ariaLabel: string;
57
- labelText: string;
58
- pressed?: boolean;
59
- onToggle: (toggled: boolean) => void;
60
- }
61
- export declare const Toggle: ({ ariaLabel, labelText, pressed, onToggle, }: ToggleProps) => import("react/jsx-runtime").JSX.Element;
62
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,93 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { render, screen } from "@testing-library/react";
3
- import userEvent from "@testing-library/user-event";
4
- import { describe, expect, test, vi } from "vitest";
5
- import { Toggle } from "./Toggle";
6
- describe("LikeToggle", () => {
7
- test("should render icon and label", async () => {
8
- // Arrange
9
- render(_jsx(Toggle, { ariaLabel: "Comment", labelText: "Comment", onToggle: () => { } }));
10
- const button = screen.getByRole("button");
11
- expect(button).toBeVisible();
12
- expect(button).toHaveTextContent("Comment");
13
- // Icon prüfen
14
- expect(screen.getByLabelText("ReplyOutline")).toBeInTheDocument();
15
- });
16
- test("when clicked, onToggle should return flag", async () => {
17
- // Arrange
18
- const onToggleMock = vi.fn();
19
- render(_jsx(Toggle, { ariaLabel: "Comment", labelText: "Comment", onToggle: onToggleMock }));
20
- const button = screen.getByRole("button");
21
- // Act
22
- await userEvent.click(button);
23
- // Assert
24
- expect(onToggleMock).toHaveBeenCalledWith(true);
25
- });
26
- test("when toggled and clicked, onToggle should return false", async () => {
27
- // Arrange
28
- const onToggleMock = vi.fn();
29
- render(_jsx(Toggle, { ariaLabel: "Comment", labelText: "Comment", pressed: true, onToggle: onToggleMock }));
30
- const button = screen.getByRole("button");
31
- // Act
32
- await userEvent.click(button);
33
- // Assert
34
- expect(onToggleMock).toHaveBeenCalledWith(false);
35
- });
36
- test("should display ReplyFilled icon when pressed is true", async () => {
37
- // Arrange
38
- render(_jsx(Toggle, { ariaLabel: "Comment", labelText: "Comment", pressed: true, onToggle: () => { } }));
39
- // Assert
40
- expect(screen.getByLabelText("ReplyFilled")).toBeInTheDocument();
41
- expect(screen.queryByLabelText("ReplyOutline")).not.toBeInTheDocument();
42
- });
43
- test("should display ReplyOutline icon when pressed is false", async () => {
44
- // Arrange
45
- render(_jsx(Toggle, { ariaLabel: "Comment", labelText: "Comment", pressed: false, onToggle: () => { } }));
46
- // Assert
47
- expect(screen.getByLabelText("ReplyOutline")).toBeInTheDocument();
48
- expect(screen.queryByLabelText("ReplyFilled")).not.toBeInTheDocument();
49
- });
50
- test("should use custom ariaLabel", async () => {
51
- // Arrange
52
- render(_jsx(Toggle, { ariaLabel: "Custom Comment Label", labelText: "Comment", onToggle: () => { } }));
53
- // Assert
54
- const button = screen.getByRole("button", {
55
- name: "Custom Comment Label",
56
- });
57
- expect(button).toBeInTheDocument();
58
- });
59
- test("should display custom labelText", async () => {
60
- // Arrange
61
- render(_jsx(Toggle, { ariaLabel: "Comment", labelText: "Custom Label Text", onToggle: () => { } }));
62
- // Assert
63
- expect(screen.getByText("Custom Label Text")).toBeInTheDocument();
64
- });
65
- test("should be keyboard accessible", async () => {
66
- // Arrange
67
- const onToggleMock = vi.fn();
68
- render(_jsx(Toggle, { ariaLabel: "Comment", labelText: "Comment", onToggle: onToggleMock }));
69
- const button = screen.getByRole("button");
70
- // Act
71
- button.focus();
72
- expect(button).toHaveFocus();
73
- await userEvent.keyboard("{Enter}");
74
- // Assert
75
- expect(onToggleMock).toHaveBeenCalledWith(true);
76
- });
77
- test("should toggle multiple times correctly", async () => {
78
- // Arrange
79
- const onToggleMock = vi.fn();
80
- const { rerender } = render(_jsx(Toggle, { ariaLabel: "Comment", labelText: "Comment", onToggle: onToggleMock }));
81
- const button = screen.getByRole("button");
82
- // Act - First click
83
- await userEvent.click(button);
84
- expect(onToggleMock).toHaveBeenCalledWith(true);
85
- // Rerender with pressed state
86
- rerender(_jsx(Toggle, { ariaLabel: "Comment", labelText: "Comment", pressed: true, onToggle: onToggleMock }));
87
- // Act - Second click
88
- await userEvent.click(button);
89
- // Assert
90
- expect(onToggleMock).toHaveBeenCalledWith(false);
91
- expect(onToggleMock).toHaveBeenCalledTimes(2);
92
- });
93
- });
@@ -1,33 +0,0 @@
1
- import { type JSX } from "react";
2
- /**
3
- * Props for the Typography component.
4
- */
5
- export interface AccessibleTypographyProps {
6
- /**
7
- * The HTML tag to render (e.g., "p", "h1", "span").
8
- * Determines the semantic element used for the text.
9
- */
10
- as?: keyof JSX.IntrinsicElements;
11
- /**
12
- * Additional Tailwind or custom class names to apply.
13
- */
14
- className?: string;
15
- /**
16
- * Defines the ARIA role of the element.
17
- */
18
- role?: string;
19
- /**
20
- * The accessible label associated with this element.
21
- * Useful when the visible text isn’t descriptive enough.
22
- */
23
- ariaLabel?: string;
24
- /**
25
- * The content to be rendered inside the element.
26
- */
27
- children: React.ReactNode;
28
- }
29
- /**
30
- * A flexible, semantic, accessible typography component that allows you
31
- * to set the HTML tag and optionally make it clickable.
32
- */
33
- export declare const AccessibleTypography: React.FC<AccessibleTypographyProps>;
@@ -1,24 +0,0 @@
1
- import { type VariantProps } from "tailwind-variants";
2
- import { type AccessibleTypographyProps } from "./AccessibleTypography";
3
- import { headingStyles } from "./styles";
4
- import type { JSX } from "react";
5
- type HeadingVariants = VariantProps<typeof headingStyles>;
6
- type HeadingSize = "1" | "2" | "3" | "4";
7
- /**
8
- * Heading component props.
9
- *
10
- * @inheritDoc TypographyProps
11
- * @inheritDoc HeadingVariants
12
- */
13
- interface HeadingProps extends HeadingVariants, AccessibleTypographyProps {
14
- as: keyof JSX.IntrinsicElements;
15
- /**
16
- * Controls the visual size of the heading.
17
- */
18
- size: HeadingSize;
19
- }
20
- /**
21
- * A semantic, accessible Heading component built on top of the AccessibleTypography component.
22
- */
23
- export declare const Heading: React.FC<HeadingProps>;
24
- export {};
@@ -1,22 +0,0 @@
1
- import { type VariantProps } from "tailwind-variants";
2
- import { type AccessibleTypographyProps } from "./AccessibleTypography";
3
- import { labelStyles } from "./styles";
4
- type LabelVariants = VariantProps<typeof labelStyles>;
5
- export type LabelSize = "xl" | "lg" | "md" | "sm";
6
- /**
7
- * Label component props.
8
- *
9
- * @inheritDoc TypographyProps
10
- * @inheritDoc LabelVariants
11
- */
12
- interface LabelProps extends LabelVariants, AccessibleTypographyProps {
13
- /**
14
- * Controls the visual size of the label.
15
- */
16
- size: LabelSize;
17
- }
18
- /**
19
- * A semantic, accessible Label component built on top of the AccessibleTypography component.
20
- */
21
- export declare const Label: React.FC<LabelProps>;
22
- export {};
@@ -1,22 +0,0 @@
1
- import { type VariantProps } from "tailwind-variants";
2
- import { type AccessibleTypographyProps } from "./AccessibleTypography";
3
- import { paragraphStyles } from "./styles";
4
- type ParagraphVariants = VariantProps<typeof paragraphStyles>;
5
- type ParagraphSize = "lg" | "md";
6
- /**
7
- * Paragraph component props.
8
- *
9
- * @inheritDoc TypographyProps
10
- * @inheritDoc ParagraphVariants
11
- */
12
- interface ParagraphProps extends ParagraphVariants, AccessibleTypographyProps {
13
- /**
14
- * Controls the visual size of the paragraph.
15
- */
16
- size: ParagraphSize;
17
- }
18
- /**
19
- * A semantic, accessible Paragraph component built on top of the AccessibleTypography component.
20
- */
21
- export declare const Paragraph: React.FC<ParagraphProps>;
22
- export {};
@@ -1,17 +0,0 @@
1
- import { type VariantProps } from "tailwind-variants";
2
- import { type AccessibleTypographyProps } from "./AccessibleTypography";
3
- import { placeholderStyles } from "./styles";
4
- type PlaceholderVariants = VariantProps<typeof placeholderStyles>;
5
- /**
6
- * Placeholder component props.
7
- *
8
- * @inheritDoc TypographyProps
9
- * @inheritDoc PlaceholderVariants
10
- */
11
- interface PlaceholderProps extends PlaceholderVariants, AccessibleTypographyProps {
12
- }
13
- /**
14
- * A semantic, accessible Placeholder component built on top of the AccessibleTypography component.
15
- */
16
- export declare const Placeholder: React.FC<PlaceholderProps>;
17
- export {};
@@ -1,22 +0,0 @@
1
- import { type VariantProps } from "tailwind-variants";
2
- import { type AccessibleTypographyProps } from "./AccessibleTypography";
3
- import { validationMessageStyles } from "./styles";
4
- type ValidationMessageVariants = VariantProps<typeof validationMessageStyles>;
5
- type ValidationMessageType = "error";
6
- /**
7
- * ValidationMessage component props.
8
- *
9
- * @inheritDoc TypographyProps
10
- * @inheritDoc ValidationMessageVariants
11
- */
12
- interface ValidationMessageProps extends ValidationMessageVariants, AccessibleTypographyProps {
13
- /**
14
- * Controls the visual variant of the validation message.
15
- */
16
- type?: ValidationMessageType;
17
- }
18
- /**
19
- * A semantic, accessible ValidationMessage component built on top of the AccessibleTypography component.
20
- */
21
- export declare const ValidationMessage: React.FC<ValidationMessageProps>;
22
- export {};
@@ -1,74 +0,0 @@
1
- export declare const headingStyles: import("tailwind-variants").TVReturnType<{
2
- size: {
3
- "1": string[];
4
- "2": string[];
5
- "3": string[];
6
- "4": string[];
7
- };
8
- }, undefined, string[], {
9
- size: {
10
- "1": string[];
11
- "2": string[];
12
- "3": string[];
13
- "4": string[];
14
- };
15
- }, undefined, import("tailwind-variants").TVReturnType<{
16
- size: {
17
- "1": string[];
18
- "2": string[];
19
- "3": string[];
20
- "4": string[];
21
- };
22
- }, undefined, string[], unknown, unknown, undefined>>;
23
- export declare const paragraphStyles: import("tailwind-variants").TVReturnType<{
24
- size: {
25
- lg: string[];
26
- md: string[];
27
- };
28
- }, undefined, string[], {
29
- size: {
30
- lg: string[];
31
- md: string[];
32
- };
33
- }, undefined, import("tailwind-variants").TVReturnType<{
34
- size: {
35
- lg: string[];
36
- md: string[];
37
- };
38
- }, undefined, string[], unknown, unknown, undefined>>;
39
- export declare const labelStyles: import("tailwind-variants").TVReturnType<{
40
- size: {
41
- xl: string[];
42
- lg: string[];
43
- md: string[];
44
- sm: string[];
45
- };
46
- }, undefined, string[], {
47
- size: {
48
- xl: string[];
49
- lg: string[];
50
- md: string[];
51
- sm: string[];
52
- };
53
- }, undefined, import("tailwind-variants").TVReturnType<{
54
- size: {
55
- xl: string[];
56
- lg: string[];
57
- md: string[];
58
- sm: string[];
59
- };
60
- }, undefined, string[], unknown, unknown, undefined>>;
61
- export declare const placeholderStyles: import("tailwind-variants").TVReturnType<{} | {} | {}, undefined, string[], {} | {}, undefined, import("tailwind-variants").TVReturnType<unknown, undefined, string[], unknown, unknown, undefined>>;
62
- export declare const validationMessageStyles: import("tailwind-variants").TVReturnType<{
63
- type: {
64
- error: string[];
65
- };
66
- }, undefined, string[], {
67
- type: {
68
- error: string[];
69
- };
70
- }, undefined, import("tailwind-variants").TVReturnType<{
71
- type: {
72
- error: string[];
73
- };
74
- }, undefined, string[], unknown, unknown, undefined>>;
@@ -1,54 +0,0 @@
1
- import { type VariantProps } from "tailwind-variants";
2
- declare const ImageBannerStyles: import("tailwind-variants").TVReturnType<{
3
- isFallback: {
4
- true: {
5
- image: string[];
6
- };
7
- };
8
- }, {
9
- base: string[];
10
- image: string[];
11
- overlay: string[];
12
- icon: string[];
13
- }, undefined, {
14
- isFallback: {
15
- true: {
16
- image: string[];
17
- };
18
- };
19
- }, {
20
- base: string[];
21
- image: string[];
22
- overlay: string[];
23
- icon: string[];
24
- }, import("tailwind-variants").TVReturnType<{
25
- isFallback: {
26
- true: {
27
- image: string[];
28
- };
29
- };
30
- }, {
31
- base: string[];
32
- image: string[];
33
- overlay: string[];
34
- icon: string[];
35
- }, undefined, unknown, unknown, undefined>>;
36
- type ImageBannerVariants = VariantProps<typeof ImageBannerStyles>;
37
- interface ImageBannerProps extends ImageBannerVariants {
38
- /** Avatar image URL */
39
- src: string;
40
- /**
41
- * Alternative text for the image, used for accessibility.
42
- */
43
- alt: string;
44
- /** Click handler for the whole ImageBanner component */
45
- onClick: () => void;
46
- }
47
- /**
48
- * ImageBanner component
49
- *
50
- * Displays a banner image with a fixed aspect ratio (17:8) and an optional overlay icon.
51
- * If the image fails to load, a fallback element is displayed instead.
52
- */
53
- export declare const ImageBanner: React.FC<ImageBannerProps>;
54
- export {};
@@ -1,15 +0,0 @@
1
- interface ImageUploadModalProps {
2
- /** Callback fired when the user selects a file. `null` is passed if no file is selected. */
3
- onFileChange: (file: File | null) => void;
4
- }
5
- export type ImageUploadModalRef = {
6
- /** Function that opens or closes the modal. Pass `true` to open, `false` to close. */
7
- openModal: (open: boolean) => void;
8
- };
9
- /**
10
- * ImageUploadModal component
11
- *
12
- * Renders a post creation component.
13
- */
14
- export declare const ImageUploadModal: import("react").ForwardRefExoticComponent<ImageUploadModalProps & import("react").RefAttributes<ImageUploadModalRef>>;
15
- export {};
@@ -1,11 +0,0 @@
1
- export * from "./image-banner/ImageBanner";
2
- export * from "./image-upload-modal/ImageUploadModal";
3
- export * from "./post/Post";
4
- export * from "./post-creator/PostCreator";
5
- export * from "./profile-banner/ProfileBanner";
6
- export * from "./profile-banner-image/ProfileBannerImage";
7
- export * from "./profile-banner-info/ProfileBannerInfo";
8
- export * from "./response/Response";
9
- export * from "./response-creator/ResponseCreator";
10
- export * from "./user-info/UserInfo";
11
- export * from "./user-recommendation/UserRecommendation";
@@ -1,11 +0,0 @@
1
- export * from "./image-banner/ImageBanner";
2
- export * from "./image-upload-modal/ImageUploadModal";
3
- export * from "./post/Post";
4
- export * from "./post-creator/PostCreator";
5
- export * from "./profile-banner/ProfileBanner";
6
- export * from "./profile-banner-image/ProfileBannerImage";
7
- export * from "./profile-banner-info/ProfileBannerInfo";
8
- export * from "./response/Response";
9
- export * from "./response-creator/ResponseCreator";
10
- export * from "./user-info/UserInfo";
11
- export * from "./user-recommendation/UserRecommendation";
@@ -1,75 +0,0 @@
1
- import { type VariantProps } from "tailwind-variants";
2
- declare const PostStyles: import("tailwind-variants").TVReturnType<{
3
- size: {
4
- lg: {
5
- base: string[];
6
- };
7
- md: {};
8
- };
9
- }, {
10
- base: never[];
11
- avatar: string[];
12
- content: string[];
13
- text: string[];
14
- action: string[];
15
- }, undefined, {
16
- size: {
17
- lg: {
18
- base: string[];
19
- };
20
- md: {};
21
- };
22
- }, {
23
- base: never[];
24
- avatar: string[];
25
- content: string[];
26
- text: string[];
27
- action: string[];
28
- }, import("tailwind-variants").TVReturnType<{
29
- size: {
30
- lg: {
31
- base: string[];
32
- };
33
- md: {};
34
- };
35
- }, {
36
- base: never[];
37
- avatar: string[];
38
- content: string[];
39
- text: string[];
40
- action: string[];
41
- }, undefined, unknown, unknown, undefined>>;
42
- type PostVariants = VariantProps<typeof PostStyles>;
43
- type PostSize = "md" | "lg";
44
- interface PostProps extends PostVariants {
45
- /** Size of the post, affecting layout and styling. */
46
- size: PostSize;
47
- /** The display name of the user who created the post. */
48
- displayName: string;
49
- /** The username or handle associated with the post. */
50
- userName: string;
51
- /** The date and time when the post was created. */
52
- timestamp: Date;
53
- /** The main text content of the post. */
54
- text: string;
55
- /** Avatar image URL */
56
- src: string;
57
- /** Triggered when the avatar is clicked. */
58
- onAvatarClick: () => void;
59
- /** Optional image source URL displayed within the post. */
60
- imageSrc?: string;
61
- /** Optional alt text for the post image, used for accessibility. */
62
- imageAlt?: string;
63
- /** Callback fired when the comment button is clicked. */
64
- onCommentClick: () => void;
65
- /** Callback fired when the like button is clicked. */
66
- onLikeClick: () => void;
67
- /** Callback fired when the share button is clicked. */
68
- onShareClick: () => void;
69
- }
70
- /**
71
- * Detailed post component displaying user info, text content,
72
- * optional image, and action buttons (comment, like, share).
73
- */
74
- export declare const Post: React.FC<PostProps>;
75
- export {};
@@ -1,41 +0,0 @@
1
- import { type VariantProps } from "tailwind-variants";
2
- declare const PostBaseStyles: import("tailwind-variants").TVReturnType<{
3
- [key: string]: {
4
- [key: string]: import("tailwind-merge").ClassNameValue | {
5
- base?: import("tailwind-merge").ClassNameValue;
6
- };
7
- };
8
- } | {
9
- [x: string]: {
10
- [x: string]: import("tailwind-merge").ClassNameValue | {
11
- base?: import("tailwind-merge").ClassNameValue;
12
- };
13
- };
14
- } | {}, {
15
- base: string[];
16
- }, undefined, {
17
- [key: string]: {
18
- [key: string]: import("tailwind-merge").ClassNameValue | {
19
- base?: import("tailwind-merge").ClassNameValue;
20
- };
21
- };
22
- } | {}, {
23
- base: string[];
24
- }, import("tailwind-variants").TVReturnType<unknown, {
25
- base: string[];
26
- }, undefined, unknown, unknown, undefined>>;
27
- type PostBaseVariants = VariantProps<typeof PostBaseStyles>;
28
- export interface PostBaseProps extends PostBaseVariants {
29
- /**
30
- * Additional CSS class names to apply to the component.
31
- */
32
- className?: string;
33
- /** Content to be rendered inside the PostBase component */
34
- children: React.ReactNode;
35
- }
36
- /**
37
- * Base layout wrapper for a post, including an avatar section
38
- * and content area.
39
- */
40
- export declare const PostBase: React.FC<PostBaseProps>;
41
- export {};
@@ -1,69 +0,0 @@
1
- import { type VariantProps } from "tailwind-variants";
2
- declare const PostCreatorStyles: import("tailwind-variants").TVReturnType<{
3
- [key: string]: {
4
- [key: string]: import("tailwind-merge").ClassNameValue | {
5
- input?: import("tailwind-merge").ClassNameValue;
6
- title?: import("tailwind-merge").ClassNameValue;
7
- avatar?: import("tailwind-merge").ClassNameValue;
8
- action?: import("tailwind-merge").ClassNameValue;
9
- content?: import("tailwind-merge").ClassNameValue;
10
- };
11
- };
12
- } | {
13
- [x: string]: {
14
- [x: string]: import("tailwind-merge").ClassNameValue | {
15
- input?: import("tailwind-merge").ClassNameValue;
16
- title?: import("tailwind-merge").ClassNameValue;
17
- avatar?: import("tailwind-merge").ClassNameValue;
18
- action?: import("tailwind-merge").ClassNameValue;
19
- content?: import("tailwind-merge").ClassNameValue;
20
- };
21
- };
22
- } | {}, {
23
- content: string[];
24
- avatar: string[];
25
- title: string[];
26
- input: string[];
27
- action: string[];
28
- }, undefined, {
29
- [key: string]: {
30
- [key: string]: import("tailwind-merge").ClassNameValue | {
31
- input?: import("tailwind-merge").ClassNameValue;
32
- title?: import("tailwind-merge").ClassNameValue;
33
- avatar?: import("tailwind-merge").ClassNameValue;
34
- action?: import("tailwind-merge").ClassNameValue;
35
- content?: import("tailwind-merge").ClassNameValue;
36
- };
37
- };
38
- } | {}, {
39
- content: string[];
40
- avatar: string[];
41
- title: string[];
42
- input: string[];
43
- action: string[];
44
- }, import("tailwind-variants").TVReturnType<unknown, {
45
- content: string[];
46
- avatar: string[];
47
- title: string[];
48
- input: string[];
49
- action: string[];
50
- }, undefined, unknown, unknown, undefined>>;
51
- type PostCreatorVariants = VariantProps<typeof PostCreatorStyles>;
52
- interface PostCreatorProps extends PostCreatorVariants {
53
- /** Avatar image URL */
54
- src: string;
55
- /** Triggered when the avatar is clicked. */
56
- onAvatarClick: () => void;
57
- /**
58
- * Callback fired when the "Send" button is clicked.
59
- * Receives the textarea text and the optionally uploaded file.
60
- */
61
- onSendClick: (text: string, file: File | null) => void;
62
- }
63
- /**
64
- * PostCreator component
65
- *
66
- * Renders a post creation component.
67
- */
68
- export declare const PostCreator: React.FC<PostCreatorProps>;
69
- export {};