linkedunion-design-kit 1.9.2 → 1.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/dist/app/layout.jsx +13 -0
  2. package/dist/app/page.jsx +25 -0
  3. package/dist/build/types/app/layout.d.ts +12 -0
  4. package/dist/build/types/app/layout.js +22 -0
  5. package/dist/build/types/app/page.d.ts +12 -0
  6. package/dist/build/types/app/page.js +22 -0
  7. package/dist/index.d.ts +3 -0
  8. package/dist/index.js +3 -0
  9. package/dist/src/components/Accordion/Accordion.stories.jsx +33 -0
  10. package/dist/src/components/Accordion/accordion.jsx +59 -0
  11. package/dist/src/components/Alerts/Alert/alert.jsx +152 -0
  12. package/dist/src/components/Alerts/Alert/alert.stories.jsx +344 -0
  13. package/dist/src/components/Alerts/AlertDialog/alert-dialog.jsx +170 -0
  14. package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.jsx +552 -0
  15. package/dist/src/components/AppIcons/AndroidIcon.jsx +24 -0
  16. package/dist/src/components/AppIcons/AppIcon.jsx +29 -0
  17. package/dist/src/components/AppIcons/AppIcon.stories.jsx +223 -0
  18. package/dist/src/components/AppIcons/AppleIcon.jsx +31 -0
  19. package/dist/src/components/AppIcons/PlayStoreIcon.jsx +29 -0
  20. package/dist/src/components/Avatar/Avatar/Avatar.jsx +45 -0
  21. package/dist/src/components/Avatar/Avatar/Avatar.stories.jsx +95 -0
  22. package/dist/src/components/Avatar/Avatar/Avatar.test.jsx +9 -0
  23. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.jsx +17 -0
  24. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.jsx +32 -0
  25. package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.jsx +20 -0
  26. package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.stories.jsx +50 -0
  27. package/dist/src/components/Badge/Badge.jsx +54 -0
  28. package/dist/src/components/Badge/Badge.stories.jsx +201 -0
  29. package/dist/src/components/Button/Button/Button.d.ts +7 -6
  30. package/dist/src/components/Button/Button/Button.js +32 -9
  31. package/dist/src/components/Button/Button/Button.jsx +101 -0
  32. package/dist/src/components/Button/Button/Button.stories.jsx +283 -0
  33. package/dist/src/components/Button/Button/Button.test.jsx +73 -0
  34. package/dist/src/components/Button/IconButton/IconButton.jsx +63 -0
  35. package/dist/src/components/Button/IconButton/IconButton.stories.jsx +128 -0
  36. package/dist/src/components/Button/IconButton/IconButton.test.jsx +28 -0
  37. package/dist/src/components/Button/index.js +1 -1
  38. package/dist/src/components/Card/MultipleNews/MultiNews.jsx +80 -0
  39. package/dist/src/components/Card/MultipleNews/MultiNews.stories.jsx +104 -0
  40. package/dist/src/components/Card/PostByCategory/PostByCategory.jsx +60 -0
  41. package/dist/src/components/Card/PostByCategory/PostByCategory.stories.jsx +106 -0
  42. package/dist/src/components/Card/SinglePost/SinglePost.jsx +26 -0
  43. package/dist/src/components/Card/SinglePost/SinglePost.stories.jsx +68 -0
  44. package/dist/src/components/Card/card.jsx +36 -0
  45. package/dist/src/components/Card/contactProfile/ContactProfile.jsx +60 -0
  46. package/dist/src/components/Card/contactProfile/ContactProfile.stories.jsx +103 -0
  47. package/dist/src/components/Card/photoAlbum/PhotoAlbum.jsx +41 -0
  48. package/dist/src/components/Card/photoAlbum/PhotoAlbum.stories.jsx +69 -0
  49. package/dist/src/components/Card/photoGallery/PhotoGallery.jsx +17 -0
  50. package/dist/src/components/Card/photoGallery/PhotoGallery.stories.jsx +39 -0
  51. package/dist/src/components/Checkbox/checkbox.jsx +47 -0
  52. package/dist/src/components/Checkbox/checkbox.stories.jsx +113 -0
  53. package/dist/src/components/ColorPicker/ColorPicker.jsx +67 -0
  54. package/dist/src/components/ColorPicker/ColorPicker.stories.jsx +138 -0
  55. package/dist/src/components/Colors/color.jsx +5 -0
  56. package/dist/src/components/Colors/color.stories.jsx +20 -0
  57. package/dist/src/components/Colors/color.test.jsx +23 -0
  58. package/dist/src/components/Dropdown/Combobox/Combobox.jsx +198 -0
  59. package/dist/src/components/Dropdown/Combobox/Combobox.stories.jsx +289 -0
  60. package/dist/src/components/Dropdown/Combobox/utils/renderBadge.jsx +7 -0
  61. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.jsx +102 -0
  62. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.jsx +464 -0
  63. package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.jsx +19 -0
  64. package/dist/src/components/Dropdown/Select.stories.jsx +201 -0
  65. package/dist/src/components/Dropdown/select.jsx +93 -0
  66. package/dist/src/components/Icons/LUIcon.jsx +41 -0
  67. package/dist/src/components/Icons/LUIcon.test.jsx +308 -0
  68. package/dist/src/components/Icons/stories/IconDropdown.jsx +67 -0
  69. package/dist/src/components/Icons/stories/IconGallery.jsx +77 -0
  70. package/dist/src/components/Icons/stories/InteractiveIconSelector.jsx +86 -0
  71. package/dist/src/components/Icons/stories/LUIcon.stories.jsx +108 -0
  72. package/dist/src/components/ImageUploader/ImageUploader.stories.jsx +50 -0
  73. package/dist/src/components/ImageUploader/imageUploader.jsx +94 -0
  74. package/dist/src/components/Images/LuImage.jsx +19 -0
  75. package/dist/src/components/Images/LuImage.stories.jsx +154 -0
  76. package/dist/src/components/Images/LuImage.test.jsx +44 -0
  77. package/dist/src/components/Input/Input.stories.jsx +250 -0
  78. package/dist/src/components/Input/input.jsx +110 -0
  79. package/dist/src/components/Label/Label.jsx +32 -0
  80. package/dist/src/components/Label/Label.stories.jsx +30 -0
  81. package/dist/src/components/Pagination/pagination.d.ts +33 -0
  82. package/dist/src/components/Pagination/pagination.js +68 -0
  83. package/dist/src/components/Pagination/pagination.jsx +68 -0
  84. package/dist/src/components/Pagination/pagination.stories.d.ts +74 -0
  85. package/dist/src/components/Pagination/pagination.stories.js +168 -0
  86. package/dist/src/components/Pagination/pagination.stories.jsx +114 -0
  87. package/dist/src/components/RadioGroup/RadioGroup.stories.jsx +146 -0
  88. package/dist/src/components/RadioGroup/radio-group.jsx +49 -0
  89. package/dist/src/components/Skeleton/skeleton.d.ts +117 -0
  90. package/dist/src/components/Skeleton/skeleton.js +140 -0
  91. package/dist/src/components/Skeleton/skeleton.stories.d.ts +153 -0
  92. package/dist/src/components/Skeleton/skeleton.stories.js +404 -0
  93. package/dist/src/components/Slider/Slider.stories.jsx +159 -0
  94. package/dist/src/components/Slider/slider.jsx +31 -0
  95. package/dist/src/components/SweetAlert/SweetAlert.jsx +147 -0
  96. package/dist/src/components/SweetAlert/SweetAlert.stories.jsx +505 -0
  97. package/dist/src/components/Switch/Switch.stories.jsx +66 -0
  98. package/dist/src/components/Switch/switch.jsx +61 -0
  99. package/dist/src/components/Table/Table.d.ts +26 -0
  100. package/dist/src/components/Table/Table.js +186 -0
  101. package/dist/src/components/Table/Table.jsx +221 -0
  102. package/dist/src/components/Table/Table.stories.d.ts +51 -0
  103. package/dist/src/components/Table/Table.stories.js +408 -0
  104. package/dist/src/components/Table/Table.stories.jsx +652 -0
  105. package/dist/src/components/Table/index.d.ts +20 -0
  106. package/dist/src/components/Table/index.js +20 -0
  107. package/dist/src/components/Tabs/Tabs.stories.jsx +29 -0
  108. package/dist/src/components/Tabs/tabs.jsx +32 -0
  109. package/dist/src/components/Title/Title.jsx +8 -0
  110. package/dist/src/components/Title/Title.stories.jsx +37 -0
  111. package/dist/src/components/Title/Title.test.jsx +24 -0
  112. package/dist/src/components/ToolTip/Tooltip.jsx +18 -0
  113. package/dist/src/components/ToolTip/Tooltip.stories.jsx +25 -0
  114. package/dist/src/components/Typography/Body/Body.stories.jsx +34 -0
  115. package/dist/src/components/Typography/Body/body.jsx +52 -0
  116. package/dist/src/components/Typography/Caption/Caption.stories.jsx +24 -0
  117. package/dist/src/components/Typography/Caption/caption.jsx +25 -0
  118. package/dist/src/components/Typography/Display/Display.stories.jsx +24 -0
  119. package/dist/src/components/Typography/Display/display.jsx +39 -0
  120. package/dist/src/components/Typography/Heading/Heading.stories.jsx +37 -0
  121. package/dist/src/components/Typography/Heading/heading.jsx +53 -0
  122. package/dist/src/components/ui/avatar.d.ts +3 -10
  123. package/dist/src/components/ui/avatar.js +12 -27
  124. package/dist/src/components/ui/avatar.jsx +27 -0
  125. package/dist/src/components/ui/button.d.ts +10 -0
  126. package/dist/src/components/ui/button.js +56 -0
  127. package/dist/src/components/ui/button.jsx +45 -0
  128. package/dist/src/components/ui/collapsible.d.ts +5 -0
  129. package/dist/src/components/ui/collapsible.js +5 -0
  130. package/dist/src/components/ui/collapsible.jsx +5 -0
  131. package/dist/src/components/ui/command.jsx +67 -0
  132. package/dist/src/components/ui/dialog.jsx +66 -0
  133. package/dist/src/components/ui/popover.jsx +33 -0
  134. package/dist/src/components/ui/tooltip.jsx +38 -0
  135. package/dist/src/components/ui/typography.jsx +56 -0
  136. package/dist/src/utils/iconList.d.ts +4 -0
  137. package/dist/src/utils/iconList.js +4 -0
  138. package/dist/styles/global.css +139 -0
  139. package/package.json +1 -1
  140. package/dist/src/components/Avatar/Avatar/Avatar1.stories.d.ts +0 -17
  141. package/dist/src/components/Avatar/Avatar/Avatar1.stories.js +0 -68
