@snack-uikit/toggles 0.10.4 → 0.10.5-preview-d96c83e8.0
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/cjs/components/Checkbox/Checkbox.js +78 -0
- package/dist/cjs/components/Checkbox/index.js +25 -0
- package/dist/cjs/components/Favorite/Favorite.js +64 -0
- package/dist/cjs/components/Favorite/index.js +25 -0
- package/dist/cjs/components/Radio/Radio.js +50 -0
- package/dist/cjs/components/Radio/index.js +25 -0
- package/dist/cjs/components/Switch/Switch.js +71 -0
- package/dist/cjs/components/Switch/index.js +25 -0
- package/dist/cjs/components/ToggleGroup/ToggleGroup.js +51 -0
- package/dist/cjs/components/ToggleGroup/hooks.js +36 -0
- package/dist/cjs/components/ToggleGroup/index.js +26 -0
- package/dist/cjs/components/TogglePrivate/TogglePrivate.js +77 -0
- package/dist/cjs/components/TogglePrivate/index.js +25 -0
- package/dist/cjs/components/index.js +29 -0
- package/dist/cjs/constants.js +22 -0
- package/dist/cjs/context.js +15 -0
- package/dist/cjs/helperComponents/Spinner/Spinner.js +27 -0
- package/dist/cjs/helperComponents/Spinner/index.js +25 -0
- package/dist/cjs/helperComponents/index.js +25 -0
- package/dist/cjs/index.js +25 -0
- package/dist/cjs/types.js +5 -0
- package/dist/cjs/utils.js +28 -0
- package/dist/esm/components/Checkbox/Checkbox.d.ts +8 -0
- package/dist/esm/components/Checkbox/index.js +1 -0
- package/dist/esm/components/Favorite/Favorite.d.ts +6 -0
- package/dist/esm/components/Favorite/index.js +1 -0
- package/dist/esm/components/Radio/Radio.d.ts +3 -0
- package/dist/esm/components/Radio/index.js +1 -0
- package/dist/esm/components/Switch/Switch.d.ts +7 -0
- package/dist/esm/components/Switch/index.js +1 -0
- package/dist/esm/components/ToggleGroup/ToggleGroup.d.ts +22 -0
- package/dist/esm/components/ToggleGroup/hooks.d.ts +9 -0
- package/dist/esm/components/ToggleGroup/index.js +2 -0
- package/dist/esm/components/TogglePrivate/TogglePrivate.d.ts +20 -0
- package/dist/esm/components/TogglePrivate/index.js +1 -0
- package/dist/esm/components/index.js +5 -0
- package/dist/esm/constants.d.ts +16 -0
- package/dist/esm/context.d.ts +9 -0
- package/dist/esm/helperComponents/Spinner/Spinner.d.ts +1 -0
- package/dist/esm/helperComponents/index.d.ts +1 -0
- package/dist/esm/helperComponents/index.js +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/types.d.ts +51 -0
- package/dist/esm/utils.d.ts +3 -0
- package/package.json +9 -7
- package/dist/components/Checkbox/styles.module.css +0 -89
- package/dist/components/Favorite/styles.module.css +0 -50
- package/dist/components/Radio/styles.module.css +0 -90
- package/dist/components/Switch/styles.module.css +0 -159
- package/dist/components/TogglePrivate/styles.module.css +0 -30
- package/dist/components/styles.module.css +0 -0
- package/dist/helperComponents/Spinner/styles.module.css +0 -14
- /package/dist/{components → cjs/components}/Checkbox/Checkbox.d.ts +0 -0
- /package/dist/{components → cjs/components}/Checkbox/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/Favorite/Favorite.d.ts +0 -0
- /package/dist/{components → cjs/components}/Favorite/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/Radio/Radio.d.ts +0 -0
- /package/dist/{components → cjs/components}/Radio/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/Switch/Switch.d.ts +0 -0
- /package/dist/{components → cjs/components}/Switch/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/ToggleGroup/ToggleGroup.d.ts +0 -0
- /package/dist/{components → cjs/components}/ToggleGroup/hooks.d.ts +0 -0
- /package/dist/{components → cjs/components}/ToggleGroup/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/TogglePrivate/TogglePrivate.d.ts +0 -0
- /package/dist/{components → cjs/components}/TogglePrivate/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/index.d.ts +0 -0
- /package/dist/{constants.d.ts → cjs/constants.d.ts} +0 -0
- /package/dist/{context.d.ts → cjs/context.d.ts} +0 -0
- /package/dist/{helperComponents → cjs/helperComponents}/Spinner/Spinner.d.ts +0 -0
- /package/dist/{helperComponents → cjs/helperComponents}/Spinner/index.d.ts +0 -0
- /package/dist/{helperComponents → cjs/helperComponents}/index.d.ts +0 -0
- /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/dist/{types.d.ts → cjs/types.d.ts} +0 -0
- /package/dist/{utils.d.ts → cjs/utils.d.ts} +0 -0
- /package/dist/{components → esm/components}/Checkbox/Checkbox.js +0 -0
- /package/dist/{components/Checkbox/index.js → esm/components/Checkbox/index.d.ts} +0 -0
- /package/dist/{components → esm/components}/Favorite/Favorite.js +0 -0
- /package/dist/{components/Favorite/index.js → esm/components/Favorite/index.d.ts} +0 -0
- /package/dist/{components → esm/components}/Radio/Radio.js +0 -0
- /package/dist/{components/Radio/index.js → esm/components/Radio/index.d.ts} +0 -0
- /package/dist/{components → esm/components}/Switch/Switch.js +0 -0
- /package/dist/{components/Switch/index.js → esm/components/Switch/index.d.ts} +0 -0
- /package/dist/{components → esm/components}/ToggleGroup/ToggleGroup.js +0 -0
- /package/dist/{components → esm/components}/ToggleGroup/hooks.js +0 -0
- /package/dist/{components/ToggleGroup/index.js → esm/components/ToggleGroup/index.d.ts} +0 -0
- /package/dist/{components → esm/components}/TogglePrivate/TogglePrivate.js +0 -0
- /package/dist/{components/TogglePrivate/index.js → esm/components/TogglePrivate/index.d.ts} +0 -0
- /package/dist/{components/index.js → esm/components/index.d.ts} +0 -0
- /package/dist/{constants.js → esm/constants.js} +0 -0
- /package/dist/{context.js → esm/context.js} +0 -0
- /package/dist/{helperComponents → esm/helperComponents}/Spinner/Spinner.js +0 -0
- /package/dist/{helperComponents/Spinner/index.js → esm/helperComponents/Spinner/index.d.ts} +0 -0
- /package/dist/{helperComponents → esm/helperComponents/Spinner}/index.js +0 -0
- /package/dist/{index.js → esm/index.d.ts} +0 -0
- /package/dist/{types.js → esm/types.js} +0 -0
- /package/dist/{utils.js → esm/utils.js} +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
|
|
4
|
+
return mod && mod.__esModule ? mod : {
|
|
5
|
+
"default": mod
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", {
|
|
9
|
+
value: true
|
|
10
|
+
});
|
|
11
|
+
exports.Spinner = Spinner;
|
|
12
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
13
|
+
const styles_module_scss_1 = __importDefault({});
|
|
14
|
+
function Spinner() {
|
|
15
|
+
return (0, jsx_runtime_1.jsx)("svg", {
|
|
16
|
+
viewBox: '0 0 16 16',
|
|
17
|
+
fill: 'none',
|
|
18
|
+
xmlns: 'http://www.w3.org/2000/svg',
|
|
19
|
+
className: styles_module_scss_1.default.spinner,
|
|
20
|
+
children: (0, jsx_runtime_1.jsx)("path", {
|
|
21
|
+
d: 'M5 8C5 6.34315 6.34315 5 8 5',
|
|
22
|
+
stroke: 'black',
|
|
23
|
+
strokeWidth: '1.5',
|
|
24
|
+
strokeLinecap: 'round'
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return m[k];
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
} : function (o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
});
|
|
19
|
+
var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
25
|
+
__exportStar(require("./Spinner"), exports);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return m[k];
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
} : function (o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
});
|
|
19
|
+
var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
25
|
+
__exportStar(require("./Spinner"), exports);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return m[k];
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
} : function (o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
});
|
|
19
|
+
var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
25
|
+
__exportStar(require("./components"), exports);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getVisualStateAttributes = getVisualStateAttributes;
|
|
7
|
+
exports.getIconSize = getIconSize;
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
|
+
function getVisualStateAttributes(state) {
|
|
10
|
+
return Object.entries(state).reduce(function (result, _ref) {
|
|
11
|
+
let [name, value] = _ref;
|
|
12
|
+
result[`data-${name.toLowerCase()}`] = value;
|
|
13
|
+
return result;
|
|
14
|
+
}, {});
|
|
15
|
+
}
|
|
16
|
+
function getIconSize(size) {
|
|
17
|
+
switch (size) {
|
|
18
|
+
case constants_1.SIZE.S:
|
|
19
|
+
{
|
|
20
|
+
return 16;
|
|
21
|
+
}
|
|
22
|
+
case constants_1.SIZE.M:
|
|
23
|
+
default:
|
|
24
|
+
{
|
|
25
|
+
return 24;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ToggleProps } from '../../types';
|
|
2
|
+
export type CheckboxProps = ToggleProps & {
|
|
3
|
+
/** Состояние частичного выбора */
|
|
4
|
+
indeterminate?: boolean;
|
|
5
|
+
/** Состояние частичного выбора по-умолчанию */
|
|
6
|
+
indeterminateDefault?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function Checkbox({ inputRef, indeterminate: indeterminateProp, indeterminateDefault, onChange: onChangeProp, 'data-test-id': dataTestId, size, ...restProps }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Checkbox';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FavoriteIcon, ToggleProps } from '../../types';
|
|
2
|
+
export type FavoriteProps = ToggleProps & {
|
|
3
|
+
/** Иконка */
|
|
4
|
+
icon?: FavoriteIcon;
|
|
5
|
+
};
|
|
6
|
+
export declare function Favorite({ inputRef, 'data-test-id': dataTestId, size, icon, ...restProps }: FavoriteProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Favorite';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Radio';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ToggleProps } from '../../types';
|
|
2
|
+
export type SwitchProps = ToggleProps & {
|
|
3
|
+
/** Показывать ли иконку в переключателе */
|
|
4
|
+
showIcon?: boolean;
|
|
5
|
+
loading?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare function Switch({ inputRef, 'data-test-id': dataTestId, showIcon, loading, size, ...restProps }: SwitchProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Switch';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
import { SELECTION_MODE } from '../../constants';
|
|
3
|
+
export type ToggleGroupProps = PropsWithChildren<{
|
|
4
|
+
/** Начальное состояние */
|
|
5
|
+
defaultValue?: string;
|
|
6
|
+
/** Controlled состояние */
|
|
7
|
+
value?: string;
|
|
8
|
+
/** Controlled обработчик измения состояния */
|
|
9
|
+
onChange?(value: (string | undefined) | string): void;
|
|
10
|
+
/** Режим выбора */
|
|
11
|
+
selectionMode?: typeof SELECTION_MODE.Single;
|
|
12
|
+
} | {
|
|
13
|
+
/** Начальное состояние */
|
|
14
|
+
defaultValue?: string[];
|
|
15
|
+
/** Controlled состояние */
|
|
16
|
+
value?: string[];
|
|
17
|
+
/** Controlled обработчик измения состояния */
|
|
18
|
+
onChange?(value: (string[] | undefined) | string[]): void;
|
|
19
|
+
/** Режим выбора */
|
|
20
|
+
selectionMode?: typeof SELECTION_MODE.Multiple;
|
|
21
|
+
}>;
|
|
22
|
+
export declare function ToggleGroup({ children, value: valueProp, onChange: onChangeProp, selectionMode, defaultValue, }: ToggleGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const TogglePrivate: import("react").ForwardRefExoticComponent<{
|
|
2
|
+
'data-test-id'?: string;
|
|
3
|
+
} & import("react").AriaAttributes & {
|
|
4
|
+
className?: string;
|
|
5
|
+
size?: import("../../types").Size;
|
|
6
|
+
render: (visualState: import("../../types").InputVisualState) => import("react").ReactNode;
|
|
7
|
+
mode?: import("../../types").Mode;
|
|
8
|
+
id?: string;
|
|
9
|
+
value?: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
tabIndex?: number;
|
|
12
|
+
autofocus?: boolean;
|
|
13
|
+
checked?: boolean;
|
|
14
|
+
defaultChecked?: boolean;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
onChange?: (checked: boolean) => void;
|
|
17
|
+
onClick?: import("react").MouseEventHandler<HTMLInputElement>;
|
|
18
|
+
onBlur?: import("react").FocusEventHandler<HTMLInputElement>;
|
|
19
|
+
onFocus?: import("react").FocusEventHandler<HTMLInputElement>;
|
|
20
|
+
} & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TogglePrivate';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const MODE: {
|
|
2
|
+
readonly Checkbox: "checkbox";
|
|
3
|
+
readonly Radio: "radio";
|
|
4
|
+
};
|
|
5
|
+
export declare const SIZE: {
|
|
6
|
+
readonly S: "s";
|
|
7
|
+
readonly M: "m";
|
|
8
|
+
};
|
|
9
|
+
export declare const FAVORITE_ICON: {
|
|
10
|
+
readonly Star: "star";
|
|
11
|
+
readonly Heart: "heart";
|
|
12
|
+
};
|
|
13
|
+
export declare const SELECTION_MODE: {
|
|
14
|
+
readonly Single: "single";
|
|
15
|
+
readonly Multiple: "multiple";
|
|
16
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SelectionMode } from './types';
|
|
2
|
+
type ToggleGroupContextType = {
|
|
3
|
+
value: string | undefined | string[];
|
|
4
|
+
onChange: ((id: string) => void) | undefined;
|
|
5
|
+
selectionMode: SelectionMode;
|
|
6
|
+
};
|
|
7
|
+
export declare const ToggleGroupContext: import("react").Context<ToggleGroupContextType>;
|
|
8
|
+
export declare const useToggleGroupContext: () => ToggleGroupContextType;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function Spinner(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Spinner';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Spinner';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './components';
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { FocusEventHandler, MouseEventHandler, ReactNode, RefObject } from 'react';
|
|
2
|
+
import { ValueOf, WithSupportProps } from '@snack-uikit/utils';
|
|
3
|
+
import { FAVORITE_ICON, MODE, SELECTION_MODE, SIZE } from './constants';
|
|
4
|
+
export type Size = ValueOf<typeof SIZE>;
|
|
5
|
+
export type Mode = ValueOf<typeof MODE>;
|
|
6
|
+
export type SelectionMode = ValueOf<typeof SELECTION_MODE>;
|
|
7
|
+
export type FavoriteIcon = ValueOf<typeof FAVORITE_ICON>;
|
|
8
|
+
export type InputVisualState = {
|
|
9
|
+
focusVisible: boolean;
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
checked: boolean;
|
|
12
|
+
hover: boolean;
|
|
13
|
+
size: Size;
|
|
14
|
+
};
|
|
15
|
+
export type DataAttributes = Record<`data-${string}`, string | boolean>;
|
|
16
|
+
export type TogglePrivateProps = WithSupportProps<{
|
|
17
|
+
className?: string;
|
|
18
|
+
/** Размер */
|
|
19
|
+
size?: Size;
|
|
20
|
+
/** Колбек рендера компонента */
|
|
21
|
+
render: (visualState: InputVisualState) => ReactNode;
|
|
22
|
+
/** Режим работы */
|
|
23
|
+
mode?: Mode;
|
|
24
|
+
/** HTML-аттрибут id */
|
|
25
|
+
id?: string;
|
|
26
|
+
/** HTML-аттрибут value */
|
|
27
|
+
value?: string;
|
|
28
|
+
/** HTML-аттрибут name */
|
|
29
|
+
name?: string;
|
|
30
|
+
/** HTML-аттрибут tab-index */
|
|
31
|
+
tabIndex?: number;
|
|
32
|
+
/** HTML-аттрибут autofocus */
|
|
33
|
+
autofocus?: boolean;
|
|
34
|
+
/** HTML-аттрибут checked */
|
|
35
|
+
checked?: boolean;
|
|
36
|
+
/** HTML-аттрибут checked по-умолчанию */
|
|
37
|
+
defaultChecked?: boolean;
|
|
38
|
+
/** HTML-аттрибут disabled */
|
|
39
|
+
disabled?: boolean;
|
|
40
|
+
/** Колбек смены значения */
|
|
41
|
+
onChange?: (checked: boolean) => void;
|
|
42
|
+
/** Колбек клика */
|
|
43
|
+
onClick?: MouseEventHandler<HTMLInputElement>;
|
|
44
|
+
/** Колбек потери фокуса */
|
|
45
|
+
onBlur?: FocusEventHandler<HTMLInputElement>;
|
|
46
|
+
/** Колбек приобретения фокуса */
|
|
47
|
+
onFocus?: FocusEventHandler<HTMLInputElement>;
|
|
48
|
+
}>;
|
|
49
|
+
export type ToggleProps = WithSupportProps<Pick<TogglePrivateProps, 'id' | 'name' | 'value' | 'tabIndex' | 'autofocus' | 'checked' | 'defaultChecked' | 'disabled' | 'onChange' | 'onClick' | 'onBlur' | 'onFocus' | 'className' | 'size'> & {
|
|
50
|
+
inputRef?: RefObject<HTMLInputElement>;
|
|
51
|
+
}>;
|
package/package.json
CHANGED
|
@@ -4,15 +4,16 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"title": "Toggles",
|
|
7
|
-
"version": "0.10.
|
|
7
|
+
"version": "0.10.5-preview-d96c83e8.0",
|
|
8
8
|
"sideEffects": [
|
|
9
9
|
"*.css",
|
|
10
10
|
"*.woff",
|
|
11
11
|
"*.woff2"
|
|
12
12
|
],
|
|
13
13
|
"description": "",
|
|
14
|
-
"
|
|
15
|
-
"
|
|
14
|
+
"types": "./dist/esm/index.d.ts",
|
|
15
|
+
"main": "./dist/cjs/index.js",
|
|
16
|
+
"module": "./dist/esm/index.js",
|
|
16
17
|
"homepage": "https://github.com/cloud-ru-tech/snack-uikit/tree/master/packages/toggles",
|
|
17
18
|
"repository": {
|
|
18
19
|
"type": "git",
|
|
@@ -24,7 +25,8 @@
|
|
|
24
25
|
"Сергей Хлупин <svhlupin@cloud.ru>"
|
|
25
26
|
],
|
|
26
27
|
"files": [
|
|
27
|
-
"dist",
|
|
28
|
+
"dist/cjs",
|
|
29
|
+
"dist/esm",
|
|
28
30
|
"src",
|
|
29
31
|
"./CHANGELOG.md",
|
|
30
32
|
"./LICENSE"
|
|
@@ -32,11 +34,11 @@
|
|
|
32
34
|
"license": "Apache-2.0",
|
|
33
35
|
"scripts": {},
|
|
34
36
|
"dependencies": {
|
|
35
|
-
"@snack-uikit/icons": "0.22.
|
|
36
|
-
"@snack-uikit/utils": "3.4.0",
|
|
37
|
+
"@snack-uikit/icons": "0.22.2-preview-d96c83e8.0",
|
|
38
|
+
"@snack-uikit/utils": "3.4.1-preview-d96c83e8.0",
|
|
37
39
|
"classnames": "2.3.2",
|
|
38
40
|
"merge-refs": "1.2.1",
|
|
39
41
|
"uncontrollable": "8.0.0"
|
|
40
42
|
},
|
|
41
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "7ad2685e79ccef7528ade40fe4e2a5d4e609a22f"
|
|
42
44
|
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
.container{
|
|
2
|
-
display:flex;
|
|
3
|
-
align-items:center;
|
|
4
|
-
justify-content:center;
|
|
5
|
-
box-sizing:border-box;
|
|
6
|
-
}
|
|
7
|
-
.container[data-size=s]{
|
|
8
|
-
width:var(--size-toggles-s-container, 16px);
|
|
9
|
-
height:var(--size-toggles-s-container, 16px);
|
|
10
|
-
border-radius:var(--radius-toggles-s-box-checkbox, 6px);
|
|
11
|
-
border-width:var(--border-width-toggles-single, 2px);
|
|
12
|
-
}
|
|
13
|
-
.container[data-size=m]{
|
|
14
|
-
width:var(--size-toggles-m-container, 24px);
|
|
15
|
-
height:var(--size-toggles-m-container, 24px);
|
|
16
|
-
border-radius:var(--radius-toggles-m-box-checkbox, 8px);
|
|
17
|
-
border-width:var(--border-width-toggles-single, 2px);
|
|
18
|
-
}
|
|
19
|
-
.container[data-focusvisible=true]{
|
|
20
|
-
outline-width:var(--border-state-focus-s-border-width, 2px);
|
|
21
|
-
outline-style:var(--border-state-focus-s-border-style, solid);
|
|
22
|
-
outline-color:var(--border-state-focus-s-border-color, );
|
|
23
|
-
}
|
|
24
|
-
.container[data-focusvisible=true][data-size=s]{
|
|
25
|
-
outline-offset:var(--border-width-state-focus-s, 2px);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.box{
|
|
29
|
-
box-sizing:border-box;
|
|
30
|
-
background-color:var(--sys-neutral-background2-level, #ffffff);
|
|
31
|
-
border-color:var(--sys-neutral-decor-activated, #bec2cf);
|
|
32
|
-
border-style:solid;
|
|
33
|
-
}
|
|
34
|
-
.box[data-checked=false][data-focusvisible=true], .box[data-checked=false][data-hover=true]{
|
|
35
|
-
background-color:var(--sys-neutral-background2-level, #ffffff);
|
|
36
|
-
border-color:var(--sys-neutral-accent-hovered, #6d707f);
|
|
37
|
-
}
|
|
38
|
-
.box[data-checked=false][data-disabled=true]{
|
|
39
|
-
background-color:var(--sys-neutral-decor-disabled, #e6e8ef);
|
|
40
|
-
border-color:var(--sys-neutral-decor-default, #dde0ea);
|
|
41
|
-
}
|
|
42
|
-
.box[data-indeterminate=true], .box[data-checked=true]{
|
|
43
|
-
background-color:var(--sys-primary-accent-default, #794ed3);
|
|
44
|
-
border-color:var(--sys-primary-accent-default, #794ed3);
|
|
45
|
-
}
|
|
46
|
-
.box[data-indeterminate=true][data-focusvisible=true], .box[data-indeterminate=true][data-hover=true], .box[data-checked=true][data-focusvisible=true], .box[data-checked=true][data-hover=true]{
|
|
47
|
-
background-color:var(--sys-primary-accent-hovered, #6851a6);
|
|
48
|
-
border-color:var(--sys-primary-accent-hovered, #6851a6);
|
|
49
|
-
}
|
|
50
|
-
.box[data-indeterminate=true][data-disabled=true], .box[data-checked=true][data-disabled=true]{
|
|
51
|
-
background-color:var(--sys-neutral-text-disabled, #aaaebd);
|
|
52
|
-
border-color:var(--sys-neutral-text-disabled, #aaaebd);
|
|
53
|
-
}
|
|
54
|
-
.box[data-size=s]{
|
|
55
|
-
width:var(--size-toggles-s-container, 16px);
|
|
56
|
-
height:var(--size-toggles-s-container, 16px);
|
|
57
|
-
border-width:var(--border-width-toggles-single, 2px);
|
|
58
|
-
border-radius:var(--radius-toggles-s-box-checkbox, 6px);
|
|
59
|
-
}
|
|
60
|
-
.box[data-size=s] svg{
|
|
61
|
-
width:var(--size-icon-container-xs, 16px) !important;
|
|
62
|
-
height:var(--size-icon-container-xs, 16px) !important;
|
|
63
|
-
}
|
|
64
|
-
.box[data-size=m]{
|
|
65
|
-
width:var(--size-toggles-m-box-checkbox, 20px);
|
|
66
|
-
height:var(--size-toggles-m-box-checkbox, 20px);
|
|
67
|
-
border-width:var(--border-width-toggles-single, 2px);
|
|
68
|
-
border-radius:var(--radius-toggles-m-box-checkbox, 8px);
|
|
69
|
-
}
|
|
70
|
-
.box[data-size=m] svg{
|
|
71
|
-
width:var(--size-icon-container-s, 24px) !important;
|
|
72
|
-
height:var(--size-icon-container-s, 24px) !important;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.icon{
|
|
76
|
-
position:absolute;
|
|
77
|
-
top:0;
|
|
78
|
-
left:0;
|
|
79
|
-
display:none;
|
|
80
|
-
width:100%;
|
|
81
|
-
height:100%;
|
|
82
|
-
color:var(--sys-primary-on-accent, #fdfbff);
|
|
83
|
-
}
|
|
84
|
-
.icon[data-indeterminate=true], .icon[data-checked=true]{
|
|
85
|
-
display:block;
|
|
86
|
-
}
|
|
87
|
-
.icon[data-disabled=true]{
|
|
88
|
-
color:var(--sys-neutral-decor-disabled, #e6e8ef);
|
|
89
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
.container{
|
|
2
|
-
display:flex;
|
|
3
|
-
align-items:center;
|
|
4
|
-
justify-content:center;
|
|
5
|
-
box-sizing:border-box;
|
|
6
|
-
outline-color:var(--sys-available-complementary, #1c1c24);
|
|
7
|
-
}
|
|
8
|
-
.container[data-size=s]{
|
|
9
|
-
width:var(--size-toggles-s-container, 16px);
|
|
10
|
-
height:var(--size-toggles-s-container, 16px);
|
|
11
|
-
border-radius:var(--radius-toggles-s-box-checkbox, 6px);
|
|
12
|
-
}
|
|
13
|
-
.container[data-size=m]{
|
|
14
|
-
width:var(--size-toggles-m-container, 24px);
|
|
15
|
-
height:var(--size-toggles-m-container, 24px);
|
|
16
|
-
border-radius:var(--radius-toggles-m-box-checkbox, 8px);
|
|
17
|
-
}
|
|
18
|
-
.container[data-focusvisible=true]{
|
|
19
|
-
outline-width:var(--border-state-focus-s-border-width, 2px);
|
|
20
|
-
outline-style:var(--border-state-focus-s-border-style, solid);
|
|
21
|
-
outline-color:var(--border-state-focus-s-border-color, );
|
|
22
|
-
}
|
|
23
|
-
.container[data-focusvisible=true][data-size=s]{
|
|
24
|
-
outline-offset:var(--border-width-state-focus-s, 2px);
|
|
25
|
-
}
|
|
26
|
-
.container[data-checked=true]{
|
|
27
|
-
outline-color:var(--sys-available-complementary, #1c1c24);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.icon{
|
|
31
|
-
color:var(--sys-neutral-text-light, #8b8e9b);
|
|
32
|
-
}
|
|
33
|
-
.icon:not([data-disabled=true])[data-hover=true]{
|
|
34
|
-
color:var(--sys-neutral-text-support, #6d707f);
|
|
35
|
-
}
|
|
36
|
-
.icon:not([data-disabled=true])[data-icon=star][data-checked=true]{
|
|
37
|
-
color:var(--sys-yellow-accent-default, #e2b134);
|
|
38
|
-
}
|
|
39
|
-
.icon:not([data-disabled=true])[data-icon=star][data-checked=true][data-focusvisible=true], .icon:not([data-disabled=true])[data-icon=star][data-checked=true][data-hover=true]{
|
|
40
|
-
color:var(--sys-yellow-accent-hovered, #d5a133);
|
|
41
|
-
}
|
|
42
|
-
.icon:not([data-disabled=true])[data-icon=heart][data-checked=true]{
|
|
43
|
-
color:var(--sys-red-accent-default, #cb3f3e);
|
|
44
|
-
}
|
|
45
|
-
.icon:not([data-disabled=true])[data-icon=heart][data-checked=true][data-focusvisible=true], .icon:not([data-disabled=true])[data-icon=heart][data-checked=true][data-hover=true]{
|
|
46
|
-
color:var(--sys-red-accent-hovered, #bd4844);
|
|
47
|
-
}
|
|
48
|
-
.icon[data-disabled=true]{
|
|
49
|
-
color:var(--sys-neutral-text-disabled, #aaaebd);
|
|
50
|
-
}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
.container{
|
|
2
|
-
display:flex;
|
|
3
|
-
align-items:center;
|
|
4
|
-
justify-content:center;
|
|
5
|
-
box-sizing:border-box;
|
|
6
|
-
}
|
|
7
|
-
.container[data-size=s]{
|
|
8
|
-
width:var(--size-toggles-s-container, 16px);
|
|
9
|
-
height:var(--size-toggles-s-container, 16px);
|
|
10
|
-
border-radius:var(--radius-toggles-s-box-radio, 16px);
|
|
11
|
-
border-width:var(--border-width-toggles-single, 2px);
|
|
12
|
-
}
|
|
13
|
-
.container[data-size=m]{
|
|
14
|
-
width:var(--size-toggles-m-container, 24px);
|
|
15
|
-
height:var(--size-toggles-m-container, 24px);
|
|
16
|
-
border-radius:var(--radius-toggles-m-box-radio, 16px);
|
|
17
|
-
border-width:var(--border-width-toggles-single, 2px);
|
|
18
|
-
}
|
|
19
|
-
.container[data-focusvisible=true]{
|
|
20
|
-
outline-width:var(--border-state-focus-s-border-width, 2px);
|
|
21
|
-
outline-style:var(--border-state-focus-s-border-style, solid);
|
|
22
|
-
outline-color:var(--border-state-focus-s-border-color, );
|
|
23
|
-
}
|
|
24
|
-
.container[data-focusvisible=true][data-size=s]{
|
|
25
|
-
outline-offset:var(--border-width-state-focus-s, 2px);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.box{
|
|
29
|
-
position:relative;
|
|
30
|
-
box-sizing:border-box;
|
|
31
|
-
background-color:var(--sys-neutral-background2-level, #ffffff);
|
|
32
|
-
border-color:var(--sys-neutral-decor-activated, #bec2cf);
|
|
33
|
-
border-style:solid;
|
|
34
|
-
}
|
|
35
|
-
.box[data-size=s]{
|
|
36
|
-
width:var(--size-toggles-s-box-radio, 16px);
|
|
37
|
-
height:var(--size-toggles-s-box-radio, 16px);
|
|
38
|
-
border-width:var(--border-width-toggles-single, 2px);
|
|
39
|
-
border-radius:var(--radius-toggles-s-box-radio, 16px);
|
|
40
|
-
}
|
|
41
|
-
.box[data-size=m]{
|
|
42
|
-
width:var(--size-toggles-m-box-radio, 20px);
|
|
43
|
-
height:var(--size-toggles-m-box-radio, 20px);
|
|
44
|
-
border-width:var(--border-width-toggles-single, 2px);
|
|
45
|
-
border-radius:var(--radius-toggles-m-box-radio, 16px);
|
|
46
|
-
}
|
|
47
|
-
.box[data-focusvisible=true], .box[data-hover=true]{
|
|
48
|
-
background-color:var(--sys-neutral-background2-level, #ffffff);
|
|
49
|
-
border-color:var(--sys-neutral-accent-hovered, #6d707f);
|
|
50
|
-
}
|
|
51
|
-
.box[data-disabled=true]{
|
|
52
|
-
background-color:var(--sys-neutral-decor-disabled, #e6e8ef);
|
|
53
|
-
border-color:var(--sys-neutral-decor-default, #dde0ea);
|
|
54
|
-
}
|
|
55
|
-
.box[data-checked=true]{
|
|
56
|
-
border-color:var(--sys-primary-accent-default, #794ed3);
|
|
57
|
-
}
|
|
58
|
-
.box[data-checked=true][data-focusvisible=true], .box[data-checked=true][data-hover=true]{
|
|
59
|
-
border-color:var(--sys-primary-accent-hovered, #6851a6);
|
|
60
|
-
}
|
|
61
|
-
.box[data-checked=true][data-disabled=true]{
|
|
62
|
-
border-color:var(--sys-neutral-decor-default, #dde0ea);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.flag{
|
|
66
|
-
position:absolute;
|
|
67
|
-
top:50%;
|
|
68
|
-
left:50%;
|
|
69
|
-
transform:translate(-50%, -50%);
|
|
70
|
-
background-color:var(--sys-primary-accent-default, #794ed3);
|
|
71
|
-
}
|
|
72
|
-
.flag[data-hover=true]{
|
|
73
|
-
background-color:var(--sys-primary-accent-hovered, #6851a6);
|
|
74
|
-
}
|
|
75
|
-
.flag[data-disabled=true]{
|
|
76
|
-
background-color:var(--sys-neutral-text-disabled, #aaaebd);
|
|
77
|
-
}
|
|
78
|
-
.flag[data-checked=false]{
|
|
79
|
-
display:none;
|
|
80
|
-
}
|
|
81
|
-
.flag[data-size=s]{
|
|
82
|
-
border-radius:var(--radius-toggles-s-box-radio, 16px);
|
|
83
|
-
width:var(--size-toggles-s-flag-radio, 8px);
|
|
84
|
-
height:var(--size-toggles-s-flag-radio, 8px);
|
|
85
|
-
}
|
|
86
|
-
.flag[data-size=m]{
|
|
87
|
-
border-radius:var(--radius-toggles-m-box-radio, 16px);
|
|
88
|
-
width:var(--size-toggles-m-flag-radio, 12px);
|
|
89
|
-
height:var(--size-toggles-m-flag-radio, 12px);
|
|
90
|
-
}
|