@koobiq/react-components 0.0.1-beta.9 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) 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 +25 -21
  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 +13 -0
  55. package/dist/components/Checkbox/Checkbox.d.ts +15 -5
  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 +66 -10
  59. package/dist/components/Checkbox/types.js +1 -0
  60. package/dist/components/Collections/Cell.d.ts +28 -0
  61. package/dist/components/Collections/Cell.js +10 -0
  62. package/dist/components/Collections/Column.d.ts +28 -0
  63. package/dist/components/Collections/Column.js +10 -0
  64. package/dist/components/Collections/Divider.d.ts +19 -0
  65. package/dist/components/Collections/Divider.js +14 -0
  66. package/dist/components/Collections/Header.d.ts +20 -0
  67. package/dist/components/Collections/Header.js +16 -0
  68. package/dist/components/Collections/Item.d.ts +14 -0
  69. package/dist/components/Collections/Item.js +10 -0
  70. package/dist/components/Collections/Row.d.ts +14 -0
  71. package/dist/components/Collections/Row.js +10 -0
  72. package/dist/components/{List/ListSection.d.ts → Collections/Section.d.ts} +6 -6
  73. package/dist/components/Collections/Section.js +10 -0
  74. package/dist/components/Collections/TableBody.d.ts +6 -0
  75. package/dist/components/Collections/TableBody.js +10 -0
  76. package/dist/components/Collections/TableHeader.d.ts +6 -0
  77. package/dist/components/Collections/TableHeader.js +10 -0
  78. package/dist/components/Collections/index.d.ts +9 -0
  79. package/dist/components/Container/Container.js +13 -2
  80. package/dist/components/Container/types.d.ts +16 -6
  81. package/dist/components/DateInput/DateInput.d.ts +5 -0
  82. package/dist/components/DateInput/DateInput.js +105 -0
  83. package/dist/components/DateInput/DateInput.module.css.js +8 -0
  84. package/dist/components/DateInput/index.d.ts +2 -0
  85. package/dist/components/DateInput/types.d.ts +47 -0
  86. package/dist/components/DateInput/types.js +4 -0
  87. package/dist/components/DatePicker/DatePicker.d.ts +5 -0
  88. package/dist/components/DatePicker/DatePicker.js +101 -0
  89. package/dist/components/DatePicker/DatePicker.module.css.js +8 -0
  90. package/dist/components/DatePicker/index.d.ts +2 -0
  91. package/dist/components/DatePicker/types.d.ts +34 -0
  92. package/dist/components/DateSegment/DateSegment.d.ts +7 -0
  93. package/dist/components/DateSegment/DateSegment.js +34 -0
  94. package/dist/components/DateSegment/DateSegment.module.css.js +17 -0
  95. package/dist/components/DateSegment/index.d.ts +1 -0
  96. package/dist/components/DateSegment/intl.json.js +7 -0
  97. package/dist/components/DateSegment/utils.d.ts +3 -0
  98. package/dist/components/DateSegment/utils.js +6 -0
  99. package/dist/components/Dialog/Dialog.d.ts +9 -1
  100. package/dist/components/Dialog/Dialog.js +31 -17
  101. package/dist/components/Dialog/components/DialogBody.d.ts +13 -0
  102. package/dist/components/Dialog/components/{DialogContent.js → DialogBody.js} +9 -8
  103. package/dist/components/Dialog/components/DialogCloseButton.d.ts +20 -1
  104. package/dist/components/Dialog/components/DialogCloseButton.js +4 -7
  105. package/dist/components/Dialog/components/index.d.ts +1 -1
  106. package/dist/components/Dialog/index.d.ts +0 -1
  107. package/dist/components/Dialog/types.d.ts +1 -1
  108. package/dist/components/Divider/Divider.d.ts +4 -0
  109. package/dist/components/Divider/Divider.js +47 -0
  110. package/dist/components/Divider/Divider.module.css.js +29 -0
  111. package/dist/components/Divider/index.d.ts +2 -0
  112. package/dist/components/Divider/types.d.ts +22 -0
  113. package/dist/components/Divider/types.js +4 -0
  114. package/dist/components/FieldComponents/FieldAddon/FieldAddon.d.ts +2 -1
  115. package/dist/components/FieldComponents/FieldAddon/FieldAddon.js +19 -2
  116. package/dist/components/FieldComponents/FieldAddon/FieldAddon.module.css.js +6 -3
  117. package/dist/components/FieldComponents/FieldControl/FieldControl.d.ts +6 -8
  118. package/dist/components/FieldComponents/FieldControl/FieldControl.js +5 -8
  119. package/dist/components/FieldComponents/FieldError/FieldError.d.ts +1 -1
  120. package/dist/components/FieldComponents/FieldError/FieldError.js +1 -1
  121. package/dist/components/FieldComponents/FieldInput/FieldInput.d.ts +3 -3
  122. package/dist/components/FieldComponents/FieldInput/FieldInput.js +4 -4
  123. package/dist/components/FieldComponents/FieldInput/FieldInput.module.css.js +3 -3
  124. package/dist/components/FieldComponents/FieldInputDate/FieldInputDate.d.ts +12 -0
  125. package/dist/components/FieldComponents/FieldInputDate/FieldInputDate.js +32 -0
  126. package/dist/components/FieldComponents/FieldInputDate/FieldInputDate.module.css.js +20 -0
  127. package/dist/components/FieldComponents/FieldInputDate/index.d.ts +1 -0
  128. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.d.ts +2 -2
  129. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.js +54 -32
  130. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroupContext.d.ts +4 -3
  131. package/dist/components/FieldComponents/FieldLabel/FieldLabel.d.ts +2 -2
  132. package/dist/components/FieldComponents/FieldLabel/FieldLabel.js +3 -3
  133. package/dist/components/FieldComponents/FieldSelect/FieldSelect.d.ts +13 -0
  134. package/dist/components/FieldComponents/FieldSelect/FieldSelect.js +37 -0
  135. package/dist/components/FieldComponents/FieldSelect/FieldSelect.module.css.js +20 -0
  136. package/dist/components/FieldComponents/FieldSelect/index.d.ts +1 -0
  137. package/dist/components/FieldComponents/index.d.ts +2 -1
  138. package/dist/components/FormControlLabel/types.d.ts +5 -5
  139. package/dist/components/Grid/Grid.d.ts +8 -2
  140. package/dist/components/Grid/Grid.js +5 -2
  141. package/dist/components/Grid/types.d.ts +2 -2
  142. package/dist/components/IconButton/IconButton.js +38 -22
  143. package/dist/components/IconButton/index.d.ts +2 -2
  144. package/dist/components/IconButton/types.d.ts +30 -19
  145. package/dist/components/Input/Input.d.ts +24 -13
  146. package/dist/components/Input/Input.js +60 -13
  147. package/dist/components/Input/types.d.ts +51 -29
  148. package/dist/components/InputNumber/InputNumber.d.ts +24 -12
  149. package/dist/components/InputNumber/InputNumber.js +77 -26
  150. package/dist/components/InputNumber/components/InputNumberCounterControls.js +12 -12
  151. package/dist/components/InputNumber/components/InputNumberCounterControls.module.css.js +7 -4
  152. package/dist/components/InputNumber/types.d.ts +51 -28
  153. package/dist/components/Link/Link.js +32 -10
  154. package/dist/components/Link/Link.module.css.js +4 -4
  155. package/dist/components/Link/types.d.ts +38 -10
  156. package/dist/components/List/List.d.ts +17 -3
  157. package/dist/components/List/List.js +20 -8
  158. package/dist/components/List/List.module.css.js +0 -3
  159. package/dist/components/List/components/ListItemText/ListItemText.js +26 -0
  160. package/dist/components/List/components/ListItemText/ListItemText.module.css.js +11 -0
  161. package/dist/components/List/components/ListOption/ListOption.d.ts +5 -3
  162. package/dist/components/List/components/ListOption/ListOption.js +10 -15
  163. package/dist/components/List/components/ListSection/ListSection.d.ts +5 -3
  164. package/dist/components/List/components/ListSection/ListSection.js +1 -4
  165. package/dist/components/List/index.d.ts +2 -2
  166. package/dist/components/List/types.d.ts +5 -39
  167. package/dist/components/Menu/Menu.d.ts +15 -0
  168. package/dist/components/Menu/Menu.js +75 -0
  169. package/dist/components/Menu/Menu.module.css.js +8 -0
  170. package/dist/components/Menu/components/MenuHeader/MenuHeader.d.ts +5 -0
  171. package/dist/components/Menu/components/MenuHeader/MenuHeader.js +9 -0
  172. package/dist/components/Menu/components/MenuHeader/index.d.ts +1 -0
  173. package/dist/components/Menu/components/MenuInner/MenuInner.d.ts +6 -0
  174. package/dist/components/Menu/components/MenuInner/MenuInner.js +46 -0
  175. package/dist/components/Menu/components/MenuInner/MenuInner.module.css.js +11 -0
  176. package/dist/components/Menu/components/MenuInner/index.d.ts +1 -0
  177. package/dist/components/Menu/components/MenuItem/MenuItem.d.ts +7 -0
  178. package/dist/components/Menu/components/MenuItem/MenuItem.js +36 -0
  179. package/dist/components/Menu/components/MenuItem/index.d.ts +1 -0
  180. package/dist/components/Menu/components/MenuSection/MenuSection.d.ts +7 -0
  181. package/dist/components/Menu/components/MenuSection/MenuSection.js +30 -0
  182. package/dist/components/Menu/components/MenuSection/MenuSection.module.css.js +11 -0
  183. package/dist/components/Menu/components/MenuSection/index.d.ts +1 -0
  184. package/dist/components/Menu/components/index.d.ts +1 -0
  185. package/dist/components/Menu/index.d.ts +2 -0
  186. package/dist/components/Menu/types.d.ts +49 -0
  187. package/dist/components/Modal/Modal.d.ts +33 -2
  188. package/dist/components/Modal/Modal.js +23 -16
  189. package/dist/components/Modal/index.d.ts +15 -2
  190. package/dist/components/Modal/index.js +9 -0
  191. package/dist/components/Modal/types.d.ts +14 -5
  192. package/dist/components/Popover/Popover.d.ts +42 -2
  193. package/dist/components/Popover/Popover.js +23 -141
  194. package/dist/components/Popover/Popover.module.css.js +3 -0
  195. package/dist/components/Popover/PopoverInner.d.ts +3 -0
  196. package/dist/components/Popover/PopoverInner.js +143 -0
  197. package/dist/components/Popover/index.d.ts +15 -2
  198. package/dist/components/Popover/index.js +9 -0
  199. package/dist/components/Popover/types.d.ts +35 -10
  200. package/dist/components/Popover/types.js +9 -1
  201. package/dist/components/ProgressBar/ProgressBar.js +5 -5
  202. package/dist/components/ProgressBar/types.d.ts +10 -22
  203. package/dist/components/ProgressSpinner/ProgressSpinner.js +5 -5
  204. package/dist/components/ProgressSpinner/types.d.ts +12 -24
  205. package/dist/components/Provider/Provider.d.ts +1 -1
  206. package/dist/components/Provider/Provider.js +8 -4
  207. package/dist/components/Provider/types.d.ts +3 -1
  208. package/dist/components/RadioGroup/RadioGroup.js +42 -2
  209. package/dist/components/RadioGroup/components/Radio/Radio.d.ts +7 -4
  210. package/dist/components/RadioGroup/components/Radio/Radio.js +35 -10
  211. package/dist/components/RadioGroup/components/Radio/Radio.module.css.js +6 -6
  212. package/dist/components/RadioGroup/components/Radio/types.d.ts +25 -10
  213. package/dist/components/RadioGroup/components/Radio/types.js +1 -0
  214. package/dist/components/RadioGroup/types.d.ts +44 -17
  215. package/dist/components/Select/Select.d.ts +11 -0
  216. package/dist/components/Select/Select.js +204 -0
  217. package/dist/components/Select/Select.module.css.js +20 -0
  218. package/dist/components/Select/index.d.ts +2 -0
  219. package/dist/components/Select/types.d.ts +86 -0
  220. package/dist/components/SidePanel/SidePanel.d.ts +35 -2
  221. package/dist/components/SidePanel/SidePanel.js +31 -18
  222. package/dist/components/SidePanel/SidePanel.module.css.js +7 -1
  223. package/dist/components/SidePanel/index.d.ts +15 -2
  224. package/dist/components/SidePanel/index.js +9 -0
  225. package/dist/components/SidePanel/types.d.ts +26 -8
  226. package/dist/components/SidePanel/types.js +2 -0
  227. package/dist/components/SkeletonBlock/SkeletonBlock.d.ts +3 -1
  228. package/dist/components/SkeletonTypography/SkeletonTypography.d.ts +3 -1
  229. package/dist/components/SkeletonTypography/types.d.ts +2 -2
  230. package/dist/components/Table/Table.d.ts +12 -0
  231. package/dist/components/Table/Table.js +97 -0
  232. package/dist/components/Table/Table.module.css.js +11 -0
  233. package/dist/components/Table/components/TableCell/TableCell.d.ts +7 -0
  234. package/dist/components/Table/components/TableCell/TableCell.js +39 -0
  235. package/dist/components/Table/components/TableCell/TableCell.module.css.js +27 -0
  236. package/dist/components/Table/components/TableCell/index.d.ts +1 -0
  237. package/dist/components/Table/components/TableCheckboxCell/TableCheckboxCell.d.ts +7 -0
  238. package/dist/components/Table/components/TableCheckboxCell/TableCheckboxCell.js +21 -0
  239. package/dist/components/Table/components/TableCheckboxCell/index.d.ts +1 -0
  240. package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.d.ts +7 -0
  241. package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.js +46 -0
  242. package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.module.css.js +27 -0
  243. package/dist/components/Table/components/TableColumnHeader/index.d.ts +1 -0
  244. package/dist/components/Table/components/TableHeaderRow/TableHeaderRow.d.ts +9 -0
  245. package/dist/components/Table/components/TableHeaderRow/TableHeaderRow.js +16 -0
  246. package/dist/components/Table/components/TableHeaderRow/index.d.ts +1 -0
  247. package/dist/components/Table/components/TableRow/TableRow.d.ts +9 -0
  248. package/dist/components/Table/components/TableRow/TableRow.js +46 -0
  249. package/dist/components/Table/components/TableRow/TableRow.module.css.js +23 -0
  250. package/dist/components/Table/components/TableRow/index.d.ts +1 -0
  251. package/dist/components/Table/components/TableRowGroup/TableRowGroup.d.ts +6 -0
  252. package/dist/components/Table/components/TableRowGroup/TableRowGroup.js +15 -0
  253. package/dist/components/Table/components/TableRowGroup/index.d.ts +1 -0
  254. package/dist/components/Table/components/TableSelectAllCell/TableSelectAllCell.d.ts +7 -0
  255. package/dist/components/Table/components/TableSelectAllCell/TableSelectAllCell.js +22 -0
  256. package/dist/components/Table/components/TableSelectAllCell/index.d.ts +1 -0
  257. package/dist/components/Table/components/index.d.ts +7 -0
  258. package/dist/components/Table/index.d.ts +1 -0
  259. package/dist/components/Table/types.d.ts +49 -0
  260. package/dist/components/Table/utils.d.ts +2 -0
  261. package/dist/components/Table/utils.js +8 -0
  262. package/dist/components/TagGroup/Tag.d.ts +24 -0
  263. package/dist/components/TagGroup/Tag.js +10 -0
  264. package/dist/components/TagGroup/TagGroup.d.ts +2 -0
  265. package/dist/components/TagGroup/TagGroup.js +23 -0
  266. package/dist/components/TagGroup/TagGroup.module.css.js +8 -0
  267. package/dist/components/TagGroup/components/TagInner/TagInner.d.ts +11 -0
  268. package/dist/components/TagGroup/components/TagInner/TagInner.js +86 -0
  269. package/dist/components/TagGroup/components/TagInner/TagInner.module.css.js +30 -0
  270. package/dist/components/TagGroup/components/TagInner/index.d.ts +1 -0
  271. package/dist/components/TagGroup/components/TagInner/utils.d.ts +3 -0
  272. package/dist/components/TagGroup/components/TagInner/utils.js +9 -0
  273. package/dist/components/TagGroup/components/index.d.ts +1 -0
  274. package/dist/components/TagGroup/index.d.ts +3 -0
  275. package/dist/components/TagGroup/intl.json.js +7 -0
  276. package/dist/components/TagGroup/types.d.ts +26 -0
  277. package/dist/components/TagGroup/types.js +9 -0
  278. package/dist/components/Textarea/Textarea.d.ts +12 -9
  279. package/dist/components/Textarea/Textarea.js +48 -3
  280. package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.d.ts +4 -4
  281. package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.js +15 -12
  282. package/dist/components/Textarea/types.d.ts +51 -28
  283. package/dist/components/Textarea/utils/useTextareaAutosize.d.ts +1 -1
  284. package/dist/components/Textarea/utils/useTextareaAutosize.js +2 -2
  285. package/dist/components/TimePicker/TimePicker.d.ts +5 -0
  286. package/dist/components/TimePicker/TimePicker.js +112 -0
  287. package/dist/components/TimePicker/TimePicker.module.css.js +11 -0
  288. package/dist/components/TimePicker/index.d.ts +2 -0
  289. package/dist/components/TimePicker/types.d.ts +46 -0
  290. package/dist/components/Toggle/Toggle.d.ts +13 -5
  291. package/dist/components/Toggle/Toggle.js +72 -11
  292. package/dist/components/Toggle/Toggle.module.css.js +6 -6
  293. package/dist/components/Toggle/types.d.ts +49 -8
  294. package/dist/components/Tooltip/Tooltip.d.ts +6 -5
  295. package/dist/components/Tooltip/Tooltip.js +40 -20
  296. package/dist/components/Tooltip/types.d.ts +26 -24
  297. package/dist/components/Typography/types.d.ts +10 -5
  298. package/dist/components/index.d.ts +12 -0
  299. package/dist/index.js +65 -26
  300. package/dist/style.css +1094 -229
  301. package/dist/styles/utility.d.ts +2 -0
  302. package/dist/styles/utility.js +3 -1
  303. package/dist/styles/utility.module.css.js +5 -1
  304. package/dist/types.d.ts +1 -0
  305. package/dist/utils/capitalizeFirstLetter/capitalizeFirstLetter.d.ts +2 -0
  306. package/dist/utils/capitalizeFirstLetter/capitalizeFirstLetter.js +6 -0
  307. package/dist/utils/capitalizeFirstLetter/index.d.ts +1 -0
  308. package/dist/utils/index.d.ts +1 -0
  309. package/package.json +13 -7
  310. package/dist/components/Dialog/DialogContext.d.ts +0 -9
  311. package/dist/components/Dialog/DialogContext.js +0 -12
  312. package/dist/components/Dialog/components/DialogContent.d.ts +0 -12
  313. package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.d.ts +0 -10
  314. package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.js +0 -18
  315. package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.module.css.js +0 -11
  316. package/dist/components/FieldComponents/FieldNumberControl/index.d.ts +0 -1
  317. package/dist/components/List/ListItem.d.ts +0 -11
  318. package/dist/components/List/ListItem.js +0 -11
  319. package/dist/components/List/ListSection.js +0 -11
  320. package/dist/components/List/components/ListOption/ListOption.module.css.js +0 -23
  321. package/dist/components/List/types.js +0 -4