@@ -0,0 +1,13 @@
1
+ import { Inter } from "next/font/google";
2
+ import "@/styles/globals.css";
3
+ var inter = Inter({ subsets: ["latin"] });
4
+ export var metadata = {
5
+ title: "Create Next App",
6
+ description: "Generated by create next app",
7
+ };
8
+ export default function RootLayout(_a) {
9
+ var children = _a.children;
10
+ return (<html lang="en">
11
+ <body className={inter.className}>{children}</body>
12
+ </html>);
13
+ }
@@ -0,0 +1,25 @@
1
+ "use client";
2
+ import { Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationPrevious, PaginationNext, } from "../src/components/Pagination/pagination";
3
+ var range = function (start, end) {
4
+ return Array.from({ length: end - start + 1 }, function (_, i) { return start + i; });
5
+ };
6
+ export default function Home() {
7
+ return (<div className="text-center flex flex-col items-center justify-center min-h-screen p-24 gap-5">
8
+ <h1> Welcome to Linkedunion Design kit</h1>
9
+ <Pagination>
10
+ <PaginationContent>
11
+ <PaginationItem>
12
+ <PaginationPrevious href="#"/>
13
+ </PaginationItem>
14
+ {range(1, 5).map(function (page) { return (<PaginationItem key={page}>
15
+ <PaginationLink href="#" isActive={page === 1}>
16
+ {page}
17
+ </PaginationLink>
18
+ </PaginationItem>); })}
19
+ <PaginationItem>
20
+ <PaginationNext href="#"/>
21
+ </PaginationItem>
22
+ </PaginationContent>
23
+ </Pagination>
24
+ </div>);
25
+ }
@@ -0,0 +1,12 @@
1
+ type SegmentParams<T extends Object = any> = T extends Record<string, any> ? {
2
+ [K in keyof T]: T[K] extends string ? string | string[] | undefined : never;
3
+ } : T;
4
+ export interface PageProps {
5
+ params?: Promise<SegmentParams>;
6
+ searchParams?: Promise<any>;
7
+ }
8
+ export interface LayoutProps {
9
+ children?: React.ReactNode;
10
+ params?: Promise<SegmentParams>;
11
+ }
12
+ export {};
@@ -0,0 +1,22 @@
1
+ // File: /Users/sameersultan/Desktop/linkedunion-design-kit/app/layout.tsx
2
+ import * as entry from '../../../app/layout.js';
3
+ // Check that the entry is a valid entry
4
+ checkFields();
5
+ // Check the prop type of the entry function
6
+ checkFields();
7
+ // Check the arguments and return type of the generateMetadata function
8
+ if ('generateMetadata' in entry) {
9
+ checkFields();
10
+ checkFields();
11
+ }
12
+ // Check the arguments and return type of the generateViewport function
13
+ if ('generateViewport' in entry) {
14
+ checkFields();
15
+ checkFields();
16
+ }
17
+ // Check the arguments and return type of the generateStaticParams function
18
+ if ('generateStaticParams' in entry) {
19
+ checkFields();
20
+ checkFields();
21
+ }
22
+ function checkFields() { }
@@ -0,0 +1,12 @@
1
+ type SegmentParams<T extends Object = any> = T extends Record<string, any> ? {
2
+ [K in keyof T]: T[K] extends string ? string | string[] | undefined : never;
3
+ } : T;
4
+ export interface PageProps {
5
+ params?: Promise<SegmentParams>;
6
+ searchParams?: Promise<any>;
7
+ }
8
+ export interface LayoutProps {
9
+ children?: React.ReactNode;
10
+ params?: Promise<SegmentParams>;
11
+ }
12
+ export {};
@@ -0,0 +1,22 @@
1
+ // File: /Users/sameersultan/Desktop/linkedunion-design-kit/app/page.tsx
2
+ import * as entry from '../../../app/page.js';
3
+ // Check that the entry is a valid entry
4
+ checkFields();
5
+ // Check the prop type of the entry function
6
+ checkFields();
7
+ // Check the arguments and return type of the generateMetadata function
8
+ if ('generateMetadata' in entry) {
9
+ checkFields();
10
+ checkFields();
11
+ }
12
+ // Check the arguments and return type of the generateViewport function
13
+ if ('generateViewport' in entry) {
14
+ checkFields();
15
+ checkFields();
16
+ }
17
+ // Check the arguments and return type of the generateStaticParams function
18
+ if ('generateStaticParams' in entry) {
19
+ checkFields();
20
+ checkFields();
21
+ }
22
+ function checkFields() { }
package/dist/index.d.ts CHANGED
@@ -24,3 +24,6 @@ export { Tabs, TabsList, TabsTrigger, TabsContent, } from "./src/components/Tabs
24
24
  export { Select, SelectTrigger, SelectContent, SelectItem, SelectGroup, SelectLabel, SelectSeparator, SelectValue, } from "./src/components/Dropdown/select";
