linkedunion-design-kit 1.9.1 → 1.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/dist/index.d.ts +2 -1
  2. package/dist/index.js +2 -1
  3. package/dist/src/components/Accordion/accordion.js +1 -1
  4. package/dist/src/components/Alerts/Alert/alert.d.ts +19 -0
  5. package/dist/src/components/Alerts/Alert/alert.js +156 -0
  6. package/dist/src/components/Alerts/Alert/alert.stories.d.ts +30 -0
  7. package/dist/src/components/Alerts/Alert/alert.stories.js +166 -0
  8. package/dist/src/components/Alerts/AlertDialog/alert-dialog.d.ts +45 -0
  9. package/dist/src/components/Alerts/AlertDialog/alert-dialog.js +168 -0
  10. package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.d.ts +69 -0
  11. package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.js +213 -0
  12. package/dist/src/components/Alerts/AlertDialog/index.d.ts +44 -0
  13. package/dist/src/components/Alerts/AlertDialog/index.js +189 -0
  14. package/dist/src/components/Avatar/Avatar/Avatar.d.ts +12 -3
  15. package/dist/src/components/Avatar/Avatar/Avatar.js +49 -11
  16. package/dist/src/components/Avatar/Avatar/Avatar.stories.d.ts +16 -2
  17. package/dist/src/components/Avatar/Avatar/Avatar.stories.js +51 -25
  18. package/dist/src/components/Avatar/Avatar/Avatar.test.js +6 -46
  19. package/dist/src/components/Avatar/Avatar/Avatar1.stories.d.ts +17 -0
  20. package/dist/src/components/Avatar/Avatar/Avatar1.stories.js +68 -0
  21. package/dist/src/components/Avatar/Avatar/index.d.ts +51 -28
  22. package/dist/src/components/Avatar/Avatar/index.js +76 -28
  23. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.js +1 -1
  24. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.js +1 -1
  25. package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.d.ts +3 -0
  26. package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.js +18 -0
  27. package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.stories.d.ts +44 -0
  28. package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.stories.js +41 -0
  29. package/dist/src/components/Avatar/StatusIndicator/index.d.ts +27 -0
  30. package/dist/src/components/Avatar/StatusIndicator/index.js +29 -0
  31. package/dist/src/components/Avatar/StatusIndicator/type.d.ts +6 -0
  32. package/dist/src/components/Badge/Badge.d.ts +21 -0
  33. package/dist/src/components/Badge/Badge.js +59 -0
  34. package/dist/src/components/Badge/Badge.stories.d.ts +719 -0
  35. package/dist/src/components/Badge/Badge.stories.js +145 -0
  36. package/dist/src/components/Badge/index.d.ts +47 -0
  37. package/dist/src/components/Badge/index.js +49 -0
  38. package/dist/src/components/Button/Button/Button.d.ts +2 -2
  39. package/dist/src/components/Button/Button/Button.stories.d.ts +4 -4
  40. package/dist/src/components/Button/IconButton/IconButton.d.ts +2 -2
  41. package/dist/src/components/Button/IconButton/IconButton.stories.d.ts +4 -4
  42. package/dist/src/components/Dropdown/Combobox/Combobox.d.ts +3 -0
  43. package/dist/src/components/Dropdown/Combobox/Combobox.js +160 -0
  44. package/dist/src/components/Dropdown/Combobox/Combobox.stories.d.ts +13 -0
  45. package/dist/src/components/Dropdown/Combobox/Combobox.stories.js +225 -0
  46. package/dist/src/components/Dropdown/Combobox/index.d.ts +35 -0
  47. package/dist/src/components/Dropdown/Combobox/index.js +36 -0
  48. package/dist/src/components/Dropdown/Combobox/type.d.ts +25 -0
  49. package/dist/src/components/Dropdown/Combobox/utils/getLabelVariant.d.ts +3 -0
  50. package/dist/src/components/Dropdown/Combobox/utils/getLabelVariant.js +7 -0
  51. package/dist/src/components/Dropdown/Combobox/utils/renderBadge.d.ts +6 -0
  52. package/dist/src/components/Dropdown/Combobox/utils/renderBadge.js +5 -0
  53. package/dist/src/components/Dropdown/Combobox/utils/useResponsiveBadge.d.ts +1 -0
  54. package/dist/src/components/Dropdown/Combobox/utils/useResponsiveBadge.js +14 -0
  55. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.d.ts +37 -0
  56. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.js +96 -0
  57. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.d.ts +25 -0
  58. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.js +253 -0
  59. package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.d.ts +3 -0
  60. package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.js +9 -0
  61. package/dist/src/components/Dropdown/DropdownMenu/index.d.ts +20 -0
  62. package/dist/src/components/Dropdown/DropdownMenu/index.js +21 -0
  63. package/dist/src/components/Dropdown/DropdownMenu/type.d.ts +7 -0
  64. package/dist/src/components/Dropdown/select.js +3 -3
  65. package/dist/src/components/Icons/LUIcon.d.ts +1 -1
  66. package/dist/src/components/Icons/LUIcon.js +15 -8
  67. package/dist/src/components/Icons/LUIcon.test.d.ts +0 -1
  68. package/dist/src/components/Icons/LUIcon.test.js +306 -253
  69. package/dist/src/components/Icons/index.d.ts +23 -8
  70. package/dist/src/components/Icons/index.js +43 -28
  71. package/dist/src/components/Icons/stories/InteractiveIconSelector.js +3 -3
  72. package/dist/src/components/Icons/stories/LUIcon.stories.d.ts +9 -5
  73. package/dist/src/components/Icons/stories/LUIcon.stories.js +28 -43
  74. package/dist/src/components/Icons/type.d.ts +0 -1
  75. package/dist/src/components/SweetAlert/SweetAlert.d.ts +40 -0
  76. package/dist/src/components/SweetAlert/SweetAlert.js +150 -0
  77. package/dist/src/components/SweetAlert/SweetAlert.stories.d.ts +86 -0
  78. package/dist/src/components/SweetAlert/SweetAlert.stories.js +305 -0
  79. package/dist/src/components/SweetAlert/index.d.ts +24 -0
  80. package/dist/src/components/SweetAlert/index.js +137 -0
  81. package/dist/src/components/ui/avatar.d.ts +10 -3
  82. package/dist/src/components/ui/avatar.js +27 -12
  83. package/dist/src/components/ui/command.d.ts +22 -0
  84. package/dist/src/components/ui/command.js +65 -0
  85. package/dist/src/components/ui/dialog.d.ts +15 -0
  86. package/dist/src/components/ui/dialog.js +68 -0
  87. package/dist/src/components/ui/popover.d.ts +7 -0
  88. package/dist/src/components/ui/popover.js +42 -0
  89. package/dist/src/utils/constants.d.ts +1 -0
  90. package/dist/src/utils/constants.js +1 -0
  91. package/dist/styles/global.css +727 -53
  92. package/dist/tailwind.config.js +6 -0
  93. package/package.json +6 -1
  94. package/dist/app/layout.jsx +0 -13
  95. package/dist/app/page.jsx +0 -5
  96. package/dist/next.config.d.ts +0 -8
  97. package/dist/next.config.js +0 -10
  98. package/dist/src/components/Accordion/Accordion.stories.jsx +0 -33
  99. package/dist/src/components/Accordion/accordion.jsx +0 -59
  100. package/dist/src/components/AppIcons/AndroidIcon.jsx +0 -24
  101. package/dist/src/components/AppIcons/AppIcon.jsx +0 -29
  102. package/dist/src/components/AppIcons/AppIcon.stories.jsx +0 -223
  103. package/dist/src/components/AppIcons/AppleIcon.jsx +0 -31
  104. package/dist/src/components/AppIcons/PlayStoreIcon.jsx +0 -29
  105. package/dist/src/components/Avatar/Avatar/Avatar.jsx +0 -17
  106. package/dist/src/components/Avatar/Avatar/Avatar.stories.jsx +0 -31
  107. package/dist/src/components/Avatar/Avatar/Avatar.test.jsx +0 -51
  108. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.jsx +0 -17
  109. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.jsx +0 -32
  110. package/dist/src/components/Button/Button/Button.jsx +0 -73
  111. package/dist/src/components/Button/Button/Button.stories.jsx +0 -283
  112. package/dist/src/components/Button/Button/Button.test.jsx +0 -73
  113. package/dist/src/components/Button/Button/index.d.ts +0 -63
  114. package/dist/src/components/Button/Button/index.js +0 -64
  115. package/dist/src/components/Button/Button.d.ts +0 -20
  116. package/dist/src/components/Button/Button.js +0 -83
  117. package/dist/src/components/Button/Button.stories.d.ts +0 -725
  118. package/dist/src/components/Button/Button.stories.js +0 -288
  119. package/dist/src/components/Button/Button.test.js +0 -10
  120. package/dist/src/components/Button/IconButton/IconButton.jsx +0 -63
  121. package/dist/src/components/Button/IconButton/IconButton.stories.jsx +0 -128
  122. package/dist/src/components/Button/IconButton/IconButton.test.jsx +0 -28
  123. package/dist/src/components/Button/IconButton/index.d.ts +0 -0
  124. package/dist/src/components/Button/IconButton/index.js +0 -1
  125. package/dist/src/components/Button/IconButton.d.ts +0 -33
  126. package/dist/src/components/Button/IconButton.js +0 -79
  127. package/dist/src/components/Button/IconButton.stories.d.ts +0 -4
  128. package/dist/src/components/Button/IconButton.stories.js +0 -65
  129. package/dist/src/components/Button/IconButton.test.js +0 -28
  130. package/dist/src/components/Card/MultipleNews/MultiNews.jsx +0 -80
  131. package/dist/src/components/Card/MultipleNews/MultiNews.stories.jsx +0 -104
  132. package/dist/src/components/Card/PostByCategory/PostByCategory.jsx +0 -60
  133. package/dist/src/components/Card/PostByCategory/PostByCategory.stories.jsx +0 -106
  134. package/dist/src/components/Card/SinglePost/SinglePost.jsx +0 -26
  135. package/dist/src/components/Card/SinglePost/SinglePost.stories.jsx +0 -68
  136. package/dist/src/components/Card/card.jsx +0 -36
  137. package/dist/src/components/Card/contactProfile/ContactProfile.jsx +0 -60
  138. package/dist/src/components/Card/contactProfile/ContactProfile.stories.jsx +0 -103
  139. package/dist/src/components/Card/photoAlbum/PhotoAlbum.jsx +0 -41
  140. package/dist/src/components/Card/photoAlbum/PhotoAlbum.stories.jsx +0 -69
  141. package/dist/src/components/Card/photoGallery/PhotoGallery.jsx +0 -17
  142. package/dist/src/components/Card/photoGallery/PhotoGallery.stories.jsx +0 -39
  143. package/dist/src/components/Checkbox/checkbox.jsx +0 -47
  144. package/dist/src/components/Checkbox/checkbox.stories.jsx +0 -113
  145. package/dist/src/components/ColorPicker/ColorPicker.jsx +0 -67
  146. package/dist/src/components/ColorPicker/ColorPicker.stories.jsx +0 -138
  147. package/dist/src/components/Colors/color.jsx +0 -5
  148. package/dist/src/components/Colors/color.stories.jsx +0 -20
  149. package/dist/src/components/Colors/color.test.jsx +0 -23
  150. package/dist/src/components/Dropdown/Select.stories.jsx +0 -201
  151. package/dist/src/components/Dropdown/select.jsx +0 -94
  152. package/dist/src/components/Icons/IconList.test.d.ts +0 -1
  153. package/dist/src/components/Icons/IconList.test.js +0 -58
  154. package/dist/src/components/Icons/IconView.d.ts +0 -1
  155. package/dist/src/components/Icons/IconView.js +0 -8
  156. package/dist/src/components/Icons/IconView.stories.d.ts +0 -4
  157. package/dist/src/components/Icons/IconView.stories.js +0 -20
  158. package/dist/src/components/Icons/LUIcon.jsx +0 -36
  159. package/dist/src/components/Icons/LUIcon.stories.d.ts +0 -6
  160. package/dist/src/components/Icons/LUIcon.stories.js +0 -75
  161. package/dist/src/components/Icons/LUIcon.test.jsx +0 -243
  162. package/dist/src/components/Icons/SingleIcon.test.d.ts +0 -1
  163. package/dist/src/components/Icons/SingleIcon.test.js +0 -68
  164. package/dist/src/components/Icons/stories/IconDropdown.jsx +0 -67
  165. package/dist/src/components/Icons/stories/IconGallery.jsx +0 -77
  166. package/dist/src/components/Icons/stories/InteractiveIconSelector.jsx +0 -86
  167. package/dist/src/components/Icons/stories/LUIcon.stories.jsx +0 -96
  168. package/dist/src/components/ImageUploader/ImageUploader.stories.jsx +0 -50
  169. package/dist/src/components/ImageUploader/imageUploader.jsx +0 -94
  170. package/dist/src/components/Images/LuImage.jsx +0 -19
  171. package/dist/src/components/Images/LuImage.stories.jsx +0 -154
  172. package/dist/src/components/Images/LuImage.test.jsx +0 -44
  173. package/dist/src/components/Input/Input.stories.jsx +0 -250
  174. package/dist/src/components/Input/input.jsx +0 -110
  175. package/dist/src/components/Label/Label.jsx +0 -32
  176. package/dist/src/components/Label/Label.stories.jsx +0 -30
  177. package/dist/src/components/MediaCard/Card.d.ts +0 -3
  178. package/dist/src/components/MediaCard/Card.js +0 -45
  179. package/dist/src/components/MediaCard/Card.stories.d.ts +0 -4
  180. package/dist/src/components/MediaCard/Card.stories.js +0 -57
  181. package/dist/src/components/MediaCard/Card.test.d.ts +0 -1
  182. package/dist/src/components/MediaCard/Card.test.js +0 -28
  183. package/dist/src/components/MediaCard/ContactProfile/ContactProfile.d.ts +0 -2
  184. package/dist/src/components/MediaCard/ContactProfile/ContactProfile.js +0 -27
  185. package/dist/src/components/MediaCard/ContactProfile/ContactProfile.test.d.ts +0 -1
  186. package/dist/src/components/MediaCard/ContactProfile/ContactProfile.test.js +0 -61
  187. package/dist/src/components/MediaCard/ContactProfile/ContactProfileTheme1.d.ts +0 -2
  188. package/dist/src/components/MediaCard/ContactProfile/ContactProfileTheme1.js +0 -7
  189. package/dist/src/components/MediaCard/ContactProfile/ContactProfileTheme1.test.d.ts +0 -1
  190. package/dist/src/components/MediaCard/ContactProfile/ContactProfileTheme1.test.js +0 -99
  191. package/dist/src/components/MediaCard/ContactProfile/ContactProfileTheme2.d.ts +0 -2
  192. package/dist/src/components/MediaCard/ContactProfile/ContactProfileTheme2.js +0 -7
  193. package/dist/src/components/MediaCard/ContactProfile/ContactProfileTheme2.test.d.ts +0 -1
  194. package/dist/src/components/MediaCard/ContactProfile/ContactProfileTheme2.test.js +0 -99
  195. package/dist/src/components/MediaCard/PostByCategory/PostByCategory.d.ts +0 -2
  196. package/dist/src/components/MediaCard/PostByCategory/PostByCategory.js +0 -31
  197. package/dist/src/components/MediaCard/PostByCategory/PostByCategory.test.d.ts +0 -1
  198. package/dist/src/components/MediaCard/PostByCategory/PostByCategory.test.js +0 -62
  199. package/dist/src/components/MediaCard/PostByCategory/PostByCategoryTheme1.d.ts +0 -2
  200. package/dist/src/components/MediaCard/PostByCategory/PostByCategoryTheme1.js +0 -7
  201. package/dist/src/components/MediaCard/PostByCategory/PostByCategoryTheme1.test.d.ts +0 -1
  202. package/dist/src/components/MediaCard/PostByCategory/PostByCategoryTheme1.test.js +0 -99
  203. package/dist/src/components/MediaCard/PostByCategory/PostByCategoryTheme2.d.ts +0 -2
  204. package/dist/src/components/MediaCard/PostByCategory/PostByCategoryTheme2.js +0 -7
  205. package/dist/src/components/MediaCard/PostByCategory/PostByCategoryTheme2.test.d.ts +0 -1
  206. package/dist/src/components/MediaCard/PostByCategory/PostByCategoryTheme2.test.js +0 -99
  207. package/dist/src/components/MediaCard/VerticalCard/VerticalCard.d.ts +0 -3
  208. package/dist/src/components/MediaCard/VerticalCard/VerticalCard.js +0 -13
  209. package/dist/src/components/MediaCard/VerticalCard/VerticalCard.stories.d.ts +0 -5
  210. package/dist/src/components/MediaCard/VerticalCard/VerticalCard.stories.js +0 -40
  211. package/dist/src/components/MediaCard/index.d.ts +0 -9
  212. package/dist/src/components/MediaCard/index.js +0 -13
  213. package/dist/src/components/MediaCard/type.d.ts +0 -47
  214. package/dist/src/components/RadioButton/RadioButton.stories.d.ts +0 -10
  215. package/dist/src/components/RadioButton/RadioButton.stories.js +0 -82
  216. package/dist/src/components/RadioButton/RadioGroup.stories.d.ts +0 -10
  217. package/dist/src/components/RadioButton/RadioGroup.stories.js +0 -131
  218. package/dist/src/components/RadioButton/radio-button.d.ts +0 -14
  219. package/dist/src/components/RadioButton/radio-button.js +0 -57
  220. package/dist/src/components/RadioButton/radio-group.d.ts +0 -21
  221. package/dist/src/components/RadioButton/radio-group.js +0 -59
  222. package/dist/src/components/RadioGroup/RadioGroup.stories.jsx +0 -146
  223. package/dist/src/components/RadioGroup/radio-group.jsx +0 -49
  224. package/dist/src/components/Slider/Slider.stories.jsx +0 -159
  225. package/dist/src/components/Slider/slider.jsx +0 -31
  226. package/dist/src/components/Switch/Switch.stories.jsx +0 -66
  227. package/dist/src/components/Switch/switch.jsx +0 -61
  228. package/dist/src/components/Tabs/Tabs.stories.jsx +0 -29
  229. package/dist/src/components/Tabs/tabs.jsx +0 -32
  230. package/dist/src/components/Title/Title.jsx +0 -8
  231. package/dist/src/components/Title/Title.stories.jsx +0 -37
  232. package/dist/src/components/Title/Title.test.jsx +0 -24
  233. package/dist/src/components/ToolTip/Tooltip.jsx +0 -18
  234. package/dist/src/components/ToolTip/Tooltip.stories.jsx +0 -25
  235. package/dist/src/components/Typography/Body/Body.stories.jsx +0 -34
  236. package/dist/src/components/Typography/Body/body.jsx +0 -52
  237. package/dist/src/components/Typography/Caption/Caption.stories.jsx +0 -24
  238. package/dist/src/components/Typography/Caption/caption.jsx +0 -25
  239. package/dist/src/components/Typography/Display/Display.stories.jsx +0 -24
  240. package/dist/src/components/Typography/Display/display.jsx +0 -39
  241. package/dist/src/components/Typography/Heading/Heading.stories.jsx +0 -37
  242. package/dist/src/components/Typography/Heading/heading.jsx +0 -53
  243. package/dist/src/components/ui/accordion.d.ts +0 -7
  244. package/dist/src/components/ui/accordion.js +0 -64
  245. package/dist/src/components/ui/avatar.jsx +0 -27
  246. package/dist/src/components/ui/caption.d.ts +0 -8
  247. package/dist/src/components/ui/caption.js +0 -34
  248. package/dist/src/components/ui/checkbox.d.ts +0 -4
  249. package/dist/src/components/ui/checkbox.js +0 -31
  250. package/dist/src/components/ui/input.d.ts +0 -3
  251. package/dist/src/components/ui/input.js +0 -29
  252. package/dist/src/components/ui/switch.d.ts +0 -22
  253. package/dist/src/components/ui/switch.js +0 -70
  254. package/dist/src/components/ui/tooltip.jsx +0 -38
  255. package/dist/src/components/ui/typography.jsx +0 -56
  256. package/dist/src/context/LocalizationContext.d.ts +0 -23
  257. package/dist/src/context/LocalizationContext.js +0 -17
  258. package/dist/src/utils/index.d.ts +0 -17
  259. package/dist/src/utils/index.js +0 -20
  260. /package/dist/src/components/{MediaCard → Avatar/StatusIndicator}/type.js +0 -0
  261. /package/dist/src/components/{Button/Button.test.d.ts → Dropdown/Combobox/type.js} +0 -0
  262. /package/dist/src/components/{Button/IconButton.test.d.ts → Dropdown/DropdownMenu/type.js} +0 -0
