@koobiq/react-components 0.0.1-beta.8 → 0.0.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 (309) hide show
  1. package/dist/components/Alert/Alert.js +36 -21
  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 +22 -6
  5. package/dist/components/AnimatedIcon/types.d.ts +1 -1
  6. package/dist/components/Backdrop/Backdrop.js +10 -2
  7. package/dist/components/Backdrop/types.d.ts +12 -2
  8. package/dist/components/Badge/Badge.js +34 -23
  9. package/dist/components/Badge/types.d.ts +12 -4
  10. package/dist/components/Button/Button.js +42 -26
  11. package/dist/components/Button/Button.module.css.js +5 -2
  12. package/dist/components/Button/types.d.ts +32 -18
  13. package/dist/components/ButtonToggleGroup/ButtonToggleGroup.d.ts +2 -0
  14. package/dist/components/ButtonToggleGroup/ButtonToggleGroup.js +130 -0
  15. package/dist/components/ButtonToggleGroup/ButtonToggleGroup.module.css.js +17 -0
  16. package/dist/components/ButtonToggleGroup/ButtonToggleGroupContext.d.ts +7 -0
  17. package/dist/components/ButtonToggleGroup/ButtonToggleGroupContext.js +12 -0
  18. package/dist/components/ButtonToggleGroup/components/ButtonToggle/ButtonToggle.d.ts +2 -0
  19. package/dist/components/ButtonToggleGroup/components/ButtonToggle/ButtonToggle.js +90 -0
  20. package/dist/components/ButtonToggleGroup/components/ButtonToggle/ButtonToggle.module.css.js +32 -0
  21. package/dist/components/ButtonToggleGroup/components/ButtonToggle/index.d.ts +2 -0
  22. package/dist/components/ButtonToggleGroup/components/ButtonToggle/types.d.ts +27 -0
  23. package/dist/components/ButtonToggleGroup/components/index.d.ts +1 -0
  24. package/dist/components/ButtonToggleGroup/index.d.ts +3 -0
  25. package/dist/components/ButtonToggleGroup/reducer.d.ts +23 -0
  26. package/dist/components/ButtonToggleGroup/reducer.js +25 -0
  27. package/dist/components/ButtonToggleGroup/types.d.ts +38 -0
  28. package/dist/components/ButtonToggleGroup/utils.d.ts +3 -0
  29. package/dist/components/ButtonToggleGroup/utils.js +19 -0
  30. package/dist/components/Calendar/Calendar.d.ts +2 -0
  31. package/dist/components/Calendar/Calendar.js +42 -0
  32. package/dist/components/Calendar/Calendar.module.css.js +14 -0
  33. package/dist/components/Calendar/components/CalendarCell/CalendarCell.d.ts +7 -0
  34. package/dist/components/Calendar/components/CalendarCell/CalendarCell.js +51 -0
  35. package/dist/components/Calendar/components/CalendarCell/CalendarCell.module.css.js +32 -0
  36. package/dist/components/Calendar/components/CalendarCell/index.d.ts +1 -0
  37. package/dist/components/Calendar/components/CalendarGrid/CalendarGrid.d.ts +6 -0
  38. package/dist/components/Calendar/components/CalendarGrid/CalendarGrid.js +28 -0
  39. package/dist/components/Calendar/components/CalendarGrid/CalendarGrid.module.css.js +14 -0
  40. package/dist/components/Calendar/components/CalendarGrid/index.d.ts +1 -0
  41. package/dist/components/Calendar/components/CalendarHeader/CalendarHeader.d.ts +8 -0
  42. package/dist/components/Calendar/components/CalendarHeader/CalendarHeader.js +54 -0
  43. package/dist/components/Calendar/components/CalendarHeader/CalendarHeader.module.css.js +11 -0
  44. package/dist/components/Calendar/components/CalendarHeader/index.d.ts +1 -0
  45. package/dist/components/Calendar/components/CalendarMonthDropdown/CalendarMonthDropdown.d.ts +6 -0
  46. package/dist/components/Calendar/components/CalendarMonthDropdown/CalendarMonthDropdown.js +101 -0
  47. package/dist/components/Calendar/components/CalendarMonthDropdown/index.d.ts +1 -0
  48. package/dist/components/Calendar/components/CalendarYearDropdown/CalendarYearDropdown.d.ts +6 -0
  49. package/dist/components/Calendar/components/CalendarYearDropdown/CalendarYearDropdown.js +76 -0
  50. package/dist/components/Calendar/components/CalendarYearDropdown/index.d.ts +1 -0
  51. package/dist/components/Calendar/components/index.d.ts +2 -0
  52. package/dist/components/Calendar/index.d.ts +2 -0
  53. package/dist/components/Calendar/intl.json.js +7 -0
  54. package/dist/components/Calendar/types.d.ts +51 -0
  55. package/dist/components/Checkbox/Checkbox.d.ts +20 -11
  56. package/dist/components/Checkbox/Checkbox.js +81 -17
  57. package/dist/components/Checkbox/Checkbox.module.css.js +6 -6
  58. package/dist/components/Checkbox/types.d.ts +95 -10
  59. package/dist/components/Collections/Cell.d.ts +28 -0
  60. package/dist/components/Collections/Cell.js +10 -0
  61. package/dist/components/Collections/Column.d.ts +28 -0
  62. package/dist/components/Collections/Column.js +10 -0
  63. package/dist/components/Collections/Divider.d.ts +19 -0
  64. package/dist/components/Collections/Divider.js +14 -0
  65. package/dist/components/Collections/Header.d.ts +20 -0
  66. package/dist/components/Collections/Header.js +16 -0
  67. package/dist/components/Collections/Item.d.ts +14 -0
  68. package/dist/components/Collections/Item.js +10 -0
  69. package/dist/components/Collections/Row.d.ts +14 -0
  70. package/dist/components/Collections/Row.js +10 -0
  71. package/dist/components/{List/ListSection.d.ts → Collections/Section.d.ts} +6 -6
  72. package/dist/components/Collections/Section.js +10 -0
  73. package/dist/components/Collections/TableBody.d.ts +6 -0
  74. package/dist/components/Collections/TableBody.js +10 -0
  75. package/dist/components/Collections/TableHeader.d.ts +6 -0
  76. package/dist/components/Collections/TableHeader.js +10 -0
  77. package/dist/components/Collections/index.d.ts +9 -0
  78. package/dist/components/Container/Container.js +13 -2
  79. package/dist/components/Container/types.d.ts +16 -6
  80. package/dist/components/DateInput/DateInput.d.ts +5 -0
  81. package/dist/components/DateInput/DateInput.js +105 -0
  82. package/dist/components/DateInput/DateInput.module.css.js +8 -0
  83. package/dist/components/DateInput/components/DateInputSegment/DateInputSegment.d.ts +7 -0
  84. package/dist/components/DateInput/components/DateInputSegment/DateInputSegment.js +27 -0
  85. package/dist/components/DateInput/components/DateInputSegment/DateInputSegment.module.css.js +17 -0
  86. package/dist/components/DateInput/components/DateInputSegment/index.d.ts +1 -0
  87. package/dist/components/DateInput/components/index.d.ts +1 -0
  88. package/dist/components/DateInput/index.d.ts +2 -0
  89. package/dist/components/DateInput/types.d.ts +47 -0
  90. package/dist/components/DateInput/types.js +4 -0
  91. package/dist/components/DatePicker/DatePicker.d.ts +5 -0
  92. package/dist/components/DatePicker/DatePicker.js +101 -0
  93. package/dist/components/DatePicker/DatePicker.module.css.js +8 -0
  94. package/dist/components/DatePicker/index.d.ts +2 -0
  95. package/dist/components/DatePicker/types.d.ts +34 -0
  96. package/dist/components/Dialog/Dialog.d.ts +9 -1
  97. package/dist/components/Dialog/Dialog.js +31 -17
  98. package/dist/components/Dialog/components/DialogBody.d.ts +13 -0
  99. package/dist/components/Dialog/components/{DialogContent.js → DialogBody.js} +9 -8
  100. package/dist/components/Dialog/components/DialogCloseButton.d.ts +22 -1
  101. package/dist/components/Dialog/components/DialogCloseButton.js +4 -7
  102. package/dist/components/Dialog/components/index.d.ts +1 -1
  103. package/dist/components/Dialog/index.d.ts +0 -1
  104. package/dist/components/Dialog/types.d.ts +1 -1
  105. package/dist/components/Divider/Divider.d.ts +4 -0
  106. package/dist/components/Divider/Divider.js +47 -0
  107. package/dist/components/Divider/Divider.module.css.js +29 -0
  108. package/dist/components/Divider/index.d.ts +2 -0
  109. package/dist/components/Divider/types.d.ts +27 -0
  110. package/dist/components/Divider/types.js +6 -0
  111. package/dist/components/FieldComponents/FieldAddon/FieldAddon.d.ts +2 -1
  112. package/dist/components/FieldComponents/FieldAddon/FieldAddon.js +19 -2
  113. package/dist/components/FieldComponents/FieldAddon/FieldAddon.module.css.js +6 -3
  114. package/dist/components/FieldComponents/FieldControl/FieldControl.d.ts +6 -8
  115. package/dist/components/FieldComponents/FieldControl/FieldControl.js +5 -8
  116. package/dist/components/FieldComponents/FieldError/FieldError.d.ts +1 -1
  117. package/dist/components/FieldComponents/FieldError/FieldError.js +1 -1
  118. package/dist/components/FieldComponents/FieldInput/FieldInput.d.ts +3 -3
  119. package/dist/components/FieldComponents/FieldInput/FieldInput.js +4 -4
  120. package/dist/components/FieldComponents/FieldInput/FieldInput.module.css.js +3 -3
  121. package/dist/components/FieldComponents/FieldInputDate/FieldInputDate.d.ts +12 -0
  122. package/dist/components/FieldComponents/FieldInputDate/FieldInputDate.js +32 -0
  123. package/dist/components/FieldComponents/FieldInputDate/FieldInputDate.module.css.js +20 -0
  124. package/dist/components/FieldComponents/FieldInputDate/index.d.ts +1 -0
  125. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.d.ts +8 -2
  126. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.js +29 -5
  127. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroupContext.d.ts +4 -3
  128. package/dist/components/FieldComponents/FieldLabel/FieldLabel.d.ts +2 -2
  129. package/dist/components/FieldComponents/FieldLabel/FieldLabel.js +3 -3
  130. package/dist/components/FieldComponents/FieldSelect/FieldSelect.d.ts +13 -0
  131. package/dist/components/FieldComponents/FieldSelect/FieldSelect.js +37 -0
  132. package/dist/components/FieldComponents/FieldSelect/FieldSelect.module.css.js +20 -0
  133. package/dist/components/FieldComponents/FieldSelect/index.d.ts +1 -0
  134. package/dist/components/FieldComponents/index.d.ts +2 -1
  135. package/dist/components/FormControlLabel/types.d.ts +5 -5
  136. package/dist/components/Grid/Grid.d.ts +8 -2
  137. package/dist/components/Grid/Grid.js +5 -2
  138. package/dist/components/Grid/types.d.ts +2 -2
  139. package/dist/components/IconButton/IconButton.js +38 -22
  140. package/dist/components/IconButton/index.d.ts +2 -2
  141. package/dist/components/IconButton/types.d.ts +32 -16
  142. package/dist/components/Input/Input.d.ts +32 -12
  143. package/dist/components/Input/Input.js +62 -15
  144. package/dist/components/Input/types.d.ts +69 -17
  145. package/dist/components/InputNumber/InputNumber.d.ts +27 -11
  146. package/dist/components/InputNumber/InputNumber.js +77 -26
  147. package/dist/components/InputNumber/components/InputNumberCounterControls.js +12 -12
  148. package/dist/components/InputNumber/components/InputNumberCounterControls.module.css.js +7 -4
  149. package/dist/components/InputNumber/types.d.ts +57 -17
  150. package/dist/components/Link/Link.js +42 -22
  151. package/dist/components/Link/Link.module.css.js +4 -4
  152. package/dist/components/Link/types.d.ts +43 -10
  153. package/dist/components/List/List.d.ts +17 -3
  154. package/dist/components/List/List.js +20 -8
  155. package/dist/components/List/List.module.css.js +0 -3
  156. package/dist/components/List/components/ListItemText/ListItemText.js +26 -0
  157. package/dist/components/List/components/ListItemText/ListItemText.module.css.js +11 -0
  158. package/dist/components/List/components/ListOption/ListOption.d.ts +5 -3
  159. package/dist/components/List/components/ListOption/ListOption.js +10 -15
  160. package/dist/components/List/components/ListSection/ListSection.d.ts +5 -3
  161. package/dist/components/List/components/ListSection/ListSection.js +1 -4
  162. package/dist/components/List/index.d.ts +2 -2
  163. package/dist/components/List/types.d.ts +2 -0
  164. package/dist/components/Menu/Menu.d.ts +15 -0
  165. package/dist/components/Menu/Menu.js +75 -0
  166. package/dist/components/Menu/Menu.module.css.js +8 -0
  167. package/dist/components/Menu/components/MenuHeader/MenuHeader.d.ts +5 -0
  168. package/dist/components/Menu/components/MenuHeader/MenuHeader.js +9 -0
  169. package/dist/components/Menu/components/MenuHeader/index.d.ts +1 -0
  170. package/dist/components/Menu/components/MenuInner/MenuInner.d.ts +6 -0
  171. package/dist/components/Menu/components/MenuInner/MenuInner.js +46 -0
  172. package/dist/components/Menu/components/MenuInner/MenuInner.module.css.js +11 -0
  173. package/dist/components/Menu/components/MenuInner/index.d.ts +1 -0
  174. package/dist/components/Menu/components/MenuItem/MenuItem.d.ts +7 -0
  175. package/dist/components/Menu/components/MenuItem/MenuItem.js +36 -0
  176. package/dist/components/Menu/components/MenuItem/index.d.ts +1 -0
  177. package/dist/components/Menu/components/MenuSection/MenuSection.d.ts +7 -0
  178. package/dist/components/Menu/components/MenuSection/MenuSection.js +30 -0
  179. package/dist/components/Menu/components/MenuSection/MenuSection.module.css.js +11 -0
  180. package/dist/components/Menu/components/MenuSection/index.d.ts +1 -0
  181. package/dist/components/Menu/components/index.d.ts +1 -0
  182. package/dist/components/Menu/index.d.ts +2 -0
  183. package/dist/components/Menu/types.d.ts +72 -0
  184. package/dist/components/Menu/types.js +4 -0
  185. package/dist/components/Modal/Modal.d.ts +33 -2
  186. package/dist/components/Modal/Modal.js +23 -16
  187. package/dist/components/Modal/index.d.ts +15 -2
  188. package/dist/components/Modal/index.js +9 -0
  189. package/dist/components/Modal/types.d.ts +14 -5
  190. package/dist/components/Popover/Popover.d.ts +42 -2
  191. package/dist/components/Popover/Popover.js +23 -141
  192. package/dist/components/Popover/Popover.module.css.js +3 -0
  193. package/dist/components/Popover/PopoverInner.d.ts +3 -0
  194. package/dist/components/Popover/PopoverInner.js +143 -0
  195. package/dist/components/Popover/index.d.ts +15 -2
  196. package/dist/components/Popover/index.js +9 -0
  197. package/dist/components/Popover/types.d.ts +37 -11
  198. package/dist/components/Popover/types.js +9 -1
  199. package/dist/components/ProgressBar/types.d.ts +2 -2
  200. package/dist/components/ProgressSpinner/types.d.ts +4 -4
  201. package/dist/components/Provider/Provider.d.ts +1 -1
  202. package/dist/components/Provider/Provider.js +8 -4
  203. package/dist/components/Provider/types.d.ts +3 -1
  204. package/dist/components/RadioGroup/RadioGroup.js +42 -2
  205. package/dist/components/RadioGroup/components/Radio/Radio.d.ts +7 -4
  206. package/dist/components/RadioGroup/components/Radio/Radio.js +36 -10
  207. package/dist/components/RadioGroup/components/Radio/Radio.module.css.js +9 -6
  208. package/dist/components/RadioGroup/components/Radio/types.d.ts +25 -10
  209. package/dist/components/RadioGroup/components/Radio/types.js +1 -0
  210. package/dist/components/RadioGroup/types.d.ts +44 -17
  211. package/dist/components/Select/Select.d.ts +11 -0
  212. package/dist/components/Select/Select.js +204 -0
  213. package/dist/components/Select/Select.module.css.js +20 -0
  214. package/dist/components/Select/index.d.ts +2 -0
  215. package/dist/components/Select/types.d.ts +125 -0
  216. package/dist/components/SidePanel/SidePanel.d.ts +35 -2
  217. package/dist/components/SidePanel/SidePanel.js +31 -18
  218. package/dist/components/SidePanel/SidePanel.module.css.js +7 -1
  219. package/dist/components/SidePanel/index.d.ts +15 -2
  220. package/dist/components/SidePanel/index.js +9 -0
  221. package/dist/components/SidePanel/types.d.ts +26 -8
  222. package/dist/components/SidePanel/types.js +2 -0
  223. package/dist/components/SkeletonTypography/types.d.ts +2 -2
  224. package/dist/components/Table/Table.d.ts +12 -0
  225. package/dist/components/Table/Table.js +97 -0
  226. package/dist/components/Table/Table.module.css.js +11 -0
  227. package/dist/components/Table/components/TableCell/TableCell.d.ts +7 -0
  228. package/dist/components/Table/components/TableCell/TableCell.js +39 -0
  229. package/dist/components/Table/components/TableCell/TableCell.module.css.js +27 -0
  230. package/dist/components/Table/components/TableCell/index.d.ts +1 -0
  231. package/dist/components/Table/components/TableCheckboxCell/TableCheckboxCell.d.ts +7 -0
  232. package/dist/components/Table/components/TableCheckboxCell/TableCheckboxCell.js +21 -0
  233. package/dist/components/Table/components/TableCheckboxCell/index.d.ts +1 -0
  234. package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.d.ts +7 -0
  235. package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.js +46 -0
  236. package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.module.css.js +27 -0
  237. package/dist/components/Table/components/TableColumnHeader/index.d.ts +1 -0
  238. package/dist/components/Table/components/TableHeaderRow/TableHeaderRow.d.ts +9 -0
  239. package/dist/components/Table/components/TableHeaderRow/TableHeaderRow.js +16 -0
  240. package/dist/components/Table/components/TableHeaderRow/index.d.ts +1 -0
  241. package/dist/components/Table/components/TableRow/TableRow.d.ts +9 -0
  242. package/dist/components/Table/components/TableRow/TableRow.js +46 -0
  243. package/dist/components/Table/components/TableRow/TableRow.module.css.js +23 -0
  244. package/dist/components/Table/components/TableRow/index.d.ts +1 -0
  245. package/dist/components/Table/components/TableRowGroup/TableRowGroup.d.ts +6 -0
  246. package/dist/components/Table/components/TableRowGroup/TableRowGroup.js +15 -0
  247. package/dist/components/Table/components/TableRowGroup/index.d.ts +1 -0
  248. package/dist/components/Table/components/TableSelectAllCell/TableSelectAllCell.d.ts +7 -0
  249. package/dist/components/Table/components/TableSelectAllCell/TableSelectAllCell.js +22 -0
  250. package/dist/components/Table/components/TableSelectAllCell/index.d.ts +1 -0
  251. package/dist/components/Table/components/index.d.ts +7 -0
  252. package/dist/components/Table/index.d.ts +1 -0
  253. package/dist/components/Table/types.d.ts +71 -0
  254. package/dist/components/Table/utils.d.ts +2 -0
  255. package/dist/components/Table/utils.js +8 -0
  256. package/dist/components/TagGroup/Tag.d.ts +24 -0
  257. package/dist/components/TagGroup/Tag.js +10 -0
  258. package/dist/components/TagGroup/TagGroup.d.ts +2 -0
  259. package/dist/components/TagGroup/TagGroup.js +23 -0
  260. package/dist/components/TagGroup/TagGroup.module.css.js +8 -0
  261. package/dist/components/TagGroup/components/TagInner/TagInner.d.ts +11 -0
  262. package/dist/components/TagGroup/components/TagInner/TagInner.js +86 -0
  263. package/dist/components/TagGroup/components/TagInner/TagInner.module.css.js +30 -0
  264. package/dist/components/TagGroup/components/TagInner/index.d.ts +1 -0
  265. package/dist/components/TagGroup/components/TagInner/utils.d.ts +3 -0
  266. package/dist/components/TagGroup/components/TagInner/utils.js +9 -0
  267. package/dist/components/TagGroup/components/index.d.ts +1 -0
  268. package/dist/components/TagGroup/index.d.ts +3 -0
  269. package/dist/components/TagGroup/intl.json.js +7 -0
  270. package/dist/components/TagGroup/types.d.ts +37 -0
  271. package/dist/components/TagGroup/types.js +9 -0
  272. package/dist/components/Textarea/Textarea.d.ts +16 -8
  273. package/dist/components/Textarea/Textarea.js +48 -3
  274. package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.d.ts +4 -4
  275. package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.js +15 -12
  276. package/dist/components/Textarea/types.d.ts +61 -16
  277. package/dist/components/Textarea/utils/useTextareaAutosize.d.ts +1 -1
  278. package/dist/components/Textarea/utils/useTextareaAutosize.js +2 -2
  279. package/dist/components/Toggle/Toggle.d.ts +14 -7
  280. package/dist/components/Toggle/Toggle.js +72 -11
  281. package/dist/components/Toggle/Toggle.module.css.js +6 -6
  282. package/dist/components/Toggle/types.d.ts +65 -8
  283. package/dist/components/Tooltip/Tooltip.d.ts +5 -2
  284. package/dist/components/Tooltip/Tooltip.js +40 -20
  285. package/dist/components/Tooltip/types.d.ts +28 -12
  286. package/dist/components/Typography/types.d.ts +10 -5
  287. package/dist/components/index.d.ts +11 -0
  288. package/dist/index.js +65 -24
  289. package/dist/style.css +1113 -253
  290. package/dist/styles/utility.d.ts +2 -0
  291. package/dist/styles/utility.js +3 -1
  292. package/dist/styles/utility.module.css.js +5 -1
  293. package/dist/types.d.ts +1 -0
  294. package/dist/utils/capitalizeFirstLetter/capitalizeFirstLetter.d.ts +2 -0
  295. package/dist/utils/capitalizeFirstLetter/capitalizeFirstLetter.js +6 -0
  296. package/dist/utils/capitalizeFirstLetter/index.d.ts +1 -0
  297. package/dist/utils/index.d.ts +1 -0
  298. package/package.json +13 -7
  299. package/dist/components/Dialog/DialogContext.d.ts +0 -9
  300. package/dist/components/Dialog/DialogContext.js +0 -12
  301. package/dist/components/Dialog/components/DialogContent.d.ts +0 -12
  302. package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.d.ts +0 -10
  303. package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.js +0 -18
  304. package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.module.css.js +0 -11
  305. package/dist/components/FieldComponents/FieldNumberControl/index.d.ts +0 -1
  306. package/dist/components/List/ListItem.d.ts +0 -11
  307. package/dist/components/List/ListItem.js +0 -11
  308. package/dist/components/List/ListSection.js +0 -11
  309. package/dist/components/List/components/ListOption/ListOption.module.css.js +0 -23
