@krelborn/stylesui 0.0.0-stage → 0.9.0

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 (526) hide show
  1. package/LICENSE +74 -0
  2. package/README.md +129 -2
  3. package/dist/accessibility/RequiredAccessibleName.d.ts +26 -0
  4. package/dist/accessibility/idSegment.d.ts +7 -0
  5. package/dist/accessibility/idSegment.js +5 -0
  6. package/dist/accessibility/index.d.ts +2 -0
  7. package/dist/collections/index.d.ts +7 -0
  8. package/dist/collections/optionId.d.ts +8 -0
  9. package/dist/collections/optionId.js +6 -0
  10. package/dist/collections/renderedOptions.d.ts +37 -0
  11. package/dist/collections/renderedOptions.js +17 -0
  12. package/dist/collections/targetIndexForKey.d.ts +45 -0
  13. package/dist/collections/targetIndexForKey.js +16 -0
  14. package/dist/collections/typeAhead.d.ts +43 -0
  15. package/dist/collections/typeAhead.js +18 -0
  16. package/dist/components/Accordion/Accordion.css +1 -0
  17. package/dist/components/Accordion/Accordion.d.ts +90 -0
  18. package/dist/components/Accordion/Accordion.js +47 -0
  19. package/dist/components/Accordion/Accordion.module.js +19 -0
  20. package/dist/components/Accordion/AccordionContext.d.ts +40 -0
  21. package/dist/components/Accordion/AccordionContext.js +4 -0
  22. package/dist/components/Accordion/AccordionItem.d.ts +51 -0
  23. package/dist/components/Accordion/AccordionItem.js +69 -0
  24. package/dist/components/Accordion/AccordionToggleContent.d.ts +30 -0
  25. package/dist/components/Accordion/AccordionToggleContent.js +44 -0
  26. package/dist/components/Accordion/accordionIds.d.ts +24 -0
  27. package/dist/components/Accordion/accordionIds.js +12 -0
  28. package/dist/components/Accordion/index.d.ts +4 -0
  29. package/dist/components/Accordion/useAccordionContext.d.ts +9 -0
  30. package/dist/components/Accordion/useAccordionContext.js +10 -0
  31. package/dist/components/Accordion/useFindablePanel.d.ts +25 -0
  32. package/dist/components/Accordion/useFindablePanel.js +36 -0
  33. package/dist/components/Accordion/useFragmentTargetReveal.d.ts +27 -0
  34. package/dist/components/Accordion/useFragmentTargetReveal.js +36 -0
  35. package/dist/components/Accordion/useHasOpened.d.ts +7 -0
  36. package/dist/components/Accordion/useHasOpened.js +7 -0
  37. package/dist/components/Alert/Alert.css +1 -0
  38. package/dist/components/Alert/Alert.d.ts +47 -0
  39. package/dist/components/Alert/Alert.js +27 -0
  40. package/dist/components/Alert/Alert.module.js +8 -0
  41. package/dist/components/Alert/AlertIcon.d.ts +14 -0
  42. package/dist/components/Alert/AlertIcon.js +42 -0
  43. package/dist/components/Alert/index.d.ts +2 -0
  44. package/dist/components/Avatar/Avatar.css +1 -0
  45. package/dist/components/Avatar/Avatar.d.ts +33 -0
  46. package/dist/components/Avatar/Avatar.js +26 -0
  47. package/dist/components/Avatar/Avatar.module.js +6 -0
  48. package/dist/components/Avatar/index.d.ts +2 -0
  49. package/dist/components/Avatar/initialsOf.d.ts +9 -0
  50. package/dist/components/Avatar/initialsOf.js +9 -0
  51. package/dist/components/AvatarGroup/AvatarGroup.css +1 -0
  52. package/dist/components/AvatarGroup/AvatarGroup.d.ts +30 -0
  53. package/dist/components/AvatarGroup/AvatarGroup.js +33 -0
  54. package/dist/components/AvatarGroup/AvatarGroup.module.js +6 -0
  55. package/dist/components/AvatarGroup/index.d.ts +2 -0
  56. package/dist/components/Badge/Badge.css +1 -0
  57. package/dist/components/Badge/Badge.d.ts +36 -0
  58. package/dist/components/Badge/Badge.js +15 -0
  59. package/dist/components/Badge/Badge.module.js +3 -0
  60. package/dist/components/Badge/index.d.ts +2 -0
  61. package/dist/components/Box/Box.css +1 -0
  62. package/dist/components/Box/Box.d.ts +31 -0
  63. package/dist/components/Box/Box.js +17 -0
  64. package/dist/components/Box/Box.module.js +3 -0
  65. package/dist/components/Box/index.d.ts +2 -0
  66. package/dist/components/Button/Button.css +1 -0
  67. package/dist/components/Button/Button.d.ts +42 -0
  68. package/dist/components/Button/Button.js +24 -0
  69. package/dist/components/Button/Button.module.js +6 -0
  70. package/dist/components/Button/index.d.ts +2 -0
  71. package/dist/components/Card/Card.css +1 -0
  72. package/dist/components/Card/Card.d.ts +24 -0
  73. package/dist/components/Card/Card.js +14 -0
  74. package/dist/components/Card/Card.module.js +3 -0
  75. package/dist/components/Card/index.d.ts +2 -0
  76. package/dist/components/Center/Center.css +1 -0
  77. package/dist/components/Center/Center.d.ts +34 -0
  78. package/dist/components/Center/Center.js +19 -0
  79. package/dist/components/Center/Center.module.js +3 -0
  80. package/dist/components/Center/index.d.ts +2 -0
  81. package/dist/components/Checkbox/Checkbox.d.ts +23 -0
  82. package/dist/components/Checkbox/Checkbox.js +12 -0
  83. package/dist/components/Checkbox/index.d.ts +2 -0
  84. package/dist/components/ChoiceControl/ChoiceControl.css +1 -0
  85. package/dist/components/ChoiceControl/ChoiceControl.d.ts +21 -0
  86. package/dist/components/ChoiceControl/ChoiceControl.js +39 -0
  87. package/dist/components/ChoiceControl/ChoiceControl.module.js +8 -0
  88. package/dist/components/ChoiceControl/index.d.ts +1 -0
  89. package/dist/components/Cluster/Cluster.d.ts +29 -0
  90. package/dist/components/Cluster/Cluster.js +13 -0
  91. package/dist/components/Cluster/index.d.ts +2 -0
  92. package/dist/components/Code/Code.css +1 -0
  93. package/dist/components/Code/Code.d.ts +13 -0
  94. package/dist/components/Code/Code.js +19 -0
  95. package/dist/components/Code/Code.module.js +3 -0
  96. package/dist/components/Code/index.d.ts +2 -0
  97. package/dist/components/Combobox/Autocomplete.d.ts +83 -0
  98. package/dist/components/Combobox/Autocomplete.js +102 -0
  99. package/dist/components/Combobox/Combobox.css +1 -0
  100. package/dist/components/Combobox/Combobox.d.ts +59 -0
  101. package/dist/components/Combobox/Combobox.js +82 -0
  102. package/dist/components/Combobox/Combobox.module.js +17 -0
  103. package/dist/components/Combobox/ComboboxContext.d.ts +88 -0
  104. package/dist/components/Combobox/ComboboxContext.js +4 -0
  105. package/dist/components/Combobox/ComboboxFieldValue.d.ts +17 -0
  106. package/dist/components/Combobox/ComboboxFieldValue.js +33 -0
  107. package/dist/components/Combobox/ComboboxOption.d.ts +51 -0
  108. package/dist/components/Combobox/ComboboxOption.js +74 -0
  109. package/dist/components/Combobox/ComboboxOptionContent.d.ts +32 -0
  110. package/dist/components/Combobox/ComboboxOptionContent.js +51 -0
  111. package/dist/components/Combobox/ComboboxPopup.d.ts +50 -0
  112. package/dist/components/Combobox/ComboboxPopup.js +59 -0
  113. package/dist/components/Combobox/autocompleteKeys.d.ts +31 -0
  114. package/dist/components/Combobox/autocompleteKeys.js +25 -0
  115. package/dist/components/Combobox/comboboxKeys.d.ts +10 -0
  116. package/dist/components/Combobox/comboboxKeys.js +22 -0
  117. package/dist/components/Combobox/containsText.d.ts +9 -0
  118. package/dist/components/Combobox/containsText.js +8 -0
  119. package/dist/components/Combobox/index.d.ts +6 -0
  120. package/dist/components/Combobox/isAltArrow.d.ts +9 -0
  121. package/dist/components/Combobox/isAltArrow.js +5 -0
  122. package/dist/components/Combobox/isOptionShown.d.ts +10 -0
  123. package/dist/components/Combobox/isOptionShown.js +5 -0
  124. package/dist/components/Combobox/useAutocompleteText.d.ts +56 -0
  125. package/dist/components/Combobox/useAutocompleteText.js +27 -0
  126. package/dist/components/Combobox/useComboboxContext.d.ts +9 -0
  127. package/dist/components/Combobox/useComboboxContext.js +10 -0
  128. package/dist/components/Combobox/useComboboxList.d.ts +129 -0
  129. package/dist/components/Combobox/useComboboxList.js +138 -0
  130. package/dist/components/Combobox/useComboboxOption.d.ts +35 -0
  131. package/dist/components/Combobox/useComboboxOption.js +46 -0
  132. package/dist/components/Combobox/useComboboxSelection.d.ts +45 -0
  133. package/dist/components/Combobox/useComboboxSelection.js +17 -0
  134. package/dist/components/Combobox/useResultsAnnouncement.d.ts +23 -0
  135. package/dist/components/Combobox/useResultsAnnouncement.js +24 -0
  136. package/dist/components/ContextMenu/index.d.ts +2 -0
  137. package/dist/components/ContextMenu/useContextMenu.d.ts +112 -0
  138. package/dist/components/ContextMenu/useContextMenu.js +202 -0
  139. package/dist/components/ContextMenu/watchLongPress.d.ts +35 -0
  140. package/dist/components/ContextMenu/watchLongPress.js +38 -0
  141. package/dist/components/Counter/Counter.css +1 -0
  142. package/dist/components/Counter/Counter.d.ts +39 -0
  143. package/dist/components/Counter/Counter.js +18 -0
  144. package/dist/components/Counter/Counter.module.js +3 -0
  145. package/dist/components/Counter/index.d.ts +2 -0
  146. package/dist/components/Cover/Cover.css +1 -0
  147. package/dist/components/Cover/Cover.d.ts +40 -0
  148. package/dist/components/Cover/Cover.js +29 -0
  149. package/dist/components/Cover/Cover.module.js +6 -0
  150. package/dist/components/Cover/index.d.ts +2 -0
  151. package/dist/components/Divider/Divider.css +1 -0
  152. package/dist/components/Divider/Divider.d.ts +25 -0
  153. package/dist/components/Divider/Divider.js +15 -0
  154. package/dist/components/Divider/Divider.module.js +3 -0
  155. package/dist/components/Divider/index.d.ts +2 -0
  156. package/dist/components/Field/Field.css +1 -0
  157. package/dist/components/Field/Field.d.ts +49 -0
  158. package/dist/components/Field/Field.js +49 -0
  159. package/dist/components/Field/Field.module.js +8 -0
  160. package/dist/components/Field/index.d.ts +2 -0
  161. package/dist/components/Fieldset/Fieldset.css +1 -0
  162. package/dist/components/Fieldset/Fieldset.d.ts +35 -0
  163. package/dist/components/Fieldset/Fieldset.js +64 -0
  164. package/dist/components/Fieldset/Fieldset.module.js +8 -0
  165. package/dist/components/Fieldset/index.d.ts +2 -0
  166. package/dist/components/Frame/Frame.css +1 -0
  167. package/dist/components/Frame/Frame.d.ts +23 -0
  168. package/dist/components/Frame/Frame.js +16 -0
  169. package/dist/components/Frame/Frame.module.js +3 -0
  170. package/dist/components/Frame/index.d.ts +2 -0
  171. package/dist/components/Grid/Grid.css +1 -0
  172. package/dist/components/Grid/Grid.d.ts +25 -0
  173. package/dist/components/Grid/Grid.js +22 -0
  174. package/dist/components/Grid/Grid.module.js +3 -0
  175. package/dist/components/Grid/index.d.ts +2 -0
  176. package/dist/components/Heading/Heading.css +1 -0
  177. package/dist/components/Heading/Heading.d.ts +39 -0
  178. package/dist/components/Heading/Heading.js +23 -0
  179. package/dist/components/Heading/Heading.module.js +3 -0
  180. package/dist/components/Heading/index.d.ts +2 -0
  181. package/dist/components/HorizontalFlow/HorizontalFlow.css +1 -0
  182. package/dist/components/HorizontalFlow/HorizontalFlow.d.ts +30 -0
  183. package/dist/components/HorizontalFlow/HorizontalFlow.js +30 -0
  184. package/dist/components/HorizontalFlow/HorizontalFlow.module.js +3 -0
  185. package/dist/components/HorizontalFlow/index.d.ts +2 -0
  186. package/dist/components/Icon/AddIcon.d.ts +11 -0
  187. package/dist/components/Icon/AddIcon.js +21 -0
  188. package/dist/components/Icon/CheckIcon.d.ts +11 -0
  189. package/dist/components/Icon/CheckIcon.js +18 -0
  190. package/dist/components/Icon/ChevronDownIcon.d.ts +11 -0
  191. package/dist/components/Icon/ChevronDownIcon.js +18 -0
  192. package/dist/components/Icon/ChevronRightIcon.d.ts +11 -0
  193. package/dist/components/Icon/ChevronRightIcon.js +19 -0
  194. package/dist/components/Icon/CloseIcon.d.ts +12 -0
  195. package/dist/components/Icon/CloseIcon.js +21 -0
  196. package/dist/components/Icon/ColorModeIcon.d.ts +12 -0
  197. package/dist/components/Icon/ColorModeIcon.js +36 -0
  198. package/dist/components/Icon/DeleteIcon.d.ts +11 -0
  199. package/dist/components/Icon/DeleteIcon.js +36 -0
  200. package/dist/components/Icon/Icon.css +1 -0
  201. package/dist/components/Icon/Icon.d.ts +40 -0
  202. package/dist/components/Icon/Icon.js +27 -0
  203. package/dist/components/Icon/Icon.module.js +6 -0
  204. package/dist/components/Icon/InfoIcon.d.ts +11 -0
  205. package/dist/components/Icon/InfoIcon.js +30 -0
  206. package/dist/components/Icon/MenuIcon.d.ts +12 -0
  207. package/dist/components/Icon/MenuIcon.js +28 -0
  208. package/dist/components/Icon/MoreHorizontalIcon.d.ts +11 -0
  209. package/dist/components/Icon/MoreHorizontalIcon.js +34 -0
  210. package/dist/components/Icon/MoreVerticalIcon.d.ts +11 -0
  211. package/dist/components/Icon/MoreVerticalIcon.js +34 -0
  212. package/dist/components/Icon/PaletteIcon.d.ts +12 -0
  213. package/dist/components/Icon/PaletteIcon.js +48 -0
  214. package/dist/components/Icon/RefreshIcon.d.ts +13 -0
  215. package/dist/components/Icon/RefreshIcon.js +32 -0
  216. package/dist/components/Icon/RemoveIcon.d.ts +11 -0
  217. package/dist/components/Icon/RemoveIcon.js +18 -0
  218. package/dist/components/Icon/SendIcon.d.ts +11 -0
  219. package/dist/components/Icon/SendIcon.js +22 -0
  220. package/dist/components/Icon/index.d.ts +16 -0
  221. package/dist/components/IconButton/IconButton.css +1 -0
  222. package/dist/components/IconButton/IconButton.d.ts +45 -0
  223. package/dist/components/IconButton/IconButton.js +40 -0
  224. package/dist/components/IconButton/IconButton.module.js +7 -0
  225. package/dist/components/IconButton/index.d.ts +2 -0
  226. package/dist/components/Kbd/Kbd.css +1 -0
  227. package/dist/components/Kbd/Kbd.d.ts +13 -0
  228. package/dist/components/Kbd/Kbd.js +19 -0
  229. package/dist/components/Kbd/Kbd.module.js +3 -0
  230. package/dist/components/Kbd/index.d.ts +2 -0
  231. package/dist/components/Link/Link.css +1 -0
  232. package/dist/components/Link/Link.d.ts +52 -0
  233. package/dist/components/Link/Link.js +26 -0
  234. package/dist/components/Link/Link.module.js +3 -0
  235. package/dist/components/Link/index.d.ts +2 -0
  236. package/dist/components/Listbox/Listbox.css +1 -0
  237. package/dist/components/Listbox/Listbox.d.ts +46 -0
  238. package/dist/components/Listbox/Listbox.js +55 -0
  239. package/dist/components/Listbox/Listbox.module.js +6 -0
  240. package/dist/components/Listbox/ListboxContext.d.ts +38 -0
  241. package/dist/components/Listbox/ListboxContext.js +4 -0
  242. package/dist/components/Listbox/ListboxOption.d.ts +31 -0
  243. package/dist/components/Listbox/ListboxOption.js +42 -0
  244. package/dist/components/Listbox/index.d.ts +4 -0
  245. package/dist/components/Listbox/useListbox.d.ts +54 -0
  246. package/dist/components/Listbox/useListbox.js +103 -0
  247. package/dist/components/Listbox/useListboxContext.d.ts +9 -0
  248. package/dist/components/Listbox/useListboxContext.js +10 -0
  249. package/dist/components/Menu/Menu.d.ts +70 -0
  250. package/dist/components/Menu/Menu.js +76 -0
  251. package/dist/components/Menu/MenuContext.d.ts +29 -0
  252. package/dist/components/Menu/MenuContext.js +4 -0
  253. package/dist/components/Menu/MenuGroup.d.ts +22 -0
  254. package/dist/components/Menu/MenuGroup.js +32 -0
  255. package/dist/components/Menu/MenuItem.d.ts +77 -0
  256. package/dist/components/Menu/MenuItem.js +54 -0
  257. package/dist/components/Menu/MenuItemCheckbox.d.ts +61 -0
  258. package/dist/components/Menu/MenuItemCheckbox.js +37 -0
  259. package/dist/components/Menu/MenuItemRadio.d.ts +47 -0
  260. package/dist/components/Menu/MenuItemRadio.js +39 -0
  261. package/dist/components/Menu/MenuRadioGroup.d.ts +34 -0
  262. package/dist/components/Menu/MenuRadioGroup.js +27 -0
  263. package/dist/components/Menu/MenuRadioGroupContext.d.ts +17 -0
  264. package/dist/components/Menu/MenuRadioGroupContext.js +4 -0
  265. package/dist/components/Menu/MenuSeparator.d.ts +16 -0
  266. package/dist/components/Menu/MenuSeparator.js +20 -0
  267. package/dist/components/Menu/Submenu.d.ts +36 -0
  268. package/dist/components/Menu/Submenu.js +122 -0
  269. package/dist/components/Menu/index.d.ts +18 -0
  270. package/dist/components/Menu/useMenu.d.ts +18 -0
  271. package/dist/components/Menu/useMenu.js +20 -0
  272. package/dist/components/Menu/useMenuButton.d.ts +124 -0
  273. package/dist/components/Menu/useMenuButton.js +92 -0
  274. package/dist/components/Menu/useMenuContext.d.ts +9 -0
  275. package/dist/components/Menu/useMenuContext.js +10 -0
  276. package/dist/components/Menu/useMenuItemContent.d.ts +55 -0
  277. package/dist/components/Menu/useMenuItemContent.js +66 -0
  278. package/dist/components/Menu/useMenuPointer.d.ts +27 -0
  279. package/dist/components/Menu/useMenuPointer.js +56 -0
  280. package/dist/components/Menu/useMenuRadioGroupContext.d.ts +9 -0
  281. package/dist/components/Menu/useMenuRadioGroupContext.js +10 -0
  282. package/dist/components/MenuSurface/MenuSurface.css +1 -0
  283. package/dist/components/MenuSurface/MenuSurface.module.js +16 -0
  284. package/dist/components/Menubar/Menubar.css +1 -0
  285. package/dist/components/Menubar/Menubar.d.ts +23 -0
  286. package/dist/components/Menubar/Menubar.js +67 -0
  287. package/dist/components/Menubar/Menubar.module.js +7 -0
  288. package/dist/components/Menubar/MenubarContext.d.ts +29 -0
  289. package/dist/components/Menubar/MenubarContext.js +4 -0
  290. package/dist/components/Menubar/MenubarMenu.d.ts +26 -0
  291. package/dist/components/Menubar/MenubarMenu.js +88 -0
  292. package/dist/components/Menubar/findOpenMenubarItem.d.ts +7 -0
  293. package/dist/components/Menubar/findOpenMenubarItem.js +6 -0
  294. package/dist/components/Menubar/index.d.ts +4 -0
  295. package/dist/components/Menubar/menubarItems.d.ts +7 -0
  296. package/dist/components/Menubar/menubarItems.js +5 -0
  297. package/dist/components/Menubar/useMenubarContext.d.ts +9 -0
  298. package/dist/components/Menubar/useMenubarContext.js +10 -0
  299. package/dist/components/NavBar/NavBar.css +1 -0
  300. package/dist/components/NavBar/NavBar.d.ts +53 -0
  301. package/dist/components/NavBar/NavBar.js +97 -0
  302. package/dist/components/NavBar/NavBar.module.js +22 -0
  303. package/dist/components/NavBar/NavBarContext.d.ts +21 -0
  304. package/dist/components/NavBar/NavBarContext.js +4 -0
  305. package/dist/components/NavBar/NavBarItem.d.ts +32 -0
  306. package/dist/components/NavBar/NavBarItem.js +18 -0
  307. package/dist/components/NavBar/NavBarMenu.d.ts +32 -0
  308. package/dist/components/NavBar/NavBarMenu.js +84 -0
  309. package/dist/components/NavBar/NavBarMenuGroup.d.ts +25 -0
  310. package/dist/components/NavBar/NavBarMenuGroup.js +40 -0
  311. package/dist/components/NavBar/NavBarMenuItem.d.ts +36 -0
  312. package/dist/components/NavBar/NavBarMenuItem.js +49 -0
  313. package/dist/components/NavBar/index.d.ts +10 -0
  314. package/dist/components/NavBar/isNavBarCollapsed.d.ts +8 -0
  315. package/dist/components/NavBar/isNavBarCollapsed.js +5 -0
  316. package/dist/components/NavBar/leavesPageInPlace.d.ts +12 -0
  317. package/dist/components/NavBar/leavesPageInPlace.js +29 -0
  318. package/dist/components/NavBar/renderNavBarLink.d.ts +12 -0
  319. package/dist/components/NavBar/renderNavBarLink.js +16 -0
  320. package/dist/components/NavBar/useLayoutSwitch.d.ts +26 -0
  321. package/dist/components/NavBar/useLayoutSwitch.js +25 -0
  322. package/dist/components/NavBar/useNavBarContext.d.ts +9 -0
  323. package/dist/components/NavBar/useNavBarContext.js +10 -0
  324. package/dist/components/NavList/NavList.css +1 -0
  325. package/dist/components/NavList/NavList.d.ts +20 -0
  326. package/dist/components/NavList/NavList.js +27 -0
  327. package/dist/components/NavList/NavList.module.js +11 -0
  328. package/dist/components/NavList/NavListGroup.d.ts +25 -0
  329. package/dist/components/NavList/NavListGroup.js +39 -0
  330. package/dist/components/NavList/NavListItem.d.ts +49 -0
  331. package/dist/components/NavList/NavListItem.js +56 -0
  332. package/dist/components/NavList/index.d.ts +6 -0
  333. package/dist/components/Overlay/Overlay.css +1 -0
  334. package/dist/components/Overlay/Overlay.d.ts +33 -0
  335. package/dist/components/Overlay/Overlay.js +35 -0
  336. package/dist/components/Overlay/Overlay.module.js +3 -0
  337. package/dist/components/Overlay/index.d.ts +1 -0
  338. package/dist/components/PageLayout/PageLayout.css +1 -0
  339. package/dist/components/PageLayout/PageLayout.d.ts +26 -0
  340. package/dist/components/PageLayout/PageLayout.js +17 -0
  341. package/dist/components/PageLayout/PageLayout.module.js +3 -0
  342. package/dist/components/PageLayout/index.d.ts +2 -0
  343. package/dist/components/Popover/Popover.css +1 -0
  344. package/dist/components/Popover/Popover.d.ts +52 -0
  345. package/dist/components/Popover/Popover.js +20 -0
  346. package/dist/components/Popover/Popover.module.js +3 -0
  347. package/dist/components/Popover/index.d.ts +4 -0
  348. package/dist/components/Popover/usePopover.d.ts +96 -0
  349. package/dist/components/Popover/usePopover.js +71 -0
  350. package/dist/components/Prose/Prose.css +1 -0
  351. package/dist/components/Prose/Prose.d.ts +50 -0
  352. package/dist/components/Prose/Prose.js +15 -0
  353. package/dist/components/Prose/Prose.module.js +3 -0
  354. package/dist/components/Prose/index.d.ts +2 -0
  355. package/dist/components/Radio/Radio.d.ts +29 -0
  356. package/dist/components/Radio/Radio.js +23 -0
  357. package/dist/components/Radio/index.d.ts +2 -0
  358. package/dist/components/RadioGroup/RadioGroup.css +1 -0
  359. package/dist/components/RadioGroup/RadioGroup.d.ts +58 -0
  360. package/dist/components/RadioGroup/RadioGroup.js +36 -0
  361. package/dist/components/RadioGroup/RadioGroup.module.js +3 -0
  362. package/dist/components/RadioGroup/index.d.ts +2 -0
  363. package/dist/components/RequiredIndicator/RequiredIndicator.css +1 -0
  364. package/dist/components/RequiredIndicator/RequiredIndicator.d.ts +6 -0
  365. package/dist/components/RequiredIndicator/RequiredIndicator.js +15 -0
  366. package/dist/components/RequiredIndicator/RequiredIndicator.module.js +3 -0
  367. package/dist/components/RequiredIndicator/index.d.ts +1 -0
  368. package/dist/components/Row/Row.d.ts +29 -0
  369. package/dist/components/Row/Row.js +13 -0
  370. package/dist/components/Row/index.d.ts +2 -0
  371. package/dist/components/SegmentedControl/Segment.d.ts +24 -0
  372. package/dist/components/SegmentedControl/Segment.js +41 -0
  373. package/dist/components/SegmentedControl/SegmentedControl.css +1 -0
  374. package/dist/components/SegmentedControl/SegmentedControl.d.ts +25 -0
  375. package/dist/components/SegmentedControl/SegmentedControl.js +19 -0
  376. package/dist/components/SegmentedControl/SegmentedControl.module.js +9 -0
  377. package/dist/components/SegmentedControl/index.d.ts +4 -0
  378. package/dist/components/Select/Select.d.ts +27 -0
  379. package/dist/components/Select/Select.js +11 -0
  380. package/dist/components/Select/index.d.ts +2 -0
  381. package/dist/components/Sidebar/Sidebar.css +1 -0
  382. package/dist/components/Sidebar/Sidebar.d.ts +42 -0
  383. package/dist/components/Sidebar/Sidebar.js +23 -0
  384. package/dist/components/Sidebar/Sidebar.module.js +3 -0
  385. package/dist/components/Sidebar/index.d.ts +2 -0
  386. package/dist/components/SkipLink/SkipLink.css +1 -0
  387. package/dist/components/SkipLink/SkipLink.d.ts +20 -0
  388. package/dist/components/SkipLink/SkipLink.js +20 -0
  389. package/dist/components/SkipLink/SkipLink.module.js +3 -0
  390. package/dist/components/SkipLink/index.d.ts +2 -0
  391. package/dist/components/Spinner/Spinner.css +1 -0
  392. package/dist/components/Spinner/Spinner.d.ts +13 -0
  393. package/dist/components/Spinner/Spinner.js +32 -0
  394. package/dist/components/Spinner/Spinner.module.js +7 -0
  395. package/dist/components/Spinner/index.d.ts +1 -0
  396. package/dist/components/Stack/Stack.css +1 -0
  397. package/dist/components/Stack/Stack.d.ts +25 -0
  398. package/dist/components/Stack/Stack.js +20 -0
  399. package/dist/components/Stack/Stack.module.js +3 -0
  400. package/dist/components/Stack/index.d.ts +2 -0
  401. package/dist/components/StatusDot/StatusDot.css +1 -0
  402. package/dist/components/StatusDot/StatusDot.d.ts +57 -0
  403. package/dist/components/StatusDot/StatusDot.js +20 -0
  404. package/dist/components/StatusDot/StatusDot.module.js +3 -0
  405. package/dist/components/StatusDot/index.d.ts +2 -0
  406. package/dist/components/Switch/Switch.d.ts +24 -0
  407. package/dist/components/Switch/Switch.js +12 -0
  408. package/dist/components/Switch/index.d.ts +2 -0
  409. package/dist/components/Switcher/Switcher.css +1 -0
  410. package/dist/components/Switcher/Switcher.d.ts +27 -0
  411. package/dist/components/Switcher/Switcher.js +22 -0
  412. package/dist/components/Switcher/Switcher.module.js +3 -0
  413. package/dist/components/Switcher/index.d.ts +2 -0
  414. package/dist/components/Tabs/Tab.d.ts +26 -0
  415. package/dist/components/Tabs/Tab.js +60 -0
  416. package/dist/components/Tabs/TabList.d.ts +16 -0
  417. package/dist/components/Tabs/TabList.js +22 -0
  418. package/dist/components/Tabs/TabPanel.d.ts +24 -0
  419. package/dist/components/Tabs/TabPanel.js +21 -0
  420. package/dist/components/Tabs/Tabs.css +1 -0
  421. package/dist/components/Tabs/Tabs.d.ts +81 -0
  422. package/dist/components/Tabs/Tabs.js +30 -0
  423. package/dist/components/Tabs/Tabs.module.js +8 -0
  424. package/dist/components/Tabs/TabsContext.d.ts +39 -0
  425. package/dist/components/Tabs/TabsContext.js +4 -0
  426. package/dist/components/Tabs/index.d.ts +8 -0
  427. package/dist/components/Tabs/tabIds.d.ts +16 -0
  428. package/dist/components/Tabs/tabIds.js +9 -0
  429. package/dist/components/Tabs/useTabsContext.d.ts +9 -0
  430. package/dist/components/Tabs/useTabsContext.js +10 -0
  431. package/dist/components/Text/Text.css +1 -0
  432. package/dist/components/Text/Text.d.ts +40 -0
  433. package/dist/components/Text/Text.js +16 -0
  434. package/dist/components/Text/Text.module.js +3 -0
  435. package/dist/components/Text/index.d.ts +2 -0
  436. package/dist/components/TextControl/TextControl.css +1 -0
  437. package/dist/components/TextControl/TextControl.d.ts +22 -0
  438. package/dist/components/TextControl/TextControl.js +27 -0
  439. package/dist/components/TextControl/TextControl.module.js +3 -0
  440. package/dist/components/TextControl/index.d.ts +1 -0
  441. package/dist/components/TextInput/TextInput.d.ts +31 -0
  442. package/dist/components/TextInput/TextInput.js +12 -0
  443. package/dist/components/TextInput/index.d.ts +2 -0
  444. package/dist/components/Textarea/Textarea.d.ts +24 -0
  445. package/dist/components/Textarea/Textarea.js +11 -0
  446. package/dist/components/Textarea/index.d.ts +2 -0
  447. package/dist/components/Theme/Theme.d.ts +46 -0
  448. package/dist/components/Theme/Theme.js +17 -0
  449. package/dist/components/Theme/index.d.ts +2 -0
  450. package/dist/components/Tooltip/Tooltip.css +1 -0
  451. package/dist/components/Tooltip/Tooltip.d.ts +49 -0
  452. package/dist/components/Tooltip/Tooltip.js +21 -0
  453. package/dist/components/Tooltip/Tooltip.module.js +3 -0
  454. package/dist/components/Tooltip/index.d.ts +4 -0
  455. package/dist/components/Tooltip/tooltipCoordinator.d.ts +14 -0
  456. package/dist/components/Tooltip/tooltipCoordinator.js +16 -0
  457. package/dist/components/Tooltip/useTooltip.d.ts +119 -0
  458. package/dist/components/Tooltip/useTooltip.js +73 -0
  459. package/dist/components/VisuallyHidden/VisuallyHidden.css +1 -0
  460. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +14 -0
  461. package/dist/components/VisuallyHidden/VisuallyHidden.js +19 -0
  462. package/dist/components/VisuallyHidden/VisuallyHidden.module.js +3 -0
  463. package/dist/components/VisuallyHidden/index.d.ts +2 -0
  464. package/dist/errors/MissingContextError.d.ts +11 -0
  465. package/dist/errors/MissingContextError.js +8 -0
  466. package/dist/errors/PopoverRefusedError.d.ts +12 -0
  467. package/dist/errors/PopoverRefusedError.js +8 -0
  468. package/dist/errors/index.d.ts +2 -0
  469. package/dist/forms/ControlSize.d.ts +4 -0
  470. package/dist/forms/FieldContext.d.ts +34 -0
  471. package/dist/forms/FieldContext.js +4 -0
  472. package/dist/forms/RadioGroupContext.d.ts +34 -0
  473. package/dist/forms/RadioGroupContext.js +4 -0
  474. package/dist/forms/hasContent.d.ts +10 -0
  475. package/dist/forms/hasContent.js +6 -0
  476. package/dist/forms/index.d.ts +8 -0
  477. package/dist/forms/useFieldControl.d.ts +36 -0
  478. package/dist/forms/useFieldControl.js +28 -0
  479. package/dist/forms/useRadioGroupItem.d.ts +50 -0
  480. package/dist/forms/useRadioGroupItem.js +26 -0
  481. package/dist/index.d.ts +107 -0
  482. package/dist/index.js +92 -0
  483. package/dist/layout/Space.d.ts +4 -0
  484. package/dist/layout/alignment.d.ts +8 -0
  485. package/dist/layout/index.d.ts +5 -0
  486. package/dist/layout/listRole.d.ts +11 -0
  487. package/dist/layout/listRole.js +5 -0
  488. package/dist/layout/spaceValue.d.ts +8 -0
  489. package/dist/layout/spaceValue.js +5 -0
  490. package/dist/layout/withCustomProperties.d.ts +9 -0
  491. package/dist/layout/withCustomProperties.js +8 -0
  492. package/dist/links/LinkOrButtonProps.d.ts +17 -0
  493. package/dist/links/index.d.ts +1 -0
  494. package/dist/menus/closeWhenFocusLeaves.d.ts +9 -0
  495. package/dist/menus/closeWhenFocusLeaves.js +11 -0
  496. package/dist/menus/focusItem.d.ts +6 -0
  497. package/dist/menus/focusItem.js +9 -0
  498. package/dist/menus/focusOnOpening.d.ts +11 -0
  499. package/dist/menus/focusOnOpening.js +11 -0
  500. package/dist/menus/hasModifier.d.ts +7 -0
  501. package/dist/menus/hasModifier.js +5 -0
  502. package/dist/menus/index.d.ts +11 -0
  503. package/dist/menus/itemText.d.ts +8 -0
  504. package/dist/menus/itemText.js +6 -0
  505. package/dist/menus/leaveMenuOnTab.d.ts +9 -0
  506. package/dist/menus/leaveMenuOnTab.js +6 -0
  507. package/dist/menus/pointerIntent.d.ts +36 -0
  508. package/dist/menus/pointerIntent.js +68 -0
  509. package/dist/menus/renderedItems.d.ts +8 -0
  510. package/dist/menus/renderedItems.js +4 -0
  511. package/dist/menus/watchRemovals.d.ts +8 -0
  512. package/dist/menus/watchRemovals.js +23 -0
  513. package/dist/overlays/OverlayDelay.d.ts +13 -0
  514. package/dist/overlays/OverlayPlacement.d.ts +6 -0
  515. package/dist/overlays/anchorNameFor.d.ts +7 -0
  516. package/dist/overlays/anchorNameFor.js +5 -0
  517. package/dist/overlays/index.d.ts +6 -0
  518. package/dist/overlays/mergeProps.d.ts +13 -0
  519. package/dist/overlays/mergeProps.js +29 -0
  520. package/dist/overlays/syncPopover.d.ts +11 -0
  521. package/dist/overlays/syncPopover.js +24 -0
  522. package/dist/overlays/useOverlay.d.ts +71 -0
  523. package/dist/overlays/useOverlay.js +49 -0
  524. package/dist/styles.css +1 -0
  525. package/fonts/playful.css +3 -0
  526. package/package.json +103 -3
