@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,74 @@
1
+ import { optionId as e } from "../../collections/optionId.js";
2
+ import { hasContent as t } from "../../forms/hasContent.js";
3
+ import { Box as n } from "../Box/Box.js";
4
+ import r from "../MenuSurface/MenuSurface.module.js";
5
+ import i from "./Combobox.module.js";
6
+ import { ComboboxOptionContent as a } from "./ComboboxOptionContent.js";
7
+ import { useComboboxContext as o } from "./useComboboxContext.js";
8
+ import { useComboboxOption as s } from "./useComboboxOption.js";
9
+ import { clsx as c } from "clsx";
10
+ import { useId as l, useRef as u } from "react";
11
+ import { jsx as d } from "react/jsx-runtime";
12
+ // src/components/Combobox/ComboboxOption.tsx
13
+ function f({ "aria-describedby": f, children: h, className: g, description: _, disabled: v = !1, leading: y, onClick: b, onPointerMove: x, ref: S, textValue: C, value: w, ...T }) {
14
+ let E = o("ComboboxOption"), D = u(null), O = l(), k = l(), A = E.active?.value === w ? E.active.source : void 0, j = E.selectedValue === w, M = p(t(_) ? k : void 0, f);
15
+ s({
16
+ children: h,
17
+ leading: y,
18
+ optionRef: D,
19
+ selected: j,
20
+ textValue: C,
21
+ value: w
22
+ });
23
+ function N(e) {
24
+ D.current = e;
25
+ let t = m(S, e);
26
+ return () => {
27
+ D.current = null, t();
28
+ };
29
+ }
30
+ function P(e) {
31
+ b?.(e), !e.defaultPrevented && !v && E.commit(w);
32
+ }
33
+ function F(e) {
34
+ x?.(e), e.pointerType !== "touch" && E.active?.value !== w && E.activateFromPointer(w);
35
+ }
36
+ return /* @__PURE__ */ d(n, {
37
+ ...T,
38
+ className: c(r.item, i.option, g),
39
+ id: e(E.baseId, w),
40
+ onClick: P,
41
+ onPointerMove: F,
42
+ ref: N,
43
+ role: "option",
44
+ "aria-describedby": M,
45
+ "aria-disabled": v ? !0 : void 0,
46
+ "aria-labelledby": O,
47
+ "aria-selected": j,
48
+ "data-active": A,
49
+ "data-text-value": C,
50
+ "data-value": w,
51
+ children: /* @__PURE__ */ d(a, {
52
+ description: _,
53
+ descriptionId: k,
54
+ labelId: O,
55
+ leading: y,
56
+ selected: j,
57
+ children: h
58
+ })
59
+ });
60
+ }
61
+ function p(...e) {
62
+ let t = e.filter(Boolean).join(" ");
63
+ return t === "" ? void 0 : t;
64
+ }
65
+ function m(e, t) {
66
+ if (typeof e == "function") {
67
+ let n = e(t);
68
+ return typeof n == "function" ? n : () => e(null);
69
+ }
70
+ return e == null ? () => {} : (e.current = t, () => {
71
+ e.current = null;
72
+ });
73
+ }
74
+ export { f as ComboboxOption };
@@ -0,0 +1,32 @@
1
+ import type { JSX, ReactNode } from "react";
2
+ interface ComboboxOptionContentProps {
3
+ /**
4
+ * The label
5
+ */
6
+ children: ReactNode;
7
+ /**
8
+ * A line of muted text below the label
9
+ */
10
+ description: ReactNode;
11
+ /**
12
+ * The id of the description, which describes the option
13
+ */
14
+ descriptionId: string;
15
+ /**
16
+ * The id of the label, which names the option
17
+ */
18
+ labelId: string;
19
+ /**
20
+ * Content before the label
21
+ */
22
+ leading: ReactNode;
23
+ /**
24
+ * Whether the option is selected, which shows a check
25
+ */
26
+ selected: boolean;
27
+ }
28
+ /**
29
+ * A combobox option's row: the check of a selected option, then its leading content, label and description
30
+ */
31
+ export declare function ComboboxOptionContent({ children, description, descriptionId, labelId, leading, selected, }: ComboboxOptionContentProps): JSX.Element;
32
+ export {};
@@ -0,0 +1,51 @@
1
+ import { hasContent as e } from "../../forms/hasContent.js";
2
+ import { Box as t } from "../Box/Box.js";
3
+ import { CheckIcon as n } from "../Icon/CheckIcon.js";
4
+ import r from "../MenuSurface/MenuSurface.module.js";
5
+ import i from "./Combobox.module.js";
6
+ import { c as a } from "react/compiler-runtime";
7
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
8
+ // src/components/Combobox/ComboboxOptionContent.tsx
9
+ function l(l) {
10
+ let u = a(17), { children: d, description: f, descriptionId: p, labelId: m, leading: h, selected: g } = l, _;
11
+ u[0] === g ? _ = u[1] : (_ = g && /* @__PURE__ */ s(t, {
12
+ as: "span",
13
+ className: `${r.leading} ${i.check}`,
14
+ "aria-hidden": !0,
15
+ children: /* @__PURE__ */ s(n, {})
16
+ }), u[0] = g, u[1] = _);
17
+ let v;
18
+ u[2] === h ? v = u[3] : (v = e(h) && /* @__PURE__ */ s(t, {
19
+ as: "span",
20
+ className: i.optionLeading,
21
+ "aria-hidden": !0,
22
+ children: h
23
+ }), u[2] = h, u[3] = v);
24
+ let y;
25
+ u[4] !== d || u[5] !== m ? (y = /* @__PURE__ */ s(t, {
26
+ as: "span",
27
+ className: r.label,
28
+ id: m,
29
+ children: d
30
+ }), u[4] = d, u[5] = m, u[6] = y) : y = u[6];
31
+ let b;
32
+ u[7] !== f || u[8] !== p ? (b = e(f) && /* @__PURE__ */ s(t, {
33
+ as: "span",
34
+ className: r.description,
35
+ id: p,
36
+ children: f
37
+ }), u[7] = f, u[8] = p, u[9] = b) : b = u[9];
38
+ let x;
39
+ u[10] !== y || u[11] !== b ? (x = /* @__PURE__ */ c(t, {
40
+ as: "span",
41
+ className: r.text,
42
+ children: [y, b]
43
+ }), u[10] = y, u[11] = b, u[12] = x) : x = u[12];
44
+ let S;
45
+ return u[13] !== _ || u[14] !== v || u[15] !== x ? (S = /* @__PURE__ */ c(o, { children: [
46
+ _,
47
+ v,
48
+ x
49
+ ] }), u[13] = _, u[14] = v, u[15] = x, u[16] = S) : S = u[16], S;
50
+ }
51
+ export { l as ComboboxOptionContent };
@@ -0,0 +1,50 @@
1
+ import type { JSX, ReactNode } from "react";
2
+ import type { ComboboxList } from "./useComboboxList";
3
+ /**
4
+ * Where a combobox's list opens, flipping to the other side when there is no room
5
+ */
6
+ export type ComboboxPlacement = "bottom-start" | "top-start";
7
+ interface ComboboxPopupProps {
8
+ /**
9
+ * The control's `aria-label`, which names the list outside a `Field`
10
+ */
11
+ "aria-label": string | undefined;
12
+ /**
13
+ * The control's `aria-labelledby`, which names the list outside a `Field`
14
+ */
15
+ "aria-labelledby": string | undefined;
16
+ /**
17
+ * The options
18
+ */
19
+ children: ReactNode;
20
+ /**
21
+ * Whether the control is disabled, which leaves its value out of the form
22
+ */
23
+ disabled: boolean | undefined;
24
+ /**
25
+ * The line shown in place of the options while none shows; without one, an empty list shows nothing
26
+ */
27
+ emptyMessage?: string;
28
+ /**
29
+ * The id of the form the value submits with, when not the one around the control
30
+ */
31
+ form: string | undefined;
32
+ /**
33
+ * The list's state
34
+ */
35
+ list: ComboboxList;
36
+ /**
37
+ * The name the selected value submits under with a form; without one, nothing is submitted
38
+ */
39
+ name: string | undefined;
40
+ /**
41
+ * Where the list opens
42
+ */
43
+ placement: ComboboxPlacement;
44
+ }
45
+ /**
46
+ * A combobox's list, an overlay on the menu surface holding the `listbox` and its options named by the surrounding
47
+ * `Field`'s label or else as the control is, followed by the hidden input that submits the value when it has a name
48
+ */
49
+ export declare function ComboboxPopup({ "aria-label": label, "aria-labelledby": labelledBy, children, disabled, emptyMessage, form, list, name, placement, }: ComboboxPopupProps): JSX.Element;
50
+ export {};
@@ -0,0 +1,59 @@
1
+ import { FieldContext as e } from "../../forms/FieldContext.js";
2
+ import { anchorNameFor as t } from "../../overlays/anchorNameFor.js";
3
+ import { Box as n } from "../Box/Box.js";
4
+ import r from "../MenuSurface/MenuSurface.module.js";
5
+ import { Overlay as i } from "../Overlay/Overlay.js";
6
+ import a from "./Combobox.module.js";
7
+ import { ComboboxContext as o } from "./ComboboxContext.js";
8
+ import { useContext as s } from "react";
9
+ import { c } from "react/compiler-runtime";
10
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
11
+ // src/components/Combobox/ComboboxPopup.tsx
12
+ function d(d) {
13
+ let f = c(26), { "aria-label": p, "aria-labelledby": m, children: h, disabled: g, emptyMessage: _, form: v, list: y, name: b, placement: x } = d, { attachList: S, context: C, listId: w, open: T, selectedValue: E } = y, D = s(e)?.labelId, O;
14
+ f[0] === Symbol.for("react.memo_cache_sentinel") ? (O = function(e) {
15
+ e.preventDefault();
16
+ }, f[0] = O) : O = f[0];
17
+ let k = O, A;
18
+ f[1] === w ? A = f[2] : (A = t(w), f[1] = w, f[2] = A);
19
+ let j = D === void 0 ? p : void 0, M = D ?? m, N;
20
+ f[3] !== S || f[4] !== h || f[5] !== w || f[6] !== j || f[7] !== M ? (N = /* @__PURE__ */ l(n, {
21
+ className: a.listbox,
22
+ id: w,
23
+ ref: S,
24
+ role: "listbox",
25
+ "aria-label": j,
26
+ "aria-labelledby": M,
27
+ children: h
28
+ }), f[3] = S, f[4] = h, f[5] = w, f[6] = j, f[7] = M, f[8] = N) : N = f[8];
29
+ let P;
30
+ f[9] === _ ? P = f[10] : (P = _ !== void 0 && /* @__PURE__ */ l(n, {
31
+ className: a.empty,
32
+ children: _
33
+ }), f[9] = _, f[10] = P);
34
+ let F;
35
+ f[11] !== T || f[12] !== x || f[13] !== A || f[14] !== N || f[15] !== P ? (F = /* @__PURE__ */ u(i, {
36
+ anchorName: A,
37
+ as: "div",
38
+ className: `${r.menu} ${a.popup}`,
39
+ onMouseDown: k,
40
+ open: T,
41
+ placement: x,
42
+ popover: "manual",
43
+ children: [N, P]
44
+ }), f[11] = T, f[12] = x, f[13] = A, f[14] = N, f[15] = P, f[16] = F) : F = f[16];
45
+ let I;
46
+ f[17] !== g || f[18] !== v || f[19] !== b || f[20] !== E ? (I = b !== void 0 && /* @__PURE__ */ l("input", {
47
+ disabled: g,
48
+ form: v,
49
+ name: b,
50
+ type: "hidden",
51
+ value: E ?? ""
52
+ }), f[17] = g, f[18] = v, f[19] = b, f[20] = E, f[21] = I) : I = f[21];
53
+ let L;
54
+ return f[22] !== C || f[23] !== F || f[24] !== I ? (L = /* @__PURE__ */ u(o.Provider, {
55
+ value: C,
56
+ children: [F, I]
57
+ }), f[22] = C, f[23] = F, f[24] = I, f[25] = L) : L = f[25], L;
58
+ }
59
+ export { d as ComboboxPopup };
@@ -0,0 +1,31 @@
1
+ import type { KeyboardEvent } from "react";
2
+ import type { ComboboxList } from "./useComboboxList";
3
+ /**
4
+ * The input's text, which Enter and Escape read and Escape clears
5
+ */
6
+ interface InputText {
7
+ /**
8
+ * Puts text in the input
9
+ */
10
+ commit: (text: string) => void;
11
+ /**
12
+ * Whether the input holds text typed since the last choice
13
+ */
14
+ editing: boolean;
15
+ /**
16
+ * The text the input shows
17
+ */
18
+ shown: string;
19
+ }
20
+ /**
21
+ * Acts on a key pressed in an `Autocomplete`'s input, leaving typing, the caret keys, keys that compose text in an input
22
+ * method, and Enter with no active option and no unchosen text, to the input
23
+ *
24
+ * @param event the key event
25
+ * @param list the autocomplete's list
26
+ * @param text the input's text: Enter does not submit text typed since the last choice, and Escape on the closed input
27
+ * clears it with the selection
28
+ * @returns whether the key was handled, so its default should be prevented
29
+ */
30
+ export declare function handleAutocompleteKey(event: KeyboardEvent<HTMLElement>, list: ComboboxList, text: InputText): boolean;
31
+ export {};
@@ -0,0 +1,25 @@
1
+ import { hasModifier as e } from "../../menus/hasModifier.js";
2
+ import { isAltArrow as t } from "./isAltArrow.js";
3
+ // src/components/Combobox/autocompleteKeys.ts
4
+ function n(n, i, a) {
5
+ if (n.nativeEvent.isComposing || n.keyCode === 229) return !1;
6
+ if (t(n, "ArrowDown")) return i.open || i.openList("none", "keyboard"), !0;
7
+ if (t(n, "ArrowUp")) {
8
+ let e = i.open;
9
+ return i.commitActive(), e;
10
+ }
11
+ return !e(n) && r(n.key, i, a);
12
+ }
13
+ function r(e, t, n) {
14
+ return e === "ArrowDown" || e === "ArrowUp" ? i(e, t) : e === "Enter" ? a(t, n) : e === "Escape" ? o(t, n) : (e === "Tab" && t.close(), !1);
15
+ }
16
+ function i(e, t) {
17
+ return t.open ? t.moveByKey(e) : (t.openList(e === "ArrowDown" ? "first" : "last", "keyboard"), !0);
18
+ }
19
+ function a(e, t) {
20
+ return e.activeDescendant === void 0 ? t.editing && t.shown !== "" : (e.commitActive(), !0);
21
+ }
22
+ function o(e, t) {
23
+ return e.open ? (e.close(), !0) : t.shown === "" && e.selectedValue === null ? !1 : (e.select(null), t.commit(""), !0);
24
+ }
25
+ export { n as handleAutocompleteKey };
@@ -0,0 +1,10 @@
1
+ import type { KeyboardEvent } from "react";
2
+ import type { ComboboxList } from "./useComboboxList";
3
+ /**
4
+ * Acts on a key pressed on a `Combobox`'s field
5
+ *
6
+ * @param event the key event
7
+ * @param list the combobox's list
8
+ * @returns whether the key was handled, so its default should be prevented
9
+ */
10
+ export declare function handleComboboxKey(event: KeyboardEvent<HTMLElement>, list: ComboboxList): boolean;
@@ -0,0 +1,22 @@
1
+ import { hasModifier as e } from "../../menus/hasModifier.js";
2
+ import { isAltArrow as t } from "./isAltArrow.js";
3
+ // src/components/Combobox/comboboxKeys.ts
4
+ var n = {
5
+ " ": "selected",
6
+ ArrowDown: "selected",
7
+ ArrowUp: "selected",
8
+ End: "last",
9
+ Enter: "selected",
10
+ Home: "first"
11
+ };
12
+ function r(e, t) {
13
+ return t.open ? a(e, t) : i(e, t);
14
+ }
15
+ function i(r, i) {
16
+ let a = n[r.key];
17
+ return t(r, "ArrowDown") ? (i.openList("none", "keyboard"), !0) : e(r) ? !1 : a === void 0 ? Array.from(r.key).length === 1 && (i.openList("selected", "keyboard"), i.typeAhead(r.key), !0) : (i.openList(a, "keyboard"), !0);
18
+ }
19
+ function a(n, r) {
20
+ return n.key === "Tab" || n.key === "Escape" ? (r.close(), n.key === "Escape") : t(n, "ArrowUp") ? (r.commitActive(), !0) : e(n) ? !1 : n.key === "Enter" || n.key === " " && !r.isTypingAhead() ? (r.commitActive(), !0) : r.moveByKey(n.key) || r.typeAhead(n.key);
21
+ }
22
+ export { r as handleComboboxKey };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Tests whether an option's text contains the typed text, ignoring case, accents and the typed text's surrounding
3
+ * spaces: an `Autocomplete`'s default filter
4
+ *
5
+ * @param textValue the option's text
6
+ * @param inputValue the typed text
7
+ * @returns true when the option shows
8
+ */
9
+ export declare function containsText(textValue: string, inputValue: string): boolean;
@@ -0,0 +1,8 @@
1
+ // src/components/Combobox/containsText.ts
2
+ function e(e, n) {
3
+ return t(e).includes(t(n.trim()));
4
+ }
5
+ function t(e) {
6
+ return e.normalize("NFD").replace(/\p{Diacritic}/gu, "").toLocaleLowerCase();
7
+ }
8
+ export { e as containsText };
@@ -0,0 +1,6 @@
1
+ export { Autocomplete } from "./Autocomplete";
2
+ export type { AutocompleteProps } from "./Autocomplete";
3
+ export { Combobox } from "./Combobox";
4
+ export type { ComboboxProps } from "./Combobox";
5
+ export { ComboboxOption } from "./ComboboxOption";
6
+ export type { ComboboxOptionProps } from "./ComboboxOption";
@@ -0,0 +1,9 @@
1
+ import type { KeyboardEvent } from "react";
2
+ /**
3
+ * Whether a key is an arrow pressed with Alt alone, which opens or commits a combobox's list
4
+ *
5
+ * @param event the key event
6
+ * @param key the arrow
7
+ * @returns true for that arrow with Alt and neither Ctrl nor Meta
8
+ */
9
+ export declare function isAltArrow(event: KeyboardEvent<HTMLElement>, key: "ArrowDown" | "ArrowUp"): boolean;
@@ -0,0 +1,5 @@
1
+ // src/components/Combobox/isAltArrow.ts
2
+ function e(e, t) {
3
+ return e.key === t && e.altKey && !e.ctrlKey && !e.metaKey;
4
+ }
5
+ export { e as isAltArrow };
@@ -0,0 +1,10 @@
1
+ import type { ComboboxFilter } from "./ComboboxContext";
2
+ /**
3
+ * Whether an option shows for the typed text
4
+ *
5
+ * @param filter the combobox's filter, or null to show every option
6
+ * @param query the typed text
7
+ * @param text the option's text
8
+ * @returns true when there is no filter or no text, or the filter accepts the option
9
+ */
10
+ export declare function isOptionShown(filter: ComboboxFilter | null, query: string, text: string): boolean;
@@ -0,0 +1,5 @@
1
+ // src/components/Combobox/isOptionShown.ts
2
+ function e(e, t, n) {
3
+ return e === null || t === "" || e(n, t);
4
+ }
5
+ export { e as isOptionShown };
@@ -0,0 +1,56 @@
1
+ interface UseAutocompleteTextOptions {
2
+ /**
3
+ * The text the input starts with when uncontrolled
4
+ */
5
+ defaultInputValue: string | undefined;
6
+ /**
7
+ * The input's text when controlled
8
+ */
9
+ inputValue: string | undefined;
10
+ /**
11
+ * Called with each new text
12
+ */
13
+ onInputValueChange: ((inputValue: string) => void) | undefined;
14
+ /**
15
+ * The selected option's text, or undefined for none or one that has not rendered
16
+ */
17
+ selectedText: string | undefined;
18
+ }
19
+ /**
20
+ * An `Autocomplete`'s text and the ways it changes
21
+ */
22
+ interface AutocompleteText {
23
+ /**
24
+ * Puts an option's text in the input as the user commits it
25
+ */
26
+ commit: (text: string) => void;
27
+ /**
28
+ * Takes the text the user typed
29
+ */
30
+ edit: (text: string) => void;
31
+ /**
32
+ * Whether the input holds text other than the selection's: typed since the last choice, or, when controlled, any
33
+ * text the parent gives that is not the selected option's
34
+ */
35
+ editing: boolean;
36
+ /**
37
+ * The text the options are filtered by: the input's while editing, or empty while it shows the selection
38
+ */
39
+ query: string;
40
+ /**
41
+ * Shows the selection's text again, after editing that chose nothing
42
+ */
43
+ restore: () => void;
44
+ /**
45
+ * The text the input shows
46
+ */
47
+ shown: string;
48
+ }
49
+ /**
50
+ * Holds what the user is typing in an `Autocomplete`, apart from the selection's text, which the input shows otherwise
51
+ *
52
+ * @param options the controlled or starting text, the change callback and the selection's text
53
+ * @returns the text and the ways it changes
54
+ */
55
+ export declare function useAutocompleteText({ defaultInputValue, inputValue, onInputValueChange, selectedText, }: UseAutocompleteTextOptions): AutocompleteText;
56
+ export {};
@@ -0,0 +1,27 @@
1
+ import { useState as e } from "react";
2
+ import { c as t } from "react/compiler-runtime";
3
+ // src/components/Combobox/useAutocompleteText.ts
4
+ function n(n) {
5
+ let r = t(15), { defaultInputValue: i, inputValue: a, onInputValueChange: o, selectedText: s } = n, [c, l] = e(i ?? null), u = a ?? c ?? s ?? "", d = a === void 0 ? c !== null : a !== (s ?? ""), f;
6
+ r[0] === o ? f = r[1] : (f = function(e) {
7
+ l(e), o?.(e);
8
+ }, r[0] = o, r[1] = f);
9
+ let p = f, m;
10
+ r[2] === o ? m = r[3] : (m = function(e) {
11
+ l(null), o?.(e);
12
+ }, r[2] = o, r[3] = m);
13
+ let h = m, g;
14
+ r[4] !== h || r[5] !== d || r[6] !== s ? (g = function() {
15
+ d && h(s ?? "");
16
+ }, r[4] = h, r[5] = d, r[6] = s, r[7] = g) : g = r[7];
17
+ let _ = g, v = d ? u : "", y;
18
+ return r[8] !== h || r[9] !== p || r[10] !== d || r[11] !== _ || r[12] !== u || r[13] !== v ? (y = {
19
+ commit: h,
20
+ edit: p,
21
+ editing: d,
22
+ query: v,
23
+ restore: _,
24
+ shown: u
25
+ }, r[8] = h, r[9] = p, r[10] = d, r[11] = _, r[12] = u, r[13] = v, r[14] = y) : y = r[14], y;
26
+ }
27
+ export { n as useAutocompleteText };
@@ -0,0 +1,9 @@
1
+ import type { ComboboxContextValue } from "./ComboboxContext";
2
+ /**
3
+ * Reads the state of the surrounding `Combobox` or `Autocomplete`
4
+ *
5
+ * @param part the name of the part reading it, for the error message
6
+ * @returns the surrounding combobox's state
7
+ * @throws MissingContextError when the part is not inside a `Combobox` or `Autocomplete`
8
+ */
9
+ export declare function useComboboxContext(part: string): ComboboxContextValue;
@@ -0,0 +1,10 @@
1
+ import { MissingContextError as e } from "../../errors/MissingContextError.js";
2
+ import { ComboboxContext as t } from "./ComboboxContext.js";
3
+ import { useContext as n } from "react";
4
+ // src/components/Combobox/useComboboxContext.ts
5
+ function r(r) {
6
+ let i = n(t);
7
+ if (i === null) throw new e(r, "Combobox or Autocomplete");
8
+ return i;
9
+ }
10
+ export { r as useComboboxContext };
@@ -0,0 +1,129 @@
1
+ import type { ActiveSource, ComboboxContextValue, ComboboxFilter, SelectedContent } from "./ComboboxContext";
2
+ import type { ComboboxSelection } from "./useComboboxSelection";
3
+ /**
4
+ * Which option is active as the list opens: the selected one (else the first), the first, the last, or none
5
+ */
6
+ export type OpeningActive = "first" | "last" | "none" | "selected";
7
+ interface UseComboboxListOptions {
8
+ /**
9
+ * The control's own id, or a surrounding field's; without one, the list generates it
10
+ */
11
+ controlId: string | undefined;
12
+ /**
13
+ * Whether an option shows for the typed text, or null to show every option
14
+ */
15
+ filter: ComboboxFilter | null;
16
+ /**
17
+ * Called with an option's text when the user commits it
18
+ */
19
+ onCommit?: (text: string) => void;
20
+ /**
21
+ * The text the options are filtered by; empty shows every option
22
+ */
23
+ query: string;
24
+ /**
25
+ * The combobox's selection, from `useComboboxSelection`
26
+ */
27
+ selection: ComboboxSelection;
28
+ }
29
+ /**
30
+ * A combobox's list: its open state, active option and selection, and the actions its control's keys and pointer take
31
+ */
32
+ export interface ComboboxList {
33
+ /**
34
+ * The id of the active option while the list is open, for the control's `aria-activedescendant`
35
+ */
36
+ activeDescendant: string | undefined;
37
+ /**
38
+ * The generated id the list's ids start with
39
+ */
40
+ baseId: string;
41
+ /**
42
+ * Closes the list without committing
43
+ */
44
+ close: () => void;
45
+ /**
46
+ * Commits the active option and closes the list, unless the option is disabled; with no active option, closes it
47
+ */
48
+ commitActive: () => void;
49
+ /**
50
+ * The state the list's options read
51
+ */
52
+ context: ComboboxContextValue;
53
+ /**
54
+ * The control's id
55
+ */
56
+ controlId: string;
57
+ /**
58
+ * Counts the options the filter shows
59
+ */
60
+ countShown: () => number;
61
+ /**
62
+ * Whether Space would join a type-ahead query now rather than act
63
+ */
64
+ isTypingAhead: () => boolean;
65
+ /**
66
+ * The list's id, for the control's `aria-controls`
67
+ */
68
+ listId: string;
69
+ /**
70
+ * Takes the `listbox` element, as its `ref`
71
+ */
72
+ attachList: (listbox: HTMLDivElement | null) => void;
73
+ /**
74
+ * Makes the first option the filter shows, and that is not disabled, active once the next render has filtered the
75
+ * options by the query it brings, which a parent controlling the text may have changed; with no filter or no query,
76
+ * makes none active
77
+ */
78
+ matchFirst: () => void;
79
+ /**
80
+ * Moves the active option for an arrow key, Home or End, without wrapping
81
+ *
82
+ * @returns whether the key was one of those
83
+ */
84
+ moveByKey: (key: string) => boolean;
85
+ /**
86
+ * Whether the list is open
87
+ */
88
+ open: boolean;
89
+ /**
90
+ * Opens the list
91
+ *
92
+ * @param opening which option becomes active
93
+ * @param source what opened it, which decides whether the active option shows the focus ring
94
+ */
95
+ openList: (opening: OpeningActive, source: ActiveSource) => void;
96
+ /**
97
+ * Selects a value, or none, reporting it unless it is already selected
98
+ */
99
+ select: (value: string | null) => void;
100
+ /**
101
+ * What the selected option shows in the field, or null when it is not rendered
102
+ */
103
+ selectedContent: SelectedContent | null;
104
+ /**
105
+ * The selected value, or null for none
106
+ */
107
+ selectedValue: string | null;
108
+ /**
109
+ * Closes the list if it was open, or opens it on the selected option
110
+ *
111
+ * @param wasOpen whether the list was open when the user asked to toggle it
112
+ * @param source what toggled it, which decides whether the active option shows the focus ring
113
+ */
114
+ toggleList: (wasOpen: boolean, source: ActiveSource) => void;
115
+ /**
116
+ * Moves the active option by type-ahead for a printable character, from the active option or else the selected one
117
+ *
118
+ * @returns whether the key was a character type-ahead took
119
+ */
120
+ typeAhead: (key: string) => boolean;
121
+ }
122
+ /**
123
+ * Holds the state of a combobox's list, which `Combobox` and `Autocomplete` share
124
+ *
125
+ * @param options the control's id, the selection, the filter and its query, and the commit callback
126
+ * @returns the list's state and actions
127
+ */
128
+ export declare function useComboboxList({ controlId, filter, onCommit, query, selection, }: UseComboboxListOptions): ComboboxList;
129
+ export {};