@koobiq/react-components 0.0.1-beta.3 → 0.0.1-beta.31

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 (318) hide show
  1. package/dist/components/Alert/Alert.js +35 -19
  2. package/dist/components/Alert/components/AlertIcon/AlertIcon.js +3 -3
  3. package/dist/components/Alert/components/AlertIcon/types.d.ts +1 -1
  4. package/dist/components/Alert/types.d.ts +23 -5
  5. package/dist/components/AnimatedIcon/AnimatedIcon.d.ts +4 -0
  6. package/dist/components/AnimatedIcon/AnimatedIcon.js +50 -0
  7. package/dist/components/AnimatedIcon/AnimatedIcon.module.css.js +11 -0
  8. package/dist/components/AnimatedIcon/index.d.ts +2 -0
  9. package/dist/components/AnimatedIcon/types.d.ts +19 -0
  10. package/dist/components/Backdrop/Backdrop.js +10 -2
  11. package/dist/components/Backdrop/types.d.ts +13 -2
  12. package/dist/components/Badge/Badge.js +34 -23
  13. package/dist/components/Badge/types.d.ts +13 -4
  14. package/dist/components/Button/Button.js +42 -26
  15. package/dist/components/Button/Button.module.css.js +5 -2
  16. package/dist/components/Button/types.d.ts +30 -12
  17. package/dist/components/ButtonToggleGroup/ButtonToggleGroup.d.ts +2 -0
  18. package/dist/components/ButtonToggleGroup/ButtonToggleGroup.js +130 -0
  19. package/dist/components/ButtonToggleGroup/ButtonToggleGroup.module.css.js +17 -0
  20. package/dist/components/ButtonToggleGroup/ButtonToggleGroupContext.d.ts +7 -0
  21. package/dist/components/ButtonToggleGroup/ButtonToggleGroupContext.js +12 -0
  22. package/dist/components/ButtonToggleGroup/components/ButtonToggle/ButtonToggle.d.ts +2 -0
  23. package/dist/components/ButtonToggleGroup/components/ButtonToggle/ButtonToggle.js +90 -0
  24. package/dist/components/ButtonToggleGroup/components/ButtonToggle/ButtonToggle.module.css.js +32 -0
  25. package/dist/components/ButtonToggleGroup/components/ButtonToggle/index.d.ts +2 -0
  26. package/dist/components/ButtonToggleGroup/components/ButtonToggle/types.d.ts +27 -0
  27. package/dist/components/ButtonToggleGroup/components/index.d.ts +1 -0
  28. package/dist/components/ButtonToggleGroup/index.d.ts +3 -0
  29. package/dist/components/ButtonToggleGroup/reducer.d.ts +23 -0
  30. package/dist/components/ButtonToggleGroup/reducer.js +25 -0
  31. package/dist/components/ButtonToggleGroup/types.d.ts +38 -0
  32. package/dist/components/ButtonToggleGroup/utils.d.ts +3 -0
  33. package/dist/components/ButtonToggleGroup/utils.js +19 -0
  34. package/dist/components/Calendar/Calendar.d.ts +2 -0
  35. package/dist/components/Calendar/Calendar.js +41 -0
  36. package/dist/components/Calendar/Calendar.module.css.js +14 -0
  37. package/dist/components/Calendar/components/CalendarCell/CalendarCell.d.ts +7 -0
  38. package/dist/components/Calendar/components/CalendarCell/CalendarCell.js +49 -0
  39. package/dist/components/Calendar/components/CalendarCell/CalendarCell.module.css.js +29 -0
  40. package/dist/components/Calendar/components/CalendarCell/index.d.ts +1 -0
  41. package/dist/components/Calendar/components/CalendarGrid/CalendarGrid.d.ts +6 -0
  42. package/dist/components/Calendar/components/CalendarGrid/CalendarGrid.js +28 -0
  43. package/dist/components/Calendar/components/CalendarGrid/CalendarGrid.module.css.js +14 -0
  44. package/dist/components/Calendar/components/CalendarGrid/index.d.ts +1 -0
  45. package/dist/components/Calendar/components/CalendarHeader/CalendarHeader.d.ts +8 -0
  46. package/dist/components/Calendar/components/CalendarHeader/CalendarHeader.js +54 -0
  47. package/dist/components/Calendar/components/CalendarHeader/CalendarHeader.module.css.js +11 -0
  48. package/dist/components/Calendar/components/CalendarHeader/index.d.ts +1 -0
  49. package/dist/components/Calendar/components/CalendarMonthDropdown/CalendarMonthDropdown.d.ts +6 -0
  50. package/dist/components/Calendar/components/CalendarMonthDropdown/CalendarMonthDropdown.js +101 -0
  51. package/dist/components/Calendar/components/CalendarMonthDropdown/index.d.ts +1 -0
  52. package/dist/components/Calendar/components/CalendarYearDropdown/CalendarYearDropdown.d.ts +6 -0
  53. package/dist/components/Calendar/components/CalendarYearDropdown/CalendarYearDropdown.js +76 -0
  54. package/dist/components/Calendar/components/CalendarYearDropdown/index.d.ts +1 -0
  55. package/dist/components/Calendar/components/index.d.ts +2 -0
  56. package/dist/components/Calendar/index.d.ts +2 -0
  57. package/dist/components/Calendar/intl.json.js +7 -0
  58. package/dist/components/Calendar/types.d.ts +49 -0
  59. package/dist/components/Checkbox/Checkbox.d.ts +20 -11
  60. package/dist/components/Checkbox/Checkbox.js +96 -22
  61. package/dist/components/Checkbox/Checkbox.module.css.js +6 -6
  62. package/dist/components/Checkbox/types.d.ts +99 -7
  63. package/dist/components/Collections/Cell.d.ts +28 -0
  64. package/dist/components/Collections/Cell.js +10 -0
  65. package/dist/components/Collections/Column.d.ts +28 -0
  66. package/dist/components/Collections/Column.js +10 -0
  67. package/dist/components/Collections/Divider.d.ts +19 -0
  68. package/dist/components/Collections/Divider.js +14 -0
  69. package/dist/components/Collections/Header.d.ts +20 -0
  70. package/dist/components/Collections/Header.js +16 -0
  71. package/dist/components/Collections/Item.d.ts +14 -0
  72. package/dist/components/Collections/Item.js +10 -0
  73. package/dist/components/Collections/Row.d.ts +14 -0
  74. package/dist/components/Collections/Row.js +10 -0
  75. package/dist/components/{List/ListSection.d.ts → Collections/Section.d.ts} +6 -6
  76. package/dist/components/Collections/Section.js +10 -0
  77. package/dist/components/Collections/TableBody.d.ts +6 -0
  78. package/dist/components/Collections/TableBody.js +10 -0
  79. package/dist/components/Collections/TableHeader.d.ts +6 -0
  80. package/dist/components/Collections/TableHeader.js +10 -0
  81. package/dist/components/Collections/index.d.ts +9 -0
  82. package/dist/components/Container/Container.js +14 -2
  83. package/dist/components/Container/types.d.ts +16 -5
  84. package/dist/components/Container/utils.d.ts +1 -1
  85. package/dist/components/Dialog/Dialog.d.ts +9 -1
  86. package/dist/components/Dialog/Dialog.js +31 -17
  87. package/dist/components/Dialog/components/DialogBody.d.ts +13 -0
  88. package/dist/components/Dialog/components/{DialogContent.js → DialogBody.js} +9 -8
  89. package/dist/components/Dialog/components/DialogCloseButton.d.ts +23 -1
  90. package/dist/components/Dialog/components/DialogCloseButton.js +3 -6
  91. package/dist/components/Dialog/components/index.d.ts +1 -1
  92. package/dist/components/Dialog/index.d.ts +0 -1
  93. package/dist/components/Dialog/types.d.ts +1 -1
  94. package/dist/components/Divider/Divider.d.ts +4 -0
  95. package/dist/components/Divider/Divider.js +47 -0
  96. package/dist/components/Divider/Divider.module.css.js +29 -0
  97. package/dist/components/Divider/index.d.ts +2 -0
  98. package/dist/components/Divider/types.d.ts +26 -0
  99. package/dist/components/Divider/types.js +6 -0
  100. package/dist/components/FieldComponents/FieldAddon/FieldAddon.d.ts +1 -1
  101. package/dist/components/FieldComponents/FieldAddon/FieldAddon.js +7 -2
  102. package/dist/components/FieldComponents/FieldAddon/FieldAddon.module.css.js +3 -3
  103. package/dist/components/FieldComponents/FieldCaption/FieldCaption.d.ts +4 -6
  104. package/dist/components/FieldComponents/FieldCaption/FieldCaption.js +1 -1
  105. package/dist/components/FieldComponents/FieldControl/FieldControl.d.ts +6 -8
  106. package/dist/components/FieldComponents/FieldControl/FieldControl.js +5 -8
  107. package/dist/components/FieldComponents/FieldError/FieldError.d.ts +1 -1
  108. package/dist/components/FieldComponents/FieldError/FieldError.js +1 -1
  109. package/dist/components/FieldComponents/FieldInput/FieldInput.d.ts +3 -3
  110. package/dist/components/FieldComponents/FieldInput/FieldInput.js +4 -4
  111. package/dist/components/FieldComponents/FieldInput/FieldInput.module.css.js +3 -3
  112. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.d.ts +10 -4
  113. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.js +56 -30
  114. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroupContext.d.ts +3 -3
  115. package/dist/components/FieldComponents/FieldLabel/FieldLabel.d.ts +2 -2
  116. package/dist/components/FieldComponents/FieldLabel/FieldLabel.js +3 -3
  117. package/dist/components/FieldComponents/FieldSelect/FieldSelect.d.ts +13 -0
  118. package/dist/components/FieldComponents/FieldSelect/FieldSelect.js +37 -0
  119. package/dist/components/FieldComponents/FieldSelect/FieldSelect.module.css.js +20 -0
  120. package/dist/components/FieldComponents/FieldSelect/index.d.ts +1 -0
  121. package/dist/components/FieldComponents/index.d.ts +1 -1
  122. package/dist/components/FlexBox/FlexBox.d.ts +4 -0
  123. package/dist/components/FlexBox/FlexBox.js +47 -0
  124. package/dist/components/FlexBox/index.d.ts +2 -0
  125. package/dist/components/FlexBox/types.d.ts +27 -0
  126. package/dist/components/Grid/Grid.d.ts +8 -2
  127. package/dist/components/Grid/Grid.js +5 -2
  128. package/dist/components/Grid/types.d.ts +2 -2
  129. package/dist/components/IconButton/IconButton.js +38 -22
  130. package/dist/components/IconButton/index.d.ts +2 -2
  131. package/dist/components/IconButton/types.d.ts +30 -10
  132. package/dist/components/Input/Input.d.ts +30 -9
  133. package/dist/components/Input/Input.js +69 -23
  134. package/dist/components/Input/types.d.ts +72 -14
  135. package/dist/components/InputNumber/InputNumber.d.ts +25 -9
  136. package/dist/components/InputNumber/InputNumber.js +77 -26
  137. package/dist/components/InputNumber/components/InputNumberCounterControls.js +4 -4
  138. package/dist/components/InputNumber/types.d.ts +59 -14
  139. package/dist/components/Link/Link.js +42 -22
  140. package/dist/components/Link/Link.module.css.js +4 -4
  141. package/dist/components/Link/types.d.ts +46 -10
  142. package/dist/components/List/List.d.ts +17 -3
  143. package/dist/components/List/List.js +32 -18
  144. package/dist/components/List/List.module.css.js +0 -3
  145. package/dist/components/List/components/ListItemText/ListItemText.js +26 -0
  146. package/dist/components/List/components/ListItemText/ListItemText.module.css.js +11 -0
  147. package/dist/components/List/components/ListOption/ListOption.d.ts +3 -2
  148. package/dist/components/List/components/ListOption/ListOption.js +10 -15
  149. package/dist/components/List/components/ListSection/ListSection.d.ts +3 -2
  150. package/dist/components/List/components/ListSection/ListSection.js +1 -4
  151. package/dist/components/List/index.d.ts +2 -2
  152. package/dist/components/List/types.d.ts +13 -2
  153. package/dist/components/Menu/Menu.d.ts +15 -0
  154. package/dist/components/Menu/Menu.js +67 -0
  155. package/dist/components/Menu/Menu.module.css.js +8 -0
  156. package/dist/components/Menu/components/MenuHeader/MenuHeader.d.ts +5 -0
  157. package/dist/components/Menu/components/MenuHeader/MenuHeader.js +9 -0
  158. package/dist/components/Menu/components/MenuHeader/index.d.ts +1 -0
  159. package/dist/components/Menu/components/MenuInner/MenuInner.d.ts +6 -0
  160. package/dist/components/Menu/components/MenuInner/MenuInner.js +46 -0
  161. package/dist/components/Menu/components/MenuInner/MenuInner.module.css.js +11 -0
  162. package/dist/components/Menu/components/MenuInner/index.d.ts +1 -0
  163. package/dist/components/Menu/components/MenuItem/MenuItem.d.ts +6 -0
  164. package/dist/components/Menu/components/MenuItem/MenuItem.js +36 -0
  165. package/dist/components/Menu/components/MenuItem/index.d.ts +1 -0
  166. package/dist/components/Menu/components/MenuSection/MenuSection.d.ts +6 -0
  167. package/dist/components/Menu/components/MenuSection/MenuSection.js +30 -0
  168. package/dist/components/Menu/components/MenuSection/MenuSection.module.css.js +11 -0
  169. package/dist/components/Menu/components/MenuSection/index.d.ts +1 -0
  170. package/dist/components/Menu/components/index.d.ts +1 -0
  171. package/dist/components/Menu/index.d.ts +2 -0
  172. package/dist/components/Menu/types.d.ts +63 -0
  173. package/dist/components/Menu/types.js +4 -0
  174. package/dist/components/Modal/Modal.d.ts +9 -1
  175. package/dist/components/Modal/Modal.js +22 -25
  176. package/dist/components/Modal/index.d.ts +15 -2
  177. package/dist/components/Modal/index.js +9 -0
  178. package/dist/components/Modal/types.d.ts +9 -2
  179. package/dist/components/Popover/Popover.d.ts +12 -2
  180. package/dist/components/Popover/Popover.js +142 -128
  181. package/dist/components/Popover/Popover.module.css.js +3 -0
  182. package/dist/components/Popover/index.d.ts +15 -2
  183. package/dist/components/Popover/index.js +9 -0
  184. package/dist/components/Popover/types.d.ts +37 -8
  185. package/dist/components/Popover/types.js +9 -1
  186. package/dist/components/ProgressBar/types.d.ts +1 -1
  187. package/dist/components/ProgressSpinner/types.d.ts +2 -2
  188. package/dist/components/Provider/BreakpointsProvider.d.ts +2 -1
  189. package/dist/components/Provider/BreakpointsProvider.js +8 -1
  190. package/dist/components/Provider/Provider.d.ts +3 -1
  191. package/dist/components/Provider/Provider.js +18 -4
  192. package/dist/components/Provider/types.d.ts +8 -1
  193. package/dist/components/Provider/utils/useBreakpoints.d.ts +2 -1
  194. package/dist/components/Provider/utils/useBreakpoints.js +2 -2
  195. package/dist/components/RadioGroup/RadioContext.js +1 -0
  196. package/dist/components/RadioGroup/RadioGroup.js +2 -1
  197. package/dist/components/RadioGroup/components/Radio/Radio.js +2 -1
  198. package/dist/components/RadioGroup/components/Radio/Radio.module.css.js +3 -0
  199. package/dist/components/RadioGroup/components/Radio/types.d.ts +1 -1
  200. package/dist/components/RadioGroup/types.d.ts +2 -2
  201. package/dist/components/Select/Select.d.ts +11 -0
  202. package/dist/components/Select/Select.js +195 -0
  203. package/dist/components/Select/Select.module.css.js +20 -0
  204. package/dist/components/Select/index.d.ts +2 -0
  205. package/dist/components/Select/types.d.ts +129 -0
  206. package/dist/components/SidePanel/SidePanel.d.ts +9 -1
  207. package/dist/components/SidePanel/SidePanel.js +25 -24
  208. package/dist/components/SidePanel/index.d.ts +15 -2
  209. package/dist/components/SidePanel/index.js +9 -0
  210. package/dist/components/SidePanel/types.d.ts +10 -3
  211. package/dist/components/SkeletonTypography/types.d.ts +1 -1
  212. package/dist/components/Table/Table.d.ts +12 -0
  213. package/dist/components/Table/Table.js +97 -0
  214. package/dist/components/Table/Table.module.css.js +11 -0
  215. package/dist/components/Table/components/TableCell/TableCell.d.ts +7 -0
  216. package/dist/components/Table/components/TableCell/TableCell.js +39 -0
  217. package/dist/components/Table/components/TableCell/TableCell.module.css.js +27 -0
  218. package/dist/components/Table/components/TableCell/index.d.ts +1 -0
  219. package/dist/components/Table/components/TableCheckboxCell/TableCheckboxCell.d.ts +7 -0
  220. package/dist/components/Table/components/TableCheckboxCell/TableCheckboxCell.js +21 -0
  221. package/dist/components/Table/components/TableCheckboxCell/index.d.ts +1 -0
  222. package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.d.ts +7 -0
  223. package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.js +46 -0
  224. package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.module.css.js +27 -0
  225. package/dist/components/Table/components/TableColumnHeader/index.d.ts +1 -0
  226. package/dist/components/Table/components/TableHeaderRow/TableHeaderRow.d.ts +9 -0
  227. package/dist/components/Table/components/TableHeaderRow/TableHeaderRow.js +16 -0
  228. package/dist/components/Table/components/TableHeaderRow/index.d.ts +1 -0
  229. package/dist/components/Table/components/TableRow/TableRow.d.ts +9 -0
  230. package/dist/components/Table/components/TableRow/TableRow.js +46 -0
  231. package/dist/components/Table/components/TableRow/TableRow.module.css.js +23 -0
  232. package/dist/components/Table/components/TableRow/index.d.ts +1 -0
  233. package/dist/components/Table/components/TableRowGroup/TableRowGroup.d.ts +6 -0
  234. package/dist/components/Table/components/TableRowGroup/TableRowGroup.js +15 -0
  235. package/dist/components/Table/components/TableRowGroup/index.d.ts +1 -0
  236. package/dist/components/Table/components/TableSelectAllCell/TableSelectAllCell.d.ts +7 -0
  237. package/dist/components/Table/components/TableSelectAllCell/TableSelectAllCell.js +22 -0
  238. package/dist/components/Table/components/TableSelectAllCell/index.d.ts +1 -0
  239. package/dist/components/Table/components/index.d.ts +7 -0
  240. package/dist/components/Table/index.d.ts +1 -0
  241. package/dist/components/Table/types.d.ts +71 -0
  242. package/dist/components/Table/utils.d.ts +2 -0
  243. package/dist/components/Table/utils.js +8 -0
  244. package/dist/components/TagGroup/Tag.d.ts +24 -0
  245. package/dist/components/TagGroup/Tag.js +10 -0
  246. package/dist/components/TagGroup/TagGroup.d.ts +2 -0
  247. package/dist/components/TagGroup/TagGroup.js +23 -0
  248. package/dist/components/TagGroup/TagGroup.module.css.js +8 -0
  249. package/dist/components/TagGroup/components/TagInner/TagInner.d.ts +11 -0
  250. package/dist/components/TagGroup/components/TagInner/TagInner.js +86 -0
  251. package/dist/components/TagGroup/components/TagInner/TagInner.module.css.js +30 -0
  252. package/dist/components/TagGroup/components/TagInner/index.d.ts +1 -0
  253. package/dist/components/TagGroup/components/TagInner/utils.d.ts +3 -0
  254. package/dist/components/TagGroup/components/TagInner/utils.js +9 -0
  255. package/dist/components/TagGroup/components/index.d.ts +1 -0
  256. package/dist/components/TagGroup/index.d.ts +3 -0
  257. package/dist/components/TagGroup/intl.json.js +7 -0
  258. package/dist/components/TagGroup/types.d.ts +37 -0
  259. package/dist/components/TagGroup/types.js +9 -0
  260. package/dist/components/Textarea/Textarea.d.ts +14 -6
  261. package/dist/components/Textarea/Textarea.js +48 -3
  262. package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.d.ts +4 -4
  263. package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.js +15 -9
  264. package/dist/components/Textarea/types.d.ts +63 -13
  265. package/dist/components/Textarea/utils/useTextareaAutosize.d.ts +1 -1
  266. package/dist/components/Textarea/utils/useTextareaAutosize.js +2 -2
  267. package/dist/components/Toggle/Toggle.d.ts +14 -7
  268. package/dist/components/Toggle/Toggle.js +71 -10
  269. package/dist/components/Toggle/Toggle.module.css.js +6 -6
  270. package/dist/components/Toggle/types.d.ts +66 -4
  271. package/dist/components/Tooltip/Tooltip.d.ts +6 -3
  272. package/dist/components/Tooltip/Tooltip.js +43 -23
  273. package/dist/components/Tooltip/types.d.ts +28 -10
  274. package/dist/components/Typography/Typography.js +2 -2
  275. package/dist/components/Typography/Typography.module.css.js +2 -1
  276. package/dist/components/Typography/types.d.ts +9 -4
  277. package/dist/components/Typography/types.js +2 -1
  278. package/dist/components/index.d.ts +11 -0
  279. package/dist/components/layout/flex/flex.d.ts +15 -4
  280. package/dist/components/layout/flex/flex.js +6 -1
  281. package/dist/components/layout/flex/flex.module.css.js +78 -39
  282. package/dist/index.js +59 -24
  283. package/dist/{react-components.css → style.css} +1206 -387
  284. package/dist/styles/utility.d.ts +2 -0
  285. package/dist/styles/utility.js +3 -1
  286. package/dist/styles/utility.module.css.js +5 -1
  287. package/dist/types.d.ts +1 -0
  288. package/dist/utils/capitalizeFirstLetter/capitalizeFirstLetter.d.ts +2 -0
  289. package/dist/utils/capitalizeFirstLetter/capitalizeFirstLetter.js +6 -0
  290. package/dist/utils/capitalizeFirstLetter/index.d.ts +1 -0
  291. package/dist/utils/index.d.ts +1 -0
  292. package/package.json +10 -5
  293. package/dist/components/Dialog/DialogContext.d.ts +0 -9
  294. package/dist/components/Dialog/DialogContext.js +0 -12
  295. package/dist/components/Dialog/components/DialogContent.d.ts +0 -12
  296. package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.d.ts +0 -10
  297. package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.js +0 -18
  298. package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.module.css.js +0 -11
  299. package/dist/components/FieldComponents/FieldNumberControl/index.d.ts +0 -1
  300. package/dist/components/Input/components/FieldAddon/FieldAddon.d.ts +0 -10
  301. package/dist/components/Input/components/FieldAddon/index.d.ts +0 -1
  302. package/dist/components/Input/components/FieldCaption/FieldCaption.d.ts +0 -6
  303. package/dist/components/Input/components/FieldCaption/index.d.ts +0 -1
  304. package/dist/components/Input/components/FieldControl/FieldControl.d.ts +0 -9
  305. package/dist/components/Input/components/FieldControl/index.d.ts +0 -1
  306. package/dist/components/Input/components/FieldError/FieldError.d.ts +0 -7
  307. package/dist/components/Input/components/FieldError/index.d.ts +0 -1
  308. package/dist/components/Input/components/FieldInput/FieldInput.d.ts +0 -9
  309. package/dist/components/Input/components/FieldInput/index.d.ts +0 -1
  310. package/dist/components/Input/components/FieldInputGroup/FieldInputGroup.d.ts +0 -7
  311. package/dist/components/Input/components/FieldInputGroup/index.d.ts +0 -1
  312. package/dist/components/Input/components/FieldLabel/FieldLabel.d.ts +0 -9
  313. package/dist/components/Input/components/FieldLabel/index.d.ts +0 -1
  314. package/dist/components/Input/components/index.d.ts +0 -7
  315. package/dist/components/List/ListItem.d.ts +0 -11
  316. package/dist/components/List/ListItem.js +0 -11
  317. package/dist/components/List/ListSection.js +0 -11
  318. package/dist/components/List/components/ListOption/ListOption.module.css.js +0 -23
