@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,776 @@
1
+ function _array_like_to_array(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _array_with_holes(arr) {
7
+ if (Array.isArray(arr)) return arr;
8
+ }
9
+ function _array_without_holes(arr) {
10
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
11
+ }
12
+ function _iterable_to_array(iter) {
13
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
14
+ }
15
+ function _iterable_to_array_limit(arr, i) {
16
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
17
+ if (_i == null) return;
18
+ var _arr = [];
19
+ var _n = true;
20
+ var _d = false;
21
+ var _s, _e;
22
+ try {
23
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
24
+ _arr.push(_s.value);
25
+ if (i && _arr.length === i) break;
26
+ }
27
+ } catch (err) {
28
+ _d = true;
29
+ _e = err;
30
+ } finally{
31
+ try {
32
+ if (!_n && _i["return"] != null) _i["return"]();
33
+ } finally{
34
+ if (_d) throw _e;
35
+ }
36
+ }
37
+ return _arr;
38
+ }
39
+ function _non_iterable_rest() {
40
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
41
+ }
42
+ function _non_iterable_spread() {
43
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
44
+ }
45
+ function _sliced_to_array(arr, i) {
46
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
47
+ }
48
+ function _to_consumable_array(arr) {
49
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
50
+ }
51
+ function _unsupported_iterable_to_array(o, minLen) {
52
+ if (!o) return;
53
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
54
+ var n = Object.prototype.toString.call(o).slice(8, -1);
55
+ if (n === "Object" && o.constructor) n = o.constructor.name;
56
+ if (n === "Map" || n === "Set") return Array.from(n);
57
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
58
+ }
59
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
60
+ import { useState } from "react";
61
+ import { transformStorySource } from "../utilities/transformers.js";
62
+ import Listbox from "../components/Listbox.js";
63
+ import Text from "../components/Text.js";
64
+ import Card from "../components/Card.js";
65
+ import { HorizontalStack, VerticalStack, Box } from "../dist/esm/index.js";
66
+ import { MobileAcceptMajor, StarFilledMinor } from "@shopify/polaris-icons";
67
+ export default {
68
+ title: 'Litho/Listbox',
69
+ component: Listbox,
70
+ parameters: {
71
+ layout: 'padded',
72
+ docs: {
73
+ description: {
74
+ component: "A Listbox component that displays a list of selectable options with keyboard navigation support. It can show icons for selected items and supports both vertical and horizontal layouts."
75
+ },
76
+ source: {
77
+ transform: transformStorySource
78
+ }
79
+ }
80
+ },
81
+ tags: [
82
+ 'autodocs'
83
+ ],
84
+ argTypes: {
85
+ options: {
86
+ control: 'object',
87
+ description: 'Array of option objects with label, value, selected, and onAction properties'
88
+ },
89
+ showIcon: {
90
+ control: 'boolean',
91
+ description: 'Whether to show icons for selected options'
92
+ },
93
+ displayHorizontallyOnMobile: {
94
+ control: 'boolean',
95
+ description: 'Whether to display horizontally on mobile devices'
96
+ },
97
+ icon: {
98
+ control: false,
99
+ description: 'Icon to display for selected options'
100
+ }
101
+ }
102
+ };
103
+ export var Default = {
104
+ render: function() {
105
+ var _useState = _sliced_to_array(useState('option2'), 2), selectedValue = _useState[0], setSelectedValue = _useState[1];
106
+ var options = [
107
+ {
108
+ label: 'Option 1',
109
+ value: 'option1',
110
+ selected: selectedValue === 'option1',
111
+ onAction: function() {
112
+ return setSelectedValue('option1');
113
+ }
114
+ },
115
+ {
116
+ label: 'Option 2',
117
+ value: 'option2',
118
+ selected: selectedValue === 'option2',
119
+ onAction: function() {
120
+ return setSelectedValue('option2');
121
+ }
122
+ },
123
+ {
124
+ label: 'Option 3',
125
+ value: 'option3',
126
+ selected: selectedValue === 'option3',
127
+ onAction: function() {
128
+ return setSelectedValue('option3');
129
+ }
130
+ }
131
+ ];
132
+ return /*#__PURE__*/ _jsx(Card, {
133
+ title: "Select an Option",
134
+ style: {
135
+ width: '300px'
136
+ },
137
+ padded: true,
138
+ children: /*#__PURE__*/ _jsx(Listbox, {
139
+ options: options
140
+ })
141
+ });
142
+ },
143
+ parameters: {
144
+ docs: {
145
+ description: {
146
+ story: 'Basic listbox with selectable options.'
147
+ }
148
+ }
149
+ }
150
+ };
151
+ export var WithIcons = {
152
+ render: function() {
153
+ var _useState = _sliced_to_array(useState('option2'), 2), selectedValue = _useState[0], setSelectedValue = _useState[1];
154
+ var options = [
155
+ {
156
+ label: 'Option 1',
157
+ value: 'option1',
158
+ selected: selectedValue === 'option1',
159
+ onAction: function() {
160
+ return setSelectedValue('option1');
161
+ }
162
+ },
163
+ {
164
+ label: 'Option 2',
165
+ value: 'option2',
166
+ selected: selectedValue === 'option2',
167
+ onAction: function() {
168
+ return setSelectedValue('option2');
169
+ }
170
+ },
171
+ {
172
+ label: 'Option 3',
173
+ value: 'option3',
174
+ selected: selectedValue === 'option3',
175
+ onAction: function() {
176
+ return setSelectedValue('option3');
177
+ }
178
+ }
179
+ ];
180
+ return /*#__PURE__*/ _jsx(Card, {
181
+ title: "Select with Icons",
182
+ style: {
183
+ width: '300px'
184
+ },
185
+ padded: true,
186
+ children: /*#__PURE__*/ _jsx(Listbox, {
187
+ options: options,
188
+ showIcon: true
189
+ })
190
+ });
191
+ },
192
+ parameters: {
193
+ docs: {
194
+ description: {
195
+ story: 'Listbox with icons showing selected state.'
196
+ }
197
+ }
198
+ }
199
+ };
200
+ export var CustomIcon = {
201
+ render: function() {
202
+ var _useState = _sliced_to_array(useState('favorite'), 2), selectedValue = _useState[0], setSelectedValue = _useState[1];
203
+ var options = [
204
+ {
205
+ label: 'Favorite',
206
+ value: 'favorite',
207
+ selected: selectedValue === 'favorite',
208
+ onAction: function() {
209
+ return setSelectedValue('favorite');
210
+ }
211
+ },
212
+ {
213
+ label: 'Recent',
214
+ value: 'recent',
215
+ selected: selectedValue === 'recent',
216
+ onAction: function() {
217
+ return setSelectedValue('recent');
218
+ }
219
+ },
220
+ {
221
+ label: 'Archive',
222
+ value: 'archive',
223
+ selected: selectedValue === 'archive',
224
+ onAction: function() {
225
+ return setSelectedValue('archive');
226
+ }
227
+ }
228
+ ];
229
+ return /*#__PURE__*/ _jsx(Card, {
230
+ title: "Custom Icon",
231
+ style: {
232
+ width: '300px'
233
+ },
234
+ padded: true,
235
+ children: /*#__PURE__*/ _jsx(Listbox, {
236
+ options: options,
237
+ showIcon: true,
238
+ icon: StarFilledMinor
239
+ })
240
+ });
241
+ },
242
+ parameters: {
243
+ docs: {
244
+ description: {
245
+ story: 'Listbox with custom icon for selected items.'
246
+ }
247
+ }
248
+ }
249
+ };
250
+ export var MultipleSelection = {
251
+ render: function() {
252
+ var _useState = _sliced_to_array(useState([
253
+ 'option2',
254
+ 'option3'
255
+ ]), 2), selectedValues = _useState[0], setSelectedValues = _useState[1];
256
+ var toggleSelection = function(value) {
257
+ setSelectedValues(function(prev) {
258
+ return prev.includes(value) ? prev.filter(function(v) {
259
+ return v !== value;
260
+ }) : _to_consumable_array(prev).concat([
261
+ value
262
+ ]);
263
+ });
264
+ };
265
+ var options = [
266
+ {
267
+ label: 'Email Notifications',
268
+ value: 'option1',
269
+ selected: selectedValues.includes('option1'),
270
+ onAction: function() {
271
+ return toggleSelection('option1');
272
+ }
273
+ },
274
+ {
275
+ label: 'SMS Notifications',
276
+ value: 'option2',
277
+ selected: selectedValues.includes('option2'),
278
+ onAction: function() {
279
+ return toggleSelection('option2');
280
+ }
281
+ },
282
+ {
283
+ label: 'Push Notifications',
284
+ value: 'option3',
285
+ selected: selectedValues.includes('option3'),
286
+ onAction: function() {
287
+ return toggleSelection('option3');
288
+ }
289
+ },
290
+ {
291
+ label: 'Newsletter',
292
+ value: 'option4',
293
+ selected: selectedValues.includes('option4'),
294
+ onAction: function() {
295
+ return toggleSelection('option4');
296
+ }
297
+ }
298
+ ];
299
+ return /*#__PURE__*/ _jsxs(Card, {
300
+ title: "Notification Preferences",
301
+ style: {
302
+ width: '300px'
303
+ },
304
+ padded: true,
305
+ children: [
306
+ /*#__PURE__*/ _jsx(Listbox, {
307
+ options: options,
308
+ showIcon: true,
309
+ icon: MobileAcceptMajor
310
+ }),
311
+ /*#__PURE__*/ _jsx(Box, {
312
+ paddingBlockStart: "4",
313
+ children: /*#__PURE__*/ _jsx(Box, {
314
+ paddingBlock: "2",
315
+ paddingInline: "2",
316
+ background: "surface-neutral-subdued",
317
+ borderRadius: "base",
318
+ children: /*#__PURE__*/ _jsxs(Text, {
319
+ variant: "bodySm",
320
+ children: [
321
+ "Selected: ",
322
+ selectedValues.length > 0 ? selectedValues.join(', ') : 'None'
323
+ ]
324
+ })
325
+ })
326
+ })
327
+ ]
328
+ });
329
+ },
330
+ parameters: {
331
+ docs: {
332
+ description: {
333
+ story: 'Listbox allowing multiple selections.'
334
+ }
335
+ }
336
+ }
337
+ };
338
+ export var NavigationMenu = {
339
+ render: function() {
340
+ var _useState = _sliced_to_array(useState('dashboard'), 2), activeSection = _useState[0], setActiveSection = _useState[1];
341
+ var menuOptions = [
342
+ {
343
+ label: 'Dashboard',
344
+ value: 'dashboard',
345
+ selected: activeSection === 'dashboard',
346
+ onAction: function() {
347
+ return setActiveSection('dashboard');
348
+ }
349
+ },
350
+ {
351
+ label: 'Products',
352
+ value: 'products',
353
+ selected: activeSection === 'products',
354
+ onAction: function() {
355
+ return setActiveSection('products');
356
+ }
357
+ },
358
+ {
359
+ label: 'Customers',
360
+ value: 'customers',
361
+ selected: activeSection === 'customers',
362
+ onAction: function() {
363
+ return setActiveSection('customers');
364
+ }
365
+ },
366
+ {
367
+ label: 'Orders',
368
+ value: 'orders',
369
+ selected: activeSection === 'orders',
370
+ onAction: function() {
371
+ return setActiveSection('orders');
372
+ }
373
+ },
374
+ {
375
+ label: 'Analytics',
376
+ value: 'analytics',
377
+ selected: activeSection === 'analytics',
378
+ onAction: function() {
379
+ return setActiveSection('analytics');
380
+ }
381
+ },
382
+ {
383
+ label: 'Settings',
384
+ value: 'settings',
385
+ selected: activeSection === 'settings',
386
+ onAction: function() {
387
+ return setActiveSection('settings');
388
+ }
389
+ }
390
+ ];
391
+ return /*#__PURE__*/ _jsxs(HorizontalStack, {
392
+ gap: "8",
393
+ children: [
394
+ /*#__PURE__*/ _jsx(Box, {
395
+ width: "200px",
396
+ children: /*#__PURE__*/ _jsx(Card, {
397
+ title: "Navigation",
398
+ padded: true,
399
+ children: /*#__PURE__*/ _jsx(Listbox, {
400
+ options: menuOptions
401
+ })
402
+ })
403
+ }),
404
+ /*#__PURE__*/ _jsx(Box, {
405
+ minWidth: "0",
406
+ style: {
407
+ flex: 1
408
+ },
409
+ children: /*#__PURE__*/ _jsx(Card, {
410
+ title: "".concat(activeSection.charAt(0).toUpperCase() + activeSection.slice(1), " Content"),
411
+ padded: true,
412
+ children: /*#__PURE__*/ _jsxs(Text, {
413
+ children: [
414
+ "This is the content for the ",
415
+ activeSection,
416
+ " section."
417
+ ]
418
+ })
419
+ })
420
+ })
421
+ ]
422
+ });
423
+ },
424
+ parameters: {
425
+ docs: {
426
+ description: {
427
+ story: 'Listbox used as a navigation menu with content area.'
428
+ }
429
+ }
430
+ }
431
+ };
432
+ export var FilterOptions = {
433
+ render: function() {
434
+ var _useState = _sliced_to_array(useState([
435
+ 'active'
436
+ ]), 2), selectedFilters = _useState[0], setSelectedFilters = _useState[1];
437
+ var toggleFilter = function(value) {
438
+ setSelectedFilters(function(prev) {
439
+ return prev.includes(value) ? prev.filter(function(v) {
440
+ return v !== value;
441
+ }) : _to_consumable_array(prev).concat([
442
+ value
443
+ ]);
444
+ });
445
+ };
446
+ var filterOptions = [
447
+ {
448
+ label: 'All Items',
449
+ value: 'all',
450
+ selected: selectedFilters.includes('all'),
451
+ onAction: function() {
452
+ return toggleFilter('all');
453
+ }
454
+ },
455
+ {
456
+ label: 'Active',
457
+ value: 'active',
458
+ selected: selectedFilters.includes('active'),
459
+ onAction: function() {
460
+ return toggleFilter('active');
461
+ }
462
+ },
463
+ {
464
+ label: 'Inactive',
465
+ value: 'inactive',
466
+ selected: selectedFilters.includes('inactive'),
467
+ onAction: function() {
468
+ return toggleFilter('inactive');
469
+ }
470
+ },
471
+ {
472
+ label: 'Pending',
473
+ value: 'pending',
474
+ selected: selectedFilters.includes('pending'),
475
+ onAction: function() {
476
+ return toggleFilter('pending');
477
+ }
478
+ },
479
+ {
480
+ label: 'Archived',
481
+ value: 'archived',
482
+ selected: selectedFilters.includes('archived'),
483
+ onAction: function() {
484
+ return toggleFilter('archived');
485
+ }
486
+ }
487
+ ];
488
+ var sampleData = [
489
+ {
490
+ name: 'Item 1',
491
+ status: 'active'
492
+ },
493
+ {
494
+ name: 'Item 2',
495
+ status: 'inactive'
496
+ },
497
+ {
498
+ name: 'Item 3',
499
+ status: 'active'
500
+ },
501
+ {
502
+ name: 'Item 4',
503
+ status: 'pending'
504
+ },
505
+ {
506
+ name: 'Item 5',
507
+ status: 'archived'
508
+ }
509
+ ];
510
+ var filteredData = selectedFilters.includes('all') ? sampleData : sampleData.filter(function(item) {
511
+ return selectedFilters.includes(item.status);
512
+ });
513
+ return /*#__PURE__*/ _jsxs(HorizontalStack, {
514
+ gap: "8",
515
+ children: [
516
+ /*#__PURE__*/ _jsx(Box, {
517
+ width: "200px",
518
+ children: /*#__PURE__*/ _jsx(Card, {
519
+ title: "Filters",
520
+ padded: true,
521
+ children: /*#__PURE__*/ _jsx(Listbox, {
522
+ options: filterOptions,
523
+ showIcon: true
524
+ })
525
+ })
526
+ }),
527
+ /*#__PURE__*/ _jsx(Box, {
528
+ minWidth: "0",
529
+ style: {
530
+ flex: 1
531
+ },
532
+ children: /*#__PURE__*/ _jsx(Card, {
533
+ title: "Filtered Results",
534
+ padded: true,
535
+ children: filteredData.length > 0 ? /*#__PURE__*/ _jsx(VerticalStack, {
536
+ gap: "2",
537
+ children: filteredData.map(function(item, index) {
538
+ return /*#__PURE__*/ _jsx(Box, {
539
+ paddingBlock: "2",
540
+ paddingInline: "2",
541
+ borderWidth: "base",
542
+ borderColor: "border-subdued",
543
+ borderRadius: "base",
544
+ children: /*#__PURE__*/ _jsxs(HorizontalStack, {
545
+ blockAlign: "center",
546
+ inlineAlign: "space-between",
547
+ children: [
548
+ /*#__PURE__*/ _jsx(Text, {
549
+ children: item.name
550
+ }),
551
+ /*#__PURE__*/ _jsx(Text, {
552
+ variant: "bodySm",
553
+ color: "subdued",
554
+ style: {
555
+ textTransform: 'capitalize'
556
+ },
557
+ children: item.status
558
+ })
559
+ ]
560
+ })
561
+ }, index);
562
+ })
563
+ }) : /*#__PURE__*/ _jsx(Text, {
564
+ color: "subdued",
565
+ children: "No items match the selected filters."
566
+ })
567
+ })
568
+ })
569
+ ]
570
+ });
571
+ },
572
+ parameters: {
573
+ docs: {
574
+ description: {
575
+ story: 'Listbox used for filtering data with real-time results.'
576
+ }
577
+ }
578
+ }
579
+ };
580
+ export var HorizontalOnMobile = {
581
+ render: function() {
582
+ var _useState = _sliced_to_array(useState('overview'), 2), selectedTab = _useState[0], setSelectedTab = _useState[1];
583
+ var tabOptions = [
584
+ {
585
+ label: 'Overview',
586
+ value: 'overview',
587
+ selected: selectedTab === 'overview',
588
+ onAction: function() {
589
+ return setSelectedTab('overview');
590
+ }
591
+ },
592
+ {
593
+ label: 'Details',
594
+ value: 'details',
595
+ selected: selectedTab === 'details',
596
+ onAction: function() {
597
+ return setSelectedTab('details');
598
+ }
599
+ },
600
+ {
601
+ label: 'Reviews',
602
+ value: 'reviews',
603
+ selected: selectedTab === 'reviews',
604
+ onAction: function() {
605
+ return setSelectedTab('reviews');
606
+ }
607
+ },
608
+ {
609
+ label: 'Specifications',
610
+ value: 'specifications',
611
+ selected: selectedTab === 'specifications',
612
+ onAction: function() {
613
+ return setSelectedTab('specifications');
614
+ }
615
+ },
616
+ {
617
+ label: 'Support',
618
+ value: 'support',
619
+ selected: selectedTab === 'support',
620
+ onAction: function() {
621
+ return setSelectedTab('support');
622
+ }
623
+ }
624
+ ];
625
+ return /*#__PURE__*/ _jsxs(Card, {
626
+ title: "Product Information",
627
+ padded: true,
628
+ children: [
629
+ /*#__PURE__*/ _jsx(Box, {
630
+ paddingBlockEnd: "4",
631
+ children: /*#__PURE__*/ _jsx(Listbox, {
632
+ options: tabOptions,
633
+ displayHorizontallyOnMobile: true
634
+ })
635
+ }),
636
+ /*#__PURE__*/ _jsxs(Box, {
637
+ paddingBlock: "4",
638
+ paddingInline: "4",
639
+ background: "surface-neutral-subdued",
640
+ borderRadius: "base",
641
+ minHeight: "200px",
642
+ children: [
643
+ /*#__PURE__*/ _jsx(Box, {
644
+ paddingBlockEnd: "4",
645
+ children: /*#__PURE__*/ _jsxs(Text, {
646
+ variant: "headingSm",
647
+ children: [
648
+ selectedTab.charAt(0).toUpperCase() + selectedTab.slice(1),
649
+ " Content"
650
+ ]
651
+ })
652
+ }),
653
+ /*#__PURE__*/ _jsxs(Text, {
654
+ children: [
655
+ "This is the content for the ",
656
+ selectedTab,
657
+ " tab. On mobile devices, the tabs above will display horizontally with horizontal scrolling."
658
+ ]
659
+ })
660
+ ]
661
+ })
662
+ ]
663
+ });
664
+ },
665
+ parameters: {
666
+ docs: {
667
+ description: {
668
+ story: 'Listbox that displays horizontally on mobile for better mobile UX.'
669
+ }
670
+ }
671
+ }
672
+ };
673
+ export var KeyboardNavigation = {
674
+ render: function() {
675
+ var _useState = _sliced_to_array(useState('item2'), 2), selectedValue = _useState[0], setSelectedValue = _useState[1];
676
+ var options = [
677
+ {
678
+ label: 'First Item',
679
+ value: 'item1',
680
+ selected: selectedValue === 'item1',
681
+ onAction: function() {
682
+ return setSelectedValue('item1');
683
+ }
684
+ },
685
+ {
686
+ label: 'Second Item',
687
+ value: 'item2',
688
+ selected: selectedValue === 'item2',
689
+ onAction: function() {
690
+ return setSelectedValue('item2');
691
+ }
692
+ },
693
+ {
694
+ label: 'Third Item',
695
+ value: 'item3',
696
+ selected: selectedValue === 'item3',
697
+ onAction: function() {
698
+ return setSelectedValue('item3');
699
+ }
700
+ },
701
+ {
702
+ label: 'Fourth Item',
703
+ value: 'item4',
704
+ selected: selectedValue === 'item4',
705
+ onAction: function() {
706
+ return setSelectedValue('item4');
707
+ }
708
+ }
709
+ ];
710
+ return /*#__PURE__*/ _jsxs(Card, {
711
+ title: "Keyboard Navigation Demo",
712
+ style: {
713
+ width: '300px'
714
+ },
715
+ padded: true,
716
+ children: [
717
+ /*#__PURE__*/ _jsxs(Box, {
718
+ paddingBlockEnd: "4",
719
+ children: [
720
+ /*#__PURE__*/ _jsx(Text, {
721
+ variant: "bodySm",
722
+ children: "Try keyboard navigation:"
723
+ }),
724
+ /*#__PURE__*/ _jsx(Box, {
725
+ paddingBlockStart: "2",
726
+ paddingInlineStart: "4",
727
+ children: /*#__PURE__*/ _jsxs("ul", {
728
+ style: {
729
+ fontSize: '0.8rem'
730
+ },
731
+ children: [
732
+ /*#__PURE__*/ _jsx("li", {
733
+ children: "↑/↓ arrows: Move between options"
734
+ }),
735
+ /*#__PURE__*/ _jsx("li", {
736
+ children: "Enter: Select option"
737
+ }),
738
+ /*#__PURE__*/ _jsx("li", {
739
+ children: "Escape: Remove focus"
740
+ })
741
+ ]
742
+ })
743
+ })
744
+ ]
745
+ }),
746
+ /*#__PURE__*/ _jsx(Listbox, {
747
+ options: options,
748
+ showIcon: true
749
+ }),
750
+ /*#__PURE__*/ _jsx(Box, {
751
+ paddingBlockStart: "4",
752
+ children: /*#__PURE__*/ _jsx(Box, {
753
+ paddingBlock: "2",
754
+ paddingInline: "2",
755
+ background: "surface-accent-subdued",
756
+ borderRadius: "base",
757
+ children: /*#__PURE__*/ _jsxs(Text, {
758
+ variant: "bodySm",
759
+ children: [
760
+ "Selected: ",
761
+ selectedValue
762
+ ]
763
+ })
764
+ })
765
+ })
766
+ ]
767
+ });
768
+ },
769
+ parameters: {
770
+ docs: {
771
+ description: {
772
+ story: 'Demonstrates keyboard navigation features of the listbox.'
773
+ }
774
+ }
775
+ }
776
+ };