@alfalab/core-components-navigation-bar 2.0.0 → 2.1.0-snapshot-92b8690

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.
Files changed (67) hide show
  1. package/components/action-icon-addon/index.css +6 -6
  2. package/components/action-icon-addon/index.module.css.js +1 -1
  3. package/components/action-icon-addon/index.module.css.js.map +1 -1
  4. package/components/action-text-addon/index.css +2 -2
  5. package/components/action-text-addon/index.module.css.js +1 -1
  6. package/components/action-text-addon/index.module.css.js.map +1 -1
  7. package/dynamic-mixins/Component.d.ts +73 -0
  8. package/dynamic-mixins/Component.js +63 -0
  9. package/dynamic-mixins/Component.js.map +1 -0
  10. package/dynamic-mixins/components/action-icon-addon/Component.d.ts +20 -0
  11. package/dynamic-mixins/components/action-icon-addon/Component.js +31 -0
  12. package/dynamic-mixins/components/action-icon-addon/Component.js.map +1 -0
  13. package/dynamic-mixins/components/action-icon-addon/index.css +30 -0
  14. package/dynamic-mixins/components/action-icon-addon/index.d.ts +1 -0
  15. package/dynamic-mixins/components/action-icon-addon/index.js +10 -0
  16. package/dynamic-mixins/components/action-icon-addon/index.js.map +1 -0
  17. package/dynamic-mixins/components/action-icon-addon/index.module.css.js +8 -0
  18. package/dynamic-mixins/components/action-icon-addon/index.module.css.js.map +1 -0
  19. package/dynamic-mixins/components/action-text-addon/Component.d.ts +24 -0
  20. package/dynamic-mixins/components/action-text-addon/Component.js +24 -0
  21. package/dynamic-mixins/components/action-text-addon/Component.js.map +1 -0
  22. package/dynamic-mixins/components/action-text-addon/index.css +10 -0
  23. package/dynamic-mixins/components/action-text-addon/index.d.ts +1 -0
  24. package/dynamic-mixins/components/action-text-addon/index.js +10 -0
  25. package/dynamic-mixins/components/action-text-addon/index.js.map +1 -0
  26. package/dynamic-mixins/components/action-text-addon/index.module.css.js +8 -0
  27. package/dynamic-mixins/components/action-text-addon/index.module.css.js.map +1 -0
  28. package/dynamic-mixins/index.css +62 -0
  29. package/dynamic-mixins/index.d.ts +1 -0
  30. package/dynamic-mixins/index.js +10 -0
  31. package/dynamic-mixins/index.js.map +1 -0
  32. package/dynamic-mixins/index.module.css.js +8 -0
  33. package/dynamic-mixins/index.module.css.js.map +1 -0
  34. package/dynamic-mixins/shared/index.d.ts +3 -0
  35. package/dynamic-mixins/shared/index.js +14 -0
  36. package/dynamic-mixins/shared/index.js.map +1 -0
  37. package/dynamic-mixins/utils.d.ts +5 -0
  38. package/dynamic-mixins/utils.js +16 -0
  39. package/dynamic-mixins/utils.js.map +1 -0
  40. package/esm/components/action-icon-addon/index.css +6 -6
  41. package/esm/components/action-icon-addon/index.module.css.js +1 -1
  42. package/esm/components/action-icon-addon/index.module.css.js.map +1 -1
  43. package/esm/components/action-text-addon/index.css +2 -2
  44. package/esm/components/action-text-addon/index.module.css.js +1 -1
  45. package/esm/components/action-text-addon/index.module.css.js.map +1 -1
  46. package/esm/index.css +16 -16
  47. package/esm/index.module.css.js +1 -1
  48. package/esm/index.module.css.js.map +1 -1
  49. package/index.css +16 -16
  50. package/index.module.css.js +1 -1
  51. package/index.module.css.js.map +1 -1
  52. package/modern/components/action-icon-addon/index.css +6 -6
  53. package/modern/components/action-icon-addon/index.module.css.js +1 -1
  54. package/modern/components/action-icon-addon/index.module.css.js.map +1 -1
  55. package/modern/components/action-text-addon/index.css +2 -2
  56. package/modern/components/action-text-addon/index.module.css.js +1 -1
  57. package/modern/components/action-text-addon/index.module.css.js.map +1 -1
  58. package/modern/index.css +16 -16
  59. package/modern/index.module.css.js +1 -1
  60. package/modern/index.module.css.js.map +1 -1
  61. package/moderncssm/components/action-icon-addon/index.module.css +2 -0
  62. package/moderncssm/components/action-text-addon/index.module.css +2 -0
  63. package/moderncssm/index.module.css +2 -0
  64. package/package.json +6 -6
  65. package/src/components/action-icon-addon/index.module.css +1 -1
  66. package/src/components/action-text-addon/index.module.css +1 -1
  67. package/src/index.module.css +1 -1
