@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,22 @@
1
+ export declare const InputNumber: import("react").ForwardRefExoticComponent<Omit<Omit<import("@koobiq/react-primitives").UseNumberFieldProps, "inputElementType">, "caption" | "label" | "style" | "className" | "disabled" | "required" | "error" | "variant" | "slotProps" | "fullWidth" | "data-testid" | "errorMessage" | "startAddon" | "endAddon" | "hiddenLabel"> & {
2
+ label?: import("react").ReactNode;
3
+ className?: string;
4
+ startAddon?: import("react").ReactNode;
5
+ endAddon?: import("react").ReactNode;
6
+ variant?: import("./types").InputNumberPropVariant;
7
+ error?: boolean;
8
+ errorMessage?: string | number;
9
+ fullWidth?: boolean;
10
+ disabled?: boolean;
11
+ hiddenLabel?: boolean;
12
+ caption?: string | number;
13
+ required?: boolean;
14
+ style?: import("react").CSSProperties;
15
+ 'data-testid'?: string | number;
16
+ slotProps?: {
17
+ label?: import("../FieldComponents").FieldLabelProps;
18
+ input?: import("../FieldComponents").FieldInputProps;
19
+ caption?: import("../FieldComponents").FieldCaptionProps;
20
+ errorMessage?: import("../FieldComponents").FieldErrorProps;
21
+ };
22
+ } & import("react").RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,72 @@
1
+ "use client";
2
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
3
+ import { forwardRef } from "react";
4
+ import { useDOMRef, mergeProps } from "@koobiq/react-core";
5
+ import { FieldNumberControl } from "../FieldComponents/FieldNumberControl/FieldNumberControl.js";
6
+ import { InputNumberCounterControls } from "./components/InputNumberCounterControls.js";
7
+ import { FieldLabel } from "../FieldComponents/FieldLabel/FieldLabel.js";
8
+ import { FieldInputGroup } from "../FieldComponents/FieldInputGroup/FieldInputGroup.js";
9
+ import { FieldInput } from "../FieldComponents/FieldInput/FieldInput.js";
10
+ import { FieldCaption } from "../FieldComponents/FieldCaption/FieldCaption.js";
11
+ import { FieldError } from "../FieldComponents/FieldError/FieldError.js";
12
+ const InputNumber = forwardRef(
13
+ (props, ref) => {
14
+ const {
15
+ variant = "filled",
16
+ fullWidth = false,
17
+ hiddenLabel = false,
18
+ label,
19
+ startAddon,
20
+ endAddon,
21
+ errorMessage,
22
+ slotProps,
23
+ caption,
24
+ ...other
25
+ } = props;
26
+ const domRef = useDOMRef(ref);
27
+ const rootProps = mergeProps(
28
+ {
29
+ label,
30
+ fullWidth,
31
+ errorMessage,
32
+ "data-variant": variant,
33
+ "data-fullwidth": fullWidth
34
+ },
35
+ other
36
+ );
37
+ return /* @__PURE__ */ jsx(FieldNumberControl, { ...rootProps, children: ({ error, required, disabled }) => {
38
+ const labelProps = mergeProps(
39
+ { hidden: hiddenLabel, required },
40
+ slotProps?.label
41
+ );
42
+ const inputProps = mergeProps(
43
+ { error, variant, disabled, ref: domRef },
44
+ slotProps?.input
45
+ );
46
+ const captionProps = slotProps?.caption;
47
+ const errorProps = mergeProps({ error }, slotProps?.errorMessage);
48
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
49
+ /* @__PURE__ */ jsx(FieldLabel, { ...labelProps, children: labelProps?.children || label }),
50
+ /* @__PURE__ */ jsx(
51
+ FieldInputGroup,
52
+ {
53
+ error,
54
+ disabled,
55
+ startAddon,
56
+ endAddon: /* @__PURE__ */ jsxs(Fragment, { children: [
57
+ endAddon,
58
+ /* @__PURE__ */ jsx(InputNumberCounterControls, {})
59
+ ] }),
60
+ children: /* @__PURE__ */ jsx(FieldInput, { ...inputProps })
61
+ }
62
+ ),
63
+ /* @__PURE__ */ jsx(FieldCaption, { ...captionProps, children: captionProps?.children || caption }),
64
+ /* @__PURE__ */ jsx(FieldError, { ...errorProps, children: errorProps.children || errorMessage })
65
+ ] });
66
+ } });
67
+ }
68
+ );
69
+ InputNumber.displayName = "InputNumber";
70
+ export {
71
+ InputNumber
72
+ };
@@ -0,0 +1 @@
1
+ export declare const InputNumberCounterControls: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,37 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { clsx } from "@koobiq/react-core";
3
+ import { IconChevronUp16, IconChevronDown16 } from "@koobiq/react-icons";
4
+ import s from "./InputNumberCounterControls.module.css.js";
5
+ import { useFieldInputGroup } from "../../FieldComponents/FieldInputGroup/FieldInputGroupContext.js";
6
+ import { IconButton } from "../../IconButton/IconButton.js";
7
+ const InputNumberCounterControls = () => {
8
+ const { hovered, hasValue, focusWithin } = useFieldInputGroup();
9
+ const visible = (hovered || focusWithin) && hasValue;
10
+ return /* @__PURE__ */ jsxs("div", { className: clsx(s.base, visible && s.visible), children: [
11
+ /* @__PURE__ */ jsx(
12
+ IconButton,
13
+ {
14
+ className: s.counter,
15
+ slot: "increment",
16
+ variant: "fade-contrast",
17
+ size: "l",
18
+ compact: true,
19
+ children: /* @__PURE__ */ jsx(IconChevronUp16, {})
20
+ }
21
+ ),
22
+ /* @__PURE__ */ jsx(
23
+ IconButton,
24
+ {
25
+ className: s.counter,
26
+ slot: "decrement",
27
+ variant: "fade-contrast",
28
+ size: "l",
29
+ compact: true,
30
+ children: /* @__PURE__ */ jsx(IconChevronDown16, {})
31
+ }
32
+ )
33
+ ] });
34
+ };
35
+ export {
36
+ InputNumberCounterControls
37
+ };
@@ -0,0 +1,14 @@
1
+ const base = "kbq-inputnumbercountercontrols-77ed13";
2
+ const visible = "kbq-inputnumbercountercontrols-visible-5885f8";
3
+ const counter = "kbq-inputnumbercountercontrols-counter-1126db";
4
+ const s = {
5
+ base,
6
+ visible,
7
+ counter
8
+ };
9
+ export {
10
+ base,
11
+ counter,
12
+ s as default,
13
+ visible
14
+ };
@@ -0,0 +1 @@
1
+ export * from './InputNumberCounterControls';
@@ -0,0 +1,2 @@
1
+ export * from './InputNumber';
2
+ export * from './types';
@@ -0,0 +1,62 @@
1
+ import type { ComponentRef, CSSProperties, ReactNode } from 'react';
2
+ import type { ExtendableProps } from '@koobiq/react-core';
3
+ import type { UseNumberFieldProps } from '@koobiq/react-primitives';
4
+ import type { FieldCaptionProps, FieldErrorProps, FieldInputProps, FieldLabelProps } from '../FieldComponents';
5
+ export declare const inputNumberPropVariant: readonly ["filled", "transparent"];
6
+ export type InputNumberPropVariant = (typeof inputNumberPropVariant)[number];
7
+ export type InputNumberProps = ExtendableProps<{
8
+ /** The content to display as the label. */
9
+ label?: ReactNode;
10
+ /** Additional CSS-classes. */
11
+ className?: string;
12
+ /** Addon placed before the children. */
13
+ startAddon?: ReactNode;
14
+ /** Addon placed after the children. */
15
+ endAddon?: ReactNode;
16
+ /**
17
+ * The variant to use.
18
+ * @default filled
19
+ * */
20
+ variant?: InputNumberPropVariant;
21
+ /**
22
+ * If `true`, the input will indicate an error.
23
+ * @default false
24
+ * */
25
+ error?: boolean;
26
+ /** Message for the error state */
27
+ errorMessage?: string | number;
28
+ /**
29
+ * If true, the input will take up the full width of its container.
30
+ * @default false
31
+ * */
32
+ fullWidth?: boolean;
33
+ /**
34
+ * If `true`, the component is disabled.
35
+ * @default false
36
+ * */
37
+ disabled?: boolean;
38
+ /**
39
+ * If `true`, the label is hidden. Be sure to add aria-label to the input element.
40
+ * @default false
41
+ * */
42
+ hiddenLabel?: boolean;
43
+ /** The helper text content. */
44
+ caption?: string | number;
45
+ /**
46
+ * If `true`, the label is displayed as required and the input element is required.
47
+ * @default false
48
+ * */
49
+ required?: boolean;
50
+ /** Inline styles. */
51
+ style?: CSSProperties;
52
+ /** Unique identifier for testing purposes. */
53
+ 'data-testid'?: string | number;
54
+ /** The props used for each slot inside. */
55
+ slotProps?: {
56
+ label?: FieldLabelProps;
57
+ input?: FieldInputProps;
58
+ caption?: FieldCaptionProps;
59
+ errorMessage?: FieldErrorProps;
60
+ };
61
+ }, Omit<UseNumberFieldProps, 'inputElementType'>>;
62
+ export type InputNumberRef = ComponentRef<'input'>;
@@ -0,0 +1,4 @@
1
+ const inputNumberPropVariant = ["filled", "transparent"];
2
+ export {
3
+ inputNumberPropVariant
4
+ };
@@ -0,0 +1,4 @@
1
+ import type { ComponentPropsWithRef, ElementType } from 'react';
2
+ import type { LinkBaseProps } from './types';
3
+ export declare const Link: import("@koobiq/react-core").PolyForwardComponent<"a", LinkBaseProps, ElementType>;
4
+ export type LinkProps<As extends ElementType = 'a'> = ComponentPropsWithRef<typeof Link<As>>;
@@ -0,0 +1,54 @@
1
+ "use client";
2
+ import { jsxs } from "react/jsx-runtime";
3
+ import { polymorphicForwardRef, useDOMRef, clsx } from "@koobiq/react-core";
4
+ import { useLink } from "@koobiq/react-primitives";
5
+ import s from "./Link.module.css.js";
6
+ const Link = polymorphicForwardRef((props, ref) => {
7
+ const {
8
+ variant = "text-normal",
9
+ visitable = false,
10
+ pseudo = false,
11
+ as = "a",
12
+ startIcon,
13
+ endIcon,
14
+ children,
15
+ className,
16
+ style
17
+ } = props;
18
+ const Tag = as;
19
+ const domRef = useDOMRef(ref);
20
+ const elementType = as !== "a" && as !== "button" ? `${as}` : void 0;
21
+ const { linkProps, hovered, pressed, focusVisible } = useLink(
22
+ { ...props, elementType },
23
+ domRef
24
+ );
25
+ const hasIcon = Boolean(startIcon || endIcon);
26
+ return /* @__PURE__ */ jsxs(
27
+ Tag,
28
+ {
29
+ ...linkProps,
30
+ className: clsx(
31
+ s.base,
32
+ s[variant],
33
+ pseudo && s.pseudo,
34
+ hovered && s.hovered,
35
+ pressed && s.pressed,
36
+ hasIcon && s.hasIcon,
37
+ visitable && s.visitable,
38
+ focusVisible && s.focusVisible,
39
+ className
40
+ ),
41
+ style,
42
+ ref: domRef,
43
+ children: [
44
+ startIcon,
45
+ children,
46
+ endIcon
47
+ ]
48
+ }
49
+ );
50
+ });
51
+ Link.displayName = "Link";
52
+ export {
53
+ Link
54
+ };
@@ -0,0 +1,32 @@
1
+ const base = "kbq-link-093ccd";
2
+ const hovered = "kbq-link-hovered-1916bc";
3
+ const pressed = "kbq-link-pressed-0b493d";
4
+ const focusVisible = "kbq-link-focusVisible-a98307";
5
+ const visitable = "kbq-link-visitable-c8175e";
6
+ const pseudo = "kbq-link-pseudo-5f21eb";
7
+ const hasIcon = "kbq-link-hasIcon-ea84d7";
8
+ const inherit = "kbq-link-inherit-aa3736";
9
+ const s = {
10
+ base,
11
+ hovered,
12
+ pressed,
13
+ focusVisible,
14
+ visitable,
15
+ pseudo,
16
+ hasIcon,
17
+ "text-normal": "kbq-link-text-normal-814a6c",
18
+ "text-big": "kbq-link-text-big-a56241",
19
+ "text-compact": "kbq-link-text-compact-e205e9",
20
+ inherit
21
+ };
22
+ export {
23
+ base,
24
+ s as default,
25
+ focusVisible,
26
+ hasIcon,
27
+ hovered,
28
+ inherit,
29
+ pressed,
30
+ pseudo,
31
+ visitable
32
+ };
@@ -0,0 +1,2 @@
1
+ export * from './Link';
2
+ export * from './types';
@@ -0,0 +1,25 @@
1
+ import type { CSSProperties, ReactNode } from 'react';
2
+ import type { ButtonOptions } from '@koobiq/react-primitives';
3
+ import type { TypographyPropVariant } from '../Typography';
4
+ export type LinkPropVariant = Extract<TypographyPropVariant, 'text-compact' | 'text-normal' | 'text-big' | 'inherit'>;
5
+ export type LinkBaseProps = {
6
+ /** The content of the component. */
7
+ children?: ReactNode;
8
+ /** The variant of the component. */
9
+ variant?: LinkPropVariant;
10
+ /** Icon placed before the children. */
11
+ startIcon?: ReactNode;
12
+ /** Icon placed after the children. */
13
+ endIcon?: ReactNode;
14
+ /** If `true`, the component is disabled. */
15
+ disabled?: boolean;
16
+ /** If `true`, displays :visited CSS-state. */
17
+ visitable?: boolean;
18
+ /** If `true`, displays the link as a pseudo-link. */
19
+ pseudo?: boolean;
20
+ /** Additional CSS-classes. */
21
+ className?: string;
22
+ /** Inline styles */
23
+ style?: CSSProperties;
24
+ onClick?: ButtonOptions['onPress'];
25
+ };
@@ -0,0 +1,2 @@
1
+ import type { ModalProps } from './types';
2
+ export declare const Modal: import("react").ForwardRefExoticComponent<ModalProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,121 @@
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 "./Modal.module.css.js";
8
+ import { Backdrop } from "../Backdrop/Backdrop.js";
9
+ import { Dialog } from "../Dialog/Dialog.js";
10
+ const Modal = forwardRef((props, ref) => {
11
+ const {
12
+ hideCloseButton = false,
13
+ size = "medium",
14
+ disableExitOnEscapeKeyDown,
15
+ disableExitOnClickOutside,
16
+ disableFocusManagement,
17
+ portalContainer,
18
+ open: openProp,
19
+ hideBackdrop,
20
+ onOpenChange,
21
+ defaultOpen,
22
+ children,
23
+ control,
24
+ slotProps,
25
+ ...other
26
+ } = props;
27
+ const state = useOverlayTriggerState({
28
+ isOpen: openProp,
29
+ onOpenChange,
30
+ defaultOpen,
31
+ ...other
32
+ });
33
+ const { isOpen: openState, close } = state;
34
+ const [opened, { on, off }] = useBoolean(openState);
35
+ const modalRef = useDOMRef(null);
36
+ const containerRef = useDOMRef(ref);
37
+ const { triggerProps, overlayProps } = useOverlayTrigger(
38
+ { type: "dialog" },
39
+ { ...state, isOpen: openState }
40
+ );
41
+ const { modalProps: modalCommonProps, underlayProps } = useModalOverlay(
42
+ {
43
+ ...props,
44
+ isDismissable: !disableExitOnClickOutside,
45
+ isKeyboardDismissDisabled: disableExitOnEscapeKeyDown
46
+ },
47
+ { ...state, isOpen: opened },
48
+ modalRef
49
+ );
50
+ const resolvedChildren = () => {
51
+ if (typeof children === "function")
52
+ return cloneElement(children({ close }), overlayProps);
53
+ if (isValidElement(children)) return cloneElement(children, overlayProps);
54
+ return children;
55
+ };
56
+ const containerProps = mergeProps(
57
+ {
58
+ className: clsx(s.base, s[size]),
59
+ ref: containerRef,
60
+ "data-size": size
61
+ },
62
+ other
63
+ );
64
+ const backdropProps = mergeProps(
65
+ { open: openState && !hideBackdrop },
66
+ underlayProps,
67
+ slotProps?.backdrop
68
+ );
69
+ const dialogProps = mergeProps(
70
+ {
71
+ onClose: close,
72
+ role: "dialog",
73
+ hideCloseButton,
74
+ children: resolvedChildren()
75
+ },
76
+ slotProps?.dialog
77
+ );
78
+ const modalProps = mergeProps(
79
+ modalCommonProps,
80
+ {
81
+ ref: modalRef,
82
+ className: s.modal
83
+ },
84
+ slotProps?.modal
85
+ );
86
+ const { isDisabled, onPress, ...otherTriggerProps } = triggerProps;
87
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
88
+ control?.({
89
+ onClick: onPress,
90
+ disabled: isDisabled,
91
+ ...otherTriggerProps
92
+ }),
93
+ /* @__PURE__ */ jsx(
94
+ Transition,
95
+ {
96
+ onEnter: on,
97
+ timeout: 300,
98
+ onExited: off,
99
+ in: openState,
100
+ nodeRef: containerRef,
101
+ unmountOnExit: true,
102
+ appear: true,
103
+ children: (transition) => /* @__PURE__ */ jsx(
104
+ Overlay,
105
+ {
106
+ portalContainer,
107
+ disableFocusManagement,
108
+ children: /* @__PURE__ */ jsxs("div", { ...containerProps, "data-transition": transition, children: [
109
+ /* @__PURE__ */ jsx(Backdrop, { ...backdropProps }),
110
+ /* @__PURE__ */ jsx("div", { ...modalProps, children: /* @__PURE__ */ jsx(Dialog, { ...dialogProps }) })
111
+ ] })
112
+ }
113
+ )
114
+ }
115
+ )
116
+ ] });
117
+ });
118
+ Modal.displayName = "Modal";
119
+ export {
120
+ Modal
121
+ };
@@ -0,0 +1,20 @@
1
+ const base = "kbq-modal-4b03cd";
2
+ const small = "kbq-modal-small-7273e9";
3
+ const medium = "kbq-modal-medium-5db542";
4
+ const large = "kbq-modal-large-534723";
5
+ const modal = "kbq-modal-modal-3e5b95";
6
+ const s = {
7
+ base,
8
+ small,
9
+ medium,
10
+ large,
11
+ modal
12
+ };
13
+ export {
14
+ base,
15
+ s as default,
16
+ large,
17
+ medium,
18
+ modal,
19
+ small
20
+ };
@@ -0,0 +1,4 @@
1
+ export * from './Modal';
2
+ export * from './types';
3
+ export { DialogHeader, DialogFooter, DialogContent } from '../Dialog';
4
+ export { DialogHeader as ModalHeader, DialogContent as ModalContent, DialogFooter as ModalFooter, } from '../Dialog';
@@ -0,0 +1,68 @@
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 modalPropSize: readonly ["small", "medium", "large"];
6
+ export type ModalPropSize = (typeof modalPropSize)[number];
7
+ export type ModalPropContent = ReactNode | ((props: {
8
+ close(): void;
9
+ }) => ReactElement);
10
+ export type ModalPropControl = (props: ButtonOptions) => ReactElement;
11
+ export type ModalProps = {
12
+ /**
13
+ * Component width size.
14
+ * @default medium
15
+ * */
16
+ size?: ModalPropSize;
17
+ /** If `true`, the component is shown. */
18
+ open?: boolean;
19
+ /** The default open state. Use when the component is not controlled. */
20
+ defaultOpen?: boolean;
21
+ /** The content of the component. */
22
+ children?: ModalPropContent;
23
+ /** The render function of the control for displaying the modal window. */
24
+ control?: ModalPropControl;
25
+ /**
26
+ * If `true`, the close button isn't shown.
27
+ * @default false
28
+ * */
29
+ hideCloseButton?: boolean;
30
+ /** Handler that is called when the modal's open state changes. */
31
+ onOpenChange?: (open: boolean) => void;
32
+ /**
33
+ * The container element in which the component portal will be placed.
34
+ * @default document.body
35
+ */
36
+ portalContainer?: Element;
37
+ /**
38
+ * If `true`, the modal window won't close when clicked outside of it.
39
+ * @default false
40
+ */
41
+ disableExitOnClickOutside?: boolean;
42
+ /**
43
+ * If `true`, the modal window won't close when the ESC key is pressed.
44
+ * @default false
45
+ */
46
+ disableExitOnEscapeKeyDown?: boolean;
47
+ /**
48
+ * If `true`, the underlay (backdrop) under the modal window isn't shown.
49
+ * @default false
50
+ */
51
+ hideBackdrop?: boolean;
52
+ /** Additional CSS-classes. */
53
+ className?: string;
54
+ /** Unique identifier for testing purposes. */
55
+ 'data-testid'?: string | number;
56
+ /**
57
+ * If `true`, the focus trap in modal window is disabled.
58
+ * @default false
59
+ */
60
+ disableFocusManagement?: boolean;
61
+ /** The props used for each slot inside. */
62
+ slotProps?: {
63
+ dialog?: DialogProps;
64
+ backdrop?: BackdropProps;
65
+ modal?: ComponentPropsWithRef<'div'>;
66
+ };
67
+ };
68
+ export type ModalRef = ComponentRef<'div'>;
@@ -0,0 +1,4 @@
1
+ const modalPropSize = ["small", "medium", "large"];
2
+ export {
3
+ modalPropSize
4
+ };
@@ -0,0 +1,2 @@
1
+ import type { PopoverProps } from './types';
2
+ export declare const Popover: import("react").ForwardRefExoticComponent<PopoverProps & import("react").RefAttributes<HTMLDivElement>>;