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
@@ -0,0 +1,582 @@
1
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
+ if (ar || !(i in from)) {
4
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5
+ ar[i] = from[i];
6
+ }
7
+ }
8
+ return to.concat(ar || Array.prototype.slice.call(from));
9
+ };
10
+ import { DateRangePicker } from "./DateRangePicker";
11
+ import { Body } from "../Typography/Body/body";
12
+ import { Label } from "../Label/Label";
13
+ import { Caption } from "../Typography/Caption/caption";
14
+ import Tooltip from "../ToolTip/Tooltip";
15
+ import LUIcon from "../Icons/LUIcon";
16
+ import { Default_DateRangePicker_Color, Default_DateRangePicker_Shadow, Default_DateRangePicker_Shape, Default_DateRangePicker_Size, Default_DateRangePicker_Variant, } from ".";
17
+ import { inputVariantConfig } from "../Input/input";
18
+ import { useState } from "react";
19
+ import { addDays, subDays, startOfMonth, endOfMonth, subMonths, startOfYear, endOfYear, startOfDay, } from "date-fns";
20
+ import { DateRangePickerDefaults } from "../../utils/constants";
21
+ import { Button } from "../Button/Button/Button";
22
+ // Destructure default values from enum
23
+ var defaultNumberOfMonths = DateRangePickerDefaults.numberOfMonths, defaultDateFormat = DateRangePickerDefaults.dateFormat, defaultSeparator = DateRangePickerDefaults.separator, defaultStartLabel = DateRangePickerDefaults.startLabel, defaultEndLabel = DateRangePickerDefaults.endLabel;
24
+ // Helper to get today's date
25
+ var getToday = function () { return startOfDay(new Date()); };
26
+ // Common preset configurations
27
+ var getCommonPresets = function (today) { return [
28
+ { label: "Today", range: { from: today, to: today } },
29
+ { label: "Last 7 Days", range: { from: subDays(today, 6), to: today } },
30
+ { label: "Last 30 Days", range: { from: subDays(today, 29), to: today } },
31
+ {
32
+ label: "This Month",
33
+ range: { from: startOfMonth(today), to: endOfMonth(today) },
34
+ },
35
+ ]; };
36
+ var getExtendedPresets = function (today) { return __spreadArray(__spreadArray([], getCommonPresets(today), true), [
37
+ { label: "Last 14 Days", range: { from: subDays(today, 13), to: today } },
38
+ {
39
+ label: "Last Month",
40
+ range: {
41
+ from: startOfMonth(subMonths(today, 1)),
42
+ to: endOfMonth(subMonths(today, 1)),
43
+ },
44
+ },
45
+ {
46
+ label: "This Year",
47
+ range: { from: startOfYear(today), to: endOfYear(today) },
48
+ },
49
+ ], false); };
50
+ var getBookingPresets = function (today) { return [
51
+ {
52
+ label: "Weekend",
53
+ range: { from: addDays(today, 5), to: addDays(today, 7) },
54
+ },
55
+ { label: "1 Week", range: { from: today, to: addDays(today, 7) } },
56
+ { label: "2 Weeks", range: { from: today, to: addDays(today, 14) } },
57
+ ]; };
58
+ var getAnalyticsPresets = function (today) { return [
59
+ { label: "Last 7 Days", range: { from: subDays(today, 6), to: today } },
60
+ { label: "Last 30 Days", range: { from: subDays(today, 29), to: today } },
61
+ { label: "Last 90 Days", range: { from: subDays(today, 89), to: today } },
62
+ {
63
+ label: "This Month",
64
+ range: { from: startOfMonth(today), to: endOfMonth(today) },
65
+ },
66
+ {
67
+ label: "Last Month",
68
+ range: {
69
+ from: startOfMonth(subMonths(today, 1)),
70
+ to: endOfMonth(subMonths(today, 1)),
71
+ },
72
+ },
73
+ ]; };
74
+ // Reusable hook for date range state
75
+ var useDateRangeState = function (initialValue) {
76
+ if (initialValue === void 0) { initialValue = null; }
77
+ return useState(initialValue);
78
+ };
79
+ // Helper component for displaying selected dates
80
+ var SelectedDateDisplay = function (_a) {
81
+ var dateRange = _a.dateRange;
82
+ if (!(dateRange === null || dateRange === void 0 ? void 0 : dateRange.from))
83
+ return null;
84
+ return (<Caption variant="sm" color="gray">
85
+ Selected: {dateRange.from.toLocaleDateString()}
86
+ {dateRange.to && " - ".concat(dateRange.to.toLocaleDateString())}
87
+ </Caption>);
88
+ };
89
+ export default {
90
+ title: "Components/DateRangePicker",
91
+ component: DateRangePicker,
92
+ tags: ["autodocs"],
93
+ argTypes: {
94
+ variant: {
95
+ control: {
96
+ type: "select",
97
+ },
98
+ options: Object.keys(inputVariantConfig.variant),
99
+ defaultValue: Default_DateRangePicker_Variant,
100
+ },
101
+ size: {
102
+ control: {
103
+ type: "select",
104
+ },
105
+ options: Object.keys(inputVariantConfig.size),
106
+ defaultValue: Default_DateRangePicker_Size,
107
+ description: "Size of the input and calendar",
108
+ },
109
+ color: {
110
+ control: {
111
+ type: "select",
112
+ },
113
+ options: Object.keys(inputVariantConfig.color),
114
+ defaultValue: Default_DateRangePicker_Color,
115
+ description: "Color scheme of the input",
116
+ },
117
+ shape: {
118
+ control: {
119
+ type: "select",
120
+ },
121
+ options: Object.keys(inputVariantConfig.shape),
122
+ defaultValue: Default_DateRangePicker_Shape,
123
+ description: "Shape of the input",
124
+ },
125
+ shadow: {
126
+ control: "boolean",
127
+ defaultValue: Default_DateRangePicker_Shadow,
128
+ description: "Show shadow on the calendar popover",
129
+ },
130
+ disabled: {
131
+ control: "boolean",
132
+ defaultValue: false,
133
+ description: "Whether the date range picker is disabled",
134
+ },
135
+ numberOfMonths: {
136
+ control: {
137
+ type: "number",
138
+ min: 1,
139
+ max: 2,
140
+ },
141
+ defaultValue: Number(defaultNumberOfMonths),
142
+ description: "Number of calendar months to display",
143
+ },
144
+ dateFormat: {
145
+ control: "text",
146
+ defaultValue: defaultDateFormat,
147
+ description: "Format for displaying dates",
148
+ },
149
+ separator: {
150
+ control: "text",
151
+ defaultValue: defaultSeparator,
152
+ description: "Separator between start and end dates",
153
+ },
154
+ showClearButton: {
155
+ control: "boolean",
156
+ defaultValue: true,
157
+ description: "Show clear button when date is selected",
158
+ },
159
+ showApplyButton: {
160
+ control: "boolean",
161
+ defaultValue: false,
162
+ description: "Show Apply and Cancel buttons in calendar footer",
163
+ },
164
+ startLabel: {
165
+ control: "text",
166
+ defaultValue: defaultStartLabel,
167
+ description: "Label for start date placeholder",
168
+ },
169
+ endLabel: {
170
+ control: "text",
171
+ defaultValue: defaultEndLabel,
172
+ description: "Label for end date placeholder",
173
+ },
174
+ },
175
+ parameters: {
176
+ docs: {
177
+ description: {
178
+ component: "A date range picker component for selecting a start and end date. Built on top of react-day-picker with support for presets, custom date ranges, multiple months display, clear functionality, optional Apply/Cancel buttons, and customizable start/end labels for better UX. Automatically adapts to mobile screens (< 768px) with a step-by-step date selection process: first select start date, then end date, then confirm with Apply/Cancel buttons.",
179
+ },
180
+ },
181
+ },
182
+ };
183
+ var Template = function (args) {
184
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
185
+ return (<div className="flex flex-col gap-4">
186
+ <div className="w-80">
187
+ <DateRangePicker {...args} dateRange={dateRange} onChange={setDateRange}/>
188
+ </div>
189
+ <SelectedDateDisplay dateRange={dateRange}/>
190
+ </div>);
191
+ };
192
+ export var Default = Template.bind({});
193
+ Default.args = {
194
+ size: Default_DateRangePicker_Size,
195
+ variant: Default_DateRangePicker_Variant,
196
+ color: Default_DateRangePicker_Color,
197
+ shape: Default_DateRangePicker_Shape,
198
+ shadow: Default_DateRangePicker_Shadow,
199
+ numberOfMonths: 2,
200
+ };
201
+ export var WithStartEndLabels = function () {
202
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
203
+ return (<div className="flex flex-col gap-4 max-w-sm">
204
+ <div>
205
+ <Label>Default Labels</Label>
206
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
207
+ Shows &quot;Start date&quot; and &quot;End date&quot; by default
208
+ </Body>
209
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} endIcon="calendar-days"/>
210
+ </div>
211
+ <div>
212
+ <Label>Custom Labels</Label>
213
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
214
+ Customize labels for your use case
215
+ </Body>
216
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startLabel="Check-in" endLabel="Check-out" endIcon="calendar-days"/>
217
+ </div>
218
+ <div>
219
+ <Label>Business Context</Label>
220
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
221
+ Labels adapt to your domain
222
+ </Body>
223
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startLabel="From" endLabel="To" endIcon="calendar-days"/>
224
+ </div>
225
+ </div>);
226
+ };
227
+ export var WithIcons = function () {
228
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
229
+ return (<div className="flex flex-col gap-4 max-w-sm">
230
+ <div>
231
+ <Label>With Calendar Icon</Label>
232
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days"/>
233
+ </div>
234
+ <div>
235
+ <Label>With Both Icons</Label>
236
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" endIcon="angle-down"/>
237
+ </div>
238
+ </div>);
239
+ };
240
+ export var Sizes = function () {
241
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
242
+ return (<div className="flex flex-col gap-4 max-w-sm">
243
+ <div>
244
+ <Label>Small (sm)</Label>
245
+ <DateRangePicker size="sm" dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days"/>
246
+ </div>
247
+ <div>
248
+ <Label>Medium (md)</Label>
249
+ <DateRangePicker size="md" dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days"/>
250
+ </div>
251
+ <div>
252
+ <Label>Large (lg)</Label>
253
+ <DateRangePicker size="lg" dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days"/>
254
+ </div>
255
+ </div>);
256
+ };
257
+ export var Variants = function () {
258
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
259
+ return (<div className="flex flex-col gap-4 max-w-sm">
260
+ <div>
261
+ <Label>Filled (default)</Label>
262
+ <DateRangePicker variant="filled" color="default" dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days"/>
263
+ </div>
264
+ <div>
265
+ <Label>Outline</Label>
266
+ <DateRangePicker variant="outlined" color="default" dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days"/>
267
+ </div>
268
+ </div>);
269
+ };
270
+ export var Shapes = function () {
271
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
272
+ return (<div className="flex flex-col gap-4 max-w-sm">
273
+ <div>
274
+ <Label>Square</Label>
275
+ <DateRangePicker shape="square" dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days"/>
276
+ </div>
277
+ <div>
278
+ <Label>Rounded</Label>
279
+ <DateRangePicker shape="rounded" dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days"/>
280
+ </div>
281
+ </div>);
282
+ };
283
+ export var WithPresets = function () {
284
+ var today = getToday();
285
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
286
+ return (<div className="flex flex-col gap-4 max-w-sm">
287
+ <Label>With Quick Select Presets</Label>
288
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" presets={getExtendedPresets(today)}/>
289
+ <SelectedDateDisplay dateRange={dateRange}/>
290
+ </div>);
291
+ };
292
+ export var SingleMonth = function () {
293
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
294
+ return (<div className="flex flex-col gap-4 max-w-sm">
295
+ <Label>Single Month Display</Label>
296
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" numberOfMonths={1}/>
297
+ </div>);
298
+ };
299
+ export var WithDateRestrictions = function () {
300
+ var today = getToday();
301
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
302
+ return (<div className="flex flex-col gap-4 max-w-sm">
303
+ <div>
304
+ <Label>Only Future Dates</Label>
305
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
306
+ Cannot select dates before today
307
+ </Body>
308
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" minDate={today}/>
309
+ </div>
310
+ <div>
311
+ <Label>Only Past Dates</Label>
312
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
313
+ Cannot select dates after today
314
+ </Body>
315
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" maxDate={today}/>
316
+ </div>
317
+ <div>
318
+ <Label>Restricted Range</Label>
319
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
320
+ Only dates within 30 days from today
321
+ </Body>
322
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" minDate={subDays(today, 30)} maxDate={addDays(today, 30)}/>
323
+ </div>
324
+ </div>);
325
+ };
326
+ export var DisabledState = function () {
327
+ var dateRange = useState({
328
+ from: startOfDay(new Date()),
329
+ to: addDays(startOfDay(new Date()), 7),
330
+ })[0];
331
+ return (<div className="flex flex-col gap-4 max-w-sm">
332
+ <div>
333
+ <Label>Disabled Empty</Label>
334
+ <DateRangePicker disabled startIcon="calendar-days"/>
335
+ </div>
336
+ <div>
337
+ <Label>Disabled with Value</Label>
338
+ <DateRangePicker disabled dateRange={dateRange} startIcon="calendar-days"/>
339
+ </div>
340
+ </div>);
341
+ };
342
+ export var CustomFormatting = function () {
343
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
344
+ return (<div className="flex flex-col gap-4 max-w-sm">
345
+ <div>
346
+ <Label>Custom Date Format</Label>
347
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
348
+ Format: dd/MM/yyyy
349
+ </Body>
350
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" dateFormat="dd/MM/yyyy"/>
351
+ </div>
352
+ <div>
353
+ <Label>Custom Separator</Label>
354
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
355
+ Separator: &quot; to &quot;
356
+ </Body>
357
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" separator=" to "/>
358
+ </div>
359
+ <div>
360
+ <Label>Long Date Format</Label>
361
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
362
+ Format: MMM dd, yyyy
363
+ </Body>
364
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" dateFormat="MMM dd, yyyy"/>
365
+ </div>
366
+ </div>);
367
+ };
368
+ export var Colors = function () {
369
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
370
+ return (<div className="flex flex-col gap-4 max-w-sm">
371
+ <div>
372
+ <Label>Default</Label>
373
+ <DateRangePicker color="default" dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days"/>
374
+ </div>
375
+ <div>
376
+ <Label>Error</Label>
377
+ <DateRangePicker color="danger" dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days"/>
378
+ <Caption variant="sm" color="danger" className="mt-1">
379
+ Please select a valid date range
380
+ </Caption>
381
+ </div>
382
+ </div>);
383
+ };
384
+ export var FormIntegration = function () {
385
+ var today = getToday();
386
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
387
+ var _b = useState(false), submitted = _b[0], setSubmitted = _b[1];
388
+ var handleSubmit = function (e) {
389
+ e.preventDefault();
390
+ setSubmitted(true);
391
+ setTimeout(function () { return setSubmitted(false); }, 3000);
392
+ };
393
+ return (<form onSubmit={handleSubmit} className="flex flex-col gap-4 max-w-sm">
394
+ <div>
395
+ <Label>Booking Period</Label>
396
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
397
+ Select your check-in and check-out dates
398
+ </Body>
399
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" minDate={today} presets={getBookingPresets(today)}/>
400
+ </div>
401
+ <Button type="submit" disabled={!(dateRange === null || dateRange === void 0 ? void 0 : dateRange.from) || !(dateRange === null || dateRange === void 0 ? void 0 : dateRange.to)} className="w-full">
402
+ Book Now
403
+ </Button>
404
+ {submitted && (<div className="p-3 bg-green-50 border border-green-200 rounded-md">
405
+ <Body variant="body-sm" color="success">
406
+ ✓ Booking submitted for{" "}
407
+ {(dateRange === null || dateRange === void 0 ? void 0 : dateRange.from) && dateRange.from.toLocaleDateString()}
408
+ {(dateRange === null || dateRange === void 0 ? void 0 : dateRange.to) && " - ".concat(dateRange.to.toLocaleDateString())}
409
+ </Body>
410
+ </div>)}
411
+ </form>);
412
+ };
413
+ export var WithTooltip = function () {
414
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
415
+ return (<div className="flex flex-col gap-4 max-w-sm">
416
+ <div className="flex items-center gap-2">
417
+ <Label>Reporting Period</Label>
418
+ <Tooltip title="Select the start and end dates for your report">
419
+ <LUIcon icon="info" size="xs" color="gray"/>
420
+ </Tooltip>
421
+ </div>
422
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days"/>
423
+ </div>);
424
+ };
425
+ export var RealWorldExamples = function () {
426
+ var today = getToday();
427
+ var _a = useDateRangeState(), bookingRange = _a[0], setBookingRange = _a[1];
428
+ var _b = useDateRangeState({
429
+ from: subDays(today, 30),
430
+ to: today,
431
+ }), analyticsRange = _b[0], setAnalyticsRange = _b[1];
432
+ var _c = useDateRangeState(), projectRange = _c[0], setProjectRange = _c[1];
433
+ return (<div className="flex flex-col gap-6 max-w-2xl">
434
+ <div>
435
+ <Body variant="body-lg-500" className="mb-4">
436
+ Hotel Booking
437
+ </Body>
438
+ <div className="p-4 border border-gray-200 rounded-lg space-y-4">
439
+ <div>
440
+ <Label>Select your stay dates</Label>
441
+ <DateRangePicker dateRange={bookingRange} onChange={setBookingRange} startIcon="calendar-days" minDate={today} separator=" → " numberOfMonths={2} presets={getBookingPresets(today)}/>
442
+ </div>
443
+ </div>
444
+ </div>
445
+
446
+ <div>
447
+ <Body variant="body-lg-500" className="mb-4">
448
+ Analytics Dashboard
449
+ </Body>
450
+ <div className="p-4 border border-gray-200 rounded-lg space-y-4">
451
+ <div>
452
+ <Label>Date Range</Label>
453
+ <DateRangePicker dateRange={analyticsRange} onChange={setAnalyticsRange} startIcon="calendar-days" numberOfMonths={2} presets={getAnalyticsPresets(today)}/>
454
+ </div>
455
+ {(analyticsRange === null || analyticsRange === void 0 ? void 0 : analyticsRange.from) && (analyticsRange === null || analyticsRange === void 0 ? void 0 : analyticsRange.to) && (<div className="p-3 bg-blue-50 rounded-md">
456
+ <Caption variant="sm" color="info">
457
+ Showing data for{" "}
458
+ {Math.ceil((analyticsRange.to.getTime() -
459
+ analyticsRange.from.getTime()) /
460
+ (1000 * 60 * 60 * 24)) + 1}{" "}
461
+ days
462
+ </Caption>
463
+ </div>)}
464
+ </div>
465
+ </div>
466
+
467
+ <div>
468
+ <Body variant="body-lg-500" className="mb-4">
469
+ Project Timeline
470
+ </Body>
471
+ <div className="p-4 border border-gray-200 rounded-lg space-y-4">
472
+ <div>
473
+ <Label>Project Duration</Label>
474
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
475
+ Set the start and end dates for your project
476
+ </Body>
477
+ <DateRangePicker dateRange={projectRange} onChange={setProjectRange} startIcon="calendar-days" minDate={today} variant="outlined" numberOfMonths={2}/>
478
+ </div>
479
+ </div>
480
+ </div>
481
+ </div>);
482
+ };
483
+ export var WithClearButton = function () {
484
+ var _a = useState({
485
+ from: startOfDay(new Date()),
486
+ to: addDays(startOfDay(new Date()), 7),
487
+ }), dateRange = _a[0], setDateRange = _a[1];
488
+ return (<div className="flex flex-col gap-4 max-w-sm">
489
+ <div>
490
+ <Label>With Clear Button (default)</Label>
491
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
492
+ Clear button appears automatically when dates are selected
493
+ </Body>
494
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" showClearButton={true}/>
495
+ </div>
496
+ <div>
497
+ <Label>Without Clear Button</Label>
498
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" showClearButton={false} endIcon="angle-down"/>
499
+ </div>
500
+ </div>);
501
+ };
502
+ export var WithApplyButton = function () {
503
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
504
+ var _b = useDateRangeState(), appliedRange = _b[0], setAppliedRange = _b[1];
505
+ return (<div className="flex flex-col gap-4 max-w-sm">
506
+ <div>
507
+ <Label>With Apply/Cancel Buttons</Label>
508
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
509
+ Changes are only applied when you click Apply
510
+ </Body>
511
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" showApplyButton={true} onApply={function (range) {
512
+ setAppliedRange(range);
513
+ }} onCancel={function () {
514
+ setDateRange(appliedRange);
515
+ }} onClear={function () {
516
+ setAppliedRange(null);
517
+ }}/>
518
+ </div>
519
+ {/* {appliedRange?.from && (
520
+ <div className="p-3 bg-green-50 border border-green-200 rounded-md">
521
+ <Caption variant="sm" color="success">
522
+ ✓ Applied: {appliedRange.from.toLocaleDateString()}
523
+ {appliedRange.to && ` - ${appliedRange.to.toLocaleDateString()}`}
524
+ </Caption>
525
+ </div>
526
+ )} */}
527
+ </div>);
528
+ };
529
+ export var WithApplyButtonAndPresets = function () {
530
+ var today = getToday();
531
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
532
+ return (<div className="flex flex-col gap-4 max-w-sm">
533
+ <Label>Apply Button with Presets</Label>
534
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
535
+ Preview your selection before applying
536
+ </Body>
537
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" showApplyButton={true} presets={getCommonPresets(today)}/>
538
+ </div>);
539
+ };
540
+ export var ClearButtonCallbacks = function () {
541
+ var _a = useState({
542
+ from: startOfDay(new Date()),
543
+ to: addDays(startOfDay(new Date()), 7),
544
+ }), dateRange = _a[0], setDateRange = _a[1];
545
+ var _b = useState(0), clearCount = _b[0], setClearCount = _b[1];
546
+ return (<div className="flex flex-col gap-4 max-w-sm">
547
+ <Label>Clear Button with Callback</Label>
548
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days" onClear={function () {
549
+ setClearCount(function (prev) { return prev + 1; });
550
+ console.log("Cleared");
551
+ }}/>
552
+ {clearCount > 0 && (<Caption variant="sm" color="gray">
553
+ Cleared {clearCount} time{clearCount > 1 ? "s" : ""}
554
+ </Caption>)}
555
+ </div>);
556
+ };
557
+ export var MobileResponsive = function () {
558
+ var _a = useDateRangeState(), dateRange = _a[0], setDateRange = _a[1];
559
+ return (<div className="flex flex-col gap-4">
560
+ <div>
561
+ <Label>Mobile-Optimized Date Range Picker</Label>
562
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
563
+ Resize your browser to &lt; 768px width to see the mobile experience
564
+ </Body>
565
+ <Body as="p" variant="body-xs" color="light-gray" className="mb-2">
566
+ On mobile: Step 1 - Select start date → Step 2 - Select end date →
567
+ Step 3 - Apply/Cancel
568
+ </Body>
569
+ <DateRangePicker dateRange={dateRange} onChange={setDateRange} startIcon="calendar-days"/>
570
+ </div>
571
+ <SelectedDateDisplay dateRange={dateRange}/>
572
+ <div className="p-3 bg-blue-50 border border-blue-200 rounded-md">
573
+ <Caption variant="sm" color="info">
574
+ 💡 The component automatically detects screen size and provides:
575
+ <br />• Desktop (≥768px): Full calendar with 1-2 months
576
+ <br />• Mobile (&lt;768px): Single month with step-by-step guidance
577
+ <br />• Apply/Cancel buttons automatically appear on mobile after both
578
+ dates are selected
579
+ </Caption>
580
+ </div>
581
+ </div>);
582
+ };
@@ -1,3 +1,3 @@
1
1
  import { ComboboxProps } from "./type";
2
- declare const Combobox: (props: ComboboxProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const Combobox: (props: ComboboxProps) => import("react").JSX.Element;
3
3
  export default Combobox;