25
25
  export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, } from "./src/components/Alerts/AlertDialog";
26
26
  export { Avatar, AvatarImage, AvatarFallback, } from "./src/components/Avatar/Avatar/Avatar";
27
+ export { Table, TableHeader, TableBody, TableRow, TableHead, TableCell, TableCaption, } from "./src/components/Table/Table";
28
+ export { Badge } from "./src/components/Badge/Badge";
29
+ export { default as Combobox } from "./src/components/Dropdown/Combobox/Combobox";
package/dist/index.js CHANGED
@@ -24,3 +24,6 @@ export { Tabs, TabsList, TabsTrigger, TabsContent, } from "./src/components/Tabs
24
24
  export { Select, SelectTrigger, SelectContent, SelectItem, SelectGroup, SelectLabel, SelectSeparator, SelectValue, } from "./src/components/Dropdown/select";
25
25
  export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, } from "./src/components/Alerts/AlertDialog";
26
26
  export { Avatar, AvatarImage, AvatarFallback, } from "./src/components/Avatar/Avatar/Avatar";
27
+ export { Table, TableHeader, TableBody, TableRow, TableHead, TableCell, TableCaption, } from "./src/components/Table/Table";
28
+ export { Badge } from "./src/components/Badge/Badge";
29
+ export { default as Combobox } from "./src/components/Dropdown/Combobox/Combobox";
@@ -0,0 +1,33 @@
1
+ import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "../../components/Accordion/accordion";
2
+ import ColorPicker from "../ColorPicker/ColorPicker";
3
+ export default {
4
+ title: "Components/Accordion",
5
+ component: Accordion,
6
+ tags: ["autodocs"],
7
+ };
8
+ var Template = function (args) { return (<Accordion type="single" collapsible defaultValue="menus" {...args}></Accordion>); };
9
+ export var _Accordion = Template.bind({});
10
+ _Accordion.args = {
11
+ children: (<>
12
+ <AccordionItem value="menus">
13
+ <AccordionTrigger>Menus</AccordionTrigger>
14
+ <AccordionContent>
15
+ <ColorPicker value="#000000" onChange={function () { return console.log("color"); }}/>
16
+ </AccordionContent>
17
+ </AccordionItem>
18
+ <AccordionItem value="second">
19
+ <AccordionTrigger>Menus</AccordionTrigger>
20
+ <AccordionContent>
21
+ <ColorPicker value="#000000" onChange={function () { return console.log("color"); }}/>
22
+ </AccordionContent>
23
+ </AccordionItem>
24
+ </>),
25
+ };
26
+ _Accordion.argTypes = {
27
+ children: {
28
+ description: "Pass `AccordionItem` components as children. Each item includes an `AccordionTrigger` (the clickable label) and `AccordionContent` (collapsible body). You can customize both with any valid React nodes \n\nFor more details and usage examples, refer to the [ShadCN Accordion documentation](https://ui.shadcn.com/docs/components/accordion).",
29
+ table: {
30
+ type: { summary: "React.ReactNode" },
31
+ },
32
+ },
33
+ };
@@ -0,0 +1,59 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import * as React from "react";
13
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
14
+ import { cn } from "../../lib/utils";
15
+ import LUIcon from "../Icons/LUIcon";
16
+ function Accordion(_a) {
17
+ var props = __rest(_a, []);
18
+ return <AccordionPrimitive.Root data-slot="accordion" {...props}/>;
19
+ }
20
+ function AccordionItem(_a) {
21
+ var className = _a.className, props = __rest(_a, ["className"]);
22
+ return (<AccordionPrimitive.Item data-slot="accordion-item" className={cn("!py-5 !border-b last:!border-b !border-gray-100", className)} {...props}/>);
23
+ }
24
+ function AccordionTrigger(_a) {
25
+ var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
26
+ var ref = React.useRef(null);
27
+ var _b = React.useState(false), isOpen = _b[0], setIsOpen = _b[1];
28
+ React.useEffect(function () {
29
+ var updateOpenState = function () {
30
+ if (ref.current) {
31
+ var state = ref.current.getAttribute("data-state");
32
+ setIsOpen(state === "open");
33
+ }
34
+ };
35
+ updateOpenState();
36
+ // Create a mutation observer to watch for attribute changes
37
+ var observer = new MutationObserver(updateOpenState);
38
+ if (ref.current) {
39
+ observer.observe(ref.current, {
40
+ attributes: true,
41
+ attributeFilter: ["data-state"],
42
+ });
43
+ }
44
+ return function () { return observer.disconnect(); };
45
+ }, []);
46
+ return (<AccordionPrimitive.Header className="flex">
47
+ <AccordionPrimitive.Trigger ref={ref} data-slot="accordion-trigger" className={cn("flex items-center gap-2 cursor-pointer !text-sm !font-normal !leading-normal grow m-0", className)} {...props}>
48
+ <LUIcon color="light-gray" icon={isOpen ? "minus" : "plus"} size="md" className="pointer-events-none shrink-0"/>
49
+ {children}
50
+ </AccordionPrimitive.Trigger>
51
+ </AccordionPrimitive.Header>);
52
+ }
53
+ function AccordionContent(_a) {
54
+ var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
55
+ return (<AccordionPrimitive.Content data-slot="accordion-content" className="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down !overflow-visible !text-sm !py-2" {...props}>
56
+ <div className={cn(className)}>{children}</div>
57
+ </AccordionPrimitive.Content>);
58
+ }
59
+ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
@@ -0,0 +1,152 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import * as React from "react";
13
+ import { createContext, useContext, Children, isValidElement, cloneElement, } from "react";
14
+ import { cva } from "class-variance-authority";
15
+ import { cn } from "../../../lib/utils";
16
+ import LUIcon from "../../Icons/LUIcon";
17
+ import { Button } from "../../Button/Button/Button";
18
+ var alertVariants = cva("grid w-full gap-4 rounded-lg border-l-4 p-4", {
19
+ variants: {
20
+ size: {
21
+ lg: "[&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-size)]:size-9 gap-4 [&_h2[data-slot='alert-dialog-title']]:text-2xl [&_h2[data-slot='alert-dialog-title']]:font-medium [&_p[data-slot='alert-dialog-description']]:text-lg [&_p[data-slot='alert-dialog-description']]:font-normal",
22
+ md: "[&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-size)]:size-8 gap-3 [&_h2[data-slot='alert-dialog-title']]:text-xl [&_h2[data-slot='alert-dialog-title']]:font-medium [&_p[data-slot='alert-dialog-description']]:text-base [&_p[data-slot='alert-dialog-description']]:font-normal",
23
+ sm: "[&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-size)]:size-7 gap-2 [&_h2[data-slot='alert-dialog-title']]:text-lg [&_h2[data-slot='alert-dialog-title']]:font-medium [&_p[data-slot='alert-dialog-description']]:text-sm [&_p[data-slot='alert-dialog-description']]:font-normal",
24
+ },
25
+ shadow: {
26
+ none: "",
27
+ lg: "shadow-lg",
28
+ },
29
+ color: {
30
+ blue: "bg-gray-50 text-blue-900 border-blue-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-blue-600 [&_h2[data-slot='alert-dialog-title']]:text-blue-600",
31
+ red: "bg-gray-50 text-red-900 border-red-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-red-600 [&_h2[data-slot='alert-dialog-title']]:text-red-600",
32
+ indigo: "bg-gray-50 text-indigo-900 border-indigo-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-indigo-600 [&_h2[data-slot='alert-dialog-title']]:text-indigo-600",
33
+ yellow: "bg-gray-50 text-yellow-900 border-yellow-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-yellow-600 [&_h2[data-slot='alert-dialog-title']]:text-yellow-600",
34
+ green: "bg-gray-50 text-green-900 border-green-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-green-600 [&_h2[data-slot='alert-dialog-title']]:text-green-600",
35
+ gray: "bg-gray-50 text-gray-900 border-gray-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-gray-600 [&_h2[data-slot='alert-dialog-title']]:text-gray-600",
36
+ },
37
+ variant: {
38
+ outline: "",
39
+ fill: "",
40
+ },
41
+ },
42
+ defaultVariants: {
43
+ size: "md",
44
+ shadow: "none",
45
+ color: "blue",
46
+ variant: "outline",
47
+ },
48
+ compoundVariants: [
49
+ {
50
+ color: "blue",
51
+ variant: "fill",
52
+ class: "bg-blue-100 text-blue-900 border-blue-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-blue-600 [&_h2[data-slot='alert-dialog-title']]:text-blue-600",
53
+ },
54
+ {
55
+ color: "red",
56
+ variant: "fill",
57
+ class: "bg-red-100 text-red-900 border-red-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-red-600 [&_h2[data-slot='alert-dialog-title']]:text-red-600",
58
+ },
59
+ {
60
+ color: "indigo",
61
+ variant: "fill",
62
+ class: "bg-indigo-100 text-indigo-900 border-indigo-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-indigo-600 [&_h2[data-slot='alert-dialog-title']]:text-indigo-600",
63
+ },
64
+ {
65
+ color: "yellow",
66
+ variant: "fill",
67
+ class: "bg-yellow-100 text-yellow-900 border-yellow-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-yellow-600 [&_h2[data-slot='alert-dialog-title']]:text-yellow-600",
68
+ },
69
+ {
70
+ color: "green",
71
+ variant: "fill",
72
+ class: "bg-green-100 text-green-900 border-green-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-green-600 [&_h2[data-slot='alert-dialog-title']]:text-green-600",
73
+ },
74
+ {
75
+ color: "gray",
76
+ variant: "fill",
77
+ class: "bg-gray-100 text-gray-900 border-gray-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-gray-600 [&_h2[data-slot='alert-dialog-title']]:text-gray-600",
78
+ },
79
+ ],
80
+ });
81
+ // Create context for Alert color
82
+ var AlertContext = createContext({});
83
+ var useAlertContext = function () { return useContext(AlertContext); };
84
+ export function Alert(_a) {
85
+ var className = _a.className, size = _a.size, shadow = _a.shadow, color = _a.color, variant = _a.variant, props = __rest(_a, ["className", "size", "shadow", "color", "variant"]);
86
+ return (<AlertContext.Provider value={{ color: color || undefined }}>
87
+ <div data-slot="inline-alert" className={cn(alertVariants({
88
+ size: size,
89
+ shadow: shadow,
90
+ color: color,
91
+ variant: variant,
92
+ }), className)} {...props}/>
93
+ </AlertContext.Provider>);
94
+ }
95
+ export function AlertHeader(_a) {
96
+ var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
97
+ // Check if children contains LUIcon
98
+ var childrenArray = Children.toArray(children);
99
+ var hasIcon = childrenArray.some(function (child) { return isValidElement(child) && child.type === LUIcon; });
100
+ if (hasIcon) {
101
+ var iconWithClass_1 = null;
102
+ var otherChildren_1 = [];
103
+ childrenArray.forEach(function (child) {
104
+ if (isValidElement(child) && child.type === LUIcon) {
105
+ var iconElement = child;
106
+ // If LUIcon has a size prop, add .lu-icon-custom-size to className
107
+ var hasSizeProp = !!iconElement.props.size;
108
+ // If LUIcon has a color prop, add .lu-icon-custom-color to className
109
+ var hasColorProp = !!iconElement.props.color;
110
+ iconWithClass_1 = cloneElement(iconElement, {
111
+ className: cn(iconElement.props.className, hasSizeProp && "lu-icon-custom-size", hasColorProp && "lu-icon-custom-color"),
112
+ });
113
+ }
114
+ else {
115
+ otherChildren_1.push(child);
116
+ }
117
+ });
118
+ return (<div data-slot="alert-dialog-header" className={cn("flex flex-row gap-3 items-start text-left", className)} {...props}>
119
+ {iconWithClass_1}
120
+ <div>{otherChildren_1}</div>
121
+ </div>);
122
+ }
123
+ return (<div data-slot="alert-dialog-header" className={cn("flex flex-col gap-2 text-center sm:text-left", className)} {...props}>
124
+ {children}
125
+ </div>);
126
+ }
127
+ export function AlertTitle(_a) {
128
+ var className = _a.className, props = __rest(_a, ["className"]);
129
+ return (<h2 data-slot="alert-dialog-title" className={cn("text-lg font-semibold", className)} {...props}/>);
130
+ }
131
+ export function AlertDescription(_a) {
132
+ var className = _a.className, props = __rest(_a, ["className"]);
133
+ return (<p data-slot="alert-dialog-description" className={cn("text-black text-sm", className)} {...props}/>);
134
+ }
135
+ export function AlertFooter(_a) {
136
+ var className = _a.className, props = __rest(_a, ["className"]);
137
+ return (<div data-slot="alert-dialog-footer" className={cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className)} {...props}/>);
138
+ }
139
+ // Also create a simple button component that matches the style of AlertDialogAction
140
+ export var AlertAction = function (_a) {
141
+ var className = _a.className, colorProp = _a.color, props = __rest(_a, ["className", "color"]);
142
+ var contextColor = useAlertContext().color;
143
+ var color = colorProp || contextColor || undefined;
144
+ return (<Button variant="link" color={color} data-slot="alert-dialog-action" className={cn("h-auto p-0", className)} {...props}/>);
145
+ };
146
+ // And a cancel button that matches AlertDialogCancel
147
+ export var AlertCancel = function (_a) {
148
+ var className = _a.className, colorProp = _a.color, props = __rest(_a, ["className", "color"]);
149
+ var contextColor = useAlertContext().color;
150
+ var color = colorProp || contextColor || undefined;
151
+ return (<Button variant="link" color={color} data-slot="alert-dialog-cancel" className={cn("h-auto p-0", className)} {...props}/>);
152
+ };