@heymantle/litho 0.0.3 → 0.0.4

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 (353) hide show
  1. package/dist/cjs/components/ActionList.js +50 -16
  2. package/dist/cjs/components/AnnouncementBar.js +10 -3
  3. package/dist/cjs/components/AppProvider.js +10 -1
  4. package/dist/cjs/components/Autocomplete.js +33 -11
  5. package/dist/cjs/components/Badge.js +2 -1
  6. package/dist/cjs/components/Banner.js +35 -31
  7. package/dist/cjs/components/Box.js +5 -3
  8. package/dist/cjs/components/Button.js +34 -12
  9. package/dist/cjs/components/Card.js +5 -45
  10. package/dist/cjs/components/Checkbox.js +16 -6
  11. package/dist/cjs/components/ChoiceList.js +7 -4
  12. package/dist/cjs/components/ColorField.js +8 -3
  13. package/dist/cjs/components/DatePicker.js +13 -8
  14. package/dist/cjs/components/DropZone.js +33 -18
  15. package/dist/cjs/components/EmptyState.js +15 -7
  16. package/dist/cjs/components/Filters.js +32 -20
  17. package/dist/cjs/components/FooterHelp.js +7 -2
  18. package/dist/cjs/components/Form.js +18 -3
  19. package/dist/cjs/components/Frame.js +40 -15
  20. package/dist/cjs/components/FrameSaveBar.js +21 -12
  21. package/dist/cjs/components/Layout.js +3 -3
  22. package/dist/cjs/components/LayoutSection.js +2 -2
  23. package/dist/cjs/components/Link.js +6 -2
  24. package/dist/cjs/components/List.js +1 -0
  25. package/dist/cjs/components/Listbox.js +9 -4
  26. package/dist/cjs/components/Modal.js +26 -17
  27. package/dist/cjs/components/Navigation.js +30 -20
  28. package/dist/cjs/components/Page.js +8 -3
  29. package/dist/cjs/components/Pagination.js +11 -4
  30. package/dist/cjs/components/Pane.js +118 -35
  31. package/dist/cjs/components/Popover.js +59 -6
  32. package/dist/cjs/components/RangeSlider.js +11 -4
  33. package/dist/cjs/components/ResourceList.js +9 -3
  34. package/dist/cjs/components/Select.js +2 -0
  35. package/dist/cjs/components/Table.js +32 -19
  36. package/dist/cjs/components/Text.js +8 -5
  37. package/dist/cjs/components/TextField.js +23 -13
  38. package/dist/cjs/components/Thumbnail.js +7 -2
  39. package/dist/cjs/components/TimePicker.js +7 -2
  40. package/dist/cjs/components/Tip.js +10 -4
  41. package/dist/cjs/components/Tooltip.js +16 -8
  42. package/dist/cjs/components/TopBar.js +17 -9
  43. package/dist/cjs/dev/verify-publish.js +37 -4
  44. package/dist/cjs/postcss.config.js +21 -0
  45. package/dist/cjs/stories/ActionList.stories.js +365 -0
  46. package/dist/cjs/stories/AnnouncementBar.stories.js +244 -0
  47. package/dist/cjs/stories/Autocomplete.stories.js +871 -0
  48. package/dist/cjs/stories/Badge.stories.js +183 -0
  49. package/dist/cjs/stories/Banner.stories.js +201 -0
  50. package/dist/cjs/stories/Box.stories.js +599 -0
  51. package/dist/cjs/stories/Button.stories.js +325 -0
  52. package/dist/cjs/stories/ButtonGroup.stories.js +404 -0
  53. package/dist/cjs/stories/Card.stories.js +278 -0
  54. package/dist/cjs/stories/Checkbox.stories.js +266 -0
  55. package/dist/cjs/stories/ChoiceList.stories.js +884 -0
  56. package/dist/cjs/stories/Collapsible.stories.js +905 -0
  57. package/dist/cjs/stories/ColorField.stories.js +883 -0
  58. package/dist/cjs/stories/ContextualSaveBar.stories.js +970 -0
  59. package/dist/cjs/stories/DatePicker.stories.js +584 -0
  60. package/dist/cjs/stories/Divider.stories.js +759 -0
  61. package/dist/cjs/stories/DropZone.stories.js +1205 -0
  62. package/dist/cjs/stories/EmptyState.stories.js +296 -0
  63. package/dist/cjs/stories/Filters.stories.js +1353 -0
  64. package/dist/cjs/stories/FooterHelp.stories.js +869 -0
  65. package/dist/cjs/stories/Form.stories.js +940 -0
  66. package/dist/cjs/stories/Grid.stories.js +1199 -0
  67. package/dist/cjs/stories/HorizontalStack.stories.js +1064 -0
  68. package/dist/cjs/stories/Icon.stories.js +596 -0
  69. package/dist/cjs/stories/Image.stories.js +883 -0
  70. package/dist/cjs/stories/InlineError.stories.js +710 -0
  71. package/dist/cjs/stories/Label.stories.js +665 -0
  72. package/dist/cjs/stories/Layout.stories.js +685 -0
  73. package/dist/cjs/stories/LayoutSection.stories.js +1267 -0
  74. package/dist/cjs/stories/Link.stories.js +423 -0
  75. package/dist/cjs/stories/List.stories.js +1031 -0
  76. package/dist/cjs/stories/Listbox.stories.js +820 -0
  77. package/dist/cjs/stories/Loading.stories.js +900 -0
  78. package/dist/cjs/stories/Modal.stories.js +363 -0
  79. package/dist/cjs/stories/Navigation.stories.js +605 -0
  80. package/dist/cjs/stories/Page.stories.js +318 -0
  81. package/dist/cjs/stories/Pagination.stories.js +438 -0
  82. package/dist/cjs/stories/Pane.stories.js +1535 -0
  83. package/dist/cjs/stories/Popover.stories.js +637 -0
  84. package/dist/cjs/stories/PopoverManager.stories.js +1225 -0
  85. package/dist/cjs/stories/ProgressBar.stories.js +506 -0
  86. package/dist/cjs/stories/RadioButton.stories.js +642 -0
  87. package/dist/cjs/stories/RadioButtonCard.stories.js +816 -0
  88. package/dist/cjs/stories/RangeSlider.stories.js +892 -0
  89. package/dist/cjs/stories/ResourceList.stories.js +1067 -0
  90. package/dist/cjs/stories/Select.stories.js +413 -0
  91. package/dist/cjs/stories/SkeletonText.stories.js +776 -0
  92. package/dist/cjs/stories/Spinner.stories.js +396 -0
  93. package/dist/cjs/stories/Table.stories.js +628 -0
  94. package/dist/cjs/stories/Tabs.stories.js +723 -0
  95. package/dist/cjs/stories/Tag.stories.js +620 -0
  96. package/dist/cjs/stories/Text.stories.js +262 -0
  97. package/dist/cjs/stories/TextField.stories.js +377 -0
  98. package/dist/cjs/stories/Thumbnail.stories.js +859 -0
  99. package/dist/cjs/stories/TimePicker.stories.js +966 -0
  100. package/dist/cjs/stories/Tip.stories.js +753 -0
  101. package/dist/cjs/stories/Tooltip.stories.js +357 -0
  102. package/dist/cjs/stories/TopBar.stories.js +155 -0
  103. package/dist/cjs/stories/VerticalStack.stories.js +1287 -0
  104. package/dist/cjs/tailwind.config.js +17 -0
  105. package/dist/cjs/utilities/transformers.js +66 -0
  106. package/dist/cjs/vite.config.js +35 -0
  107. package/dist/esm/components/ActionList.js +41 -12
  108. package/dist/esm/components/AnnouncementBar.js +3 -1
  109. package/dist/esm/components/AppProvider.js +10 -1
  110. package/dist/esm/components/Autocomplete.js +21 -4
  111. package/dist/esm/components/Badge.js +2 -2
  112. package/dist/esm/components/Banner.js +20 -21
  113. package/dist/esm/components/Box.js +5 -4
  114. package/dist/esm/components/Button.js +24 -7
  115. package/dist/esm/components/Card.js +5 -4
  116. package/dist/esm/components/Checkbox.js +6 -1
  117. package/dist/esm/components/ChoiceList.js +7 -4
  118. package/dist/esm/components/ColorField.js +1 -1
  119. package/dist/esm/components/DatePicker.js +6 -1
  120. package/dist/esm/components/DropZone.js +14 -4
  121. package/dist/esm/components/EmptyState.js +4 -1
  122. package/dist/esm/components/Filters.js +10 -3
  123. package/dist/esm/components/FooterHelp.js +1 -1
  124. package/dist/esm/components/Form.js +18 -3
  125. package/dist/esm/components/Frame.js +18 -6
  126. package/dist/esm/components/FrameSaveBar.js +10 -6
  127. package/dist/esm/components/InlineError.js +1 -1
  128. package/dist/esm/components/Layout.js +4 -4
  129. package/dist/esm/components/LayoutSection.js +2 -2
  130. package/dist/esm/components/Link.js +6 -2
  131. package/dist/esm/components/List.js +1 -0
  132. package/dist/esm/components/Listbox.js +4 -4
  133. package/dist/esm/components/Modal.js +8 -4
  134. package/dist/esm/components/Navigation.js +16 -11
  135. package/dist/esm/components/Page.js +9 -4
  136. package/dist/esm/components/Pagination.js +3 -1
  137. package/dist/esm/components/Pane.js +114 -36
  138. package/dist/esm/components/Popover.js +18 -6
  139. package/dist/esm/components/RangeSlider.js +3 -1
  140. package/dist/esm/components/ResourceList.js +2 -1
  141. package/dist/esm/components/Select.js +2 -0
  142. package/dist/esm/components/Table.js +16 -3
  143. package/dist/esm/components/Text.js +8 -6
  144. package/dist/esm/components/TextField.js +6 -1
  145. package/dist/esm/components/Thumbnail.js +1 -1
  146. package/dist/esm/components/TimePicker.js +1 -1
  147. package/dist/esm/components/Tip.js +3 -2
  148. package/dist/esm/components/Tooltip.js +4 -1
  149. package/dist/esm/components/TopBar.js +7 -4
  150. package/dist/esm/dev/verify-publish.js +37 -4
  151. package/dist/esm/postcss.config.js +6 -0
  152. package/dist/esm/stories/ActionList.stories.js +327 -0
  153. package/dist/esm/stories/AnnouncementBar.stories.js +212 -0
  154. package/dist/esm/stories/Autocomplete.stories.js +833 -0
  155. package/dist/esm/stories/Badge.stories.js +138 -0
  156. package/dist/esm/stories/Banner.stories.js +159 -0
  157. package/dist/esm/stories/Box.stories.js +558 -0
  158. package/dist/esm/stories/Button.stories.js +277 -0
  159. package/dist/esm/stories/ButtonGroup.stories.js +357 -0
  160. package/dist/esm/stories/Card.stories.js +240 -0
  161. package/dist/esm/stories/Checkbox.stories.js +219 -0
  162. package/dist/esm/stories/ChoiceList.stories.js +834 -0
  163. package/dist/esm/stories/Collapsible.stories.js +867 -0
  164. package/dist/esm/stories/ColorField.stories.js +842 -0
  165. package/dist/esm/stories/ContextualSaveBar.stories.js +938 -0
  166. package/dist/esm/stories/DatePicker.stories.js +537 -0
  167. package/dist/esm/stories/Divider.stories.js +715 -0
  168. package/dist/esm/stories/DropZone.stories.js +1161 -0
  169. package/dist/esm/stories/EmptyState.stories.js +246 -0
  170. package/dist/esm/stories/Filters.stories.js +1315 -0
  171. package/dist/esm/stories/FooterHelp.stories.js +813 -0
  172. package/dist/esm/stories/Form.stories.js +905 -0
  173. package/dist/esm/stories/Grid.stories.js +1152 -0
  174. package/dist/esm/stories/HorizontalStack.stories.js +1011 -0
  175. package/dist/esm/stories/Icon.stories.js +555 -0
  176. package/dist/esm/stories/Image.stories.js +836 -0
  177. package/dist/esm/stories/InlineError.stories.js +666 -0
  178. package/dist/esm/stories/Label.stories.js +612 -0
  179. package/dist/esm/stories/Layout.stories.js +647 -0
  180. package/dist/esm/stories/LayoutSection.stories.js +1226 -0
  181. package/dist/esm/stories/Link.stories.js +379 -0
  182. package/dist/esm/stories/List.stories.js +975 -0
  183. package/dist/esm/stories/Listbox.stories.js +776 -0
  184. package/dist/esm/stories/Loading.stories.js +850 -0
  185. package/dist/esm/stories/Modal.stories.js +322 -0
  186. package/dist/esm/stories/Navigation.stories.js +567 -0
  187. package/dist/esm/stories/Page.stories.js +276 -0
  188. package/dist/esm/stories/Pagination.stories.js +394 -0
  189. package/dist/esm/stories/Pane.stories.js +1497 -0
  190. package/dist/esm/stories/Popover.stories.js +605 -0
  191. package/dist/esm/stories/PopoverManager.stories.js +1193 -0
  192. package/dist/esm/stories/ProgressBar.stories.js +465 -0
  193. package/dist/esm/stories/RadioButton.stories.js +598 -0
  194. package/dist/esm/stories/RadioButtonCard.stories.js +772 -0
  195. package/dist/esm/stories/RangeSlider.stories.js +845 -0
  196. package/dist/esm/stories/ResourceList.stories.js +1029 -0
  197. package/dist/esm/stories/Select.stories.js +363 -0
  198. package/dist/esm/stories/SkeletonText.stories.js +717 -0
  199. package/dist/esm/stories/Spinner.stories.js +355 -0
  200. package/dist/esm/stories/Table.stories.js +584 -0
  201. package/dist/esm/stories/Tabs.stories.js +685 -0
  202. package/dist/esm/stories/Tag.stories.js +573 -0
  203. package/dist/esm/stories/Text.stories.js +217 -0
  204. package/dist/esm/stories/TextField.stories.js +332 -0
  205. package/dist/esm/stories/Thumbnail.stories.js +806 -0
  206. package/dist/esm/stories/TimePicker.stories.js +910 -0
  207. package/dist/esm/stories/Tip.stories.js +706 -0
  208. package/dist/esm/stories/Tooltip.stories.js +313 -0
  209. package/dist/esm/stories/TopBar.stories.js +114 -0
  210. package/dist/esm/stories/VerticalStack.stories.js +1240 -0
  211. package/dist/esm/tailwind.config.js +7 -0
  212. package/dist/esm/utilities/transformers.js +47 -0
  213. package/dist/esm/vite.config.js +20 -0
  214. package/dist/types/components/ActionList.d.ts +122 -0
  215. package/dist/types/components/ActionList.d.ts.map +1 -0
  216. package/dist/types/components/AnnouncementBar.d.ts +21 -0
  217. package/dist/types/components/AnnouncementBar.d.ts.map +1 -0
  218. package/dist/types/components/AppProvider.d.ts +61 -0
  219. package/dist/types/components/AppProvider.d.ts.map +1 -0
  220. package/dist/types/components/Autocomplete.d.ts +130 -0
  221. package/dist/types/components/Autocomplete.d.ts.map +1 -0
  222. package/dist/types/components/Badge.d.ts +21 -0
  223. package/dist/types/components/Badge.d.ts.map +1 -0
  224. package/dist/types/components/Banner.d.ts +78 -0
  225. package/dist/types/components/Banner.d.ts.map +1 -0
  226. package/dist/types/components/Box.d.ts +70 -0
  227. package/dist/types/components/Box.d.ts.map +1 -0
  228. package/dist/types/components/Button.d.ts +123 -0
  229. package/dist/types/components/Button.d.ts.map +1 -0
  230. package/dist/types/components/ButtonGroup.d.ts +26 -0
  231. package/dist/types/components/ButtonGroup.d.ts.map +1 -0
  232. package/dist/types/components/Card.d.ts +139 -0
  233. package/dist/types/components/Card.d.ts.map +1 -0
  234. package/dist/types/components/Checkbox.d.ts +56 -0
  235. package/dist/types/components/Checkbox.d.ts.map +1 -0
  236. package/dist/types/components/ChoiceList.d.ts +69 -0
  237. package/dist/types/components/ChoiceList.d.ts.map +1 -0
  238. package/dist/types/components/Collapsible.d.ts +17 -0
  239. package/dist/types/components/Collapsible.d.ts.map +1 -0
  240. package/dist/types/components/ColorField.d.ts +36 -0
  241. package/dist/types/components/ColorField.d.ts.map +1 -0
  242. package/dist/types/components/ContextualSaveBar.d.ts +22 -0
  243. package/dist/types/components/ContextualSaveBar.d.ts.map +1 -0
  244. package/dist/types/components/DatePicker.d.ts +66 -0
  245. package/dist/types/components/DatePicker.d.ts.map +1 -0
  246. package/dist/types/components/Divider.d.ts +21 -0
  247. package/dist/types/components/Divider.d.ts.map +1 -0
  248. package/dist/types/components/DropZone.d.ts +108 -0
  249. package/dist/types/components/DropZone.d.ts.map +1 -0
  250. package/dist/types/components/EmptyState.d.ts +52 -0
  251. package/dist/types/components/EmptyState.d.ts.map +1 -0
  252. package/dist/types/components/Filters.d.ts +166 -0
  253. package/dist/types/components/Filters.d.ts.map +1 -0
  254. package/dist/types/components/FooterHelp.d.ts +21 -0
  255. package/dist/types/components/FooterHelp.d.ts.map +1 -0
  256. package/dist/types/components/Form.d.ts +39 -0
  257. package/dist/types/components/Form.d.ts.map +1 -0
  258. package/dist/types/components/Frame.d.ts +51 -0
  259. package/dist/types/components/Frame.d.ts.map +1 -0
  260. package/dist/types/components/FrameSaveBar.d.ts +8 -0
  261. package/dist/types/components/FrameSaveBar.d.ts.map +1 -0
  262. package/dist/types/components/Grid.d.ts +39 -0
  263. package/dist/types/components/Grid.d.ts.map +1 -0
  264. package/dist/types/components/HorizontalStack.d.ts +36 -0
  265. package/dist/types/components/HorizontalStack.d.ts.map +1 -0
  266. package/dist/types/components/Icon.d.ts +43 -0
  267. package/dist/types/components/Icon.d.ts.map +1 -0
  268. package/dist/types/components/Image.d.ts +45 -0
  269. package/dist/types/components/Image.d.ts.map +1 -0
  270. package/dist/types/components/InlineError.d.ts +22 -0
  271. package/dist/types/components/InlineError.d.ts.map +1 -0
  272. package/dist/types/components/Label.d.ts +28 -0
  273. package/dist/types/components/Label.d.ts.map +1 -0
  274. package/dist/types/components/Layout.d.ts +44 -0
  275. package/dist/types/components/Layout.d.ts.map +1 -0
  276. package/dist/types/components/LayoutSection.d.ts +24 -0
  277. package/dist/types/components/LayoutSection.d.ts.map +1 -0
  278. package/dist/types/components/Link.d.ts +38 -0
  279. package/dist/types/components/Link.d.ts.map +1 -0
  280. package/dist/types/components/List.d.ts +33 -0
  281. package/dist/types/components/List.d.ts.map +1 -0
  282. package/dist/types/components/Listbox.d.ts +34 -0
  283. package/dist/types/components/Listbox.d.ts.map +1 -0
  284. package/dist/types/components/Loading.d.ts +13 -0
  285. package/dist/types/components/Loading.d.ts.map +1 -0
  286. package/dist/types/components/Modal.d.ts +75 -0
  287. package/dist/types/components/Modal.d.ts.map +1 -0
  288. package/dist/types/components/Navigation.d.ts +105 -0
  289. package/dist/types/components/Navigation.d.ts.map +1 -0
  290. package/dist/types/components/Page.d.ts +59 -0
  291. package/dist/types/components/Page.d.ts.map +1 -0
  292. package/dist/types/components/Pagination.d.ts +39 -0
  293. package/dist/types/components/Pagination.d.ts.map +1 -0
  294. package/dist/types/components/Pane.d.ts +11 -0
  295. package/dist/types/components/Pane.d.ts.map +1 -0
  296. package/dist/types/components/Popover.d.ts +56 -0
  297. package/dist/types/components/Popover.d.ts.map +1 -0
  298. package/dist/types/components/PopoverManager.d.ts +3 -0
  299. package/dist/types/components/PopoverManager.d.ts.map +1 -0
  300. package/dist/types/components/ProgressBar.d.ts +24 -0
  301. package/dist/types/components/ProgressBar.d.ts.map +1 -0
  302. package/dist/types/components/RadioButton.d.ts +39 -0
  303. package/dist/types/components/RadioButton.d.ts.map +1 -0
  304. package/dist/types/components/RadioButtonCard.d.ts +41 -0
  305. package/dist/types/components/RadioButtonCard.d.ts.map +1 -0
  306. package/dist/types/components/RangeSlider.d.ts +44 -0
  307. package/dist/types/components/RangeSlider.d.ts.map +1 -0
  308. package/dist/types/components/ResourceList.d.ts +54 -0
  309. package/dist/types/components/ResourceList.d.ts.map +1 -0
  310. package/dist/types/components/Select.d.ts +48 -0
  311. package/dist/types/components/Select.d.ts.map +1 -0
  312. package/dist/types/components/SkeletonText.d.ts +28 -0
  313. package/dist/types/components/SkeletonText.d.ts.map +1 -0
  314. package/dist/types/components/Spinner.d.ts +18 -0
  315. package/dist/types/components/Spinner.d.ts.map +1 -0
  316. package/dist/types/components/Table.d.ts +197 -0
  317. package/dist/types/components/Table.d.ts.map +1 -0
  318. package/dist/types/components/Tabs.d.ts +41 -0
  319. package/dist/types/components/Tabs.d.ts.map +1 -0
  320. package/dist/types/components/Tag.d.ts +26 -0
  321. package/dist/types/components/Tag.d.ts.map +1 -0
  322. package/dist/types/components/Text.d.ts +32 -0
  323. package/dist/types/components/Text.d.ts.map +1 -0
  324. package/dist/types/components/TextField.d.ts +109 -0
  325. package/dist/types/components/TextField.d.ts.map +1 -0
  326. package/dist/types/components/Thumbnail.d.ts +18 -0
  327. package/dist/types/components/Thumbnail.d.ts.map +1 -0
  328. package/dist/types/components/TimePicker.d.ts +3 -0
  329. package/dist/types/components/TimePicker.d.ts.map +1 -0
  330. package/dist/types/components/Tip.d.ts +23 -0
  331. package/dist/types/components/Tip.d.ts.map +1 -0
  332. package/dist/types/components/Tooltip.d.ts +84 -0
  333. package/dist/types/components/Tooltip.d.ts.map +1 -0
  334. package/dist/types/components/TopBar.d.ts +43 -0
  335. package/dist/types/components/TopBar.d.ts.map +1 -0
  336. package/dist/types/components/VerticalStack.d.ts +27 -0
  337. package/dist/types/components/VerticalStack.d.ts.map +1 -0
  338. package/dist/types/index.d.ts +62 -0
  339. package/dist/types/index.d.ts.map +1 -0
  340. package/dist/types/styles/Table.d.ts +1570 -0
  341. package/dist/types/styles/Table.d.ts.map +1 -0
  342. package/dist/types/utilities/dates.d.ts +46 -0
  343. package/dist/types/utilities/dates.d.ts.map +1 -0
  344. package/dist/types/utilities/transformers.d.ts +4 -0
  345. package/dist/types/utilities/transformers.d.ts.map +1 -0
  346. package/dist/types/utilities/useIndexResourceState.d.ts +21 -0
  347. package/dist/types/utilities/useIndexResourceState.d.ts.map +1 -0
  348. package/dist/types/utilities/useMounted.d.ts +2 -0
  349. package/dist/types/utilities/useMounted.d.ts.map +1 -0
  350. package/dist/types/utilities/useTableScrollState.d.ts +29 -0
  351. package/dist/types/utilities/useTableScrollState.d.ts.map +1 -0
  352. package/index.css +6 -0
  353. package/package.json +37 -6
