@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,871 @@
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 CustomerSearch () {
13
+ return CustomerSearch;
14
+ },
15
+ get Default () {
16
+ return Default;
17
+ },
18
+ get EmptyState () {
19
+ return EmptyState;
20
+ },
21
+ get GroupedOptions () {
22
+ return GroupedOptions;
23
+ },
24
+ get MultipleSelection () {
25
+ return MultipleSelection;
26
+ },
27
+ get ProductSearch () {
28
+ return ProductSearch;
29
+ },
30
+ get default () {
31
+ return _default;
32
+ }
33
+ });
34
+ var _jsxruntime = require("react/jsx-runtime");
35
+ var _react = require("react");
36
+ var _Autocomplete = /*#__PURE__*/ _interop_require_default(require("../components/Autocomplete.js"));
37
+ var _Text = /*#__PURE__*/ _interop_require_default(require("../components/Text.js"));
38
+ var _Card = /*#__PURE__*/ _interop_require_default(require("../components/Card.js"));
39
+ var _Button = /*#__PURE__*/ _interop_require_default(require("../components/Button.js"));
40
+ var _polarisicons = require("@shopify/polaris-icons");
41
+ var _HorizontalStack = /*#__PURE__*/ _interop_require_default(require("../components/HorizontalStack.js"));
42
+ var _VerticalStack = /*#__PURE__*/ _interop_require_default(require("../components/VerticalStack.js"));
43
+ var _Tag = /*#__PURE__*/ _interop_require_default(require("../components/Tag.js"));
44
+ var _Thumbnail = /*#__PURE__*/ _interop_require_default(require("../components/Thumbnail.js"));
45
+ var _transformers = require("../utilities/transformers.js");
46
+ function _array_like_to_array(arr, len) {
47
+ if (len == null || len > arr.length) len = arr.length;
48
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
49
+ return arr2;
50
+ }
51
+ function _array_with_holes(arr) {
52
+ if (Array.isArray(arr)) return arr;
53
+ }
54
+ function _define_property(obj, key, value) {
55
+ if (key in obj) {
56
+ Object.defineProperty(obj, key, {
57
+ value: value,
58
+ enumerable: true,
59
+ configurable: true,
60
+ writable: true
61
+ });
62
+ } else {
63
+ obj[key] = value;
64
+ }
65
+ return obj;
66
+ }
67
+ function _interop_require_default(obj) {
68
+ return obj && obj.__esModule ? obj : {
69
+ default: obj
70
+ };
71
+ }
72
+ function _iterable_to_array_limit(arr, i) {
73
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
74
+ if (_i == null) return;
75
+ var _arr = [];
76
+ var _n = true;
77
+ var _d = false;
78
+ var _s, _e;
79
+ try {
80
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
81
+ _arr.push(_s.value);
82
+ if (i && _arr.length === i) break;
83
+ }
84
+ } catch (err) {
85
+ _d = true;
86
+ _e = err;
87
+ } finally{
88
+ try {
89
+ if (!_n && _i["return"] != null) _i["return"]();
90
+ } finally{
91
+ if (_d) throw _e;
92
+ }
93
+ }
94
+ return _arr;
95
+ }
96
+ function _non_iterable_rest() {
97
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
98
+ }
99
+ function _object_spread(target) {
100
+ for(var i = 1; i < arguments.length; i++){
101
+ var source = arguments[i] != null ? arguments[i] : {};
102
+ var ownKeys = Object.keys(source);
103
+ if (typeof Object.getOwnPropertySymbols === "function") {
104
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
105
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
106
+ }));
107
+ }
108
+ ownKeys.forEach(function(key) {
109
+ _define_property(target, key, source[key]);
110
+ });
111
+ }
112
+ return target;
113
+ }
114
+ function ownKeys(object, enumerableOnly) {
115
+ var keys = Object.keys(object);
116
+ if (Object.getOwnPropertySymbols) {
117
+ var symbols = Object.getOwnPropertySymbols(object);
118
+ if (enumerableOnly) {
119
+ symbols = symbols.filter(function(sym) {
120
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
121
+ });
122
+ }
123
+ keys.push.apply(keys, symbols);
124
+ }
125
+ return keys;
126
+ }
127
+ function _object_spread_props(target, source) {
128
+ source = source != null ? source : {};
129
+ if (Object.getOwnPropertyDescriptors) {
130
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
131
+ } else {
132
+ ownKeys(Object(source)).forEach(function(key) {
133
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
134
+ });
135
+ }
136
+ return target;
137
+ }
138
+ function _sliced_to_array(arr, i) {
139
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
140
+ }
141
+ function _unsupported_iterable_to_array(o, minLen) {
142
+ if (!o) return;
143
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
144
+ var n = Object.prototype.toString.call(o).slice(8, -1);
145
+ if (n === "Object" && o.constructor) n = o.constructor.name;
146
+ if (n === "Map" || n === "Set") return Array.from(n);
147
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
148
+ }
149
+ var _default = {
150
+ title: "Litho/Autocomplete",
151
+ component: _Autocomplete.default,
152
+ parameters: {
153
+ layout: "padded",
154
+ docs: {
155
+ description: {
156
+ component: "An Autocomplete component that provides search functionality with dropdown options. It supports single and multiple selection, grouped options, loading states, and custom empty states."
157
+ }
158
+ }
159
+ },
160
+ tags: [
161
+ "autodocs"
162
+ ],
163
+ argTypes: {
164
+ options: {
165
+ control: "object",
166
+ description: "Array of options to display in the dropdown",
167
+ table: {
168
+ type: {
169
+ summary: "AutocompleteOption[]",
170
+ detail: "{\n label: string;\n value: string;\n title?: string;\n allowMultiple?: boolean;\n selected?: string;\n onSelect?: () => void;\n options?: AutocompleteOption[];\n}"
171
+ }
172
+ }
173
+ },
174
+ selected: {
175
+ control: "object",
176
+ description: "Currently selected option values",
177
+ table: {
178
+ type: {
179
+ summary: "string[]"
180
+ },
181
+ defaultValue: {
182
+ summary: "[]"
183
+ }
184
+ }
185
+ },
186
+ allowMultiple: {
187
+ control: "boolean",
188
+ description: "Whether multiple options can be selected",
189
+ table: {
190
+ type: {
191
+ summary: "boolean"
192
+ },
193
+ defaultValue: {
194
+ summary: "false"
195
+ }
196
+ }
197
+ },
198
+ loading: {
199
+ control: "boolean",
200
+ description: "Whether to show loading spinner",
201
+ table: {
202
+ type: {
203
+ summary: "boolean"
204
+ },
205
+ defaultValue: {
206
+ summary: "false"
207
+ }
208
+ }
209
+ },
210
+ preferredPosition: {
211
+ control: "select",
212
+ options: [
213
+ "below",
214
+ "above"
215
+ ],
216
+ description: "Preferred position of the dropdown",
217
+ table: {
218
+ type: {
219
+ summary: "string"
220
+ },
221
+ defaultValue: {
222
+ summary: "below"
223
+ }
224
+ }
225
+ },
226
+ preferredAlignment: {
227
+ control: "select",
228
+ options: [
229
+ "left",
230
+ "center",
231
+ "right"
232
+ ],
233
+ description: "Preferred alignment of the dropdown",
234
+ table: {
235
+ type: {
236
+ summary: "string"
237
+ },
238
+ defaultValue: {
239
+ summary: "left"
240
+ }
241
+ }
242
+ },
243
+ onSelect: {
244
+ control: false,
245
+ description: "Callback when selection changes",
246
+ table: {
247
+ type: {
248
+ summary: "() => void"
249
+ }
250
+ }
251
+ },
252
+ textField: {
253
+ control: false,
254
+ description: "TextField component used as activator",
255
+ table: {
256
+ type: {
257
+ summary: "React.ReactNode"
258
+ }
259
+ }
260
+ },
261
+ emptyState: {
262
+ control: "object",
263
+ description: "Content to display when no options available",
264
+ table: {
265
+ type: {
266
+ summary: "AutocompleteEmptyState",
267
+ detail: "{\n content: string;\n icon?: React.ReactNode;\n}"
268
+ }
269
+ }
270
+ }
271
+ }
272
+ };
273
+ var Default = {
274
+ render: function() {
275
+ var _useState = _sliced_to_array((0, _react.useState)([
276
+ "product1"
277
+ ]), 2), selected = _useState[0], setSelected = _useState[1];
278
+ var _useState1 = _sliced_to_array((0, _react.useState)(""), 2), inputValue = _useState1[0], setInputValue = _useState1[1];
279
+ var options = [
280
+ {
281
+ label: "Product A",
282
+ value: "product1"
283
+ },
284
+ {
285
+ label: "Product B",
286
+ value: "product2"
287
+ },
288
+ {
289
+ label: "Product C",
290
+ value: "product3"
291
+ },
292
+ {
293
+ label: "Service A",
294
+ value: "service1"
295
+ },
296
+ {
297
+ label: "Service B",
298
+ value: "service2"
299
+ }
300
+ ];
301
+ var filteredOptions = inputValue ? options.filter(function(option) {
302
+ return option.label.toLowerCase().includes(inputValue.toLowerCase());
303
+ }) : options;
304
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Card.default, {
305
+ title: "Select a Product",
306
+ style: {
307
+ width: "400px"
308
+ },
309
+ padded: true,
310
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
311
+ gap: "2",
312
+ children: [
313
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Autocomplete.default, {
314
+ options: filteredOptions,
315
+ selected: selected,
316
+ onSelect: setSelected,
317
+ textField: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Autocomplete.default.TextField, {
318
+ placeholder: "Search products...",
319
+ value: inputValue,
320
+ onChange: setInputValue
321
+ })
322
+ }),
323
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_HorizontalStack.default, {
324
+ children: selected.length > 0 && selected.map(function(item) {
325
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Tag.default, {
326
+ children: item
327
+ }, item);
328
+ })
329
+ })
330
+ ]
331
+ })
332
+ });
333
+ },
334
+ parameters: {
335
+ docs: {
336
+ description: {
337
+ story: "Basic autocomplete with single selection and search filtering."
338
+ },
339
+ source: {
340
+ transform: _transformers.transformStorySource
341
+ }
342
+ }
343
+ }
344
+ };
345
+ var MultipleSelection = {
346
+ render: function() {
347
+ var _useState = _sliced_to_array((0, _react.useState)([
348
+ "tag1",
349
+ "tag3"
350
+ ]), 2), selected = _useState[0], setSelected = _useState[1];
351
+ var _useState1 = _sliced_to_array((0, _react.useState)(""), 2), inputValue = _useState1[0], setInputValue = _useState1[1];
352
+ var options = [
353
+ {
354
+ label: "JavaScript",
355
+ value: "tag1"
356
+ },
357
+ {
358
+ label: "React",
359
+ value: "tag2"
360
+ },
361
+ {
362
+ label: "TypeScript",
363
+ value: "tag3"
364
+ },
365
+ {
366
+ label: "Node.js",
367
+ value: "tag4"
368
+ },
369
+ {
370
+ label: "CSS",
371
+ value: "tag5"
372
+ },
373
+ {
374
+ label: "HTML",
375
+ value: "tag6"
376
+ },
377
+ {
378
+ label: "Python",
379
+ value: "tag7"
380
+ },
381
+ {
382
+ label: "GraphQL",
383
+ value: "tag8"
384
+ }
385
+ ];
386
+ var filteredOptions = inputValue ? options.filter(function(option) {
387
+ return option.label.toLowerCase().includes(inputValue.toLowerCase());
388
+ }) : options;
389
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Card.default, {
390
+ title: "Select Technologies",
391
+ style: {
392
+ width: "400px"
393
+ },
394
+ padded: true,
395
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
396
+ gap: "2",
397
+ children: [
398
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Autocomplete.default, {
399
+ options: filteredOptions,
400
+ selected: selected,
401
+ allowMultiple: true,
402
+ onSelect: setSelected,
403
+ textField: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Autocomplete.default.TextField, {
404
+ placeholder: "Search technologies...",
405
+ value: inputValue,
406
+ onChange: setInputValue
407
+ })
408
+ }),
409
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_HorizontalStack.default, {
410
+ gap: "2",
411
+ children: selected.length > 0 && selected.map(function(item) {
412
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Tag.default, {
413
+ children: item
414
+ }, item);
415
+ })
416
+ })
417
+ ]
418
+ })
419
+ });
420
+ },
421
+ parameters: {
422
+ docs: {
423
+ description: {
424
+ story: "Autocomplete with multiple selection using checkboxes."
425
+ },
426
+ source: {
427
+ transform: _transformers.transformStorySource
428
+ }
429
+ }
430
+ }
431
+ };
432
+ var GroupedOptions = {
433
+ render: function() {
434
+ var _useState = _sliced_to_array((0, _react.useState)([
435
+ "user1"
436
+ ]), 2), selected = _useState[0], setSelected = _useState[1];
437
+ var _useState1 = _sliced_to_array((0, _react.useState)(""), 2), inputValue = _useState1[0], setInputValue = _useState1[1];
438
+ var allOptions = [
439
+ {
440
+ title: "Recent Contacts",
441
+ options: [
442
+ {
443
+ label: "John Doe",
444
+ value: "user1"
445
+ },
446
+ {
447
+ label: "Jane Smith",
448
+ value: "user2"
449
+ },
450
+ {
451
+ label: "Bob Johnson",
452
+ value: "user3"
453
+ }
454
+ ]
455
+ },
456
+ {
457
+ title: "Team Members",
458
+ options: [
459
+ {
460
+ label: "Alice Brown",
461
+ value: "team1"
462
+ },
463
+ {
464
+ label: "Charlie Wilson",
465
+ value: "team2"
466
+ },
467
+ {
468
+ label: "Diana Miller",
469
+ value: "team3"
470
+ }
471
+ ]
472
+ },
473
+ {
474
+ title: "External Contacts",
475
+ options: [
476
+ {
477
+ label: "Mike Davis",
478
+ value: "ext1"
479
+ },
480
+ {
481
+ label: "Sarah Taylor",
482
+ value: "ext2"
483
+ }
484
+ ]
485
+ }
486
+ ];
487
+ var filteredOptions = inputValue ? allOptions.map(function(group) {
488
+ return _object_spread_props(_object_spread({}, group), {
489
+ options: group.options.filter(function(option) {
490
+ return option.label.toLowerCase().includes(inputValue.toLowerCase());
491
+ })
492
+ });
493
+ }).filter(function(group) {
494
+ return group.options.length > 0;
495
+ }) : allOptions;
496
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Card.default, {
497
+ title: "Select Contact",
498
+ style: {
499
+ width: "400px"
500
+ },
501
+ padded: true,
502
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
503
+ gap: "2",
504
+ children: [
505
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Autocomplete.default, {
506
+ options: filteredOptions,
507
+ selected: selected,
508
+ onSelect: setSelected,
509
+ textField: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Autocomplete.default.TextField, {
510
+ placeholder: "Search contacts...",
511
+ value: inputValue,
512
+ onChange: setInputValue
513
+ })
514
+ }),
515
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_HorizontalStack.default, {
516
+ gap: "2",
517
+ children: selected.length > 0 && selected.map(function(item) {
518
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Tag.default, {
519
+ children: item
520
+ }, item);
521
+ })
522
+ })
523
+ ]
524
+ })
525
+ });
526
+ },
527
+ parameters: {
528
+ docs: {
529
+ description: {
530
+ story: "Autocomplete with grouped options and section titles."
531
+ },
532
+ source: {
533
+ transform: _transformers.transformStorySource
534
+ }
535
+ }
536
+ }
537
+ };
538
+ var EmptyState = {
539
+ render: function() {
540
+ var _useState = _sliced_to_array((0, _react.useState)([]), 2), selected = _useState[0], setSelected = _useState[1];
541
+ var _useState1 = _sliced_to_array((0, _react.useState)("xyz123"), 2), inputValue = _useState1[0], setInputValue = _useState1[1];
542
+ var options = [
543
+ {
544
+ label: "Apple",
545
+ value: "apple"
546
+ },
547
+ {
548
+ label: "Banana",
549
+ value: "banana"
550
+ },
551
+ {
552
+ label: "Cherry",
553
+ value: "cherry"
554
+ }
555
+ ];
556
+ var filteredOptions = inputValue ? options.filter(function(option) {
557
+ return option.label.toLowerCase().includes(inputValue.toLowerCase());
558
+ }) : options;
559
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Card.default, {
560
+ title: "No Results Found",
561
+ style: {
562
+ width: "400px"
563
+ },
564
+ padded: true,
565
+ children: [
566
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
567
+ style: {
568
+ marginBottom: "1rem",
569
+ fontSize: "0.9rem"
570
+ },
571
+ children: 'Try searching for "apple", "banana", or "cherry". The current search has no results.'
572
+ }),
573
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Autocomplete.default, {
574
+ options: filteredOptions,
575
+ selected: selected,
576
+ onSelect: setSelected,
577
+ emptyState: {
578
+ icon: _polarisicons.SearchMinor,
579
+ content: "No results found. Try a different search term."
580
+ },
581
+ textField: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Autocomplete.default.TextField, {
582
+ placeholder: "Search fruits...",
583
+ value: inputValue,
584
+ onChange: setInputValue
585
+ })
586
+ }),
587
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
588
+ style: {
589
+ marginTop: "1rem"
590
+ },
591
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
592
+ onClick: function() {
593
+ return setInputValue("");
594
+ },
595
+ size: "slim",
596
+ children: "Clear Search"
597
+ })
598
+ })
599
+ ]
600
+ });
601
+ },
602
+ parameters: {
603
+ docs: {
604
+ description: {
605
+ story: "Autocomplete with custom empty state when no results found."
606
+ },
607
+ source: {
608
+ transform: _transformers.transformStorySource
609
+ }
610
+ }
611
+ }
612
+ };
613
+ var ProductSearch = {
614
+ render: function() {
615
+ var _useState = _sliced_to_array((0, _react.useState)([]), 2), selected = _useState[0], setSelected = _useState[1];
616
+ var _useState1 = _sliced_to_array((0, _react.useState)(""), 2), inputValue = _useState1[0], setInputValue = _useState1[1];
617
+ var products = [
618
+ {
619
+ title: "Electronics",
620
+ options: [
621
+ {
622
+ label: "iPhone 15 Pro",
623
+ value: "iphone15"
624
+ },
625
+ {
626
+ label: "MacBook Air M2",
627
+ value: "macbook"
628
+ },
629
+ {
630
+ label: "AirPods Pro",
631
+ value: "airpods"
632
+ },
633
+ {
634
+ label: "iPad Pro",
635
+ value: "ipad"
636
+ }
637
+ ]
638
+ },
639
+ {
640
+ title: "Clothing",
641
+ options: [
642
+ {
643
+ label: "Cotton T-Shirt",
644
+ value: "tshirt"
645
+ },
646
+ {
647
+ label: "Denim Jeans",
648
+ value: "jeans"
649
+ },
650
+ {
651
+ label: "Running Shoes",
652
+ value: "shoes"
653
+ },
654
+ {
655
+ label: "Winter Jacket",
656
+ value: "jacket"
657
+ }
658
+ ]
659
+ },
660
+ {
661
+ title: "Home & Garden",
662
+ options: [
663
+ {
664
+ label: "Coffee Maker",
665
+ value: "coffee"
666
+ },
667
+ {
668
+ label: "Garden Hose",
669
+ value: "hose"
670
+ },
671
+ {
672
+ label: "Desk Lamp",
673
+ value: "lamp"
674
+ }
675
+ ]
676
+ }
677
+ ];
678
+ var filteredOptions = inputValue ? products.map(function(category) {
679
+ return _object_spread_props(_object_spread({}, category), {
680
+ options: category.options.filter(function(option) {
681
+ return option.label.toLowerCase().includes(inputValue.toLowerCase());
682
+ })
683
+ });
684
+ }).filter(function(category) {
685
+ return category.options.length > 0;
686
+ }) : products;
687
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Card.default, {
688
+ title: "Product Catalog Search",
689
+ style: {
690
+ width: "500px"
691
+ },
692
+ padded: true,
693
+ children: [
694
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Autocomplete.default, {
695
+ options: filteredOptions,
696
+ selected: selected,
697
+ allowMultiple: true,
698
+ onSelect: setSelected,
699
+ textField: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Autocomplete.default.TextField, {
700
+ placeholder: "Search products...",
701
+ value: inputValue,
702
+ onChange: setInputValue
703
+ }),
704
+ emptyState: {
705
+ icon: _polarisicons.ProductsMinor,
706
+ content: "No products found matching your search."
707
+ }
708
+ }),
709
+ selected.length > 0 && /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
710
+ style: {
711
+ marginTop: "1.5rem"
712
+ },
713
+ children: [
714
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
715
+ variant: "headingSm",
716
+ style: {
717
+ marginBottom: "0.5rem"
718
+ },
719
+ children: [
720
+ "Selected Products (",
721
+ selected.length,
722
+ ")"
723
+ ]
724
+ }),
725
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
726
+ style: {
727
+ display: "flex",
728
+ flexWrap: "wrap",
729
+ gap: "0.5rem"
730
+ },
731
+ children: selected.map(function(item) {
732
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Tag.default, {
733
+ children: item
734
+ }, item);
735
+ })
736
+ })
737
+ ]
738
+ })
739
+ ]
740
+ });
741
+ },
742
+ parameters: {
743
+ docs: {
744
+ description: {
745
+ story: "Product search autocomplete with categorized results."
746
+ },
747
+ source: {
748
+ transform: _transformers.transformStorySource
749
+ }
750
+ }
751
+ }
752
+ };
753
+ var CustomerSearch = {
754
+ render: function() {
755
+ var _useState = _sliced_to_array((0, _react.useState)([]), 2), selected = _useState[0], setSelected = _useState[1];
756
+ var _useState1 = _sliced_to_array((0, _react.useState)(""), 2), inputValue = _useState1[0], setInputValue = _useState1[1];
757
+ var customers = [
758
+ {
759
+ label: "John Smith (john@example.com)",
760
+ value: "customer1"
761
+ },
762
+ {
763
+ label: "Sarah Johnson (sarah@company.com)",
764
+ value: "customer2"
765
+ },
766
+ {
767
+ label: "Mike Wilson (mike@business.org)",
768
+ value: "customer3"
769
+ },
770
+ {
771
+ label: "Lisa Brown (lisa@startup.io)",
772
+ value: "customer4"
773
+ },
774
+ {
775
+ label: "David Miller (david@corp.net)",
776
+ value: "customer5"
777
+ },
778
+ {
779
+ label: "Emma Davis (emma@agency.com)",
780
+ value: "customer6"
781
+ }
782
+ ];
783
+ var filteredOptions = inputValue ? customers.filter(function(option) {
784
+ return option.label.toLowerCase().includes(inputValue.toLowerCase());
785
+ }) : customers;
786
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Card.default, {
787
+ title: "Customer Management",
788
+ style: {
789
+ width: "500px"
790
+ },
791
+ padded: true,
792
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
793
+ gap: "2",
794
+ children: [
795
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
796
+ variant: "bodySm",
797
+ children: "Search by name or email address to find customers."
798
+ }),
799
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Autocomplete.default, {
800
+ options: filteredOptions,
801
+ selected: selected,
802
+ allowMultiple: true,
803
+ onSelect: setSelected,
804
+ textField: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Autocomplete.default.TextField, {
805
+ placeholder: "Search customers by name or email...",
806
+ value: inputValue,
807
+ onChange: setInputValue
808
+ }),
809
+ emptyState: {
810
+ icon: _polarisicons.CustomersMinor,
811
+ content: "No customers found. Try searching by name or email."
812
+ }
813
+ }),
814
+ selected.length > 0 && /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
815
+ style: {
816
+ marginTop: "1.5rem"
817
+ },
818
+ children: [
819
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
820
+ variant: "headingSm",
821
+ style: {
822
+ marginBottom: "0.5rem"
823
+ },
824
+ children: [
825
+ "Selected Customers (",
826
+ selected.length,
827
+ ")"
828
+ ]
829
+ }),
830
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
831
+ style: {
832
+ display: "flex",
833
+ flexDirection: "column",
834
+ gap: "0.5rem"
835
+ },
836
+ children: selected.map(function(customerId) {
837
+ var customer = customers.find(function(c) {
838
+ return c.value === customerId;
839
+ });
840
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_HorizontalStack.default, {
841
+ gap: "2",
842
+ blockAlign: "center",
843
+ children: [
844
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Thumbnail.default, {
845
+ size: "small"
846
+ }),
847
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
848
+ variant: "bodySm",
849
+ children: customer === null || customer === void 0 ? void 0 : customer.label
850
+ })
851
+ ]
852
+ });
853
+ })
854
+ })
855
+ ]
856
+ })
857
+ ]
858
+ })
859
+ });
860
+ },
861
+ parameters: {
862
+ docs: {
863
+ description: {
864
+ story: "Customer search with email addresses and multiple selection."
865
+ },
866
+ source: {
867
+ transform: _transformers.transformStorySource
868
+ }
869
+ }
870
+ }
871
+ };