@salutejs/plasma-new-hope 0.173.0-dev.0 → 0.173.1-canary.1502.11462220468.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. package/cjs/components/Tabs/createTabsController.js.map +1 -1
  2. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +8 -3
  3. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
  4. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.css +1 -1
  5. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +15 -5
  6. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  7. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  8. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js.map +1 -1
  9. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/{base_9miwn.css → base_4ob3q5.css} +1 -1
  10. package/cjs/components/Tabs/ui/horizontal/const.js +11 -0
  11. package/cjs/components/Tabs/ui/horizontal/const.js.map +1 -0
  12. package/cjs/index.css +1 -1
  13. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +13 -3
  14. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +20 -5
  15. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  16. package/emotion/cjs/components/Tabs/ui/horizontal/const.js +10 -0
  17. package/emotion/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +72 -33
  18. package/emotion/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  19. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +14 -3
  20. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +21 -5
  21. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  22. package/emotion/es/components/Tabs/ui/horizontal/const.js +4 -0
  23. package/emotion/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +72 -33
  24. package/emotion/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  25. package/es/components/Tabs/createTabsController.js.map +1 -1
  26. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +9 -4
  27. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
  28. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.css +1 -1
  29. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +16 -6
  30. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  31. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  32. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js.map +1 -1
  33. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/{base_9miwn.css → base_4ob3q5.css} +1 -1
  34. package/es/components/Tabs/ui/horizontal/const.js +7 -0
  35. package/es/components/Tabs/ui/horizontal/const.js.map +1 -0
  36. package/es/index.css +1 -1
  37. package/package.json +2 -2
  38. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +13 -3
  39. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +20 -5
  40. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  41. package/styled-components/cjs/components/Tabs/ui/horizontal/const.js +10 -0
  42. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +72 -33
  43. package/styled-components/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  44. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +14 -3
  45. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +21 -5
  46. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  47. package/styled-components/es/components/Tabs/ui/horizontal/const.js +4 -0
  48. package/styled-components/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +72 -33
  49. package/styled-components/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  50. package/types/components/Tabs/TabItem.types.d.ts +50 -8
  51. package/types/components/Tabs/TabItem.types.d.ts.map +1 -1
  52. package/types/components/Tabs/Tabs.types.d.ts +44 -2
  53. package/types/components/Tabs/Tabs.types.d.ts.map +1 -1
  54. package/types/components/Tabs/createTabsController.d.ts +2 -2
  55. package/types/components/Tabs/createTabsController.d.ts.map +1 -1
  56. package/types/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.d.ts.map +1 -1
  57. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts +2 -2
  58. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts.map +1 -1
  59. package/types/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.d.ts.map +1 -1
  60. package/types/components/Tabs/ui/horizontal/const.d.ts +2 -0
  61. package/types/components/Tabs/ui/horizontal/const.d.ts.map +1 -0
  62. package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts +17 -2
  63. package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts.map +1 -1
  64. package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts +1 -1
  65. package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts.map +1 -1
  66. package/types/examples/plasma_web/components/Tabs/TabItem.d.ts +17 -2
  67. package/types/examples/plasma_web/components/Tabs/TabItem.d.ts.map +1 -1
  68. package/types/examples/plasma_web/components/Tabs/Tabs.d.ts +1 -1
  69. package/types/examples/plasma_web/components/Tabs/Tabs.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"createTabsController.js","sources":["../../../src/components/Tabs/createTabsController.tsx"],"sourcesContent":["import React, { forwardRef, ForwardRefExoticComponent, RefAttributes } from 'react';\n\nimport { HorizontalTabItemProps } from './TabItem.types';\nimport { HorizontalTabsProps } from './Tabs.types';\n\nexport interface TabsControllerProps extends HorizontalTabsProps {\n items: Array<{ label: string } & HorizontalTabItemProps>;\n index: number;\n onIndexChange: (index: number) => void;\n children?: never;\n autoscroll?: boolean;\n}\n\n/**\n * @deprecated\n * Используйте Tabs, TabItem, указав параметры index, itemIndex, onIndexChange\n *\n * Функция для создания `TabController`, которая дает возможность\n * кастомизировать стили, при этом сохраняя единый интерфейс и функционал.\n */\nexport function createTabsController<T extends HTMLDivElement, P extends TabsControllerProps>(\n ListComponent: ForwardRefExoticComponent<HorizontalTabsProps & RefAttributes<HTMLDivElement>>,\n ItemComponent: ForwardRefExoticComponent<HorizontalTabItemProps & RefAttributes<HTMLDivElement>>,\n) {\n // eslint-disable-next-line prefer-arrow-callback\n return forwardRef<T, P>(function TabsController({ items, index, autoscroll, onIndexChange, ...rest }, ref) {\n const { disabled } = rest;\n\n return (\n <ListComponent ref={ref} index={index} {...rest}>\n {items.map(({ label, ...restItem }, i) => (\n <ItemComponent\n key={i}\n selected={i === index}\n itemIndex={i}\n onIndexChange={onIndexChange}\n tabIndex={!disabled && i === index ? 0 : -1}\n disabled={disabled}\n {...restItem}\n >\n {label}\n </ItemComponent>\n ))}\n </ListComponent>\n );\n });\n}\n"],"names":["createTabsController","ListComponent","ItemComponent","forwardRef","TabsController","_ref","ref","items","index","onIndexChange","rest","_objectWithoutProperties","_excluded","disabled","React","createElement","_extends","map","_ref2","i","label","restItem","_excluded2","key","selected","itemIndex","tabIndex"],"mappings":";;;;;;;;;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,oBAAoBA,CAChCC,aAA6F,EAC7FC,aAAgG,EAClG;AACE;EACA,oBAAOC,gBAAU,CAAO,SAASC,cAAcA,CAAAC,IAAA,EAAuDC,GAAG,EAAE;AAAA,IAAA,IAAzDC,KAAK,GAAAF,IAAA,CAALE,KAAK,CAAA;MAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK,CAAA;MAAcC,aAAa,GAAAJ,IAAA,CAAbI,aAAa,CAAA;AAAKC,MAAAA,IAAI,GAAAC,iDAAA,CAAAN,IAAA,EAAAO,SAAA,EAAA;AAC9F,IAAA,IAAQC,QAAQ,GAAKH,IAAI,CAAjBG,QAAQ,CAAA;AAEhB,IAAA,oBACIC,KAAA,CAAAC,aAAA,CAACd,aAAa,EAAAe,iCAAA,CAAA;AAACV,MAAAA,GAAG,EAAEA,GAAI;AAACE,MAAAA,KAAK,EAAEA,KAAAA;KAAWE,EAAAA,IAAI,GAC1CH,KAAK,CAACU,GAAG,CAAC,UAAAC,KAAA,EAAyBC,CAAC,EAAA;AAAA,MAAA,IAAvBC,KAAK,GAAAF,KAAA,CAALE,KAAK;AAAKC,QAAAA,QAAQ,GAAAV,iDAAA,CAAAO,KAAA,EAAAI,UAAA,CAAA,CAAA;AAAA,MAAA,oBAC5BR,KAAA,CAAAC,aAAA,CAACb,aAAa,EAAAc,iCAAA,CAAA;AACVO,QAAAA,GAAG,EAAEJ,CAAE;QACPK,QAAQ,EAAEL,CAAC,KAAKX,KAAM;AACtBiB,QAAAA,SAAS,EAAEN,CAAE;AACbV,QAAAA,aAAa,EAAEA,aAAc;QAC7BiB,QAAQ,EAAE,CAACb,QAAQ,IAAIM,CAAC,KAAKX,KAAK,GAAG,CAAC,GAAG,CAAC,CAAE;AAC5CK,QAAAA,QAAQ,EAAEA,QAAAA;OACNQ,EAAAA,QAAQ,CAEXD,EAAAA,KACU,CAAC,CAAA;AAAA,KACnB,CACU,CAAC,CAAA;AAExB,GAAC,CAAC,CAAA;AACN;;;;"}