@@ -0,0 +1,537 @@
1
+ function _array_like_to_array(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _array_with_holes(arr) {
7
+ if (Array.isArray(arr)) return arr;
8
+ }
9
+ function _define_property(obj, key, value) {
10
+ if (key in obj) {
11
+ Object.defineProperty(obj, key, {
12
+ value: value,
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true
16
+ });
17
+ } else {
18
+ obj[key] = value;
19
+ }
20
+ return obj;
21
+ }
22
+ function _iterable_to_array_limit(arr, i) {
23
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
24
+ if (_i == null) return;
25
+ var _arr = [];
26
+ var _n = true;
27
+ var _d = false;
28
+ var _s, _e;
29
+ try {
30
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
31
+ _arr.push(_s.value);
32
+ if (i && _arr.length === i) break;
33
+ }
34
+ } catch (err) {
35
+ _d = true;
36
+ _e = err;
37
+ } finally{
38
+ try {
39
+ if (!_n && _i["return"] != null) _i["return"]();
40
+ } finally{
41
+ if (_d) throw _e;
42
+ }
43
+ }
44
+ return _arr;
45
+ }
46
+ function _non_iterable_rest() {
47
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
48
+ }
49
+ function _object_spread(target) {
50
+ for(var i = 1; i < arguments.length; i++){
51
+ var source = arguments[i] != null ? arguments[i] : {};
52
+ var ownKeys = Object.keys(source);
53
+ if (typeof Object.getOwnPropertySymbols === "function") {
54
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
55
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
56
+ }));
57
+ }
58
+ ownKeys.forEach(function(key) {
59
+ _define_property(target, key, source[key]);
60
+ });
61
+ }
62
+ return target;
63
+ }
64
+ function ownKeys(object, enumerableOnly) {
65
+ var keys = Object.keys(object);
66
+ if (Object.getOwnPropertySymbols) {
67
+ var symbols = Object.getOwnPropertySymbols(object);
68
+ if (enumerableOnly) {
69
+ symbols = symbols.filter(function(sym) {
70
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
71
+ });
72
+ }
73
+ keys.push.apply(keys, symbols);
74
+ }
75
+ return keys;
76
+ }
77
+ function _object_spread_props(target, source) {
78
+ source = source != null ? source : {};
79
+ if (Object.getOwnPropertyDescriptors) {
80
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
81
+ } else {
82
+ ownKeys(Object(source)).forEach(function(key) {
83
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
84
+ });
85
+ }
86
+ return target;
87
+ }
88
+ function _sliced_to_array(arr, i) {
89
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
90
+ }
91
+ function _unsupported_iterable_to_array(o, minLen) {
92
+ if (!o) return;
93
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
94
+ var n = Object.prototype.toString.call(o).slice(8, -1);
95
+ if (n === "Object" && o.constructor) n = o.constructor.name;
96
+ if (n === "Map" || n === "Set") return Array.from(n);
97
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
98
+ }
99
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
100
+ import { useState } from "react";
101
+ import DatePicker from "../components/DatePicker.js";
102
+ import Text from "../components/Text.js";
103
+ import Card from "../components/Card.js";
104
+ import VerticalStack from "../components/VerticalStack.js";
105
+ import Box from "../components/Box.js";
106
+ import { transformStorySource } from "../utilities/transformers.js";
107
+ export default {
108
+ title: 'Litho/DatePicker',
109
+ component: DatePicker,
110
+ parameters: {
111
+ layout: 'padded',
112
+ docs: {
113
+ description: {
114
+ component: "A DatePicker component that allows users to select dates using an interactive calendar interface. DatePickers support single date selection, date ranges, and various formatting options."
115
+ }
116
+ }
117
+ },
118
+ args: {
119
+ label: 'Select date'
120
+ },
121
+ tags: [
122
+ 'autodocs'
123
+ ],
124
+ argTypes: {
125
+ label: {
126
+ control: 'text',
127
+ description: 'Label for the DatePicker'
128
+ },
129
+ labelAction: {
130
+ control: 'object',
131
+ description: 'Action button for the label'
132
+ },
133
+ value: {
134
+ control: 'object',
135
+ description: 'Current value of the DatePicker (Object|string|Date|null)'
136
+ },
137
+ placeholder: {
138
+ control: 'text',
139
+ description: 'Placeholder text for the input'
140
+ },
141
+ displayFormat: {
142
+ control: 'text',
143
+ description: 'Date format for displaying the value'
144
+ },
145
+ helpText: {
146
+ control: 'text',
147
+ description: 'Help text displayed under the field'
148
+ },
149
+ suffix: {
150
+ control: 'object',
151
+ description: 'Icon or text displayed at the end of the input'
152
+ },
153
+ isClearable: {
154
+ control: 'boolean',
155
+ description: 'Whether the input can be cleared'
156
+ },
157
+ tooltip: {
158
+ control: 'text',
159
+ description: 'Tooltip text for the field'
160
+ },
161
+ locale: {
162
+ control: 'text',
163
+ description: 'Locale used for formatting (default: "en-US")'
164
+ },
165
+ allowRange: {
166
+ control: 'boolean',
167
+ description: 'Whether date range selection is enabled'
168
+ },
169
+ activator: {
170
+ control: 'object',
171
+ description: 'Custom activator for the popover'
172
+ },
173
+ disableDatesAfter: {
174
+ control: 'date',
175
+ description: 'Dates after this value are disabled'
176
+ },
177
+ disableDatesBefore: {
178
+ control: 'date',
179
+ description: 'Dates before this value are disabled'
180
+ },
181
+ multiMonth: {
182
+ control: 'boolean',
183
+ description: 'Whether multiple months are shown'
184
+ },
185
+ disabled: {
186
+ control: 'boolean',
187
+ description: 'Whether the DatePicker is disabled'
188
+ },
189
+ showTimePicker: {
190
+ control: 'boolean',
191
+ description: 'Whether a time picker is displayed'
192
+ },
193
+ autoFocus: {
194
+ control: 'boolean',
195
+ description: 'Whether the input is focused automatically'
196
+ },
197
+ maxDate: {
198
+ control: 'date',
199
+ description: 'Maximum selectable date'
200
+ },
201
+ minDate: {
202
+ control: 'date',
203
+ description: 'Minimum selectable date'
204
+ },
205
+ inline: {
206
+ control: 'boolean',
207
+ description: 'Whether the calendar is displayed inline'
208
+ },
209
+ closeAfterDateSelection: {
210
+ control: 'boolean',
211
+ description: 'Whether to close picker after date selection'
212
+ },
213
+ preferredAlignment: {
214
+ control: 'select',
215
+ options: [
216
+ 'left',
217
+ 'center',
218
+ 'right'
219
+ ],
220
+ description: 'Alignment of the popover'
221
+ },
222
+ preferredPosition: {
223
+ control: 'select',
224
+ options: [
225
+ 'above',
226
+ 'below'
227
+ ],
228
+ description: 'Position of the popover'
229
+ },
230
+ includeHourlyPresets: {
231
+ control: 'boolean',
232
+ description: 'Whether hourly presets are included'
233
+ },
234
+ customPresets: {
235
+ control: 'object',
236
+ description: 'Custom presets to include'
237
+ },
238
+ footer: {
239
+ control: 'object',
240
+ description: 'Optional footer component to display'
241
+ },
242
+ onChange: {
243
+ action: 'dateChanged',
244
+ description: 'Callback function called when the date changes'
245
+ },
246
+ onBlur: {
247
+ action: 'blurred',
248
+ description: 'Callback function for when the field loses focus'
249
+ }
250
+ }
251
+ };
252
+ export var Default = {
253
+ render: function(args) {
254
+ var _useState = _sliced_to_array(useState(args.value), 2), selectedDate = _useState[0], setSelectedDate = _useState[1];
255
+ return /*#__PURE__*/ _jsx(DatePicker, _object_spread_props(_object_spread({}, args), {
256
+ value: selectedDate,
257
+ onChange: function(date) {
258
+ var _args_onChange;
259
+ setSelectedDate(date);
260
+ (_args_onChange = args.onChange) === null || _args_onChange === void 0 ? void 0 : _args_onChange.call(args, date);
261
+ }
262
+ }));
263
+ },
264
+ parameters: {
265
+ docs: {
266
+ source: {
267
+ transform: transformStorySource
268
+ }
269
+ }
270
+ }
271
+ };
272
+ export var WithPlaceholder = {
273
+ args: {
274
+ placeholder: 'Choose a date...'
275
+ },
276
+ render: function(args) {
277
+ var _useState = _sliced_to_array(useState(null), 2), selectedDate = _useState[0], setSelectedDate = _useState[1];
278
+ return /*#__PURE__*/ _jsx(DatePicker, _object_spread_props(_object_spread({}, args), {
279
+ value: selectedDate,
280
+ onChange: setSelectedDate
281
+ }));
282
+ },
283
+ parameters: {
284
+ docs: {
285
+ source: {
286
+ transform: transformStorySource
287
+ }
288
+ }
289
+ }
290
+ };
291
+ export var WithHelpText = {
292
+ args: {
293
+ label: 'Event date',
294
+ helpText: 'Select the date when the event will take place'
295
+ },
296
+ render: function(args) {
297
+ var _useState = _sliced_to_array(useState(null), 2), selectedDate = _useState[0], setSelectedDate = _useState[1];
298
+ return /*#__PURE__*/ _jsx(DatePicker, _object_spread_props(_object_spread({}, args), {
299
+ value: selectedDate,
300
+ onChange: setSelectedDate
301
+ }));
302
+ },
303
+ parameters: {
304
+ docs: {
305
+ source: {
306
+ transform: transformStorySource
307
+ }
308
+ }
309
+ }
310
+ };
311
+ export var WithError = {
312
+ args: {
313
+ label: 'Deadline',
314
+ error: 'Please select a valid deadline date'
315
+ },
316
+ render: function(args) {
317
+ var _useState = _sliced_to_array(useState(null), 2), selectedDate = _useState[0], setSelectedDate = _useState[1];
318
+ return /*#__PURE__*/ _jsx(DatePicker, _object_spread_props(_object_spread({}, args), {
319
+ value: selectedDate,
320
+ onChange: setSelectedDate
321
+ }));
322
+ },
323
+ parameters: {
324
+ docs: {
325
+ source: {
326
+ transform: transformStorySource
327
+ }
328
+ }
329
+ }
330
+ };
331
+ export var Disabled = {
332
+ args: {
333
+ label: 'Disabled date picker',
334
+ disabled: true,
335
+ value: new Date()
336
+ }
337
+ };
338
+ export var DateRange = {
339
+ args: {
340
+ label: 'Date range',
341
+ allowRange: true,
342
+ helpText: 'Select start and end dates for the period'
343
+ },
344
+ render: function(args) {
345
+ var _useState = _sliced_to_array(useState({
346
+ start: null,
347
+ end: null
348
+ }), 2), selectedRange = _useState[0], setSelectedRange = _useState[1];
349
+ return /*#__PURE__*/ _jsx(DatePicker, _object_spread_props(_object_spread({}, args), {
350
+ value: selectedRange,
351
+ onChange: setSelectedRange
352
+ }));
353
+ },
354
+ parameters: {
355
+ docs: {
356
+ source: {
357
+ transform: transformStorySource
358
+ },
359
+ description: {
360
+ story: 'Date pickers can be configured to allow range selection for periods.'
361
+ }
362
+ }
363
+ }
364
+ };
365
+ export var WithRestrictions = {
366
+ render: function() {
367
+ var _useState = _sliced_to_array(useState(null), 2), selectedDate = _useState[0], setSelectedDate = _useState[1];
368
+ var today = new Date();
369
+ var maxDate = new Date();
370
+ maxDate.setDate(today.getDate() + 30); // 30 days from today
371
+ return /*#__PURE__*/ _jsx(DatePicker, {
372
+ label: "Available dates",
373
+ helpText: "Only dates within the next 30 days are available",
374
+ value: selectedDate,
375
+ onChange: setSelectedDate,
376
+ disableDatesBefore: today,
377
+ disableDatesAfter: maxDate
378
+ });
379
+ },
380
+ parameters: {
381
+ docs: {
382
+ source: {
383
+ transform: transformStorySource
384
+ },
385
+ description: {
386
+ story: 'Date pickers can restrict selectable dates to specific ranges.'
387
+ }
388
+ }
389
+ }
390
+ };
391
+ export var FormExample = {
392
+ render: function() {
393
+ var _useState = _sliced_to_array(useState(null), 2), startDate = _useState[0], setStartDate = _useState[1];
394
+ var _useState1 = _sliced_to_array(useState(null), 2), endDate = _useState1[0], setEndDate = _useState1[1];
395
+ var _useState2 = _sliced_to_array(useState(null), 2), eventDate = _useState2[0], setEventDate = _useState2[1];
396
+ return /*#__PURE__*/ _jsx(Card, {
397
+ title: "Event Planning Form",
398
+ padded: true,
399
+ children: /*#__PURE__*/ _jsxs(VerticalStack, {
400
+ gap: "6",
401
+ children: [
402
+ /*#__PURE__*/ _jsx(DatePicker, {
403
+ label: "Planning start date",
404
+ value: startDate,
405
+ onChange: setStartDate,
406
+ helpText: "When do you want to start planning?"
407
+ }),
408
+ /*#__PURE__*/ _jsx(DatePicker, {
409
+ label: "Event date",
410
+ value: eventDate,
411
+ onChange: setEventDate,
412
+ disableDatesBefore: startDate,
413
+ helpText: "When will the event take place?"
414
+ }),
415
+ /*#__PURE__*/ _jsx(DatePicker, {
416
+ label: "Planning deadline",
417
+ value: endDate,
418
+ onChange: setEndDate,
419
+ disableDatesBefore: startDate,
420
+ disableDatesAfter: eventDate,
421
+ helpText: "When should planning be completed?"
422
+ }),
423
+ /*#__PURE__*/ _jsxs("div", {
424
+ style: {
425
+ marginTop: '1rem',
426
+ padding: '1rem',
427
+ backgroundColor: '#f9f9f9',
428
+ borderRadius: '4px'
429
+ },
430
+ children: [
431
+ /*#__PURE__*/ _jsx(Text, {
432
+ variant: "headingSm",
433
+ style: {
434
+ marginBottom: '0.5rem'
435
+ },
436
+ children: "Selected Dates:"
437
+ }),
438
+ /*#__PURE__*/ _jsxs(Text, {
439
+ children: [
440
+ "Planning Start: ",
441
+ startDate ? startDate.toLocaleDateString() : 'Not selected'
442
+ ]
443
+ }),
444
+ /*#__PURE__*/ _jsxs(Text, {
445
+ children: [
446
+ "Event Date: ",
447
+ eventDate ? eventDate.toLocaleDateString() : 'Not selected'
448
+ ]
449
+ }),
450
+ /*#__PURE__*/ _jsxs(Text, {
451
+ children: [
452
+ "Planning Deadline: ",
453
+ endDate ? endDate.toLocaleDateString() : 'Not selected'
454
+ ]
455
+ })
456
+ ]
457
+ })
458
+ ]
459
+ })
460
+ });
461
+ },
462
+ parameters: {
463
+ docs: {
464
+ source: {
465
+ transform: transformStorySource
466
+ },
467
+ description: {
468
+ story: 'Multiple date pickers can work together with interdependent constraints.'
469
+ }
470
+ }
471
+ }
472
+ };
473
+ export var BookingExample = {
474
+ render: function() {
475
+ var _useState = _sliced_to_array(useState(null), 2), checkIn = _useState[0], setCheckIn = _useState[1];
476
+ var _useState1 = _sliced_to_array(useState(null), 2), checkOut = _useState1[0], setCheckOut = _useState1[1];
477
+ var today = new Date();
478
+ return /*#__PURE__*/ _jsxs(Card, {
479
+ title: "Hotel Booking",
480
+ padded: true,
481
+ children: [
482
+ /*#__PURE__*/ _jsxs(Box, {
483
+ style: {
484
+ display: 'grid',
485
+ gridTemplateColumns: '1fr 1fr',
486
+ gap: '1rem'
487
+ },
488
+ children: [
489
+ /*#__PURE__*/ _jsx(DatePicker, {
490
+ label: "Check-in date",
491
+ value: checkIn,
492
+ onChange: function(date) {
493
+ setCheckIn(date);
494
+ if (checkOut && date && date >= checkOut) {
495
+ setCheckOut(null);
496
+ }
497
+ },
498
+ disableDatesBefore: today
499
+ }),
500
+ /*#__PURE__*/ _jsx(DatePicker, {
501
+ label: "Check-out date",
502
+ value: checkOut,
503
+ onChange: setCheckOut,
504
+ disableDatesBefore: checkIn || today
505
+ })
506
+ ]
507
+ }),
508
+ checkIn && checkOut && /*#__PURE__*/ _jsx("div", {
509
+ style: {
510
+ marginTop: '1rem',
511
+ padding: '1rem',
512
+ backgroundColor: '#e8f5e8',
513
+ borderRadius: '4px',
514
+ border: '1px solid #c3e6c3'
515
+ },
516
+ children: /*#__PURE__*/ _jsxs(Text, {
517
+ children: [
518
+ "Stay duration: ",
519
+ Math.ceil((checkOut - checkIn) / (1000 * 60 * 60 * 24)),
520
+ " nights"
521
+ ]
522
+ })
523
+ })
524
+ ]
525
+ });
526
+ },
527
+ parameters: {
528
+ docs: {
529
+ source: {
530
+ transform: transformStorySource
531
+ },
532
+ description: {
533
+ story: 'Real-world booking example with dependent date selection.'
534
+ }
535
+ }
536
+ }
537
+ };