linkedunion-design-kit 1.11.6 → 1.11.8

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 (258) hide show
  1. package/dist/app/layout.d.ts +1 -1
  2. package/dist/app/{layout.js → layout.jsx} +3 -2
  3. package/dist/app/page.d.ts +1 -1
  4. package/dist/app/page.jsx +5 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.js +3 -0
  7. package/dist/src/components/Accordion/Accordion.stories.jsx +33 -0
  8. package/dist/src/components/Accordion/accordion.d.ts +4 -4
  9. package/dist/src/components/Accordion/{accordion.js → accordion.jsx} +11 -16
  10. package/dist/src/components/Alerts/Alert/alert.d.ts +7 -7
  11. package/dist/src/components/Alerts/Alert/{alert.js → alert.jsx} +21 -25
  12. package/dist/src/components/Alerts/Alert/alert.stories.d.ts +8 -8
  13. package/dist/src/components/Alerts/Alert/alert.stories.jsx +344 -0
  14. package/dist/src/components/Alerts/AlertDialog/alert-dialog.d.ts +11 -11
  15. package/dist/src/components/Alerts/AlertDialog/{alert-dialog.js → alert-dialog.jsx} +26 -24
  16. package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.d.ts +10 -10
  17. package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.jsx +552 -0
  18. package/dist/src/components/AppIcons/AndroidIcon.jsx +24 -0
  19. package/dist/src/components/AppIcons/{AppIcon.js → AppIcon.jsx} +4 -15
  20. package/dist/src/components/AppIcons/AppleIcon.jsx +31 -0
  21. package/dist/src/components/AppIcons/PlayStoreIcon.jsx +29 -0
  22. package/dist/src/components/Avatar/Avatar/{Avatar.js → Avatar.jsx} +13 -18
  23. package/dist/src/components/Avatar/Avatar/Avatar.stories.d.ts +7 -7
  24. package/dist/src/components/Avatar/Avatar/Avatar.stories.jsx +95 -0
  25. package/dist/src/components/Avatar/Avatar/{Avatar.test.js → Avatar.test.jsx} +1 -2
  26. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.d.ts +1 -1
  27. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.jsx +17 -0
  28. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.jsx +32 -0
  29. package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.jsx +20 -0
  30. package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.stories.d.ts +2 -2
  31. package/dist/src/components/Avatar/StatusIndicator/{StatusIndicator.stories.js → StatusIndicator.stories.jsx} +12 -3
  32. package/dist/src/components/Badge/Badge.d.ts +1 -1
  33. package/dist/src/components/Badge/{Badge.js → Badge.jsx} +8 -13
  34. package/dist/src/components/Badge/Badge.stories.d.ts +10 -10
  35. package/dist/src/components/Badge/Badge.stories.jsx +201 -0
  36. package/dist/src/components/Button/Button/Button.d.ts +3 -2
  37. package/dist/src/components/Button/Button/{Button.js → Button.jsx} +24 -8
  38. package/dist/src/components/Button/Button/Button.stories.d.ts +5 -3
  39. package/dist/src/components/Button/Button/{Button.stories.js → Button.stories.jsx} +1 -13
  40. package/dist/src/components/Button/Button/Button.test.jsx +73 -0
  41. package/dist/src/components/Button/IconButton/IconButton.d.ts +1 -1
  42. package/dist/src/components/Button/IconButton/{IconButton.js → IconButton.jsx} +4 -13
  43. package/dist/src/components/Button/IconButton/IconButton.stories.d.ts +1 -1
  44. package/dist/src/components/Button/IconButton/{IconButton.stories.js → IconButton.stories.jsx} +1 -13
  45. package/dist/src/components/Button/IconButton/{IconButton.test.js → IconButton.test.jsx} +5 -6
  46. package/dist/src/components/Button/index.d.ts +1 -0
  47. package/dist/src/components/Button/index.js +3 -2
  48. package/dist/src/components/Card/MultipleNews/MultiNews.d.ts +1 -1
  49. package/dist/src/components/Card/MultipleNews/MultiNews.jsx +71 -0
  50. package/dist/src/components/Card/MultipleNews/{MultiNews.stories.js → MultiNews.stories.jsx} +1 -2
  51. package/dist/src/components/Card/PostByCategory/PostByCategory.d.ts +1 -1
  52. package/dist/src/components/Card/PostByCategory/PostByCategory.jsx +57 -0
  53. package/dist/src/components/Card/PostByCategory/{PostByCategory.stories.js → PostByCategory.stories.jsx} +1 -2
  54. package/dist/src/components/Card/SinglePost/SinglePost.d.ts +1 -1
  55. package/dist/src/components/Card/SinglePost/SinglePost.jsx +26 -0
  56. package/dist/src/components/Card/card.d.ts +2 -1
  57. package/dist/src/components/Card/{card.js → card.jsx} +2 -13
  58. package/dist/src/components/Card/contactProfile/ContactProfile.d.ts +1 -1
  59. package/dist/src/components/Card/contactProfile/ContactProfile.jsx +76 -0
  60. package/dist/src/components/Card/contactProfile/{ContactProfile.stories.js → ContactProfile.stories.jsx} +1 -2
  61. package/dist/src/components/Card/photoAlbum/PhotoAlbum.d.ts +1 -1
  62. package/dist/src/components/Card/photoAlbum/PhotoAlbum.jsx +41 -0
  63. package/dist/src/components/Card/photoAlbum/{PhotoAlbum.stories.js → PhotoAlbum.stories.jsx} +1 -13
  64. package/dist/src/components/Card/photoGallery/PhotoGallery.d.ts +1 -1
  65. package/dist/src/components/Card/photoGallery/PhotoGallery.jsx +17 -0
  66. package/dist/src/components/Card/photoGallery/{PhotoGallery.stories.js → PhotoGallery.stories.jsx} +1 -13
  67. package/dist/src/components/Checkbox/checkbox.d.ts +1 -1
  68. package/dist/src/components/Checkbox/{checkbox.js → checkbox.jsx} +6 -13
  69. package/dist/src/components/Checkbox/checkbox.stories.jsx +113 -0
  70. package/dist/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  71. package/dist/src/components/ColorPicker/{ColorPicker.js → ColorPicker.jsx} +6 -13
  72. package/dist/src/components/ColorPicker/ColorPicker.stories.d.ts +5 -5
  73. package/dist/src/components/ColorPicker/ColorPicker.stories.jsx +138 -0
  74. package/dist/src/components/Colors/color.d.ts +1 -1
  75. package/dist/src/components/Colors/{color.js → color.jsx} +1 -2
  76. package/dist/src/components/Colors/color.stories.jsx +20 -0
  77. package/dist/src/components/Colors/{color.test.js → color.test.jsx} +3 -4
  78. package/dist/src/components/DatePicker/DatePicker.d.ts +1 -1
  79. package/dist/src/components/DatePicker/DatePicker.jsx +67 -0
  80. package/dist/src/components/DatePicker/DatePicker.stories.d.ts +9 -9
  81. package/dist/src/components/DatePicker/DatePicker.stories.jsx +291 -0
  82. package/dist/src/components/DateRangePicker/DateRangePicker.d.ts +1 -1
  83. package/dist/src/components/DateRangePicker/{DateRangePicker.js → DateRangePicker.jsx} +92 -44
  84. package/dist/src/components/DateRangePicker/DateRangePicker.stories.d.ts +19 -19
  85. package/dist/src/components/DateRangePicker/DateRangePicker.stories.jsx +582 -0
  86. package/dist/src/components/Dropdown/Combobox/Combobox.d.ts +1 -1
  87. package/dist/src/components/Dropdown/Combobox/{Combobox.js → Combobox.jsx} +67 -29
  88. package/dist/src/components/Dropdown/Combobox/Combobox.stories.d.ts +8 -8
  89. package/dist/src/components/Dropdown/Combobox/Combobox.stories.jsx +289 -0
  90. package/dist/src/components/Dropdown/Combobox/dialog.d.ts +10 -10
  91. package/dist/src/components/Dropdown/Combobox/dialog.jsx +66 -0
  92. package/dist/src/components/Dropdown/Combobox/utils/renderBadge.jsx +7 -0
  93. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.d.ts +7 -3
  94. package/dist/src/components/Dropdown/DropdownMenu/{DropdownMenu.js → DropdownMenu.jsx} +29 -22
  95. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.d.ts +19 -12
  96. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.jsx +552 -0
  97. package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.jsx +19 -0
  98. package/dist/src/components/Dropdown/DropdownMenu/index.d.ts +5 -0
  99. package/dist/src/components/Dropdown/DropdownMenu/index.js +5 -0
  100. package/dist/src/components/Dropdown/Select.stories.d.ts +7 -6
  101. package/dist/src/components/Dropdown/{Select.stories.js → Select.stories.jsx} +71 -8
  102. package/dist/src/components/Dropdown/select.d.ts +10 -10
  103. package/dist/src/components/Dropdown/select.jsx +94 -0
  104. package/dist/src/components/Icons/LUIcon.d.ts +1 -1
  105. package/dist/src/components/Icons/{LUIcon.js → LUIcon.jsx} +10 -13
  106. package/dist/src/components/Icons/stories/IconDropdown.jsx +67 -0
  107. package/dist/src/components/Icons/stories/IconGallery.jsx +77 -0
  108. package/dist/src/components/Icons/stories/InteractiveIconSelector.jsx +86 -0
  109. package/dist/src/components/Icons/stories/LUIcon.stories.d.ts +5 -5
  110. package/dist/src/components/Icons/stories/{LUIcon.stories.js → LUIcon.stories.jsx} +23 -8
  111. package/dist/src/components/ImageUploader/imageUploader.d.ts +1 -1
  112. package/dist/src/components/ImageUploader/{imageUploader.js → imageUploader.jsx} +28 -13
  113. package/dist/src/components/Images/LuImage.d.ts +1 -1
  114. package/dist/src/components/Images/{LuImage.js → LuImage.jsx} +1 -13
  115. package/dist/src/components/Images/{LuImage.stories.js → LuImage.stories.jsx} +1 -13
  116. package/dist/src/components/Images/{LuImage.test.js → LuImage.test.jsx} +6 -18
  117. package/dist/src/components/Input/Input.stories.d.ts +9 -8
  118. package/dist/src/components/Input/Input.stories.jsx +250 -0
  119. package/dist/src/components/Input/input.d.ts +1 -1
  120. package/dist/src/components/Input/{input.js → input.jsx} +10 -13
  121. package/dist/src/components/Label/Label.d.ts +1 -1
  122. package/dist/src/components/Label/{Label.js → Label.jsx} +2 -13
  123. package/dist/src/components/Label/{Label.stories.js → Label.stories.jsx} +1 -13
  124. package/dist/src/components/Modal/Modal.d.ts +3 -3
  125. package/dist/src/components/Modal/{Modal.js → Modal.jsx} +20 -19
  126. package/dist/src/components/Modal/Modal.stories.d.ts +15 -15
  127. package/dist/src/components/Modal/Modal.stories.jsx +487 -0
  128. package/dist/src/components/Pagination/pagination.d.ts +5 -5
  129. package/dist/src/components/Pagination/{pagination.js → pagination.jsx} +18 -21
  130. package/dist/src/components/Pagination/pagination.stories.d.ts +6 -6
  131. package/dist/src/components/Pagination/pagination.stories.jsx +301 -0
  132. package/dist/src/components/RadioGroup/{RadioGroup.stories.js → RadioGroup.stories.jsx} +52 -22
  133. package/dist/src/components/RadioGroup/radio-group.d.ts +1 -1
  134. package/dist/src/components/RadioGroup/{radio-group.js → radio-group.jsx} +6 -14
  135. package/dist/src/components/Separator/Separator.stories.d.ts +15 -0
  136. package/dist/src/components/Separator/Separator.stories.jsx +94 -0
  137. package/dist/src/components/Separator/index.d.ts +1 -0
  138. package/dist/src/components/Separator/index.js +1 -0
  139. package/dist/src/components/Separator/separator.d.ts +4 -0
  140. package/dist/src/components/Separator/separator.jsx +20 -0
  141. package/dist/src/components/Sheet/index.d.ts +1 -0
  142. package/dist/src/components/Sheet/index.js +1 -0
  143. package/dist/src/components/Sheet/sheet.d.ts +25 -0
  144. package/dist/src/components/Sheet/sheet.jsx +73 -0
  145. package/dist/src/components/Sheet/sheet.stories.d.ts +4 -0
  146. package/dist/src/components/Sheet/sheet.stories.jsx +34 -0
  147. package/dist/src/components/Skeleton/skeleton.d.ts +14 -14
  148. package/dist/src/components/Skeleton/{skeleton.js → skeleton.jsx} +23 -27
  149. package/dist/src/components/Skeleton/skeleton.stories.d.ts +14 -14
  150. package/dist/src/components/Skeleton/skeleton.stories.jsx +734 -0
  151. package/dist/src/components/Slider/slider.d.ts +1 -1
  152. package/dist/src/components/Slider/slider.jsx +31 -0
  153. package/dist/src/components/SweetAlert/SweetAlert.d.ts +9 -9
  154. package/dist/src/components/SweetAlert/{SweetAlert.js → SweetAlert.jsx} +18 -21
  155. package/dist/src/components/SweetAlert/SweetAlert.stories.d.ts +7 -7
  156. package/dist/src/components/SweetAlert/{SweetAlert.stories.js → SweetAlert.stories.jsx} +215 -15
  157. package/dist/src/components/Switch/{Switch.stories.js → Switch.stories.jsx} +1 -13
  158. package/dist/src/components/Switch/switch.d.ts +1 -1
  159. package/dist/src/components/Switch/{switch.js → switch.jsx} +4 -13
  160. package/dist/src/components/Table/{Table.js → Table.jsx} +111 -58
  161. package/dist/src/components/Table/Table.stories.d.ts +13 -13
  162. package/dist/src/components/Table/{Table.stories.js → Table.stories.jsx} +299 -45
  163. package/dist/src/components/Table/{Table.test.js → Table.test.jsx} +39 -7
  164. package/dist/src/components/Tabs/{Tabs.stories.js → Tabs.stories.jsx} +10 -3
  165. package/dist/src/components/Tabs/tabs.d.ts +4 -4
  166. package/dist/src/components/Tabs/tabs.jsx +32 -0
  167. package/dist/src/components/TimePicker/TimePicker.d.ts +1 -1
  168. package/dist/src/components/TimePicker/{TimePicker.js → TimePicker.jsx} +54 -30
  169. package/dist/src/components/TimePicker/TimePicker.stories.d.ts +10 -10
  170. package/dist/src/components/TimePicker/TimePicker.stories.jsx +298 -0
  171. package/dist/src/components/Title/Title.d.ts +1 -1
  172. package/dist/src/components/Title/{Title.js → Title.jsx} +2 -2
  173. package/dist/src/components/Title/{Title.stories.js → Title.stories.jsx} +1 -13
  174. package/dist/src/components/Title/{Title.test.js → Title.test.jsx} +4 -5
  175. package/dist/src/components/ToolTip/Tooltip.d.ts +1 -1
  176. package/dist/src/components/ToolTip/Tooltip.jsx +18 -0
  177. package/dist/src/components/ToolTip/{Tooltip.stories.js → Tooltip.stories.jsx} +2 -14
  178. package/dist/src/components/Typography/Body/{Body.stories.js → Body.stories.jsx} +1 -13
  179. package/dist/src/components/Typography/Body/body.d.ts +1 -1
  180. package/dist/src/components/Typography/Body/{body.js → body.jsx} +4 -13
  181. package/dist/src/components/Typography/Caption/{Caption.stories.js → Caption.stories.jsx} +1 -13
  182. package/dist/src/components/Typography/Caption/caption.d.ts +1 -1
  183. package/dist/src/components/Typography/Caption/{caption.js → caption.jsx} +4 -13
  184. package/dist/src/components/Typography/Display/{Display.stories.js → Display.stories.jsx} +1 -13
  185. package/dist/src/components/Typography/Display/display.d.ts +1 -1
  186. package/dist/src/components/Typography/Display/{display.js → display.jsx} +4 -13
  187. package/dist/src/components/Typography/Heading/Heading.stories.d.ts +6 -6
  188. package/dist/src/components/Typography/Heading/Heading.stories.jsx +85 -0
  189. package/dist/src/components/Typography/Heading/{heading.js → heading.jsx} +5 -14
  190. package/dist/src/components/VerticalTabs/{VerticalTabs.js → VerticalTabs.jsx} +9 -17
  191. package/dist/src/components/VerticalTabs/VerticalTabs.stories.jsx +154 -0
  192. package/dist/src/components/VerticalTabs/VerticalTabs.test.jsx +97 -0
  193. package/dist/src/components/ui/calendar.d.ts +2 -2
  194. package/dist/src/components/ui/{calendar.js → calendar.jsx} +36 -22
  195. package/dist/src/components/ui/command.d.ts +9 -9
  196. package/dist/src/components/ui/command.jsx +67 -0
  197. package/dist/src/components/ui/popover.d.ts +4 -4
  198. package/dist/src/components/ui/popover.jsx +33 -0
  199. package/dist/src/components/ui/tooltip.d.ts +4 -4
  200. package/dist/src/components/ui/tooltip.jsx +38 -0
  201. package/dist/src/components/ui/typography.d.ts +1 -1
  202. package/dist/src/components/ui/{typography.js → typography.jsx} +4 -13
  203. package/dist/styles/global.css +107 -5
  204. package/package.json +4 -3
  205. package/dist/app/page.js +0 -4
  206. package/dist/src/components/Accordion/Accordion.stories.js +0 -32
  207. package/dist/src/components/Alerts/Alert/alert.stories.js +0 -166
  208. package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.js +0 -213
  209. package/dist/src/components/AppIcons/AndroidIcon.js +0 -28
  210. package/dist/src/components/AppIcons/AppleIcon.js +0 -28
  211. package/dist/src/components/AppIcons/PlayStoreIcon.js +0 -28
  212. package/dist/src/components/Avatar/Avatar/Avatar.stories.js +0 -69
  213. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.js +0 -8
  214. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.js +0 -14
  215. package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.js +0 -18
  216. package/dist/src/components/Badge/Badge.stories.js +0 -145
  217. package/dist/src/components/Button/Button/Button.test.js +0 -10
  218. package/dist/src/components/Card/MultipleNews/MultiNews.js +0 -46
  219. package/dist/src/components/Card/PostByCategory/PostByCategory.js +0 -37
  220. package/dist/src/components/Card/SinglePost/SinglePost.js +0 -10
  221. package/dist/src/components/Card/contactProfile/ContactProfile.js +0 -39
  222. package/dist/src/components/Card/photoAlbum/PhotoAlbum.js +0 -16
  223. package/dist/src/components/Card/photoGallery/PhotoGallery.js +0 -8
  224. package/dist/src/components/Checkbox/checkbox.stories.js +0 -78
  225. package/dist/src/components/ColorPicker/ColorPicker.stories.js +0 -77
  226. package/dist/src/components/Colors/color.stories.js +0 -32
  227. package/dist/src/components/DatePicker/DatePicker.js +0 -64
  228. package/dist/src/components/DatePicker/DatePicker.stories.js +0 -171
  229. package/dist/src/components/DateRangePicker/DateRangePicker.stories.js +0 -318
  230. package/dist/src/components/Dropdown/Combobox/Combobox.stories.js +0 -225
  231. package/dist/src/components/Dropdown/Combobox/dialog.js +0 -68
  232. package/dist/src/components/Dropdown/Combobox/utils/renderBadge.js +0 -5
  233. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.js +0 -253
  234. package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.js +0 -9
  235. package/dist/src/components/Dropdown/select.js +0 -87
  236. package/dist/src/components/Icons/stories/IconDropdown.js +0 -38
  237. package/dist/src/components/Icons/stories/IconGallery.js +0 -31
  238. package/dist/src/components/Icons/stories/InteractiveIconSelector.js +0 -26
  239. package/dist/src/components/Input/Input.stories.js +0 -133
  240. package/dist/src/components/Modal/Modal.stories.js +0 -115
  241. package/dist/src/components/Pagination/pagination.stories.js +0 -168
  242. package/dist/src/components/Skeleton/skeleton.stories.js +0 -414
  243. package/dist/src/components/Slider/slider.js +0 -38
  244. package/dist/src/components/Tabs/tabs.js +0 -43
  245. package/dist/src/components/TimePicker/TimePicker.stories.js +0 -176
  246. package/dist/src/components/ToolTip/Tooltip.js +0 -8
  247. package/dist/src/components/Typography/Heading/Heading.stories.js +0 -67
  248. package/dist/src/components/VerticalTabs/VerticalTabs.stories.js +0 -100
  249. package/dist/src/components/VerticalTabs/VerticalTabs.test.js +0 -48
  250. package/dist/src/components/ui/command.js +0 -65
  251. package/dist/src/components/ui/popover.js +0 -42
  252. package/dist/src/components/ui/tooltip.js +0 -42
  253. /package/dist/src/components/AppIcons/{AppIcon.stories.js → AppIcon.stories.jsx} +0 -0
  254. /package/dist/src/components/Card/SinglePost/{SinglePost.stories.js → SinglePost.stories.jsx} +0 -0
  255. /package/dist/src/components/Icons/{LUIcon.test.js → LUIcon.test.jsx} +0 -0
  256. /package/dist/src/components/ImageUploader/{ImageUploader.stories.js → ImageUploader.stories.jsx} +0 -0
  257. /package/dist/src/components/Slider/{Slider.stories.js → Slider.stories.jsx} +0 -0
  258. /package/dist/src/components/ui/{collapsible.js → collapsible.jsx} +0 -0
