@heymantle/litho 0.0.3 → 0.0.5

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 (369) 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 +55 -22
  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 +78 -18
  9. package/dist/cjs/components/Card.js +6 -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 +10 -5
  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 +17 -9
  16. package/dist/cjs/components/Filters.js +36 -23
  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 +48 -23
  20. package/dist/cjs/components/FrameSaveBar.js +21 -12
  21. package/dist/cjs/components/HorizontalStack.js +9 -2
  22. package/dist/cjs/components/Icon.js +1 -0
  23. package/dist/cjs/components/Layout.js +3 -3
  24. package/dist/cjs/components/LayoutSection.js +2 -2
  25. package/dist/cjs/components/Link.js +6 -2
  26. package/dist/cjs/components/List.js +4 -3
  27. package/dist/cjs/components/Listbox.js +9 -4
  28. package/dist/cjs/components/Modal.js +26 -17
  29. package/dist/cjs/components/Navigation.js +30 -20
  30. package/dist/cjs/components/Page.js +8 -3
  31. package/dist/cjs/components/Pagination.js +11 -4
  32. package/dist/cjs/components/Pane.js +168 -41
  33. package/dist/cjs/components/Popover.js +59 -6
  34. package/dist/cjs/components/RangeSlider.js +11 -4
  35. package/dist/cjs/components/ResourceList.js +9 -3
  36. package/dist/cjs/components/Select.js +2 -0
  37. package/dist/cjs/components/Stack.js +223 -0
  38. package/dist/cjs/components/Table.js +33 -20
  39. package/dist/cjs/components/Tabs.js +41 -11
  40. package/dist/cjs/components/Text.js +8 -5
  41. package/dist/cjs/components/TextField.js +23 -13
  42. package/dist/cjs/components/Thumbnail.js +7 -2
  43. package/dist/cjs/components/TimePicker.js +7 -2
  44. package/dist/cjs/components/Tip.js +10 -4
  45. package/dist/cjs/components/Tooltip.js +16 -8
  46. package/dist/cjs/components/TopBar.js +17 -9
  47. package/dist/cjs/components/VerticalStack.js +8 -2
  48. package/dist/cjs/dev/verify-publish.js +37 -4
  49. package/dist/cjs/index.js +4 -0
  50. package/dist/cjs/postcss.config.js +21 -0
  51. package/dist/cjs/stories/ActionList.stories.js +365 -0
  52. package/dist/cjs/stories/AnnouncementBar.stories.js +244 -0
  53. package/dist/cjs/stories/Autocomplete.stories.js +874 -0
  54. package/dist/cjs/stories/Badge.stories.js +183 -0
  55. package/dist/cjs/stories/Banner.stories.js +201 -0
  56. package/dist/cjs/stories/Box.stories.js +601 -0
  57. package/dist/cjs/stories/Button.stories.js +325 -0
  58. package/dist/cjs/stories/ButtonGroup.stories.js +404 -0
  59. package/dist/cjs/stories/Card.stories.js +278 -0
  60. package/dist/cjs/stories/Checkbox.stories.js +266 -0
  61. package/dist/cjs/stories/ChoiceList.stories.js +885 -0
  62. package/dist/cjs/stories/Collapsible.stories.js +917 -0
  63. package/dist/cjs/stories/ColorField.stories.js +887 -0
  64. package/dist/cjs/stories/ContextualSaveBar.stories.js +971 -0
  65. package/dist/cjs/stories/DatePicker.stories.js +584 -0
  66. package/dist/cjs/stories/Divider.stories.js +766 -0
  67. package/dist/cjs/stories/DropZone.stories.js +1210 -0
  68. package/dist/cjs/stories/EmptyState.stories.js +296 -0
  69. package/dist/cjs/stories/Filters.stories.js +1355 -0
  70. package/dist/cjs/stories/FooterHelp.stories.js +874 -0
  71. package/dist/cjs/stories/Form.stories.js +943 -0
  72. package/dist/cjs/stories/Grid.stories.js +1199 -0
  73. package/dist/cjs/stories/HorizontalStack.stories.js +1064 -0
  74. package/dist/cjs/stories/Icon.stories.js +599 -0
  75. package/dist/cjs/stories/Image.stories.js +883 -0
  76. package/dist/cjs/stories/InlineError.stories.js +711 -0
  77. package/dist/cjs/stories/Label.stories.js +665 -0
  78. package/dist/cjs/stories/Layout.stories.js +687 -0
  79. package/dist/cjs/stories/LayoutSection.stories.js +1275 -0
  80. package/dist/cjs/stories/Link.stories.js +425 -0
  81. package/dist/cjs/stories/List.stories.js +1048 -0
  82. package/dist/cjs/stories/Listbox.stories.js +824 -0
  83. package/dist/cjs/stories/Loading.stories.js +909 -0
  84. package/dist/cjs/stories/Modal.stories.js +363 -0
  85. package/dist/cjs/stories/Navigation.stories.js +605 -0
  86. package/dist/cjs/stories/Page.stories.js +327 -0
  87. package/dist/cjs/stories/Pagination.stories.js +438 -0
  88. package/dist/cjs/stories/Pane.stories.js +1550 -0
  89. package/dist/cjs/stories/Popover.stories.js +641 -0
  90. package/dist/cjs/stories/PopoverManager.stories.js +1233 -0
  91. package/dist/cjs/stories/ProgressBar.stories.js +513 -0
  92. package/dist/cjs/stories/RadioButton.stories.js +642 -0
  93. package/dist/cjs/stories/RadioButtonCard.stories.js +816 -0
  94. package/dist/cjs/stories/RangeSlider.stories.js +896 -0
  95. package/dist/cjs/stories/ResourceList.stories.js +1076 -0
  96. package/dist/cjs/stories/Select.stories.js +413 -0
  97. package/dist/cjs/stories/SkeletonText.stories.js +777 -0
  98. package/dist/cjs/stories/Spinner.stories.js +403 -0
  99. package/dist/cjs/stories/Stack.stories.js +1397 -0
  100. package/dist/cjs/stories/Table.stories.js +628 -0
  101. package/dist/cjs/stories/Tabs.stories.js +722 -0
  102. package/dist/cjs/stories/Tag.stories.js +628 -0
  103. package/dist/cjs/stories/Text.stories.js +262 -0
  104. package/dist/cjs/stories/TextField.stories.js +377 -0
  105. package/dist/cjs/stories/Thumbnail.stories.js +863 -0
  106. package/dist/cjs/stories/TimePicker.stories.js +967 -0
  107. package/dist/cjs/stories/Tip.stories.js +753 -0
  108. package/dist/cjs/stories/Tooltip.stories.js +357 -0
  109. package/dist/cjs/stories/TopBar.stories.js +157 -0
  110. package/dist/cjs/stories/VerticalStack.stories.js +1287 -0
  111. package/dist/cjs/tailwind.config.js +17 -0
  112. package/dist/cjs/utilities/transformers.js +66 -0
  113. package/dist/cjs/vite.config.js +35 -0
  114. package/dist/esm/components/ActionList.js +41 -12
  115. package/dist/esm/components/AnnouncementBar.js +3 -1
  116. package/dist/esm/components/AppProvider.js +10 -1
  117. package/dist/esm/components/Autocomplete.js +44 -16
  118. package/dist/esm/components/Badge.js +2 -2
  119. package/dist/esm/components/Banner.js +20 -21
  120. package/dist/esm/components/Box.js +5 -4
  121. package/dist/esm/components/Button.js +68 -13
  122. package/dist/esm/components/Card.js +6 -4
  123. package/dist/esm/components/Checkbox.js +6 -1
  124. package/dist/esm/components/ChoiceList.js +7 -4
  125. package/dist/esm/components/ColorField.js +3 -3
  126. package/dist/esm/components/DatePicker.js +6 -1
  127. package/dist/esm/components/DropZone.js +14 -4
  128. package/dist/esm/components/EmptyState.js +6 -3
  129. package/dist/esm/components/Filters.js +14 -6
  130. package/dist/esm/components/FooterHelp.js +1 -1
  131. package/dist/esm/components/Form.js +18 -3
  132. package/dist/esm/components/Frame.js +27 -15
  133. package/dist/esm/components/FrameSaveBar.js +10 -6
  134. package/dist/esm/components/HorizontalStack.js +9 -2
  135. package/dist/esm/components/Icon.js +1 -0
  136. package/dist/esm/components/InlineError.js +1 -1
  137. package/dist/esm/components/Layout.js +4 -4
  138. package/dist/esm/components/LayoutSection.js +2 -2
  139. package/dist/esm/components/Link.js +6 -2
  140. package/dist/esm/components/List.js +4 -3
  141. package/dist/esm/components/Listbox.js +4 -4
  142. package/dist/esm/components/Modal.js +8 -4
  143. package/dist/esm/components/Navigation.js +16 -11
  144. package/dist/esm/components/Page.js +9 -4
  145. package/dist/esm/components/Pagination.js +3 -1
  146. package/dist/esm/components/Pane.js +165 -43
  147. package/dist/esm/components/Popover.js +18 -6
  148. package/dist/esm/components/RangeSlider.js +3 -1
  149. package/dist/esm/components/ResourceList.js +2 -1
  150. package/dist/esm/components/Select.js +2 -0
  151. package/dist/esm/components/Stack.js +213 -0
  152. package/dist/esm/components/Table.js +17 -4
  153. package/dist/esm/components/Tabs.js +41 -11
  154. package/dist/esm/components/Text.js +8 -6
  155. package/dist/esm/components/TextField.js +6 -1
  156. package/dist/esm/components/Thumbnail.js +1 -1
  157. package/dist/esm/components/TimePicker.js +1 -1
  158. package/dist/esm/components/Tip.js +3 -2
  159. package/dist/esm/components/Tooltip.js +4 -1
  160. package/dist/esm/components/TopBar.js +7 -4
  161. package/dist/esm/components/VerticalStack.js +8 -2
  162. package/dist/esm/dev/verify-publish.js +37 -4
  163. package/dist/esm/index.js +1 -0
  164. package/dist/esm/postcss.config.js +6 -0
  165. package/dist/esm/stories/ActionList.stories.js +327 -0
  166. package/dist/esm/stories/AnnouncementBar.stories.js +212 -0
  167. package/dist/esm/stories/Autocomplete.stories.js +836 -0
  168. package/dist/esm/stories/Badge.stories.js +138 -0
  169. package/dist/esm/stories/Banner.stories.js +159 -0
  170. package/dist/esm/stories/Box.stories.js +560 -0
  171. package/dist/esm/stories/Button.stories.js +277 -0
  172. package/dist/esm/stories/ButtonGroup.stories.js +357 -0
  173. package/dist/esm/stories/Card.stories.js +240 -0
  174. package/dist/esm/stories/Checkbox.stories.js +219 -0
  175. package/dist/esm/stories/ChoiceList.stories.js +835 -0
  176. package/dist/esm/stories/Collapsible.stories.js +879 -0
  177. package/dist/esm/stories/ColorField.stories.js +846 -0
  178. package/dist/esm/stories/ContextualSaveBar.stories.js +939 -0
  179. package/dist/esm/stories/DatePicker.stories.js +537 -0
  180. package/dist/esm/stories/Divider.stories.js +722 -0
  181. package/dist/esm/stories/DropZone.stories.js +1166 -0
  182. package/dist/esm/stories/EmptyState.stories.js +246 -0
  183. package/dist/esm/stories/Filters.stories.js +1317 -0
  184. package/dist/esm/stories/FooterHelp.stories.js +818 -0
  185. package/dist/esm/stories/Form.stories.js +908 -0
  186. package/dist/esm/stories/Grid.stories.js +1152 -0
  187. package/dist/esm/stories/HorizontalStack.stories.js +1011 -0
  188. package/dist/esm/stories/Icon.stories.js +558 -0
  189. package/dist/esm/stories/Image.stories.js +836 -0
  190. package/dist/esm/stories/InlineError.stories.js +667 -0
  191. package/dist/esm/stories/Label.stories.js +612 -0
  192. package/dist/esm/stories/Layout.stories.js +649 -0
  193. package/dist/esm/stories/LayoutSection.stories.js +1234 -0
  194. package/dist/esm/stories/Link.stories.js +381 -0
  195. package/dist/esm/stories/List.stories.js +992 -0
  196. package/dist/esm/stories/Listbox.stories.js +780 -0
  197. package/dist/esm/stories/Loading.stories.js +859 -0
  198. package/dist/esm/stories/Modal.stories.js +322 -0
  199. package/dist/esm/stories/Navigation.stories.js +567 -0
  200. package/dist/esm/stories/Page.stories.js +280 -0
  201. package/dist/esm/stories/Pagination.stories.js +394 -0
  202. package/dist/esm/stories/Pane.stories.js +1512 -0
  203. package/dist/esm/stories/Popover.stories.js +609 -0
  204. package/dist/esm/stories/PopoverManager.stories.js +1201 -0
  205. package/dist/esm/stories/ProgressBar.stories.js +472 -0
  206. package/dist/esm/stories/RadioButton.stories.js +598 -0
  207. package/dist/esm/stories/RadioButtonCard.stories.js +772 -0
  208. package/dist/esm/stories/RangeSlider.stories.js +849 -0
  209. package/dist/esm/stories/ResourceList.stories.js +1038 -0
  210. package/dist/esm/stories/Select.stories.js +363 -0
  211. package/dist/esm/stories/SkeletonText.stories.js +718 -0
  212. package/dist/esm/stories/Spinner.stories.js +362 -0
  213. package/dist/esm/stories/Stack.stories.js +1338 -0
  214. package/dist/esm/stories/Table.stories.js +584 -0
  215. package/dist/esm/stories/Tabs.stories.js +684 -0
  216. package/dist/esm/stories/Tag.stories.js +581 -0
  217. package/dist/esm/stories/Text.stories.js +217 -0
  218. package/dist/esm/stories/TextField.stories.js +332 -0
  219. package/dist/esm/stories/Thumbnail.stories.js +810 -0
  220. package/dist/esm/stories/TimePicker.stories.js +911 -0
  221. package/dist/esm/stories/Tip.stories.js +706 -0
  222. package/dist/esm/stories/Tooltip.stories.js +313 -0
  223. package/dist/esm/stories/TopBar.stories.js +116 -0
  224. package/dist/esm/stories/VerticalStack.stories.js +1240 -0
  225. package/dist/esm/tailwind.config.js +7 -0
  226. package/dist/esm/utilities/transformers.js +47 -0
  227. package/dist/esm/vite.config.js +20 -0
  228. package/dist/types/components/ActionList.d.ts +122 -0
  229. package/dist/types/components/ActionList.d.ts.map +1 -0
  230. package/dist/types/components/AnnouncementBar.d.ts +21 -0
  231. package/dist/types/components/AnnouncementBar.d.ts.map +1 -0
  232. package/dist/types/components/AppProvider.d.ts +61 -0
  233. package/dist/types/components/AppProvider.d.ts.map +1 -0
  234. package/dist/types/components/Autocomplete.d.ts +135 -0
  235. package/dist/types/components/Autocomplete.d.ts.map +1 -0
  236. package/dist/types/components/Badge.d.ts +21 -0
  237. package/dist/types/components/Badge.d.ts.map +1 -0
  238. package/dist/types/components/Banner.d.ts +78 -0
  239. package/dist/types/components/Banner.d.ts.map +1 -0
  240. package/dist/types/components/Box.d.ts +70 -0
  241. package/dist/types/components/Box.d.ts.map +1 -0
  242. package/dist/types/components/Button.d.ts +133 -0
  243. package/dist/types/components/Button.d.ts.map +1 -0
  244. package/dist/types/components/ButtonGroup.d.ts +26 -0
  245. package/dist/types/components/ButtonGroup.d.ts.map +1 -0
  246. package/dist/types/components/Card.d.ts +141 -0
  247. package/dist/types/components/Card.d.ts.map +1 -0
  248. package/dist/types/components/Checkbox.d.ts +56 -0
  249. package/dist/types/components/Checkbox.d.ts.map +1 -0
  250. package/dist/types/components/ChoiceList.d.ts +69 -0
  251. package/dist/types/components/ChoiceList.d.ts.map +1 -0
  252. package/dist/types/components/Collapsible.d.ts +17 -0
  253. package/dist/types/components/Collapsible.d.ts.map +1 -0
  254. package/dist/types/components/ColorField.d.ts +36 -0
  255. package/dist/types/components/ColorField.d.ts.map +1 -0
  256. package/dist/types/components/ContextualSaveBar.d.ts +22 -0
  257. package/dist/types/components/ContextualSaveBar.d.ts.map +1 -0
  258. package/dist/types/components/DatePicker.d.ts +66 -0
  259. package/dist/types/components/DatePicker.d.ts.map +1 -0
  260. package/dist/types/components/Divider.d.ts +21 -0
  261. package/dist/types/components/Divider.d.ts.map +1 -0
  262. package/dist/types/components/DropZone.d.ts +108 -0
  263. package/dist/types/components/DropZone.d.ts.map +1 -0
  264. package/dist/types/components/EmptyState.d.ts +52 -0
  265. package/dist/types/components/EmptyState.d.ts.map +1 -0
  266. package/dist/types/components/Filters.d.ts +168 -0
  267. package/dist/types/components/Filters.d.ts.map +1 -0
  268. package/dist/types/components/FooterHelp.d.ts +21 -0
  269. package/dist/types/components/FooterHelp.d.ts.map +1 -0
  270. package/dist/types/components/Form.d.ts +39 -0
  271. package/dist/types/components/Form.d.ts.map +1 -0
  272. package/dist/types/components/Frame.d.ts +51 -0
  273. package/dist/types/components/Frame.d.ts.map +1 -0
  274. package/dist/types/components/FrameSaveBar.d.ts +8 -0
  275. package/dist/types/components/FrameSaveBar.d.ts.map +1 -0
  276. package/dist/types/components/Grid.d.ts +39 -0
  277. package/dist/types/components/Grid.d.ts.map +1 -0
  278. package/dist/types/components/HorizontalStack.d.ts +36 -0
  279. package/dist/types/components/HorizontalStack.d.ts.map +1 -0
  280. package/dist/types/components/Icon.d.ts +43 -0
  281. package/dist/types/components/Icon.d.ts.map +1 -0
  282. package/dist/types/components/Image.d.ts +45 -0
  283. package/dist/types/components/Image.d.ts.map +1 -0
  284. package/dist/types/components/InlineError.d.ts +22 -0
  285. package/dist/types/components/InlineError.d.ts.map +1 -0
  286. package/dist/types/components/Label.d.ts +28 -0
  287. package/dist/types/components/Label.d.ts.map +1 -0
  288. package/dist/types/components/Layout.d.ts +44 -0
  289. package/dist/types/components/Layout.d.ts.map +1 -0
  290. package/dist/types/components/LayoutSection.d.ts +24 -0
  291. package/dist/types/components/LayoutSection.d.ts.map +1 -0
  292. package/dist/types/components/Link.d.ts +38 -0
  293. package/dist/types/components/Link.d.ts.map +1 -0
  294. package/dist/types/components/List.d.ts +33 -0
  295. package/dist/types/components/List.d.ts.map +1 -0
  296. package/dist/types/components/Listbox.d.ts +34 -0
  297. package/dist/types/components/Listbox.d.ts.map +1 -0
  298. package/dist/types/components/Loading.d.ts +13 -0
  299. package/dist/types/components/Loading.d.ts.map +1 -0
  300. package/dist/types/components/Modal.d.ts +75 -0
  301. package/dist/types/components/Modal.d.ts.map +1 -0
  302. package/dist/types/components/Navigation.d.ts +105 -0
  303. package/dist/types/components/Navigation.d.ts.map +1 -0
  304. package/dist/types/components/Page.d.ts +59 -0
  305. package/dist/types/components/Page.d.ts.map +1 -0
  306. package/dist/types/components/Pagination.d.ts +39 -0
  307. package/dist/types/components/Pagination.d.ts.map +1 -0
  308. package/dist/types/components/Pane.d.ts +11 -0
  309. package/dist/types/components/Pane.d.ts.map +1 -0
  310. package/dist/types/components/Popover.d.ts +56 -0
  311. package/dist/types/components/Popover.d.ts.map +1 -0
  312. package/dist/types/components/PopoverManager.d.ts +3 -0
  313. package/dist/types/components/PopoverManager.d.ts.map +1 -0
  314. package/dist/types/components/ProgressBar.d.ts +24 -0
  315. package/dist/types/components/ProgressBar.d.ts.map +1 -0
  316. package/dist/types/components/RadioButton.d.ts +39 -0
  317. package/dist/types/components/RadioButton.d.ts.map +1 -0
  318. package/dist/types/components/RadioButtonCard.d.ts +41 -0
  319. package/dist/types/components/RadioButtonCard.d.ts.map +1 -0
  320. package/dist/types/components/RangeSlider.d.ts +44 -0
  321. package/dist/types/components/RangeSlider.d.ts.map +1 -0
  322. package/dist/types/components/ResourceList.d.ts +54 -0
  323. package/dist/types/components/ResourceList.d.ts.map +1 -0
  324. package/dist/types/components/Select.d.ts +48 -0
  325. package/dist/types/components/Select.d.ts.map +1 -0
  326. package/dist/types/components/SkeletonText.d.ts +28 -0
  327. package/dist/types/components/SkeletonText.d.ts.map +1 -0
  328. package/dist/types/components/Spinner.d.ts +18 -0
  329. package/dist/types/components/Spinner.d.ts.map +1 -0
  330. package/dist/types/components/Stack.d.ts +49 -0
  331. package/dist/types/components/Stack.d.ts.map +1 -0
  332. package/dist/types/components/Table.d.ts +197 -0
  333. package/dist/types/components/Table.d.ts.map +1 -0
  334. package/dist/types/components/Tabs.d.ts +43 -0
  335. package/dist/types/components/Tabs.d.ts.map +1 -0
  336. package/dist/types/components/Tag.d.ts +26 -0
  337. package/dist/types/components/Tag.d.ts.map +1 -0
  338. package/dist/types/components/Text.d.ts +32 -0
  339. package/dist/types/components/Text.d.ts.map +1 -0
  340. package/dist/types/components/TextField.d.ts +109 -0
  341. package/dist/types/components/TextField.d.ts.map +1 -0
  342. package/dist/types/components/Thumbnail.d.ts +18 -0
  343. package/dist/types/components/Thumbnail.d.ts.map +1 -0
  344. package/dist/types/components/TimePicker.d.ts +3 -0
  345. package/dist/types/components/TimePicker.d.ts.map +1 -0
  346. package/dist/types/components/Tip.d.ts +23 -0
  347. package/dist/types/components/Tip.d.ts.map +1 -0
  348. package/dist/types/components/Tooltip.d.ts +84 -0
  349. package/dist/types/components/Tooltip.d.ts.map +1 -0
  350. package/dist/types/components/TopBar.d.ts +43 -0
  351. package/dist/types/components/TopBar.d.ts.map +1 -0
  352. package/dist/types/components/VerticalStack.d.ts +27 -0
  353. package/dist/types/components/VerticalStack.d.ts.map +1 -0
  354. package/dist/types/index.d.ts +63 -0
  355. package/dist/types/index.d.ts.map +1 -0
  356. package/dist/types/styles/Table.d.ts +1570 -0
  357. package/dist/types/styles/Table.d.ts.map +1 -0
  358. package/dist/types/utilities/dates.d.ts +46 -0
  359. package/dist/types/utilities/dates.d.ts.map +1 -0
  360. package/dist/types/utilities/transformers.d.ts +4 -0
  361. package/dist/types/utilities/transformers.d.ts.map +1 -0
  362. package/dist/types/utilities/useIndexResourceState.d.ts +21 -0
  363. package/dist/types/utilities/useIndexResourceState.d.ts.map +1 -0
  364. package/dist/types/utilities/useMounted.d.ts +2 -0
  365. package/dist/types/utilities/useMounted.d.ts.map +1 -0
  366. package/dist/types/utilities/useTableScrollState.d.ts +29 -0
  367. package/dist/types/utilities/useTableScrollState.d.ts.map +1 -0
  368. package/index.css +17 -0
  369. package/package.json +38 -7
