@alfalab/core-components-navigation-bar-private 2.0.4 → 2.0.5

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 (71) hide show
  1. package/Component.js.map +1 -1
  2. package/components/back-arrow-addon/Component.d.ts +1 -1
  3. package/components/back-arrow-addon/default.css +7 -7
  4. package/components/back-arrow-addon/default.module.css.js +1 -1
  5. package/components/back-arrow-addon/index.css +8 -8
  6. package/components/back-arrow-addon/index.module.css.js +1 -1
  7. package/components/back-arrow-addon/index.module.css.js.map +1 -1
  8. package/components/back-arrow-addon/inverted.css +7 -7
  9. package/components/back-arrow-addon/inverted.module.css.js +1 -1
  10. package/components/closer/default.css +2 -2
  11. package/components/closer/default.module.css.js +1 -1
  12. package/components/closer/index.css +4 -4
  13. package/components/closer/index.module.css.js +1 -1
  14. package/components/closer/index.module.css.js.map +1 -1
  15. package/components/closer/inverted.css +2 -2
  16. package/components/closer/inverted.module.css.js +1 -1
  17. package/cssm/Component.js.map +1 -1
  18. package/cssm/components/back-arrow-addon/Component.d.ts +1 -1
  19. package/cssm/types.d.ts +3 -3
  20. package/esm/Component.js.map +1 -1
  21. package/esm/components/back-arrow-addon/Component.d.ts +1 -1
  22. package/esm/components/back-arrow-addon/default.css +7 -7
  23. package/esm/components/back-arrow-addon/default.module.css.js +1 -1
  24. package/esm/components/back-arrow-addon/index.css +8 -8
  25. package/esm/components/back-arrow-addon/index.module.css.js +1 -1
  26. package/esm/components/back-arrow-addon/index.module.css.js.map +1 -1
  27. package/esm/components/back-arrow-addon/inverted.css +7 -7
  28. package/esm/components/back-arrow-addon/inverted.module.css.js +1 -1
  29. package/esm/components/closer/default.css +2 -2
  30. package/esm/components/closer/default.module.css.js +1 -1
  31. package/esm/components/closer/index.css +4 -4
  32. package/esm/components/closer/index.module.css.js +1 -1
  33. package/esm/components/closer/index.module.css.js.map +1 -1
  34. package/esm/components/closer/inverted.css +2 -2
  35. package/esm/components/closer/inverted.module.css.js +1 -1
  36. package/esm/index.css +26 -26
  37. package/esm/index.module.css.js +1 -1
  38. package/esm/index.module.css.js.map +1 -1
  39. package/esm/types.d.ts +3 -3
  40. package/index.css +26 -26
  41. package/index.module.css.js +1 -1
  42. package/index.module.css.js.map +1 -1
  43. package/modern/Component.js.map +1 -1
  44. package/modern/components/back-arrow-addon/Component.d.ts +1 -1
  45. package/modern/components/back-arrow-addon/default.css +7 -7
  46. package/modern/components/back-arrow-addon/default.module.css.js +1 -1
  47. package/modern/components/back-arrow-addon/index.css +8 -8
  48. package/modern/components/back-arrow-addon/index.module.css.js +1 -1
  49. package/modern/components/back-arrow-addon/index.module.css.js.map +1 -1
  50. package/modern/components/back-arrow-addon/inverted.css +7 -7
  51. package/modern/components/back-arrow-addon/inverted.module.css.js +1 -1
  52. package/modern/components/closer/default.css +2 -2
  53. package/modern/components/closer/default.module.css.js +1 -1
  54. package/modern/components/closer/index.css +4 -4
  55. package/modern/components/closer/index.module.css.js +1 -1
  56. package/modern/components/closer/index.module.css.js.map +1 -1
  57. package/modern/components/closer/inverted.css +2 -2
  58. package/modern/components/closer/inverted.module.css.js +1 -1
  59. package/modern/index.css +26 -26
  60. package/modern/index.module.css.js +1 -1
  61. package/modern/index.module.css.js.map +1 -1
  62. package/modern/types.d.ts +3 -3
  63. package/moderncssm/Component.js.map +1 -1
  64. package/moderncssm/components/back-arrow-addon/Component.d.ts +1 -1
  65. package/moderncssm/types.d.ts +3 -3
  66. package/package.json +6 -6
  67. package/src/components/back-arrow-addon/index.module.css +1 -1
  68. package/src/components/closer/index.module.css +1 -1
  69. package/src/index.module.css +1 -1
  70. package/src/vars.css +1 -1
  71. package/types.d.ts +3 -3
