@music-vine/cadence 2.6.2 → 3.0.0
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/README.md +5 -44
- package/dist/components/accordion.d.ts +71 -0
- package/dist/components/accordion.d.ts.map +1 -0
- package/dist/components/accordion.js +2 -2
- package/dist/components/accordion.js.map +1 -1
- package/dist/components/badge.d.ts +62 -0
- package/dist/components/badge.d.ts.map +1 -0
- package/dist/components/badge.js +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/breadcrumb.d.ts +42 -0
- package/dist/components/breadcrumb.d.ts.map +1 -0
- package/dist/components/button.d.ts +117 -0
- package/dist/components/button.d.ts.map +1 -0
- package/dist/components/button.js +3 -3
- package/dist/components/button.js.map +1 -1
- package/dist/components/card.d.ts +56 -0
- package/dist/components/card.d.ts.map +1 -0
- package/dist/components/card.js.map +1 -1
- package/dist/components/carousel-dots.d.ts +17 -0
- package/dist/components/carousel-dots.d.ts.map +1 -0
- package/dist/components/carousel-dots.js +1 -1
- package/dist/components/carousel-dots.js.map +1 -1
- package/dist/components/carousel.d.ts +99 -0
- package/dist/components/carousel.d.ts.map +1 -0
- package/dist/components/carousel.js +2 -2
- package/dist/components/carousel.js.map +1 -1
- package/dist/components/checkbox.d.ts +34 -0
- package/dist/components/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox.js +1 -1
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/context-menu.d.ts +126 -0
- package/dist/components/context-menu.d.ts.map +1 -0
- package/dist/components/context-menu.js +6 -6
- package/dist/components/context-menu.js.map +1 -1
- package/dist/components/dialog.d.ts +85 -0
- package/dist/components/dialog.d.ts.map +1 -0
- package/dist/components/dialog.js +1 -1
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/drawer.d.ts +90 -0
- package/dist/components/drawer.d.ts.map +1 -0
- package/dist/components/drawer.js.map +1 -1
- package/dist/components/index.d.ts +36 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/input.d.ts +69 -0
- package/dist/components/input.d.ts.map +1 -0
- package/dist/components/input.js +61 -57
- package/dist/components/input.js.map +2 -2
- package/dist/components/label.d.ts +36 -0
- package/dist/components/label.d.ts.map +1 -0
- package/dist/components/popover.d.ts +61 -0
- package/dist/components/popover.d.ts.map +1 -0
- package/dist/components/popover.js +1 -1
- package/dist/components/popover.js.map +1 -1
- package/dist/components/price-tag.d.ts +31 -0
- package/dist/components/price-tag.d.ts.map +1 -0
- package/dist/components/price-tag.js.map +1 -1
- package/dist/components/radio-group.d.ts +15 -0
- package/dist/components/radio-group.d.ts.map +1 -0
- package/dist/components/radio-group.js +1 -1
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/scroll-area.d.ts +33 -0
- package/dist/components/scroll-area.d.ts.map +1 -0
- package/dist/components/scroll-area.js.map +1 -1
- package/dist/components/scroll-drum.d.ts +96 -0
- package/dist/components/scroll-drum.d.ts.map +1 -0
- package/dist/components/scroll-drum.js +63 -34
- package/dist/components/scroll-drum.js.map +2 -2
- package/dist/components/select.d.ts +49 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/select.js +1 -1
- package/dist/components/select.js.map +1 -1
- package/dist/components/separator.d.ts +35 -0
- package/dist/components/separator.d.ts.map +1 -0
- package/dist/components/skeleton.d.ts +44 -0
- package/dist/components/skeleton.d.ts.map +1 -0
- package/dist/components/slider.d.ts +21 -0
- package/dist/components/slider.d.ts.map +1 -0
- package/dist/components/slider.js +1 -1
- package/dist/components/slider.js.map +1 -1
- package/dist/components/stacking-card.d.ts +89 -0
- package/dist/components/stacking-card.d.ts.map +1 -0
- package/dist/components/stacking-card.js +3 -3
- package/dist/components/stacking-card.js.map +2 -2
- package/dist/components/tabs.d.ts +46 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tabs.js +2 -2
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/textarea.d.ts +34 -0
- package/dist/components/textarea.d.ts.map +1 -0
- package/dist/components/toast.d.ts +67 -0
- package/dist/components/toast.d.ts.map +1 -0
- package/dist/components/toast.js +2 -2
- package/dist/components/toast.js.map +2 -2
- package/dist/components/toggle-button.d.ts +54 -0
- package/dist/components/toggle-button.d.ts.map +1 -0
- package/dist/components/toggle-button.js.map +1 -1
- package/dist/components/typography/heading.d.ts +20 -0
- package/dist/components/typography/heading.d.ts.map +1 -0
- package/dist/components/typography/heading.js.map +1 -1
- package/dist/components/typography/index.d.ts +5 -0
- package/dist/components/typography/index.d.ts.map +1 -0
- package/dist/components/typography/list.d.ts +23 -0
- package/dist/components/typography/list.d.ts.map +1 -0
- package/dist/components/typography/list.js +1 -1
- package/dist/components/typography/list.js.map +2 -2
- package/dist/components/typography/prose.d.ts +8 -0
- package/dist/components/typography/prose.d.ts.map +1 -0
- package/dist/components/typography/text.d.ts +13 -0
- package/dist/components/typography/text.d.ts.map +1 -0
- package/dist/icons/custom/boards-indicator.d.ts +6 -0
- package/dist/icons/custom/boards-indicator.d.ts.map +1 -0
- package/dist/icons/custom/boards-indicator.js +7 -2
- package/dist/icons/custom/boards-indicator.js.map +2 -2
- package/dist/icons/custom/download-history.d.ts +5 -0
- package/dist/icons/custom/download-history.d.ts.map +1 -0
- package/dist/icons/custom/download-history.js +3 -4
- package/dist/icons/custom/download-history.js.map +2 -2
- package/dist/icons/custom/exclamation-mark-in-octagon.d.ts +5 -0
- package/dist/icons/custom/exclamation-mark-in-octagon.d.ts.map +1 -0
- package/dist/icons/custom/exclamation-mark-in-octagon.js +6 -3
- package/dist/icons/custom/exclamation-mark-in-octagon.js.map +2 -2
- package/dist/icons/custom/horizontal-orientation.d.ts +5 -0
- package/dist/icons/custom/horizontal-orientation.d.ts.map +1 -0
- package/dist/icons/custom/horizontal-orientation.js +4 -3
- package/dist/icons/custom/horizontal-orientation.js.map +2 -2
- package/dist/icons/custom/lightning-bolt.d.ts +5 -0
- package/dist/icons/custom/lightning-bolt.d.ts.map +1 -0
- package/dist/icons/custom/lightning-bolt.js +24 -27
- package/dist/icons/custom/lightning-bolt.js.map +2 -2
- package/dist/icons/custom/music-file.d.ts +5 -0
- package/dist/icons/custom/music-file.d.ts.map +1 -0
- package/dist/icons/custom/music-file.js +17 -0
- package/dist/icons/custom/music-file.js.map +7 -0
- package/dist/icons/custom/pin.d.ts +5 -0
- package/dist/icons/custom/pin.d.ts.map +1 -0
- package/dist/icons/custom/pin.js +4 -1
- package/dist/icons/custom/pin.js.map +2 -2
- package/dist/icons/custom/premium-star.d.ts +11 -0
- package/dist/icons/custom/premium-star.d.ts.map +1 -0
- package/dist/icons/custom/premium-star.js +3 -1
- package/dist/icons/custom/premium-star.js.map +2 -2
- package/dist/icons/custom/social/discord.d.ts +5 -0
- package/dist/icons/custom/social/discord.d.ts.map +1 -0
- package/dist/icons/custom/social/discord.js +3 -4
- package/dist/icons/custom/social/discord.js.map +2 -2
- package/dist/icons/custom/social/index.d.ts +4 -0
- package/dist/icons/custom/social/index.d.ts.map +1 -0
- package/dist/icons/custom/social/tiktok.d.ts +5 -0
- package/dist/icons/custom/social/tiktok.d.ts.map +1 -0
- package/dist/icons/custom/social/tiktok.js +3 -4
- package/dist/icons/custom/social/tiktok.js.map +2 -2
- package/dist/icons/custom/social/twitter-x.d.ts +5 -0
- package/dist/icons/custom/social/twitter-x.d.ts.map +1 -0
- package/dist/icons/custom/social/twitter-x.js +19 -22
- package/dist/icons/custom/social/twitter-x.js.map +2 -2
- package/dist/icons/custom/square-aspect-ratio.d.ts +5 -0
- package/dist/icons/custom/square-aspect-ratio.d.ts.map +1 -0
- package/dist/icons/custom/square-aspect-ratio.js +4 -1
- package/dist/icons/custom/square-aspect-ratio.js.map +2 -2
- package/dist/icons/custom/tick-in-circle.d.ts +8 -0
- package/dist/icons/custom/tick-in-circle.d.ts.map +1 -0
- package/dist/icons/custom/tick-in-circle.js +25 -25
- package/dist/icons/custom/tick-in-circle.js.map +2 -2
- package/dist/icons/custom/tick-small.d.ts +5 -0
- package/dist/icons/custom/tick-small.d.ts.map +1 -0
- package/dist/icons/custom/tick-small.js +8 -10
- package/dist/icons/custom/tick-small.js.map +2 -2
- package/dist/icons/custom/tick.d.ts +5 -0
- package/dist/icons/custom/tick.d.ts.map +1 -0
- package/dist/icons/custom/tick.js +2 -2
- package/dist/icons/custom/tick.js.map +2 -2
- package/dist/icons/custom/types.d.ts +3 -0
- package/dist/icons/custom/types.d.ts.map +1 -0
- package/dist/icons/custom/types.js +1 -0
- package/dist/icons/custom/types.js.map +7 -0
- package/dist/icons/custom/ultra-wide-aspect-ratio.d.ts +5 -0
- package/dist/icons/custom/ultra-wide-aspect-ratio.d.ts.map +1 -0
- package/dist/icons/custom/ultra-wide-aspect-ratio.js +4 -1
- package/dist/icons/custom/ultra-wide-aspect-ratio.js.map +2 -2
- package/dist/icons/custom/uppbeat-credit.d.ts +5 -0
- package/dist/icons/custom/uppbeat-credit.d.ts.map +1 -0
- package/dist/icons/custom/uppbeat-credit.js +2 -4
- package/dist/icons/custom/uppbeat-credit.js.map +2 -2
- package/dist/icons/custom/vertical-orientation.d.ts +5 -0
- package/dist/icons/custom/vertical-orientation.d.ts.map +1 -0
- package/dist/icons/custom/vertical-orientation.js +4 -1
- package/dist/icons/custom/vertical-orientation.js.map +2 -2
- package/dist/icons/custom/view-credit-note.d.ts +5 -0
- package/dist/icons/custom/view-credit-note.d.ts.map +1 -0
- package/dist/icons/custom/view-credit-note.js +4 -1
- package/dist/icons/custom/view-credit-note.js.map +2 -2
- package/dist/icons/index.d.ts +28 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/index.js +4 -5
- package/dist/icons/index.js.map +2 -2
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/lib/utils.d.ts +12 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +7 -17
- package/dist/lib/utils.js.map +2 -2
- package/dist/styles/index.css +16 -3
- package/dist/styles/storybook.css +2 -2
- package/dist/test/setup.d.ts +2 -0
- package/dist/test/setup.d.ts.map +1 -0
- package/dist/theme/index.d.ts +142 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +1 -1
- package/dist/theme/index.js.map +2 -2
- package/package.json +4 -9
- package/{tailwind.config.v4.css → tailwind.config.css} +35 -14
- package/dist/styles/index.v4.css +0 -49
- package/tailwind.config.ts +0 -313
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import { type ExternalToast, Toaster as SonnerToaster, toast as sonnerToast } from "sonner";
|
|
3
|
+
type ToasterProps = React.ComponentProps<typeof SonnerToaster>;
|
|
4
|
+
type ToastVariant = "error" | "info" | "loading" | "success" | "warning";
|
|
5
|
+
interface GlobalToastAction {
|
|
6
|
+
label: string;
|
|
7
|
+
onClick: () => void;
|
|
8
|
+
}
|
|
9
|
+
interface GlobalToastProps {
|
|
10
|
+
action?: GlobalToastAction;
|
|
11
|
+
description?: string;
|
|
12
|
+
id: string | number;
|
|
13
|
+
title?: string;
|
|
14
|
+
variant: ToastVariant;
|
|
15
|
+
}
|
|
16
|
+
export interface GlobalToastOptions extends ExternalToast {
|
|
17
|
+
action?: GlobalToastAction;
|
|
18
|
+
description?: string;
|
|
19
|
+
title?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare const GlobalToast: (props: GlobalToastProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
/**
|
|
23
|
+
* Toast container component. Place once at app root.
|
|
24
|
+
* Positioned bottom-right by default, shows up to 4 toasts.
|
|
25
|
+
*/
|
|
26
|
+
declare const Toaster: React.FC<ToasterProps>;
|
|
27
|
+
interface PromiseToastOptions<T> {
|
|
28
|
+
error: GlobalToastOptions | ((error: unknown) => GlobalToastOptions);
|
|
29
|
+
loading: GlobalToastOptions;
|
|
30
|
+
success: GlobalToastOptions | ((data: T) => GlobalToastOptions);
|
|
31
|
+
}
|
|
32
|
+
interface ToastFunction {
|
|
33
|
+
custom: typeof sonnerToast.custom;
|
|
34
|
+
dismiss: typeof sonnerToast.dismiss;
|
|
35
|
+
error: {
|
|
36
|
+
(message: string, options?: GlobalToastOptions): string | number;
|
|
37
|
+
(options: GlobalToastOptions): string | number;
|
|
38
|
+
};
|
|
39
|
+
getHistory: typeof sonnerToast.getHistory;
|
|
40
|
+
getToasts: typeof sonnerToast.getToasts;
|
|
41
|
+
info: {
|
|
42
|
+
(message: string, options?: GlobalToastOptions): string | number;
|
|
43
|
+
(options: GlobalToastOptions): string | number;
|
|
44
|
+
};
|
|
45
|
+
loading: {
|
|
46
|
+
(message: string, options?: GlobalToastOptions): string | number;
|
|
47
|
+
(options: GlobalToastOptions): string | number;
|
|
48
|
+
};
|
|
49
|
+
message: {
|
|
50
|
+
(message: string, options?: GlobalToastOptions): string | number;
|
|
51
|
+
(options: GlobalToastOptions): string | number;
|
|
52
|
+
};
|
|
53
|
+
promise: <T>(promise: Promise<T> | (() => Promise<T>), options: PromiseToastOptions<T>) => Promise<T>;
|
|
54
|
+
success: {
|
|
55
|
+
(message: string, options?: GlobalToastOptions): string | number;
|
|
56
|
+
(options: GlobalToastOptions): string | number;
|
|
57
|
+
};
|
|
58
|
+
warning: {
|
|
59
|
+
(message: string, options?: GlobalToastOptions): string | number;
|
|
60
|
+
(options: GlobalToastOptions): string | number;
|
|
61
|
+
};
|
|
62
|
+
(message: string, options?: GlobalToastOptions): string | number;
|
|
63
|
+
(options: GlobalToastOptions): string | number;
|
|
64
|
+
}
|
|
65
|
+
declare const toast: ToastFunction;
|
|
66
|
+
export { Toaster, type ToasterProps, toast };
|
|
67
|
+
//# sourceMappingURL=toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/components/toast.tsx"],"names":[],"mappings":"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"}
|
package/dist/components/toast.js
CHANGED
|
@@ -32,7 +32,7 @@ const GlobalToastDescription = ({ children }) => {
|
|
|
32
32
|
return /* @__PURE__ */ jsx("div", { className: "line-clamp-2 font-normal text-gray-700 text-sm dark:text-gray-200 ", children });
|
|
33
33
|
};
|
|
34
34
|
const globalToastIconVariants = cva(
|
|
35
|
-
"size-7
|
|
35
|
+
"size-7 shrink-0 rounded-full flex items-center justify-center [&_svg]:size-4",
|
|
36
36
|
{
|
|
37
37
|
variants: {
|
|
38
38
|
variant: {
|
|
@@ -149,7 +149,7 @@ const createGlobalToast = (variant, options) => {
|
|
|
149
149
|
...rest
|
|
150
150
|
}
|
|
151
151
|
);
|
|
152
|
-
return customId
|
|
152
|
+
return customId === void 0 ? toastId : customId;
|
|
153
153
|
};
|
|
154
154
|
const normalizeToastArgs = (messageOrOptions, options) => {
|
|
155
155
|
if (typeof messageOrOptions === "string") {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/toast.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * @module Toast\n *\n * Toast notification system built on Sonner. Provides success, error, info, and warning variants.\n *\n * @see {@link https://ui.shadcn.com/docs/components/sonner Shadcn Sonner}\n * @see {@link https://sonner.emilkowal.ski/ Sonner Documentation}\n *\n * @example\n * // Setup: Add Toaster to your app root\n * <Toaster />\n *\n * @example\n * // Show toast notifications\n * toast(\"Default message\");\n * toast.success(\"Operation completed\");\n * toast.error(\"Something went wrong\");\n * toast.info(\"Information\");\n * toast.warning(\"Warning message\");\n *\n * @example\n * // With action button\n * toast({\n * title: \"Item deleted\",\n * action: {\n * label: \"Undo\",\n * onClick: () => undoDelete(),\n * },\n * });\n *\n * @example\n * // Promise toast\n * const id = toast.promise(promise, {\n loading: { title: \"Saving document...\" },\n success: (data) => ({\n title: `${data.name} saved successfully!`,\n duration: 10_000,\n }),\n\n error: { title: \"Failed to save document\", duration: 10_000 },\n });\n */\nimport { cva } from \"class-variance-authority\";\nimport type React from \"react\";\nimport type { ReactNode } from \"react\";\nimport {\n type ExternalToast,\n Toaster as SonnerToaster,\n toast as sonnerToast,\n} from \"sonner\";\nimport { Button, type ButtonProps, cn } from \"..\";\nimport { Check, CircleX, InfoIcon, Loader, TriangleAlert, X } from \"../icons\";\n\ntype ToasterProps = React.ComponentProps<typeof SonnerToaster>;\ntype ToastVariant = \"error\" | \"info\" | \"loading\" | \"success\" | \"warning\";\n\nconst GLOBAL_TOASTER_ID = \"global\";\n\ntype GlobalToastAction = {\n label: string;\n onClick: () => void;\n};\n\ntype GlobalToastProps = {\n id: string | number;\n title?: string;\n description?: string;\n variant: ToastVariant;\n action?: GlobalToastAction;\n};\n\nexport interface GlobalToastOptions extends ExternalToast {\n title?: string;\n description?: string;\n action?: GlobalToastAction;\n}\n\nconst GlobalToastTitle = ({\n className,\n children,\n}: {\n className?: string;\n children: ReactNode;\n}) => {\n if (!children) {\n return;\n }\n\n return (\n <div\n className={cn(\n \"line-clamp-1 font-semibold text-black text-sm dark:text-white w-[90%]\",\n className\n )}\n >\n {children}\n </div>\n );\n};\n\nconst GlobalToastDescription = ({ children }: { children: ReactNode }) => {\n if (!children) {\n return;\n }\n\n return (\n <div className=\"line-clamp-2 font-normal text-gray-700 text-sm dark:text-gray-200 \">\n {children}\n </div>\n );\n};\n\nconst globalToastIconVariants = cva(\n \"size-7 flex-shrink-0 rounded-full flex items-center justify-center [&_svg]:size-4\",\n {\n variants: {\n variant: {\n error:\n \"bg-red-50 dark:bg-red-950 [&_svg]:text-red-500 [&_svg]:dark:text-red-400\",\n info: \"bg-gray-100 dark:bg-gray-800 [&_svg]:text-gray-700 [&_svg]:dark:text-gray-200\",\n loading:\n \"bg-gray-100 dark:bg-gray-800 [&_svg]:text-gray-700 [&_svg]:dark:text-gray-200\",\n success:\n \"bg-green-50 dark:bg-green-950 [&_svg]:text-green-500 [&_svg]:dark:text-green-400\",\n warning:\n \"bg-yellow-50 dark:bg-yellow-950 [&_svg]:text-yellow-500 [&_svg]:dark:text-yellow-400\",\n },\n },\n defaultVariants: {\n variant: \"info\",\n },\n }\n);\n\nconst GlobalToastIcon = ({ variant }: { variant: ToastVariant }) => {\n if (variant === \"error\") {\n return (\n <span className={cn(globalToastIconVariants({ variant }))}>\n <CircleX />\n </span>\n );\n }\n\n if (variant === \"info\") {\n return (\n <span className={cn(globalToastIconVariants({ variant }))}>\n <InfoIcon />\n </span>\n );\n }\n\n if (variant === \"loading\") {\n return (\n <span className={cn(globalToastIconVariants({ variant }))}>\n <Loader\n className=\"animate-spin\"\n style={{ animationDuration: \"1.5s\" }}\n />\n </span>\n );\n }\n\n if (variant === \"success\") {\n return (\n <span className={cn(globalToastIconVariants({ variant }))}>\n <Check />\n </span>\n );\n }\n\n if (variant === \"warning\") {\n return (\n <span className={cn(globalToastIconVariants({ variant }))}>\n <TriangleAlert className=\"pb-[1px]\" />\n </span>\n );\n }\n};\n\nconst globalToastLeftBorderVariants = cva(\"absolute top-0 left-0 h-full w-1\", {\n variants: {\n variant: {\n error: \"bg-red-500 dark:bg-red-400\",\n info: \"bg-gray-700 dark:bg-gray-200\",\n loading: \"bg-gray-700 dark:bg-gray-200\",\n success: \"bg-green-500 dark:bg-green-400\",\n warning: \"bg-yellow-500 dark:bg-yellow-400\",\n },\n },\n defaultVariants: {\n variant: \"info\",\n },\n});\n\nconst GlobalToastLeftBorder = ({ variant }: { variant: ToastVariant }) => (\n <div className={cn(globalToastLeftBorderVariants({ variant }))} />\n);\n\nconst GlobalToastDismissButton = ({\n toastId,\n}: {\n toastId: number | string;\n}) => (\n <Button\n className=\"absolute top-1 right-1\"\n onClick={() => sonnerToast.dismiss(toastId)}\n size=\"icon\"\n variant=\"subtle\"\n >\n <X className=\"size-5\" />\n </Button>\n);\n\nconst GlobalToastActionButton = ({ onClick, ...props }: ButtonProps) => (\n <Button onClick={onClick} size=\"sm\" variant=\"light\" {...props} />\n);\n\nexport const GlobalToast = (props: GlobalToastProps) => {\n const { id, title, description, variant, action } = props;\n\n return (\n <div\n className={cn(\n \"flex max-h-24 min-h-16 w-full xs:w-80 md:w-[360px] items-center gap-2 rounded-lg border-1 border-gray-150 border-solid bg-white px-4 py-3 text-black shadow-md dark:border-gray-800 dark:bg-black dark:text-white\",\n \"relative overflow-hidden\"\n )}\n key={id}\n >\n <GlobalToastLeftBorder variant={variant} />\n <GlobalToastIcon variant={variant} />\n <div className=\"flex w-full flex-col gap-0.5\">\n <GlobalToastTitle className={action ? \"w-full\" : \"w-[90%]\"}>\n {title}\n </GlobalToastTitle>\n <GlobalToastDescription>{description}</GlobalToastDescription>\n </div>\n\n {action ? (\n <GlobalToastActionButton onClick={action.onClick}>\n {action.label}\n </GlobalToastActionButton>\n ) : (\n <GlobalToastDismissButton toastId={id} />\n )}\n </div>\n );\n};\n\n/**\n * Toast container component. Place once at app root.\n * Positioned bottom-right by default, shows up to 4 toasts.\n */\nconst Toaster: React.FC<ToasterProps> = ({ toastOptions, ...props }) => (\n <SonnerToaster\n id={GLOBAL_TOASTER_ID}\n position=\"bottom-right\"\n visibleToasts={4}\n {...props}\n />\n);\n\nconst createGlobalToast = (\n variant: ToastVariant,\n options?: GlobalToastOptions\n) => {\n const { action, description, title, id: customId, ...rest } = options || {};\n\n const toastId = sonnerToast.custom(\n (id) => (\n <GlobalToast\n action={action}\n description={description}\n id={customId || id}\n title={title}\n variant={variant}\n />\n ),\n {\n ...(customId !== undefined && { id: customId }),\n toasterId: GLOBAL_TOASTER_ID,\n ...rest,\n }\n );\n\n // Return the custom ID if provided, otherwise return Sonner's generated ID\n return customId !== undefined ? customId : toastId;\n};\n\n// Helper method to normalize toast arguments\nconst normalizeToastArgs = (\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n): GlobalToastOptions | undefined => {\n if (typeof messageOrOptions === \"string\") {\n return { ...options, title: messageOrOptions };\n }\n\n return messageOrOptions;\n};\n\ntype PromiseToastOptions<T> = {\n loading: GlobalToastOptions;\n success: GlobalToastOptions | ((data: T) => GlobalToastOptions);\n error: GlobalToastOptions | ((error: unknown) => GlobalToastOptions);\n};\n\ntype ToastFunction = {\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n success: {\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n };\n error: {\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n };\n info: {\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n };\n warning: {\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n };\n loading: {\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n };\n message: {\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n };\n custom: typeof sonnerToast.custom;\n promise: <T>(\n promise: Promise<T> | (() => Promise<T>),\n options: PromiseToastOptions<T>\n ) => Promise<T>;\n dismiss: typeof sonnerToast.dismiss;\n getHistory: typeof sonnerToast.getHistory;\n getToasts: typeof sonnerToast.getToasts;\n};\n\nconst toast: ToastFunction = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"info\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction;\n\ntoast.success = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"success\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction[\"success\"];\n\ntoast.error = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"error\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction[\"error\"];\n\ntoast.info = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"info\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction[\"info\"];\n\ntoast.warning = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"warning\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction[\"warning\"];\n\ntoast.loading = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"loading\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction[\"loading\"];\n\ntoast.message = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"info\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction[\"message\"];\n\ntoast.promise = <T,>(\n promiseOrFn: Promise<T> | (() => Promise<T>),\n states: PromiseToastOptions<T>\n): Promise<T> => {\n const toastId = createGlobalToast(\"loading\", states.loading);\n const promise =\n typeof promiseOrFn === \"function\" ? promiseOrFn() : promiseOrFn;\n\n promise\n .then((data) => {\n const successToastOptions =\n typeof states.success === \"function\"\n ? states.success(data)\n : states.success;\n\n const { title, description, action, ...rest } = successToastOptions || {};\n\n sonnerToast.custom(\n (id) => (\n <GlobalToast\n action={action}\n description={description}\n id={id}\n title={title}\n variant=\"success\"\n />\n ),\n { id: toastId, toasterId: GLOBAL_TOASTER_ID, ...rest }\n );\n })\n .catch((error) => {\n const errorToastOptions =\n typeof states.error === \"function\" ? states.error(error) : states.error;\n\n const { title, description, action, ...rest } = errorToastOptions || {};\n\n sonnerToast.custom(\n (id) => (\n <GlobalToast\n action={action}\n description={description}\n id={id}\n title={title}\n variant=\"error\"\n />\n ),\n { id: toastId, toasterId: GLOBAL_TOASTER_ID, ...rest }\n );\n });\n\n return promise;\n};\n\ntoast.custom = sonnerToast.custom;\ntoast.dismiss = sonnerToast.dismiss;\ntoast.getHistory = sonnerToast.getHistory;\ntoast.getToasts = sonnerToast.getToasts;\n\nexport { Toaster, toast, type ToasterProps };\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["/**\n * @module Toast\n *\n * Toast notification system built on Sonner. Provides success, error, info, and warning variants.\n *\n * @see {@link https://ui.shadcn.com/docs/components/sonner Shadcn Sonner}\n * @see {@link https://sonner.emilkowal.ski/ Sonner Documentation}\n *\n * @example\n * // Setup: Add Toaster to your app root\n * <Toaster />\n *\n * @example\n * // Show toast notifications\n * toast(\"Default message\");\n * toast.success(\"Operation completed\");\n * toast.error(\"Something went wrong\");\n * toast.info(\"Information\");\n * toast.warning(\"Warning message\");\n *\n * @example\n * // With action button\n * toast({\n * title: \"Item deleted\",\n * action: {\n * label: \"Undo\",\n * onClick: () => undoDelete(),\n * },\n * });\n *\n * @example\n * // Promise toast\n * const id = toast.promise(promise, {\n loading: { title: \"Saving document...\" },\n success: (data) => ({\n title: `${data.name} saved successfully!`,\n duration: 10_000,\n }),\n\n error: { title: \"Failed to save document\", duration: 10_000 },\n });\n */\nimport { cva } from \"class-variance-authority\";\nimport type React from \"react\";\nimport type { ReactNode } from \"react\";\nimport {\n type ExternalToast,\n Toaster as SonnerToaster,\n toast as sonnerToast,\n} from \"sonner\";\nimport { Button, type ButtonProps, cn } from \"..\";\nimport { Check, CircleX, InfoIcon, Loader, TriangleAlert, X } from \"../icons\";\n\ntype ToasterProps = React.ComponentProps<typeof SonnerToaster>;\ntype ToastVariant = \"error\" | \"info\" | \"loading\" | \"success\" | \"warning\";\n\nconst GLOBAL_TOASTER_ID = \"global\";\n\ninterface GlobalToastAction {\n label: string;\n onClick: () => void;\n}\n\ninterface GlobalToastProps {\n action?: GlobalToastAction;\n description?: string;\n id: string | number;\n title?: string;\n variant: ToastVariant;\n}\n\nexport interface GlobalToastOptions extends ExternalToast {\n action?: GlobalToastAction;\n description?: string;\n title?: string;\n}\n\nconst GlobalToastTitle = ({\n className,\n children,\n}: {\n className?: string;\n children: ReactNode;\n}) => {\n if (!children) {\n return;\n }\n\n return (\n <div\n className={cn(\n \"line-clamp-1 font-semibold text-black text-sm dark:text-white w-[90%]\",\n className\n )}\n >\n {children}\n </div>\n );\n};\n\nconst GlobalToastDescription = ({ children }: { children: ReactNode }) => {\n if (!children) {\n return;\n }\n\n return (\n <div className=\"line-clamp-2 font-normal text-gray-700 text-sm dark:text-gray-200 \">\n {children}\n </div>\n );\n};\n\nconst globalToastIconVariants = cva(\n \"size-7 shrink-0 rounded-full flex items-center justify-center [&_svg]:size-4\",\n {\n variants: {\n variant: {\n error:\n \"bg-red-50 dark:bg-red-950 [&_svg]:text-red-500 [&_svg]:dark:text-red-400\",\n info: \"bg-gray-100 dark:bg-gray-800 [&_svg]:text-gray-700 [&_svg]:dark:text-gray-200\",\n loading:\n \"bg-gray-100 dark:bg-gray-800 [&_svg]:text-gray-700 [&_svg]:dark:text-gray-200\",\n success:\n \"bg-green-50 dark:bg-green-950 [&_svg]:text-green-500 [&_svg]:dark:text-green-400\",\n warning:\n \"bg-yellow-50 dark:bg-yellow-950 [&_svg]:text-yellow-500 [&_svg]:dark:text-yellow-400\",\n },\n },\n defaultVariants: {\n variant: \"info\",\n },\n }\n);\n\nconst GlobalToastIcon = ({ variant }: { variant: ToastVariant }) => {\n if (variant === \"error\") {\n return (\n <span className={cn(globalToastIconVariants({ variant }))}>\n <CircleX />\n </span>\n );\n }\n\n if (variant === \"info\") {\n return (\n <span className={cn(globalToastIconVariants({ variant }))}>\n <InfoIcon />\n </span>\n );\n }\n\n if (variant === \"loading\") {\n return (\n <span className={cn(globalToastIconVariants({ variant }))}>\n <Loader\n className=\"animate-spin\"\n style={{ animationDuration: \"1.5s\" }}\n />\n </span>\n );\n }\n\n if (variant === \"success\") {\n return (\n <span className={cn(globalToastIconVariants({ variant }))}>\n <Check />\n </span>\n );\n }\n\n if (variant === \"warning\") {\n return (\n <span className={cn(globalToastIconVariants({ variant }))}>\n <TriangleAlert className=\"pb-[1px]\" />\n </span>\n );\n }\n};\n\nconst globalToastLeftBorderVariants = cva(\"absolute top-0 left-0 h-full w-1\", {\n variants: {\n variant: {\n error: \"bg-red-500 dark:bg-red-400\",\n info: \"bg-gray-700 dark:bg-gray-200\",\n loading: \"bg-gray-700 dark:bg-gray-200\",\n success: \"bg-green-500 dark:bg-green-400\",\n warning: \"bg-yellow-500 dark:bg-yellow-400\",\n },\n },\n defaultVariants: {\n variant: \"info\",\n },\n});\n\nconst GlobalToastLeftBorder = ({ variant }: { variant: ToastVariant }) => (\n <div className={cn(globalToastLeftBorderVariants({ variant }))} />\n);\n\nconst GlobalToastDismissButton = ({\n toastId,\n}: {\n toastId: number | string;\n}) => (\n <Button\n className=\"absolute top-1 right-1\"\n onClick={() => sonnerToast.dismiss(toastId)}\n size=\"icon\"\n variant=\"subtle\"\n >\n <X className=\"size-5\" />\n </Button>\n);\n\nconst GlobalToastActionButton = ({ onClick, ...props }: ButtonProps) => (\n <Button onClick={onClick} size=\"sm\" variant=\"light\" {...props} />\n);\n\nexport const GlobalToast = (props: GlobalToastProps) => {\n const { id, title, description, variant, action } = props;\n\n return (\n <div\n className={cn(\n \"flex max-h-24 min-h-16 w-full xs:w-80 md:w-[360px] items-center gap-2 rounded-lg border-1 border-gray-150 border-solid bg-white px-4 py-3 text-black shadow-md dark:border-gray-800 dark:bg-black dark:text-white\",\n \"relative overflow-hidden\"\n )}\n key={id}\n >\n <GlobalToastLeftBorder variant={variant} />\n <GlobalToastIcon variant={variant} />\n <div className=\"flex w-full flex-col gap-0.5\">\n <GlobalToastTitle className={action ? \"w-full\" : \"w-[90%]\"}>\n {title}\n </GlobalToastTitle>\n <GlobalToastDescription>{description}</GlobalToastDescription>\n </div>\n\n {action ? (\n <GlobalToastActionButton onClick={action.onClick}>\n {action.label}\n </GlobalToastActionButton>\n ) : (\n <GlobalToastDismissButton toastId={id} />\n )}\n </div>\n );\n};\n\n/**\n * Toast container component. Place once at app root.\n * Positioned bottom-right by default, shows up to 4 toasts.\n */\nconst Toaster: React.FC<ToasterProps> = ({ toastOptions, ...props }) => (\n <SonnerToaster\n id={GLOBAL_TOASTER_ID}\n position=\"bottom-right\"\n visibleToasts={4}\n {...props}\n />\n);\n\nconst createGlobalToast = (\n variant: ToastVariant,\n options?: GlobalToastOptions\n) => {\n const { action, description, title, id: customId, ...rest } = options || {};\n\n const toastId = sonnerToast.custom(\n (id) => (\n <GlobalToast\n action={action}\n description={description}\n id={customId || id}\n title={title}\n variant={variant}\n />\n ),\n {\n ...(customId !== undefined && { id: customId }),\n toasterId: GLOBAL_TOASTER_ID,\n ...rest,\n }\n );\n\n // Return the custom ID if provided, otherwise return Sonner's generated ID\n return customId === undefined ? toastId : customId;\n};\n\n// Helper method to normalize toast arguments\nconst normalizeToastArgs = (\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n): GlobalToastOptions | undefined => {\n if (typeof messageOrOptions === \"string\") {\n return { ...options, title: messageOrOptions };\n }\n\n return messageOrOptions;\n};\n\ninterface PromiseToastOptions<T> {\n error: GlobalToastOptions | ((error: unknown) => GlobalToastOptions);\n loading: GlobalToastOptions;\n success: GlobalToastOptions | ((data: T) => GlobalToastOptions);\n}\n\ninterface ToastFunction {\n custom: typeof sonnerToast.custom;\n dismiss: typeof sonnerToast.dismiss;\n error: {\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n };\n getHistory: typeof sonnerToast.getHistory;\n getToasts: typeof sonnerToast.getToasts;\n info: {\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n };\n loading: {\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n };\n message: {\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n };\n promise: <T>(\n promise: Promise<T> | (() => Promise<T>),\n options: PromiseToastOptions<T>\n ) => Promise<T>;\n success: {\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n };\n warning: {\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n };\n (message: string, options?: GlobalToastOptions): string | number;\n (options: GlobalToastOptions): string | number;\n}\n\nconst toast: ToastFunction = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"info\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction;\n\ntoast.success = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"success\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction[\"success\"];\n\ntoast.error = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"error\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction[\"error\"];\n\ntoast.info = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"info\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction[\"info\"];\n\ntoast.warning = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"warning\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction[\"warning\"];\n\ntoast.loading = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"loading\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction[\"loading\"];\n\ntoast.message = ((\n messageOrOptions?: GlobalToastOptions | string,\n options?: GlobalToastOptions\n) =>\n createGlobalToast(\n \"info\",\n normalizeToastArgs(messageOrOptions, options)\n )) as ToastFunction[\"message\"];\n\ntoast.promise = <T,>(\n promiseOrFn: Promise<T> | (() => Promise<T>),\n states: PromiseToastOptions<T>\n): Promise<T> => {\n const toastId = createGlobalToast(\"loading\", states.loading);\n const promise =\n typeof promiseOrFn === \"function\" ? promiseOrFn() : promiseOrFn;\n\n promise\n .then((data) => {\n const successToastOptions =\n typeof states.success === \"function\"\n ? states.success(data)\n : states.success;\n\n const { title, description, action, ...rest } = successToastOptions || {};\n\n sonnerToast.custom(\n (id) => (\n <GlobalToast\n action={action}\n description={description}\n id={id}\n title={title}\n variant=\"success\"\n />\n ),\n { id: toastId, toasterId: GLOBAL_TOASTER_ID, ...rest }\n );\n })\n .catch((error) => {\n const errorToastOptions =\n typeof states.error === \"function\" ? states.error(error) : states.error;\n\n const { title, description, action, ...rest } = errorToastOptions || {};\n\n sonnerToast.custom(\n (id) => (\n <GlobalToast\n action={action}\n description={description}\n id={id}\n title={title}\n variant=\"error\"\n />\n ),\n { id: toastId, toasterId: GLOBAL_TOASTER_ID, ...rest }\n );\n });\n\n return promise;\n};\n\ntoast.custom = sonnerToast.custom;\ntoast.dismiss = sonnerToast.dismiss;\ntoast.getHistory = sonnerToast.getHistory;\ntoast.getToasts = sonnerToast.getToasts;\n\nexport { Toaster, type ToasterProps, toast };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ToggleButton
|
|
3
|
+
*
|
|
4
|
+
* Button that toggles between checked/unchecked states. Built on Button component.
|
|
5
|
+
* Supports controlled and uncontrolled modes with variant customization.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* // Basic toggle
|
|
9
|
+
* <ToggleButton label="Bold" onCheckedChange={(checked) => setBold(checked)}>
|
|
10
|
+
* <Bold />
|
|
11
|
+
* </ToggleButton>
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* // Controlled toggle
|
|
15
|
+
* const [isActive, setIsActive] = useState(false);
|
|
16
|
+
*
|
|
17
|
+
* <ToggleButton
|
|
18
|
+
* checked={isActive}
|
|
19
|
+
* onCheckedChange={setIsActive}
|
|
20
|
+
* label="Toggle feature"
|
|
21
|
+
* checkedVariant="bold"
|
|
22
|
+
* >
|
|
23
|
+
* Active
|
|
24
|
+
* </ToggleButton>
|
|
25
|
+
*/
|
|
26
|
+
import { type Ref } from "react";
|
|
27
|
+
import { type ButtonProps } from "./button";
|
|
28
|
+
/**
|
|
29
|
+
* Props for ToggleButton component.
|
|
30
|
+
* @property variant - Button variant when unchecked (default: "subtle")
|
|
31
|
+
* @property checkedVariant - Button variant when checked (default: "subtle")
|
|
32
|
+
* @property checked - Controlled checked state
|
|
33
|
+
* @property defaultChecked - Initial checked state for uncontrolled mode
|
|
34
|
+
* @property onCheckedChange - Callback when checked state changes
|
|
35
|
+
* @property label - Accessible label for the toggle button (required)
|
|
36
|
+
*/
|
|
37
|
+
export interface ToggleButtonProps extends Omit<ButtonProps, "type" | "role" | "aria-checked"> {
|
|
38
|
+
/** Whether the button is checked (controlled mode) */
|
|
39
|
+
checked?: boolean;
|
|
40
|
+
/** The variant to use when the button is checked */
|
|
41
|
+
checkedVariant?: ButtonProps["variant"];
|
|
42
|
+
/** Whether the button is checked by default (uncontrolled mode) */
|
|
43
|
+
defaultChecked?: boolean;
|
|
44
|
+
/** The label to use for the checkbox */
|
|
45
|
+
label: string;
|
|
46
|
+
/** Callback when the checked state changes */
|
|
47
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
48
|
+
/** Ref to the button element */
|
|
49
|
+
ref?: Ref<HTMLButtonElement>;
|
|
50
|
+
/** The variant to use when the button is not selected */
|
|
51
|
+
variant?: ButtonProps["variant"];
|
|
52
|
+
}
|
|
53
|
+
export declare const ToggleButton: ({ variant, checkedVariant, checked: checkedProp, defaultChecked, onCheckedChange, className, children, onClick, label, ref, ...props }: ToggleButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
//# sourceMappingURL=toggle-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle-button.d.ts","sourceRoot":"","sources":["../../src/components/toggle-button.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAuC,KAAK,GAAG,EAAY,MAAM,OAAO,CAAC;AAEhF,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC;IAC3D,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,cAAc,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACxC,mEAAmE;IACnE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,gCAAgC;IAChC,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC7B,yDAAyD;IACzD,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,YAAY,GAAI,wIAY1B,iBAAiB,4CA6CnB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/toggle-button.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * @module ToggleButton\n *\n * Button that toggles between checked/unchecked states. Built on Button component.\n * Supports controlled and uncontrolled modes with variant customization.\n *\n * @example\n * // Basic toggle\n * <ToggleButton label=\"Bold\" onCheckedChange={(checked) => setBold(checked)}>\n * <Bold />\n * </ToggleButton>\n *\n * @example\n * // Controlled toggle\n * const [isActive, setIsActive] = useState(false);\n *\n * <ToggleButton\n * checked={isActive}\n * onCheckedChange={setIsActive}\n * label=\"Toggle feature\"\n * checkedVariant=\"bold\"\n * >\n * Active\n * </ToggleButton>\n */\nimport { type KeyboardEvent, type MouseEvent, type Ref, useState } from \"react\";\n\nimport { Button, type ButtonProps } from \"./button\";\n\n/**\n * Props for ToggleButton component.\n * @property variant - Button variant when unchecked (default: \"subtle\")\n * @property checkedVariant - Button variant when checked (default: \"subtle\")\n * @property checked - Controlled checked state\n * @property defaultChecked - Initial checked state for uncontrolled mode\n * @property onCheckedChange - Callback when checked state changes\n * @property label - Accessible label for the toggle button (required)\n */\nexport interface ToggleButtonProps\n extends Omit<ButtonProps, \"type\" | \"role\" | \"aria-checked\"> {\n /**
|
|
4
|
+
"sourcesContent": ["/**\n * @module ToggleButton\n *\n * Button that toggles between checked/unchecked states. Built on Button component.\n * Supports controlled and uncontrolled modes with variant customization.\n *\n * @example\n * // Basic toggle\n * <ToggleButton label=\"Bold\" onCheckedChange={(checked) => setBold(checked)}>\n * <Bold />\n * </ToggleButton>\n *\n * @example\n * // Controlled toggle\n * const [isActive, setIsActive] = useState(false);\n *\n * <ToggleButton\n * checked={isActive}\n * onCheckedChange={setIsActive}\n * label=\"Toggle feature\"\n * checkedVariant=\"bold\"\n * >\n * Active\n * </ToggleButton>\n */\nimport { type KeyboardEvent, type MouseEvent, type Ref, useState } from \"react\";\n\nimport { Button, type ButtonProps } from \"./button\";\n\n/**\n * Props for ToggleButton component.\n * @property variant - Button variant when unchecked (default: \"subtle\")\n * @property checkedVariant - Button variant when checked (default: \"subtle\")\n * @property checked - Controlled checked state\n * @property defaultChecked - Initial checked state for uncontrolled mode\n * @property onCheckedChange - Callback when checked state changes\n * @property label - Accessible label for the toggle button (required)\n */\nexport interface ToggleButtonProps\n extends Omit<ButtonProps, \"type\" | \"role\" | \"aria-checked\"> {\n /** Whether the button is checked (controlled mode) */\n checked?: boolean;\n /** The variant to use when the button is checked */\n checkedVariant?: ButtonProps[\"variant\"];\n /** Whether the button is checked by default (uncontrolled mode) */\n defaultChecked?: boolean;\n /** The label to use for the checkbox */\n label: string;\n /** Callback when the checked state changes */\n onCheckedChange?: (checked: boolean) => void;\n /** Ref to the button element */\n ref?: Ref<HTMLButtonElement>;\n /** The variant to use when the button is not selected */\n variant?: ButtonProps[\"variant\"];\n}\n\nexport const ToggleButton = ({\n variant = \"subtle\",\n checkedVariant = \"subtle\",\n checked: checkedProp,\n defaultChecked = false,\n onCheckedChange,\n className,\n children,\n onClick,\n label,\n ref,\n ...props\n}: ToggleButtonProps) => {\n const [uncontrolledChecked, setUncontrolledChecked] =\n useState(defaultChecked);\n\n // Use the controlled value if provided, otherwise use internal state\n const checked = checkedProp ?? uncontrolledChecked;\n\n const handleClick = (e: MouseEvent<HTMLButtonElement>) => {\n if (!props.disabled) {\n const newChecked = !checked;\n\n // Only update internal state if we're in uncontrolled mode\n if (checkedProp === undefined) {\n setUncontrolledChecked(newChecked);\n }\n\n onCheckedChange?.(newChecked);\n onClick?.(e);\n }\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {\n if (e.key === \" \" || e.key === \"Enter\") {\n e.preventDefault();\n handleClick(e as unknown as MouseEvent<HTMLButtonElement>);\n }\n };\n\n return (\n <Button\n {...props}\n aria-checked={checked}\n aria-label={label}\n className={className}\n data-checked={checked}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={ref}\n role=\"checkbox\"\n type=\"button\"\n variant={checked ? checkedVariant : variant}\n >\n {children}\n </Button>\n );\n};\n"],
|
|
5
5
|
"mappings": "AAiGI;AAxEJ,SAAwD,gBAAgB;AAExE,SAAS,cAAgC;AA6BlC,MAAM,eAAe,CAAC;AAAA,EAC3B,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAyB;AACvB,QAAM,CAAC,qBAAqB,sBAAsB,IAChD,SAAS,cAAc;AAGzB,QAAM,UAAU,eAAe;AAE/B,QAAM,cAAc,CAAC,MAAqC;AACxD,QAAI,CAAC,MAAM,UAAU;AACnB,YAAM,aAAa,CAAC;AAGpB,UAAI,gBAAgB,QAAW;AAC7B,+BAAuB,UAAU;AAAA,MACnC;AAEA,wBAAkB,UAAU;AAC5B,gBAAU,CAAC;AAAA,IACb;AAAA,EACF;AAEA,QAAM,gBAAgB,CAAC,MAAwC;AAC7D,QAAI,EAAE,QAAQ,OAAO,EAAE,QAAQ,SAAS;AACtC,QAAE,eAAe;AACjB,kBAAY,CAA6C;AAAA,IAC3D;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,gBAAc;AAAA,MACd,cAAY;AAAA,MACZ;AAAA,MACA,gBAAc;AAAA,MACd,SAAS;AAAA,MACT,WAAW;AAAA,MACX;AAAA,MACA,MAAK;AAAA,MACL,MAAK;AAAA,MACL,SAAS,UAAU,iBAAiB;AAAA,MAEnC;AAAA;AAAA,EACH;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
import type * as React from "react";
|
|
3
|
+
import type { Ref } from "react";
|
|
4
|
+
declare const headingVariants: (props?: ({
|
|
5
|
+
variant?: "h2" | "h3" | "h1" | "h4" | "h5" | "h6" | null | undefined;
|
|
6
|
+
fontFamily?: "brand" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement>, VariantProps<typeof headingVariants> {
|
|
9
|
+
asChild?: boolean;
|
|
10
|
+
ref?: Ref<HTMLHeadingElement>;
|
|
11
|
+
}
|
|
12
|
+
declare const Heading: ({ className, variant, fontFamily, asChild, ref, ...props }: HeadingProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare const Alpha: (props: Omit<HeadingProps, "variant">) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
declare const Bravo: (props: Omit<HeadingProps, "variant">) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare const Charlie: (props: Omit<HeadingProps, "variant">) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare const Delta: (props: Omit<HeadingProps, "variant">) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
declare const Echo: (props: Omit<HeadingProps, "variant">) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
declare const Foxtrot: (props: Omit<HeadingProps, "variant">) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export { Alpha, Bravo, Charlie, Delta, Echo, Foxtrot, Heading, headingVariants, };
|
|
20
|
+
//# sourceMappingURL=heading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../src/components/typography/heading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAIjC,QAAA,MAAM,eAAe;;;8EAkDnB,CAAC;AAEH,MAAM,WAAW,YACf,SAAQ,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAC9C,YAAY,CAAC,OAAO,eAAe,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;CAC/B;AAED,QAAA,MAAM,OAAO,GAAI,4DAOd,YAAY,4CAUd,CAAC;AAEF,QAAA,MAAM,KAAK,GAAI,OAAO,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,4CAElD,CAAC;AAEF,QAAA,MAAM,KAAK,GAAI,OAAO,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,4CAElD,CAAC;AAEF,QAAA,MAAM,OAAO,GAAI,OAAO,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,4CAEpD,CAAC;AAEF,QAAA,MAAM,KAAK,GAAI,OAAO,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,4CAElD,CAAC;AAEF,QAAA,MAAM,IAAI,GAAI,OAAO,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,4CAEjD,CAAC;AAEF,QAAA,MAAM,OAAO,GAAI,OAAO,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,4CAEpD,CAAC;AAEF,OAAO,EACL,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,eAAe,GAChB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/typography/heading.tsx"],
|
|
4
|
-
"sourcesContent": ["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot as SlotPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\nimport type { Ref } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst headingVariants = cva(\"font-semibold text-gray-950 dark:text-white\", {\n variants: {\n variant: {\n h1: \"text-4xl @md:text-5xl\",\n h2: \"text-3xl @md:text-4xl\",\n h3: \"text-2xl @md:text-3xl\",\n h4: \"text-xl @md:text-2xl\",\n h5: \"text-lg @md:text-xl\",\n h6: \"text-base @md:text-lg\",\n },\n fontFamily: {\n brand: \"font-heading\",\n },\n },\n compoundVariants: [\n {\n variant: \"h1\",\n fontFamily: \"brand\",\n className: \"font-bold\",\n },\n {\n variant: \"h2\",\n fontFamily: \"brand\",\n className: \"font-bold\",\n },\n {\n variant: \"h3\",\n fontFamily: \"brand\",\n className: \"font-semibold\",\n },\n {\n variant: \"h4\",\n fontFamily: \"brand\",\n className: \"font-semibold\",\n },\n {\n variant: \"h5\",\n fontFamily: \"brand\",\n className: \"font-semibold\",\n },\n {\n variant: \"h6\",\n fontFamily: \"brand\",\n className: \"font-semibold\",\n },\n ],\n defaultVariants: {\n variant: \"h1\",\n fontFamily: \"brand\",\n },\n});\n\nexport interface HeadingProps\n extends React.HTMLAttributes<HTMLHeadingElement>,\n VariantProps<typeof headingVariants> {\n asChild?: boolean;\n ref?: Ref<HTMLHeadingElement>;\n}\n\nconst Heading = ({\n className,\n variant,\n fontFamily,\n asChild = false,\n ref,\n ...props\n}: HeadingProps) => {\n const Comp = asChild ? SlotPrimitive.Slot : (variant ?? \"h1\");\n\n return (\n <Comp\n className={cn(headingVariants({ variant, fontFamily }), className)}\n ref={ref}\n {...props}\n />\n );\n};\n\nconst Alpha = (props: Omit<HeadingProps, \"variant\">) => (\n <Heading variant=\"h1\" {...props} />\n);\n\nconst Bravo = (props: Omit<HeadingProps, \"variant\">) => (\n <Heading variant=\"h2\" {...props} />\n);\n\nconst Charlie = (props: Omit<HeadingProps, \"variant\">) => (\n <Heading variant=\"h3\" {...props} />\n);\n\nconst Delta = (props: Omit<HeadingProps, \"variant\">) => (\n <Heading variant=\"h4\" {...props} />\n);\n\nconst Echo = (props: Omit<HeadingProps, \"variant\">) => (\n <Heading variant=\"h5\" {...props} />\n);\n\nconst Foxtrot = (props: Omit<HeadingProps, \"variant\">) => (\n <Heading variant=\"h6\" {...props} />\n);\n\nexport {\n
|
|
4
|
+
"sourcesContent": ["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot as SlotPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\nimport type { Ref } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst headingVariants = cva(\"font-semibold text-gray-950 dark:text-white\", {\n variants: {\n variant: {\n h1: \"text-4xl @md:text-5xl\",\n h2: \"text-3xl @md:text-4xl\",\n h3: \"text-2xl @md:text-3xl\",\n h4: \"text-xl @md:text-2xl\",\n h5: \"text-lg @md:text-xl\",\n h6: \"text-base @md:text-lg\",\n },\n fontFamily: {\n brand: \"font-heading\",\n },\n },\n compoundVariants: [\n {\n variant: \"h1\",\n fontFamily: \"brand\",\n className: \"font-bold\",\n },\n {\n variant: \"h2\",\n fontFamily: \"brand\",\n className: \"font-bold\",\n },\n {\n variant: \"h3\",\n fontFamily: \"brand\",\n className: \"font-semibold\",\n },\n {\n variant: \"h4\",\n fontFamily: \"brand\",\n className: \"font-semibold\",\n },\n {\n variant: \"h5\",\n fontFamily: \"brand\",\n className: \"font-semibold\",\n },\n {\n variant: \"h6\",\n fontFamily: \"brand\",\n className: \"font-semibold\",\n },\n ],\n defaultVariants: {\n variant: \"h1\",\n fontFamily: \"brand\",\n },\n});\n\nexport interface HeadingProps\n extends React.HTMLAttributes<HTMLHeadingElement>,\n VariantProps<typeof headingVariants> {\n asChild?: boolean;\n ref?: Ref<HTMLHeadingElement>;\n}\n\nconst Heading = ({\n className,\n variant,\n fontFamily,\n asChild = false,\n ref,\n ...props\n}: HeadingProps) => {\n const Comp = asChild ? SlotPrimitive.Slot : (variant ?? \"h1\");\n\n return (\n <Comp\n className={cn(headingVariants({ variant, fontFamily }), className)}\n ref={ref}\n {...props}\n />\n );\n};\n\nconst Alpha = (props: Omit<HeadingProps, \"variant\">) => (\n <Heading variant=\"h1\" {...props} />\n);\n\nconst Bravo = (props: Omit<HeadingProps, \"variant\">) => (\n <Heading variant=\"h2\" {...props} />\n);\n\nconst Charlie = (props: Omit<HeadingProps, \"variant\">) => (\n <Heading variant=\"h3\" {...props} />\n);\n\nconst Delta = (props: Omit<HeadingProps, \"variant\">) => (\n <Heading variant=\"h4\" {...props} />\n);\n\nconst Echo = (props: Omit<HeadingProps, \"variant\">) => (\n <Heading variant=\"h5\" {...props} />\n);\n\nconst Foxtrot = (props: Omit<HeadingProps, \"variant\">) => (\n <Heading variant=\"h6\" {...props} />\n);\n\nexport {\n Alpha,\n Bravo,\n Charlie,\n Delta,\n Echo,\n Foxtrot,\n Heading,\n headingVariants,\n};\n"],
|
|
5
5
|
"mappings": "AA6EI;AA7EJ,SAAS,WAA8B;AACvC,SAAS,QAAQ,qBAAqB;AAItC,SAAS,UAAU;AAEnB,MAAM,kBAAkB,IAAI,+CAA+C;AAAA,EACzE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,YAAY;AAAA,MACV,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,IAChB;AAAA,MACE,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,YAAY;AAAA,EACd;AACF,CAAC;AASD,MAAM,UAAU,CAAC;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,GAAG;AACL,MAAoB;AAClB,QAAM,OAAO,UAAU,cAAc,OAAQ,WAAW;AAExD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,gBAAgB,EAAE,SAAS,WAAW,CAAC,GAAG,SAAS;AAAA,MACjE;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,MAAM,QAAQ,CAAC,UACb,oBAAC,WAAQ,SAAQ,MAAM,GAAG,OAAO;AAGnC,MAAM,QAAQ,CAAC,UACb,oBAAC,WAAQ,SAAQ,MAAM,GAAG,OAAO;AAGnC,MAAM,UAAU,CAAC,UACf,oBAAC,WAAQ,SAAQ,MAAM,GAAG,OAAO;AAGnC,MAAM,QAAQ,CAAC,UACb,oBAAC,WAAQ,SAAQ,MAAM,GAAG,OAAO;AAGnC,MAAM,OAAO,CAAC,UACZ,oBAAC,WAAQ,SAAQ,MAAM,GAAG,OAAO;AAGnC,MAAM,UAAU,CAAC,UACf,oBAAC,WAAQ,SAAQ,MAAM,GAAG,OAAO;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { Alpha, Bravo, Charlie, Delta, Echo, Foxtrot, Heading, type HeadingProps, headingVariants, } from "./heading";
|
|
2
|
+
export { List, ListItem, type ListItemProps, ListItemTick, type ListProps, listVariants, } from "./list";
|
|
3
|
+
export { Prose } from "./prose";
|
|
4
|
+
export { Text, type TextProps, textVariants } from "./text";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/typography/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,KAAK,YAAY,EACjB,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,KAAK,aAAa,EAClB,YAAY,EACZ,KAAK,SAAS,EACd,YAAY,GACb,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
import type * as React from "react";
|
|
3
|
+
import type { Ref } from "react";
|
|
4
|
+
declare const listVariants: (props?: ({
|
|
5
|
+
size?: "sm" | "lg" | "default" | null | undefined;
|
|
6
|
+
variant?: "ordered" | "custom" | "unordered" | null | undefined;
|
|
7
|
+
color?: "default" | "modal" | null | undefined;
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
|
+
export interface ListProps extends Omit<React.HTMLAttributes<HTMLUListElement | HTMLOListElement>, "color">, VariantProps<typeof listVariants> {
|
|
10
|
+
ref?: Ref<HTMLUListElement | HTMLOListElement>;
|
|
11
|
+
}
|
|
12
|
+
declare const List: ({ className, size, variant, color, ref, ...props }: ListProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export interface ListItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
|
|
14
|
+
customBullet?: React.ReactNode;
|
|
15
|
+
ref?: Ref<HTMLLIElement>;
|
|
16
|
+
}
|
|
17
|
+
declare const ListItem: ({ className, customBullet, children, ref, ...props }: ListItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
interface ListItemTickProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
19
|
+
ref?: Ref<HTMLSpanElement>;
|
|
20
|
+
}
|
|
21
|
+
declare const ListItemTick: ({ className, ref, ...props }: ListItemTickProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export { List, ListItem, ListItemTick, listVariants };
|
|
23
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/components/typography/list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAKjC,QAAA,MAAM,YAAY;;;;8EAsBhB,CAAC;AAEH,MAAM,WAAW,SACf,SAAQ,IAAI,CACR,KAAK,CAAC,cAAc,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,EACzD,OAAO,CACR,EACD,YAAY,CAAC,OAAO,YAAY,CAAC;IACnC,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;CAChD;AAED,QAAA,MAAM,IAAI,GAAI,oDAOX,SAAS,4CAUX,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC;IAC1E,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,GAAG,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;CAC1B;AAED,QAAA,MAAM,QAAQ,GAAI,sDAMf,aAAa,4CAcf,CAAC;AAEF,UAAU,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IACvE,GAAG,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;CAC5B;AAED,QAAA,MAAM,YAAY,GAAI,8BAA8B,iBAAiB,4CAWpE,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -53,7 +53,7 @@ const ListItem = ({
|
|
|
53
53
|
}) => {
|
|
54
54
|
const CustomBulletComp = typeof customBullet === "string" ? "span" : SlotPrimitive.Slot;
|
|
55
55
|
return /* @__PURE__ */ jsxs("li", { className, ref, ...props, children: [
|
|
56
|
-
!!customBullet && /* @__PURE__ */ jsx(CustomBulletComp, { className: "mr-2
|
|
56
|
+
!!customBullet && /* @__PURE__ */ jsx(CustomBulletComp, { className: "mr-2 shrink-0", children: customBullet }),
|
|
57
57
|
children
|
|
58
58
|
] });
|
|
59
59
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/typography/list.tsx"],
|
|
4
|
-
"sourcesContent": ["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot as SlotPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\nimport type { Ref } from \"react\";\n\nimport { Tick } from \"../../icons/custom/tick\";\nimport { cn } from \"../../lib/utils\";\n\nconst listVariants = cva(\"text-gray-600 dark:text-gray-100\", {\n variants: {\n size: {\n sm: \"text-sm [&>li]:mt-1\",\n default: \"text-base [&>li]:mt-2\",\n lg: \"text-lg [&>li]:mt-3\",\n },\n variant: {\n unordered: \"list-disc pl-5\",\n ordered: \"list-decimal pl-5\",\n custom: \"list-none pl-0 [&>li>ul]:ml-4\",\n },\n color: {\n default: \"text-gray-600 dark:text-gray-100\",\n modal: \"text-gray-700 dark:text-gray-200\",\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"unordered\",\n color: \"default\",\n },\n});\n\nexport interface ListProps\n extends Omit<\n React.HTMLAttributes<HTMLUListElement | HTMLOListElement>,\n \"color\"\n >,\n VariantProps<typeof listVariants> {\n ref?: Ref<HTMLUListElement | HTMLOListElement>;\n}\n\nconst List = ({\n className,\n size,\n variant,\n color,\n ref,\n ...props\n}: ListProps) => {\n const Component = variant === \"ordered\" ? \"ol\" : \"ul\";\n\n return (\n <Component\n className={cn(listVariants({ size, variant, color, className }))}\n ref={ref as React.Ref<HTMLUListElement & HTMLOListElement>}\n {...props}\n />\n );\n};\n\nexport interface ListItemProps extends React.LiHTMLAttributes<HTMLLIElement> {\n customBullet?: React.ReactNode;\n ref?: Ref<HTMLLIElement>;\n}\n\nconst ListItem = ({\n className,\n customBullet,\n children,\n ref,\n ...props\n}: ListItemProps) => {\n const CustomBulletComp =\n typeof customBullet === \"string\" ? \"span\" : SlotPrimitive.Slot;\n\n return (\n <li className={className} ref={ref} {...props}>\n {!!customBullet && (\n <CustomBulletComp className=\"mr-2
|
|
5
|
-
"mappings": "AAoDI,cAwBA,YAxBA;AApDJ,SAAS,WAA8B;AACvC,SAAS,QAAQ,qBAAqB;AAItC,SAAS,YAAY;AACrB,SAAS,UAAU;AAEnB,MAAM,eAAe,IAAI,oCAAoC;AAAA,EAC3D,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,IACN;AAAA,IACA,SAAS;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,EACT;AACF,CAAC;AAWD,MAAM,OAAO,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAiB;AACf,QAAM,YAAY,YAAY,YAAY,OAAO;AAEjD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,aAAa,EAAE,MAAM,SAAS,OAAO,UAAU,CAAC,CAAC;AAAA,MAC/D;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAOA,MAAM,WAAW,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAqB;AACnB,QAAM,mBACJ,OAAO,iBAAiB,WAAW,SAAS,cAAc;AAE5D,SACE,qBAAC,QAAG,WAAsB,KAAW,GAAG,OACrC;AAAA,KAAC,CAAC,gBACD,oBAAC,oBAAiB,WAAU,
|
|
4
|
+
"sourcesContent": ["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot as SlotPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\nimport type { Ref } from \"react\";\n\nimport { Tick } from \"../../icons/custom/tick\";\nimport { cn } from \"../../lib/utils\";\n\nconst listVariants = cva(\"text-gray-600 dark:text-gray-100\", {\n variants: {\n size: {\n sm: \"text-sm [&>li]:mt-1\",\n default: \"text-base [&>li]:mt-2\",\n lg: \"text-lg [&>li]:mt-3\",\n },\n variant: {\n unordered: \"list-disc pl-5\",\n ordered: \"list-decimal pl-5\",\n custom: \"list-none pl-0 [&>li>ul]:ml-4\",\n },\n color: {\n default: \"text-gray-600 dark:text-gray-100\",\n modal: \"text-gray-700 dark:text-gray-200\",\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"unordered\",\n color: \"default\",\n },\n});\n\nexport interface ListProps\n extends Omit<\n React.HTMLAttributes<HTMLUListElement | HTMLOListElement>,\n \"color\"\n >,\n VariantProps<typeof listVariants> {\n ref?: Ref<HTMLUListElement | HTMLOListElement>;\n}\n\nconst List = ({\n className,\n size,\n variant,\n color,\n ref,\n ...props\n}: ListProps) => {\n const Component = variant === \"ordered\" ? \"ol\" : \"ul\";\n\n return (\n <Component\n className={cn(listVariants({ size, variant, color, className }))}\n ref={ref as React.Ref<HTMLUListElement & HTMLOListElement>}\n {...props}\n />\n );\n};\n\nexport interface ListItemProps extends React.LiHTMLAttributes<HTMLLIElement> {\n customBullet?: React.ReactNode;\n ref?: Ref<HTMLLIElement>;\n}\n\nconst ListItem = ({\n className,\n customBullet,\n children,\n ref,\n ...props\n}: ListItemProps) => {\n const CustomBulletComp =\n typeof customBullet === \"string\" ? \"span\" : SlotPrimitive.Slot;\n\n return (\n <li className={className} ref={ref} {...props}>\n {!!customBullet && (\n <CustomBulletComp className=\"mr-2 shrink-0\">\n {customBullet}\n </CustomBulletComp>\n )}\n {children}\n </li>\n );\n};\n\ninterface ListItemTickProps extends React.HTMLAttributes<HTMLSpanElement> {\n ref?: Ref<HTMLSpanElement>;\n}\n\nconst ListItemTick = ({ className, ref, ...props }: ListItemTickProps) => (\n <span\n className={cn(\n \"inline-flex aspect-square items-center justify-center rounded-[0.375em] bg-green text-white [height:calc(1em_*_1.25)] [margin-top:calc((1em_*_var(--line-height,_1.5)_-_(1em_*_1.25))_/_2)] [width:calc(1em_*_1.25)]\",\n className\n )}\n ref={ref}\n {...props}\n >\n <Tick className=\"[height:calc(1em_*_0.75)] [width:calc(1em_*_0.75)]\" />\n </span>\n);\n\nexport { List, ListItem, ListItemTick, listVariants };\n"],
|
|
5
|
+
"mappings": "AAoDI,cAwBA,YAxBA;AApDJ,SAAS,WAA8B;AACvC,SAAS,QAAQ,qBAAqB;AAItC,SAAS,YAAY;AACrB,SAAS,UAAU;AAEnB,MAAM,eAAe,IAAI,oCAAoC;AAAA,EAC3D,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,IACN;AAAA,IACA,SAAS;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,EACT;AACF,CAAC;AAWD,MAAM,OAAO,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAiB;AACf,QAAM,YAAY,YAAY,YAAY,OAAO;AAEjD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,aAAa,EAAE,MAAM,SAAS,OAAO,UAAU,CAAC,CAAC;AAAA,MAC/D;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAOA,MAAM,WAAW,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAqB;AACnB,QAAM,mBACJ,OAAO,iBAAiB,WAAW,SAAS,cAAc;AAE5D,SACE,qBAAC,QAAG,WAAsB,KAAW,GAAG,OACrC;AAAA,KAAC,CAAC,gBACD,oBAAC,oBAAiB,WAAU,iBACzB,wBACH;AAAA,IAED;AAAA,KACH;AAEJ;AAMA,MAAM,eAAe,CAAC,EAAE,WAAW,KAAK,GAAG,MAAM,MAC/C;AAAA,EAAC;AAAA;AAAA,IACC,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACC,GAAG;AAAA,IAEJ,8BAAC,QAAK,WAAU,sDAAqD;AAAA;AACvE;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type * as React from "react";
|
|
2
|
+
import type { Ref } from "react";
|
|
3
|
+
interface ProseProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
ref?: Ref<HTMLDivElement>;
|
|
5
|
+
}
|
|
6
|
+
declare const Prose: ({ className, ref, ...props }: ProseProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export { Prose };
|
|
8
|
+
//# sourceMappingURL=prose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prose.d.ts","sourceRoot":"","sources":["../../../src/components/typography/prose.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAIjC,UAAU,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC/D,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED,QAAA,MAAM,KAAK,GAAI,8BAA8B,UAAU,4CAsCtD,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
import type * as React from "react";
|
|
3
|
+
import type { Ref } from "react";
|
|
4
|
+
declare const textVariants: (props?: ({
|
|
5
|
+
variant?: "default" | "modal" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export interface TextProps extends React.HTMLAttributes<HTMLParagraphElement>, VariantProps<typeof textVariants> {
|
|
8
|
+
asChild?: boolean;
|
|
9
|
+
ref?: Ref<HTMLParagraphElement>;
|
|
10
|
+
}
|
|
11
|
+
declare const Text: ({ className, asChild, variant, ref, ...props }: TextProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export { Text, textVariants };
|
|
13
|
+
//# sourceMappingURL=text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/components/typography/text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAIjC,QAAA,MAAM,YAAY;;8EAajB,CAAC;AAEF,MAAM,WAAW,SACf,SAAQ,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAChD,YAAY,CAAC,OAAO,YAAY,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;CACjC;AAED,QAAA,MAAM,IAAI,GAAI,gDAMX,SAAS,4CAUX,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { CustomIconProps } from "./types";
|
|
3
|
+
declare const BoardsIndicatorFavorite: React.MemoExoticComponent<({ className, ...props }: CustomIconProps) => import("react/jsx-runtime").JSX.Element>;
|
|
4
|
+
declare const BoardsIndicatorDefault: React.MemoExoticComponent<({ className, ...props }: CustomIconProps) => import("react/jsx-runtime").JSX.Element>;
|
|
5
|
+
export { BoardsIndicatorDefault, BoardsIndicatorFavorite };
|
|
6
|
+
//# sourceMappingURL=boards-indicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boards-indicator.d.ts","sourceRoot":"","sources":["../../../src/icons/custom/boards-indicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA2B/C,QAAA,MAAM,uBAAuB,sDAzB8B,eAAe,6CAyBN,CAAC;AA4BrE,QAAA,MAAM,sBAAsB,sDA1B8B,eAAe,6CA0BP,CAAC;AAEnE,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
const _BoardsIndicatorFavorite = ({ className, ...props }) => /* @__PURE__ */ jsxs(
|
|
3
4
|
"svg",
|
|
4
5
|
{
|
|
5
6
|
"aria-hidden": "true",
|
|
@@ -9,6 +10,7 @@ const BoardsIndicatorFavorite = ({ className }) => /* @__PURE__ */ jsxs(
|
|
|
9
10
|
viewBox: "0 0 20 20",
|
|
10
11
|
width: "20",
|
|
11
12
|
xmlns: "http://www.w3.org/2000/svg",
|
|
13
|
+
...props,
|
|
12
14
|
children: [
|
|
13
15
|
/* @__PURE__ */ jsx(
|
|
14
16
|
"path",
|
|
@@ -30,7 +32,8 @@ const BoardsIndicatorFavorite = ({ className }) => /* @__PURE__ */ jsxs(
|
|
|
30
32
|
]
|
|
31
33
|
}
|
|
32
34
|
);
|
|
33
|
-
const
|
|
35
|
+
const BoardsIndicatorFavorite = React.memo(_BoardsIndicatorFavorite);
|
|
36
|
+
const _BoardsIndicatorDefault = ({ className, ...props }) => /* @__PURE__ */ jsxs(
|
|
34
37
|
"svg",
|
|
35
38
|
{
|
|
36
39
|
"aria-hidden": "true",
|
|
@@ -40,6 +43,7 @@ const BoardsIndicatorDefault = ({ className }) => /* @__PURE__ */ jsxs(
|
|
|
40
43
|
viewBox: "0 0 20 20",
|
|
41
44
|
width: "20",
|
|
42
45
|
xmlns: "http://www.w3.org/2000/svg",
|
|
46
|
+
...props,
|
|
43
47
|
children: [
|
|
44
48
|
/* @__PURE__ */ jsx(
|
|
45
49
|
"path",
|
|
@@ -62,6 +66,7 @@ const BoardsIndicatorDefault = ({ className }) => /* @__PURE__ */ jsxs(
|
|
|
62
66
|
]
|
|
63
67
|
}
|
|
64
68
|
);
|
|
69
|
+
const BoardsIndicatorDefault = React.memo(_BoardsIndicatorDefault);
|
|
65
70
|
export {
|
|
66
71
|
BoardsIndicatorDefault,
|
|
67
72
|
BoardsIndicatorFavorite
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/icons/custom/boards-indicator.tsx"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import * as React from \"react\";\nimport type { CustomIconProps } from \"./types\";\n\nconst _BoardsIndicatorFavorite = ({ className, ...props }: CustomIconProps) => (\n <svg\n aria-hidden=\"true\"\n className={className}\n fill=\"none\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n width=\"20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M0 10C0 4.47715 4.47715 0 10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10Z\"\n fill=\"#4D7A33\"\n />\n <path\n d=\"M13.3332 7.5L8.74984 12.0833L6.6665 10\"\n stroke=\"white\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.67\"\n />\n </svg>\n);\n\nconst BoardsIndicatorFavorite = React.memo(_BoardsIndicatorFavorite);\n\nconst _BoardsIndicatorDefault = ({ className, ...props }: CustomIconProps) => (\n <svg\n aria-hidden=\"true\"\n className={className}\n fill=\"none\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n width=\"20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M10 0.834961C15.0617 0.834961 19.165 4.93831 19.165 10C19.165 15.0617 15.0617 19.165 10 19.165C4.93831 19.165 0.834961 15.0617 0.834961 10C0.834961 4.93831 4.93831 0.834961 10 0.834961Z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.67\"\n />\n <path\n d=\"M7.0835 10H12.9168M10.0002 7.08334V12.9167\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.67\"\n />\n </svg>\n);\n\nconst BoardsIndicatorDefault = React.memo(_BoardsIndicatorDefault);\n\nexport { BoardsIndicatorDefault, BoardsIndicatorFavorite };\n"],
|
|
5
|
+
"mappings": "AAIE,SAUE,KAVF;AAJF,YAAY,WAAW;AAGvB,MAAM,2BAA2B,CAAC,EAAE,WAAW,GAAG,MAAM,MACtD;AAAA,EAAC;AAAA;AAAA,IACC,eAAY;AAAA,IACZ;AAAA,IACA,MAAK;AAAA,IACL,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,OAAM;AAAA,IACN,OAAM;AAAA,IACL,GAAG;AAAA,IAEJ;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,QAAO;AAAA,UACP,eAAc;AAAA,UACd,gBAAe;AAAA,UACf,aAAY;AAAA;AAAA,MACd;AAAA;AAAA;AACF;AAGF,MAAM,0BAA0B,MAAM,KAAK,wBAAwB;AAEnE,MAAM,0BAA0B,CAAC,EAAE,WAAW,GAAG,MAAM,MACrD;AAAA,EAAC;AAAA;AAAA,IACC,eAAY;AAAA,IACZ;AAAA,IACA,MAAK;AAAA,IACL,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,OAAM;AAAA,IACN,OAAM;AAAA,IACL,GAAG;AAAA,IAEJ;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA;AAAA,MACd;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,QAAO;AAAA,UACP,eAAc;AAAA,UACd,gBAAe;AAAA,UACf,aAAY;AAAA;AAAA,MACd;AAAA;AAAA;AACF;AAGF,MAAM,yBAAyB,MAAM,KAAK,uBAAuB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { CustomIconProps } from "./types";
|
|
3
|
+
declare const DownloadHistoryIcon: React.MemoExoticComponent<(props: CustomIconProps) => import("react/jsx-runtime").JSX.Element>;
|
|
4
|
+
export { DownloadHistoryIcon };
|
|
5
|
+
//# sourceMappingURL=download-history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"download-history.d.ts","sourceRoot":"","sources":["../../../src/icons/custom/download-history.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAc/C,QAAA,MAAM,mBAAmB,oCAZY,eAAe,6CAYQ,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
const
|
|
3
|
+
const _DownloadHistoryIcon = (props) => /* @__PURE__ */ jsx(
|
|
4
4
|
"svg",
|
|
5
5
|
{
|
|
6
6
|
"aria-hidden": "true",
|
|
7
7
|
fill: "currentColor",
|
|
8
|
-
ref,
|
|
9
8
|
viewBox: "-10 -10 140 140",
|
|
10
9
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11
10
|
...props,
|
|
12
11
|
children: /* @__PURE__ */ jsx("path", { d: "M28.45,55.88c0,.11,0,.22,0,.32l4.44-4.46a6.68,6.68,0,1,1,9.48,9.42L27.14,76.51a6.69,6.69,0,0,1-9.32.15L2.28,63A6.68,6.68,0,0,1,11.08,53l4,3.54v0a54.33,54.33,0,0,1,8-31,52.56,52.56,0,0,1,24-20.73,60.17,60.17,0,0,1,11-3.51,52.58,52.58,0,0,1,60.1,31.09,58.07,58.07,0,0,1,3.47,11,52.47,52.47,0,0,1-1.31,26.95A53.16,53.16,0,0,1,105.8,93a57.11,57.11,0,0,1-22.56,13.1,48.52,48.52,0,0,1-40.51-5.89A6.68,6.68,0,0,1,50,89a35.12,35.12,0,0,0,5.53,3,34.21,34.21,0,0,0,5.7,1.86,35.43,35.43,0,0,0,18.23-.54A43.77,43.77,0,0,0,96.74,83.19a39.7,39.7,0,0,0,10.93-17.06,39,39,0,0,0,1-20.08,46.38,46.38,0,0,0-2.68-8.5,39.19,39.19,0,0,0-45-23.22,45,45,0,0,0-8.52,2.72A39,39,0,0,0,34.5,32.49a40.94,40.94,0,0,0-6.05,23.39ZM60.83,34a6.11,6.11,0,0,1,12.22,0V53l14.89,8.27A6.09,6.09,0,1,1,82,71.93L64.43,62.16a6.11,6.11,0,0,1-3.6-5.57V34Z" })
|
|
13
12
|
}
|
|
14
|
-
)
|
|
15
|
-
DownloadHistoryIcon
|
|
13
|
+
);
|
|
14
|
+
const DownloadHistoryIcon = React.memo(_DownloadHistoryIcon);
|
|
16
15
|
export {
|
|
17
16
|
DownloadHistoryIcon
|
|
18
17
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/icons/custom/download-history.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from \"react\";\
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import * as React from \"react\";\nimport type { CustomIconProps } from \"./types\";\n\nconst _DownloadHistoryIcon = (props: CustomIconProps) => (\n <svg\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"-10 -10 140 140\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M28.45,55.88c0,.11,0,.22,0,.32l4.44-4.46a6.68,6.68,0,1,1,9.48,9.42L27.14,76.51a6.69,6.69,0,0,1-9.32.15L2.28,63A6.68,6.68,0,0,1,11.08,53l4,3.54v0a54.33,54.33,0,0,1,8-31,52.56,52.56,0,0,1,24-20.73,60.17,60.17,0,0,1,11-3.51,52.58,52.58,0,0,1,60.1,31.09,58.07,58.07,0,0,1,3.47,11,52.47,52.47,0,0,1-1.31,26.95A53.16,53.16,0,0,1,105.8,93a57.11,57.11,0,0,1-22.56,13.1,48.52,48.52,0,0,1-40.51-5.89A6.68,6.68,0,0,1,50,89a35.12,35.12,0,0,0,5.53,3,34.21,34.21,0,0,0,5.7,1.86,35.43,35.43,0,0,0,18.23-.54A43.77,43.77,0,0,0,96.74,83.19a39.7,39.7,0,0,0,10.93-17.06,39,39,0,0,0,1-20.08,46.38,46.38,0,0,0-2.68-8.5,39.19,39.19,0,0,0-45-23.22,45,45,0,0,0-8.52,2.72A39,39,0,0,0,34.5,32.49a40.94,40.94,0,0,0-6.05,23.39ZM60.83,34a6.11,6.11,0,0,1,12.22,0V53l14.89,8.27A6.09,6.09,0,1,1,82,71.93L64.43,62.16a6.11,6.11,0,0,1-3.6-5.57V34Z\" />\n </svg>\n);\n\nconst DownloadHistoryIcon = React.memo(_DownloadHistoryIcon);\n\nexport { DownloadHistoryIcon };\n"],
|
|
5
|
+
"mappings": "AAWI;AAXJ,YAAY,WAAW;AAGvB,MAAM,uBAAuB,CAAC,UAC5B;AAAA,EAAC;AAAA;AAAA,IACC,eAAY;AAAA,IACZ,MAAK;AAAA,IACL,SAAQ;AAAA,IACR,OAAM;AAAA,IACL,GAAG;AAAA,IAEJ,8BAAC,UAAK,GAAE,+yBAA8yB;AAAA;AACxzB;AAGF,MAAM,sBAAsB,MAAM,KAAK,oBAAoB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { CustomIconProps } from "./types";
|
|
3
|
+
declare const ExclamationMarkInOctagon: React.MemoExoticComponent<({ className, ...props }: CustomIconProps) => import("react/jsx-runtime").JSX.Element>;
|
|
4
|
+
export { ExclamationMarkInOctagon };
|
|
5
|
+
//# sourceMappingURL=exclamation-mark-in-octagon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exclamation-mark-in-octagon.d.ts","sourceRoot":"","sources":["../../../src/icons/custom/exclamation-mark-in-octagon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAgD/C,QAAA,MAAM,wBAAwB,sDA3C3B,eAAe,6CA2CoD,CAAC;AAEvE,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|