singularity-components 0.1.107 → 0.1.127
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 +15 -15
- package/dist/components/index.d.ts +32 -0
- package/dist/components/index.js +4 -26
- package/dist/components/index.js.map +1 -0
- package/dist/components/primitives/accordion/accordion.d.ts +10 -0
- package/dist/components/primitives/accordion/accordion.js +67 -0
- package/dist/components/primitives/accordion/accordion.js.map +1 -0
- package/dist/components/primitives/accordion/accordion.stories.d.ts +16 -0
- package/dist/components/primitives/accordion/accordion.stories.js +61 -0
- package/dist/components/primitives/accordion/accordion.stories.js.map +1 -0
- package/dist/components/primitives/alert/alert.d.ts +19 -0
- package/dist/components/primitives/alert/alert.js +70 -0
- package/dist/components/primitives/alert/alert.js.map +1 -0
- package/dist/components/primitives/alert/alert.stories.d.ts +22 -0
- package/dist/components/primitives/alert/alert.stories.js +37 -0
- package/dist/components/primitives/alert/alert.stories.js.map +1 -0
- package/dist/components/primitives/badge/badge.d.ts +13 -0
- package/dist/components/primitives/badge/badge.js +42 -0
- package/dist/components/primitives/badge/badge.js.map +1 -0
- package/dist/components/primitives/badge/badges.d.ts +8 -0
- package/dist/components/primitives/badge/badges.js +10 -0
- package/dist/components/primitives/badge/badges.js.map +1 -0
- package/dist/components/primitives/button/button.d.ts +36 -0
- package/dist/components/primitives/button/button.js +74 -0
- package/dist/components/primitives/button/button.js.map +1 -0
- package/dist/components/primitives/button/button.stories.d.ts +37 -0
- package/dist/components/primitives/button/button.stories.js +87 -0
- package/dist/components/primitives/button/button.stories.js.map +1 -0
- package/dist/components/primitives/icon/icon.d.ts +32 -0
- package/dist/components/primitives/icon/icon.js +53 -0
- package/dist/components/primitives/icon/icon.js.map +1 -0
- package/dist/components/primitives/icon/icon.stories.d.ts +24 -0
- package/dist/components/primitives/icon/icon.stories.js +27 -0
- package/dist/components/primitives/icon/icon.stories.js.map +1 -0
- package/dist/components/primitives/index.d.ts +29 -0
- package/dist/components/primitives/index.js +20 -0
- package/dist/components/primitives/index.js.map +1 -0
- package/dist/components/primitives/input/input.d.ts +6 -0
- package/dist/components/primitives/input/input.js +23 -0
- package/dist/components/primitives/input/input.js.map +1 -0
- package/dist/components/primitives/layout/layout.d.ts +53 -0
- package/dist/components/primitives/layout/layout.js +93 -0
- package/dist/components/primitives/layout/layout.js.map +1 -0
- package/dist/components/primitives/layout/layout.stories.d.ts +32 -0
- package/dist/components/primitives/layout/layout.stories.js +72 -0
- package/dist/components/primitives/layout/layout.stories.js.map +1 -0
- package/dist/components/primitives/separator/separator.d.ts +7 -0
- package/dist/components/primitives/separator/separator.js +39 -0
- package/dist/components/primitives/separator/separator.js.map +1 -0
- package/dist/components/primitives/separator/separator.stories.d.ts +16 -0
- package/dist/components/primitives/separator/separator.stories.js +18 -0
- package/dist/components/primitives/separator/separator.stories.js.map +1 -0
- package/dist/components/primitives/skeleton/skeleton.d.ts +5 -0
- package/dist/components/primitives/skeleton/skeleton.js +16 -0
- package/dist/components/primitives/skeleton/skeleton.js.map +1 -0
- package/dist/components/primitives/skeleton/skeleton.stories.d.ts +13 -0
- package/dist/components/primitives/skeleton/skeleton.stories.js +16 -0
- package/dist/components/primitives/skeleton/skeleton.stories.js.map +1 -0
- package/dist/components/primitives/spinner/spinner.d.ts +10 -0
- package/dist/components/primitives/spinner/spinner.js +80 -0
- package/dist/components/primitives/spinner/spinner.js.map +1 -0
- package/dist/components/primitives/spinner/spinner.stories.d.ts +16 -0
- package/dist/components/primitives/spinner/spinner.stories.js +35 -0
- package/dist/components/primitives/spinner/spinner.stories.js.map +1 -0
- package/dist/components/primitives/stack/stack.d.ts +13 -0
- package/dist/components/primitives/stack/stack.js +44 -0
- package/dist/components/primitives/stack/stack.js.map +1 -0
- package/dist/components/primitives/stack/stack.stories.d.ts +13 -0
- package/dist/components/primitives/stack/stack.stories.js +26 -0
- package/dist/components/primitives/stack/stack.stories.js.map +1 -0
- package/dist/components/primitives/table/table.d.ts +13 -0
- package/dist/components/primitives/table/table.js +117 -0
- package/dist/components/primitives/table/table.js.map +1 -0
- package/dist/components/primitives/text/internal/text-element.d.ts +62 -0
- package/dist/components/primitives/text/internal/text-element.js +78 -0
- package/dist/components/primitives/text/internal/text-element.js.map +1 -0
- package/dist/components/primitives/text/text-div.d.ts +10 -0
- package/dist/components/primitives/text/text-div.js +35 -0
- package/dist/components/primitives/text/text-div.js.map +1 -0
- package/dist/components/primitives/text/text-div.stories.d.ts +32 -0
- package/dist/components/primitives/text/text-div.stories.js +59 -0
- package/dist/components/primitives/text/text-div.stories.js.map +1 -0
- package/dist/components/primitives/text/text-heading.d.ts +26 -0
- package/dist/components/primitives/text/text-heading.js +53 -0
- package/dist/components/primitives/text/text-heading.js.map +1 -0
- package/dist/components/primitives/text/text-heading.stories.d.ts +27 -0
- package/dist/components/primitives/text/text-heading.stories.js +47 -0
- package/dist/components/primitives/text/text-heading.stories.js.map +1 -0
- package/dist/components/primitives/text/text-paragraph.d.ts +10 -0
- package/dist/components/primitives/text/text-paragraph.js +35 -0
- package/dist/components/primitives/text/text-paragraph.js.map +1 -0
- package/dist/components/primitives/text/text-span.d.ts +10 -0
- package/dist/components/primitives/text/text-span.js +35 -0
- package/dist/components/primitives/text/text-span.js.map +1 -0
- package/dist/components/primitives/text/text-span.stories.d.ts +31 -0
- package/dist/components/primitives/text/text-span.stories.js +59 -0
- package/dist/components/primitives/text/text-span.stories.js.map +1 -0
- package/dist/components/primitives/text/text-time.d.ts +10 -0
- package/dist/components/primitives/text/text-time.js +35 -0
- package/dist/components/primitives/text/text-time.js.map +1 -0
- package/dist/components/primitives/ui-image.d.ts +6 -0
- package/dist/components/primitives/ui-image.js +26 -0
- package/dist/components/primitives/ui-image.js.map +1 -0
- package/dist/components/providers/ImageContext.d.ts +17 -0
- package/dist/components/providers/ImageContext.js +23 -0
- package/dist/components/providers/ImageContext.js.map +1 -0
- package/dist/components/providers/index.d.ts +2 -0
- package/dist/components/providers/index.js +2 -0
- package/dist/components/providers/index.js.map +1 -0
- package/dist/components/units/cards/blog-card.d.ts +18 -0
- package/dist/components/units/cards/blog-card.js +80 -0
- package/dist/components/units/cards/blog-card.js.map +1 -0
- package/dist/components/units/cards/card.d.ts +15 -0
- package/dist/components/units/cards/card.js +89 -0
- package/dist/components/units/cards/card.js.map +1 -0
- package/dist/components/units/cards/cards.d.ts +17 -0
- package/dist/components/units/cards/cards.js +37 -0
- package/dist/components/units/cards/cards.js.map +1 -0
- package/dist/components/units/index.d.ts +5 -0
- package/dist/components/units/index.js +4 -0
- package/dist/components/units/index.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/{common.d.ts → lib/helpers/date.d.ts} +1 -3
- package/dist/lib/helpers/date.js +14 -0
- package/dist/lib/helpers/date.js.map +1 -0
- package/dist/lib/helpers/index.d.ts +1 -0
- package/dist/lib/helpers/index.js +2 -0
- package/dist/lib/helpers/index.js.map +1 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +2 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/try-catch.d.ts +12 -0
- package/dist/lib/try-catch.js +12 -0
- package/dist/lib/try-catch.js.map +1 -0
- package/dist/lib/types.d.ts +8 -5
- package/dist/lib/types.js +1 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/main.css +1823 -0
- package/dist/main.css.map +1 -0
- package/dist/main.d.ts +2 -24
- package/dist/main.js +3 -25
- package/dist/main.js.map +1 -0
- package/dist/utils.d.ts +5 -0
- package/dist/utils.js +19 -12
- package/dist/utils.js.map +1 -1
- package/package.json +78 -67
- package/dist/_virtual/rolldown_runtime.cjs +0 -29
- package/dist/_virtual/rolldown_runtime.js +0 -30
- package/dist/common.cjs +0 -11
- package/dist/common.cjs.map +0 -1
- package/dist/common.css +0 -280
- package/dist/common.css.map +0 -1
- package/dist/common.d.cts +0 -5
- package/dist/common.js +0 -10
- package/dist/common.js.map +0 -1
- package/dist/components/client/index.cjs +0 -7
- package/dist/components/client/index.js +0 -9
- package/dist/components/client/primitives/accordion/accordion.cjs +0 -57
- package/dist/components/client/primitives/accordion/accordion.cjs.map +0 -1
- package/dist/components/client/primitives/accordion/accordion.d.cts +0 -25
- package/dist/components/client/primitives/accordion/accordion.d.ts +0 -25
- package/dist/components/client/primitives/accordion/accordion.js +0 -51
- package/dist/components/client/primitives/accordion/accordion.js.map +0 -1
- package/dist/components/client/primitives/index.cjs +0 -4
- package/dist/components/client/primitives/index.js +0 -6
- package/dist/components/client/primitives/separator/separator.cjs +0 -26
- package/dist/components/client/primitives/separator/separator.cjs.map +0 -1
- package/dist/components/client/primitives/separator/separator.d.cts +0 -14
- package/dist/components/client/primitives/separator/separator.d.ts +0 -14
- package/dist/components/client/primitives/separator/separator.js +0 -22
- package/dist/components/client/primitives/separator/separator.js.map +0 -1
- package/dist/components/client/primitives/table/table.cjs +0 -82
- package/dist/components/client/primitives/table/table.cjs.map +0 -1
- package/dist/components/client/primitives/table/table.d.cts +0 -39
- package/dist/components/client/primitives/table/table.d.ts +0 -39
- package/dist/components/client/primitives/table/table.js +0 -72
- package/dist/components/client/primitives/table/table.js.map +0 -1
- package/dist/components/client/primitives/ui-image.cjs +0 -24
- package/dist/components/client/primitives/ui-image.cjs.map +0 -1
- package/dist/components/client/primitives/ui-image.d.cts +0 -8
- package/dist/components/client/primitives/ui-image.d.ts +0 -8
- package/dist/components/client/primitives/ui-image.js +0 -21
- package/dist/components/client/primitives/ui-image.js.map +0 -1
- package/dist/components/client/providers/ImageContext.cjs +0 -30
- package/dist/components/client/providers/ImageContext.cjs.map +0 -1
- package/dist/components/client/providers/ImageContext.d.cts +0 -18
- package/dist/components/client/providers/ImageContext.d.ts +0 -18
- package/dist/components/client/providers/ImageContext.js +0 -26
- package/dist/components/client/providers/ImageContext.js.map +0 -1
- package/dist/components/client/providers/index.cjs +0 -1
- package/dist/components/client/providers/index.js +0 -3
- package/dist/components/index.cjs +0 -24
- package/dist/components/server/index.cjs +0 -18
- package/dist/components/server/index.js +0 -20
- package/dist/components/server/primitives/alert/alert.cjs +0 -47
- package/dist/components/server/primitives/alert/alert.cjs.map +0 -1
- package/dist/components/server/primitives/alert/alert.d.cts +0 -31
- package/dist/components/server/primitives/alert/alert.d.ts +0 -31
- package/dist/components/server/primitives/alert/alert.js +0 -40
- package/dist/components/server/primitives/alert/alert.js.map +0 -1
- package/dist/components/server/primitives/badge/badge.cjs +0 -33
- package/dist/components/server/primitives/badge/badge.cjs.map +0 -1
- package/dist/components/server/primitives/badge/badge.d.cts +0 -20
- package/dist/components/server/primitives/badge/badge.d.ts +0 -20
- package/dist/components/server/primitives/badge/badge.js +0 -27
- package/dist/components/server/primitives/badge/badge.js.map +0 -1
- package/dist/components/server/primitives/badge/badges.cjs +0 -19
- package/dist/components/server/primitives/badge/badges.cjs.map +0 -1
- package/dist/components/server/primitives/badge/badges.d.cts +0 -13
- package/dist/components/server/primitives/badge/badges.d.ts +0 -13
- package/dist/components/server/primitives/badge/badges.js +0 -16
- package/dist/components/server/primitives/badge/badges.js.map +0 -1
- package/dist/components/server/primitives/button/button.cjs +0 -65
- package/dist/components/server/primitives/button/button.cjs.map +0 -1
- package/dist/components/server/primitives/button/button.d.cts +0 -49
- package/dist/components/server/primitives/button/button.d.ts +0 -49
- package/dist/components/server/primitives/button/button.js +0 -58
- package/dist/components/server/primitives/button/button.js.map +0 -1
- package/dist/components/server/primitives/cards/blog-card.cjs +0 -10
- package/dist/components/server/primitives/cards/blog-card.d.cts +0 -14
- package/dist/components/server/primitives/cards/blog-card.d.ts +0 -16
- package/dist/components/server/primitives/cards/blog-card.js +0 -10
- package/dist/components/server/primitives/cards/card.cjs +0 -66
- package/dist/components/server/primitives/cards/card.cjs.map +0 -1
- package/dist/components/server/primitives/cards/card.d.cts +0 -17
- package/dist/components/server/primitives/cards/card.d.ts +0 -17
- package/dist/components/server/primitives/cards/card.js +0 -57
- package/dist/components/server/primitives/cards/card.js.map +0 -1
- package/dist/components/server/primitives/cards/cards.cjs +0 -36
- package/dist/components/server/primitives/cards/cards.cjs.map +0 -1
- package/dist/components/server/primitives/cards/cards.d.cts +0 -24
- package/dist/components/server/primitives/cards/cards.d.ts +0 -24
- package/dist/components/server/primitives/cards/cards.js +0 -32
- package/dist/components/server/primitives/cards/cards.js.map +0 -1
- package/dist/components/server/primitives/icon/icon.cjs +0 -54
- package/dist/components/server/primitives/icon/icon.cjs.map +0 -1
- package/dist/components/server/primitives/icon/icon.d.cts +0 -41
- package/dist/components/server/primitives/icon/icon.d.ts +0 -41
- package/dist/components/server/primitives/icon/icon.js +0 -49
- package/dist/components/server/primitives/icon/icon.js.map +0 -1
- package/dist/components/server/primitives/index.cjs +0 -18
- package/dist/components/server/primitives/index.js +0 -20
- package/dist/components/server/primitives/input/input.cjs +0 -20
- package/dist/components/server/primitives/input/input.cjs.map +0 -1
- package/dist/components/server/primitives/input/input.d.cts +0 -12
- package/dist/components/server/primitives/input/input.d.ts +0 -12
- package/dist/components/server/primitives/input/input.js +0 -17
- package/dist/components/server/primitives/input/input.js.map +0 -1
- package/dist/components/server/primitives/layout/layout.cjs +0 -83
- package/dist/components/server/primitives/layout/layout.cjs.map +0 -1
- package/dist/components/server/primitives/layout/layout.d.cts +0 -69
- package/dist/components/server/primitives/layout/layout.d.ts +0 -69
- package/dist/components/server/primitives/layout/layout.js +0 -77
- package/dist/components/server/primitives/layout/layout.js.map +0 -1
- package/dist/components/server/primitives/skeleton/skeleton.cjs +0 -17
- package/dist/components/server/primitives/skeleton/skeleton.cjs.map +0 -1
- package/dist/components/server/primitives/skeleton/skeleton.d.cts +0 -10
- package/dist/components/server/primitives/skeleton/skeleton.d.ts +0 -10
- package/dist/components/server/primitives/skeleton/skeleton.js +0 -15
- package/dist/components/server/primitives/skeleton/skeleton.js.map +0 -1
- package/dist/components/server/primitives/spinner/spinner.cjs +0 -33
- package/dist/components/server/primitives/spinner/spinner.cjs.map +0 -1
- package/dist/components/server/primitives/spinner/spinner.d.cts +0 -16
- package/dist/components/server/primitives/spinner/spinner.d.ts +0 -16
- package/dist/components/server/primitives/spinner/spinner.js +0 -31
- package/dist/components/server/primitives/spinner/spinner.js.map +0 -1
- package/dist/components/server/primitives/stack/stack.cjs +0 -41
- package/dist/components/server/primitives/stack/stack.cjs.map +0 -1
- package/dist/components/server/primitives/stack/stack.d.cts +0 -15
- package/dist/components/server/primitives/stack/stack.d.ts +0 -15
- package/dist/components/server/primitives/stack/stack.js +0 -35
- package/dist/components/server/primitives/stack/stack.js.map +0 -1
- package/dist/components/server/primitives/text/internal/text-element.cjs +0 -67
- package/dist/components/server/primitives/text/internal/text-element.cjs.map +0 -1
- package/dist/components/server/primitives/text/internal/text-element.d.cts +0 -17
- package/dist/components/server/primitives/text/internal/text-element.d.ts +0 -18
- package/dist/components/server/primitives/text/internal/text-element.js +0 -62
- package/dist/components/server/primitives/text/internal/text-element.js.map +0 -1
- package/dist/components/server/primitives/text/text-div.cjs +0 -23
- package/dist/components/server/primitives/text/text-div.cjs.map +0 -1
- package/dist/components/server/primitives/text/text-div.d.cts +0 -16
- package/dist/components/server/primitives/text/text-div.d.ts +0 -16
- package/dist/components/server/primitives/text/text-div.js +0 -21
- package/dist/components/server/primitives/text/text-div.js.map +0 -1
- package/dist/components/server/primitives/text/text-heading.cjs +0 -36
- package/dist/components/server/primitives/text/text-heading.cjs.map +0 -1
- package/dist/components/server/primitives/text/text-heading.d.cts +0 -34
- package/dist/components/server/primitives/text/text-heading.d.ts +0 -34
- package/dist/components/server/primitives/text/text-heading.js +0 -31
- package/dist/components/server/primitives/text/text-heading.js.map +0 -1
- package/dist/components/server/primitives/text/text-paragraph.cjs +0 -23
- package/dist/components/server/primitives/text/text-paragraph.cjs.map +0 -1
- package/dist/components/server/primitives/text/text-paragraph.d.cts +0 -16
- package/dist/components/server/primitives/text/text-paragraph.d.ts +0 -16
- package/dist/components/server/primitives/text/text-paragraph.js +0 -21
- package/dist/components/server/primitives/text/text-paragraph.js.map +0 -1
- package/dist/components/server/primitives/text/text-span.cjs +0 -23
- package/dist/components/server/primitives/text/text-span.cjs.map +0 -1
- package/dist/components/server/primitives/text/text-span.d.cts +0 -16
- package/dist/components/server/primitives/text/text-span.d.ts +0 -16
- package/dist/components/server/primitives/text/text-span.js +0 -21
- package/dist/components/server/primitives/text/text-span.js.map +0 -1
- package/dist/components/server/primitives/text/text-time.cjs +0 -23
- package/dist/components/server/primitives/text/text-time.cjs.map +0 -1
- package/dist/components/server/primitives/text/text-time.d.cts +0 -16
- package/dist/components/server/primitives/text/text-time.d.ts +0 -16
- package/dist/components/server/primitives/text/text-time.js +0 -21
- package/dist/components/server/primitives/text/text-time.js.map +0 -1
- package/dist/lib/types.d.cts +0 -6
- package/dist/main.cjs +0 -77
- package/dist/main.d.cts +0 -24
- package/dist/node_modules/lucide-react/dist/cjs/lucide-react.cjs +0 -33010
- package/dist/node_modules/lucide-react/dist/cjs/lucide-react.cjs.map +0 -1
- package/dist/node_modules/lucide-react/dist/cjs/lucide-react.js +0 -33007
- package/dist/node_modules/lucide-react/dist/cjs/lucide-react.js.map +0 -1
- package/dist/utils.cjs +0 -20
- package/dist/utils.cjs.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../../utils";
|
|
3
|
+
import {
|
|
4
|
+
TextElement,
|
|
5
|
+
textElementVariantsProps
|
|
6
|
+
} from "./internal/text-element";
|
|
7
|
+
const TextSpan = ({
|
|
8
|
+
children,
|
|
9
|
+
size,
|
|
10
|
+
foreground,
|
|
11
|
+
fontweight,
|
|
12
|
+
className,
|
|
13
|
+
...props
|
|
14
|
+
}) => {
|
|
15
|
+
return /* @__PURE__ */ jsx(
|
|
16
|
+
TextElement,
|
|
17
|
+
{
|
|
18
|
+
as: "span",
|
|
19
|
+
className: cn(
|
|
20
|
+
textElementVariantsProps({
|
|
21
|
+
size,
|
|
22
|
+
foreground,
|
|
23
|
+
fontweight
|
|
24
|
+
}),
|
|
25
|
+
className
|
|
26
|
+
),
|
|
27
|
+
...props,
|
|
28
|
+
children
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
TextSpan
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=text-span.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/primitives/text/text-span.tsx"],"sourcesContent":["import type { OmitClassProperty } from \"@/lib/types\";\nimport { cn } from \"../../../utils\";\nimport {\n type TextElementProps,\n TextElement,\n textElementVariantsProps,\n} from \"./internal/text-element\";\n\nexport const TextSpan = ({\n children,\n size,\n foreground,\n fontweight,\n className,\n ...props\n}: OmitClassProperty<TextElementProps, \"as\">) => {\n return (\n <TextElement\n as=\"span\"\n className={cn(\n textElementVariantsProps({\n size,\n foreground,\n fontweight,\n }),\n className\n )}\n {...props}\n >\n {children}\n </TextElement>\n );\n};\n"],"mappings":"AAiBI;AAhBJ,SAAS,UAAU;AACnB;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AAEA,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAiD;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAG;AAAA,MACH,WAAW;AAAA,QACT,yBAAyB;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,QACF,CAAC;AAAA,QACD;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;","names":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { OmitClassProperty } from '../../../lib/types.js';
|
|
3
|
+
import { TextElementProps } from './internal/text-element.js';
|
|
4
|
+
import { StoryObj } from '@storybook/react-vite';
|
|
5
|
+
import 'class-variance-authority/types';
|
|
6
|
+
import 'react';
|
|
7
|
+
import 'class-variance-authority';
|
|
8
|
+
|
|
9
|
+
declare const meta: {
|
|
10
|
+
component: ({ children, size, foreground, fontweight, className, ...props }: OmitClassProperty<TextElementProps, "as">) => react_jsx_runtime.JSX.Element;
|
|
11
|
+
title: string;
|
|
12
|
+
argTypes: {
|
|
13
|
+
fontweight: {
|
|
14
|
+
options: string[];
|
|
15
|
+
};
|
|
16
|
+
foreground: {
|
|
17
|
+
options: string[];
|
|
18
|
+
};
|
|
19
|
+
size: {
|
|
20
|
+
options: string[];
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
type Story = StoryObj<typeof meta>;
|
|
25
|
+
declare const sm: Story;
|
|
26
|
+
declare const md: Story;
|
|
27
|
+
declare const base: Story;
|
|
28
|
+
declare const lg: Story;
|
|
29
|
+
declare const lg_gradient: Story;
|
|
30
|
+
|
|
31
|
+
export { base, meta as default, lg, lg_gradient, md, sm };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { TextSpan } from "./text-span";
|
|
2
|
+
import { textElementVariants } from "./internal/text-element";
|
|
3
|
+
const meta = {
|
|
4
|
+
component: TextSpan,
|
|
5
|
+
title: "Text Span",
|
|
6
|
+
argTypes: {
|
|
7
|
+
fontweight: {
|
|
8
|
+
options: Object.keys(textElementVariants.fontweight)
|
|
9
|
+
},
|
|
10
|
+
foreground: {
|
|
11
|
+
options: Object.keys(textElementVariants.foreground)
|
|
12
|
+
},
|
|
13
|
+
size: {
|
|
14
|
+
options: Object.keys(textElementVariants.size)
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const sm = {
|
|
19
|
+
args: {
|
|
20
|
+
size: "sm",
|
|
21
|
+
children: "sm"
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const md = {
|
|
25
|
+
args: {
|
|
26
|
+
size: "md",
|
|
27
|
+
children: "md"
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const base = {
|
|
31
|
+
args: {
|
|
32
|
+
size: "base",
|
|
33
|
+
children: "base"
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const lg = {
|
|
37
|
+
args: {
|
|
38
|
+
size: "lg",
|
|
39
|
+
children: "lg"
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const lg_gradient = {
|
|
43
|
+
args: {
|
|
44
|
+
size: "lg",
|
|
45
|
+
children: "lg_primary-to-pink",
|
|
46
|
+
foreground: "primary-to-pink",
|
|
47
|
+
fontweight: "bold"
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var text_span_stories_default = meta;
|
|
51
|
+
export {
|
|
52
|
+
base,
|
|
53
|
+
text_span_stories_default as default,
|
|
54
|
+
lg,
|
|
55
|
+
lg_gradient,
|
|
56
|
+
md,
|
|
57
|
+
sm
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=text-span.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/primitives/text/text-span.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { TextSpan } from \"./text-span\";\nimport { textElementVariants } from \"./internal/text-element\";\n\nconst meta = {\n component: TextSpan,\n title: \"Text Span\",\n argTypes: {\n fontweight: {\n options: Object.keys(textElementVariants.fontweight),\n },\n foreground: {\n options: Object.keys(textElementVariants.foreground),\n },\n size: {\n options: Object.keys(textElementVariants.size),\n },\n },\n} satisfies Meta<typeof TextSpan>;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const sm: Story = {\n args: {\n size: \"sm\",\n children: \"sm\",\n },\n};\n\nexport const md: Story = {\n args: {\n size: \"md\",\n children: \"md\",\n },\n};\n\nexport const base: Story = {\n args: {\n size: \"base\",\n children: \"base\",\n },\n};\n\nexport const lg: Story = {\n args: {\n size: \"lg\",\n children: \"lg\",\n },\n};\n\nexport const lg_gradient: Story = {\n args: {\n size: \"lg\",\n children: \"lg_primary-to-pink\",\n foreground: \"primary-to-pink\",\n fontweight: \"bold\",\n },\n};\n\nexport default meta;\n"],"mappings":"AACA,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AAEpC,MAAM,OAAO;AAAA,EACX,WAAW;AAAA,EACX,OAAO;AAAA,EACP,UAAU;AAAA,IACR,YAAY;AAAA,MACV,SAAS,OAAO,KAAK,oBAAoB,UAAU;AAAA,IACrD;AAAA,IACA,YAAY;AAAA,MACV,SAAS,OAAO,KAAK,oBAAoB,UAAU;AAAA,IACrD;AAAA,IACA,MAAM;AAAA,MACJ,SAAS,OAAO,KAAK,oBAAoB,IAAI;AAAA,IAC/C;AAAA,EACF;AACF;AAIO,MAAM,KAAY;AAAA,EACvB,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;AAEO,MAAM,KAAY;AAAA,EACvB,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;AAEO,MAAM,OAAc;AAAA,EACzB,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;AAEO,MAAM,KAAY;AAAA,EACvB,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;AAEO,MAAM,cAAqB;AAAA,EAChC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,YAAY;AAAA,EACd;AACF;AAEA,IAAO,4BAAQ;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { TextElementProps } from './internal/text-element.js';
|
|
3
|
+
import { OmitClassProperty } from '../../../lib/types.js';
|
|
4
|
+
import 'class-variance-authority/types';
|
|
5
|
+
import 'react';
|
|
6
|
+
import 'class-variance-authority';
|
|
7
|
+
|
|
8
|
+
declare const TextTime: ({ children, size, foreground, fontweight, className, ...props }: OmitClassProperty<TextElementProps, "as">) => react_jsx_runtime.JSX.Element;
|
|
9
|
+
|
|
10
|
+
export { TextTime };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../../utils";
|
|
3
|
+
import {
|
|
4
|
+
TextElement,
|
|
5
|
+
textElementVariantsProps
|
|
6
|
+
} from "./internal/text-element";
|
|
7
|
+
const TextTime = ({
|
|
8
|
+
children,
|
|
9
|
+
size,
|
|
10
|
+
foreground,
|
|
11
|
+
fontweight,
|
|
12
|
+
className,
|
|
13
|
+
...props
|
|
14
|
+
}) => {
|
|
15
|
+
return /* @__PURE__ */ jsx(
|
|
16
|
+
TextElement,
|
|
17
|
+
{
|
|
18
|
+
as: "time",
|
|
19
|
+
className: cn(
|
|
20
|
+
textElementVariantsProps({
|
|
21
|
+
size,
|
|
22
|
+
foreground,
|
|
23
|
+
fontweight
|
|
24
|
+
}),
|
|
25
|
+
className
|
|
26
|
+
),
|
|
27
|
+
...props,
|
|
28
|
+
children
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
TextTime
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=text-time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/primitives/text/text-time.tsx"],"sourcesContent":["import { cn } from \"../../../utils\";\nimport {\n type TextElementProps,\n TextElement,\n textElementVariantsProps,\n} from \"./internal/text-element\";\nimport type { OmitClassProperty } from \"@/lib/types\";\n\nexport const TextTime = ({\n children,\n size,\n foreground,\n fontweight,\n className,\n ...props\n}: OmitClassProperty<TextElementProps, \"as\">) => {\n return (\n <TextElement\n as=\"time\"\n className={cn(\n textElementVariantsProps({\n size,\n foreground,\n fontweight,\n }),\n className\n )}\n {...props}\n >\n {children}\n </TextElement>\n );\n};\n"],"mappings":"AAiBI;AAjBJ,SAAS,UAAU;AACnB;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AAGA,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAiD;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAG;AAAA,MACH,WAAW;AAAA,QACT,yBAAyB;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,QACF,CAAC;AAAA,QACD;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;","names":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import React, { useEffect, useState } from "react";
|
|
4
|
+
import { useImage } from "../providers/ImageContext";
|
|
5
|
+
const UiImage = (props) => {
|
|
6
|
+
const [isClient, setIsClient] = useState(false);
|
|
7
|
+
const ImageComponent = useImage();
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
setIsClient(true);
|
|
10
|
+
}, []);
|
|
11
|
+
if (!isClient) {
|
|
12
|
+
return /* @__PURE__ */ jsx(
|
|
13
|
+
"img",
|
|
14
|
+
{
|
|
15
|
+
src: props.src,
|
|
16
|
+
alt: props.alt,
|
|
17
|
+
className: props.className
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
return /* @__PURE__ */ jsx(ImageComponent, { ...props });
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
UiImage
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=ui-image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/primitives/ui-image.tsx"],"sourcesContent":["\"use client\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useImage, type BaseImageProps } from \"../providers/ImageContext\";\r\n\r\nexport const UiImage: React.FC<BaseImageProps> = (props) => {\r\n const [isClient, setIsClient] = useState(false);\r\n const ImageComponent = useImage();\r\n\r\n useEffect(() => {\r\n setIsClient(true);\r\n }, []);\r\n\r\n if (!isClient) {\r\n return (\r\n <img\r\n // {...props}\r\n src={props.src}\r\n alt={props.alt}\r\n className={props.className}\r\n />\r\n );\r\n }\r\n\r\n return <ImageComponent {...props} />;\r\n};\r\n"],"mappings":";AAcM;AAbN,OAAO,SAAS,WAAW,gBAAgB;AAC3C,SAAS,gBAAqC;AAEvC,MAAM,UAAoC,CAAC,UAAU;AAC1D,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,iBAAiB,SAAS;AAEhC,YAAU,MAAM;AACd,gBAAY,IAAI;AAAA,EAClB,GAAG,CAAC,CAAC;AAEL,MAAI,CAAC,UAAU;AACb,WACE;AAAA,MAAC;AAAA;AAAA,QAEC,KAAK,MAAM;AAAA,QACX,KAAK,MAAM;AAAA,QACX,WAAW,MAAM;AAAA;AAAA,IACnB;AAAA,EAEJ;AAEA,SAAO,oBAAC,kBAAgB,GAAG,OAAO;AACpC;","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React__default, { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
interface BaseImageProps {
|
|
4
|
+
src: string;
|
|
5
|
+
alt?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
}
|
|
9
|
+
type ImageComponentType<P extends BaseImageProps = BaseImageProps> = React__default.ComponentType<P>;
|
|
10
|
+
interface ImageProviderProps {
|
|
11
|
+
ImageComponent: ImageComponentType;
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
declare const ImageProvider: React__default.FC<ImageProviderProps>;
|
|
15
|
+
declare const useImage: <P extends BaseImageProps = BaseImageProps>() => ImageComponentType<P>;
|
|
16
|
+
|
|
17
|
+
export { type BaseImageProps, type ImageComponentType, ImageProvider, useImage };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import React, { createContext, useContext } from "react";
|
|
4
|
+
const DefaultImage = ({ src, alt, ...rest }) => /* @__PURE__ */ jsx("img", { src, alt, ...rest });
|
|
5
|
+
const ImageContext = createContext({
|
|
6
|
+
ImageComponent: DefaultImage
|
|
7
|
+
});
|
|
8
|
+
const ImageProvider = ({
|
|
9
|
+
ImageComponent,
|
|
10
|
+
children
|
|
11
|
+
}) => /* @__PURE__ */ jsx(ImageContext.Provider, { value: { ImageComponent }, children });
|
|
12
|
+
const useImage = () => {
|
|
13
|
+
const ctx = useContext(ImageContext);
|
|
14
|
+
if (!ctx) {
|
|
15
|
+
throw new Error("useImage must be used within an ImageProvider");
|
|
16
|
+
}
|
|
17
|
+
return ctx.ImageComponent;
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
ImageProvider,
|
|
21
|
+
useImage
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=ImageContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/providers/ImageContext.tsx"],"sourcesContent":["\"use client\";\r\nimport React, { createContext, useContext, type ReactNode } from \"react\";\r\n\r\n// Define a generic interface for props all images share\r\nexport interface BaseImageProps {\r\n src: string;\r\n alt?: string;\r\n className?: string;\r\n [key: string]: any; // allow framework-specific props (e.g., width, height, priority)\r\n}\r\n\r\n// Define the ImageComponent type\r\nexport type ImageComponentType<P extends BaseImageProps = BaseImageProps> =\r\n React.ComponentType<P>;\r\n\r\n// Define the context value\r\ninterface ImageContextValue {\r\n ImageComponent: ImageComponentType;\r\n}\r\n\r\n// Default <img> fallback\r\nconst DefaultImage: ImageComponentType = ({ src, alt, ...rest }) => (\r\n <img src={src} alt={alt} {...rest} />\r\n);\r\n\r\n// Create the context\r\nconst ImageContext = createContext<ImageContextValue>({\r\n ImageComponent: DefaultImage,\r\n});\r\n\r\n// Provider props (type-safe)\r\ninterface ImageProviderProps {\r\n ImageComponent: ImageComponentType;\r\n children: ReactNode;\r\n}\r\n\r\nexport const ImageProvider: React.FC<ImageProviderProps> = ({\r\n ImageComponent,\r\n children,\r\n}) => (\r\n <ImageContext.Provider value={{ ImageComponent }}>\r\n {children}\r\n </ImageContext.Provider>\r\n);\r\n\r\nexport const useImage = <\r\n P extends BaseImageProps = BaseImageProps\r\n>(): ImageComponentType<P> => {\r\n const ctx = useContext(ImageContext);\r\n if (!ctx) {\r\n throw new Error(\"useImage must be used within an ImageProvider\");\r\n }\r\n return ctx.ImageComponent as ImageComponentType<P>;\r\n};\r\n"],"mappings":";AAsBE;AArBF,OAAO,SAAS,eAAe,kBAAkC;AAoBjE,MAAM,eAAmC,CAAC,EAAE,KAAK,KAAK,GAAG,KAAK,MAC5D,oBAAC,SAAI,KAAU,KAAW,GAAG,MAAM;AAIrC,MAAM,eAAe,cAAiC;AAAA,EACpD,gBAAgB;AAClB,CAAC;AAQM,MAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA,EACA;AACF,MACE,oBAAC,aAAa,UAAb,EAAsB,OAAO,EAAE,eAAe,GAC5C,UACH;AAGK,MAAM,WAAW,MAEM;AAC5B,QAAM,MAAM,WAAW,YAAY;AACnC,MAAI,CAAC,KAAK;AACR,UAAM,IAAI,MAAM,+CAA+C;AAAA,EACjE;AACA,SAAO,IAAI;AACb;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/providers/index.ts"],"sourcesContent":["export * from \"./ImageContext\";\n"],"mappings":"AAAA,cAAc;","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
interface BlogPost {
|
|
4
|
+
id: number;
|
|
5
|
+
title: string;
|
|
6
|
+
excerpt: string;
|
|
7
|
+
author: string;
|
|
8
|
+
date: Date;
|
|
9
|
+
readTime: string;
|
|
10
|
+
category: string;
|
|
11
|
+
image: string;
|
|
12
|
+
}
|
|
13
|
+
interface BlogCardProps {
|
|
14
|
+
post: BlogPost;
|
|
15
|
+
}
|
|
16
|
+
declare function BlogCard({ post }: BlogCardProps): react_jsx_runtime.JSX.Element;
|
|
17
|
+
|
|
18
|
+
export { type BlogPost, BlogCard as default };
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Clock, User } from "lucide-react";
|
|
3
|
+
import { TextHeading } from "../../primitives/text/text-heading";
|
|
4
|
+
import { Card, CardContent } from "./card";
|
|
5
|
+
import { Badge } from "../../primitives/badge/badge";
|
|
6
|
+
import { TextSpan } from "../../primitives/text/text-span";
|
|
7
|
+
import { Button } from "../../primitives/button/button";
|
|
8
|
+
import { TextParagraph } from "../../primitives/text/text-paragraph";
|
|
9
|
+
import { Icon } from "../../primitives/icon/icon";
|
|
10
|
+
import { formatDate } from "../../../lib";
|
|
11
|
+
import { UiImage } from "../../primitives/ui-image";
|
|
12
|
+
function BlogCard({ post }) {
|
|
13
|
+
return /* @__PURE__ */ jsxs(
|
|
14
|
+
Card,
|
|
15
|
+
{
|
|
16
|
+
className: "sg:group sg:overflow-hidden sg:hover:shadow-lg sg:transition-all sg:duration-300 sg:cursor-pointer sg:flex sg:flex-col",
|
|
17
|
+
onClick: () => console.log("OnClick blog card", post.id),
|
|
18
|
+
children: [
|
|
19
|
+
/* @__PURE__ */ jsxs("div", { className: "sg:relative sg:h-48 sg:overflow-hidden", children: [
|
|
20
|
+
/* @__PURE__ */ jsx(
|
|
21
|
+
UiImage,
|
|
22
|
+
{
|
|
23
|
+
src: post.image,
|
|
24
|
+
alt: post.title,
|
|
25
|
+
className: "sg:w-full sg:h-full sg:object-cover sg:transition-transform sg:duration-300 sg:group-hover:scale-110"
|
|
26
|
+
}
|
|
27
|
+
),
|
|
28
|
+
/* @__PURE__ */ jsx(
|
|
29
|
+
"div",
|
|
30
|
+
{
|
|
31
|
+
className: `sg:absolute sg:inset-0 sg:opacity-20 sg:group-hover:opacity-30 sg:transition-opacity`
|
|
32
|
+
}
|
|
33
|
+
),
|
|
34
|
+
/* @__PURE__ */ jsx(Badge, { className: "sg:absolute sg:top-4 sg:left-4", children: post.category })
|
|
35
|
+
] }),
|
|
36
|
+
/* @__PURE__ */ jsxs(CardContent, { className: "sg:p-6 sg:flex-1 sg:flex sg:flex-col", children: [
|
|
37
|
+
/* @__PURE__ */ jsx(
|
|
38
|
+
TextHeading,
|
|
39
|
+
{
|
|
40
|
+
variant: "h3",
|
|
41
|
+
className: "sg:mb-2 sg:group-hover:text-[hsl(var(--sg-primary))] sg:transition-colors",
|
|
42
|
+
children: post.title
|
|
43
|
+
}
|
|
44
|
+
),
|
|
45
|
+
/* @__PURE__ */ jsx(TextParagraph, { foreground: "muted", className: "sg:mb-4 sg:flex-1", children: post.excerpt }),
|
|
46
|
+
/* @__PURE__ */ jsxs("div", { className: "sg:flex sg:items-center sg:gap-4 sg:mb-4", children: [
|
|
47
|
+
/* @__PURE__ */ jsxs("div", { className: "sg:flex sg:items-center sg:gap-1", children: [
|
|
48
|
+
/* @__PURE__ */ jsx(User, { className: "h-4 w-4" }),
|
|
49
|
+
/* @__PURE__ */ jsx(TextSpan, { size: "sm", foreground: "muted", children: post.author })
|
|
50
|
+
] }),
|
|
51
|
+
/* @__PURE__ */ jsxs("div", { className: "sg:flex sg:items-center sg:gap-1", children: [
|
|
52
|
+
/* @__PURE__ */ jsx(Clock, { className: "sg:h-4 sg:w-4" }),
|
|
53
|
+
/* @__PURE__ */ jsx(TextSpan, { size: "sm", foreground: "muted", children: post.readTime })
|
|
54
|
+
] })
|
|
55
|
+
] }),
|
|
56
|
+
/* @__PURE__ */ jsxs("div", { className: "sg:flex sg:items-center sg:justify-between", children: [
|
|
57
|
+
/* @__PURE__ */ jsx(TextSpan, { size: "sm", foreground: "muted", children: formatDate(post.date) }),
|
|
58
|
+
/* @__PURE__ */ jsxs(
|
|
59
|
+
Button,
|
|
60
|
+
{
|
|
61
|
+
variant: "ghost",
|
|
62
|
+
size: "sm",
|
|
63
|
+
className: "sg:group-hover:text-[hsl(var(--sg-primary))]",
|
|
64
|
+
children: [
|
|
65
|
+
"Read More",
|
|
66
|
+
/* @__PURE__ */ jsx(Icon, { icon: "ArrowRight", className: "sg:ml-2 sg:h-4 sg:w-4" })
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
] })
|
|
71
|
+
] })
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
post.id
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
export {
|
|
78
|
+
BlogCard as default
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=blog-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/units/cards/blog-card.tsx"],"sourcesContent":["import { Clock, User } from \"lucide-react\";\r\nimport { TextHeading } from \"../../primitives/text/text-heading\";\r\nimport { Card, CardContent } from \"./card\";\r\nimport { Badge } from \"../../primitives/badge/badge\";\r\nimport { TextSpan } from \"../../primitives/text/text-span\";\r\nimport { Button } from \"../../primitives/button/button\";\r\nimport { TextParagraph } from \"../../primitives/text/text-paragraph\";\r\nimport { Icon } from \"../../primitives/icon/icon\";\r\nimport { formatDate } from \"../../../lib\";\r\nimport { UiImage } from \"../../primitives/ui-image\";\r\n\r\nexport interface BlogPost {\r\n id: number;\r\n title: string;\r\n excerpt: string;\r\n author: string;\r\n date: Date;\r\n readTime: string;\r\n category: string;\r\n image: string;\r\n}\r\n\r\ninterface BlogCardProps {\r\n post: BlogPost;\r\n}\r\n\r\nexport default function BlogCard({ post }: BlogCardProps) {\r\n return (\r\n <Card\r\n key={post.id}\r\n className=\"sg:group sg:overflow-hidden sg:hover:shadow-lg sg:transition-all sg:duration-300 sg:cursor-pointer sg:flex sg:flex-col\"\r\n // onClick={() => onNavigateToPost(post.id)}\r\n onClick={() => console.log(\"OnClick blog card\", post.id)}\r\n >\r\n <div className=\"sg:relative sg:h-48 sg:overflow-hidden\">\r\n <UiImage\r\n src={post.image}\r\n alt={post.title}\r\n className=\"sg:w-full sg:h-full sg:object-cover sg:transition-transform sg:duration-300 sg:group-hover:scale-110\"\r\n />\r\n <div\r\n className={`sg:absolute sg:inset-0 sg:opacity-20 sg:group-hover:opacity-30 sg:transition-opacity`}\r\n />\r\n <Badge className=\"sg:absolute sg:top-4 sg:left-4\">\r\n {post.category}\r\n </Badge>\r\n </div>\r\n\r\n {/* Content */}\r\n <CardContent className=\"sg:p-6 sg:flex-1 sg:flex sg:flex-col\">\r\n <TextHeading\r\n variant=\"h3\"\r\n className=\"sg:mb-2 sg:group-hover:text-[hsl(var(--sg-primary))] sg:transition-colors\"\r\n >\r\n {post.title}\r\n </TextHeading>\r\n <TextParagraph foreground=\"muted\" className=\"sg:mb-4 sg:flex-1\">\r\n {post.excerpt}\r\n </TextParagraph>\r\n\r\n {/* Meta */}\r\n <div className=\"sg:flex sg:items-center sg:gap-4 sg:mb-4\">\r\n <div className=\"sg:flex sg:items-center sg:gap-1\">\r\n <User className=\"h-4 w-4\" />\r\n <TextSpan size=\"sm\" foreground=\"muted\">\r\n {post.author}\r\n </TextSpan>\r\n </div>\r\n <div className=\"sg:flex sg:items-center sg:gap-1\">\r\n <Clock className=\"sg:h-4 sg:w-4\" />\r\n <TextSpan size=\"sm\" foreground=\"muted\">\r\n {post.readTime}\r\n </TextSpan>\r\n </div>\r\n </div>\r\n\r\n <div className=\"sg:flex sg:items-center sg:justify-between\">\r\n <TextSpan size=\"sm\" foreground=\"muted\">\r\n {formatDate(post.date)}\r\n </TextSpan>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"sg:group-hover:text-[hsl(var(--sg-primary))]\"\r\n >\r\n Read More\r\n <Icon icon=\"ArrowRight\" className=\"sg:ml-2 sg:h-4 sg:w-4\" />\r\n </Button>\r\n </div>\r\n </CardContent>\r\n </Card>\r\n );\r\n}\r\n\r\n/*\r\nI want to \"npm run build\" to build and make a bundle of the project. I should be able to \"npm publish\" so it can be used by other projects. \r\nMy project consists of a Storybook with react components. The components are both SSR components and \"Use client\" components. \r\nThey will among other be used in a Nextjs 15 app router solution.\r\nI dont want a single bundle or bundle for ssr/client. I want components separate so they can be imported like \"singularity-ui/button\", \"singularity-ui/alert\".\r\nI also want my full css to be included in build, that iss main.css\r\n*/\r\n"],"mappings":"AAkCM,SACE,KADF;AAlCN,SAAS,OAAO,YAAY;AAC5B,SAAS,mBAAmB;AAC5B,SAAS,MAAM,mBAAmB;AAClC,SAAS,aAAa;AACtB,SAAS,gBAAgB;AACzB,SAAS,cAAc;AACvB,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AAiBT,SAAR,SAA0B,EAAE,KAAK,GAAkB;AACxD,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,WAAU;AAAA,MAEV,SAAS,MAAM,QAAQ,IAAI,qBAAqB,KAAK,EAAE;AAAA,MAEvD;AAAA,6BAAC,SAAI,WAAU,0CACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,KAAK,KAAK;AAAA,cACV,KAAK,KAAK;AAAA,cACV,WAAU;AAAA;AAAA,UACZ;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA;AAAA,UACb;AAAA,UACA,oBAAC,SAAM,WAAU,kCACd,eAAK,UACR;AAAA,WACF;AAAA,QAGA,qBAAC,eAAY,WAAU,wCACrB;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,WAAU;AAAA,cAET,eAAK;AAAA;AAAA,UACR;AAAA,UACA,oBAAC,iBAAc,YAAW,SAAQ,WAAU,qBACzC,eAAK,SACR;AAAA,UAGA,qBAAC,SAAI,WAAU,4CACb;AAAA,iCAAC,SAAI,WAAU,oCACb;AAAA,kCAAC,QAAK,WAAU,WAAU;AAAA,cAC1B,oBAAC,YAAS,MAAK,MAAK,YAAW,SAC5B,eAAK,QACR;AAAA,eACF;AAAA,YACA,qBAAC,SAAI,WAAU,oCACb;AAAA,kCAAC,SAAM,WAAU,iBAAgB;AAAA,cACjC,oBAAC,YAAS,MAAK,MAAK,YAAW,SAC5B,eAAK,UACR;AAAA,eACF;AAAA,aACF;AAAA,UAEA,qBAAC,SAAI,WAAU,8CACb;AAAA,gCAAC,YAAS,MAAK,MAAK,YAAW,SAC5B,qBAAW,KAAK,IAAI,GACvB;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,WAAU;AAAA,gBACX;AAAA;AAAA,kBAEC,oBAAC,QAAK,MAAK,cAAa,WAAU,yBAAwB;AAAA;AAAA;AAAA,YAC5D;AAAA,aACF;AAAA,WACF;AAAA;AAAA;AAAA,IA5DK,KAAK;AAAA,EA6DZ;AAEJ;","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
4
|
+
declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
interface CardImageProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
src: string;
|
|
9
|
+
alt?: string;
|
|
10
|
+
}
|
|
11
|
+
declare const CardImage: React.ForwardRefExoticComponent<CardImageProps & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
+
|
|
15
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardImage, CardTitle };
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../../utils";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
const Card = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
5
|
+
"div",
|
|
6
|
+
{
|
|
7
|
+
ref,
|
|
8
|
+
className: cn(
|
|
9
|
+
"sg:rounded-xl sg:bg-card sg:text-card-foreground sg:group sg:overflow-hidden sg:border-0 sg:bg-gradient-to-br sg:from-background sg:to-background/60 sg:shadow-lg sg:ring-1 sg:ring-gray/60",
|
|
10
|
+
className
|
|
11
|
+
),
|
|
12
|
+
...props
|
|
13
|
+
}
|
|
14
|
+
));
|
|
15
|
+
Card.displayName = "Card";
|
|
16
|
+
const CardHeader = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
17
|
+
"div",
|
|
18
|
+
{
|
|
19
|
+
ref,
|
|
20
|
+
className: cn("sg:flex sg:flex-col sg:space-y-1.5 sg:p-6", className),
|
|
21
|
+
...props
|
|
22
|
+
}
|
|
23
|
+
));
|
|
24
|
+
CardHeader.displayName = "CardHeader";
|
|
25
|
+
const CardTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
26
|
+
"div",
|
|
27
|
+
{
|
|
28
|
+
ref,
|
|
29
|
+
className: cn(
|
|
30
|
+
"sg:font-semibold sg:leading-none sg:tracking-tight",
|
|
31
|
+
className
|
|
32
|
+
),
|
|
33
|
+
...props
|
|
34
|
+
}
|
|
35
|
+
));
|
|
36
|
+
CardTitle.displayName = "CardTitle";
|
|
37
|
+
const CardDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
38
|
+
"div",
|
|
39
|
+
{
|
|
40
|
+
ref,
|
|
41
|
+
className: cn("sg:text-sm sg:text-muted-foreground", className),
|
|
42
|
+
...props
|
|
43
|
+
}
|
|
44
|
+
));
|
|
45
|
+
CardDescription.displayName = "CardDescription";
|
|
46
|
+
const CardImage = React.forwardRef(
|
|
47
|
+
({ className, src, alt = "", ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
48
|
+
"div",
|
|
49
|
+
{
|
|
50
|
+
ref,
|
|
51
|
+
className: cn("sg:relative sg:h-48 sg:overflow-hidden", className),
|
|
52
|
+
...props,
|
|
53
|
+
children: [
|
|
54
|
+
/* @__PURE__ */ jsx(
|
|
55
|
+
"img",
|
|
56
|
+
{
|
|
57
|
+
src,
|
|
58
|
+
alt,
|
|
59
|
+
className: "sg:h-full sg:w-full sg:object-cover sg:transition-transform sg:duration-500 sg:group-hover:scale-105",
|
|
60
|
+
loading: "lazy"
|
|
61
|
+
}
|
|
62
|
+
),
|
|
63
|
+
/* @__PURE__ */ jsx("div", { className: "sg:absolute sg:inset-0 sg:bg-gradient-to-t sg:from-background/80 sg:to-transparent" })
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
);
|
|
68
|
+
CardImage.displayName = "CardImage";
|
|
69
|
+
const CardContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("sg:p-6 sg:pt-0", className), ...props }));
|
|
70
|
+
CardContent.displayName = "CardContent";
|
|
71
|
+
const CardFooter = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
72
|
+
"div",
|
|
73
|
+
{
|
|
74
|
+
ref,
|
|
75
|
+
className: cn("sg:flex sg:items-center sg:p-6 sg:pt-0", className),
|
|
76
|
+
...props
|
|
77
|
+
}
|
|
78
|
+
));
|
|
79
|
+
CardFooter.displayName = "CardFooter";
|
|
80
|
+
export {
|
|
81
|
+
Card,
|
|
82
|
+
CardContent,
|
|
83
|
+
CardDescription,
|
|
84
|
+
CardFooter,
|
|
85
|
+
CardHeader,
|
|
86
|
+
CardImage,
|
|
87
|
+
CardTitle
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/units/cards/card.tsx"],"sourcesContent":["import { cn } from \"../../../utils\";\nimport * as React from \"react\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"sg:rounded-xl sg:bg-card sg:text-card-foreground sg:group sg:overflow-hidden sg:border-0 sg:bg-gradient-to-br sg:from-background sg:to-background/60 sg:shadow-lg sg:ring-1 sg:ring-gray/60\",\n className\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"sg:flex sg:flex-col sg:space-y-1.5 sg:p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"sg:font-semibold sg:leading-none sg:tracking-tight\",\n className\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"sg:text-sm sg:text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\ninterface CardImageProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string;\n alt?: string;\n}\n\nconst CardImage = React.forwardRef<HTMLDivElement, CardImageProps>(\n ({ className, src, alt = \"\", ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"sg:relative sg:h-48 sg:overflow-hidden\", className)}\n {...props}\n >\n <img\n src={src}\n alt={alt}\n className=\"sg:h-full sg:w-full sg:object-cover sg:transition-transform sg:duration-500 sg:group-hover:scale-105\"\n loading=\"lazy\"\n />\n <div className=\"sg:absolute sg:inset-0 sg:bg-gradient-to-t sg:from-background/80 sg:to-transparent\" />\n </div>\n )\n);\nCardImage.displayName = \"CardImage\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"sg:p-6 sg:pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"sg:flex sg:items-center sg:p-6 sg:pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardImage,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n"],"mappings":"AAOE,cAyDE,YAzDF;AAPF,SAAS,UAAU;AACnB,YAAY,WAAW;AAEvB,MAAM,OAAO,MAAM,WAGjB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,KAAK,cAAc;AAEnB,MAAM,aAAa,MAAM,WAGvB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,6CAA6C,SAAS;AAAA,IACnE,GAAG;AAAA;AACN,CACD;AACD,WAAW,cAAc;AAEzB,MAAM,YAAY,MAAM,WAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAExB,MAAM,kBAAkB,MAAM,WAG5B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,uCAAuC,SAAS;AAAA,IAC7D,GAAG;AAAA;AACN,CACD;AACD,gBAAgB,cAAc;AAO9B,MAAM,YAAY,MAAM;AAAA,EACtB,CAAC,EAAE,WAAW,KAAK,MAAM,IAAI,GAAG,MAAM,GAAG,QACvC;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,GAAG,0CAA0C,SAAS;AAAA,MAChE,GAAG;AAAA,MAEJ;AAAA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA,WAAU;AAAA,YACV,SAAQ;AAAA;AAAA,QACV;AAAA,QACA,oBAAC,SAAI,WAAU,sFAAqF;AAAA;AAAA;AAAA,EACtG;AAEJ;AACA,UAAU,cAAc;AAExB,MAAM,cAAc,MAAM,WAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAC,SAAI,KAAU,WAAW,GAAG,kBAAkB,SAAS,GAAI,GAAG,OAAO,CACvE;AACD,YAAY,cAAc;AAE1B,MAAM,aAAa,MAAM,WAGvB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,0CAA0C,SAAS;AAAA,IAChE,GAAG;AAAA;AACN,CACD;AACD,WAAW,cAAc;","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
|
|
4
|
+
interface CardsProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
cols?: {
|
|
6
|
+
default?: number;
|
|
7
|
+
sm?: number;
|
|
8
|
+
md?: number;
|
|
9
|
+
lg?: number;
|
|
10
|
+
xl?: number;
|
|
11
|
+
"2xl"?: number;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
declare const getGridColsClass: (cols?: CardsProps["cols"]) => string;
|
|
15
|
+
declare const Cards: ({ children, className, cols, ...props }: CardsProps) => react_jsx_runtime.JSX.Element;
|
|
16
|
+
|
|
17
|
+
export { Cards, type CardsProps, getGridColsClass };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../../utils";
|
|
3
|
+
import React from "react";
|
|
4
|
+
const getGridColsClass = (cols) => {
|
|
5
|
+
if (!cols) return "";
|
|
6
|
+
const colClasses = [];
|
|
7
|
+
if (cols.default) colClasses.push(`sg:grid-cols-${cols.default}`);
|
|
8
|
+
if (cols.sm) colClasses.push(`sg:sm:grid-cols-${cols.sm}`);
|
|
9
|
+
if (cols.md) colClasses.push(`sg:md:grid-cols-${cols.md}`);
|
|
10
|
+
if (cols.lg) colClasses.push(`sg:lg:grid-cols-${cols.lg}`);
|
|
11
|
+
if (cols.xl) colClasses.push(`sg:xl:grid-cols-${cols.xl}`);
|
|
12
|
+
if (cols["2xl"]) colClasses.push(`sg:2xl:grid-cols-${cols["2xl"]}`);
|
|
13
|
+
return colClasses.join(" ");
|
|
14
|
+
};
|
|
15
|
+
const Cards = ({
|
|
16
|
+
children,
|
|
17
|
+
className,
|
|
18
|
+
cols = { default: 1, sm: 2, lg: 3 },
|
|
19
|
+
...props
|
|
20
|
+
}) => {
|
|
21
|
+
if (!cols.default) {
|
|
22
|
+
cols.default = 1;
|
|
23
|
+
}
|
|
24
|
+
return /* @__PURE__ */ jsx(
|
|
25
|
+
"div",
|
|
26
|
+
{
|
|
27
|
+
className: cn("sg:grid sg:gap-6", getGridColsClass(cols), className),
|
|
28
|
+
...props,
|
|
29
|
+
children
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
Cards,
|
|
35
|
+
getGridColsClass
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=cards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/units/cards/cards.tsx"],"sourcesContent":["import { cn } from \"../../../utils\";\r\nimport React from \"react\";\r\n\r\nexport interface CardsProps extends React.HTMLAttributes<HTMLDivElement> {\r\n cols?: {\r\n default?: number;\r\n sm?: number;\r\n md?: number;\r\n lg?: number;\r\n xl?: number;\r\n \"2xl\"?: number;\r\n };\r\n}\r\n\r\nexport const getGridColsClass = (cols?: CardsProps[\"cols\"]) => {\r\n if (!cols) return \"\";\r\n\r\n const colClasses: string[] = [];\r\n if (cols.default) colClasses.push(`sg:grid-cols-${cols.default}`);\r\n if (cols.sm) colClasses.push(`sg:sm:grid-cols-${cols.sm}`);\r\n if (cols.md) colClasses.push(`sg:md:grid-cols-${cols.md}`);\r\n if (cols.lg) colClasses.push(`sg:lg:grid-cols-${cols.lg}`);\r\n if (cols.xl) colClasses.push(`sg:xl:grid-cols-${cols.xl}`);\r\n if (cols[\"2xl\"]) colClasses.push(`sg:2xl:grid-cols-${cols[\"2xl\"]}`);\r\n\r\n return colClasses.join(\" \");\r\n};\r\n\r\nexport const Cards = ({\r\n children,\r\n className,\r\n cols = { default: 1, sm: 2, lg: 3 },\r\n ...props\r\n}: CardsProps) => {\r\n if (!cols.default) {\r\n cols.default = 1;\r\n }\r\n\r\n return (\r\n <div\r\n className={cn(\"sg:grid sg:gap-6\", getGridColsClass(cols), className)}\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n"],"mappings":"AAuCI;AAvCJ,SAAS,UAAU;AACnB,OAAO,WAAW;AAaX,MAAM,mBAAmB,CAAC,SAA8B;AAC7D,MAAI,CAAC,KAAM,QAAO;AAElB,QAAM,aAAuB,CAAC;AAC9B,MAAI,KAAK,QAAS,YAAW,KAAK,gBAAgB,KAAK,OAAO,EAAE;AAChE,MAAI,KAAK,GAAI,YAAW,KAAK,mBAAmB,KAAK,EAAE,EAAE;AACzD,MAAI,KAAK,GAAI,YAAW,KAAK,mBAAmB,KAAK,EAAE,EAAE;AACzD,MAAI,KAAK,GAAI,YAAW,KAAK,mBAAmB,KAAK,EAAE,EAAE;AACzD,MAAI,KAAK,GAAI,YAAW,KAAK,mBAAmB,KAAK,EAAE,EAAE;AACzD,MAAI,KAAK,KAAK,EAAG,YAAW,KAAK,oBAAoB,KAAK,KAAK,CAAC,EAAE;AAElE,SAAO,WAAW,KAAK,GAAG;AAC5B;AAEO,MAAM,QAAQ,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA,OAAO,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,EAAE;AAAA,EAClC,GAAG;AACL,MAAkB;AAChB,MAAI,CAAC,KAAK,SAAS;AACjB,SAAK,UAAU;AAAA,EACjB;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,oBAAoB,iBAAiB,IAAI,GAAG,SAAS;AAAA,MAClE,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;","names":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { BlogPost } from './cards/blog-card.js';
|
|
2
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardImage, CardTitle } from './cards/card.js';
|
|
3
|
+
export { Cards, CardsProps, getGridColsClass } from './cards/cards.js';
|
|
4
|
+
import 'react/jsx-runtime';
|
|
5
|
+
import 'react';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/units/index.ts"],"sourcesContent":["export * from \"./cards/blog-card\";\nexport * from \"./cards/card\";\nexport * from \"./cards/cards\";\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './components/primitives/accordion/accordion.js';
|
|
2
|
+
export { Alert, AlertDescription, AlertTitle, alertVariants } from './components/primitives/alert/alert.js';
|
|
3
|
+
export { Badge, badgeVariants } from './components/primitives/badge/badge.js';
|
|
4
|
+
export { Badges, BadgesProps } from './components/primitives/badge/badges.js';
|
|
5
|
+
export { Button, buttonVariants, buttonVariantsProps } from './components/primitives/button/button.js';
|
|
6
|
+
export { Icon, iconVariants, iconVariantsProps } from './components/primitives/icon/icon.js';
|
|
7
|
+
export { Input } from './components/primitives/input/input.js';
|
|
8
|
+
export { Layout, LayoutProps, layoutVariants, layoutVariantsProps } from './components/primitives/layout/layout.js';
|
|
9
|
+
export { Separator } from './components/primitives/separator/separator.js';
|
|
10
|
+
export { Skeleton } from './components/primitives/skeleton/skeleton.js';
|
|
11
|
+
export { Spinner, SpinnerProps } from './components/primitives/spinner/spinner.js';
|
|
12
|
+
export { Stack, StackProps, stackVariants } from './components/primitives/stack/stack.js';
|
|
13
|
+
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from './components/primitives/table/table.js';
|
|
14
|
+
export { TextDiv } from './components/primitives/text/text-div.js';
|
|
15
|
+
export { TextHeading, TextHeadingProps, textHeadingVariants, textHeadingVariantsProps } from './components/primitives/text/text-heading.js';
|
|
16
|
+
export { TextParagraph } from './components/primitives/text/text-paragraph.js';
|
|
17
|
+
export { TextSpan } from './components/primitives/text/text-span.js';
|
|
18
|
+
export { TextTime } from './components/primitives/text/text-time.js';
|
|
19
|
+
export { UiImage } from './components/primitives/ui-image.js';
|
|
20
|
+
export { BaseImageProps, ImageComponentType, ImageProvider, useImage } from './components/providers/ImageContext.js';
|
|
21
|
+
export { BlogPost } from './components/units/cards/blog-card.js';
|
|
22
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardImage, CardTitle } from './components/units/cards/card.js';
|
|
23
|
+
export { Cards, CardsProps, getGridColsClass } from './components/units/cards/cards.js';
|
|
24
|
+
import 'react/jsx-runtime';
|
|
25
|
+
import 'react';
|
|
26
|
+
import '@radix-ui/react-accordion';
|
|
27
|
+
import 'class-variance-authority/types';
|
|
28
|
+
import 'class-variance-authority';
|
|
29
|
+
import 'lucide-react';
|
|
30
|
+
import '@radix-ui/react-separator';
|
|
31
|
+
import './components/primitives/text/internal/text-element.js';
|
|
32
|
+
import './lib/types.js';
|