@@ -1,4 +1,3 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
1
  import { Select, SelectTrigger, SelectContent, SelectItem, SelectGroup, SelectLabel, SelectSeparator, SelectValue, } from "./select";
3
2
  import { selectColor, selectShape, selectSize, selectType, } from ".";
4
3
  import LUIcon from "../Icons/LUIcon";
@@ -89,7 +88,14 @@ var meta = {
89
88
  },
90
89
  };
91
90
  export default meta;
92
- export var Default = function (args) { return (_jsxs(Select, { disabled: args.disabled, onValueChange: args.onValueChange, children: [_jsx(SelectTrigger, { size: args.size, shape: args.shape, variant: args.variant, color: args.color, disabled: args.disabled, children: _jsx(SelectValue, { placeholder: args.placeholder }) }), _jsx(SelectContent, { children: _jsx(SelectItem, { value: "one", children: "One" }) })] })); };
91
+ export var Default = function (args) { return (<Select disabled={args.disabled} onValueChange={args.onValueChange}>
92
+ <SelectTrigger size={args.size} shape={args.shape} variant={args.variant} color={args.color} disabled={args.disabled}>
93
+ <SelectValue placeholder={args.placeholder}/>
94
+ </SelectTrigger>
95
+ <SelectContent>
96
+ <SelectItem value="one">One</SelectItem>
97
+ </SelectContent>
98
+ </Select>); };
93
99
  export var Group = function () {
94
100
  var groupedOptions = [
95
101
  {
@@ -108,9 +114,25 @@ export var Group = function () {
108
114
  ],
109
115
  },
110
116
  ];
111
- return (_jsxs(Select, { onValueChange: function (value) {
117
+ return (<Select onValueChange={function (value) {
112
118
  console.log("Select value changed:", value);
113
- }, defaultValue: "apple", children: [_jsx(SelectTrigger, { color: "default", size: "md", shape: "rectangular", variant: "fill", disabled: false, children: _jsx(SelectValue, { placeholder: "Select Option" }) }), _jsx(SelectContent, { children: _jsx(SelectGroup, { children: groupedOptions.map(function (group, idx) { return (_jsxs(React.Fragment, { children: [_jsx(SelectLabel, { children: group.label }), group.items.map(function (item) { return (_jsxs(SelectItem, { value: item.value, children: [item.icon && (_jsx(LUIcon, { icon: item.icon, size: "sm" })), item.label] }, item.value)); }), idx < groupedOptions.length - 1 && _jsx(SelectSeparator, {})] }, group.label)); }) }) })] }));
119
+ }} defaultValue={"apple"}>
120
+ <SelectTrigger color="default" size="md" shape="rectangular" variant="fill" disabled={false}>
121
+ <SelectValue placeholder="Select Option"/>
122
+ </SelectTrigger>
123
+ <SelectContent>
124
+ <SelectGroup>
125
+ {groupedOptions.map(function (group, idx) { return (<React.Fragment key={group.label}>
126
+ <SelectLabel>{group.label}</SelectLabel>
127
+ {group.items.map(function (item) { return (<SelectItem value={item.value} key={item.value}>
128
+ {item.icon && (<LUIcon icon={item.icon} size="sm"/>)}
129
+ {item.label}
130
+ </SelectItem>); })}
131
+ {idx < groupedOptions.length - 1 && <SelectSeparator />}
132
+ </React.Fragment>); })}
133
+ </SelectGroup>
134
+ </SelectContent>
135
+ </Select>);
114
136
  };