@@ -6,11 +6,11 @@
6
6
  } :root {
7
7
  --border-radius-circle: 50%;
8
8
  --border-radius-pill: 99px;
9
- } .navigation-bar__component_3k38a {
9
+ } .navigation-bar__component_tiuth {
10
10
  height: 100%;
11
11
  border-radius: var(--border-radius-pill);
12
12
  min-width: 48px;
13
- } .navigation-bar__iconWrapper_3k38a {
13
+ } .navigation-bar__iconWrapper_tiuth {
14
14
  display: inline-flex;
15
15
  align-items: center;
16
16
  justify-content: center;
@@ -19,12 +19,12 @@
19
19
  border-radius: var(--border-radius-circle);
20
20
  background: var(--color-light-neutral-translucent-100);
21
21
  vertical-align: middle
22
- } .navigation-bar__iconWrapper_3k38a.navigation-bar__back_3k38a {
22
+ } .navigation-bar__iconWrapper_tiuth.navigation-bar__back_tiuth {
23
23
  background: transparent;
24
- } .navigation-bar__floating_3k38a path {
24
+ } .navigation-bar__floating_tiuth path {
25
25
  fill: var(--color-light-neutral-translucent-700);
26
- } .navigation-bar__floating_3k38a:hover path {
26
+ } .navigation-bar__floating_tiuth:hover path {
27
27
  fill: var(--color-light-neutral-translucent-700-hover);
28
- } .navigation-bar__floating_3k38a:active path {
28
+ } .navigation-bar__floating_tiuth:active path {
29
29
  fill: var(--color-light-neutral-translucent-700-press);
30
30
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"navigation-bar__component_3k38a","iconWrapper":"navigation-bar__iconWrapper_3k38a","back":"navigation-bar__back_3k38a","floating":"navigation-bar__floating_3k38a"};
5
+ var styles = {"component":"navigation-bar__component_tiuth","iconWrapper":"navigation-bar__iconWrapper_tiuth","back":"navigation-bar__back_tiuth","floating":"navigation-bar__floating_tiuth"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +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
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/action-icon-addon/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-dynamic-mixins-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;;;;"}
@@ -3,8 +3,8 @@
3
3
  --gap-m: 16px;
4
4
  --gap-8: var(--gap-xs);
5
5
  --gap-16: var(--gap-m);
6
- } .navigation-bar__component_17wdd {
6
+ } .navigation-bar__component_16y32 {
7
7
  height: 100%;
8
- } .navigation-bar__text_17wdd {
8
+ } .navigation-bar__text_16y32 {
9
9
  padding: var(--gap-8) var(--gap-16);
10
10
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"navigation-bar__component_17wdd","text":"navigation-bar__text_17wdd"};
5
+ var styles = {"component":"navigation-bar__component_16y32","text":"navigation-bar__text_16y32"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +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;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/action-text-addon/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-dynamic-mixins-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;;;;"}
@@ -0,0 +1,73 @@
1
+ import React, { ReactNode } from 'react';
2
+ export interface NavigationBarProps {
3
+ /**
4
+ * Заголовок
5
+ */
6
+ title?: string;
7
+ /**
8
+ * Подзаголовок
9
+ */
10
+ subtitle?: string;
11
+ /**
12
+ * Контент шапки
13
+ */
14
+ children?: ReactNode;
15
+ /**
16
+ * Выравнивание заголовка
17
+ * @default center
18
+ */
19
+ align?: 'left' | 'center';
20
+ /**
21
+ * Цвет фона
22
+ */
23
+ backgroundColor?: string;
24
+ /**
25
+ * Наличие бордера
26
+ */
27
+ border?: boolean;
28
+ /**
29
+ * Фиксирует шапку
30
+ */
31
+ sticky?: boolean;
32
+ /**
33
+ * Слот снизу
34
+ */
35
+ bottomAddons?: ReactNode;
36
+ /**
37
+ * Слот слева
38
+ */
39
+ leftAddons?: ReactNode;
40
+ /**
41
+ * Слот справа
42
+ */
43
+ rightAddons?: ReactNode;
44
+ /**
45
+ * Дополнительный класс для контента
46
+ */
47
+ contentClassName?: string;
48
+ /**
49
+ * Дополнительный класс для обертки контента
50
+ */
51
+ contentWrapperClassName?: string;
52
+ /**
53
+ * Дополнительный класс
54
+ */
55
+ className?: string;
56
+ /**
57
+ * Дополнительный класс для правого аддона
58
+ */
59
+ rightAddonsClassName?: string;
60
+ /**
61
+ * Дополнительный класс для левого аддона
62
+ */
63
+ leftAddonsClassName?: string;
64
+ /**
65
+ * Дополнительный класс для нижнего аддона
66
+ */
67
+ bottomAddonsClassName?: string;
68
+ /**
69
+ * Идентификатор для систем автоматизированного тестирования.
70
+ */
71
+ dataTestId?: string;
72
+ }
73
+ export declare const NavigationBar: React.ForwardRefExoticComponent<NavigationBarProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var cn = require('classnames');
8
+ var dynamicMixins = require('@alfalab/core-components-shared/dynamic-mixins');
9
+ var index_module = require('./index.module.css.js');
10
+
11
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
12
+
13
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
14
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
15
+
16
+ var NavigationBar = React.forwardRef(function (_a, ref) {
17
+ var _b, _c, _d;
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;
19
+ var _g = React.useState({ left: 0, right: 0 }), titleMargin = _g[0], setTitleMargin = _g[1];
20
+ var leftAddonsRef = React.useRef(null);
21
+ var rightAddonsRef = React.useRef(null);
22
+ var hasLeftAddons = leftAddons && align !== 'left';
23
+ // добавляет отступ для того чтобы title находился по центру не зависимо от ширины аддонов
24
+ React.useEffect(function () {
25
+ var _a, _b;
26
+ var leftAddonsWidth = ((_a = leftAddonsRef.current) === null || _a === void 0 ? void 0 : _a.offsetWidth) || 0;
27
+ var rightAddonsWidth = ((_b = rightAddonsRef.current) === null || _b === void 0 ? void 0 : _b.offsetWidth) || 0;
28
+ var marginSize = Math.abs(rightAddonsWidth - leftAddonsWidth);
29
+ var shouldAddLeftMargin = rightAddonsWidth - leftAddonsWidth > 0;
30
+ setTitleMargin(function (prev) {
31
+ var newState = shouldAddLeftMargin
32
+ ? { left: marginSize, right: 0 }
33
+ : { left: 0, right: marginSize };
34
+ var isStateChanged = prev.left !== newState.left || prev.right !== newState.right;
35
+ return isStateChanged ? newState : prev;
36
+ });
37
+ }, [hasLeftAddons, leftAddons, rightAddons]);
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,
41
+ _b), className), style: tslib.__assign({}, (backgroundColor && { backgroundColor: backgroundColor })), "data-test-id": dataTestId },
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,
47
+ _c)), style: tslib.__assign({}, (align === 'center'
48
+ ? {
49
+ marginLeft: titleMargin.left,
50
+ marginRight: titleMargin.right,
51
+ }
52
+ : null)) },
53
+ React__default.default.createElement("div", { className: cn__default.default(index_module.title, (_d = {},
54
+ _d[index_module[align]] = !hasLeftAddons && !subtitle,
55
+ _d)), "data-test-id": dynamicMixins.getDataTestId(dataTestId, 'title') }, title),
56
+ subtitle && (React__default.default.createElement("div", { className: index_module.subtitle, "data-test-id": dynamicMixins.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))),
58
+ bottomAddons && React__default.default.createElement("div", { className: bottomAddonsClassName }, bottomAddons)));
59
+ });
60
+ NavigationBar.displayName = 'NavigationBar';
61
+
62
+ exports.NavigationBar = NavigationBar;
63
+ //# 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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"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ export interface ActionIconAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
3
+ /**
4
+ * Тип действия
5
+ */
6
+ action?: 'back' | 'floatingBack' | 'close';
7
+ /**
8
+ * Дополнительный класс
9
+ */
10
+ className?: string;
11
+ /**
12
+ * Обработчик клика
13
+ */
14
+ onClick?: () => void;
15
+ /**
16
+ * Идентификатор для систем автоматизированного тестирования.
17
+ */
18
+ dataTestId?: string;
19
+ }
20
+ export declare const ActionIconAddon: React.FC<ActionIconAddonProps>;
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var cn = require('classnames');
8
+ var mobile = require('@alfalab/core-components-button/dynamic-mixins/mobile');
9
+ var ChevronLeftMIcon = require('@alfalab/icons-glyph/ChevronLeftMIcon');
10
+ var CrossMIcon = require('@alfalab/icons-glyph/CrossMIcon');
11
+ var index_module = require('./index.module.css.js');
12
+
13
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
14
+
15
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
16
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
17
+
18
+ var iconComponents = {
19
+ back: React__default.default.createElement(ChevronLeftMIcon.ChevronLeftMIcon, null),
20
+ floatingBack: React__default.default.createElement(ChevronLeftMIcon.ChevronLeftMIcon, { className: index_module.floating }),
21
+ close: React__default.default.createElement(CrossMIcon.CrossMIcon, { className: index_module.floating }),
22
+ };
23
+ var ActionIconAddon = function (_a) {
24
+ var _b;
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"]);
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])));
28
+ };
29
+
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;;;;;"}
@@ -0,0 +1,30 @@
1
+ :root {
2
+ --color-light-neutral-translucent-100: rgba(38, 55, 88, 0.06);
3
+ --color-light-neutral-translucent-700: rgba(4, 4, 21, 0.47);
4
+ --color-light-neutral-translucent-700-hover: rgba(4, 4, 19, 0.55);
5
+ --color-light-neutral-translucent-700-press: rgba(1, 1, 12, 0.63);
6
+ } :root {
7
+ --border-radius-circle: 50%;
8
+ --border-radius-pill: 99px;
9
+ } .navigation-bar__component_tiuth {
10
+ height: 100%;
11
+ border-radius: var(--border-radius-pill);
12
+ min-width: 48px;
13
+ } .navigation-bar__iconWrapper_tiuth {
14
+ display: inline-flex;
15
+ align-items: center;
16
+ justify-content: center;
17
+ height: 30px;
18
+ width: 30px;
19
+ border-radius: var(--border-radius-circle);
20
+ background: var(--color-light-neutral-translucent-100);
21
+ vertical-align: middle
22
+ } .navigation-bar__iconWrapper_tiuth.navigation-bar__back_tiuth {
23
+ background: transparent;
24
+ } .navigation-bar__floating_tiuth path {
25
+ fill: var(--color-light-neutral-translucent-700);
26
+ } .navigation-bar__floating_tiuth:hover path {
27
+ fill: var(--color-light-neutral-translucent-700-hover);
28
+ } .navigation-bar__floating_tiuth:active path {
29
+ fill: var(--color-light-neutral-translucent-700-press);
30
+ }
@@ -0,0 +1 @@
1
+ export * from './Component';
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Component = require('./Component.js');
6
+
7
+
8
+
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_tiuth","iconWrapper":"navigation-bar__iconWrapper_tiuth","back":"navigation-bar__back_tiuth","floating":"navigation-bar__floating_tiuth"};
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/no-dynamic-mixins-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;;;;"}
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ export interface ActionTextAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
3
+ /**
4
+ * Текст после иконки
5
+ */
6
+ text: string;
7
+ /**
8
+ * Тип действия
9
+ */
10
+ action?: 'primary' | 'secondary';
11
+ /**
12
+ * Дополнительный класс
13
+ */
14
+ className?: string;
15
+ /**
16
+ * Обработчик клика
17
+ */
18
+ onClick?: () => void;
19
+ /**
20
+ * Идентификатор для систем автоматизированного тестирования.
21
+ */
22
+ dataTestId?: string;
23
+ }
24
+ export declare const ActionTextAddon: React.FC<ActionTextAddonProps>;
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var cn = require('classnames');
8
+ var mobile = require('@alfalab/core-components-button/dynamic-mixins/mobile');
9
+ var dynamicMixins = require('@alfalab/core-components-typography/dynamic-mixins');
10
+ var index_module = require('./index.module.css.js');
11
+
12
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
13
+
14
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
15
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
16
+
17
+ var ActionTextAddon = function (_a) {
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"]);
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(dynamicMixins.Text, { className: index_module.text, view: 'component', weight: action === 'primary' ? 'medium' : 'regular' }, text)));
21
+ };
22
+
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,kBAAI,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;;;;;"}
@@ -0,0 +1,10 @@
1
+ :root {
2
+ --gap-xs: 8px;
3
+ --gap-m: 16px;
4
+ --gap-8: var(--gap-xs);
5
+ --gap-16: var(--gap-m);
6
+ } .navigation-bar__component_16y32 {
7
+ height: 100%;
8
+ } .navigation-bar__text_16y32 {
9
+ padding: var(--gap-8) var(--gap-16);
10
+ }
@@ -0,0 +1 @@
1
+ export * from './Component';
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Component = require('./Component.js');
6
+
7
+
8
+
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,8 @@
1
+ 'use strict';
2
+
3
+ require('./index.css');
4
+
5
+ var styles = {"component":"navigation-bar__component_16y32","text":"navigation-bar__text_16y32"};
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-text-addon/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-dynamic-mixins-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;;;;"}
@@ -0,0 +1,62 @@
1
+ :root {
2
+ --color-light-neutral-300: #e7e8eb;
3
+ --color-light-text-primary: rgba(3, 3, 6, 0.88);
4
+ --color-light-text-secondary: rgba(4, 4, 19, 0.55);
5
+ } :root {
6
+ --gap-2xs: 4px;
7
+ --gap-xs: 8px;
8
+ --gap-m: 16px;
9
+ --gap-0: 0px;
10
+ --gap-4: var(--gap-2xs);
11
+ --gap-8: var(--gap-xs);
12
+ --gap-16: var(--gap-m);
13
+ } .navigation-bar__component_ktk7q {
14
+ padding: var(--gap-8) var(--gap-4);
15
+ box-sizing: border-box;
16
+ width: 100%;
17
+ } .navigation-bar__sticky_ktk7q {
18
+ position: sticky;
19
+ top: var(--gap-0);
20
+ z-index: 1;
21
+ } .navigation-bar__border_ktk7q {
22
+ box-shadow: 0 1px 0 0 var(--color-light-neutral-300);
23
+ } .navigation-bar__mainLine_ktk7q {
24
+ display: flex;
25
+ background-color: inherit;
26
+ justify-content: space-between;
27
+ min-height: 40px;
28
+ align-items: stretch;
29
+ } .navigation-bar__left_ktk7q {
30
+ text-align: left;
31
+ } .navigation-bar__center_ktk7q {
32
+ text-align: center;
33
+ } .navigation-bar__children_ktk7q {
34
+ width: 100%;
35
+ } .navigation-bar__content_ktk7q {
36
+ display: flex;
37
+ flex-grow: 1;
38
+ justify-content: center;
39
+ flex-flow: column nowrap;
40
+ color: var(--color-light-text-primary)
41
+ } .navigation-bar__content_ktk7q.navigation-bar__left_ktk7q {
42
+ padding: var(--gap-0) var(--gap-16);
43
+ } .navigation-bar__content_ktk7q > .navigation-bar__title_ktk7q,
44
+ .navigation-bar__content_ktk7q > .navigation-bar__subtitle_ktk7q {
45
+ -webkit-line-clamp: 1;
46
+ display: -webkit-box;
47
+ -webkit-box-orient: vertical;
48
+ overflow: hidden;
49
+ word-break: break-all;
50
+ } .navigation-bar__title_ktk7q {
51
+ @mixin action_component_primary} .navigation-bar__title_ktk7q.navigation-bar__left_ktk7q {
52
+ @mixin headline-system-mobile_small;
53
+ } .navigation-bar__subtitle_ktk7q {
54
+ @mixin paragraph_primary_small;
55
+ color: var(--color-light-text-secondary);
56
+ } .navigation-bar__addons_ktk7q {
57
+ min-width: 48px;
58
+ display: flex;
59
+ justify-content: center;
60
+ } .navigation-bar__rightAddons_ktk7q {
61
+ margin-left: auto;
62
+ }
@@ -0,0 +1 @@
1
+ export * from './Component';
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Component = require('./Component.js');
6
+
7
+
8
+
9
+ exports.NavigationBar = Component.NavigationBar;
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_ktk7q","sticky":"navigation-bar__sticky_ktk7q","border":"navigation-bar__border_ktk7q","mainLine":"navigation-bar__mainLine_ktk7q","left":"navigation-bar__left_ktk7q","center":"navigation-bar__center_ktk7q","children":"navigation-bar__children_ktk7q","content":"navigation-bar__content_ktk7q","title":"navigation-bar__title_ktk7q","subtitle":"navigation-bar__subtitle_ktk7q","addons":"navigation-bar__addons_ktk7q","rightAddons":"navigation-bar__rightAddons_ktk7q"};
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/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-dynamic-mixins-index.css';\n\n.component {\n padding: var(--gap-8) var(--gap-4);\n box-sizing: border-box;\n width: 100%;\n}\n\n.sticky {\n position: sticky;\n top: var(--gap-0);\n z-index: 1;\n}\n\n.border {\n box-shadow: 0 1px 0 0 var(--color-light-neutral-300);\n}\n\n.mainLine {\n display: flex;\n background-color: inherit;\n justify-content: space-between;\n min-height: 40px;\n align-items: stretch;\n}\n\n.left {\n text-align: left;\n}\n\n.center {\n text-align: center;\n}\n\n.children {\n width: 100%;\n}\n\n.content {\n display: flex;\n flex-grow: 1;\n justify-content: center;\n flex-flow: column nowrap;\n color: var(--color-light-text-primary);\n\n &.left {\n padding: var(--gap-0) var(--gap-16);\n }\n\n & > .title,\n & > .subtitle {\n @mixin row_limit 1;\n word-break: break-all;\n }\n}\n\n.title {\n @mixin action_component_primary;\n\n &.left {\n @mixin headline-system-mobile_small;\n }\n}\n\n.subtitle {\n @mixin paragraph_primary_small;\n color: var(--color-light-text-secondary);\n}\n\n.addons {\n min-width: 48px;\n display: flex;\n justify-content: center;\n}\n\n.rightAddons {\n margin-left: auto;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,iCAAiC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,8BAA8B,CAAC,UAAU,CAAC,gCAAgC,CAAC,MAAM,CAAC,4BAA4B,CAAC,QAAQ,CAAC,8BAA8B,CAAC,UAAU,CAAC,gCAAgC,CAAC,SAAS,CAAC,+BAA+B,CAAC,OAAO,CAAC,6BAA6B,CAAC,UAAU,CAAC,gCAAgC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,aAAa,CAAC,mCAAmC,CAAC;;;;"}
@@ -0,0 +1,3 @@
1
+ export * from '../components/action-icon-addon';
2
+ export * from '../components/action-text-addon';
3
+ export { getNavigationBarTestIds } from '../utils';
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Component = require('../components/action-icon-addon/Component.js');
6
+ var Component$1 = require('../components/action-text-addon/Component.js');
7
+ var utils = require('../utils.js');
8
+
9
+
10
+
11
+ exports.ActionIconAddon = Component.ActionIconAddon;
12
+ exports.ActionTextAddon = Component$1.ActionTextAddon;
13
+ exports.getNavigationBarTestIds = utils.getNavigationBarTestIds;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ export declare function getNavigationBarTestIds(dataTestId: string): {
2
+ navigationBar: string;
3
+ title: string;
4
+ subtitle: string;
5
+ };
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var dynamicMixins = require('@alfalab/core-components-shared/dynamic-mixins');
6
+
7
+ function getNavigationBarTestIds(dataTestId) {
8
+ return {
9
+ navigationBar: dataTestId,
10
+ title: dynamicMixins.getDataTestId(dataTestId, 'title'),
11
+ subtitle: dynamicMixins.getDataTestId(dataTestId, 'subtitle'),
12
+ };
13
+ }
14
+
15
+ exports.getNavigationBarTestIds = getNavigationBarTestIds;
16
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../src/utils.ts"],"sourcesContent":["import { getDataTestId } from '@alfalab/core-components-shared';\n\nexport function getNavigationBarTestIds(dataTestId: string) {\n return {\n navigationBar: dataTestId,\n title: getDataTestId(dataTestId, 'title'),\n subtitle: getDataTestId(dataTestId, 'subtitle'),\n };\n}\n"],"names":["getDataTestId"],"mappings":";;;;;;AAEM,SAAU,uBAAuB,CAAC,UAAkB,EAAA;IACtD,OAAO;AACH,QAAA,aAAa,EAAE,UAAU;AACzB,QAAA,KAAK,EAAEA,2BAAa,CAAC,UAAU,EAAE,OAAO,CAAC;AACzC,QAAA,QAAQ,EAAEA,2BAAa,CAAC,UAAU,EAAE,UAAU,CAAC;KAClD;AACL;;;;"}