package/Component.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["src/Component.tsx"],"sourcesContent":["/* eslint-disable complexity */\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\nimport { useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';\n\nimport { BackArrowAddon } from './components/back-arrow-addon';\nimport { Closer } from './components/closer';\nimport { type ContentParams, type NavigationBarPrivateProps } from './types';\n\nimport styles from './index.module.css';\n\nconst ADDONS_HEIGHT = 48;\n\nexport const NavigationBarPrivate = forwardRef<HTMLDivElement, NavigationBarPrivateProps>(\n (\n {\n addonClassName,\n className,\n contentClassName,\n closerClassName,\n leftAddons,\n rightAddons,\n bottomAddons,\n bottomAddonsClassName,\n children,\n align = 'left',\n trim = true,\n title,\n titleSize = 'default',\n subtitle,\n subtitleClassName,\n hasCloser,\n closerProps = {},\n hasBackButton,\n backButtonClassName,\n backButtonProps,\n dataTestId,\n imageUrl,\n closerIcon,\n onClose,\n view,\n scrollableParentRef,\n sticky,\n onBack,\n dataName,\n titleClassName,\n titleRef,\n colors = 'default',\n },\n ref,\n ) => {\n const [scrollTop, setScrollTop] = useState(0);\n const [titleMargin, setTitleMargin] = useState({ left: 0, right: 0 });\n const bottomContentRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLDivElement>(null);\n const mainLinePaddingTopRef = useRef<string>('0px');\n const leftAddonsRef = useRef<HTMLDivElement>(null);\n const rightAddonsRef = useRef<HTMLDivElement>(null);\n\n const isMobile = view === 'mobile';\n\n const compactTitle = isMobile && titleSize === 'compact';\n const hasLeftPart = Boolean(leftAddons || hasBackButton);\n const hasRightPart = Boolean(rightAddons || hasCloser);\n const hasContent = Boolean(title || children);\n const withAnimation = Boolean(isMobile && hasLeftPart && sticky && !compactTitle);\n const showContentOnTop = hasContent && (compactTitle || !hasLeftPart);\n const showContentOnBot = hasContent && !compactTitle && hasLeftPart;\n const showStaticContentOnTop = !withAnimation && showContentOnTop;\n const showStaticContentOnBot = !withAnimation && showContentOnBot;\n const showAnimatedContentOnTop =\n withAnimation && showContentOnBot && scrollTop > ADDONS_HEIGHT;\n const showAnimatedContentOnBot = withAnimation && showContentOnBot;\n const headerPaddingTop = mainLinePaddingTopRef.current;\n\n useLayoutEffect_SAFE_FOR_SSR(() => {\n if (align === 'center' && (showStaticContentOnTop || showAnimatedContentOnTop)) {\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 =\n prev.left !== newState.left || prev.right !== newState.right;\n\n return isStateChanged ? newState : prev;\n });\n }\n }, [\n align,\n showStaticContentOnTop,\n showAnimatedContentOnTop,\n leftAddons,\n rightAddons,\n hasBackButton,\n hasCloser,\n ]);\n\n useEffect(() => {\n const parent = scrollableParentRef?.current;\n\n const handleScroll = (ev: Event) => {\n const divElement = ev.target as HTMLDivElement;\n\n setScrollTop(divElement.scrollTop);\n };\n\n if (withAnimation && headerRef.current) {\n mainLinePaddingTopRef.current = getComputedStyle(headerRef.current).paddingTop;\n }\n\n if (withAnimation && parent) {\n parent.addEventListener('scroll', handleScroll);\n }\n\n return () => parent?.removeEventListener('scroll', handleScroll);\n }, [scrollableParentRef, withAnimation]);\n\n const renderBackButton = () => {\n let textOpacity = 1;\n\n if (withAnimation) {\n const height = hasContent ? ADDONS_HEIGHT : ADDONS_HEIGHT / 2;\n\n textOpacity = Math.max(0, 1 - scrollTop / height);\n } else if (compactTitle) {\n textOpacity = 0;\n }\n\n return (\n <div className={cn(styles.addon, backButtonClassName)}>\n <BackArrowAddon\n data-test-id={getDataTestId(dataTestId, 'back-button')}\n {...backButtonProps}\n colors={colors}\n textOpacity={textOpacity}\n view={view}\n onClick={onBack}\n />\n </div>\n );\n };\n\n const renderContent = (args: ContentParams = {}) => {\n const { extraClassName, wrapperRef, style, hidden, extraAlign } = args;\n\n return (\n <div\n style={{ ...style, visibility: hidden ? 'hidden' : 'visible' }}\n ref={wrapperRef}\n className={cn(\n styles.content,\n extraClassName,\n contentClassName,\n styles[extraAlign || align],\n {\n [styles.trim]: trim,\n [styles.withCompactTitle]: isMobile && compactTitle && hasContent,\n },\n )}\n aria-hidden={hidden}\n >\n {children && <div className={styles.children}>{children}</div>}\n {title && (\n <div\n className={cn(styles.title, titleClassName)}\n data-test-id={hidden ? undefined : getDataTestId(dataTestId, 'title')}\n ref={titleRef}\n >\n <div className={styles.titleTextContent}>{title}</div>\n </div>\n )}\n {compactTitle && subtitle && (\n <div\n className={cn(styles.subtitle, subtitleClassName)}\n data-test-id={getDataTestId(dataTestId, 'subtitle')}\n >\n {subtitle}\n </div>\n )}\n </div>\n );\n };\n\n const renderCloser = () => (\n <div className={cn(styles.addon, styles.closer, closerClassName)}>\n <Closer\n view={view}\n icon={closerIcon}\n colors={colors}\n dataTestId={getDataTestId(dataTestId, 'closer')}\n onClose={onClose}\n {...closerProps}\n />\n </div>\n );\n\n return (\n <div\n ref={mergeRefs([ref, headerRef])}\n className={cn(styles.header, className, { [styles.backgroundImage]: imageUrl })}\n data-test-id={getDataTestId(dataTestId)}\n style={{\n ...(imageUrl && { backgroundImage: `url(${imageUrl})` }),\n ...(withAnimation &&\n bottomContentRef.current && {\n top: -bottomContentRef.current.scrollHeight,\n }),\n }}\n data-name={dataName}\n >\n <div\n className={cn(styles.mainLine, {\n [styles.mainLineSticky]: withAnimation,\n [styles.mainLineWithImageBg]: imageUrl,\n })}\n style={{\n ...(withAnimation\n ? {\n marginTop: `-${headerPaddingTop}`,\n paddingTop: headerPaddingTop,\n }\n : null),\n }}\n >\n {hasLeftPart && (\n <div className={styles.addonsWrapper} ref={leftAddonsRef}>\n {hasBackButton && renderBackButton()}\n {leftAddons && (\n <div className={cn(styles.addon, addonClassName)}>{leftAddons}</div>\n )}\n </div>\n )}\n\n {showStaticContentOnTop &&\n renderContent({\n ...(align === 'center'\n ? {\n style: {\n marginLeft: titleMargin.left,\n marginRight: titleMargin.right,\n },\n }\n : null),\n })}\n\n {showAnimatedContentOnTop &&\n renderContent({\n extraClassName: styles.withBothAddons,\n style: {\n opacity: Math.min(1, (scrollTop - ADDONS_HEIGHT) / ADDONS_HEIGHT),\n ...(align === 'center'\n ? {\n marginLeft: titleMargin.left,\n marginRight: titleMargin.right,\n }\n : null),\n },\n extraAlign: 'center',\n })}\n\n {hasRightPart && (\n <div\n className={cn(styles.addonsWrapper, styles.rightAddons)}\n ref={rightAddonsRef}\n >\n {rightAddons && (\n <div className={cn(styles.addon, addonClassName)}>\n {rightAddons}\n </div>\n )}\n\n {hasCloser && renderCloser()}\n </div>\n )}\n </div>\n\n {showAnimatedContentOnBot &&\n renderContent({\n wrapperRef: bottomContentRef,\n extraClassName: styles.underAddons,\n style: { opacity: Math.max(0, 1 - scrollTop / ADDONS_HEIGHT) },\n hidden: scrollTop / ADDONS_HEIGHT > 1,\n extraAlign: 'left',\n })}\n\n {showStaticContentOnBot &&\n renderContent({\n extraClassName: cn({\n [styles.contentOnBotDesktop]: view === 'desktop',\n [styles.contentOnBotMobile]: isMobile,\n }),\n extraAlign: 'left',\n })}\n\n {bottomAddons && (\n <div className={cn(styles.bottomAddons, bottomAddonsClassName)}>\n {bottomAddons}\n </div>\n )}\n </div>\n );\n },\n);\n\nNavigationBarPrivate.displayName = 'NavigationBarPrivate';\n"],"names":["forwardRef","useState","useRef","useLayoutEffect_SAFE_FOR_SSR","useEffect","React","cn","styles","BackArrowAddon","__assign","getDataTestId","Closer","mergeRefs"],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["src/Component.tsx"],"sourcesContent":["/* eslint-disable complexity */\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\nimport { useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';\n\nimport { BackArrowAddon } from './components/back-arrow-addon';\nimport { Closer } from './components/closer';\nimport { type ContentParams, type NavigationBarPrivateProps } from './types';\n\nimport styles from './index.module.css';\n\nconst ADDONS_HEIGHT = 48;\n\nexport const NavigationBarPrivate = forwardRef<HTMLDivElement, NavigationBarPrivateProps>(\n (\n {\n addonClassName,\n className,\n contentClassName,\n closerClassName,\n leftAddons,\n rightAddons,\n bottomAddons,\n bottomAddonsClassName,\n children,\n align = 'left',\n trim = true,\n title,\n titleSize = 'default',\n subtitle,\n subtitleClassName,\n hasCloser,\n closerProps = {},\n hasBackButton,\n backButtonClassName,\n backButtonProps,\n dataTestId,\n imageUrl,\n closerIcon,\n onClose,\n view,\n scrollableParentRef,\n sticky,\n onBack,\n dataName,\n titleClassName,\n titleRef,\n colors = 'default',\n },\n ref,\n ) => {\n const [scrollTop, setScrollTop] = useState(0);\n const [titleMargin, setTitleMargin] = useState({ left: 0, right: 0 });\n const bottomContentRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLDivElement>(null);\n const mainLinePaddingTopRef = useRef<string>('0px');\n const leftAddonsRef = useRef<HTMLDivElement>(null);\n const rightAddonsRef = useRef<HTMLDivElement>(null);\n\n const isMobile = view === 'mobile';\n\n const compactTitle = isMobile && titleSize === 'compact';\n const hasLeftPart = Boolean(leftAddons || hasBackButton);\n const hasRightPart = Boolean(rightAddons || hasCloser);\n const hasContent = Boolean(title || children);\n const withAnimation = Boolean(isMobile && hasLeftPart && sticky && !compactTitle);\n const showContentOnTop = hasContent && (compactTitle || !hasLeftPart);\n const showContentOnBot = hasContent && !compactTitle && hasLeftPart;\n const showStaticContentOnTop = !withAnimation && showContentOnTop;\n const showStaticContentOnBot = !withAnimation && showContentOnBot;\n const showAnimatedContentOnTop =\n withAnimation && showContentOnBot && scrollTop > ADDONS_HEIGHT;\n const showAnimatedContentOnBot = withAnimation && showContentOnBot;\n const headerPaddingTop = mainLinePaddingTopRef.current;\n\n useLayoutEffect_SAFE_FOR_SSR(() => {\n if (align === 'center' && (showStaticContentOnTop || showAnimatedContentOnTop)) {\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 =\n prev.left !== newState.left || prev.right !== newState.right;\n\n return isStateChanged ? newState : prev;\n });\n }\n }, [\n align,\n showStaticContentOnTop,\n showAnimatedContentOnTop,\n leftAddons,\n rightAddons,\n hasBackButton,\n hasCloser,\n ]);\n\n useEffect(() => {\n const parent = scrollableParentRef?.current;\n\n const handleScroll = (ev: Event) => {\n const divElement = ev.target as HTMLDivElement;\n\n setScrollTop(divElement.scrollTop);\n };\n\n if (withAnimation && headerRef.current) {\n mainLinePaddingTopRef.current = getComputedStyle(headerRef.current).paddingTop;\n }\n\n if (withAnimation && parent) {\n parent.addEventListener('scroll', handleScroll);\n }\n\n return () => parent?.removeEventListener('scroll', handleScroll);\n }, [scrollableParentRef, withAnimation]);\n\n const renderBackButton = () => {\n let textOpacity = 1;\n\n if (withAnimation) {\n const height = hasContent ? ADDONS_HEIGHT : ADDONS_HEIGHT / 2;\n\n textOpacity = Math.max(0, 1 - scrollTop / height);\n } else if (compactTitle) {\n textOpacity = 0;\n }\n\n return (\n <div className={cn(styles.addon, backButtonClassName)}>\n <BackArrowAddon\n data-test-id={getDataTestId(dataTestId, 'back-button')}\n {...backButtonProps}\n colors={colors}\n textOpacity={textOpacity}\n view={view}\n onClick={onBack}\n />\n </div>\n );\n };\n\n const renderContent = (args: ContentParams = {}) => {\n const { extraClassName, wrapperRef, style, hidden, extraAlign } = args;\n\n return (\n <div\n style={{ ...style, visibility: hidden ? 'hidden' : 'visible' }}\n ref={wrapperRef}\n className={cn(\n styles.content,\n extraClassName,\n contentClassName,\n styles[extraAlign || align],\n {\n [styles.trim]: trim,\n [styles.withCompactTitle]: isMobile && compactTitle && hasContent,\n },\n )}\n aria-hidden={hidden}\n >\n {children && <div className={styles.children}>{children}</div>}\n {title && (\n <div\n className={cn(styles.title, titleClassName)}\n data-test-id={hidden ? undefined : getDataTestId(dataTestId, 'title')}\n ref={titleRef}\n >\n <div className={styles.titleTextContent}>{title}</div>\n </div>\n )}\n {compactTitle && subtitle && (\n <div\n className={cn(styles.subtitle, subtitleClassName)}\n data-test-id={getDataTestId(dataTestId, 'subtitle')}\n >\n {subtitle}\n </div>\n )}\n </div>\n );\n };\n\n const renderCloser = () => (\n <div className={cn(styles.addon, styles.closer, closerClassName)}>\n <Closer\n view={view}\n icon={closerIcon}\n colors={colors}\n dataTestId={getDataTestId(dataTestId, 'closer')}\n onClose={onClose}\n {...closerProps}\n />\n </div>\n );\n\n return (\n <div\n ref={mergeRefs([ref, headerRef])}\n className={cn(styles.header, className, { [styles.backgroundImage]: imageUrl })}\n data-test-id={getDataTestId(dataTestId)}\n style={{\n ...(imageUrl && { backgroundImage: `url(${imageUrl})` }),\n ...(withAnimation &&\n bottomContentRef.current && {\n top: -bottomContentRef.current.scrollHeight,\n }),\n }}\n data-name={dataName}\n >\n <div\n className={cn(styles.mainLine, {\n [styles.mainLineSticky]: withAnimation,\n [styles.mainLineWithImageBg]: imageUrl,\n })}\n style={{\n ...(withAnimation\n ? {\n marginTop: `-${headerPaddingTop}`,\n paddingTop: headerPaddingTop,\n }\n : null),\n }}\n >\n {hasLeftPart && (\n <div className={styles.addonsWrapper} ref={leftAddonsRef}>\n {hasBackButton && renderBackButton()}\n {leftAddons && (\n <div className={cn(styles.addon, addonClassName)}>{leftAddons}</div>\n )}\n </div>\n )}\n\n {showStaticContentOnTop &&\n renderContent({\n ...(align === 'center'\n ? {\n style: {\n marginLeft: titleMargin.left,\n marginRight: titleMargin.right,\n },\n }\n : null),\n })}\n\n {showAnimatedContentOnTop &&\n renderContent({\n extraClassName: styles.withBothAddons,\n style: {\n opacity: Math.min(1, (scrollTop - ADDONS_HEIGHT) / ADDONS_HEIGHT),\n ...(align === 'center'\n ? {\n marginLeft: titleMargin.left,\n marginRight: titleMargin.right,\n }\n : null),\n },\n extraAlign: 'center',\n })}\n\n {hasRightPart && (\n <div\n className={cn(styles.addonsWrapper, styles.rightAddons)}\n ref={rightAddonsRef}\n >\n {rightAddons && (\n <div className={cn(styles.addon, addonClassName)}>\n {rightAddons}\n </div>\n )}\n\n {hasCloser && renderCloser()}\n </div>\n )}\n </div>\n\n {showAnimatedContentOnBot &&\n renderContent({\n wrapperRef: bottomContentRef,\n extraClassName: styles.underAddons,\n style: { opacity: Math.max(0, 1 - scrollTop / ADDONS_HEIGHT) },\n hidden: scrollTop / ADDONS_HEIGHT > 1,\n extraAlign: 'left',\n })}\n\n {showStaticContentOnBot &&\n renderContent({\n extraClassName: cn({\n [styles.contentOnBotDesktop]: view === 'desktop',\n [styles.contentOnBotMobile]: isMobile,\n }),\n extraAlign: 'left',\n })}\n\n {bottomAddons && (\n <div className={cn(styles.bottomAddons, bottomAddonsClassName)}>\n {bottomAddons}\n </div>\n )}\n </div>\n );\n },\n);\n\nNavigationBarPrivate.displayName = 'NavigationBarPrivate';\n"],"names":["forwardRef","useState","useRef","useLayoutEffect_SAFE_FOR_SSR","useEffect","React","cn","styles","BackArrowAddon","__assign","getDataTestId","Closer","mergeRefs"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare type ColorType = 'default' | 'inverted';
2
+ type ColorType = 'default' | 'inverted';
3
3
  export interface BackArrowAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
4
4
  /**
5
5
  * Текст после иконки
@@ -13,25 +13,25 @@
13
13
  --navigation-bar-back-arrow-mobile-fill: var(--color-light-neutral-translucent-700);
14
14
  --button-text-base-color: var(--color-light-text-primary);
15
15
  }
16
- .navigation-bar-private__component_ad9f3 {
16
+ .navigation-bar-private__component_1lstd {
17
17
  background: var(--color-light-monochrome-white-4);
18
18
  }
19
- .navigation-bar-private__component_ad9f3 svg > path {
19
+ .navigation-bar-private__component_1lstd svg > path {
20
20
  fill: var(--color-light-neutral-translucent-1300);
21
21
  }
22
- .navigation-bar-private__component_ad9f3:hover svg > path {
22
+ .navigation-bar-private__component_1lstd:hover svg > path {
23
23
  fill: var(--color-light-neutral-translucent-1300-hover);
24
24
  }
25
- .navigation-bar-private__component_ad9f3:active svg > path {
25
+ .navigation-bar-private__component_1lstd:active svg > path {
26
26
  fill: var(--color-light-neutral-translucent-1300-press);
27
27
  }
28
- .navigation-bar-private__text_ad9f3 {
28
+ .navigation-bar-private__text_1lstd {
29
29
  color: var(--button-text-base-color);
30
30
  }
31
- .navigation-bar-private__mobileWrapper_ad9f3 {
31
+ .navigation-bar-private__mobileWrapper_1lstd {
32
32
  background: var(--color-light-neutral-translucent-100);
33
33
  color: var(--color-light-neutral-translucent-100);
34
34
  }
35
- .navigation-bar-private__mobileWrapper_ad9f3 svg > path {
35
+ .navigation-bar-private__mobileWrapper_1lstd svg > path {
36
36
  fill: var(--navigation-bar-back-arrow-mobile-fill);
37
37
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./default.css');
4
4
 
5
- var defaultColors = {"component":"navigation-bar-private__component_ad9f3","text":"navigation-bar-private__text_ad9f3","mobileWrapper":"navigation-bar-private__mobileWrapper_ad9f3"};
5
+ var defaultColors = {"component":"navigation-bar-private__component_1lstd","text":"navigation-bar-private__text_1lstd","mobileWrapper":"navigation-bar-private__mobileWrapper_1lstd"};
6
6
 
7
7
  module.exports = defaultColors;
8
8
  //# sourceMappingURL=default.module.css.js.map
@@ -9,17 +9,17 @@
9
9
  --gap-8: var(--gap-xs);
10
10
  --gap-12: var(--gap-s);
11
11
  }
12
- .navigation-bar-private__component_1e1qx {
12
+ .navigation-bar-private__component_11o31 {
13
13
  height: 100%;
14
14
  -webkit-backdrop-filter: blur(10px);
15
15
  backdrop-filter: blur(10px);
16
16
  border-radius: var(--border-radius-pill);
17
17
  min-width: 48px;
18
18
  }
19
- .navigation-bar-private__component_1e1qx svg > path {
19
+ .navigation-bar-private__component_11o31 svg > path {
20
20
  transition: fill 0.2s ease;
21
21
  }
22
- .navigation-bar-private__mobileComponent_1e1qx {
22
+ .navigation-bar-private__mobileComponent_11o31 {
23
23
  height: 32px;
24
24
  min-width: 32px;
25
25
  margin: var(--gap-0) var(--gap-8);
@@ -27,11 +27,11 @@
27
27
  backdrop-filter: none;
28
28
  background: none;
29
29
  }
30
- .navigation-bar-private__flex_1e1qx {
30
+ .navigation-bar-private__flex_11o31 {
31
31
  display: flex;
32
32
  align-items: center;
33
33
  }
34
- .navigation-bar-private__iconWrapper_1e1qx {
34
+ .navigation-bar-private__iconWrapper_11o31 {
35
35
  display: inline-flex;
36
36
  align-items: center;
37
37
  justify-content: center;
@@ -39,16 +39,16 @@
39
39
  margin: var(--gap-0) var(--gap-8) var(--gap-0) var(--gap-12);
40
40
  border-radius: var(--border-radius-circle);
41
41
  }
42
- .navigation-bar-private__iconWrapper_1e1qx + .navigation-bar-private__text_1e1qx {
42
+ .navigation-bar-private__iconWrapper_11o31 + .navigation-bar-private__text_11o31 {
43
43
  margin-right: var(--gap-12);
44
44
  }
45
- .navigation-bar-private__mobileWrapper_1e1qx {
45
+ .navigation-bar-private__mobileWrapper_11o31 {
46
46
  width: 32px;
47
47
  height: 32px;
48
48
  -webkit-backdrop-filter: blur(10px);
49
49
  backdrop-filter: blur(10px);
50
50
  margin: var(--gap-0);
51
51
  }
52
- .navigation-bar-private__mobileWrapper_1e1qx + .navigation-bar-private__text_1e1qx {
52
+ .navigation-bar-private__mobileWrapper_11o31 + .navigation-bar-private__text_11o31 {
53
53
  margin: var(--gap-0) var(--gap-12) var(--gap-0) var(--gap-8);
54
54
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"navigation-bar-private__component_1e1qx","mobileComponent":"navigation-bar-private__mobileComponent_1e1qx","flex":"navigation-bar-private__flex_1e1qx","iconWrapper":"navigation-bar-private__iconWrapper_1e1qx","text":"navigation-bar-private__text_1e1qx","mobileWrapper":"navigation-bar-private__mobileWrapper_1e1qx"};
5
+ var styles = {"component":"navigation-bar-private__component_11o31","mobileComponent":"navigation-bar-private__mobileComponent_11o31","flex":"navigation-bar-private__flex_11o31","iconWrapper":"navigation-bar-private__iconWrapper_11o31","text":"navigation-bar-private__text_11o31","mobileWrapper":"navigation-bar-private__mobileWrapper_11o31"};
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/back-arrow-addon/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n@import '@alfalab/core-components-vars/src/colors-monochrome.css';\n@import '../../vars.css';\n\n.component {\n height: 100%;\n backdrop-filter: blur(10px);\n border-radius: var(--border-radius-pill);\n min-width: 48px;\n\n & svg > path {\n transition: fill 0.2s ease;\n }\n}\n\n.mobileComponent {\n height: 32px;\n min-width: 32px;\n margin: var(--gap-0) var(--gap-8);\n backdrop-filter: none;\n background: none;\n}\n\n.flex {\n display: flex;\n align-items: center;\n}\n\n.iconWrapper {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 48px;\n margin: var(--gap-0) var(--gap-8) var(--gap-0) var(--gap-12);\n border-radius: var(--border-radius-circle);\n\n & + .text {\n margin-right: var(--gap-12);\n }\n}\n\n.mobileWrapper {\n width: 32px;\n height: 32px;\n backdrop-filter: blur(10px);\n margin: var(--gap-0);\n\n & + .text {\n margin: var(--gap-0) var(--gap-12) var(--gap-0) var(--gap-8);\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,yCAAyC,CAAC,iBAAiB,CAAC,+CAA+C,CAAC,MAAM,CAAC,oCAAoC,CAAC,aAAa,CAAC,2CAA2C,CAAC,MAAM,CAAC,oCAAoC,CAAC,eAAe,CAAC,6CAA6C,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/back-arrow-addon/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '@alfalab/core-components-vars/src/colors-monochrome.css';\n@import '../../vars.css';\n\n.component {\n height: 100%;\n backdrop-filter: blur(10px);\n border-radius: var(--border-radius-pill);\n min-width: 48px;\n\n & svg > path {\n transition: fill 0.2s ease;\n }\n}\n\n.mobileComponent {\n height: 32px;\n min-width: 32px;\n margin: var(--gap-0) var(--gap-8);\n backdrop-filter: none;\n background: none;\n}\n\n.flex {\n display: flex;\n align-items: center;\n}\n\n.iconWrapper {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 48px;\n margin: var(--gap-0) var(--gap-8) var(--gap-0) var(--gap-12);\n border-radius: var(--border-radius-circle);\n\n & + .text {\n margin-right: var(--gap-12);\n }\n}\n\n.mobileWrapper {\n width: 32px;\n height: 32px;\n backdrop-filter: blur(10px);\n margin: var(--gap-0);\n\n & + .text {\n margin: var(--gap-0) var(--gap-12) var(--gap-0) var(--gap-8);\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,yCAAyC,CAAC,iBAAiB,CAAC,+CAA+C,CAAC,MAAM,CAAC,oCAAoC,CAAC,aAAa,CAAC,2CAA2C,CAAC,MAAM,CAAC,oCAAoC,CAAC,eAAe,CAAC,6CAA6C,CAAC;;;;"}
@@ -15,25 +15,25 @@
15
15
  );
16
16
  --button-inverted-text-base-color: var(--color-light-text-primary-inverted);
17
17
  }
18
- .navigation-bar-private__component_11uer {
18
+ .navigation-bar-private__component_e8uo9 {
19
19
  background: var(--color-light-monochrome-white-4-inverted);
20
20
  }
21
- .navigation-bar-private__component_11uer svg > path {
21
+ .navigation-bar-private__component_e8uo9 svg > path {
22
22
  fill: var(--color-light-neutral-translucent-1300-inverted);
23
23
  }
24
- .navigation-bar-private__component_11uer:hover svg > path {
24
+ .navigation-bar-private__component_e8uo9:hover svg > path {
25
25
  fill: var(--color-light-neutral-translucent-1300-inverted-hover);
26
26
  }
27
- .navigation-bar-private__component_11uer:active svg > path {
27
+ .navigation-bar-private__component_e8uo9:active svg > path {
28
28
  fill: var(--color-light-neutral-translucent-1300-inverted-press);
29
29
  }
30
- .navigation-bar-private__text_11uer {
30
+ .navigation-bar-private__text_e8uo9 {
31
31
  color: var(--button-inverted-text-base-color);
32
32
  }
33
- .navigation-bar-private__mobileWrapper_11uer {
33
+ .navigation-bar-private__mobileWrapper_e8uo9 {
34
34
  background: var(--color-light-neutral-translucent-100-inverted);
35
35
  color: var(--color-light-neutral-translucent-700-inverted);
36
36
  }
37
- .navigation-bar-private__mobileWrapper_11uer svg > path {
37
+ .navigation-bar-private__mobileWrapper_e8uo9 svg > path {
38
38
  fill: var(--navigation-bar-back-arrow-mobile-fill-inverted);
39
39
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./inverted.css');
4
4
 
5
- var invertedColors = {"component":"navigation-bar-private__component_11uer","text":"navigation-bar-private__text_11uer","mobileWrapper":"navigation-bar-private__mobileWrapper_11uer"};
5
+ var invertedColors = {"component":"navigation-bar-private__component_e8uo9","text":"navigation-bar-private__text_e8uo9","mobileWrapper":"navigation-bar-private__mobileWrapper_e8uo9"};
6
6
 
7
7
  module.exports = invertedColors;
8
8
  //# sourceMappingURL=inverted.module.css.js.map
@@ -9,11 +9,11 @@
9
9
  :root {
10
10
  --navigation-bar-closer-mobile-color: var(--color-light-neutral-translucent-700);
11
11
  }
12
- .navigation-bar-private__button_17fem.navigation-bar-private__button_17fem {
12
+ .navigation-bar-private__button_t2i08.navigation-bar-private__button_t2i08 {
13
13
  background: var(--color-light-monochrome-white-4);
14
14
  color: var(--color-light-neutral-translucent-1300);
15
15
  }
16
- .navigation-bar-private__button_17fem.navigation-bar-private__button_17fem.navigation-bar-private__mobile_17fem {
16
+ .navigation-bar-private__button_t2i08.navigation-bar-private__button_t2i08.navigation-bar-private__mobile_t2i08 {
17
17
  background: var(--color-light-neutral-translucent-100);
18
18
  color: var(--navigation-bar-closer-mobile-color);
19
19
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./default.css');
4
4
 
5
- var defaultColors = {"button":"navigation-bar-private__button_17fem","mobile":"navigation-bar-private__mobile_17fem"};
5
+ var defaultColors = {"button":"navigation-bar-private__button_t2i08","mobile":"navigation-bar-private__mobile_t2i08"};
6
6
 
7
7
  module.exports = defaultColors;
8
8
  //# sourceMappingURL=default.module.css.js.map
@@ -4,7 +4,7 @@
4
4
  :root {
5
5
  --gap-0: 0px;
6
6
  }
7
- .navigation-bar-private__closer_11bcy {
7
+ .navigation-bar-private__closer_fp1m1 {
8
8
  flex-shrink: 0;
9
9
  width: 48px;
10
10
  height: 48px;
@@ -13,14 +13,14 @@
13
13
  align-items: center;
14
14
  justify-content: center;
15
15
  }
16
- .navigation-bar-private__button_11bcy {
16
+ .navigation-bar-private__button_fp1m1 {
17
17
  -webkit-backdrop-filter: blur(10px);
18
18
  backdrop-filter: blur(10px);
19
19
  }
20
- .navigation-bar-private__button_11bcy.navigation-bar-private__button_11bcy.navigation-bar-private__button_11bcy {
20
+ .navigation-bar-private__button_fp1m1.navigation-bar-private__button_fp1m1.navigation-bar-private__button_fp1m1 {
21
21
  border-radius: var(--border-radius-circle);
22
22
  }
23
- .navigation-bar-private__sticky_11bcy {
23
+ .navigation-bar-private__sticky_fp1m1 {
24
24
  position: sticky;
25
25
  top: var(--gap-0);
26
26
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"closer":"navigation-bar-private__closer_11bcy","button":"navigation-bar-private__button_11bcy","sticky":"navigation-bar-private__sticky_11bcy"};
5
+ var styles = {"closer":"navigation-bar-private__closer_fp1m1","button":"navigation-bar-private__button_fp1m1","sticky":"navigation-bar-private__sticky_fp1m1"};
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/closer/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.closer {\n flex-shrink: 0;\n width: 48px;\n height: 48px;\n margin-left: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.button {\n backdrop-filter: blur(10px);\n}\n\n.button.button.button {\n border-radius: var(--border-radius-circle);\n}\n\n.sticky {\n position: sticky;\n top: var(--gap-0);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,QAAQ,CAAC,sCAAsC,CAAC,QAAQ,CAAC,sCAAsC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/closer/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.closer {\n flex-shrink: 0;\n width: 48px;\n height: 48px;\n margin-left: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.button {\n backdrop-filter: blur(10px);\n}\n\n.button.button.button {\n border-radius: var(--border-radius-circle);\n}\n\n.sticky {\n position: sticky;\n top: var(--gap-0);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,QAAQ,CAAC,sCAAsC,CAAC,QAAQ,CAAC,sCAAsC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;;;;"}
@@ -10,11 +10,11 @@
10
10
  --color-light-neutral-translucent-700-inverted
11
11
  );
12
12
  }
13
- .navigation-bar-private__button_1ug02.navigation-bar-private__button_1ug02 {
13
+ .navigation-bar-private__button_1g33g.navigation-bar-private__button_1g33g {
14
14
  background: var(--color-light-monochrome-white-4-inverted);
15
15
  color: var(--color-light-neutral-translucent-1300-inverted);
16
16
  }
17
- .navigation-bar-private__button_1ug02.navigation-bar-private__button_1ug02.navigation-bar-private__mobile_1ug02 {
17
+ .navigation-bar-private__button_1g33g.navigation-bar-private__button_1g33g.navigation-bar-private__mobile_1g33g {
18
18
  background: var(--color-light-neutral-translucent-100-inverted);
19
19
  color: var(--navigation-bar-closer-mobile-color-inverted);
20
20
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./inverted.css');
4
4
 
5
- var invertedColors = {"button":"navigation-bar-private__button_1ug02","mobile":"navigation-bar-private__mobile_1ug02"};
5
+ var invertedColors = {"button":"navigation-bar-private__button_1g33g","mobile":"navigation-bar-private__mobile_1g33g"};
6
6
 
7
7
  module.exports = invertedColors;
8
8
  //# sourceMappingURL=inverted.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../src/Component.tsx"],"sourcesContent":["/* eslint-disable complexity */\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\nimport { useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';\n\nimport { BackArrowAddon } from './components/back-arrow-addon';\nimport { Closer } from './components/closer';\nimport { type ContentParams, type NavigationBarPrivateProps } from './types';\n\nimport styles from './index.module.css';\n\nconst ADDONS_HEIGHT = 48;\n\nexport const NavigationBarPrivate = forwardRef<HTMLDivElement, NavigationBarPrivateProps>(\n (\n {\n addonClassName,\n className,\n contentClassName,\n closerClassName,\n leftAddons,\n rightAddons,\n bottomAddons,\n bottomAddonsClassName,\n children,\n align = 'left',\n trim = true,\n title,\n titleSize = 'default',\n subtitle,\n subtitleClassName,\n hasCloser,\n closerProps = {},\n hasBackButton,\n backButtonClassName,\n backButtonProps,\n dataTestId,\n imageUrl,\n closerIcon,\n onClose,\n view,\n scrollableParentRef,\n sticky,\n onBack,\n dataName,\n titleClassName,\n titleRef,\n colors = 'default',\n },\n ref,\n ) => {\n const [scrollTop, setScrollTop] = useState(0);\n const [titleMargin, setTitleMargin] = useState({ left: 0, right: 0 });\n const bottomContentRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLDivElement>(null);\n const mainLinePaddingTopRef = useRef<string>('0px');\n const leftAddonsRef = useRef<HTMLDivElement>(null);\n const rightAddonsRef = useRef<HTMLDivElement>(null);\n\n const isMobile = view === 'mobile';\n\n const compactTitle = isMobile && titleSize === 'compact';\n const hasLeftPart = Boolean(leftAddons || hasBackButton);\n const hasRightPart = Boolean(rightAddons || hasCloser);\n const hasContent = Boolean(title || children);\n const withAnimation = Boolean(isMobile && hasLeftPart && sticky && !compactTitle);\n const showContentOnTop = hasContent && (compactTitle || !hasLeftPart);\n const showContentOnBot = hasContent && !compactTitle && hasLeftPart;\n const showStaticContentOnTop = !withAnimation && showContentOnTop;\n const showStaticContentOnBot = !withAnimation && showContentOnBot;\n const showAnimatedContentOnTop =\n withAnimation && showContentOnBot && scrollTop > ADDONS_HEIGHT;\n const showAnimatedContentOnBot = withAnimation && showContentOnBot;\n const headerPaddingTop = mainLinePaddingTopRef.current;\n\n useLayoutEffect_SAFE_FOR_SSR(() => {\n if (align === 'center' && (showStaticContentOnTop || showAnimatedContentOnTop)) {\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 =\n prev.left !== newState.left || prev.right !== newState.right;\n\n return isStateChanged ? newState : prev;\n });\n }\n }, [\n align,\n showStaticContentOnTop,\n showAnimatedContentOnTop,\n leftAddons,\n rightAddons,\n hasBackButton,\n hasCloser,\n ]);\n\n useEffect(() => {\n const parent = scrollableParentRef?.current;\n\n const handleScroll = (ev: Event) => {\n const divElement = ev.target as HTMLDivElement;\n\n setScrollTop(divElement.scrollTop);\n };\n\n if (withAnimation && headerRef.current) {\n mainLinePaddingTopRef.current = getComputedStyle(headerRef.current).paddingTop;\n }\n\n if (withAnimation && parent) {\n parent.addEventListener('scroll', handleScroll);\n }\n\n return () => parent?.removeEventListener('scroll', handleScroll);\n }, [scrollableParentRef, withAnimation]);\n\n const renderBackButton = () => {\n let textOpacity = 1;\n\n if (withAnimation) {\n const height = hasContent ? ADDONS_HEIGHT : ADDONS_HEIGHT / 2;\n\n textOpacity = Math.max(0, 1 - scrollTop / height);\n } else if (compactTitle) {\n textOpacity = 0;\n }\n\n return (\n <div className={cn(styles.addon, backButtonClassName)}>\n <BackArrowAddon\n data-test-id={getDataTestId(dataTestId, 'back-button')}\n {...backButtonProps}\n colors={colors}\n textOpacity={textOpacity}\n view={view}\n onClick={onBack}\n />\n </div>\n );\n };\n\n const renderContent = (args: ContentParams = {}) => {\n const { extraClassName, wrapperRef, style, hidden, extraAlign } = args;\n\n return (\n <div\n style={{ ...style, visibility: hidden ? 'hidden' : 'visible' }}\n ref={wrapperRef}\n className={cn(\n styles.content,\n extraClassName,\n contentClassName,\n styles[extraAlign || align],\n {\n [styles.trim]: trim,\n [styles.withCompactTitle]: isMobile && compactTitle && hasContent,\n },\n )}\n aria-hidden={hidden}\n >\n {children && <div className={styles.children}>{children}</div>}\n {title && (\n <div\n className={cn(styles.title, titleClassName)}\n data-test-id={hidden ? undefined : getDataTestId(dataTestId, 'title')}\n ref={titleRef}\n >\n <div className={styles.titleTextContent}>{title}</div>\n </div>\n )}\n {compactTitle && subtitle && (\n <div\n className={cn(styles.subtitle, subtitleClassName)}\n data-test-id={getDataTestId(dataTestId, 'subtitle')}\n >\n {subtitle}\n </div>\n )}\n </div>\n );\n };\n\n const renderCloser = () => (\n <div className={cn(styles.addon, styles.closer, closerClassName)}>\n <Closer\n view={view}\n icon={closerIcon}\n colors={colors}\n dataTestId={getDataTestId(dataTestId, 'closer')}\n onClose={onClose}\n {...closerProps}\n />\n </div>\n );\n\n return (\n <div\n ref={mergeRefs([ref, headerRef])}\n className={cn(styles.header, className, { [styles.backgroundImage]: imageUrl })}\n data-test-id={getDataTestId(dataTestId)}\n style={{\n ...(imageUrl && { backgroundImage: `url(${imageUrl})` }),\n ...(withAnimation &&\n bottomContentRef.current && {\n top: -bottomContentRef.current.scrollHeight,\n }),\n }}\n data-name={dataName}\n >\n <div\n className={cn(styles.mainLine, {\n [styles.mainLineSticky]: withAnimation,\n [styles.mainLineWithImageBg]: imageUrl,\n })}\n style={{\n ...(withAnimation\n ? {\n marginTop: `-${headerPaddingTop}`,\n paddingTop: headerPaddingTop,\n }\n : null),\n }}\n >\n {hasLeftPart && (\n <div className={styles.addonsWrapper} ref={leftAddonsRef}>\n {hasBackButton && renderBackButton()}\n {leftAddons && (\n <div className={cn(styles.addon, addonClassName)}>{leftAddons}</div>\n )}\n </div>\n )}\n\n {showStaticContentOnTop &&\n renderContent({\n ...(align === 'center'\n ? {\n style: {\n marginLeft: titleMargin.left,\n marginRight: titleMargin.right,\n },\n }\n : null),\n })}\n\n {showAnimatedContentOnTop &&\n renderContent({\n extraClassName: styles.withBothAddons,\n style: {\n opacity: Math.min(1, (scrollTop - ADDONS_HEIGHT) / ADDONS_HEIGHT),\n ...(align === 'center'\n ? {\n marginLeft: titleMargin.left,\n marginRight: titleMargin.right,\n }\n : null),\n },\n extraAlign: 'center',\n })}\n\n {hasRightPart && (\n <div\n className={cn(styles.addonsWrapper, styles.rightAddons)}\n ref={rightAddonsRef}\n >\n {rightAddons && (\n <div className={cn(styles.addon, addonClassName)}>\n {rightAddons}\n </div>\n )}\n\n {hasCloser && renderCloser()}\n </div>\n )}\n </div>\n\n {showAnimatedContentOnBot &&\n renderContent({\n wrapperRef: bottomContentRef,\n extraClassName: styles.underAddons,\n style: { opacity: Math.max(0, 1 - scrollTop / ADDONS_HEIGHT) },\n hidden: scrollTop / ADDONS_HEIGHT > 1,\n extraAlign: 'left',\n })}\n\n {showStaticContentOnBot &&\n renderContent({\n extraClassName: cn({\n [styles.contentOnBotDesktop]: view === 'desktop',\n [styles.contentOnBotMobile]: isMobile,\n }),\n extraAlign: 'left',\n })}\n\n {bottomAddons && (\n <div className={cn(styles.bottomAddons, bottomAddonsClassName)}>\n {bottomAddons}\n </div>\n )}\n </div>\n );\n },\n);\n\nNavigationBarPrivate.displayName = 'NavigationBarPrivate';\n"],"names":["forwardRef","useState","useRef","useLayoutEffect_SAFE_FOR_SSR","useEffect","React","cn","styles","BackArrowAddon","__assign","getDataTestId","Closer","mergeRefs"],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["../src/Component.tsx"],"sourcesContent":["/* eslint-disable complexity */\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\nimport { useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';\n\nimport { BackArrowAddon } from './components/back-arrow-addon';\nimport { Closer } from './components/closer';\nimport { type ContentParams, type NavigationBarPrivateProps } from './types';\n\nimport styles from './index.module.css';\n\nconst ADDONS_HEIGHT = 48;\n\nexport const NavigationBarPrivate = forwardRef<HTMLDivElement, NavigationBarPrivateProps>(\n (\n {\n addonClassName,\n className,\n contentClassName,\n closerClassName,\n leftAddons,\n rightAddons,\n bottomAddons,\n bottomAddonsClassName,\n children,\n align = 'left',\n trim = true,\n title,\n titleSize = 'default',\n subtitle,\n subtitleClassName,\n hasCloser,\n closerProps = {},\n hasBackButton,\n backButtonClassName,\n backButtonProps,\n dataTestId,\n imageUrl,\n closerIcon,\n onClose,\n view,\n scrollableParentRef,\n sticky,\n onBack,\n dataName,\n titleClassName,\n titleRef,\n colors = 'default',\n },\n ref,\n ) => {\n const [scrollTop, setScrollTop] = useState(0);\n const [titleMargin, setTitleMargin] = useState({ left: 0, right: 0 });\n const bottomContentRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLDivElement>(null);\n const mainLinePaddingTopRef = useRef<string>('0px');\n const leftAddonsRef = useRef<HTMLDivElement>(null);\n const rightAddonsRef = useRef<HTMLDivElement>(null);\n\n const isMobile = view === 'mobile';\n\n const compactTitle = isMobile && titleSize === 'compact';\n const hasLeftPart = Boolean(leftAddons || hasBackButton);\n const hasRightPart = Boolean(rightAddons || hasCloser);\n const hasContent = Boolean(title || children);\n const withAnimation = Boolean(isMobile && hasLeftPart && sticky && !compactTitle);\n const showContentOnTop = hasContent && (compactTitle || !hasLeftPart);\n const showContentOnBot = hasContent && !compactTitle && hasLeftPart;\n const showStaticContentOnTop = !withAnimation && showContentOnTop;\n const showStaticContentOnBot = !withAnimation && showContentOnBot;\n const showAnimatedContentOnTop =\n withAnimation && showContentOnBot && scrollTop > ADDONS_HEIGHT;\n const showAnimatedContentOnBot = withAnimation && showContentOnBot;\n const headerPaddingTop = mainLinePaddingTopRef.current;\n\n useLayoutEffect_SAFE_FOR_SSR(() => {\n if (align === 'center' && (showStaticContentOnTop || showAnimatedContentOnTop)) {\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 =\n prev.left !== newState.left || prev.right !== newState.right;\n\n return isStateChanged ? newState : prev;\n });\n }\n }, [\n align,\n showStaticContentOnTop,\n showAnimatedContentOnTop,\n leftAddons,\n rightAddons,\n hasBackButton,\n hasCloser,\n ]);\n\n useEffect(() => {\n const parent = scrollableParentRef?.current;\n\n const handleScroll = (ev: Event) => {\n const divElement = ev.target as HTMLDivElement;\n\n setScrollTop(divElement.scrollTop);\n };\n\n if (withAnimation && headerRef.current) {\n mainLinePaddingTopRef.current = getComputedStyle(headerRef.current).paddingTop;\n }\n\n if (withAnimation && parent) {\n parent.addEventListener('scroll', handleScroll);\n }\n\n return () => parent?.removeEventListener('scroll', handleScroll);\n }, [scrollableParentRef, withAnimation]);\n\n const renderBackButton = () => {\n let textOpacity = 1;\n\n if (withAnimation) {\n const height = hasContent ? ADDONS_HEIGHT : ADDONS_HEIGHT / 2;\n\n textOpacity = Math.max(0, 1 - scrollTop / height);\n } else if (compactTitle) {\n textOpacity = 0;\n }\n\n return (\n <div className={cn(styles.addon, backButtonClassName)}>\n <BackArrowAddon\n data-test-id={getDataTestId(dataTestId, 'back-button')}\n {...backButtonProps}\n colors={colors}\n textOpacity={textOpacity}\n view={view}\n onClick={onBack}\n />\n </div>\n );\n };\n\n const renderContent = (args: ContentParams = {}) => {\n const { extraClassName, wrapperRef, style, hidden, extraAlign } = args;\n\n return (\n <div\n style={{ ...style, visibility: hidden ? 'hidden' : 'visible' }}\n ref={wrapperRef}\n className={cn(\n styles.content,\n extraClassName,\n contentClassName,\n styles[extraAlign || align],\n {\n [styles.trim]: trim,\n [styles.withCompactTitle]: isMobile && compactTitle && hasContent,\n },\n )}\n aria-hidden={hidden}\n >\n {children && <div className={styles.children}>{children}</div>}\n {title && (\n <div\n className={cn(styles.title, titleClassName)}\n data-test-id={hidden ? undefined : getDataTestId(dataTestId, 'title')}\n ref={titleRef}\n >\n <div className={styles.titleTextContent}>{title}</div>\n </div>\n )}\n {compactTitle && subtitle && (\n <div\n className={cn(styles.subtitle, subtitleClassName)}\n data-test-id={getDataTestId(dataTestId, 'subtitle')}\n >\n {subtitle}\n </div>\n )}\n </div>\n );\n };\n\n const renderCloser = () => (\n <div className={cn(styles.addon, styles.closer, closerClassName)}>\n <Closer\n view={view}\n icon={closerIcon}\n colors={colors}\n dataTestId={getDataTestId(dataTestId, 'closer')}\n onClose={onClose}\n {...closerProps}\n />\n </div>\n );\n\n return (\n <div\n ref={mergeRefs([ref, headerRef])}\n className={cn(styles.header, className, { [styles.backgroundImage]: imageUrl })}\n data-test-id={getDataTestId(dataTestId)}\n style={{\n ...(imageUrl && { backgroundImage: `url(${imageUrl})` }),\n ...(withAnimation &&\n bottomContentRef.current && {\n top: -bottomContentRef.current.scrollHeight,\n }),\n }}\n data-name={dataName}\n >\n <div\n className={cn(styles.mainLine, {\n [styles.mainLineSticky]: withAnimation,\n [styles.mainLineWithImageBg]: imageUrl,\n })}\n style={{\n ...(withAnimation\n ? {\n marginTop: `-${headerPaddingTop}`,\n paddingTop: headerPaddingTop,\n }\n : null),\n }}\n >\n {hasLeftPart && (\n <div className={styles.addonsWrapper} ref={leftAddonsRef}>\n {hasBackButton && renderBackButton()}\n {leftAddons && (\n <div className={cn(styles.addon, addonClassName)}>{leftAddons}</div>\n )}\n </div>\n )}\n\n {showStaticContentOnTop &&\n renderContent({\n ...(align === 'center'\n ? {\n style: {\n marginLeft: titleMargin.left,\n marginRight: titleMargin.right,\n },\n }\n : null),\n })}\n\n {showAnimatedContentOnTop &&\n renderContent({\n extraClassName: styles.withBothAddons,\n style: {\n opacity: Math.min(1, (scrollTop - ADDONS_HEIGHT) / ADDONS_HEIGHT),\n ...(align === 'center'\n ? {\n marginLeft: titleMargin.left,\n marginRight: titleMargin.right,\n }\n : null),\n },\n extraAlign: 'center',\n })}\n\n {hasRightPart && (\n <div\n className={cn(styles.addonsWrapper, styles.rightAddons)}\n ref={rightAddonsRef}\n >\n {rightAddons && (\n <div className={cn(styles.addon, addonClassName)}>\n {rightAddons}\n </div>\n )}\n\n {hasCloser && renderCloser()}\n </div>\n )}\n </div>\n\n {showAnimatedContentOnBot &&\n renderContent({\n wrapperRef: bottomContentRef,\n extraClassName: styles.underAddons,\n style: { opacity: Math.max(0, 1 - scrollTop / ADDONS_HEIGHT) },\n hidden: scrollTop / ADDONS_HEIGHT > 1,\n extraAlign: 'left',\n })}\n\n {showStaticContentOnBot &&\n renderContent({\n extraClassName: cn({\n [styles.contentOnBotDesktop]: view === 'desktop',\n [styles.contentOnBotMobile]: isMobile,\n }),\n extraAlign: 'left',\n })}\n\n {bottomAddons && (\n <div className={cn(styles.bottomAddons, bottomAddonsClassName)}>\n {bottomAddons}\n </div>\n )}\n </div>\n );\n },\n);\n\nNavigationBarPrivate.displayName = 'NavigationBarPrivate';\n"],"names":["forwardRef","useState","useRef","useLayoutEffect_SAFE_FOR_SSR","useEffect","React","cn","styles","BackArrowAddon","__assign","getDataTestId","Closer","mergeRefs"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAcA,IAAM,aAAa,GAAG,EAAE;IAEX,oBAAoB,GAAGA,gBAAU,CAC1C,UACI,EAiCC,EACD,GAAG,EAAA;;QAjCC,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,eAAe,GAAA,EAAA,CAAA,eAAA,EACf,UAAU,gBAAA,EACV,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,qBAAqB,GAAA,EAAA,CAAA,qBAAA,EACrB,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,EAAA,GAAA,EAAA,CAAA,KAAc,EAAd,KAAK,GAAA,EAAA,KAAA,MAAA,GAAG,MAAM,GAAA,EAAA,EACd,EAAA,GAAA,EAAA,CAAA,IAAW,EAAX,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,IAAI,GAAA,EAAA,EACX,KAAK,WAAA,EACL,EAAA,GAAA,EAAA,CAAA,SAAqB,EAArB,SAAS,GAAG,EAAA,KAAA,MAAA,GAAA,SAAS,GAAA,EAAA,EACrB,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,iBAAiB,GAAA,EAAA,CAAA,iBAAA,EACjB,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,EAAgB,GAAA,EAAA,CAAA,WAAA,EAAhB,WAAW,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EAChB,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,mBAAmB,yBAAA,EACnB,eAAe,GAAA,EAAA,CAAA,eAAA,EACf,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,OAAO,aAAA,EACP,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,mBAAmB,GAAA,EAAA,CAAA,mBAAA,EACnB,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,QAAQ,cAAA,EACR,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,EAAA,GAAA,EAAA,CAAA,MAAkB,EAAlB,MAAM,GAAG,EAAA,KAAA,MAAA,GAAA,SAAS,GAAA,EAAA;IAIhB,IAAA,EAAA,GAA4BC,cAAQ,CAAC,CAAC,CAAC,EAAtC,SAAS,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,YAAY,GAAA,EAAA,CAAA,CAAA,CAAe;AACvC,IAAA,IAAA,KAAgCA,cAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAA9D,WAAW,QAAA,EAAE,cAAc,QAAmC;AACrE,IAAA,IAAM,gBAAgB,GAAGC,YAAM,CAAiB,IAAI,CAAC;AACrD,IAAA,IAAM,SAAS,GAAGA,YAAM,CAAiB,IAAI,CAAC;AAC9C,IAAA,IAAM,qBAAqB,GAAGA,YAAM,CAAS,KAAK,CAAC;AACnD,IAAA,IAAM,aAAa,GAAGA,YAAM,CAAiB,IAAI,CAAC;AAClD,IAAA,IAAM,cAAc,GAAGA,YAAM,CAAiB,IAAI,CAAC;AAEnD,IAAA,IAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ;AAElC,IAAA,IAAM,YAAY,GAAG,QAAQ,IAAI,SAAS,KAAK,SAAS;IACxD,IAAM,WAAW,GAAG,OAAO,CAAC,UAAU,IAAI,aAAa,CAAC;IACxD,IAAM,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC;IACtD,IAAM,UAAU,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;AAC7C,IAAA,IAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,IAAI,WAAW,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC;IACjF,IAAM,gBAAgB,GAAG,UAAU,KAAK,YAAY,IAAI,CAAC,WAAW,CAAC;IACrE,IAAM,gBAAgB,GAAG,UAAU,IAAI,CAAC,YAAY,IAAI,WAAW;AACnE,IAAA,IAAM,sBAAsB,GAAG,CAAC,aAAa,IAAI,gBAAgB;AACjE,IAAA,IAAM,sBAAsB,GAAG,CAAC,aAAa,IAAI,gBAAgB;IACjE,IAAM,wBAAwB,GAC1B,aAAa,IAAI,gBAAgB,IAAI,SAAS,GAAG,aAAa;AAClE,IAAA,IAAM,wBAAwB,GAAG,aAAa,IAAI,gBAAgB;AAClE,IAAA,IAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO;AAEtD,IAAAC,kCAA4B,CAAC,YAAA;;QACzB,IAAI,KAAK,KAAK,QAAQ,KAAK,sBAAsB,IAAI,wBAAwB,CAAC,EAAE;YAC5E,IAAM,eAAe,GAAG,CAAA,CAAA,EAAA,GAAA,aAAa,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,WAAW,KAAI,CAAC;YAC/D,IAAM,gBAAgB,GAAG,CAAA,CAAA,EAAA,GAAA,cAAc,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,WAAW,KAAI,CAAC;YAEjE,IAAM,YAAU,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,eAAe,CAAC;AAC/D,YAAA,IAAM,qBAAmB,GAAG,gBAAgB,GAAG,eAAe,GAAG,CAAC;YAElE,cAAc,CAAC,UAAC,IAAI,EAAA;gBAChB,IAAM,QAAQ,GAAG;sBACX,EAAE,IAAI,EAAE,YAAU,EAAE,KAAK,EAAE,CAAC;sBAC5B,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,YAAU,EAAE;AAEpC,gBAAA,IAAM,cAAc,GAChB,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;gBAEhE,OAAO,cAAc,GAAG,QAAQ,GAAG,IAAI;AAC3C,aAAC,CAAC;;AAEV,KAAC,EAAE;QACC,KAAK;QACL,sBAAsB;QACtB,wBAAwB;QACxB,UAAU;QACV,WAAW;QACX,aAAa;QACb,SAAS;AACZ,KAAA,CAAC;AAEF,IAAAC,eAAS,CAAC,YAAA;QACN,IAAM,MAAM,GAAG,mBAAmB,KAAA,IAAA,IAAnB,mBAAmB,KAAnB,MAAA,GAAA,MAAA,GAAA,mBAAmB,CAAE,OAAO;QAE3C,IAAM,YAAY,GAAG,UAAC,EAAS,EAAA;AAC3B,YAAA,IAAM,UAAU,GAAG,EAAE,CAAC,MAAwB;AAE9C,YAAA,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC;AACtC,SAAC;AAED,QAAA,IAAI,aAAa,IAAI,SAAS,CAAC,OAAO,EAAE;YACpC,qBAAqB,CAAC,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,UAAU;;AAGlF,QAAA,IAAI,aAAa,IAAI,MAAM,EAAE;AACzB,YAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC;;AAGnD,QAAA,OAAO,cAAM,OAAA,MAAM,KAAN,IAAA,IAAA,MAAM,uBAAN,MAAM,CAAE,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA,EAAA;AACpE,KAAC,EAAE,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAExC,IAAA,IAAM,gBAAgB,GAAG,YAAA;QACrB,IAAI,WAAW,GAAG,CAAC;QAEnB,IAAI,aAAa,EAAE;AACf,YAAA,IAAM,MAAM,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,GAAG,CAAC;AAE7D,YAAA,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC;;aAC9C,IAAI,YAAY,EAAE;YACrB,WAAW,GAAG,CAAC;;QAGnB,QACIC,sBAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAAA;AACjD,YAAAF,sBAAA,CAAA,aAAA,CAACG,wBAAc,EAAAC,cAAA,CAAA,EAAA,cAAA,EACGC,kBAAa,CAAC,UAAU,EAAE,aAAa,CAAC,EAClD,EAAA,eAAe,EACnB,EAAA,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACjB,CAAA,CAAA,CACA;AAEd,KAAC;IAED,IAAM,aAAa,GAAG,UAAC,IAAwB,EAAA;;AAAxB,QAAA,IAAA,IAAA,KAAA,MAAA,EAAA,EAAA,IAAwB,GAAA,EAAA,CAAA;QACnC,IAAA,cAAc,GAA4C,IAAI,CAAhD,cAAA,EAAE,UAAU,GAAgC,IAAI,CAApC,UAAA,EAAE,KAAK,GAAyB,IAAI,CAA7B,KAAA,EAAE,MAAM,GAAiB,IAAI,CAAA,MAArB,EAAE,UAAU,GAAK,IAAI,CAAA,UAAT;AAE7D,QAAA,QACIL,sBACI,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAOI,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAA,KAAK,KAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,EAC5D,CAAA,EAAA,GAAG,EAAE,UAAU,EACf,SAAS,EAAEH,mBAAE,CACTC,uBAAM,CAAC,OAAO,EACd,cAAc,EACd,gBAAgB,EAChBA,uBAAM,CAAC,UAAU,IAAI,KAAK,CAAC,GAAA,EAAA,GAAA,EAAA;AAEvB,gBAAA,EAAA,CAACA,uBAAM,CAAC,IAAI,CAAA,GAAG,IAAI;gBACnB,EAAC,CAAAA,uBAAM,CAAC,gBAAgB,CAAA,GAAG,QAAQ,IAAI,YAAY,IAAI,UAAU;AAExE,gBAAA,EAAA,EAAA,EAAA,aAAA,EACY,MAAM,EAAA;YAElB,QAAQ,IAAIF,8CAAK,SAAS,EAAEE,uBAAM,CAAC,QAAQ,EAAG,EAAA,QAAQ,CAAO;AAC7D,YAAA,KAAK,KACFF,sBACI,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,KAAK,EAAE,cAAc,CAAC,EAC7B,cAAA,EAAA,MAAM,GAAG,SAAS,GAAGG,kBAAa,CAAC,UAAU,EAAE,OAAO,CAAC,EACrE,GAAG,EAAE,QAAQ,EAAA;gBAEbL,sBAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEE,uBAAM,CAAC,gBAAgB,EAAG,EAAA,KAAK,CAAO,CACpD,CACT;AACA,YAAA,YAAY,IAAI,QAAQ,KACrBF,sBACI,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAA,cAAA,EACnCG,kBAAa,CAAC,UAAU,EAAE,UAAU,CAAC,EAElD,EAAA,QAAQ,CACP,CACT,CACC;AAEd,KAAC;AAED,IAAA,IAAM,YAAY,GAAG,YAAA,EAAM,QACvBL,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,KAAK,EAAEA,uBAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAA;AAC5D,QAAAF,sBAAA,CAAA,aAAA,CAACM,kBAAM,EAAAF,cAAA,CAAA,EACH,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAEC,kBAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC/C,OAAO,EAAE,OAAO,EAAA,EACZ,WAAW,CACjB,CAAA,CACA,EACT,EAAA;IAED,QACIL,8CACI,GAAG,EAAEO,0BAAS,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,EAChC,SAAS,EAAEN,mBAAE,CAACC,uBAAM,CAAC,MAAM,EAAE,SAAS,GAAA,EAAA,GAAA,EAAA,EAAI,EAAC,CAAAA,uBAAM,CAAC,eAAe,CAAA,GAAG,QAAQ,EAAA,EAAA,EAAG,EACjE,cAAA,EAAAG,kBAAa,CAAC,UAAU,CAAC,EACvC,KAAK,EACED,cAAA,CAAAA,cAAA,CAAA,EAAA,GAAC,QAAQ,IAAI,EAAE,eAAe,EAAE,MAAO,CAAA,MAAA,CAAA,QAAQ,MAAG,EAAE,EACpD,GAAC,aAAa;YACb,gBAAgB,CAAC,OAAO,IAAI;AACxB,YAAA,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY;AAC9C,SAAA,iBAEE,QAAQ,EAAA;AAEnB,QAAAJ,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,QAAQ,GAAA,EAAA,GAAA,EAAA;AACzB,gBAAA,EAAA,CAACA,uBAAM,CAAC,cAAc,CAAA,GAAG,aAAa;AACtC,gBAAA,EAAA,CAACA,uBAAM,CAAC,mBAAmB,CAAA,GAAG,QAAQ;oBACxC,EACF,KAAK,EACEE,cAAA,CAAA,EAAA,GAAC;AACA,kBAAE;oBACI,SAAS,EAAE,GAAI,CAAA,MAAA,CAAA,gBAAgB,CAAE;AACjC,oBAAA,UAAU,EAAE,gBAAgB;AAC/B;kBACD,IAAI,EAAC,EAAA;YAGd,WAAW,KACRJ,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEE,uBAAM,CAAC,aAAa,EAAE,GAAG,EAAE,aAAa,EAAA;gBACnD,aAAa,IAAI,gBAAgB,EAAE;AACnC,gBAAA,UAAU,KACPF,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,KAAK,EAAE,cAAc,CAAC,EAAA,EAAG,UAAU,CAAO,CACvE,CACC,CACT;YAEA,sBAAsB;AACnB,gBAAA,aAAa,CACNE,cAAA,CAAA,EAAA,GAAC,KAAK,KAAK;AACV,sBAAE;AACI,wBAAA,KAAK,EAAE;4BACH,UAAU,EAAE,WAAW,CAAC,IAAI;4BAC5B,WAAW,EAAE,WAAW,CAAC,KAAK;AACjC,yBAAA;AACJ;sBACD,IAAI,EACZ,CAAA;YAEL,wBAAwB;AACrB,gBAAA,aAAa,CAAC;oBACV,cAAc,EAAEF,uBAAM,CAAC,cAAc;oBACrC,KAAK,EAAAE,cAAA,CAAA,EACD,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,aAAa,IAAI,aAAa,CAAC,EAC9D,GAAC,KAAK,KAAK;AACV,0BAAE;4BACI,UAAU,EAAE,WAAW,CAAC,IAAI;4BAC5B,WAAW,EAAE,WAAW,CAAC,KAAK;AACjC;0BACD,IAAI,EACb;AACD,oBAAA,UAAU,EAAE,QAAQ;iBACvB,CAAC;AAEL,YAAA,YAAY,KACTJ,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,aAAa,EAAEA,uBAAM,CAAC,WAAW,CAAC,EACvD,GAAG,EAAE,cAAc,EAAA;AAElB,gBAAA,WAAW,KACRF,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,KAAK,EAAE,cAAc,CAAC,EAC3C,EAAA,WAAW,CACV,CACT;AAEA,gBAAA,SAAS,IAAI,YAAY,EAAE,CAC1B,CACT,CACC;QAEL,wBAAwB;AACrB,YAAA,aAAa,CAAC;AACV,gBAAA,UAAU,EAAE,gBAAgB;gBAC5B,cAAc,EAAEA,uBAAM,CAAC,WAAW;AAClC,gBAAA,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,aAAa,CAAC,EAAE;AAC9D,gBAAA,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,CAAC;AACrC,gBAAA,UAAU,EAAE,MAAM;aACrB,CAAC;QAEL,sBAAsB;AACnB,YAAA,aAAa,CAAC;AACV,gBAAA,cAAc,EAAED,mBAAE,EAAA,EAAA,GAAA,EAAA;AACd,oBAAA,EAAA,CAACC,uBAAM,CAAC,mBAAmB,CAAG,GAAA,IAAI,KAAK,SAAS;AAChD,oBAAA,EAAA,CAACA,uBAAM,CAAC,kBAAkB,CAAA,GAAG,QAAQ;AACvC,oBAAA,EAAA,EAAA;AACF,gBAAA,UAAU,EAAE,MAAM;aACrB,CAAC;AAEL,QAAA,YAAY,KACTF,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC,EACzD,EAAA,YAAY,CACX,CACT,CACC;AAEd,CAAC;AAGL,oBAAoB,CAAC,WAAW,GAAG,sBAAsB;;;;"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare type ColorType = 'default' | 'inverted';
2
+ type ColorType = 'default' | 'inverted';
3
3
  export interface BackArrowAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
4
4
  /**
5
5
  * Текст после иконки
package/cssm/types.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { type CSSProperties, type ElementType, type ReactNode, type RefObject } from 'react';
2
2
  import { type BackArrowAddonProps } from './components/back-arrow-addon';
3
3
  import { type CloserProps } from './components/closer';
4
- export declare type ColorType = 'default' | 'inverted';
5
- export declare type NavigationBarPrivateProps = {
4
+ export type ColorType = 'default' | 'inverted';
5
+ export type NavigationBarPrivateProps = {
6
6
  /**
7
7
  * Контент шапки
8
8
  */
@@ -134,7 +134,7 @@ export declare type NavigationBarPrivateProps = {
134
134
  */
135
135
  colors?: ColorType;
136
136
  };
137
- export declare type ContentParams = {
137
+ export type ContentParams = {
138
138
  extraClassName?: string;
139
139
  wrapperRef?: RefObject<HTMLDivElement>;
140
140
  style?: CSSProperties;