@heymantle/litho 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/dist/cjs/components/ActionList.js +50 -16
  2. package/dist/cjs/components/AnnouncementBar.js +10 -3
  3. package/dist/cjs/components/AppProvider.js +10 -1
  4. package/dist/cjs/components/Autocomplete.js +55 -22
  5. package/dist/cjs/components/Badge.js +2 -1
  6. package/dist/cjs/components/Banner.js +35 -31
  7. package/dist/cjs/components/Box.js +5 -3
  8. package/dist/cjs/components/Button.js +78 -18
  9. package/dist/cjs/components/Card.js +6 -45
  10. package/dist/cjs/components/Checkbox.js +16 -6
  11. package/dist/cjs/components/ChoiceList.js +7 -4
  12. package/dist/cjs/components/ColorField.js +10 -5
  13. package/dist/cjs/components/DatePicker.js +13 -8
  14. package/dist/cjs/components/DropZone.js +33 -18
  15. package/dist/cjs/components/EmptyState.js +17 -9
  16. package/dist/cjs/components/Filters.js +36 -23
  17. package/dist/cjs/components/FooterHelp.js +7 -2
  18. package/dist/cjs/components/Form.js +18 -3
  19. package/dist/cjs/components/Frame.js +48 -23
  20. package/dist/cjs/components/FrameSaveBar.js +21 -12
  21. package/dist/cjs/components/HorizontalStack.js +9 -2
  22. package/dist/cjs/components/Icon.js +1 -0
  23. package/dist/cjs/components/Layout.js +3 -3
  24. package/dist/cjs/components/LayoutSection.js +2 -2
  25. package/dist/cjs/components/Link.js +6 -2
  26. package/dist/cjs/components/List.js +4 -3
  27. package/dist/cjs/components/Listbox.js +9 -4
  28. package/dist/cjs/components/Modal.js +26 -17
  29. package/dist/cjs/components/Navigation.js +30 -20
  30. package/dist/cjs/components/Page.js +8 -3
  31. package/dist/cjs/components/Pagination.js +11 -4
  32. package/dist/cjs/components/Pane.js +168 -41
  33. package/dist/cjs/components/Popover.js +59 -6
  34. package/dist/cjs/components/RangeSlider.js +11 -4
  35. package/dist/cjs/components/ResourceList.js +9 -3
  36. package/dist/cjs/components/Select.js +2 -0
  37. package/dist/cjs/components/Stack.js +223 -0
  38. package/dist/cjs/components/Table.js +33 -20
  39. package/dist/cjs/components/Tabs.js +41 -11
  40. package/dist/cjs/components/Text.js +8 -5
  41. package/dist/cjs/components/TextField.js +23 -13
  42. package/dist/cjs/components/Thumbnail.js +7 -2
  43. package/dist/cjs/components/TimePicker.js +7 -2
  44. package/dist/cjs/components/Tip.js +10 -4
  45. package/dist/cjs/components/Tooltip.js +16 -8
  46. package/dist/cjs/components/TopBar.js +17 -9
  47. package/dist/cjs/components/VerticalStack.js +8 -2
  48. package/dist/cjs/dev/verify-publish.js +37 -4
  49. package/dist/cjs/index.js +4 -0
  50. package/dist/cjs/postcss.config.js +21 -0
  51. package/dist/cjs/stories/ActionList.stories.js +365 -0
  52. package/dist/cjs/stories/AnnouncementBar.stories.js +244 -0
  53. package/dist/cjs/stories/Autocomplete.stories.js +874 -0
  54. package/dist/cjs/stories/Badge.stories.js +183 -0
  55. package/dist/cjs/stories/Banner.stories.js +201 -0
  56. package/dist/cjs/stories/Box.stories.js +601 -0
  57. package/dist/cjs/stories/Button.stories.js +325 -0
  58. package/dist/cjs/stories/ButtonGroup.stories.js +404 -0
  59. package/dist/cjs/stories/Card.stories.js +278 -0
  60. package/dist/cjs/stories/Checkbox.stories.js +266 -0
  61. package/dist/cjs/stories/ChoiceList.stories.js +885 -0
  62. package/dist/cjs/stories/Collapsible.stories.js +917 -0
  63. package/dist/cjs/stories/ColorField.stories.js +887 -0
  64. package/dist/cjs/stories/ContextualSaveBar.stories.js +971 -0
  65. package/dist/cjs/stories/DatePicker.stories.js +584 -0
  66. package/dist/cjs/stories/Divider.stories.js +766 -0
  67. package/dist/cjs/stories/DropZone.stories.js +1210 -0
  68. package/dist/cjs/stories/EmptyState.stories.js +296 -0
  69. package/dist/cjs/stories/Filters.stories.js +1355 -0
  70. package/dist/cjs/stories/FooterHelp.stories.js +874 -0
  71. package/dist/cjs/stories/Form.stories.js +943 -0
  72. package/dist/cjs/stories/Grid.stories.js +1199 -0
  73. package/dist/cjs/stories/HorizontalStack.stories.js +1064 -0
  74. package/dist/cjs/stories/Icon.stories.js +599 -0
  75. package/dist/cjs/stories/Image.stories.js +883 -0
  76. package/dist/cjs/stories/InlineError.stories.js +711 -0
  77. package/dist/cjs/stories/Label.stories.js +665 -0
  78. package/dist/cjs/stories/Layout.stories.js +687 -0
  79. package/dist/cjs/stories/LayoutSection.stories.js +1275 -0
  80. package/dist/cjs/stories/Link.stories.js +425 -0
  81. package/dist/cjs/stories/List.stories.js +1048 -0
  82. package/dist/cjs/stories/Listbox.stories.js +824 -0
  83. package/dist/cjs/stories/Loading.stories.js +909 -0
  84. package/dist/cjs/stories/Modal.stories.js +363 -0
  85. package/dist/cjs/stories/Navigation.stories.js +605 -0
  86. package/dist/cjs/stories/Page.stories.js +327 -0
  87. package/dist/cjs/stories/Pagination.stories.js +438 -0
  88. package/dist/cjs/stories/Pane.stories.js +1550 -0
  89. package/dist/cjs/stories/Popover.stories.js +641 -0
  90. package/dist/cjs/stories/PopoverManager.stories.js +1233 -0
  91. package/dist/cjs/stories/ProgressBar.stories.js +513 -0
  92. package/dist/cjs/stories/RadioButton.stories.js +642 -0
  93. package/dist/cjs/stories/RadioButtonCard.stories.js +816 -0
  94. package/dist/cjs/stories/RangeSlider.stories.js +896 -0
  95. package/dist/cjs/stories/ResourceList.stories.js +1076 -0
  96. package/dist/cjs/stories/Select.stories.js +413 -0
  97. package/dist/cjs/stories/SkeletonText.stories.js +777 -0
  98. package/dist/cjs/stories/Spinner.stories.js +403 -0
  99. package/dist/cjs/stories/Stack.stories.js +1397 -0
  100. package/dist/cjs/stories/Table.stories.js +628 -0
  101. package/dist/cjs/stories/Tabs.stories.js +722 -0
  102. package/dist/cjs/stories/Tag.stories.js +628 -0
  103. package/dist/cjs/stories/Text.stories.js +262 -0
  104. package/dist/cjs/stories/TextField.stories.js +377 -0
  105. package/dist/cjs/stories/Thumbnail.stories.js +863 -0
  106. package/dist/cjs/stories/TimePicker.stories.js +967 -0
  107. package/dist/cjs/stories/Tip.stories.js +753 -0
  108. package/dist/cjs/stories/Tooltip.stories.js +357 -0
  109. package/dist/cjs/stories/TopBar.stories.js +157 -0
  110. package/dist/cjs/stories/VerticalStack.stories.js +1287 -0
  111. package/dist/cjs/tailwind.config.js +17 -0
  112. package/dist/cjs/utilities/transformers.js +66 -0
  113. package/dist/cjs/vite.config.js +35 -0
  114. package/dist/esm/components/ActionList.js +41 -12
  115. package/dist/esm/components/AnnouncementBar.js +3 -1
  116. package/dist/esm/components/AppProvider.js +10 -1
  117. package/dist/esm/components/Autocomplete.js +44 -16
  118. package/dist/esm/components/Badge.js +2 -2
  119. package/dist/esm/components/Banner.js +20 -21
  120. package/dist/esm/components/Box.js +5 -4
  121. package/dist/esm/components/Button.js +68 -13
  122. package/dist/esm/components/Card.js +6 -4
  123. package/dist/esm/components/Checkbox.js +6 -1
  124. package/dist/esm/components/ChoiceList.js +7 -4
  125. package/dist/esm/components/ColorField.js +3 -3
  126. package/dist/esm/components/DatePicker.js +6 -1
  127. package/dist/esm/components/DropZone.js +14 -4
  128. package/dist/esm/components/EmptyState.js +6 -3
  129. package/dist/esm/components/Filters.js +14 -6
  130. package/dist/esm/components/FooterHelp.js +1 -1
  131. package/dist/esm/components/Form.js +18 -3
  132. package/dist/esm/components/Frame.js +27 -15
  133. package/dist/esm/components/FrameSaveBar.js +10 -6
  134. package/dist/esm/components/HorizontalStack.js +9 -2
  135. package/dist/esm/components/Icon.js +1 -0
  136. package/dist/esm/components/InlineError.js +1 -1
  137. package/dist/esm/components/Layout.js +4 -4
  138. package/dist/esm/components/LayoutSection.js +2 -2
  139. package/dist/esm/components/Link.js +6 -2
  140. package/dist/esm/components/List.js +4 -3
  141. package/dist/esm/components/Listbox.js +4 -4
  142. package/dist/esm/components/Modal.js +8 -4
  143. package/dist/esm/components/Navigation.js +16 -11
  144. package/dist/esm/components/Page.js +9 -4
  145. package/dist/esm/components/Pagination.js +3 -1
  146. package/dist/esm/components/Pane.js +165 -43
  147. package/dist/esm/components/Popover.js +18 -6
  148. package/dist/esm/components/RangeSlider.js +3 -1
  149. package/dist/esm/components/ResourceList.js +2 -1
  150. package/dist/esm/components/Select.js +2 -0
  151. package/dist/esm/components/Stack.js +213 -0
  152. package/dist/esm/components/Table.js +17 -4
  153. package/dist/esm/components/Tabs.js +41 -11
  154. package/dist/esm/components/Text.js +8 -6
  155. package/dist/esm/components/TextField.js +6 -1
  156. package/dist/esm/components/Thumbnail.js +1 -1
  157. package/dist/esm/components/TimePicker.js +1 -1
  158. package/dist/esm/components/Tip.js +3 -2
  159. package/dist/esm/components/Tooltip.js +4 -1
  160. package/dist/esm/components/TopBar.js +7 -4
  161. package/dist/esm/components/VerticalStack.js +8 -2
  162. package/dist/esm/dev/verify-publish.js +37 -4
  163. package/dist/esm/index.js +1 -0
  164. package/dist/esm/postcss.config.js +6 -0
  165. package/dist/esm/stories/ActionList.stories.js +327 -0
  166. package/dist/esm/stories/AnnouncementBar.stories.js +212 -0
  167. package/dist/esm/stories/Autocomplete.stories.js +836 -0
  168. package/dist/esm/stories/Badge.stories.js +138 -0
  169. package/dist/esm/stories/Banner.stories.js +159 -0
  170. package/dist/esm/stories/Box.stories.js +560 -0
  171. package/dist/esm/stories/Button.stories.js +277 -0
  172. package/dist/esm/stories/ButtonGroup.stories.js +357 -0
  173. package/dist/esm/stories/Card.stories.js +240 -0
  174. package/dist/esm/stories/Checkbox.stories.js +219 -0
  175. package/dist/esm/stories/ChoiceList.stories.js +835 -0
  176. package/dist/esm/stories/Collapsible.stories.js +879 -0
  177. package/dist/esm/stories/ColorField.stories.js +846 -0
  178. package/dist/esm/stories/ContextualSaveBar.stories.js +939 -0
  179. package/dist/esm/stories/DatePicker.stories.js +537 -0
  180. package/dist/esm/stories/Divider.stories.js +722 -0
  181. package/dist/esm/stories/DropZone.stories.js +1166 -0
  182. package/dist/esm/stories/EmptyState.stories.js +246 -0
  183. package/dist/esm/stories/Filters.stories.js +1317 -0
  184. package/dist/esm/stories/FooterHelp.stories.js +818 -0
  185. package/dist/esm/stories/Form.stories.js +908 -0
  186. package/dist/esm/stories/Grid.stories.js +1152 -0
  187. package/dist/esm/stories/HorizontalStack.stories.js +1011 -0
  188. package/dist/esm/stories/Icon.stories.js +558 -0
  189. package/dist/esm/stories/Image.stories.js +836 -0
  190. package/dist/esm/stories/InlineError.stories.js +667 -0
  191. package/dist/esm/stories/Label.stories.js +612 -0
  192. package/dist/esm/stories/Layout.stories.js +649 -0
  193. package/dist/esm/stories/LayoutSection.stories.js +1234 -0
  194. package/dist/esm/stories/Link.stories.js +381 -0
  195. package/dist/esm/stories/List.stories.js +992 -0
  196. package/dist/esm/stories/Listbox.stories.js +780 -0
  197. package/dist/esm/stories/Loading.stories.js +859 -0
  198. package/dist/esm/stories/Modal.stories.js +322 -0
  199. package/dist/esm/stories/Navigation.stories.js +567 -0
  200. package/dist/esm/stories/Page.stories.js +280 -0
  201. package/dist/esm/stories/Pagination.stories.js +394 -0
  202. package/dist/esm/stories/Pane.stories.js +1512 -0
  203. package/dist/esm/stories/Popover.stories.js +609 -0
  204. package/dist/esm/stories/PopoverManager.stories.js +1201 -0
  205. package/dist/esm/stories/ProgressBar.stories.js +472 -0
  206. package/dist/esm/stories/RadioButton.stories.js +598 -0
  207. package/dist/esm/stories/RadioButtonCard.stories.js +772 -0
  208. package/dist/esm/stories/RangeSlider.stories.js +849 -0
  209. package/dist/esm/stories/ResourceList.stories.js +1038 -0
  210. package/dist/esm/stories/Select.stories.js +363 -0
  211. package/dist/esm/stories/SkeletonText.stories.js +718 -0
  212. package/dist/esm/stories/Spinner.stories.js +362 -0
  213. package/dist/esm/stories/Stack.stories.js +1338 -0
  214. package/dist/esm/stories/Table.stories.js +584 -0
  215. package/dist/esm/stories/Tabs.stories.js +684 -0
  216. package/dist/esm/stories/Tag.stories.js +581 -0
  217. package/dist/esm/stories/Text.stories.js +217 -0
  218. package/dist/esm/stories/TextField.stories.js +332 -0
  219. package/dist/esm/stories/Thumbnail.stories.js +810 -0
  220. package/dist/esm/stories/TimePicker.stories.js +911 -0
  221. package/dist/esm/stories/Tip.stories.js +706 -0
  222. package/dist/esm/stories/Tooltip.stories.js +313 -0
  223. package/dist/esm/stories/TopBar.stories.js +116 -0
  224. package/dist/esm/stories/VerticalStack.stories.js +1240 -0
  225. package/dist/esm/tailwind.config.js +7 -0
  226. package/dist/esm/utilities/transformers.js +47 -0
  227. package/dist/esm/vite.config.js +20 -0
  228. package/dist/types/components/ActionList.d.ts +122 -0
  229. package/dist/types/components/ActionList.d.ts.map +1 -0
  230. package/dist/types/components/AnnouncementBar.d.ts +21 -0
  231. package/dist/types/components/AnnouncementBar.d.ts.map +1 -0
  232. package/dist/types/components/AppProvider.d.ts +61 -0
  233. package/dist/types/components/AppProvider.d.ts.map +1 -0
  234. package/dist/types/components/Autocomplete.d.ts +135 -0
  235. package/dist/types/components/Autocomplete.d.ts.map +1 -0
  236. package/dist/types/components/Badge.d.ts +21 -0
  237. package/dist/types/components/Badge.d.ts.map +1 -0
  238. package/dist/types/components/Banner.d.ts +78 -0
  239. package/dist/types/components/Banner.d.ts.map +1 -0
  240. package/dist/types/components/Box.d.ts +70 -0
  241. package/dist/types/components/Box.d.ts.map +1 -0
  242. package/dist/types/components/Button.d.ts +133 -0
  243. package/dist/types/components/Button.d.ts.map +1 -0
  244. package/dist/types/components/ButtonGroup.d.ts +26 -0
  245. package/dist/types/components/ButtonGroup.d.ts.map +1 -0
  246. package/dist/types/components/Card.d.ts +141 -0
  247. package/dist/types/components/Card.d.ts.map +1 -0
  248. package/dist/types/components/Checkbox.d.ts +56 -0
  249. package/dist/types/components/Checkbox.d.ts.map +1 -0
  250. package/dist/types/components/ChoiceList.d.ts +69 -0
  251. package/dist/types/components/ChoiceList.d.ts.map +1 -0
  252. package/dist/types/components/Collapsible.d.ts +17 -0
  253. package/dist/types/components/Collapsible.d.ts.map +1 -0
  254. package/dist/types/components/ColorField.d.ts +36 -0
  255. package/dist/types/components/ColorField.d.ts.map +1 -0
  256. package/dist/types/components/ContextualSaveBar.d.ts +22 -0
  257. package/dist/types/components/ContextualSaveBar.d.ts.map +1 -0
  258. package/dist/types/components/DatePicker.d.ts +66 -0
  259. package/dist/types/components/DatePicker.d.ts.map +1 -0
  260. package/dist/types/components/Divider.d.ts +21 -0
  261. package/dist/types/components/Divider.d.ts.map +1 -0
  262. package/dist/types/components/DropZone.d.ts +108 -0
  263. package/dist/types/components/DropZone.d.ts.map +1 -0
  264. package/dist/types/components/EmptyState.d.ts +52 -0
  265. package/dist/types/components/EmptyState.d.ts.map +1 -0
  266. package/dist/types/components/Filters.d.ts +168 -0
  267. package/dist/types/components/Filters.d.ts.map +1 -0
  268. package/dist/types/components/FooterHelp.d.ts +21 -0
  269. package/dist/types/components/FooterHelp.d.ts.map +1 -0
  270. package/dist/types/components/Form.d.ts +39 -0
  271. package/dist/types/components/Form.d.ts.map +1 -0
  272. package/dist/types/components/Frame.d.ts +51 -0
  273. package/dist/types/components/Frame.d.ts.map +1 -0
  274. package/dist/types/components/FrameSaveBar.d.ts +8 -0
  275. package/dist/types/components/FrameSaveBar.d.ts.map +1 -0
  276. package/dist/types/components/Grid.d.ts +39 -0
  277. package/dist/types/components/Grid.d.ts.map +1 -0
  278. package/dist/types/components/HorizontalStack.d.ts +36 -0
  279. package/dist/types/components/HorizontalStack.d.ts.map +1 -0
  280. package/dist/types/components/Icon.d.ts +43 -0
  281. package/dist/types/components/Icon.d.ts.map +1 -0
  282. package/dist/types/components/Image.d.ts +45 -0
  283. package/dist/types/components/Image.d.ts.map +1 -0
  284. package/dist/types/components/InlineError.d.ts +22 -0
  285. package/dist/types/components/InlineError.d.ts.map +1 -0
  286. package/dist/types/components/Label.d.ts +28 -0
  287. package/dist/types/components/Label.d.ts.map +1 -0
  288. package/dist/types/components/Layout.d.ts +44 -0
  289. package/dist/types/components/Layout.d.ts.map +1 -0
  290. package/dist/types/components/LayoutSection.d.ts +24 -0
  291. package/dist/types/components/LayoutSection.d.ts.map +1 -0
  292. package/dist/types/components/Link.d.ts +38 -0
  293. package/dist/types/components/Link.d.ts.map +1 -0
  294. package/dist/types/components/List.d.ts +33 -0
  295. package/dist/types/components/List.d.ts.map +1 -0
  296. package/dist/types/components/Listbox.d.ts +34 -0
  297. package/dist/types/components/Listbox.d.ts.map +1 -0
  298. package/dist/types/components/Loading.d.ts +13 -0
  299. package/dist/types/components/Loading.d.ts.map +1 -0
  300. package/dist/types/components/Modal.d.ts +75 -0
  301. package/dist/types/components/Modal.d.ts.map +1 -0
  302. package/dist/types/components/Navigation.d.ts +105 -0
  303. package/dist/types/components/Navigation.d.ts.map +1 -0
  304. package/dist/types/components/Page.d.ts +59 -0
  305. package/dist/types/components/Page.d.ts.map +1 -0
  306. package/dist/types/components/Pagination.d.ts +39 -0
  307. package/dist/types/components/Pagination.d.ts.map +1 -0
  308. package/dist/types/components/Pane.d.ts +11 -0
  309. package/dist/types/components/Pane.d.ts.map +1 -0
  310. package/dist/types/components/Popover.d.ts +56 -0
  311. package/dist/types/components/Popover.d.ts.map +1 -0
  312. package/dist/types/components/PopoverManager.d.ts +3 -0
  313. package/dist/types/components/PopoverManager.d.ts.map +1 -0
  314. package/dist/types/components/ProgressBar.d.ts +24 -0
  315. package/dist/types/components/ProgressBar.d.ts.map +1 -0
  316. package/dist/types/components/RadioButton.d.ts +39 -0
  317. package/dist/types/components/RadioButton.d.ts.map +1 -0
  318. package/dist/types/components/RadioButtonCard.d.ts +41 -0
  319. package/dist/types/components/RadioButtonCard.d.ts.map +1 -0
  320. package/dist/types/components/RangeSlider.d.ts +44 -0
  321. package/dist/types/components/RangeSlider.d.ts.map +1 -0
  322. package/dist/types/components/ResourceList.d.ts +54 -0
  323. package/dist/types/components/ResourceList.d.ts.map +1 -0
  324. package/dist/types/components/Select.d.ts +48 -0
  325. package/dist/types/components/Select.d.ts.map +1 -0
  326. package/dist/types/components/SkeletonText.d.ts +28 -0
  327. package/dist/types/components/SkeletonText.d.ts.map +1 -0
  328. package/dist/types/components/Spinner.d.ts +18 -0
  329. package/dist/types/components/Spinner.d.ts.map +1 -0
  330. package/dist/types/components/Stack.d.ts +49 -0
  331. package/dist/types/components/Stack.d.ts.map +1 -0
  332. package/dist/types/components/Table.d.ts +197 -0
  333. package/dist/types/components/Table.d.ts.map +1 -0
  334. package/dist/types/components/Tabs.d.ts +43 -0
  335. package/dist/types/components/Tabs.d.ts.map +1 -0
  336. package/dist/types/components/Tag.d.ts +26 -0
  337. package/dist/types/components/Tag.d.ts.map +1 -0
  338. package/dist/types/components/Text.d.ts +32 -0
  339. package/dist/types/components/Text.d.ts.map +1 -0
  340. package/dist/types/components/TextField.d.ts +109 -0
  341. package/dist/types/components/TextField.d.ts.map +1 -0
  342. package/dist/types/components/Thumbnail.d.ts +18 -0
  343. package/dist/types/components/Thumbnail.d.ts.map +1 -0
  344. package/dist/types/components/TimePicker.d.ts +3 -0
  345. package/dist/types/components/TimePicker.d.ts.map +1 -0
  346. package/dist/types/components/Tip.d.ts +23 -0
  347. package/dist/types/components/Tip.d.ts.map +1 -0
  348. package/dist/types/components/Tooltip.d.ts +84 -0
  349. package/dist/types/components/Tooltip.d.ts.map +1 -0
  350. package/dist/types/components/TopBar.d.ts +43 -0
  351. package/dist/types/components/TopBar.d.ts.map +1 -0
  352. package/dist/types/components/VerticalStack.d.ts +27 -0
  353. package/dist/types/components/VerticalStack.d.ts.map +1 -0
  354. package/dist/types/index.d.ts +63 -0
  355. package/dist/types/index.d.ts.map +1 -0
  356. package/dist/types/styles/Table.d.ts +1570 -0
  357. package/dist/types/styles/Table.d.ts.map +1 -0
  358. package/dist/types/utilities/dates.d.ts +46 -0
  359. package/dist/types/utilities/dates.d.ts.map +1 -0
  360. package/dist/types/utilities/transformers.d.ts +4 -0
  361. package/dist/types/utilities/transformers.d.ts.map +1 -0
  362. package/dist/types/utilities/useIndexResourceState.d.ts +21 -0
  363. package/dist/types/utilities/useIndexResourceState.d.ts.map +1 -0
  364. package/dist/types/utilities/useMounted.d.ts +2 -0
  365. package/dist/types/utilities/useMounted.d.ts.map +1 -0
  366. package/dist/types/utilities/useTableScrollState.d.ts +29 -0
  367. package/dist/types/utilities/useTableScrollState.d.ts.map +1 -0
  368. package/index.css +17 -0
  369. package/package.json +38 -7