@@ -0,0 +1,24 @@
1
+ import type { JSX } from "react";
2
+ import type { BoxProps } from "../Box";
3
+ /**
4
+ * Props for `TabPanel`: its own props plus every `div` prop except those the tab pattern sets
5
+ */
6
+ export interface TabPanelProps extends Omit<BoxProps<"div">, "aria-labelledby" | "as" | "hidden" | "id" | "role"> {
7
+ /**
8
+ * Whether the panel is in the tab order. Keep the default, 0, when the panel starts with text, and pass -1 when its
9
+ * first content is a control that takes focus itself.
10
+ */
11
+ tabIndex?: number;
12
+ /**
13
+ * The value of the `Tab` that shows this panel
14
+ */
15
+ value: string;
16
+ }
17
+ /**
18
+ * The content shown while its `Tab` is selected. It is named by its tab, and renders its children only while
19
+ * selected, so a panel's content mounts when its tab is selected.
20
+ *
21
+ * @example
22
+ * <TabPanel value="issues">…</TabPanel>
23
+ */
24
+ export declare function TabPanel({ children, className, tabIndex, value, ...rest }: TabPanelProps): JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { Box as e } from "../Box/Box.js";
2
+ import { panelId as t, tabId as n } from "./tabIds.js";
3
+ import r from "./Tabs.module.js";
4
+ import { useTabsContext as i } from "./useTabsContext.js";
5
+ import { clsx as a } from "clsx";
6
+ import { jsx as o } from "react/jsx-runtime";
7
+ // src/components/Tabs/TabPanel.tsx
8
+ function s({ children: s, className: c, tabIndex: l = 0, value: u, ...d }) {
9
+ let f = i("TabPanel"), p = f.selectedValue === u;
10
+ return /* @__PURE__ */ o(e, {
11
+ ...d,
12
+ className: a(r.tabPanel, c),
13
+ hidden: !p,
14
+ id: t(f.baseId, u),
15
+ role: "tabpanel",
16
+ tabIndex: l,
17
+ "aria-labelledby": n(f.baseId, u),
18
+ children: p ? s : null
19
+ });
20
+ }
21
+ export { s as TabPanel };
@@ -0,0 +1 @@
1
+ .sui-tabs-QzIkz{gap:var(--sui-space-3,.75rem);flex-direction:column;display:flex}.sui-tabs-QzIkz[data-orientation=vertical]{flex-direction:row;align-items:flex-start}.sui-tabList-yw6gS{gap:var(--sui-space-1,.25rem);flex-wrap:wrap;display:flex}.sui-tabList-yw6gS[aria-orientation=vertical]{flex-flow:column;flex:none}.sui-tabList-yw6gS[data-variant=underline]{border-block-end:var(--sui-border-width,1px) solid var(--sui-color-border,#d1d5db)}.sui-tabList-yw6gS[data-variant=underline][aria-orientation=vertical]{border-block-end:0;border-inline-end:var(--sui-border-width,1px) solid var(--sui-color-border,#d1d5db)}.sui-tab-IdDYc{--sui-tab-padding-x:var(--sui-space-4,1rem);--sui-tab-padding-y:var(--sui-space-2,.5rem);--sui-tab-font-size:var(--sui-font-size-md,1rem);--sui-tab-indicator:calc(var(--sui-border-width,1px) * 2);--sui-tab-spring:var(--sui-motion-spring,.12s ease-out);padding:var(--sui-tab-padding-y) var(--sui-tab-padding-x);border:var(--sui-border-width,1px) solid transparent;color:var(--sui-color-text-muted,#4b5563);font-family:var(--sui-font-body,system-ui, sans-serif);font-size:var(--sui-tab-font-size);font-weight:var(--sui-font-weight-control,500);line-height:var(--sui-line-height-tight,1.25);cursor:pointer;background-color:#0000;justify-content:center;align-items:center;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s ease-out,transform .12s ease-out;display:inline-flex;position:relative}.sui-tab-IdDYc[data-size=sm]{--sui-tab-padding-x:var(--sui-space-3,.75rem);--sui-tab-padding-y:var(--sui-space-1,.25rem);--sui-tab-font-size:var(--sui-font-size-sm,.875rem)}.sui-tab-IdDYc[data-size=lg]{--sui-tab-padding-x:var(--sui-space-6,1.5rem);--sui-tab-padding-y:var(--sui-space-3,.75rem);--sui-tab-font-size:var(--sui-font-size-lg,1.125rem)}.sui-tab-IdDYc:hover:not([aria-disabled=true]),.sui-tab-IdDYc[aria-selected=true]{color:var(--sui-color-text,#111827)}.sui-tab-IdDYc[data-variant=underline]:after{block-size:var(--sui-tab-indicator);background-color:var(--sui-color-primary,#2563eb);content:"";transition:transform .12s ease-out;position:absolute;inset-block-end:calc(var(--sui-border-width,1px) * -2);inset-inline:0;transform:scale(0)}.sui-tabList-yw6gS[aria-orientation=vertical] .sui-tab-IdDYc[data-variant=underline]:after{inset-block:0;inset-inline:auto calc(var(--sui-border-width,1px) * -2);inline-size:var(--sui-tab-indicator);block-size:auto}.sui-tab-IdDYc[data-variant=underline][aria-selected=true]:after{transition:transform var(--sui-tab-spring);transform:scale(1)}.sui-tab-IdDYc[data-variant=pill]{border-radius:var(--sui-radius-control,4px)}.sui-tab-IdDYc[data-variant=pill]:hover:not([aria-disabled=true],[aria-selected=true]){background-color:var(--sui-color-secondary-subtle,#f3f4f6)}.sui-tab-IdDYc[data-variant=pill][aria-selected=true]{border-color:var(--sui-color-control-border,transparent);background-color:var(--sui-color-primary,#2563eb);box-shadow:0 var(--sui-control-depth,0px) 0 var(--sui-color-shadow,transparent);color:var(--sui-color-on-primary,#fff);transform:translateY(calc(var(--sui-control-depth,0px) / -2));transition:background-color .12s ease, border-color .12s ease, color .12s ease, box-shadow var(--sui-tab-spring), transform var(--sui-tab-spring)}.sui-tab-IdDYc[aria-disabled=true]{color:color-mix(in srgb, var(--sui-color-text-muted,#4b5563) 50%, transparent);cursor:not-allowed}.sui-tab-IdDYc:focus-visible,.sui-tabPanel-eAxHF:focus-visible{outline:var(--sui-focus-ring-width,2px) solid var(--sui-color-focus-ring,#3b82f6);outline-offset:2px}.sui-tabPanel-eAxHF{flex:1;min-inline-size:0}.sui-tabPanel-eAxHF[hidden]{display:none}@media (prefers-reduced-motion:reduce){.sui-tab-IdDYc,.sui-tab-IdDYc[data-variant=pill][aria-selected=true]{transition:background-color .12s,border-color .12s,color .12s}.sui-tab-IdDYc[data-variant=underline]:after,.sui-tab-IdDYc[data-variant=underline][aria-selected=true]:after{transition:none}}@media (forced-colors:active){.sui-tab-IdDYc[data-variant=underline]:after{forced-color-adjust:none;background-color:highlight}.sui-tab-IdDYc[data-variant=pill][aria-selected=true]{box-shadow:none;color:highlighttext;forced-color-adjust:none;background-color:highlight;border-color:highlight}.sui-tab-IdDYc[data-variant=pill][aria-selected=true]:focus-visible{outline-color:highlight}.sui-tab-IdDYc[aria-disabled=true]{color:graytext}}
@@ -0,0 +1,81 @@
1
+ import type { JSX, ReactNode } from "react";
2
+ import type { ControlSize } from "../../forms";
3
+ import type { BoxProps } from "../Box";
4
+ /**
5
+ * When a tab is selected: `automatic` as it takes focus, `manual` only when a click, Enter or Space activates it
6
+ */
7
+ export type TabsActivation = "automatic" | "manual";
8
+ /**
9
+ * Direction the tabs run in: `horizontal` in a row above the panels, `vertical` in a column beside them
10
+ */
11
+ export type TabsOrientation = "horizontal" | "vertical";
12
+ /**
13
+ * Tab looks: an `underline` under the selected tab, or a `pill` filled with the primary colour
14
+ */
15
+ export type TabsVariant = "pill" | "underline";
16
+ interface TabsOwnProps {
17
+ /**
18
+ * When a tab is selected. Defaults to `automatic`.
19
+ */
20
+ activation?: TabsActivation;
21
+ /**
22
+ * One `TabList` and a `TabPanel` for each `Tab`
23
+ */
24
+ children?: ReactNode;
25
+ /**
26
+ * Called with the value of the tab the user selects, when it differs from the selected one
27
+ */
28
+ onValueChange?: (value: string) => void;
29
+ /**
30
+ * Direction the tabs run in. Defaults to `horizontal`.
31
+ */
32
+ orientation?: TabsOrientation;
33
+ /**
34
+ * Tab size, matching the `Button` sizes. Defaults to `md`.
35
+ */
36
+ size?: ControlSize;
37
+ /**
38
+ * Look of the tabs. Defaults to `underline`.
39
+ */
40
+ variant?: TabsVariant;
41
+ }
42
+ type TabsSelection = {
43
+ /**
44
+ * The tab selected at first. It leaves `Tabs` uncontrolled.
45
+ */
46
+ defaultValue: string;
47
+ /**
48
+ * Not accepted with `defaultValue`
49
+ */
50
+ value?: never;
51
+ } | {
52
+ /**
53
+ * Not accepted with `value`
54
+ */
55
+ defaultValue?: never;
56
+ /**
57
+ * The selected tab, which makes `Tabs` controlled: update it from `onValueChange`
58
+ */
59
+ value: string;
60
+ };
61
+ /**
62
+ * Props for `Tabs`: its own props, `value` or `defaultValue`, and every other `div` prop
63
+ */
64
+ export type TabsProps = TabsOwnProps & TabsSelection & Omit<BoxProps<"div">, "as" | "defaultValue" | keyof TabsOwnProps>;
65
+ /**
66
+ * Tabs that switch between panels of content, following the WAI-ARIA tabs pattern. Give it a `TabList` of `Tab`s and
67
+ * a `TabPanel` for each, matched by `value`. One tab is always selected: pass `defaultValue`, or `value` with
68
+ * `onValueChange`, matching a `Tab`.
69
+ *
70
+ * @example
71
+ * <Tabs defaultValue="code" onValueChange={setTab}>
72
+ * <TabList aria-label="Repository">
73
+ * <Tab value="code">Code</Tab>
74
+ * <Tab value="issues">Issues</Tab>
75
+ * </TabList>
76
+ * <TabPanel value="code">…</TabPanel>
77
+ * <TabPanel value="issues">…</TabPanel>
78
+ * </Tabs>
79
+ */
80
+ export declare function Tabs({ activation, className, defaultValue, onValueChange, orientation, size, value, variant, ...rest }: TabsProps): JSX.Element;
81
+ export {};
@@ -0,0 +1,30 @@
1
+ import { Box as e } from "../Box/Box.js";
2
+ import t from "./Tabs.module.js";
3
+ import { TabsContext as n } from "./TabsContext.js";
4
+ import { clsx as r } from "clsx";
5
+ import { useId as i, useState as a } from "react";
6
+ import { jsx as o } from "react/jsx-runtime";
7
+ // src/components/Tabs/Tabs.tsx
8
+ function s({ activation: s = "automatic", className: c, defaultValue: l, onValueChange: u, orientation: d = "horizontal", size: f = "md", value: p, variant: m = "underline", ...h }) {
9
+ let g = i(), [_, v] = a(l), y = p ?? _;
10
+ function b(e) {
11
+ e !== y && (p === void 0 && v(e), u?.(e));
12
+ }
13
+ return /* @__PURE__ */ o(n.Provider, {
14
+ value: {
15
+ activation: s,
16
+ baseId: g,
17
+ orientation: d,
18
+ select: b,
19
+ selectedValue: y,
20
+ size: f,
21
+ variant: m
22
+ },
23
+ children: /* @__PURE__ */ o(e, {
24
+ ...h,
25
+ className: r(t.tabs, c),
26
+ "data-orientation": d
27
+ })
28
+ });
29
+ }
30
+ export { s as Tabs };
@@ -0,0 +1,8 @@
1
+ import './Tabs.css';// src/components/Tabs/Tabs.module.css
2
+ var e = "sui-tabs-QzIkz", t = "sui-tabList-yw6gS", n = "sui-tab-IdDYc", r = "sui-tabPanel-eAxHF", i = {
3
+ tabs: e,
4
+ tabList: t,
5
+ tab: n,
6
+ tabPanel: r
7
+ };
8
+ export { i as default, n as tab, t as tabList, r as tabPanel, e as tabs };
@@ -0,0 +1,39 @@
1
+ import type { ControlSize } from "../../forms";
2
+ import type { TabsActivation, TabsOrientation, TabsVariant } from "./Tabs";
3
+ /**
4
+ * State a `Tabs` shares with its tab list, tabs and panels
5
+ */
6
+ export interface TabsContextValue {
7
+ /**
8
+ * Whether a tab is selected as it takes focus, or only when it is pressed
9
+ */
10
+ activation: TabsActivation;
11
+ /**
12
+ * The generated id every tab and panel id starts with
13
+ */
14
+ baseId: string;
15
+ /**
16
+ * Direction the tabs run in, which decides the arrow keys
17
+ */
18
+ orientation: TabsOrientation;
19
+ /**
20
+ * Selects the tab with the given value, reporting it to `onValueChange` when it changes
21
+ */
22
+ select: (value: string) => void;
23
+ /**
24
+ * The selected tab's value
25
+ */
26
+ selectedValue: string | undefined;
27
+ /**
28
+ * Size of every tab
29
+ */
30
+ size: ControlSize;
31
+ /**
32
+ * Look of the tab list and its tabs
33
+ */
34
+ variant: TabsVariant;
35
+ }
36
+ /**
37
+ * Carries a `Tabs`'s state to its parts; null outside a `Tabs`
38
+ */
39
+ export declare const TabsContext: import("react").Context<TabsContextValue | null>;
@@ -0,0 +1,4 @@
1
+ import { createContext as e } from "react";
2
+ // src/components/Tabs/TabsContext.ts
3
+ var t = e(null);
4
+ export { t as TabsContext };
@@ -0,0 +1,8 @@
1
+ export { Tab } from "./Tab";
2
+ export type { TabProps } from "./Tab";
3
+ export { TabList } from "./TabList";
4
+ export type { TabListProps } from "./TabList";
5
+ export { TabPanel } from "./TabPanel";
6
+ export type { TabPanelProps } from "./TabPanel";
7
+ export { Tabs } from "./Tabs";
8
+ export type { TabsActivation, TabsOrientation, TabsProps, TabsVariant } from "./Tabs";
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Builds the id of the tab for a value
3
+ *
4
+ * @param baseId the `Tabs`'s generated id
5
+ * @param value the tab's value
6
+ * @returns an id unique to the value within its `Tabs`, whatever characters the value holds
7
+ */
8
+ export declare function tabId(baseId: string, value: string): string;
9
+ /**
10
+ * Builds the id of the panel for a value
11
+ *
12
+ * @param baseId the `Tabs`'s generated id
13
+ * @param value the panel's value
14
+ * @returns an id unique to the value within its `Tabs`, whatever characters the value holds
15
+ */
16
+ export declare function panelId(baseId: string, value: string): string;
@@ -0,0 +1,9 @@
1
+ import { idSegment as e } from "../../accessibility/idSegment.js";
2
+ // src/components/Tabs/tabIds.ts
3
+ function t(t, n) {
4
+ return `${t}-tab-${e(n)}`;
5
+ }
6
+ function n(t, n) {
7
+ return `${t}-panel-${e(n)}`;
8
+ }
9
+ export { n as panelId, t as tabId };
@@ -0,0 +1,9 @@
1
+ import type { TabsContextValue } from "./TabsContext";
2
+ /**
3
+ * Reads the state of the surrounding `Tabs`
4
+ *
5
+ * @param part the name of the part reading it, for the error message
6
+ * @returns the surrounding `Tabs`'s state
7
+ * @throws MissingContextError when the part is not inside a `Tabs`
8
+ */
9
+ export declare function useTabsContext(part: string): TabsContextValue;
@@ -0,0 +1,10 @@
1
+ import { MissingContextError as e } from "../../errors/MissingContextError.js";
2
+ import { TabsContext as t } from "./TabsContext.js";
3
+ import { useContext as n } from "react";
4
+ // src/components/Tabs/useTabsContext.ts
5
+ function r(r) {
6
+ let i = n(t);
7
+ if (i === null) throw new e(r, "Tabs");
8
+ return i;
9
+ }
10
+ export { r as useTabsContext };
@@ -0,0 +1 @@
1
+ .sui-text-78lq0{font-family:var(--sui-font-body,system-ui, sans-serif);line-height:var(--sui-line-height-normal,1.5);margin:0}.sui-text-78lq0[data-size=xs]{font-size:var(--sui-font-size-xs,.75rem)}.sui-text-78lq0[data-size=sm]{font-size:var(--sui-font-size-sm,.875rem)}.sui-text-78lq0[data-size=md]{font-size:var(--sui-font-size-md,1rem)}.sui-text-78lq0[data-size=lg]{font-size:var(--sui-font-size-lg,1.125rem)}.sui-text-78lq0[data-size=xl]{font-size:var(--sui-font-size-xl,1.25rem)}.sui-text-78lq0[data-weight=regular]{font-weight:var(--sui-font-weight-regular,400)}.sui-text-78lq0[data-weight=medium]{font-weight:var(--sui-font-weight-medium,500)}.sui-text-78lq0[data-weight=bold]{font-weight:var(--sui-font-weight-bold,700)}.sui-text-78lq0[data-tone=muted]{color:var(--sui-color-text-muted,#4b5563)}
@@ -0,0 +1,40 @@
1
+ import type { JSX } from "react";
2
+ import type { BoxElement, BoxProps } from "../Box";
3
+ /**
4
+ * Body text sizes, mapped to the `--sui-font-size-*` tokens
5
+ */
6
+ export type TextSize = "xs" | "sm" | "md" | "lg" | "xl";
7
+ /**
8
+ * Text colour; `default` inherits the surrounding text colour
9
+ */
10
+ export type TextTone = "default" | "muted";
11
+ /**
12
+ * Font weights, mapped to the `--sui-font-weight-*` tokens
13
+ */
14
+ export type TextWeight = "bold" | "medium" | "regular";
15
+ interface TextOwnProps {
16
+ /**
17
+ * Font size. Defaults to `md`.
18
+ */
19
+ size?: TextSize;
20
+ /**
21
+ * Text colour. Defaults to `default`.
22
+ */
23
+ tone?: TextTone;
24
+ /**
25
+ * Font weight. Defaults to `regular`.
26
+ */
27
+ weight?: TextWeight;
28
+ }
29
+ /**
30
+ * Props for `Text`: its own props plus every prop supported by the element given in `as`
31
+ */
32
+ export type TextProps<E extends BoxElement = "span"> = TextOwnProps & Omit<BoxProps<E>, keyof TextOwnProps>;
33
+ /**
34
+ * Body text in the theme's body font
35
+ *
36
+ * @example
37
+ * <Text as="p" size="sm" tone="muted">Last updated today</Text>
38
+ */
39
+ export declare function Text<E extends BoxElement = "span">({ as, className, size, tone, weight, ...rest }: TextProps<E>): JSX.Element;
40
+ export {};
@@ -0,0 +1,16 @@
1
+ import { Box as e } from "../Box/Box.js";
2
+ import t from "./Text.module.js";
3
+ import { clsx as n } from "clsx";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ // src/components/Text/Text.tsx
6
+ function i({ as: i, className: a, size: o = "md", tone: s = "default", weight: c = "regular", ...l }) {
7
+ return /* @__PURE__ */ r(e, {
8
+ ...l,
9
+ as: i ?? "span",
10
+ className: n(t.text, a),
11
+ "data-size": o,
12
+ "data-tone": s,
13
+ "data-weight": c
14
+ });
15
+ }
16
+ export { i as Text };
@@ -0,0 +1,3 @@
1
+ import './Text.css';// src/components/Text/Text.module.css
2
+ var e = "sui-text-78lq0", t = { text: e };
3
+ export { t as default, e as text };
@@ -0,0 +1,2 @@
1
+ export { Text } from "./Text";
2
+ export type { TextProps, TextSize, TextTone, TextWeight } from "./Text";
@@ -0,0 +1 @@
1
+ .sui-textControl-gGW4a{--sui-text-control-bg:var(--sui-color-field,#fff);--sui-text-control-fg:var(--sui-color-text,#111827);--sui-text-control-border:var(--sui-color-input-border,#6b7280);--sui-text-control-border-width:var(--sui-border-width,1px);--sui-text-control-radius:var(--sui-radius-control,4px);--sui-text-control-padding-x:var(--sui-space-4,1rem);--sui-text-control-padding-y:var(--sui-space-2,.5rem);--sui-text-control-font-size:var(--sui-font-size-md,1rem);padding:var(--sui-text-control-padding-y) var(--sui-text-control-padding-x);border:var(--sui-text-control-border-width) solid var(--sui-text-control-border);border-radius:var(--sui-text-control-radius);background-color:var(--sui-text-control-bg);color:var(--sui-text-control-fg);font-family:var(--sui-font-body,system-ui, sans-serif);font-size:var(--sui-text-control-font-size);line-height:var(--sui-line-height-tight,1.25);transition:border-color .12s}.sui-textControl-gGW4a[data-size=sm]{--sui-text-control-padding-x:var(--sui-space-3,.75rem);--sui-text-control-padding-y:var(--sui-space-1,.25rem);--sui-text-control-font-size:var(--sui-font-size-sm,.875rem)}.sui-textControl-gGW4a[data-size=lg]{--sui-text-control-padding-x:var(--sui-space-6,1.5rem);--sui-text-control-padding-y:var(--sui-space-3,.75rem);--sui-text-control-font-size:var(--sui-font-size-lg,1.125rem)}.sui-textControl-gGW4a:where(textarea){--sui-text-control-radius:var(--sui-radius-md,4px);line-height:var(--sui-line-height-normal,1.5);resize:vertical}.sui-textControl-gGW4a:where(select){--sui-text-control-chevron-size:.375em;background-image:linear-gradient(45deg,#0000 calc(50% - 1px),currentColor calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px)),linear-gradient(135deg,#0000 calc(50% - 1px),currentColor calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px));background-position:right calc(var(--sui-text-control-padding-x) + var(--sui-text-control-chevron-size) - 1px) center, right var(--sui-text-control-padding-x) center;background-repeat:no-repeat;background-size:var(--sui-text-control-chevron-size) var(--sui-text-control-chevron-size);appearance:none;padding-inline-end:calc(var(--sui-text-control-padding-x) + var(--sui-text-control-chevron-size) * 3)}.sui-textControl-gGW4a:where(select):dir(rtl){background-position:left var(--sui-text-control-padding-x) center, left calc(var(--sui-text-control-padding-x) + var(--sui-text-control-chevron-size) - 1px) center}@media (forced-colors:active){.sui-textControl-gGW4a:where(select){appearance:auto;padding-inline-end:var(--sui-text-control-padding-x)}}.sui-textControl-gGW4a::placeholder{color:var(--sui-color-text-muted,#4b5563);opacity:1}.sui-textControl-gGW4a:focus-visible{outline:var(--sui-focus-ring-width,2px) solid var(--sui-color-focus-ring,#3b82f6);outline-offset:2px}.sui-textControl-gGW4a[aria-invalid=true]{--sui-text-control-border:var(--sui-color-danger-text,#b91c1c)}.sui-textControl-gGW4a:disabled{cursor:not-allowed;opacity:.5}
@@ -0,0 +1,22 @@
1
+ import type { JSX } from "react";
2
+ import type { ControlSize } from "../../forms";
3
+ import type { BoxProps } from "../Box";
4
+ type TextControlElement = "button" | "input" | "select" | "textarea";
5
+ interface TextControlOwnProps<E extends TextControlElement> {
6
+ /**
7
+ * Native element to render
8
+ */
9
+ as: E;
10
+ /**
11
+ * Padding and font size of the control, matching the `Button` sizes. Takes the place of the native `size`
12
+ * attribute.
13
+ */
14
+ size: ControlSize;
15
+ }
16
+ type TextControlProps<E extends TextControlElement> = TextControlOwnProps<E> & Omit<BoxProps<E>, keyof TextControlOwnProps<E>>;
17
+ /**
18
+ * Themed text-entry element shared by `TextInput`, `Textarea`, `Select`, `Combobox` and `Autocomplete`. Inside a
19
+ * `Field` it takes its id, description, and invalid, disabled and required state from the field.
20
+ */
21
+ export declare function TextControl<E extends TextControlElement>({ as, className, size, ...rest }: TextControlProps<E>): JSX.Element;
22
+ export {};
@@ -0,0 +1,27 @@
1
+ import { useFieldControl as e } from "../../forms/useFieldControl.js";
2
+ import { Box as t } from "../Box/Box.js";
3
+ import n from "./TextControl.module.js";
4
+ import { clsx as r } from "clsx";
5
+ import { c as i } from "react/compiler-runtime";
6
+ import { jsx as a } from "react/jsx-runtime";
7
+ // src/components/TextControl/TextControl.tsx
8
+ function o(o) {
9
+ let s = i(20), c, l, u, d;
10
+ s[0] === o ? (c = s[1], l = s[2], u = s[3], d = s[4]) : ({as: c, className: l, size: d, ...u} = o, s[0] = o, s[1] = c, s[2] = l, s[3] = u, s[4] = d);
11
+ let f = u, p = e(f), m, h;
12
+ s[5] === p ? (m = s[6], h = s[7]) : ({required: h, ...m} = p, s[5] = p, s[6] = m, s[7] = h);
13
+ let g;
14
+ s[8] !== c || s[9] !== h ? (g = c === "button" ? { "aria-required": h } : { required: h }, s[8] = c, s[9] = h, s[10] = g) : g = s[10];
15
+ let _ = g, v = c, y;
16
+ s[11] === l ? y = s[12] : (y = r(n.textControl, l), s[11] = l, s[12] = y);
17
+ let b;
18
+ return s[13] !== f || s[14] !== m || s[15] !== _ || s[16] !== d || s[17] !== v || s[18] !== y ? (b = /* @__PURE__ */ a(t, {
19
+ ...f,
20
+ ...m,
21
+ ..._,
22
+ as: v,
23
+ className: y,
24
+ "data-size": d
25
+ }), s[13] = f, s[14] = m, s[15] = _, s[16] = d, s[17] = v, s[18] = y, s[19] = b) : b = s[19], b;
26
+ }
27
+ export { o as TextControl };
@@ -0,0 +1,3 @@
1
+ import './TextControl.css';// src/components/TextControl/TextControl.module.css
2
+ var e = "sui-textControl-gGW4a", t = { textControl: e };
3
+ export { t as default, e as textControl };
@@ -0,0 +1 @@
1
+ export { TextControl } from "./TextControl";
@@ -0,0 +1,31 @@
1
+ import type { JSX } from "react";
2
+ import type { ControlSize } from "../../forms";
3
+ import type { BoxProps } from "../Box";
4
+ /**
5
+ * Input types `TextInput` supports: the ones that take a line of typed text
6
+ */
7
+ export type TextInputType = "email" | "number" | "password" | "search" | "tel" | "text" | "url";
8
+ /**
9
+ * Props for `TextInput`: its own props plus every native input prop
10
+ */
11
+ export interface TextInputProps extends Omit<BoxProps<"input">, "as" | "children" | "dangerouslySetInnerHTML" | "size" | "type"> {
12
+ /**
13
+ * Height of the input, matching the `Button` sizes. Takes the place of the native `size` attribute. Defaults
14
+ * to `md`. The `sm` text is under 16px, which makes iOS Safari zoom the page when the input takes focus.
15
+ */
16
+ size?: ControlSize;
17
+ /**
18
+ * Kind of text the input takes. Defaults to `text`.
19
+ */
20
+ type?: TextInputType;
21
+ }
22
+ /**
23
+ * Themed single-line text input. Inside a `Field` it takes its label, description, error, and required and
24
+ * disabled state from the field. Outside one, give it an accessible name, for example with `aria-label`.
25
+ *
26
+ * @example
27
+ * <Field label="Email">
28
+ * <TextInput autoComplete="email" type="email" />
29
+ * </Field>
30
+ */
31
+ export declare function TextInput({ size, type, ...rest }: TextInputProps): JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { TextControl as e } from "../TextControl/TextControl.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ // src/components/TextInput/TextInput.tsx
4
+ function n({ size: n = "md", type: r = "text", ...i }) {
5
+ return /* @__PURE__ */ t(e, {
6
+ ...i,
7
+ as: "input",
8
+ size: n,
9
+ type: r
10
+ });
11
+ }
12
+ export { n as TextInput };
@@ -0,0 +1,2 @@
1
+ export { TextInput } from "./TextInput";
2
+ export type { TextInputProps, TextInputType } from "./TextInput";
@@ -0,0 +1,24 @@
1
+ import type { JSX } from "react";
2
+ import type { ControlSize } from "../../forms";
3
+ import type { BoxProps } from "../Box";
4
+ /**
5
+ * Props for `Textarea`: its own props plus every native textarea prop
6
+ */
7
+ export interface TextareaProps extends Omit<BoxProps<"textarea">, "as" | "children" | "dangerouslySetInnerHTML"> {
8
+ /**
9
+ * Padding and font size of the textarea, matching the `Button` sizes. Defaults to `md`. The `sm` text is under
10
+ * 16px, which makes iOS Safari zoom the page when the textarea takes focus.
11
+ */
12
+ size?: ControlSize;
13
+ }
14
+ /**
15
+ * Themed multi-line text input that the user can resize vertically. Set its height with `rows` and its text
16
+ * with `value` or `defaultValue`. Inside a `Field` it takes its label, description, error, and required and
17
+ * disabled state from the field. Outside one, give it an accessible name, for example with `aria-label`.
18
+ *
19
+ * @example
20
+ * <Field label="Message">
21
+ * <Textarea rows={4} />
22
+ * </Field>
23
+ */
24
+ export declare function Textarea({ size, ...rest }: TextareaProps): JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { TextControl as e } from "../TextControl/TextControl.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ // src/components/Textarea/Textarea.tsx
4
+ function n({ size: n = "md", ...r }) {
5
+ return /* @__PURE__ */ t(e, {
6
+ ...r,
7
+ as: "textarea",
8
+ size: n
9
+ });
10
+ }
11
+ export { n as Textarea };
@@ -0,0 +1,2 @@
1
+ export { Textarea } from "./Textarea";
2
+ export type { TextareaProps } from "./Textarea";
@@ -0,0 +1,46 @@
1
+ import type { JSX } from "react";
2
+ import type { BoxElement, BoxProps } from "../Box";
3
+ /**
4
+ * Names of the themes shipped in `styles.css`
5
+ */
6
+ export type ThemeName = "default" | "playful";
7
+ /**
8
+ * Colour mode; `system` follows the operating system preference
9
+ */
10
+ export type ThemeMode = "dark" | "light" | "system";
11
+ /**
12
+ * Names of the colour palettes shipped in `styles.css`
13
+ */
14
+ export type PaletteName = "bright" | "dusk" | "mist" | "paper" | "pop";
15
+ interface ThemeOwnProps {
16
+ /**
17
+ * Colour mode for this subtree. Inherited from the nearest ancestor when omitted.
18
+ */
19
+ mode?: ThemeMode;
20
+ /**
21
+ * Colour palette for this subtree. Defaults to the theme's companion palette on an element that sets `theme`, and
22
+ * is inherited from the nearest ancestor otherwise.
23
+ */
24
+ palette?: PaletteName;
25
+ /**
26
+ * Theme for this subtree. Inherited from the nearest ancestor when omitted.
27
+ */
28
+ theme?: ThemeName;
29
+ }
30
+ /**
31
+ * Props for `Theme`: its own props plus every prop supported by the element given in `as`
32
+ */
33
+ export type ThemeProps<E extends BoxElement = "div"> = ThemeOwnProps & Omit<BoxProps<E>, keyof ThemeOwnProps>;
34
+ /**
35
+ * Sets the theme, palette and colour mode attributes for its subtree. `styles.css` paints the
36
+ * background, text colour and font of any element that carries these attributes, so this needs
37
+ * `@krelborn/stylesui/styles.css` imported once by the app.
38
+ *
39
+ * @example
40
+ * <Theme mode="dark" theme="playful">...</Theme>
41
+ *
42
+ * @example
43
+ * <Theme palette="pop" theme="default">...</Theme>
44
+ */
45
+ export declare function Theme<E extends BoxElement = "div">({ as, mode, palette, theme, ...rest }: ThemeProps<E>): JSX.Element;
46
+ export {};
@@ -0,0 +1,17 @@
1
+ import { Box as e } from "../Box/Box.js";
2
+ import { c as t } from "react/compiler-runtime";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ // src/components/Theme/Theme.tsx
5
+ function r(r) {
6
+ let i = t(12), a, o, s, c, l;
7
+ i[0] === r ? (a = i[1], o = i[2], s = i[3], c = i[4], l = i[5]) : ({as: a, mode: o, palette: s, theme: l, ...c} = r, i[0] = r, i[1] = a, i[2] = o, i[3] = s, i[4] = c, i[5] = l);
8
+ let u = c, d = a, f;
9
+ return i[6] !== u || i[7] !== o || i[8] !== s || i[9] !== d || i[10] !== l ? (f = /* @__PURE__ */ n(e, {
10
+ ...u,
11
+ as: d,
12
+ "data-sui-mode": o,
13
+ "data-sui-palette": s,
14
+ "data-sui-theme": l
15
+ }), i[6] = u, i[7] = o, i[8] = s, i[9] = d, i[10] = l, i[11] = f) : f = i[11], f;
16
+ }
17
+ export { r as Theme };
@@ -0,0 +1,2 @@
1
+ export { Theme } from "./Theme";
2
+ export type { PaletteName, ThemeMode, ThemeName, ThemeProps } from "./Theme";
@@ -0,0 +1 @@
1
+ .sui-tooltip-UA7H9{max-inline-size:var(--sui-tooltip-max-width,20rem);padding:var(--sui-space-1,.25rem) var(--sui-space-2,.5rem);border-radius:var(--sui-radius-md,4px);background-color:var(--sui-color-tooltip,#111827);box-shadow:var(--sui-shadow-sm,0 1px 3px #0000001f);color:var(--sui-color-on-tooltip,#fff);font-family:var(--sui-font-body,system-ui, sans-serif);font-size:var(--sui-font-size-sm,.875rem);line-height:var(--sui-line-height-normal,1.5);transition:opacity .12s ease-out}@starting-style{.sui-tooltip-UA7H9{opacity:0}}@media (prefers-reduced-motion:reduce){.sui-tooltip-UA7H9{transition:none}}
@@ -0,0 +1,49 @@
1
+ import type { JSX, PointerEventHandler } from "react";
2
+ import type { OverlayPlacement } from "../../overlays";
3
+ import type { BoxProps } from "../Box";
4
+ /**
5
+ * Props `getOverlayProps` from `useTooltip` returns, which every `Tooltip` takes
6
+ */
7
+ export interface TooltipOverlayProps {
8
+ /**
9
+ * `anchor-name` of the trigger the tooltip is positioned against. From `getOverlayProps`.
10
+ */
11
+ anchorName: string;
12
+ /**
13
+ * The tooltip's id, which the trigger's `aria-describedby` or `aria-labelledby` points at. From `getOverlayProps`.
14
+ */
15
+ id: string;
16
+ /**
17
+ * Keeps the tooltip open while the pointer is over it. From `getOverlayProps`.
18
+ */
19
+ onPointerEnter?: PointerEventHandler<HTMLElement>;
20
+ /**
21
+ * Hides the tooltip after the hide delay once the pointer leaves it. From `getOverlayProps`.
22
+ */
23
+ onPointerLeave?: PointerEventHandler<HTMLElement>;
24
+ /**
25
+ * Whether the tooltip is shown. From `getOverlayProps`.
26
+ */
27
+ open: boolean;
28
+ /**
29
+ * Side of the trigger the tooltip opens on. From `getOverlayProps`.
30
+ */
31
+ placement: OverlayPlacement;
32
+ }
33
+ /**
34
+ * Props for `Tooltip`: the props `getOverlayProps` returns plus every `span` prop except `popover`, `ref` and `role`
35
+ */
36
+ export interface TooltipProps extends TooltipOverlayProps, Omit<BoxProps<"span">, "as" | "popover" | "ref" | "role" | keyof TooltipOverlayProps> {
37
+ }
38
+ /**
39
+ * Short text shown beside the element it belongs to while the pointer rests on that element or it has keyboard
40
+ * focus. `useTooltip` connects the two: spread `getTriggerProps()` on the element and `getOverlayProps()` on the
41
+ * tooltip, inside the same `Theme`. A tooltip holds text only, nothing interactive.
42
+ *
43
+ * @example
44
+ * const tooltip = useTooltip();
45
+ *
46
+ * <Button {...tooltip.getTriggerProps()}>Publish</Button>
47
+ * <Tooltip {...tooltip.getOverlayProps()}>Sends to all subscribers</Tooltip>
48
+ */
49
+ export declare function Tooltip({ className, ...rest }: TooltipProps): JSX.Element;