@krelborn/stylesui 0.0.0-stage → 0.8.1

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 (359) 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 +6 -0
  6. package/dist/accessibility/index.d.ts +2 -0
  7. package/dist/collections/index.d.ts +4 -0
  8. package/dist/collections/targetIndexForKey.d.ts +45 -0
  9. package/dist/collections/targetIndexForKey.js +17 -0
  10. package/dist/collections/typeAhead.d.ts +43 -0
  11. package/dist/collections/typeAhead.js +19 -0
  12. package/dist/components/Alert/Alert.css +1 -0
  13. package/dist/components/Alert/Alert.d.ts +47 -0
  14. package/dist/components/Alert/Alert.js +28 -0
  15. package/dist/components/Alert/Alert.module.js +9 -0
  16. package/dist/components/Alert/AlertIcon.d.ts +14 -0
  17. package/dist/components/Alert/AlertIcon.js +43 -0
  18. package/dist/components/Alert/index.d.ts +2 -0
  19. package/dist/components/Avatar/Avatar.css +1 -0
  20. package/dist/components/Avatar/Avatar.d.ts +33 -0
  21. package/dist/components/Avatar/Avatar.js +27 -0
  22. package/dist/components/Avatar/Avatar.module.js +7 -0
  23. package/dist/components/Avatar/index.d.ts +2 -0
  24. package/dist/components/Avatar/initialsOf.d.ts +9 -0
  25. package/dist/components/Avatar/initialsOf.js +10 -0
  26. package/dist/components/AvatarGroup/AvatarGroup.css +1 -0
  27. package/dist/components/AvatarGroup/AvatarGroup.d.ts +30 -0
  28. package/dist/components/AvatarGroup/AvatarGroup.js +34 -0
  29. package/dist/components/AvatarGroup/AvatarGroup.module.js +7 -0
  30. package/dist/components/AvatarGroup/index.d.ts +2 -0
  31. package/dist/components/Badge/Badge.css +1 -0
  32. package/dist/components/Badge/Badge.d.ts +36 -0
  33. package/dist/components/Badge/Badge.js +16 -0
  34. package/dist/components/Badge/Badge.module.js +4 -0
  35. package/dist/components/Badge/index.d.ts +2 -0
  36. package/dist/components/Box/Box.css +1 -0
  37. package/dist/components/Box/Box.d.ts +31 -0
  38. package/dist/components/Box/Box.js +18 -0
  39. package/dist/components/Box/Box.module.js +4 -0
  40. package/dist/components/Box/index.d.ts +2 -0
  41. package/dist/components/Button/Button.css +1 -0
  42. package/dist/components/Button/Button.d.ts +42 -0
  43. package/dist/components/Button/Button.js +29 -0
  44. package/dist/components/Button/Button.module.js +7 -0
  45. package/dist/components/Button/index.d.ts +2 -0
  46. package/dist/components/Card/Card.css +1 -0
  47. package/dist/components/Card/Card.d.ts +24 -0
  48. package/dist/components/Card/Card.js +15 -0
  49. package/dist/components/Card/Card.module.js +4 -0
  50. package/dist/components/Card/index.d.ts +2 -0
  51. package/dist/components/Center/Center.css +1 -0
  52. package/dist/components/Center/Center.d.ts +34 -0
  53. package/dist/components/Center/Center.js +20 -0
  54. package/dist/components/Center/Center.module.js +4 -0
  55. package/dist/components/Center/index.d.ts +2 -0
  56. package/dist/components/Checkbox/Checkbox.d.ts +23 -0
  57. package/dist/components/Checkbox/Checkbox.js +13 -0
  58. package/dist/components/Checkbox/index.d.ts +2 -0
  59. package/dist/components/ChoiceControl/ChoiceControl.css +1 -0
  60. package/dist/components/ChoiceControl/ChoiceControl.d.ts +21 -0
  61. package/dist/components/ChoiceControl/ChoiceControl.js +40 -0
  62. package/dist/components/ChoiceControl/ChoiceControl.module.js +9 -0
  63. package/dist/components/ChoiceControl/index.d.ts +1 -0
  64. package/dist/components/Cluster/Cluster.d.ts +29 -0
  65. package/dist/components/Cluster/Cluster.js +14 -0
  66. package/dist/components/Cluster/index.d.ts +2 -0
  67. package/dist/components/Code/Code.css +1 -0
  68. package/dist/components/Code/Code.d.ts +13 -0
  69. package/dist/components/Code/Code.js +20 -0
  70. package/dist/components/Code/Code.module.js +4 -0
  71. package/dist/components/Code/index.d.ts +2 -0
  72. package/dist/components/Counter/Counter.css +1 -0
  73. package/dist/components/Counter/Counter.d.ts +39 -0
  74. package/dist/components/Counter/Counter.js +19 -0
  75. package/dist/components/Counter/Counter.module.js +4 -0
  76. package/dist/components/Counter/index.d.ts +2 -0
  77. package/dist/components/Cover/Cover.css +1 -0
  78. package/dist/components/Cover/Cover.d.ts +40 -0
  79. package/dist/components/Cover/Cover.js +30 -0
  80. package/dist/components/Cover/Cover.module.js +7 -0
  81. package/dist/components/Cover/index.d.ts +2 -0
  82. package/dist/components/Divider/Divider.css +1 -0
  83. package/dist/components/Divider/Divider.d.ts +25 -0
  84. package/dist/components/Divider/Divider.js +16 -0
  85. package/dist/components/Divider/Divider.module.js +4 -0
  86. package/dist/components/Divider/index.d.ts +2 -0
  87. package/dist/components/Field/Field.css +1 -0
  88. package/dist/components/Field/Field.d.ts +49 -0
  89. package/dist/components/Field/Field.js +48 -0
  90. package/dist/components/Field/Field.module.js +9 -0
  91. package/dist/components/Field/index.d.ts +2 -0
  92. package/dist/components/Fieldset/Fieldset.css +1 -0
  93. package/dist/components/Fieldset/Fieldset.d.ts +35 -0
  94. package/dist/components/Fieldset/Fieldset.js +65 -0
  95. package/dist/components/Fieldset/Fieldset.module.js +9 -0
  96. package/dist/components/Fieldset/index.d.ts +2 -0
  97. package/dist/components/Frame/Frame.css +1 -0
  98. package/dist/components/Frame/Frame.d.ts +23 -0
  99. package/dist/components/Frame/Frame.js +17 -0
  100. package/dist/components/Frame/Frame.module.js +4 -0
  101. package/dist/components/Frame/index.d.ts +2 -0
  102. package/dist/components/Grid/Grid.css +1 -0
  103. package/dist/components/Grid/Grid.d.ts +25 -0
  104. package/dist/components/Grid/Grid.js +23 -0
  105. package/dist/components/Grid/Grid.module.js +4 -0
  106. package/dist/components/Grid/index.d.ts +2 -0
  107. package/dist/components/Heading/Heading.css +1 -0
  108. package/dist/components/Heading/Heading.d.ts +39 -0
  109. package/dist/components/Heading/Heading.js +24 -0
  110. package/dist/components/Heading/Heading.module.js +4 -0
  111. package/dist/components/Heading/index.d.ts +2 -0
  112. package/dist/components/HorizontalFlow/HorizontalFlow.css +1 -0
  113. package/dist/components/HorizontalFlow/HorizontalFlow.d.ts +30 -0
  114. package/dist/components/HorizontalFlow/HorizontalFlow.js +31 -0
  115. package/dist/components/HorizontalFlow/HorizontalFlow.module.js +4 -0
  116. package/dist/components/HorizontalFlow/index.d.ts +2 -0
  117. package/dist/components/Icon/AddIcon.d.ts +11 -0
  118. package/dist/components/Icon/AddIcon.js +22 -0
  119. package/dist/components/Icon/ChevronDownIcon.d.ts +11 -0
  120. package/dist/components/Icon/ChevronDownIcon.js +19 -0
  121. package/dist/components/Icon/CloseIcon.d.ts +12 -0
  122. package/dist/components/Icon/CloseIcon.js +22 -0
  123. package/dist/components/Icon/ColorModeIcon.d.ts +12 -0
  124. package/dist/components/Icon/ColorModeIcon.js +37 -0
  125. package/dist/components/Icon/DeleteIcon.d.ts +11 -0
  126. package/dist/components/Icon/DeleteIcon.js +37 -0
  127. package/dist/components/Icon/Icon.css +1 -0
  128. package/dist/components/Icon/Icon.d.ts +40 -0
  129. package/dist/components/Icon/Icon.js +28 -0
  130. package/dist/components/Icon/Icon.module.js +7 -0
  131. package/dist/components/Icon/InfoIcon.d.ts +11 -0
  132. package/dist/components/Icon/InfoIcon.js +31 -0
  133. package/dist/components/Icon/MoreHorizontalIcon.d.ts +11 -0
  134. package/dist/components/Icon/MoreHorizontalIcon.js +35 -0
  135. package/dist/components/Icon/MoreVerticalIcon.d.ts +11 -0
  136. package/dist/components/Icon/MoreVerticalIcon.js +35 -0
  137. package/dist/components/Icon/PaletteIcon.d.ts +12 -0
  138. package/dist/components/Icon/PaletteIcon.js +49 -0
  139. package/dist/components/Icon/RefreshIcon.d.ts +13 -0
  140. package/dist/components/Icon/RefreshIcon.js +33 -0
  141. package/dist/components/Icon/RemoveIcon.d.ts +11 -0
  142. package/dist/components/Icon/RemoveIcon.js +19 -0
  143. package/dist/components/Icon/SendIcon.d.ts +11 -0
  144. package/dist/components/Icon/SendIcon.js +23 -0
  145. package/dist/components/Icon/index.d.ts +13 -0
  146. package/dist/components/IconButton/IconButton.css +1 -0
  147. package/dist/components/IconButton/IconButton.d.ts +45 -0
  148. package/dist/components/IconButton/IconButton.js +41 -0
  149. package/dist/components/IconButton/IconButton.module.js +8 -0
  150. package/dist/components/IconButton/index.d.ts +2 -0
  151. package/dist/components/Kbd/Kbd.css +1 -0
  152. package/dist/components/Kbd/Kbd.d.ts +13 -0
  153. package/dist/components/Kbd/Kbd.js +20 -0
  154. package/dist/components/Kbd/Kbd.module.js +4 -0
  155. package/dist/components/Kbd/index.d.ts +2 -0
  156. package/dist/components/Link/Link.css +1 -0
  157. package/dist/components/Link/Link.d.ts +52 -0
  158. package/dist/components/Link/Link.js +27 -0
  159. package/dist/components/Link/Link.module.js +4 -0
  160. package/dist/components/Link/index.d.ts +2 -0
  161. package/dist/components/Listbox/Listbox.css +1 -0
  162. package/dist/components/Listbox/Listbox.d.ts +46 -0
  163. package/dist/components/Listbox/Listbox.js +56 -0
  164. package/dist/components/Listbox/Listbox.module.js +7 -0
  165. package/dist/components/Listbox/ListboxContext.d.ts +38 -0
  166. package/dist/components/Listbox/ListboxContext.js +5 -0
  167. package/dist/components/Listbox/ListboxOption.d.ts +31 -0
  168. package/dist/components/Listbox/ListboxOption.js +43 -0
  169. package/dist/components/Listbox/index.d.ts +4 -0
  170. package/dist/components/Listbox/optionId.d.ts +8 -0
  171. package/dist/components/Listbox/optionId.js +7 -0
  172. package/dist/components/Listbox/renderedOptions.d.ts +30 -0
  173. package/dist/components/Listbox/renderedOptions.js +15 -0
  174. package/dist/components/Listbox/useListbox.d.ts +54 -0
  175. package/dist/components/Listbox/useListbox.js +104 -0
  176. package/dist/components/Listbox/useListboxContext.d.ts +9 -0
  177. package/dist/components/Listbox/useListboxContext.js +11 -0
  178. package/dist/components/NavList/NavList.css +1 -0
  179. package/dist/components/NavList/NavList.d.ts +20 -0
  180. package/dist/components/NavList/NavList.js +28 -0
  181. package/dist/components/NavList/NavList.module.js +12 -0
  182. package/dist/components/NavList/NavListGroup.d.ts +25 -0
  183. package/dist/components/NavList/NavListGroup.js +40 -0
  184. package/dist/components/NavList/NavListItem.d.ts +53 -0
  185. package/dist/components/NavList/NavListItem.js +57 -0
  186. package/dist/components/NavList/index.d.ts +6 -0
  187. package/dist/components/Overlay/Overlay.css +1 -0
  188. package/dist/components/Overlay/Overlay.d.ts +33 -0
  189. package/dist/components/Overlay/Overlay.js +36 -0
  190. package/dist/components/Overlay/Overlay.module.js +4 -0
  191. package/dist/components/Overlay/index.d.ts +1 -0
  192. package/dist/components/PageLayout/PageLayout.css +1 -0
  193. package/dist/components/PageLayout/PageLayout.d.ts +26 -0
  194. package/dist/components/PageLayout/PageLayout.js +18 -0
  195. package/dist/components/PageLayout/PageLayout.module.js +4 -0
  196. package/dist/components/PageLayout/index.d.ts +2 -0
  197. package/dist/components/Popover/Popover.css +1 -0
  198. package/dist/components/Popover/Popover.d.ts +52 -0
  199. package/dist/components/Popover/Popover.js +21 -0
  200. package/dist/components/Popover/Popover.module.js +4 -0
  201. package/dist/components/Popover/index.d.ts +4 -0
  202. package/dist/components/Popover/usePopover.d.ts +96 -0
  203. package/dist/components/Popover/usePopover.js +66 -0
  204. package/dist/components/Prose/Prose.css +1 -0
  205. package/dist/components/Prose/Prose.d.ts +50 -0
  206. package/dist/components/Prose/Prose.js +16 -0
  207. package/dist/components/Prose/Prose.module.js +4 -0
  208. package/dist/components/Prose/index.d.ts +2 -0
  209. package/dist/components/Radio/Radio.d.ts +29 -0
  210. package/dist/components/Radio/Radio.js +24 -0
  211. package/dist/components/Radio/index.d.ts +2 -0
  212. package/dist/components/RadioGroup/RadioGroup.css +1 -0
  213. package/dist/components/RadioGroup/RadioGroup.d.ts +58 -0
  214. package/dist/components/RadioGroup/RadioGroup.js +37 -0
  215. package/dist/components/RadioGroup/RadioGroup.module.js +4 -0
  216. package/dist/components/RadioGroup/index.d.ts +2 -0
  217. package/dist/components/RequiredIndicator/RequiredIndicator.css +1 -0
  218. package/dist/components/RequiredIndicator/RequiredIndicator.d.ts +6 -0
  219. package/dist/components/RequiredIndicator/RequiredIndicator.js +16 -0
  220. package/dist/components/RequiredIndicator/RequiredIndicator.module.js +4 -0
  221. package/dist/components/RequiredIndicator/index.d.ts +1 -0
  222. package/dist/components/Row/Row.d.ts +29 -0
  223. package/dist/components/Row/Row.js +14 -0
  224. package/dist/components/Row/index.d.ts +2 -0
  225. package/dist/components/SegmentedControl/Segment.d.ts +24 -0
  226. package/dist/components/SegmentedControl/Segment.js +42 -0
  227. package/dist/components/SegmentedControl/SegmentedControl.css +1 -0
  228. package/dist/components/SegmentedControl/SegmentedControl.d.ts +25 -0
  229. package/dist/components/SegmentedControl/SegmentedControl.js +20 -0
  230. package/dist/components/SegmentedControl/SegmentedControl.module.js +10 -0
  231. package/dist/components/SegmentedControl/index.d.ts +4 -0
  232. package/dist/components/Select/Select.d.ts +27 -0
  233. package/dist/components/Select/Select.js +12 -0
  234. package/dist/components/Select/index.d.ts +2 -0
  235. package/dist/components/Sidebar/Sidebar.css +1 -0
  236. package/dist/components/Sidebar/Sidebar.d.ts +42 -0
  237. package/dist/components/Sidebar/Sidebar.js +24 -0
  238. package/dist/components/Sidebar/Sidebar.module.js +4 -0
  239. package/dist/components/Sidebar/index.d.ts +2 -0
  240. package/dist/components/SkipLink/SkipLink.css +1 -0
  241. package/dist/components/SkipLink/SkipLink.d.ts +20 -0
  242. package/dist/components/SkipLink/SkipLink.js +21 -0
  243. package/dist/components/SkipLink/SkipLink.module.js +4 -0
  244. package/dist/components/SkipLink/index.d.ts +2 -0
  245. package/dist/components/Spinner/Spinner.css +1 -0
  246. package/dist/components/Spinner/Spinner.d.ts +13 -0
  247. package/dist/components/Spinner/Spinner.js +33 -0
  248. package/dist/components/Spinner/Spinner.module.js +8 -0
  249. package/dist/components/Spinner/index.d.ts +1 -0
  250. package/dist/components/Stack/Stack.css +1 -0
  251. package/dist/components/Stack/Stack.d.ts +25 -0
  252. package/dist/components/Stack/Stack.js +21 -0
  253. package/dist/components/Stack/Stack.module.js +4 -0
  254. package/dist/components/Stack/index.d.ts +2 -0
  255. package/dist/components/StatusDot/StatusDot.css +1 -0
  256. package/dist/components/StatusDot/StatusDot.d.ts +57 -0
  257. package/dist/components/StatusDot/StatusDot.js +21 -0
  258. package/dist/components/StatusDot/StatusDot.module.js +4 -0
  259. package/dist/components/StatusDot/index.d.ts +2 -0
  260. package/dist/components/Switch/Switch.d.ts +24 -0
  261. package/dist/components/Switch/Switch.js +13 -0
  262. package/dist/components/Switch/index.d.ts +2 -0
  263. package/dist/components/Switcher/Switcher.css +1 -0
  264. package/dist/components/Switcher/Switcher.d.ts +27 -0
  265. package/dist/components/Switcher/Switcher.js +23 -0
  266. package/dist/components/Switcher/Switcher.module.js +4 -0
  267. package/dist/components/Switcher/index.d.ts +2 -0
  268. package/dist/components/Tabs/Tab.d.ts +26 -0
  269. package/dist/components/Tabs/Tab.js +61 -0
  270. package/dist/components/Tabs/TabList.d.ts +16 -0
  271. package/dist/components/Tabs/TabList.js +23 -0
  272. package/dist/components/Tabs/TabPanel.d.ts +24 -0
  273. package/dist/components/Tabs/TabPanel.js +22 -0
  274. package/dist/components/Tabs/Tabs.css +1 -0
  275. package/dist/components/Tabs/Tabs.d.ts +81 -0
  276. package/dist/components/Tabs/Tabs.js +31 -0
  277. package/dist/components/Tabs/Tabs.module.js +9 -0
  278. package/dist/components/Tabs/TabsContext.d.ts +39 -0
  279. package/dist/components/Tabs/TabsContext.js +5 -0
  280. package/dist/components/Tabs/index.d.ts +8 -0
  281. package/dist/components/Tabs/tabIds.d.ts +16 -0
  282. package/dist/components/Tabs/tabIds.js +10 -0
  283. package/dist/components/Tabs/useTabsContext.d.ts +9 -0
  284. package/dist/components/Tabs/useTabsContext.js +11 -0
  285. package/dist/components/Text/Text.css +1 -0
  286. package/dist/components/Text/Text.d.ts +40 -0
  287. package/dist/components/Text/Text.js +17 -0
  288. package/dist/components/Text/Text.module.js +4 -0
  289. package/dist/components/Text/index.d.ts +2 -0
  290. package/dist/components/TextControl/TextControl.css +1 -0
  291. package/dist/components/TextControl/TextControl.d.ts +22 -0
  292. package/dist/components/TextControl/TextControl.js +23 -0
  293. package/dist/components/TextControl/TextControl.module.js +4 -0
  294. package/dist/components/TextControl/index.d.ts +1 -0
  295. package/dist/components/TextInput/TextInput.d.ts +31 -0
  296. package/dist/components/TextInput/TextInput.js +13 -0
  297. package/dist/components/TextInput/index.d.ts +2 -0
  298. package/dist/components/Textarea/Textarea.d.ts +24 -0
  299. package/dist/components/Textarea/Textarea.js +12 -0
  300. package/dist/components/Textarea/index.d.ts +2 -0
  301. package/dist/components/Theme/Theme.d.ts +46 -0
  302. package/dist/components/Theme/Theme.js +18 -0
  303. package/dist/components/Theme/index.d.ts +2 -0
  304. package/dist/components/Tooltip/Tooltip.css +1 -0
  305. package/dist/components/Tooltip/Tooltip.d.ts +49 -0
  306. package/dist/components/Tooltip/Tooltip.js +22 -0
  307. package/dist/components/Tooltip/Tooltip.module.js +4 -0
  308. package/dist/components/Tooltip/index.d.ts +4 -0
  309. package/dist/components/Tooltip/tooltipCoordinator.d.ts +14 -0
  310. package/dist/components/Tooltip/tooltipCoordinator.js +17 -0
  311. package/dist/components/Tooltip/useTooltip.d.ts +119 -0
  312. package/dist/components/Tooltip/useTooltip.js +74 -0
  313. package/dist/components/VisuallyHidden/VisuallyHidden.css +1 -0
  314. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +14 -0
  315. package/dist/components/VisuallyHidden/VisuallyHidden.js +20 -0
  316. package/dist/components/VisuallyHidden/VisuallyHidden.module.js +4 -0
  317. package/dist/components/VisuallyHidden/index.d.ts +2 -0
  318. package/dist/errors/MissingContextError.d.ts +11 -0
  319. package/dist/errors/MissingContextError.js +9 -0
  320. package/dist/errors/PopoverRefusedError.d.ts +12 -0
  321. package/dist/errors/PopoverRefusedError.js +9 -0
  322. package/dist/errors/index.d.ts +2 -0
  323. package/dist/forms/ControlSize.d.ts +4 -0
  324. package/dist/forms/FieldContext.d.ts +29 -0
  325. package/dist/forms/FieldContext.js +5 -0
  326. package/dist/forms/RadioGroupContext.d.ts +34 -0
  327. package/dist/forms/RadioGroupContext.js +5 -0
  328. package/dist/forms/hasContent.d.ts +10 -0
  329. package/dist/forms/hasContent.js +7 -0
  330. package/dist/forms/index.d.ts +8 -0
  331. package/dist/forms/useFieldControl.d.ts +36 -0
  332. package/dist/forms/useFieldControl.js +29 -0
  333. package/dist/forms/useRadioGroupItem.d.ts +50 -0
  334. package/dist/forms/useRadioGroupItem.js +27 -0
  335. package/dist/index.d.ts +95 -0
  336. package/dist/index.js +67 -0
  337. package/dist/layout/Space.d.ts +4 -0
  338. package/dist/layout/alignment.d.ts +8 -0
  339. package/dist/layout/index.d.ts +5 -0
  340. package/dist/layout/listRole.d.ts +11 -0
  341. package/dist/layout/listRole.js +6 -0
  342. package/dist/layout/spaceValue.d.ts +8 -0
  343. package/dist/layout/spaceValue.js +6 -0
  344. package/dist/layout/withCustomProperties.d.ts +9 -0
  345. package/dist/layout/withCustomProperties.js +9 -0
  346. package/dist/overlays/OverlayDelay.d.ts +13 -0
  347. package/dist/overlays/OverlayPlacement.d.ts +6 -0
  348. package/dist/overlays/anchorNameFor.d.ts +7 -0
  349. package/dist/overlays/anchorNameFor.js +6 -0
  350. package/dist/overlays/index.d.ts +6 -0
  351. package/dist/overlays/mergeProps.d.ts +13 -0
  352. package/dist/overlays/mergeProps.js +30 -0
  353. package/dist/overlays/syncPopover.d.ts +11 -0
  354. package/dist/overlays/syncPopover.js +25 -0
  355. package/dist/overlays/useOverlay.d.ts +71 -0
  356. package/dist/overlays/useOverlay.js +56 -0
  357. package/dist/styles.css +1 -0
  358. package/fonts/playful.css +3 -0
  359. package/package.json +103 -3
