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