@alfalab/core-components-navigation-bar 1.2.25 → 2.0.0-snapshot-6a9d3fc
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/Component.d.ts +3 -6
- package/Component.js +14 -15
- package/Component.js.map +1 -0
- package/components/action-icon-addon/Component.d.ts +2 -4
- package/components/action-icon-addon/Component.js +6 -7
- package/components/action-icon-addon/Component.js.map +1 -0
- package/components/action-icon-addon/index.css +8 -29
- package/components/action-icon-addon/index.d.ts +1 -1
- package/components/action-icon-addon/index.js +3 -2
- package/components/action-icon-addon/index.js.map +1 -0
- package/components/action-icon-addon/index.module.css.js +8 -0
- package/components/action-icon-addon/index.module.css.js.map +1 -0
- package/components/action-text-addon/Component.d.ts +2 -4
- package/components/action-text-addon/Component.js +4 -5
- package/components/action-text-addon/Component.js.map +1 -0
- package/components/action-text-addon/index.css +5 -27
- package/components/action-text-addon/index.d.ts +1 -1
- package/components/action-text-addon/index.js +3 -2
- package/components/action-text-addon/index.js.map +1 -0
- package/components/action-text-addon/index.module.css.js +8 -0
- package/components/action-text-addon/index.module.css.js.map +1 -0
- package/cssm/Component.d.ts +3 -6
- package/cssm/Component.js +4 -3
- package/cssm/Component.js.map +1 -0
- package/cssm/components/action-icon-addon/Component.d.ts +2 -4
- package/cssm/components/action-icon-addon/Component.js +1 -0
- package/cssm/components/action-icon-addon/Component.js.map +1 -0
- package/cssm/components/action-icon-addon/index.d.ts +1 -1
- package/cssm/components/action-icon-addon/index.js +3 -2
- package/cssm/components/action-icon-addon/index.js.map +1 -0
- package/cssm/components/action-icon-addon/index.module.css +3 -23
- package/cssm/components/action-text-addon/Component.d.ts +2 -4
- package/cssm/components/action-text-addon/Component.js +3 -2
- package/cssm/components/action-text-addon/Component.js.map +1 -0
- package/cssm/components/action-text-addon/index.d.ts +1 -1
- package/cssm/components/action-text-addon/index.js +3 -2
- package/cssm/components/action-text-addon/index.js.map +1 -0
- package/cssm/components/action-text-addon/index.module.css +4 -25
- package/cssm/index.d.ts +1 -1
- package/cssm/index.js +1 -0
- package/cssm/index.js.map +1 -0
- package/cssm/index.module.css +6 -26
- package/cssm/shared/index.d.ts +3 -3
- package/cssm/shared/index.js +5 -4
- package/cssm/shared/index.js.map +1 -0
- package/cssm/utils.d.ts +1 -2
- package/cssm/utils.js +4 -3
- package/cssm/utils.js.map +1 -0
- package/esm/Component.d.ts +3 -6
- package/esm/Component.js +2 -3
- package/esm/Component.js.map +1 -0
- package/esm/components/action-icon-addon/Component.d.ts +2 -4
- package/esm/components/action-icon-addon/Component.js +2 -3
- package/esm/components/action-icon-addon/Component.js.map +1 -0
- package/esm/components/action-icon-addon/index.css +8 -29
- package/esm/components/action-icon-addon/index.d.ts +1 -1
- package/esm/components/action-icon-addon/index.js +1 -0
- package/esm/components/action-icon-addon/index.js.map +1 -0
- package/esm/components/action-icon-addon/index.module.css.js +6 -0
- package/esm/components/action-icon-addon/index.module.css.js.map +1 -0
- package/esm/components/action-text-addon/Component.d.ts +2 -4
- package/esm/components/action-text-addon/Component.js +2 -3
- package/esm/components/action-text-addon/Component.js.map +1 -0
- package/esm/components/action-text-addon/index.css +5 -27
- package/esm/components/action-text-addon/index.d.ts +1 -1
- package/esm/components/action-text-addon/index.js +1 -0
- package/esm/components/action-text-addon/index.js.map +1 -0
- package/esm/components/action-text-addon/index.module.css.js +6 -0
- package/esm/components/action-text-addon/index.module.css.js.map +1 -0
- package/esm/index.css +21 -42
- package/esm/index.d.ts +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -0
- package/esm/index.module.css.js +6 -0
- package/esm/index.module.css.js.map +1 -0
- package/esm/shared/index.d.ts +3 -3
- package/esm/shared/index.js +1 -0
- package/esm/shared/index.js.map +1 -0
- package/esm/utils.d.ts +1 -2
- package/esm/utils.js +1 -0
- package/esm/utils.js.map +1 -0
- package/index.css +21 -42
- package/index.d.ts +1 -1
- package/index.js +1 -0
- package/index.js.map +1 -0
- package/index.module.css.js +8 -0
- package/index.module.css.js.map +1 -0
- package/modern/Component.d.ts +3 -6
- package/modern/Component.js +2 -3
- package/modern/Component.js.map +1 -0
- package/modern/components/action-icon-addon/Component.d.ts +2 -4
- package/modern/components/action-icon-addon/Component.js +2 -3
- package/modern/components/action-icon-addon/Component.js.map +1 -0
- package/modern/components/action-icon-addon/index.css +8 -29
- package/modern/components/action-icon-addon/index.d.ts +1 -1
- package/modern/components/action-icon-addon/index.js +1 -0
- package/modern/components/action-icon-addon/index.js.map +1 -0
- package/modern/components/action-icon-addon/index.module.css.js +6 -0
- package/modern/components/action-icon-addon/index.module.css.js.map +1 -0
- package/modern/components/action-text-addon/Component.d.ts +2 -4
- package/modern/components/action-text-addon/Component.js +2 -3
- package/modern/components/action-text-addon/Component.js.map +1 -0
- package/modern/components/action-text-addon/index.css +5 -27
- package/modern/components/action-text-addon/index.d.ts +1 -1
- package/modern/components/action-text-addon/index.js +1 -0
- package/modern/components/action-text-addon/index.js.map +1 -0
- package/modern/components/action-text-addon/index.module.css.js +6 -0
- package/modern/components/action-text-addon/index.module.css.js.map +1 -0
- package/modern/index.css +21 -42
- package/modern/index.d.ts +1 -1
- package/modern/index.js +1 -0
- package/modern/index.js.map +1 -0
- package/modern/index.module.css.js +6 -0
- package/modern/index.module.css.js.map +1 -0
- package/modern/shared/index.d.ts +3 -3
- package/modern/shared/index.js +1 -0
- package/modern/shared/index.js.map +1 -0
- package/modern/utils.d.ts +1 -2
- package/modern/utils.js +1 -0
- package/modern/utils.js.map +1 -0
- package/moderncssm/Component.d.ts +3 -6
- package/moderncssm/Component.js +1 -0
- package/moderncssm/Component.js.map +1 -0
- package/moderncssm/components/action-icon-addon/Component.d.ts +2 -4
- package/moderncssm/components/action-icon-addon/Component.js +1 -0
- package/moderncssm/components/action-icon-addon/Component.js.map +1 -0
- package/moderncssm/components/action-icon-addon/index.d.ts +1 -1
- package/moderncssm/components/action-icon-addon/index.js +1 -0
- package/moderncssm/components/action-icon-addon/index.js.map +1 -0
- package/moderncssm/components/action-icon-addon/index.module.css +0 -2
- package/moderncssm/components/action-text-addon/Component.d.ts +2 -4
- package/moderncssm/components/action-text-addon/Component.js +1 -0
- package/moderncssm/components/action-text-addon/Component.js.map +1 -0
- package/moderncssm/components/action-text-addon/index.d.ts +1 -1
- package/moderncssm/components/action-text-addon/index.js +1 -0
- package/moderncssm/components/action-text-addon/index.js.map +1 -0
- package/moderncssm/components/action-text-addon/index.module.css +0 -2
- package/moderncssm/index.d.ts +1 -1
- package/moderncssm/index.js +1 -0
- package/moderncssm/index.js.map +1 -0
- package/moderncssm/index.module.css +0 -2
- package/moderncssm/shared/index.d.ts +3 -3
- package/moderncssm/shared/index.js +1 -0
- package/moderncssm/shared/index.js.map +1 -0
- package/moderncssm/utils.d.ts +1 -2
- package/moderncssm/utils.js +1 -0
- package/moderncssm/utils.js.map +1 -0
- package/package.json +8 -7
- package/shared/index.d.ts +3 -3
- package/shared/index.js +5 -4
- package/shared/index.js.map +1 -0
- package/utils.d.ts +1 -2
- package/utils.js +1 -0
- package/utils.js.map +1 -0
- package/shared/package.json +0 -3
- package/src/shared/package.json +0 -3
package/Component.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { ReactNode } from "react";
|
|
4
|
-
interface NavigationBarProps {
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
export interface NavigationBarProps {
|
|
5
3
|
/**
|
|
6
4
|
* Заголовок
|
|
7
5
|
*/
|
|
@@ -72,5 +70,4 @@ interface NavigationBarProps {
|
|
|
72
70
|
*/
|
|
73
71
|
dataTestId?: string;
|
|
74
72
|
}
|
|
75
|
-
declare const NavigationBar: React.ForwardRefExoticComponent<NavigationBarProps & React.RefAttributes<HTMLDivElement>>;
|
|
76
|
-
export { NavigationBarProps, NavigationBar };
|
|
73
|
+
export declare const NavigationBar: React.ForwardRefExoticComponent<NavigationBarProps & React.RefAttributes<HTMLDivElement>>;
|
package/Component.js
CHANGED
|
@@ -6,15 +6,13 @@ var tslib = require('tslib');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
var coreComponentsShared = require('@alfalab/core-components-shared');
|
|
9
|
+
var index_module = require('./index.module.css.js');
|
|
9
10
|
|
|
10
11
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
11
12
|
|
|
12
13
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
13
14
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
14
15
|
|
|
15
|
-
var styles = {"component":"navigation-bar__component_rjs1i","sticky":"navigation-bar__sticky_rjs1i","border":"navigation-bar__border_rjs1i","mainLine":"navigation-bar__mainLine_rjs1i","left":"navigation-bar__left_rjs1i","center":"navigation-bar__center_rjs1i","children":"navigation-bar__children_rjs1i","content":"navigation-bar__content_rjs1i","title":"navigation-bar__title_rjs1i","subtitle":"navigation-bar__subtitle_rjs1i","addons":"navigation-bar__addons_rjs1i","rightAddons":"navigation-bar__rightAddons_rjs1i"};
|
|
16
|
-
require('./index.css')
|
|
17
|
-
|
|
18
16
|
var NavigationBar = React.forwardRef(function (_a, ref) {
|
|
19
17
|
var _b, _c, _d;
|
|
20
18
|
var _e = _a.align, align = _e === void 0 ? 'center' : _e, rightAddons = _a.rightAddons, leftAddons = _a.leftAddons, bottomAddons = _a.bottomAddons, sticky = _a.sticky, border = _a.border, subtitle = _a.subtitle, title = _a.title, children = _a.children, _f = _a.backgroundColor, backgroundColor = _f === void 0 ? 'var(--color-light-base-bg-primary)' : _f, contentWrapperClassName = _a.contentWrapperClassName, className = _a.className, contentClassName = _a.contentClassName, rightAddonsClassName = _a.rightAddonsClassName, leftAddonsClassName = _a.leftAddonsClassName, bottomAddonsClassName = _a.bottomAddonsClassName, dataTestId = _a.dataTestId;
|
|
@@ -37,28 +35,29 @@ var NavigationBar = React.forwardRef(function (_a, ref) {
|
|
|
37
35
|
return isStateChanged ? newState : prev;
|
|
38
36
|
});
|
|
39
37
|
}, [hasLeftAddons, leftAddons, rightAddons]);
|
|
40
|
-
return (React__default.default.createElement("div", { ref: ref, className: cn__default.default(
|
|
41
|
-
_b[
|
|
42
|
-
_b[
|
|
38
|
+
return (React__default.default.createElement("div", { ref: ref, className: cn__default.default(index_module.component, (_b = {},
|
|
39
|
+
_b[index_module.border] = border,
|
|
40
|
+
_b[index_module.sticky] = sticky,
|
|
43
41
|
_b), className), style: tslib.__assign({}, (backgroundColor && { backgroundColor: backgroundColor })), "data-test-id": dataTestId },
|
|
44
|
-
React__default.default.createElement("div", { className: cn__default.default(
|
|
45
|
-
hasLeftAddons && (React__default.default.createElement("div", { className: cn__default.default(
|
|
46
|
-
children && React__default.default.createElement("div", { className:
|
|
47
|
-
title && (React__default.default.createElement("div", { className: cn__default.default(
|
|
48
|
-
_c[
|
|
42
|
+
React__default.default.createElement("div", { className: cn__default.default(index_module.mainLine, index_module[align], contentClassName) },
|
|
43
|
+
hasLeftAddons && (React__default.default.createElement("div", { className: cn__default.default(index_module.addons, leftAddonsClassName), ref: leftAddonsRef }, leftAddons)),
|
|
44
|
+
children && React__default.default.createElement("div", { className: index_module.children }, children),
|
|
45
|
+
title && (React__default.default.createElement("div", { className: cn__default.default(index_module.content, contentWrapperClassName, (_c = {},
|
|
46
|
+
_c[index_module[align]] = !hasLeftAddons,
|
|
49
47
|
_c)), style: tslib.__assign({}, (align === 'center'
|
|
50
48
|
? {
|
|
51
49
|
marginLeft: titleMargin.left,
|
|
52
50
|
marginRight: titleMargin.right,
|
|
53
51
|
}
|
|
54
52
|
: null)) },
|
|
55
|
-
React__default.default.createElement("div", { className: cn__default.default(
|
|
56
|
-
_d[
|
|
53
|
+
React__default.default.createElement("div", { className: cn__default.default(index_module.title, (_d = {},
|
|
54
|
+
_d[index_module[align]] = !hasLeftAddons && !subtitle,
|
|
57
55
|
_d)), "data-test-id": coreComponentsShared.getDataTestId(dataTestId, 'title') }, title),
|
|
58
|
-
subtitle && (React__default.default.createElement("div", { className:
|
|
59
|
-
rightAddons && (React__default.default.createElement("div", { className: cn__default.default(
|
|
56
|
+
subtitle && (React__default.default.createElement("div", { className: index_module.subtitle, "data-test-id": coreComponentsShared.getDataTestId(dataTestId, 'subtitle') }, subtitle)))),
|
|
57
|
+
rightAddons && (React__default.default.createElement("div", { className: cn__default.default(index_module.rightAddons, index_module.addons, rightAddonsClassName), ref: rightAddonsRef }, rightAddons))),
|
|
60
58
|
bottomAddons && React__default.default.createElement("div", { className: bottomAddonsClassName }, bottomAddons)));
|
|
61
59
|
});
|
|
62
60
|
NavigationBar.displayName = 'NavigationBar';
|
|
63
61
|
|
|
64
62
|
exports.NavigationBar = NavigationBar;
|
|
63
|
+
//# sourceMappingURL=Component.js.map
|
package/Component.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["src/Component.tsx"],"sourcesContent":["import React, { forwardRef, ReactNode, useEffect, useRef, useState } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport styles from './index.module.css';\n\nexport interface NavigationBarProps {\n /**\n * Заголовок\n */\n title?: string;\n\n /**\n * Подзаголовок\n */\n subtitle?: string;\n\n /**\n * Контент шапки\n */\n children?: ReactNode;\n\n /**\n * Выравнивание заголовка\n * @default center\n */\n align?: 'left' | 'center';\n\n /**\n * Цвет фона\n */\n backgroundColor?: string;\n\n /**\n * Наличие бордера\n */\n border?: boolean;\n\n /**\n * Фиксирует шапку\n */\n sticky?: boolean;\n\n /**\n * Слот снизу\n */\n bottomAddons?: ReactNode;\n\n /**\n * Слот слева\n */\n leftAddons?: ReactNode;\n\n /**\n * Слот справа\n */\n rightAddons?: ReactNode;\n\n /**\n * Дополнительный класс для контента\n */\n contentClassName?: string;\n\n /**\n * Дополнительный класс для обертки контента\n */\n contentWrapperClassName?: string;\n\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Дополнительный класс для правого аддона\n */\n rightAddonsClassName?: string;\n\n /**\n * Дополнительный класс для левого аддона\n */\n leftAddonsClassName?: string;\n\n /**\n * Дополнительный класс для нижнего аддона\n */\n bottomAddonsClassName?: string;\n\n /**\n * Идентификатор для систем автоматизированного тестирования.\n */\n dataTestId?: string;\n}\n\nexport const NavigationBar = forwardRef<HTMLDivElement, NavigationBarProps>(\n (\n {\n align = 'center',\n rightAddons,\n leftAddons,\n bottomAddons,\n sticky,\n border,\n subtitle,\n title,\n children,\n backgroundColor = 'var(--color-light-base-bg-primary)',\n contentWrapperClassName,\n className,\n contentClassName,\n rightAddonsClassName,\n leftAddonsClassName,\n bottomAddonsClassName,\n dataTestId,\n },\n ref,\n ) => {\n const [titleMargin, setTitleMargin] = useState({ left: 0, right: 0 });\n const leftAddonsRef = useRef<HTMLDivElement>(null);\n const rightAddonsRef = useRef<HTMLDivElement>(null);\n const hasLeftAddons = leftAddons && align !== 'left';\n\n // добавляет отступ для того чтобы title находился по центру не зависимо от ширины аддонов\n useEffect(() => {\n const leftAddonsWidth = leftAddonsRef.current?.offsetWidth || 0;\n const rightAddonsWidth = rightAddonsRef.current?.offsetWidth || 0;\n\n const marginSize = Math.abs(rightAddonsWidth - leftAddonsWidth);\n const shouldAddLeftMargin = rightAddonsWidth - leftAddonsWidth > 0;\n\n setTitleMargin((prev) => {\n const newState = shouldAddLeftMargin\n ? { left: marginSize, right: 0 }\n : { left: 0, right: marginSize };\n\n const isStateChanged = prev.left !== newState.left || prev.right !== newState.right;\n\n return isStateChanged ? newState : prev;\n });\n }, [hasLeftAddons, leftAddons, rightAddons]);\n\n return (\n <div\n ref={ref}\n className={cn(\n styles.component,\n {\n [styles.border]: border,\n [styles.sticky]: sticky,\n },\n className,\n )}\n style={{\n ...(backgroundColor && { backgroundColor }),\n }}\n data-test-id={dataTestId}\n >\n <div className={cn(styles.mainLine, styles[align], contentClassName)}>\n {hasLeftAddons && (\n <div className={cn(styles.addons, leftAddonsClassName)} ref={leftAddonsRef}>\n {leftAddons}\n </div>\n )}\n\n {children && <div className={styles.children}>{children}</div>}\n\n {title && (\n <div\n className={cn(styles.content, contentWrapperClassName, {\n [styles[align]]: !hasLeftAddons,\n })}\n style={{\n ...(align === 'center'\n ? {\n marginLeft: titleMargin.left,\n marginRight: titleMargin.right,\n }\n : null),\n }}\n >\n <div\n className={cn(styles.title, {\n [styles[align]]: !hasLeftAddons && !subtitle,\n })}\n data-test-id={getDataTestId(dataTestId, 'title')}\n >\n {title}\n </div>\n\n {subtitle && (\n <div\n className={styles.subtitle}\n data-test-id={getDataTestId(dataTestId, 'subtitle')}\n >\n {subtitle}\n </div>\n )}\n </div>\n )}\n\n {rightAddons && (\n <div\n className={cn(styles.rightAddons, styles.addons, rightAddonsClassName)}\n ref={rightAddonsRef}\n >\n {rightAddons}\n </div>\n )}\n </div>\n\n {bottomAddons && <div className={bottomAddonsClassName}>{bottomAddons}</div>}\n </div>\n );\n },\n);\n\nNavigationBar.displayName = 'NavigationBar';\n"],"names":["forwardRef","useState","useRef","useEffect","React","cn","styles","__assign","getDataTestId"],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import React from 'react';
|
|
3
|
-
interface ActionIconAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
2
|
+
export interface ActionIconAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
4
3
|
/**
|
|
5
4
|
* Тип действия
|
|
6
5
|
*/
|
|
@@ -18,5 +17,4 @@ interface ActionIconAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
18
17
|
*/
|
|
19
18
|
dataTestId?: string;
|
|
20
19
|
}
|
|
21
|
-
declare const ActionIconAddon: React.FC<ActionIconAddonProps>;
|
|
22
|
-
export { ActionIconAddonProps, ActionIconAddon };
|
|
20
|
+
export declare const ActionIconAddon: React.FC<ActionIconAddonProps>;
|
|
@@ -8,25 +8,24 @@ var cn = require('classnames');
|
|
|
8
8
|
var mobile = require('@alfalab/core-components-button/mobile');
|
|
9
9
|
var ChevronLeftMIcon = require('@alfalab/icons-glyph/ChevronLeftMIcon');
|
|
10
10
|
var CrossMIcon = require('@alfalab/icons-glyph/CrossMIcon');
|
|
11
|
+
var index_module = require('./index.module.css.js');
|
|
11
12
|
|
|
12
13
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
13
14
|
|
|
14
15
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
15
16
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
16
17
|
|
|
17
|
-
var styles = {"component":"navigation-bar__component_4vxl7","iconWrapper":"navigation-bar__iconWrapper_4vxl7","back":"navigation-bar__back_4vxl7","floating":"navigation-bar__floating_4vxl7"};
|
|
18
|
-
require('./index.css')
|
|
19
|
-
|
|
20
18
|
var iconComponents = {
|
|
21
19
|
back: React__default.default.createElement(ChevronLeftMIcon.ChevronLeftMIcon, null),
|
|
22
|
-
floatingBack: React__default.default.createElement(ChevronLeftMIcon.ChevronLeftMIcon, { className:
|
|
23
|
-
close: React__default.default.createElement(CrossMIcon.CrossMIcon, { className:
|
|
20
|
+
floatingBack: React__default.default.createElement(ChevronLeftMIcon.ChevronLeftMIcon, { className: index_module.floating }),
|
|
21
|
+
close: React__default.default.createElement(CrossMIcon.CrossMIcon, { className: index_module.floating }),
|
|
24
22
|
};
|
|
25
23
|
var ActionIconAddon = function (_a) {
|
|
26
24
|
var _b;
|
|
27
25
|
var onClick = _a.onClick, className = _a.className, _c = _a.action, action = _c === void 0 ? 'back' : _c, dataTestId = _a.dataTestId, htmlAttributes = tslib.__rest(_a, ["onClick", "className", "action", "dataTestId"]);
|
|
28
|
-
return (React__default.default.createElement(mobile.ButtonMobile, tslib.__assign({ view: 'text', size: 's', onClick: onClick, "aria-label": action === 'close' ? 'закрыть' : 'назад', className: cn__default.default(
|
|
29
|
-
React__default.default.createElement("div", { className: cn__default.default(
|
|
26
|
+
return (React__default.default.createElement(mobile.ButtonMobile, tslib.__assign({ view: 'text', size: 's', onClick: onClick, "aria-label": action === 'close' ? 'закрыть' : 'назад', className: cn__default.default(index_module.component, className), dataTestId: dataTestId }, htmlAttributes),
|
|
27
|
+
React__default.default.createElement("div", { className: cn__default.default(index_module.iconWrapper, (_b = {}, _b[index_module[action]] = Boolean(index_module[action]), _b)) }, iconComponents[action])));
|
|
30
28
|
};
|
|
31
29
|
|
|
32
30
|
exports.ActionIconAddon = ActionIconAddon;
|
|
31
|
+
//# sourceMappingURL=Component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../src/components/action-icon-addon/Component.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport { ButtonMobile } from '@alfalab/core-components-button/mobile';\nimport { ChevronLeftMIcon } from '@alfalab/icons-glyph/ChevronLeftMIcon';\nimport { CrossMIcon } from '@alfalab/icons-glyph/CrossMIcon';\n\nimport styles from './index.module.css';\n\nexport interface ActionIconAddonProps extends React.HTMLAttributes<HTMLButtonElement> {\n /**\n * Тип действия\n */\n action?: 'back' | 'floatingBack' | 'close';\n\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Обработчик клика\n */\n onClick?: () => void;\n\n /**\n * Идентификатор для систем автоматизированного тестирования.\n */\n dataTestId?: string;\n}\n\nconst iconComponents = {\n back: <ChevronLeftMIcon />,\n floatingBack: <ChevronLeftMIcon className={styles.floating} />,\n close: <CrossMIcon className={styles.floating} />,\n};\n\nexport const ActionIconAddon: React.FC<ActionIconAddonProps> = ({\n onClick,\n className,\n action = 'back',\n dataTestId,\n ...htmlAttributes\n}) => (\n <ButtonMobile\n view='text'\n size='s'\n onClick={onClick}\n aria-label={action === 'close' ? 'закрыть' : 'назад'}\n className={cn(styles.component, className)}\n dataTestId={dataTestId}\n {...htmlAttributes}\n >\n <div className={cn(styles.iconWrapper, { [styles[action]]: Boolean(styles[action]) })}>\n {iconComponents[action]}\n </div>\n </ButtonMobile>\n);\n"],"names":["React","ChevronLeftMIcon","styles","CrossMIcon","__rest","ButtonMobile","cn"],"mappings":";;;;;;;;;;;;;;;;;AA+BA,IAAM,cAAc,GAAG;IACnB,IAAI,EAAEA,sBAAC,CAAA,aAAA,CAAAC,iCAAgB,EAAG,IAAA,CAAA;IAC1B,YAAY,EAAED,qCAACC,iCAAgB,EAAA,EAAC,SAAS,EAAEC,YAAM,CAAC,QAAQ,EAAI,CAAA;IAC9D,KAAK,EAAEF,qCAACG,qBAAU,EAAA,EAAC,SAAS,EAAED,YAAM,CAAC,QAAQ,EAAI,CAAA;CACpD;AAEM,IAAM,eAAe,GAAmC,UAAC,EAM/D,EAAA;;AALG,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,cAAe,EAAf,MAAM,mBAAG,MAAM,GAAA,EAAA,EACf,UAAU,GAAA,EAAA,CAAA,UAAA,EACP,cAAc,GAAAE,YAAA,CAAA,EAAA,EAL2C,gDAM/D,CADoB;AACf,IAAA,QACFJ,sBAAC,CAAA,aAAA,CAAAK,mBAAY,mBACT,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,GAAG,EACR,OAAO,EAAE,OAAO,gBACJ,MAAM,KAAK,OAAO,GAAG,SAAS,GAAG,OAAO,EACpD,SAAS,EAAEC,mBAAE,CAACJ,YAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1C,UAAU,EAAE,UAAU,IAClB,cAAc,CAAA;AAElB,QAAAF,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEM,mBAAE,CAACJ,YAAM,CAAC,WAAW,GAAA,EAAA,GAAA,EAAA,EAAI,EAAC,CAAAA,YAAM,CAAC,MAAM,CAAC,CAAG,GAAA,OAAO,CAACA,YAAM,CAAC,MAAM,CAAC,CAAC,EAAG,EAAA,EAAA,EAAA,EAChF,cAAc,CAAC,MAAM,CAAC,CACrB,CACK;;;;;"}
|
|
@@ -1,37 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
:root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
3
|
-
} /* deprecated */ :root {
|
|
1
|
+
:root {
|
|
4
2
|
--color-light-neutral-translucent-100: rgba(38, 55, 88, 0.06);
|
|
5
3
|
--color-light-neutral-translucent-700: rgba(4, 4, 21, 0.47);
|
|
6
4
|
--color-light-neutral-translucent-700-hover: rgba(4, 4, 19, 0.55);
|
|
7
|
-
--color-light-neutral-translucent-700-press: rgba(1, 1, 12, 0.63);
|
|
8
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
9
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
5
|
+
--color-light-neutral-translucent-700-press: rgba(1, 1, 12, 0.63);
|
|
10
6
|
} :root {
|
|
11
|
-
|
|
12
|
-
/* Hard */
|
|
13
|
-
|
|
14
|
-
/* Up */
|
|
15
|
-
|
|
16
|
-
/* Hard up */
|
|
17
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
18
7
|
--border-radius-circle: 50%;
|
|
19
8
|
--border-radius-pill: 99px;
|
|
20
|
-
|
|
21
|
-
/* новые значения, используйте их */
|
|
22
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
23
|
-
|
|
24
|
-
/* новые значения, используйте их */
|
|
25
|
-
|
|
26
|
-
/* no-unit может приводить к проблемам в calc (#1559) */
|
|
27
|
-
/* stylelint-disable-next-line length-zero-no-unit */
|
|
28
|
-
} :root {
|
|
29
|
-
} /* @deprecated */ /* @deprecated */ /* @deprecated */ /* @deprecated */ /* @deprecated */ :root {
|
|
30
|
-
} /* сбрасывает синюю подсветку при нажатии */ .navigation-bar__component_4vxl7 {
|
|
9
|
+
} .navigation-bar__component_18gjg {
|
|
31
10
|
height: 100%;
|
|
32
11
|
border-radius: var(--border-radius-pill);
|
|
33
12
|
min-width: 48px;
|
|
34
|
-
} .navigation-
|
|
13
|
+
} .navigation-bar__iconWrapper_18gjg {
|
|
35
14
|
display: inline-flex;
|
|
36
15
|
align-items: center;
|
|
37
16
|
justify-content: center;
|
|
@@ -40,12 +19,12 @@
|
|
|
40
19
|
border-radius: var(--border-radius-circle);
|
|
41
20
|
background: var(--color-light-neutral-translucent-100);
|
|
42
21
|
vertical-align: middle
|
|
43
|
-
} .navigation-
|
|
22
|
+
} .navigation-bar__iconWrapper_18gjg.navigation-bar__back_18gjg {
|
|
44
23
|
background: transparent;
|
|
45
|
-
} .navigation-
|
|
24
|
+
} .navigation-bar__floating_18gjg path {
|
|
46
25
|
fill: var(--color-light-neutral-translucent-700);
|
|
47
|
-
} .navigation-
|
|
26
|
+
} .navigation-bar__floating_18gjg:hover path {
|
|
48
27
|
fill: var(--color-light-neutral-translucent-700-hover);
|
|
49
|
-
} .navigation-
|
|
28
|
+
} .navigation-bar__floating_18gjg:active path {
|
|
50
29
|
fill: var(--color-light-neutral-translucent-700-press);
|
|
51
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './Component';
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var Component = require('./Component.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
exports.ActionIconAddon =
|
|
9
|
+
exports.ActionIconAddon = Component.ActionIconAddon;
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('./index.css');
|
|
4
|
+
|
|
5
|
+
var styles = {"component":"navigation-bar__component_18gjg","iconWrapper":"navigation-bar__iconWrapper_18gjg","back":"navigation-bar__back_18gjg","floating":"navigation-bar__floating_18gjg"};
|
|
6
|
+
|
|
7
|
+
module.exports = styles;
|
|
8
|
+
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.module.css.js","sources":["../../src/components/action-icon-addon/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n height: 100%;\n border-radius: var(--border-radius-pill);\n min-width: 48px;\n}\n\n.iconWrapper {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 30px;\n width: 30px;\n border-radius: var(--border-radius-circle);\n background: var(--color-light-neutral-translucent-100);\n vertical-align: middle;\n\n &.back {\n background: transparent;\n }\n}\n\n.floating {\n & path {\n fill: var(--color-light-neutral-translucent-700);\n }\n\n &:hover {\n & path {\n fill: var(--color-light-neutral-translucent-700-hover);\n }\n }\n\n &:active {\n & path {\n fill: var(--color-light-neutral-translucent-700-press);\n }\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,iCAAiC,CAAC,aAAa,CAAC,mCAAmC,CAAC,MAAM,CAAC,4BAA4B,CAAC,UAAU,CAAC,gCAAgC,CAAC;;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import React from 'react';
|
|
3
|
-
interface ActionTextAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
2
|
+
export interface ActionTextAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
4
3
|
/**
|
|
5
4
|
* Текст после иконки
|
|
6
5
|
*/
|
|
@@ -22,5 +21,4 @@ interface ActionTextAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
22
21
|
*/
|
|
23
22
|
dataTestId?: string;
|
|
24
23
|
}
|
|
25
|
-
declare const ActionTextAddon: React.FC<ActionTextAddonProps>;
|
|
26
|
-
export { ActionTextAddonProps, ActionTextAddon };
|
|
24
|
+
export declare const ActionTextAddon: React.FC<ActionTextAddonProps>;
|
|
@@ -7,19 +7,18 @@ var React = require('react');
|
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
var mobile = require('@alfalab/core-components-button/mobile');
|
|
9
9
|
var coreComponentsTypography = require('@alfalab/core-components-typography');
|
|
10
|
+
var index_module = require('./index.module.css.js');
|
|
10
11
|
|
|
11
12
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
12
13
|
|
|
13
14
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
14
15
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
15
16
|
|
|
16
|
-
var styles = {"component":"navigation-bar__component_1it7t","text":"navigation-bar__text_1it7t"};
|
|
17
|
-
require('./index.css')
|
|
18
|
-
|
|
19
17
|
var ActionTextAddon = function (_a) {
|
|
20
18
|
var _b = _a.text, text = _b === void 0 ? 'Назад' : _b, onClick = _a.onClick, className = _a.className, action = _a.action, dataTestId = _a.dataTestId, htmlAttributes = tslib.__rest(_a, ["text", "onClick", "className", "action", "dataTestId"]);
|
|
21
|
-
return (React__default.default.createElement(mobile.ButtonMobile, tslib.__assign({ view: 'text', size: 's', onClick: onClick, "aria-label": text, className: cn__default.default(
|
|
22
|
-
React__default.default.createElement(coreComponentsTypography.Text, { className:
|
|
19
|
+
return (React__default.default.createElement(mobile.ButtonMobile, tslib.__assign({ view: 'text', size: 's', onClick: onClick, "aria-label": text, className: cn__default.default(index_module.component, className), dataTestId: dataTestId }, htmlAttributes),
|
|
20
|
+
React__default.default.createElement(coreComponentsTypography.Text, { className: index_module.text, view: 'component', weight: action === 'primary' ? 'medium' : 'regular' }, text)));
|
|
23
21
|
};
|
|
24
22
|
|
|
25
23
|
exports.ActionTextAddon = ActionTextAddon;
|
|
24
|
+
//# sourceMappingURL=Component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../src/components/action-text-addon/Component.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport { ButtonMobile } from '@alfalab/core-components-button/mobile';\nimport { Text } from '@alfalab/core-components-typography';\n\nimport styles from './index.module.css';\n\nexport interface ActionTextAddonProps extends React.HTMLAttributes<HTMLButtonElement> {\n /**\n * Текст после иконки\n */\n text: string;\n\n /**\n * Тип действия\n */\n action?: 'primary' | 'secondary';\n\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Обработчик клика\n */\n onClick?: () => void;\n\n /**\n * Идентификатор для систем автоматизированного тестирования.\n */\n dataTestId?: string;\n}\n\nexport const ActionTextAddon: React.FC<ActionTextAddonProps> = ({\n text = 'Назад',\n onClick,\n className,\n action,\n dataTestId,\n ...htmlAttributes\n}) => (\n <ButtonMobile\n view='text'\n size='s'\n onClick={onClick}\n aria-label={text}\n className={cn(styles.component, className)}\n dataTestId={dataTestId}\n {...htmlAttributes}\n >\n <Text\n className={styles.text}\n view='component'\n weight={action === 'primary' ? 'medium' : 'regular'}\n >\n {text}\n </Text>\n </ButtonMobile>\n);\n"],"names":["__rest","React","ButtonMobile","__assign","cn","styles","Text"],"mappings":";;;;;;;;;;;;;;;;AAmCO,IAAM,eAAe,GAAmC,UAAC,EAO/D,EAAA;IANG,IAAA,EAAA,GAAA,EAAA,CAAA,IAAc,EAAd,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,OAAO,GAAA,EAAA,EACd,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,eAAA,EACT,MAAM,YAAA,EACN,UAAU,gBAAA,EACP,cAAc,GAN2CA,YAAA,CAAA,EAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,YAAA,CAO/D,CADoB;AACf,IAAA,QACFC,sBAAA,CAAA,aAAA,CAACC,mBAAY,EAAAC,cAAA,CAAA,EACT,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,GAAG,EACR,OAAO,EAAE,OAAO,EAAA,YAAA,EACJ,IAAI,EAChB,SAAS,EAAEC,mBAAE,CAACC,YAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1C,UAAU,EAAE,UAAU,IAClB,cAAc,CAAA;AAElB,QAAAJ,sBAAA,CAAA,aAAA,CAACK,6BAAI,EAAA,EACD,SAAS,EAAED,YAAM,CAAC,IAAI,EACtB,IAAI,EAAC,WAAW,EAChB,MAAM,EAAE,MAAM,KAAK,SAAS,GAAG,QAAQ,GAAG,SAAS,EAElD,EAAA,IAAI,CACF,CACI;;;;;"}
|
|
@@ -1,32 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
:
|
|
3
|
-
|
|
4
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
5
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
6
|
-
} :root {
|
|
7
|
-
|
|
8
|
-
/* Hard */
|
|
9
|
-
|
|
10
|
-
/* Up */
|
|
11
|
-
|
|
12
|
-
/* Hard up */
|
|
13
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
14
|
-
|
|
15
|
-
/* новые значения, используйте их */
|
|
16
|
-
} :root { /* deprecated */ /* deprecated */
|
|
17
|
-
--gap-xs: 8px; /* deprecated */ /* deprecated */ /* deprecated */
|
|
18
|
-
--gap-m: 16px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
19
|
-
|
|
20
|
-
/* новые значения, используйте их */
|
|
21
|
-
|
|
22
|
-
/* no-unit может приводить к проблемам в calc (#1559) */
|
|
23
|
-
/* stylelint-disable-next-line length-zero-no-unit */
|
|
1
|
+
:root {
|
|
2
|
+
--gap-xs: 8px;
|
|
3
|
+
--gap-m: 16px;
|
|
24
4
|
--gap-8: var(--gap-xs);
|
|
25
5
|
--gap-16: var(--gap-m);
|
|
26
|
-
}
|
|
27
|
-
} /* @deprecated */ /* @deprecated */ /* @deprecated */ /* @deprecated */ /* @deprecated */ :root {
|
|
28
|
-
} /* сбрасывает синюю подсветку при нажатии */ .navigation-bar__component_1it7t {
|
|
6
|
+
} .navigation-bar__component_142rg {
|
|
29
7
|
height: 100%;
|
|
30
|
-
} .navigation-
|
|
8
|
+
} .navigation-bar__text_142rg {
|
|
31
9
|
padding: var(--gap-8) var(--gap-16);
|
|
32
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './Component';
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var Component = require('./Component.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
exports.ActionTextAddon =
|
|
9
|
+
exports.ActionTextAddon = Component.ActionTextAddon;
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.module.css.js","sources":["../../src/components/action-text-addon/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n height: 100%;\n}\n\n.text {\n padding: var(--gap-8) var(--gap-16);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,iCAAiC,CAAC,MAAM,CAAC,4BAA4B,CAAC;;;;"}
|
package/cssm/Component.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { ReactNode } from "react";
|
|
4
|
-
interface NavigationBarProps {
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
export interface NavigationBarProps {
|
|
5
3
|
/**
|
|
6
4
|
* Заголовок
|
|
7
5
|
*/
|
|
@@ -72,5 +70,4 @@ interface NavigationBarProps {
|
|
|
72
70
|
*/
|
|
73
71
|
dataTestId?: string;
|
|
74
72
|
}
|
|
75
|
-
declare const NavigationBar: React.ForwardRefExoticComponent<NavigationBarProps & React.RefAttributes<HTMLDivElement>>;
|
|
76
|
-
export { NavigationBarProps, NavigationBar };
|
|
73
|
+
export declare const NavigationBar: React.ForwardRefExoticComponent<NavigationBarProps & React.RefAttributes<HTMLDivElement>>;
|
package/cssm/Component.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var tslib = require('tslib');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
|
-
var
|
|
8
|
+
var cssm = require('@alfalab/core-components-shared/cssm');
|
|
9
9
|
var styles = require('./index.module.css');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -53,11 +53,12 @@ var NavigationBar = React.forwardRef(function (_a, ref) {
|
|
|
53
53
|
: null)) },
|
|
54
54
|
React__default.default.createElement("div", { className: cn__default.default(styles__default.default.title, (_d = {},
|
|
55
55
|
_d[styles__default.default[align]] = !hasLeftAddons && !subtitle,
|
|
56
|
-
_d)), "data-test-id":
|
|
57
|
-
subtitle && (React__default.default.createElement("div", { className: styles__default.default.subtitle, "data-test-id":
|
|
56
|
+
_d)), "data-test-id": cssm.getDataTestId(dataTestId, 'title') }, title),
|
|
57
|
+
subtitle && (React__default.default.createElement("div", { className: styles__default.default.subtitle, "data-test-id": cssm.getDataTestId(dataTestId, 'subtitle') }, subtitle)))),
|
|
58
58
|
rightAddons && (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.rightAddons, styles__default.default.addons, rightAddonsClassName), ref: rightAddonsRef }, rightAddons))),
|
|
59
59
|
bottomAddons && React__default.default.createElement("div", { className: bottomAddonsClassName }, bottomAddons)));
|
|
60
60
|
});
|
|
61
61
|
NavigationBar.displayName = 'NavigationBar';
|
|
62
62
|
|
|
63
63
|
exports.NavigationBar = NavigationBar;
|
|
64
|
+
//# sourceMappingURL=Component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../src/Component.tsx"],"sourcesContent":["import React, { forwardRef, ReactNode, useEffect, useRef, useState } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport styles from './index.module.css';\n\nexport interface NavigationBarProps {\n /**\n * Заголовок\n */\n title?: string;\n\n /**\n * Подзаголовок\n */\n subtitle?: string;\n\n /**\n * Контент шапки\n */\n children?: ReactNode;\n\n /**\n * Выравнивание заголовка\n * @default center\n */\n align?: 'left' | 'center';\n\n /**\n * Цвет фона\n */\n backgroundColor?: string;\n\n /**\n * Наличие бордера\n */\n border?: boolean;\n\n /**\n * Фиксирует шапку\n */\n sticky?: boolean;\n\n /**\n * Слот снизу\n */\n bottomAddons?: ReactNode;\n\n /**\n * Слот слева\n */\n leftAddons?: ReactNode;\n\n /**\n * Слот справа\n */\n rightAddons?: ReactNode;\n\n /**\n * Дополнительный класс для контента\n */\n contentClassName?: string;\n\n /**\n * Дополнительный класс для обертки контента\n */\n contentWrapperClassName?: string;\n\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Дополнительный класс для правого аддона\n */\n rightAddonsClassName?: string;\n\n /**\n * Дополнительный класс для левого аддона\n */\n leftAddonsClassName?: string;\n\n /**\n * Дополнительный класс для нижнего аддона\n */\n bottomAddonsClassName?: string;\n\n /**\n * Идентификатор для систем автоматизированного тестирования.\n */\n dataTestId?: string;\n}\n\nexport const NavigationBar = forwardRef<HTMLDivElement, NavigationBarProps>(\n (\n {\n align = 'center',\n rightAddons,\n leftAddons,\n bottomAddons,\n sticky,\n border,\n subtitle,\n title,\n children,\n backgroundColor = 'var(--color-light-base-bg-primary)',\n contentWrapperClassName,\n className,\n contentClassName,\n rightAddonsClassName,\n leftAddonsClassName,\n bottomAddonsClassName,\n dataTestId,\n },\n ref,\n ) => {\n const [titleMargin, setTitleMargin] = useState({ left: 0, right: 0 });\n const leftAddonsRef = useRef<HTMLDivElement>(null);\n const rightAddonsRef = useRef<HTMLDivElement>(null);\n const hasLeftAddons = leftAddons && align !== 'left';\n\n // добавляет отступ для того чтобы title находился по центру не зависимо от ширины аддонов\n useEffect(() => {\n const leftAddonsWidth = leftAddonsRef.current?.offsetWidth || 0;\n const rightAddonsWidth = rightAddonsRef.current?.offsetWidth || 0;\n\n const marginSize = Math.abs(rightAddonsWidth - leftAddonsWidth);\n const shouldAddLeftMargin = rightAddonsWidth - leftAddonsWidth > 0;\n\n setTitleMargin((prev) => {\n const newState = shouldAddLeftMargin\n ? { left: marginSize, right: 0 }\n : { left: 0, right: marginSize };\n\n const isStateChanged = prev.left !== newState.left || prev.right !== newState.right;\n\n return isStateChanged ? newState : prev;\n });\n }, [hasLeftAddons, leftAddons, rightAddons]);\n\n return (\n <div\n ref={ref}\n className={cn(\n styles.component,\n {\n [styles.border]: border,\n [styles.sticky]: sticky,\n },\n className,\n )}\n style={{\n ...(backgroundColor && { backgroundColor }),\n }}\n data-test-id={dataTestId}\n >\n <div className={cn(styles.mainLine, styles[align], contentClassName)}>\n {hasLeftAddons && (\n <div className={cn(styles.addons, leftAddonsClassName)} ref={leftAddonsRef}>\n {leftAddons}\n </div>\n )}\n\n {children && <div className={styles.children}>{children}</div>}\n\n {title && (\n <div\n className={cn(styles.content, contentWrapperClassName, {\n [styles[align]]: !hasLeftAddons,\n })}\n style={{\n ...(align === 'center'\n ? {\n marginLeft: titleMargin.left,\n marginRight: titleMargin.right,\n }\n : null),\n }}\n >\n <div\n className={cn(styles.title, {\n [styles[align]]: !hasLeftAddons && !subtitle,\n })}\n data-test-id={getDataTestId(dataTestId, 'title')}\n >\n {title}\n </div>\n\n {subtitle && (\n <div\n className={styles.subtitle}\n data-test-id={getDataTestId(dataTestId, 'subtitle')}\n >\n {subtitle}\n </div>\n )}\n </div>\n )}\n\n {rightAddons && (\n <div\n className={cn(styles.rightAddons, styles.addons, rightAddonsClassName)}\n ref={rightAddonsRef}\n >\n {rightAddons}\n </div>\n )}\n </div>\n\n {bottomAddons && <div className={bottomAddonsClassName}>{bottomAddons}</div>}\n </div>\n );\n },\n);\n\nNavigationBar.displayName = 'NavigationBar';\n"],"names":["forwardRef","useState","useRef","useEffect","React","cn","styles","__assign","getDataTestId"],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import React from 'react';
|
|
3
|
-
interface ActionIconAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
2
|
+
export interface ActionIconAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
4
3
|
/**
|
|
5
4
|
* Тип действия
|
|
6
5
|
*/
|
|
@@ -18,5 +17,4 @@ interface ActionIconAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
18
17
|
*/
|
|
19
18
|
dataTestId?: string;
|
|
20
19
|
}
|
|
21
|
-
declare const ActionIconAddon: React.FC<ActionIconAddonProps>;
|
|
22
|
-
export { ActionIconAddonProps, ActionIconAddon };
|
|
20
|
+
export declare const ActionIconAddon: React.FC<ActionIconAddonProps>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../src/components/action-icon-addon/Component.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport { ButtonMobile } from '@alfalab/core-components-button/mobile';\nimport { ChevronLeftMIcon } from '@alfalab/icons-glyph/ChevronLeftMIcon';\nimport { CrossMIcon } from '@alfalab/icons-glyph/CrossMIcon';\n\nimport styles from './index.module.css';\n\nexport interface ActionIconAddonProps extends React.HTMLAttributes<HTMLButtonElement> {\n /**\n * Тип действия\n */\n action?: 'back' | 'floatingBack' | 'close';\n\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Обработчик клика\n */\n onClick?: () => void;\n\n /**\n * Идентификатор для систем автоматизированного тестирования.\n */\n dataTestId?: string;\n}\n\nconst iconComponents = {\n back: <ChevronLeftMIcon />,\n floatingBack: <ChevronLeftMIcon className={styles.floating} />,\n close: <CrossMIcon className={styles.floating} />,\n};\n\nexport const ActionIconAddon: React.FC<ActionIconAddonProps> = ({\n onClick,\n className,\n action = 'back',\n dataTestId,\n ...htmlAttributes\n}) => (\n <ButtonMobile\n view='text'\n size='s'\n onClick={onClick}\n aria-label={action === 'close' ? 'закрыть' : 'назад'}\n className={cn(styles.component, className)}\n dataTestId={dataTestId}\n {...htmlAttributes}\n >\n <div className={cn(styles.iconWrapper, { [styles[action]]: Boolean(styles[action]) })}>\n {iconComponents[action]}\n </div>\n </ButtonMobile>\n);\n"],"names":["React","ChevronLeftMIcon","styles","CrossMIcon","__rest","ButtonMobile","cn"],"mappings":";;;;;;;;;;;;;;;;;;AA+BA,IAAM,cAAc,GAAG;IACnB,IAAI,EAAEA,sBAAC,CAAA,aAAA,CAAAC,iCAAgB,EAAG,IAAA,CAAA;IAC1B,YAAY,EAAED,qCAACC,iCAAgB,EAAA,EAAC,SAAS,EAAEC,uBAAM,CAAC,QAAQ,EAAI,CAAA;IAC9D,KAAK,EAAEF,qCAACG,qBAAU,EAAA,EAAC,SAAS,EAAED,uBAAM,CAAC,QAAQ,EAAI,CAAA;CACpD;AAEM,IAAM,eAAe,GAAmC,UAAC,EAM/D,EAAA;;AALG,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,cAAe,EAAf,MAAM,mBAAG,MAAM,GAAA,EAAA,EACf,UAAU,GAAA,EAAA,CAAA,UAAA,EACP,cAAc,GAAAE,YAAA,CAAA,EAAA,EAL2C,gDAM/D,CADoB;AACf,IAAA,QACFJ,sBAAC,CAAA,aAAA,CAAAK,mBAAY,mBACT,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,GAAG,EACR,OAAO,EAAE,OAAO,gBACJ,MAAM,KAAK,OAAO,GAAG,SAAS,GAAG,OAAO,EACpD,SAAS,EAAEC,mBAAE,CAACJ,uBAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1C,UAAU,EAAE,UAAU,IAClB,cAAc,CAAA;AAElB,QAAAF,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEM,mBAAE,CAACJ,uBAAM,CAAC,WAAW,GAAA,EAAA,GAAA,EAAA,EAAI,EAAC,CAAAA,uBAAM,CAAC,MAAM,CAAC,CAAG,GAAA,OAAO,CAACA,uBAAM,CAAC,MAAM,CAAC,CAAC,EAAG,EAAA,EAAA,EAAA,EAChF,cAAc,CAAC,MAAM,CAAC,CACrB,CACK;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './Component';
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var Component = require('./Component.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
exports.ActionIconAddon =
|
|
9
|
+
exports.ActionIconAddon = Component.ActionIconAddon;
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|