@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.
- package/dist/components/Box/Box.d.ts +11 -0
- package/dist/components/Box/Box.d.ts.map +1 -0
- package/dist/components/Box/Box.js +25 -0
- package/dist/components/Box/Box.js.map +1 -0
- package/dist/components/CarouselBase/CarouselBase.d.ts +1 -1
- package/dist/components/CarouselBase/CarouselBase.d.ts.map +1 -1
- package/dist/components/CarouselBase/CarouselBase.js +6 -4
- package/dist/components/CarouselBase/CarouselBase.js.map +1 -1
- package/dist/components/CarouselBase/constants.d.ts +1 -1
- package/dist/components/CarouselBase/constants.d.ts.map +1 -1
- package/dist/components/CarouselBase/constants.js +1 -1
- package/dist/components/CarouselBase/constants.js.map +1 -1
- package/dist/components/CarouselBase/hooks.d.ts +3 -1
- package/dist/components/CarouselBase/hooks.d.ts.map +1 -1
- package/dist/components/CarouselBase/hooks.js +46 -6
- package/dist/components/CarouselBase/hooks.js.map +1 -1
- package/dist/components/CarouselBase/types.d.ts +12 -0
- package/dist/components/CarouselBase/types.d.ts.map +1 -1
- package/dist/components/CarouselBase/types.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +11 -2
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.js +44 -10
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +16 -3
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js +32 -19
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
- package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts +1 -1
- package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts.map +1 -1
- package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.js +39 -10
- package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.js.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
- package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.js +32 -13
- package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.d.ts +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.js +52 -26
- package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/components/ChipsInputBase/types.d.ts +13 -4
- package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/types.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js +67 -38
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +16 -2
- package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +99 -50
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts +6 -2
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +38 -20
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
- package/dist/components/CustomSelect/helpers.d.ts +1 -0
- package/dist/components/CustomSelect/helpers.d.ts.map +1 -1
- package/dist/components/CustomSelect/helpers.js +11 -0
- package/dist/components/CustomSelect/helpers.js.map +1 -1
- package/dist/components/Div/Div.d.ts +3 -0
- package/dist/components/Div/Div.d.ts.map +1 -1
- package/dist/components/Div/Div.js +11 -1
- package/dist/components/Div/Div.js.map +1 -1
- package/dist/components/File/File.d.ts +16 -3
- package/dist/components/File/File.d.ts.map +1 -1
- package/dist/components/File/File.js +29 -17
- package/dist/components/File/File.js.map +1 -1
- package/dist/components/Input/Input.d.ts +16 -3
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/Input/Input.js +28 -13
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts +17 -3
- package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.js +37 -14
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/Radio/Radio.d.ts +18 -3
- package/dist/components/Radio/Radio.d.ts.map +1 -1
- package/dist/components/Radio/Radio.js +31 -11
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/Radio/RadioInput/RadioInput.d.ts +16 -3
- package/dist/components/Radio/RadioInput/RadioInput.d.ts.map +1 -1
- package/dist/components/Radio/RadioInput/RadioInput.js +22 -11
- package/dist/components/Radio/RadioInput/RadioInput.js.map +1 -1
- package/dist/components/Search/Search.d.ts +16 -3
- package/dist/components/Search/Search.d.ts.map +1 -1
- package/dist/components/Search/Search.js +50 -28
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.js +10 -4
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/SelectionControl/SelectionControl.d.ts +2 -2
- package/dist/components/SelectionControl/SelectionControl.d.ts.map +1 -1
- package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts +10 -1
- package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
- package/dist/components/Snackbar/Snackbar.js +20 -6
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.d.ts +16 -3
- package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.js +24 -9
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts +16 -3
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.js +32 -20
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +16 -3
- package/dist/components/Textarea/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.js +36 -18
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/WriteBar/WriteBar.d.ts +16 -3
- package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
- package/dist/components/WriteBar/WriteBar.js +28 -11
- package/dist/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/Box/Box.js +19 -0
- package/dist/cssm/components/Box/Box.js.map +1 -0
- package/dist/cssm/components/CarouselBase/CarouselBase.js +4 -4
- package/dist/cssm/components/CarouselBase/CarouselBase.js.map +1 -1
- package/dist/cssm/components/CarouselBase/constants.js +1 -1
- package/dist/cssm/components/CarouselBase/constants.js.map +1 -1
- package/dist/cssm/components/CarouselBase/hooks.js +46 -6
- package/dist/cssm/components/CarouselBase/hooks.js.map +1 -1
- package/dist/cssm/components/CarouselBase/types.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.js +29 -6
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js +24 -13
- package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
- package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.js +24 -6
- package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.js.map +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.js +25 -11
- package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +30 -12
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +49 -30
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +73 -41
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +20 -9
- package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
- package/dist/cssm/components/CustomSelect/helpers.js +11 -0
- package/dist/cssm/components/CustomSelect/helpers.js.map +1 -1
- package/dist/cssm/components/Div/Div.js +11 -1
- package/dist/cssm/components/Div/Div.js.map +1 -1
- package/dist/cssm/components/File/File.js +20 -7
- package/dist/cssm/components/File/File.js.map +1 -1
- package/dist/cssm/components/Input/Input.js +20 -7
- package/dist/cssm/components/Input/Input.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.module.css +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js +25 -8
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.js +28 -8
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/Radio/RadioInput/RadioInput.js +18 -6
- package/dist/cssm/components/Radio/RadioInput/RadioInput.js.map +1 -1
- package/dist/cssm/components/Search/Search.js +34 -17
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/Select/Select.js +9 -1
- package/dist/cssm/components/Select/Select.js.map +1 -1
- package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.js +11 -2
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js +22 -8
- package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cssm/components/Switch/Switch.js +29 -17
- package/dist/cssm/components/Switch/Switch.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.js +22 -8
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js +24 -9
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/hooks/useMergeProps.js +38 -0
- package/dist/cssm/hooks/useMergeProps.js.map +1 -0
- package/dist/cssm/index.js +2 -0
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/animation/useCSSTransition.js +1 -1
- package/dist/cssm/lib/animation/useCSSTransition.js.map +1 -1
- package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +1 -1
- package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
- package/dist/cssm/lib/fx.js +55 -8
- package/dist/cssm/lib/fx.js.map +1 -1
- package/dist/cssm/lib/layouts/gaps.js.map +1 -1
- package/dist/cssm/lib/layouts/helpers.js +21 -0
- package/dist/cssm/lib/layouts/helpers.js.map +1 -0
- package/dist/cssm/lib/layouts/index.js +1 -0
- package/dist/cssm/lib/layouts/index.js.map +1 -1
- package/dist/cssm/lib/layouts/layoutProps.js +89 -0
- package/dist/cssm/lib/layouts/layoutProps.js.map +1 -0
- package/dist/cssm/lib/layouts/resolveLayoutProps.js +36 -0
- package/dist/cssm/lib/layouts/resolveLayoutProps.js.map +1 -0
- package/dist/cssm/lib/layouts/types.js +3 -0
- package/dist/cssm/lib/layouts/types.js.map +1 -0
- package/dist/cssm/lib/warnOnce.js +1 -1
- package/dist/cssm/lib/warnOnce.js.map +1 -1
- package/dist/cssm/styles/layout.css +922 -0
- package/dist/hooks/useMergeProps.d.ts +6 -0
- package/dist/hooks/useMergeProps.d.ts.map +1 -0
- package/dist/hooks/useMergeProps.js +42 -0
- package/dist/hooks/useMergeProps.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/animation/useCSSTransition.js +1 -1
- package/dist/lib/animation/useCSSTransition.js.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
- package/dist/lib/fx.d.ts +8 -1
- package/dist/lib/fx.d.ts.map +1 -1
- package/dist/lib/fx.js +55 -8
- package/dist/lib/fx.js.map +1 -1
- package/dist/lib/layouts/gaps.d.ts +4 -5
- package/dist/lib/layouts/gaps.d.ts.map +1 -1
- package/dist/lib/layouts/gaps.js.map +1 -1
- package/dist/lib/layouts/helpers.d.ts +17 -0
- package/dist/lib/layouts/helpers.d.ts.map +1 -0
- package/dist/lib/layouts/helpers.js +21 -0
- package/dist/lib/layouts/helpers.js.map +1 -0
- package/dist/lib/layouts/index.d.ts +2 -0
- package/dist/lib/layouts/index.d.ts.map +1 -1
- package/dist/lib/layouts/index.js +1 -0
- package/dist/lib/layouts/index.js.map +1 -1
- package/dist/lib/layouts/layoutProps.d.ts +33 -0
- package/dist/lib/layouts/layoutProps.d.ts.map +1 -0
- package/dist/lib/layouts/layoutProps.js +89 -0
- package/dist/lib/layouts/layoutProps.js.map +1 -0
- package/dist/lib/layouts/resolveLayoutProps.d.ts +18 -0
- package/dist/lib/layouts/resolveLayoutProps.d.ts.map +1 -0
- package/dist/lib/layouts/resolveLayoutProps.js +35 -0
- package/dist/lib/layouts/resolveLayoutProps.js.map +1 -0
- package/dist/lib/layouts/types.d.ts +123 -0
- package/dist/lib/layouts/types.d.ts.map +1 -0
- package/dist/lib/layouts/types.js +3 -0
- package/dist/lib/layouts/types.js.map +1 -0
- package/dist/lib/warnOnce.js +1 -1
- package/dist/lib/warnOnce.js.map +1 -1
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +2 -2
- package/src/components/Box/Box.tsx +26 -0
- package/src/components/CarouselBase/CarouselBase.tsx +11 -4
- package/src/components/CarouselBase/constants.ts +1 -1
- package/src/components/CarouselBase/hooks.ts +31 -6
- package/src/components/CarouselBase/types.ts +13 -0
- package/src/components/Checkbox/Checkbox.tsx +57 -7
- package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +51 -18
- package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx +36 -6
- package/src/components/ChipsInput/ChipsInput.tsx +38 -11
- package/src/components/ChipsInputBase/ChipsInputBase.tsx +60 -17
- package/src/components/ChipsInputBase/types.ts +15 -4
- package/src/components/ChipsSelect/ChipsSelect.tsx +71 -33
- package/src/components/CustomSelect/CustomSelect.tsx +135 -45
- package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +48 -17
- package/src/components/CustomSelect/helpers.ts +23 -0
- package/src/components/Div/Div.tsx +13 -3
- package/src/components/File/File.tsx +48 -11
- package/src/components/Input/Input.tsx +51 -14
- package/src/components/MiniInfoCell/MiniInfoCell.module.css +1 -1
- package/src/components/NativeSelect/NativeSelect.tsx +57 -18
- package/src/components/Radio/Radio.tsx +51 -8
- package/src/components/Radio/RadioInput/RadioInput.tsx +35 -11
- package/src/components/Search/Search.tsx +80 -29
- package/src/components/Select/Select.tsx +22 -3
- package/src/components/SelectionControl/SelectionControl.tsx +2 -1
- package/src/components/Snackbar/Snackbar.tsx +35 -5
- package/src/components/SplitLayout/SplitLayout.tsx +46 -12
- package/src/components/Switch/Switch.tsx +62 -31
- package/src/components/Textarea/Textarea.tsx +58 -14
- package/src/components/WriteBar/WriteBar.tsx +59 -13
- package/src/hooks/useMergeProps.ts +66 -0
- package/src/index.ts +3 -0
- package/src/lib/animation/useCSSTransition.ts +1 -1
- package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +1 -1
- package/src/lib/fx.ts +63 -8
- package/src/lib/layouts/gaps.ts +4 -5
- package/src/lib/layouts/helpers.ts +24 -0
- package/src/lib/layouts/index.ts +13 -0
- package/src/lib/layouts/layoutProps.ts +75 -0
- package/src/lib/layouts/resolveLayoutProps.ts +51 -0
- package/src/lib/layouts/types.ts +142 -0
- package/src/lib/warnOnce.ts +1 -1
- package/src/styles/layout.css +1 -0
- 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
|
-
|
|
26
|
-
className
|
|
27
|
-
style
|
|
28
|
-
|
|
29
|
-
|
|
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,
|
|
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":["
|
|
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 {
|
|
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
|
|
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,
|
|
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;
|
|
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,
|
|
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(
|
|
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 &&
|
|
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
|
-
|
|
70
|
+
inputRest.checked,
|
|
59
71
|
onChange,
|
|
60
72
|
inputRef
|
|
61
73
|
]);
|
|
62
74
|
if (process.env.NODE_ENV === 'development') {
|
|
63
|
-
if
|
|
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 &&
|
|
81
|
+
if (indeterminate && inputRest.checked) {
|
|
67
82
|
warn('indeterminate и checked не могут быть true одновременно', 'error');
|
|
68
83
|
}
|
|
69
|
-
if (
|
|
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
|
-
|
|
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,
|
|
92
|
+
/*#__PURE__*/ _jsx(VisuallyHidden, _object_spread({
|
|
80
93
|
Component: "input",
|
|
81
94
|
type: "checkbox",
|
|
82
95
|
onChange: handleChange,
|
|
83
|
-
|
|
84
|
-
|
|
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":"
|
|
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
|
-
|
|
33
|
-
|
|
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
|
-
|
|
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
|
|
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:
|
|
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":"
|
|
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:
|
|
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:
|
|
41
|
-
defaultInputValue:
|
|
42
|
-
onInputChange:
|
|
55
|
+
inputValue: resolvedInputValue,
|
|
56
|
+
defaultInputValue: resolvedInputDefaultValue,
|
|
57
|
+
onInputChange: resolvedOnInputChange,
|
|
43
58
|
// other
|
|
44
59
|
disabled,
|
|
45
60
|
delimiter
|
|
46
61
|
});
|
|
47
|
-
const inputRef = useExternRef(
|
|
48
|
-
return /*#__PURE__*/ _jsx(ChipsInputBase,
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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:
|
|
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, "
|
|
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;
|
|
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"}
|