@@ -0,0 +1,1076 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get ComplexItems () {
13
+ return ComplexItems;
14
+ },
15
+ get Default () {
16
+ return Default;
17
+ },
18
+ get EmptyState () {
19
+ return EmptyState;
20
+ },
21
+ get LoadingState () {
22
+ return LoadingState;
23
+ },
24
+ get WithSelection () {
25
+ return WithSelection;
26
+ },
27
+ get WithoutDividers () {
28
+ return WithoutDividers;
29
+ },
30
+ get default () {
31
+ return _default;
32
+ }
33
+ });
34
+ var _jsxruntime = require("react/jsx-runtime");
35
+ var _react = require("react");
36
+ var _transformers = require("../utilities/transformers.js");
37
+ var _Stack = /*#__PURE__*/ _interop_require_default(require("../components/Stack.js"));
38
+ var _ResourceList = /*#__PURE__*/ _interop_require_default(require("../components/ResourceList.js"));
39
+ var _Text = /*#__PURE__*/ _interop_require_default(require("../components/Text.js"));
40
+ var _Card = /*#__PURE__*/ _interop_require_default(require("../components/Card.js"));
41
+ var _Button = /*#__PURE__*/ _interop_require_default(require("../components/Button.js"));
42
+ var _Badge = /*#__PURE__*/ _interop_require_default(require("../components/Badge.js"));
43
+ var _Box = /*#__PURE__*/ _interop_require_default(require("../components/Box.js"));
44
+ function _array_like_to_array(arr, len) {
45
+ if (len == null || len > arr.length) len = arr.length;
46
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
47
+ return arr2;
48
+ }
49
+ function _array_with_holes(arr) {
50
+ if (Array.isArray(arr)) return arr;
51
+ }
52
+ function _array_without_holes(arr) {
53
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
54
+ }
55
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
56
+ try {
57
+ var info = gen[key](arg);
58
+ var value = info.value;
59
+ } catch (error) {
60
+ reject(error);
61
+ return;
62
+ }
63
+ if (info.done) {
64
+ resolve(value);
65
+ } else {
66
+ Promise.resolve(value).then(_next, _throw);
67
+ }
68
+ }
69
+ function _async_to_generator(fn) {
70
+ return function() {
71
+ var self = this, args = arguments;
72
+ return new Promise(function(resolve, reject) {
73
+ var gen = fn.apply(self, args);
74
+ function _next(value) {
75
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
76
+ }
77
+ function _throw(err) {
78
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
79
+ }
80
+ _next(undefined);
81
+ });
82
+ };
83
+ }
84
+ function _interop_require_default(obj) {
85
+ return obj && obj.__esModule ? obj : {
86
+ default: obj
87
+ };
88
+ }
89
+ function _iterable_to_array(iter) {
90
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
91
+ }
92
+ function _iterable_to_array_limit(arr, i) {
93
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
94
+ if (_i == null) return;
95
+ var _arr = [];
96
+ var _n = true;
97
+ var _d = false;
98
+ var _s, _e;
99
+ try {
100
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
101
+ _arr.push(_s.value);
102
+ if (i && _arr.length === i) break;
103
+ }
104
+ } catch (err) {
105
+ _d = true;
106
+ _e = err;
107
+ } finally{
108
+ try {
109
+ if (!_n && _i["return"] != null) _i["return"]();
110
+ } finally{
111
+ if (_d) throw _e;
112
+ }
113
+ }
114
+ return _arr;
115
+ }
116
+ function _non_iterable_rest() {
117
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
118
+ }
119
+ function _non_iterable_spread() {
120
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
121
+ }
122
+ function _sliced_to_array(arr, i) {
123
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
124
+ }
125
+ function _to_consumable_array(arr) {
126
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
127
+ }
128
+ function _unsupported_iterable_to_array(o, minLen) {
129
+ if (!o) return;
130
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
131
+ var n = Object.prototype.toString.call(o).slice(8, -1);
132
+ if (n === "Object" && o.constructor) n = o.constructor.name;
133
+ if (n === "Map" || n === "Set") return Array.from(n);
134
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
135
+ }
136
+ function _ts_generator(thisArg, body) {
137
+ var f, y, t, _ = {
138
+ label: 0,
139
+ sent: function() {
140
+ if (t[0] & 1) throw t[1];
141
+ return t[1];
142
+ },
143
+ trys: [],
144
+ ops: []
145
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
146
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
147
+ return this;
148
+ }), g;
149
+ function verb(n) {
150
+ return function(v) {
151
+ return step([
152
+ n,
153
+ v
154
+ ]);
155
+ };
156
+ }
157
+ function step(op) {
158
+ if (f) throw new TypeError("Generator is already executing.");
159
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
160
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
161
+ if (y = 0, t) op = [
162
+ op[0] & 2,
163
+ t.value
164
+ ];
165
+ switch(op[0]){
166
+ case 0:
167
+ case 1:
168
+ t = op;
169
+ break;
170
+ case 4:
171
+ _.label++;
172
+ return {
173
+ value: op[1],
174
+ done: false
175
+ };
176
+ case 5:
177
+ _.label++;
178
+ y = op[1];
179
+ op = [
180
+ 0
181
+ ];
182
+ continue;
183
+ case 7:
184
+ op = _.ops.pop();
185
+ _.trys.pop();
186
+ continue;
187
+ default:
188
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
189
+ _ = 0;
190
+ continue;
191
+ }
192
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
193
+ _.label = op[1];
194
+ break;
195
+ }
196
+ if (op[0] === 6 && _.label < t[1]) {
197
+ _.label = t[1];
198
+ t = op;
199
+ break;
200
+ }
201
+ if (t && _.label < t[2]) {
202
+ _.label = t[2];
203
+ _.ops.push(op);
204
+ break;
205
+ }
206
+ if (t[2]) _.ops.pop();
207
+ _.trys.pop();
208
+ continue;
209
+ }
210
+ op = body.call(thisArg, _);
211
+ } catch (e) {
212
+ op = [
213
+ 6,
214
+ e
215
+ ];
216
+ y = 0;
217
+ } finally{
218
+ f = t = 0;
219
+ }
220
+ if (op[0] & 5) throw op[1];
221
+ return {
222
+ value: op[0] ? op[1] : void 0,
223
+ done: true
224
+ };
225
+ }
226
+ }
227
+ var _default = {
228
+ title: 'Litho/ResourceList',
229
+ component: _ResourceList.default,
230
+ parameters: {
231
+ layout: 'padded',
232
+ docs: {
233
+ description: {
234
+ component: "A ResourceList component for displaying collections of items with loading states, empty states, and customizable rendering. It includes an Item subcomponent for consistent item styling and interaction handling."
235
+ },
236
+ source: {
237
+ transform: _transformers.transformStorySource
238
+ }
239
+ }
240
+ },
241
+ tags: [
242
+ 'autodocs'
243
+ ],
244
+ argTypes: {
245
+ items: {
246
+ control: 'object',
247
+ description: 'Array of items to display in the list'
248
+ },
249
+ loading: {
250
+ control: 'boolean',
251
+ description: 'Whether the list is in a loading state'
252
+ },
253
+ emptyState: {
254
+ control: 'text',
255
+ description: 'Content to display when the list is empty'
256
+ },
257
+ renderItem: {
258
+ control: false,
259
+ description: 'Function to render each item in the list'
260
+ },
261
+ resourceName: {
262
+ control: 'object',
263
+ description: 'Object containing singular and plural resource names'
264
+ },
265
+ divider: {
266
+ control: 'boolean',
267
+ description: 'Whether to show dividers between items'
268
+ },
269
+ gap: {
270
+ control: 'select',
271
+ options: [
272
+ 'none',
273
+ 'small',
274
+ 'large'
275
+ ],
276
+ description: 'Gap size between items'
277
+ }
278
+ }
279
+ };
280
+ var Default = {
281
+ render: function() {
282
+ var customers = [
283
+ {
284
+ id: 1,
285
+ name: 'John Smith',
286
+ email: 'john@example.com',
287
+ status: 'active'
288
+ },
289
+ {
290
+ id: 2,
291
+ name: 'Sarah Johnson',
292
+ email: 'sarah@example.com',
293
+ status: 'active'
294
+ },
295
+ {
296
+ id: 3,
297
+ name: 'Mike Wilson',
298
+ email: 'mike@example.com',
299
+ status: 'inactive'
300
+ },
301
+ {
302
+ id: 4,
303
+ name: 'Lisa Brown',
304
+ email: 'lisa@example.com',
305
+ status: 'active'
306
+ }
307
+ ];
308
+ var renderCustomer = function(customer, index) {
309
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ResourceList.default.Item, {
310
+ id: "customer-".concat(customer.id),
311
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
312
+ horizontal: true,
313
+ align: "space-between",
314
+ blockAlign: "center",
315
+ children: [
316
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
317
+ gap: "xs",
318
+ children: [
319
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
320
+ variant: "headingSm",
321
+ children: customer.name
322
+ }),
323
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
324
+ variant: "bodySm",
325
+ color: "subdued",
326
+ children: customer.email
327
+ })
328
+ ]
329
+ }),
330
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Badge.default, {
331
+ tone: customer.status === 'active' ? 'success' : 'warning',
332
+ children: customer.status
333
+ })
334
+ ]
335
+ })
336
+ }, customer.id);
337
+ };
338
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Card.default, {
339
+ title: "Customer List",
340
+ padded: true,
341
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_ResourceList.default, {
342
+ items: customers,
343
+ renderItem: renderCustomer,
344
+ resourceName: {
345
+ singular: 'customer',
346
+ plural: 'customers'
347
+ }
348
+ })
349
+ });
350
+ },
351
+ parameters: {
352
+ docs: {
353
+ description: {
354
+ story: 'Basic resource list displaying customer information.'
355
+ }
356
+ }
357
+ }
358
+ };
359
+ var WithSelection = {
360
+ render: function() {
361
+ var _useState = _sliced_to_array((0, _react.useState)(new Set()), 2), selectedItems = _useState[0], setSelectedItems = _useState[1];
362
+ var products = [
363
+ {
364
+ id: 1,
365
+ name: 'Wireless Headphones',
366
+ price: '$159.99',
367
+ stock: 45
368
+ },
369
+ {
370
+ id: 2,
371
+ name: 'Bluetooth Speaker',
372
+ price: '$89.99',
373
+ stock: 23
374
+ },
375
+ {
376
+ id: 3,
377
+ name: 'Phone Case',
378
+ price: '$24.99',
379
+ stock: 156
380
+ },
381
+ {
382
+ id: 4,
383
+ name: 'Screen Protector',
384
+ price: '$12.99',
385
+ stock: 89
386
+ },
387
+ {
388
+ id: 5,
389
+ name: 'Car Charger',
390
+ price: '$19.99',
391
+ stock: 67
392
+ }
393
+ ];
394
+ var handleItemClick = function(productId) {
395
+ var newSelected = new Set(selectedItems);
396
+ if (newSelected.has(productId)) {
397
+ newSelected.delete(productId);
398
+ } else {
399
+ newSelected.add(productId);
400
+ }
401
+ setSelectedItems(newSelected);
402
+ };
403
+ var renderProduct = function(product, index) {
404
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ResourceList.default.Item, {
405
+ id: "product-".concat(product.id),
406
+ selected: selectedItems.has(product.id),
407
+ onClick: function() {
408
+ return handleItemClick(product.id);
409
+ },
410
+ accessibilityLabel: "Select ".concat(product.name),
411
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
412
+ horizontal: true,
413
+ align: "space-between",
414
+ blockAlign: "center",
415
+ children: [
416
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
417
+ gap: "xs",
418
+ children: [
419
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
420
+ variant: "headingSm",
421
+ children: product.name
422
+ }),
423
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
424
+ variant: "bodySm",
425
+ color: "subdued",
426
+ children: [
427
+ "Stock: ",
428
+ product.stock,
429
+ " units"
430
+ ]
431
+ })
432
+ ]
433
+ }),
434
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
435
+ variant: "headingSm",
436
+ children: product.price
437
+ })
438
+ ]
439
+ })
440
+ }, product.id);
441
+ };
442
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Card.default, {
443
+ title: "Product Inventory",
444
+ padded: true,
445
+ children: [
446
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
447
+ paddingBlockEnd: "4",
448
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
449
+ variant: "bodySm",
450
+ color: "subdued",
451
+ children: [
452
+ "Click items to select them. ",
453
+ selectedItems.size,
454
+ " item",
455
+ selectedItems.size !== 1 ? 's' : '',
456
+ " selected."
457
+ ]
458
+ })
459
+ }),
460
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_ResourceList.default, {
461
+ items: products,
462
+ renderItem: renderProduct,
463
+ resourceName: {
464
+ singular: 'product',
465
+ plural: 'products'
466
+ }
467
+ }),
468
+ selectedItems.size > 0 && /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
469
+ paddingBlockStart: "4",
470
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
471
+ horizontal: true,
472
+ gap: "md",
473
+ children: [
474
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
475
+ size: "slim",
476
+ onClick: function() {
477
+ return alert("Bulk edit ".concat(selectedItems.size, " items"));
478
+ },
479
+ children: "Bulk Edit"
480
+ }),
481
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
482
+ size: "slim",
483
+ destructive: true,
484
+ onClick: function() {
485
+ return setSelectedItems(new Set());
486
+ },
487
+ children: "Clear Selection"
488
+ })
489
+ ]
490
+ })
491
+ })
492
+ ]
493
+ });
494
+ },
495
+ parameters: {
496
+ docs: {
497
+ description: {
498
+ story: 'Resource list with selectable items and bulk actions.'
499
+ }
500
+ }
501
+ }
502
+ };
503
+ var LoadingState = {
504
+ render: function() {
505
+ var _useState = _sliced_to_array((0, _react.useState)(true), 2), loading = _useState[0], setLoading = _useState[1];
506
+ var _useState1 = _sliced_to_array((0, _react.useState)([]), 2), items = _useState1[0], setItems = _useState1[1];
507
+ var simulateLoading = function() {
508
+ return _async_to_generator(function() {
509
+ return _ts_generator(this, function(_state) {
510
+ switch(_state.label){
511
+ case 0:
512
+ setLoading(true);
513
+ setItems([]);
514
+ // Simulate API call
515
+ return [
516
+ 4,
517
+ new Promise(function(resolve) {
518
+ return setTimeout(resolve, 2000);
519
+ })
520
+ ];
521
+ case 1:
522
+ _state.sent();
523
+ setItems([
524
+ {
525
+ id: 1,
526
+ title: 'First Item',
527
+ description: 'Description for first item'
528
+ },
529
+ {
530
+ id: 2,
531
+ title: 'Second Item',
532
+ description: 'Description for second item'
533
+ },
534
+ {
535
+ id: 3,
536
+ title: 'Third Item',
537
+ description: 'Description for third item'
538
+ }
539
+ ]);
540
+ setLoading(false);
541
+ return [
542
+ 2
543
+ ];
544
+ }
545
+ });
546
+ })();
547
+ };
548
+ var renderItem = function(item, index) {
549
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ResourceList.default.Item, {
550
+ id: "item-".concat(item.id),
551
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
552
+ gap: "xs",
553
+ children: [
554
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
555
+ variant: "headingSm",
556
+ children: item.title
557
+ }),
558
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
559
+ variant: "bodySm",
560
+ color: "subdued",
561
+ children: item.description
562
+ })
563
+ ]
564
+ })
565
+ }, item.id);
566
+ };
567
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Card.default, {
568
+ title: "Loading State Demo",
569
+ padded: true,
570
+ children: [
571
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
572
+ paddingBlockEnd: "4",
573
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
574
+ onClick: simulateLoading,
575
+ disabled: loading,
576
+ children: loading ? 'Loading...' : 'Reload Items'
577
+ })
578
+ }),
579
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_ResourceList.default, {
580
+ items: items,
581
+ loading: loading,
582
+ renderItem: renderItem,
583
+ resourceName: {
584
+ singular: 'item',
585
+ plural: 'items'
586
+ }
587
+ })
588
+ ]
589
+ });
590
+ },
591
+ parameters: {
592
+ docs: {
593
+ description: {
594
+ story: 'Resource list demonstrating loading state with spinner.'
595
+ }
596
+ }
597
+ }
598
+ };
599
+ var EmptyState = {
600
+ render: function() {
601
+ var _useState = _sliced_to_array((0, _react.useState)([]), 2), items = _useState[0], setItems = _useState[1];
602
+ var _useState1 = _sliced_to_array((0, _react.useState)('default'), 2), emptyStateType = _useState1[0], setEmptyStateType = _useState1[1];
603
+ var addItem = function() {
604
+ var newItem = {
605
+ id: items.length + 1,
606
+ name: "Item ".concat(items.length + 1),
607
+ description: "Description for item ".concat(items.length + 1)
608
+ };
609
+ setItems(_to_consumable_array(items).concat([
610
+ newItem
611
+ ]));
612
+ };
613
+ var clearItems = function() {
614
+ setItems([]);
615
+ };
616
+ var renderItem = function(item, index) {
617
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ResourceList.default.Item, {
618
+ id: "item-".concat(item.id),
619
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
620
+ horizontal: true,
621
+ align: "space-between",
622
+ blockAlign: "center",
623
+ children: [
624
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
625
+ gap: "xs",
626
+ children: [
627
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
628
+ variant: "headingSm",
629
+ children: item.name
630
+ }),
631
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
632
+ variant: "bodySm",
633
+ color: "subdued",
634
+ children: item.description
635
+ })
636
+ ]
637
+ }),
638
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
639
+ size: "slim",
640
+ onClick: function() {
641
+ return setItems(items.filter(function(i) {
642
+ return i.id !== item.id;
643
+ }));
644
+ },
645
+ children: "Remove"
646
+ })
647
+ ]
648
+ })
649
+ }, item.id);
650
+ };
651
+ var customEmptyState = /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
652
+ padding: "12",
653
+ paddingInline: "4",
654
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
655
+ gap: "md",
656
+ align: "center",
657
+ children: [
658
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
659
+ style: {
660
+ fontSize: '3rem'
661
+ },
662
+ children: "\uD83D\uDCDD"
663
+ }),
664
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
665
+ variant: "headingMd",
666
+ alignment: "center",
667
+ children: "No items yet"
668
+ }),
669
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
670
+ variant: "bodySm",
671
+ color: "subdued",
672
+ alignment: "center",
673
+ children: "Get started by adding your first item to the list."
674
+ }),
675
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
676
+ primary: true,
677
+ onClick: addItem,
678
+ children: "Add First Item"
679
+ })
680
+ ]
681
+ })
682
+ });
683
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Card.default, {
684
+ title: "Empty State Demo",
685
+ padded: true,
686
+ children: [
687
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
688
+ paddingBlockEnd: "4",
689
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
690
+ horizontal: true,
691
+ gap: "md",
692
+ blockAlign: "center",
693
+ children: [
694
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
695
+ onClick: addItem,
696
+ disabled: items.length >= 5,
697
+ children: "Add Item"
698
+ }),
699
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
700
+ onClick: clearItems,
701
+ disabled: items.length === 0,
702
+ children: "Clear All"
703
+ }),
704
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
705
+ style: {
706
+ marginLeft: 'auto'
707
+ },
708
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
709
+ horizontal: true,
710
+ gap: "sm",
711
+ blockAlign: "center",
712
+ children: [
713
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
714
+ variant: "bodySm",
715
+ children: "Empty state:"
716
+ }),
717
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("select", {
718
+ value: emptyStateType,
719
+ onChange: function(e) {
720
+ return setEmptyStateType(e.target.value);
721
+ },
722
+ style: {
723
+ padding: '0.25rem',
724
+ borderRadius: '4px',
725
+ border: '1px solid #ccc'
726
+ },
727
+ children: [
728
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
729
+ value: "default",
730
+ children: "Default"
731
+ }),
732
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
733
+ value: "custom",
734
+ children: "Custom"
735
+ })
736
+ ]
737
+ })
738
+ ]
739
+ })
740
+ })
741
+ ]
742
+ })
743
+ }),
744
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_ResourceList.default, {
745
+ items: items,
746
+ renderItem: renderItem,
747
+ resourceName: {
748
+ singular: 'item',
749
+ plural: 'items'
750
+ },
751
+ emptyState: emptyStateType === 'custom' ? customEmptyState : 'No items found.'
752
+ })
753
+ ]
754
+ });
755
+ },
756
+ parameters: {
757
+ docs: {
758
+ description: {
759
+ story: 'Resource list with default and custom empty states.'
760
+ }
761
+ }
762
+ }
763
+ };
764
+ var WithoutDividers = {
765
+ render: function() {
766
+ var notifications = [
767
+ {
768
+ id: 1,
769
+ title: 'New order received',
770
+ time: '2 minutes ago',
771
+ read: false
772
+ },
773
+ {
774
+ id: 2,
775
+ title: 'Payment processed',
776
+ time: '15 minutes ago',
777
+ read: false
778
+ },
779
+ {
780
+ id: 3,
781
+ title: 'Shipment delivered',
782
+ time: '1 hour ago',
783
+ read: true
784
+ },
785
+ {
786
+ id: 4,
787
+ title: 'Customer feedback',
788
+ time: '3 hours ago',
789
+ read: true
790
+ },
791
+ {
792
+ id: 5,
793
+ title: 'Weekly report ready',
794
+ time: '1 day ago',
795
+ read: true
796
+ }
797
+ ];
798
+ var renderNotification = function(notification, index) {
799
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ResourceList.default.Item, {
800
+ id: "notification-".concat(notification.id),
801
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
802
+ horizontal: true,
803
+ gap: "md",
804
+ blockAlign: "center",
805
+ children: [
806
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
807
+ borderRadius: "50%",
808
+ style: {
809
+ width: '8px',
810
+ height: '8px',
811
+ backgroundColor: notification.read ? 'transparent' : '#007bff',
812
+ flexShrink: 0
813
+ }
814
+ }),
815
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
816
+ style: {
817
+ flex: 1
818
+ },
819
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
820
+ gap: "xs",
821
+ children: [
822
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
823
+ variant: "headingSm",
824
+ style: {
825
+ fontWeight: notification.read ? 'normal' : 'bold'
826
+ },
827
+ children: notification.title
828
+ }),
829
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
830
+ variant: "bodySm",
831
+ color: "subdued",
832
+ children: notification.time
833
+ })
834
+ ]
835
+ })
836
+ }),
837
+ !notification.read && /*#__PURE__*/ (0, _jsxruntime.jsx)(_Badge.default, {
838
+ tone: "info",
839
+ children: "New"
840
+ })
841
+ ]
842
+ })
843
+ }, notification.id);
844
+ };
845
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Card.default, {
846
+ title: "Notifications",
847
+ padded: true,
848
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_ResourceList.default, {
849
+ items: notifications,
850
+ renderItem: renderNotification,
851
+ resourceName: {
852
+ singular: 'notification',
853
+ plural: 'notifications'
854
+ },
855
+ divider: false,
856
+ gap: "small"
857
+ })
858
+ });
859
+ },
860
+ parameters: {
861
+ docs: {
862
+ description: {
863
+ story: 'Resource list without dividers, using gap spacing instead.'
864
+ }
865
+ }
866
+ }
867
+ };
868
+ var ComplexItems = {
869
+ render: function() {
870
+ var _useState = _sliced_to_array((0, _react.useState)(null), 2), selectedOrder = _useState[0], setSelectedOrder = _useState[1];
871
+ var orders = [
872
+ {
873
+ id: 'ORD-001',
874
+ customer: 'John Smith',
875
+ items: 3,
876
+ total: '$234.50',
877
+ status: 'shipped',
878
+ date: '2024-01-15',
879
+ address: '123 Main St, Anytown, ST 12345'
880
+ },
881
+ {
882
+ id: 'ORD-002',
883
+ customer: 'Sarah Johnson',
884
+ items: 1,
885
+ total: '$89.99',
886
+ status: 'processing',
887
+ date: '2024-01-16',
888
+ address: '456 Oak Ave, Another City, ST 67890'
889
+ },
890
+ {
891
+ id: 'ORD-003',
892
+ customer: 'Mike Wilson',
893
+ items: 5,
894
+ total: '$567.25',
895
+ status: 'delivered',
896
+ date: '2024-01-12',
897
+ address: '789 Pine Rd, Somewhere, ST 13579'
898
+ },
899
+ {
900
+ id: 'ORD-004',
901
+ customer: 'Lisa Brown',
902
+ items: 2,
903
+ total: '$145.75',
904
+ status: 'pending',
905
+ date: '2024-01-17',
906
+ address: '321 Elm St, Elsewhere, ST 24680'
907
+ }
908
+ ];
909
+ var getStatusColor = function(status) {
910
+ switch(status){
911
+ case 'delivered':
912
+ return 'success';
913
+ case 'shipped':
914
+ return 'info';
915
+ case 'processing':
916
+ return 'warning';
917
+ case 'pending':
918
+ return 'critical';
919
+ default:
920
+ return 'default';
921
+ }
922
+ };
923
+ var renderOrder = function(order, index) {
924
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ResourceList.default.Item, {
925
+ id: "order-".concat(order.id),
926
+ selected: selectedOrder === order.id,
927
+ onClick: function() {
928
+ return setSelectedOrder(order.id === selectedOrder ? null : order.id);
929
+ },
930
+ accessibilityLabel: "View details for order ".concat(order.id),
931
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
932
+ gap: "sm",
933
+ children: [
934
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
935
+ horizontal: true,
936
+ align: "space-between",
937
+ blockAlign: "start",
938
+ children: [
939
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
940
+ gap: "xs",
941
+ children: [
942
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
943
+ variant: "headingSm",
944
+ children: order.id
945
+ }),
946
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
947
+ variant: "bodySm",
948
+ children: order.customer
949
+ })
950
+ ]
951
+ }),
952
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
953
+ gap: "xs",
954
+ align: "end",
955
+ children: [
956
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
957
+ variant: "headingSm",
958
+ children: order.total
959
+ }),
960
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Badge.default, {
961
+ tone: getStatusColor(order.status),
962
+ children: order.status
963
+ })
964
+ ]
965
+ })
966
+ ]
967
+ }),
968
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
969
+ horizontal: true,
970
+ align: "space-between",
971
+ blockAlign: "center",
972
+ children: [
973
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
974
+ variant: "bodySm",
975
+ color: "subdued",
976
+ children: [
977
+ order.items,
978
+ " item",
979
+ order.items !== 1 ? 's' : '',
980
+ " • ",
981
+ order.date
982
+ ]
983
+ }),
984
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
985
+ variant: "bodyXs",
986
+ color: "subdued",
987
+ children: [
988
+ "Click to ",
989
+ selectedOrder === order.id ? 'hide' : 'show',
990
+ " details"
991
+ ]
992
+ })
993
+ ]
994
+ }),
995
+ selectedOrder === order.id && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Box.default, {
996
+ paddingBlockStart: "4",
997
+ padding: "4",
998
+ background: "subdued",
999
+ borderRadius: "default",
1000
+ style: {
1001
+ borderLeft: '3px solid #007bff'
1002
+ },
1003
+ children: [
1004
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
1005
+ gap: "sm",
1006
+ children: [
1007
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
1008
+ variant: "headingXs",
1009
+ children: "Shipping Address"
1010
+ }),
1011
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
1012
+ variant: "bodySm",
1013
+ color: "subdued",
1014
+ children: order.address
1015
+ })
1016
+ ]
1017
+ }),
1018
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
1019
+ paddingBlockStart: "4",
1020
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
1021
+ horizontal: true,
1022
+ gap: "sm",
1023
+ children: [
1024
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
1025
+ size: "slim",
1026
+ children: "View Details"
1027
+ }),
1028
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
1029
+ size: "slim",
1030
+ children: "Track Package"
1031
+ }),
1032
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
1033
+ size: "slim",
1034
+ children: "Contact Customer"
1035
+ })
1036
+ ]
1037
+ })
1038
+ })
1039
+ ]
1040
+ })
1041
+ ]
1042
+ })
1043
+ }, order.id);
1044
+ };
1045
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Card.default, {
1046
+ title: "Order Management",
1047
+ padded: true,
1048
+ children: [
1049
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
1050
+ paddingBlockEnd: "4",
1051
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
1052
+ variant: "bodySm",
1053
+ color: "subdued",
1054
+ children: "Click on any order to view additional details and actions."
1055
+ })
1056
+ }),
1057
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_ResourceList.default, {
1058
+ items: orders,
1059
+ renderItem: renderOrder,
1060
+ resourceName: {
1061
+ singular: 'order',
1062
+ plural: 'orders'
1063
+ },
1064
+ gap: "small"
1065
+ })
1066
+ ]
1067
+ });
1068
+ },
1069
+ parameters: {
1070
+ docs: {
1071
+ description: {
1072
+ story: 'Resource list with complex, interactive items that expand to show details.'
1073
+ }
1074
+ }
1075
+ }
1076
+ };