@@ -1,9 +1,46 @@
1
1
  import type { ComponentRef, CSSProperties, ReactNode } from 'react';
2
2
  import type { ExtendableProps } from '@koobiq/react-core';
3
- import type { UseNumberFieldProps } from '@koobiq/react-primitives';
4
- import type { FieldCaptionProps, FieldErrorProps, FieldInputProps, FieldLabelProps } from '../FieldComponents';
3
+ import type { NumberField, UseNumberFieldProps } from '@koobiq/react-primitives';
4
+ import type { FieldCaptionProps, FieldControlProps, FieldErrorProps, FieldInputGroupProps, FieldInputProps, FieldLabelProps } from '../FieldComponents';
5
5
  export declare const inputNumberPropVariant: readonly ["filled", "transparent"];
6
6
  export type InputNumberPropVariant = (typeof inputNumberPropVariant)[number];
7
+ type InputNumberDeprecatedProps = {
8
+ /**
9
+ * If `true`, the component is disabled.
10
+ * @default false
11
+ * @deprecated
12
+ * The "disabled" prop is deprecated. Use "isDisabled" prop to replace it.
13
+ */
14
+ disabled?: boolean;
15
+ /**
16
+ * If `true`, the input will indicate an error.
17
+ * @default false
18
+ * @deprecated
19
+ * The "error" prop is deprecated. Use "isInvalid" prop to replace it.
20
+ */
21
+ error?: boolean;
22
+ /**
23
+ * If `true`, the label is displayed as required and the input element is required.
24
+ * @default false
25
+ * @deprecated
26
+ * The "required" prop is deprecated. Use "isRequired" prop to replace it.
27
+ */
28
+ required?: boolean;
29
+ /**
30
+ * If `true`, the input can be selected but not changed by the user.
31
+ * @default false
32
+ * @deprecated
33
+ * The "readonly" prop is deprecated. Use "isReadOnly" prop to replace it.
34
+ */
35
+ readonly?: boolean;
36
+ /**
37
+ * If `true`, the label is hidden. Be sure to add aria-label to the input element.
38
+ * @default false
39
+ * @deprecated
40
+ * The "hiddenLabel" prop is deprecated. Use "isLabelHidden" prop to replace it.
41
+ */
42
+ hiddenLabel?: boolean;
43
+ };
7
44
  export type InputNumberProps = ExtendableProps<{
8
45
  /** The content to display as the label. */
9
46
  label?: ReactNode;
@@ -15,48 +52,51 @@ export type InputNumberProps = ExtendableProps<{
15
52
  endAddon?: ReactNode;
16
53
  /**
17
54
  * The variant to use.
18
- * @default filled
19
- * */
55
+ * @default 'filled'
56
+ */
20
57
  variant?: InputNumberPropVariant;
21
58
  /**
22
59
  * If `true`, the input will indicate an error.
23
60
  * @default false
24
- * */
25
- error?: boolean;
26
- /** Message for the error state */
27
- errorMessage?: string | number;
61
+ */
62
+ isInvalid?: boolean;
63
+ /** Message for the error state. */
64
+ errorMessage?: ReactNode;
28
65
  /**
29
66
  * If true, the input will take up the full width of its container.
30
67
  * @default false
31
- * */
68
+ */
32
69
  fullWidth?: boolean;
33
70
  /**
34
71
  * If `true`, the component is disabled.
35
72
  * @default false
36
- * */
37
- disabled?: boolean;
73
+ */
74
+ isDisabled?: boolean;
38
75
  /**
39
76
  * If `true`, the label is hidden. Be sure to add aria-label to the input element.
40
77
  * @default false
41
- * */
42
- hiddenLabel?: boolean;
78
+ */
79
+ isLabelHidden?: boolean;
43
80
  /** The helper text content. */
44
- caption?: string | number;
81
+ caption?: ReactNode;
45
82
  /**
46
83
  * If `true`, the label is displayed as required and the input element is required.
47
84
  * @default false
48
- * */
49
- required?: boolean;
85
+ */
86
+ isRequired?: boolean;
50
87
  /** Inline styles. */
51
88
  style?: CSSProperties;
52
89
  /** Unique identifier for testing purposes. */
53
90
  'data-testid'?: string | number;
54
91
  /** The props used for each slot inside. */
55
92
  slotProps?: {
93
+ root?: FieldControlProps<typeof NumberField>;
56
94
  label?: FieldLabelProps;
57
95
  input?: FieldInputProps;
58
96
  caption?: FieldCaptionProps;
97
+ group?: FieldInputGroupProps;
59
98
  errorMessage?: FieldErrorProps;
60
99
  };
61
- }, Omit<UseNumberFieldProps, 'inputElementType'>>;
100
+ } & InputNumberDeprecatedProps, Omit<UseNumberFieldProps, 'description' | 'validationBehavior' | 'validate' | 'children' | 'inputElementType'>>;
62
101
  export type InputNumberRef = ComponentRef<'input'>;
