@hh.ru/magritte-ui-breadcrumbs 7.1.17 → 7.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Breadcrumbs.js CHANGED
@@ -10,7 +10,7 @@ import { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';
10
10
  import { Card } from '@hh.ru/magritte-ui-card';
11
11
  import { Drop } from '@hh.ru/magritte-ui-drop';
12
12
  import { Text } from '@hh.ru/magritte-ui-typography';
13
- import { s as styles } from './breadcrumbs-IlOgAAM-.js';
13
+ import { s as styles } from './breadcrumbs-CSgVYoH_.js';
14
14
 
15
15
  const MAX_VISIBLE_ITEMS = 5;
16
16
  const TEXT_TYPOGRAPHY = 'label-3-regular';
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.js","sources":["../src/Breadcrumbs.tsx"],"sourcesContent":["import { cloneElement, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport classnames from 'classnames';\n\nimport { throttle } from '@hh.ru/magritte-common-func-utils';\nimport { useResize } from '@hh.ru/magritte-common-resize';\nimport { BottomSheet } from '@hh.ru/magritte-ui-bottom-sheet';\nimport { BreadcrumbsDivider } from '@hh.ru/magritte-ui-breadcrumbs/BreadcrumbsDivider';\nimport type { BreadcrumbsItem, BreadcrumbsProps } from '@hh.ru/magritte-ui-breadcrumbs/types';\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { Card } from '@hh.ru/magritte-ui-card';\nimport { Drop } from '@hh.ru/magritte-ui-drop';\nimport { Text, TextTypography } from '@hh.ru/magritte-ui-typography';\n\nimport styles from './breadcrumbs.less';\n\nconst MAX_VISIBLE_ITEMS = 5;\nconst TEXT_TYPOGRAPHY = 'label-3-regular';\n\nconst arrayFromRange = (start: number, end: number) => {\n return start <= end ? [...Array(end - start + 1).keys()].map((x) => x + start) : [];\n};\n\nconst makeItemKey = (children: Array<BreadcrumbsItem>, index: number): React.Key => {\n return (\n children[index].key ??\n (typeof children[index].props.children === 'string' ? children[index].props.children : index)\n );\n};\n\n/**\n * В спецификации указано, что breadcrumbs не может отображать более 5-ти элементов.\n *\n * Варианты отображения breadcrumbs:\n * -> link / link / link / link / text\n * или\n * -> link / ellipsis / link / link / text\n *\n * Если лимит будет превышен, компонент схлопнет в ellipsis все элементы, которые окажутся между первым и\n * тремя последними элементами. Таким образом breadcrumbs будет приведен к виду -> link / ellipsis / link / link / text,\n * где ellipsis — это кнопка, раскрывающая дроп-контейнер, в который складываются сколлапсировавшие элементы.\n *\n * Если после лимитирования контейнер-родитель всё равно не будет умещать в себе контент, то видимые элементы\n * один за другим начнут коллапсировать до максимально возможного уровеня сворачивания элементов:\n * -> link / ellipsis / text.\n *\n * Если и после этого контент все равно будет слишком широким, первый элемент начнет уменьшаться с text-overflow:ellipsis.\n *\n * Коллапсирование реализовано стилями, layout effect только вычисляет, какие элементы нужно показывать в дроп-контейнере,\n * и прячет / показывает ellipsis с помощью `visibility:hidden`, не влияя на размеры чего-либо в верстке.\n */\nexport const Breadcrumbs: React.FC<BreadcrumbsProps> = ({ children, 'data-qa': dataQa }) => {\n const activatorRef = useRef<HTMLButtonElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const [firstCollapsedItemIndex, setFirstCollapsedItemIndex] = useState<number | null>(null);\n const [lastCollapsedItemIndex, setLastCollapsedItemIndex] = useState<number | null>(null);\n const showEllipsis = firstCollapsedItemIndex !== null && lastCollapsedItemIndex !== null;\n const [expandCollapsedItems, setExpandCollapsedItems] = useState(false);\n\n const itemRefs = useRef<Record<number, HTMLDivElement>>({});\n const itemRefCallbacks = useMemo<React.RefCallback<HTMLDivElement>[]>(\n () =>\n [...Array(children.length).keys()].map((_, index) => (element: HTMLDivElement) => {\n itemRefs.current[index] = element;\n }),\n [children.length]\n );\n\n const { isMobile } = useBreakpoint();\n\n // eslint-disable-next-line disable-autofix/react-hooks/exhaustive-deps\n const checkIfItemsCollapsed = useCallback(\n throttle(() => {\n const collapsedItemIndexes = (Object.keys(itemRefs.current) as unknown[] as number[]).filter(\n (index) => itemRefs.current[index]?.offsetTop > 0\n );\n\n const _firstCollapsedItemIndex = Math.min(\n ...collapsedItemIndexes,\n children.length > MAX_VISIBLE_ITEMS ? 1 : Infinity\n );\n\n const _lastCollapsedItemIndex = Math.max(\n ...collapsedItemIndexes,\n children.length > MAX_VISIBLE_ITEMS ? children.length - (MAX_VISIBLE_ITEMS - 1) : -Infinity\n );\n\n if (Number.isFinite(_firstCollapsedItemIndex) && Number.isFinite(_lastCollapsedItemIndex)) {\n setFirstCollapsedItemIndex(_firstCollapsedItemIndex);\n setLastCollapsedItemIndex(_lastCollapsedItemIndex);\n } else {\n setFirstCollapsedItemIndex(null);\n setLastCollapsedItemIndex(null);\n setExpandCollapsedItems(false);\n }\n }, 50),\n [children.length]\n );\n\n useLayoutEffect(checkIfItemsCollapsed);\n useResize(checkIfItemsCollapsed);\n\n const renderCollapsedItems = (itemClassName: string, typography: TextTypography) => {\n if (firstCollapsedItemIndex === null || lastCollapsedItemIndex === null) {\n return null;\n }\n\n return arrayFromRange(firstCollapsedItemIndex, Math.min(lastCollapsedItemIndex, children.length - 1)).map(\n (index) => {\n const { onClick, Element = 'a', children: child, ...props } = children[index].props;\n return (\n <div className={itemClassName} key={makeItemKey(children, index)}>\n <Card\n {...props}\n Element={Element}\n borderRadius={12}\n padding={8}\n paddingLeft={12}\n paddingRight={12}\n style=\"primary\"\n hoverStyle=\"secondary\"\n hoverEnabled\n pressEnabled\n stretched\n >\n <div className={styles.interactiveText}>\n <Text Element=\"div\" typography={typography}>\n <div className={styles.textWithEllipsis}>{child}</div>\n </Text>\n </div>\n </Card>\n </div>\n );\n }\n );\n };\n\n const renderLastItem = (visible: boolean) => {\n if (children.length === 0) {\n return null;\n }\n\n const index = children.length - 1;\n const { children: child, href, ...props } = { ...children[index].props };\n return (\n <div\n className={classnames(styles.item, { [styles.itemAfterEllipsis]: index <= 1 })}\n key={makeItemKey(children, index)}\n ref={visible ? itemRefCallbacks[index] : undefined}\n >\n <div className={styles.staticText}>\n <Text {...(visible ? props : {})} Element=\"span\" typography={TEXT_TYPOGRAPHY}>\n {child}\n </Text>\n </div>\n </div>\n );\n };\n\n return (\n <div className={styles.breadcrumbs} data-qa={dataQa} ref={containerRef}>\n <div className={styles.unbreakableContainer}>\n {/*\n Нулевой айтем имеет text-overflow:ellipsis, все остальные скрываются целиком.\n Он начнет уменьшаться, только если все остальные айтемы, кроме последнего, уже были скрыты.\n */}\n {children.length > 1 && (\n <div className={classnames(styles.item, styles.firstItem)} ref={itemRefCallbacks[0]}>\n <div className={styles.firstItemContent}>\n {cloneElement(\n children[0],\n undefined,\n <div className={styles.textWithEllipsis}>{children[0].props.children}</div>\n )}\n </div>\n <BreadcrumbsDivider />\n </div>\n )}\n\n {/*\n Всегда рендерим эллипсис, если он не нужен, прячем его через visibility:hidden.\n Если все айтемы поместились, айтем непосредственно после эллипсиса (его индекс min(length - 1, 1))\n перекроет его за счет отрицательного margin-left.\n */}\n <div\n className={classnames({ [styles.invisibleContainer]: !showEllipsis })}\n data-qa=\"breadcrumbs-action\"\n >\n <button\n type=\"button\"\n className={styles.ellipsis}\n ref={activatorRef}\n onClick={() => setExpandCollapsedItems(!expandCollapsedItems)}\n >\n <div className={styles.interactiveText}>\n <Text Element=\"span\" typography={TEXT_TYPOGRAPHY}>\n ...\n </Text>\n </div>\n </button>\n <BreadcrumbsDivider />\n {showEllipsis &&\n (isMobile ? (\n <BottomSheet visible={expandCollapsedItems} onClose={() => setExpandCollapsedItems(false)}>\n {renderCollapsedItems(styles.bottomSheetItem, 'label-2-regular')}\n </BottomSheet>\n ) : (\n <Drop\n activatorRef={activatorRef}\n placement=\"bottom-left\"\n padding={12}\n visible={expandCollapsedItems}\n onClose={() => setExpandCollapsedItems(false)}\n >\n {renderCollapsedItems(styles.dropItem, TEXT_TYPOGRAPHY)}\n </Drop>\n ))}\n </div>\n\n {/*\n Collapsible контейнер имеет минимальную ширину, равную ширине последнего айтема,\n но стремится заполнить все доступное пространство.\n При нехватке места айтемы, начиная с меньшего индекса, будут\n переноситься на следующую строку флекс-контейнера и обрезаться overflow.\n Последний айтем имеет наибольший приоритет перед всеми остальными и никогда не скрывается.\n */}\n <div className={styles.collapsibleContainer}>\n {/*\n Рендерим копию последнего айтема и прячем ее через visibility:hidden,\n чтобы задать минимальную ширину collapsible контейнера\n */}\n <div className={styles.invisibleContainer}>{renderLastItem(false)}</div>\n\n <div className={styles.collapsibleContent}>\n {renderLastItem(true)}\n\n {arrayFromRange(\n children.length <= MAX_VISIBLE_ITEMS ? 1 : children.length - (MAX_VISIBLE_ITEMS - 2),\n children.length - 2\n )\n .reverse()\n .map((index) => (\n <div\n className={classnames(styles.item, { [styles.itemAfterEllipsis]: index <= 1 })}\n key={makeItemKey(children, index)}\n ref={itemRefCallbacks[index]}\n >\n {children[index]}\n <BreadcrumbsDivider />\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumbs.js","sources":["src/Breadcrumbs.tsx"],"sourcesContent":["import { cloneElement, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport classnames from 'classnames';\n\nimport { throttle } from '@hh.ru/magritte-common-func-utils';\nimport { useResize } from '@hh.ru/magritte-common-resize';\nimport { BottomSheet } from '@hh.ru/magritte-ui-bottom-sheet';\nimport { BreadcrumbsDivider } from '@hh.ru/magritte-ui-breadcrumbs/BreadcrumbsDivider';\nimport type { BreadcrumbsItem, BreadcrumbsProps } from '@hh.ru/magritte-ui-breadcrumbs/types';\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { Card } from '@hh.ru/magritte-ui-card';\nimport { Drop } from '@hh.ru/magritte-ui-drop';\nimport { Text, TextTypography } from '@hh.ru/magritte-ui-typography';\n\nimport styles from './breadcrumbs.less';\n\nconst MAX_VISIBLE_ITEMS = 5;\nconst TEXT_TYPOGRAPHY = 'label-3-regular';\n\nconst arrayFromRange = (start: number, end: number) => {\n return start <= end ? [...Array(end - start + 1).keys()].map((x) => x + start) : [];\n};\n\nconst makeItemKey = (children: Array<BreadcrumbsItem>, index: number): React.Key => {\n return (\n children[index].key ??\n (typeof children[index].props.children === 'string' ? children[index].props.children : index)\n );\n};\n\n/**\n * В спецификации указано, что breadcrumbs не может отображать более 5-ти элементов.\n *\n * Варианты отображения breadcrumbs:\n * -> link / link / link / link / text\n * или\n * -> link / ellipsis / link / link / text\n *\n * Если лимит будет превышен, компонент схлопнет в ellipsis все элементы, которые окажутся между первым и\n * тремя последними элементами. Таким образом breadcrumbs будет приведен к виду -> link / ellipsis / link / link / text,\n * где ellipsis — это кнопка, раскрывающая дроп-контейнер, в который складываются сколлапсировавшие элементы.\n *\n * Если после лимитирования контейнер-родитель всё равно не будет умещать в себе контент, то видимые элементы\n * один за другим начнут коллапсировать до максимально возможного уровеня сворачивания элементов:\n * -> link / ellipsis / text.\n *\n * Если и после этого контент все равно будет слишком широким, первый элемент начнет уменьшаться с text-overflow:ellipsis.\n *\n * Коллапсирование реализовано стилями, layout effect только вычисляет, какие элементы нужно показывать в дроп-контейнере,\n * и прячет / показывает ellipsis с помощью `visibility:hidden`, не влияя на размеры чего-либо в верстке.\n */\nexport const Breadcrumbs: React.FC<BreadcrumbsProps> = ({ children, 'data-qa': dataQa }) => {\n const activatorRef = useRef<HTMLButtonElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const [firstCollapsedItemIndex, setFirstCollapsedItemIndex] = useState<number | null>(null);\n const [lastCollapsedItemIndex, setLastCollapsedItemIndex] = useState<number | null>(null);\n const showEllipsis = firstCollapsedItemIndex !== null && lastCollapsedItemIndex !== null;\n const [expandCollapsedItems, setExpandCollapsedItems] = useState(false);\n\n const itemRefs = useRef<Record<number, HTMLDivElement>>({});\n const itemRefCallbacks = useMemo<React.RefCallback<HTMLDivElement>[]>(\n () =>\n [...Array(children.length).keys()].map((_, index) => (element: HTMLDivElement) => {\n itemRefs.current[index] = element;\n }),\n [children.length]\n );\n\n const { isMobile } = useBreakpoint();\n\n // eslint-disable-next-line disable-autofix/react-hooks/exhaustive-deps\n const checkIfItemsCollapsed = useCallback(\n throttle(() => {\n const collapsedItemIndexes = (Object.keys(itemRefs.current) as unknown[] as number[]).filter(\n (index) => itemRefs.current[index]?.offsetTop > 0\n );\n\n const _firstCollapsedItemIndex = Math.min(\n ...collapsedItemIndexes,\n children.length > MAX_VISIBLE_ITEMS ? 1 : Infinity\n );\n\n const _lastCollapsedItemIndex = Math.max(\n ...collapsedItemIndexes,\n children.length > MAX_VISIBLE_ITEMS ? children.length - (MAX_VISIBLE_ITEMS - 1) : -Infinity\n );\n\n if (Number.isFinite(_firstCollapsedItemIndex) && Number.isFinite(_lastCollapsedItemIndex)) {\n setFirstCollapsedItemIndex(_firstCollapsedItemIndex);\n setLastCollapsedItemIndex(_lastCollapsedItemIndex);\n } else {\n setFirstCollapsedItemIndex(null);\n setLastCollapsedItemIndex(null);\n setExpandCollapsedItems(false);\n }\n }, 50),\n [children.length]\n );\n\n useLayoutEffect(checkIfItemsCollapsed);\n useResize(checkIfItemsCollapsed);\n\n const renderCollapsedItems = (itemClassName: string, typography: TextTypography) => {\n if (firstCollapsedItemIndex === null || lastCollapsedItemIndex === null) {\n return null;\n }\n\n return arrayFromRange(firstCollapsedItemIndex, Math.min(lastCollapsedItemIndex, children.length - 1)).map(\n (index) => {\n const { onClick, Element = 'a', children: child, ...props } = children[index].props;\n return (\n <div className={itemClassName} key={makeItemKey(children, index)}>\n <Card\n {...props}\n Element={Element}\n borderRadius={12}\n padding={8}\n paddingLeft={12}\n paddingRight={12}\n style=\"primary\"\n hoverStyle=\"secondary\"\n hoverEnabled\n pressEnabled\n stretched\n >\n <div className={styles.interactiveText}>\n <Text Element=\"div\" typography={typography}>\n <div className={styles.textWithEllipsis}>{child}</div>\n </Text>\n </div>\n </Card>\n </div>\n );\n }\n );\n };\n\n const renderLastItem = (visible: boolean) => {\n if (children.length === 0) {\n return null;\n }\n\n const index = children.length - 1;\n const { children: child, href, ...props } = { ...children[index].props };\n return (\n <div\n className={classnames(styles.item, { [styles.itemAfterEllipsis]: index <= 1 })}\n key={makeItemKey(children, index)}\n ref={visible ? itemRefCallbacks[index] : undefined}\n >\n <div className={styles.staticText}>\n <Text {...(visible ? props : {})} Element=\"span\" typography={TEXT_TYPOGRAPHY}>\n {child}\n </Text>\n </div>\n </div>\n );\n };\n\n return (\n <div className={styles.breadcrumbs} data-qa={dataQa} ref={containerRef}>\n <div className={styles.unbreakableContainer}>\n {/*\n Нулевой айтем имеет text-overflow:ellipsis, все остальные скрываются целиком.\n Он начнет уменьшаться, только если все остальные айтемы, кроме последнего, уже были скрыты.\n */}\n {children.length > 1 && (\n <div className={classnames(styles.item, styles.firstItem)} ref={itemRefCallbacks[0]}>\n <div className={styles.firstItemContent}>\n {cloneElement(\n children[0],\n undefined,\n <div className={styles.textWithEllipsis}>{children[0].props.children}</div>\n )}\n </div>\n <BreadcrumbsDivider />\n </div>\n )}\n\n {/*\n Всегда рендерим эллипсис, если он не нужен, прячем его через visibility:hidden.\n Если все айтемы поместились, айтем непосредственно после эллипсиса (его индекс min(length - 1, 1))\n перекроет его за счет отрицательного margin-left.\n */}\n <div\n className={classnames({ [styles.invisibleContainer]: !showEllipsis })}\n data-qa=\"breadcrumbs-action\"\n >\n <button\n type=\"button\"\n className={styles.ellipsis}\n ref={activatorRef}\n onClick={() => setExpandCollapsedItems(!expandCollapsedItems)}\n >\n <div className={styles.interactiveText}>\n <Text Element=\"span\" typography={TEXT_TYPOGRAPHY}>\n ...\n </Text>\n </div>\n </button>\n <BreadcrumbsDivider />\n {showEllipsis &&\n (isMobile ? (\n <BottomSheet visible={expandCollapsedItems} onClose={() => setExpandCollapsedItems(false)}>\n {renderCollapsedItems(styles.bottomSheetItem, 'label-2-regular')}\n </BottomSheet>\n ) : (\n <Drop\n activatorRef={activatorRef}\n placement=\"bottom-left\"\n padding={12}\n visible={expandCollapsedItems}\n onClose={() => setExpandCollapsedItems(false)}\n >\n {renderCollapsedItems(styles.dropItem, TEXT_TYPOGRAPHY)}\n </Drop>\n ))}\n </div>\n\n {/*\n Collapsible контейнер имеет минимальную ширину, равную ширине последнего айтема,\n но стремится заполнить все доступное пространство.\n При нехватке места айтемы, начиная с меньшего индекса, будут\n переноситься на следующую строку флекс-контейнера и обрезаться overflow.\n Последний айтем имеет наибольший приоритет перед всеми остальными и никогда не скрывается.\n */}\n <div className={styles.collapsibleContainer}>\n {/*\n Рендерим копию последнего айтема и прячем ее через visibility:hidden,\n чтобы задать минимальную ширину collapsible контейнера\n */}\n <div className={styles.invisibleContainer}>{renderLastItem(false)}</div>\n\n <div className={styles.collapsibleContent}>\n {renderLastItem(true)}\n\n {arrayFromRange(\n children.length <= MAX_VISIBLE_ITEMS ? 1 : children.length - (MAX_VISIBLE_ITEMS - 2),\n children.length - 2\n )\n .reverse()\n .map((index) => (\n <div\n className={classnames(styles.item, { [styles.itemAfterEllipsis]: index <= 1 })}\n key={makeItemKey(children, index)}\n ref={itemRefCallbacks[index]}\n >\n {children[index]}\n <BreadcrumbsDivider />\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import './index.css';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { Text } from '@hh.ru/magritte-ui-typography';
4
- import { s as styles } from './breadcrumbs-IlOgAAM-.js';
4
+ import { s as styles } from './breadcrumbs-CSgVYoH_.js';
5
5
 
6
6
  const BreadcrumbsDivider = () => {
7
7
  return (jsx("span", { className: styles.divider, children: jsx(Text, { Element: "span", typography: "label-3-regular", children: "/" }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbsDivider.js","sources":["../src/BreadcrumbsDivider.tsx"],"sourcesContent":["import { FC } from 'react';\n\nimport { Text } from '@hh.ru/magritte-ui-typography';\n\nimport styles from './breadcrumbs.less';\n\nexport const BreadcrumbsDivider: FC = () => {\n return (\n <span className={styles.divider}>\n <Text Element=\"span\" typography=\"label-3-regular\">\n /\n </Text>\n </span>\n );\n};\n"],"names":["_jsx"],"mappings":";;;;AAMO,MAAM,kBAAkB,GAAO,MAAK;IACvC,QACIA,cAAM,SAAS,EAAE,MAAM,CAAC,OAAO,YAC3BA,GAAC,CAAA,IAAI,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,iBAAiB,EAAA,QAAA,EAAA,GAAA,EAAA,CAE1C,EACJ,CAAA,EACT;AACN;;;;"}
1
+ {"version":3,"file":"BreadcrumbsDivider.js","sources":["src/BreadcrumbsDivider.tsx"],"sourcesContent":["import { FC } from 'react';\n\nimport { Text } from '@hh.ru/magritte-ui-typography';\n\nimport styles from './breadcrumbs.less';\n\nexport const BreadcrumbsDivider: FC = () => {\n return (\n <span className={styles.divider}>\n <Text Element=\"span\" typography=\"label-3-regular\">\n /\n </Text>\n </span>\n );\n};\n"],"names":["_jsx"],"mappings":";;;;AAMO,MAAM,kBAAkB,GAAO,MAAK;IACvC,QACIA,cAAM,SAAS,EAAE,MAAM,CAAC,OAAO,YAC3BA,GAAC,CAAA,IAAI,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,iBAAiB,EAAA,QAAA,EAAA,GAAA,EAAA,CAE1C,EACJ,CAAA,EACT;AACN;;;;"}
@@ -2,7 +2,7 @@ import './index.css';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { Link } from '@hh.ru/magritte-ui-link';
4
4
  import { Text } from '@hh.ru/magritte-ui-typography';
5
- import { s as styles } from './breadcrumbs-IlOgAAM-.js';
5
+ import { s as styles } from './breadcrumbs-CSgVYoH_.js';
6
6
 
7
7
  const BreadcrumbsItem = ({ Element = 'a', children, ...rest }) => {
8
8
  return (jsx(Link, { Element: Element, ...rest, typography: "label-3-regular", inline: true, children: jsx("div", { className: styles.interactiveText, children: jsx(Text, { Element: "span", typography: "label-3-regular", children: children }) }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbsItem.js","sources":["../src/BreadcrumbsItem.tsx"],"sourcesContent":["import type { PolymorphicComponent } from '@hh.ru/magritte-types';\nimport type { BreadcrumbsItemProps } from '@hh.ru/magritte-ui-breadcrumbs/types';\nimport { Link } from '@hh.ru/magritte-ui-link';\nimport { Text } from '@hh.ru/magritte-ui-typography';\n\nimport styles from './breadcrumbs.less';\n\nexport const BreadcrumbsItem: PolymorphicComponent<BreadcrumbsItemProps, 'a'> = ({\n Element = 'a',\n children,\n ...rest\n}) => {\n return (\n <Link Element={Element} {...rest} typography=\"label-3-regular\" inline>\n <div className={styles.interactiveText}>\n <Text Element=\"span\" typography=\"label-3-regular\">\n {children}\n </Text>\n </div>\n </Link>\n );\n};\n"],"names":["_jsx"],"mappings":";;;;;AAOa,MAAA,eAAe,GAAoD,CAAC,EAC7E,OAAO,GAAG,GAAG,EACb,QAAQ,EACR,GAAG,IAAI,EACV,KAAI;AACD,IAAA,QACIA,GAAC,CAAA,IAAI,EAAC,EAAA,OAAO,EAAE,OAAO,EAAA,GAAM,IAAI,EAAE,UAAU,EAAC,iBAAiB,EAAC,MAAM,EAAA,IAAA,EAAA,QAAA,EACjEA,aAAK,SAAS,EAAE,MAAM,CAAC,eAAe,EAClC,QAAA,EAAAA,GAAA,CAAC,IAAI,EAAC,EAAA,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,iBAAiB,EAC5C,QAAA,EAAA,QAAQ,GACN,EACL,CAAA,EAAA,CACH,EACT;AACN;;;;"}
1
+ {"version":3,"file":"BreadcrumbsItem.js","sources":["src/BreadcrumbsItem.tsx"],"sourcesContent":["import type { PolymorphicComponent } from '@hh.ru/magritte-types';\nimport type { BreadcrumbsItemProps } from '@hh.ru/magritte-ui-breadcrumbs/types';\nimport { Link } from '@hh.ru/magritte-ui-link';\nimport { Text } from '@hh.ru/magritte-ui-typography';\n\nimport styles from './breadcrumbs.less';\n\nexport const BreadcrumbsItem: PolymorphicComponent<BreadcrumbsItemProps, 'a'> = ({\n Element = 'a',\n children,\n ...rest\n}) => {\n return (\n <Link Element={Element} {...rest} typography=\"label-3-regular\" inline>\n <div className={styles.interactiveText}>\n <Text Element=\"span\" typography=\"label-3-regular\">\n {children}\n </Text>\n </div>\n </Link>\n );\n};\n"],"names":["_jsx"],"mappings":";;;;;AAOa,MAAA,eAAe,GAAoD,CAAC,EAC7E,OAAO,GAAG,GAAG,EACb,QAAQ,EACR,GAAG,IAAI,EACV,KAAI;AACD,IAAA,QACIA,GAAC,CAAA,IAAI,EAAC,EAAA,OAAO,EAAE,OAAO,EAAA,GAAM,IAAI,EAAE,UAAU,EAAC,iBAAiB,EAAC,MAAM,EAAA,IAAA,EAAA,QAAA,EACjEA,aAAK,SAAS,EAAE,MAAM,CAAC,eAAe,EAClC,QAAA,EAAAA,GAAA,CAAC,IAAI,EAAC,EAAA,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,iBAAiB,EAC5C,QAAA,EAAA,QAAQ,GACN,EACL,CAAA,EAAA,CACH,EACT;AACN;;;;"}
@@ -0,0 +1,5 @@
1
+ import './index.css';
2
+ var styles = {"breadcrumbs":"magritte-breadcrumbs___Go2gs_7-1-19","unbreakable-container":"magritte-unbreakable-container___VcQQ2_7-1-19","unbreakableContainer":"magritte-unbreakable-container___VcQQ2_7-1-19","invisible-container":"magritte-invisible-container___V0W27_7-1-19","invisibleContainer":"magritte-invisible-container___V0W27_7-1-19","collapsible-container":"magritte-collapsible-container___85hMp_7-1-19","collapsibleContainer":"magritte-collapsible-container___85hMp_7-1-19","collapsible-content":"magritte-collapsible-content___OoBp3_7-1-19","collapsibleContent":"magritte-collapsible-content___OoBp3_7-1-19","ellipsis":"magritte-ellipsis___-3wI7_7-1-19","item":"magritte-item___oaSMH_7-1-19","first-item":"magritte-first-item___N6MFS_7-1-19","firstItem":"magritte-first-item___N6MFS_7-1-19","first-item-content":"magritte-first-item-content___G98CF_7-1-19","firstItemContent":"magritte-first-item-content___G98CF_7-1-19","item-after-ellipsis":"magritte-item-after-ellipsis___oPDLO_7-1-19","itemAfterEllipsis":"magritte-item-after-ellipsis___oPDLO_7-1-19","divider":"magritte-divider___J8lfR_7-1-19","interactive-text":"magritte-interactive-text___fBwYg_7-1-19","interactiveText":"magritte-interactive-text___fBwYg_7-1-19","static-text":"magritte-static-text___pslMP_7-1-19","staticText":"magritte-static-text___pslMP_7-1-19","text-with-ellipsis":"magritte-text-with-ellipsis___bEJaf_7-1-19","textWithEllipsis":"magritte-text-with-ellipsis___bEJaf_7-1-19","bottom-sheet-item":"magritte-bottom-sheet-item___lc1TO_7-1-19","bottomSheetItem":"magritte-bottom-sheet-item___lc1TO_7-1-19","drop-item":"magritte-drop-item___62c-z_7-1-19","dropItem":"magritte-drop-item___62c-z_7-1-19"};
3
+
4
+ export { styles as s };
5
+ //# sourceMappingURL=breadcrumbs-CSgVYoH_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumbs-CSgVYoH_.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
package/index.css CHANGED
@@ -1,102 +1,102 @@
1
1
  :root{
2
- --magritte-color-component-breadcrumbs-text-primary-v24-4-0:#20262b;
3
- --magritte-color-component-breadcrumbs-text-secondary-v24-4-0:#8293a2;
4
- --magritte-color-component-breadcrumbs-text-tertiary-v24-4-0:#DCE3EB;
5
- --magritte-color-component-breadcrumbs-text-state-secondary-hovered-v24-4-0:#6a7885;
6
- --magritte-color-component-breadcrumbs-text-state-secondary-pressed-v24-4-0:#8293a2;
2
+ --magritte-color-component-breadcrumbs-text-primary-v24-4-1:#20262b;
3
+ --magritte-color-component-breadcrumbs-text-secondary-v24-4-1:#8293a2;
4
+ --magritte-color-component-breadcrumbs-text-tertiary-v24-4-1:#DCE3EB;
5
+ --magritte-color-component-breadcrumbs-text-state-secondary-hovered-v24-4-1:#6a7885;
6
+ --magritte-color-component-breadcrumbs-text-state-secondary-pressed-v24-4-1:#8293a2;
7
7
  }
8
8
 
9
9
  .magritte-night-theme{
10
- --magritte-color-component-breadcrumbs-text-primary-v24-4-0:#D4D4D4;
11
- --magritte-color-component-breadcrumbs-text-secondary-v24-4-0:#5E5E5E;
12
- --magritte-color-component-breadcrumbs-text-tertiary-v24-4-0:#3B3B3B;
13
- --magritte-color-component-breadcrumbs-text-state-secondary-hovered-v24-4-0:#767676;
14
- --magritte-color-component-breadcrumbs-text-state-secondary-pressed-v24-4-0:#5E5E5E;
10
+ --magritte-color-component-breadcrumbs-text-primary-v24-4-1:#D4D4D4;
11
+ --magritte-color-component-breadcrumbs-text-secondary-v24-4-1:#5E5E5E;
12
+ --magritte-color-component-breadcrumbs-text-tertiary-v24-4-1:#3B3B3B;
13
+ --magritte-color-component-breadcrumbs-text-state-secondary-hovered-v24-4-1:#767676;
14
+ --magritte-color-component-breadcrumbs-text-state-secondary-pressed-v24-4-1:#5E5E5E;
15
15
  }
16
- .magritte-breadcrumbs___Go2gs_7-1-17{
16
+ .magritte-breadcrumbs___Go2gs_7-1-19{
17
17
  padding:12px 0;
18
18
  }
19
- .magritte-unbreakable-container___VcQQ2_7-1-17{
20
- --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-tertiary-v24-4-0);
19
+ .magritte-unbreakable-container___VcQQ2_7-1-19{
20
+ --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-tertiary-v24-4-1);
21
21
  display:flex;
22
22
  position:relative;
23
23
  white-space:nowrap;
24
24
  max-height:20px;
25
25
  overflow:clip;
26
26
  }
27
- .magritte-invisible-container___V0W27_7-1-17{
27
+ .magritte-invisible-container___V0W27_7-1-19{
28
28
  visibility:hidden;
29
29
  }
30
- .magritte-collapsible-container___85hMp_7-1-17{
30
+ .magritte-collapsible-container___85hMp_7-1-19{
31
31
  flex:1 0 auto;
32
32
  position:relative;
33
33
  }
34
- .magritte-collapsible-content___OoBp3_7-1-17{
34
+ .magritte-collapsible-content___OoBp3_7-1-19{
35
35
  position:absolute;
36
36
  inset:0;
37
37
  display:flex;
38
38
  flex-flow:row-reverse wrap;
39
39
  place-content:flex-start flex-end;
40
40
  }
41
- .magritte-ellipsis___-3wI7_7-1-17{
41
+ .magritte-ellipsis___-3wI7_7-1-19{
42
42
  height:20px;
43
43
  width:20px;
44
44
  }
45
- .magritte-item___oaSMH_7-1-17{
45
+ .magritte-item___oaSMH_7-1-19{
46
46
  display:flex;
47
47
  }
48
- .magritte-first-item___N6MFS_7-1-17{
48
+ .magritte-first-item___N6MFS_7-1-19{
49
49
  min-width:calc(20px + 6px * 2 + 5px);
50
50
  overflow:clip;
51
51
  }
52
- .magritte-first-item-content___G98CF_7-1-17{
52
+ .magritte-first-item-content___G98CF_7-1-19{
53
53
  min-width:0;
54
54
  }
55
- .magritte-item-after-ellipsis___oPDLO_7-1-17{
55
+ .magritte-item-after-ellipsis___oPDLO_7-1-19{
56
56
  margin-left:calc(0px - 20px - 6px * 2 - 5px);
57
57
  }
58
- .magritte-divider___J8lfR_7-1-17{
59
- --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-tertiary-v24-4-0);
58
+ .magritte-divider___J8lfR_7-1-19{
59
+ --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-tertiary-v24-4-1);
60
60
  position:relative;
61
61
  bottom:1px;
62
62
  padding:0 6px;
63
63
  width:5px;
64
64
  text-align:center;
65
65
  }
66
- .magritte-interactive-text___fBwYg_7-1-17{
67
- --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-secondary-v24-4-0);
66
+ .magritte-interactive-text___fBwYg_7-1-19{
67
+ --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-secondary-v24-4-1);
68
68
  }
69
69
  @media (min-width: 1020px){
70
- body.magritte-old-layout .magritte-interactive-text___fBwYg_7-1-17:hover{
71
- --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-state-secondary-hovered-v24-4-0);
70
+ body.magritte-old-layout .magritte-interactive-text___fBwYg_7-1-19:hover{
71
+ --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-state-secondary-hovered-v24-4-1);
72
72
  }
73
73
  }
74
74
  @media (min-width: 1024px){
75
- body:not(.magritte-old-layout) .magritte-interactive-text___fBwYg_7-1-17:hover{
76
- --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-state-secondary-hovered-v24-4-0);
75
+ body:not(.magritte-old-layout) .magritte-interactive-text___fBwYg_7-1-19:hover{
76
+ --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-state-secondary-hovered-v24-4-1);
77
77
  }
78
78
  }
79
- .magritte-interactive-text___fBwYg_7-1-17:active{
80
- --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-state-secondary-pressed-v24-4-0);
79
+ .magritte-interactive-text___fBwYg_7-1-19:active{
80
+ --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-state-secondary-pressed-v24-4-1);
81
81
  }
82
- .magritte-static-text___pslMP_7-1-17{
83
- --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-primary-v24-4-0);
82
+ .magritte-static-text___pslMP_7-1-19{
83
+ --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-primary-v24-4-1);
84
84
  }
85
- .magritte-text-with-ellipsis___bEJaf_7-1-17{
85
+ .magritte-text-with-ellipsis___bEJaf_7-1-19{
86
86
  overflow:hidden;
87
87
  text-overflow:ellipsis;
88
88
  }
89
- .magritte-bottom-sheet-item___lc1TO_7-1-17{
90
- --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-primary-v24-4-0);
89
+ .magritte-bottom-sheet-item___lc1TO_7-1-19{
90
+ --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-primary-v24-4-1);
91
91
  overflow:hidden;
92
92
  text-overflow:ellipsis;
93
93
  white-space:nowrap;
94
94
  line-height:22px;
95
95
  margin-bottom:8px;
96
96
  }
97
- .magritte-drop-item___62c-z_7-1-17{
98
- --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-primary-v24-4-0);
97
+ .magritte-drop-item___62c-z_7-1-19{
98
+ --magritte-ui-text-color-override:var(--magritte-color-component-breadcrumbs-text-primary-v24-4-1);
99
99
  }
100
- .magritte-drop-item___62c-z_7-1-17:not(:last-child){
100
+ .magritte-drop-item___62c-z_7-1-19:not(:last-child){
101
101
  margin-bottom:4px;
102
102
  }
package/index.js CHANGED
@@ -9,7 +9,7 @@ import '@hh.ru/magritte-common-resize';
9
9
  import '@hh.ru/magritte-ui-bottom-sheet';
10
10
  import './BreadcrumbsDivider.js';
11
11
  import '@hh.ru/magritte-ui-typography';
12
- import './breadcrumbs-IlOgAAM-.js';
12
+ import './breadcrumbs-CSgVYoH_.js';
13
13
  import '@hh.ru/magritte-ui-breakpoint';
14
14
  import '@hh.ru/magritte-ui-card';
15
15
  import '@hh.ru/magritte-ui-drop';
package/index.mock.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mock.js","sources":["../src/index.mock.ts"],"sourcesContent":["import { ForwardRefExoticComponent } from 'react';\n\nimport { mockComponent } from '@hh.ru/magritte-ui-mock-component';\n\nexport * from '@hh.ru/magritte-ui-breadcrumbs/types';\n\nexport const Breadcrumbs: ForwardRefExoticComponent<Record<string, unknown>> = mockComponent('Breadcrumbs');\n"],"names":[],"mappings":";;MAMa,WAAW,GAAuD,aAAa,CAAC,aAAa;;;;"}
1
+ {"version":3,"file":"index.mock.js","sources":["src/index.mock.ts"],"sourcesContent":["import { ForwardRefExoticComponent } from 'react';\n\nimport { mockComponent } from '@hh.ru/magritte-ui-mock-component';\n\nexport * from '@hh.ru/magritte-ui-breadcrumbs/types';\n\nexport const Breadcrumbs: ForwardRefExoticComponent<Record<string, unknown>> = mockComponent('Breadcrumbs');\n"],"names":[],"mappings":";;MAMa,WAAW,GAAuD,aAAa,CAAC,aAAa;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hh.ru/magritte-ui-breadcrumbs",
3
- "version": "7.1.17",
3
+ "version": "7.1.19",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -19,17 +19,17 @@
19
19
  "watch": "yarn root:watch $(pwd)"
20
20
  },
21
21
  "dependencies": {
22
- "@hh.ru/magritte-common-func-utils": "1.3.14",
23
- "@hh.ru/magritte-common-resize": "0.2.1",
24
- "@hh.ru/magritte-design-tokens": "24.4.0",
25
- "@hh.ru/magritte-types": "5.0.5",
26
- "@hh.ru/magritte-ui-bottom-sheet": "9.2.12",
27
- "@hh.ru/magritte-ui-breakpoint": "6.0.6",
28
- "@hh.ru/magritte-ui-card": "8.3.8",
29
- "@hh.ru/magritte-ui-drop": "12.2.3",
30
- "@hh.ru/magritte-ui-link": "7.1.6",
31
- "@hh.ru/magritte-ui-mock-component": "1.1.6",
32
- "@hh.ru/magritte-ui-typography": "4.5.1"
22
+ "@hh.ru/magritte-common-func-utils": "1.3.15",
23
+ "@hh.ru/magritte-common-resize": "0.2.2",
24
+ "@hh.ru/magritte-design-tokens": "24.4.1",
25
+ "@hh.ru/magritte-types": "5.0.6",
26
+ "@hh.ru/magritte-ui-bottom-sheet": "9.2.14",
27
+ "@hh.ru/magritte-ui-breakpoint": "6.0.8",
28
+ "@hh.ru/magritte-ui-card": "8.3.10",
29
+ "@hh.ru/magritte-ui-drop": "12.2.5",
30
+ "@hh.ru/magritte-ui-link": "7.1.8",
31
+ "@hh.ru/magritte-ui-mock-component": "1.1.7",
32
+ "@hh.ru/magritte-ui-typography": "4.5.2"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "classnames": ">=2.3.2",
@@ -38,5 +38,5 @@
38
38
  "publishConfig": {
39
39
  "access": "public"
40
40
  },
41
- "gitHead": "7cea3ac4f7f947bba409d2fbc29284343113c4ba"
41
+ "gitHead": "9a088ded46caac9429f3e9fadaf055300b36990e"
42
42
  }
@@ -1,5 +0,0 @@
1
- import './index.css';
2
- var styles = {"breadcrumbs":"magritte-breadcrumbs___Go2gs_7-1-17","unbreakable-container":"magritte-unbreakable-container___VcQQ2_7-1-17","unbreakableContainer":"magritte-unbreakable-container___VcQQ2_7-1-17","invisible-container":"magritte-invisible-container___V0W27_7-1-17","invisibleContainer":"magritte-invisible-container___V0W27_7-1-17","collapsible-container":"magritte-collapsible-container___85hMp_7-1-17","collapsibleContainer":"magritte-collapsible-container___85hMp_7-1-17","collapsible-content":"magritte-collapsible-content___OoBp3_7-1-17","collapsibleContent":"magritte-collapsible-content___OoBp3_7-1-17","ellipsis":"magritte-ellipsis___-3wI7_7-1-17","item":"magritte-item___oaSMH_7-1-17","first-item":"magritte-first-item___N6MFS_7-1-17","firstItem":"magritte-first-item___N6MFS_7-1-17","first-item-content":"magritte-first-item-content___G98CF_7-1-17","firstItemContent":"magritte-first-item-content___G98CF_7-1-17","item-after-ellipsis":"magritte-item-after-ellipsis___oPDLO_7-1-17","itemAfterEllipsis":"magritte-item-after-ellipsis___oPDLO_7-1-17","divider":"magritte-divider___J8lfR_7-1-17","interactive-text":"magritte-interactive-text___fBwYg_7-1-17","interactiveText":"magritte-interactive-text___fBwYg_7-1-17","static-text":"magritte-static-text___pslMP_7-1-17","staticText":"magritte-static-text___pslMP_7-1-17","text-with-ellipsis":"magritte-text-with-ellipsis___bEJaf_7-1-17","textWithEllipsis":"magritte-text-with-ellipsis___bEJaf_7-1-17","bottom-sheet-item":"magritte-bottom-sheet-item___lc1TO_7-1-17","bottomSheetItem":"magritte-bottom-sheet-item___lc1TO_7-1-17","drop-item":"magritte-drop-item___62c-z_7-1-17","dropItem":"magritte-drop-item___62c-z_7-1-17"};
3
-
4
- export { styles as s };
5
- //# sourceMappingURL=breadcrumbs-IlOgAAM-.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"breadcrumbs-IlOgAAM-.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}