115
137
  export var KeyValue = function () {
116
138
  var backendOptions = [
@@ -120,7 +142,17 @@ export var KeyValue = function () {
120
142
  { key: "uk", label: "United Kingdom", icon: "check" },
121
143
  { key: "fr", label: "France", icon: "star" },
122
144
  ];
123
- return (_jsxs(Select, { disabled: false, children: [_jsx(SelectTrigger, { size: "md", shape: "rectangular", variant: "fill", color: "default", disabled: false, children: _jsx(SelectValue, { placeholder: "Select a country" }) }), _jsx(SelectContent, { children: backendOptions.map(function (option) { return (_jsxs(SelectItem, { value: option.key, children: [option.icon && (_jsx(LUIcon, { icon: option.icon, size: "sm", className: "mr-2" })), option.label] }, option.key)); }) })] }));
145
+ return (<Select disabled={false}>
146
+ <SelectTrigger size="md" shape="rectangular" variant="fill" color="default" disabled={false}>
147
+ <SelectValue placeholder={"Select a country"}/>
148
+ </SelectTrigger>
149
+ <SelectContent>
150
+ {backendOptions.map(function (option) { return (<SelectItem key={option.key} value={option.key}>
151
+ {option.icon && (<LUIcon icon={option.icon} size="sm" className="mr-2"/>)}
152
+ {option.label}
153
+ </SelectItem>); })}
154
+ </SelectContent>
155
+ </Select>);
124
156
  };
125
157
  KeyValue.story = {
126
158
  parameters: {
@@ -131,8 +163,39 @@ KeyValue.story = {
131
163
  },
132
164
  },
133
165
  };
134
- export var Disabled = function (args) { return (_jsxs(Select, { disabled: args.disabled, onValueChange: args.onValueChange, children: [_jsx(SelectTrigger, { disabled: args.disabled || true, shape: args.shape, variant: args.variant, color: args.color, children: _jsx(SelectValue, { placeholder: args.placeholder || "Disabled select" }) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "a", children: "A" }), _jsx(SelectItem, { value: "b", children: "B" })] })] })); };
166
+ export var Disabled = function (args) { return (<Select disabled={args.disabled} onValueChange={args.onValueChange}>
167
+ <SelectTrigger disabled={args.disabled || true} shape={args.shape} variant={args.variant} color={args.color}>
168
+ <SelectValue placeholder={args.placeholder || "Disabled select"}/>
169
+ </SelectTrigger>
170
+ <SelectContent>
171
+ <SelectItem value="a">A</SelectItem>
172
+ <SelectItem value="b">B</SelectItem>
173
+ </SelectContent>
174
+ </Select>); };
135
175
  // Story: Large Dropdown with many items