@@ -0,0 +1,69 @@
1
+ import { Meta } from "@storybook/react";
2
+ declare const _default: Meta;
3
+ export default _default;
4
+ export declare const Default: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, any>;
5
+ export declare const Example: {
6
+ (): import("react/jsx-runtime").JSX.Element;
7
+ parameters: {
8
+ docs: {
9
+ description: {
10
+ story: string;
11
+ };
12
+ };
13
+ };
14
+ };
15
+ export declare const BasicExample: {
16
+ (): import("react/jsx-runtime").JSX.Element;
17
+ parameters: {
18
+ docs: {
19
+ description: {
20
+ story: string;
21
+ };
22
+ };
23
+ };
24
+ };
25
+ export declare const AllSizes: {
26
+ (): import("react/jsx-runtime").JSX.Element;
27
+ parameters: {
28
+ docs: {
29
+ source: {
30
+ code: null;
31
+ };
32
+ };
33
+ };
34
+ };
35
+ export declare const IconPaddedAndDefault: () => import("react/jsx-runtime").JSX.Element;
36
+ export declare const AllShadows: {
37
+ (): import("react/jsx-runtime").JSX.Element;
38
+ parameters: {
39
+ docs: {
40
+ source: {
41
+ code: null;
42
+ };
43
+ };
44
+ };
45
+ };
46
+ export declare const AllColors: {
47
+ (): import("react/jsx-runtime").JSX.Element;
48
+ parameters: {
49
+ docs: {
50
+ source: {
51
+ code: null;
52
+ };
53
+ };
54
+ };
55
+ };
56
+ export declare const WithoutIcon: () => import("react/jsx-runtime").JSX.Element;
57
+ export declare const SingleActionButton: () => import("react/jsx-runtime").JSX.Element;
58
+ export declare const RealWorldUseCases: {
59
+ (): import("react/jsx-runtime").JSX.Element;
60
+ parameters: {
61
+ docs: {
62
+ source: {
63
+ code: null;
64
+ };
65
+ };
66
+ };
67
+ };
68
+ export declare const ButtonVariants: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, any>;
69
+ export declare const CustomizeAlert: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,213 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { Button } from "../../Button/Button/Button";
4
+ import { Heading } from "../../Typography/Heading/heading";
5
+ import { Body } from "../../Typography/Body/body";
6
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, colorOptions, sizeOptions, shadowOptions, variantOptions, getButtonColor, getIconForColor, getContentForColor, sizeExamples, shadowExamples, realWorldExamples, } from "./index";
7
+ import LUIcon from "../../Icons/LUIcon";
8
+ export default {
9
+ title: "Components/Alert/AlertDialog",
10
+ component: AlertDialog,
11
+ tags: ["autodocs"],
12
+ parameters: {
13
+ docs: {
14
+ description: {
15
+ component: "A modal dialog that interrupts the user with important content and expects a response. Built with Radix UI primitives.",
16
+ },
17
+ },
18
+ },
19
+ };
20
+ // Component with eye icon to show code
21
+ var ColorVariantWithEyeIcon = function (_a) {
22
+ var color = _a.color, content = _a.content;
23
+ var _b = useState(false), showCode = _b[0], setShowCode = _b[1];
24
+ var triggerText = color.charAt(0).toUpperCase() + color.slice(1).replace("-", " ");
25
+ var alertDialogCode = "<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button variant=\"outline\" color=\"".concat(getButtonColor(color), "\">\n ").concat(triggerText, "\n </Button>\n </AlertDialogTrigger>\n <AlertDialogContent color=\"").concat(color, "\">\n <AlertDialogHeader>\n <LUIcon icon=\"").concat(getIconForColor(color), "\" variant=\"padded\" />\n <AlertDialogTitle>").concat(content.title, "</AlertDialogTitle>\n <AlertDialogDescription>\n ").concat(content.description, "\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction>").concat(content.button, "</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n</AlertDialog>");
26
+ return (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "flex-1", children: _jsx(AlertDialogExample, { triggerText: triggerText, triggerColor: getButtonColor(color), color: color, icon: getIconForColor(color), title: content.title, description: content.description, cancelText: "Cancel", actionText: content.button, className: "w-full" }) }), _jsx(Button, { onClick: function () { return setShowCode(!showCode); }, variant: "ghost", size: "sm", title: showCode ? "Hide Code" : "Show Code", className: "text-gray-600 hover:text-gray-800 hover:bg-gray-100", children: _jsx(LUIcon, { icon: showCode ? "eye-slash" : "eye" }) })] }), showCode && (_jsxs("div", { className: "p-3 bg-gray-50 border rounded-lg", children: [_jsxs("div", { className: "flex items-center justify-between mb-2", children: [_jsxs(Body, { variant: "body-sm", className: "font-semibold text-gray-700", children: [triggerText, " - AlertDialog Code"] }), _jsx(Button, { onClick: function () { return navigator.clipboard.writeText(alertDialogCode); }, variant: "ghost", size: "sm", title: "Copy code to clipboard", className: "text-xs text-blue-700 hover:bg-blue-200 bg-blue-100", children: "Copy Code" })] }), _jsx("pre", { className: "text-xs bg-white p-3 rounded border overflow-x-auto", children: _jsx("code", { className: "text-gray-800", children: alertDialogCode }) })] }))] }));
27
+ };
28
+ // Component with eye icon to show size code
29
+ var SizeVariantWithEyeIcon = function (_a) {
30
+ var sizeExample = _a.sizeExample;
31
+ var _b = useState(false), showCode = _b[0], setShowCode = _b[1];
32
+ var alertDialogCode = "<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button variant=\"outline\" color=\"blue\">\n ".concat(sizeExample.triggerText, "\n </Button>\n </AlertDialogTrigger>\n <AlertDialogContent size=\"").concat(sizeExample.size, "\" color=\"blue\">\n <AlertDialogHeader>\n <LUIcon icon=\"").concat(sizeExample.icon, "\" variant=\"padded\" />\n <AlertDialogTitle>").concat(sizeExample.title, "</AlertDialogTitle>\n <AlertDialogDescription>\n ").concat(sizeExample.description, "\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>").concat(sizeExample.cancelText, "</AlertDialogCancel>\n <AlertDialogAction>").concat(sizeExample.actionText, "</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n</AlertDialog>");
33
+ return (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "flex-1", children: _jsx(AlertDialogExample, { triggerText: sizeExample.triggerText, triggerColor: "blue", size: sizeExample.size, color: "blue", icon: sizeExample.icon, title: sizeExample.title, description: sizeExample.description, cancelText: sizeExample.cancelText, actionText: sizeExample.actionText }) }), _jsx(Button, { onClick: function () { return setShowCode(!showCode); }, variant: "ghost", size: "sm", title: showCode ? "Hide Code" : "Show Code", className: "text-gray-600 hover:text-gray-800 hover:bg-gray-100", children: _jsx(LUIcon, { icon: showCode ? "eye-slash" : "eye" }) })] }), showCode && (_jsxs("div", { className: "p-3 bg-gray-50 border rounded-lg", children: [_jsxs("div", { className: "flex items-center justify-between mb-2", children: [_jsxs(Body, { variant: "body-sm", className: "font-semibold text-gray-700", children: [sizeExample.size.toUpperCase(), " Size - AlertDialog Code"] }), _jsx(Button, { onClick: function () { return navigator.clipboard.writeText(alertDialogCode); }, variant: "ghost", size: "sm", title: "Copy code to clipboard", className: "text-xs text-blue-700 hover:bg-blue-200 bg-blue-100", children: "Copy Code" })] }), _jsx("pre", { className: "text-xs bg-white p-3 rounded border overflow-x-auto", children: _jsx("code", { className: "text-gray-800", children: alertDialogCode }) })] }))] }));
34
+ };
35
+ // Component with eye icon to show shadow code
36
+ var ShadowVariantWithEyeIcon = function (_a) {
37
+ var shadowExample = _a.shadowExample;
38
+ var _b = useState(false), showCode = _b[0], setShowCode = _b[1];
39
+ var alertDialogCode = "<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button variant=\"outline\" color=\"blue\">\n ".concat(shadowExample.triggerText, "\n </Button>\n </AlertDialogTrigger>\n <AlertDialogContent shadow=\"").concat(shadowExample.shadow, "\" color=\"blue\">\n <AlertDialogHeader>\n <LUIcon icon=\"").concat(shadowExample.icon, "\" variant=\"padded\" />\n <AlertDialogTitle>").concat(shadowExample.title, "</AlertDialogTitle>\n <AlertDialogDescription>\n ").concat(shadowExample.description, "\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>").concat(shadowExample.cancelText, "</AlertDialogCancel>\n <AlertDialogAction>").concat(shadowExample.actionText, "</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n</AlertDialog>");
40
+ return (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "flex-1", children: _jsx(AlertDialogExample, { triggerText: shadowExample.triggerText, triggerColor: "blue", shadow: shadowExample.shadow, color: "blue", icon: shadowExample.icon, title: shadowExample.title, description: shadowExample.description, cancelText: shadowExample.cancelText, actionText: shadowExample.actionText }) }), _jsx(Button, { onClick: function () { return setShowCode(!showCode); }, variant: "ghost", size: "sm", title: showCode ? "Hide Code" : "Show Code", className: "text-gray-600 hover:text-gray-800 hover:bg-gray-100", children: _jsx(LUIcon, { icon: showCode ? "eye-slash" : "eye" }) })] }), showCode && (_jsxs("div", { className: "p-3 bg-gray-50 border rounded-lg", children: [_jsxs("div", { className: "flex items-center justify-between mb-2", children: [_jsxs(Body, { variant: "body-sm", className: "font-semibold text-gray-700", children: [shadowExample.shadow === "none" ? "No Shadow" : "Large Shadow", " - AlertDialog Code"] }), _jsx(Button, { onClick: function () { return navigator.clipboard.writeText(alertDialogCode); }, variant: "ghost", size: "sm", title: "Copy code to clipboard", className: "text-xs text-blue-700 hover:bg-blue-200 bg-blue-100", children: "Copy Code" })] }), _jsx("pre", { className: "text-xs bg-white p-3 rounded border overflow-x-auto", children: _jsx("code", { className: "text-gray-800", children: alertDialogCode }) })] }))] }));
41
+ };
42
+ // Reusable AlertDialog component
43
+ var AlertDialogExample = function (_a) {
44
+ var triggerText = _a.triggerText, triggerColor = _a.triggerColor, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.shadow, shadow = _c === void 0 ? "none" : _c, color = _a.color, variant = _a.variant, icon = _a.icon, title = _a.title, description = _a.description, cancelText = _a.cancelText, actionText = _a.actionText, _d = _a.showCancel, showCancel = _d === void 0 ? true : _d, _e = _a.showAction, showAction = _e === void 0 ? true : _e, _f = _a.className, className = _f === void 0 ? "" : _f;
45
+ return (_jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { asChild: true, children: _jsx(Button, { size: size, variant: "outline", color: triggerColor ? triggerColor : getButtonColor(color), className: className, children: triggerText }) }), _jsxs(AlertDialogContent, { size: size, shadow: shadow, color: color, variant: variant, children: [_jsxs(AlertDialogHeader, { children: [icon && _jsx(LUIcon, { icon: icon, variant: "padded" }), _jsx(AlertDialogTitle, { children: title }), _jsx(AlertDialogDescription, { children: description })] }), (showCancel || showAction) && (_jsxs(AlertDialogFooter, { children: [showCancel && (_jsx(AlertDialogCancel, { children: cancelText || "Cancel" })), showAction && (_jsx(AlertDialogAction, { children: actionText || "OK" }))] }))] })] }));
46
+ };
47
+ // Template for stories with args - Using actual AlertDialog components
48
+ var Template = function (args) { return (_jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", color: "blue", children: "Show Alert Dialog" }) }), _jsxs(AlertDialogContent, { size: args.size, shadow: args.shadow, color: args.color, variant: args.variant, children: [_jsxs(AlertDialogHeader, { children: [args.Icon && _jsx(LUIcon, { icon: args.Icon, variant: "padded" }), _jsx(AlertDialogTitle, { children: args.title }), _jsx(AlertDialogDescription, { children: args.description })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: args.cancelText }), _jsx(AlertDialogAction, { children: args.actionText })] })] })] })); };
49
+ // Default story with all controls
50
+ export var Default = Template.bind({});
51
+ Default.args = {
52
+ size: "md",
53
+ shadow: "none",
54
+ color: "blue",
55
+ variant: "outline",
56
+ Icon: "info",
57
+ title: "Update Available",
58
+ description: "A new version of the application is available. Would you like to update now? The update includes bug fixes and performance improvements.",
59
+ cancelText: "Later",
60
+ actionText: "Update Now",
61
+ };
62
+ Default.argTypes = {
63
+ size: {
64
+ control: { type: "select" },
65
+ options: sizeOptions,
66
+ description: "Size variant for AlertDialogContent",
67
+ table: {
68
+ defaultValue: { summary: "md" },
69
+ type: { summary: "enum" },
70
+ category: "AlertDialogContent",
71
+ },
72
+ },
73
+ shadow: {
74
+ control: { type: "select" },
75
+ options: shadowOptions,
76
+ description: "Shadow variant for AlertDialogContent",
77
+ table: {
78
+ defaultValue: { summary: "none" },
79
+ type: { summary: "enum" },
80
+ category: "AlertDialogContent",
81
+ },
82
+ },
83
+ color: {
84
+ control: { type: "select" },
85
+ options: colorOptions,
86
+ description: "Color theme for AlertDialogContent",
87
+ table: {
88
+ defaultValue: { summary: "blue" },
89
+ type: { summary: "enum" },
90
+ category: "AlertDialogContent",
91
+ },
92
+ },
93
+ variant: {
94
+ control: { type: "select" },
95
+ options: variantOptions,
96
+ description: "Variant for AlertDialogContent (outline | fill)",
97
+ table: {
98
+ defaultValue: { summary: "outline" },
99
+ type: { summary: "enum" },
100
+ category: "AlertDialogContent",
101
+ },
102
+ },
103
+ Icon: {
104
+ control: { type: "text" },
105
+ description: "Icon to display in AlertDialogHeader (LUIcon name)",
106
+ table: {
107
+ type: { summary: "string" },
108
+ category: "AlertDialogHeader",
109
+ },
110
+ },
111
+ title: {
112
+ control: { type: "text" },
113
+ description: "Title text for AlertDialogTitle",
114
+ table: {
115
+ type: { summary: "string" },
116
+ category: "AlertDialogTitle",
117
+ },
118
+ },
119
+ description: {
120
+ control: { type: "text" },
121
+ description: "Description text for AlertDialogDescription",
122
+ table: {
123
+ type: { summary: "string" },
124
+ category: "AlertDialogDescription",
125
+ },
126
+ },
127
+ cancelText: {
128
+ control: { type: "text" },
129
+ description: "Text for AlertDialogCancel button",
130
+ table: {
131
+ type: { summary: "string" },
132
+ category: "AlertDialogCancel",
133
+ },
134
+ },
135
+ actionText: {
136
+ control: { type: "text" },
137
+ description: "Text for AlertDialogAction button",
138
+ table: {
139
+ type: { summary: "string" },
140
+ category: "AlertDialogAction",
141
+ },
142
+ },
143
+ };
144
+ // Simple Example showing the exact code structure
145
+ export var Example = function () { return (_jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", color: "blue", children: "Show Alert Dialog" }) }), _jsxs(AlertDialogContent, { color: "blue", size: "md", shadow: "none", children: [_jsxs(AlertDialogHeader, { children: [_jsx(LUIcon, { icon: "info", variant: "padded" }), _jsx(AlertDialogTitle, { children: "Update Available" }), _jsx(AlertDialogDescription, { children: "A new version of the application is available. Would you like to update now? The update includes bug fixes and performance improvements." })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: "Later" }), _jsx(AlertDialogAction, { children: "Update Now" })] })] })] })); };
146
+ Example.parameters = {
147
+ docs: {
148
+ description: {
149
+ story: "This example shows the exact code structure you should use to implement the AlertDialog component.",
150
+ },
151
+ },
152
+ };
153
+ // Basic Example - Shows the actual component code
154
+ export var BasicExample = function () { return (_jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", color: "blue", children: "Show Basic Alert" }) }), _jsxs(AlertDialogContent, { color: "blue", size: "md", shadow: "none", children: [_jsxs(AlertDialogHeader, { children: [_jsx(LUIcon, { icon: "info", variant: "padded" }), _jsx(AlertDialogTitle, { children: "Update Available" }), _jsx(AlertDialogDescription, { children: "A new version of the application is available. Would you like to update now? The update includes bug fixes and performance improvements." })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: "Later" }), _jsx(AlertDialogAction, { children: "Update Now" })] })] })] })); };
155
+ BasicExample.parameters = {
156
+ docs: {
157
+ description: {
158
+ story: "Basic AlertDialog example showing the actual component structure.",
159
+ },
160
+ },
161
+ };
162
+ export var AllSizes = function () { return (_jsxs("div", { className: "flex flex-col gap-8", children: [_jsx(Heading, { variant: "h3", className: "text-lg font-semibold", children: "All Size Variants" }), _jsx(Body, { variant: "body-sm", className: "text-gray-600", children: "Click the eye icon (\uD83D\uDC41\uFE0F) to view the code for each size variant" }), _jsx("div", { className: "space-y-6", children: sizeExamples.map(function (example, index) { return (_jsx(SizeVariantWithEyeIcon, { sizeExample: example }, index)); }) })] })); };
163
+ AllSizes.parameters = {
164
+ docs: {
165
+ source: {
166
+ code: null, // This hides the source code
167
+ },
168
+ },
169
+ };
170
+ // Story showing both padded and default icon variants side-by-side
171
+ export var IconPaddedAndDefault = function () { return (_jsxs("div", { className: "flex flex-col gap-6 md:flex-row md:items-start md:gap-4", children: [_jsx("div", { className: "flex-1", children: _jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", color: "blue", children: "Padded Icon" }) }), _jsxs(AlertDialogContent, { color: "blue", size: "md", children: [_jsxs(AlertDialogHeader, { children: [_jsx(LUIcon, { icon: "info", color: "light-blue", variant: "padded" }), _jsx(AlertDialogTitle, { children: "Padded Icon" }), _jsx(AlertDialogDescription, { children: "This AlertDialog uses a padded icon (icon with background). The icon size remains fixed." })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: "Close" }), _jsx(AlertDialogAction, { children: "OK" })] })] })] }) }), _jsx("div", { className: "flex-1", children: _jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", color: "blue", children: "Default Icon" }) }), _jsxs(AlertDialogContent, { color: "blue", size: "md", children: [_jsxs(AlertDialogHeader, { children: [_jsx(LUIcon, { icon: "info", variant: "default" }), _jsx(AlertDialogTitle, { children: "Default Icon" }), _jsx(AlertDialogDescription, { children: "This AlertDialog uses the default (non-padded) icon." })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: "Close" }), _jsx(AlertDialogAction, { children: "OK" })] })] })] }) })] })); };
172
+ export var AllShadows = function () { return (_jsxs("div", { className: "flex flex-col gap-8", children: [_jsx(Heading, { variant: "h3", className: "text-lg font-semibold", children: "All Shadow Variants" }), _jsx(Body, { variant: "body-sm", className: "text-gray-600", children: "Click the eye icon (\uD83D\uDC41\uFE0F) to view the code for each shadow variant" }), _jsx("div", { className: "space-y-6", children: shadowExamples.map(function (example, index) { return (_jsx(ShadowVariantWithEyeIcon, { shadowExample: example }, index)); }) })] })); };
173
+ AllShadows.parameters = {
174
+ docs: {
175
+ source: {
176
+ code: null, // This hides the source code
177
+ },
178
+ },
179
+ };
180
+ export var AllColors = function () { return (_jsxs("div", { className: "flex flex-col gap-8", children: [_jsx(Heading, { variant: "h3", className: "text-lg font-semibold", children: "All Color Variants" }), _jsx(Body, { variant: "body-sm", className: "text-gray-600", children: "Click the eye icon (\uD83D\uDC41\uFE0F) to view the code for each color variant" }), _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: colorOptions.map(function (color) {
181
+ var content = getContentForColor(color);
182
+ return (_jsx(ColorVariantWithEyeIcon, { color: color, content: content }, color));
183
+ }) })] })); };
184
+ AllColors.parameters = {
185
+ docs: {
186
+ source: {
187
+ code: null, // This hides the source code
188
+ },
189
+ },
190
+ };
191
+ // Essential Layout Variants
192
+ export var WithoutIcon = function () { return (_jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", color: "blue", children: "Show Alert Dialog" }) }), _jsxs(AlertDialogContent, { color: "blue", children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: "Save Draft" }), _jsx(AlertDialogDescription, { children: "You have unsaved changes in your document. Would you like to save them as a draft before leaving?" })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: "Discard Changes" }), _jsx(AlertDialogAction, { children: "Save Draft" })] })] })] })); };
193
+ export var SingleActionButton = function () { return (_jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", color: "green", children: "Show Success Message" }) }), _jsxs(AlertDialogContent, { color: "green", children: [_jsxs(AlertDialogHeader, { children: [_jsx(LUIcon, { icon: "check", variant: "padded" }), _jsx(AlertDialogTitle, { children: "Success!" }), _jsx(AlertDialogDescription, { children: "Your message has been sent successfully." })] }), _jsx(AlertDialogFooter, { children: _jsx(AlertDialogAction, { children: "Close" }) })] })] })); };
194
+ export var RealWorldUseCases = function () { return (_jsxs("div", { className: "flex flex-col gap-8", children: [_jsx(Heading, { variant: "h3", className: "text-lg font-semibold", children: "Real-world Use Cases" }), _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4", children: realWorldExamples.map(function (example, index) { return (_jsx(AlertDialogExample, { triggerText: example.triggerText, triggerColor: example.triggerColor, size: example.size, shadow: example.shadow, color: example.color, icon: example.icon, title: example.title, description: example.description, cancelText: example.cancelText, actionText: example.actionText, className: "w-full" }, index)); }) })] })); };
195
+ RealWorldUseCases.parameters = {
196
+ docs: {
197
+ source: {
198
+ code: null, // This hides the source code
199
+ },
200
+ },
201
+ };
202
+ // Button Configuration Variants - Comprehensive Examples
203
+ var ButtonVariantsTemplate = function () { return (_jsxs("div", { className: "flex flex-col gap-8", children: [_jsx(Heading, { variant: "h3", className: "text-lg font-semibold", children: "Button Configuration Variants" }), _jsxs("div", { className: "space-y-4", children: [_jsx(Heading, { variant: "h4", className: "font-medium text-gray-700", children: "Single Button (Action Only)" }), _jsxs("div", { className: "flex flex-wrap gap-4", children: [_jsx(AlertDialogExample, { triggerText: "Success Message", triggerColor: "light-green", size: "md", color: "green", icon: "check", title: "Message Sent", description: "Your message has been delivered successfully to all recipients.", showCancel: false, actionText: "Close" }), _jsx(AlertDialogExample, { triggerText: "Error Alert", triggerColor: "light-red", size: "md", shadow: "lg", color: "red", icon: "circle-exclamation", title: "Connection Failed", description: "Unable to connect to the server. Please check your internet connection and try again.", showCancel: false, actionText: "Retry" }), _jsx(AlertDialogExample, { triggerText: "Installation Complete", triggerColor: "blue", size: "md", color: "green", icon: "check", title: "Installation Complete", description: "The application has been successfully installed on your device. You can now start using all the features.", showCancel: false, actionText: "Start Using App" })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx(Heading, { variant: "h4", className: "font-medium text-gray-700", children: "Both Buttons (Cancel + Action)" }), _jsxs("div", { className: "flex flex-wrap gap-4", children: [_jsx(AlertDialogExample, { triggerText: "Confirm Action", triggerColor: "blue", size: "md", color: "blue", icon: "info", title: "Confirm Your Action", description: "Do you want to proceed with this action? This will update your settings and preferences.", cancelText: "No, Cancel", actionText: "Yes, Proceed" }), _jsx(AlertDialogExample, { triggerText: "Delete Confirmation", triggerColor: "light-red", size: "md", color: "red", icon: "circle-exclamation", title: "Confirm Deletion", description: "Are you sure you want to delete this item? This action cannot be undone.", cancelText: "Cancel", actionText: "Delete" }), _jsx(AlertDialogExample, { triggerText: "Save Changes", triggerColor: "blue", size: "md", color: "blue", title: "Save Draft", description: "You have unsaved changes in your document. Would you like to save them as a draft before leaving?", cancelText: "Discard Changes", actionText: "Save Draft" })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx(Heading, { variant: "h4", className: "font-medium text-gray-700", children: "No Buttons (Information Only)" }), _jsxs("div", { className: "flex flex-wrap gap-4", children: [_jsx(AlertDialogExample, { triggerText: "Loading State", triggerColor: "blue", size: "sm", color: "blue", icon: "clock", title: "Syncing...", description: "Synchronizing your data with the cloud. Please wait.", showCancel: false, showAction: false }), _jsx(AlertDialogExample, { triggerText: "System Info", triggerColor: "yellow", size: "md", color: "yellow", icon: "info", title: "System Information", description: "Server maintenance is currently in progress. Some features may be temporarily unavailable. We apologize for any inconvenience.", showCancel: false, showAction: false }), _jsx(AlertDialogExample, { triggerText: "Processing", triggerColor: "yellow", size: "md", color: "yellow", icon: "clock", title: "Processing Your Request", description: "Please wait while we process your request. This may take a few moments. Do not close this window.", showCancel: false, showAction: false })] })] })] })); };
204
+ export var ButtonVariants = ButtonVariantsTemplate.bind({});
205
+ ButtonVariants.parameters = {
206
+ docs: {
207
+ source: {
208
+ code: null, // This hides the source code
209
+ },
210
+ },
211
+ };
212
+ // Story showing both padded and default icon variants side-by-side
213
+ export var CustomizeAlert = function () { return (_jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", color: "blue", children: "Customize Alert" }) }), _jsxs(AlertDialogContent, { color: "red", size: "md", children: [_jsxs(AlertDialogHeader, { children: [_jsx(LUIcon, { icon: "info", size: "9xl", color: "light-red", variant: "padded" }), _jsx(AlertDialogTitle, { children: _jsx(Heading, { variant: "h1-700", children: " Customize Alert Title" }) }), _jsx(AlertDialogDescription, { children: _jsx(Body, { variant: "body-xs", children: "This AlertDialog uses a Customize Alert Icon." }) })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { variant: "fill", color: "indigo", children: "Close" }), _jsx(AlertDialogAction, { variant: "outline", color: "light-green", children: "OK" })] })] })] })); };
@@ -0,0 +1,44 @@
1
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, alertDialogVariants, } from "./alert-dialog";
2
+ export { Alert, AlertAction, AlertCancel, AlertHeader, AlertTitle, AlertDescription, AlertFooter, } from "../Alert/alert";
3
+ import { alertDialogVariants } from "./alert-dialog";
4
+ export declare const colorOptions: Array<keyof typeof alertDialogVariants.color>;
5
+ export declare const sizeOptions: Array<keyof typeof alertDialogVariants.size>;
6
+ export declare const shadowOptions: Array<keyof typeof alertDialogVariants.shadow>;
7
+ export declare const variantOptions: Array<keyof typeof alertDialogVariants.variant>;
8
+ export declare const getButtonColor: (color: string) => string;
9
+ export declare const getIconForColor: (color: string) => "info" | "check" | "circle-exclamation" | "star";
10
+ export declare const getContentForColor: (color: string) => {
11
+ title: string;
12
+ description: string;
13
+ button: string;
14
+ };
15
+ export declare const sizeExamples: Array<{
16
+ size: keyof typeof alertDialogVariants.size;
17
+ triggerText: string;
18
+ title: string;
19
+ description: string;
20
+ icon: string;
21
+ cancelText: string;
22
+ actionText: string;
23
+ }>;
24
+ export declare const shadowExamples: Array<{
25
+ shadow: keyof typeof alertDialogVariants.shadow;
26
+ triggerText: string;
27
+ title: string;
28
+ description: string;
29
+ icon: string;
30
+ cancelText: string;
31
+ actionText: string;
32
+ }>;
33
+ export declare const realWorldExamples: Array<{
34
+ triggerText: string;
35
+ triggerColor: string;
36
+ size?: keyof typeof alertDialogVariants.size;
37
+ shadow?: keyof typeof alertDialogVariants.shadow;
38
+ color: keyof typeof alertDialogVariants.color;
39
+ icon: string;
40
+ title: string;
41
+ description: string;
42
+ cancelText: string;
43
+ actionText: string;
44
+ }>;
@@ -0,0 +1,189 @@
1
+ // Export the main AlertDialog components
2
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, alertDialogVariants, } from "./alert-dialog";
3
+ // Export the Alert components (non-modal version)
4
+ export { Alert, AlertAction, AlertCancel, AlertHeader, AlertTitle, AlertDescription, AlertFooter, } from "../Alert/alert";
5
+ // Utility imports
6
+ import { alertDialogVariants } from "./alert-dialog";
7
+ // Extract options dynamically from the component with proper typing
8
+ export var colorOptions = Object.keys(alertDialogVariants.color);
9
+ export var sizeOptions = Object.keys(alertDialogVariants.size);
10
+ export var shadowOptions = Object.keys(alertDialogVariants.shadow);
11
+ // Extract variant options dynamically from the component with proper typing
12
+ export var variantOptions = Object.keys(alertDialogVariants.variant);
13
+ // Utility functions
14
+ export var getButtonColor = function (color) {
15
+ if (color.includes("-dark")) {
16
+ var baseColor = color.replace("-dark", "");
17
+ return "light-".concat(baseColor);
18
+ }
19
+ return color;
20
+ };
21
+ export var getIconForColor = function (color) {
22
+ if (color.includes("red"))
23
+ return "circle-exclamation";
24
+ if (color.includes("green"))
25
+ return "check";
26
+ if (color.includes("yellow"))
27
+ return "circle-exclamation";
28
+ if (color.includes("indigo"))
29
+ return "star";
30
+ if (color.includes("gray"))
31
+ return "info";
32
+ return "info";
33
+ };
34
+ export var getContentForColor = function (color) {
35
+ if (color.includes("red"))
36
+ return {
37
+ title: "Delete Project",
38
+ description: "This will permanently delete 'Mobile App Redesign' project and all associated files. This action cannot be undone.",
39
+ button: "Delete Project",
40
+ };
41
+ if (color.includes("green"))
42
+ return {
43
+ title: "Deployment Successful",
44
+ description: "Your application has been successfully deployed to production. It's now live and accessible to users.",
45
+ button: "View Live Site",
46
+ };
47
+ if (color.includes("yellow"))
48
+ return {
49
+ title: "Storage Almost Full",
50
+ description: "Your account storage is 90% full. Consider upgrading your plan or removing unused files to avoid service interruption.",
51
+ button: "Upgrade Plan",
52
+ };
53
+ if (color.includes("indigo"))
54
+ return {
55
+ title: "Unlock Premium Features",
56
+ description: "Upgrade to Pro to access advanced analytics, unlimited projects, and priority support.",
57
+ button: "Upgrade to Pro",
58
+ };
59
+ if (color.includes("gray"))
60
+ return {
61
+ title: "Maintenance Scheduled",
62
+ description: "System maintenance is scheduled for tonight at 2:00 AM. Services will be unavailable for approximately 30 minutes.",
63
+ button: "Set Reminder",
64
+ };
65
+ return {
66
+ title: "Sync Data",
67
+ description: "Your local changes will be synchronized with the cloud. This may take a few minutes depending on your connection.",
68
+ button: "Start Sync",
69
+ };
70
+ };
71
+ // Size examples data
72
+ export var sizeExamples = [
73
+ {
74
+ size: "sm",
75
+ triggerText: "Small - Quick Action",
76
+ title: "Email Sent",
77
+ description: "Your message has been sent successfully.",
78
+ icon: "check",
79
+ cancelText: "Close",
80
+ actionText: "Send Another",
81
+ },
82
+ {
83
+ size: "md",
84
+ triggerText: "Medium - Standard Dialog",
85
+ title: "Invite Team Members",
86
+ description: "You're about to invite 5 new team members to your workspace. They will receive email invitations and gain access to all shared projects.",
87
+ icon: "users",
88
+ cancelText: "Cancel",
89
+ actionText: "Send Invitations",
90
+ },
91
+ {
92
+ size: "lg",
93
+ triggerText: "Large - Detailed Info",
94
+ title: "Privacy Settings Update",
95
+ description: "We've updated our privacy policy and terms of service to better protect your data and provide more transparency about how we collect and use your information. These changes will take effect on January 1st, 2025. Please review the updated policy to understand how these changes may affect you.",
96
+ icon: "lock",
97
+ cancelText: "Review Later",
98
+ actionText: "Read Policy",
99
+ },
100
+ ];
101
+ // Shadow examples data
102
+ export var shadowExamples = [
103
+ {
104
+ shadow: "none",
105
+ triggerText: "Flat Design - No Shadow",
106
+ title: "Enable Notifications",
107
+ description: "Stay updated with real-time notifications about your projects, messages, and important updates.",
108
+ icon: "bell",
109
+ cancelText: "Not Now",
110
+ actionText: "Enable",
111
+ },
112
+ {
113
+ shadow: "lg",
114
+ triggerText: "With Shadow - Elevated",
115
+ title: "Payment Method Added",
116
+ description: "Your credit card ending in 4242 has been successfully added to your account. You can now make purchases and upgrade your subscription.",
117
+ icon: "credit-card",
118
+ cancelText: "Close",
119
+ actionText: "View Billing",
120
+ },
121
+ ];
122
+ // Real-world examples data
123
+ export var realWorldExamples = [
124
+ {
125
+ triggerText: "Delete Account",
126
+ triggerColor: "light-red",
127
+ size: "md",
128
+ shadow: "lg",
129
+ color: "red",
130
+ icon: "trash",
131
+ title: "Delete Account",
132
+ description: "This will permanently delete your account, including all projects, files, and settings. Your username will become available for others to use. This action cannot be undone.",
133
+ cancelText: "Keep Account",
134
+ actionText: "Delete Forever",
135
+ },
136
+ {
137
+ triggerText: "Payment Success",
138
+ triggerColor: "light-green",
139
+ color: "green",
140
+ icon: "check",
141
+ title: "Payment Successful",
142
+ description: "Your payment of $29.99 for Pro Plan has been processed successfully. Your account has been upgraded and new features are now available.",
143
+ cancelText: "Close",
144
+ actionText: "Explore Features",
145
+ },
146
+ {
147
+ triggerText: "Low Battery Warning",
148
+ triggerColor: "yellow",
149
+ size: "sm",
150
+ color: "yellow",
151
+ icon: "circle-exclamation",
152
+ title: "Low Battery",
153
+ description: "Your device battery is running low. Please connect your charger to continue using the application.",
154
+ cancelText: "Dismiss",
155
+ actionText: "Power Settings",
156
+ },
157
+ {
158
+ triggerText: "File Upload Success",
159
+ triggerColor: "blue",
160
+ color: "blue",
161
+ icon: "upload",
162
+ title: "File Uploaded Successfully",
163
+ description: "presentation-final-v2.pptx (4.2 MB) has been uploaded to your Documents folder and is now syncing across all your devices.",
164
+ cancelText: "Close",
165
+ actionText: "View File",
166
+ },
167
+ {
168
+ triggerText: "Subscription Expiring",
169
+ triggerColor: "light-indigo",
170
+ size: "lg",
171
+ shadow: "lg",
172
+ color: "indigo",
173
+ icon: "clock",
174
+ title: "Subscription Expiring Soon",
175
+ description: "Your Pro subscription will expire in 3 days on August 21, 2025. Renew now to continue enjoying unlimited projects, advanced features, and priority support without interruption.",
176
+ cancelText: "Remind Later",
177
+ actionText: "Renew Now",
178
+ },
179
+ {
180
+ triggerText: "Connection Lost",
181
+ triggerColor: "gray",
182
+ color: "gray",
183
+ icon: "wifi",
184
+ title: "Connection Lost",
185
+ description: "Unable to connect to the server. Please check your internet connection and try again. Your work has been saved locally.",
186
+ cancelText: "Work Offline",
187
+ actionText: "Retry Connection",
188
+ },
189
+ ];
@@ -1,3 +1,12 @@
1
- import { AvatarProps } from "./type";
2
- declare const Avatar: ({ image, icon, shape, size, className, }: AvatarProps) => import("react/jsx-runtime").JSX.Element;
3
- export default Avatar;
1
+ import * as React from "react";
2
+ import * as AvatarPrimitive from "@radix-ui/react-avatar";
3
+ import { avatarSize, avatarShape } from ".";
4
+ import { statusIndicator } from "../StatusIndicator";
5
+ declare const Avatar: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarProps & React.RefAttributes<HTMLSpanElement>, "ref"> & {
6
+ size?: keyof typeof avatarSize;
7
+ shape?: keyof typeof avatarShape;
8
+ status?: keyof typeof statusIndicator;
9
+ } & React.RefAttributes<HTMLSpanElement>>;
10
+ declare const AvatarImage: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarImageProps & React.RefAttributes<HTMLImageElement>, "ref"> & React.RefAttributes<HTMLImageElement>>;
11
+ declare const AvatarFallback: React.ForwardRefExoticComponent<AvatarPrimitive.AvatarFallbackProps & React.RefAttributes<HTMLSpanElement>>;
12
+ export { Avatar, AvatarImage, AvatarFallback };
@@ -1,12 +1,50 @@
1
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
- import Image from "next/image";
3
- import { avatarPadding, avatarSize, avatarShape } from ".";
4
- import LUIcon from "../../../components/Icons/LUIcon";
5
- var Avatar = function (_a) {
6
- var image = _a.image, _b = _a.icon, icon = _b === void 0 ? "user" : _b, _c = _a.shape, shape = _c === void 0 ? "square" : _c, _d = _a.size, size = _d === void 0 ? "md" : _d, className = _a.className;
7
- var sizeClasses = avatarSize[size];
8
- var paddingClass = avatarPadding[size];
9
- return (_jsx(_Fragment, { children: image ? (_jsx("div", { className: "relative overflow-hidden bg-blue-200 ".concat(avatarShape[shape], " ").concat(className, " ").concat(sizeClasses), "data-testid": "lu-avatar", children: _jsx(Image, { src: image, alt: "avatar", className: "object-cover w-full h-full", width: 0, height: 0, sizes: "100%" //Image takes 100% of the parent container
10
- }) })) : (_jsx("div", { className: "bg-gray-100 ".concat(paddingClass, " ").concat(avatarShape[shape], " ").concat(className, " ").concat(sizeClasses), "data-testid": "lu-icon", children: _jsx(LUIcon, { "data-testid": "lu-icon", size: size, icon: icon, className: "text-gray-950 w-full h-full" }) })) }));
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
11
  };
12
- export default Avatar;
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, jsxs as _jsxs } from "react/jsx-runtime";
24
+ import * as React from "react";
25
+ import * as AvatarPrimitive from "@radix-ui/react-avatar";
26
+ import { cn } from "../../../lib/utils";
27
+ import { avatarSize, avatarShape, statusIndicatorSize, statusIndicatorOffset, roundedStatusIndicatorOffset, } from ".";
28
+ import { StatusIndicator } from "../StatusIndicator/StatusIndicator";
29
+ var AvatarContext = React.createContext({ size: "md", shape: "rounded" });
30
+ var Avatar = React.forwardRef(function (_a, ref) {
31
+ var _b;
32
+ var className = _a.className, _c = _a.size, size = _c === void 0 ? "md" : _c, _d = _a.shape, shape = _d === void 0 ? "rounded" : _d, status = _a.status, children = _a.children, props = __rest(_a, ["className", "size", "shape", "status", "children"]);
33
+ return (_jsx(AvatarPrimitive.Root, __assign({ ref: ref, className: cn("relative flex shrink-0", className, avatarSize[size], typeof avatarShape[shape] === "string"
34
+ ? avatarShape[shape]
35
+ : (_b = avatarShape[shape]) === null || _b === void 0 ? void 0 : _b[size]), "data-size": size, "data-shape": shape }, props, { children: _jsxs(AvatarContext.Provider, { value: { size: size, shape: shape }, children: [children, status && (_jsx(StatusIndicator, { status: status, size: statusIndicatorSize[size], className: cn("absolute", shape === "rounded"
36
+ ? roundedStatusIndicatorOffset[size]
37
+ : statusIndicatorOffset[size]) }))] }) })));
38
+ });
39
+ Avatar.displayName = AvatarPrimitive.Root.displayName;
40
+ var AvatarImage = React.forwardRef(function (_a, ref) {
41
+ var className = _a.className, props = __rest(_a, ["className"]);
42
+ return (_jsx(AvatarPrimitive.Image, __assign({ ref: ref, className: cn("aspect-square h-full w-full bg-blue-100 rounded-[inherit]", className) }, props)));
43
+ });
44
+ AvatarImage.displayName = AvatarPrimitive.Image.displayName;
45
+ var AvatarFallback = React.forwardRef(function (_a, ref) {
46
+ var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
47
+ return (_jsx(AvatarPrimitive.Fallback, __assign({ ref: ref, className: cn("flex h-full w-full items-center justify-center bg-blue-100 font-medium leading-normal rounded-[inherit]", className) }, props, { children: children })));
48
+ });
49
+ AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
50
+ export { Avatar, AvatarImage, AvatarFallback };