@vkontakte/vkui 7.8.2 → 7.9.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 (282) hide show
  1. package/dist/components/Box/Box.d.ts +11 -0
  2. package/dist/components/Box/Box.d.ts.map +1 -0
  3. package/dist/components/Box/Box.js +25 -0
  4. package/dist/components/Box/Box.js.map +1 -0
  5. package/dist/components/CarouselBase/CarouselBase.d.ts +1 -1
  6. package/dist/components/CarouselBase/CarouselBase.d.ts.map +1 -1
  7. package/dist/components/CarouselBase/CarouselBase.js +6 -4
  8. package/dist/components/CarouselBase/CarouselBase.js.map +1 -1
  9. package/dist/components/CarouselBase/constants.d.ts +1 -1
  10. package/dist/components/CarouselBase/constants.d.ts.map +1 -1
  11. package/dist/components/CarouselBase/constants.js +1 -1
  12. package/dist/components/CarouselBase/constants.js.map +1 -1
  13. package/dist/components/CarouselBase/hooks.d.ts +3 -1
  14. package/dist/components/CarouselBase/hooks.d.ts.map +1 -1
  15. package/dist/components/CarouselBase/hooks.js +46 -6
  16. package/dist/components/CarouselBase/hooks.js.map +1 -1
  17. package/dist/components/CarouselBase/types.d.ts +12 -0
  18. package/dist/components/CarouselBase/types.d.ts.map +1 -1
  19. package/dist/components/CarouselBase/types.js.map +1 -1
  20. package/dist/components/Checkbox/Checkbox.d.ts +11 -2
  21. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  22. package/dist/components/Checkbox/Checkbox.js +44 -10
  23. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  24. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +16 -3
  25. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  26. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js +32 -19
  27. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  28. package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts +1 -1
  29. package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts.map +1 -1
  30. package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.js +39 -10
  31. package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.js.map +1 -1
  32. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
  33. package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  34. package/dist/components/ChipsInput/ChipsInput.js +32 -13
  35. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  36. package/dist/components/ChipsInputBase/ChipsInputBase.d.ts +1 -1
  37. package/dist/components/ChipsInputBase/ChipsInputBase.d.ts.map +1 -1
  38. package/dist/components/ChipsInputBase/ChipsInputBase.js +52 -26
  39. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  40. package/dist/components/ChipsInputBase/types.d.ts +13 -4
  41. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  42. package/dist/components/ChipsInputBase/types.js.map +1 -1
  43. package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  44. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  45. package/dist/components/ChipsSelect/ChipsSelect.js +67 -38
  46. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  47. package/dist/components/CustomSelect/CustomSelect.d.ts +16 -2
  48. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  49. package/dist/components/CustomSelect/CustomSelect.js +99 -50
  50. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  51. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts +6 -2
  52. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
  53. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +38 -20
  54. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  55. package/dist/components/CustomSelect/helpers.d.ts +1 -0
  56. package/dist/components/CustomSelect/helpers.d.ts.map +1 -1
  57. package/dist/components/CustomSelect/helpers.js +11 -0
  58. package/dist/components/CustomSelect/helpers.js.map +1 -1
  59. package/dist/components/Div/Div.d.ts +3 -0
  60. package/dist/components/Div/Div.d.ts.map +1 -1
  61. package/dist/components/Div/Div.js +11 -1
  62. package/dist/components/Div/Div.js.map +1 -1
  63. package/dist/components/File/File.d.ts +16 -3
  64. package/dist/components/File/File.d.ts.map +1 -1
  65. package/dist/components/File/File.js +29 -17
  66. package/dist/components/File/File.js.map +1 -1
  67. package/dist/components/Input/Input.d.ts +16 -3
  68. package/dist/components/Input/Input.d.ts.map +1 -1
  69. package/dist/components/Input/Input.js +28 -13
  70. package/dist/components/Input/Input.js.map +1 -1
  71. package/dist/components/NativeSelect/NativeSelect.d.ts +17 -3
  72. package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  73. package/dist/components/NativeSelect/NativeSelect.js +37 -14
  74. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  75. package/dist/components/Radio/Radio.d.ts +18 -3
  76. package/dist/components/Radio/Radio.d.ts.map +1 -1
  77. package/dist/components/Radio/Radio.js +31 -11
  78. package/dist/components/Radio/Radio.js.map +1 -1
  79. package/dist/components/Radio/RadioInput/RadioInput.d.ts +16 -3
  80. package/dist/components/Radio/RadioInput/RadioInput.d.ts.map +1 -1
  81. package/dist/components/Radio/RadioInput/RadioInput.js +22 -11
  82. package/dist/components/Radio/RadioInput/RadioInput.js.map +1 -1
  83. package/dist/components/Search/Search.d.ts +16 -3
  84. package/dist/components/Search/Search.d.ts.map +1 -1
  85. package/dist/components/Search/Search.js +50 -28
  86. package/dist/components/Search/Search.js.map +1 -1
  87. package/dist/components/Select/Select.d.ts.map +1 -1
  88. package/dist/components/Select/Select.js +10 -4
  89. package/dist/components/Select/Select.js.map +1 -1
  90. package/dist/components/SelectionControl/SelectionControl.d.ts +2 -2
  91. package/dist/components/SelectionControl/SelectionControl.d.ts.map +1 -1
  92. package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
  93. package/dist/components/Snackbar/Snackbar.d.ts +10 -1
  94. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
  95. package/dist/components/Snackbar/Snackbar.js +20 -6
  96. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  97. package/dist/components/SplitLayout/SplitLayout.d.ts +16 -3
  98. package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
  99. package/dist/components/SplitLayout/SplitLayout.js +24 -9
  100. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  101. package/dist/components/Switch/Switch.d.ts +16 -3
  102. package/dist/components/Switch/Switch.d.ts.map +1 -1
  103. package/dist/components/Switch/Switch.js +32 -20
  104. package/dist/components/Switch/Switch.js.map +1 -1
  105. package/dist/components/Textarea/Textarea.d.ts +16 -3
  106. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  107. package/dist/components/Textarea/Textarea.js +36 -18
  108. package/dist/components/Textarea/Textarea.js.map +1 -1
  109. package/dist/components/WriteBar/WriteBar.d.ts +16 -3
  110. package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
  111. package/dist/components/WriteBar/WriteBar.js +28 -11
  112. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  113. package/dist/components.css +1 -1
  114. package/dist/components.css.map +1 -1
  115. package/dist/cssm/components/Box/Box.js +19 -0
  116. package/dist/cssm/components/Box/Box.js.map +1 -0
  117. package/dist/cssm/components/CarouselBase/CarouselBase.js +4 -4
  118. package/dist/cssm/components/CarouselBase/CarouselBase.js.map +1 -1
  119. package/dist/cssm/components/CarouselBase/constants.js +1 -1
  120. package/dist/cssm/components/CarouselBase/constants.js.map +1 -1
  121. package/dist/cssm/components/CarouselBase/hooks.js +46 -6
  122. package/dist/cssm/components/CarouselBase/hooks.js.map +1 -1
  123. package/dist/cssm/components/CarouselBase/types.js.map +1 -1
  124. package/dist/cssm/components/Checkbox/Checkbox.js +29 -6
  125. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  126. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js +24 -13
  127. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  128. package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.js +24 -6
  129. package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.js.map +1 -1
  130. package/dist/cssm/components/ChipsInput/ChipsInput.js +25 -11
  131. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  132. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +30 -12
  133. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  134. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  135. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +49 -30
  136. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  137. package/dist/cssm/components/CustomSelect/CustomSelect.js +73 -41
  138. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  139. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +20 -9
  140. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  141. package/dist/cssm/components/CustomSelect/helpers.js +11 -0
  142. package/dist/cssm/components/CustomSelect/helpers.js.map +1 -1
  143. package/dist/cssm/components/Div/Div.js +11 -1
  144. package/dist/cssm/components/Div/Div.js.map +1 -1
  145. package/dist/cssm/components/File/File.js +20 -7
  146. package/dist/cssm/components/File/File.js.map +1 -1
  147. package/dist/cssm/components/Input/Input.js +20 -7
  148. package/dist/cssm/components/Input/Input.js.map +1 -1
  149. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.module.css +1 -1
  150. package/dist/cssm/components/NativeSelect/NativeSelect.js +25 -8
  151. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  152. package/dist/cssm/components/Radio/Radio.js +28 -8
  153. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  154. package/dist/cssm/components/Radio/RadioInput/RadioInput.js +18 -6
  155. package/dist/cssm/components/Radio/RadioInput/RadioInput.js.map +1 -1
  156. package/dist/cssm/components/Search/Search.js +34 -17
  157. package/dist/cssm/components/Search/Search.js.map +1 -1
  158. package/dist/cssm/components/Select/Select.js +9 -1
  159. package/dist/cssm/components/Select/Select.js.map +1 -1
  160. package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
  161. package/dist/cssm/components/Snackbar/Snackbar.js +11 -2
  162. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  163. package/dist/cssm/components/SplitLayout/SplitLayout.js +22 -8
  164. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  165. package/dist/cssm/components/Switch/Switch.js +29 -17
  166. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  167. package/dist/cssm/components/Textarea/Textarea.js +22 -8
  168. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  169. package/dist/cssm/components/WriteBar/WriteBar.js +24 -9
  170. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  171. package/dist/cssm/hooks/useMergeProps.js +38 -0
  172. package/dist/cssm/hooks/useMergeProps.js.map +1 -0
  173. package/dist/cssm/index.js +2 -0
  174. package/dist/cssm/index.js.map +1 -1
  175. package/dist/cssm/lib/animation/useCSSTransition.js +1 -1
  176. package/dist/cssm/lib/animation/useCSSTransition.js.map +1 -1
  177. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +1 -1
  178. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  179. package/dist/cssm/lib/fx.js +55 -8
  180. package/dist/cssm/lib/fx.js.map +1 -1
  181. package/dist/cssm/lib/layouts/gaps.js.map +1 -1
  182. package/dist/cssm/lib/layouts/helpers.js +21 -0
  183. package/dist/cssm/lib/layouts/helpers.js.map +1 -0
  184. package/dist/cssm/lib/layouts/index.js +1 -0
  185. package/dist/cssm/lib/layouts/index.js.map +1 -1
  186. package/dist/cssm/lib/layouts/layoutProps.js +89 -0
  187. package/dist/cssm/lib/layouts/layoutProps.js.map +1 -0
  188. package/dist/cssm/lib/layouts/resolveLayoutProps.js +36 -0
  189. package/dist/cssm/lib/layouts/resolveLayoutProps.js.map +1 -0
  190. package/dist/cssm/lib/layouts/types.js +3 -0
  191. package/dist/cssm/lib/layouts/types.js.map +1 -0
  192. package/dist/cssm/lib/warnOnce.js +1 -1
  193. package/dist/cssm/lib/warnOnce.js.map +1 -1
  194. package/dist/cssm/styles/layout.css +922 -0
  195. package/dist/hooks/useMergeProps.d.ts +6 -0
  196. package/dist/hooks/useMergeProps.d.ts.map +1 -0
  197. package/dist/hooks/useMergeProps.js +42 -0
  198. package/dist/hooks/useMergeProps.js.map +1 -0
  199. package/dist/index.d.ts +3 -0
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +1 -0
  202. package/dist/index.js.map +1 -1
  203. package/dist/lib/animation/useCSSTransition.js +1 -1
  204. package/dist/lib/animation/useCSSTransition.js.map +1 -1
  205. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +1 -1
  206. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  207. package/dist/lib/fx.d.ts +8 -1
  208. package/dist/lib/fx.d.ts.map +1 -1
  209. package/dist/lib/fx.js +55 -8
  210. package/dist/lib/fx.js.map +1 -1
  211. package/dist/lib/layouts/gaps.d.ts +4 -5
  212. package/dist/lib/layouts/gaps.d.ts.map +1 -1
  213. package/dist/lib/layouts/gaps.js.map +1 -1
  214. package/dist/lib/layouts/helpers.d.ts +17 -0
  215. package/dist/lib/layouts/helpers.d.ts.map +1 -0
  216. package/dist/lib/layouts/helpers.js +21 -0
  217. package/dist/lib/layouts/helpers.js.map +1 -0
  218. package/dist/lib/layouts/index.d.ts +2 -0
  219. package/dist/lib/layouts/index.d.ts.map +1 -1
  220. package/dist/lib/layouts/index.js +1 -0
  221. package/dist/lib/layouts/index.js.map +1 -1
  222. package/dist/lib/layouts/layoutProps.d.ts +33 -0
  223. package/dist/lib/layouts/layoutProps.d.ts.map +1 -0
  224. package/dist/lib/layouts/layoutProps.js +89 -0
  225. package/dist/lib/layouts/layoutProps.js.map +1 -0
  226. package/dist/lib/layouts/resolveLayoutProps.d.ts +18 -0
  227. package/dist/lib/layouts/resolveLayoutProps.d.ts.map +1 -0
  228. package/dist/lib/layouts/resolveLayoutProps.js +35 -0
  229. package/dist/lib/layouts/resolveLayoutProps.js.map +1 -0
  230. package/dist/lib/layouts/types.d.ts +123 -0
  231. package/dist/lib/layouts/types.d.ts.map +1 -0
  232. package/dist/lib/layouts/types.js +3 -0
  233. package/dist/lib/layouts/types.js.map +1 -0
  234. package/dist/lib/warnOnce.js +1 -1
  235. package/dist/lib/warnOnce.js.map +1 -1
  236. package/dist/vkui.css +1 -1
  237. package/dist/vkui.css.map +1 -1
  238. package/package.json +2 -2
  239. package/src/components/Box/Box.tsx +26 -0
  240. package/src/components/CarouselBase/CarouselBase.tsx +11 -4
  241. package/src/components/CarouselBase/constants.ts +1 -1
  242. package/src/components/CarouselBase/hooks.ts +31 -6
  243. package/src/components/CarouselBase/types.ts +13 -0
  244. package/src/components/Checkbox/Checkbox.tsx +57 -7
  245. package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +51 -18
  246. package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx +36 -6
  247. package/src/components/ChipsInput/ChipsInput.tsx +38 -11
  248. package/src/components/ChipsInputBase/ChipsInputBase.tsx +60 -17
  249. package/src/components/ChipsInputBase/types.ts +15 -4
  250. package/src/components/ChipsSelect/ChipsSelect.tsx +71 -33
  251. package/src/components/CustomSelect/CustomSelect.tsx +135 -45
  252. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +48 -17
  253. package/src/components/CustomSelect/helpers.ts +23 -0
  254. package/src/components/Div/Div.tsx +13 -3
  255. package/src/components/File/File.tsx +48 -11
  256. package/src/components/Input/Input.tsx +51 -14
  257. package/src/components/MiniInfoCell/MiniInfoCell.module.css +1 -1
  258. package/src/components/NativeSelect/NativeSelect.tsx +57 -18
  259. package/src/components/Radio/Radio.tsx +51 -8
  260. package/src/components/Radio/RadioInput/RadioInput.tsx +35 -11
  261. package/src/components/Search/Search.tsx +80 -29
  262. package/src/components/Select/Select.tsx +22 -3
  263. package/src/components/SelectionControl/SelectionControl.tsx +2 -1
  264. package/src/components/Snackbar/Snackbar.tsx +35 -5
  265. package/src/components/SplitLayout/SplitLayout.tsx +46 -12
  266. package/src/components/Switch/Switch.tsx +62 -31
  267. package/src/components/Textarea/Textarea.tsx +58 -14
  268. package/src/components/WriteBar/WriteBar.tsx +59 -13
  269. package/src/hooks/useMergeProps.ts +66 -0
  270. package/src/index.ts +3 -0
  271. package/src/lib/animation/useCSSTransition.ts +1 -1
  272. package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +1 -1
  273. package/src/lib/fx.ts +63 -8
  274. package/src/lib/layouts/gaps.ts +4 -5
  275. package/src/lib/layouts/helpers.ts +24 -0
  276. package/src/lib/layouts/index.ts +13 -0
  277. package/src/lib/layouts/layoutProps.ts +75 -0
  278. package/src/lib/layouts/resolveLayoutProps.ts +51 -0
  279. package/src/lib/layouts/types.ts +142 -0
  280. package/src/lib/warnOnce.ts +1 -1
  281. package/src/styles/layout.css +1 -0
  282. package/src/styles/layout.css.d.ts.map +1 -0