136
- export var LargeDropdown = function () { return (_jsxs(Select, { disabled: false, children: [_jsx(SelectTrigger, { size: "lg", disabled: false, children: _jsx(SelectValue, { placeholder: "Select a country" }) }), _jsx(SelectContent, { children: _jsxs(SelectGroup, { children: [_jsx(SelectLabel, { children: "Options" }), Array.from({ length: 10 }, function (_, i) { return (_jsxs(SelectItem, { value: "option-".concat(i + 1), children: ["Option ", i + 1] }, i)); })] }) })] })); };
176
+ export var LargeDropdown = function () { return (<Select disabled={false}>
177
+ <SelectTrigger size="lg" disabled={false}>
178
+ <SelectValue placeholder="Select a country"/>
179
+ </SelectTrigger>
180
+ <SelectContent>
181
+ <SelectGroup>
182
+ <SelectLabel>Options</SelectLabel>
183
+ {Array.from({ length: 10 }, function (_, i) { return (<SelectItem key={i} value={"option-".concat(i + 1)}>
184
+ Option {i + 1}
185
+ </SelectItem>); })}
186
+ </SelectGroup>
187
+ </SelectContent>
188
+ </Select>); };
137
189
  // Story: Select with a disabled item
138
- export var WithDisabledItem = function () { return (_jsxs(Select, { children: [_jsx(SelectTrigger, { size: "md", children: _jsx(SelectValue, { placeholder: "Select an option" }) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "enabled-1", children: "Enabled Option 1" }), _jsx(SelectItem, { value: "disabled-2", disabled: true, children: "Disabled Option" }), _jsx(SelectItem, { value: "enabled-3", children: "Enabled Option 2" })] })] })); };
190
+ export var WithDisabledItem = function () { return (<Select>
191
+ <SelectTrigger size="md">
192
+ <SelectValue placeholder="Select an option"/>
193
+ </SelectTrigger>
194
+ <SelectContent>
195
+ <SelectItem value="enabled-1">Enabled Option 1</SelectItem>
196
+ <SelectItem value="disabled-2" disabled>
197
+ Disabled Option
198
+ </SelectItem>
199
+ <SelectItem value="enabled-3">Enabled Option 2</SelectItem>
200
+ </SelectContent>
201
+ </Select>); };
@@ -4,9 +4,9 @@ import { SelectSize, SelectShape, SelectType, SelectColor, ItemSize } from ".";
4
4
  type SelectProps = React.ComponentProps<typeof SelectPrimitive.Root> & {
5
5
  defaultValue?: string;
6
6
  };
