@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,1225 @@
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 _PopoverManager = /*#__PURE__*/ _interop_require_default(require("../components/PopoverManager.js"));
32
+ var _Popover = /*#__PURE__*/ _interop_require_default(require("../components/Popover.js"));
33
+ var _Text = /*#__PURE__*/ _interop_require_default(require("../components/Text.js"));
34
+ var _Card = /*#__PURE__*/ _interop_require_default(require("../components/Card.js"));
35
+ var _Button = /*#__PURE__*/ _interop_require_default(require("../components/Button.js"));
36
+ var _Page = /*#__PURE__*/ _interop_require_default(require("../components/Page.js"));
37
+ var _VerticalStack = /*#__PURE__*/ _interop_require_default(require("../components/VerticalStack.js"));
38
+ var _HorizontalStack = /*#__PURE__*/ _interop_require_default(require("../components/HorizontalStack.js"));
39
+ var _Box = /*#__PURE__*/ _interop_require_default(require("../components/Box.js"));
40
+ function _array_like_to_array(arr, len) {
41
+ if (len == null || len > arr.length) len = arr.length;
42
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
43
+ return arr2;
44
+ }
45
+ function _array_with_holes(arr) {
46
+ if (Array.isArray(arr)) return arr;
47
+ }
48
+ function _array_without_holes(arr) {
49
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
50
+ }
51
+ function _define_property(obj, key, value) {
52
+ if (key in obj) {
53
+ Object.defineProperty(obj, key, {
54
+ value: value,
55
+ enumerable: true,
56
+ configurable: true,
57
+ writable: true
58
+ });
59
+ } else {
60
+ obj[key] = value;
61
+ }
62
+ return obj;
63
+ }
64
+ function _interop_require_default(obj) {
65
+ return obj && obj.__esModule ? obj : {
66
+ default: obj
67
+ };
68
+ }
69
+ function _iterable_to_array(iter) {
70
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
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 _non_iterable_spread() {
100
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
101
+ }
102
+ function _object_spread(target) {
103
+ for(var i = 1; i < arguments.length; i++){
104
+ var source = arguments[i] != null ? arguments[i] : {};
105
+ var ownKeys = Object.keys(source);
106
+ if (typeof Object.getOwnPropertySymbols === "function") {
107
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
108
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
109
+ }));
110
+ }
111
+ ownKeys.forEach(function(key) {
112
+ _define_property(target, key, source[key]);
113
+ });
114
+ }
115
+ return target;
116
+ }
117
+ function ownKeys(object, enumerableOnly) {
118
+ var keys = Object.keys(object);
119
+ if (Object.getOwnPropertySymbols) {
120
+ var symbols = Object.getOwnPropertySymbols(object);
121
+ if (enumerableOnly) {
122
+ symbols = symbols.filter(function(sym) {
123
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
124
+ });
125
+ }
126
+ keys.push.apply(keys, symbols);
127
+ }
128
+ return keys;
129
+ }
130
+ function _object_spread_props(target, source) {
131
+ source = source != null ? source : {};
132
+ if (Object.getOwnPropertyDescriptors) {
133
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
134
+ } else {
135
+ ownKeys(Object(source)).forEach(function(key) {
136
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
137
+ });
138
+ }
139
+ return target;
140
+ }
141
+ function _sliced_to_array(arr, i) {
142
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
143
+ }
144
+ function _to_consumable_array(arr) {
145
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
146
+ }
147
+ function _unsupported_iterable_to_array(o, minLen) {
148
+ if (!o) return;
149
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
150
+ var n = Object.prototype.toString.call(o).slice(8, -1);
151
+ if (n === "Object" && o.constructor) n = o.constructor.name;
152
+ if (n === "Map" || n === "Set") return Array.from(n);
153
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
154
+ }
155
+ var _default = {
156
+ title: "Litho/PopoverManager",
157
+ component: _PopoverManager.default,
158
+ parameters: {
159
+ layout: "padded",
160
+ docs: {
161
+ description: {
162
+ 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."
163
+ },
164
+ source: {
165
+ transform: _transformers.transformStorySource
166
+ }
167
+ }
168
+ },
169
+ tags: [
170
+ "autodocs"
171
+ ]
172
+ };
173
+ var BasicUsage = {
174
+ render: function() {
175
+ var _useState = _sliced_to_array((0, _react.useState)([]), 2), activePopovers = _useState[0], setActivePopovers = _useState[1];
176
+ var _useState1 = _sliced_to_array((0, _react.useState)(false), 2), popover1Active = _useState1[0], setPopover1Active = _useState1[1];
177
+ var _useState2 = _sliced_to_array((0, _react.useState)(false), 2), popover2Active = _useState2[0], setPopover2Active = _useState2[1];
178
+ (0, _react.useEffect)(function() {
179
+ var handleManagerChange = function() {
180
+ setActivePopovers(_to_consumable_array(_PopoverManager.default.activePopovers));
181
+ };
182
+ _PopoverManager.default.on("change", handleManagerChange);
183
+ return function() {
184
+ _PopoverManager.default.removeListener("change", handleManagerChange);
185
+ };
186
+ }, []);
187
+ var openPopover1 = function() {
188
+ _PopoverManager.default.open("popover1");
189
+ setPopover1Active(true);
190
+ };
191
+ var closePopover1 = function() {
192
+ _PopoverManager.default.close("popover1");
193
+ setPopover1Active(false);
194
+ };
195
+ var openPopover2 = function() {
196
+ _PopoverManager.default.open("popover2");
197
+ setPopover2Active(true);
198
+ };
199
+ var closePopover2 = function() {
200
+ _PopoverManager.default.close("popover2");
201
+ setPopover2Active(false);
202
+ };
203
+ var closeAll = function() {
204
+ _PopoverManager.default.closeAll();
205
+ setPopover1Active(false);
206
+ setPopover2Active(false);
207
+ };
208
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Card.default, {
209
+ title: "PopoverManager Basic Usage",
210
+ padded: true,
211
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
212
+ gap: "8",
213
+ children: [
214
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
215
+ gap: "4",
216
+ children: [
217
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
218
+ children: "The PopoverManager helps coordinate multiple popovers to prevent conflicts and manage layering. Click the buttons below to see it in action."
219
+ }),
220
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_HorizontalStack.default, {
221
+ gap: "4",
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)(_VerticalStack.default, {
234
+ gap: "2",
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)(_VerticalStack.default, {
263
+ gap: "2",
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)(_VerticalStack.default, {
295
+ gap: "2",
296
+ children: [
297
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
298
+ variant: "headingSm",
299
+ children: "PopoverManager State"
300
+ }),
301
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
302
+ gap: "1",
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)(_VerticalStack.default, {
400
+ gap: "8",
401
+ children: [
402
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
403
+ gap: "4",
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)(_HorizontalStack.default, {
409
+ gap: "4",
410
+ children: [
411
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
412
+ active: contextMenuActive,
413
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
414
+ onClick: openContextMenu,
415
+ children: "Context Menu"
416
+ }),
417
+ onClose: closeContextMenu,
418
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
419
+ padding: "4",
420
+ minWidth: "150px",
421
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
422
+ gap: "2",
423
+ children: [
424
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
425
+ variant: "headingSm",
426
+ children: "Context Menu"
427
+ }),
428
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
429
+ gap: "1",
430
+ children: [
431
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
432
+ size: "slim",
433
+ plain: true,
434
+ textAlign: "left",
435
+ children: "Cut"
436
+ }),
437
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
438
+ size: "slim",
439
+ plain: true,
440
+ textAlign: "left",
441
+ children: "Copy"
442
+ }),
443
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
444
+ size: "slim",
445
+ plain: true,
446
+ textAlign: "left",
447
+ children: "Paste"
448
+ }),
449
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
450
+ paddingBlockStart: "2",
451
+ paddingBlockEnd: "2",
452
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("hr", {})
453
+ }),
454
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
455
+ size: "slim",
456
+ plain: true,
457
+ textAlign: "left",
458
+ children: "Delete"
459
+ })
460
+ ]
461
+ })
462
+ ]
463
+ })
464
+ })
465
+ }),
466
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
467
+ active: settingsActive,
468
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
469
+ onClick: openSettings,
470
+ children: "Settings Panel"
471
+ }),
472
+ onClose: closeSettings,
473
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
474
+ padding: "4",
475
+ minWidth: "200px",
476
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
477
+ gap: "4",
478
+ children: [
479
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
480
+ variant: "headingSm",
481
+ children: "Settings"
482
+ }),
483
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
484
+ gap: "4",
485
+ children: [
486
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_HorizontalStack.default, {
487
+ gap: "2",
488
+ blockAlign: "center",
489
+ children: [
490
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
491
+ type: "checkbox",
492
+ defaultChecked: true
493
+ }),
494
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
495
+ variant: "bodySm",
496
+ children: "Enable notifications"
497
+ })
498
+ ]
499
+ }),
500
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_HorizontalStack.default, {
501
+ gap: "2",
502
+ blockAlign: "center",
503
+ children: [
504
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
505
+ type: "checkbox"
506
+ }),
507
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
508
+ variant: "bodySm",
509
+ children: "Auto-save"
510
+ })
511
+ ]
512
+ }),
513
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
514
+ gap: "2",
515
+ children: [
516
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
517
+ variant: "bodySm",
518
+ children: "Theme"
519
+ }),
520
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
521
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("select", {
522
+ style: {
523
+ width: "100%",
524
+ padding: "0.25rem"
525
+ },
526
+ children: [
527
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
528
+ children: "Light"
529
+ }),
530
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
531
+ children: "Dark"
532
+ }),
533
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
534
+ children: "Auto"
535
+ })
536
+ ]
537
+ })
538
+ })
539
+ ]
540
+ })
541
+ ]
542
+ })
543
+ ]
544
+ })
545
+ })
546
+ }),
547
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
548
+ active: helpActive,
549
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
550
+ onClick: openHelp,
551
+ children: "Help Menu"
552
+ }),
553
+ onClose: closeHelp,
554
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
555
+ padding: "4",
556
+ minWidth: "180px",
557
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
558
+ gap: "2",
559
+ children: [
560
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
561
+ variant: "headingSm",
562
+ children: "Help & Support"
563
+ }),
564
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
565
+ gap: "1",
566
+ children: [
567
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
568
+ size: "slim",
569
+ plain: true,
570
+ textAlign: "left",
571
+ children: "User Guide"
572
+ }),
573
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
574
+ size: "slim",
575
+ plain: true,
576
+ textAlign: "left",
577
+ children: "Keyboard Shortcuts"
578
+ }),
579
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
580
+ size: "slim",
581
+ plain: true,
582
+ textAlign: "left",
583
+ children: "Contact Support"
584
+ }),
585
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
586
+ paddingBlockStart: "2",
587
+ paddingBlockEnd: "2",
588
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("hr", {})
589
+ }),
590
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
591
+ size: "slim",
592
+ plain: true,
593
+ textAlign: "left",
594
+ children: "About"
595
+ })
596
+ ]
597
+ })
598
+ ]
599
+ })
600
+ })
601
+ })
602
+ ]
603
+ }),
604
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
605
+ variant: "bodySm",
606
+ color: "subdued",
607
+ children: "Notice how opening one popover automatically closes the others to prevent conflicts."
608
+ })
609
+ ]
610
+ }),
611
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
612
+ padding: "4",
613
+ background: "subdued",
614
+ borderRadius: "default",
615
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
616
+ gap: "2",
617
+ children: [
618
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
619
+ variant: "headingSm",
620
+ children: "Conflict Resolution Status"
621
+ }),
622
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
623
+ gap: "1",
624
+ children: [
625
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
626
+ variant: "bodyXs",
627
+ children: [
628
+ "Active Popover: ",
629
+ _PopoverManager.default.getActivePopoverId() || "None"
630
+ ]
631
+ }),
632
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
633
+ variant: "bodyXs",
634
+ children: [
635
+ "Total Open: ",
636
+ activePopovers.length
637
+ ]
638
+ }),
639
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
640
+ variant: "bodyXs",
641
+ children: [
642
+ "Context Menu: ",
643
+ contextMenuActive ? "✓ Open" : "✗ Closed"
644
+ ]
645
+ }),
646
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
647
+ variant: "bodyXs",
648
+ children: [
649
+ "Settings Panel: ",
650
+ settingsActive ? "✓ Open" : "✗ Closed"
651
+ ]
652
+ }),
653
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
654
+ variant: "bodyXs",
655
+ children: [
656
+ "Help Menu: ",
657
+ helpActive ? "✓ Open" : "✗ Closed"
658
+ ]
659
+ })
660
+ ]
661
+ })
662
+ ]
663
+ })
664
+ })
665
+ ]
666
+ })
667
+ });
668
+ },
669
+ parameters: {
670
+ docs: {
671
+ description: {
672
+ story: "Demonstrates how PopoverManager resolves conflicts between competing popovers."
673
+ }
674
+ }
675
+ }
676
+ };
677
+ var ApplicationIntegration = {
678
+ render: function() {
679
+ var _useState = _sliced_to_array((0, _react.useState)([]), 2), activePopovers = _useState[0], setActivePopovers = _useState[1];
680
+ var _useState1 = _sliced_to_array((0, _react.useState)(false), 2), userMenuActive = _useState1[0], setUserMenuActive = _useState1[1];
681
+ var _useState2 = _sliced_to_array((0, _react.useState)(false), 2), notificationsActive = _useState2[0], setNotificationsActive = _useState2[1];
682
+ var _useState3 = _sliced_to_array((0, _react.useState)(false), 2), searchActive = _useState3[0], setSearchActive = _useState3[1];
683
+ (0, _react.useEffect)(function() {
684
+ var handleManagerChange = function() {
685
+ setActivePopovers(_to_consumable_array(_PopoverManager.default.activePopovers));
686
+ };
687
+ _PopoverManager.default.on("change", handleManagerChange);
688
+ return function() {
689
+ _PopoverManager.default.removeListener("change", handleManagerChange);
690
+ };
691
+ }, []);
692
+ var toggleUserMenu = function() {
693
+ if (userMenuActive) {
694
+ _PopoverManager.default.close("userMenu");
695
+ setUserMenuActive(false);
696
+ } else {
697
+ _PopoverManager.default.open("userMenu");
698
+ setUserMenuActive(true);
699
+ }
700
+ };
701
+ var toggleNotifications = function() {
702
+ if (notificationsActive) {
703
+ _PopoverManager.default.close("notifications");
704
+ setNotificationsActive(false);
705
+ } else {
706
+ _PopoverManager.default.open("notifications");
707
+ setNotificationsActive(true);
708
+ }
709
+ };
710
+ var toggleSearch = function() {
711
+ if (searchActive) {
712
+ _PopoverManager.default.close("search");
713
+ setSearchActive(false);
714
+ } else {
715
+ _PopoverManager.default.open("search");
716
+ setSearchActive(true);
717
+ }
718
+ };
719
+ var closeAll = function() {
720
+ _PopoverManager.default.closeAll();
721
+ setUserMenuActive(false);
722
+ setNotificationsActive(false);
723
+ setSearchActive(false);
724
+ };
725
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Page.default, {
726
+ title: "Application Header",
727
+ children: [
728
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
729
+ padding: "4",
730
+ background: "subdued",
731
+ borderRadius: "lg",
732
+ marginBlockEnd: "8",
733
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_HorizontalStack.default, {
734
+ align: "space-between",
735
+ blockAlign: "center",
736
+ children: [
737
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
738
+ variant: "headingLg",
739
+ children: "My Application"
740
+ }),
741
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_HorizontalStack.default, {
742
+ gap: "4",
743
+ blockAlign: "center",
744
+ children: [
745
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
746
+ active: searchActive,
747
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
748
+ plain: true,
749
+ onClick: toggleSearch,
750
+ children: "\uD83D\uDD0D Search"
751
+ }),
752
+ onClose: function() {
753
+ _PopoverManager.default.close("search");
754
+ setSearchActive(false);
755
+ },
756
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
757
+ padding: "4",
758
+ minWidth: "300px",
759
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
760
+ gap: "4",
761
+ children: [
762
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
763
+ type: "text",
764
+ placeholder: "Search anything...",
765
+ style: {
766
+ width: "100%",
767
+ padding: "0.5rem",
768
+ border: "1px solid #ccc",
769
+ borderRadius: "4px"
770
+ }
771
+ }),
772
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
773
+ gap: "1",
774
+ children: [
775
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
776
+ variant: "bodySm",
777
+ color: "subdued",
778
+ children: "Recent searches:"
779
+ }),
780
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
781
+ size: "slim",
782
+ plain: true,
783
+ textAlign: "left",
784
+ children: "User management"
785
+ }),
786
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
787
+ size: "slim",
788
+ plain: true,
789
+ textAlign: "left",
790
+ children: "Product catalog"
791
+ }),
792
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
793
+ size: "slim",
794
+ plain: true,
795
+ textAlign: "left",
796
+ children: "Analytics dashboard"
797
+ })
798
+ ]
799
+ })
800
+ ]
801
+ })
802
+ })
803
+ }),
804
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
805
+ active: notificationsActive,
806
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
807
+ plain: true,
808
+ onClick: toggleNotifications,
809
+ children: "\uD83D\uDD14 Notifications (3)"
810
+ }),
811
+ onClose: function() {
812
+ _PopoverManager.default.close("notifications");
813
+ setNotificationsActive(false);
814
+ },
815
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
816
+ padding: "4",
817
+ minWidth: "280px",
818
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
819
+ gap: "4",
820
+ children: [
821
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
822
+ variant: "headingSm",
823
+ children: "Notifications"
824
+ }),
825
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_VerticalStack.default, {
826
+ gap: "2",
827
+ children: [
828
+ {
829
+ title: "New order received",
830
+ time: "2 minutes ago",
831
+ unread: true
832
+ },
833
+ {
834
+ title: "System maintenance scheduled",
835
+ time: "1 hour ago",
836
+ unread: true
837
+ },
838
+ {
839
+ title: "Monthly report ready",
840
+ time: "3 hours ago",
841
+ unread: false
842
+ }
843
+ ].map(function(notification, index) {
844
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
845
+ padding: "3",
846
+ background: notification.unread ? "surface-neutral-subdued" : "surface-neutral",
847
+ borderRadius: "default",
848
+ style: {
849
+ borderLeft: notification.unread ? "3px solid #007bff" : "3px solid transparent"
850
+ },
851
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
852
+ gap: "1",
853
+ children: [
854
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
855
+ variant: "bodySm",
856
+ fontWeight: notification.unread ? "bold" : "normal",
857
+ children: notification.title
858
+ }),
859
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
860
+ variant: "bodyXs",
861
+ color: "subdued",
862
+ children: notification.time
863
+ })
864
+ ]
865
+ })
866
+ }, index);
867
+ })
868
+ }),
869
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_VerticalStack.default, {
870
+ inlineAlign: "center",
871
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
872
+ size: "slim",
873
+ children: "View all notifications"
874
+ })
875
+ })
876
+ ]
877
+ })
878
+ })
879
+ }),
880
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
881
+ active: userMenuActive,
882
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
883
+ plain: true,
884
+ onClick: toggleUserMenu,
885
+ children: "\uD83D\uDC64 John Doe"
886
+ }),
887
+ onClose: function() {
888
+ _PopoverManager.default.close("userMenu");
889
+ setUserMenuActive(false);
890
+ },
891
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
892
+ padding: "4",
893
+ minWidth: "200px",
894
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
895
+ gap: "4",
896
+ children: [
897
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
898
+ gap: "2",
899
+ inlineAlign: "center",
900
+ children: [
901
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
902
+ style: {
903
+ width: "40px",
904
+ height: "40px",
905
+ borderRadius: "50%",
906
+ backgroundColor: "#007bff",
907
+ color: "white",
908
+ display: "flex",
909
+ alignItems: "center",
910
+ justifyContent: "center"
911
+ },
912
+ children: "JD"
913
+ }),
914
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
915
+ variant: "headingSm",
916
+ children: "John Doe"
917
+ }),
918
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
919
+ variant: "bodySm",
920
+ color: "subdued",
921
+ children: "john@example.com"
922
+ })
923
+ ]
924
+ }),
925
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
926
+ gap: "1",
927
+ children: [
928
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
929
+ size: "slim",
930
+ plain: true,
931
+ textAlign: "left",
932
+ children: "Profile Settings"
933
+ }),
934
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
935
+ size: "slim",
936
+ plain: true,
937
+ textAlign: "left",
938
+ children: "Account"
939
+ }),
940
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
941
+ size: "slim",
942
+ plain: true,
943
+ textAlign: "left",
944
+ children: "Preferences"
945
+ }),
946
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
947
+ paddingBlockStart: "2",
948
+ paddingBlockEnd: "2",
949
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("hr", {})
950
+ }),
951
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
952
+ size: "slim",
953
+ plain: true,
954
+ textAlign: "left",
955
+ children: "Help & Support"
956
+ }),
957
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
958
+ size: "slim",
959
+ plain: true,
960
+ textAlign: "left",
961
+ destructive: true,
962
+ children: "Sign Out"
963
+ })
964
+ ]
965
+ })
966
+ ]
967
+ })
968
+ })
969
+ })
970
+ ]
971
+ })
972
+ ]
973
+ })
974
+ }),
975
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Card.default, {
976
+ title: "PopoverManager in Real Applications",
977
+ padded: true,
978
+ children: [
979
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
980
+ gap: "4",
981
+ children: [
982
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
983
+ children: "The header above demonstrates how PopoverManager works in a real application scenario, coordinating multiple interface elements like search, notifications, and user menus."
984
+ }),
985
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_HorizontalStack.default, {
986
+ gap: "4",
987
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
988
+ onClick: closeAll,
989
+ destructive: true,
990
+ size: "slim",
991
+ children: "Close All Popovers"
992
+ })
993
+ })
994
+ ]
995
+ }),
996
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
997
+ marginBlockStart: "8",
998
+ padding: "4",
999
+ background: "subdued",
1000
+ borderRadius: "default",
1001
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
1002
+ gap: "2",
1003
+ children: [
1004
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
1005
+ variant: "headingSm",
1006
+ children: "Application State"
1007
+ }),
1008
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
1009
+ gap: "1",
1010
+ children: [
1011
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
1012
+ variant: "bodyXs",
1013
+ children: [
1014
+ "Active Popovers: ",
1015
+ activePopovers.join(", ") || "None"
1016
+ ]
1017
+ }),
1018
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
1019
+ variant: "bodyXs",
1020
+ children: [
1021
+ "Search: ",
1022
+ searchActive ? "✓ Open" : "✗ Closed"
1023
+ ]
1024
+ }),
1025
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
1026
+ variant: "bodyXs",
1027
+ children: [
1028
+ "Notifications: ",
1029
+ notificationsActive ? "✓ Open" : "✗ Closed"
1030
+ ]
1031
+ }),
1032
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
1033
+ variant: "bodyXs",
1034
+ children: [
1035
+ "User Menu: ",
1036
+ userMenuActive ? "✓ Open" : "✗ Closed"
1037
+ ]
1038
+ })
1039
+ ]
1040
+ })
1041
+ ]
1042
+ })
1043
+ })
1044
+ ]
1045
+ })
1046
+ ]
1047
+ });
1048
+ },
1049
+ parameters: {
1050
+ docs: {
1051
+ description: {
1052
+ story: "Real-world application integration showing PopoverManager coordinating header elements."
1053
+ }
1054
+ }
1055
+ }
1056
+ };
1057
+ var EventHandling = {
1058
+ render: function() {
1059
+ var _useState = _sliced_to_array((0, _react.useState)([]), 2), eventLog = _useState[0], setEventLog = _useState[1];
1060
+ var _useState1 = _sliced_to_array((0, _react.useState)({
1061
+ popover1: false,
1062
+ popover2: false,
1063
+ popover3: false
1064
+ }), 2), popoverStates = _useState1[0], setPopoverStates = _useState1[1];
1065
+ (0, _react.useEffect)(function() {
1066
+ var handleManagerChange = function() {
1067
+ var timestamp = new Date().toLocaleTimeString();
1068
+ var activeIds = _to_consumable_array(_PopoverManager.default.activePopovers);
1069
+ setEventLog(function(prev) {
1070
+ return [
1071
+ "".concat(timestamp, ": Manager state changed - Active: [").concat(activeIds.join(", "), "]")
1072
+ ].concat(_to_consumable_array(prev.slice(0, 9)));
1073
+ });
1074
+ };
1075
+ _PopoverManager.default.on("change", handleManagerChange);
1076
+ return function() {
1077
+ _PopoverManager.default.removeListener("change", handleManagerChange);
1078
+ };
1079
+ }, []);
1080
+ var togglePopover = function(id) {
1081
+ if (popoverStates[id]) {
1082
+ _PopoverManager.default.close(id);
1083
+ setPopoverStates(function(prev) {
1084
+ return _object_spread_props(_object_spread({}, prev), _define_property({}, id, false));
1085
+ });
1086
+ } else {
1087
+ _PopoverManager.default.open(id);
1088
+ setPopoverStates(function(prev) {
1089
+ return _object_spread_props(_object_spread({}, prev), _define_property({}, id, true));
1090
+ });
1091
+ }
1092
+ };
1093
+ var clearEventLog = function() {
1094
+ setEventLog([]);
1095
+ };
1096
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Card.default, {
1097
+ title: "PopoverManager Event Handling",
1098
+ padded: true,
1099
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
1100
+ gap: "8",
1101
+ children: [
1102
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
1103
+ gap: "4",
1104
+ children: [
1105
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
1106
+ children: "PopoverManager emits events when its state changes. This is useful for debugging and for components that need to react to popover state changes."
1107
+ }),
1108
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_HorizontalStack.default, {
1109
+ gap: "4",
1110
+ children: [
1111
+ 1,
1112
+ 2,
1113
+ 3
1114
+ ].map(function(num) {
1115
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Popover.default, {
1116
+ active: popoverStates["popover".concat(num)],
1117
+ activator: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Button.default, {
1118
+ onClick: function() {
1119
+ return togglePopover("popover".concat(num));
1120
+ },
1121
+ children: [
1122
+ "Toggle Popover ",
1123
+ num
1124
+ ]
1125
+ }),
1126
+ onClose: function() {
1127
+ _PopoverManager.default.close("popover".concat(num));
1128
+ setPopoverStates(function(prev) {
1129
+ return _object_spread_props(_object_spread({}, prev), _define_property({}, "popover".concat(num), false));
1130
+ });
1131
+ },
1132
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
1133
+ padding: "4",
1134
+ minWidth: "150px",
1135
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
1136
+ gap: "2",
1137
+ children: [
1138
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
1139
+ variant: "headingSm",
1140
+ children: [
1141
+ "Popover ",
1142
+ num
1143
+ ]
1144
+ }),
1145
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Text.default, {
1146
+ children: [
1147
+ "This is popover number ",
1148
+ num,
1149
+ "."
1150
+ ]
1151
+ }),
1152
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
1153
+ size: "slim",
1154
+ onClick: function() {
1155
+ return togglePopover("popover".concat(num));
1156
+ },
1157
+ children: "Close"
1158
+ })
1159
+ ]
1160
+ })
1161
+ })
1162
+ }, num);
1163
+ })
1164
+ })
1165
+ ]
1166
+ }),
1167
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.default, {
1168
+ padding: "4",
1169
+ background: "subdued",
1170
+ borderRadius: "default",
1171
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_VerticalStack.default, {
1172
+ gap: "4",
1173
+ children: [
1174
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_HorizontalStack.default, {
1175
+ align: "space-between",
1176
+ blockAlign: "center",
1177
+ children: [
1178
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
1179
+ variant: "headingSm",
1180
+ children: "Event Log"
1181
+ }),
1182
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
1183
+ size: "slim",
1184
+ onClick: clearEventLog,
1185
+ children: "Clear Log"
1186
+ })
1187
+ ]
1188
+ }),
1189
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
1190
+ style: {
1191
+ maxHeight: "200px",
1192
+ overflowY: "auto",
1193
+ backgroundColor: "#000",
1194
+ color: "#00ff00",
1195
+ padding: "0.5rem",
1196
+ borderRadius: "4px",
1197
+ fontFamily: "monospace",
1198
+ fontSize: "0.8rem"
1199
+ },
1200
+ children: eventLog.length > 0 ? eventLog.map(function(event, index) {
1201
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
1202
+ children: event
1203
+ }, index);
1204
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
1205
+ style: {
1206
+ color: "#666"
1207
+ },
1208
+ children: "No events logged yet..."
1209
+ })
1210
+ })
1211
+ ]
1212
+ })
1213
+ })
1214
+ ]
1215
+ })
1216
+ });
1217
+ },
1218
+ parameters: {
1219
+ docs: {
1220
+ description: {
1221
+ story: "Demonstrates event handling and logging capabilities of PopoverManager."
1222
+ }
1223
+ }
1224
+ }
1225
+ };