@koobiq/react-components 0.0.1-beta.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 (291) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +43 -0
  3. package/dist/components/Alert/Alert.d.ts +4 -0
  4. package/dist/components/Alert/Alert.js +78 -0
  5. package/dist/components/Alert/Alert.module.css.js +41 -0
  6. package/dist/components/Alert/components/AlertIcon/AlertIcon.d.ts +2 -0
  7. package/dist/components/Alert/components/AlertIcon/AlertIcon.js +19 -0
  8. package/dist/components/Alert/components/AlertIcon/AlertIcon.module.css.js +23 -0
  9. package/dist/components/Alert/components/AlertIcon/index.d.ts +1 -0
  10. package/dist/components/Alert/components/AlertIcon/types.d.ts +2 -0
  11. package/dist/components/Alert/components/AlertIcon/utils.d.ts +14 -0
  12. package/dist/components/Alert/components/AlertIcon/utils.js +23 -0
  13. package/dist/components/Alert/components/index.d.ts +1 -0
  14. package/dist/components/Alert/index.d.ts +2 -0
  15. package/dist/components/Alert/intl.json.js +11 -0
  16. package/dist/components/Alert/types.d.ts +43 -0
  17. package/dist/components/Alert/types.js +4 -0
  18. package/dist/components/Backdrop/Backdrop.d.ts +4 -0
  19. package/dist/components/Backdrop/Backdrop.js +52 -0
  20. package/dist/components/Backdrop/Backdrop.module.css.js +8 -0
  21. package/dist/components/Backdrop/index.d.ts +2 -0
  22. package/dist/components/Backdrop/types.d.ts +16 -0
  23. package/dist/components/Badge/Badge.d.ts +4 -0
  24. package/dist/components/Badge/Badge.js +32 -0
  25. package/dist/components/Badge/Badge.module.css.js +42 -0
  26. package/dist/components/Badge/index.d.ts +2 -0
  27. package/dist/components/Badge/types.d.ts +20 -0
  28. package/dist/components/Badge/types.js +22 -0
  29. package/dist/components/Button/Button.d.ts +4 -0
  30. package/dist/components/Button/Button.js +66 -0
  31. package/dist/components/Button/Button.module.css.js +44 -0
  32. package/dist/components/Button/index.d.ts +2 -0
  33. package/dist/components/Button/types.d.ts +47 -0
  34. package/dist/components/Button/types.js +11 -0
  35. package/dist/components/Checkbox/Checkbox.d.ts +19 -0
  36. package/dist/components/Checkbox/Checkbox.js +64 -0
  37. package/dist/components/Checkbox/Checkbox.module.css.js +41 -0
  38. package/dist/components/Checkbox/index.d.ts +2 -0
  39. package/dist/components/Checkbox/types.d.ts +27 -0
  40. package/dist/components/Checkbox/types.js +6 -0
  41. package/dist/components/Container/Container.d.ts +4 -0
  42. package/dist/components/Container/Container.js +45 -0
  43. package/dist/components/Container/Container.module.css.js +8 -0
  44. package/dist/components/Container/index.d.ts +2 -0
  45. package/dist/components/Container/types.d.ts +32 -0
  46. package/dist/components/Container/types.js +21 -0
  47. package/dist/components/Container/utils.d.ts +4 -0
  48. package/dist/components/Container/utils.js +19 -0
  49. package/dist/components/Dialog/Dialog.d.ts +2 -0
  50. package/dist/components/Dialog/Dialog.js +67 -0
  51. package/dist/components/Dialog/Dialog.module.css.js +23 -0
  52. package/dist/components/Dialog/DialogContext.d.ts +9 -0
  53. package/dist/components/Dialog/DialogContext.js +12 -0
  54. package/dist/components/Dialog/components/DialogCloseButton.d.ts +9 -0
  55. package/dist/components/Dialog/components/DialogCloseButton.js +30 -0
  56. package/dist/components/Dialog/components/DialogContent.d.ts +12 -0
  57. package/dist/components/Dialog/components/DialogContent.js +30 -0
  58. package/dist/components/Dialog/components/DialogFooter.d.ts +12 -0
  59. package/dist/components/Dialog/components/DialogFooter.js +12 -0
  60. package/dist/components/Dialog/components/DialoglHeader.d.ts +12 -0
  61. package/dist/components/Dialog/components/DialoglHeader.js +21 -0
  62. package/dist/components/Dialog/components/index.d.ts +4 -0
  63. package/dist/components/Dialog/index.d.ts +4 -0
  64. package/dist/components/Dialog/intl.json.js +11 -0
  65. package/dist/components/Dialog/types.d.ts +26 -0
  66. package/dist/components/FieldComponents/FieldAddon/FieldAddon.d.ts +10 -0
  67. package/dist/components/FieldComponents/FieldAddon/FieldAddon.js +19 -0
  68. package/dist/components/FieldComponents/FieldAddon/FieldAddon.module.css.js +17 -0
  69. package/dist/components/FieldComponents/FieldAddon/index.d.ts +1 -0
  70. package/dist/components/FieldComponents/FieldCaption/FieldCaption.d.ts +8 -0
  71. package/dist/components/FieldComponents/FieldCaption/FieldCaption.js +21 -0
  72. package/dist/components/FieldComponents/FieldCaption/FieldCaption.module.css.js +8 -0
  73. package/dist/components/FieldComponents/FieldCaption/index.d.ts +1 -0
  74. package/dist/components/FieldComponents/FieldControl/FieldControl.d.ts +10 -0
  75. package/dist/components/FieldComponents/FieldControl/FieldControl.js +20 -0
  76. package/dist/components/FieldComponents/FieldControl/FieldControl.module.css.js +11 -0
  77. package/dist/components/FieldComponents/FieldControl/index.d.ts +1 -0
  78. package/dist/components/FieldComponents/FieldError/FieldError.d.ts +6 -0
  79. package/dist/components/FieldComponents/FieldError/FieldError.js +21 -0
  80. package/dist/components/FieldComponents/FieldError/FieldError.module.css.js +8 -0
  81. package/dist/components/FieldComponents/FieldError/index.d.ts +1 -0
  82. package/dist/components/FieldComponents/FieldInput/FieldInput.d.ts +12 -0
  83. package/dist/components/FieldComponents/FieldInput/FieldInput.js +34 -0
  84. package/dist/components/FieldComponents/FieldInput/FieldInput.module.css.js +20 -0
  85. package/dist/components/FieldComponents/FieldInput/index.d.ts +1 -0
  86. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.d.ts +11 -0
  87. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.js +41 -0
  88. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.module.css.js +14 -0
  89. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroupContext.d.ts +8 -0
  90. package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroupContext.js +7 -0
  91. package/dist/components/FieldComponents/FieldInputGroup/index.d.ts +2 -0
  92. package/dist/components/FieldComponents/FieldLabel/FieldLabel.d.ts +9 -0
  93. package/dist/components/FieldComponents/FieldLabel/FieldLabel.js +24 -0
  94. package/dist/components/FieldComponents/FieldLabel/FieldLabel.module.css.js +14 -0
  95. package/dist/components/FieldComponents/FieldLabel/index.d.ts +1 -0
  96. package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.d.ts +10 -0
  97. package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.js +18 -0
  98. package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.module.css.js +11 -0
  99. package/dist/components/FieldComponents/FieldNumberControl/index.d.ts +1 -0
  100. package/dist/components/FieldComponents/index.d.ts +8 -0
  101. package/dist/components/FormControlLabel/FormControlLabel.d.ts +2 -0
  102. package/dist/components/FormControlLabel/index.d.ts +2 -0
  103. package/dist/components/FormControlLabel/types.d.ts +32 -0
  104. package/dist/components/Grid/Grid.d.ts +4 -0
  105. package/dist/components/Grid/Grid.js +52 -0
  106. package/dist/components/Grid/Grid.module.css.js +8 -0
  107. package/dist/components/Grid/components/GridItem/GridItem.d.ts +4 -0
  108. package/dist/components/Grid/components/GridItem/GridItem.js +52 -0
  109. package/dist/components/Grid/components/GridItem/GridItem.module.css.js +8 -0
  110. package/dist/components/Grid/components/GridItem/index.d.ts +2 -0
  111. package/dist/components/Grid/components/GridItem/types.d.ts +22 -0
  112. package/dist/components/Grid/components/index.d.ts +1 -0
  113. package/dist/components/Grid/index.d.ts +3 -0
  114. package/dist/components/Grid/types.d.ts +30 -0
  115. package/dist/components/Grid/types.js +19 -0
  116. package/dist/components/Grid/utils.d.ts +2 -0
  117. package/dist/components/Grid/utils.js +8 -0
  118. package/dist/components/IconButton/IconButton.d.ts +4 -0
  119. package/dist/components/IconButton/IconButton.js +51 -0
  120. package/dist/components/IconButton/IconButton.module.css.js +43 -0
  121. package/dist/components/IconButton/index.d.ts +2 -0
  122. package/dist/components/IconButton/types.d.ts +36 -0
  123. package/dist/components/IconButton/types.js +13 -0
  124. package/dist/components/Input/Input.d.ts +22 -0
  125. package/dist/components/Input/Input.js +70 -0
  126. package/dist/components/Input/components/FieldAddon/FieldAddon.d.ts +10 -0
  127. package/dist/components/Input/components/FieldAddon/index.d.ts +1 -0
  128. package/dist/components/Input/components/FieldCaption/FieldCaption.d.ts +6 -0
  129. package/dist/components/Input/components/FieldCaption/index.d.ts +1 -0
  130. package/dist/components/Input/components/FieldControl/FieldControl.d.ts +9 -0
  131. package/dist/components/Input/components/FieldControl/index.d.ts +1 -0
  132. package/dist/components/Input/components/FieldError/FieldError.d.ts +7 -0
  133. package/dist/components/Input/components/FieldError/index.d.ts +1 -0
  134. package/dist/components/Input/components/FieldInput/FieldInput.d.ts +9 -0
  135. package/dist/components/Input/components/FieldInput/index.d.ts +1 -0
  136. package/dist/components/Input/components/FieldInputGroup/FieldInputGroup.d.ts +7 -0
  137. package/dist/components/Input/components/FieldInputGroup/index.d.ts +1 -0
  138. package/dist/components/Input/components/FieldLabel/FieldLabel.d.ts +9 -0
  139. package/dist/components/Input/components/FieldLabel/index.d.ts +1 -0
  140. package/dist/components/Input/components/index.d.ts +7 -0
  141. package/dist/components/Input/index.d.ts +2 -0
  142. package/dist/components/Input/types.d.ts +62 -0
  143. package/dist/components/Input/types.js +4 -0
  144. package/dist/components/InputNumber/InputNumber.d.ts +22 -0
  145. package/dist/components/InputNumber/InputNumber.js +72 -0
  146. package/dist/components/InputNumber/components/InputNumberCounterControls.d.ts +1 -0
  147. package/dist/components/InputNumber/components/InputNumberCounterControls.js +37 -0
  148. package/dist/components/InputNumber/components/InputNumberCounterControls.module.css.js +14 -0
  149. package/dist/components/InputNumber/components/index.d.ts +1 -0
  150. package/dist/components/InputNumber/index.d.ts +2 -0
  151. package/dist/components/InputNumber/types.d.ts +62 -0
  152. package/dist/components/InputNumber/types.js +4 -0
  153. package/dist/components/Link/Link.d.ts +4 -0
  154. package/dist/components/Link/Link.js +54 -0
  155. package/dist/components/Link/Link.module.css.js +32 -0
  156. package/dist/components/Link/index.d.ts +2 -0
  157. package/dist/components/Link/types.d.ts +25 -0
  158. package/dist/components/Modal/Modal.d.ts +2 -0
  159. package/dist/components/Modal/Modal.js +121 -0
  160. package/dist/components/Modal/Modal.module.css.js +20 -0
  161. package/dist/components/Modal/index.d.ts +4 -0
  162. package/dist/components/Modal/types.d.ts +68 -0
  163. package/dist/components/Modal/types.js +4 -0
  164. package/dist/components/Popover/Popover.d.ts +2 -0
  165. package/dist/components/Popover/Popover.js +147 -0
  166. package/dist/components/Popover/Popover.module.css.js +17 -0
  167. package/dist/components/Popover/index.d.ts +4 -0
  168. package/dist/components/Popover/types.d.ts +97 -0
  169. package/dist/components/Popover/types.js +19 -0
  170. package/dist/components/Popover/utils.d.ts +2 -0
  171. package/dist/components/Popover/utils.js +11 -0
  172. package/dist/components/ProgressBar/ProgressBar.d.ts +2 -0
  173. package/dist/components/ProgressBar/ProgressBar.js +57 -0
  174. package/dist/components/ProgressBar/ProgressBar.module.css.js +15 -0
  175. package/dist/components/ProgressBar/index.d.ts +2 -0
  176. package/dist/components/ProgressBar/types.d.ts +34 -0
  177. package/dist/components/ProgressBar/types.js +4 -0
  178. package/dist/components/ProgressSpinner/ProgressSpinner.d.ts +2 -0
  179. package/dist/components/ProgressSpinner/ProgressSpinner.js +68 -0
  180. package/dist/components/ProgressSpinner/ProgressSpinner.module.css.js +18 -0
  181. package/dist/components/ProgressSpinner/index.d.ts +2 -0
  182. package/dist/components/ProgressSpinner/types.d.ts +41 -0
  183. package/dist/components/ProgressSpinner/types.js +9 -0
  184. package/dist/components/ProgressSpinner/utils.d.ts +2 -0
  185. package/dist/components/ProgressSpinner/utils.js +18 -0
  186. package/dist/components/Provider/BreakpointsContext.d.ts +5 -0
  187. package/dist/components/Provider/BreakpointsContext.js +17 -0
  188. package/dist/components/Provider/BreakpointsProvider.d.ts +10 -0
  189. package/dist/components/Provider/BreakpointsProvider.js +15 -0
  190. package/dist/components/Provider/Provider.d.ts +6 -0
  191. package/dist/components/Provider/Provider.js +29 -0
  192. package/dist/components/Provider/ProviderContext.d.ts +3 -0
  193. package/dist/components/Provider/ProviderContext.js +12 -0
  194. package/dist/components/Provider/index.d.ts +5 -0
  195. package/dist/components/Provider/types.d.ts +16 -0
  196. package/dist/components/Provider/utils/index.d.ts +1 -0
  197. package/dist/components/Provider/utils/useBreakpoints.d.ts +2 -0
  198. package/dist/components/Provider/utils/useBreakpoints.js +15 -0
  199. package/dist/components/Provider/utils/useMatchedBreakpoints.d.ts +2 -0
  200. package/dist/components/RadioGroup/RadioContext.d.ts +6 -0
  201. package/dist/components/RadioGroup/RadioContext.js +9 -0
  202. package/dist/components/RadioGroup/RadioGroup.d.ts +2 -0
  203. package/dist/components/RadioGroup/RadioGroup.js +35 -0
  204. package/dist/components/RadioGroup/components/Radio/Radio.d.ts +12 -0
  205. package/dist/components/RadioGroup/components/Radio/Radio.js +44 -0
  206. package/dist/components/RadioGroup/components/Radio/Radio.module.css.js +38 -0
  207. package/dist/components/RadioGroup/components/Radio/index.d.ts +2 -0
  208. package/dist/components/RadioGroup/components/Radio/types.d.ts +27 -0
  209. package/dist/components/RadioGroup/components/Radio/types.js +6 -0
  210. package/dist/components/RadioGroup/components/RadioGroupDescription/RadioGroupDescription.d.ts +7 -0
  211. package/dist/components/RadioGroup/components/RadioGroupDescription/RadioGroupDescription.js +21 -0
  212. package/dist/components/RadioGroup/components/RadioGroupDescription/index.d.ts +1 -0
  213. package/dist/components/RadioGroup/components/RadioGroupLabel/RadioGroupLabel.d.ts +6 -0
  214. package/dist/components/RadioGroup/components/RadioGroupLabel/RadioGroupLabel.js +14 -0
  215. package/dist/components/RadioGroup/components/RadioGroupLabel/index.d.ts +1 -0
  216. package/dist/components/RadioGroup/components/index.d.ts +3 -0
  217. package/dist/components/RadioGroup/index.d.ts +4 -0
  218. package/dist/components/RadioGroup/types.d.ts +37 -0
  219. package/dist/components/RadioGroup/types.js +6 -0
  220. package/dist/components/SidePanel/SidePanel.d.ts +2 -0
  221. package/dist/components/SidePanel/SidePanel.js +125 -0
  222. package/dist/components/SidePanel/SidePanel.module.css.js +26 -0
  223. package/dist/components/SidePanel/index.d.ts +4 -0
  224. package/dist/components/SidePanel/types.d.ts +75 -0
  225. package/dist/components/SidePanel/types.js +6 -0
  226. package/dist/components/SkeletonBlock/SkeletonBlock.d.ts +2 -0
  227. package/dist/components/SkeletonBlock/SkeletonBlock.js +37 -0
  228. package/dist/components/SkeletonBlock/SkeletonBlock.module.css.js +12 -0
  229. package/dist/components/SkeletonBlock/index.d.ts +2 -0
  230. package/dist/components/SkeletonBlock/types.d.ts +18 -0
  231. package/dist/components/SkeletonBlock/utils.d.ts +2 -0
  232. package/dist/components/SkeletonBlock/utils.js +8 -0
  233. package/dist/components/SkeletonTypography/SkeletonTypography.d.ts +2 -0
  234. package/dist/components/SkeletonTypography/SkeletonTypography.js +44 -0
  235. package/dist/components/SkeletonTypography/SkeletonTypography.module.css.js +14 -0
  236. package/dist/components/SkeletonTypography/index.d.ts +2 -0
  237. package/dist/components/SkeletonTypography/types.d.ts +25 -0
  238. package/dist/components/SkeletonTypography/utils.d.ts +2 -0
  239. package/dist/components/SkeletonTypography/utils.js +18 -0
  240. package/dist/components/Textarea/Textarea.d.ts +21 -0
  241. package/dist/components/Textarea/Textarea.js +51 -0
  242. package/dist/components/Textarea/Textarea.module.css.js +7 -0
  243. package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.d.ts +6 -0
  244. package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.js +58 -0
  245. package/dist/components/Textarea/components/TextareaContextConsumer/index.d.ts +1 -0
  246. package/dist/components/Textarea/components/index.d.ts +1 -0
  247. package/dist/components/Textarea/index.d.ts +2 -0
  248. package/dist/components/Textarea/types.d.ts +67 -0
  249. package/dist/components/Textarea/types.js +6 -0
  250. package/dist/components/Textarea/utils/index.d.ts +1 -0
  251. package/dist/components/Textarea/utils/useTextareaAutosize.d.ts +2 -0
  252. package/dist/components/Textarea/utils/useTextareaAutosize.js +15 -0
  253. package/dist/components/Toggle/Toggle.d.ts +16 -0
  254. package/dist/components/Toggle/Toggle.js +42 -0
  255. package/dist/components/Toggle/Toggle.module.css.js +38 -0
  256. package/dist/components/Toggle/index.d.ts +2 -0
  257. package/dist/components/Toggle/types.d.ts +25 -0
  258. package/dist/components/Toggle/types.js +6 -0
  259. package/dist/components/Tooltip/Tooltip.d.ts +20 -0
  260. package/dist/components/Tooltip/Tooltip.js +119 -0
  261. package/dist/components/Tooltip/Tooltip.module.css.js +30 -0
  262. package/dist/components/Tooltip/index.d.ts +2 -0
  263. package/dist/components/Tooltip/types.d.ts +81 -0
  264. package/dist/components/Tooltip/types.js +25 -0
  265. package/dist/components/Typography/Typography.d.ts +4 -0
  266. package/dist/components/Typography/Typography.js +46 -0
  267. package/dist/components/Typography/Typography.module.css.js +23 -0
  268. package/dist/components/Typography/index.d.ts +2 -0
  269. package/dist/components/Typography/types.d.ts +31 -0
  270. package/dist/components/Typography/types.js +84 -0
  271. package/dist/components/index.d.ts +24 -0
  272. package/dist/components/layout/flex/flex.d.ts +25 -0
  273. package/dist/components/layout/flex/flex.js +74 -0
  274. package/dist/components/layout/flex/flex.module.css.js +92 -0
  275. package/dist/components/layout/flex/index.d.ts +1 -0
  276. package/dist/components/layout/index.d.ts +2 -0
  277. package/dist/components/layout/spacing/index.d.ts +1 -0
  278. package/dist/components/layout/spacing/spacing.d.ts +33 -0
  279. package/dist/components/layout/spacing/spacing.js +44 -0
  280. package/dist/components/layout/spacing/spacing.module.css.js +365 -0
  281. package/dist/index.d.ts +2 -0
  282. package/dist/index.js +152 -0
  283. package/dist/style.css +3329 -0
  284. package/dist/styles/utility.d.ts +71 -0
  285. package/dist/styles/utility.js +77 -0
  286. package/dist/styles/utility.module.css.js +76 -0
  287. package/dist/utils/getResponsiveValue/getResponsiveValue.d.ts +3 -0
  288. package/dist/utils/getResponsiveValue/getResponsiveValue.js +18 -0
  289. package/dist/utils/getResponsiveValue/index.d.ts +1 -0
  290. package/dist/utils/index.d.ts +1 -0
  291. package/package.json +42 -0
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { I18nProvider } from "@koobiq/react-primitives";
4
+ import { BreakpointsProvider } from "./BreakpointsProvider.js";
5
+ import { ProviderContext } from "./ProviderContext.js";
6
+ const defaultBreakpoints = {
7
+ xs: 0,
8
+ // (min-width: 0px)
9
+ s: 480,
10
+ // (min-width: 480px)
11
+ m: 768,
12
+ // (min-width: 768px)
13
+ l: 1024,
14
+ // (min-width: 1024px)
15
+ xl: 1280,
16
+ // (min-width: 1280px)
17
+ xxl: 1536
18
+ // (min-width: 1536px)
19
+ };
20
+ const Provider = ({
21
+ breakpoints = defaultBreakpoints,
22
+ children,
23
+ locale
24
+ }) => /* @__PURE__ */ jsx(ProviderContext.Provider, { value: { breakpoints, locale }, children: /* @__PURE__ */ jsx(I18nProvider, { locale, children: /* @__PURE__ */ jsx(BreakpointsProvider, { breakpoints, children }) }) });
25
+ Provider.displayName = "Provider";
26
+ export {
27
+ Provider,
28
+ defaultBreakpoints
29
+ };
@@ -0,0 +1,3 @@
1
+ import type { ProviderProps } from './types';
2
+ export declare const ProviderContext: import("react").Context<ProviderProps>;
3
+ export declare function useProvider(): ProviderProps;
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import { createContext, useContext } from "react";
3
+ const ProviderContext = createContext(
4
+ {}
5
+ );
6
+ function useProvider() {
7
+ return useContext(ProviderContext);
8
+ }
9
+ export {
10
+ ProviderContext,
11
+ useProvider
12
+ };
@@ -0,0 +1,5 @@
1
+ export * from './Provider';
2
+ export * from './BreakpointsProvider';
3
+ export * from './ProviderContext';
4
+ export * from './BreakpointsContext';
5
+ export * from './types';
@@ -0,0 +1,16 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { I18nProviderProps } from '@koobiq/react-primitives';
3
+ export type Breakpoints = {
4
+ xs?: number;
5
+ s?: number;
6
+ m?: number;
7
+ l?: number;
8
+ xl?: number;
9
+ xxl?: number;
10
+ [custom: string]: number | undefined;
11
+ };
12
+ export type ProviderProps = {
13
+ children?: ReactNode;
14
+ breakpoints?: Breakpoints;
15
+ locale?: I18nProviderProps['locale'];
16
+ };
@@ -0,0 +1 @@
1
+ export * from './useBreakpoints';
@@ -0,0 +1,2 @@
1
+ import type { Breakpoints } from '../types';
2
+ export declare function useBreakpoints(breakpoints: Breakpoints): {};
@@ -0,0 +1,15 @@
1
+ "use client";
2
+ import { useMediaQuery } from "@koobiq/react-core";
3
+ function useBreakpoints(breakpoints) {
4
+ const queries = Object.values(breakpoints).map(
5
+ (width) => `(min-width: ${width}px)`
6
+ );
7
+ const matches = useMediaQuery(queries);
8
+ return Object.keys(breakpoints).reduce(
9
+ (acc, item, index) => ({ ...acc, [item]: matches[index] }),
10
+ {}
11
+ );
12
+ }
13
+ export {
14
+ useBreakpoints
15
+ };
@@ -0,0 +1,2 @@
1
+ import type { Breakpoints } from '../types';
2
+ export declare function useMatchedBreakpoints(breakpoints: Breakpoints): {};
@@ -0,0 +1,6 @@
1
+ import type { RadioGroupPropSize } from './index';
2
+ export type RadioGroupContextProps = {
3
+ size?: RadioGroupPropSize;
4
+ };
5
+ export declare const RadioGroupContext: import("react").Context<RadioGroupContextProps>;
6
+ export declare const useRadioGroupState: () => RadioGroupContextProps;
@@ -0,0 +1,9 @@
1
+ import { createContext, useContext } from "react";
2
+ const RadioGroupContext = createContext(
3
+ {}
4
+ );
5
+ const useRadioGroupState = () => useContext(RadioGroupContext);
6
+ export {
7
+ RadioGroupContext,
8
+ useRadioGroupState
9
+ };
@@ -0,0 +1,2 @@
1
+ import type { RadioGroupProps } from './index';
2
+ export declare const RadioGroup: import("react").ForwardRefExoticComponent<Omit<RadioGroupProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,35 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { mergeProps, clsx } from "@koobiq/react-core";
4
+ import { RadioGroup as RadioGroup$1 } from "@koobiq/react-primitives";
5
+ import { flex } from "../layout/flex/flex.js";
6
+ import { RadioGroupLabel } from "./components/RadioGroupLabel/RadioGroupLabel.js";
7
+ import { RadioGroupContext } from "./RadioContext.js";
8
+ import { RadioGroupDescription } from "./components/RadioGroupDescription/RadioGroupDescription.js";
9
+ const RadioGroup = forwardRef(
10
+ (props, ref) => {
11
+ const { size, label, children, slotProps, description, orientation } = props;
12
+ const commonRootProps = mergeProps(
13
+ props,
14
+ {
15
+ className: clsx(
16
+ flex({
17
+ direction: orientation === "horizontal" ? "row" : "column",
18
+ alignItems: orientation === "horizontal" ? "center" : "flex-start",
19
+ gap: "m"
20
+ })
21
+ )
22
+ },
23
+ slotProps?.root
24
+ );
25
+ return /* @__PURE__ */ jsxs(RadioGroup$1, { ...commonRootProps, ref, children: [
26
+ /* @__PURE__ */ jsx(RadioGroupLabel, { ...slotProps?.label, children: label }),
27
+ /* @__PURE__ */ jsx(RadioGroupContext.Provider, { value: { size }, children }),
28
+ /* @__PURE__ */ jsx(RadioGroupDescription, { ...slotProps?.description, children: description })
29
+ ] });
30
+ }
31
+ );
32
+ RadioGroup.displayName = "RadioGroup";
33
+ export {
34
+ RadioGroup
35
+ };
@@ -0,0 +1,12 @@
1
+ export declare const Radio: import("react").ForwardRefExoticComponent<Omit<Omit<import("@react-types/radio").AriaRadioProps, "isDisabled">, "disabled"> & {
2
+ disabled?: boolean;
3
+ } & {
4
+ caption?: string;
5
+ size?: import("./types").RadioPropSize;
6
+ labelPlacement?: import("./types").RadioPropLabelPlacement;
7
+ className?: string;
8
+ slotProps?: {
9
+ circle?: import("react").ComponentPropsWithRef<"span">;
10
+ label?: import("react").ComponentPropsWithRef<"span">;
11
+ };
12
+ } & import("react").RefAttributes<HTMLLabelElement>>;
@@ -0,0 +1,44 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { clsx, mergeProps, isNotNil } from "@koobiq/react-core";
4
+ import { Radio as Radio$1 } from "@koobiq/react-primitives";
5
+ import s from "./Radio.module.css.js";
6
+ import { useRadioGroupState } from "../../RadioContext.js";
7
+ const Radio = forwardRef(
8
+ (props, ref) => {
9
+ const {
10
+ labelPlacement = "end",
11
+ size: sizeProp,
12
+ children,
13
+ slotProps,
14
+ className,
15
+ ...other
16
+ } = props;
17
+ const { size: sizeState } = useRadioGroupState();
18
+ const size = sizeProp || sizeState || "normal";
19
+ const commonProps = {
20
+ className: ({ error, checked, hovered, disabled, focusVisible }) => clsx(
21
+ s.base,
22
+ s[size],
23
+ error && s.error,
24
+ checked && s.checked,
25
+ hovered && s.hovered,
26
+ disabled && s.disabled,
27
+ s[labelPlacement],
28
+ focusVisible && s.focusVisible,
29
+ className
30
+ ),
31
+ ...other
32
+ };
33
+ const circleProps = mergeProps({ className: s.circle }, slotProps?.circle);
34
+ const labelProps = slotProps?.label;
35
+ return /* @__PURE__ */ jsxs(Radio$1, { ...commonProps, ref, children: [
36
+ /* @__PURE__ */ jsx("span", { ...circleProps }),
37
+ isNotNil(children) && /* @__PURE__ */ jsx("span", { ...labelProps, children })
38
+ ] });
39
+ }
40
+ );
41
+ Radio.displayName = "Radio";
42
+ export {
43
+ Radio
44
+ };
@@ -0,0 +1,38 @@
1
+ const base = "kbq-radio-c3ed31";
2
+ const circle = "kbq-radio-circle-a0903b";
3
+ const normal = "kbq-radio-normal-81ed3e";
4
+ const big = "kbq-radio-big-06db10";
5
+ const hovered = "kbq-radio-hovered-3999f1";
6
+ const checked = "kbq-radio-checked-a71e68";
7
+ const error = "kbq-radio-error-52bb9e";
8
+ const focusVisible = "kbq-radio-focusVisible-6613a5";
9
+ const disabled = "kbq-radio-disabled-d60f1e";
10
+ const start = "kbq-radio-start-e3dab7";
11
+ const end = "kbq-radio-end-8689f9";
12
+ const s = {
13
+ base,
14
+ circle,
15
+ normal,
16
+ big,
17
+ hovered,
18
+ checked,
19
+ error,
20
+ focusVisible,
21
+ disabled,
22
+ start,
23
+ end
24
+ };
25
+ export {
26
+ base,
27
+ big,
28
+ checked,
29
+ circle,
30
+ s as default,
31
+ disabled,
32
+ end,
33
+ error,
34
+ focusVisible,
35
+ hovered,
36
+ normal,
37
+ start
38
+ };
@@ -0,0 +1,2 @@
1
+ export * from './Radio';
2
+ export * from './types';
@@ -0,0 +1,27 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ import type { UseRadioProps } from '@koobiq/react-primitives';
3
+ export declare const radioPropSize: readonly ["normal", "big"];
4
+ export type RadioPropSize = (typeof radioPropSize)[number];
5
+ export declare const radioPropLabelPlacement: readonly ["start", "end"];
6
+ export type RadioPropLabelPlacement = (typeof radioPropLabelPlacement)[number];
7
+ export type RadioProps = UseRadioProps & {
8
+ /** The helper text content. */
9
+ caption?: string;
10
+ /**
11
+ * Size.
12
+ * @default normal
13
+ * */
14
+ size?: RadioPropSize;
15
+ /**
16
+ * The position of the label.
17
+ * @default end
18
+ * */
19
+ labelPlacement?: RadioPropLabelPlacement;
20
+ /** Additional CSS-classes. */
21
+ className?: string;
22
+ /** The props used for each slot inside. */
23
+ slotProps?: {
24
+ circle?: ComponentPropsWithRef<'span'>;
25
+ label?: ComponentPropsWithRef<'span'>;
26
+ };
27
+ };
@@ -0,0 +1,6 @@
1
+ const radioPropSize = ["normal", "big"];
2
+ const radioPropLabelPlacement = ["start", "end"];
3
+ export {
4
+ radioPropLabelPlacement,
5
+ radioPropSize
6
+ };
@@ -0,0 +1,7 @@
1
+ import { type TypographyProps } from '../../../Typography';
2
+ export type RadioGroupDescriptionProps = TypographyProps;
3
+ export declare const RadioGroupDescription: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & {
4
+ ref?: ((instance: HTMLParagraphElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLParagraphElement> | null | undefined;
5
+ }, "as" | keyof import("../../..").TypographyBaseProps> & import("../../..").TypographyBaseProps & {
6
+ as?: "p" | undefined;
7
+ }, "ref"> & import("react").RefAttributes<HTMLParagraphElement>>;
@@ -0,0 +1,21 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { isNotNil } from "@koobiq/react-core";
4
+ import { Typography } from "../../../Typography/Typography.js";
5
+ const RadioGroupDescription = forwardRef(
6
+ ({ children, ...other }, ref) => isNotNil(children) ? /* @__PURE__ */ jsx(
7
+ Typography,
8
+ {
9
+ variant: "text-compact",
10
+ slot: "description",
11
+ color: "contrast-secondary",
12
+ ...other,
13
+ ref,
14
+ children
15
+ }
16
+ ) : null
17
+ );
18
+ RadioGroupDescription.displayName = "RadioGroupDescription";
19
+ export {
20
+ RadioGroupDescription
21
+ };
@@ -0,0 +1 @@
1
+ export * from './RadioGroupDescription';
@@ -0,0 +1,6 @@
1
+ import type { ReactNode } from 'react';
2
+ import { type TypographyProps } from '../../../Typography';
3
+ export type RadioGroupLabelProps = TypographyProps<'span'> & {
4
+ children?: ReactNode;
5
+ };
6
+ export declare const RadioGroupLabel: import("react").ForwardRefExoticComponent<Omit<RadioGroupLabelProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
@@ -0,0 +1,14 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { isNotNil } from "@koobiq/react-core";
4
+ import { Label } from "@koobiq/react-primitives";
5
+ import { Typography } from "../../../Typography/Typography.js";
6
+ const RadioGroupLabelTypography = forwardRef((props, ref) => /* @__PURE__ */ jsx(Typography, { as: "span", ...props, ref }));
7
+ RadioGroupLabelTypography.displayName = "RadioGroupLabelTypography";
8
+ const RadioGroupLabel = forwardRef(
9
+ ({ children, ...other }, ref) => isNotNil(children) ? /* @__PURE__ */ jsx(Label, { as: RadioGroupLabelTypography, ...other, ref, children }) : null
10
+ );
11
+ RadioGroupLabel.displayName = "RadioGroupLabel";
12
+ export {
13
+ RadioGroupLabel
14
+ };
@@ -0,0 +1 @@
1
+ export * from './RadioGroupLabel';
@@ -0,0 +1,3 @@
1
+ export * from './Radio';
2
+ export * from './RadioGroupLabel';
3
+ export * from './RadioGroupDescription';
@@ -0,0 +1,4 @@
1
+ export * from './RadioGroup';
2
+ export * from './RadioContext';
3
+ export * from './components';
4
+ export * from './types';
@@ -0,0 +1,37 @@
1
+ import type { ComponentPropsWithRef, ReactNode } from 'react';
2
+ import type { ExtendableComponentPropsWithRef, ExtendableProps } from '@koobiq/react-core';
3
+ import type { UseRadioGroupProps } from '@koobiq/react-primitives';
4
+ import type { RadioGroupDescriptionProps, RadioGroupLabelProps } from './components';
5
+ export declare const radioGroupPropSize: readonly ["normal", "big"];
6
+ export type RadioGroupPropSize = (typeof radioGroupPropSize)[number];
7
+ export declare const radioGroupPropOrientation: readonly ["horizontal", "vertical"];
8
+ export type RadioGroupPropOrientation = (typeof radioGroupPropOrientation)[number];
9
+ export type RadioGroupBaseProps = ExtendableProps<{
10
+ /** Additional CSS-classes. */
11
+ className?: string;
12
+ /** The content of the component. */
13
+ children?: ReactNode;
14
+ /**
15
+ * Size.
16
+ * @default normal
17
+ * */
18
+ size?: RadioGroupPropSize;
19
+ /** Slots */
20
+ slotProps?: {
21
+ root?: ComponentPropsWithRef<'div'>;
22
+ description?: RadioGroupDescriptionProps;
23
+ label?: RadioGroupLabelProps;
24
+ };
25
+ /**
26
+ * The axis the Radio Button(s) should align with.
27
+ * @default 'vertical'
28
+ */
29
+ orientation?: RadioGroupPropOrientation;
30
+ /** The current value (controlled). */
31
+ value?: UseRadioGroupProps['value'];
32
+ /** The default value (uncontrolled). */
33
+ defaultValue?: UseRadioGroupProps['defaultValue'];
34
+ /** Handler that is called when the value changes. */
35
+ onChange?: UseRadioGroupProps['onChange'];
36
+ }, UseRadioGroupProps>;
37
+ export type RadioGroupProps = ExtendableComponentPropsWithRef<RadioGroupBaseProps, 'div'>;
@@ -0,0 +1,6 @@
1
+ const radioGroupPropSize = ["normal", "big"];
2
+ const radioGroupPropOrientation = ["horizontal", "vertical"];
3
+ export {
4
+ radioGroupPropOrientation,
5
+ radioGroupPropSize
6
+ };
@@ -0,0 +1,2 @@
1
+ import type { SidePanelProps } from './types';
2
+ export declare const SidePanel: import("react").ForwardRefExoticComponent<SidePanelProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,125 @@
1
+ "use client";
2
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
3
+ import { forwardRef, cloneElement, isValidElement } from "react";
4
+ import { useBoolean, useDOMRef, mergeProps, clsx } from "@koobiq/react-core";
5
+ import { useOverlayTriggerState, useOverlayTrigger, useModalOverlay, Overlay } from "@koobiq/react-primitives";
6
+ import { Transition } from "react-transition-group";
7
+ import s from "./SidePanel.module.css.js";
8
+ import { Backdrop } from "../Backdrop/Backdrop.js";
9
+ import { Dialog } from "../Dialog/Dialog.js";
10
+ const SidePanel = forwardRef(
11
+ (props, ref) => {
12
+ const {
13
+ hideCloseButton = false,
14
+ position = "left",
15
+ size = "medium",
16
+ disableExitOnEscapeKeyDown,
17
+ disableExitOnClickOutside,
18
+ disableFocusManagement,
19
+ portalContainer,
20
+ open: openProp,
21
+ hideBackdrop,
22
+ onOpenChange,
23
+ defaultOpen,
24
+ children,
25
+ control,
26
+ slotProps,
27
+ ...other
28
+ } = props;
29
+ const state = useOverlayTriggerState({
30
+ isOpen: openProp,
31
+ onOpenChange,
32
+ defaultOpen,
33
+ ...other
34
+ });
35
+ const { isOpen: openState, close } = state;
36
+ const [opened, { on, off }] = useBoolean(openState);
37
+ const modalRef = useDOMRef(null);
38
+ const containerRef = useDOMRef(ref);
39
+ const { triggerProps, overlayProps } = useOverlayTrigger(
40
+ { type: "dialog" },
41
+ { ...state, isOpen: openState }
42
+ );
43
+ const { modalProps: modalCommonProps, underlayProps } = useModalOverlay(
44
+ {
45
+ ...props,
46
+ isDismissable: !disableExitOnClickOutside,
47
+ isKeyboardDismissDisabled: disableExitOnEscapeKeyDown
48
+ },
49
+ { ...state, isOpen: opened },
50
+ modalRef
51
+ );
52
+ const resolvedChildren = () => {
53
+ if (typeof children === "function")
54
+ return cloneElement(children({ close }), overlayProps);
55
+ if (isValidElement(children)) return cloneElement(children, overlayProps);
56
+ return children;
57
+ };
58
+ const containerProps = mergeProps(
59
+ {
60
+ className: clsx(s.base, s[size], s[position]),
61
+ "data-size": size,
62
+ "data-position": position,
63
+ ref: containerRef
64
+ },
65
+ other
66
+ );
67
+ const backdropProps = mergeProps(
68
+ { open: openState && !hideBackdrop },
69
+ underlayProps,
70
+ slotProps?.backdrop
71
+ );
72
+ const dialogProps = mergeProps(
73
+ {
74
+ onClose: close,
75
+ role: "dialog",
76
+ hideCloseButton,
77
+ children: resolvedChildren()
78
+ },
79
+ slotProps?.dialog
80
+ );
81
+ const panelProps = mergeProps(
82
+ modalCommonProps,
83
+ {
84
+ className: s.panel,
85
+ ref: modalRef
86
+ },
87
+ slotProps?.panel
88
+ );
89
+ const { isDisabled, onPress, ...otherTriggerProps } = triggerProps;
90
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
91
+ control?.({
92
+ onClick: onPress,
93
+ disabled: isDisabled,
94
+ ...otherTriggerProps
95
+ }),
96
+ /* @__PURE__ */ jsx(
97
+ Transition,
98
+ {
99
+ onEnter: on,
100
+ timeout: 300,
101
+ onExited: off,
102
+ in: openState,
103
+ nodeRef: containerRef,
104
+ unmountOnExit: true,
105
+ appear: true,
106
+ children: (transition) => /* @__PURE__ */ jsx(
107
+ Overlay,
108
+ {
109
+ portalContainer,
110
+ disableFocusManagement,
111
+ children: /* @__PURE__ */ jsxs("div", { ...containerProps, "data-transition": transition, children: [
112
+ /* @__PURE__ */ jsx(Backdrop, { ...backdropProps }),
113
+ /* @__PURE__ */ jsx("div", { ...panelProps, children: /* @__PURE__ */ jsx(Dialog, { ...dialogProps }) })
114
+ ] })
115
+ }
116
+ )
117
+ }
118
+ )
119
+ ] });
120
+ }
121
+ );
122
+ SidePanel.displayName = "SidePanel";
123
+ export {
124
+ SidePanel
125
+ };
@@ -0,0 +1,26 @@
1
+ const base = "kbq-sidepanel-2aae74";
2
+ const small = "kbq-sidepanel-small-c39c6a";
3
+ const medium = "kbq-sidepanel-medium-64ac8f";
4
+ const large = "kbq-sidepanel-large-e885ab";
5
+ const left = "kbq-sidepanel-left-e8e188";
6
+ const right = "kbq-sidepanel-right-4fdda0";
7
+ const panel = "kbq-sidepanel-panel-4a4aa4";
8
+ const s = {
9
+ base,
10
+ small,
11
+ medium,
12
+ large,
13
+ left,
14
+ right,
15
+ panel
16
+ };
17
+ export {
18
+ base,
19
+ s as default,
20
+ large,
21
+ left,
22
+ medium,
23
+ panel,
24
+ right,
25
+ small
26
+ };
@@ -0,0 +1,4 @@
1
+ export * from './SidePanel';
2
+ export * from './types';
3
+ export { DialogHeader, DialogFooter, DialogContent } from '../Dialog';
4
+ export { DialogHeader as SidePanelHeader, DialogContent as SidePanelContent, DialogFooter as SidePanelFooter, } from '../Dialog';
@@ -0,0 +1,75 @@
1
+ import type { ComponentPropsWithRef, ComponentRef, ReactElement, ReactNode } from 'react';
2
+ import type { ButtonOptions } from '@koobiq/react-primitives';
3
+ import type { BackdropProps } from '../Backdrop';
4
+ import type { DialogProps } from '../Dialog';
5
+ export declare const sidePanelPropSize: readonly ["small", "medium", "large"];
6
+ export type SidePanelPropSize = (typeof sidePanelPropSize)[number];
7
+ export declare const sidePanelPropPosition: readonly ["left", "right"];
8
+ export type SidePanelPropPosition = (typeof sidePanelPropPosition)[number];
9
+ export type SidePanelPropContent = ReactNode | ((props: {
10
+ close(): void;
11
+ }) => ReactElement);
12
+ export type SidePanelPropControl = (props: ButtonOptions) => ReactElement;
13
+ export type SidePanelProps = {
14
+ /**
15
+ * Component width size.
16
+ * @default medium
17
+ * */
18
+ size?: SidePanelPropSize;
19
+ /**
20
+ * Side from which the side panel will appear.
21
+ * @default left
22
+ * */
23
+ position?: SidePanelPropPosition;
24
+ /** If `true`, the component is shown. */
25
+ open?: boolean;
26
+ /** The default open state. Use when the component is not controlled. */
27
+ defaultOpen?: boolean;
28
+ /** The content of the component. */
29
+ children?: SidePanelPropContent;
30
+ /** The render function of the control for displaying the modal window. */
31
+ control?: SidePanelPropControl;
32
+ /**
33
+ * If `true`, the close button isn't shown.
34
+ * @default false
35
+ * */
36
+ hideCloseButton?: boolean;
37
+ /** Handler that is called when the modal's open state changes. */
38
+ onOpenChange?: (open: boolean) => void;
39
+ /**
40
+ * The container element in which the component portal will be placed.
41
+ * @default document.body
42
+ */
43
+ portalContainer?: Element;
44
+ /**
45
+ * If `true`, the modal window won't close when clicked outside of it.
46
+ * @default false
47
+ */
48
+ disableExitOnClickOutside?: boolean;
49
+ /**
50
+ * If `true`, the modal window won't close when the ESC key is pressed.
51
+ * @default false
52
+ */
53
+ disableExitOnEscapeKeyDown?: boolean;
54
+ /**
55
+ * If `true`, the underlay (backdrop) under the modal window isn't shown.
56
+ * @default false
57
+ */
58
+ hideBackdrop?: boolean;
59
+ /** Additional CSS-classes. */
60
+ className?: string;
61
+ /** Unique identifier for testing purposes. */
62
+ 'data-testid'?: string | number;
63
+ /**
64
+ * If `true`, the focus trap in modal window is disabled.
65
+ * @default false
66
+ */
67
+ disableFocusManagement?: boolean;
68
+ /** The props used for each slot inside. */
69
+ slotProps?: {
70
+ dialog?: DialogProps;
71
+ backdrop?: BackdropProps;
72
+ panel?: ComponentPropsWithRef<'div'>;
73
+ };
74
+ };
75
+ export type SidePanelRef = ComponentRef<'div'>;
@@ -0,0 +1,6 @@
1
+ const sidePanelPropSize = ["small", "medium", "large"];
2
+ const sidePanelPropPosition = ["left", "right"];
3
+ export {
4
+ sidePanelPropPosition,
5
+ sidePanelPropSize
6
+ };