@cloud-ru/uikit-product-config-selector 1.1.4 → 1.1.6
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/CHANGELOG.md +22 -0
- package/dist/cjs/components/ConfigSelector/ConfigSelector.d.ts +23 -0
- package/dist/cjs/components/ConfigSelector/ConfigSelector.js +42 -0
- package/dist/cjs/components/ConfigSelector/index.d.ts +1 -0
- package/dist/cjs/components/ConfigSelector/index.js +17 -0
- package/dist/cjs/components/ConfigSelector/styles.module.css +117 -0
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.js +17 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +17 -0
- package/dist/esm/components/ConfigSelector/ConfigSelector.d.ts +23 -0
- package/dist/esm/components/ConfigSelector/ConfigSelector.js +36 -0
- package/dist/esm/components/ConfigSelector/index.d.ts +1 -0
- package/dist/esm/components/ConfigSelector/index.js +1 -0
- package/dist/esm/components/ConfigSelector/styles.module.css +117 -0
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 1.1.6 (2025-11-13)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **PD-3377:** removed contributors ([121640f](https://gitverse.ru/cloud-ru-tech/uikit-product/commits/121640f7b88b20a728a6ad2c39de8841532bb308))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## 1.1.5 (2025-11-12)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **PD-3377:** contributors update to publish all packages ([719fd3e](https://gitverse.ru/cloud-ru-tech/uikit-product/commits/719fd3e1249e247443b125c47ea408d92c8395c3))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
6
28
|
## 1.1.4 (2025-11-12)
|
|
7
29
|
|
|
8
30
|
**Note:** Version bump only for package @cloud-ru/uikit-product-config-selector
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ChangeEvent, ReactNode } from 'react';
|
|
2
|
+
import { WithSupportProps } from '@snack-uikit/utils';
|
|
3
|
+
export type ConfigSelectorProps = WithSupportProps<{
|
|
4
|
+
/** Лейбл */
|
|
5
|
+
label: string;
|
|
6
|
+
/** Колбек смены значения */
|
|
7
|
+
onChange(checked: boolean, e: ChangeEvent<HTMLInputElement>): void;
|
|
8
|
+
/** Отмечен ли компонент */
|
|
9
|
+
checked: boolean;
|
|
10
|
+
/** CSS-класс */
|
|
11
|
+
className?: string;
|
|
12
|
+
/** HTML tab index */
|
|
13
|
+
tabIndex?: number;
|
|
14
|
+
/** Доступна ли опция */
|
|
15
|
+
available?: boolean;
|
|
16
|
+
/** Тултип для доступной опции */
|
|
17
|
+
availableTip?: ReactNode;
|
|
18
|
+
/** Деактивирован ли компонент */
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
/** Тултип для деактивированного компонента */
|
|
21
|
+
disabledTip?: ReactNode;
|
|
22
|
+
}>;
|
|
23
|
+
export declare function ConfigSelector({ available, availableTip, disabledTip, label, checked, disabled, onChange, className, tabIndex, ...rest }: ConfigSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.ConfigSelector = ConfigSelector;
|
|
18
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
19
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
20
|
+
const react_1 = require("react");
|
|
21
|
+
const tooltip_1 = require("@snack-uikit/tooltip");
|
|
22
|
+
const truncate_string_1 = require("@snack-uikit/truncate-string");
|
|
23
|
+
const utils_1 = require("@snack-uikit/utils");
|
|
24
|
+
const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
|
|
25
|
+
function ConfigSelector(_a) {
|
|
26
|
+
var { available, availableTip, disabledTip, label, checked, disabled, onChange, className, tabIndex = 0 } = _a, rest = __rest(_a, ["available", "availableTip", "disabledTip", "label", "checked", "disabled", "onChange", "className", "tabIndex"]);
|
|
27
|
+
const tipConfig = (0, react_1.useMemo)(() => {
|
|
28
|
+
const isOpen = (available && !checked && availableTip) || (disabled && disabledTip);
|
|
29
|
+
return {
|
|
30
|
+
tip: disabled ? disabledTip : availableTip,
|
|
31
|
+
open: isOpen ? undefined : false,
|
|
32
|
+
hoverDelayOpen: disabled ? 100 : 400,
|
|
33
|
+
};
|
|
34
|
+
}, [available, availableTip, checked, disabled, disabledTip]);
|
|
35
|
+
const handleChange = e => {
|
|
36
|
+
if (disabled) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(!checked, e);
|
|
40
|
+
};
|
|
41
|
+
return ((0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, Object.assign({}, tipConfig, { disableSpanWrapper: true, children: (0, jsx_runtime_1.jsxs)("label", Object.assign({}, (0, utils_1.extractSupportProps)(rest), { "data-available": available || undefined, "data-disabled": disabled || undefined, "data-checked": checked || undefined, className: (0, classnames_1.default)(styles_module_scss_1.default.configSelector, className), children: [(0, jsx_runtime_1.jsx)("input", { type: 'checkbox', checked: checked, onChange: handleChange, disabled: disabled, tabIndex: tabIndex, className: styles_module_scss_1.default.configSelectorInput, "data-test-id": 'config-selector_input' }), (0, jsx_runtime_1.jsx)("span", { "data-available": available || undefined, "data-disabled": disabled || undefined, "data-checked": checked || undefined, className: styles_module_scss_1.default.configSelectorContent, children: (0, jsx_runtime_1.jsx)("span", { className: (0, classnames_1.default)(styles_module_scss_1.default.labelLayout, styles_module_scss_1.default.label), "data-test-id": 'config-selector_label', children: (0, jsx_runtime_1.jsx)(truncate_string_1.TruncateString, { text: label }) }) })] })) })));
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ConfigSelector';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./ConfigSelector"), exports);
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
.configSelectorContent{
|
|
2
|
+
cursor:pointer;
|
|
3
|
+
position:relative;
|
|
4
|
+
display:inline-flex;
|
|
5
|
+
justify-content:center;
|
|
6
|
+
align-items:center;
|
|
7
|
+
box-sizing:border-box;
|
|
8
|
+
width:-moz-max-content;
|
|
9
|
+
width:max-content;
|
|
10
|
+
min-width:var(--dimension-5m, 40px);
|
|
11
|
+
max-width:100%;
|
|
12
|
+
margin:0;
|
|
13
|
+
padding:0;
|
|
14
|
+
text-decoration:none;
|
|
15
|
+
text-transform:none;
|
|
16
|
+
border-style:solid;
|
|
17
|
+
outline:0;
|
|
18
|
+
outline-offset:0;
|
|
19
|
+
border-radius:12px;
|
|
20
|
+
border-width:2px;
|
|
21
|
+
color:var(--sys-neutral-text-support, #6d707f);
|
|
22
|
+
background-color:var(--sys-neutral-background1-level, #fdfdfd);
|
|
23
|
+
border-color:var(--sys-neutral-decor-default, #dde0ea);
|
|
24
|
+
}
|
|
25
|
+
.configSelectorContent:hover{
|
|
26
|
+
color:var(--sys-neutral-text-main, #41424e);
|
|
27
|
+
background-color:var(--sys-neutral-background1-level, #fdfdfd);
|
|
28
|
+
border-color:var(--sys-neutral-decor-hovered, #cfd2dc);
|
|
29
|
+
}
|
|
30
|
+
.configSelectorContent:active{
|
|
31
|
+
color:var(--sys-neutral-text-main, #41424e);
|
|
32
|
+
background-color:var(--sys-neutral-background2-level, #ffffff);
|
|
33
|
+
border-color:var(--sys-neutral-decor-activated, #b6bac7);
|
|
34
|
+
}
|
|
35
|
+
.configSelectorContent[data-disabled]{
|
|
36
|
+
cursor:not-allowed;
|
|
37
|
+
color:var(--sys-neutral-text-light, #8b8e9b);
|
|
38
|
+
background-color:var(--sys-neutral-background, #eeeff3);
|
|
39
|
+
border-color:transparent;
|
|
40
|
+
}
|
|
41
|
+
.configSelectorContent[data-available]{
|
|
42
|
+
border-color:var(--sys-primary-accent-default, #389f74);
|
|
43
|
+
}
|
|
44
|
+
.configSelectorContent[data-available]:hover{
|
|
45
|
+
border-color:var(--sys-primary-accent-hovered, #37946e);
|
|
46
|
+
}
|
|
47
|
+
.configSelectorContent[data-available]:active{
|
|
48
|
+
border-color:var(--sys-primary-accent-pressed, #358561);
|
|
49
|
+
}
|
|
50
|
+
.configSelectorContent[data-checked]{
|
|
51
|
+
color:var(--sys-neutral-background2-level, #ffffff);
|
|
52
|
+
background-color:var(--sys-primary-accent-default, #389f74);
|
|
53
|
+
border-color:transparent;
|
|
54
|
+
}
|
|
55
|
+
.configSelectorContent[data-checked]:hover{
|
|
56
|
+
background-color:var(--sys-primary-accent-hovered, #37946e);
|
|
57
|
+
}
|
|
58
|
+
.configSelectorContent[data-checked]:active{
|
|
59
|
+
background-color:var(--sys-primary-accent-pressed, #358561);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.configSelectorInput{
|
|
63
|
+
pointer-events:none;
|
|
64
|
+
position:absolute;
|
|
65
|
+
top:0;
|
|
66
|
+
left:0;
|
|
67
|
+
width:0;
|
|
68
|
+
height:0;
|
|
69
|
+
opacity:0;
|
|
70
|
+
}
|
|
71
|
+
.configSelectorInput:focus-visible + .configSelectorContent{
|
|
72
|
+
outline-width:var(--border-state-focus-s-border-width, 2px);
|
|
73
|
+
outline-style:var(--border-state-focus-s-border-style, solid);
|
|
74
|
+
outline-color:var(--border-state-focus-s-border-color, );
|
|
75
|
+
outline-color:var(--sys-available-complementary, #1c1c24);
|
|
76
|
+
outline-offset:var(--spacing-state-focus-offset, 2px);
|
|
77
|
+
color:var(--sys-neutral-text-main, #41424e);
|
|
78
|
+
background-color:var(--sys-neutral-background2-level, #ffffff);
|
|
79
|
+
border-color:var(--sys-neutral-decor-hovered, #cfd2dc);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.configSelector{
|
|
83
|
+
position:relative;
|
|
84
|
+
min-width:0;
|
|
85
|
+
margin:0;
|
|
86
|
+
padding:0;
|
|
87
|
+
border:none;
|
|
88
|
+
outline:0;
|
|
89
|
+
outline-offset:0;
|
|
90
|
+
}
|
|
91
|
+
.configSelector .label{
|
|
92
|
+
font-family:var(--sans-label-m-font-family, SB Sans Interface);
|
|
93
|
+
font-weight:var(--sans-label-m-font-weight, Semibold);
|
|
94
|
+
line-height:var(--sans-label-m-line-height, 16px);
|
|
95
|
+
font-size:var(--sans-label-m-font-size, 12px);
|
|
96
|
+
letter-spacing:var(--sans-label-m-letter-spacing, 0px);
|
|
97
|
+
paragraph-spacing:var(--sans-label-m-paragraph-spacing, 6.6px);
|
|
98
|
+
}
|
|
99
|
+
.configSelector .labelLayout{
|
|
100
|
+
padding-left:var(--space-chips-label-layout-padding-s, 4px);
|
|
101
|
+
padding-right:var(--space-chips-label-layout-padding-s, 4px);
|
|
102
|
+
display:inline-flex;
|
|
103
|
+
align-items:center;
|
|
104
|
+
min-width:0;
|
|
105
|
+
}
|
|
106
|
+
.configSelector .configSelectorContent{
|
|
107
|
+
height:var(--size-chips-s, 32px);
|
|
108
|
+
padding-left:var(--space-chips-container-padding-s, 3px);
|
|
109
|
+
padding-right:var(--space-chips-container-padding-s, 3px);
|
|
110
|
+
}
|
|
111
|
+
.configSelector[data-available] .configSelectorInput:focus-visible + .configSelectorContent{
|
|
112
|
+
border-color:var(--sys-primary-accent-hovered, #37946e);
|
|
113
|
+
}
|
|
114
|
+
.configSelector[data-checked] .configSelectorInput:focus-visible + .configSelectorContent{
|
|
115
|
+
color:var(--sys-neutral-background2-level, #ffffff);
|
|
116
|
+
background-color:var(--sys-primary-accent-hovered, #37946e);
|
|
117
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ConfigSelector';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./ConfigSelector"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './components';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./components"), exports);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ChangeEvent, ReactNode } from 'react';
|
|
2
|
+
import { WithSupportProps } from '@snack-uikit/utils';
|
|
3
|
+
export type ConfigSelectorProps = WithSupportProps<{
|
|
4
|
+
/** Лейбл */
|
|
5
|
+
label: string;
|
|
6
|
+
/** Колбек смены значения */
|
|
7
|
+
onChange(checked: boolean, e: ChangeEvent<HTMLInputElement>): void;
|
|
8
|
+
/** Отмечен ли компонент */
|
|
9
|
+
checked: boolean;
|
|
10
|
+
/** CSS-класс */
|
|
11
|
+
className?: string;
|
|
12
|
+
/** HTML tab index */
|
|
13
|
+
tabIndex?: number;
|
|
14
|
+
/** Доступна ли опция */
|
|
15
|
+
available?: boolean;
|
|
16
|
+
/** Тултип для доступной опции */
|
|
17
|
+
availableTip?: ReactNode;
|
|
18
|
+
/** Деактивирован ли компонент */
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
/** Тултип для деактивированного компонента */
|
|
21
|
+
disabledTip?: ReactNode;
|
|
22
|
+
}>;
|
|
23
|
+
export declare function ConfigSelector({ available, availableTip, disabledTip, label, checked, disabled, onChange, className, tabIndex, ...rest }: ConfigSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import cn from 'classnames';
|
|
14
|
+
import { useMemo } from 'react';
|
|
15
|
+
import { Tooltip } from '@snack-uikit/tooltip';
|
|
16
|
+
import { TruncateString } from '@snack-uikit/truncate-string';
|
|
17
|
+
import { extractSupportProps } from '@snack-uikit/utils';
|
|
18
|
+
import styles from './styles.module.css';
|
|
19
|
+
export function ConfigSelector(_a) {
|
|
20
|
+
var { available, availableTip, disabledTip, label, checked, disabled, onChange, className, tabIndex = 0 } = _a, rest = __rest(_a, ["available", "availableTip", "disabledTip", "label", "checked", "disabled", "onChange", "className", "tabIndex"]);
|
|
21
|
+
const tipConfig = useMemo(() => {
|
|
22
|
+
const isOpen = (available && !checked && availableTip) || (disabled && disabledTip);
|
|
23
|
+
return {
|
|
24
|
+
tip: disabled ? disabledTip : availableTip,
|
|
25
|
+
open: isOpen ? undefined : false,
|
|
26
|
+
hoverDelayOpen: disabled ? 100 : 400,
|
|
27
|
+
};
|
|
28
|
+
}, [available, availableTip, checked, disabled, disabledTip]);
|
|
29
|
+
const handleChange = e => {
|
|
30
|
+
if (disabled) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(!checked, e);
|
|
34
|
+
};
|
|
35
|
+
return (_jsx(Tooltip, Object.assign({}, tipConfig, { disableSpanWrapper: true, children: _jsxs("label", Object.assign({}, extractSupportProps(rest), { "data-available": available || undefined, "data-disabled": disabled || undefined, "data-checked": checked || undefined, className: cn(styles.configSelector, className), children: [_jsx("input", { type: 'checkbox', checked: checked, onChange: handleChange, disabled: disabled, tabIndex: tabIndex, className: styles.configSelectorInput, "data-test-id": 'config-selector_input' }), _jsx("span", { "data-available": available || undefined, "data-disabled": disabled || undefined, "data-checked": checked || undefined, className: styles.configSelectorContent, children: _jsx("span", { className: cn(styles.labelLayout, styles.label), "data-test-id": 'config-selector_label', children: _jsx(TruncateString, { text: label }) }) })] })) })));
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ConfigSelector';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ConfigSelector';
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
.configSelectorContent{
|
|
2
|
+
cursor:pointer;
|
|
3
|
+
position:relative;
|
|
4
|
+
display:inline-flex;
|
|
5
|
+
justify-content:center;
|
|
6
|
+
align-items:center;
|
|
7
|
+
box-sizing:border-box;
|
|
8
|
+
width:-moz-max-content;
|
|
9
|
+
width:max-content;
|
|
10
|
+
min-width:var(--dimension-5m, 40px);
|
|
11
|
+
max-width:100%;
|
|
12
|
+
margin:0;
|
|
13
|
+
padding:0;
|
|
14
|
+
text-decoration:none;
|
|
15
|
+
text-transform:none;
|
|
16
|
+
border-style:solid;
|
|
17
|
+
outline:0;
|
|
18
|
+
outline-offset:0;
|
|
19
|
+
border-radius:12px;
|
|
20
|
+
border-width:2px;
|
|
21
|
+
color:var(--sys-neutral-text-support, #6d707f);
|
|
22
|
+
background-color:var(--sys-neutral-background1-level, #fdfdfd);
|
|
23
|
+
border-color:var(--sys-neutral-decor-default, #dde0ea);
|
|
24
|
+
}
|
|
25
|
+
.configSelectorContent:hover{
|
|
26
|
+
color:var(--sys-neutral-text-main, #41424e);
|
|
27
|
+
background-color:var(--sys-neutral-background1-level, #fdfdfd);
|
|
28
|
+
border-color:var(--sys-neutral-decor-hovered, #cfd2dc);
|
|
29
|
+
}
|
|
30
|
+
.configSelectorContent:active{
|
|
31
|
+
color:var(--sys-neutral-text-main, #41424e);
|
|
32
|
+
background-color:var(--sys-neutral-background2-level, #ffffff);
|
|
33
|
+
border-color:var(--sys-neutral-decor-activated, #b6bac7);
|
|
34
|
+
}
|
|
35
|
+
.configSelectorContent[data-disabled]{
|
|
36
|
+
cursor:not-allowed;
|
|
37
|
+
color:var(--sys-neutral-text-light, #8b8e9b);
|
|
38
|
+
background-color:var(--sys-neutral-background, #eeeff3);
|
|
39
|
+
border-color:transparent;
|
|
40
|
+
}
|
|
41
|
+
.configSelectorContent[data-available]{
|
|
42
|
+
border-color:var(--sys-primary-accent-default, #389f74);
|
|
43
|
+
}
|
|
44
|
+
.configSelectorContent[data-available]:hover{
|
|
45
|
+
border-color:var(--sys-primary-accent-hovered, #37946e);
|
|
46
|
+
}
|
|
47
|
+
.configSelectorContent[data-available]:active{
|
|
48
|
+
border-color:var(--sys-primary-accent-pressed, #358561);
|
|
49
|
+
}
|
|
50
|
+
.configSelectorContent[data-checked]{
|
|
51
|
+
color:var(--sys-neutral-background2-level, #ffffff);
|
|
52
|
+
background-color:var(--sys-primary-accent-default, #389f74);
|
|
53
|
+
border-color:transparent;
|
|
54
|
+
}
|
|
55
|
+
.configSelectorContent[data-checked]:hover{
|
|
56
|
+
background-color:var(--sys-primary-accent-hovered, #37946e);
|
|
57
|
+
}
|
|
58
|
+
.configSelectorContent[data-checked]:active{
|
|
59
|
+
background-color:var(--sys-primary-accent-pressed, #358561);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.configSelectorInput{
|
|
63
|
+
pointer-events:none;
|
|
64
|
+
position:absolute;
|
|
65
|
+
top:0;
|
|
66
|
+
left:0;
|
|
67
|
+
width:0;
|
|
68
|
+
height:0;
|
|
69
|
+
opacity:0;
|
|
70
|
+
}
|
|
71
|
+
.configSelectorInput:focus-visible + .configSelectorContent{
|
|
72
|
+
outline-width:var(--border-state-focus-s-border-width, 2px);
|
|
73
|
+
outline-style:var(--border-state-focus-s-border-style, solid);
|
|
74
|
+
outline-color:var(--border-state-focus-s-border-color, );
|
|
75
|
+
outline-color:var(--sys-available-complementary, #1c1c24);
|
|
76
|
+
outline-offset:var(--spacing-state-focus-offset, 2px);
|
|
77
|
+
color:var(--sys-neutral-text-main, #41424e);
|
|
78
|
+
background-color:var(--sys-neutral-background2-level, #ffffff);
|
|
79
|
+
border-color:var(--sys-neutral-decor-hovered, #cfd2dc);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.configSelector{
|
|
83
|
+
position:relative;
|
|
84
|
+
min-width:0;
|
|
85
|
+
margin:0;
|
|
86
|
+
padding:0;
|
|
87
|
+
border:none;
|
|
88
|
+
outline:0;
|
|
89
|
+
outline-offset:0;
|
|
90
|
+
}
|
|
91
|
+
.configSelector .label{
|
|
92
|
+
font-family:var(--sans-label-m-font-family, SB Sans Interface);
|
|
93
|
+
font-weight:var(--sans-label-m-font-weight, Semibold);
|
|
94
|
+
line-height:var(--sans-label-m-line-height, 16px);
|
|
95
|
+
font-size:var(--sans-label-m-font-size, 12px);
|
|
96
|
+
letter-spacing:var(--sans-label-m-letter-spacing, 0px);
|
|
97
|
+
paragraph-spacing:var(--sans-label-m-paragraph-spacing, 6.6px);
|
|
98
|
+
}
|
|
99
|
+
.configSelector .labelLayout{
|
|
100
|
+
padding-left:var(--space-chips-label-layout-padding-s, 4px);
|
|
101
|
+
padding-right:var(--space-chips-label-layout-padding-s, 4px);
|
|
102
|
+
display:inline-flex;
|
|
103
|
+
align-items:center;
|
|
104
|
+
min-width:0;
|
|
105
|
+
}
|
|
106
|
+
.configSelector .configSelectorContent{
|
|
107
|
+
height:var(--size-chips-s, 32px);
|
|
108
|
+
padding-left:var(--space-chips-container-padding-s, 3px);
|
|
109
|
+
padding-right:var(--space-chips-container-padding-s, 3px);
|
|
110
|
+
}
|
|
111
|
+
.configSelector[data-available] .configSelectorInput:focus-visible + .configSelectorContent{
|
|
112
|
+
border-color:var(--sys-primary-accent-hovered, #37946e);
|
|
113
|
+
}
|
|
114
|
+
.configSelector[data-checked] .configSelectorInput:focus-visible + .configSelectorContent{
|
|
115
|
+
color:var(--sys-neutral-background2-level, #ffffff);
|
|
116
|
+
background-color:var(--sys-primary-accent-hovered, #37946e);
|
|
117
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ConfigSelector';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ConfigSelector';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './components';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './components';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloud-ru/uikit-product-config-selector",
|
|
3
3
|
"title": "Config Selector",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.6",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"*.css",
|
|
7
7
|
"*.woff",
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"@snack-uikit/utils": "3.9.0",
|
|
42
42
|
"classnames": "2.5.1"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "ce69097516055b330a0b05da5e29ac5b66e56284"
|
|
45
45
|
}
|