linkedunion-design-kit 1.7.0 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -17,6 +17,7 @@ export { Display } from "./src/components/Typography/Display/display";
17
17
  export { Caption } from "./src/components/ui/caption";
18
18
  export { default as Tooltip } from "./src/components/ToolTip/Tooltip";
19
19
  export { Button } from "./src/components/Button/Button";
20
+ export { PhotoGallery } from "./src/components/Card/PhotoGallery";
20
21
  export { Label } from "./src/components/Label/Label";
21
22
  export { Slider } from "./src/components/Slider/slider";
22
23
  export { RadioButton } from "./src/components/RadioButton/radio-button";
package/dist/index.js CHANGED
@@ -17,6 +17,7 @@ export { Display } from "./src/components/Typography/Display/display";
17
17
  export { Caption } from "./src/components/ui/caption";
18
18
  export { default as Tooltip } from "./src/components/ToolTip/Tooltip";
19
19
  export { Button } from "./src/components/Button/Button";
20
+ export { PhotoGallery } from "./src/components/Card/PhotoGallery";
20
21
  export { Label } from "./src/components/Label/Label";
21
22
  export { Slider } from "./src/components/Slider/slider";
22
23
  export { RadioButton } from "./src/components/RadioButton/radio-button";
@@ -0,0 +1,2 @@
1
+ import { CardInterface } from "./type";
2
+ export declare const PhotoGallery: ({ image, item, altText, editor, }: CardInterface) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import LUIcon from "../Icons/LUIcon";
3
+ import LuImage from "../Images/LuImage";
4
+ import { Heading } from "../Typography/Heading/heading";
5
+ export var PhotoGallery = function (_a) {
6
+ var image = _a.image, item = _a.item, _b = _a.altText, altText = _b === void 0 ? "Photo Gallery" : _b, editor = _a.editor;
7
+ return (_jsxs("div", { className: "group relative max-w-md max-h-md ".concat(editor === null || editor === void 0 ? void 0 : editor.card, " ").concat(editor === null || editor === void 0 ? void 0 : editor.cardImage), children: [_jsx(LuImage, { src: image, width: 448, height: 448, alt: altText, className: "aspect-square object-cover transition-transform" }), _jsx("div", { className: "absolute ".concat(editor === null || editor === void 0 ? void 0 : editor.cardOverlay, " inset-0 bg-linear-to-t from-black to-transparent") }), _jsx(Heading, { variant: "h4-700", className: "absolute line-clamp-1 text-white bottom-4 uppercase !px-5 ".concat(editor === null || editor === void 0 ? void 0 : editor.cardText), children: item === null || item === void 0 ? void 0 : item.title }), _jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/40 opacity-0 group-hover:!opacity-100 transition-opacity duration-300 ease-out", children: _jsx(LUIcon, { icon: "magnifying-glass", size: "4xl", className: "".concat(editor === null || editor === void 0 ? void 0 : editor.cardText, " text-gray-100") }) })] }));
8
+ };
@@ -0,0 +1,5 @@
1
+ import { Meta } from "@storybook/react";
2
+ import { CardInterface } from "./type";
3
+ declare const _default: Meta;
4
+ export default _default;
5
+ export declare const Default: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, CardInterface>;
@@ -0,0 +1,46 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { PhotoGallery } from "./PhotoGallery";
14
+ import { Dummy_Image, Dummy_Title } from "../../utils/constants";
15
+ import Card from "./card";
16
+ export default {
17
+ title: "Components/NewCard/PhotoGallery",
18
+ component: PhotoGallery,
19
+ tags: ["autodocs"],
20
+ };
21
+ var Template = function (args) { return _jsx(Card, __assign({}, args)); };
22
+ export var Default = Template.bind({});
23
+ Default.args = {
24
+ type: "photoGallery",
25
+ item: {
26
+ title: Dummy_Title,
27
+ },
28
+ image: Dummy_Image,
29
+ editor: {
30
+ card: "",
31
+ cardImage: "",
32
+ cardOverlay: "",
33
+ cardText: "",
34
+ },
35
+ };
36
+ Default.argTypes = {
37
+ type: {
38
+ control: false,
39
+ table: {
40
+ type: { summary: "string" },
41
+ defaultValue: {
42
+ summary: "photoGallery",
43
+ },
44
+ },
45
+ },
46
+ };
@@ -27,7 +27,7 @@ export var PostByCategory = function (_a) {
27
27
  // Common button component
28
28
  var CardButton = function (_a) {
29
29
  var _b = _a.className, className = _b === void 0 ? "" : _b;
30
- return (_jsx(Link, { href: href || "#", passHref: true, children: _jsx(Button, { endIcon: "angle-right", size: "lg", className: "".concat(editor === null || editor === void 0 ? void 0 : editor.cardBtn, " max-sm:w-full ").concat(className), children: btnLabel }) }));
30
+ return (_jsx(Link, { href: href || "#", passHref: true, children: _jsx(Button, { endIcon: "angle-right", size: "lg", className: "".concat(editor === null || editor === void 0 ? void 0 : editor.cardBtn, " ").concat(className), children: btnLabel }) }));
31
31
  };
32
32
  // Horizontal layout
33
33
  if (orientation === "horizontal") {
@@ -0,0 +1,2 @@
1
+ import { CardInterface } from "./type";
2
+ export declare const PostByCategory: ({ item, image, href, btnLabel, editor, mediaPosition, orientation, }: CardInterface) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import LuImage from "../Images/LuImage";
3
+ import Link from "next/link";
4
+ import { Heading } from "../Typography/Heading/heading";
5
+ import { Body } from "../Typography/Body/body";
6
+ import { Button } from "../Button/Button";
7
+ export var PostByCategory = function (_a) {
8
+ var item = _a.item, image = _a.image, href = _a.href, btnLabel = _a.btnLabel, editor = _a.editor, mediaPosition = _a.mediaPosition, orientation = _a.orientation;
9
+ // Normalize mediaPosition based on orientation
10
+ var safeMediaPosition = orientation === "horizontal"
11
+ ? mediaPosition === "left" || mediaPosition === "right"
12
+ ? mediaPosition
13
+ : "right"
14
+ : mediaPosition === "top" || mediaPosition === "bottom"
15
+ ? mediaPosition
16
+ : "top";
17
+ // Common card media component to avoid duplication
18
+ var CardMedia = function (_a) {
19
+ var _b = _a.className, className = _b === void 0 ? "" : _b;
20
+ return (_jsx(LuImage, { src: image, width: 240, height: 240, className: "".concat(className, " ").concat(editor === null || editor === void 0 ? void 0 : editor.cardImage), alt: "Image" }));
21
+ };
22
+ // Common content section component
23
+ var CardContent = function (_a) {
24
+ var _b = _a.className, className = _b === void 0 ? "" : _b;
25
+ return (_jsxs("div", { className: "flex flex-col gap-1 ".concat(className), children: [_jsx(Heading, { variant: "h5-700", className: "".concat(editor === null || editor === void 0 ? void 0 : editor.cardTitle), children: item === null || item === void 0 ? void 0 : item.title }), _jsx(Body, { variant: "body-base", className: "".concat(editor === null || editor === void 0 ? void 0 : editor.cardText), children: item === null || item === void 0 ? void 0 : item.description })] }));
26
+ };
27
+ // Common button component
28
+ var CardButton = function (_a) {
29
+ var _b = _a.className, className = _b === void 0 ? "" : _b;
30
+ return (_jsx(Link, { href: href || "#", passHref: true, className: className, children: _jsx(Button, { endIcon: "angle-right", size: "lg", className: "".concat(editor === null || editor === void 0 ? void 0 : editor.cardBtn), children: btnLabel }) }));
31
+ };
32
+ // Horizontal layout
33
+ if (orientation === "horizontal") {
34
+ return (_jsxs("div", { className: "p-5 bg-white rounded-xl inline-flex ".concat(safeMediaPosition === "right" ? "flex-row-reverse" : "", " gap-5 items-center shadow-lg ").concat(editor === null || editor === void 0 ? void 0 : editor.card), children: [_jsx(CardMedia, { className: "max-w-[240px] aspect-square rounded-lg object-cover" }), _jsxs("div", { className: "flex flex-col gap-1 w-full", children: [_jsx(CardContent, {}), _jsx(CardButton, { className: "mt-5" })] })] }));
35
+ }
36
+ // Vertical layout
37
+ return (_jsxs("div", { className: "p-8 bg-white rounded-xl inline-flex flex-col gap-5 max-w-[480px] items-center shadow-lg ".concat(editor === null || editor === void 0 ? void 0 : editor.card), children: [_jsxs("div", { className: "flex ".concat(safeMediaPosition === "top" ? "flex-col" : "flex-col-reverse", " items-center gap-5 text-center"), children: [_jsx(CardMedia, { className: "w-full h-full aspect-5/4 object-cover" }), _jsx(CardContent, {})] }), _jsx(CardButton, {})] }));
38
+ };
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import Card from "./card";
3
+ declare const meta: Meta<typeof Card>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Card>;
6
+ export declare const PostByCategoryHorizontalLeft: Story;
7
+ export declare const PostByCategoryHorizontalRight: Story;
8
+ export declare const PostByCategoryVerticalTop: Story;
9
+ export declare const PostByCategoryVerticalBottom: Story;
@@ -0,0 +1,54 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import Card from "./card";
13
+ import { Dummy_Image, Dummy_Para, Dummy_Subtitle, Dummy_Title, Dummy_Url, } from "../../utils/constants";
14
+ var meta = {
15
+ title: "Components/NewCard/PostByCategory",
16
+ component: Card,
17
+ parameters: {
18
+ layout: "centered",
19
+ },
20
+ };
21
+ export default meta;
22
+ // Base card args
23
+ var baseCardArgs = {
24
+ type: "postByCategory",
25
+ item: {
26
+ image: Dummy_Image,
27
+ title: Dummy_Title,
28
+ description: Dummy_Para,
29
+ subtitle: Dummy_Subtitle,
30
+ },
31
+ image: Dummy_Image,
32
+ href: Dummy_Url,
33
+ btnLabel: "View More",
34
+ editor: {
35
+ card: "",
36
+ cardImage: "",
37
+ cardTitle: "",
38
+ cardText: "",
39
+ cardBtn: "",
40
+ },
41
+ };
42
+ // PostByCategory Card Stories
43
+ export var PostByCategoryHorizontalLeft = {
44
+ args: __assign(__assign({}, baseCardArgs), { orientation: "horizontal", mediaPosition: "left" }),
45
+ };
46
+ export var PostByCategoryHorizontalRight = {
47
+ args: __assign(__assign({}, baseCardArgs), { orientation: "horizontal", mediaPosition: "right" }),
48
+ };
49
+ export var PostByCategoryVerticalTop = {
50
+ args: __assign(__assign({}, baseCardArgs), { orientation: "vertical", mediaPosition: "top" }),
51
+ };
52
+ export var PostByCategoryVerticalBottom = {
53
+ args: __assign(__assign({}, baseCardArgs), { orientation: "vertical", mediaPosition: "bottom" }),
54
+ };
@@ -1,10 +1,11 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from "react";
3
3
  import { PostByCategory } from "./PostByCategory/PostByCategory";
4
- import { ContactProfile } from "./ContactProfile";
5
4
  import { MultiNews } from "./MultiNews";
6
5
  import { SinglePost } from "./SinglePost";
7
6
  import { Dummy_Url } from "../../utils/constants";
7
+ import { PhotoGallery } from "./PhotoGallery";
8
+ import { ContactProfile } from "./contactProfile/ContactProfile";
8
9
  var Card = function (_a) {
9
10
  var item = _a.item, image = _a.image, _b = _a.href, href = _b === void 0 ? Dummy_Url : _b, _c = _a.btnLabel, btnLabel = _c === void 0 ? "View More" : _c, editor = _a.editor, _d = _a.mediaPosition, mediaPosition = _d === void 0 ? "left" : _d, _e = _a.type, type = _e === void 0 ? "postByCategory" : _e, _f = _a.orientation, orientation = _f === void 0 ? "horizontal" : _f;
10
11
  var cardProps = {
@@ -22,6 +23,7 @@ var Card = function (_a) {
22
23
  contactProfile: ContactProfile,
23
24
  multipleNews: MultiNews,
24
25
  singlePost: SinglePost,
26
+ photoGallery: PhotoGallery,
25
27
  };
26
28
  return (_jsx(_Fragment, { children: type && cardComponents[type]
27
29
  ? React.createElement(cardComponents[type], cardProps)
@@ -0,0 +1,2 @@
1
+ import { CardInterface } from "../type";
2
+ export declare const ContactProfile: ({ item, image, href, btnLabel, editor, mediaPosition, orientation, }: CardInterface) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import Link from "next/link";
3
+ import LuImage from "../../Images/LuImage";
4
+ import { Heading } from "../../Typography/Heading/heading";
5
+ import { Body } from "../../Typography/Body/body";
6
+ import { Button } from "../../Button/Button";
7
+ export var ContactProfile = function (_a) {
8
+ var item = _a.item, image = _a.image, href = _a.href, btnLabel = _a.btnLabel, editor = _a.editor, mediaPosition = _a.mediaPosition, orientation = _a.orientation;
9
+ // Normalize mediaPosition based on orientation
10
+ var safeMediaPosition = orientation === "horizontal"
11
+ ? mediaPosition === "left" || mediaPosition === "right"
12
+ ? mediaPosition
13
+ : "right"
14
+ : mediaPosition === "top" || mediaPosition === "bottom"
15
+ ? mediaPosition
16
+ : "top";
17
+ // Common card media component to avoid duplication
18
+ var CardMedia = function (_a) {
19
+ var _b = _a.className, className = _b === void 0 ? "" : _b;
20
+ return (_jsx(LuImage, { src: image, width: 240, height: 240, className: "w-full h-full rounded-full max-w-40 mx-auto aspect-square object-cover ".concat(className, " ").concat(editor === null || editor === void 0 ? void 0 : editor.cardImage), alt: "Image" }));
21
+ };
22
+ // Common content section component
23
+ var CardContent = function (_a) {
24
+ var _b = _a.className, className = _b === void 0 ? "" : _b;
25
+ return (_jsxs("div", { className: "flex flex-col !gap-1 ".concat(className, " "), children: [_jsx(Heading, { variant: "h5-700", className: "".concat(editor === null || editor === void 0 ? void 0 : editor.cardTitle, " capitalize line-clamp-1 !m-0"), children: item === null || item === void 0 ? void 0 : item.title }), _jsx(Body, { variant: "body-md", className: " ".concat(orientation === "horizontal" ? "line-clamp-1" : "line-clamp-2", " ").concat(editor === null || editor === void 0 ? void 0 : editor.cardText), children: item === null || item === void 0 ? void 0 : item.description })] }));
26
+ };
27
+ // Common button component
28
+ var CardButton = function (_a) {
29
+ var _b = _a.className, className = _b === void 0 ? "" : _b;
30
+ return (_jsx(Link, { href: href || "#", passHref: true, children: _jsx(Button, { endIcon: "angle-right", size: "sm", className: "".concat(editor === null || editor === void 0 ? void 0 : editor.cardBtn, " ").concat(className), children: btnLabel }) }));
31
+ };
32
+ // Horizontal layout
33
+ if (orientation === "horizontal") {
34
+ return (_jsxs("div", { className: "!p-5 bg-white rounded-xl grid ".concat(safeMediaPosition === "left" ? "sm:grid-cols-[auto_1fr]" : "sm:grid-cols-[1fr_auto]", " max-w-5xl !gap-10 items-center shadow-lg ").concat(editor === null || editor === void 0 ? void 0 : editor.card), children: [_jsx(CardMedia, { className: "".concat(safeMediaPosition === "right" ? "order-3" : "order-1", " w-full max-w-40 aspect-square object-cover") }), _jsxs("div", { className: "flex flex-col !gap-1 md:!gap-5 text-center sm:!text-left h-full justify-center ".concat(safeMediaPosition === "right" ? "order-1" : "order-2"), children: [_jsx(CardContent, {}), _jsx(CardButton, {})] })] }));
35
+ }
36
+ // Vertical layout
37
+ return (_jsxs("div", { className: "p-8 bg-white rounded-xl flex flex-col !gap-5 max-w-md items-center shadow-lg ".concat(editor === null || editor === void 0 ? void 0 : editor.card), children: [_jsxs("div", { className: "flex w-full ".concat(safeMediaPosition === "top" ? "flex-col" : "flex-col-reverse", " items-center !gap-5 text-center"), children: [_jsx(CardMedia, { className: "w-full h-full aspect-5/4 object-cover" }), _jsx(CardContent, { className: "h-20" })] }), _jsx(CardButton, {})] }));
38
+ };
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import { ContactProfile } from "./ContactProfile";
3
+ declare const meta: Meta<typeof ContactProfile>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof ContactProfile>;
6
+ export declare const ContactProfileHorizontalLeft: Story;
7
+ export declare const ContactProfileHorizontalRight: Story;
8
+ export declare const ContactProfileVerticalTop: Story;
9
+ export declare const ContactProfileVerticalBottom: Story;
@@ -0,0 +1,52 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { Dummy_Image, Dummy_Para, Dummy_Subtitle, Dummy_Title, Dummy_Url, } from "../../../utils/constants";
13
+ import { ContactProfile } from "./ContactProfile";
14
+ var meta = {
15
+ title: "Components/NewCard/ContactProfile",
16
+ component: ContactProfile,
17
+ parameters: {
18
+ layout: "centered",
19
+ },
20
+ };
21
+ export default meta;
22
+ var baseCardArgs = {
23
+ type: "contactProfile",
24
+ item: {
25
+ image: Dummy_Image,
26
+ title: Dummy_Title,
27
+ description: Dummy_Para,
28
+ subtitle: Dummy_Subtitle,
29
+ },
30
+ image: Dummy_Image,
31
+ href: Dummy_Url,
32
+ btnLabel: "View More",
33
+ editor: {
34
+ card: "",
35
+ cardImage: "",
36
+ cardTitle: "",
37
+ cardText: "",
38
+ cardBtn: "",
39
+ },
40
+ };
41
+ export var ContactProfileHorizontalLeft = {
42
+ args: __assign(__assign({}, baseCardArgs), { orientation: "horizontal", mediaPosition: "left" }),
43
+ };
44
+ export var ContactProfileHorizontalRight = {
45
+ args: __assign(__assign({}, baseCardArgs), { orientation: "horizontal", mediaPosition: "right" }),
46
+ };
47
+ export var ContactProfileVerticalTop = {
48
+ args: __assign(__assign({}, baseCardArgs), { orientation: "vertical", mediaPosition: "top" }),
49
+ };
50
+ export var ContactProfileVerticalBottom = {
51
+ args: __assign(__assign({}, baseCardArgs), { orientation: "vertical", mediaPosition: "bottom" }),
52
+ };
@@ -5,6 +5,7 @@ export interface EditorInterface {
5
5
  cardText?: string;
6
6
  cardBtn?: string;
7
7
  cardSubtitle?: string;
8
+ cardOverlay?: string;
8
9
  }
9
10
  export interface CardDataProps {
10
11
  image?: string;
@@ -19,6 +20,7 @@ export interface CardInterface {
19
20
  href?: string;
20
21
  btnLabel?: string;
21
22
  editor?: EditorInterface;
22
- type?: "postByCategory" | "contactProfile" | "multipleNews" | "singlePost";
23
+ type?: "postByCategory" | "contactProfile" | "multipleNews" | "singlePost" | "photoGallery";
23
24
  orientation?: "horizontal" | "vertical";
25
+ altText?: string;
24
26
  }
@@ -0,0 +1,9 @@
1
+ import { VariantProps } from "class-variance-authority";
2
+ import React from "react";
3
+ import { labelVariants } from "../ui/label";
4
+ export interface LabelProps extends React.HTMLAttributes<HTMLLabelElement> {
5
+ htmlFor?: string;
6
+ className?: string;
7
+ children: React.ReactNode;
8
+ variant?: VariantProps<typeof labelVariants>["variant"];
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -34,7 +34,7 @@ function AccordionItem(_a) {
34
34
  }
35
35
  function AccordionTrigger(_a) {
36
36
  var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
37
- return (_jsx(AccordionPrimitive.Header, { className: "flex", children: _jsxs(AccordionPrimitive.Trigger, __assign({ "data-slot": "accordion-trigger", className: cn("focus-visible:border-ring focus-visible:ring-ring/50 bg-primary flex flex-1 items-start justify-between !rounded-md !py-2 !text-left !text-sm !font-normal transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>.luIcon-wrapper]:rotate-180", className) }, props, { children: [children, _jsx(IconButton, { color: "blue-light", icon: "angle-down", size: "sm", className: "pointer-events-none shrink-0 transition-transform duration-200" })] })) }));
37
+ return (_jsx(AccordionPrimitive.Header, { className: "flex", children: _jsxs(AccordionPrimitive.Trigger, __assign({ "data-slot": "accordion-trigger", className: cn("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between !rounded-md !py-2 !text-left !text-sm !font-normal transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>.luIcon-wrapper]:rotate-180", className) }, props, { children: [children, _jsx(IconButton, { color: "blue-light", icon: "angle-down", size: "sm", className: "pointer-events-none shrink-0 transition-transform duration-200" })] })) }));
38
38
  }
39
39
  function AccordionContent(_a) {
40
40
  var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import * as LabelPrimitive from "@radix-ui/react-label";
3
+ import { type VariantProps } from "class-variance-authority";
4
+ export declare const variant: {
5
+ default: string;
6
+ editorLabel: string;
7
+ };
8
+ declare const labelVariants: (props?: ({
9
+ variant?: "default" | "editorLabel" | null | undefined;
10
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
+ declare function Label({ className, variant, ...props }: React.ComponentProps<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>): import("react/jsx-runtime").JSX.Element;
12
+ export { Label, labelVariants };
@@ -0,0 +1,41 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import * as LabelPrimitive from "@radix-ui/react-label";
25
+ import { cva } from "class-variance-authority";
26
+ import { cn } from "../../lib/utils";
27
+ export var variant = {
28
+ default: "!text-base leading-none !font-medium",
29
+ editorLabel: "!text-lg !font-medium leading-[1.5] !mb-1",
30
+ };
31
+ var labelVariants = cva("flex items-center !gap-2 select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", {
32
+ variants: { variant: variant },
33
+ defaultVariants: {
34
+ variant: "default",
35
+ },
36
+ });
37
+ function Label(_a) {
38
+ var className = _a.className, variant = _a.variant, props = __rest(_a, ["className", "variant"]);
39
+ return (_jsx(LabelPrimitive.Root, __assign({ "data-slot": "label", className: cn(labelVariants({ variant: variant, className: className })) }, props)));
40
+ }
41
+ export { Label, labelVariants };
@@ -8,6 +8,7 @@
8
8
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
9
9
  "Courier New", monospace;
10
10
  --spacing: 0.25rem;
11
+ --container-md: 28rem;
11
12
  --container-5xl: 64rem;
12
13
  --text-xs: 0.75rem;
13
14
  --text-xs--line-height: calc(1 / 0.75);
@@ -48,6 +49,7 @@
48
49
  --radius-xl: 0.75rem;
49
50
  --radius-2xl: 1rem;
50
51
  --radius-3xl: 1.5rem;
52
+ --ease-out: cubic-bezier(0, 0, 0.2, 1);
51
53
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
52
54
  --default-transition-duration: 150ms;
53
55
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
@@ -210,9 +212,15 @@
210
212
  .relative {
211
213
  position: relative;
212
214
  }
215
+ .inset-0 {
216
+ inset: calc(var(--spacing) * 0);
217
+ }
213
218
  .top-1\/2 {
214
219
  top: calc(1/2 * 100%);
215
220
  }
221
+ .bottom-4 {
222
+ bottom: calc(var(--spacing) * 4);
223
+ }
216
224
  .left-1 {
217
225
  left: calc(var(--spacing) * 1);
218
226
  }
@@ -222,6 +230,12 @@
222
230
  .order-1 {
223
231
  order: 1;
224
232
  }
233
+ .order-2 {
234
+ order: 2;
235
+ }
236
+ .order-3 {
237
+ order: 3;
238
+ }
225
239
  .order-last {
226
240
  order: 9999;
227
241
  }
@@ -258,6 +272,9 @@
258
272
  .\!mx-auto {
259
273
  margin-inline: auto !important;
260
274
  }
275
+ .mx-auto {
276
+ margin-inline: auto;
277
+ }
261
278
  .\!mt-2 {
262
279
  margin-top: calc(var(--spacing) * 2) !important;
263
280
  }
@@ -534,18 +551,21 @@
534
551
  .max-w-5xl {
535
552
  max-width: var(--container-5xl);
536
553
  }
554
+ .max-w-40 {
555
+ max-width: calc(var(--spacing) * 40);
556
+ }
537
557
  .max-w-\[160px\] {
538
558
  max-width: 160px;
539
559
  }
540
560
  .max-w-\[240px\] {
541
561
  max-width: 240px;
542
562
  }
543
- .max-w-\[365px\] {
544
- max-width: 365px;
545
- }
546
563
  .max-w-\[480px\] {
547
564
  max-width: 480px;
548
565
  }
566
+ .max-w-md {
567
+ max-width: var(--container-md);
568
+ }
549
569
  .min-w-0 {
550
570
  min-width: calc(var(--spacing) * 0);
551
571
  }
@@ -632,6 +652,9 @@
632
652
  .\!gap-5 {
633
653
  gap: calc(var(--spacing) * 5) !important;
634
654
  }
655
+ .\!gap-10 {
656
+ gap: calc(var(--spacing) * 10) !important;
657
+ }
635
658
  .gap-1 {
636
659
  gap: calc(var(--spacing) * 1);
637
660
  }
@@ -647,9 +670,6 @@
647
670
  .gap-6 {
648
671
  gap: calc(var(--spacing) * 6);
649
672
  }
650
- .gap-10 {
651
- gap: calc(var(--spacing) * 10);
652
- }
653
673
  .space-y-2 {
654
674
  :where(& > :not(:last-child)) {
655
675
  --tw-space-y-reverse: 0;
@@ -777,6 +797,9 @@
777
797
  .bg-background {
778
798
  background-color: var(--background);
779
799
  }
800
+ .bg-black\/40 {
801
+ background-color: color-mix(in oklab, #0f0f0f 40%, transparent);
802
+ }
780
803
  .bg-blue-50 {
781
804
  background-color: #fbfcfe;
782
805
  }
@@ -912,9 +935,6 @@
912
935
  .bg-muted {
913
936
  background-color: var(--muted);
914
937
  }
915
- .bg-primary {
916
- background-color: var(--primary);
917
- }
918
938
  .bg-red-50 {
919
939
  background-color: #fffafa;
920
940
  }
@@ -987,6 +1007,21 @@
987
1007
  .bg-yellow-950 {
988
1008
  background-color: #473800;
989
1009
  }
1010
+ .bg-linear-to-t {
1011
+ --tw-gradient-position: to top;
1012
+ @supports (background-image: linear-gradient(in lab, red, red)) {
1013
+ --tw-gradient-position: to top in oklab;
1014
+ }
1015
+ background-image: linear-gradient(var(--tw-gradient-stops));
1016
+ }
1017
+ .from-black {
1018
+ --tw-gradient-from: #0f0f0f;
1019
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1020
+ }
1021
+ .to-transparent {
1022
+ --tw-gradient-to: transparent;
1023
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1024
+ }
990
1025
  .\!fill-primary {
991
1026
  fill: var(--primary) !important;
992
1027
  }
@@ -1451,6 +1486,9 @@
1451
1486
  .capitalize {
1452
1487
  text-transform: capitalize;
1453
1488
  }
1489
+ .uppercase {
1490
+ text-transform: uppercase;
1491
+ }
1454
1492
  .no-underline {
1455
1493
  text-decoration-line: none;
1456
1494
  }
@@ -1515,6 +1553,11 @@
1515
1553
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1516
1554
  transition-duration: var(--tw-duration, var(--default-transition-duration));
1517
1555
  }
1556
+ .transition-opacity {
1557
+ transition-property: opacity;
1558
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1559
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1560
+ }
1518
1561
  .transition-shadow {
1519
1562
  transition-property: box-shadow;
1520
1563
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -1536,10 +1579,18 @@
1536
1579
  --tw-duration: 200ms;
1537
1580
  transition-duration: 200ms;
1538
1581
  }
1582
+ .duration-300 {
1583
+ --tw-duration: 300ms;
1584
+ transition-duration: 300ms;
1585
+ }
1539
1586
  .ease-in-out {
1540
1587
  --tw-ease: var(--ease-in-out);
1541
1588
  transition-timing-function: var(--ease-in-out);
1542
1589
  }
1590
+ .ease-out {
1591
+ --tw-ease: var(--ease-out);
1592
+ transition-timing-function: var(--ease-out);
1593
+ }
1543
1594
  .\!zoom-in-95 {
1544
1595
  --tw-enter-scale: calc(95*1%) !important;
1545
1596
  --tw-enter-scale: .95 !important;
@@ -1559,6 +1610,13 @@
1559
1610
  .running {
1560
1611
  animation-play-state: running;
1561
1612
  }
1613
+ .group-hover\:\!opacity-100 {
1614
+ &:is(:where(.group):hover *) {
1615
+ @media (hover: hover) {
1616
+ opacity: 100% !important;
1617
+ }
1618
+ }
1619
+ }
1562
1620
  .group-data-\[disabled\=true\]\:pointer-events-none {
1563
1621
  &:is(:where(.group)[data-disabled="true"] *) {
1564
1622
  pointer-events: none;
@@ -2999,11 +3057,6 @@
2999
3057
  margin-top: 7px;
3000
3058
  }
3001
3059
  }
3002
- .max-sm\:w-full {
3003
- @media (width < 40rem) {
3004
- width: 100%;
3005
- }
3006
- }
3007
3060
  .sm\:col-span-2 {
3008
3061
  @media (width >= 40rem) {
3009
3062
  grid-column: span 2 / span 2;
@@ -3024,6 +3077,16 @@
3024
3077
  grid-template-columns: repeat(4, minmax(0, 1fr));
3025
3078
  }
3026
3079
  }
3080
+ .sm\:grid-cols-\[1fr_auto\] {
3081
+ @media (width >= 40rem) {
3082
+ grid-template-columns: 1fr auto;
3083
+ }
3084
+ }
3085
+ .sm\:grid-cols-\[auto_1fr\] {
3086
+ @media (width >= 40rem) {
3087
+ grid-template-columns: auto 1fr;
3088
+ }
3089
+ }
3027
3090
  .sm\:\!text-left {
3028
3091
  @media (width >= 40rem) {
3029
3092
  text-align: left !important;
@@ -3254,6 +3317,48 @@
3254
3317
  inherits: false;
3255
3318
  initial-value: solid;
3256
3319
  }
3320
+ @property --tw-gradient-position {
3321
+ syntax: "*";
3322
+ inherits: false;
3323
+ }
3324
+ @property --tw-gradient-from {
3325
+ syntax: "<color>";
3326
+ inherits: false;
3327
+ initial-value: #0000;
3328
+ }
3329
+ @property --tw-gradient-via {
3330
+ syntax: "<color>";
3331
+ inherits: false;
3332
+ initial-value: #0000;
3333
+ }
3334
+ @property --tw-gradient-to {
3335
+ syntax: "<color>";
3336
+ inherits: false;
3337
+ initial-value: #0000;
3338
+ }
3339
+ @property --tw-gradient-stops {
3340
+ syntax: "*";
3341
+ inherits: false;
3342
+ }
3343
+ @property --tw-gradient-via-stops {
3344
+ syntax: "*";
3345
+ inherits: false;
3346
+ }
3347
+ @property --tw-gradient-from-position {
3348
+ syntax: "<length-percentage>";
3349
+ inherits: false;
3350
+ initial-value: 0%;
3351
+ }
3352
+ @property --tw-gradient-via-position {
3353
+ syntax: "<length-percentage>";
3354
+ inherits: false;
3355
+ initial-value: 50%;
3356
+ }
3357
+ @property --tw-gradient-to-position {
3358
+ syntax: "<length-percentage>";
3359
+ inherits: false;
3360
+ initial-value: 100%;
3361
+ }
3257
3362
  @property --tw-leading {
3258
3363
  syntax: "*";
3259
3364
  inherits: false;
@@ -3425,6 +3530,15 @@
3425
3530
  --tw-space-y-reverse: 0;
3426
3531
  --tw-space-x-reverse: 0;
3427
3532
  --tw-border-style: solid;
3533
+ --tw-gradient-position: initial;
3534
+ --tw-gradient-from: #0000;
3535
+ --tw-gradient-via: #0000;
3536
+ --tw-gradient-to: #0000;
3537
+ --tw-gradient-stops: initial;
3538
+ --tw-gradient-via-stops: initial;
3539
+ --tw-gradient-from-position: 0%;
3540
+ --tw-gradient-via-position: 50%;
3541
+ --tw-gradient-to-position: 100%;
3428
3542
  --tw-leading: initial;
3429
3543
  --tw-font-weight: initial;
3430
3544
  --tw-shadow: 0 0 #0000;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linkedunion-design-kit",
3
- "version": "1.7.0",
3
+ "version": "1.7.2",
4
4
  "private": false,
5
5
  "files": [
6
6
  "dist",