102
+ export {};
@@ -1,45 +1,65 @@
1
1
  "use client";
2
2
  import { jsxs } from "react/jsx-runtime";
3
- import { polymorphicForwardRef, useDOMRef, clsx } from "@koobiq/react-core";
4
- import { useLink } from "@koobiq/react-primitives";
3
+ import { deprecate } from "@koobiq/logger";
4
+ import { polymorphicForwardRef, clsx } from "@koobiq/react-core";
5
+ import { Link as Link$1 } from "@koobiq/react-primitives";
5
6
  import s from "./Link.module.css.js";
6
7
  const Link = polymorphicForwardRef((props, ref) => {
7
8
  const {
8
9
  variant = "text-normal",
9
- visitable = false,
10
- pseudo = false,
10
+ isPseudo: isPseudoProp,
11
+ isDisabled: isDisabledProp,
12
+ allowVisited: allowVisitedProp,
13
+ visitable,
14
+ pseudo,
15
+ disabled,
11
16
  as = "a",
12
17
  startIcon,
13
18
  endIcon,
14
19
  children,
15
20
  className,
16
- style
21
+ ...other
17
22
  } = props;
18
- const Tag = as;
19
- const domRef = useDOMRef(ref);
20
- const elementType = as !== "a" && as !== "button" ? `${as}` : void 0;
21
- const { linkProps, hovered, pressed, focusVisible } = useLink(
22
- { ...props, elementType },
23
- domRef
24
- );
23
+ const allowVisited = allowVisitedProp ?? visitable ?? false;
24
+ const isDisabled = isDisabledProp ?? disabled ?? false;
25
+ const isPseudo = isPseudoProp ?? pseudo ?? false;
25
26
  const hasIcon = Boolean(startIcon || endIcon);
27
+ if (process.env.NODE_ENV !== "production" && "visitable" in props) {
28
+ deprecate(
29
+ 'Link: the "visitable" prop is deprecated. Use "allowVisited" prop to replace it.'
30
+ );
31
+ }
32
+ if (process.env.NODE_ENV !== "production" && "pseudo" in props) {
33
+ deprecate(
34
+ 'Link: the "pseudo" prop is deprecated. Use "isPseudo" prop to replace it.'
35
+ );
36
+ }
37
+ if (process.env.NODE_ENV !== "production" && "disabled" in props) {
38
+ deprecate(
39
+ 'Link: the "disabled" prop is deprecated. Use "isDisabled" prop to replace it.'
40
+ );
41
+ }
42
+ const elementType = as !== "a" && as !== "button" ? `${as}` : void 0;
26
43
  return /* @__PURE__ */ jsxs(
27
- Tag,
44
+ Link$1,
28
45
  {
29
- ...linkProps,
30
- className: clsx(
46
+ as,
47
+ isDisabled,
48
+ elementType,
49
+ ...isDisabled && { tabIndex: -1 },
50
+ className: ({ isHovered, isPressed, isFocusVisible }) => clsx(
31
51
  s.base,
32
52
  s[variant],
33
- pseudo && s.pseudo,
34
- hovered && s.hovered,
35
- pressed && s.pressed,
53
+ isPseudo && s.pseudo,
54
+ isHovered && s.hovered,
55
+ isPressed && s.pressed,
36
56
  hasIcon && s.hasIcon,
37
- visitable && s.visitable,
38
- focusVisible && s.focusVisible,
57
+ allowVisited && s.allowVisited,
58
+ isFocusVisible && s.focusVisible,
39
59
  className
40
60
  ),
41
- style,
42
- ref: domRef,
61
+ ...other,
62
+ ref,
43
63
  children: [
44
64
  startIcon,
45
65
  children,
@@ -2,7 +2,7 @@ const base = "kbq-link-093ccd";
2
2
  const hovered = "kbq-link-hovered-1916bc";
3
3
  const pressed = "kbq-link-pressed-0b493d";
4
4
  const focusVisible = "kbq-link-focusVisible-a98307";
5
- const visitable = "kbq-link-visitable-c8175e";
5
+ const allowVisited = "kbq-link-allowVisited-cb5a56";
6
6
  const pseudo = "kbq-link-pseudo-5f21eb";
7
7
  const hasIcon = "kbq-link-hasIcon-ea84d7";
8
8
  const inherit = "kbq-link-inherit-aa3736";
@@ -11,7 +11,7 @@ const s = {
11
11
  hovered,
12
12
  pressed,
13
13
  focusVisible,
14
- visitable,
14
+ allowVisited,
15
15
  pseudo,
16
16
  hasIcon,
17
17
  "text-normal": "kbq-link-text-normal-814a6c",
@@ -20,6 +20,7 @@ const s = {
20
20
  inherit
21
21
  };
22
22
  export {
23
+ allowVisited,
23
24
  base,
24
25
  s as default,
25
26
  focusVisible,
@@ -27,6 +28,5 @@ export {
27
28
  hovered,
28
29
  inherit,
29
30
  pressed,
30
- pseudo,
31
- visitable
31
+ pseudo
32
32
  };
@@ -1,8 +1,32 @@
1
1
  import type { CSSProperties, ReactNode } from 'react';
2
- import type { ButtonOptions } from '@koobiq/react-primitives';
2
+ import type { ExtendableProps } from '@koobiq/react-core';
3
+ import type { UseLinkProps } from '@koobiq/react-primitives';
3
4
  import type { TypographyPropVariant } from '../Typography';
4
5
  export type LinkPropVariant = Extract<TypographyPropVariant, 'text-compact' | 'text-normal' | 'text-big' | 'inherit'>;
5
- export type LinkBaseProps = {
6
+ type LinkDeprecatedProps = {
7
+ /**
8
+ * If `true`, the component is disabled.
9
+ * @default false
10
+ * @deprecated
11
+ * The "disabled" prop is deprecated. Use "isDisabled" prop to replace it.
12
+ */
13
+ disabled?: boolean;
14
+ /**
15
+ * If `true`, displays :visited CSS-state.
16
+ * @default false
17
+ * @deprecated
18
+ * The "visitable" prop is deprecated. Use "isVisitable" prop to replace it.
19
+ */
20
+ visitable?: boolean;
21
+ /**
22
+ * If `true`, displays the link as a pseudo-link.
23
+ * @default false
24
+ * @deprecated
25
+ * The "pseudo" prop is deprecated. Use "isPseudo" prop to replace it.
26
+ */
27
+ pseudo?: boolean;
28
+ };
29
+ export type LinkBaseProps = ExtendableProps<{
6
30
  /** The content of the component. */
7
31
  children?: ReactNode;
8
32
  /** The variant of the component. */
@@ -11,15 +35,24 @@ export type LinkBaseProps = {
11
35
  startIcon?: ReactNode;
12
36
  /** Icon placed after the children. */
13
37
  endIcon?: ReactNode;
14
- /** If `true`, the component is disabled. */
15
- disabled?: boolean;
16
- /** If `true`, displays :visited CSS-state. */
17
- visitable?: boolean;
18
- /** If `true`, displays the link as a pseudo-link. */
19
- pseudo?: boolean;
38
+ /**
39
+ * If `true`, the component is disabled.
40
+ * @default false
41
+ */
42
+ isDisabled?: boolean;
43
+ /**
44
+ * If `true`, displays :visited CSS-state.
45
+ * @default false
46
+ */
47
+ allowVisited?: boolean;
48
+ /**
49
+ * If `true`, displays the link as a pseudo-link.
50
+ * @default false
51
+ */
52
+ isPseudo?: boolean;
20
53
  /** Additional CSS-classes. */
21
54
  className?: string;
22
55
  /** Inline styles */
23
56
  style?: CSSProperties;
24
- onClick?: ButtonOptions['onPress'];
25
- };
57
+ } & LinkDeprecatedProps, Omit<UseLinkProps, 'elementType'>>;
58
+ export {};
@@ -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 { ListComponent, 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: ListComponent;
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,15 +2,19 @@
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 { label, className, style, slotProps } = 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);
15
19
  const titleProps = mergeProps(
16
20
  {
@@ -24,7 +28,7 @@ function ListRender(props, ref) {
24
28
  {
25
29
  style,
26
30
  ref: domRef,
27
- className: clsx(s.base, className)
31
+ className: clsx(list, className)
28
32
  },
29
33
  slotProps?.list,
30
34
  listBoxProps
@@ -36,8 +40,16 @@ function ListRender(props, ref) {
36
40
  ) })
37
41
  ] });
38
42
  }
39
- 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;
40
52
  export {
41
53
  List,
42
- ListRender
54
+ ListInner
43
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,7 @@
1
- import type { ListState, Node } from '@koobiq/react-primitives';
2
- export declare function ListOption<T>({ item, state, }: {
1
+ import type { Node } from '@koobiq/react-core';
2
+ import type { ListState } from '@koobiq/react-primitives';
3
+ export type ListOptionProps<T> = {
3
4
  item: Node<T>;
4
5
  state: ListState<T>;
5
- }): import("react/jsx-runtime").JSX.Element;
6
+ };
7
+ 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,7 @@
1
- import type { ListState, Node } from '@koobiq/react-primitives';
2
- export declare function ListSection<T>({ section, state, }: {
1
+ import type { Node } from '@koobiq/react-core';
2
+ import type { ListState } from '@koobiq/react-primitives';
3
+ export type ListSectionProps<T> = {
3
4
  section: Node<T>;
4
5
  state: ListState<T>;
5
- }): import("react/jsx-runtime").JSX.Element;
6
+ };
7
+ 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';
@@ -40,6 +40,8 @@ export type ListBaseProps<T extends object> = {
40
40
  onAction?: ListPropOnAction<T>;
41
41
  /** How multiple selection should behave in the collection. */
42
42
  selectionBehavior?: ListPropSelectionBehavior<T>;
43
+ /** Whether to autofocus the list or an option. */
44
+ autoFocus?: boolean | 'first' | 'last';
43
45
  /** The props used for each slot inside. */
44
46
  slotProps?: {
45
47
  label?: TypographyProps;
@@ -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 { MenuComponent } from './index';
5
+ declare const MenuComponent: MenuComponent;
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,75 @@
1
+ "use client";
2
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
3
+ import { forwardRef, useRef } from "react";
4
+ import { deprecate } from "@koobiq/logger";
5
+ import { useDOMRef, mergeProps, clsx, Pressable } from "@koobiq/react-core";
6
+ import { useMenuTriggerState, useMenuTrigger } from "@koobiq/react-primitives";
7
+ import { PopoverInner } from "../Popover/PopoverInner.js";
8
+ import s from "./Menu.module.css.js";
9
+ import { MenuInner } from "./components/MenuInner/MenuInner.js";
10
+ import { Header } from "../Collections/Header.js";
11
+ import { Divider } from "../Collections/Divider.js";
12
+ import { Item } from "../Collections/Item.js";
13
+ import { Section } from "../Collections/Section.js";
14
+ import { ListItemText } from "../List/components/ListItemText/ListItemText.js";
15
+ function MenuRender(props, ref) {
16
+ const {
17
+ placement = "bottom start",
18
+ "data-testid": testId,
19
+ control,
20
+ style,
21
+ open,
22
+ isOpen: isOpenProp,
23
+ anchorRef,
24
+ className,
25
+ slotProps,
26
+ ...other
27
+ } = props;
28
+ const isOpen = isOpenProp ?? open;
29
+ if (process.env.NODE_ENV !== "production" && "open" in props) {
30
+ deprecate(
31
+ 'Menu: the "open" prop is deprecated. Use "isOpen" prop to replace it.'
32
+ );
33
+ }
34
+ const state = useMenuTriggerState({ ...props, isOpen });
35
+ const domRef = useDOMRef(ref);
36
+ const controlRef = useRef(null);
37
+ const { menuTriggerProps, menuProps } = useMenuTrigger(
38
+ {},
39
+ state,
40
+ controlRef
41
+ );
42
+ const popoverProps = mergeProps(
43
+ {
44
+ style,
45
+ state,
46
+ offset: 4,
47
+ size: "auto",
48
+ hideArrow: true,
49
+ popoverRef: domRef,
50
+ "data-testid": testId,
51
+ anchorRef: anchorRef || controlRef,
52
+ className: clsx(s.popover, className)
53
+ },
54
+ slotProps?.popover
55
+ );
56
+ const listProps = mergeProps(menuProps, other, slotProps?.list);
57
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
58
+ control?.({
59
+ ref: controlRef,
60
+ ...menuTriggerProps
61
+ }),
62
+ /* @__PURE__ */ jsx(PopoverInner, { type: "menu", placement, ...popoverProps, children: /* @__PURE__ */ jsx(MenuInner, { ...listProps }) })
63
+ ] });
64
+ }
65
+ const MenuComponent = forwardRef(MenuRender);
66
+ const Menu = MenuComponent;
67
+ Menu.Item = Item;
68
+ Menu.Section = Section;
69
+ Menu.Header = Header;
70
+ Menu.Divider = Divider;
71
+ Menu.ItemText = ListItemText;
72
+ Menu.Control = Pressable;
73
+ export {
74
+ Menu
75
+ };
@@ -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-core';
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 MenuInnerComponent = <T extends object>(props: MenuInnerProps<T>) => ReactElement | null;
5
+ export type MenuInnerRef = ComponentRef<'ul'>;
6
+ export declare const MenuInner: MenuInnerComponent;