7
- declare function Select({ onValueChange, defaultValue, ...props }: SelectProps): import("react/jsx-runtime").JSX.Element;
8
- declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
9
- declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): import("react/jsx-runtime").JSX.Element;
7
+ declare function Select({ onValueChange, defaultValue, ...props }: SelectProps): React.JSX.Element;
8
+ declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): React.JSX.Element;
9
+ declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): React.JSX.Element;
10
10
  type SelectTriggerProps = React.ComponentProps<typeof SelectPrimitive.Trigger> & {
11
11
  size?: SelectSize;
12
12
  shape?: SelectShape;
@@ -15,24 +15,24 @@ type SelectTriggerProps = React.ComponentProps<typeof SelectPrimitive.Trigger> &
15
15
  };
16
16
  declare function SelectTrigger({ className, size, shape, variant, color, children, disabled, ...props }: SelectTriggerProps & {
17
17
  disabled?: boolean;
18
- }): import("react/jsx-runtime").JSX.Element;
18
+ }): React.JSX.Element;
19
19
  type SelectContentProps = React.ComponentProps<typeof SelectPrimitive.Content> & {
20
20
  hidePortal?: boolean;
21
21
  };
22
- declare function SelectContent({ className, children, position, hidePortal, ...props }: SelectContentProps): import("react/jsx-runtime").JSX.Element;
22
+ declare function SelectContent({ className, children, position, hidePortal, ...props }: SelectContentProps): React.JSX.Element;
23
23
  type SelectLabelProps = React.ComponentProps<typeof SelectPrimitive.Label> & {
24
24
  size?: ItemSize;
25
25
  };
26
- declare function SelectLabel({ className, size, ...props }: SelectLabelProps): import("react/jsx-runtime").JSX.Element;
26
+ declare function SelectLabel({ className, size, ...props }: SelectLabelProps): React.JSX.Element;
27
27
  type SelectItemProps = React.ComponentProps<typeof SelectPrimitive.Item> & {
28
28
  size?: ItemSize;
29
29
  };
30
- declare function SelectItem({ className, children, size, ...props }: SelectItemProps): import("react/jsx-runtime").JSX.Element;
31
- declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
30
+ declare function SelectItem({ className, children, size, ...props }: SelectItemProps): React.JSX.Element;
31
+ declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): React.JSX.Element;
32
32
  declare function SelectScrollUpButton({ className, size, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton> & {
33
33
  size?: SelectSize;
34
- }): import("react/jsx-runtime").JSX.Element;
34
+ }): React.JSX.Element;
35
35
  declare function SelectScrollDownButton({ className, size, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton> & {
36
36
  size?: SelectSize;
37
- }): import("react/jsx-runtime").JSX.Element;
37
+ }): React.JSX.Element;
38
38
  export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