@@ -1,4 +1,18 @@
1
1
  import type { Ref } from 'react';
2
- import type { ListComponent, ListProps, ListRef } from './types';
3
- export declare function ListRender<T extends object>(props: ListProps<T>, ref: Ref<ListRef>): import("react/jsx-runtime").JSX.Element;
4
- export declare const List: ListComponent;
2
+ import { type ListState } from '@koobiq/react-primitives';
3
+ import { Item, Section } from '../Collections';
4
+ import { ListItemText } from './components';
5
+ import type { ListComponentProps, ListBaseProps } from './types';
6
+ export type ListInnerProps<T extends object> = {
7
+ state: ListState<T>;
8
+ listRef?: Ref<HTMLUListElement>;
9
+ } & Omit<ListBaseProps<T>, 'ref'>;
10
+ export declare function ListInner<T extends object>(props: ListInnerProps<T>): import("react/jsx-runtime").JSX.Element;
11
+ declare const ListComponent: ListComponentProps;
12
+ type CompoundedComponent = typeof ListComponent & {
13
+ Item: typeof Item;
14
+ Section: typeof Section;
15
+ ItemText: typeof ListItemText;
16
+ };
17
+ export declare const List: CompoundedComponent;
18
+ export {};
@@ -2,40 +2,54 @@
2
2
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
3
3
  import { forwardRef } from "react";