@@ -1,13 +1,17 @@
1
1
  "use client";
2
2
  import { jsxs } from "react/jsx-runtime";
3
+ import { deprecate } from "@koobiq/logger";
3
4
  import { polymorphicForwardRef, clsx } from "@koobiq/react-core";
4
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,
11
15
  disabled,
12
16
  as = "a",
13
17
  startIcon,
@@ -16,24 +20,42 @@ const Link = polymorphicForwardRef((props, ref) => {
16
20
  className,
17
21
  ...other
18
22
  } = props;
23
+ const allowVisited = allowVisitedProp ?? visitable ?? false;
24
+ const isDisabled = isDisabledProp ?? disabled ?? false;
25
+ const isPseudo = isPseudoProp ?? pseudo ?? false;
19
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
+ }
20
42
  const elementType = as !== "a" && as !== "button" ? `${as}` : void 0;
21
43
  return /* @__PURE__ */ jsxs(
22
44
  Link$1,
23
45
  {
24
46
  as,
25
- disabled,
47
+ isDisabled,
26
48
  elementType,
27
- ...disabled && { tabIndex: -1 },
28
- className: ({ hovered, pressed, focusVisible }) => clsx(
49
+ ...isDisabled && { tabIndex: -1 },
50
+ className: ({ isHovered, isPressed, isFocusVisible }) => clsx(
29
51
  s.base,
30
52
  s[variant],
31
- pseudo && s.pseudo,
32
- hovered && s.hovered,
33
- pressed && s.pressed,
53
+ isPseudo && s.pseudo,
54
+ isHovered && s.hovered,
55
+ isPressed && s.pressed,
34
56
  hasIcon && s.hasIcon,
35
- visitable && s.visitable,
36
- focusVisible && s.focusVisible,
57
+ allowVisited && s.allowVisited,
58
+ isFocusVisible && s.focusVisible,
37
59
  className
38
60
  ),
39
61
  ...other,
@@ -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 { LinkBaseProps as LinkBasePrimitiveProps } 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,19 @@ 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`, displays :visited CSS-state.
40
+ * @default false
41
+ */
42
+ allowVisited?: boolean;
43
+ /**
44
+ * If `true`, displays the link as a pseudo-link.
45
+ * @default false
46
+ */
47
+ isPseudo?: boolean;
20
48
  /** Additional CSS-classes. */
21
49
  className?: string;
22
50
  /** Inline styles */
23
51
  style?: CSSProperties;
24
- onClick?: ButtonOptions['onPress'];
25
- };
52
+ } & LinkDeprecatedProps, Omit<LinkBasePrimitiveProps, 'elementType'>>;
53
+ 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, ListProps } from './types';
6
+ export type ListInnerProps<T extends object> = {
7
+ state: ListState<T>;
8
+ listRef?: Ref<HTMLUListElement>;
9
+ } & Omit<ListProps<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';
@@ -1,53 +1,19 @@
1
- import type { ComponentPropsWithRef, ComponentRef, CSSProperties, ReactElement, ReactNode, Ref } from 'react';
1
+ import type { Ref, ComponentRef, ReactElement, CSSProperties, ComponentPropsWithRef } from 'react';
2
+ import type { ExtendableProps } from '@koobiq/react-core';
2
3
  import type { AriaListBoxProps } from '@koobiq/react-primitives';
3
4
  import type { TypographyProps } from '../Typography';
4
- export declare const listPropSelectionMode: readonly ["none", "single", "multiple"];
5
- export type ListPropSelectionMode = (typeof listPropSelectionMode)[number];
6
- export type ListPropItems<T extends object> = AriaListBoxProps<T>['items'];
7
- export type ListPropChildren<T extends object> = AriaListBoxProps<T>['children'];
8
- export type ListPropSelectedKeys<T extends object> = AriaListBoxProps<T>['selectedKeys'];
9
- export type ListPropDefaultSelectedKeys<T extends object> = AriaListBoxProps<T>['defaultSelectedKeys'];
10
- export type ListPropDisabledKeys<T extends object> = AriaListBoxProps<T>['disabledKeys'];
11
- export type ListPropOnSelectionChange<T extends object> = AriaListBoxProps<T>['onSelectionChange'];
12
- export type ListPropOnAction<T extends object> = AriaListBoxProps<T>['onAction'];
13
- export type ListPropSelectionBehavior<T extends object> = AriaListBoxProps<T>['selectionBehavior'];
14
- export type ListBaseProps<T extends object> = {
15
- label?: ReactNode;
5
+ export type ListProps<T> = ExtendableProps<{
16
6
  /** Additional CSS-classes. */
17
7
  className?: string;
18
8
  /** Inline styles. */
19
9
  style?: CSSProperties;
20
- /** The type of selection that is allowed in the collection. */
21
- selectionMode?: ListPropSelectionMode;
22
10
  /** Ref to the HTML ul-element. */
23
11
  ref?: Ref<HTMLElement>;
24
- /** The contents of the collection. */
25
- children?: ListPropChildren<T>;
26
- /** Item objects in the collection. */
27
- items?: ListPropItems<T>;
28
- /** The currently selected keys in the collection (controlled). */
29
- selectedKeys?: ListPropSelectedKeys<T>;
30
- /** The item keys that are disabled. These items cannot be selected, focused, or otherwise interacted with. */
31
- disabledKeys?: ListPropDisabledKeys<T>;
32
- /** The initial selected keys in the collection (uncontrolled). */
33
- defaultSelectedKeys?: ListPropDefaultSelectedKeys<T>;
34
- /** Handler that is called when the selection changes. */
35
- onSelectionChange?: ListPropOnSelectionChange<T>;
36
- /**
37
- * Handler that is called when a user performs an action on an item. The exact user event depends on
38
- * the collection's `selectionBehavior` prop and the interaction modality.
39
- */
40
- onAction?: ListPropOnAction<T>;
41
- /** How multiple selection should behave in the collection. */
42
- selectionBehavior?: ListPropSelectionBehavior<T>;
43
- /** Whether to autofocus the list or an option. */
44
- autoFocus?: boolean | 'first' | 'last';
45
12
  /** The props used for each slot inside. */
46
13
  slotProps?: {
47
14
  label?: TypographyProps;
48
15
  list?: ComponentPropsWithRef<'div'>;
49
16
  };
50
- };
51
- export type ListProps<T extends object> = ListBaseProps<T>;
17
+ }, AriaListBoxProps<T>>;
52
18
  export type ListRef = ComponentRef<'ul'>;
53
- export type ListComponent = <T extends object>(props: ListProps<T>) => ReactElement | null;
19
+ export type ListComponent = <T>(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 { 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>(props: MenuInnerProps<T>) => ReactElement | null;
5
+ export type MenuInnerRef = ComponentRef<'ul'>;
6
+ export declare const MenuInner: MenuInnerComponent;
@@ -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,7 @@
1
+ import type { Node } from '@koobiq/react-core';
2
+ import type { TreeState } from '@koobiq/react-primitives';
3
+ export type MenuItemProps<T> = {
4
+ item: Node<T>;
5
+ state: TreeState<T>;
6
+ };
7
+ export declare function MenuItem<T>({ item, state }: MenuItemProps<T>): import("react/jsx-runtime").JSX.Element;