@@ -0,0 +1 @@
1
+ .sui-avatarGroup-P9iv8{align-items:center;display:inline-flex}.sui-avatarGroup-P9iv8>[role=img]{box-shadow:0 0 0 var(--sui-avatar-group-ring-width,2px) var(--sui-avatar-group-ring,var(--sui-color-background,#fff))}.sui-avatarGroup-P9iv8>[role=img]+[role=img]{margin-inline-start:calc(var(--sui-avatar-size,2rem) / -4)}.sui-overflow-JZIo-{color:var(--sui-color-text-muted,#4b5563);font-family:var(--sui-font-body,system-ui, sans-serif);font-size:var(--sui-font-size-xs,.75rem);font-weight:var(--sui-font-weight-control,500);margin-inline-start:var(--sui-space-1,.25rem)}
@@ -0,0 +1,30 @@
1
+ import type { JSX, ReactNode } from "react";
2
+ import type { RequiredAccessibleName } from "../../accessibility";
3
+ import type { BoxProps } from "../Box";
4
+ interface AvatarGroupOwnProps {
5
+ /**
6
+ * The `Avatar`s, as direct children or an array of them
7
+ */
8
+ children: ReactNode;
9
+ /**
10
+ * How many avatars show, at least 1. The rest are hidden on screen behind a "+n" count, but screen readers still
11
+ * read their names. Shows every avatar when left out or not a number.
12
+ */
13
+ max?: number;
14
+ }
15
+ /**
16
+ * Props for `AvatarGroup`: its own props, a required `aria-label` or `aria-labelledby`, and every other `span` prop
17
+ * except `role`
18
+ */
19
+ export type AvatarGroupProps = AvatarGroupOwnProps & RequiredAccessibleName & Omit<BoxProps<"span">, "aria-label" | "aria-labelledby" | "as" | "role" | keyof AvatarGroupOwnProps>;
20
+ /**
21
+ * A row of overlapping avatars, such as a pull request's reviewers. Give it a name. Past `max`, avatars are hidden
22
+ * on screen behind a "+n" count, but screen readers read every name.
23
+ *
24
+ * @example
25
+ * <AvatarGroup max={3} aria-label="Reviewers">
26
+ * {reviewers.map((reviewer) => <Avatar key={reviewer.login} name={reviewer.login} size="sm" />)}
27
+ * </AvatarGroup>
28
+ */
29
+ export declare function AvatarGroup({ children, className, max, ...rest }: AvatarGroupProps): JSX.Element;
30
+ export {};
@@ -0,0 +1,34 @@
1
+ import { Box as e } from "../Box/Box.js";
2
+ import { VisuallyHidden as t } from "../VisuallyHidden/VisuallyHidden.js";
3
+ import n from "./AvatarGroup.module.js";
4
+ import { clsx as r } from "clsx";
5
+ import { Children as i } from "react";
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
+ //#region src/components/AvatarGroup/AvatarGroup.tsx
9
+ function l(l) {
10
+ let u = a(28), d, f, p, m;
11
+ u[0] === l ? (d = u[1], f = u[2], p = u[3], m = u[4]) : ({children: d, className: f, max: p, ...m} = l, u[0] = l, u[1] = d, u[2] = f, u[3] = p, u[4] = m);
12
+ let h, g, _, v, y, b, x;
13
+ if (u[5] !== d || u[6] !== f || u[7] !== p || u[8] !== m) {
14
+ let t = i.toArray(d), a = p === void 0 || Number.isNaN(p) ? t.length : Math.max(1, p);
15
+ g = t.slice(a), h = e, _ = m, v = "span", u[16] === f ? y = u[17] : (y = r(n.avatarGroup, f), u[16] = f, u[17] = y), b = "group", x = t.slice(0, a), u[5] = d, u[6] = f, u[7] = p, u[8] = m, u[9] = h, u[10] = g, u[11] = _, u[12] = v, u[13] = y, u[14] = b, u[15] = x;
16
+ } else h = u[9], g = u[10], _ = u[11], v = u[12], y = u[13], b = u[14], x = u[15];
17
+ let S;
18
+ u[18] === g ? S = u[19] : (S = g.length > 0 && /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s(t, { children: g }), /* @__PURE__ */ s(e, {
19
+ as: "span",
20
+ className: n.overflow,
21
+ "aria-hidden": !0,
22
+ children: `+${g.length}`
23
+ })] }), u[18] = g, u[19] = S);
24
+ let C;
25
+ return u[20] !== h || u[21] !== _ || u[22] !== v || u[23] !== y || u[24] !== b || u[25] !== x || u[26] !== S ? (C = /* @__PURE__ */ c(h, {
26
+ ..._,
27
+ as: v,
28
+ className: y,
29
+ role: b,
30
+ children: [x, S]
31
+ }), u[20] = h, u[21] = _, u[22] = v, u[23] = y, u[24] = b, u[25] = x, u[26] = S, u[27] = C) : C = u[27], C;
32
+ }
33
+ //#endregion
34
+ export { l as AvatarGroup };
@@ -0,0 +1,7 @@
1
+ import './AvatarGroup.css';//#region src/components/AvatarGroup/AvatarGroup.module.css
2
+ var e = "sui-avatarGroup-P9iv8", t = "sui-overflow-JZIo-", n = {
3
+ avatarGroup: e,
4
+ overflow: t
5
+ };
6
+ //#endregion
7
+ export { e as avatarGroup, n as default, t as overflow };
@@ -0,0 +1,2 @@
1
+ export { AvatarGroup } from "./AvatarGroup";
2
+ export type { AvatarGroupProps } from "./AvatarGroup";
@@ -0,0 +1 @@
1
+ .sui-badge-RsuMz{--sui-badge-bg:var(--sui-color-secondary-subtle,#f3f4f6);--sui-badge-fg:var(--sui-color-text,#111827);--sui-badge-border:var(--sui-color-control-border,transparent);min-block-size:1.5rem;padding:var(--sui-space-1,.25rem) var(--sui-space-2,.5rem);border:var(--sui-border-width,1px) solid var(--sui-badge-border);border-radius:var(--sui-radius-md,4px);background-color:var(--sui-badge-bg);color:var(--sui-badge-fg);font-family:var(--sui-font-body,system-ui, sans-serif);font-size:var(--sui-font-size-xs,.75rem);font-weight:var(--sui-font-weight-control,500);line-height:var(--sui-line-height-tight,1.25);overflow-wrap:anywhere;align-items:center;text-decoration:none;display:inline-flex}.sui-badge-RsuMz[data-tone=danger][data-variant=solid]{--sui-badge-bg:var(--sui-color-danger,#dc2626);--sui-badge-fg:var(--sui-color-on-danger,#fff)}.sui-badge-RsuMz[data-tone=danger][data-variant=subtle]{--sui-badge-bg:var(--sui-color-danger-subtle,#fff1f1);--sui-badge-fg:var(--sui-color-danger-text,#b91c1c)}.sui-badge-RsuMz[data-tone=info][data-variant=solid]{--sui-badge-bg:var(--sui-color-info,#4338ca);--sui-badge-fg:var(--sui-color-on-info,#fff)}.sui-badge-RsuMz[data-tone=info][data-variant=subtle]{--sui-badge-bg:var(--sui-color-info-subtle,#f0f3ff);--sui-badge-fg:var(--sui-color-info-text,#4338ca)}.sui-badge-RsuMz[data-tone=neutral][data-variant=solid]{--sui-badge-bg:var(--sui-color-secondary,#e5e7eb);--sui-badge-fg:var(--sui-color-on-secondary,#111827)}.sui-badge-RsuMz[data-tone=neutral][data-variant=subtle]{--sui-badge-bg:var(--sui-color-secondary-subtle,#f3f4f6);--sui-badge-fg:var(--sui-color-text,#111827)}.sui-badge-RsuMz[data-tone=primary][data-variant=solid]{--sui-badge-bg:var(--sui-color-primary,#2563eb);--sui-badge-fg:var(--sui-color-on-primary,#fff)}.sui-badge-RsuMz[data-tone=primary][data-variant=subtle]{--sui-badge-bg:var(--sui-color-primary-subtle,#edf5ff);--sui-badge-fg:var(--sui-color-primary,#2563eb)}.sui-badge-RsuMz[data-tone=success][data-variant=solid]{--sui-badge-bg:var(--sui-color-success,#15803d);--sui-badge-fg:var(--sui-color-on-success,#fff)}.sui-badge-RsuMz[data-tone=success][data-variant=subtle]{--sui-badge-bg:var(--sui-color-success-subtle,#eefef3);--sui-badge-fg:var(--sui-color-success-text,#166534)}.sui-badge-RsuMz[data-tone=warning][data-variant=solid]{--sui-badge-bg:var(--sui-color-warning,#eab308);--sui-badge-fg:var(--sui-color-on-warning,#111827)}.sui-badge-RsuMz[data-tone=warning][data-variant=subtle]{--sui-badge-bg:var(--sui-color-warning-subtle,#fffce1);--sui-badge-fg:var(--sui-color-warning-text,#854d0e)}.sui-badge-RsuMz:focus-visible{outline:var(--sui-focus-ring-width,2px) solid var(--sui-color-focus-ring,#3b82f6);outline-offset:2px}
@@ -0,0 +1,36 @@
1
+ import type { JSX } from "react";
2
+ import type { BoxProps } from "../Box";
3
+ /**
4
+ * Elements a `Badge` can render: a `span`, or an `a` or `button` for a badge that links or acts
5
+ */
6
+ export type BadgeElement = "a" | "button" | "span";
7
+ /**
8
+ * Badge colours: the theme's status colours, its primary colour, or its secondary colour for `neutral`
9
+ */
10
+ export type BadgeTone = "danger" | "info" | "neutral" | "primary" | "success" | "warning";
11
+ /**
12
+ * Badge styles: a solid tone fill, or a subtle tinted background with tone-coloured text
13
+ */
14
+ export type BadgeVariant = "solid" | "subtle";
15
+ interface BadgeOwnProps {
16
+ /**
17
+ * Badge colour. Defaults to `neutral`.
18
+ */
19
+ tone?: BadgeTone;
20
+ /**
21
+ * Visual style. Defaults to `subtle`.
22
+ */
23
+ variant?: BadgeVariant;
24
+ }
25
+ /**
26
+ * Props for `Badge`: its own props plus every prop supported by the element given in `as`
27
+ */
28
+ export type BadgeProps<E extends BadgeElement = "span"> = BadgeOwnProps & Omit<BoxProps<E>, keyof BadgeOwnProps>;
29
+ /**
30
+ * Small label for a tag, a status or a count
31
+ *
32
+ * @example
33
+ * <Badge tone="success" variant="solid">Published</Badge>
34
+ */
35
+ export declare function Badge<E extends BadgeElement = "span">({ as, className, tone, variant, ...rest }: BadgeProps<E>): JSX.Element;
36
+ export {};
@@ -0,0 +1,16 @@
1
+ import { Box as e } from "../Box/Box.js";
2
+ import t from "./Badge.module.js";
3
+ import { clsx as n } from "clsx";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ //#region src/components/Badge/Badge.tsx
6
+ function i({ as: i, className: a, tone: o = "neutral", variant: s = "subtle", ...c }) {
7
+ return /* @__PURE__ */ r(e, {
8
+ ...c,
9
+ as: i ?? "span",
10
+ className: n(t.badge, a),
11
+ "data-tone": o,
12
+ "data-variant": s
13
+ });
14
+ }
15
+ //#endregion
16
+ export { i as Badge };
@@ -0,0 +1,4 @@
1
+ import './Badge.css';//#region src/components/Badge/Badge.module.css
2
+ var e = "sui-badge-RsuMz", t = { badge: e };
3
+ //#endregion
4
+ export { e as badge, t as default };
@@ -0,0 +1,2 @@
1
+ export { Badge } from "./Badge";
2
+ export type { BadgeElement, BadgeProps, BadgeTone, BadgeVariant } from "./Badge";
@@ -0,0 +1 @@
1
+ .sui-box-Wgbf3{box-sizing:border-box}
@@ -0,0 +1,31 @@
1
+ import type { ComponentPropsWithRef, JSX } from "react";
2
+ /**
3
+ * Intrinsic element names that `Box` can render
4
+ */
5
+ export type BoxElement = keyof JSX.IntrinsicElements;
6
+ type BoxOwnProps<E extends BoxElement> = {
7
+ /**
8
+ * DOM element to render. Defaults to the component's default element (`div` for Box).
9
+ */
10
+ as?: E;
11
+ /**
12
+ * Class names merged with the component's base class.
13
+ */
14
+ className?: string;
15
+ };
16
+ /** Props for `Box`: its own props plus every prop supported by the element given in `as`. */
17
+ export type BoxProps<E extends BoxElement = "div"> = BoxOwnProps<E> & Omit<ComponentPropsWithRef<E>, keyof BoxOwnProps<E>>;
18
+ /**
19
+ * Props for a polymorphic component built on `Box`: `OwnProps` plus every prop `Box` accepts for
20
+ * the element given in `as`, minus any name `OwnProps` already declares.
21
+ */
22
+ export type PolymorphicProps<E extends BoxElement, OwnProps extends object> = OwnProps & Omit<BoxProps<E>, keyof OwnProps>;
23
+ /**
24
+ * Polymorphic primitive that renders the DOM element given in `as` and forwards all of its props.
25
+ * Foundation for other StylesUI components.
26
+ *
27
+ * @example
28
+ * <Box as="button" onClick={() => console.log('Clicked')}>Click Me</Box>
29
+ */
30
+ export declare function Box<E extends BoxElement = "div">({ as, className, ...rest }: BoxProps<E>): JSX.Element;
31
+ export {};
@@ -0,0 +1,18 @@
1
+ import e from "./Box.module.js";
2
+ import { clsx as t } from "clsx";
3
+ import { c as n } from "react/compiler-runtime";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ //#region src/components/Box/Box.tsx
6
+ function i(i) {
7
+ let a = n(10), o, s, c;
8
+ a[0] === i ? (o = a[1], s = a[2], c = a[3]) : ({as: o, className: s, ...c} = i, a[0] = i, a[1] = o, a[2] = s, a[3] = c);
9
+ let l = o ?? "div", u;
10
+ a[4] === s ? u = a[5] : (u = t(e.box, s), a[4] = s, a[5] = u);
11
+ let d;
12
+ return a[6] !== l || a[7] !== c || a[8] !== u ? (d = /* @__PURE__ */ r(l, {
13
+ className: u,
14
+ ...c
15
+ }), a[6] = l, a[7] = c, a[8] = u, a[9] = d) : d = a[9], d;
16
+ }
17
+ //#endregion
18
+ export { i as Box };
@@ -0,0 +1,4 @@
1
+ import './Box.css';//#region src/components/Box/Box.module.css
2
+ var e = "sui-box-Wgbf3", t = { box: e };
3
+ //#endregion
4
+ export { e as box, t as default };
@@ -0,0 +1,2 @@
1
+ export { Box } from "./Box";
2
+ export type { BoxElement, BoxProps, PolymorphicProps } from "./Box";
@@ -0,0 +1 @@
1
+ .sui-button-2ZuB7{--sui-button-bg:var(--sui-color-primary,#2563eb);--sui-button-bg-hover:var(--sui-color-primary-hover,#1d4ed8);--sui-button-fg:var(--sui-color-on-primary,#fff);--sui-button-border:var(--sui-color-control-border,transparent);--sui-button-border-width:var(--sui-border-width,1px);--sui-button-radius:var(--sui-radius-control,4px);--sui-button-padding-x:var(--sui-space-4,1rem);--sui-button-padding-y:var(--sui-space-2,.5rem);--sui-button-font-size:var(--sui-font-size-md,1rem);--sui-button-font-weight:var(--sui-font-weight-control,500);--sui-button-depth:var(--sui-control-depth,0px);--sui-button-lip:var(--sui-color-shadow,transparent);--sui-button-spring:var(--sui-motion-spring,.12s ease-out);justify-content:center;align-items:center;gap:var(--sui-space-2,.5rem);padding:var(--sui-button-padding-y) var(--sui-button-padding-x);border:var(--sui-button-border-width) solid var(--sui-button-border);border-radius:var(--sui-button-radius);background-color:var(--sui-button-bg);box-shadow:0 var(--sui-button-depth) 0 var(--sui-button-lip);color:var(--sui-button-fg);font-family:var(--sui-font-body,system-ui, sans-serif);font-size:var(--sui-button-font-size);font-weight:var(--sui-button-font-weight);line-height:var(--sui-line-height-tight,1.25);cursor:pointer;transition:background-color .12s ease, border-color .12s ease, box-shadow var(--sui-button-spring), transform var(--sui-button-spring);display:inline-flex}.sui-button-2ZuB7[data-variant=secondary]{--sui-button-bg:var(--sui-color-secondary,#e5e7eb);--sui-button-bg-hover:var(--sui-color-secondary-hover,#d1d5db);--sui-button-fg:var(--sui-color-on-secondary,#111827)}.sui-button-2ZuB7[data-variant=danger]{--sui-button-bg:var(--sui-color-danger,#dc2626);--sui-button-bg-hover:var(--sui-color-danger-hover,#b91c1c);--sui-button-fg:var(--sui-color-on-danger,#fff)}.sui-button-2ZuB7[data-variant=info]{--sui-button-bg:var(--sui-color-info,#4338ca);--sui-button-bg-hover:var(--sui-color-info-hover,#3730a3);--sui-button-fg:var(--sui-color-on-info,#fff)}.sui-button-2ZuB7[data-variant=success]{--sui-button-bg:var(--sui-color-success,#15803d);--sui-button-bg-hover:var(--sui-color-success-hover,#166534);--sui-button-fg:var(--sui-color-on-success,#fff)}.sui-button-2ZuB7[data-variant=warning]{--sui-button-bg:var(--sui-color-warning,#eab308);--sui-button-bg-hover:var(--sui-color-warning-hover,#facc15);--sui-button-fg:var(--sui-color-on-warning,#111827)}.sui-button-2ZuB7:is([data-variant=ghost],[data-variant^=outline-]){--sui-button-bg:transparent;--sui-button-bg-hover:color-mix(in srgb, var(--sui-button-fg) 8%, transparent)}.sui-button-2ZuB7[data-variant=outline-primary]{--sui-button-fg:var(--sui-color-primary,#2563eb);--sui-button-border:var(--sui-color-primary,#2563eb)}.sui-button-2ZuB7[data-variant=outline-secondary]{--sui-button-fg:var(--sui-color-text,#111827);--sui-button-border:var(--sui-color-input-border,#6b7280)}.sui-button-2ZuB7[data-variant=outline-danger]{--sui-button-fg:var(--sui-color-danger-text,#b91c1c);--sui-button-border:var(--sui-color-danger-text,#b91c1c)}.sui-button-2ZuB7[data-variant=outline-info]{--sui-button-fg:var(--sui-color-info-text,#4338ca);--sui-button-border:var(--sui-color-info-text,#4338ca)}.sui-button-2ZuB7[data-variant=outline-success]{--sui-button-fg:var(--sui-color-success-text,#166534);--sui-button-border:var(--sui-color-success-text,#166534)}.sui-button-2ZuB7[data-variant=outline-warning]{--sui-button-fg:var(--sui-color-warning-text,#854d0e);--sui-button-border:var(--sui-color-warning-text,#854d0e)}.sui-button-2ZuB7[data-variant=ghost]{--sui-button-fg:var(--sui-color-text,#111827);--sui-button-border:transparent;--sui-button-depth:0px}.sui-button-2ZuB7[data-size=sm]{--sui-button-padding-x:var(--sui-space-3,.75rem);--sui-button-padding-y:var(--sui-space-1,.25rem);--sui-button-font-size:var(--sui-font-size-sm,.875rem)}.sui-button-2ZuB7[data-size=lg]{--sui-button-padding-x:var(--sui-space-6,1.5rem);--sui-button-padding-y:var(--sui-space-3,.75rem);--sui-button-font-size:var(--sui-font-size-lg,1.125rem)}.sui-button-2ZuB7:hover:not(:disabled,[data-busy]){background-color:var(--sui-button-bg-hover)}@media (hover:hover){.sui-button-2ZuB7:hover:not(:disabled,[data-busy]){box-shadow:0 calc(var(--sui-button-depth) * 1.5) 0 var(--sui-button-lip);transform:translateY(calc(var(--sui-button-depth) / -2))}}.sui-button-2ZuB7:active:not(:disabled,[data-busy]){box-shadow:0 0 0 var(--sui-button-lip);transform:translateY(var(--sui-button-depth));transition-duration:.12s;transition-timing-function:ease-out}.sui-button-2ZuB7[data-variant=ghost]:active:not(:disabled,[data-busy]){background-color:color-mix(in srgb, var(--sui-button-fg) 16%, transparent)}.sui-button-2ZuB7:focus-visible{outline:var(--sui-focus-ring-width,2px) solid var(--sui-color-focus-ring,#3b82f6);outline-offset:2px}.sui-button-2ZuB7:disabled{cursor:not-allowed;opacity:.5}.sui-button-2ZuB7[data-busy]{color:#0000;cursor:progress}.sui-button-2ZuB7[data-busy]>:not(.sui-spinner-ZExvW){opacity:0}:where(.sui-button-2ZuB7[data-busy]){position:relative}.sui-spinner-ZExvW{color:var(--sui-button-fg);margin:auto;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.sui-button-2ZuB7{transition:background-color .12s,border-color .12s}}@media (forced-colors:active){.sui-button-2ZuB7[data-busy]{box-shadow:none;color:#0000;forced-color-adjust:none;background-color:buttonface;border-color:buttonborder}.sui-button-2ZuB7[data-busy]:focus-visible{outline-color:highlight}.sui-spinner-ZExvW{color:buttontext}}
@@ -0,0 +1,42 @@
1
+ import type { JSX } from "react";
2
+ import type { BoxProps } from "../Box";
3
+ /**
4
+ * Button sizes, controlling padding and font size
5
+ */
6
+ export type ButtonSize = "sm" | "md" | "lg";
7
+ /**
8
+ * Button styles: filled in the primary, secondary or a status colour, outlined in one of those colours
9
+ * (`outline-<colour>`), or `ghost`, which has no border and no fill until it is hovered, and never sits on a lip. Use
10
+ * `danger` or `outline-danger` for an action that destroys something, such as deleting, and the other status colours
11
+ * for an action tied to that status.
12
+ */
13
+ export type ButtonVariant = "danger" | "ghost" | "info" | "outline-danger" | "outline-info" | "outline-primary" | "outline-secondary" | "outline-success" | "outline-warning" | "primary" | "secondary" | "success" | "warning";
14
+ /**
15
+ * Props for `Button`: its own props plus every native button prop
16
+ */
17
+ export interface ButtonProps extends Omit<BoxProps<"button">, "as"> {
18
+ /**
19
+ * Whether the button's action is running. A busy button shows a spinner in place of its content, keeps its width
20
+ * and accessible name, stays focusable, and ignores presses, including a form's submission. The spinner is not
21
+ * announced, so pair `busy` with a status message that announces the outcome. Defaults to `false`.
22
+ */
23
+ busy?: boolean;
24
+ /**
25
+ * Button size. Defaults to `md`.
26
+ */
27
+ size?: ButtonSize;
28
+ /**
29
+ * Visual style. Defaults to `primary`.
30
+ */
31
+ variant?: ButtonVariant;
32
+ }
33
+ /**
34
+ * Themed button. `type` defaults to `"button"`, so it never submits a form unless asked to.
35
+ *
36
+ * @example
37
+ * <Button onClick={save} variant="secondary">Save</Button>
38
+ *
39
+ * @example
40
+ * <Button busy={isSaving} type="submit">Save</Button>
41
+ */
42
+ export declare function Button({ "aria-disabled": ariaDisabled, busy, children, className, onClick, size, type, variant, ...rest }: ButtonProps): JSX.Element;
@@ -0,0 +1,29 @@
1
+ import { Box as e } from "../Box/Box.js";
2
+ import { Spinner as t } from "../Spinner/Spinner.js";
3
+ import n from "./Button.module.js";
4
+ import { clsx as r } from "clsx";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
+ //#region src/components/Button/Button.tsx
7
+ function o({ "aria-disabled": o, busy: s = !1, children: c, className: l, onClick: u, size: d = "md", type: f = "button", variant: p = "primary", ...m }) {
8
+ function h(e) {
9
+ if (s) {
10
+ e.preventDefault();
11
+ return;
12
+ }
13
+ u?.(e);
14
+ }
15
+ return /* @__PURE__ */ a(e, {
16
+ ...m,
17
+ as: "button",
18
+ className: r(n.button, l),
19
+ onClick: h,
20
+ type: f,
21
+ "aria-disabled": s ? !0 : o,
22
+ "data-busy": s ? "" : void 0,
23
+ "data-size": d,
24
+ "data-variant": p,
25
+ children: [c, s && /* @__PURE__ */ i(t, { className: n.spinner })]
26
+ });
27
+ }
28
+ //#endregion
29
+ export { o as Button };
@@ -0,0 +1,7 @@
1
+ import './Button.css';//#region src/components/Button/Button.module.css
2
+ var e = "sui-button-2ZuB7", t = "sui-spinner-ZExvW", n = {
3
+ button: e,
4
+ spinner: t
5
+ };
6
+ //#endregion
7
+ export { e as button, n as default, t as spinner };
@@ -0,0 +1,2 @@
1
+ export { Button } from "./Button";
2
+ export type { ButtonProps, ButtonSize, ButtonVariant } from "./Button";
@@ -0,0 +1 @@
1
+ .sui-card-Cb1o4{--sui-card-bg:var(--sui-color-surface,#f3f4f6);--sui-card-border:var(--sui-color-border,#d1d5db);--sui-card-border-width:var(--sui-border-width,1px);--sui-card-radius:var(--sui-radius-lg,8px);--sui-card-shadow:var(--sui-shadow-sm,0 1px 3px #0000001f);--sui-card-padding:var(--sui-space-5,1.25rem);padding:var(--sui-card-padding);border:var(--sui-card-border-width) solid var(--sui-card-border);border-radius:var(--sui-card-radius);background-color:var(--sui-card-bg);box-shadow:var(--sui-card-shadow);color:var(--sui-color-text,#111827)}.sui-card-Cb1o4[data-padding=sm]{--sui-card-padding:var(--sui-space-3,.75rem)}.sui-card-Cb1o4[data-padding=lg]{--sui-card-padding:var(--sui-space-8,2rem)}
@@ -0,0 +1,24 @@
1
+ import type { JSX } from "react";
2
+ import type { BoxElement, BoxProps } from "../Box";
3
+ /**
4
+ * Inner spacing of a card, mapped to the `--sui-space-*` tokens
5
+ */
6
+ export type CardPadding = "sm" | "md" | "lg";
7
+ interface CardOwnProps {
8
+ /**
9
+ * Inner spacing. Defaults to `md`.
10
+ */
11
+ padding?: CardPadding;
12
+ }
13
+ /**
14
+ * Props for `Card`: its own props plus every prop supported by the element given in `as`
15
+ */
16
+ export type CardProps<E extends BoxElement = "div"> = CardOwnProps & Omit<BoxProps<E>, keyof CardOwnProps>;
17
+ /**
18
+ * Raised surface that groups related content
19
+ *
20
+ * @example
21
+ * <Card as="article" padding="lg">...</Card>
22
+ */
23
+ export declare function Card<E extends BoxElement = "div">({ as, className, padding, ...rest }: CardProps<E>): JSX.Element;
24
+ export {};
@@ -0,0 +1,15 @@
1
+ import { Box as e } from "../Box/Box.js";
2
+ import t from "./Card.module.js";
3
+ import { clsx as n } from "clsx";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ //#region src/components/Card/Card.tsx
6
+ function i({ as: i, className: a, padding: o = "md", ...s }) {
7
+ return /* @__PURE__ */ r(e, {
8
+ ...s,
9
+ as: i,
10
+ className: n(t.card, a),
11
+ "data-padding": o
12
+ });
13
+ }
14
+ //#endregion
15
+ export { i as Card };
@@ -0,0 +1,4 @@
1
+ import './Card.css';//#region src/components/Card/Card.module.css
2
+ var e = "sui-card-Cb1o4", t = { card: e };
3
+ //#endregion
4
+ export { e as card, t as default };
@@ -0,0 +1,2 @@
1
+ export { Card } from "./Card";
2
+ export type { CardPadding, CardProps } from "./Card";
@@ -0,0 +1 @@
1
+ .sui-center-Pu1Pf{--sui-center-width:var(--sui-width-content,48rem);inline-size:100%;max-inline-size:calc(var(--sui-center-width) + 2 * var(--sui-center-gutter));padding-inline:var(--sui-center-gutter);margin-inline:auto}.sui-center-Pu1Pf[data-width=prose]{--sui-center-width:var(--sui-width-prose,65ch)}.sui-center-Pu1Pf[data-width=wide]{--sui-center-width:var(--sui-width-wide,72rem)}.sui-center-Pu1Pf[data-intrinsic]{flex-direction:column;align-items:center;display:flex}
@@ -0,0 +1,34 @@
1
+ import type { JSX } from "react";
2
+ import type { Space } from "../../layout";
3
+ import type { BoxElement, BoxProps } from "../Box";
4
+ /**
5
+ * Maximum column width, mapped to the `--sui-width-*` tokens
6
+ */
7
+ export type CenterWidth = "prose" | "content" | "wide";
8
+ interface CenterOwnProps {
9
+ /**
10
+ * Inline padding that keeps content off the viewport edges. Defaults to `4`.
11
+ */
12
+ gutter?: Space;
13
+ /**
14
+ * Also centres children narrower than the column. Defaults to `false`.
15
+ */
16
+ intrinsic?: boolean;
17
+ /**
18
+ * Maximum width of the column. Defaults to `content`.
19
+ */
20
+ width?: CenterWidth;
21
+ }
22
+ /**
23
+ * Props for `Center`: its own props plus every prop supported by the element given in `as`
24
+ */
25
+ export type CenterProps<E extends BoxElement = "div"> = CenterOwnProps & Omit<BoxProps<E>, keyof CenterOwnProps>;
26
+ /**
27
+ * Horizontally centred column with a maximum width and side gutters. Override a
28
+ * `--sui-width-*` token to change a width.
29
+ *
30
+ * @example
31
+ * <Center as="main" width="prose">...</Center>
32
+ */
33
+ export declare function Center<E extends BoxElement = "div">({ as, className, gutter, intrinsic, width, ...rest }: CenterProps<E>): JSX.Element;
34
+ export {};
@@ -0,0 +1,20 @@
1
+ import { Box as e } from "../Box/Box.js";
2
+ import { spaceValue as t } from "../../layout/spaceValue.js";
3
+ import { withCustomProperties as n } from "../../layout/withCustomProperties.js";
4
+ import r from "./Center.module.js";
5
+ import { clsx as i } from "clsx";
6
+ import { jsx as a } from "react/jsx-runtime";
7
+ //#region src/components/Center/Center.tsx
8
+ function o({ as: o, className: s, gutter: c = 4, intrinsic: l = !1, width: u = "content", ...d }) {
9
+ let { style: f, ...p } = d;
10
+ return /* @__PURE__ */ a(e, {
11
+ ...p,
12
+ as: o,
13
+ className: i(r.center, s),
14
+ style: n({ "--sui-center-gutter": t(c) }, f),
15
+ "data-intrinsic": l ? "" : void 0,
16
+ "data-width": u
17
+ });
18
+ }
19
+ //#endregion
20
+ export { o as Center };
@@ -0,0 +1,4 @@
1
+ import './Center.css';//#region src/components/Center/Center.module.css
2
+ var e = "sui-center-Pu1Pf", t = { center: e };
3
+ //#endregion
4
+ export { e as center, t as default };
@@ -0,0 +1,2 @@
1
+ export { Center } from "./Center";
2
+ export type { CenterProps, CenterWidth } from "./Center";
@@ -0,0 +1,23 @@
1
+ import type { JSX, ReactNode } from "react";
2
+ import type { BoxProps } from "../Box";
3
+ /**
4
+ * Props for `Checkbox`: its own props plus every native input prop. `className` and `style` go to the wrapping
5
+ * label; `ref` and every other prop go to the input.
6
+ */
7
+ export interface CheckboxProps extends Omit<BoxProps<"input">, "as" | "children" | "dangerouslySetInnerHTML" | "type"> {
8
+ /**
9
+ * Label shown beside the box, which names the checkbox. Without it, give the checkbox an accessible name, for
10
+ * example with `aria-label` or the `label` of the `Field` around it. It is inline content, as a `label` holds: a child
11
+ * laid out as a block drops below the box, so put a description after the checkbox, padded by `var(--sui-space-6)`.
12
+ */
13
+ children?: ReactNode;
14
+ }
15
+ /**
16
+ * Themed native checkbox inside the label that names it. When it is required it shows an asterisk after its
17
+ * label. Inside a `Field` it takes its description, error, and required and disabled state from the field; give
18
+ * it either children or the field's `label`, not both.
19
+ *
20
+ * @example
21
+ * <Checkbox name="updates">Send me product updates</Checkbox>
22
+ */
23
+ export declare function Checkbox(props: CheckboxProps): JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { ChoiceControl as e } from "../ChoiceControl/ChoiceControl.js";
2
+ import { c as t } from "react/compiler-runtime";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ //#region src/components/Checkbox/Checkbox.tsx
5
+ function r(r) {
6
+ let i = t(2), a;
7
+ return i[0] === r ? a = i[1] : (a = /* @__PURE__ */ n(e, {
8
+ ...r,
9
+ kind: "checkbox"
10
+ }), i[0] = r, i[1] = a), a;
11
+ }
12
+ //#endregion
13
+ export { r as Checkbox };
@@ -0,0 +1,2 @@
1
+ export { Checkbox } from "./Checkbox";
2
+ export type { CheckboxProps } from "./Checkbox";
@@ -0,0 +1 @@
1
+ .sui-choiceControl-aSGqz{--sui-choice-control-size:var(--sui-space-4,1rem);--sui-choice-control-track-size:var(--sui-choice-control-size);--sui-choice-control-gap:var(--sui-space-2,.5rem);--_sui-choice-control-indent:calc(var(--sui-choice-control-track-size) + var(--sui-choice-control-gap));--sui-choice-control-bg:var(--sui-color-field,#fff);--sui-choice-control-border:var(--sui-color-input-border,#6b7280);--sui-choice-control-border-width:var(--sui-border-width,1px);--sui-choice-control-radius:var(--sui-radius-sm,2px);--sui-choice-control-fill:var(--sui-color-primary,#2563eb);--sui-choice-control-fill-border:var(--sui-color-control-border,transparent);--sui-choice-control-mark:var(--sui-color-on-primary,#fff);--sui-choice-control-mark-unchecked:var(--sui-choice-control-mark);--sui-choice-control-mark-size:calc(var(--sui-choice-control-size) * .6);--sui-choice-control-mark-shape:polygon(0% 56%, 12% 44%, 38% 70%, 88% 12%, 100% 22%, 38% 94%);--sui-choice-control-mark-radius:0;--sui-choice-control-mark-justify:center;--sui-choice-control-mark-inset:0;--sui-choice-control-mark-transform:none;--sui-choice-control-mark-transform-unchecked:scale(0);--sui-choice-control-spring:var(--sui-motion-spring,.12s ease-out);--sui-choice-control-halo-spread:var(--sui-choice-control-gap);--_sui-choice-control-halo-tint:var(--sui-color-text,#111827);text-align:start;text-indent:0;inline-size:fit-content;font-family:var(--sui-font-body,system-ui, sans-serif);line-height:var(--sui-line-height-normal,1.5);padding-block:max(0px,12px - .5lh);display:inline-block}.sui-choiceControl-aSGqz[data-kind=radio]{--sui-choice-control-radius:50%;--sui-choice-control-mark-size:calc(var(--sui-choice-control-size) * .4);--sui-choice-control-mark-shape:none;--sui-choice-control-mark-radius:50%}.sui-choiceControl-aSGqz[data-kind=switch]{--sui-choice-control-track-size:var(--sui-space-6,1.5rem);--sui-choice-control-radius:var(--sui-radius-full,9999px);--sui-choice-control-mark-unchecked:var(--sui-color-input-border,#6b7280);--sui-choice-control-mark-size:calc(var(--sui-choice-control-size) - 2 * var(--sui-choice-control-border-width) - 2 * var(--sui-choice-control-mark-inset));--sui-choice-control-mark-shape:none;--sui-choice-control-mark-radius:50%;--sui-choice-control-mark-justify:start;--sui-choice-control-mark-inset:.125rem;--sui-choice-control-mark-transform:translateX(calc(var(--sui-choice-control-track-size) - var(--sui-choice-control-size)));--sui-choice-control-mark-transform-unchecked:none}.sui-choiceControl-aSGqz.sui-withText-bNY-W{padding-inline-start:var(--_sui-choice-control-indent)}.sui-withText-bNY-W>.sui-input-DF-cI{margin-inline-start:calc(-1 * var(--_sui-choice-control-indent))}.sui-choiceControl-aSGqz[data-kind=switch]:dir(rtl){--sui-choice-control-mark-transform:translateX(calc(var(--sui-choice-control-size) - var(--sui-choice-control-track-size)))}.sui-input-DF-cI{--_sui-choice-control-halo:transparent;--_sui-choice-control-halo-hover:color-mix(in srgb, var(--_sui-choice-control-halo-tint) 8%, transparent);--_sui-choice-control-halo-press:color-mix(in srgb, var(--_sui-choice-control-halo-tint) 16%, transparent);align-content:center;justify-content:var(--sui-choice-control-mark-justify);inline-size:var(--sui-choice-control-track-size);block-size:var(--sui-choice-control-size);vertical-align:middle;font:inherit;border:var(--sui-choice-control-border-width) solid var(--sui-choice-control-border);border-radius:var(--sui-choice-control-radius);background-color:var(--sui-choice-control-bg);cursor:pointer;appearance:none;margin:0;margin-block-start:calc(.5ex - .5cap);transition:background-color .12s,border-color .12s,box-shadow .12s;display:inline-grid}.sui-input-DF-cI:before{inline-size:var(--sui-choice-control-mark-size);block-size:var(--sui-choice-control-mark-size);border-radius:var(--sui-choice-control-mark-radius);background-color:var(--sui-choice-control-mark-unchecked);content:"";clip-path:var(--sui-choice-control-mark-shape);transform:var(--sui-choice-control-mark-transform-unchecked);margin-inline-start:var(--sui-choice-control-mark-inset);transition:background-color .12s,transform .12s ease-out}.sui-input-DF-cI:checked{--sui-choice-control-bg:var(--sui-choice-control-fill);--sui-choice-control-border:var(--sui-choice-control-fill-border);--_sui-choice-control-halo-tint:var(--sui-choice-control-fill)}.sui-input-DF-cI:checked:before{background-color:var(--sui-choice-control-mark);transform:var(--sui-choice-control-mark-transform);transition:background-color .12s ease, transform var(--sui-choice-control-spring)}@media (hover:hover){.sui-choiceControl-aSGqz:hover .sui-input-DF-cI{--_sui-choice-control-halo:var(--_sui-choice-control-halo-hover)}}.sui-choiceControl-aSGqz:active .sui-input-DF-cI{--_sui-choice-control-halo:var(--_sui-choice-control-halo-press)}.sui-choiceControl-aSGqz .sui-input-DF-cI:focus-visible{--_sui-choice-control-halo:transparent;transition-property:background-color,border-color}.sui-input-DF-cI:enabled{box-shadow:0 0 0 var(--sui-choice-control-halo-spread) var(--_sui-choice-control-halo)}.sui-input-DF-cI:focus-visible{outline:var(--sui-focus-ring-width,2px) solid var(--sui-color-focus-ring,#3b82f6);outline-offset:2px}.sui-input-DF-cI[type=checkbox][aria-invalid=true],.sui-input-DF-cI[type=radio][data-invalid]{--sui-choice-control-border:var(--sui-color-danger-text,#b91c1c)}.sui-text-4-Caz{cursor:pointer;padding-inline-start:var(--sui-choice-control-gap)}.sui-input-DF-cI:disabled,.sui-input-DF-cI:disabled+.sui-text-4-Caz{cursor:not-allowed;opacity:.5}@media (prefers-reduced-motion:reduce){.sui-input-DF-cI:before,.sui-input-DF-cI:checked:before{transition:background-color .12s}}@media (forced-colors:active){.sui-choiceControl-aSGqz{--sui-choice-control-bg:Canvas;--sui-choice-control-border:CanvasText;--sui-choice-control-fill:Highlight;--sui-choice-control-fill-border:Highlight;--sui-choice-control-mark:HighlightText}.sui-choiceControl-aSGqz[data-kind=switch]{--sui-choice-control-mark-unchecked:CanvasText}}
@@ -0,0 +1,21 @@
1
+ import type { JSX, ReactNode } from "react";
2
+ import type { BoxProps } from "../Box";
3
+ type ChoiceControlKind = "checkbox" | "radio" | "switch";
4
+ interface ChoiceControlProps extends Omit<BoxProps<"input">, "as" | "children" | "dangerouslySetInnerHTML" | "type"> {
5
+ /**
6
+ * Label shown beside the control, which names it
7
+ */
8
+ children?: ReactNode;
9
+ /**
10
+ * Control to draw. A switch is a checkbox input with the `switch` role, which replaces any `role` given.
11
+ */
12
+ kind: ChoiceControlKind;
13
+ }
14
+ /**
15
+ * Themed native checkbox or radio input inside the `label` that names it, shared by `Checkbox`, `Switch` and
16
+ * `Radio`. `className` and `style` go to the label; `ref` and every other prop go to the input. Inside a `Field`
17
+ * the input takes its id, description, and invalid, disabled and required state from the field. A required
18
+ * checkbox or switch with a label shows an asterisk after it.
19
+ */
20
+ export declare function ChoiceControl({ children, className, kind, role, style, ...inputProps }: ChoiceControlProps): JSX.Element;
21
+ export {};
@@ -0,0 +1,40 @@
1
+ import { hasContent as e } from "../../forms/hasContent.js";
2
+ import { useFieldControl as t } from "../../forms/useFieldControl.js";
3
+ import { Box as n } from "../Box/Box.js";
4
+ import { RequiredIndicator as r } from "../RequiredIndicator/RequiredIndicator.js";
5
+ import i from "./ChoiceControl.module.js";
6
+ import { clsx as a } from "clsx";
7
+ import { c as o } from "react/compiler-runtime";
8
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
9
+ //#region src/components/ChoiceControl/ChoiceControl.tsx
10
+ function l(l) {
11
+ let u = o(31), d, f, p, m, h, g;
12
+ u[0] === l ? (d = u[1], f = u[2], p = u[3], m = u[4], h = u[5], g = u[6]) : ({children: d, className: f, kind: m, role: h, style: g, ...p} = l, u[0] = l, u[1] = d, u[2] = f, u[3] = p, u[4] = m, u[5] = h, u[6] = g);
13
+ let _ = t(p), v, y, b, x;
14
+ u[7] !== d || u[8] !== f ? (y = e(d), v = n, b = "label", x = a(i.choiceControl, { [i.withText]: y }, f), u[7] = d, u[8] = f, u[9] = v, u[10] = y, u[11] = b, u[12] = x) : (v = u[9], y = u[10], b = u[11], x = u[12]);
15
+ let S = m === "switch" ? "switch" : h, C = m === "radio" ? "radio" : "checkbox", w;
16
+ u[13] !== _ || u[14] !== p || u[15] !== S || u[16] !== C ? (w = /* @__PURE__ */ s(n, {
17
+ ...p,
18
+ ..._,
19
+ as: "input",
20
+ className: i.input,
21
+ role: S,
22
+ type: C
23
+ }), u[13] = _, u[14] = p, u[15] = S, u[16] = C, u[17] = w) : w = u[17];
24
+ let T;
25
+ u[18] !== d || u[19] !== _ || u[20] !== y || u[21] !== m ? (T = y && /* @__PURE__ */ c(n, {
26
+ as: "span",
27
+ className: i.text,
28
+ children: [d, _.required && m !== "radio" && /* @__PURE__ */ s(r, {})]
29
+ }), u[18] = d, u[19] = _, u[20] = y, u[21] = m, u[22] = T) : T = u[22];
30
+ let E;
31
+ return u[23] !== v || u[24] !== m || u[25] !== g || u[26] !== b || u[27] !== x || u[28] !== w || u[29] !== T ? (E = /* @__PURE__ */ c(v, {
32
+ as: b,
33
+ className: x,
34
+ style: g,
35
+ "data-kind": m,
36
+ children: [w, T]
37
+ }), u[23] = v, u[24] = m, u[25] = g, u[26] = b, u[27] = x, u[28] = w, u[29] = T, u[30] = E) : E = u[30], E;
38
+ }
39
+ //#endregion
40
+ export { l as ChoiceControl };
@@ -0,0 +1,9 @@
1
+ import './ChoiceControl.css';//#region src/components/ChoiceControl/ChoiceControl.module.css
2
+ var e = "sui-choiceControl-aSGqz", t = "sui-withText-bNY-W", n = "sui-input-DF-cI", r = "sui-text-4-Caz", i = {
3
+ choiceControl: e,
4
+ withText: t,
5
+ input: n,
6
+ text: r
7
+ };
8
+ //#endregion
9
+ export { e as choiceControl, i as default, n as input, r as text, t as withText };
@@ -0,0 +1 @@
1
+ export { ChoiceControl } from "./ChoiceControl";
@@ -0,0 +1,29 @@
1
+ import type { JSX } from "react";
2
+ import type { Alignment, Justification, Space } from "../../layout";
3
+ import type { BoxElement, BoxProps } from "../Box";
4
+ interface ClusterOwnProps {
5
+ /**
6
+ * Cross-axis placement of children. Defaults to `center`.
7
+ */
8
+ align?: Alignment;
9
+ /**
10
+ * Space between children and between wrapped lines. Defaults to `2`.
11
+ */
12
+ gap?: Space;
13
+ /**
14
+ * Main-axis distribution of children. Defaults to `start`.
15
+ */
16
+ justify?: Justification;
17
+ }
18
+ /**
19
+ * Props for `Cluster`: its own props plus every prop supported by the element given in `as`
20
+ */
21
+ export type ClusterProps<E extends BoxElement = "div"> = ClusterOwnProps & Omit<BoxProps<E>, keyof ClusterOwnProps>;
22
+ /**
23
+ * Horizontal flow that wraps its children onto new lines when they run out of room
24
+ *
25
+ * @example
26
+ * <Cluster as="ul" aria-label="Tags">...</Cluster>
27
+ */
28
+ export declare function Cluster<E extends BoxElement = "div">({ align, gap, justify, ...rest }: ClusterProps<E>): JSX.Element;
29
+ export {};
@@ -0,0 +1,14 @@
1
+ import { HorizontalFlow as e } from "../HorizontalFlow/HorizontalFlow.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/components/Cluster/Cluster.tsx
4
+ function n({ align: n = "center", gap: r = 2, justify: i = "start", ...a }) {
5
+ return /* @__PURE__ */ t(e, {
6
+ ...a,
7
+ align: n,
8
+ gap: r,
9
+ justify: i,
10
+ wrap: !0
11
+ });
12
+ }
13
+ //#endregion
14
+ export { n as Cluster };
@@ -0,0 +1,2 @@
1
+ export { Cluster } from "./Cluster";
2
+ export type { ClusterProps } from "./Cluster";