@@ -0,0 +1,1233 @@
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 ApplicationIntegration () {
13
+ return ApplicationIntegration;
14
+ },
15
+ get BasicUsage () {
16
+ return BasicUsage;
17
+ },
18
+ get ConflictResolution () {
19
+ return ConflictResolution;
20
+ },
21
+ get EventHandling () {
22
+ return EventHandling;
23
+ },
24
+ get default () {
25
+ return _default;
26
+ }
27
+ });
28
+ var _jsxruntime = require("react/jsx-runtime");
29
+ var _react = require("react");
30
+ var _transformers = require("../utilities/transformers.js");
31
+ var _Stack = /*#__PURE__*/ _interop_require_default(require("../components/Stack.js"));
32
+ var _PopoverManager = /*#__PURE__*/ _interop_require_default(require("../components/PopoverManager.js"));
33
+ var _Popover = /*#__PURE__*/ _interop_require_default(require("../components/Popover.js"));
34
+ var _Text = /*#__PURE__*/ _interop_require_default(require("../components/Text.js"));
35
+ var _Card = /*#__PURE__*/ _interop_require_default(require("../components/Card.js"));
36
+ var _Button = /*#__PURE__*/ _interop_require_default(require("../components/Button.js"));
37
+ var _Page = /*#__PURE__*/ _interop_require_default(require("../components/Page.js"));
38
+ var _Box = /*#__PURE__*/ _interop_require_default(require("../components/Box.js"));
39
+ function _array_like_to_array(arr, len) {
40
+ if (len == null || len > arr.length) len = arr.length;
41
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
42
+ return arr2;
43
+ }
44
+ function _array_with_holes(arr) {
45
+ if (Array.isArray(arr)) return arr;
46
+ }
47
+ function _array_without_holes(arr) {
48
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
49
+ }
50
+ function _define_property(obj, key, value) {
51
+ if (key in obj) {
52
+ Object.defineProperty(obj, key, {
53
+ value: value,
54
+ enumerable: true,
55
+ configurable: true,
56
+ writable: true
57
+ });
58
+ } else {
59
+ obj[key] = value;
60
+ }
61
+ return obj;
62
+ }
63
+ function _interop_require_default(obj) {
64
+ return obj && obj.__esModule ? obj : {
65
+ default: obj
66
+ };
67
+ }
68
+ function _iterable_to_array(iter) {
69
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
70
+ }
71
+ function _iterable_to_array_limit(arr, i) {
72
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
73
+ if (_i == null) return;
74
+ var _arr = [];
75
+ var _n = true;
76
+ var _d = false;
77
+ var _s, _e;
78
+ try {
79
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
80
+ _arr.push(_s.value);
81
+ if (i && _arr.length === i) break;
82
+ }
83
+ } catch (err) {
84
+ _d = true;
85
+ _e = err;
86
+ } finally{
87
+ try {
88
+ if (!_n && _i["return"] != null) _i["return"]();
89
+ } finally{
90
+ if (_d) throw _e;
91
+ }
92
+ }
93
+ return _arr;
94
+ }
95
+ function _non_iterable_rest() {
96
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
97
+ }
98
+ function _non_iterable_spread() {
99
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
100
+ }
101
+ function _object_spread(target) {
102
+ for(var i = 1; i < arguments.length; i++){
103
+ var source = arguments[i] != null ? arguments[i] : {};
104
+ var ownKeys = Object.keys(source);
105
+ if (typeof Object.getOwnPropertySymbols === "function") {
106
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
107
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
108
+ }));
109
+ }
110
+ ownKeys.forEach(function(key) {
111
+ _define_property(target, key, source[key]);
112
+ });
113
+ }
114
+ return target;
115
+ }
116
+ function ownKeys(object, enumerableOnly) {
117
+ var keys = Object.keys(object);
118
+ if (Object.getOwnPropertySymbols) {
119
+ var symbols = Object.getOwnPropertySymbols(object);
120
+ if (enumerableOnly) {
121
+ symbols = symbols.filter(function(sym) {
122
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
123
+ });
124
+ }
125
+ keys.push.apply(keys, symbols);
126
+ }
127
+ return keys;
128
+ }
129
+ function _object_spread_props(target, source) {
130
+ source = source != null ? source : {};
131
+ if (Object.getOwnPropertyDescriptors) {
132
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
133
+ } else {
134
+ ownKeys(Object(source)).forEach(function(key) {
135
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
136
+ });
137
+ }
138
+ return target;
139
+ }
140
+ function _sliced_to_array(arr, i) {
141
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
142
+ }
143
+ function _to_consumable_array(arr) {
144
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
145
+ }
146
+ function _unsupported_iterable_to_array(o, minLen) {
147
+ if (!o) return;
148
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
149
+ var n = Object.prototype.toString.call(o).slice(8, -1);
150
+ if (n === "Object" && o.constructor) n = o.constructor.name;
151
+ if (n === "Map" || n === "Set") return Array.from(n);
152
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
153
+ }
154
+ var _default = {
155
+ title: "Litho/PopoverManager",
156
+ component: _PopoverManager.default,
157
+ parameters: {
158
+ layout: "padded",
159
+ docs: {
160
+ description: {
161
+ component: "A PopoverManager utility that manages the state of multiple popovers in an application. It provides methods to open, close, and track active popovers, ensuring proper layering and interaction management."
162
+ },
163
+ source: {
164
+ transform: _transformers.transformStorySource
165
+ }
166
+ }
167
+ },
168
+ tags: [
169
+ "autodocs"
170
+ ]
171
+ };
172
+ var BasicUsage = {
173
+ render: function() {
174
+ var _useState = _sliced_to_array((0, _react.useState)([]), 2), activePopovers = _useState[0], setActivePopovers = _useState[1];
175
+ var _useState1 = _sliced_to_array((0, _react.useState)(false), 2), popover1Active = _useState1[0], setPopover1Active = _useState1[1];
176
+ var _useState2 = _sliced_to_array((0, _react.useState)(false), 2), popover2Active = _useState2[0], setPopover2Active = _useState2[1];
177
+ (0, _react.useEffect)(function() {
178
+ var handleManagerChange = function() {
179
+ setActivePopovers(_to_consumable_array(_PopoverManager.default.activePopovers));
180
+ };
181
+ _PopoverManager.default.on("change", handleManagerChange);
182
+ return function() {
183
+ _PopoverManager.default.removeListener("change", handleManagerChange);
184
+ };
185
+ }, []);
186
+ var openPopover1 = function() {
187
+ _PopoverManager.default.open("popover1");
188
+ setPopover1Active(true);
189
+ };
190
+ var closePopover1 = function() {
191
+ _PopoverManager.default.close("popover1");
192
+ setPopover1Active(false);
193
+ };
194
+ var openPopover2 = function() {
195
+ _PopoverManager.default.open("popover2");
196
+ setPopover2Active(true);
197
+ };
198
+ var closePopover2 = function() {
199
+ _PopoverManager.default.close("popover2");
200
+ setPopover2Active(false);
201
+ };
202
+ var closeAll = function() {
203
+ _PopoverManager.default.closeAll();
204
+ setPopover1Active(false);
205
+ setPopover2Active(false);
206
+ };
207
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Card.default, {
208
+ title: "PopoverManager Basic Usage",
209
+ padded: true,
210
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
211
+ gap: "lg",
212
+ children: [
213
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
214
+ gap: "md",
215
+ children: [
216
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
217
+ children: "The PopoverManager helps coordinate multiple popovers to prevent conflicts and manage layering. Click the buttons below to see it in action."
218
+ }),
219
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
220
+ horizontal: true,
221
+ gap: "md",
222
+ children: [
223
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
224
+ active: popover1Active,
225
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
226
+ onClick: openPopover1,
227
+ children: "Open Popover 1"
228
+ }),
229
+ onClose: closePopover1,
230
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
231
+ padding: "4",
232
+ minWidth: "200px",
233
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
234
+ gap: "sm",
235
+ children: [
236
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
237
+ variant: "headingSm",
238
+ children: "Popover 1"
239
+ }),
240
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
241
+ children: "This is the first popover managed by PopoverManager."
242
+ }),
243
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
244
+ size: "slim",
245
+ onClick: closePopover1,
246
+ children: "Close"
247
+ })
248
+ ]
249
+ })
250
+ })
251
+ }),
252
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
253
+ active: popover2Active,
254
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
255
+ onClick: openPopover2,
256
+ children: "Open Popover 2"
257
+ }),
258
+ onClose: closePopover2,
259
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
260
+ padding: "4",
261
+ minWidth: "200px",
262
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
263
+ gap: "sm",
264
+ children: [
265
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
266
+ variant: "headingSm",
267
+ children: "Popover 2"
268
+ }),
269
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
270
+ children: "This is the second popover managed by PopoverManager."
271
+ }),
272
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
273
+ size: "slim",
274
+ onClick: closePopover2,
275
+ children: "Close"
276
+ })
277
+ ]
278
+ })
279
+ })
280
+ }),
281
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
282
+ onClick: closeAll,
283
+ destructive: true,
284
+ children: "Close All Popovers"
285
+ })
286
+ ]
287
+ })
288
+ ]
289
+ }),
290
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
291
+ padding: "4",
292
+ background: "subdued",
293
+ borderRadius: "default",
294
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
295
+ gap: "sm",
296
+ children: [
297
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
298
+ variant: "headingSm",
299
+ children: "PopoverManager State"
300
+ }),
301
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
302
+ gap: "xs",
303
+ children: [
304
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
305
+ variant: "bodySm",
306
+ children: [
307
+ "Active Popovers: ",
308
+ activePopovers.length
309
+ ]
310
+ }),
311
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
312
+ variant: "bodySm",
313
+ children: [
314
+ "Popover IDs: ",
315
+ activePopovers.length > 0 ? activePopovers.join(", ") : "None"
316
+ ]
317
+ }),
318
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
319
+ variant: "bodySm",
320
+ children: [
321
+ "Latest Active: ",
322
+ _PopoverManager.default.getActivePopoverId() || "None"
323
+ ]
324
+ })
325
+ ]
326
+ })
327
+ ]
328
+ })
329
+ })
330
+ ]
331
+ })
332
+ });
333
+ },
334
+ parameters: {
335
+ docs: {
336
+ description: {
337
+ story: "Basic usage of PopoverManager to coordinate multiple popovers."
338
+ }
339
+ }
340
+ }
341
+ };
342
+ var ConflictResolution = {
343
+ render: function() {
344
+ var _useState = _sliced_to_array((0, _react.useState)([]), 2), activePopovers = _useState[0], setActivePopovers = _useState[1];
345
+ var _useState1 = _sliced_to_array((0, _react.useState)(false), 2), contextMenuActive = _useState1[0], setContextMenuActive = _useState1[1];
346
+ var _useState2 = _sliced_to_array((0, _react.useState)(false), 2), settingsActive = _useState2[0], setSettingsActive = _useState2[1];
347
+ var _useState3 = _sliced_to_array((0, _react.useState)(false), 2), helpActive = _useState3[0], setHelpActive = _useState3[1];
348
+ (0, _react.useEffect)(function() {
349
+ var handleManagerChange = function() {
350
+ setActivePopovers(_to_consumable_array(_PopoverManager.default.activePopovers));
351
+ };
352
+ _PopoverManager.default.on("change", handleManagerChange);
353
+ return function() {
354
+ _PopoverManager.default.removeListener("change", handleManagerChange);
355
+ };
356
+ }, []);
357
+ var openContextMenu = function() {
358
+ // Close other conflicting popovers first
359
+ _PopoverManager.default.close("settings");
360
+ _PopoverManager.default.close("help");
361
+ setSettingsActive(false);
362
+ setHelpActive(false);
363
+ _PopoverManager.default.open("contextMenu");
364
+ setContextMenuActive(true);
365
+ };
366
+ var closeContextMenu = function() {
367
+ _PopoverManager.default.close("contextMenu");
368
+ setContextMenuActive(false);
369
+ };
370
+ var openSettings = function() {
371
+ // Close conflicting popovers
372
+ _PopoverManager.default.close("contextMenu");
373
+ _PopoverManager.default.close("help");
374
+ setContextMenuActive(false);
375
+ setHelpActive(false);
376
+ _PopoverManager.default.open("settings");
377
+ setSettingsActive(true);
378
+ };
379
+ var closeSettings = function() {
380
+ _PopoverManager.default.close("settings");
381
+ setSettingsActive(false);
382
+ };
383
+ var openHelp = function() {
384
+ // Close conflicting popovers
385
+ _PopoverManager.default.close("contextMenu");
386
+ _PopoverManager.default.close("settings");
387
+ setContextMenuActive(false);
388
+ setSettingsActive(false);
389
+ _PopoverManager.default.open("help");
390
+ setHelpActive(true);
391
+ };
392
+ var closeHelp = function() {
393
+ _PopoverManager.default.close("help");
394
+ setHelpActive(false);
395
+ };
396
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Card.default, {
397
+ title: "Popover Conflict Resolution",
398
+ padded: true,
399
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
400
+ gap: "lg",
401
+ children: [
402
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
403
+ gap: "md",
404
+ children: [
405
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
406
+ children: "When multiple popovers might conflict (like context menus and settings panels), PopoverManager helps resolve conflicts by allowing controlled opening and closing."
407
+ }),
408
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
409
+ horizontal: true,
410
+ gap: "md",
411
+ children: [
412
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
413
+ active: contextMenuActive,
414
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
415
+ onClick: openContextMenu,
416
+ children: "Context Menu"
417
+ }),
418
+ onClose: closeContextMenu,
419
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
420
+ padding: "4",
421
+ minWidth: "150px",
422
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
423
+ gap: "sm",
424
+ children: [
425
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
426
+ variant: "headingSm",
427
+ children: "Context Menu"
428
+ }),
429
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
430
+ gap: "xs",
431
+ children: [
432
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
433
+ size: "slim",
434
+ plain: true,
435
+ textAlign: "left",
436
+ children: "Cut"
437
+ }),
438
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
439
+ size: "slim",
440
+ plain: true,
441
+ textAlign: "left",
442
+ children: "Copy"
443
+ }),
444
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
445
+ size: "slim",
446
+ plain: true,
447
+ textAlign: "left",
448
+ children: "Paste"
449
+ }),
450
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
451
+ paddingBlockStart: "2",
452
+ paddingBlockEnd: "2",
453
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("hr", {})
454
+ }),
455
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
456
+ size: "slim",
457
+ plain: true,
458
+ textAlign: "left",
459
+ children: "Delete"
460
+ })
461
+ ]
462
+ })
463
+ ]
464
+ })
465
+ })
466
+ }),
467
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
468
+ active: settingsActive,
469
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
470
+ onClick: openSettings,
471
+ children: "Settings Panel"
472
+ }),
473
+ onClose: closeSettings,
474
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
475
+ padding: "4",
476
+ minWidth: "200px",
477
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
478
+ gap: "md",
479
+ children: [
480
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
481
+ variant: "headingSm",
482
+ children: "Settings"
483
+ }),
484
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
485
+ gap: "md",
486
+ children: [
487
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
488
+ horizontal: true,
489
+ gap: "sm",
490
+ blockAlign: "center",
491
+ children: [
492
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
493
+ type: "checkbox",
494
+ defaultChecked: true
495
+ }),
496
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
497
+ variant: "bodySm",
498
+ children: "Enable notifications"
499
+ })
500
+ ]
501
+ }),
502
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
503
+ horizontal: true,
504
+ gap: "sm",
505
+ blockAlign: "center",
506
+ children: [
507
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
508
+ type: "checkbox"
509
+ }),
510
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
511
+ variant: "bodySm",
512
+ children: "Auto-save"
513
+ })
514
+ ]
515
+ }),
516
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
517
+ gap: "sm",
518
+ children: [
519
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
520
+ variant: "bodySm",
521
+ children: "Theme"
522
+ }),
523
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
524
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("select", {
525
+ style: {
526
+ width: "100%",
527
+ padding: "0.25rem"
528
+ },
529
+ children: [
530
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
531
+ children: "Light"
532
+ }),
533
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
534
+ children: "Dark"
535
+ }),
536
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
537
+ children: "Auto"
538
+ })
539
+ ]
540
+ })
541
+ })
542
+ ]
543
+ })
544
+ ]
545
+ })
546
+ ]
547
+ })
548
+ })
549
+ }),
550
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
551
+ active: helpActive,
552
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
553
+ onClick: openHelp,
554
+ children: "Help Menu"
555
+ }),
556
+ onClose: closeHelp,
557
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
558
+ padding: "4",
559
+ minWidth: "180px",
560
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
561
+ gap: "sm",
562
+ children: [
563
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
564
+ variant: "headingSm",
565
+ children: "Help & Support"
566
+ }),
567
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
568
+ gap: "xs",
569
+ children: [
570
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
571
+ size: "slim",
572
+ plain: true,
573
+ textAlign: "left",
574
+ children: "User Guide"
575
+ }),
576
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
577
+ size: "slim",
578
+ plain: true,
579
+ textAlign: "left",
580
+ children: "Keyboard Shortcuts"
581
+ }),
582
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
583
+ size: "slim",
584
+ plain: true,
585
+ textAlign: "left",
586
+ children: "Contact Support"
587
+ }),
588
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
589
+ paddingBlockStart: "2",
590
+ paddingBlockEnd: "2",
591
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("hr", {})
592
+ }),
593
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
594
+ size: "slim",
595
+ plain: true,
596
+ textAlign: "left",
597
+ children: "About"
598
+ })
599
+ ]
600
+ })
601
+ ]
602
+ })
603
+ })
604
+ })
605
+ ]
606
+ }),
607
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
608
+ variant: "bodySm",
609
+ color: "subdued",
610
+ children: "Notice how opening one popover automatically closes the others to prevent conflicts."
611
+ })
612
+ ]
613
+ }),
614
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
615
+ padding: "4",
616
+ background: "subdued",
617
+ borderRadius: "default",
618
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
619
+ gap: "sm",
620
+ children: [
621
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
622
+ variant: "headingSm",
623
+ children: "Conflict Resolution Status"
624
+ }),
625
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
626
+ gap: "xs",
627
+ children: [
628
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
629
+ variant: "bodyXs",
630
+ children: [
631
+ "Active Popover: ",
632
+ _PopoverManager.default.getActivePopoverId() || "None"
633
+ ]
634
+ }),
635
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
636
+ variant: "bodyXs",
637
+ children: [
638
+ "Total Open: ",
639
+ activePopovers.length
640
+ ]
641
+ }),
642
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
643
+ variant: "bodyXs",
644
+ children: [
645
+ "Context Menu: ",
646
+ contextMenuActive ? "✓ Open" : "✗ Closed"
647
+ ]
648
+ }),
649
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
650
+ variant: "bodyXs",
651
+ children: [
652
+ "Settings Panel: ",
653
+ settingsActive ? "✓ Open" : "✗ Closed"
654
+ ]
655
+ }),
656
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
657
+ variant: "bodyXs",
658
+ children: [
659
+ "Help Menu: ",
660
+ helpActive ? "✓ Open" : "✗ Closed"
661
+ ]
662
+ })
663
+ ]
664
+ })
665
+ ]
666
+ })
667
+ })
668
+ ]
669
+ })
670
+ });
671
+ },
672
+ parameters: {
673
+ docs: {
674
+ description: {
675
+ story: "Demonstrates how PopoverManager resolves conflicts between competing popovers."
676
+ }
677
+ }
678
+ }
679
+ };
680
+ var ApplicationIntegration = {
681
+ render: function() {
682
+ var _useState = _sliced_to_array((0, _react.useState)([]), 2), activePopovers = _useState[0], setActivePopovers = _useState[1];
683
+ var _useState1 = _sliced_to_array((0, _react.useState)(false), 2), userMenuActive = _useState1[0], setUserMenuActive = _useState1[1];
684
+ var _useState2 = _sliced_to_array((0, _react.useState)(false), 2), notificationsActive = _useState2[0], setNotificationsActive = _useState2[1];
685
+ var _useState3 = _sliced_to_array((0, _react.useState)(false), 2), searchActive = _useState3[0], setSearchActive = _useState3[1];
686
+ (0, _react.useEffect)(function() {
687
+ var handleManagerChange = function() {
688
+ setActivePopovers(_to_consumable_array(_PopoverManager.default.activePopovers));
689
+ };
690
+ _PopoverManager.default.on("change", handleManagerChange);
691
+ return function() {
692
+ _PopoverManager.default.removeListener("change", handleManagerChange);
693
+ };
694
+ }, []);
695
+ var toggleUserMenu = function() {
696
+ if (userMenuActive) {
697
+ _PopoverManager.default.close("userMenu");
698
+ setUserMenuActive(false);
699
+ } else {
700
+ _PopoverManager.default.open("userMenu");
701
+ setUserMenuActive(true);
702
+ }
703
+ };
704
+ var toggleNotifications = function() {
705
+ if (notificationsActive) {
706
+ _PopoverManager.default.close("notifications");
707
+ setNotificationsActive(false);
708
+ } else {
709
+ _PopoverManager.default.open("notifications");
710
+ setNotificationsActive(true);
711
+ }
712
+ };
713
+ var toggleSearch = function() {
714
+ if (searchActive) {
715
+ _PopoverManager.default.close("search");
716
+ setSearchActive(false);
717
+ } else {
718
+ _PopoverManager.default.open("search");
719
+ setSearchActive(true);
720
+ }
721
+ };
722
+ var closeAll = function() {
723
+ _PopoverManager.default.closeAll();
724
+ setUserMenuActive(false);
725
+ setNotificationsActive(false);
726
+ setSearchActive(false);
727
+ };
728
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Page.default, {
729
+ title: "Application Header",
730
+ children: [
731
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
732
+ padding: "4",
733
+ background: "subdued",
734
+ borderRadius: "lg",
735
+ marginBlockEnd: "8",
736
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
737
+ horizontal: true,
738
+ align: "space-between",
739
+ blockAlign: "center",
740
+ children: [
741
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
742
+ variant: "headingLg",
743
+ children: "My Application"
744
+ }),
745
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
746
+ horizontal: true,
747
+ gap: "md",
748
+ blockAlign: "center",
749
+ children: [
750
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
751
+ active: searchActive,
752
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
753
+ plain: true,
754
+ onClick: toggleSearch,
755
+ children: "\uD83D\uDD0D Search"
756
+ }),
757
+ onClose: function() {
758
+ _PopoverManager.default.close("search");
759
+ setSearchActive(false);
760
+ },
761
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
762
+ padding: "4",
763
+ minWidth: "300px",
764
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
765
+ gap: "md",
766
+ children: [
767
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
768
+ type: "text",
769
+ placeholder: "Search anything...",
770
+ style: {
771
+ width: "100%",
772
+ padding: "0.5rem",
773
+ border: "1px solid #ccc",
774
+ borderRadius: "4px"
775
+ }
776
+ }),
777
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
778
+ gap: "xs",
779
+ children: [
780
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
781
+ variant: "bodySm",
782
+ color: "subdued",
783
+ children: "Recent searches:"
784
+ }),
785
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
786
+ size: "slim",
787
+ plain: true,
788
+ textAlign: "left",
789
+ children: "User management"
790
+ }),
791
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
792
+ size: "slim",
793
+ plain: true,
794
+ textAlign: "left",
795
+ children: "Product catalog"
796
+ }),
797
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
798
+ size: "slim",
799
+ plain: true,
800
+ textAlign: "left",
801
+ children: "Analytics dashboard"
802
+ })
803
+ ]
804
+ })
805
+ ]
806
+ })
807
+ })
808
+ }),
809
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
810
+ active: notificationsActive,
811
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
812
+ plain: true,
813
+ onClick: toggleNotifications,
814
+ children: "\uD83D\uDD14 Notifications (3)"
815
+ }),
816
+ onClose: function() {
817
+ _PopoverManager.default.close("notifications");
818
+ setNotificationsActive(false);
819
+ },
820
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
821
+ padding: "4",
822
+ minWidth: "280px",
823
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
824
+ gap: "md",
825
+ children: [
826
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
827
+ variant: "headingSm",
828
+ children: "Notifications"
829
+ }),
830
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Stack.default, {
831
+ gap: "sm",
832
+ children: [
833
+ {
834
+ title: "New order received",
835
+ time: "2 minutes ago",
836
+ unread: true
837
+ },
838
+ {
839
+ title: "System maintenance scheduled",
840
+ time: "1 hour ago",
841
+ unread: true
842
+ },
843
+ {
844
+ title: "Monthly report ready",
845
+ time: "3 hours ago",
846
+ unread: false
847
+ }
848
+ ].map(function(notification, index) {
849
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
850
+ padding: "3",
851
+ background: notification.unread ? "surface-neutral-subdued" : "surface-neutral",
852
+ borderRadius: "default",
853
+ style: {
854
+ borderLeft: notification.unread ? "3px solid #007bff" : "3px solid transparent"
855
+ },
856
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
857
+ gap: "xs",
858
+ children: [
859
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
860
+ variant: "bodySm",
861
+ fontWeight: notification.unread ? "bold" : "normal",
862
+ children: notification.title
863
+ }),
864
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
865
+ variant: "bodyXs",
866
+ color: "subdued",
867
+ children: notification.time
868
+ })
869
+ ]
870
+ })
871
+ }, index);
872
+ })
873
+ }),
874
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Stack.default, {
875
+ inlineAlign: "center",
876
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
877
+ size: "slim",
878
+ children: "View all notifications"
879
+ })
880
+ })
881
+ ]
882
+ })
883
+ })
884
+ }),
885
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
886
+ active: userMenuActive,
887
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
888
+ plain: true,
889
+ onClick: toggleUserMenu,
890
+ children: "\uD83D\uDC64 John Doe"
891
+ }),
892
+ onClose: function() {
893
+ _PopoverManager.default.close("userMenu");
894
+ setUserMenuActive(false);
895
+ },
896
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
897
+ padding: "4",
898
+ minWidth: "200px",
899
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
900
+ gap: "md",
901
+ children: [
902
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
903
+ gap: "sm",
904
+ inlineAlign: "center",
905
+ children: [
906
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
907
+ style: {
908
+ width: "40px",
909
+ height: "40px",
910
+ borderRadius: "50%",
911
+ backgroundColor: "#007bff",
912
+ color: "white",
913
+ display: "flex",
914
+ alignItems: "center",
915
+ justifyContent: "center"
916
+ },
917
+ children: "JD"
918
+ }),
919
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
920
+ variant: "headingSm",
921
+ children: "John Doe"
922
+ }),
923
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
924
+ variant: "bodySm",
925
+ color: "subdued",
926
+ children: "john@example.com"
927
+ })
928
+ ]
929
+ }),
930
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
931
+ gap: "xs",
932
+ children: [
933
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
934
+ size: "slim",
935
+ plain: true,
936
+ textAlign: "left",
937
+ children: "Profile Settings"
938
+ }),
939
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
940
+ size: "slim",
941
+ plain: true,
942
+ textAlign: "left",
943
+ children: "Account"
944
+ }),
945
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
946
+ size: "slim",
947
+ plain: true,
948
+ textAlign: "left",
949
+ children: "Preferences"
950
+ }),
951
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
952
+ paddingBlockStart: "2",
953
+ paddingBlockEnd: "2",
954
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("hr", {})
955
+ }),
956
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
957
+ size: "slim",
958
+ plain: true,
959
+ textAlign: "left",
960
+ children: "Help & Support"
961
+ }),
962
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
963
+ size: "slim",
964
+ plain: true,
965
+ textAlign: "left",
966
+ destructive: true,
967
+ children: "Sign Out"
968
+ })
969
+ ]
970
+ })
971
+ ]
972
+ })
973
+ })
974
+ })
975
+ ]
976
+ })
977
+ ]
978
+ })
979
+ }),
980
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Card.default, {
981
+ title: "PopoverManager in Real Applications",
982
+ padded: true,
983
+ children: [
984
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
985
+ gap: "md",
986
+ children: [
987
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
988
+ children: "The header above demonstrates how PopoverManager works in a real application scenario, coordinating multiple interface elements like search, notifications, and user menus."
989
+ }),
990
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Stack.default, {
991
+ horizontal: true,
992
+ gap: "md",
993
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
994
+ onClick: closeAll,
995
+ destructive: true,
996
+ size: "slim",
997
+ children: "Close All Popovers"
998
+ })
999
+ })
1000
+ ]
1001
+ }),
1002
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
1003
+ marginBlockStart: "8",
1004
+ padding: "4",
1005
+ background: "subdued",
1006
+ borderRadius: "default",
1007
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
1008
+ gap: "sm",
1009
+ children: [
1010
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
1011
+ variant: "headingSm",
1012
+ children: "Application State"
1013
+ }),
1014
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
1015
+ gap: "xs",
1016
+ children: [
1017
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
1018
+ variant: "bodyXs",
1019
+ children: [
1020
+ "Active Popovers: ",
1021
+ activePopovers.join(", ") || "None"
1022
+ ]
1023
+ }),
1024
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
1025
+ variant: "bodyXs",
1026
+ children: [
1027
+ "Search: ",
1028
+ searchActive ? "✓ Open" : "✗ Closed"
1029
+ ]
1030
+ }),
1031
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
1032
+ variant: "bodyXs",
1033
+ children: [
1034
+ "Notifications: ",
1035
+ notificationsActive ? "✓ Open" : "✗ Closed"
1036
+ ]
1037
+ }),
1038
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
1039
+ variant: "bodyXs",
1040
+ children: [
1041
+ "User Menu: ",
1042
+ userMenuActive ? "✓ Open" : "✗ Closed"
1043
+ ]
1044
+ })
1045
+ ]
1046
+ })
1047
+ ]
1048
+ })
1049
+ })
1050
+ ]
1051
+ })
1052
+ ]
1053
+ });
1054
+ },
1055
+ parameters: {
1056
+ docs: {
1057
+ description: {
1058
+ story: "Real-world application integration showing PopoverManager coordinating header elements."
1059
+ }
1060
+ }
1061
+ }
1062
+ };
1063
+ var EventHandling = {
1064
+ render: function() {
1065
+ var _useState = _sliced_to_array((0, _react.useState)([]), 2), eventLog = _useState[0], setEventLog = _useState[1];
1066
+ var _useState1 = _sliced_to_array((0, _react.useState)({
1067
+ popover1: false,
1068
+ popover2: false,
1069
+ popover3: false
1070
+ }), 2), popoverStates = _useState1[0], setPopoverStates = _useState1[1];
1071
+ (0, _react.useEffect)(function() {
1072
+ var handleManagerChange = function() {
1073
+ var timestamp = new Date().toLocaleTimeString();
1074
+ var activeIds = _to_consumable_array(_PopoverManager.default.activePopovers);
1075
+ setEventLog(function(prev) {
1076
+ return [
1077
+ "".concat(timestamp, ": Manager state changed - Active: [").concat(activeIds.join(", "), "]")
1078
+ ].concat(_to_consumable_array(prev.slice(0, 9)));
1079
+ });
1080
+ };
1081
+ _PopoverManager.default.on("change", handleManagerChange);
1082
+ return function() {
1083
+ _PopoverManager.default.removeListener("change", handleManagerChange);
1084
+ };
1085
+ }, []);
1086
+ var togglePopover = function(id) {
1087
+ if (popoverStates[id]) {
1088
+ _PopoverManager.default.close(id);
1089
+ setPopoverStates(function(prev) {
1090
+ return _object_spread_props(_object_spread({}, prev), _define_property({}, id, false));
1091
+ });
1092
+ } else {
1093
+ _PopoverManager.default.open(id);
1094
+ setPopoverStates(function(prev) {
1095
+ return _object_spread_props(_object_spread({}, prev), _define_property({}, id, true));
1096
+ });
1097
+ }
1098
+ };
1099
+ var clearEventLog = function() {
1100
+ setEventLog([]);
1101
+ };
1102
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Card.default, {
1103
+ title: "PopoverManager Event Handling",
1104
+ padded: true,
1105
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
1106
+ gap: "lg",
1107
+ children: [
1108
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
1109
+ gap: "md",
1110
+ children: [
1111
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
1112
+ children: "PopoverManager emits events when its state changes. This is useful for debugging and for components that need to react to popover state changes."
1113
+ }),
1114
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Stack.default, {
1115
+ horizontal: true,
1116
+ gap: "md",
1117
+ children: [
1118
+ 1,
1119
+ 2,
1120
+ 3
1121
+ ].map(function(num) {
1122
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
1123
+ active: popoverStates["popover".concat(num)],
1124
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Button.default, {
1125
+ onClick: function() {
1126
+ return togglePopover("popover".concat(num));
1127
+ },
1128
+ children: [
1129
+ "Toggle Popover ",
1130
+ num
1131
+ ]
1132
+ }),
1133
+ onClose: function() {
1134
+ _PopoverManager.default.close("popover".concat(num));
1135
+ setPopoverStates(function(prev) {
1136
+ return _object_spread_props(_object_spread({}, prev), _define_property({}, "popover".concat(num), false));
1137
+ });
1138
+ },
1139
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
1140
+ padding: "4",
1141
+ minWidth: "150px",
1142
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
1143
+ gap: "sm",
1144
+ children: [
1145
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
1146
+ variant: "headingSm",
1147
+ children: [
1148
+ "Popover ",
1149
+ num
1150
+ ]
1151
+ }),
1152
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
1153
+ children: [
1154
+ "This is popover number ",
1155
+ num,
1156
+ "."
1157
+ ]
1158
+ }),
1159
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
1160
+ size: "slim",
1161
+ onClick: function() {
1162
+ return togglePopover("popover".concat(num));
1163
+ },
1164
+ children: "Close"
1165
+ })
1166
+ ]
1167
+ })
1168
+ })
1169
+ }, num);
1170
+ })
1171
+ })
1172
+ ]
1173
+ }),
1174
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
1175
+ padding: "4",
1176
+ background: "subdued",
1177
+ borderRadius: "default",
1178
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
1179
+ gap: "md",
1180
+ children: [
1181
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.default, {
1182
+ horizontal: true,
1183
+ align: "space-between",
1184
+ blockAlign: "center",
1185
+ children: [
1186
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
1187
+ variant: "headingSm",
1188
+ children: "Event Log"
1189
+ }),
1190
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
1191
+ size: "slim",
1192
+ onClick: clearEventLog,
1193
+ children: "Clear Log"
1194
+ })
1195
+ ]
1196
+ }),
1197
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
1198
+ style: {
1199
+ maxHeight: "200px",
1200
+ overflowY: "auto",
1201
+ backgroundColor: "#000",
1202
+ color: "#00ff00",
1203
+ padding: "0.5rem",
1204
+ borderRadius: "4px",
1205
+ fontFamily: "monospace",
1206
+ fontSize: "0.8rem"
1207
+ },
1208
+ children: eventLog.length > 0 ? eventLog.map(function(event, index) {
1209
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
1210
+ children: event
1211
+ }, index);
1212
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
1213
+ style: {
1214
+ color: "#666"
1215
+ },
1216
+ children: "No events logged yet..."
1217
+ })
1218
+ })
1219
+ ]
1220
+ })
1221
+ })
1222
+ ]
1223
+ })
1224
+ });
1225
+ },
1226
+ parameters: {
1227
+ docs: {
1228
+ description: {
1229
+ story: "Demonstrates event handling and logging capabilities of PopoverManager."
1230
+ }
1231
+ }
1232
+ }
1233
+ };