@sima-land/ui-nucleons 45.0.0-alpha.1 → 45.0.0-alpha.2
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/bottom-bar/bottom-bar.d.ts +1 -1
- package/bottom-bar/index.d.ts +1 -1
- package/dropdown-item/index.d.ts +1 -1
- package/dropdown-item/index.js +4 -3
- package/expandable/index.d.ts +1 -0
- package/hooks/index.js +3 -1
- package/hooks/keydown.js +2 -5
- package/modal/modal.module.scss +1 -1
- package/modal-overlay/modal-overlay.module.scss +5 -2
- package/package.json +1 -1
- package/switcher-row/index.js +2 -1
- package/switcher-row/switcher-row.module.scss +1 -1
- package/toggle/toggle.module.scss +8 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { BottomBarProps, BottomBarSize } from './types';
|
|
2
|
+
import { BottomBarProps, type BottomBarSize } from './types';
|
|
3
3
|
export declare const BOTTOM_BAR_HEIGHT: Record<BottomBarSize, number>;
|
|
4
4
|
export declare const BOTTOM_BAR_DEFAULTS: {
|
|
5
5
|
readonly size: "m";
|
package/bottom-bar/index.d.ts
CHANGED
package/dropdown-item/index.d.ts
CHANGED
|
@@ -31,4 +31,4 @@ export interface DropdownItemProps extends Omit<React.HTMLAttributes<HTMLDivElem
|
|
|
31
31
|
* @param props Свойства.
|
|
32
32
|
* @return Элемент.
|
|
33
33
|
*/
|
|
34
|
-
export declare function DropdownItem({ size, children, className, selected, disabled, noHover, checked, startContent, startIcon: StartIcon, endContent, endIcon: EndIcon, comment, 'data-testid': testId, ...restProps }: DropdownItemProps): JSX.Element;
|
|
34
|
+
export declare function DropdownItem({ size, children, className, selected, disabled, noHover, checked, startContent, startIcon: StartIcon, endContent, endIcon: EndIcon, comment, dangerouslySetInnerHTML, 'data-testid': testId, ...restProps }: DropdownItemProps): JSX.Element;
|
package/dropdown-item/index.js
CHANGED
|
@@ -25,14 +25,15 @@ const cx = bind_1.default.bind(dropdown_item_module_scss_1.default);
|
|
|
25
25
|
* @return Элемент.
|
|
26
26
|
*/
|
|
27
27
|
function DropdownItem(_a) {
|
|
28
|
-
var { size = 'm', children, className, selected, disabled, noHover, checked, startContent, startIcon: StartIcon, endContent, endIcon: EndIcon, comment, 'data-testid': testId = 'dropdown-item' } = _a, restProps = __rest(_a, ["size", "children", "className", "selected", "disabled", "noHover", "checked", "startContent", "startIcon", "endContent", "endIcon", "comment", 'data-testid']);
|
|
28
|
+
var { size = 'm', children, className, selected, disabled, noHover, checked, startContent, startIcon: StartIcon, endContent, endIcon: EndIcon, comment, dangerouslySetInnerHTML, 'data-testid': testId = 'dropdown-item' } = _a, restProps = __rest(_a, ["size", "children", "className", "selected", "disabled", "noHover", "checked", "startContent", "startIcon", "endContent", "endIcon", "comment", "dangerouslySetInnerHTML", 'data-testid']);
|
|
29
29
|
const start = StartIcon ? react_1.default.createElement(StartIcon, { className: cx('icon') }) : startContent;
|
|
30
30
|
const end = EndIcon ? react_1.default.createElement(EndIcon, { className: cx('icon') }) : endContent;
|
|
31
|
-
|
|
31
|
+
const hasChildren = [start, children, end].some(item => typeof item !== 'undefined');
|
|
32
|
+
return (react_1.default.createElement("div", Object.assign({}, restProps, { className: cx('root', `size-${size}`, selected && 'selected', checked && 'checked', disabled && 'disabled', noHover && 'no-hover', className), dangerouslySetInnerHTML: dangerouslySetInnerHTML, "data-testid": testId }), hasChildren ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
32
33
|
start && react_1.default.createElement("div", { className: cx('col', 'col-start') }, start),
|
|
33
34
|
react_1.default.createElement("div", { className: cx('col', 'col-center') },
|
|
34
35
|
react_1.default.createElement("div", { className: cx('row-main') }, children),
|
|
35
36
|
size === 'xl' && comment && react_1.default.createElement("div", { className: cx('row-comment') }, comment)),
|
|
36
|
-
end && react_1.default.createElement("div", { className: cx('col', 'col-end') }, end)));
|
|
37
|
+
end && react_1.default.createElement("div", { className: cx('col', 'col-end') }, end))) : undefined));
|
|
37
38
|
}
|
|
38
39
|
exports.DropdownItem = DropdownItem;
|
package/expandable/index.d.ts
CHANGED
package/hooks/index.js
CHANGED
|
@@ -64,7 +64,9 @@ function useOutsideClick(elementRef, callback) {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
isOutsideClick && ((_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, event));
|
|
67
|
-
}
|
|
67
|
+
},
|
|
68
|
+
// ВАЖНО: чтобы изменение DOM не приводило к ложному срабатыванию
|
|
69
|
+
{ capture: true });
|
|
68
70
|
return off;
|
|
69
71
|
}, []);
|
|
70
72
|
}
|
package/hooks/keydown.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.useKeydown = void 0;
|
|
7
4
|
const react_1 = require("react");
|
|
8
5
|
const identity_1 = require("./identity");
|
|
9
|
-
const on_1 =
|
|
6
|
+
const on_1 = require("../helpers/on");
|
|
10
7
|
/**
|
|
11
8
|
* Хук, добавляющий обработчик нажатия на клавишу.
|
|
12
9
|
* @param targetKey Клавиша, для которой отслеживается нажатие.
|
|
@@ -14,7 +11,7 @@ const on_1 = __importDefault(require("../helpers/on"));
|
|
|
14
11
|
*/
|
|
15
12
|
function useKeydown(targetKey, callback) {
|
|
16
13
|
const ref = (0, identity_1.useIdentityRef)(callback);
|
|
17
|
-
(0, react_1.useEffect)(() => (0, on_1.
|
|
14
|
+
(0, react_1.useEffect)(() => (0, on_1.on)(document, 'keydown', event => {
|
|
18
15
|
const handler = ref.current;
|
|
19
16
|
(event.key === targetKey || event.code === targetKey) && (handler === null || handler === void 0 ? void 0 : handler(event));
|
|
20
17
|
}), [targetKey]);
|
package/modal/modal.module.scss
CHANGED
|
@@ -5,9 +5,12 @@
|
|
|
5
5
|
position: fixed;
|
|
6
6
|
top: 0;
|
|
7
7
|
left: 0;
|
|
8
|
+
|
|
9
|
+
// ВАЖНО: высота/ширина в процентах тк при использовании 100vw/100vh размер ломается если у body указан min-width
|
|
10
|
+
height: 100%;
|
|
11
|
+
width: 100%;
|
|
12
|
+
|
|
8
13
|
display: flex;
|
|
9
|
-
width: 100vw;
|
|
10
|
-
height: calc(var(--vh, 1vh) * 100);
|
|
11
14
|
background: modal-overlay-util.$overlay-color;
|
|
12
15
|
overflow: auto;
|
|
13
16
|
@include utils.hidden-scrollbars;
|
package/package.json
CHANGED
package/switcher-row/index.js
CHANGED
|
@@ -17,7 +17,7 @@ const cx = bind_1.default.bind(switcher_row_module_scss_1.default);
|
|
|
17
17
|
* @param props Свойства.
|
|
18
18
|
* @return Элемент.
|
|
19
19
|
*/
|
|
20
|
-
function SwitcherRow({ children, className, style, textAlign, fieldPosition = 'start', 'data-testid': testId = 'switcher-row', }) {
|
|
20
|
+
function SwitcherRow({ children, className, style, textAlign = 'left', fieldPosition = 'start', 'data-testid': testId = 'switcher-row', }) {
|
|
21
21
|
var _a;
|
|
22
22
|
const { toggle, checkbox, radio, label, comment } = (0, define_slots_1.defineSlots)(children, {
|
|
23
23
|
toggle: toggle_1.Toggle,
|
|
@@ -30,6 +30,7 @@ function SwitcherRow({ children, className, style, textAlign, fieldPosition = 's
|
|
|
30
30
|
const failed = input === null || input === void 0 ? void 0 : input.props.failed;
|
|
31
31
|
const disabled = input === null || input === void 0 ? void 0 : input.props.disabled;
|
|
32
32
|
const fieldId = input === null || input === void 0 ? void 0 : input.props.id;
|
|
33
|
+
// @todo в Safari position: relative ломает vertical-align
|
|
33
34
|
const fieldColumn = input && (react_1.default.createElement("div", { className: cx('col', 'field-col', { 'toggle-col': toggle }) }, input));
|
|
34
35
|
return (react_1.default.createElement("div", { className: cx('root', `text-align-${textAlign}`, { failed, disabled }, className), style: style, "data-testid": testId },
|
|
35
36
|
fieldPosition === 'start' && fieldColumn,
|
|
@@ -6,11 +6,17 @@
|
|
|
6
6
|
cursor: pointer;
|
|
7
7
|
user-select: none;
|
|
8
8
|
vertical-align: -2px;
|
|
9
|
-
overflow: hidden;
|
|
10
9
|
}
|
|
11
10
|
|
|
12
11
|
.input {
|
|
13
|
-
|
|
12
|
+
position: absolute;
|
|
13
|
+
display: block;
|
|
14
|
+
opacity: 0;
|
|
15
|
+
padding: 0;
|
|
16
|
+
margin: 0;
|
|
17
|
+
width: 0;
|
|
18
|
+
height: 0;
|
|
19
|
+
pointer-events: none;
|
|
14
20
|
&:not(:checked) + .switch {
|
|
15
21
|
--toggle-slider-position: 2px;
|
|
16
22
|
}
|