@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
@@ -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;
@@ -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,7 @@
1
+ import type { Node } from '@koobiq/react-core';
2
+ import type { TreeState } from '@koobiq/react-primitives';
3
+ export type MenuSectionProps<T> = {
4
+ section: Node<T>;
5
+ state: TreeState<T>;
6
+ };
7
+ export declare function MenuSection<T>({ section, state }: MenuSectionProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { jsxs, jsx } 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__ */ 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,72 @@
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
+ type MenuDeprecatedProps = {
17
+ /**
18
+ * If `true`, the component is shown.
19
+ * @deprecated
20
+ * The "open" prop is deprecated. Use "isOpen" prop to replace it.
21
+ */
22
+ open?: boolean;
23
+ };
24
+ export type MenuProps<T extends object> = {
25
+ /** Additional CSS-classes. */
26
+ className?: string;
27
+ /** Unique identifier for testing purposes. */
28
+ 'data-testid'?: string | number;
29
+ /** Inline styles. */
30
+ style?: CSSProperties;
31
+ /** The contents of the collection. */
32
+ children?: MenuPropChildren<T>;
33
+ /** The render function of the control for displaying the modal window. */
34
+ control?: MenuPropControl;
35
+ /** Whether the overlay is open by default (controlled). */
36
+ isOpen?: boolean;
37
+ /** Whether the overlay is open by default (uncontrolled). */
38
+ defaultOpen?: boolean;
39
+ /** Handler that is called when the overlay's open state changes. */
40
+ onOpenChange?: (isOpen: boolean) => void;
41
+ /** Item objects in the collection. */
42
+ items?: MenuPropItems<T>;
43
+ /** The type of selection that is allowed in the collection. */
44
+ selectionMode?: MenuPropSelectionMode;
45
+ /**
46
+ * Handler that is called when a user performs an action on an item. The exact user event depends on
47
+ * the collection's `selectionBehavior` prop and the interaction modality.
48
+ */
49
+ onAction?: MenuPropOnAction<T>;
50
+ /** The currently selected keys in the collection (controlled). */
51
+ selectedKeys?: MenuPropSelected<T>;
52
+ /** Handler that is called when the selection changes. */
53
+ onSelectionChange?: MenuPropSelectionChange<T>;
54
+ disabledKeys?: MenuPropDisabledKeys<T>;
55
+ /** The ref for the element which the popover positions itself with respect to. */
56
+ anchorRef?: RefObject<HTMLElement | null>;
57
+ /**
58
+ * The placement of the element with respect to its anchor element.
59
+ * @default 'bottom start'
60
+ */
61
+ placement?: MenuPropPlacement;
62
+ /** Ref to the popover */
63
+ ref?: Ref<HTMLDivElement>;
64
+ /** The props used for each slot inside. */
65
+ slotProps?: {
66
+ popover?: PopoverBaseProps;
67
+ list?: ComponentPropsWithRef<'ul'>;
68
+ };
69
+ } & MenuDeprecatedProps;
70
+ export type MenuComponent = <T extends object>(props: MenuProps<T>) => ReactElement | null;
71
+ export type MenuRef = ComponentRef<'div'>;
72
+ export {};
@@ -0,0 +1,4 @@
1
+ const menuPropSelectionMode = ["none", "single", "multiple"];
2
+ export {
3
+ menuPropSelectionMode
4
+ };
@@ -1,2 +1,33 @@
1
- import type { ModalProps } from './types';
2
- export declare const Modal: import("react").ForwardRefExoticComponent<ModalProps & import("react").RefAttributes<HTMLDivElement>>;
1
+ import { type BackdropProps } from '../Backdrop';
2
+ import { Dialog, type DialogProps } from '../Dialog';
3
+ declare const ModalComponent: import("react").ForwardRefExoticComponent<{
4
+ size?: import("./types").ModalPropSize;
5
+ isOpen?: boolean;
6
+ defaultOpen?: boolean;
7
+ children?: import("./types").ModalPropContent;
8
+ control?: import("./types").ModalPropControl;
9
+ hideCloseButton?: boolean;
10
+ onOpenChange?: (open: boolean) => void;
11
+ portalContainer?: Element;
12
+ disableExitOnClickOutside?: boolean;
13
+ disableExitOnEscapeKeyDown?: boolean;
14
+ hideBackdrop?: boolean;
15
+ className?: string;
16
+ 'data-testid'?: string | number;
17
+ disableFocusManagement?: boolean;
18
+ shouldCloseOnInteractOutside?: (element: Element) => boolean;
19
+ slotProps?: {
20
+ dialog?: DialogProps;
21
+ backdrop?: BackdropProps;
22
+ modal?: import("react").ComponentPropsWithRef<"div">;
23
+ };
24
+ } & {
25
+ open?: boolean;
26
+ } & import("react").RefAttributes<HTMLDivElement>>;
27
+ type CompoundedComponent = typeof ModalComponent & {
28
+ Header: typeof Dialog.Header;
29
+ Body: typeof Dialog.Body;
30
+ Footer: typeof Dialog.Footer;
31
+ };
32
+ export declare const Modal: CompoundedComponent;
33
+ export {};
@@ -1,13 +1,14 @@
1
1
  "use client";
2
2
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
3
3
  import { forwardRef, cloneElement, isValidElement } from "react";
4
+ import { deprecate } from "@koobiq/logger";
4
5
  import { useBoolean, useDOMRef, mergeProps, clsx } from "@koobiq/react-core";
5
6
  import { useOverlayTriggerState, useOverlayTrigger, useModalOverlay, Overlay } from "@koobiq/react-primitives";
6
7
  import { Transition } from "react-transition-group";
7
8
  import s from "./Modal.module.css.js";
8
9
  import { Backdrop } from "../Backdrop/Backdrop.js";
9
10
  import { Dialog } from "../Dialog/Dialog.js";
10
- const Modal = forwardRef((props, ref) => {
11
+ const ModalComponent = forwardRef((props, ref) => {
11
12
  const {
12
13
  size = "medium",
13
14
  hideCloseButton = false,
@@ -17,7 +18,8 @@ const Modal = forwardRef((props, ref) => {
17
18
  defaultOpen,
18
19
  hideBackdrop,
19
20
  onOpenChange,
20
- open: openProp,
21
+ open,
22
+ isOpen: isOpenProp,
21
23
  portalContainer,
22
24
  disableFocusManagement,
23
25
  disableExitOnClickOutside,
@@ -25,19 +27,25 @@ const Modal = forwardRef((props, ref) => {
25
27
  shouldCloseOnInteractOutside,
26
28
  ...other
27
29
  } = props;
30
+ const isOpen = isOpenProp ?? open;
31
+ if (process.env.NODE_ENV !== "production" && "open" in props) {
32
+ deprecate(
33
+ 'Modal: the "open" prop is deprecated. Use "isOpen" prop to replace it.'
34
+ );
35
+ }
28
36
  const state = useOverlayTriggerState({
29
- isOpen: openProp,
37
+ isOpen,
30
38
  onOpenChange,
31
39
  defaultOpen,
32
40
  ...other
33
41
  });
34
- const { isOpen: openState, close } = state;
35
- const [opened, { on, off }] = useBoolean(openState);
42
+ const { isOpen: isOpenState, close } = state;
43
+ const [isOpened, { on, off }] = useBoolean(isOpenState);
36
44
  const modalRef = useDOMRef(null);
37
45
  const containerRef = useDOMRef(ref);
38
46
  const { triggerProps, overlayProps } = useOverlayTrigger(
39
47
  { type: "dialog" },
40
- { ...state, isOpen: openState }
48
+ { ...state, isOpen: isOpenState }
41
49
  );
42
50
  const { modalProps: modalCommonProps, underlayProps } = useModalOverlay(
43
51
  {
@@ -46,7 +54,7 @@ const Modal = forwardRef((props, ref) => {
46
54
  isDismissable: !disableExitOnClickOutside,
47
55
  isKeyboardDismissDisabled: disableExitOnEscapeKeyDown
48
56
  },
49
- { ...state, isOpen: opened },
57
+ { ...state, isOpen: isOpened },
50
58
  modalRef
51
59
  );
52
60
  const resolvedChildren = () => {
@@ -64,7 +72,7 @@ const Modal = forwardRef((props, ref) => {
64
72
  other
65
73
  );
66
74
  const backdropProps = mergeProps(
67
- { open: openState && !hideBackdrop },
75
+ { isOpen: isOpenState && !hideBackdrop },
68
76
  underlayProps,
69
77
  slotProps?.backdrop
70
78
  );
@@ -85,20 +93,15 @@ const Modal = forwardRef((props, ref) => {
85
93
  },
86
94
  slotProps?.modal
87
95
  );
88
- const { isDisabled, onPress, ...otherTriggerProps } = triggerProps;
89
96
  return /* @__PURE__ */ jsxs(Fragment, { children: [
90
- control?.({
91
- onClick: onPress,
92
- disabled: isDisabled,
93
- ...otherTriggerProps
94
- }),
97
+ control?.(triggerProps),
95
98
  /* @__PURE__ */ jsx(
96
99
  Transition,
97
100
  {
98
101
  onEnter: on,
99
102
  timeout: 300,
100
103
  onExited: off,
101
- in: openState,
104
+ in: isOpenState,
102
105
  nodeRef: containerRef,
103
106
  unmountOnExit: true,
104
107
  appear: true,
@@ -117,7 +120,11 @@ const Modal = forwardRef((props, ref) => {
117
120
  )
118
121
  ] });
119
122
  });
120
- Modal.displayName = "Modal";
123
+ ModalComponent.displayName = "Modal";
124
+ const Modal = ModalComponent;
125
+ Modal.Header = Dialog.Header;
126
+ Modal.Body = Dialog.Body;
127
+ Modal.Footer = Dialog.Footer;
121
128
  export {
122
129
  Modal
123
130
  };
@@ -1,4 +1,17 @@
1
1
  export * from './Modal';
2
2
  export * from './types';
3
- export { DialogHeader, DialogFooter, DialogContent } from '../Dialog';
4
- export { DialogHeader as ModalHeader, DialogContent as ModalContent, DialogFooter as ModalFooter, } from '../Dialog';
3
+ /**
4
+ * @deprecated
5
+ * This component has been deprecated, please use `Modal.Header` instead.
6
+ */
7
+ export declare const ModalHeader: import("react").ForwardRefExoticComponent<Omit<import("../Dialog").DialogHeaderProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
8
+ /**
9
+ * @deprecated
10
+ * This component has been deprecated, please use `Modal.Body` instead.
11
+ */
12
+ export declare const ModalContent: import("react").ForwardRefExoticComponent<Omit<import("../Dialog").DialogBodyProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
13
+ /**
14
+ * @deprecated
15
+ * This component has been deprecated, please use `Modal.Footer` instead.
16
+ */
17
+ export declare const ModalFooter: import("react").ForwardRefExoticComponent<Omit<import("../Dialog").DialogFooterProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,9 @@
1
+ import { Dialog } from "../Dialog/Dialog.js";
2
+ const ModalHeader = Dialog.Header;
3
+ const ModalContent = Dialog.Body;
4
+ const ModalFooter = Dialog.Footer;
5
+ export {
6
+ ModalContent,
7
+ ModalFooter,
8
+ ModalHeader
9
+ };
@@ -8,14 +8,22 @@ export type ModalPropContent = ReactNode | ((props: {
8
8
  close(): void;
9
9
  }) => ReactElement);
10
10
  export type ModalPropControl = (props: ButtonOptions) => ReactElement;
11
+ type ModalDeprecatedProps = {
12
+ /**
13
+ * If `true`, the component is shown.
14
+ * @deprecated
15
+ * The "open" prop is deprecated. Use "isOpen" prop to replace it.
16
+ */
17
+ open?: boolean;
18
+ };
11
19
  export type ModalProps = {
12
20
  /**
13
21
  * Component width size.
14
- * @default medium
15
- * */
22
+ * @default 'medium'
23
+ */
16
24
  size?: ModalPropSize;
17
25
  /** If `true`, the component is shown. */
18
- open?: boolean;
26
+ isOpen?: boolean;
19
27
  /** The default open state. Use when the component is not controlled. */
20
28
  defaultOpen?: boolean;
21
29
  /** The content of the component. */
@@ -25,7 +33,7 @@ export type ModalProps = {
25
33
  /**
26
34
  * If `true`, the close button isn't shown.
27
35
  * @default false
28
- * */
36
+ */
29
37
  hideCloseButton?: boolean;
30
38
  /** Handler that is called when the modal's open state changes. */
31
39
  onOpenChange?: (open: boolean) => void;
@@ -71,5 +79,6 @@ export type ModalProps = {
71
79
  backdrop?: BackdropProps;
72
80
  modal?: ComponentPropsWithRef<'div'>;
73
81
  };
74
- };
82
+ } & ModalDeprecatedProps;
75
83
  export type ModalRef = ComponentRef<'div'>;
84
+ export {};
@@ -1,2 +1,42 @@
1
- import type { PopoverProps } from './types';
2
- export declare const Popover: import("react").ForwardRefExoticComponent<PopoverProps & import("react").RefAttributes<HTMLDivElement>>;
1
+ import { Dialog } from '../Dialog';
2
+ declare const PopoverComponent: import("react").ForwardRefExoticComponent<{
3
+ isOpen?: boolean;
4
+ defaultOpen?: boolean;
5
+ children?: import("./types").PopoverPropContent;
6
+ control?: import("./types").PopoverPropControl;
7
+ size?: import("./types").PopoverPropSize;
8
+ hideCloseButton?: boolean;
9
+ onOpenChange?: (open: boolean) => void;
10
+ portalContainer?: Element;
11
+ disableExitOnEscapeKeyDown?: boolean;
12
+ className?: string;
13
+ style?: import("react").CSSProperties;
14
+ 'data-testid'?: string | number;
15
+ disableFocusManagement?: boolean;
16
+ placement?: import("./types").PopoverPropPlacement;
17
+ anchorRef?: import("react").RefObject<HTMLElement | null>;
18
+ hideArrow?: boolean;
19
+ isNonModal?: boolean;
20
+ arrowBoundaryOffset?: number;
21
+ containerPadding?: number;
22
+ offset?: number;
23
+ crossOffset?: number;
24
+ shouldCloseOnInteractOutside?: (element: Element) => boolean;
25
+ type?: import("./types").PopoverPropType;
26
+ maxBlockSize?: number;
27
+ slotProps?: {
28
+ dialog?: import("../Dialog").DialogProps;
29
+ arrow?: import("react").ComponentPropsWithRef<"div">;
30
+ backdrop?: import("react").ComponentPropsWithRef<"div">;
31
+ transition?: Partial<import("react-transition-group/Transition").TransitionProps<HTMLElement>>;
32
+ };
33
+ } & {
34
+ open?: boolean;
35
+ } & import("react").RefAttributes<HTMLDivElement>>;
36
+ type CompoundedComponent = typeof PopoverComponent & {
37
+ Header: typeof Dialog.Header;
38
+ Body: typeof Dialog.Body;
39
+ Footer: typeof Dialog.Footer;
40
+ };
41
+ export declare const Popover: CompoundedComponent;
42
+ export {};