4
4
  import { useDOMRef, mergeProps, clsx, isNotNil } from "@koobiq/react-core";
5
- import { useListState, useListBox } from "@koobiq/react-primitives";
5
+ import { useListBox, useListState } from "@koobiq/react-primitives";
6
+ import { utilClasses } from "../../styles/utility.js";
6
7
  import s from "./List.module.css.js";
7
8
  import { ListSection } from "./components/ListSection/ListSection.js";
9
+ import { Item } from "../Collections/Item.js";
10
+ import { Section } from "../Collections/Section.js";
11
+ import { ListItemText } from "./components/ListItemText/ListItemText.js";
8
12
  import { Typography } from "../Typography/Typography.js";
9
13
  import { ListOption } from "./components/ListOption/ListOption.js";
10
- function ListRender(props, ref) {
11
- const { className, label } = props;
12
- const domRef = useDOMRef(ref);
13
- const state = useListState(props);
14
+ const { list } = utilClasses;
15
+ function ListInner(props) {
16
+ const { label, className, style, slotProps, state, listRef } = props;
17
+ const domRef = useDOMRef(listRef);
14
18
  const { listBoxProps, labelProps } = useListBox(props, state, domRef);
19
+ const titleProps = mergeProps(
20
+ {
21
+ className: s.label,
22
+ variant: "text-normal-strong"
23
+ },
24
+ slotProps?.label,
25
+ labelProps
26
+ );
15
27
  const listProps = mergeProps(
16
28
  {
17
- className: clsx(s.base, className),
18
- ref: domRef
29
+ style,
30
+ ref: domRef,
31
+ className: clsx(list, className)
19
32
  },
33
+ slotProps?.list,
20
34
  listBoxProps
21
35
  );
22
36
  return /* @__PURE__ */ jsxs(Fragment, { children: [
23
- isNotNil(label) && /* @__PURE__ */ jsx(
24
- Typography,
25
- {
26
- variant: "text-normal-strong",
27
- className: s.label,
28
- ...labelProps,
29
- children: label
30
- }
31
- ),
37
+ isNotNil(label) && /* @__PURE__ */ jsx(Typography, { ...titleProps, children: label }),
32
38
  /* @__PURE__ */ jsx("ul", { ...listProps, children: [...state.collection].map(
33
39
  (item) => item.type === "section" ? /* @__PURE__ */ jsx(ListSection, { section: item, state }, item.key) : /* @__PURE__ */ jsx(ListOption, { item, state }, item.key)
34
40
  ) })
35
41
  ] });
36
42
  }
37
- const List = forwardRef(ListRender);
43
+ function ListRender(props, ref) {
44
+ const state = useListState(props);
45
+ return /* @__PURE__ */ jsx(ListInner, { listRef: ref, ...props, state });
46
+ }
47
+ const ListComponent = forwardRef(ListRender);
48
+ const List = ListComponent;
49
+ List.Item = Item;
50
+ List.Section = Section;
51
+ List.ItemText = ListItemText;
38
52
  export {
39
53
  List,
40
- ListRender
54
+ ListInner
41
55
  };
@@ -1,11 +1,8 @@
1
- const base = "kbq-list-928929";
2
1
  const label = "kbq-list-label-e4431c";
3
2
  const s = {
4
- base,
5
3
  label
6
4
  };
7
5
  export {
8
- base,
9
6
  s as default,
10
7
  label
11
8
  };
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from "react";
4
+ import { isNotNil, clsx } from "@koobiq/react-core";
5
+ import s from "./ListItemText.module.css.js";
6
+ import { Typography } from "../../../Typography/Typography.js";
7
+ const ListItemText = forwardRef(
8
+ ({ className, children, caption, slotProps, ...other }, ref) => /* @__PURE__ */ jsxs("div", { className: clsx(s.base, className), ...other, ref, children: [
9
+ /* @__PURE__ */ jsx(Typography, { as: "span", ...slotProps?.text, children }),
10
+ isNotNil(caption) && /* @__PURE__ */ jsx(
11
+ Typography,
12
+ {
13
+ as: "span",
14
+ color: "contrast-secondary",
15
+ className: s.caption,
16
+ variant: "text-compact",
17
+ ...slotProps?.caption,
18
+ children: caption
19
+ }
20
+ )
21
+ ] })
22
+ );
23
+ ListItemText.displayName = "ListItemText";
24
+ export {
25
+ ListItemText
26
+ };
@@ -0,0 +1,11 @@
1
+ const base = "kbq-listitemtext-27bac6";
2
+ const caption = "kbq-listitemtext-caption-ae96af";
3
+ const s = {
4
+ base,
5
+ caption
6
+ };
7
+ export {
8
+ base,
9
+ caption,
10
+ s as default
11
+ };
@@ -1,5 +1,6 @@
1
1
  import type { ListState, Node } from '@koobiq/react-primitives';
2
- export declare function ListOption<T>({ item, state, }: {
2
+ export type ListOptionProps<T> = {
3
3
  item: Node<T>;
4
4
  state: ListState<T>;
5
- }): import("react/jsx-runtime").JSX.Element;
5
+ };
6
+ export declare function ListOption<T>({ item, state }: ListOptionProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -4,12 +4,10 @@ import { useRef } from "react";
4
4
  import { useHover, usePress, clsx, mergeProps } from "@koobiq/react-core";
5
5
  import { useOption } from "@koobiq/react-primitives";
6
6
  import { utilClasses } from "../../../../styles/utility.js";
7
- import s from "./ListOption.module.css.js";
8
7
  const textVariant = utilClasses.typography;
9
- function ListOption({
10
- item,
11
- state
12
- }) {
8
+ const { listItem } = utilClasses;
9
+ function ListOption({ item, state }) {
10
+ const { href, className, style } = item.props;
13
11
  const ref = useRef(null);
14
12
  const {
15
13
  optionProps,
@@ -19,21 +17,18 @@ function ListOption({
19
17
  } = useOption({ key: item.key }, state, ref);
20
18
  const { hoverProps, isHovered: hovered } = useHover({ isDisabled: disabled });
21
19
  const { isPressed: pressed, pressProps } = usePress({ isDisabled: disabled });
22
- const Tag = item.props.href ? "a" : "li";
20
+ const Tag = href ? "a" : "li";
23
21
  return /* @__PURE__ */ jsx(
24
22
  Tag,
25
23
  {
26
24
  ...mergeProps(optionProps, hoverProps, pressProps),
27
- className: clsx(
28
- s.base,
29
- hovered && s.hovered,
30
- pressed && s.pressed,
31
- selected && s.selected,
32
- textVariant["text-normal"],
33
- disabled && s.disabled,
34
- focusVisible && s.focusVisible
35
- ),
25
+ className: clsx(listItem, textVariant["text-normal"], className),
26
+ style,
36
27
  ref,
28
+ "data-hovered": hovered,
29
+ "data-pressed": pressed,
30
+ "data-disabled": disabled,
31
+ "data-selected": selected,
37
32
  "data-focus-visible": focusVisible,
38
33
  children: item.rendered
39
34
  }
@@ -1,5 +1,6 @@
1
1
  import type { ListState, Node } from '@koobiq/react-primitives';
2
- export declare function ListSection<T>({ section, state, }: {
2
+ export type ListSectionProps<T> = {
3
3
  section: Node<T>;
4
4
  state: ListState<T>;
5
- }): import("react/jsx-runtime").JSX.Element;
5
+ };
6
+ export declare function ListSection<T>({ section, state }: ListSectionProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -4,10 +4,7 @@ import { useListBoxSection } from "@koobiq/react-primitives";
4
4
  import s from "./ListSection.module.css.js";
5
5
  import { ListOption } from "../ListOption/ListOption.js";
6
6
  import { Typography } from "../../../Typography/Typography.js";
7
- function ListSection({
8
- section,
9
- state
10
- }) {
7
+ function ListSection({ section, state }) {
11
8
  const { itemProps, headingProps, groupProps } = useListBoxSection({
12
9
  heading: section.rendered,
13
10
  "aria-label": section["aria-label"]
@@ -1,4 +1,4 @@
1
1
  export * from './List';
2
+ export * from './components/ListItemText';
2
3
  export * from './types';
3
- export * from './ListItem';
4
- export * from './ListSection';
4
+ export { Item as ListItem, Section as ListSection } from '../Collections';
@@ -1,5 +1,6 @@
1
- import type { ComponentRef, ReactElement, ReactNode, Ref } from 'react';
1
+ import type { ComponentPropsWithRef, ComponentRef, CSSProperties, ReactElement, ReactNode, Ref } from 'react';
2
2
  import type { AriaListBoxProps } from '@koobiq/react-primitives';
3
+ import type { TypographyProps } from '../Typography';
3
4
  export declare const listPropSelectionMode: readonly ["none", "single", "multiple"];
4
5
  export type ListPropSelectionMode = (typeof listPropSelectionMode)[number];
5
6
  export type ListPropItems<T extends object> = AriaListBoxProps<T>['items'];
@@ -14,8 +15,11 @@ export type ListBaseProps<T extends object> = {
14
15
  label?: ReactNode;
15
16
  /** Additional CSS-classes. */
16
17
  className?: string;
18
+ /** Inline styles. */
19
+ style?: CSSProperties;
17
20
  /** The type of selection that is allowed in the collection. */
18
21
  selectionMode?: ListPropSelectionMode;
22
+ /** Ref to the HTML ul-element. */
19
23
  ref?: Ref<HTMLElement>;
20
24
  /** The contents of the collection. */
21
25
  children?: ListPropChildren<T>;
@@ -36,7 +40,14 @@ export type ListBaseProps<T extends object> = {
36
40
  onAction?: ListPropOnAction<T>;
37
41
  /** How multiple selection should behave in the collection. */
38
42
  selectionBehavior?: ListPropSelectionBehavior<T>;
43
+ /** Whether to autofocus the list or an option. */
44
+ autoFocus?: boolean | 'first' | 'last';
45
+ /** The props used for each slot inside. */
46
+ slotProps?: {
47
+ label?: TypographyProps;
48
+ list?: ComponentPropsWithRef<'div'>;
49
+ };
39
50
  };
40
51
  export type ListProps<T extends object> = ListBaseProps<T>;
41
52
  export type ListRef = ComponentRef<'ul'>;
42
- export type ListComponent = <T extends object>(props: ListProps<T>) => ReactElement | null;
53
+ export type ListComponentProps = <T extends object>(props: ListProps<T>) => ReactElement | null;
@@ -0,0 +1,15 @@
1
+ import { Pressable } from '@koobiq/react-core';
2
+ import { Divider, Item, Section, Header } from '../Collections';
3
+ import { ListItemText } from '../List';
4
+ import type { MenuComponentProps } from './index';
5
+ declare const MenuComponent: MenuComponentProps;
6
+ type CompoundedComponent = typeof MenuComponent & {
7
+ Item: typeof Item;
8
+ Header: typeof Header;
9
+ Section: typeof Section;
10
+ Divider: typeof Divider;
11
+ ItemText: typeof ListItemText;
12
+ Control: typeof Pressable;
13
+ };
14
+ export declare const Menu: CompoundedComponent;
15
+ export {};
@@ -0,0 +1,67 @@
1
+ "use client";
2
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
3
+ import { forwardRef, useRef } from "react";
4
+ import { useDOMRef, mergeProps, clsx, Pressable } from "@koobiq/react-core";
5
+ import { useMenuTriggerState, useMenuTrigger } from "@koobiq/react-primitives";
6
+ import s from "./Menu.module.css.js";
7
+ import { MenuInner } from "./components/MenuInner/MenuInner.js";
8
+ import { Header } from "../Collections/Header.js";
9
+ import { Divider } from "../Collections/Divider.js";
10
+ import { PopoverInner } from "../Popover/Popover.js";
11
+ import { Item } from "../Collections/Item.js";
12
+ import { Section } from "../Collections/Section.js";
13
+ import { ListItemText } from "../List/components/ListItemText/ListItemText.js";
14
+ function MenuRender(props, ref) {
15
+ const {
16
+ placement = "bottom start",
17
+ "data-testid": testId,
18
+ control,
19
+ style,
20
+ open,
21
+ anchorRef,
22
+ className,
23
+ slotProps,
24
+ ...other
25
+ } = props;
26
+ const state = useMenuTriggerState({ ...props, isOpen: open });
27
+ const domRef = useDOMRef(ref);
28
+ const controlRef = useRef(null);
29
+ const { menuTriggerProps, menuProps } = useMenuTrigger(
30
+ {},
31
+ state,
32
+ controlRef
33
+ );
34
+ const popoverProps = mergeProps(
35
+ {
36
+ style,
37
+ state,
38
+ offset: 4,
39
+ size: "auto",
40
+ hideArrow: true,
41
+ popoverRef: domRef,
42
+ "data-testid": testId,
43
+ anchorRef: anchorRef || controlRef,
44
+ className: clsx(s.popover, className)
45
+ },
46
+ slotProps?.popover
47
+ );
48
+ const listProps = mergeProps(menuProps, other, slotProps?.list);
49
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
50
+ control?.({
51
+ ref: controlRef,
52
+ ...menuTriggerProps
53
+ }),
54
+ /* @__PURE__ */ jsx(PopoverInner, { type: "menu", placement, ...popoverProps, children: /* @__PURE__ */ jsx(MenuInner, { ...listProps }) })
55
+ ] });
56
+ }
57
+ const MenuComponent = forwardRef(MenuRender);
58
+ const Menu = MenuComponent;
59
+ Menu.Item = Item;
60
+ Menu.Section = Section;
61
+ Menu.Header = Header;
62
+ Menu.Divider = Divider;
63
+ Menu.ItemText = ListItemText;
64
+ Menu.Control = Pressable;
65
+ export {
66
+ Menu
67
+ };
@@ -0,0 +1,8 @@
1
+ const popover = "kbq-menu-popover-e1857c";
2
+ const s = {
3
+ popover
4
+ };
5
+ export {
6
+ s as default,
7
+ popover
8
+ };
@@ -0,0 +1,5 @@
1
+ import type { Node } from '@koobiq/react-primitives';
2
+ export type MenuHeaderProps<T> = {
3
+ item: Node<T>;
4
+ };
5
+ export declare function MenuHeader<T>({ item }: MenuHeaderProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ function MenuHeader({ item }) {
4
+ const { key, rendered, props } = item;
5
+ return /* @__PURE__ */ jsx("header", { role: "presentation", ...props, children: rendered }, key);
6
+ }
7
+ export {
8
+ MenuHeader
9
+ };
@@ -0,0 +1 @@
1
+ export * from './MenuHeader';
@@ -0,0 +1,6 @@
1
+ import type { ComponentRef, ReactElement } from 'react';
2
+ import type { AriaMenuOptions } from '@koobiq/react-primitives';
3
+ export type MenuInnerProps<T> = AriaMenuOptions<T>;
4
+ export type MenuInnerComponentProp = <T extends object>(props: MenuInnerProps<T>) => ReactElement | null;
5
+ export type MenuInnerRef = ComponentRef<'ul'>;
6
+ export declare const MenuInner: MenuInnerComponentProp;
@@ -0,0 +1,46 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from "react";
4
+ import { useDOMRef, clsx } from "@koobiq/react-core";
5
+ import { useTreeState, useMenu } from "@koobiq/react-primitives";
6
+ import { utilClasses } from "../../../../styles/utility.js";
7
+ import s from "./MenuInner.module.css.js";
8
+ import { MenuSection } from "../MenuSection/MenuSection.js";
9
+ import { Divider } from "../../../Divider/Divider.js";
10
+ import { MenuHeader } from "../MenuHeader/MenuHeader.js";
11
+ import { MenuItem } from "../MenuItem/MenuItem.js";
12
+ const { list } = utilClasses;
13
+ function MenuInnerRender(props, ref) {
14
+ const state = useTreeState(props);
15
+ const domRef = useDOMRef(ref);
16
+ const { menuProps } = useMenu(props, state, domRef);
17
+ const multiple = props.selectionMode === "multiple";
18
+ const renderItems = (treeState) => [...treeState.collection].map((item) => {
19
+ switch (item.type) {
20
+ case "header":
21
+ return /* @__PURE__ */ jsx(MenuHeader, { item }, item.key);
22
+ case "divider":
23
+ return /* @__PURE__ */ jsx(Divider, { className: s.divider }, item.key);
24
+ case "item":
25
+ return /* @__PURE__ */ jsx(MenuItem, { item, state }, item.key);
26
+ case "section":
27
+ return /* @__PURE__ */ jsx(MenuSection, { section: item, state }, item.key);
28
+ default:
29
+ return null;
30
+ }
31
+ });
32
+ return /* @__PURE__ */ jsx(
33
+ "ul",
34
+ {
35
+ ...menuProps,
36
+ className: clsx(s.base, list),
37
+ ...multiple && { "aria-multiselectable": true },
38
+ ref: domRef,
39
+ children: renderItems(state)
40
+ }
41
+ );
42
+ }
43
+ const MenuInner = forwardRef(MenuInnerRender);
44
+ export {
45
+ MenuInner
46
+ };
@@ -0,0 +1,11 @@
1
+ const base = "kbq-menuinner-0117f8";
2
+ const divider = "kbq-menuinner-divider-acbe04";
3
+ const s = {
4
+ base,
5
+ divider
6
+ };
7
+ export {
8
+ base,
9
+ s as default,
10
+ divider
11
+ };
@@ -0,0 +1 @@
1
+ export * from './MenuInner';
@@ -0,0 +1,6 @@
1
+ import type { Node, TreeState } from '@koobiq/react-primitives';
2
+ export type MenuItemProps<T> = {
3
+ item: Node<T>;
4
+ state: TreeState<T>;
5
+ };
6
+ export declare function MenuItem<T>({ item, state }: MenuItemProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,36 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useRef } from "react";
4
+ import { useHover, usePress, clsx, mergeProps } from "@koobiq/react-core";
5
+ import { useMenuItem } from "@koobiq/react-primitives";
6
+ import { utilClasses } from "../../../../styles/utility.js";
7
+ const { listItem } = utilClasses;
8
+ const textVariant = utilClasses.typography;
9
+ function MenuItem({ item, state }) {
10
+ const ref = useRef(null);
11
+ const {
12
+ menuItemProps,
13
+ isSelected: selected,
14
+ isDisabled: disabled,
15
+ isFocusVisible: focusVisible
16
+ } = useMenuItem({ key: item.key }, state, ref);
17
+ const { hoverProps, isHovered: hovered } = useHover({ isDisabled: disabled });
18
+ const { isPressed: pressed, pressProps } = usePress({ isDisabled: disabled });
19
+ const Tag = item.props.href ? "a" : "li";
20
+ return /* @__PURE__ */ jsx(
21
+ Tag,
22
+ {
23
+ ...mergeProps(menuItemProps, hoverProps, pressProps),
24
+ "data-hovered": hovered,
25
+ "data-pressed": pressed,
26
+ "data-selected": selected,
27
+ "data-focus-visible": focusVisible,
28
+ className: clsx(listItem, textVariant["text-normal"]),
29
+ ref,
30
+ children: item.rendered
31
+ }
32
+ );
33
+ }
34
+ export {
35
+ MenuItem
36
+ };
@@ -0,0 +1 @@
1
+ export * from './MenuItem';
@@ -0,0 +1,6 @@
1
+ import type { Node, TreeState } from '@koobiq/react-primitives';
2
+ export type MenuSectionProps<T> = {
3
+ section: Node<T>;
4
+ state: TreeState<T>;
5
+ };
6
+ export declare function MenuSection<T>({ section, state }: MenuSectionProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
3
+ import { useMenuSection } from "@koobiq/react-primitives";
4
+ import s from "./MenuSection.module.css.js";
5
+ import { MenuItem } from "../MenuItem/MenuItem.js";
6
+ import { Typography } from "../../../Typography/Typography.js";
7
+ function MenuSection({ section, state }) {
8
+ const { itemProps, headingProps, groupProps } = useMenuSection({
9
+ heading: section.rendered,
10
+ "aria-label": section["aria-label"]
11
+ });
12
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("li", { ...itemProps, children: [
13
+ section.rendered && /* @__PURE__ */ jsx(
14
+ Typography,
15
+ {
16
+ as: "span",
17
+ display: "block",
18
+ variant: "caps-compact-strong",
19
+ color: "contrast-secondary",
20
+ className: s.heading,
21
+ ...headingProps,
22
+ children: section.rendered
23
+ }
24
+ ),
25
+ /* @__PURE__ */ jsx("ul", { ...groupProps, className: s.base, children: [...section.childNodes].map((node) => /* @__PURE__ */ jsx(MenuItem, { item: node, state }, node.key)) })
26
+ ] }) });
27
+ }
28
+ export {
29
+ MenuSection
30
+ };
@@ -0,0 +1,11 @@
1
+ const base = "kbq-menusection-6a5530";
2
+ const heading = "kbq-menusection-heading-2be1f1";
3
+ const s = {
4
+ base,
5
+ heading
6
+ };
7
+ export {
8
+ base,
9
+ s as default,
10
+ heading
11
+ };
@@ -0,0 +1 @@
1
+ export * from './MenuSection';
@@ -0,0 +1 @@
1
+ export * from './MenuInner';
@@ -0,0 +1,2 @@
1
+ export * from './Menu';
2
+ export * from './types';
@@ -0,0 +1,63 @@
1
+ import type { ComponentPropsWithRef, ComponentRef, CSSProperties, ReactElement, Ref, RefObject } from 'react';
2
+ import type { ButtonOptions, AriaMenuProps } from '@koobiq/react-primitives';
3
+ import type { PopoverBaseProps, PopoverPropPlacement } from '../Popover';
4
+ export type MenuPropControl = (props: ButtonOptions & {
5
+ ref?: Ref<HTMLButtonElement>;
6
+ }) => ReactElement;
7
+ export type MenuPropChildren<T extends object> = AriaMenuProps<T>['children'];
8
+ export type MenuPropItems<T extends object> = AriaMenuProps<T>['items'];
9
+ export declare const menuPropSelectionMode: readonly ["none", "single", "multiple"];
10
+ export type MenuPropSelectionMode = (typeof menuPropSelectionMode)[number];
11
+ export type MenuPropOnAction<T extends object> = AriaMenuProps<T>['onAction'];
12
+ export type MenuPropSelected<T extends object> = AriaMenuProps<T>['selectedKeys'];
13
+ export type MenuPropSelectionChange<T extends object> = AriaMenuProps<T>['onSelectionChange'];
14
+ export type MenuPropDisabledKeys<T extends object> = AriaMenuProps<T>['disabledKeys'];
15
+ export type MenuPropPlacement = PopoverPropPlacement;
16
+ export type MenuProps<T extends object> = {
17
+ /** Additional CSS-classes. */
18
+ className?: string;
19
+ /** Unique identifier for testing purposes. */
20
+ 'data-testid'?: string | number;
21
+ /** Inline styles. */
22
+ style?: CSSProperties;
23
+ /** The contents of the collection. */
24
+ children?: MenuPropChildren<T>;
25
+ /** The render function of the control for displaying the modal window. */
26
+ control?: MenuPropControl;
27
+ /** Whether the overlay is open by default (controlled). */
28
+ open?: boolean;
29
+ /** Whether the overlay is open by default (uncontrolled). */
30
+ defaultOpen?: boolean;
31
+ /** Handler that is called when the overlay's open state changes. */
32
+ onOpenChange?: (isOpen: boolean) => void;
33
+ /** Item objects in the collection. */
34
+ items?: MenuPropItems<T>;
35
+ /** The type of selection that is allowed in the collection. */
36
+ selectionMode?: MenuPropSelectionMode;
37
+ /**
38
+ * Handler that is called when a user performs an action on an item. The exact user event depends on
39
+ * the collection's `selectionBehavior` prop and the interaction modality.
40
+ */
41
+ onAction?: MenuPropOnAction<T>;
42
+ /** The currently selected keys in the collection (controlled). */
43
+ selectedKeys?: MenuPropSelected<T>;
44
+ /** Handler that is called when the selection changes. */
45
+ onSelectionChange?: MenuPropSelectionChange<T>;
46
+ disabledKeys?: MenuPropDisabledKeys<T>;
47
+ /** The ref for the element which the popover positions itself with respect to. */
48
+ anchorRef?: RefObject<HTMLElement | null>;
49
+ /**
50
+ * The placement of the element with respect to its anchor element.
51
+ * @default bottom start
52
+ */
53
+ placement?: MenuPropPlacement;
54
+ /** Ref to the popover */
55
+ ref?: Ref<HTMLDivElement>;
56
+ /** The props used for each slot inside. */
57
+ slotProps?: {
58
+ popover?: PopoverBaseProps;
59
+ list?: ComponentPropsWithRef<'ul'>;
60
+ };
61
+ };
62
+ export type MenuComponentProps = <T extends object>(props: MenuProps<T>) => ReactElement | null;
63
+ export type MenuRef = ComponentRef<'div'>;
@@ -0,0 +1,4 @@
1
+ const menuPropSelectionMode = ["none", "single", "multiple"];
2
+ export {
3
+ menuPropSelectionMode
4
+ };
@@ -1,2 +1,10 @@
1
+ import { Dialog } from '../Dialog';
1
2
  import type { ModalProps } from './types';
2
- export declare const Modal: import("react").ForwardRefExoticComponent<ModalProps & import("react").RefAttributes<HTMLDivElement>>;
3
+ declare const ModalComponent: import("react").ForwardRefExoticComponent<ModalProps & import("react").RefAttributes<HTMLDivElement>>;
4
+ type CompoundedComponent = typeof ModalComponent & {
5
+ Header: typeof Dialog.Header;
6
+ Body: typeof Dialog.Body;
7
+ Footer: typeof Dialog.Footer;
8
+ };
9
+ export declare const Modal: CompoundedComponent;
10
+ export {};