@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,130 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { forwardRef, useRef, useReducer, useEffect } from "react";
4
+ import { once } from "@koobiq/logger";
5
+ import { useDOMRef, mergeProps, clsx } from "@koobiq/react-core";
6
+ import { useToggleGroupState, useToggleButtonGroup } from "@koobiq/react-primitives";
7
+ import { Transition } from "react-transition-group";
8
+ import s from "./ButtonToggleGroup.module.css.js";
9
+ import { ButtonToggleGroupContext } from "./ButtonToggleGroupContext.js";
10
+ import { animationReducer, initialAnimationState } from "./reducer.js";
11
+ import { getSelectedToggleButton, getToggleButtonStyle } from "./utils.js";
12
+ const MAX_ITEMS = 5;
13
+ const ButtonToggleGroup = forwardRef((props, ref) => {
14
+ const {
15
+ fullWidth = false,
16
+ isDisabled = false,
17
+ hasEqualItemSize = false,
18
+ style,
19
+ className,
20
+ slotProps,
21
+ defaultSelectedKey,
22
+ children,
23
+ selectedKey: selectedKeyProp,
24
+ onSelectionChange: onSelectionChangeProp,
25
+ ...other
26
+ } = props;
27
+ if (process.env.NODE_ENV !== "production" && children?.length && children?.length > MAX_ITEMS) {
28
+ once.warn(
29
+ `Use a ButtonToggleGroup to allow selection of up to ${MAX_ITEMS} options.`
30
+ );
31
+ }
32
+ const domRef = useDOMRef(ref);
33
+ const thumbRef = useRef(null);
34
+ const state = useToggleGroupState({
35
+ ...other,
36
+ isDisabled,
37
+ disallowEmptySelection: true,
38
+ onSelectionChange: (keys) => {
39
+ onSelectionChangeProp?.(Array.from(keys)[0]);
40
+ },
41
+ defaultSelectedKeys: defaultSelectedKey ? [defaultSelectedKey] : [],
42
+ ...!defaultSelectedKey && {
43
+ selectedKeys: selectedKeyProp ? [selectedKeyProp] : []
44
+ }
45
+ });
46
+ const { groupProps: groupPropsAria } = useToggleButtonGroup(
47
+ {},
48
+ state,
49
+ domRef
50
+ );
51
+ const previous = useRef(null);
52
+ const selectedKey = Array.from(state.selectedKeys)[0];
53
+ const [animatedState, dispatch] = useReducer(
54
+ animationReducer,
55
+ initialAnimationState
56
+ );
57
+ const { isAnimated, start, end, savedKey } = animatedState;
58
+ useEffect(() => {
59
+ const active = getSelectedToggleButton(domRef.current);
60
+ if (active && previous.current) {
61
+ dispatch({
62
+ type: "SET_ANIMATED",
63
+ payload: {
64
+ start: [previous.current.offsetLeft, previous.current.offsetWidth],
65
+ end: [active.offsetLeft, active.offsetWidth]
66
+ }
67
+ });
68
+ } else {
69
+ dispatch({ type: "SET_SAVED", payload: { savedKey: selectedKey } });
70
+ }
71
+ previous.current = active;
72
+ }, [selectedKey]);
73
+ useEffect(() => {
74
+ if (!selectedKey) dispatch({ type: "RESET" });
75
+ }, [selectedKey]);
76
+ const groupProps = mergeProps(
77
+ {
78
+ className: clsx(
79
+ s.base,
80
+ fullWidth && s.fullWidth,
81
+ hasEqualItemSize && s.hasEqualItemSize,
82
+ className
83
+ ),
84
+ "data-fullwidth": fullWidth,
85
+ "data-animated": isAnimated,
86
+ "data-equal-item-size": hasEqualItemSize,
87
+ ref: domRef,
88
+ style
89
+ },
90
+ other,
91
+ groupPropsAria
92
+ );
93
+ const thumbProps = mergeProps(
94
+ {
95
+ ref: thumbRef,
96
+ className: clsx(s.thumb),
97
+ style: getToggleButtonStyle(start, end)
98
+ },
99
+ slotProps?.thumb
100
+ );
101
+ const containerProps = mergeProps(
102
+ {
103
+ className: clsx(s.container)
104
+ },
105
+ slotProps?.container
106
+ );
107
+ return /* @__PURE__ */ jsx(ButtonToggleGroupContext.Provider, { value: { state, savedKey }, children: /* @__PURE__ */ jsxs("div", { ...groupProps, children: [
108
+ /* @__PURE__ */ jsx(
109
+ Transition,
110
+ {
111
+ in: isAnimated,
112
+ timeout: 200,
113
+ nodeRef: thumbRef,
114
+ exit: false,
115
+ onEntered: () => {
116
+ dispatch({ type: "SET_SAVED", payload: { savedKey: selectedKey } });
117
+ },
118
+ mountOnEnter: true,
119
+ unmountOnExit: true,
120
+ enter: true,
121
+ children: (transitionState) => /* @__PURE__ */ jsx("div", { ...thumbProps, "data-transition": transitionState })
122
+ }
123
+ ),
124
+ /* @__PURE__ */ jsx("div", { ...containerProps, children })
125
+ ] }) });
126
+ });
127
+ ButtonToggleGroup.displayName = "ButtonToggleGroup";
128
+ export {
129
+ ButtonToggleGroup
130
+ };
@@ -0,0 +1,17 @@
1
+ const base = "kbq-buttontogglegroup-79a88d";
2
+ const fullWidth = "kbq-buttontogglegroup-fullWidth-f63c5c";
3
+ const thumb = "kbq-buttontogglegroup-thumb-7ff4ae";
4
+ const container = "kbq-buttontogglegroup-container-e48aaf";
5
+ const s = {
6
+ base,
7
+ fullWidth,
8
+ thumb,
9
+ container
10
+ };
11
+ export {
12
+ base,
13
+ container,
14
+ s as default,
15
+ fullWidth,
16
+ thumb
17
+ };
@@ -0,0 +1,7 @@
1
+ import type { ToggleGroupState } from '@koobiq/react-primitives';
2
+ export type ButtonToggleGroupContextProps = {
3
+ state: ToggleGroupState | null;
4
+ savedKey?: string | number;
5
+ };
6
+ export declare const ButtonToggleGroupContext: import("react").Context<ButtonToggleGroupContextProps>;
7
+ export declare function useButtonToggleGroupContext(): ButtonToggleGroupContextProps;
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import { createContext, useContext } from "react";
3
+ const ButtonToggleGroupContext = createContext({
4
+ state: null
5
+ });
6
+ function useButtonToggleGroupContext() {
7
+ return useContext(ButtonToggleGroupContext);
8
+ }
9
+ export {
10
+ ButtonToggleGroupContext,
11
+ useButtonToggleGroupContext
12
+ };
@@ -0,0 +1,2 @@
1
+ import type { ButtonToggleProps } from './types';
2
+ export declare const ButtonToggle: import("react").ForwardRefExoticComponent<Omit<ButtonToggleProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,90 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { forwardRef, useRef } from "react";
4
+ import { useDOMRef, useElementSize, useHover, useFocusRing, mergeProps, useMultiRef, clsx, isNotNil } from "@koobiq/react-core";
5
+ import { useToggleButtonGroupItem } from "@koobiq/react-primitives";
6
+ import { utilClasses } from "../../../../styles/utility.js";
7
+ import { useButtonToggleGroupContext } from "../../ButtonToggleGroupContext.js";
8
+ import s from "./ButtonToggle.module.css.js";
9
+ import { Tooltip } from "../../../Tooltip/Tooltip.js";
10
+ const textNormalMedium = utilClasses.typography["text-normal-medium"];
11
+ const ButtonToggle = forwardRef(
12
+ (props, ref) => {
13
+ const {
14
+ isDisabled: isDisabledProp = false,
15
+ children,
16
+ id,
17
+ icon,
18
+ className,
19
+ slotProps,
20
+ ...other
21
+ } = props;
22
+ const domRef = useDOMRef(ref);
23
+ const contentRef = useRef(null);
24
+ const { state, savedKey } = useButtonToggleGroupContext();
25
+ const { ref: containerRef } = useElementSize();
26
+ const showTooltip = (contentRef.current?.scrollWidth || 0) > (contentRef.current?.clientWidth || 0);
27
+ const { buttonProps, isPressed, isSelected, isDisabled } = useToggleButtonGroupItem(
28
+ { id, isDisabled: isDisabledProp },
29
+ state,
30
+ domRef
31
+ );
32
+ const { hoverProps, isHovered } = useHover({ ...props, isDisabled });
33
+ const { focusProps, isFocusVisible } = useFocusRing({});
34
+ const iconProps = mergeProps({ className: s.icon }, slotProps?.icon);
35
+ return /* @__PURE__ */ jsx(
36
+ Tooltip,
37
+ {
38
+ delay: 300,
39
+ anchorRef: domRef,
40
+ isDisabled: !showTooltip,
41
+ ...slotProps?.tooltip,
42
+ control: ({ ref: controlRef, ...controlProps }) => {
43
+ const rootRef = useMultiRef([domRef, controlRef]);
44
+ const rootProps = mergeProps(
45
+ {
46
+ className: clsx(
47
+ s.base,
48
+ textNormalMedium,
49
+ isHovered && s.hovered,
50
+ isPressed && s.pressed,
51
+ savedKey === id && s.selected,
52
+ isDisabled && s.disabled,
53
+ isFocusVisible && s.focusVisible,
54
+ className
55
+ ),
56
+ "data-hovered": isHovered,
57
+ "data-pressed": isPressed,
58
+ "data-selected": isSelected,
59
+ "data-disabled": isDisabled,
60
+ "data-focus-visible": isFocusVisible,
61
+ ref: rootRef
62
+ },
63
+ controlProps,
64
+ focusProps,
65
+ hoverProps,
66
+ buttonProps,
67
+ other
68
+ );
69
+ const containerProps = mergeProps(
70
+ { className: s.container, ref: containerRef },
71
+ slotProps?.container
72
+ );
73
+ const contentProps = mergeProps(
74
+ { className: s.content, ref: contentRef },
75
+ slotProps?.content
76
+ );
77
+ return /* @__PURE__ */ jsx("button", { ...rootProps, children: /* @__PURE__ */ jsxs("span", { ...containerProps, children: [
78
+ isNotNil(icon) && /* @__PURE__ */ jsx("span", { ...iconProps, children: icon }),
79
+ isNotNil(children) && /* @__PURE__ */ jsx("span", { ...contentProps, children })
80
+ ] }) });
81
+ },
82
+ children
83
+ }
84
+ );
85
+ }
86
+ );
87
+ ButtonToggle.displayName = "ButtonToggle";
88
+ export {
89
+ ButtonToggle
90
+ };
@@ -0,0 +1,32 @@
1
+ const base = "kbq-buttontoggle-caa007";
2
+ const hovered = "kbq-buttontoggle-hovered-4706db";
3
+ const pressed = "kbq-buttontoggle-pressed-6d5049";
4
+ const selected = "kbq-buttontoggle-selected-3e6996";
5
+ const disabled = "kbq-buttontoggle-disabled-c0d011";
6
+ const focusVisible = "kbq-buttontoggle-focusVisible-37d5be";
7
+ const container = "kbq-buttontoggle-container-f496bf";
8
+ const icon = "kbq-buttontoggle-icon-668db0";
9
+ const content = "kbq-buttontoggle-content-822c7d";
10
+ const s = {
11
+ base,
12
+ hovered,
13
+ pressed,
14
+ selected,
15
+ disabled,
16
+ focusVisible,
17
+ container,
18
+ icon,
19
+ content
20
+ };
21
+ export {
22
+ base,
23
+ container,
24
+ content,
25
+ s as default,
26
+ disabled,
27
+ focusVisible,
28
+ hovered,
29
+ icon,
30
+ pressed,
31
+ selected
32
+ };
@@ -0,0 +1,2 @@
1
+ export * from './ButtonToggle';
2
+ export * from './types';
@@ -0,0 +1,27 @@
1
+ import type { ComponentPropsWithRef, ComponentRef, ReactNode } from 'react';
2
+ import type { DataAttributeProps, ExtendableComponentPropsWithRef } from '@koobiq/react-core';
3
+ import type { TooltipProps } from '../../../Tooltip';
4
+ export type ButtonToggleKey = string | number;
5
+ export type ButtonToggleProps = ExtendableComponentPropsWithRef<{
6
+ /** An identifier for the item in the selectedKey of a ButtonToggleGroup. */
7
+ id: ButtonToggleKey;
8
+ /** Icon placed before the children. */
9
+ icon?: ReactNode;
10
+ /**
11
+ * If `true`, the component is disabled.
12
+ * @default false
13
+ */
14
+ isDisabled?: boolean;
15
+ /** Additional CSS-classes. */
16
+ className?: string;
17
+ /** The props used for each slot inside. */
18
+ slotProps?: {
19
+ tooltip?: TooltipProps;
20
+ icon?: ComponentPropsWithRef<'span'> & DataAttributeProps;
21
+ content?: ComponentPropsWithRef<'span'> & DataAttributeProps;
22
+ container?: ComponentPropsWithRef<'span'> & DataAttributeProps;
23
+ };
24
+ /** Unique identifier for testing purposes. */
25
+ 'data-testid'?: string | number;
26
+ }, 'div'>;
27
+ export type ButtonToggleRef = ComponentRef<'button'>;
@@ -0,0 +1 @@
1
+ export * from './ButtonToggle';
@@ -0,0 +1,3 @@
1
+ export * from './ButtonToggleGroup';
2
+ export * from './components';
3
+ export * from './types';
@@ -0,0 +1,23 @@
1
+ export type AnimationStateType = {
2
+ isAnimated?: boolean;
3
+ start?: [number, number];
4
+ end?: [number, number];
5
+ savedKey?: string | number;
6
+ };
7
+ type AnimationAction = {
8
+ type: 'SET_ANIMATED';
9
+ payload: {
10
+ start: [number, number];
11
+ end: [number, number];
12
+ };
13
+ } | {
14
+ type: 'SET_SAVED';
15
+ payload: {
16
+ savedKey?: string | number;
17
+ };
18
+ } | {
19
+ type: 'RESET';
20
+ };
21
+ export declare const initialAnimationState: AnimationStateType;
22
+ export declare function animationReducer(state: AnimationStateType, action: AnimationAction): AnimationStateType;
23
+ export {};
@@ -0,0 +1,25 @@
1
+ "use client";
2
+ const initialAnimationState = {};
3
+ function animationReducer(state, action) {
4
+ switch (action.type) {
5
+ case "SET_ANIMATED":
6
+ return {
7
+ isAnimated: true,
8
+ start: action.payload.start,
9
+ end: action.payload.end
10
+ };
11
+ case "SET_SAVED":
12
+ return {
13
+ isAnimated: false,
14
+ savedKey: action.payload.savedKey
15
+ };
16
+ case "RESET":
17
+ return {};
18
+ default:
19
+ return state;
20
+ }
21
+ }
22
+ export {
23
+ animationReducer,
24
+ initialAnimationState
25
+ };
@@ -0,0 +1,38 @@
1
+ import type { ComponentPropsWithRef, ComponentRef, ReactElement } from 'react';
2
+ import type { DataAttributeProps, ExtendableComponentPropsWithRef } from '@koobiq/react-core';
3
+ import type { ButtonToggleProps } from './components';
4
+ export type ButtonToggleGroupKey = string | number;
5
+ export type ButtonToggleGroupBaseProps = {
6
+ /**
7
+ * Whether all items are disabled.
8
+ * @default false
9
+ */
10
+ isDisabled?: boolean;
11
+ /**
12
+ * If `true`, the button will take up the full width of its container.
13
+ * @default false
14
+ */
15
+ fullWidth?: boolean;
16
+ /** The contents of the collection. */
17
+ children?: Array<ReactElement<ButtonToggleProps>>;
18
+ /**
19
+ * If `true`, each item's width will be equal.
20
+ * @default false
21
+ */
22
+ hasEqualItemSize?: boolean;
23
+ /** The currently selected key in the collection (controlled). */
24
+ selectedKey?: ButtonToggleGroupKey;
25
+ /** The initial selected key in the collection (uncontrolled). */
26
+ defaultSelectedKey?: ButtonToggleGroupKey;
27
+ /** Handler that is called when the selection changes. */
28
+ onSelectionChange?: (key: ButtonToggleGroupKey) => void;
29
+ /** Unique identifier for testing purposes. */
30
+ 'data-testid'?: string | number;
31
+ /** The props used for each slot inside. */
32
+ slotProps?: {
33
+ thumb?: ComponentPropsWithRef<'div'> & DataAttributeProps;
34
+ container?: ComponentPropsWithRef<'div'> & DataAttributeProps;
35
+ };
36
+ };
37
+ export type ButtonToggleGroupProps = ExtendableComponentPropsWithRef<ButtonToggleGroupBaseProps, 'div'>;
38
+ export type ButtonToggleGroupRef = ComponentRef<'div'>;
@@ -0,0 +1,3 @@
1
+ import type { CSSProperties } from 'react';
2
+ export declare function getToggleButtonStyle(start?: [number, number], end?: [number, number]): CSSProperties;
3
+ export declare function getSelectedToggleButton(root: HTMLElement | null): HTMLElement | null;
@@ -0,0 +1,19 @@
1
+ function getToggleButtonStyle(start = [0, 0], end = [0, 0]) {
2
+ const [startX, startSize] = start;
3
+ const [endX, endSize] = end;
4
+ return {
5
+ "--thumb-inline-size-start": `${startSize}px`,
6
+ "--thumb-inline-size-end": `${endSize}px`,
7
+ "--thumb-transform-start": `translateX(${startX}px)`,
8
+ "--thumb-transform-end": `translateX(${endX}px)`
9
+ };
10
+ }
11
+ function getSelectedToggleButton(root) {
12
+ return root ? root.querySelector(
13
+ '[role="radio"][data-selected="true"] > span'
14
+ ) : null;
15
+ }
16
+ export {
17
+ getSelectedToggleButton,
18
+ getToggleButtonStyle
19
+ };
@@ -0,0 +1,2 @@
1
+ import type { CalendarComponent } from './types';
2
+ export declare const Calendar: CalendarComponent;
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from "react";
4
+ import { useLocale, createCalendar, mergeProps, clsx } from "@koobiq/react-core";
5
+ import { useCalendarState, useCalendar } from "@koobiq/react-primitives";
6
+ import { utilClasses } from "../../styles/utility.js";
7
+ import s from "./Calendar.module.css.js";
8
+ import { CalendarHeader } from "./components/CalendarHeader/CalendarHeader.js";
9
+ import { CalendarGrid } from "./components/CalendarGrid/CalendarGrid.js";
10
+ const textNormal = utilClasses.typography["text-normal"];
11
+ function CalendarRender(props, ref) {
12
+ const { style, className } = props;
13
+ const { locale } = useLocale();
14
+ const state = useCalendarState({
15
+ createCalendar,
16
+ ...props,
17
+ locale
18
+ });
19
+ const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(
20
+ props,
21
+ state
22
+ );
23
+ const rootProps = mergeProps(
24
+ { className: clsx(s.base, textNormal, className), style, ref },
25
+ calendarProps
26
+ );
27
+ return /* @__PURE__ */ jsxs("div", { ...rootProps, children: [
28
+ /* @__PURE__ */ jsx(
29
+ CalendarHeader,
30
+ {
31
+ state,
32
+ prevButtonProps,
33
+ nextButtonProps
34
+ }
35
+ ),
36
+ /* @__PURE__ */ jsx(CalendarGrid, { state })
37
+ ] });
38
+ }
39
+ const Calendar = forwardRef(CalendarRender);
40
+ export {
41
+ Calendar
42
+ };
@@ -0,0 +1,14 @@
1
+ const base = "kbq-calendar-fa3168";
2
+ const open = "kbq-calendar-open-e506bb";
3
+ const popover = "kbq-calendar-popover-a1d3d6";
4
+ const s = {
5
+ base,
6
+ open,
7
+ popover
8
+ };
9
+ export {
10
+ base,
11
+ s as default,
12
+ open,
13
+ popover
14
+ };
@@ -0,0 +1,7 @@
1
+ import type { CalendarState, AriaCalendarCellProps } from '@koobiq/react-primitives';
2
+ type CalendarCellProps = {
3
+ state: CalendarState;
4
+ date: AriaCalendarCellProps['date'];
5
+ };
6
+ export declare function CalendarCell({ state, date }: CalendarCellProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,51 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useRef } from "react";
4
+ import { today, useHover, useFocusRing, clsx, mergeProps } from "@koobiq/react-core";
5
+ import { useCalendarCell } from "@koobiq/react-primitives";
6
+ import { utilClasses } from "../../../../styles/utility.js";
7
+ import s from "./CalendarCell.module.css.js";
8
+ const textNormalMedium = utilClasses.typography["text-normal-medium"];
9
+ function CalendarCell({ state, date }) {
10
+ const ref = useRef(null);
11
+ const isToday = date.compare(today(state.timeZone)) === 0;
12
+ const {
13
+ cellProps,
14
+ isSelected,
15
+ isDisabled,
16
+ isInvalid,
17
+ isPressed,
18
+ buttonProps,
19
+ isUnavailable,
20
+ formattedDate,
21
+ isOutsideVisibleRange
22
+ } = useCalendarCell({ date }, state, ref);
23
+ const { hoverProps, isHovered } = useHover({
24
+ isDisabled: isDisabled || isUnavailable
25
+ });
26
+ const { focusProps, isFocusVisible } = useFocusRing({});
27
+ return /* @__PURE__ */ jsx("td", { ...cellProps, children: /* @__PURE__ */ jsx(
28
+ "div",
29
+ {
30
+ ...mergeProps(hoverProps, focusProps, buttonProps),
31
+ ref,
32
+ className: clsx(
33
+ s.base,
34
+ isToday && s.today,
35
+ isPressed && s.pressed,
36
+ isHovered && s.hovered,
37
+ isDisabled && s.disabled,
38
+ isSelected && s.selected,
39
+ isInvalid && s.invalid,
40
+ isUnavailable && s.unavailable,
41
+ isSelected && textNormalMedium,
42
+ isFocusVisible && s.focusVisible
43
+ ),
44
+ hidden: isOutsideVisibleRange,
45
+ children: formattedDate
46
+ }
47
+ ) });
48
+ }
49
+ export {
50
+ CalendarCell
51
+ };
@@ -0,0 +1,32 @@
1
+ const base = "kbq-calendarcell-dc4d6e";
2
+ const today = "kbq-calendarcell-today-04de99";
3
+ const hovered = "kbq-calendarcell-hovered-c94a4e";
4
+ const pressed = "kbq-calendarcell-pressed-a65ee0";
5
+ const focusVisible = "kbq-calendarcell-focusVisible-d92d99";
6
+ const selected = "kbq-calendarcell-selected-62a719";
7
+ const disabled = "kbq-calendarcell-disabled-a2a975";
8
+ const unavailable = "kbq-calendarcell-unavailable-a606f4";
9
+ const invalid = "kbq-calendarcell-invalid-02611e";
10
+ const s = {
11
+ base,
12
+ today,
13
+ hovered,
14
+ pressed,
15
+ focusVisible,
16
+ selected,
17
+ disabled,
18
+ unavailable,
19
+ invalid
20
+ };
21
+ export {
22
+ base,
23
+ s as default,
24
+ disabled,
25
+ focusVisible,
26
+ hovered,
27
+ invalid,
28
+ pressed,
29
+ selected,
30
+ today,
31
+ unavailable
32
+ };
@@ -0,0 +1 @@
1
+ export * from './CalendarCell';
@@ -0,0 +1,6 @@
1
+ import { type CalendarState, type AriaCalendarGridProps } from '@koobiq/react-primitives';
2
+ type CalendarGridProps = {
3
+ state: CalendarState;
4
+ } & AriaCalendarGridProps;
5
+ export declare function CalendarGrid({ state, ...props }: CalendarGridProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
+ import { useLocale, getWeeksInMonth, clsx } from "@koobiq/react-core";
4
+ import { useCalendarGrid } from "@koobiq/react-primitives";
5
+ import { utilClasses } from "../../../../styles/utility.js";
6
+ import s from "./CalendarGrid.module.css.js";
7
+ import { CalendarCell } from "../CalendarCell/CalendarCell.js";
8
+ const textNormal = utilClasses.typography["text-normal"];
9
+ function CalendarGrid({ state, ...props }) {
10
+ const { locale } = useLocale();
11
+ const { gridProps, headerProps, weekDays } = useCalendarGrid(
12
+ { ...props, weekdayStyle: "short" },
13
+ state
14
+ );
15
+ const weeksInMonth = getWeeksInMonth(state.visibleRange.start, locale);
16
+ return /* @__PURE__ */ jsxs("table", { ...gridProps, className: clsx(s.base, textNormal), children: [
17
+ /* @__PURE__ */ jsxs("thead", { ...headerProps, children: [
18
+ /* @__PURE__ */ jsx("tr", { children: weekDays.map((day, i) => /* @__PURE__ */ jsx("th", { className: clsx(s.weekDay, textNormal), children: day }, i)) }),
19
+ /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("th", { colSpan: 7, className: s.divider }) })
20
+ ] }),
21
+ /* @__PURE__ */ jsx("tbody", { children: [...new Array(weeksInMonth).keys()].map((weekIndex) => /* @__PURE__ */ jsx("tr", { children: state.getDatesInWeek(weekIndex).map(
22
+ (date, i) => date ? /* @__PURE__ */ jsx(CalendarCell, { state, date }, i) : /* @__PURE__ */ jsx("td", {}, i)
23
+ ) }, weekIndex)) })
24
+ ] });
25
+ }
26
+ export {
27
+ CalendarGrid
28
+ };
@@ -0,0 +1,14 @@
1
+ const base = "kbq-calendargrid-1a43cf";
2
+ const weekDay = "kbq-calendargrid-weekDay-94b083";
3
+ const divider = "kbq-calendargrid-divider-3ec061";
4
+ const s = {
5
+ base,
6
+ weekDay,
7
+ divider
8
+ };
9
+ export {
10
+ base,
11
+ s as default,
12
+ divider,
13
+ weekDay
14
+ };
@@ -0,0 +1 @@
1
+ export * from './CalendarGrid';