1
+ {"version":3,"file":"createTabsController.js","sources":["../../../src/components/Tabs/createTabsController.tsx"],"sourcesContent":["import React, { forwardRef, ForwardRefExoticComponent, RefAttributes } from 'react';\n\nimport { HorizontalTabItemProps } from './TabItem.types';\nimport { HorizontalCommonTabsProps, HorizontalTabsProps } from './Tabs.types';\n\nexport interface TabsControllerProps extends HorizontalCommonTabsProps {\n items: Array<{ label: string } & HorizontalTabItemProps>;\n index: number;\n onIndexChange: (index: number) => void;\n children?: never;\n autoscroll?: boolean;\n}\n\n/**\n * @deprecated\n * Используйте Tabs, TabItem, указав параметры index, itemIndex, onIndexChange\n *\n * Функция для создания `TabController`, которая дает возможность\n * кастомизировать стили, при этом сохраняя единый интерфейс и функционал.\n */\nexport function createTabsController<T extends HTMLDivElement, P extends TabsControllerProps>(\n ListComponent: ForwardRefExoticComponent<HorizontalTabsProps & RefAttributes<HTMLDivElement>>,\n ItemComponent: ForwardRefExoticComponent<HorizontalTabItemProps & RefAttributes<HTMLDivElement>>,\n) {\n // eslint-disable-next-line prefer-arrow-callback\n return forwardRef<T, P>(function TabsController({ items, index, autoscroll, onIndexChange, ...rest }, ref) {\n const { disabled } = rest;\n\n return (\n <ListComponent ref={ref} index={index} {...rest}>\n {items.map(({ label, ...restItem }, i) => (\n <ItemComponent\n key={i}\n selected={i === index}\n itemIndex={i}\n onIndexChange={onIndexChange}\n tabIndex={!disabled && i === index ? 0 : -1}\n disabled={disabled}\n {...restItem}\n >\n {label}\n </ItemComponent>\n ))}\n </ListComponent>\n );\n });\n}\n"],"names":["createTabsController","ListComponent","ItemComponent","forwardRef","TabsController","_ref","ref","items","index","onIndexChange","rest","_objectWithoutProperties","_excluded","disabled","React","createElement","_extends","map","_ref2","i","label","restItem","_excluded2","key","selected","itemIndex","tabIndex"],"mappings":";;;;;;;;;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,oBAAoBA,CAChCC,aAA6F,EAC7FC,aAAgG,EAClG;AACE;EACA,oBAAOC,gBAAU,CAAO,SAASC,cAAcA,CAAAC,IAAA,EAAuDC,GAAG,EAAE;AAAA,IAAA,IAAzDC,KAAK,GAAAF,IAAA,CAALE,KAAK,CAAA;MAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK,CAAA;MAAcC,aAAa,GAAAJ,IAAA,CAAbI,aAAa,CAAA;AAAKC,MAAAA,IAAI,GAAAC,iDAAA,CAAAN,IAAA,EAAAO,SAAA,EAAA;AAC9F,IAAA,IAAQC,QAAQ,GAAKH,IAAI,CAAjBG,QAAQ,CAAA;AAEhB,IAAA,oBACIC,KAAA,CAAAC,aAAA,CAACd,aAAa,EAAAe,iCAAA,CAAA;AAACV,MAAAA,GAAG,EAAEA,GAAI;AAACE,MAAAA,KAAK,EAAEA,KAAAA;KAAWE,EAAAA,IAAI,GAC1CH,KAAK,CAACU,GAAG,CAAC,UAAAC,KAAA,EAAyBC,CAAC,EAAA;AAAA,MAAA,IAAvBC,KAAK,GAAAF,KAAA,CAALE,KAAK;AAAKC,QAAAA,QAAQ,GAAAV,iDAAA,CAAAO,KAAA,EAAAI,UAAA,CAAA,CAAA;AAAA,MAAA,oBAC5BR,KAAA,CAAAC,aAAA,CAACb,aAAa,EAAAc,iCAAA,CAAA;AACVO,QAAAA,GAAG,EAAEJ,CAAE;QACPK,QAAQ,EAAEL,CAAC,KAAKX,KAAM;AACtBiB,QAAAA,SAAS,EAAEN,CAAE;AACbV,QAAAA,aAAa,EAAEA,aAAc;QAC7BiB,QAAQ,EAAE,CAACb,QAAQ,IAAIM,CAAC,KAAKX,KAAK,GAAG,CAAC,GAAG,CAAC,CAAE;AAC5CK,QAAAA,QAAQ,EAAEA,QAAAA;OACNQ,EAAAA,QAAQ,CAEXD,EAAAA,KACU,CAAC,CAAA;AAAA,KACnB,CACU,CAAC,CAAA;AAExB,GAAC,CAAC,CAAA;AACN;;;;"}
@@ -8,6 +8,7 @@ var plasmaCore = require('@salutejs/plasma-core');
8
8
  var tokens = require('../../../tokens.js');
9
9
  var index = require('../../../../../utils/index.js');
10
10
  var TabsContext = require('../../../TabsContext.js');
11
+ var _const = require('../const.js');
11
12
  var base$1 = require('./variations/_view/base.js');
12
13
  var base = require('./variations/_size/base.js');
13
14
  var base$3 = require('./variations/_pilled/base.js');
@@ -37,6 +38,12 @@ var horizontalTabItemRoot = function horizontalTabItemRoot(Root) {
37
38
  className = props.className,
38
39
  onClick = props.onClick,
39
40
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded);
41
+ var restRootProps = size && _const.isHeaderSize(size) ? _rollupPluginBabelHelpers.objectSpread2({
42
+ size: size
43
+ }, rest) : _rollupPluginBabelHelpers.objectSpread2({
44
+ size: size,
45
+ pilled: pilled
46
+ }, rest);
40
47
  var innerRef = React.useRef(null);
41
48
  var ref = plasmaCore.useForkRef(outerRef, innerRef);
42
49
  var refs = React.useContext(TabsContext.TabsContext);