@@ -0,0 +1,94 @@
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 SelectPrimitive from "@radix-ui/react-select";
14
+ import { cn } from "../../lib/utils";
15
+ import { selectSize, selectShape, selectType, selectColor, itemSize, } from ".";
16
+ import LUIcon from "../Icons/LUIcon";
17
+ import { Reset_BS } from "../../utils/constants";
18
+ // Map select size to icon size
19
+ var iconSizeMap = {
20
+ lg: "md",
21
+ md: "sm",
22
+ sm: "xs",
23
+ };
24
+ function Select(_a) {
25
+ var onValueChange = _a.onValueChange, defaultValue = _a.defaultValue, props = __rest(_a, ["onValueChange", "defaultValue"]);
26
+ return (<SelectPrimitive.Root data-slot="select" onValueChange={onValueChange} defaultValue={defaultValue} {...props}/>);
27
+ }
28
+ function SelectGroup(_a) {
29
+ var props = __rest(_a, []);
30
+ return <SelectPrimitive.Group data-slot="select-group" {...props}/>;
31
+ }
32
+ function SelectValue(_a) {
33
+ var props = __rest(_a, []);
34
+ return <SelectPrimitive.Value data-slot="select-value" {...props}/>;
35
+ }
36
+ function SelectTrigger(_a) {
37
+ var className = _a.className, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.shape, shape = _c === void 0 ? "rectangular" : _c, _d = _a.variant, variant = _d === void 0 ? "fill" : _d, _e = _a.color, color = _e === void 0 ? "default" : _e, children = _a.children, disabled = _a.disabled, props = __rest(_a, ["className", "size", "shape", "variant", "color", "children", "disabled"]);
38
+ var iconSize = iconSizeMap[size] || "md";
39
+ var shapeClass = selectShape[shape];
40
+ var typeClass = selectType[variant];
41
+ // Use disabled color if disabled prop is true
42
+ var isDisabled = !!disabled;
43
+ var colorClass = isDisabled
44
+ ? selectColor[variant]["disabled"]
45
+ : selectColor[variant][color];
46
+ return (<SelectPrimitive.Trigger data-reset={Reset_BS} data-size={size} data-shape={shape} data-type={variant} data-color={isDisabled ? "disabled" : color} className={cn("data-[placeholder]:text-gray-400 w-full !px-4 !py-3 [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-blue-200 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex items-center justify-between gap-2 !border border-gray-200 whitespace-nowrap !shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", typeClass, shapeClass, selectSize[size], colorClass, className)} disabled={isDisabled} {...props}>
47
+ {children}
48
+ <SelectPrimitive.Icon asChild>
49
+ <LUIcon icon="angle-down" size={iconSize} color="light-gray"/>
50
+ </SelectPrimitive.Icon>
51
+ </SelectPrimitive.Trigger>);
52
+ }
53
+ function SelectContent(_a) {
54
+ var className = _a.className, children = _a.children, _b = _a.position, position = _b === void 0 ? "popper" : _b, _c = _a.hidePortal, hidePortal = _c === void 0 ? false : _c, props = __rest(_a, ["className", "children", "position", "hidePortal"]);
55
+ var content = (<SelectPrimitive.Content data-slot="select-content" className={cn("!bg-white text-gray-900 !py-2 !px-2 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto !rounded-sm shadow-lg", position === "popper" &&
56
+ "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className)} position={position} {...props}>
57
+ <SelectScrollUpButton />
58
+ <SelectPrimitive.Viewport className={cn("p-1", position === "popper" &&
59
+ "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1")}>
60
+ {children}
61
+ </SelectPrimitive.Viewport>
62
+ <SelectScrollDownButton />
63
+ </SelectPrimitive.Content>);
64
+ return hidePortal ? (content) : (<SelectPrimitive.Portal>{content}</SelectPrimitive.Portal>);
65
+ }
66
+ function SelectLabel(_a) {
67
+ var className = _a.className, _b = _a.size, size = _b === void 0 ? "md" : _b, props = __rest(_a, ["className", "size"]);
68
+ return (<SelectPrimitive.Label data-slot="select-label" className={cn("text-muted-foreground !px-2 !py-1.5", itemSize[size], className)} {...props}/>);
69
+ }
70
+ function SelectItem(_a) {
71
+ var className = _a.className, children = _a.children, _b = _a.size, size = _b === void 0 ? "md" : _b, props = __rest(_a, ["className", "children", "size"]);
72
+ return (<SelectPrimitive.Item data-reset="reset-bs-link" className={cn("text-gray-900 data-[disabled]:bg-gray-100 data-[disabled]:text-gray-300 [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 !rounded-sm py-1.5 pr-8 pl-2 outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 data-[state=checked]:bg-gray-50 hover:bg-gray-50", itemSize[size], className)} {...props}>
73
+ <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
74
+ </SelectPrimitive.Item>);
75
+ }
76
+ function SelectSeparator(_a) {
77
+ var className = _a.className, props = __rest(_a, ["className"]);
78
+ return (<SelectPrimitive.Separator data-slot="select-separator" className={cn("bg-border pointer-events-none -mx-1 my-1 h-px", className)} {...props}/>);
79
+ }
80
+ function SelectScrollUpButton(_a) {
81
+ var className = _a.className, _b = _a.size, size = _b === void 0 ? "md" : _b, props = __rest(_a, ["className", "size"]);
82
+ var iconSize = iconSizeMap[size] || "md";
83
+ return (<SelectPrimitive.ScrollUpButton data-slot="select-scroll-up-button" className={cn("flex cursor-default items-center justify-center py-1", className)} {...props}>
84
+ <LUIcon icon="angle-up" size={iconSize} color="light-gray"/>
85
+ </SelectPrimitive.ScrollUpButton>);
86
+ }
87
+ function SelectScrollDownButton(_a) {
88
+ var className = _a.className, _b = _a.size, size = _b === void 0 ? "md" : _b, props = __rest(_a, ["className", "size"]);
89
+ var iconSize = iconSizeMap[size] || "md";
90
+ return (<SelectPrimitive.ScrollDownButton data-slot="select-scroll-down-button" className={cn("flex cursor-default items-center justify-center py-1", className)} {...props}>
91
+ <LUIcon icon="angle-down" size={iconSize} color="light-gray"/>
92
+ </SelectPrimitive.ScrollDownButton>);
93
+ }
94
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
@@ -1,3 +1,3 @@
1
1
  import { IconProps } from "./type";
2
- declare const LUIcon: ({ size, icon, variant, shape, className, color, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const LUIcon: ({ size, icon, variant, shape, className, color, ...props }: IconProps) => import("react").JSX.Element;
3
3
  export default LUIcon;
@@ -1,14 +1,3 @@
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
1
  var __rest = (this && this.__rest) || function (s, e) {
13
2
  var t = {};
14
3
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -20,7 +9,6 @@ var __rest = (this && this.__rest) || function (s, e) {
20
9
  }
21
10
  return t;
22
11
  };
23
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
12
  import { iconList } from "../../utils/iconList";
25
13
  import { getAppliedColor, iconBackground, IconShape, iconSize } from ".";
26
14
  import { cn } from "../../lib/utils";
@@ -39,6 +27,15 @@ var LUIcon = function (_a) {
39
27
  }
40
28
  return cn(baseClasses, className);
41
29
  };
42
- return (_jsxs("svg", __assign({ role: "img", "data-testid": "lu-icon", className: getClassNames(), viewBox: "0 0 32 32", fill: "currentColor" }, props, { children: [_jsx("g", { clipPath: "url(#clip0_9168_14965)", children: _jsx("path", { "data-testid": "lu-path", d: (_b = iconList[icon]) !== null && _b !== void 0 ? _b : "" }) }), _jsx("defs", { children: _jsx("clipPath", { id: "clip0_9168_14965", children: _jsx("rect", { width: "32", height: "32" }) }) })] })));
30
+ return (<svg role="img" data-testid={"lu-icon"} className={getClassNames()} viewBox="0 0 32 32" fill="currentColor" {...props}>
31
+ <g clipPath="url(#clip0_9168_14965)">
32
+ <path data-testid="lu-path" d={(_b = iconList[icon]) !== null && _b !== void 0 ? _b : ""}/>
33
+ </g>
34
+ <defs>
35
+ <clipPath id="clip0_9168_14965">
36
+ <rect width="32" height="32"/>
37
+ </clipPath>
38
+ </defs>
39
+ </svg>);
43
40
  };
44
41
  export default LUIcon;
@@ -0,0 +1,67 @@
1
+ import React, { useEffect, useRef, useState } from "react";
2
+ import LUIcon from "../LUIcon";
3
+ import { Input } from "../../../components/Input";
4
+ export var IconDropdown = function (_a) {
5
+ var value = _a.value, onChange = _a.onChange, options = _a.options;
6
+ var _b = useState(false), isOpen = _b[0], setIsOpen = _b[1];
7
+ var _c = useState(""), searchTerm = _c[0], setSearchTerm = _c[1];
8
+ var dropdownRef = useRef(null);
9
+ var filteredOptions = options.filter(function (option) {
10
+ return option.toLowerCase().includes(searchTerm.toLowerCase()) ||
11
+ option
12
+ .replace(/-/g, " ")
13
+ .toLowerCase()
14
+ .includes(searchTerm.toLowerCase());
15
+ });
16
+ useEffect(function () {
17
+ var handleClickOutside = function (event) {
18
+ if (dropdownRef.current &&
19
+ !dropdownRef.current.contains(event.target)) {
20
+ setIsOpen(false);
21
+ }
22
+ };
23
+ document.addEventListener("mousedown", handleClickOutside);
24
+ return function () { return document.removeEventListener("mousedown", handleClickOutside); };
25
+ }, []);
26
+ var handleSelect = function (option) {
27
+ onChange(option);
28
+ setIsOpen(false);
29
+ setSearchTerm("");
30
+ };
31
+ var formatLabel = function (iconKey) {
32
+ return iconKey.replace(/-/g, " ").replace(/\b\w/g, function (l) { return l.toUpperCase(); });
33
+ };
34
+ return (<div ref={dropdownRef} className="relative w-full">
35
+ {/* Dropdown trigger */}
36
+ <div onClick={function () { return setIsOpen(!isOpen); }} className="px-3 py-2 border border-gray-300 rounded bg-white cursor-pointer flex items-center justify-between min-h-9">
37
+ <div className="flex items-center gap-2">
38
+ {value && <LUIcon icon={value} size="xs"/>}
39
+ <span>{value ? formatLabel(value) : "Select an icon..."}</span>
40
+ </div>
41
+ <span className={"transition-transform duration-200 ".concat(isOpen ? "rotate-180" : "rotate-0")}>
42
+
43
+ </span>
44
+ </div>
45
+
46
+ {/* Dropdown menu */}
47
+ {isOpen && (<div className="absolute top-full left-0 right-0 bg-white border border-gray-300 rounded shadow-lg z-[1000] max-h-[300px] overflow-y-auto">
48
+ {/* Search input */}
49
+ <div className="p-2">
50
+ <Input type="text" placeholder="Search icons..." value={searchTerm} onChange={function (e) { return setSearchTerm(e.target.value); }} className="w-full px-2 py-1.5 border border-gray-300 rounded-sm text-sm" onClick={function (e) { return e.stopPropagation(); }}/>
51
+ </div>
52
+
53
+ {/* Options list */}
54
+ <div className="max-h-[200px] overflow-y-auto">
55
+ {filteredOptions.length === 0 ? (<div className="p-3 text-gray-600 italic">No icons found</div>) : (filteredOptions.map(function (option) { return (<div key={option} onClick={function () { return handleSelect(option); }} className={"px-3 py-2 cursor-pointer flex items-center gap-2 transition-colors duration-100 ".concat(value === option
56
+ ? "bg-blue-50 border-l-4 border-l-blue-600"
57
+ : "border-l-4 border-l-transparent hover:bg-gray-50")}>
58
+ <LUIcon icon={option} size="xs"/>
59
+ <span className="text-sm">{formatLabel(option)}</span>
60
+ <span className="text-xs text-gray-600 ml-auto">
61
+ {option}
62
+ </span>
63
+ </div>); }))}
64
+ </div>
65
+ </div>)}
66
+ </div>);
67
+ };
@@ -0,0 +1,77 @@
1
+ import React, { useState } from "react";
2
+ import { iconList } from "../../../utils/iconList";
3
+ import LUIcon from "../LUIcon";
4
+ import { Heading } from "../../../components/Typography/Heading/heading";
5
+ import { Body } from "../../../components/Typography/Body/body";
6
+ import { Input } from "../../../components/Input/input";
7
+ export var IconGallery = function () {
8
+ var _a = useState(""), searchTerm = _a[0], setSearchTerm = _a[1];
9
+ var _b = useState(""), selectedIcon = _b[0], setSelectedIcon = _b[1];
10
+ var filteredIcons = Object.keys(iconList)
11
+ .sort()
12
+ .filter(function (iconKey) {
13
+ return iconKey.toLowerCase().includes(searchTerm.toLowerCase()) ||
14
+ iconKey
15
+ .replace(/-/g, " ")
16
+ .toLowerCase()
17
+ .includes(searchTerm.toLowerCase());
18
+ });
19
+ var IconItem = function (_a) {
20
+ var iconKey = _a.iconKey;
21
+ return (<div key={iconKey} onClick={function () { return setSelectedIcon(iconKey); }} className={"flex items-center gap-2 p-2 border rounded cursor-pointer transition-all duration-200 ".concat(selectedIcon === iconKey
22
+ ? "border-blue-600 bg-blue-50 border-2"
23
+ : "border-gray-200 bg-white hover:bg-gray-50 hover:border-gray-300")}>
24
+ <LUIcon icon={iconKey} size="sm"/>
25
+ <span className="text-xs font-mono text-gray-700 break-all">
26
+ {iconKey}
27
+ </span>
28
+ </div>);
29
+ };
30
+ var IconPreview = function (_a) {
31
+ var iconKey = _a.iconKey;
32
+ return (<div className="mt-5 p-4 bg-gray-50 rounded-lg border border-gray-200">
33
+ <Heading variant="h4" className="mb-4">
34
+ Preview Selected Icon: {iconKey}
35
+ </Heading>
36
+ <div className="flex gap-4 items-center flex-wrap">
37
+ <div className="flex items-center gap-2">
38
+ <Body variant="body-sm-600">Default:</Body>
39
+ <LUIcon icon={iconKey} size="md"/>
40
+ </div>
41
+ <div className="flex items-center gap-2">
42
+ <Body variant="body-sm-600">Padded:</Body>
43
+ <LUIcon icon={iconKey} size="md" variant="padded" color="blue"/>
44
+ </div>
45
+ <div className="flex items-center gap-2">
46
+ <Body variant="body-sm-600">Large:</Body>
47
+ <LUIcon icon={iconKey} size="xl"/>
48
+ </div>
49
+ </div>
50
+ <div className="mt-3 font-mono text-sm">
51
+ <Body variant="body-sm-600">Usage:</Body>
52
+ <br />
53
+ <code className="bg-gray-100 p-1 rounded">{"<LUIcon icon=\"".concat(iconKey, "\" size=\"md\" />")}</code>
54
+ </div>
55
+ </div>);
56
+ };
57
+ return (<div className="p-5">
58
+ <Heading variant="h3" className="mb-5">
59
+ Icon Gallery - All Available Icons ({Object.keys(iconList).length}{" "}
60
+ total)
61
+ </Heading>
62
+
63
+ <div className="mb-5">
64
+ <Input type="text" placeholder="Search icons... (e.g., 'circle', 'info', 'qr')" value={searchTerm} onChange={function (e) { return setSearchTerm(e.target.value); }} className="w-full max-w-md" startIcon="magnifying-glass"/>
65
+ <Body variant="body-sm" className="mt-2 text-gray-600">
66
+ {filteredIcons.length} icons found
67
+ {selectedIcon && (<span className="ml-4 font-semibold">Selected: {selectedIcon}</span>)}
68
+ </Body>
69
+ </div>
70
+
71
+ <div className="grid grid-cols-[repeat(auto-fill,minmax(180px,1fr))] gap-3 max-h-[500px] overflow-y-auto border border-gray-200 p-4 rounded-lg">
72
+ {filteredIcons.map(function (iconKey) { return (<IconItem key={iconKey} iconKey={iconKey}/>); })}
73
+ </div>
74
+
75
+ {selectedIcon && <IconPreview iconKey={selectedIcon}/>}
76
+ </div>);
77
+ };
@@ -0,0 +1,86 @@
1
+ import React, { useState } from "react";
2
+ import { iconList } from "../../../utils/iconList";
3
+ import LUIcon from "../LUIcon";
4
+ import { iconSize, iconWithBgColor } from "../index";
5
+ import { IconDropdown } from "./IconDropdown";
6
+ import { Heading } from "../../../components/Typography/Heading/heading";
7
+ import { Body } from "../../../components/Typography/Body/body";
8
+ import { Label } from "../../../components/Label/Label";
9
+ export var InteractiveIconSelector = function () {
10
+ var _a = useState("info"), selectedIcon = _a[0], setSelectedIcon = _a[1];
11
+ var _b = useState("md"), selectedSize = _b[0], setSelectedSize = _b[1];
12
+ var _c = useState("default"), selectedVariant = _c[0], setSelectedVariant = _c[1];
13
+ var _d = useState("blue"), selectedColor = _d[0], setSelectedColor = _d[1];
14
+ var generateUsageCode = function () {
15
+ var code = "<LUIcon icon=\"".concat(selectedIcon, "\" size=\"").concat(selectedSize, " color=\"").concat(selectedColor, "\"");
16
+ if (selectedVariant === "padded") {
17
+ code += " variant=\"padded\" \"";
18
+ }
19
+ code += " />";
20
+ return code;
21
+ };
22
+ return (<div className="p-5">
23
+ <Heading variant="h3" className="mb-3">
24
+ Interactive Icon Selector
25
+ </Heading>
26
+ <Body variant="body-md" className="mb-6 text-gray-600">
27
+ This demonstrates a custom searchable dropdown that shows icons
28
+ alongside their names.
29
+ </Body>
30
+
31
+ <div className="grid grid-cols-[repeat(auto-fit,minmax(200px,1fr))] gap-4 mb-6">
32
+ <div>
33
+ <Label variant="label-md" className="block mb-2 ">
34
+ Select Icon:
35
+ </Label>
36
+ <IconDropdown value={selectedIcon} onChange={setSelectedIcon} options={Object.keys(iconList).sort()}/>
37
+ </div>
38
+
39
+ <div>
40
+ <Label variant="label-md" className="block mb-2 ">
41
+ Size:
42
+ </Label>
43
+ <select value={selectedSize} onChange={function (e) { return setSelectedSize(e.target.value); }} className="w-full p-2 border border-gray-300 rounded focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent">
44
+ {Object.keys(iconSize).map(function (size) { return (<option key={size} value={size}>
45
+ {size}
46
+ </option>); })}
47
+ </select>
48
+ </div>
49
+
50
+ <div>
51
+ <Label variant="label-md" className="block mb-2 ">
52
+ Variant:
53
+ </Label>
54
+ <select value={selectedVariant} onChange={function (e) {
55
+ return setSelectedVariant(e.target.value);
56
+ }} className="w-full p-2 border border-gray-300 rounded focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent">
57
+ <option value="default">Default</option>
58
+ <option value="padded">Padded</option>
59
+ </select>
60
+ </div>
61
+
62
+ <div>
63
+ <Label variant="label-md" className="block mb-2">
64
+ Color:
65
+ </Label>
66
+ <select value={selectedColor} onChange={function (e) { return setSelectedColor(e.target.value); }} className="w-full p-2 border border-gray-300 rounded focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent">
67
+ {Object.keys(iconWithBgColor).map(function (color) { return (<option key={color} value={color}>
68
+ {color}
69
+ </option>); })}
70
+ </select>
71
+ </div>
72
+ </div>
73
+
74
+ <div className="p-6 border-2 border-dashed border-gray-300 rounded-lg text-center bg-gray-50">
75
+ <Heading variant="h4" className="mb-4">
76
+ Preview:
77
+ </Heading>
78
+ <div className="my-4">
79
+ <LUIcon icon={selectedIcon} size={selectedSize} variant={selectedVariant} color={selectedColor}/>
80
+ </div>
81
+ <div className="font-mono text-sm bg-gray-100 p-2 rounded">
82
+ {generateUsageCode()}
83
+ </div>
84
+ </div>
85
+ </div>);
86
+ };
@@ -3,10 +3,10 @@ import LUIcon from "../LUIcon";
3
3
  declare const _default: Meta<typeof LUIcon>;
4
4
  export default _default;
5
5
  export declare const Default: StoryObj;
6
- export declare const IconVariants: () => import("react/jsx-runtime").JSX.Element;
7
- export declare const DefaultIconSizes: () => import("react/jsx-runtime").JSX.Element;
8
- export declare const PaddedIconSizes: () => import("react/jsx-runtime").JSX.Element;
9
- export declare const PaddedIconSizesRounded: () => import("react/jsx-runtime").JSX.Element;
10
- export declare const IconColors: () => import("react/jsx-runtime").JSX.Element;
6
+ export declare const IconVariants: () => import("react").JSX.Element;
7
+ export declare const DefaultIconSizes: () => import("react").JSX.Element;
8
+ export declare const PaddedIconSizes: () => import("react").JSX.Element;
9
+ export declare const PaddedIconSizesRounded: () => import("react").JSX.Element;
10
+ export declare const IconColors: () => import("react").JSX.Element;
11
11
  export declare const InteractiveIconSelector: StoryFn;
12
12
  export declare const IconGallery: StoryFn;
@@ -1,4 +1,3 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
1
  import { iconList } from "../../../utils/iconList";
3
2
  import { InteractiveIconSelector as InteractiveIconSelectorComponent, IconGallery as IconGalleryComponent, } from ".";
4
3
  import LUIcon from "../LUIcon";
@@ -62,14 +61,30 @@ export var Default = {
62
61
  variant: "default",
63
62
  },
64
63
  };
65
- export var IconVariants = function () { return (_jsxs("div", { className: "flex flex-row space-x-2", children: [_jsx(LUIcon, { icon: "star", variant: "default", size: "lg" }), _jsx(LUIcon, { icon: "star", variant: "padded", color: "blue", size: "lg" })] })); };
66
- export var DefaultIconSizes = function () { return (_jsx("div", { className: "flex flex-row space-x-2", children: Object.keys(iconSize).map(function (size) { return (_jsx(LUIcon, { icon: "star", size: size }, size)); }) })); };
67
- export var PaddedIconSizes = function () { return (_jsx("div", { className: "flex gap-2", children: Object.keys(iconSize).map(function (size) { return (_jsx(LUIcon, { icon: "star", color: "blue", size: size, variant: "padded" }, size)); }) })); };
68
- export var PaddedIconSizesRounded = function () { return (_jsx("div", { className: "flex gap-2", children: Object.keys(iconSize).map(function (size) { return (_jsx(LUIcon, { icon: "star", color: "blue", shape: "rounded", size: size, variant: "padded" }, size)); }) })); };
69
- export var IconColors = function () { return (_jsxs(_Fragment, { children: [_jsx("div", { className: "flex flex-row space-x-2 mb-2", children: Object.keys(iconColor).map(function (color) { return (_jsx(LUIcon, { icon: "star", size: "lg", color: color }, color)); }) }), _jsx("div", { className: "flex flex-row space-x-2", children: Object.keys(iconColor).map(function (color) { return (_jsx(LUIcon, { icon: "star", variant: "padded", size: "lg", color: color }, color)); }) })] })); };
64
+ export var IconVariants = function () { return (<div className="flex flex-row space-x-2">
65
+ <LUIcon icon="star" variant="default" size="lg"/>
66
+ <LUIcon icon="star" variant="padded" color="blue" size="lg"/>
67
+ </div>); };
68
+ export var DefaultIconSizes = function () { return (<div className="flex flex-row space-x-2">
69
+ {Object.keys(iconSize).map(function (size) { return (<LUIcon key={size} icon="star" size={size}/>); })}
70
+ </div>); };
71
+ export var PaddedIconSizes = function () { return (<div className="flex gap-2">
72
+ {Object.keys(iconSize).map(function (size) { return (<LUIcon key={size} icon="star" color="blue" size={size} variant="padded"/>); })}
73
+ </div>); };
74
+ export var PaddedIconSizesRounded = function () { return (<div className="flex gap-2">
75
+ {Object.keys(iconSize).map(function (size) { return (<LUIcon key={size} icon="star" color="blue" shape="rounded" size={size} variant="padded"/>); })}
76
+ </div>); };
77
+ export var IconColors = function () { return (<>
78
+ <div className="flex flex-row space-x-2 mb-2">
79
+ {Object.keys(iconColor).map(function (color) { return (<LUIcon key={color} icon="star" size="lg" color={color}/>); })}
80
+ </div>
81
+ <div className="flex flex-row space-x-2">
82
+ {Object.keys(iconColor).map(function (color) { return (<LUIcon key={color} icon="star" variant="padded" size="lg" color={color}/>); })}
83
+ </div>
84
+ </>); };
70
85
  // Export stories using separate components for better maintainability
71
- export var InteractiveIconSelector = function () { return (_jsx(InteractiveIconSelectorComponent, {})); };
72
- export var IconGallery = function () { return _jsx(IconGalleryComponent, {}); };
86
+ export var InteractiveIconSelector = function () { return (<InteractiveIconSelectorComponent />); };
87
+ export var IconGallery = function () { return <IconGalleryComponent />; };
73
88
  // Set parameters for the stories
74
89
  InteractiveIconSelector.parameters = {
75
90
  docs: {
@@ -1,3 +1,3 @@
1
1
  import { ImageUploaderProps } from "../ImageUploader/type";
2
- declare const ImageUploader: ({ value, onChange, onRemove, required, className, maxFileSizeMB, acceptedTypes, labels, }: ImageUploaderProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const ImageUploader: ({ value, onChange, onRemove, required, className, maxFileSizeMB, acceptedTypes, labels, }: ImageUploaderProps) => import("react").JSX.Element;
3
3
  export default ImageUploader;