@@ -1,18 +1,24 @@
1
+ 'use client';
1
2
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
2
4
  import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
3
5
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
6
  import * as React from "react";
5
7
  import { hasReactNode } from "@vkontakte/vkjs";
8
+ import { useMergeProps } from "../../hooks/useMergeProps.js";
9
+ import { warnOnce } from "../../lib/warnOnce.js";
6
10
  import { SelectionControl } from "../SelectionControl/SelectionControl.js";
7
11
  import { SelectionControlLabel } from "../SelectionControl/SelectionControlLabel/SelectionControlLabel.js";
8
12
  import { CheckboxInput } from "./CheckboxInput/CheckboxInput.js";
9
13
  import { CheckboxSimple } from "./CheckboxSimple/CheckboxSimple.js";
14
+ const warn = warnOnce('Checkbox');
10
15
  const CheckboxComponent = (_param)=>{
11
- var { children, className, style, getRootRef, description, hoverMode, activeMode, hasHover, hasActive, focusVisibleMode, titleAfter, noPadding } = _param, restProps = _object_without_properties(_param, [
16
+ var { children, className, style, getRootRef, getRef, description, hoverMode, activeMode, hasHover, hasActive, focusVisibleMode, titleAfter, noPadding, indeterminate, defaultIndeterminate, IconOnCompact, IconOnRegular, IconOffCompact, IconOffRegular, IconIndeterminate, slotProps } = _param, restProps = _object_without_properties(_param, [
12
17
  "children",
13
18
  "className",
14
19
  "style",
15
20
  "getRootRef",
21
+ "getRef",
16
22
  "description",
17
23
  "hoverMode",
18
24
  "activeMode",
@@ -20,32 +26,60 @@ const CheckboxComponent = (_param)=>{
20
26
  "hasActive",
21
27
  "focusVisibleMode",
22
28
  "titleAfter",
23
- "noPadding"
29
+ "noPadding",
30
+ "indeterminate",
31
+ "defaultIndeterminate",
32
+ "IconOnCompact",
33
+ "IconOnRegular",
34
+ "IconOffCompact",
35
+ "IconOffRegular",
36
+ "IconIndeterminate",
37
+ "slotProps"
24
38
  ]);
25
- return /*#__PURE__*/ _jsxs(SelectionControl, {
26
- className: className,
27
- style: style,
28
- disabled: restProps.disabled,
29
- getRootRef: getRootRef,
39
+ const rootRest = useMergeProps({
40
+ className,
41
+ style,
42
+ getRootRef
43
+ }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root);
44
+ const inputRest = useMergeProps(_object_spread({
45
+ getRootRef: getRef
46
+ }, restProps), slotProps === null || slotProps === void 0 ? void 0 : slotProps.input);
47
+ return /*#__PURE__*/ _jsxs(SelectionControl, _object_spread_props(_object_spread({
48
+ disabled: inputRest.disabled,
30
49
  hoverMode: hoverMode,
31
50
  activeMode: activeMode,
32
51
  hasHover: hasHover,
33
52
  hasActive: hasActive,
34
53
  focusVisibleMode: focusVisibleMode,
35
- noPadding: noPadding,
54
+ noPadding: noPadding
55
+ }, rootRest), {
36
56
  children: [
37
- /*#__PURE__*/ _jsx(CheckboxInput, _object_spread({}, restProps)),
57
+ /*#__PURE__*/ _jsx(CheckboxInput, {
58
+ indeterminate: indeterminate,
59
+ defaultIndeterminate: defaultIndeterminate,
60
+ IconIndeterminate: IconIndeterminate,
61
+ IconOnCompact: IconOnCompact,
62
+ IconOnRegular: IconOnRegular,
63
+ IconOffCompact: IconOffCompact,
64
+ IconOffRegular: IconOffRegular,
65
+ slotProps: {
66
+ input: inputRest
67
+ }
68
+ }),
38
69
  /*#__PURE__*/ _jsx(SelectionControlLabel, {
39
70
  titleAfter: titleAfter,
40
71
  description: description,
41
72
  children: children
42
73
  })
43
74
  ]
44
- });
75
+ }));
45
76
  };
46
77
  /**
47
78
  * @see https://vkui.io/components/checkbox
48
79
  */ export const Checkbox = (props)=>{
80
+ if (process.env.NODE_ENV === 'development' && props.getRef) {
81
+ warn('Свойство `getRef` устаревшее, используйте `slotProps={ input: { getRootRef: ... } }`');
82
+ }
49
83
  const simple = !(hasReactNode(props.children) || hasReactNode(props.description));
50
84
  if (simple) {
51
85
  return /*#__PURE__*/ _jsx(CheckboxSimple, _object_spread({}, props));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport type { HasRootRef } from '../../types';\nimport { SelectionControl } from '../SelectionControl/SelectionControl';\nimport { SelectionControlLabel } from '../SelectionControl/SelectionControlLabel/SelectionControlLabel';\nimport type { TappableOmitProps } from '../Tappable/Tappable';\nimport { CheckboxInput, type CheckboxInputProps } from './CheckboxInput/CheckboxInput';\nimport { CheckboxSimple } from './CheckboxSimple/CheckboxSimple';\n\nexport interface CheckboxProps\n extends Omit<CheckboxInputProps, 'getRootRef'>,\n HasRootRef<HTMLLabelElement>,\n Pick<\n TappableOmitProps,\n 'hoverMode' | 'activeMode' | 'hasHover' | 'hasActive' | 'focusVisibleMode'\n > {\n /**\n * Подпись под основным текстом.\n */\n description?: React.ReactNode;\n /**\n * Контент, идущий за основным текстом.\n */\n titleAfter?: React.ReactNode;\n /**\n * Отключает отступы у чекбокса. При использовании этого свойства, значение по умолчанию для свойств `hoverMode` и `activeMode` становится `\"opacity\"`.\n */\n noPadding?: boolean;\n}\n\nconst CheckboxComponent = ({\n children,\n className,\n style,\n getRootRef,\n description,\n hoverMode,\n activeMode,\n hasHover,\n hasActive,\n focusVisibleMode,\n titleAfter,\n noPadding,\n ...restProps\n}: CheckboxProps): React.ReactNode => {\n return (\n <SelectionControl\n className={className}\n style={style}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasHover={hasHover}\n hasActive={hasActive}\n focusVisibleMode={focusVisibleMode}\n noPadding={noPadding}\n >\n <CheckboxInput {...restProps} />\n <SelectionControlLabel titleAfter={titleAfter} description={description}>\n {children}\n </SelectionControlLabel>\n </SelectionControl>\n );\n};\n\n/**\n * @see https://vkui.io/components/checkbox\n */\nexport const Checkbox = (props: CheckboxProps): React.ReactNode => {\n const simple = !(hasReactNode(props.children) || hasReactNode(props.description));\n if (simple) {\n return <CheckboxSimple {...props} />;\n }\n\n return <CheckboxComponent {...props} />;\n};\n\nCheckbox.Input = CheckboxInput;\n"],"names":["React","hasReactNode","SelectionControl","SelectionControlLabel","CheckboxInput","CheckboxSimple","CheckboxComponent","children","className","style","getRootRef","description","hoverMode","activeMode","hasHover","hasActive","focusVisibleMode","titleAfter","noPadding","restProps","disabled","Checkbox","props","simple","Input"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,gBAAgB,QAAQ,0CAAuC;AACxE,SAASC,qBAAqB,QAAQ,qEAAkE;AAExG,SAASC,aAAa,QAAiC,mCAAgC;AACvF,SAASC,cAAc,QAAQ,qCAAkC;AAuBjE,MAAMC,oBAAoB;QAAC,EACzBC,QAAQ,EACRC,SAAS,EACTC,KAAK,EACLC,UAAU,EACVC,WAAW,EACXC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,SAAS,EAEK,WADXC;QAZHZ;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,qBACE,MAAChB;QACCM,WAAWA;QACXC,OAAOA;QACPW,UAAUD,UAAUC,QAAQ;QAC5BV,YAAYA;QACZE,WAAWA;QACXC,YAAYA;QACZC,UAAUA;QACVC,WAAWA;QACXC,kBAAkBA;QAClBE,WAAWA;;0BAEX,KAACd,kCAAkBe;0BACnB,KAAChB;gBAAsBc,YAAYA;gBAAYN,aAAaA;0BACzDJ;;;;AAIT;AAEA;;CAEC,GACD,OAAO,MAAMc,WAAW,CAACC;IACvB,MAAMC,SAAS,CAAEtB,CAAAA,aAAaqB,MAAMf,QAAQ,KAAKN,aAAaqB,MAAMX,WAAW,CAAA;IAC/E,IAAIY,QAAQ;QACV,qBAAO,KAAClB,mCAAmBiB;IAC7B;IAEA,qBAAO,KAAChB,sCAAsBgB;AAChC,EAAE;AAEFD,SAASG,KAAK,GAAGpB"}
1
+ {"version":3,"sources":["../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HasDataAttribute, HasRootRef } from '../../types';\nimport { SelectionControl } from '../SelectionControl/SelectionControl';\nimport { SelectionControlLabel } from '../SelectionControl/SelectionControlLabel/SelectionControlLabel';\nimport type { TappableOmitProps } from '../Tappable/Tappable';\nimport { CheckboxInput, type CheckboxInputProps } from './CheckboxInput/CheckboxInput';\nimport { CheckboxSimple } from './CheckboxSimple/CheckboxSimple';\n\nconst warn = warnOnce('Checkbox');\n\nexport interface CheckboxProps\n extends Omit<CheckboxInputProps, 'getRootRef' | 'slotProps'>,\n HasRootRef<HTMLLabelElement>,\n Pick<\n TappableOmitProps,\n 'hoverMode' | 'activeMode' | 'hasHover' | 'hasActive' | 'focusVisibleMode'\n > {\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `input`: свойства для прокидывания в скрытый `input`.\n */\n slotProps?: {\n root?: Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'children'> &\n HasRootRef<HTMLLabelElement> &\n HasDataAttribute;\n input?: React.ComponentProps<'input'> & HasRootRef<HTMLInputElement> & HasDataAttribute;\n };\n /**\n * Подпись под основным текстом.\n */\n description?: React.ReactNode;\n /**\n * Контент, идущий за основным текстом.\n */\n titleAfter?: React.ReactNode;\n /**\n * Отключает отступы у чекбокса. При использовании этого свойства, значение по умолчанию для свойств `hoverMode` и `activeMode` становится `\"opacity\"`.\n */\n noPadding?: boolean;\n}\n\nconst CheckboxComponent = ({\n children,\n className,\n style,\n getRootRef,\n getRef,\n description,\n hoverMode,\n activeMode,\n hasHover,\n hasActive,\n focusVisibleMode,\n titleAfter,\n noPadding,\n\n indeterminate,\n defaultIndeterminate,\n IconOnCompact,\n IconOnRegular,\n IconOffCompact,\n IconOffRegular,\n IconIndeterminate,\n\n slotProps,\n ...restProps\n}: CheckboxProps): React.ReactNode => {\n const rootRest = useMergeProps(\n {\n className,\n style,\n getRootRef,\n },\n slotProps?.root,\n );\n\n const inputRest = useMergeProps({ getRootRef: getRef, ...restProps }, slotProps?.input);\n\n return (\n <SelectionControl\n disabled={inputRest.disabled}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasHover={hasHover}\n hasActive={hasActive}\n focusVisibleMode={focusVisibleMode}\n noPadding={noPadding}\n {...rootRest}\n >\n <CheckboxInput\n indeterminate={indeterminate}\n defaultIndeterminate={defaultIndeterminate}\n IconIndeterminate={IconIndeterminate}\n IconOnCompact={IconOnCompact}\n IconOnRegular={IconOnRegular}\n IconOffCompact={IconOffCompact}\n IconOffRegular={IconOffRegular}\n slotProps={{ input: inputRest }}\n />\n <SelectionControlLabel titleAfter={titleAfter} description={description}>\n {children}\n </SelectionControlLabel>\n </SelectionControl>\n );\n};\n\n/**\n * @see https://vkui.io/components/checkbox\n */\nexport const Checkbox = (props: CheckboxProps): React.ReactNode => {\n if (process.env.NODE_ENV === 'development' && props.getRef) {\n warn('Свойство `getRef` устаревшее, используйте `slotProps={ input: { getRootRef: ... } }`');\n }\n\n const simple = !(hasReactNode(props.children) || hasReactNode(props.description));\n if (simple) {\n return <CheckboxSimple {...props} />;\n }\n\n return <CheckboxComponent {...props} />;\n};\n\nCheckbox.Input = CheckboxInput;\n"],"names":["React","hasReactNode","useMergeProps","warnOnce","SelectionControl","SelectionControlLabel","CheckboxInput","CheckboxSimple","warn","CheckboxComponent","children","className","style","getRootRef","getRef","description","hoverMode","activeMode","hasHover","hasActive","focusVisibleMode","titleAfter","noPadding","indeterminate","defaultIndeterminate","IconOnCompact","IconOnRegular","IconOffCompact","IconOffRegular","IconIndeterminate","slotProps","restProps","rootRest","root","inputRest","input","disabled","Checkbox","props","process","env","NODE_ENV","simple","Input"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,QAAQ,QAAQ,wBAAqB;AAE9C,SAASC,gBAAgB,QAAQ,0CAAuC;AACxE,SAASC,qBAAqB,QAAQ,qEAAkE;AAExG,SAASC,aAAa,QAAiC,mCAAgC;AACvF,SAASC,cAAc,QAAQ,qCAAkC;AAEjE,MAAMC,OAAOL,SAAS;AAkCtB,MAAMM,oBAAoB;QAAC,EACzBC,QAAQ,EACRC,SAAS,EACTC,KAAK,EACLC,UAAU,EACVC,MAAM,EACNC,WAAW,EACXC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,SAAS,EAETC,aAAa,EACbC,oBAAoB,EACpBC,aAAa,EACbC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,iBAAiB,EAEjBC,SAAS,EAEK,WADXC;QAvBHrB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QAEAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QAEAC;;IAGA,MAAME,WAAW9B,cACf;QACES;QACAC;QACAC;IACF,GACAiB,sBAAAA,gCAAAA,UAAWG,IAAI;IAGjB,MAAMC,YAAYhC,cAAc;QAAEW,YAAYC;OAAWiB,YAAaD,sBAAAA,gCAAAA,UAAWK,KAAK;IAEtF,qBACE,MAAC/B;QACCgC,UAAUF,UAAUE,QAAQ;QAC5BpB,WAAWA;QACXC,YAAYA;QACZC,UAAUA;QACVC,WAAWA;QACXC,kBAAkBA;QAClBE,WAAWA;OACPU;;0BAEJ,KAAC1B;gBACCiB,eAAeA;gBACfC,sBAAsBA;gBACtBK,mBAAmBA;gBACnBJ,eAAeA;gBACfC,eAAeA;gBACfC,gBAAgBA;gBAChBC,gBAAgBA;gBAChBE,WAAW;oBAAEK,OAAOD;gBAAU;;0BAEhC,KAAC7B;gBAAsBgB,YAAYA;gBAAYN,aAAaA;0BACzDL;;;;AAIT;AAEA;;CAEC,GACD,OAAO,MAAM2B,WAAW,CAACC;IACvB,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,iBAAiBH,MAAMxB,MAAM,EAAE;QAC1DN,KAAK;IACP;IAEA,MAAMkC,SAAS,CAAEzC,CAAAA,aAAaqC,MAAM5B,QAAQ,KAAKT,aAAaqC,MAAMvB,WAAW,CAAA;IAC/E,IAAI2B,QAAQ;QACV,qBAAO,KAACnC,mCAAmB+B;IAC7B;IAEA,qBAAO,KAAC7B,sCAAsB6B;AAChC,EAAE;AAEFD,SAASM,KAAK,GAAGrC"}
@@ -1,9 +1,22 @@
1
1
  import * as React from 'react';
2
2
  import { Icon20CheckBoxOn } from '@vkontakte/icons';
3
- import type { HasRef, HasRootRef } from '../../../types';
3
+ import type { HasDataAttribute, HasRootRef } from '../../../types';
4
4
  type VendorIconType = typeof Icon20CheckBoxOn;
5
5
  export type CheckboxInputIconType = React.ComponentType<React.SVGProps<SVGSVGElement>> | VendorIconType;
6
- export interface CheckboxInputProps extends React.ComponentProps<'input'>, HasRootRef<HTMLDivElement>, HasRef<HTMLInputElement> {
6
+ export interface CheckboxInputProps extends React.ComponentProps<'input'>, HasRootRef<HTMLDivElement> {
7
+ /**
8
+ * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ input: { getRootRef: ... } }`.
9
+ */
10
+ getRef?: React.Ref<HTMLInputElement>;
11
+ /**
12
+ * Свойства, которые можно прокинуть внутрь компонента:
13
+ * - `root`: свойства для прокидывания в корень компонента;
14
+ * - `input`: свойства для прокидывания в скрытый `input`.
15
+ */
16
+ slotProps?: {
17
+ root?: Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & HasRootRef<HTMLDivElement> & HasDataAttribute;
18
+ input?: React.ComponentProps<'input'> & HasRootRef<HTMLInputElement> & HasDataAttribute;
19
+ };
7
20
  /**
8
21
  * Неопределенное состояние чекбокса.
9
22
  */
@@ -33,6 +46,6 @@ export interface CheckboxInputProps extends React.ComponentProps<'input'>, HasRo
33
46
  */
34
47
  IconIndeterminate?: CheckboxInputIconType;
35
48
  }
36
- export declare function CheckboxInput({ className, style, getRootRef, getRef, indeterminate, defaultIndeterminate, onChange, IconOnCompact, IconOnRegular, IconOffCompact, IconOffRegular, IconIndeterminate, ...restProps }: CheckboxInputProps): import("react/jsx-runtime").JSX.Element;
49
+ export declare function CheckboxInput({ className, style, getRootRef, getRef, indeterminate, defaultIndeterminate, IconOnCompact, IconOnRegular, IconOffCompact, IconOffRegular, IconIndeterminate, slotProps, ...restProps }: CheckboxInputProps): import("react/jsx-runtime").JSX.Element;
37
50
  export {};
38
51
  //# sourceMappingURL=CheckboxInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,gBAAgB,EAGjB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKzD,KAAK,cAAc,GAAG,OAAO,gBAAgB,CAAC;AAE9C,MAAM,MAAM,qBAAqB,GAC7B,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAClD,cAAc,CAAC;AAMnB,MAAM,WAAW,kBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EACnC,UAAU,CAAC,cAAc,CAAC,EAC1B,MAAM,CAAC,gBAAgB,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC;;OAEG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC;;OAEG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC;;OAEG;IACH,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;CAC3C;AAID,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,KAAK,EACL,UAAU,EACV,MAAM,EACN,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,aAAgC,EAChC,aAAgC,EAChC,cAAkC,EAClC,cAAkC,EAClC,iBAA+C,EAC/C,GAAG,SAAS,EACb,EAAE,kBAAkB,2CA8GpB"}
1
+ {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,gBAAgB,EAGjB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKnE,KAAK,cAAc,GAAG,OAAO,gBAAgB,CAAC;AAE9C,MAAM,MAAM,qBAAqB,GAC7B,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAClD,cAAc,CAAC;AAMnB,MAAM,WAAW,kBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EACnC,UAAU,CAAC,cAAc,CAAC;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACrC;;;;OAIG;IACH,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,GAC3D,UAAU,CAAC,cAAc,CAAC,GAC1B,gBAAgB,CAAC;QACnB,KAAK,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;KACzF,CAAC;IACF;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC;;OAEG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC;;OAEG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC;;OAEG;IACH,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;CAC3C;AAID,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,KAAK,EACL,UAAU,EACV,MAAM,EAEN,aAAa,EACb,oBAAoB,EACpB,aAAgC,EAChC,aAAgC,EAChC,cAAkC,EAClC,cAAkC,EAClC,iBAA+C,EAE/C,SAAS,EACT,GAAG,SAAS,EACb,EAAE,kBAAkB,2CA8HpB"}
@@ -8,6 +8,7 @@ import { Icon20CheckBoxIndetermanate, Icon20CheckBoxOff, Icon20CheckBoxOn, Icon2
8
8
  import { classNames } from "@vkontakte/vkjs";
9
9
  import { useAdaptivityConditionalRender } from "../../../hooks/useAdaptivityConditionalRender/index.js";
10
10
  import { useExternRef } from "../../../hooks/useExternRef.js";
11
+ import { useMergeProps } from "../../../hooks/useMergeProps.js";
11
12
  import { usePlatform } from "../../../hooks/usePlatform.js";
12
13
  import { warnOnce } from "../../../lib/warnOnce.js";
13
14
  import { RootComponent } from "../../RootComponent/RootComponent.js";
@@ -17,21 +18,32 @@ function setIndeterminate(el, indeterminate) {
17
18
  }
18
19
  const warn = warnOnce('Checkbox');
19
20
  export function CheckboxInput(_param) {
20
- var { className, style, getRootRef, getRef, indeterminate, defaultIndeterminate, onChange, IconOnCompact = Icon20CheckBoxOn, IconOnRegular = Icon24CheckBoxOn, IconOffCompact = Icon20CheckBoxOff, IconOffRegular = Icon24CheckBoxOff, IconIndeterminate = Icon20CheckBoxIndetermanate } = _param, restProps = _object_without_properties(_param, [
21
+ var { className, style, getRootRef, getRef, indeterminate, defaultIndeterminate, IconOnCompact = Icon20CheckBoxOn, IconOnRegular = Icon24CheckBoxOn, IconOffCompact = Icon20CheckBoxOff, IconOffRegular = Icon24CheckBoxOff, IconIndeterminate = Icon20CheckBoxIndetermanate, slotProps } = _param, restProps = _object_without_properties(_param, [
21
22
  "className",
22
23
  "style",
23
24
  "getRootRef",
24
25
  "getRef",
25
26
  "indeterminate",
26
27
  "defaultIndeterminate",
27
- "onChange",
28
28
  "IconOnCompact",
29
29
  "IconOnRegular",
30
30
  "IconOffCompact",
31
31
  "IconOffRegular",
32
- "IconIndeterminate"
32
+ "IconIndeterminate",
33
+ "slotProps"
34
+ ]);
35
+ const rootRest = useMergeProps({
36
+ className,
37
+ style,
38
+ getRootRef
39
+ }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root);
40
+ const _useMergeProps = useMergeProps(_object_spread({
41
+ getRootRef: getRef
42
+ }, restProps), slotProps === null || slotProps === void 0 ? void 0 : slotProps.input), { onChange, getRootRef: getInputRef } = _useMergeProps, inputRest = _object_without_properties(_useMergeProps, [
43
+ "onChange",
44
+ "getRootRef"
33
45
  ]);
34
- const inputRef = useExternRef(getRef);
46
+ const inputRef = useExternRef(getInputRef);
35
47
  const platform = usePlatform();
36
48
  const { sizeY: adaptiveSizeY } = useAdaptivityConditionalRender();
37
49
  React.useEffect(()=>{
@@ -45,7 +57,7 @@ export function CheckboxInput(_param) {
45
57
  inputRef
46
58
  ]);
47
59
  const handleChange = React.useCallback((event)=>{
48
- if (defaultIndeterminate !== undefined && indeterminate === undefined && restProps.checked === undefined && inputRef.current) {
60
+ if (defaultIndeterminate !== undefined && indeterminate === undefined && inputRest.checked === undefined && inputRef.current) {
49
61
  setIndeterminate(inputRef.current, false);
50
62
  }
51
63
  if (indeterminate !== undefined && inputRef.current) {
@@ -55,34 +67,35 @@ export function CheckboxInput(_param) {
55
67
  }, [
56
68
  defaultIndeterminate,
57
69
  indeterminate,
58
- restProps.checked,
70
+ inputRest.checked,
59
71
  onChange,
60
72
  inputRef
61
73
  ]);
62
74
  if (process.env.NODE_ENV === 'development') {
63
- if (defaultIndeterminate && restProps.defaultChecked) {
75
+ /* istanbul ignore if: не проверяем в тестах */ if (getRef) {
76
+ warn('Свойство `getRef` устаревшее, используйте `slotProps={ input: { getRootRef: ... } }`');
77
+ }
78
+ if (defaultIndeterminate && inputRest.defaultChecked) {
64
79
  warn('defaultIndeterminate и defaultChecked не могут быть true одновременно', 'error');
65
80
  }
66
- if (indeterminate && restProps.checked) {
81
+ if (indeterminate && inputRest.checked) {
67
82
  warn('indeterminate и checked не могут быть true одновременно', 'error');
68
83
  }
69
- if (restProps.defaultChecked && restProps.checked) {
84
+ if (inputRest.defaultChecked && inputRest.checked) {
70
85
  warn('defaultChecked и checked не могут быть true одновременно', 'error');
71
86
  }
72
87
  }
73
- return /*#__PURE__*/ _jsxs(RootComponent, {
74
- baseClassName: "vkuiCheckboxInput__host",
75
- className: className,
76
- style: style,
77
- getRootRef: getRootRef,
88
+ return /*#__PURE__*/ _jsxs(RootComponent, _object_spread_props(_object_spread({
89
+ baseClassName: "vkuiCheckboxInput__host"
90
+ }, rootRest), {
78
91
  children: [
79
- /*#__PURE__*/ _jsx(VisuallyHidden, _object_spread_props(_object_spread({}, restProps), {
92
+ /*#__PURE__*/ _jsx(VisuallyHidden, _object_spread({
80
93
  Component: "input",
81
94
  type: "checkbox",
82
95
  onChange: handleChange,
83
- className: "vkuiCheckboxInput__input",
84
- getRootRef: inputRef
85
- })),
96
+ getRootRef: inputRef,
97
+ baseClassName: "vkuiCheckboxInput__input"
98
+ }, inputRest)),
86
99
  platform === 'vkcom' ? /*#__PURE__*/ _jsx(IconOnCompact, {
87
100
  className: "vkuiCheckboxInput__iconOn"
88
101
  }) : /*#__PURE__*/ _jsxs(React.Fragment, {
@@ -126,7 +139,7 @@ export function CheckboxInput(_param) {
126
139
  ]
127
140
  })
128
141
  ]
129
- });
142
+ }));
130
143
  }
131
144
 
132
145
  //# sourceMappingURL=CheckboxInput.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Checkbox/CheckboxInput/CheckboxInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon20CheckBoxIndetermanate,\n Icon20CheckBoxOff,\n Icon20CheckBoxOn,\n Icon24CheckBoxOff,\n Icon24CheckBoxOn,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityConditionalRender } from '../../../hooks/useAdaptivityConditionalRender';\nimport { useExternRef } from '../../../hooks/useExternRef';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { warnOnce } from '../../../lib/warnOnce';\nimport type { HasRef, HasRootRef } from '../../../types';\nimport { RootComponent } from '../../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './CheckboxInput.module.css';\n\ntype VendorIconType = typeof Icon20CheckBoxOn;\n\nexport type CheckboxInputIconType =\n | React.ComponentType<React.SVGProps<SVGSVGElement>>\n | VendorIconType;\n\nfunction setIndeterminate(el: HTMLInputElement, indeterminate: boolean) {\n el.indeterminate = indeterminate;\n}\n\nexport interface CheckboxInputProps\n extends React.ComponentProps<'input'>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLInputElement> {\n /**\n * Неопределенное состояние чекбокса.\n */\n indeterminate?: boolean;\n /**\n * Неопределенное состояние чекбокса по умолчанию.\n */\n defaultIndeterminate?: boolean;\n /**\n * Иконка для включенного состояния в компактном режиме.\n */\n IconOnCompact?: CheckboxInputIconType;\n /**\n * Иконка для включенного состояния в обычном режиме.\n */\n IconOnRegular?: CheckboxInputIconType;\n /**\n * Иконка для выключенного состояния в компактном режиме.\n */\n IconOffCompact?: CheckboxInputIconType;\n /**\n * Иконка для выключенного состояния в обычном режиме.\n */\n IconOffRegular?: CheckboxInputIconType;\n /**\n * Иконка для неопределенного состояния.\n */\n IconIndeterminate?: CheckboxInputIconType;\n}\n\nconst warn = warnOnce('Checkbox');\n\nexport function CheckboxInput({\n className,\n style,\n getRootRef,\n getRef,\n indeterminate,\n defaultIndeterminate,\n onChange,\n IconOnCompact = Icon20CheckBoxOn,\n IconOnRegular = Icon24CheckBoxOn,\n IconOffCompact = Icon20CheckBoxOff,\n IconOffRegular = Icon24CheckBoxOff,\n IconIndeterminate = Icon20CheckBoxIndetermanate,\n ...restProps\n}: CheckboxInputProps) {\n const inputRef = useExternRef(getRef);\n const platform = usePlatform();\n const { sizeY: adaptiveSizeY } = useAdaptivityConditionalRender();\n\n React.useEffect(() => {\n const indeterminateValue = indeterminate === undefined ? defaultIndeterminate : indeterminate;\n\n if (inputRef.current) {\n setIndeterminate(inputRef.current, Boolean(indeterminateValue));\n }\n }, [defaultIndeterminate, indeterminate, inputRef]);\n\n const handleChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (\n defaultIndeterminate !== undefined &&\n indeterminate === undefined &&\n restProps.checked === undefined &&\n inputRef.current\n ) {\n setIndeterminate(inputRef.current, false);\n }\n if (indeterminate !== undefined && inputRef.current) {\n setIndeterminate(inputRef.current, Boolean(indeterminate));\n }\n onChange && onChange(event);\n },\n [defaultIndeterminate, indeterminate, restProps.checked, onChange, inputRef],\n );\n\n if (process.env.NODE_ENV === 'development') {\n if (defaultIndeterminate && restProps.defaultChecked) {\n warn('defaultIndeterminate и defaultChecked не могут быть true одновременно', 'error');\n }\n\n if (indeterminate && restProps.checked) {\n warn('indeterminate и checked не могут быть true одновременно', 'error');\n }\n\n if (restProps.defaultChecked && restProps.checked) {\n warn('defaultChecked и checked не могут быть true одновременно', 'error');\n }\n }\n\n return (\n <RootComponent\n baseClassName={styles.host}\n className={className}\n style={style}\n getRootRef={getRootRef}\n >\n <VisuallyHidden\n {...restProps}\n Component=\"input\"\n type=\"checkbox\"\n onChange={handleChange}\n className={styles.input}\n getRootRef={inputRef}\n />\n {platform === 'vkcom' ? (\n <IconOnCompact className={styles.iconOn} />\n ) : (\n <React.Fragment>\n {adaptiveSizeY.compact && (\n <IconOnCompact className={classNames(styles.iconOn, adaptiveSizeY.compact.className)} />\n )}\n {adaptiveSizeY.regular && (\n <IconOnRegular className={classNames(styles.iconOn, adaptiveSizeY.regular.className)} />\n )}\n </React.Fragment>\n )}\n {platform === 'vkcom' ? (\n <IconOffCompact className={styles.iconOff} />\n ) : (\n <React.Fragment>\n {adaptiveSizeY.compact && (\n <IconOffCompact\n className={classNames(styles.iconOff, adaptiveSizeY.compact.className)}\n />\n )}\n {adaptiveSizeY.regular && (\n <IconOffRegular\n className={classNames(styles.iconOff, adaptiveSizeY.regular.className)}\n />\n )}\n </React.Fragment>\n )}\n {platform === 'vkcom' ? (\n <IconIndeterminate width={20} height={20} className={styles.iconIndeterminate} />\n ) : (\n <React.Fragment>\n {adaptiveSizeY.compact && (\n <IconIndeterminate\n className={classNames(styles.iconIndeterminate, adaptiveSizeY.compact.className)}\n width={20}\n height={20}\n />\n )}\n {adaptiveSizeY.regular && (\n <IconIndeterminate\n className={classNames(styles.iconIndeterminate, adaptiveSizeY.regular.className)}\n width={24}\n height={24}\n />\n )}\n </React.Fragment>\n )}\n </RootComponent>\n );\n}\n"],"names":["React","Icon20CheckBoxIndetermanate","Icon20CheckBoxOff","Icon20CheckBoxOn","Icon24CheckBoxOff","Icon24CheckBoxOn","classNames","useAdaptivityConditionalRender","useExternRef","usePlatform","warnOnce","RootComponent","VisuallyHidden","setIndeterminate","el","indeterminate","warn","CheckboxInput","className","style","getRootRef","getRef","defaultIndeterminate","onChange","IconOnCompact","IconOnRegular","IconOffCompact","IconOffRegular","IconIndeterminate","restProps","inputRef","platform","sizeY","adaptiveSizeY","useEffect","indeterminateValue","undefined","current","Boolean","handleChange","useCallback","event","checked","process","env","NODE_ENV","defaultChecked","baseClassName","Component","type","Fragment","compact","regular","width","height"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Checkbox/CheckboxInput/CheckboxInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon20CheckBoxIndetermanate,\n Icon20CheckBoxOff,\n Icon20CheckBoxOn,\n Icon24CheckBoxOff,\n Icon24CheckBoxOn,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityConditionalRender } from '../../../hooks/useAdaptivityConditionalRender';\nimport { useExternRef } from '../../../hooks/useExternRef';\nimport { useMergeProps } from '../../../hooks/useMergeProps';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { warnOnce } from '../../../lib/warnOnce';\nimport type { HasDataAttribute, HasRootRef } from '../../../types';\nimport { RootComponent } from '../../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './CheckboxInput.module.css';\n\ntype VendorIconType = typeof Icon20CheckBoxOn;\n\nexport type CheckboxInputIconType =\n | React.ComponentType<React.SVGProps<SVGSVGElement>>\n | VendorIconType;\n\nfunction setIndeterminate(el: HTMLInputElement, indeterminate: boolean) {\n el.indeterminate = indeterminate;\n}\n\nexport interface CheckboxInputProps\n extends React.ComponentProps<'input'>,\n HasRootRef<HTMLDivElement> {\n /**\n * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ input: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLInputElement>;\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `input`: свойства для прокидывания в скрытый `input`.\n */\n slotProps?: {\n root?: Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> &\n HasRootRef<HTMLDivElement> &\n HasDataAttribute;\n input?: React.ComponentProps<'input'> & HasRootRef<HTMLInputElement> & HasDataAttribute;\n };\n /**\n * Неопределенное состояние чекбокса.\n */\n indeterminate?: boolean;\n /**\n * Неопределенное состояние чекбокса по умолчанию.\n */\n defaultIndeterminate?: boolean;\n /**\n * Иконка для включенного состояния в компактном режиме.\n */\n IconOnCompact?: CheckboxInputIconType;\n /**\n * Иконка для включенного состояния в обычном режиме.\n */\n IconOnRegular?: CheckboxInputIconType;\n /**\n * Иконка для выключенного состояния в компактном режиме.\n */\n IconOffCompact?: CheckboxInputIconType;\n /**\n * Иконка для выключенного состояния в обычном режиме.\n */\n IconOffRegular?: CheckboxInputIconType;\n /**\n * Иконка для неопределенного состояния.\n */\n IconIndeterminate?: CheckboxInputIconType;\n}\n\nconst warn = warnOnce('Checkbox');\n\nexport function CheckboxInput({\n className,\n style,\n getRootRef,\n getRef,\n\n indeterminate,\n defaultIndeterminate,\n IconOnCompact = Icon20CheckBoxOn,\n IconOnRegular = Icon24CheckBoxOn,\n IconOffCompact = Icon20CheckBoxOff,\n IconOffRegular = Icon24CheckBoxOff,\n IconIndeterminate = Icon20CheckBoxIndetermanate,\n\n slotProps,\n ...restProps\n}: CheckboxInputProps) {\n const rootRest = useMergeProps(\n {\n className,\n style,\n getRootRef,\n },\n slotProps?.root,\n );\n\n const {\n onChange,\n getRootRef: getInputRef,\n ...inputRest\n } = useMergeProps({ getRootRef: getRef, ...restProps }, slotProps?.input);\n\n const inputRef = useExternRef<HTMLInputElement>(getInputRef);\n\n const platform = usePlatform();\n const { sizeY: adaptiveSizeY } = useAdaptivityConditionalRender();\n\n React.useEffect(() => {\n const indeterminateValue = indeterminate === undefined ? defaultIndeterminate : indeterminate;\n\n if (inputRef.current) {\n setIndeterminate(inputRef.current, Boolean(indeterminateValue));\n }\n }, [defaultIndeterminate, indeterminate, inputRef]);\n\n const handleChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (\n defaultIndeterminate !== undefined &&\n indeterminate === undefined &&\n inputRest.checked === undefined &&\n inputRef.current\n ) {\n setIndeterminate(inputRef.current, false);\n }\n if (indeterminate !== undefined && inputRef.current) {\n setIndeterminate(inputRef.current, Boolean(indeterminate));\n }\n onChange && onChange(event);\n },\n [defaultIndeterminate, indeterminate, inputRest.checked, onChange, inputRef],\n );\n\n if (process.env.NODE_ENV === 'development') {\n /* istanbul ignore if: не проверяем в тестах */\n if (getRef) {\n warn('Свойство `getRef` устаревшее, используйте `slotProps={ input: { getRootRef: ... } }`');\n }\n\n if (defaultIndeterminate && inputRest.defaultChecked) {\n warn('defaultIndeterminate и defaultChecked не могут быть true одновременно', 'error');\n }\n\n if (indeterminate && inputRest.checked) {\n warn('indeterminate и checked не могут быть true одновременно', 'error');\n }\n\n if (inputRest.defaultChecked && inputRest.checked) {\n warn('defaultChecked и checked не могут быть true одновременно', 'error');\n }\n }\n\n return (\n <RootComponent baseClassName={styles.host} {...rootRest}>\n <VisuallyHidden\n Component=\"input\"\n type=\"checkbox\"\n onChange={handleChange}\n getRootRef={inputRef}\n baseClassName={styles.input}\n {...inputRest}\n />\n {platform === 'vkcom' ? (\n <IconOnCompact className={styles.iconOn} />\n ) : (\n <React.Fragment>\n {adaptiveSizeY.compact && (\n <IconOnCompact className={classNames(styles.iconOn, adaptiveSizeY.compact.className)} />\n )}\n {adaptiveSizeY.regular && (\n <IconOnRegular className={classNames(styles.iconOn, adaptiveSizeY.regular.className)} />\n )}\n </React.Fragment>\n )}\n {platform === 'vkcom' ? (\n <IconOffCompact className={styles.iconOff} />\n ) : (\n <React.Fragment>\n {adaptiveSizeY.compact && (\n <IconOffCompact\n className={classNames(styles.iconOff, adaptiveSizeY.compact.className)}\n />\n )}\n {adaptiveSizeY.regular && (\n <IconOffRegular\n className={classNames(styles.iconOff, adaptiveSizeY.regular.className)}\n />\n )}\n </React.Fragment>\n )}\n {platform === 'vkcom' ? (\n <IconIndeterminate width={20} height={20} className={styles.iconIndeterminate} />\n ) : (\n <React.Fragment>\n {adaptiveSizeY.compact && (\n <IconIndeterminate\n className={classNames(styles.iconIndeterminate, adaptiveSizeY.compact.className)}\n width={20}\n height={20}\n />\n )}\n {adaptiveSizeY.regular && (\n <IconIndeterminate\n className={classNames(styles.iconIndeterminate, adaptiveSizeY.regular.className)}\n width={24}\n height={24}\n />\n )}\n </React.Fragment>\n )}\n </RootComponent>\n );\n}\n"],"names":["React","Icon20CheckBoxIndetermanate","Icon20CheckBoxOff","Icon20CheckBoxOn","Icon24CheckBoxOff","Icon24CheckBoxOn","classNames","useAdaptivityConditionalRender","useExternRef","useMergeProps","usePlatform","warnOnce","RootComponent","VisuallyHidden","setIndeterminate","el","indeterminate","warn","CheckboxInput","className","style","getRootRef","getRef","defaultIndeterminate","IconOnCompact","IconOnRegular","IconOffCompact","IconOffRegular","IconIndeterminate","slotProps","restProps","rootRest","root","input","onChange","getInputRef","inputRest","inputRef","platform","sizeY","adaptiveSizeY","useEffect","indeterminateValue","undefined","current","Boolean","handleChange","useCallback","event","checked","process","env","NODE_ENV","defaultChecked","baseClassName","Component","type","Fragment","compact","regular","width","height"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { CheckboxProps } from '../Checkbox';
2
- export declare function CheckboxSimple({ children, className, style, getRootRef, description, hoverMode: hoverModeProp, activeMode: activeModeProp, hasHover, hasActive, focusVisibleMode, titleAfter, noPadding, ...restProps }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function CheckboxSimple({ children, className, style, getRootRef, getRef, description, hoverMode: hoverModeProp, activeMode: activeModeProp, hasHover, hasActive, focusVisibleMode, titleAfter, noPadding, indeterminate, defaultIndeterminate, IconOnCompact, IconOnRegular, IconOffCompact, IconOffRegular, IconIndeterminate, slotProps, ...restProps }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=CheckboxSimple.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxSimple.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AASjD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,SAAS,EACT,KAAK,EACL,UAAU,EACV,WAAW,EACX,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,cAAc,EAC1B,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,GAAG,SAAS,EACb,EAAE,aAAa,2CA2Bf"}
1
+ {"version":3,"file":"CheckboxSimple.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AASjD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,SAAS,EACT,KAAK,EACL,UAAU,EACV,MAAM,EACN,WAAW,EACX,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,cAAc,EAC1B,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,SAAS,EAET,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,iBAAiB,EAEjB,SAAS,EACT,GAAG,SAAS,EACb,EAAE,aAAa,2CA6Cf"}
@@ -1,9 +1,11 @@
1
1
  'use client';
2
2
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
4
  import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
4
5
  import { jsx as _jsx } from "react/jsx-runtime";
5
6
  import { classNames } from "@vkontakte/vkjs";
6
7
  import { useAdaptivity } from "../../../hooks/useAdaptivity.js";
8
+ import { useMergeProps } from "../../../hooks/useMergeProps.js";
7
9
  import { Tappable } from "../../Tappable/Tappable.js";
8
10
  import { CheckboxInput } from "../CheckboxInput/CheckboxInput.js";
9
11
  const sizeYClassNames = {
@@ -11,11 +13,12 @@ const sizeYClassNames = {
11
13
  compact: "vkuiCheckboxSimple__sizeYCompact"
12
14
  };
13
15
  export function CheckboxSimple(_param) {
14
- var { children, className, style, getRootRef, description, hoverMode: hoverModeProp, activeMode: activeModeProp, hasHover, hasActive, focusVisibleMode, titleAfter, noPadding } = _param, restProps = _object_without_properties(_param, [
16
+ var { children, className, style, getRootRef, getRef, description, hoverMode: hoverModeProp, activeMode: activeModeProp, hasHover, hasActive, focusVisibleMode, titleAfter, noPadding, indeterminate, defaultIndeterminate, IconOnCompact, IconOnRegular, IconOffCompact, IconOffRegular, IconIndeterminate, slotProps } = _param, restProps = _object_without_properties(_param, [
15
17
  "children",
16
18
  "className",
17
19
  "style",
18
20
  "getRootRef",
21
+ "getRef",
19
22
  "description",
20
23
  "hoverMode",
21
24
  "activeMode",
@@ -23,24 +26,50 @@ export function CheckboxSimple(_param) {
23
26
  "hasActive",
24
27
  "focusVisibleMode",
25
28
  "titleAfter",
26
- "noPadding"
29
+ "noPadding",
30
+ "indeterminate",
31
+ "defaultIndeterminate",
32
+ "IconOnCompact",
33
+ "IconOnRegular",
34
+ "IconOffCompact",
35
+ "IconOffRegular",
36
+ "IconIndeterminate",
37
+ "slotProps"
27
38
  ]);
39
+ const rootRest = useMergeProps({
40
+ className,
41
+ style,
42
+ getRootRef
43
+ }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root);
44
+ const inputRest = useMergeProps(_object_spread({
45
+ getRootRef: getRef
46
+ }, restProps), slotProps === null || slotProps === void 0 ? void 0 : slotProps.input);
28
47
  const { sizeY = 'none' } = useAdaptivity();
29
48
  const hoverMode = hoverModeProp || (noPadding ? 'opacity' : 'background');
30
49
  const activeMode = activeModeProp || (noPadding ? 'opacity' : 'background');
31
- return /*#__PURE__*/ _jsx(Tappable, {
32
- className: classNames(className, "vkuiCheckboxSimple__host", !noPadding && "vkuiCheckboxSimple__withPadding", sizeY !== 'regular' && sizeYClassNames[sizeY]),
33
- style: style,
34
- disabled: restProps.disabled,
35
- getRootRef: getRootRef,
50
+ return /*#__PURE__*/ _jsx(Tappable, _object_spread_props(_object_spread({
51
+ baseClassName: classNames("vkuiCheckboxSimple__host", !noPadding && "vkuiCheckboxSimple__withPadding", sizeY !== 'regular' && sizeYClassNames[sizeY]),
52
+ disabled: inputRest.disabled,
36
53
  hoverMode: hoverMode,
37
54
  activeMode: activeMode,
38
55
  hasHover: hasHover,
39
56
  hasActive: hasActive,
40
57
  focusVisibleMode: focusVisibleMode,
41
- Component: "label",
42
- children: /*#__PURE__*/ _jsx(CheckboxInput, _object_spread({}, restProps))
43
- });
58
+ Component: "label"
59
+ }, rootRest), {
60
+ children: /*#__PURE__*/ _jsx(CheckboxInput, {
61
+ indeterminate: indeterminate,
62
+ defaultIndeterminate: defaultIndeterminate,
63
+ IconIndeterminate: IconIndeterminate,
64
+ IconOnCompact: IconOnCompact,
65
+ IconOnRegular: IconOnRegular,
66
+ IconOffCompact: IconOffCompact,
67
+ IconOffRegular: IconOffRegular,
68
+ slotProps: {
69
+ input: inputRest
70
+ }
71
+ })
72
+ }));
44
73
  }
45
74
 
46
75
  //# sourceMappingURL=CheckboxSimple.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Tappable } from '../../Tappable/Tappable';\nimport type { CheckboxProps } from '../Checkbox';\nimport { CheckboxInput } from '../CheckboxInput/CheckboxInput';\nimport styles from './CheckboxSimple.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport function CheckboxSimple({\n children,\n className,\n style,\n getRootRef,\n description,\n hoverMode: hoverModeProp,\n activeMode: activeModeProp,\n hasHover,\n hasActive,\n focusVisibleMode,\n titleAfter,\n noPadding,\n ...restProps\n}: CheckboxProps) {\n const { sizeY = 'none' } = useAdaptivity();\n\n const hoverMode = hoverModeProp || (noPadding ? 'opacity' : 'background');\n const activeMode = activeModeProp || (noPadding ? 'opacity' : 'background');\n\n return (\n <Tappable\n className={classNames(\n className,\n styles.host,\n !noPadding && styles.withPadding,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n )}\n style={style}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasHover={hasHover}\n hasActive={hasActive}\n focusVisibleMode={focusVisibleMode}\n Component=\"label\"\n >\n <CheckboxInput {...restProps} />\n </Tappable>\n );\n}\n"],"names":["classNames","useAdaptivity","Tappable","CheckboxInput","sizeYClassNames","none","compact","CheckboxSimple","children","className","style","getRootRef","description","hoverMode","hoverModeProp","activeMode","activeModeProp","hasHover","hasActive","focusVisibleMode","titleAfter","noPadding","restProps","sizeY","disabled","Component"],"mappings":"AAAA;;;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,QAAQ,QAAQ,6BAA0B;AAEnD,SAASC,aAAa,QAAQ,oCAAiC;AAG/D,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AAEA,OAAO,SAASC,eAAe;QAAA,EAC7BC,QAAQ,EACRC,SAAS,EACTC,KAAK,EACLC,UAAU,EACVC,WAAW,EACXC,WAAWC,aAAa,EACxBC,YAAYC,cAAc,EAC1BC,QAAQ,EACRC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,SAAS,EAEK,GAde,QAa1BC,uCAb0B;QAC7Bd;QACAC;QACAC;QACAC;QACAC;QACAC;QACAE;QACAE;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEE,QAAQ,MAAM,EAAE,GAAGtB;IAE3B,MAAMY,YAAYC,iBAAkBO,CAAAA,YAAY,YAAY,YAAW;IACvE,MAAMN,aAAaC,kBAAmBK,CAAAA,YAAY,YAAY,YAAW;IAEzE,qBACE,KAACnB;QACCO,WAAWT,WACTS,uCAEA,CAACY,gDACDE,UAAU,aAAanB,eAAe,CAACmB,MAAM;QAE/Cb,OAAOA;QACPc,UAAUF,UAAUE,QAAQ;QAC5Bb,YAAYA;QACZE,WAAWA;QACXE,YAAYA;QACZE,UAAUA;QACVC,WAAWA;QACXC,kBAAkBA;QAClBM,WAAU;kBAEV,cAAA,KAACtB,kCAAkBmB;;AAGzB"}
1
+ {"version":3,"sources":["../../../../src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { useMergeProps } from '../../../hooks/useMergeProps';\nimport { Tappable } from '../../Tappable/Tappable';\nimport type { CheckboxProps } from '../Checkbox';\nimport { CheckboxInput } from '../CheckboxInput/CheckboxInput';\nimport styles from './CheckboxSimple.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport function CheckboxSimple({\n children,\n className,\n style,\n getRootRef,\n getRef,\n description,\n hoverMode: hoverModeProp,\n activeMode: activeModeProp,\n hasHover,\n hasActive,\n focusVisibleMode,\n titleAfter,\n noPadding,\n\n indeterminate,\n defaultIndeterminate,\n IconOnCompact,\n IconOnRegular,\n IconOffCompact,\n IconOffRegular,\n IconIndeterminate,\n\n slotProps,\n ...restProps\n}: CheckboxProps) {\n const rootRest = useMergeProps(\n {\n className,\n style,\n getRootRef,\n },\n slotProps?.root,\n );\n\n const inputRest = useMergeProps({ getRootRef: getRef, ...restProps }, slotProps?.input);\n\n const { sizeY = 'none' } = useAdaptivity();\n\n const hoverMode = hoverModeProp || (noPadding ? 'opacity' : 'background');\n const activeMode = activeModeProp || (noPadding ? 'opacity' : 'background');\n\n return (\n <Tappable\n baseClassName={classNames(\n styles.host,\n !noPadding && styles.withPadding,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n )}\n disabled={inputRest.disabled}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasHover={hasHover}\n hasActive={hasActive}\n focusVisibleMode={focusVisibleMode}\n Component=\"label\"\n {...rootRest}\n >\n <CheckboxInput\n indeterminate={indeterminate}\n defaultIndeterminate={defaultIndeterminate}\n IconIndeterminate={IconIndeterminate}\n IconOnCompact={IconOnCompact}\n IconOnRegular={IconOnRegular}\n IconOffCompact={IconOffCompact}\n IconOffRegular={IconOffRegular}\n slotProps={{ input: inputRest }}\n />\n </Tappable>\n );\n}\n"],"names":["classNames","useAdaptivity","useMergeProps","Tappable","CheckboxInput","sizeYClassNames","none","compact","CheckboxSimple","children","className","style","getRootRef","getRef","description","hoverMode","hoverModeProp","activeMode","activeModeProp","hasHover","hasActive","focusVisibleMode","titleAfter","noPadding","indeterminate","defaultIndeterminate","IconOnCompact","IconOnRegular","IconOffCompact","IconOffRegular","IconIndeterminate","slotProps","restProps","rootRest","root","inputRest","input","sizeY","baseClassName","disabled","Component"],"mappings":"AAAA;;;;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,QAAQ,QAAQ,6BAA0B;AAEnD,SAASC,aAAa,QAAQ,oCAAiC;AAG/D,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AAEA,OAAO,SAASC,eAAe;QAAA,EAC7BC,QAAQ,EACRC,SAAS,EACTC,KAAK,EACLC,UAAU,EACVC,MAAM,EACNC,WAAW,EACXC,WAAWC,aAAa,EACxBC,YAAYC,cAAc,EAC1BC,QAAQ,EACRC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,SAAS,EAETC,aAAa,EACbC,oBAAoB,EACpBC,aAAa,EACbC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,iBAAiB,EAEjBC,SAAS,EAEK,GAzBe,QAwB1BC,uCAxB0B;QAC7BvB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAE;QACAE;QACAC;QACAC;QACAC;QACAC;QAEAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QAEAC;;IAGA,MAAME,WAAW/B,cACf;QACEQ;QACAC;QACAC;IACF,GACAmB,sBAAAA,gCAAAA,UAAWG,IAAI;IAGjB,MAAMC,YAAYjC,cAAc;QAAEU,YAAYC;OAAWmB,YAAaD,sBAAAA,gCAAAA,UAAWK,KAAK;IAEtF,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGpC;IAE3B,MAAMc,YAAYC,iBAAkBO,CAAAA,YAAY,YAAY,YAAW;IACvE,MAAMN,aAAaC,kBAAmBK,CAAAA,YAAY,YAAY,YAAW;IAEzE,qBACE,KAACpB;QACCmC,eAAetC,uCAEb,CAACuB,gDACDc,UAAU,aAAahC,eAAe,CAACgC,MAAM;QAE/CE,UAAUJ,UAAUI,QAAQ;QAC5BxB,WAAWA;QACXE,YAAYA;QACZE,UAAUA;QACVC,WAAWA;QACXC,kBAAkBA;QAClBmB,WAAU;OACNP;kBAEJ,cAAA,KAAC7B;YACCoB,eAAeA;YACfC,sBAAsBA;YACtBK,mBAAmBA;YACnBJ,eAAeA;YACfC,eAAeA;YACfC,gBAAgBA;YAChBC,gBAAgBA;YAChBE,WAAW;gBAAEK,OAAOD;YAAU;;;AAItC"}
@@ -10,5 +10,5 @@ export interface ChipsInputProps<Option extends ChipOption> extends ChipsInputBa
10
10
  /**
11
11
  * @see https://vkui.io/components/chips-input
12
12
  */
13
- export declare const ChipsInput: <Option extends ChipOption>({ value: valueProp, defaultValue, onChange, getRef, inputValue: inputValueProp, defaultInputValue: inputDefaultValueProp, onInputChange: onInputChangeProp, getOptionValue, getOptionLabel, getNewOptionData, disabled, allowClearButton, delimiter, ...restProps }: ChipsInputProps<Option>) => React.ReactNode;
13
+ export declare const ChipsInput: <Option extends ChipOption>({ value: valueProp, defaultValue, onChange, getRef, inputValue: inputValueProp, defaultInputValue: defaultInputValueProp, onInputChange: onInputChangeProp, getOptionValue, getOptionLabel, getNewOptionData, disabled: disabledProp, allowClearButton, delimiter, slotProps, ...restProps }: ChipsInputProps<Option>) => React.ReactNode;
14
14
  //# sourceMappingURL=ChipsInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChipsInput.d.ts","sourceRoot":"","sources":["../../../src/components/ChipsInput/ChipsInput.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,UAAU,CACxD,SAAQ,mBAAmB,CAAC,MAAM,CAAC,EACjC,kBAAkB,CAAC,MAAM,CAAC,EAC1B,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;IAC5E;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,SAAS,UAAU,EAAE,qQAoBnD,eAAe,CAAC,MAAM,CAAC,KAAG,KAAK,CAAC,SA6ClC,CAAC"}
1
+ {"version":3,"file":"ChipsInput.d.ts","sourceRoot":"","sources":["../../../src/components/ChipsInput/ChipsInput.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,UAAU,CACxD,SAAQ,mBAAmB,CAAC,MAAM,CAAC,EACjC,kBAAkB,CAAC,MAAM,CAAC,EAC1B,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;IAC5E;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,SAAS,UAAU,EAAE,8RAsBnD,eAAe,CAAC,MAAM,CAAC,KAAG,KAAK,CAAC,SAqElC,CAAC"}
@@ -4,6 +4,7 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
6
  import { useExternRef } from "../../hooks/useExternRef.js";
7
+ import { useMergeProps } from "../../hooks/useMergeProps.js";
7
8
  import { ChipsInputBase } from "../ChipsInputBase/ChipsInputBase.js";
8
9
  import { useChipsInput } from "./useChipsInput.js";
9
10
  /**
@@ -11,8 +12,8 @@ import { useChipsInput } from "./useChipsInput.js";
11
12
  */ export const ChipsInput = (_param)=>{
12
13
  var { // option
13
14
  value: valueProp, defaultValue, onChange, // input
14
- getRef, inputValue: inputValueProp, defaultInputValue: inputDefaultValueProp, onInputChange: onInputChangeProp, getOptionValue, getOptionLabel, getNewOptionData, // other
15
- disabled, allowClearButton, delimiter } = _param, restProps = _object_without_properties(_param, [
15
+ getRef, inputValue: inputValueProp, defaultInputValue: defaultInputValueProp, onInputChange: onInputChangeProp, getOptionValue, getOptionLabel, getNewOptionData, // other
16
+ disabled: disabledProp, allowClearButton, delimiter, slotProps } = _param, restProps = _object_without_properties(_param, [
16
17
  "value",
17
18
  "defaultValue",
18
19
  "onChange",
@@ -25,7 +26,21 @@ import { useChipsInput } from "./useChipsInput.js";
25
26
  "getNewOptionData",
26
27
  "disabled",
27
28
  "allowClearButton",
28
- "delimiter"
29
+ "delimiter",
30
+ "slotProps"
31
+ ]);
32
+ const _useMergeProps = useMergeProps({
33
+ getRootRef: getRef,
34
+ value: inputValueProp,
35
+ defaultValue: defaultInputValueProp,
36
+ onChange: onInputChangeProp,
37
+ disabled: disabledProp
38
+ }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.input), { getRootRef: getInputRef, value: resolvedInputValue, defaultValue: resolvedInputDefaultValue, onChange: resolvedOnInputChange, disabled } = _useMergeProps, inputRest = _object_without_properties(_useMergeProps, [
39
+ "getRootRef",
40
+ "value",
41
+ "defaultValue",
42
+ "onChange",
43
+ "disabled"
29
44
  ]);
30
45
  const { value, addOptionFromInput, removeOption, clearOptions, // input
31
46
  inputRef: inputRefHook, inputValue, onInputChange } = useChipsInput({
@@ -37,25 +52,29 @@ import { useChipsInput } from "./useChipsInput.js";
37
52
  getOptionValue,
38
53
  getNewOptionData,
39
54
  // input
40
- inputValue: inputValueProp,
41
- defaultInputValue: inputDefaultValueProp,
42
- onInputChange: onInputChangeProp,
55
+ inputValue: resolvedInputValue,
56
+ defaultInputValue: resolvedInputDefaultValue,
57
+ onInputChange: resolvedOnInputChange,
43
58
  // other
44
59
  disabled,
45
60
  delimiter
46
61
  });
47
- const inputRef = useExternRef(getRef, inputRefHook);
48
- return /*#__PURE__*/ _jsx(ChipsInputBase, _object_spread_props(_object_spread({}, restProps), {
49
- disabled: disabled,
62
+ const inputRef = useExternRef(getInputRef, inputRefHook);
63
+ return /*#__PURE__*/ _jsx(ChipsInputBase, _object_spread({
50
64
  value: value,
51
65
  clearButtonShown: allowClearButton && (!!value.length || !!inputValue.length),
52
66
  onAddChipOption: addOptionFromInput,
53
67
  onRemoveChipOption: removeOption,
54
68
  onClear: clearOptions,
55
- getRef: inputRef,
56
- inputValue: inputValue,
57
- onInputChange: onInputChange
58
- }));
69
+ slotProps: _object_spread_props(_object_spread({}, slotProps), {
70
+ input: _object_spread({
71
+ getRootRef: inputRef,
72
+ value: inputValue,
73
+ onChange: onInputChange,
74
+ disabled
75
+ }, inputRest)
76
+ })
77
+ }, restProps));
59
78
  };
60
79
 
61
80
  //# sourceMappingURL=ChipsInput.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ChipsInput/ChipsInput.tsx"],"sourcesContent":["'use client';\n\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { ChipsInputBase } from '../ChipsInputBase/ChipsInputBase';\nimport type { ChipOption, ChipsInputBaseProps } from '../ChipsInputBase/types';\nimport type { FormFieldProps } from '../FormField/FormField';\nimport { useChipsInput, type UseChipsInputProps } from './useChipsInput';\n\nexport interface ChipsInputProps<Option extends ChipOption>\n extends ChipsInputBaseProps<Option>,\n UseChipsInputProps<Option>,\n Pick<FormFieldProps, 'status' | 'mode' | 'before' | 'after' | 'maxHeight'> {\n /**\n * Если `true`, то справа будет отображаться кнопка для очистки значения.\n */\n allowClearButton?: boolean;\n}\n\n/**\n * @see https://vkui.io/components/chips-input\n */\nexport const ChipsInput = <Option extends ChipOption>({\n // option\n value: valueProp,\n defaultValue,\n onChange,\n\n // input\n getRef,\n inputValue: inputValueProp,\n defaultInputValue: inputDefaultValueProp,\n onInputChange: onInputChangeProp,\n getOptionValue,\n getOptionLabel,\n getNewOptionData,\n\n // other\n disabled,\n allowClearButton,\n delimiter,\n ...restProps\n}: ChipsInputProps<Option>): React.ReactNode => {\n const {\n value,\n addOptionFromInput,\n removeOption,\n clearOptions,\n\n // input\n inputRef: inputRefHook,\n inputValue,\n onInputChange,\n } = useChipsInput({\n // option\n value: valueProp,\n defaultValue,\n onChange,\n getOptionLabel,\n getOptionValue,\n getNewOptionData,\n\n // input\n inputValue: inputValueProp,\n defaultInputValue: inputDefaultValueProp,\n onInputChange: onInputChangeProp,\n\n // other\n disabled,\n delimiter,\n });\n const inputRef = useExternRef(getRef, inputRefHook);\n\n return (\n <ChipsInputBase\n {...restProps}\n disabled={disabled}\n value={value}\n clearButtonShown={allowClearButton && (!!value.length || !!inputValue.length)}\n onAddChipOption={addOptionFromInput}\n onRemoveChipOption={removeOption}\n onClear={clearOptions}\n getRef={inputRef}\n inputValue={inputValue}\n onInputChange={onInputChange}\n />\n );\n};\n"],"names":["useExternRef","ChipsInputBase","useChipsInput","ChipsInput","value","valueProp","defaultValue","onChange","getRef","inputValue","inputValueProp","defaultInputValue","inputDefaultValueProp","onInputChange","onInputChangeProp","getOptionValue","getOptionLabel","getNewOptionData","disabled","allowClearButton","delimiter","restProps","addOptionFromInput","removeOption","clearOptions","inputRef","inputRefHook","clearButtonShown","length","onAddChipOption","onRemoveChipOption","onClear"],"mappings":"AAAA;;;;;AAEA,SAASA,YAAY,QAAQ,8BAA2B;AACxD,SAASC,cAAc,QAAQ,sCAAmC;AAGlE,SAASC,aAAa,QAAiC,qBAAkB;AAYzE;;CAEC,GACD,OAAO,MAAMC,aAAa;QAA4B,EACpD,SAAS;IACTC,OAAOC,SAAS,EAChBC,YAAY,EACZC,QAAQ,EAER,QAAQ;IACRC,MAAM,EACNC,YAAYC,cAAc,EAC1BC,mBAAmBC,qBAAqB,EACxCC,eAAeC,iBAAiB,EAChCC,cAAc,EACdC,cAAc,EACdC,gBAAgB,EAEhB,QAAQ;IACRC,QAAQ,EACRC,gBAAgB,EAChBC,SAAS,EAEe,WADrBC;QAjBHjB;QACAE;QACAC;QAGAC;QACAC;QACAE;QACAE;QACAE;QACAC;QACAC;QAGAC;QACAC;QACAC;;IAGA,MAAM,EACJhB,KAAK,EACLkB,kBAAkB,EAClBC,YAAY,EACZC,YAAY,EAEZ,QAAQ;IACRC,UAAUC,YAAY,EACtBjB,UAAU,EACVI,aAAa,EACd,GAAGX,cAAc;QAChB,SAAS;QACTE,OAAOC;QACPC;QACAC;QACAS;QACAD;QACAE;QAEA,QAAQ;QACRR,YAAYC;QACZC,mBAAmBC;QACnBC,eAAeC;QAEf,QAAQ;QACRI;QACAE;IACF;IACA,MAAMK,WAAWzB,aAAaQ,QAAQkB;IAEtC,qBACE,KAACzB,wDACKoB;QACJH,UAAUA;QACVd,OAAOA;QACPuB,kBAAkBR,oBAAqB,CAAA,CAAC,CAACf,MAAMwB,MAAM,IAAI,CAAC,CAACnB,WAAWmB,MAAM,AAAD;QAC3EC,iBAAiBP;QACjBQ,oBAAoBP;QACpBQ,SAASP;QACThB,QAAQiB;QACRhB,YAAYA;QACZI,eAAeA;;AAGrB,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/ChipsInput/ChipsInput.tsx"],"sourcesContent":["'use client';\n\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { ChipsInputBase } from '../ChipsInputBase/ChipsInputBase';\nimport type { ChipOption, ChipsInputBaseProps } from '../ChipsInputBase/types';\nimport type { FormFieldProps } from '../FormField/FormField';\nimport { useChipsInput, type UseChipsInputProps } from './useChipsInput';\n\nexport interface ChipsInputProps<Option extends ChipOption>\n extends ChipsInputBaseProps<Option>,\n UseChipsInputProps<Option>,\n Pick<FormFieldProps, 'status' | 'mode' | 'before' | 'after' | 'maxHeight'> {\n /**\n * Если `true`, то справа будет отображаться кнопка для очистки значения.\n */\n allowClearButton?: boolean;\n}\n\n/**\n * @see https://vkui.io/components/chips-input\n */\nexport const ChipsInput = <Option extends ChipOption>({\n // option\n value: valueProp,\n defaultValue,\n onChange,\n\n // input\n getRef,\n inputValue: inputValueProp,\n defaultInputValue: defaultInputValueProp,\n onInputChange: onInputChangeProp,\n getOptionValue,\n getOptionLabel,\n getNewOptionData,\n\n // other\n disabled: disabledProp,\n allowClearButton,\n delimiter,\n\n slotProps,\n ...restProps\n}: ChipsInputProps<Option>): React.ReactNode => {\n const {\n getRootRef: getInputRef,\n value: resolvedInputValue,\n defaultValue: resolvedInputDefaultValue,\n onChange: resolvedOnInputChange,\n disabled,\n ...inputRest\n } = useMergeProps(\n {\n getRootRef: getRef,\n value: inputValueProp,\n defaultValue: defaultInputValueProp,\n onChange: onInputChangeProp,\n disabled: disabledProp,\n },\n slotProps?.input,\n );\n\n const {\n value,\n addOptionFromInput,\n removeOption,\n clearOptions,\n\n // input\n inputRef: inputRefHook,\n inputValue,\n onInputChange,\n } = useChipsInput({\n // option\n value: valueProp,\n defaultValue,\n onChange,\n getOptionLabel,\n getOptionValue,\n getNewOptionData,\n\n // input\n inputValue: resolvedInputValue as string,\n defaultInputValue: resolvedInputDefaultValue as string,\n onInputChange: resolvedOnInputChange,\n\n // other\n disabled,\n delimiter,\n });\n const inputRef = useExternRef(getInputRef, inputRefHook);\n\n return (\n <ChipsInputBase\n value={value}\n clearButtonShown={allowClearButton && (!!value.length || !!inputValue.length)}\n onAddChipOption={addOptionFromInput}\n onRemoveChipOption={removeOption}\n onClear={clearOptions}\n slotProps={{\n ...slotProps,\n input: {\n getRootRef: inputRef,\n value: inputValue,\n onChange: onInputChange,\n disabled,\n ...inputRest,\n },\n }}\n {...restProps}\n />\n );\n};\n"],"names":["useExternRef","useMergeProps","ChipsInputBase","useChipsInput","ChipsInput","value","valueProp","defaultValue","onChange","getRef","inputValue","inputValueProp","defaultInputValue","defaultInputValueProp","onInputChange","onInputChangeProp","getOptionValue","getOptionLabel","getNewOptionData","disabled","disabledProp","allowClearButton","delimiter","slotProps","restProps","getRootRef","input","getInputRef","resolvedInputValue","resolvedInputDefaultValue","resolvedOnInputChange","inputRest","addOptionFromInput","removeOption","clearOptions","inputRef","inputRefHook","clearButtonShown","length","onAddChipOption","onRemoveChipOption","onClear"],"mappings":"AAAA;;;;;AAEA,SAASA,YAAY,QAAQ,8BAA2B;AACxD,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,cAAc,QAAQ,sCAAmC;AAGlE,SAASC,aAAa,QAAiC,qBAAkB;AAYzE;;CAEC,GACD,OAAO,MAAMC,aAAa;QAA4B,EACpD,SAAS;IACTC,OAAOC,SAAS,EAChBC,YAAY,EACZC,QAAQ,EAER,QAAQ;IACRC,MAAM,EACNC,YAAYC,cAAc,EAC1BC,mBAAmBC,qBAAqB,EACxCC,eAAeC,iBAAiB,EAChCC,cAAc,EACdC,cAAc,EACdC,gBAAgB,EAEhB,QAAQ;IACRC,UAAUC,YAAY,EACtBC,gBAAgB,EAChBC,SAAS,EAETC,SAAS,EAEe,WADrBC;QAnBHnB;QACAE;QACAC;QAGAC;QACAC;QACAE;QACAE;QACAE;QACAC;QACAC;QAGAC;QACAE;QACAC;QAEAC;;IAGA,MAOItB,iBAAAA,cACF;QACEwB,YAAYhB;QACZJ,OAAOM;QACPJ,cAAcM;QACdL,UAAUO;QACVI,UAAUC;IACZ,GACAG,sBAAAA,gCAAAA,UAAWG,KAAK,GAfZ,EACJD,YAAYE,WAAW,EACvBtB,OAAOuB,kBAAkB,EACzBrB,cAAcsB,yBAAyB,EACvCrB,UAAUsB,qBAAqB,EAC/BX,QAAQ,EAET,GAAGlB,gBADC8B,uCACD9B;QANFwB;QACApB;QACAE;QACAC;QACAW;;IAaF,MAAM,EACJd,KAAK,EACL2B,kBAAkB,EAClBC,YAAY,EACZC,YAAY,EAEZ,QAAQ;IACRC,UAAUC,YAAY,EACtB1B,UAAU,EACVI,aAAa,EACd,GAAGX,cAAc;QAChB,SAAS;QACTE,OAAOC;QACPC;QACAC;QACAS;QACAD;QACAE;QAEA,QAAQ;QACRR,YAAYkB;QACZhB,mBAAmBiB;QACnBf,eAAegB;QAEf,QAAQ;QACRX;QACAG;IACF;IACA,MAAMa,WAAWnC,aAAa2B,aAAaS;IAE3C,qBACE,KAAClC;QACCG,OAAOA;QACPgC,kBAAkBhB,oBAAqB,CAAA,CAAC,CAAChB,MAAMiC,MAAM,IAAI,CAAC,CAAC5B,WAAW4B,MAAM,AAAD;QAC3EC,iBAAiBP;QACjBQ,oBAAoBP;QACpBQ,SAASP;QACTX,WAAW,wCACNA;YACHG,OAAO;gBACLD,YAAYU;gBACZ9B,OAAOK;gBACPF,UAAUM;gBACVK;eACGY;;OAGHP;AAGV,EAAE"}
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import type { ChipOption, ChipsInputBasePrivateProps } from './types';
3
- export declare const ChipsInputBase: <O extends ChipOption>({ getRootRef, style, className, before, after, status, mode, maxHeight, value, onAddChipOption, "onRemoveChipOption": onRemoveChipOptionProp, renderChip, getRef, "id": idProp, inputValue, placeholder, disabled, readOnly, addOnBlur, onBlur, onInputChange, ClearButton, clearButtonShown, clearButtonTestId, onClear, chipsListLabel, "aria-label": ariaLabel, ...restProps }: ChipsInputBasePrivateProps<O>) => React.ReactNode;
3
+ export declare const ChipsInputBase: <O extends ChipOption>({ "getRootRef": rootGetRootRef, "style": rootStyle, "className": rootClassName, before, after, status, mode, maxHeight, value, onAddChipOption, "onRemoveChipOption": onRemoveChipOptionProp, renderChip, getRef, "inputValue": inputValueProp, addOnBlur, onInputChange, ClearButton, clearButtonShown, clearButtonTestId, onClear, chipsListLabel, "aria-label": ariaLabel, slotProps, ...restProps }: ChipsInputBasePrivateProps<O>) => React.ReactNode;
4
4
  //# sourceMappingURL=ChipsInputBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChipsInputBase.d.ts","sourceRoot":"","sources":["../../../src/components/ChipsInputBase/ChipsInputBase.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsB/B,OAAO,KAAK,EAAE,UAAU,EAAmB,0BAA0B,EAAc,MAAM,SAAS,CAAC;AAQnG,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,UAAU,EAAE,mXAsClD,0BAA0B,CAAC,CAAC,CAAC,KAAG,KAAK,CAAC,SAsRxC,CAAC"}
1
+ {"version":3,"file":"ChipsInputBase.d.ts","sourceRoot":"","sources":["../../../src/components/ChipsInputBase/ChipsInputBase.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAyB/B,OAAO,KAAK,EAAE,UAAU,EAAmB,0BAA0B,EAAc,MAAM,SAAS,CAAC;AAUnG,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,UAAU,EAAE,yYAmClD,0BAA0B,CAAC,CAAC,CAAC,KAAG,KAAK,CAAC,SA+TxC,CAAC"}