@@ -93,15 +100,13 @@ var horizontalTabItemRoot = function horizontalTabItemRoot(Root) {
93
100
  return /*#__PURE__*/React.createElement(Root, _rollupPluginBabelHelpers.extends({
94
101
  ref: ref,
95
102
  disabled: disabled,
96
- pilled: pilled,
97
103
  role: role,
98
104
  view: view,
99
- size: size,
100
105
  onFocus: onItemFocus,
101
106
  tabIndex: hasKeyNavigation ? navigationTabIndex : tabIndex,
102
107
  className: index.cx(pilledClass, selectedClass, animatedClass, className),
103
108
  onClick: handleClick
104
- }, rest), /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && /*#__PURE__*/React.createElement(HorizontalTabItem_styles.LeftContent, {
109
+ }, restRootProps), /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && /*#__PURE__*/React.createElement(HorizontalTabItem_styles.LeftContent, {
105
110
  className: tokens.classes.tabLeftContent
106
111
  }, contentLeft), /*#__PURE__*/React.createElement(HorizontalTabItem_styles.StyledContent, {
107
112
  className: tokens.classes.tabContent
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalTabItem.js","sources":["../../../../../../src/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useContext, useEffect, useCallback } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../../engines';\nimport { classes } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabsContext } from '../../../TabsContext';\nimport { HorizontalTabItemProps } from '../../../TabItem.types';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { LeftContent, RightContent, StyledContent, TabItemValue, base } from './HorizontalTabItem.styles';\n\nexport const horizontalTabItemRoot = (Root: RootProps<HTMLDivElement, HorizontalTabItemProps>) =>\n forwardRef<HTMLDivElement, HorizontalTabItemProps>((props, outerRef) => {\n const {\n size,\n view,\n isActive,\n selected,\n disabled = false,\n pilled = false,\n children,\n value,\n contentLeft,\n contentRight,\n animated = true,\n onIndexChange,\n itemIndex,\n tabIndex,\n className,\n onClick,\n ...rest\n } = props;\n\n const innerRef = useRef<HTMLDivElement>(null);\n const ref = useForkRef(outerRef, innerRef);\n const refs = useContext(TabsContext);\n\n const role = 'tab';\n\n const pilledAttr = view !== 'clear' && pilled;\n const animatedClass = animated ? classes.tabItemAnimated : undefined;\n const pilledClass = pilledAttr ? classes.tabsPilled : undefined;\n const selectedClass = isActive || selected ? classes.selectedTabsItem : undefined;\n const hasKeyNavigation = itemIndex !== undefined && onIndexChange !== undefined;\n const navigationTabIndex = !disabled && refs?.current === itemIndex ? 0 : -1;\n\n useEffect(() => {\n if (!refs) {\n return;\n }\n\n refs.register(innerRef);\n\n return () => refs.unregister(innerRef);\n }, [refs]);\n\n const onItemFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (disabled) {\n return;\n }\n\n if (!hasKeyNavigation && innerRef?.current) {\n innerRef.current.scrollTo({\n top: 0,\n left: innerRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n return;\n }\n\n if (!refs) {\n return;\n }\n\n const focusIndex = refs.items.findIndex((itemRef) => itemRef.current === event.target);\n\n if (focusIndex === refs.current) {\n return;\n }\n\n onIndexChange?.(focusIndex);\n refs.setCurrent(focusIndex);\n },\n [refs, innerRef, onIndexChange, disabled],\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.currentTarget.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n\n if (!onClick) {\n return;\n }\n\n onClick(event);\n };\n\n return (\n <Root\n ref={ref}\n disabled={disabled}\n pilled={pilled}\n role={role}\n view={view}\n size={size}\n onFocus={onItemFocus}\n tabIndex={hasKeyNavigation ? navigationTabIndex : tabIndex}\n className={cx(pilledClass, selectedClass, animatedClass, className)}\n onClick={handleClick}\n {...rest}\n >\n <>\n {contentLeft && <LeftContent className={classes.tabLeftContent}>{contentLeft}</LeftContent>}\n <StyledContent className={classes.tabContent}>{children}</StyledContent>\n {!contentRight && value && <TabItemValue>{value}</TabItemValue>}\n {!value && contentRight && (\n <RightContent className={classes.tabRightContent}>{contentRight}</RightContent>\n )}\n </>\n </Root>\n );\n });\n\nexport const horizontalTabItemConfig = {\n name: 'HorizontalTabItem',\n tag: 'button',\n layout: horizontalTabItemRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["horizontalTabItemRoot","Root","forwardRef","props","outerRef","size","view","isActive","selected","_props$disabled","disabled","_props$pilled","pilled","children","value","contentLeft","contentRight","_props$animated","animated","onIndexChange","itemIndex","tabIndex","className","onClick","rest","_objectWithoutProperties","_excluded","innerRef","useRef","ref","useForkRef","refs","useContext","TabsContext","role","pilledAttr","animatedClass","classes","tabItemAnimated","undefined","pilledClass","tabsPilled","selectedClass","selectedTabsItem","hasKeyNavigation","navigationTabIndex","current","useEffect","register","unregister","onItemFocus","useCallback","event","scrollTo","top","left","offsetLeft","behavior","focusIndex","items","findIndex","itemRef","target","setCurrent","handleClick","currentTarget","scrollIntoView","block","inline","React","createElement","_extends","onFocus","cx","Fragment","LeftContent","tabLeftContent","StyledContent","tabContent","TabItemValue","RightContent","tabRightContent","horizontalTabItemConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"HorizontalTabItem.js","sources":["../../../../../../src/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useContext, useEffect, useCallback } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../../engines';\nimport { classes } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabsContext } from '../../../TabsContext';\nimport { HorizontalTabItemProps } from '../../../TabItem.types';\nimport { isHeaderSize } from '../const';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { LeftContent, RightContent, StyledContent, TabItemValue, base } from './HorizontalTabItem.styles';\n\nexport const horizontalTabItemRoot = (Root: RootProps<HTMLDivElement, HorizontalTabItemProps>) =>\n forwardRef<HTMLDivElement, HorizontalTabItemProps>((props, outerRef) => {\n const {\n size,\n view,\n isActive,\n selected,\n disabled = false,\n pilled = false,\n children,\n value,\n contentLeft,\n contentRight,\n animated = true,\n onIndexChange,\n itemIndex,\n tabIndex,\n className,\n onClick,\n ...rest\n } = props;\n\n const restRootProps = size && isHeaderSize(size) ? { size, ...rest } : { size, pilled, ...rest };\n\n const innerRef = useRef<HTMLDivElement>(null);\n const ref = useForkRef(outerRef, innerRef);\n const refs = useContext(TabsContext);\n\n const role = 'tab';\n\n const pilledAttr = view !== 'clear' && pilled;\n const animatedClass = animated ? classes.tabItemAnimated : undefined;\n const pilledClass = pilledAttr ? classes.tabsPilled : undefined;\n const selectedClass = isActive || selected ? classes.selectedTabsItem : undefined;\n const hasKeyNavigation = itemIndex !== undefined && onIndexChange !== undefined;\n const navigationTabIndex = !disabled && refs?.current === itemIndex ? 0 : -1;\n\n useEffect(() => {\n if (!refs) {\n return;\n }\n\n refs.register(innerRef);\n\n return () => refs.unregister(innerRef);\n }, [refs]);\n\n const onItemFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (disabled) {\n return;\n }\n\n if (!hasKeyNavigation && innerRef?.current) {\n innerRef.current.scrollTo({\n top: 0,\n left: innerRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n return;\n }\n\n if (!refs) {\n return;\n }\n\n const focusIndex = refs.items.findIndex((itemRef) => itemRef.current === event.target);\n\n if (focusIndex === refs.current) {\n return;\n }\n\n onIndexChange?.(focusIndex);\n refs.setCurrent(focusIndex);\n },\n [refs, innerRef, onIndexChange, disabled],\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.currentTarget.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n\n if (!onClick) {\n return;\n }\n\n onClick(event);\n };\n\n return (\n <Root\n ref={ref}\n disabled={disabled}\n role={role}\n view={view}\n onFocus={onItemFocus}\n tabIndex={hasKeyNavigation ? navigationTabIndex : tabIndex}\n className={cx(pilledClass, selectedClass, animatedClass, className)}\n onClick={handleClick}\n {...restRootProps}\n >\n <>\n {contentLeft && <LeftContent className={classes.tabLeftContent}>{contentLeft}</LeftContent>}\n <StyledContent className={classes.tabContent}>{children}</StyledContent>\n {!contentRight && value && <TabItemValue>{value}</TabItemValue>}\n {!value && contentRight && (\n <RightContent className={classes.tabRightContent}>{contentRight}</RightContent>\n )}\n </>\n </Root>\n );\n });\n\nexport const horizontalTabItemConfig = {\n name: 'HorizontalTabItem',\n tag: 'button',\n layout: horizontalTabItemRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["horizontalTabItemRoot","Root","forwardRef","props","outerRef","size","view","isActive","selected","_props$disabled","disabled","_props$pilled","pilled","children","value","contentLeft","contentRight","_props$animated","animated","onIndexChange","itemIndex","tabIndex","className","onClick","rest","_objectWithoutProperties","_excluded","restRootProps","isHeaderSize","_objectSpread","innerRef","useRef","ref","useForkRef","refs","useContext","TabsContext","role","pilledAttr","animatedClass","classes","tabItemAnimated","undefined","pilledClass","tabsPilled","selectedClass","selectedTabsItem","hasKeyNavigation","navigationTabIndex","current","useEffect","register","unregister","onItemFocus","useCallback","event","scrollTo","top","left","offsetLeft","behavior","focusIndex","items","findIndex","itemRef","target","setCurrent","handleClick","currentTarget","scrollIntoView","block","inline","React","createElement","_extends","onFocus","cx","Fragment","LeftContent","tabLeftContent","StyledContent","tabContent","TabItemValue","RightContent","tabRightContent","horizontalTabItemConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;IAgBaA,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,IAAuD,EAAA;AAAA,EAAA,oBACzFC,gBAAU,CAAyC,UAACC,KAAK,EAAEC,QAAQ,EAAK;AACpE,IAAA,IACIC,IAAI,GAiBJF,KAAK,CAjBLE,IAAI;MACJC,IAAI,GAgBJH,KAAK,CAhBLG,IAAI;MACJC,QAAQ,GAeRJ,KAAK,CAfLI,QAAQ;MACRC,QAAQ,GAcRL,KAAK,CAdLK,QAAQ;MAAAC,eAAA,GAcRN,KAAK,CAbLO,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAAAE,aAAA,GAahBR,KAAK,CAZLS,MAAM;AAANA,MAAAA,MAAM,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MACdE,QAAQ,GAWRV,KAAK,CAXLU,QAAQ;MACRC,KAAK,GAULX,KAAK,CAVLW,KAAK;MACLC,WAAW,GASXZ,KAAK,CATLY,WAAW;MACXC,YAAY,GAQZb,KAAK,CARLa,YAAY;MAAAC,eAAA,GAQZd,KAAK,CAPLe,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;MACfE,aAAa,GAMbhB,KAAK,CANLgB,aAAa;MACbC,SAAS,GAKTjB,KAAK,CALLiB,SAAS;MACTC,QAAQ,GAIRlB,KAAK,CAJLkB,QAAQ;MACRC,SAAS,GAGTnB,KAAK,CAHLmB,SAAS;MACTC,OAAO,GAEPpB,KAAK,CAFLoB,OAAO;AACJC,MAAAA,IAAI,GAAAC,iDAAA,CACPtB,KAAK,EAAAuB,SAAA,CAAA,CAAA;IAET,IAAMC,aAAa,GAAGtB,IAAI,IAAIuB,mBAAY,CAACvB,IAAI,CAAC,GAAAwB,uCAAA,CAAA;AAAKxB,MAAAA,IAAI,EAAJA,IAAAA;KAASmB,EAAAA,IAAI,IAAAK,uCAAA,CAAA;AAAOxB,MAAAA,IAAI,EAAJA,IAAI;AAAEO,MAAAA,MAAM,EAANA,MAAAA;AAAM,KAAA,EAAKY,IAAI,CAAE,CAAA;AAEhG,IAAA,IAAMM,QAAQ,GAAGC,YAAM,CAAiB,IAAI,CAAC,CAAA;AAC7C,IAAA,IAAMC,GAAG,GAAGC,qBAAU,CAAC7B,QAAQ,EAAE0B,QAAQ,CAAC,CAAA;AAC1C,IAAA,IAAMI,IAAI,GAAGC,gBAAU,CAACC,uBAAW,CAAC,CAAA;IAEpC,IAAMC,IAAI,GAAG,KAAK,CAAA;AAElB,IAAA,IAAMC,UAAU,GAAGhC,IAAI,KAAK,OAAO,IAAIM,MAAM,CAAA;IAC7C,IAAM2B,aAAa,GAAGrB,QAAQ,GAAGsB,cAAO,CAACC,eAAe,GAAGC,SAAS,CAAA;IACpE,IAAMC,WAAW,GAAGL,UAAU,GAAGE,cAAO,CAACI,UAAU,GAAGF,SAAS,CAAA;IAC/D,IAAMG,aAAa,GAAGtC,QAAQ,IAAIC,QAAQ,GAAGgC,cAAO,CAACM,gBAAgB,GAAGJ,SAAS,CAAA;IACjF,IAAMK,gBAAgB,GAAG3B,SAAS,KAAKsB,SAAS,IAAIvB,aAAa,KAAKuB,SAAS,CAAA;AAC/E,IAAA,IAAMM,kBAAkB,GAAG,CAACtC,QAAQ,IAAI,CAAAwB,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEe,OAAO,MAAK7B,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAE5E8B,IAAAA,eAAS,CAAC,YAAM;MACZ,IAAI,CAAChB,IAAI,EAAE;AACP,QAAA,OAAA;AACJ,OAAA;AAEAA,MAAAA,IAAI,CAACiB,QAAQ,CAACrB,QAAQ,CAAC,CAAA;MAEvB,OAAO,YAAA;AAAA,QAAA,OAAMI,IAAI,CAACkB,UAAU,CAACtB,QAAQ,CAAC,CAAA;AAAA,OAAA,CAAA;AAC1C,KAAC,EAAE,CAACI,IAAI,CAAC,CAAC,CAAA;AAEV,IAAA,IAAMmB,WAAW,GAAGC,iBAAW,CAC3B,UAACC,KAAK,EAAK;AACP,MAAA,IAAI7C,QAAQ,EAAE;AACV,QAAA,OAAA;AACJ,OAAA;MAEA,IAAI,CAACqC,gBAAgB,IAAIjB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAEmB,OAAO,EAAE;AACxCnB,QAAAA,QAAQ,CAACmB,OAAO,CAACO,QAAQ,CAAC;AACtBC,UAAAA,GAAG,EAAE,CAAC;AACNC,UAAAA,IAAI,EAAE5B,QAAQ,CAACmB,OAAO,CAACU,UAAU;AACjCC,UAAAA,QAAQ,EAAE,QAAA;AACd,SAAC,CAAC,CAAA;AAEF,QAAA,OAAA;AACJ,OAAA;MAEA,IAAI,CAAC1B,IAAI,EAAE;AACP,QAAA,OAAA;AACJ,OAAA;MAEA,IAAM2B,UAAU,GAAG3B,IAAI,CAAC4B,KAAK,CAACC,SAAS,CAAC,UAACC,OAAO,EAAA;AAAA,QAAA,OAAKA,OAAO,CAACf,OAAO,KAAKM,KAAK,CAACU,MAAM,CAAA;OAAC,CAAA,CAAA;AAEtF,MAAA,IAAIJ,UAAU,KAAK3B,IAAI,CAACe,OAAO,EAAE;AAC7B,QAAA,OAAA;AACJ,OAAA;AAEA9B,MAAAA,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,IAAbA,aAAa,CAAG0C,UAAU,CAAC,CAAA;AAC3B3B,MAAAA,IAAI,CAACgC,UAAU,CAACL,UAAU,CAAC,CAAA;KAC9B,EACD,CAAC3B,IAAI,EAAEJ,QAAQ,EAAEX,aAAa,EAAET,QAAQ,CAC5C,CAAC,CAAA;AAED,IAAA,IAAMyD,WAAW,GAAG,SAAdA,WAAWA,CAAIZ,KAA0C,EAAK;AAChEA,MAAAA,KAAK,CAACa,aAAa,CAACC,cAAc,CAAC;AAAEC,QAAAA,KAAK,EAAE,SAAS;AAAEC,QAAAA,MAAM,EAAE,SAAA;AAAU,OAAC,CAAC,CAAA;MAE3E,IAAI,CAAChD,OAAO,EAAE;AACV,QAAA,OAAA;AACJ,OAAA;MAEAA,OAAO,CAACgC,KAAK,CAAC,CAAA;KACjB,CAAA;AAED,IAAA,oBACIiB,KAAA,CAAAC,aAAA,CAACxE,IAAI,EAAAyE,iCAAA,CAAA;AACD1C,MAAAA,GAAG,EAAEA,GAAI;AACTtB,MAAAA,QAAQ,EAAEA,QAAS;AACnB2B,MAAAA,IAAI,EAAEA,IAAK;AACX/B,MAAAA,IAAI,EAAEA,IAAK;AACXqE,MAAAA,OAAO,EAAEtB,WAAY;AACrBhC,MAAAA,QAAQ,EAAE0B,gBAAgB,GAAGC,kBAAkB,GAAG3B,QAAS;MAC3DC,SAAS,EAAEsD,QAAE,CAACjC,WAAW,EAAEE,aAAa,EAAEN,aAAa,EAAEjB,SAAS,CAAE;AACpEC,MAAAA,OAAO,EAAE4C,WAAAA;AAAY,KAAA,EACjBxC,aAAa,CAEjB6C,eAAAA,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAK,QAAA,EAAA,IAAA,EACK9D,WAAW,iBAAIyD,KAAA,CAAAC,aAAA,CAACK,oCAAW,EAAA;MAACxD,SAAS,EAAEkB,cAAO,CAACuC,cAAAA;AAAe,KAAA,EAAEhE,WAAyB,CAAC,eAC3FyD,KAAA,CAAAC,aAAA,CAACO,sCAAa,EAAA;MAAC1D,SAAS,EAAEkB,cAAO,CAACyC,UAAAA;KAAapE,EAAAA,QAAwB,CAAC,EACvE,CAACG,YAAY,IAAIF,KAAK,iBAAI0D,KAAA,CAAAC,aAAA,CAACS,qCAAY,QAAEpE,KAAoB,CAAC,EAC9D,CAACA,KAAK,IAAIE,YAAY,iBACnBwD,KAAA,CAAAC,aAAA,CAACU,qCAAY,EAAA;MAAC7D,SAAS,EAAEkB,cAAO,CAAC4C,eAAAA;KAAkBpE,EAAAA,YAA2B,CAEpF,CACA,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAMqE,uBAAuB,GAAG;AACnCC,EAAAA,IAAI,EAAE,mBAAmB;AACzBC,EAAAA,GAAG,EAAE,QAAQ;AACbC,EAAAA,MAAM,EAAExF,qBAAqB;AAC7ByF,EAAAA,IAAI,EAAJA,6BAAI;AACJC,EAAAA,UAAU,EAAE;AACRrF,IAAAA,IAAI,EAAE;AACFsF,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACDtF,IAAAA,IAAI,EAAE;AACFqF,MAAAA,GAAG,EAAEE,WAAAA;KACR;AACDnF,IAAAA,QAAQ,EAAE;AACNiF,MAAAA,GAAG,EAAEG,WAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACDnF,IAAAA,MAAM,EAAE;AACJ+E,MAAAA,GAAG,EAAEK,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACN3F,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  .base_1sq08yf_bxoicu2__bb7a4868{width:var(--plasma-tabs-width);height:var(--plasma-tabs-height);--plasma_private-outline-radius:var(--plasma-tabs-border-radius);border-radius:var(--plasma-tabs-border-radius);}
4
4
 
5
- .base_9miwn_bupjtit__d014f2e9{background-color:var(--plasma-tabs-background-color);}.base_9miwn_bupjtit__d014f2e9::after{content:'';position:absolute;bottom:0.125rem;left:0.125rem;right:0.125rem;background:var(--plasma-tabs-divider-color);height:var(--plasma-tabs-divider-height);border-radius:var(--plasma-tabs-divider-border-radius);}.base_9miwn_bupjtit__d014f2e9.base_9miwn_tabsHasLeftArrow__d014f2e9::after{left:1.5rem;}.base_9miwn_bupjtit__d014f2e9.base_9miwn_tabsHasRightArrow__d014f2e9::after{right:1.5rem;}
5
+ .base_4ob3q5_bupjtit__17aafbe8{background-color:var(--plasma-tabs-background-color);}.base_4ob3q5_bupjtit__17aafbe8::after{content:'';position:absolute;bottom:0.125rem;left:0.125rem;right:0.125rem;background:var(--plasma-tabs-divider-color);height:var(--plasma-tabs-divider-height);border-radius:var(--plasma-tabs-divider-border-radius);}.base_4ob3q5_bupjtit__17aafbe8.base_4ob3q5_tabsHasLeftArrow__17aafbe8::after{left:1.5rem;}.base_4ob3q5_bupjtit__17aafbe8.base_4ob3q5_tabsHasRightArrow__17aafbe8::after{right:1.5rem;}.base_4ob3q5_bupjtit__17aafbe8.base_4ob3q5_tabsNoDivider__17aafbe8::after{height:0;}
6
6
 
7
7
  .base_j9bg3m_bbh58a1__de7491f9{opacity:var(--plasma-tabs-disabled-opacity);}
8
8
 
@@ -11,6 +11,7 @@ var IconDisclosureRight = require('../../../../_Icon/Icons/IconDisclosureRight.j
11
11
  var tokens = require('../../../tokens.js');
12
12
  var index = require('../../../../../utils/index.js');
13
13
  var TabsContext = require('../../../TabsContext.js');
14
+ var _const = require('../const.js');
14
15
  var base = require('./variations/_size/base.js');
15
16
  var base$1 = require('./variations/_view/base.js');
16
17
  var base$2 = require('./variations/_disabled/base.js');
@@ -18,7 +19,7 @@ var base$4 = require('./variations/_pilled/base.js');
18
19
  var base$3 = require('./variations/_stretch/base.js');
19
20
  var HorizontalTabs_styles = require('./HorizontalTabs.styles.js');
20
21
 
21
- var _excluded = ["id", "stretch", "disabled", "clip", "size", "view", "children", "pilled", "index", "className"];
22
+ var _excluded = ["id", "stretch", "disabled", "clip", "size", "view", "children", "pilled", "index", "className", "hasDivider", "outsideScroll"];
22
23
  var Keys = /*#__PURE__*/function (Keys) {
23
24
  Keys[Keys["end"] = 35] = "end";
24
25
  Keys[Keys["home"] = 36] = "home";
@@ -42,7 +43,17 @@ var horizontalTabsRoot = function horizontalTabsRoot(Root) {
42
43
  pilled = _props$pilled === void 0 ? false : _props$pilled,
43
44
  index$1 = props.index,
44
45
  className = props.className,
46
+ _props$hasDivider = props.hasDivider,
47
+ hasDivider = _props$hasDivider === void 0 ? true : _props$hasDivider,
48
+ outsideScroll = props.outsideScroll,
45
49
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded);
50
+ var restRootProps = size && _const.isHeaderSize(size) ? _rollupPluginBabelHelpers.objectSpread2({
51
+ size: size
52
+ }, rest) : _rollupPluginBabelHelpers.objectSpread2({
53
+ size: size,
54
+ pilled: pilled,
55
+ outsideScroll: outsideScroll
56
+ }, rest);
46
57
  var _useState = React.useState(true),
47
58
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
48
59
  firstItemVisible = _useState2[0],
@@ -59,6 +70,7 @@ var horizontalTabsRoot = function horizontalTabsRoot(Root) {
59
70
  var isFilled = view === 'filled'; // outer padding is only for filled view
60
71
  var pilledAttr = view !== 'clear' && pilled;
61
72
  var pilledClass = pilledAttr ? tokens.classes.tabsPilled : undefined;
73
+ var noDividerClass = !hasDivider ? tokens.classes.tabsNoDivider : undefined;
62
74
  var stretchClass = firstItemVisible && lastItemVisible && stretch ? tokens.classes.tabsStretch : undefined;
63
75
  var hasLeftArrowClass = !firstItemVisible ? tokens.classes.tabsHasLeftArrow : undefined;
64
76
  var hasRightArrowClass = !lastItemVisible ? tokens.classes.tabsHasRightArrow : undefined;
@@ -189,14 +201,12 @@ var horizontalTabsRoot = function horizontalTabsRoot(Root) {
189
201
  }, /*#__PURE__*/React.createElement(Root, _rollupPluginBabelHelpers.extends({
190
202
  view: view,
191
203
  role: "tablist",
192
- size: size,
193
- pilled: pilled,
194
204
  id: tabsId,
195
205
  ref: outerRef,
196
206
  disabled: disabled,
197
- className: index.cx(pilledClass, stretchClass, hasLeftArrowClass, hasRightArrowClass, className),
207
+ className: index.cx(pilledClass, stretchClass, hasLeftArrowClass, hasRightArrowClass, noDividerClass, className),
198
208
  onKeyDown: onKeyDown
199
- }, rest), !firstItemVisible && PreviousButton, /*#__PURE__*/React.createElement(HorizontalTabs_styles.StyledContentWrapper, {
209
+ }, restRootProps), !firstItemVisible && PreviousButton, /*#__PURE__*/React.createElement(HorizontalTabs_styles.StyledContentWrapper, {
200
210
  className: index.cx(clipScrollClass, clipShowAllClass),
201
211
  ref: scrollRef,
202
212
  onScroll: handleScroll
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalTabs.js","sources":["../../../../../../src/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../../engines/types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../../_Icon';\nimport { classes, tokens } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabItemRefs, TabsContext } from '../../../TabsContext';\nimport type { HorizontalTabsProps } from '../../../Tabs.types';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as stretchCSS } from './variations/_stretch/base';\nimport { StyledArrow, StyledContent, StyledContentWrapper, base } from './HorizontalTabs.styles';\n\nenum Keys {\n end = 35,\n home = 36,\n left = 37,\n right = 39,\n}\n\n// TODO: https://github.com/salute-developers/plasma/issues/1474\nexport const horizontalTabsRoot = (Root: RootProps<HTMLDivElement, HorizontalTabsProps>) =>\n forwardRef<HTMLDivElement, HorizontalTabsProps>((props, outerRef) => {\n const {\n id,\n stretch = false,\n disabled = false,\n clip = 'scroll',\n size,\n view,\n children,\n pilled = false,\n index,\n className,\n ...rest\n } = props;\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const refs = useMemo(() => new TabItemRefs(index), []);\n\n const uniqId = safeUseId();\n const tabsId = id || uniqId;\n\n const isFilled = view === 'filled'; // outer padding is only for filled view\n const pilledAttr = view !== 'clear' && pilled;\n const pilledClass = pilledAttr ? classes.tabsPilled : undefined;\n\n const stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.tabsStretch : undefined;\n const hasLeftArrowClass = !firstItemVisible ? classes.tabsHasLeftArrow : undefined;\n const hasRightArrowClass = !lastItemVisible ? classes.tabsHasRightArrow : undefined;\n const clipScrollClass = clip === 'scroll' ? classes.tabsClipScroll : undefined;\n const clipShowAllClass = clip === 'showAll' ? classes.tabsClipShowAll : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const leftArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollLeft = Math.round(scrollRef.current.scrollLeft);\n const firstOverflowingTab = refs.items\n .slice()\n .reverse()\n .find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetLeft === undefined) {\n return;\n }\n const tabStartX = item.current.offsetLeft;\n\n return tabStartX < scrollLeft;\n });\n\n firstOverflowingTab?.current?.scrollIntoView({ block: 'nearest', inline: 'start' });\n }, [disabled, scrollRef, refs]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);\n const lastOverflowingTab = refs.items.find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetLeft === undefined) {\n return;\n }\n const tabEndX = item.current.offsetLeft + item.current.offsetWidth;\n\n return tabEndX > scrollRight;\n });\n\n lastOverflowingTab?.current?.scrollIntoView({ block: 'nearest', inline: 'end' });\n }, [disabled, scrollRef, refs]);\n\n const PreviousButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий таб\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n isFilled={isFilled}\n ref={leftArrowRef}\n isLeftArrow\n >\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onPrev, disabled, isFilled],\n );\n\n const NextButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий таб\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n isFilled={isFilled}\n >\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onNext, disabled, isFilled],\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;\n const scrollLeft = Math.round(event.currentTarget.scrollLeft);\n\n setFirstItemVisible(scrollLeft <= 0);\n setLastItemVisible(scrollLeft >= maxScrollLeft);\n },\n [setFirstItemVisible, setLastItemVisible],\n );\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (index === undefined) {\n return;\n }\n\n const minIndex = 0;\n const maxIndex = refs.items.length - 1;\n let nextIndex: number;\n\n switch (event.keyCode) {\n case Keys.end:\n nextIndex = maxIndex;\n break;\n case Keys.left:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.right:\n nextIndex = index < maxIndex ? index + 1 : index;\n break;\n case Keys.home:\n nextIndex = minIndex;\n break;\n default:\n return;\n }\n\n if (nextIndex !== index) {\n event.preventDefault();\n refs.items[nextIndex].current?.focus();\n refs.items[nextIndex].current?.scrollIntoView({\n block: 'nearest',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollWidth === scrollRef.current?.clientWidth);\n }, []);\n\n // Этот хук компенсирует появление левой стрелки при прокрутке\n useEffect(() => {\n if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {\n return;\n }\n\n scrollRef.current.scrollTo({\n left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth),\n });\n }, [firstItemVisible, scrollRef, leftArrowRef]);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n size={size}\n pilled={pilled}\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n className={cx(pilledClass, stretchClass, hasLeftArrowClass, hasRightArrowClass, className)}\n onKeyDown={onKeyDown}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass, clipShowAllClass)}\n ref={scrollRef as MutableRefObject<HTMLDivElement | null>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>\n {children}\n </StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n </TabsContext.Provider>\n );\n });\n\nexport const horizontalTabsConfig = {\n name: 'HorizontalTabs',\n tag: 'div',\n layout: horizontalTabsRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n stretch: {\n css: stretchCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["Keys","horizontalTabsRoot","Root","forwardRef","props","outerRef","id","_props$stretch","stretch","_props$disabled","disabled","_props$clip","clip","size","view","children","_props$pilled","pilled","index","className","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","isFilled","pilledAttr","pilledClass","classes","tabsPilled","undefined","stretchClass","tabsStretch","hasLeftArrowClass","tabsHasLeftArrow","hasRightArrowClass","tabsHasRightArrow","clipScrollClass","tabsClipScroll","clipShowAllClass","tabsClipShowAll","scrollRef","useRef","trackRef","leftArrowRef","onPrev","useCallback","_firstOverflowingTab$","current","scrollLeft","Math","round","firstOverflowingTab","items","slice","reverse","find","item","offsetLeft","tabStartX","scrollIntoView","block","inline","onNext","_lastOverflowingTab$c","scrollRight","clientWidth","lastOverflowingTab","tabEndX","offsetWidth","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","ref","isLeftArrow","IconDisclosureLeft","color","concat","tokens","arrowColor","NextButton","IconDisclosureRight","handleScroll","event","stopPropagation","maxScrollLeft","currentTarget","scrollWidth","onKeyDown","minIndex","maxIndex","length","nextIndex","keyCode","end","left","right","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","behavior","useEffect","_scrollRef$current","_scrollRef$current2","scrollTo","TabsContext","Provider","value","_extends","role","cx","StyledContentWrapper","onScroll","StyledContent","horizontalTabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","stretchCSS","pilledCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"HorizontalTabs.js","sources":["../../../../../../src/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../../engines/types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../../_Icon';\nimport { classes, tokens } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabItemRefs, TabsContext } from '../../../TabsContext';\nimport type { HorizontalTabsProps } from '../../../Tabs.types';\nimport { isHeaderSize } from '../const';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as stretchCSS } from './variations/_stretch/base';\nimport { StyledArrow, StyledContent, StyledContentWrapper, base } from './HorizontalTabs.styles';\n\nenum Keys {\n end = 35,\n home = 36,\n left = 37,\n right = 39,\n}\n\n// TODO: https://github.com/salute-developers/plasma/issues/1474\nexport const horizontalTabsRoot = (Root: RootProps<HTMLDivElement, HorizontalTabsProps>) =>\n forwardRef<HTMLDivElement, HorizontalTabsProps>((props, outerRef) => {\n const {\n id,\n stretch = false,\n disabled = false,\n clip = 'scroll',\n size,\n view,\n children,\n pilled = false,\n index,\n className,\n hasDivider = true,\n outsideScroll,\n ...rest\n } = props;\n\n const restRootProps = size && isHeaderSize(size) ? { size, ...rest } : { size, pilled, outsideScroll, ...rest };\n\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const refs = useMemo(() => new TabItemRefs(index), []);\n\n const uniqId = safeUseId();\n const tabsId = id || uniqId;\n\n const isFilled = view === 'filled'; // outer padding is only for filled view\n const pilledAttr = view !== 'clear' && pilled;\n const pilledClass = pilledAttr ? classes.tabsPilled : undefined;\n\n const noDividerClass = !hasDivider ? classes.tabsNoDivider : undefined;\n const stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.tabsStretch : undefined;\n const hasLeftArrowClass = !firstItemVisible ? classes.tabsHasLeftArrow : undefined;\n const hasRightArrowClass = !lastItemVisible ? classes.tabsHasRightArrow : undefined;\n const clipScrollClass = clip === 'scroll' ? classes.tabsClipScroll : undefined;\n const clipShowAllClass = clip === 'showAll' ? classes.tabsClipShowAll : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const leftArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollLeft = Math.round(scrollRef.current.scrollLeft);\n const firstOverflowingTab = refs.items\n .slice()\n .reverse()\n .find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetLeft === undefined) {\n return;\n }\n const tabStartX = item.current.offsetLeft;\n\n return tabStartX < scrollLeft;\n });\n\n firstOverflowingTab?.current?.scrollIntoView({ block: 'nearest', inline: 'start' });\n }, [disabled, scrollRef, refs]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);\n const lastOverflowingTab = refs.items.find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetLeft === undefined) {\n return;\n }\n const tabEndX = item.current.offsetLeft + item.current.offsetWidth;\n\n return tabEndX > scrollRight;\n });\n\n lastOverflowingTab?.current?.scrollIntoView({ block: 'nearest', inline: 'end' });\n }, [disabled, scrollRef, refs]);\n\n const PreviousButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий таб\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n isFilled={isFilled}\n ref={leftArrowRef}\n isLeftArrow\n >\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onPrev, disabled, isFilled],\n );\n\n const NextButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий таб\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n isFilled={isFilled}\n >\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onNext, disabled, isFilled],\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;\n const scrollLeft = Math.round(event.currentTarget.scrollLeft);\n\n setFirstItemVisible(scrollLeft <= 0);\n setLastItemVisible(scrollLeft >= maxScrollLeft);\n },\n [setFirstItemVisible, setLastItemVisible],\n );\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (index === undefined) {\n return;\n }\n\n const minIndex = 0;\n const maxIndex = refs.items.length - 1;\n let nextIndex: number;\n\n switch (event.keyCode) {\n case Keys.end:\n nextIndex = maxIndex;\n break;\n case Keys.left:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.right:\n nextIndex = index < maxIndex ? index + 1 : index;\n break;\n case Keys.home:\n nextIndex = minIndex;\n break;\n default:\n return;\n }\n\n if (nextIndex !== index) {\n event.preventDefault();\n refs.items[nextIndex].current?.focus();\n refs.items[nextIndex].current?.scrollIntoView({\n block: 'nearest',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollWidth === scrollRef.current?.clientWidth);\n }, []);\n\n // Этот хук компенсирует появление левой стрелки при прокрутке\n useEffect(() => {\n if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {\n return;\n }\n\n scrollRef.current.scrollTo({\n left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth),\n });\n }, [firstItemVisible, scrollRef, leftArrowRef]);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n className={cx(\n pilledClass,\n stretchClass,\n hasLeftArrowClass,\n hasRightArrowClass,\n noDividerClass,\n className,\n )}\n onKeyDown={onKeyDown}\n {...restRootProps}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass, clipShowAllClass)}\n ref={scrollRef as MutableRefObject<HTMLDivElement | null>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>\n {children}\n </StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n </TabsContext.Provider>\n );\n });\n\nexport const horizontalTabsConfig = {\n name: 'HorizontalTabs',\n tag: 'div',\n layout: horizontalTabsRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n stretch: {\n css: stretchCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["Keys","horizontalTabsRoot","Root","forwardRef","props","outerRef","id","_props$stretch","stretch","_props$disabled","disabled","_props$clip","clip","size","view","children","_props$pilled","pilled","index","className","_props$hasDivider","hasDivider","outsideScroll","rest","_objectWithoutProperties","_excluded","restRootProps","isHeaderSize","_objectSpread","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","isFilled","pilledAttr","pilledClass","classes","tabsPilled","undefined","noDividerClass","tabsNoDivider","stretchClass","tabsStretch","hasLeftArrowClass","tabsHasLeftArrow","hasRightArrowClass","tabsHasRightArrow","clipScrollClass","tabsClipScroll","clipShowAllClass","tabsClipShowAll","scrollRef","useRef","trackRef","leftArrowRef","onPrev","useCallback","_firstOverflowingTab$","current","scrollLeft","Math","round","firstOverflowingTab","items","slice","reverse","find","item","offsetLeft","tabStartX","scrollIntoView","block","inline","onNext","_lastOverflowingTab$c","scrollRight","clientWidth","lastOverflowingTab","tabEndX","offsetWidth","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","ref","isLeftArrow","IconDisclosureLeft","color","concat","tokens","arrowColor","NextButton","IconDisclosureRight","handleScroll","event","stopPropagation","maxScrollLeft","currentTarget","scrollWidth","onKeyDown","minIndex","maxIndex","length","nextIndex","keyCode","end","left","right","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","behavior","useEffect","_scrollRef$current","_scrollRef$current2","scrollTo","TabsContext","Provider","value","_extends","role","cx","StyledContentWrapper","onScroll","StyledContent","horizontalTabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","stretchCSS","pilledCSS","defaults"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import './base_9miwn.css';
1
+ import './base_4ob3q5.css';
2
2
  'use strict';
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sources":["../../../../../../../../src/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { classes, tokens } from '../../../../../tokens';\n\nexport const base = css`\n background-color: var(${tokens.tabsBackgroundColor});\n\n &::after {\n content: '';\n position: absolute;\n bottom: 0.125rem;\n left: 0.125rem;\n right: 0.125rem;\n background: var(${tokens.tabsDividerColor});\n height: var(${tokens.tabsDividerHeight});\n border-radius: var(${tokens.tabsDividerBorderRadius});\n }\n\n &.${classes.tabsHasLeftArrow} {\n &::after {\n left: 1.5rem;\n }\n }\n\n &.${classes.tabsHasRightArrow} {\n &::after {\n right: 1.5rem;\n }\n }\n`;\n"],"names":["base"],"mappings":";;;;AAIO,IAAMA,IAAI,GAyBhB;;;;"}
1
+ {"version":3,"file":"base.js","sources":["../../../../../../../../src/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { classes, tokens } from '../../../../../tokens';\n\nexport const base = css`\n background-color: var(${tokens.tabsBackgroundColor});\n\n &::after {\n content: '';\n position: absolute;\n bottom: 0.125rem;\n left: 0.125rem;\n right: 0.125rem;\n background: var(${tokens.tabsDividerColor});\n height: var(${tokens.tabsDividerHeight});\n border-radius: var(${tokens.tabsDividerBorderRadius});\n }\n\n &.${classes.tabsHasLeftArrow} {\n &::after {\n left: 1.5rem;\n }\n }\n\n &.${classes.tabsHasRightArrow} {\n &::after {\n right: 1.5rem;\n }\n }\n\n &.${classes.tabsNoDivider} {\n &::after {\n height: 0;\n }\n }\n`;\n"],"names":["base"],"mappings":";;;;AAIO,IAAMA,IAAI,GA+BhB;;;;"}
@@ -1 +1 @@
1
- .bupjtit{background-color:var(--plasma-tabs-background-color);}.bupjtit::after{content:'';position:absolute;bottom:0.125rem;left:0.125rem;right:0.125rem;background:var(--plasma-tabs-divider-color);height:var(--plasma-tabs-divider-height);border-radius:var(--plasma-tabs-divider-border-radius);}.bupjtit.tabs-has-left-arrow::after{left:1.5rem;}.bupjtit.tabs-has-right-arrow::after{right:1.5rem;}
1
+ .bupjtit{background-color:var(--plasma-tabs-background-color);}.bupjtit::after{content:'';position:absolute;bottom:0.125rem;left:0.125rem;right:0.125rem;background:var(--plasma-tabs-divider-color);height:var(--plasma-tabs-divider-height);border-radius:var(--plasma-tabs-divider-border-radius);}.bupjtit.tabs-has-left-arrow::after{left:1.5rem;}.bupjtit.tabs-has-right-arrow::after{right:1.5rem;}.bupjtit.tabs-no-divider::after{height:0;}
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var headerSizes = ['h1', 'h2', 'h3', 'h4', 'h5'];
6
+ var isHeaderSize = function isHeaderSize(size) {
7
+ return headerSizes.includes(size);
8
+ };
9
+
10
+ exports.isHeaderSize = isHeaderSize;
11
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sources":["../../../../../src/components/Tabs/ui/horizontal/const.ts"],"sourcesContent":["const headerSizes = ['h1', 'h2', 'h3', 'h4', 'h5'] as const;\ntype HeaderSize = typeof headerSizes[number];\n\nexport const isHeaderSize = (size: string): size is HeaderSize => {\n return headerSizes.includes(size as HeaderSize);\n};\n"],"names":["headerSizes","isHeaderSize","size","includes"],"mappings":";;;;AAAA,IAAMA,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAA;IAG9CC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,IAAY,EAAyB;AAC9D,EAAA,OAAOF,WAAW,CAACG,QAAQ,CAACD,IAAkB,CAAC,CAAA;AACnD;;;;"}
package/cjs/index.css CHANGED
@@ -229,7 +229,7 @@
229
229
 
230
230
  .base_1sq08yf_bxoicu2__bb7a4868{width:var(--plasma-tabs-width);height:var(--plasma-tabs-height);--plasma_private-outline-radius:var(--plasma-tabs-border-radius);border-radius:var(--plasma-tabs-border-radius);}
231
231
 
232
- .base_9miwn_bupjtit__d014f2e9{background-color:var(--plasma-tabs-background-color);}.base_9miwn_bupjtit__d014f2e9::after{content:'';position:absolute;bottom:0.125rem;left:0.125rem;right:0.125rem;background:var(--plasma-tabs-divider-color);height:var(--plasma-tabs-divider-height);border-radius:var(--plasma-tabs-divider-border-radius);}.base_9miwn_bupjtit__d014f2e9.base_9miwn_tabsHasLeftArrow__d014f2e9::after{left:1.5rem;}.base_9miwn_bupjtit__d014f2e9.base_9miwn_tabsHasRightArrow__d014f2e9::after{right:1.5rem;}
232
+ .base_4ob3q5_bupjtit__17aafbe8{background-color:var(--plasma-tabs-background-color);}.base_4ob3q5_bupjtit__17aafbe8::after{content:'';position:absolute;bottom:0.125rem;left:0.125rem;right:0.125rem;background:var(--plasma-tabs-divider-color);height:var(--plasma-tabs-divider-height);border-radius:var(--plasma-tabs-divider-border-radius);}.base_4ob3q5_bupjtit__17aafbe8.base_4ob3q5_tabsHasLeftArrow__17aafbe8::after{left:1.5rem;}.base_4ob3q5_bupjtit__17aafbe8.base_4ob3q5_tabsHasRightArrow__17aafbe8::after{right:1.5rem;}.base_4ob3q5_bupjtit__17aafbe8.base_4ob3q5_tabsNoDivider__17aafbe8::after{height:0;}
233
233
 
234
234
  .base_j9bg3m_bbh58a1__de7491f9{opacity:var(--plasma-tabs-disabled-opacity);}
235
235
 
@@ -10,6 +10,7 @@ var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
10
10
  var _tokens = /*#__PURE__*/require("../../../tokens");
11
11
  var _utils = /*#__PURE__*/require("../../../../../utils");
12
12
  var _TabsContext = /*#__PURE__*/require("../../../TabsContext");
13
+ var _const = /*#__PURE__*/require("../const");
13
14
  var _base = /*#__PURE__*/require("./variations/_view/base");
14
15
  var _base2 = /*#__PURE__*/require("./variations/_size/base");
15
16
  var _base3 = /*#__PURE__*/require("./variations/_pilled/base");
@@ -19,6 +20,11 @@ var _excluded = ["size", "view", "isActive", "selected", "disabled", "pilled", "
19
20
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
21
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
21
22
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
26
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
27
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
28
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
29
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
24
30
  var horizontalTabItemRoot = exports.horizontalTabItemRoot = function horizontalTabItemRoot(Root) {
@@ -43,6 +49,12 @@ var horizontalTabItemRoot = exports.horizontalTabItemRoot = function horizontalT
43
49
  className = props.className,
44
50
  onClick = props.onClick,
45
51
  rest = _objectWithoutProperties(props, _excluded);
52
+ var restRootProps = size && (0, _const.isHeaderSize)(size) ? _objectSpread({
53
+ size: size
54
+ }, rest) : _objectSpread({
55
+ size: size,
56
+ pilled: pilled
57
+ }, rest);
46
58
  var innerRef = (0, _react.useRef)(null);
47
59
  var ref = (0, _plasmaCore.useForkRef)(outerRef, innerRef);
48
60
  var refs = (0, _react.useContext)(_TabsContext.TabsContext);
@@ -99,15 +111,13 @@ var horizontalTabItemRoot = exports.horizontalTabItemRoot = function horizontalT
99
111
  return /*#__PURE__*/_react["default"].createElement(Root, _extends({
100
112
  ref: ref,
101
113
  disabled: disabled,
102
- pilled: pilled,
103
114
  role: role,
104
115
  view: view,
105
- size: size,
106
116
  onFocus: onItemFocus,
107
117
  tabIndex: hasKeyNavigation ? navigationTabIndex : tabIndex,
108
118
  className: (0, _utils.cx)(pilledClass, selectedClass, animatedClass, className),
109
119
  onClick: handleClick
110
- }, rest), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, contentLeft && /*#__PURE__*/_react["default"].createElement(_HorizontalTabItem.LeftContent, {
120
+ }, restRootProps), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, contentLeft && /*#__PURE__*/_react["default"].createElement(_HorizontalTabItem.LeftContent, {
111
121
  className: _tokens.classes.tabLeftContent
112
122
  }, contentLeft), /*#__PURE__*/_react["default"].createElement(_HorizontalTabItem.StyledContent, {
113
123
  className: _tokens.classes.tabContent
@@ -11,13 +11,14 @@ var _Icon = /*#__PURE__*/require("../../../../_Icon");
11
11
  var _tokens = /*#__PURE__*/require("../../../tokens");
12
12
  var _utils = /*#__PURE__*/require("../../../../../utils");
13
13
  var _TabsContext = /*#__PURE__*/require("../../../TabsContext");
14
+ var _const = /*#__PURE__*/require("../const");
14
15
  var _base = /*#__PURE__*/require("./variations/_size/base");
15
16
  var _base2 = /*#__PURE__*/require("./variations/_view/base");
16
17
  var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
17
18
  var _base4 = /*#__PURE__*/require("./variations/_pilled/base");
18
19
  var _base5 = /*#__PURE__*/require("./variations/_stretch/base");
19
20
  var _HorizontalTabs = /*#__PURE__*/require("./HorizontalTabs.styles");
20
- var _excluded = ["id", "stretch", "disabled", "clip", "size", "view", "children", "pilled", "index", "className"];
21
+ var _excluded = ["id", "stretch", "disabled", "clip", "size", "view", "children", "pilled", "index", "className", "hasDivider", "outsideScroll"];
21
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
23
24
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -27,6 +28,11 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
27
28
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
28
29
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
29
30
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
31
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
32
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
33
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
34
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
35
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
30
36
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
31
37
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
32
38
  var Keys = /*#__PURE__*/function (Keys) {
@@ -52,7 +58,17 @@ var horizontalTabsRoot = exports.horizontalTabsRoot = function horizontalTabsRoo
52
58
  pilled = _props$pilled === void 0 ? false : _props$pilled,
53
59
  index = props.index,
54
60
  className = props.className,
61
+ _props$hasDivider = props.hasDivider,
62
+ hasDivider = _props$hasDivider === void 0 ? true : _props$hasDivider,
63
+ outsideScroll = props.outsideScroll,
55
64
  rest = _objectWithoutProperties(props, _excluded);
65
+ var restRootProps = size && (0, _const.isHeaderSize)(size) ? _objectSpread({
66
+ size: size
67
+ }, rest) : _objectSpread({
68
+ size: size,
69
+ pilled: pilled,
70
+ outsideScroll: outsideScroll
71
+ }, rest);
56
72
  var _useState = (0, _react.useState)(true),
57
73
  _useState2 = _slicedToArray(_useState, 2),
58
74
  firstItemVisible = _useState2[0],
@@ -69,6 +85,7 @@ var horizontalTabsRoot = exports.horizontalTabsRoot = function horizontalTabsRoo
69
85
  var isFilled = view === 'filled'; // outer padding is only for filled view
70
86
  var pilledAttr = view !== 'clear' && pilled;
71
87
  var pilledClass = pilledAttr ? _tokens.classes.tabsPilled : undefined;
88
+ var noDividerClass = !hasDivider ? _tokens.classes.tabsNoDivider : undefined;
72
89
  var stretchClass = firstItemVisible && lastItemVisible && stretch ? _tokens.classes.tabsStretch : undefined;
73
90
  var hasLeftArrowClass = !firstItemVisible ? _tokens.classes.tabsHasLeftArrow : undefined;
74
91
  var hasRightArrowClass = !lastItemVisible ? _tokens.classes.tabsHasRightArrow : undefined;
@@ -199,14 +216,12 @@ var horizontalTabsRoot = exports.horizontalTabsRoot = function horizontalTabsRoo
199
216
  }, /*#__PURE__*/_react["default"].createElement(Root, _extends({
200
217
  view: view,
201
218
  role: "tablist",
202
- size: size,
203
- pilled: pilled,
204
219
  id: tabsId,
205
220
  ref: outerRef,
206
221
  disabled: disabled,
207
- className: (0, _utils.cx)(pilledClass, stretchClass, hasLeftArrowClass, hasRightArrowClass, className),
222
+ className: (0, _utils.cx)(pilledClass, stretchClass, hasLeftArrowClass, hasRightArrowClass, noDividerClass, className),
208
223
  onKeyDown: onKeyDown
209
- }, rest), !firstItemVisible && PreviousButton, /*#__PURE__*/_react["default"].createElement(_HorizontalTabs.StyledContentWrapper, {
224
+ }, restRootProps), !firstItemVisible && PreviousButton, /*#__PURE__*/_react["default"].createElement(_HorizontalTabs.StyledContentWrapper, {
210
225
  className: (0, _utils.cx)(clipScrollClass, clipShowAllClass),
211
226
  ref: scrollRef,
212
227
  onScroll: handleScroll
@@ -6,4 +6,4 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.base = void 0;
7
7
  var _react = /*#__PURE__*/require("@emotion/react");
8
8
  var _tokens = /*#__PURE__*/require("../../../../../tokens");
9
- var base = exports.base = /*#__PURE__*/(0, _react.css)("background-color:var(", _tokens.tokens.tabsBackgroundColor, ");&::after{content:'';position:absolute;bottom:0.125rem;left:0.125rem;right:0.125rem;background:var(", _tokens.tokens.tabsDividerColor, ");height:var(", _tokens.tokens.tabsDividerHeight, ");border-radius:var(", _tokens.tokens.tabsDividerBorderRadius, ");}&.", _tokens.classes.tabsHasLeftArrow, "{&::after{left:1.5rem;}}&.", _tokens.classes.tabsHasRightArrow, "{&::after{right:1.5rem;}};label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGFicy91aS9ob3Jpem9udGFsL0hvcml6b250YWxUYWJzL3ZhcmlhdGlvbnMvX3ZpZXcvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJdUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UYWJzL3VpL2hvcml6b250YWwvSG9yaXpvbnRhbFRhYnMvdmFyaWF0aW9ucy9fdmlldy9iYXNlLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG5pbXBvcnQgeyBjbGFzc2VzLCB0b2tlbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90b2tlbnMnO1xuXG5leHBvcnQgY29uc3QgYmFzZSA9IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoJHt0b2tlbnMudGFic0JhY2tncm91bmRDb2xvcn0pO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDAuMTI1cmVtO1xuICAgICAgICBsZWZ0OiAwLjEyNXJlbTtcbiAgICAgICAgcmlnaHQ6IDAuMTI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoJHt0b2tlbnMudGFic0RpdmlkZXJDb2xvcn0pO1xuICAgICAgICBoZWlnaHQ6IHZhcigke3Rva2Vucy50YWJzRGl2aWRlckhlaWdodH0pO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoJHt0b2tlbnMudGFic0RpdmlkZXJCb3JkZXJSYWRpdXN9KTtcbiAgICB9XG5cbiAgICAmLiR7Y2xhc3Nlcy50YWJzSGFzTGVmdEFycm93fSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuJHtjbGFzc2VzLnRhYnNIYXNSaWdodEFycm93fSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5gO1xuIl19 */"));
9
+ var base = exports.base = /*#__PURE__*/(0, _react.css)("background-color:var(", _tokens.tokens.tabsBackgroundColor, ");&::after{content:'';position:absolute;bottom:0.125rem;left:0.125rem;right:0.125rem;background:var(", _tokens.tokens.tabsDividerColor, ");height:var(", _tokens.tokens.tabsDividerHeight, ");border-radius:var(", _tokens.tokens.tabsDividerBorderRadius, ");}&.", _tokens.classes.tabsHasLeftArrow, "{&::after{left:1.5rem;}}&.", _tokens.classes.tabsHasRightArrow, "{&::after{right:1.5rem;}}&.", _tokens.classes.tabsNoDivider, "{&::after{height:0;}};label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGFicy91aS9ob3Jpem9udGFsL0hvcml6b250YWxUYWJzL3ZhcmlhdGlvbnMvX3ZpZXcvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJdUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UYWJzL3VpL2hvcml6b250YWwvSG9yaXpvbnRhbFRhYnMvdmFyaWF0aW9ucy9fdmlldy9iYXNlLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG5pbXBvcnQgeyBjbGFzc2VzLCB0b2tlbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90b2tlbnMnO1xuXG5leHBvcnQgY29uc3QgYmFzZSA9IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoJHt0b2tlbnMudGFic0JhY2tncm91bmRDb2xvcn0pO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDAuMTI1cmVtO1xuICAgICAgICBsZWZ0OiAwLjEyNXJlbTtcbiAgICAgICAgcmlnaHQ6IDAuMTI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoJHt0b2tlbnMudGFic0RpdmlkZXJDb2xvcn0pO1xuICAgICAgICBoZWlnaHQ6IHZhcigke3Rva2Vucy50YWJzRGl2aWRlckhlaWdodH0pO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoJHt0b2tlbnMudGFic0RpdmlkZXJCb3JkZXJSYWRpdXN9KTtcbiAgICB9XG5cbiAgICAmLiR7Y2xhc3Nlcy50YWJzSGFzTGVmdEFycm93fSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuJHtjbGFzc2VzLnRhYnNIYXNSaWdodEFycm93fSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLiR7Y2xhc3Nlcy50YWJzTm9EaXZpZGVyfSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbmA7XG4iXX0= */"));
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isHeaderSize = void 0;
7
+ var headerSizes = ['h1', 'h2', 'h3', 'h4', 'h5'];
8
+ var isHeaderSize = exports.isHeaderSize = function isHeaderSize(size) {
9
+ return headerSizes.includes(size);
10
+ };