@alfalab/core-components-tabs 10.0.7 → 10.0.8-alfasans

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/components/primary-tablist/Component.collapsible.js.map +1 -1
  2. package/components/primary-tablist/Component.js.map +1 -1
  3. package/components/primary-tablist/Component.mobile.d.ts +1 -1
  4. package/components/primary-tablist/index.css +180 -167
  5. package/components/primary-tablist/index.module.css.js +1 -1
  6. package/components/primary-tablist/index.module.css.js.map +1 -1
  7. package/components/primary-tablist/mobile.css +317 -291
  8. package/components/primary-tablist/mobile.module.css.js +1 -1
  9. package/components/primary-tablist/mobile.module.css.js.map +1 -1
  10. package/components/scroll-controls/Component.d.ts +1 -1
  11. package/components/scroll-controls/Component.js.map +1 -1
  12. package/components/scroll-controls/index.css +11 -11
  13. package/components/scroll-controls/index.module.css.js +1 -1
  14. package/components/scroll-controls/index.module.css.js.map +1 -1
  15. package/components/scroll-controls/utils.js.map +1 -1
  16. package/components/scrollable-container/Component.d.ts +2 -2
  17. package/components/scrollable-container/Component.js.map +1 -1
  18. package/components/scrollable-container/index.css +5 -5
  19. package/components/scrollable-container/index.module.css.js +1 -1
  20. package/components/scrollable-container/index.module.css.js.map +1 -1
  21. package/components/secondary-tablist/Component.desktop.d.ts +1 -1
  22. package/components/secondary-tablist/Component.js.map +1 -1
  23. package/components/secondary-tablist/Component.mobile.d.ts +1 -1
  24. package/components/secondary-tablist/index.css +18 -18
  25. package/components/secondary-tablist/index.module.css.js +1 -1
  26. package/components/secondary-tablist/index.module.css.js.map +1 -1
  27. package/components/secondary-tablist/mobile.css +22 -22
  28. package/components/secondary-tablist/mobile.module.css.js +1 -1
  29. package/components/tab/Component.d.ts +2 -2
  30. package/components/tab/Component.js.map +1 -1
  31. package/components/tab/index.css +2 -2
  32. package/components/tab/index.module.css.js +1 -1
  33. package/components/tabs/Component.collapsible.d.ts +1 -1
  34. package/components/tabs/Component.d.ts +1 -1
  35. package/components/tabs/Component.desktop.d.ts +1 -1
  36. package/components/tabs/Component.mobile.d.ts +1 -1
  37. package/components/tabs/Component.responsive.d.ts +1 -1
  38. package/components/title/Component.d.ts +5 -5
  39. package/components/title/Component.js.map +1 -1
  40. package/cssm/components/primary-tablist/Component.collapsible.js.map +1 -1
  41. package/cssm/components/primary-tablist/Component.js.map +1 -1
  42. package/cssm/components/primary-tablist/Component.mobile.d.ts +1 -1
  43. package/cssm/components/primary-tablist/index.module.css +48 -35
  44. package/cssm/components/primary-tablist/mobile.module.css +48 -35
  45. package/cssm/components/scroll-controls/Component.d.ts +1 -1
  46. package/cssm/components/scroll-controls/Component.js.map +1 -1
  47. package/cssm/components/scroll-controls/utils.js.map +1 -1
  48. package/cssm/components/scrollable-container/Component.d.ts +2 -2
  49. package/cssm/components/scrollable-container/Component.js.map +1 -1
  50. package/cssm/components/secondary-tablist/Component.desktop.d.ts +1 -1
  51. package/cssm/components/secondary-tablist/Component.js.map +1 -1
  52. package/cssm/components/secondary-tablist/Component.mobile.d.ts +1 -1
  53. package/cssm/components/tab/Component.d.ts +2 -2
  54. package/cssm/components/tab/Component.js.map +1 -1
  55. package/cssm/components/tabs/Component.collapsible.d.ts +1 -1
  56. package/cssm/components/tabs/Component.d.ts +1 -1
  57. package/cssm/components/tabs/Component.desktop.d.ts +1 -1
  58. package/cssm/components/tabs/Component.mobile.d.ts +1 -1
  59. package/cssm/components/tabs/Component.responsive.d.ts +1 -1
  60. package/cssm/components/title/Component.d.ts +5 -5
  61. package/cssm/components/title/Component.js.map +1 -1
  62. package/cssm/hooks/use-collapsible-elements.js.map +1 -1
  63. package/cssm/hooks/use-tablist-titles.d.ts +16 -17
  64. package/cssm/hooks/use-tablist-titles.js.map +1 -1
  65. package/cssm/hooks/use-tabs.d.ts +1 -1
  66. package/cssm/hooks/use-tabs.js.map +1 -1
  67. package/cssm/typings.d.ts +5 -5
  68. package/esm/components/primary-tablist/Component.collapsible.js.map +1 -1
  69. package/esm/components/primary-tablist/Component.js.map +1 -1
  70. package/esm/components/primary-tablist/Component.mobile.d.ts +1 -1
  71. package/esm/components/primary-tablist/index.css +180 -167
  72. package/esm/components/primary-tablist/index.module.css.js +1 -1
  73. package/esm/components/primary-tablist/index.module.css.js.map +1 -1
  74. package/esm/components/primary-tablist/mobile.css +317 -291
  75. package/esm/components/primary-tablist/mobile.module.css.js +1 -1
  76. package/esm/components/primary-tablist/mobile.module.css.js.map +1 -1
  77. package/esm/components/scroll-controls/Component.d.ts +1 -1
  78. package/esm/components/scroll-controls/Component.js.map +1 -1
  79. package/esm/components/scroll-controls/index.css +11 -11
  80. package/esm/components/scroll-controls/index.module.css.js +1 -1
  81. package/esm/components/scroll-controls/index.module.css.js.map +1 -1
  82. package/esm/components/scroll-controls/utils.js.map +1 -1
  83. package/esm/components/scrollable-container/Component.d.ts +2 -2
  84. package/esm/components/scrollable-container/Component.js.map +1 -1
  85. package/esm/components/scrollable-container/index.css +5 -5
  86. package/esm/components/scrollable-container/index.module.css.js +1 -1
  87. package/esm/components/scrollable-container/index.module.css.js.map +1 -1
  88. package/esm/components/secondary-tablist/Component.desktop.d.ts +1 -1
  89. package/esm/components/secondary-tablist/Component.js.map +1 -1
  90. package/esm/components/secondary-tablist/Component.mobile.d.ts +1 -1
  91. package/esm/components/secondary-tablist/index.css +18 -18
  92. package/esm/components/secondary-tablist/index.module.css.js +1 -1
  93. package/esm/components/secondary-tablist/index.module.css.js.map +1 -1
  94. package/esm/components/secondary-tablist/mobile.css +22 -22
  95. package/esm/components/secondary-tablist/mobile.module.css.js +1 -1
  96. package/esm/components/tab/Component.d.ts +2 -2
  97. package/esm/components/tab/Component.js.map +1 -1
  98. package/esm/components/tab/index.css +2 -2
  99. package/esm/components/tab/index.module.css.js +1 -1
  100. package/esm/components/tabs/Component.collapsible.d.ts +1 -1
  101. package/esm/components/tabs/Component.d.ts +1 -1
  102. package/esm/components/tabs/Component.desktop.d.ts +1 -1
  103. package/esm/components/tabs/Component.mobile.d.ts +1 -1
  104. package/esm/components/tabs/Component.responsive.d.ts +1 -1
  105. package/esm/components/title/Component.d.ts +5 -5
  106. package/esm/components/title/Component.js.map +1 -1
  107. package/esm/hooks/use-collapsible-elements.js.map +1 -1
  108. package/esm/hooks/use-tablist-titles.d.ts +16 -17
  109. package/esm/hooks/use-tablist-titles.js.map +1 -1
  110. package/esm/hooks/use-tabs.d.ts +1 -1
  111. package/esm/hooks/use-tabs.js.map +1 -1
  112. package/esm/typings.d.ts +5 -5
  113. package/hooks/use-collapsible-elements.js.map +1 -1
  114. package/hooks/use-tablist-titles.d.ts +16 -16
  115. package/hooks/use-tablist-titles.js.map +1 -1
  116. package/hooks/use-tabs.d.ts +1 -1
  117. package/hooks/use-tabs.js.map +1 -1
  118. package/modern/components/primary-tablist/Component.collapsible.js.map +1 -1
  119. package/modern/components/primary-tablist/Component.js.map +1 -1
  120. package/modern/components/primary-tablist/Component.mobile.d.ts +1 -1
  121. package/modern/components/primary-tablist/index.css +180 -167
  122. package/modern/components/primary-tablist/index.module.css.js +1 -1
  123. package/modern/components/primary-tablist/index.module.css.js.map +1 -1
  124. package/modern/components/primary-tablist/mobile.css +317 -291
  125. package/modern/components/primary-tablist/mobile.module.css.js +1 -1
  126. package/modern/components/primary-tablist/mobile.module.css.js.map +1 -1
  127. package/modern/components/scroll-controls/Component.d.ts +1 -1
  128. package/modern/components/scroll-controls/Component.js.map +1 -1
  129. package/modern/components/scroll-controls/index.css +11 -11
  130. package/modern/components/scroll-controls/index.module.css.js +1 -1
  131. package/modern/components/scroll-controls/index.module.css.js.map +1 -1
  132. package/modern/components/scroll-controls/utils.js.map +1 -1
  133. package/modern/components/scrollable-container/Component.d.ts +2 -2
  134. package/modern/components/scrollable-container/Component.js.map +1 -1
  135. package/modern/components/scrollable-container/index.css +5 -5
  136. package/modern/components/scrollable-container/index.module.css.js +1 -1
  137. package/modern/components/scrollable-container/index.module.css.js.map +1 -1
  138. package/modern/components/secondary-tablist/Component.desktop.d.ts +1 -1
  139. package/modern/components/secondary-tablist/Component.js.map +1 -1
  140. package/modern/components/secondary-tablist/Component.mobile.d.ts +1 -1
  141. package/modern/components/secondary-tablist/index.css +18 -18
  142. package/modern/components/secondary-tablist/index.module.css.js +1 -1
  143. package/modern/components/secondary-tablist/index.module.css.js.map +1 -1
  144. package/modern/components/secondary-tablist/mobile.css +22 -22
  145. package/modern/components/secondary-tablist/mobile.module.css.js +1 -1
  146. package/modern/components/tab/Component.d.ts +2 -2
  147. package/modern/components/tab/Component.js.map +1 -1
  148. package/modern/components/tab/index.css +2 -2
  149. package/modern/components/tab/index.module.css.js +1 -1
  150. package/modern/components/tabs/Component.collapsible.d.ts +1 -1
  151. package/modern/components/tabs/Component.d.ts +1 -1
  152. package/modern/components/tabs/Component.desktop.d.ts +1 -1
  153. package/modern/components/tabs/Component.mobile.d.ts +1 -1
  154. package/modern/components/tabs/Component.responsive.d.ts +1 -1
  155. package/modern/components/title/Component.d.ts +5 -5
  156. package/modern/components/title/Component.js.map +1 -1
  157. package/modern/hooks/use-collapsible-elements.js.map +1 -1
  158. package/modern/hooks/use-tablist-titles.d.ts +16 -17
  159. package/modern/hooks/use-tablist-titles.js.map +1 -1
  160. package/modern/hooks/use-tabs.d.ts +1 -1
  161. package/modern/hooks/use-tabs.js.map +1 -1
  162. package/modern/typings.d.ts +5 -5
  163. package/moderncssm/components/primary-tablist/Component.collapsible.js.map +1 -1
  164. package/moderncssm/components/primary-tablist/Component.js.map +1 -1
  165. package/moderncssm/components/primary-tablist/Component.mobile.d.ts +1 -1
  166. package/moderncssm/components/primary-tablist/index.module.css +45 -30
  167. package/moderncssm/components/primary-tablist/mobile.module.css +45 -30
  168. package/moderncssm/components/scroll-controls/Component.d.ts +1 -1
  169. package/moderncssm/components/scroll-controls/Component.js.map +1 -1
  170. package/moderncssm/components/scroll-controls/utils.js.map +1 -1
  171. package/moderncssm/components/scrollable-container/Component.d.ts +2 -2
  172. package/moderncssm/components/scrollable-container/Component.js.map +1 -1
  173. package/moderncssm/components/secondary-tablist/Component.desktop.d.ts +1 -1
  174. package/moderncssm/components/secondary-tablist/Component.js.map +1 -1
  175. package/moderncssm/components/secondary-tablist/Component.mobile.d.ts +1 -1
  176. package/moderncssm/components/tab/Component.d.ts +2 -2
  177. package/moderncssm/components/tab/Component.js.map +1 -1
  178. package/moderncssm/components/tabs/Component.collapsible.d.ts +1 -1
  179. package/moderncssm/components/tabs/Component.d.ts +1 -1
  180. package/moderncssm/components/tabs/Component.desktop.d.ts +1 -1
  181. package/moderncssm/components/tabs/Component.mobile.d.ts +1 -1
  182. package/moderncssm/components/tabs/Component.responsive.d.ts +1 -1
  183. package/moderncssm/components/title/Component.d.ts +5 -5
  184. package/moderncssm/components/title/Component.js.map +1 -1
  185. package/moderncssm/hooks/use-collapsible-elements.js.map +1 -1
  186. package/moderncssm/hooks/use-tablist-titles.d.ts +16 -17
  187. package/moderncssm/hooks/use-tablist-titles.js.map +1 -1
  188. package/moderncssm/hooks/use-tabs.d.ts +1 -1
  189. package/moderncssm/hooks/use-tabs.js.map +1 -1
  190. package/moderncssm/typings.d.ts +5 -5
  191. package/package.json +12 -12
  192. package/src/components/primary-tablist/index.module.css +1 -1
  193. package/src/components/primary-tablist/mobile.module.css +1 -1
  194. package/src/components/primary-tablist/text-styles.module.css +1 -1
  195. package/src/components/scroll-controls/index.module.css +1 -1
  196. package/src/components/scrollable-container/index.module.css +1 -1
  197. package/src/components/secondary-tablist/index.module.css +1 -1
  198. package/src/components/tab/Component.tsx +3 -3
  199. package/src/vars.css +1 -1
  200. package/typings.d.ts +5 -5
@@ -1,6 +1,6 @@
1
1
  import './mobile.css';
2
2
 
3
- const mobileStyles = {"title":"tabs__title_2favr tabs__title_1psse","mobile":"tabs__mobile_2favr","paragraph-primary-large":"tabs__paragraph-primary-large_2favr","paragraph-primary-medium":"tabs__paragraph-primary-medium_2favr","paragraph-primary-small":"tabs__paragraph-primary-small_2favr","action-primary-large":"tabs__action-primary-large_2favr","action-primary-medium":"tabs__action-primary-medium_2favr","action-primary-small":"tabs__action-primary-small_2favr","accent-primary-large":"tabs__accent-primary-large_2favr","accent-primary-medium":"tabs__accent-primary-medium_2favr","accent-primary-small":"tabs__accent-primary-small_2favr","pickerWrapper":"tabs__pickerWrapper_2favr","option":"tabs__option_2favr","scrollControls":"tabs__scrollControls_2favr","headline-system-xlarge":"tabs__headline-system-xlarge_2favr","headline-system-large":"tabs__headline-system-large_2favr","headline-system-medium":"tabs__headline-system-medium_2favr","headline-system-small":"tabs__headline-system-small_2favr","headline-system-xsmall":"tabs__headline-system-xsmall_2favr","headline-xlarge":"tabs__headline-xlarge_2favr","headline-large":"tabs__headline-large_2favr","headline-medium":"tabs__headline-medium_2favr","headline-small":"tabs__headline-small_2favr","headline-xsmall":"tabs__headline-xsmall_2favr","noTextStyle":"tabs__noTextStyle_2favr"};
3
+ const mobileStyles = {"title":"tabs__title_1gf93 tabs__title_1hn1u","mobile":"tabs__mobile_1gf93","paragraph-primary-large":"tabs__paragraph-primary-large_1gf93","paragraph-primary-medium":"tabs__paragraph-primary-medium_1gf93","paragraph-primary-small":"tabs__paragraph-primary-small_1gf93","action-primary-large":"tabs__action-primary-large_1gf93","action-primary-medium":"tabs__action-primary-medium_1gf93","action-primary-small":"tabs__action-primary-small_1gf93","accent-primary-large":"tabs__accent-primary-large_1gf93","accent-primary-medium":"tabs__accent-primary-medium_1gf93","accent-primary-small":"tabs__accent-primary-small_1gf93","pickerWrapper":"tabs__pickerWrapper_1gf93","option":"tabs__option_1gf93","scrollControls":"tabs__scrollControls_1gf93","headline-system-xlarge":"tabs__headline-system-xlarge_1gf93","headline-system-large":"tabs__headline-system-large_1gf93","headline-system-medium":"tabs__headline-system-medium_1gf93","headline-system-small":"tabs__headline-system-small_1gf93","headline-system-xsmall":"tabs__headline-system-xsmall_1gf93","headline-xlarge":"tabs__headline-xlarge_1gf93","headline-large":"tabs__headline-large_1gf93","headline-medium":"tabs__headline-medium_1gf93","headline-small":"tabs__headline-small_1gf93","headline-xsmall":"tabs__headline-xsmall_1gf93","noTextStyle":"tabs__noTextStyle_1gf93"};
4
4
 
5
5
  export { mobileStyles as default };
6
6
  //# sourceMappingURL=mobile.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mobile.module.css.js","sources":["../../src/components/primary-tablist/mobile.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n@import '../../vars.css';\n@import './text-styles.module.css';\n\n.title {\n composes: title from 'index.module.css';\n}\n\n.mobile {\n & .title {\n padding: var(--primary-tablist-mobile-padding);\n\n & + .title {\n margin-left: var(--primary-tablist-mobile-gaps);\n }\n }\n\n @mixin text-style;\n @mixin text-style-mobile;\n}\n\n.title.noTextStyle {\n @mixin paragraph_primary_medium;\n}\n"],"names":[],"mappings":";;AAEgB,qBAAe,CAAC,OAAO,CAAC,qCAAqC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,qCAAqC,CAAC,0BAA0B,CAAC,sCAAsC,CAAC,yBAAyB,CAAC,qCAAqC,CAAC,sBAAsB,CAAC,kCAAkC,CAAC,uBAAuB,CAAC,mCAAmC,CAAC,sBAAsB,CAAC,kCAAkC,CAAC,sBAAsB,CAAC,kCAAkC,CAAC,uBAAuB,CAAC,mCAAmC,CAAC,sBAAsB,CAAC,kCAAkC,CAAC,eAAe,CAAC,2BAA2B,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,wBAAwB,CAAC,oCAAoC,CAAC,uBAAuB,CAAC,mCAAmC,CAAC,wBAAwB,CAAC,oCAAoC,CAAC,uBAAuB,CAAC,mCAAmC,CAAC,wBAAwB,CAAC,oCAAoC,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,aAAa,CAAC,yBAAyB,CAAC;;;;"}
1
+ {"version":3,"file":"mobile.module.css.js","sources":["../../src/components/primary-tablist/mobile.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../vars.css';\n@import './text-styles.module.css';\n\n.title {\n composes: title from 'index.module.css';\n}\n\n.mobile {\n & .title {\n padding: var(--primary-tablist-mobile-padding);\n\n & + .title {\n margin-left: var(--primary-tablist-mobile-gaps);\n }\n }\n\n @mixin text-style;\n @mixin text-style-mobile;\n}\n\n.title.noTextStyle {\n @mixin paragraph_primary_medium;\n}\n"],"names":[],"mappings":";;AAEgB,qBAAe,CAAC,OAAO,CAAC,qCAAqC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,qCAAqC,CAAC,0BAA0B,CAAC,sCAAsC,CAAC,yBAAyB,CAAC,qCAAqC,CAAC,sBAAsB,CAAC,kCAAkC,CAAC,uBAAuB,CAAC,mCAAmC,CAAC,sBAAsB,CAAC,kCAAkC,CAAC,sBAAsB,CAAC,kCAAkC,CAAC,uBAAuB,CAAC,mCAAmC,CAAC,sBAAsB,CAAC,kCAAkC,CAAC,eAAe,CAAC,2BAA2B,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,wBAAwB,CAAC,oCAAoC,CAAC,uBAAuB,CAAC,mCAAmC,CAAC,wBAAwB,CAAC,oCAAoC,CAAC,uBAAuB,CAAC,mCAAmC,CAAC,wBAAwB,CAAC,oCAAoC,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,aAAa,CAAC,yBAAyB,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
1
  import React, { type RefObject } from 'react';
2
2
  import { type TabsProps } from '../../typings';
3
- declare type ScrollControlsProps = {
3
+ type ScrollControlsProps = {
4
4
  className?: string;
5
5
  view: Exclude<TabsProps['view'], undefined>;
6
6
  size: TabsProps['size'];
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/scroll-controls/Component.tsx"],"sourcesContent":["import React, { forwardRef, type RefObject, useEffect, useState } from 'react';\nimport cn from 'classnames';\nimport _debounce from 'lodash/debounce';\n\nimport { IconButton } from '@alfalab/core-components-icon-button';\nimport { ChevronLeftCompactSIcon } from '@alfalab/icons-glyph/ChevronLeftCompactSIcon';\nimport { ChevronRightCompactSIcon } from '@alfalab/icons-glyph/ChevronRightCompactSIcon';\n\nimport { type TabsProps } from '../../typings';\n\nimport { getDisabledState, scrollIntoFirstTab, scrollIntoLastTab } from './utils';\n\nimport styles from './index.module.css';\n\ntype ScrollControlsProps = {\n className?: string;\n view: Exclude<TabsProps['view'], undefined>;\n size: TabsProps['size'];\n containerRef: RefObject<HTMLDivElement>;\n showSkeleton?: boolean;\n};\n\nexport const ScrollControls = forwardRef<HTMLDivElement, ScrollControlsProps>(\n ({ containerRef, view, size: sizeProp, className, showSkeleton }, ref) => {\n const container = containerRef.current;\n const [disabledState, updateDisabledState] = useState(() => getDisabledState(container));\n\n useEffect(() => {\n const handleScroll = _debounce(\n () => updateDisabledState(getDisabledState(container)),\n 100,\n { leading: true, maxWait: 100, trailing: true },\n );\n\n container?.addEventListener('scroll', handleScroll);\n\n return () => container?.removeEventListener('scroll', handleScroll);\n }, [container]);\n\n const getSize = () => {\n if (view === 'primary') {\n return sizeProp === 'xl' ? 32 : 24;\n }\n\n return sizeProp && ['s', 'm', 'l', 'xl'].includes(sizeProp) ? 48 : 32;\n };\n\n const handleScrollLeft = () => scrollIntoFirstTab(container);\n\n const handleScrollRight = () => scrollIntoLastTab(container);\n\n const commonButtonProps = {\n className: styles.button,\n size: getSize(),\n view: 'secondary',\n } as const;\n\n return (\n <div\n ref={ref}\n className={cn(\n styles.component,\n styles[view],\n sizeProp && styles[sizeProp],\n className,\n {\n [styles.borderVisible]: !disabledState.toRight,\n },\n )}\n >\n <IconButton\n {...commonButtonProps}\n icon={ChevronLeftCompactSIcon}\n disabled={disabledState.toLeft || showSkeleton}\n onClick={handleScrollLeft}\n />\n <IconButton\n {...commonButtonProps}\n icon={ChevronRightCompactSIcon}\n disabled={disabledState.toRight || showSkeleton}\n onClick={handleScrollRight}\n />\n </div>\n );\n },\n);\n\nScrollControls.displayName = 'ScrollControls';\n"],"names":[],"mappings":";;;;;;;;;MAsBa,cAAc,GAAG,UAAU,CACpC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,GAAG,KAAI;AACrE,IAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,IAAA,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAExF,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,YAAY,GAAG,SAAS,CAC1B,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EACtD,GAAG,EACH,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAClD;AAED,QAAA,SAAS,EAAE,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC;QAEnD,OAAO,MAAM,SAAS,EAAE,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC;AACvE,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAEf,MAAM,OAAO,GAAG,MAAK;QACjB,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,OAAO,QAAQ,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE;AACrC;QAED,OAAO,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;AACzE,KAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC;IAE5D,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC;AAE5D,IAAA,MAAM,iBAAiB,GAAG;QACtB,SAAS,EAAE,MAAM,CAAC,MAAM;QACxB,IAAI,EAAE,OAAO,EAAE;AACf,QAAA,IAAI,EAAE,WAAW;KACX;IAEV,QACI,KACI,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACT,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,IAAI,CAAC,EACZ,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EAC5B,SAAS,EACT;YACI,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,aAAa,CAAC,OAAO;SACjD,CACJ,EAAA;AAED,QAAA,KAAA,CAAA,aAAA,CAAC,UAAU,EACH,EAAA,GAAA,iBAAiB,EACrB,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,EAAE,aAAa,CAAC,MAAM,IAAI,YAAY,EAC9C,OAAO,EAAE,gBAAgB,EAC3B,CAAA;QACF,KAAC,CAAA,aAAA,CAAA,UAAU,OACH,iBAAiB,EACrB,IAAI,EAAE,wBAAwB,EAC9B,QAAQ,EAAE,aAAa,CAAC,OAAO,IAAI,YAAY,EAC/C,OAAO,EAAE,iBAAiB,EAAA,CAC5B,CACA;AAEd,CAAC;AAGL,cAAc,CAAC,WAAW,GAAG,gBAAgB;;;;"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/scroll-controls/Component.tsx"],"sourcesContent":["import React, { forwardRef, type RefObject, useEffect, useState } from 'react';\nimport cn from 'classnames';\nimport _debounce from 'lodash/debounce';\n\nimport { IconButton } from '@alfalab/core-components-icon-button';\nimport { ChevronLeftCompactSIcon } from '@alfalab/icons-glyph/ChevronLeftCompactSIcon';\nimport { ChevronRightCompactSIcon } from '@alfalab/icons-glyph/ChevronRightCompactSIcon';\n\nimport { type TabsProps } from '../../typings';\n\nimport { getDisabledState, scrollIntoFirstTab, scrollIntoLastTab } from './utils';\n\nimport styles from './index.module.css';\n\ntype ScrollControlsProps = {\n className?: string;\n view: Exclude<TabsProps['view'], undefined>;\n size: TabsProps['size'];\n containerRef: RefObject<HTMLDivElement>;\n showSkeleton?: boolean;\n};\n\nexport const ScrollControls = forwardRef<HTMLDivElement, ScrollControlsProps>(\n ({ containerRef, view, size: sizeProp, className, showSkeleton }, ref) => {\n const container = containerRef.current;\n const [disabledState, updateDisabledState] = useState(() => getDisabledState(container));\n\n useEffect(() => {\n const handleScroll = _debounce(\n () => updateDisabledState(getDisabledState(container)),\n 100,\n { leading: true, maxWait: 100, trailing: true },\n );\n\n container?.addEventListener('scroll', handleScroll);\n\n return () => container?.removeEventListener('scroll', handleScroll);\n }, [container]);\n\n const getSize = () => {\n if (view === 'primary') {\n return sizeProp === 'xl' ? 32 : 24;\n }\n\n return sizeProp && ['s', 'm', 'l', 'xl'].includes(sizeProp) ? 48 : 32;\n };\n\n const handleScrollLeft = () => scrollIntoFirstTab(container);\n\n const handleScrollRight = () => scrollIntoLastTab(container);\n\n const commonButtonProps = {\n className: styles.button,\n size: getSize(),\n view: 'secondary',\n } as const;\n\n return (\n <div\n ref={ref}\n className={cn(\n styles.component,\n styles[view],\n sizeProp && styles[sizeProp],\n className,\n {\n [styles.borderVisible]: !disabledState.toRight,\n },\n )}\n >\n <IconButton\n {...commonButtonProps}\n icon={ChevronLeftCompactSIcon}\n disabled={disabledState.toLeft || showSkeleton}\n onClick={handleScrollLeft}\n />\n <IconButton\n {...commonButtonProps}\n icon={ChevronRightCompactSIcon}\n disabled={disabledState.toRight || showSkeleton}\n onClick={handleScrollRight}\n />\n </div>\n );\n },\n);\n\nScrollControls.displayName = 'ScrollControls';\n"],"names":[],"mappings":";;;;;;;;;MAsBa,cAAc,GAAG,UAAU,CACpC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,GAAG,KAAI;AACrE,IAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,IAAA,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAExF,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,YAAY,GAAG,SAAS,CAC1B,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EACtD,GAAG,EACH,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAClD;AAED,QAAA,SAAS,EAAE,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC;QAEnD,OAAO,MAAM,SAAS,EAAE,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC;AACvE,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAEf,MAAM,OAAO,GAAG,MAAK;AACjB,QAAA,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,OAAO,QAAQ,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE;;QAGtC,OAAO,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;AACzE,KAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC;IAE5D,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC;AAE5D,IAAA,MAAM,iBAAiB,GAAG;QACtB,SAAS,EAAE,MAAM,CAAC,MAAM;QACxB,IAAI,EAAE,OAAO,EAAE;AACf,QAAA,IAAI,EAAE,WAAW;KACX;IAEV,QACI,KACI,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACT,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,IAAI,CAAC,EACZ,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EAC5B,SAAS,EACT;YACI,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,aAAa,CAAC,OAAO;SACjD,CACJ,EAAA;AAED,QAAA,KAAA,CAAA,aAAA,CAAC,UAAU,EACH,EAAA,GAAA,iBAAiB,EACrB,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,EAAE,aAAa,CAAC,MAAM,IAAI,YAAY,EAC9C,OAAO,EAAE,gBAAgB,EAC3B,CAAA;QACF,KAAC,CAAA,aAAA,CAAA,UAAU,OACH,iBAAiB,EACrB,IAAI,EAAE,wBAAwB,EAC9B,QAAQ,EAAE,aAAa,CAAC,OAAO,IAAI,YAAY,EAC/C,OAAO,EAAE,iBAAiB,EAAA,CAC5B,CACA;AAEd,CAAC;AAGL,cAAc,CAAC,WAAW,GAAG,gBAAgB;;;;"}
@@ -12,16 +12,16 @@
12
12
  :root {
13
13
  --primary-tablist-bottom-border-color: var(--color-light-neutral-translucent-500);
14
14
  }
15
- .tabs__component_kn4jt {
15
+ .tabs__component_l47fh {
16
16
  position: relative;
17
17
  display: flex;
18
18
  flex-shrink: 0;
19
19
  }
20
- .tabs__primary_kn4jt {
20
+ .tabs__primary_l47fh {
21
21
  align-items: flex-start;
22
22
  justify-content: flex-end;
23
23
  }
24
- .tabs__primary_kn4jt:after {
24
+ .tabs__primary_l47fh:after {
25
25
  content: '';
26
26
  display: block;
27
27
  position: absolute;
@@ -30,21 +30,21 @@
30
30
  width: 100%;
31
31
  background-color: var(--primary-tablist-bottom-border-color);
32
32
  }
33
- .tabs__primary_kn4jt {
33
+ .tabs__primary_l47fh {
34
34
 
35
- .tabs__button_kn4jt:first-child {
35
+ .tabs__button_l47fh:first-child {
36
36
  padding-left: var(--gap-8);
37
37
  margin-right: var(--gap-8);
38
38
  }
39
39
  }
40
- .tabs__primary_kn4jt.tabs__xl_kn4jt .tabs__button_kn4jt:first-child {
40
+ .tabs__primary_l47fh.tabs__xl_l47fh .tabs__button_l47fh:first-child {
41
41
  margin-right: var(--gap-4);
42
42
  }
43
- .tabs__secondary_kn4jt {
43
+ .tabs__secondary_l47fh {
44
44
  align-items: center;
45
45
  justify-content: center;
46
46
  }
47
- .tabs__secondary_kn4jt:before {
47
+ .tabs__secondary_l47fh:before {
48
48
  content: '';
49
49
  display: block;
50
50
  position: absolute;
@@ -55,13 +55,13 @@
55
55
  transition: background-color 0.3s ease;
56
56
  bottom: var(--gap-0);
57
57
  }
58
- .tabs__secondary_kn4jt.tabs__xs_kn4jt {
58
+ .tabs__secondary_l47fh.tabs__xs_l47fh {
59
59
  width: 76px;
60
60
 
61
- .tabs__button_kn4jt:first-child {
61
+ .tabs__button_l47fh:first-child {
62
62
  margin-right: var(--gap-4);
63
63
  }
64
64
  }
65
- .tabs__borderVisible_kn4jt:before {
65
+ .tabs__borderVisible_l47fh:before {
66
66
  background-color: var(--color-light-neutral-translucent-300);
67
67
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"component":"tabs__component_kn4jt","primary":"tabs__primary_kn4jt","button":"tabs__button_kn4jt","xl":"tabs__xl_kn4jt","secondary":"tabs__secondary_kn4jt","xs":"tabs__xs_kn4jt","borderVisible":"tabs__borderVisible_kn4jt"};
3
+ const styles = {"component":"tabs__component_l47fh","primary":"tabs__primary_l47fh","button":"tabs__button_l47fh","xl":"tabs__xl_l47fh","secondary":"tabs__secondary_l47fh","xs":"tabs__xs_l47fh","borderVisible":"tabs__borderVisible_l47fh"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/scroll-controls/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n@import '../../vars.css';\n\n.component {\n position: relative;\n display: flex;\n flex-shrink: 0;\n}\n\n.primary {\n align-items: flex-start;\n justify-content: flex-end;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n bottom: 1px;\n height: 1px;\n width: 100%;\n background-color: var(--primary-tablist-bottom-border-color);\n }\n\n .button:first-child {\n padding-left: var(--gap-8);\n margin-right: var(--gap-8);\n }\n\n &.xl .button:first-child {\n margin-right: var(--gap-4);\n }\n}\n\n.secondary {\n align-items: center;\n justify-content: center;\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: var(--gap-0);\n left: var(--gap-0);\n width: 1px;\n background-color: transparent;\n transition: background-color 0.3s ease;\n bottom: var(--gap-0);\n }\n\n &.xs {\n width: 76px;\n\n .button:first-child {\n margin-right: var(--gap-4);\n }\n }\n}\n\n.borderVisible:before {\n background-color: var(--color-light-neutral-translucent-300);\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,WAAW,CAAC,uBAAuB,CAAC,SAAS,CAAC,qBAAqB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,2BAA2B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/scroll-controls/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../vars.css';\n\n.component {\n position: relative;\n display: flex;\n flex-shrink: 0;\n}\n\n.primary {\n align-items: flex-start;\n justify-content: flex-end;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n bottom: 1px;\n height: 1px;\n width: 100%;\n background-color: var(--primary-tablist-bottom-border-color);\n }\n\n .button:first-child {\n padding-left: var(--gap-8);\n margin-right: var(--gap-8);\n }\n\n &.xl .button:first-child {\n margin-right: var(--gap-4);\n }\n}\n\n.secondary {\n align-items: center;\n justify-content: center;\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: var(--gap-0);\n left: var(--gap-0);\n width: 1px;\n background-color: transparent;\n transition: background-color 0.3s ease;\n bottom: var(--gap-0);\n }\n\n &.xs {\n width: 76px;\n\n .button:first-child {\n margin-right: var(--gap-4);\n }\n }\n}\n\n.borderVisible:before {\n background-color: var(--color-light-neutral-translucent-300);\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,WAAW,CAAC,uBAAuB,CAAC,SAAS,CAAC,qBAAqB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,2BAA2B,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/components/scroll-controls/utils.ts"],"sourcesContent":["const ADDITIONAL_OFFSET = 15;\n\nfunction getTabs(container: HTMLDivElement) {\n return Array.from(container.querySelectorAll<HTMLButtonElement>('button[role=\"tab\"]'));\n}\n\nfunction findLastVisibleTab(container: HTMLDivElement) {\n const tabs = getTabs(container);\n\n return tabs.reduce((res, tab) => {\n if (tab.offsetLeft + ADDITIONAL_OFFSET < container.clientWidth + container.scrollLeft) {\n return tab;\n }\n\n return res;\n }, tabs[0]);\n}\n\nfunction findFirstVisibleTab(container: HTMLDivElement) {\n const tabs = getTabs(container);\n\n return tabs.reduceRight(\n (res, tab) => {\n if (tab.offsetLeft + tab.clientWidth > container.scrollLeft + ADDITIONAL_OFFSET) {\n return tab;\n }\n\n return res;\n },\n tabs[tabs.length - 1],\n );\n}\n\nexport function scrollIntoLastTab(container: HTMLDivElement | null) {\n if (!container) return;\n\n findLastVisibleTab(container).scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'start',\n });\n}\n\nexport function scrollIntoFirstTab(container: HTMLDivElement | null) {\n if (!container) return;\n\n findFirstVisibleTab(container).scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'end',\n });\n}\n\nexport function getDisabledState(container: HTMLDivElement | null) {\n if (!container) return { toLeft: false, toRight: false };\n const scrollOffset = 2;\n\n const toLeft = container.scrollLeft <= scrollOffset;\n const toRight =\n container.scrollLeft + container.clientWidth >= container.scrollWidth - scrollOffset;\n\n return { toLeft, toRight };\n}\n"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,EAAE;AAE5B,SAAS,OAAO,CAAC,SAAyB,EAAA;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAoB,oBAAoB,CAAC,CAAC;AAC1F;AAEA,SAAS,kBAAkB,CAAC,SAAyB,EAAA;AACjD,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;AAC5B,QAAA,IAAI,GAAG,CAAC,UAAU,GAAG,iBAAiB,GAAG,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE;AACnF,YAAA,OAAO,GAAG;AACb;AAED,QAAA,OAAO,GAAG;AACd,KAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACf;AAEA,SAAS,mBAAmB,CAAC,SAAyB,EAAA;AAClD,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAE/B,OAAO,IAAI,CAAC,WAAW,CACnB,CAAC,GAAG,EAAE,GAAG,KAAI;AACT,QAAA,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,GAAG,iBAAiB,EAAE;AAC7E,YAAA,OAAO,GAAG;AACb;AAED,QAAA,OAAO,GAAG;KACb,EACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CACxB;AACL;AAEM,SAAU,iBAAiB,CAAC,SAAgC,EAAA;AAC9D,IAAA,IAAI,CAAC,SAAS;QAAE;AAEhB,IAAA,kBAAkB,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC;AACzC,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,MAAM,EAAE,OAAO;AAClB,KAAA,CAAC;AACN;AAEM,SAAU,kBAAkB,CAAC,SAAgC,EAAA;AAC/D,IAAA,IAAI,CAAC,SAAS;QAAE;AAEhB,IAAA,mBAAmB,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC;AAC1C,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,MAAM,EAAE,KAAK;AAChB,KAAA,CAAC;AACN;AAEM,SAAU,gBAAgB,CAAC,SAAgC,EAAA;AAC7D,IAAA,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;IACxD,MAAM,YAAY,GAAG,CAAC;AAEtB,IAAA,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,IAAI,YAAY;AACnD,IAAA,MAAM,OAAO,GACT,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,GAAG,YAAY;AAExF,IAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;AAC9B;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/components/scroll-controls/utils.ts"],"sourcesContent":["const ADDITIONAL_OFFSET = 15;\n\nfunction getTabs(container: HTMLDivElement) {\n return Array.from(container.querySelectorAll<HTMLButtonElement>('button[role=\"tab\"]'));\n}\n\nfunction findLastVisibleTab(container: HTMLDivElement) {\n const tabs = getTabs(container);\n\n return tabs.reduce((res, tab) => {\n if (tab.offsetLeft + ADDITIONAL_OFFSET < container.clientWidth + container.scrollLeft) {\n return tab;\n }\n\n return res;\n }, tabs[0]);\n}\n\nfunction findFirstVisibleTab(container: HTMLDivElement) {\n const tabs = getTabs(container);\n\n return tabs.reduceRight(\n (res, tab) => {\n if (tab.offsetLeft + tab.clientWidth > container.scrollLeft + ADDITIONAL_OFFSET) {\n return tab;\n }\n\n return res;\n },\n tabs[tabs.length - 1],\n );\n}\n\nexport function scrollIntoLastTab(container: HTMLDivElement | null) {\n if (!container) return;\n\n findLastVisibleTab(container).scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'start',\n });\n}\n\nexport function scrollIntoFirstTab(container: HTMLDivElement | null) {\n if (!container) return;\n\n findFirstVisibleTab(container).scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'end',\n });\n}\n\nexport function getDisabledState(container: HTMLDivElement | null) {\n if (!container) return { toLeft: false, toRight: false };\n const scrollOffset = 2;\n\n const toLeft = container.scrollLeft <= scrollOffset;\n const toRight =\n container.scrollLeft + container.clientWidth >= container.scrollWidth - scrollOffset;\n\n return { toLeft, toRight };\n}\n"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,EAAE;AAE5B,SAAS,OAAO,CAAC,SAAyB,EAAA;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAoB,oBAAoB,CAAC,CAAC;AAC1F;AAEA,SAAS,kBAAkB,CAAC,SAAyB,EAAA;AACjD,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;AAC5B,QAAA,IAAI,GAAG,CAAC,UAAU,GAAG,iBAAiB,GAAG,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE;AACnF,YAAA,OAAO,GAAG;;AAGd,QAAA,OAAO,GAAG;AACd,KAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACf;AAEA,SAAS,mBAAmB,CAAC,SAAyB,EAAA;AAClD,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAE/B,OAAO,IAAI,CAAC,WAAW,CACnB,CAAC,GAAG,EAAE,GAAG,KAAI;AACT,QAAA,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,GAAG,iBAAiB,EAAE;AAC7E,YAAA,OAAO,GAAG;;AAGd,QAAA,OAAO,GAAG;KACb,EACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CACxB;AACL;AAEM,SAAU,iBAAiB,CAAC,SAAgC,EAAA;AAC9D,IAAA,IAAI,CAAC,SAAS;QAAE;AAEhB,IAAA,kBAAkB,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC;AACzC,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,MAAM,EAAE,OAAO;AAClB,KAAA,CAAC;AACN;AAEM,SAAU,kBAAkB,CAAC,SAAgC,EAAA;AAC/D,IAAA,IAAI,CAAC,SAAS;QAAE;AAEhB,IAAA,mBAAmB,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC;AAC1C,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,MAAM,EAAE,KAAK;AAChB,KAAA,CAAC;AACN;AAEM,SAAU,gBAAgB,CAAC,SAAgC,EAAA;AAC7D,IAAA,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;IACxD,MAAM,YAAY,GAAG,CAAC;AAEtB,IAAA,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,IAAI,YAAY;AACnD,IAAA,MAAM,OAAO,GACT,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,GAAG,YAAY;AAExF,IAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;AAC9B;;;;"}
@@ -1,6 +1,6 @@
1
1
  import React, { type ReactNode } from 'react';
2
2
  import { type PlatformProps, type TabsProps } from '../../typings';
3
- export declare type ScrollableContainerProps = {
3
+ export type ScrollableContainerProps = {
4
4
  /**
5
5
  * Дополнительный класс враппера контейнера
6
6
  */
@@ -38,4 +38,4 @@ export declare type ScrollableContainerProps = {
38
38
  */
39
39
  showSkeleton?: boolean;
40
40
  };
41
- export declare const ScrollableContainer: ({ containerWrapperClassName, containerClassName, scrollControlsClassName, children, activeChild, fullWidthScroll, view, size, platform, inlineStyle, showSkeleton, }: ScrollableContainerProps & Pick<TabsProps, 'fullWidthScroll'> & PlatformProps) => React.JSX.Element;
41
+ export declare const ScrollableContainer: ({ containerWrapperClassName, containerClassName, scrollControlsClassName, children, activeChild, fullWidthScroll, view, size, platform, inlineStyle, showSkeleton, }: ScrollableContainerProps & Pick<TabsProps, "fullWidthScroll"> & PlatformProps) => React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/scrollable-container/Component.tsx"],"sourcesContent":["import React, { type ReactNode, useEffect, useRef, useState } from 'react';\nimport cn from 'classnames';\nimport { compute } from 'compute-scroll-into-view';\n\nimport { type PlatformProps, type TabsProps } from '../../typings';\nimport { ScrollControls } from '../scroll-controls';\n\nimport styles from './index.module.css';\n\n/**\n * Дополнительная прокрутка при клике на не поместившийся таб\n */\nconst ADDITIONAL_SCROLL_LEFT_VALUE = 50;\n\nexport type ScrollableContainerProps = {\n /**\n * Дополнительный класс враппера контейнера\n */\n containerWrapperClassName?: string;\n\n /**\n * Дополнительный класс контейнера\n */\n containerClassName?: string;\n\n /**\n * Дополнительный класс кнопок прокрутки\n */\n scrollControlsClassName?: string;\n\n /**\n * Дочерние компоненты\n */\n children: ReactNode;\n\n /**\n * Активный элемент (всегда будет в видимой области)\n */\n activeChild: HTMLElement | null;\n\n /**\n * Внешний вид заголовков табов\n */\n view: Exclude<TabsProps['view'], undefined>;\n\n /**\n * Размер\n */\n size: TabsProps['size'];\n\n /**\n * Дополнительные инлайн стили для заголовка\n */\n inlineStyle?: React.CSSProperties;\n\n /**\n * Показать скелетон\n */\n showSkeleton?: boolean;\n};\n\nconst isOverflown = (\n { clientWidth, scrollWidth }: HTMLDivElement,\n controlsNode: HTMLDivElement | null,\n) => {\n const controlsWidth = controlsNode?.offsetWidth || 0;\n\n return scrollWidth > clientWidth + controlsWidth;\n};\n\nexport const ScrollableContainer = ({\n containerWrapperClassName,\n containerClassName,\n scrollControlsClassName,\n children,\n activeChild,\n fullWidthScroll,\n view,\n size,\n platform,\n inlineStyle,\n showSkeleton,\n}: ScrollableContainerProps & Pick<TabsProps, 'fullWidthScroll'> & PlatformProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const controlsRef = useRef<HTMLDivElement>(null);\n const [overflown, setOverflown] = useState(false);\n\n useEffect(() => {\n if (activeChild) {\n const actions = compute(activeChild, {\n scrollMode: 'if-needed',\n block: 'nearest',\n inline: 'nearest',\n boundary: (parent) => !parent.isSameNode(containerRef.current),\n });\n\n // TODO: animate?\n actions.forEach(({ el, left }) => {\n // eslint-disable-next-line no-param-reassign\n el.scrollLeft =\n el.scrollLeft > left\n ? left - ADDITIONAL_SCROLL_LEFT_VALUE\n : left + ADDITIONAL_SCROLL_LEFT_VALUE;\n });\n }\n }, [activeChild]);\n\n useEffect(() => {\n const scrollableNode = containerRef.current;\n const tabsContainer = scrollableNode?.firstElementChild;\n\n if (platform === 'desktop' && scrollableNode && tabsContainer && window.ResizeObserver) {\n const observerCb = () => {\n if (isOverflown(scrollableNode, controlsRef.current)) {\n setOverflown(true);\n } else {\n setOverflown(false);\n }\n };\n\n const observer = new ResizeObserver(observerCb);\n\n observer.observe(scrollableNode);\n observer.observe(tabsContainer);\n\n return () => observer.disconnect();\n }\n\n return () => {};\n }, [platform]);\n\n return (\n <div\n className={cn(styles.scrollableContainerWrapper, containerWrapperClassName)}\n style={inlineStyle}\n >\n <div\n ref={containerRef}\n className={cn(styles.container, containerClassName, {\n [styles.fullWidthScroll]: fullWidthScroll,\n })}\n >\n {children}\n </div>\n {overflown && platform === 'desktop' ? (\n <ScrollControls\n className={scrollControlsClassName}\n ref={controlsRef}\n containerRef={containerRef}\n view={view}\n size={size}\n showSkeleton={showSkeleton}\n />\n ) : null}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/scrollable-container/Component.tsx"],"sourcesContent":["import React, { type ReactNode, useEffect, useRef, useState } from 'react';\nimport cn from 'classnames';\nimport { compute } from 'compute-scroll-into-view';\n\nimport { type PlatformProps, type TabsProps } from '../../typings';\nimport { ScrollControls } from '../scroll-controls';\n\nimport styles from './index.module.css';\n\n/**\n * Дополнительная прокрутка при клике на не поместившийся таб\n */\nconst ADDITIONAL_SCROLL_LEFT_VALUE = 50;\n\nexport type ScrollableContainerProps = {\n /**\n * Дополнительный класс враппера контейнера\n */\n containerWrapperClassName?: string;\n\n /**\n * Дополнительный класс контейнера\n */\n containerClassName?: string;\n\n /**\n * Дополнительный класс кнопок прокрутки\n */\n scrollControlsClassName?: string;\n\n /**\n * Дочерние компоненты\n */\n children: ReactNode;\n\n /**\n * Активный элемент (всегда будет в видимой области)\n */\n activeChild: HTMLElement | null;\n\n /**\n * Внешний вид заголовков табов\n */\n view: Exclude<TabsProps['view'], undefined>;\n\n /**\n * Размер\n */\n size: TabsProps['size'];\n\n /**\n * Дополнительные инлайн стили для заголовка\n */\n inlineStyle?: React.CSSProperties;\n\n /**\n * Показать скелетон\n */\n showSkeleton?: boolean;\n};\n\nconst isOverflown = (\n { clientWidth, scrollWidth }: HTMLDivElement,\n controlsNode: HTMLDivElement | null,\n) => {\n const controlsWidth = controlsNode?.offsetWidth || 0;\n\n return scrollWidth > clientWidth + controlsWidth;\n};\n\nexport const ScrollableContainer = ({\n containerWrapperClassName,\n containerClassName,\n scrollControlsClassName,\n children,\n activeChild,\n fullWidthScroll,\n view,\n size,\n platform,\n inlineStyle,\n showSkeleton,\n}: ScrollableContainerProps & Pick<TabsProps, 'fullWidthScroll'> & PlatformProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const controlsRef = useRef<HTMLDivElement>(null);\n const [overflown, setOverflown] = useState(false);\n\n useEffect(() => {\n if (activeChild) {\n const actions = compute(activeChild, {\n scrollMode: 'if-needed',\n block: 'nearest',\n inline: 'nearest',\n boundary: (parent) => !parent.isSameNode(containerRef.current),\n });\n\n // TODO: animate?\n actions.forEach(({ el, left }) => {\n // eslint-disable-next-line no-param-reassign\n el.scrollLeft =\n el.scrollLeft > left\n ? left - ADDITIONAL_SCROLL_LEFT_VALUE\n : left + ADDITIONAL_SCROLL_LEFT_VALUE;\n });\n }\n }, [activeChild]);\n\n useEffect(() => {\n const scrollableNode = containerRef.current;\n const tabsContainer = scrollableNode?.firstElementChild;\n\n if (platform === 'desktop' && scrollableNode && tabsContainer && window.ResizeObserver) {\n const observerCb = () => {\n if (isOverflown(scrollableNode, controlsRef.current)) {\n setOverflown(true);\n } else {\n setOverflown(false);\n }\n };\n\n const observer = new ResizeObserver(observerCb);\n\n observer.observe(scrollableNode);\n observer.observe(tabsContainer);\n\n return () => observer.disconnect();\n }\n\n return () => {};\n }, [platform]);\n\n return (\n <div\n className={cn(styles.scrollableContainerWrapper, containerWrapperClassName)}\n style={inlineStyle}\n >\n <div\n ref={containerRef}\n className={cn(styles.container, containerClassName, {\n [styles.fullWidthScroll]: fullWidthScroll,\n })}\n >\n {children}\n </div>\n {overflown && platform === 'desktop' ? (\n <ScrollControls\n className={scrollControlsClassName}\n ref={controlsRef}\n containerRef={containerRef}\n view={view}\n size={size}\n showSkeleton={showSkeleton}\n />\n ) : null}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -7,10 +7,10 @@
7
7
  --gap-4-neg: var(--gap-2xs-neg);
8
8
  --gap-16-neg: var(--gap-m-neg);
9
9
  }
10
- .tabs__scrollableContainerWrapper_oj2rw {
10
+ .tabs__scrollableContainerWrapper_i5h6l {
11
11
  display: flex;
12
12
  }
13
- .tabs__container_oj2rw {
13
+ .tabs__container_i5h6l {
14
14
  position: relative;
15
15
  overflow-x: auto;
16
16
  overflow-y: hidden;
@@ -20,13 +20,13 @@
20
20
  margin: var(--gap-4-neg) var(--gap-0) var(--gap-4-neg) var(--gap-4-neg);
21
21
  padding: var(--gap-4) var(--gap-0) var(--gap-4) var(--gap-4);
22
22
  }
23
- .tabs__container_oj2rw::-webkit-scrollbar {
23
+ .tabs__container_i5h6l::-webkit-scrollbar {
24
24
  display: none;
25
25
  }
26
- .tabs__container_oj2rw > * {
26
+ .tabs__container_i5h6l > * {
27
27
  flex-shrink: 0;
28
28
  }
29
- .tabs__fullWidthScroll_oj2rw {
29
+ .tabs__fullWidthScroll_i5h6l {
30
30
  padding-left: var(--gap-0);
31
31
  margin: var(--gap-4-neg) var(--gap-16-neg);
32
32
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"scrollableContainerWrapper":"tabs__scrollableContainerWrapper_oj2rw","container":"tabs__container_oj2rw","fullWidthScroll":"tabs__fullWidthScroll_oj2rw"};
3
+ const styles = {"scrollableContainerWrapper":"tabs__scrollableContainerWrapper_i5h6l","container":"tabs__container_i5h6l","fullWidthScroll":"tabs__fullWidthScroll_i5h6l"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/scrollable-container/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n@import '../../vars.css';\n\n.scrollableContainerWrapper {\n display: flex;\n}\n\n.container {\n position: relative;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n flex: 1;\n\n /* focus-outline fix */\n margin: var(--gap-4-neg) var(--gap-0) var(--gap-4-neg) var(--gap-4-neg);\n padding: var(--gap-4) var(--gap-0) var(--gap-4) var(--gap-4);\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n & > * {\n flex-shrink: 0;\n }\n}\n\n.fullWidthScroll {\n padding-left: var(--gap-0);\n margin: var(--gap-4-neg) var(--gap-16-neg);\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,4BAA4B,CAAC,wCAAwC,CAAC,WAAW,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,6BAA6B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/scrollable-container/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../vars.css';\n\n.scrollableContainerWrapper {\n display: flex;\n}\n\n.container {\n position: relative;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n flex: 1;\n\n /* focus-outline fix */\n margin: var(--gap-4-neg) var(--gap-0) var(--gap-4-neg) var(--gap-4-neg);\n padding: var(--gap-4) var(--gap-0) var(--gap-4) var(--gap-4);\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n & > * {\n flex-shrink: 0;\n }\n}\n\n.fullWidthScroll {\n padding-left: var(--gap-0);\n margin: var(--gap-4-neg) var(--gap-16-neg);\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,4BAA4B,CAAC,wCAAwC,CAAC,WAAW,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,6BAA6B,CAAC;;;;"}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { type SecondaryTabListProps } from '../../typings';
3
- export declare type SecondaryTabListDesktopProps = Omit<SecondaryTabListProps, 'tagSize' | 'breakpoint'>;
3
+ export type SecondaryTabListDesktopProps = Omit<SecondaryTabListProps, 'tagSize' | 'breakpoint'>;
4
4
  export declare const SecondaryTabListDesktop: ({ className, size, tagView, ...restProps }: SecondaryTabListDesktopProps) => React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/secondary-tablist/Component.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport { Skeleton } from '@alfalab/core-components-skeleton';\n\nimport { useTabs } from '../../hooks/use-tabs';\nimport { type PlatformProps, type SecondaryTabListProps, type Styles } from '../../typings';\nimport { ScrollableContainer } from '../scrollable-container';\n\nfunction getBorderRadius(\n shape?: SecondaryTabListProps['tagShape'],\n size?: SecondaryTabListProps['size'],\n isMobile?: boolean,\n) {\n if (shape === 'rounded') {\n return 99;\n }\n\n if (size === 'xxs') return isMobile ? 8 : 6;\n if (size === 'xs' || size === 's') return isMobile ? 12 : 8;\n\n return isMobile ? 16 : 4;\n}\n\nexport const SecondaryTabList = ({\n styles = {},\n className,\n containerClassName,\n size,\n titles = [],\n selectedId = titles.length ? titles[0].id : undefined,\n scrollable = true,\n fullWidthScroll,\n tagSize = 40,\n onChange,\n dataTestId,\n TagComponent,\n platform,\n tagShape = 'rounded',\n tagView,\n inlineStyle,\n showSkeleton,\n skeletonProps,\n}: SecondaryTabListProps & Styles & PlatformProps) => {\n const { focusedTab, selectedTab, getTabListItemProps } = useTabs({\n titles,\n selectedId,\n onChange,\n });\n\n const renderContent = () => {\n if (!TagComponent) return null;\n\n return (\n <div\n role='tablist'\n data-test-id={dataTestId}\n className={cn(styles.component, className, size && styles[size], {\n [styles.fullWidthScroll]: fullWidthScroll,\n })}\n >\n {titles.map((item, index) => {\n if (item.hidden) return null;\n\n const renderTab = () => (\n <TagComponent\n {...getTabListItemProps(index)}\n shape={tagShape}\n view={tagView}\n key={item.id}\n className={cn(styles.title, item.toggleClassName)}\n checked={item.id === selectedId}\n size={tagSize}\n rightAddons={item.rightAddons}\n >\n {item.title}\n </TagComponent>\n );\n\n return showSkeleton ? (\n <Skeleton\n {...skeletonProps}\n className={cn(styles.skeleton, skeletonProps?.className)}\n key={item.id}\n visible={true}\n style={{\n ...skeletonProps?.style,\n borderRadius: getBorderRadius(\n tagShape,\n (\n {\n 32: 'xxs',\n 40: 'xs',\n 48: 's',\n 56: 'm',\n 64: 'l',\n 72: 'xl',\n } as const\n )[tagSize],\n platform === 'mobile',\n ),\n }}\n >\n {renderTab()}\n </Skeleton>\n ) : (\n renderTab()\n );\n })}\n </div>\n );\n };\n\n return scrollable ? (\n <ScrollableContainer\n activeChild={focusedTab || selectedTab}\n containerClassName={containerClassName}\n fullWidthScroll={fullWidthScroll}\n view='secondary'\n size={size}\n platform={platform}\n inlineStyle={inlineStyle}\n showSkeleton={showSkeleton}\n >\n {renderContent()}\n </ScrollableContainer>\n ) : (\n <div className={cn(styles.container, containerClassName)} style={inlineStyle}>\n {renderContent()}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/secondary-tablist/Component.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport { Skeleton } from '@alfalab/core-components-skeleton';\n\nimport { useTabs } from '../../hooks/use-tabs';\nimport { type PlatformProps, type SecondaryTabListProps, type Styles } from '../../typings';\nimport { ScrollableContainer } from '../scrollable-container';\n\nfunction getBorderRadius(\n shape?: SecondaryTabListProps['tagShape'],\n size?: SecondaryTabListProps['size'],\n isMobile?: boolean,\n) {\n if (shape === 'rounded') {\n return 99;\n }\n\n if (size === 'xxs') return isMobile ? 8 : 6;\n if (size === 'xs' || size === 's') return isMobile ? 12 : 8;\n\n return isMobile ? 16 : 4;\n}\n\nexport const SecondaryTabList = ({\n styles = {},\n className,\n containerClassName,\n size,\n titles = [],\n selectedId = titles.length ? titles[0].id : undefined,\n scrollable = true,\n fullWidthScroll,\n tagSize = 40,\n onChange,\n dataTestId,\n TagComponent,\n platform,\n tagShape = 'rounded',\n tagView,\n inlineStyle,\n showSkeleton,\n skeletonProps,\n}: SecondaryTabListProps & Styles & PlatformProps) => {\n const { focusedTab, selectedTab, getTabListItemProps } = useTabs({\n titles,\n selectedId,\n onChange,\n });\n\n const renderContent = () => {\n if (!TagComponent) return null;\n\n return (\n <div\n role='tablist'\n data-test-id={dataTestId}\n className={cn(styles.component, className, size && styles[size], {\n [styles.fullWidthScroll]: fullWidthScroll,\n })}\n >\n {titles.map((item, index) => {\n if (item.hidden) return null;\n\n const renderTab = () => (\n <TagComponent\n {...getTabListItemProps(index)}\n shape={tagShape}\n view={tagView}\n key={item.id}\n className={cn(styles.title, item.toggleClassName)}\n checked={item.id === selectedId}\n size={tagSize}\n rightAddons={item.rightAddons}\n >\n {item.title}\n </TagComponent>\n );\n\n return showSkeleton ? (\n <Skeleton\n {...skeletonProps}\n className={cn(styles.skeleton, skeletonProps?.className)}\n key={item.id}\n visible={true}\n style={{\n ...skeletonProps?.style,\n borderRadius: getBorderRadius(\n tagShape,\n (\n {\n 32: 'xxs',\n 40: 'xs',\n 48: 's',\n 56: 'm',\n 64: 'l',\n 72: 'xl',\n } as const\n )[tagSize],\n platform === 'mobile',\n ),\n }}\n >\n {renderTab()}\n </Skeleton>\n ) : (\n renderTab()\n );\n })}\n </div>\n );\n };\n\n return scrollable ? (\n <ScrollableContainer\n activeChild={focusedTab || selectedTab}\n containerClassName={containerClassName}\n fullWidthScroll={fullWidthScroll}\n view='secondary'\n size={size}\n platform={platform}\n inlineStyle={inlineStyle}\n showSkeleton={showSkeleton}\n >\n {renderContent()}\n </ScrollableContainer>\n ) : (\n <div className={cn(styles.container, containerClassName)} style={inlineStyle}>\n {renderContent()}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { type SecondaryTabListProps } from '../../typings';
3
- export declare type SecondaryTabListMobileProps = Omit<SecondaryTabListProps, 'tagSize'>;
3
+ export type SecondaryTabListMobileProps = Omit<SecondaryTabListProps, 'tagSize'>;
4
4
  export declare const SecondaryTabListMobile: ({ className, size, tagView, ...restProps }: SecondaryTabListMobileProps) => React.JSX.Element;
@@ -20,47 +20,47 @@
20
20
  --secondary-tablist-xl-gaps: var(--gap-16);
21
21
  --secondary-tablist-transparent-gaps: var(--gap-0);
22
22
  }
23
- .tabs__component_1ce3f {
23
+ .tabs__component_1j6ak {
24
24
  position: relative;
25
25
  display: inline-flex;
26
26
  }
27
- .tabs__fullWidthScroll_1ce3f {
27
+ .tabs__fullWidthScroll_1j6ak {
28
28
  margin: var(--gap-0) var(--gap-16);
29
29
  }
30
- .tabs__container_1ce3f {
30
+ .tabs__container_1j6ak {
31
31
  overflow: hidden;
32
32
  margin: var(--gap-4-neg) var(--gap-0) var(--gap-4-neg) var(--gap-4-neg);
33
33
  padding: var(--gap-4) var(--gap-0) var(--gap-4) var(--gap-4);
34
34
  }
35
- .tabs__title_1ce3f {
35
+ .tabs__title_1j6ak {
36
36
  white-space: nowrap;
37
37
  }
38
- .tabs__desktop_1ce3f.tabs__desktop_1ce3f.tabs__transparentView_1ce3f.tabs__transparentView_1ce3f {
39
- .tabs__title_1ce3f.tabs__title_1ce3f {
38
+ .tabs__desktop_1j6ak.tabs__desktop_1j6ak.tabs__transparentView_1j6ak.tabs__transparentView_1j6ak {
39
+ .tabs__title_1j6ak.tabs__title_1j6ak {
40
40
  margin-left: var(--secondary-tablist-transparent-gaps);
41
41
  }
42
42
  }
43
- .tabs__xxs_1ce3f .tabs__title_1ce3f + .tabs__title_1ce3f,
44
- .tabs__xxs_1ce3f .tabs__skeleton_1ce3f + .tabs__skeleton_1ce3f {
43
+ .tabs__xxs_1j6ak .tabs__title_1j6ak + .tabs__title_1j6ak,
44
+ .tabs__xxs_1j6ak .tabs__skeleton_1j6ak + .tabs__skeleton_1j6ak {
45
45
  margin-left: var(--secondary-tablist-xxs-gaps);
46
46
  }
47
- .tabs__xs_1ce3f .tabs__title_1ce3f + .tabs__title_1ce3f,
48
- .tabs__xs_1ce3f .tabs__skeleton_1ce3f + .tabs__skeleton_1ce3f {
47
+ .tabs__xs_1j6ak .tabs__title_1j6ak + .tabs__title_1j6ak,
48
+ .tabs__xs_1j6ak .tabs__skeleton_1j6ak + .tabs__skeleton_1j6ak {
49
49
  margin-left: var(--secondary-tablist-xs-gaps);
50
50
  }
51
- .tabs__s_1ce3f .tabs__title_1ce3f + .tabs__title_1ce3f,
52
- .tabs__s_1ce3f .tabs__skeleton_1ce3f + .tabs__skeleton_1ce3f {
51
+ .tabs__s_1j6ak .tabs__title_1j6ak + .tabs__title_1j6ak,
52
+ .tabs__s_1j6ak .tabs__skeleton_1j6ak + .tabs__skeleton_1j6ak {
53
53
  margin-left: var(--secondary-tablist-s-gaps);
54
54
  }
55
- .tabs__m_1ce3f .tabs__title_1ce3f + .tabs__title_1ce3f,
56
- .tabs__m_1ce3f .tabs__skeleton_1ce3f + .tabs__skeleton_1ce3f {
55
+ .tabs__m_1j6ak .tabs__title_1j6ak + .tabs__title_1j6ak,
56
+ .tabs__m_1j6ak .tabs__skeleton_1j6ak + .tabs__skeleton_1j6ak {
57
57
  margin-left: var(--secondary-tablist-m-gaps);
58
58
  }
59
- .tabs__l_1ce3f .tabs__title_1ce3f + .tabs__title_1ce3f,
60
- .tabs__l_1ce3f .tabs__skeleton_1ce3f + .tabs__skeleton_1ce3f {
59
+ .tabs__l_1j6ak .tabs__title_1j6ak + .tabs__title_1j6ak,
60
+ .tabs__l_1j6ak .tabs__skeleton_1j6ak + .tabs__skeleton_1j6ak {
61
61
  margin-left: var(--secondary-tablist-l-gaps);
62
62
  }
63
- .tabs__xl_1ce3f .tabs__title_1ce3f + .tabs__title_1ce3f,
64
- .tabs__xl_1ce3f .tabs__skeleton_1ce3f + .tabs__skeleton_1ce3f {
63
+ .tabs__xl_1j6ak .tabs__title_1j6ak + .tabs__title_1j6ak,
64
+ .tabs__xl_1j6ak .tabs__skeleton_1j6ak + .tabs__skeleton_1j6ak {
65
65
  margin-left: var(--secondary-tablist-xl-gaps);
66
66
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const commonStyles = {"component":"tabs__component_1ce3f","fullWidthScroll":"tabs__fullWidthScroll_1ce3f","container":"tabs__container_1ce3f","title":"tabs__title_1ce3f","desktop":"tabs__desktop_1ce3f","transparentView":"tabs__transparentView_1ce3f","xxs":"tabs__xxs_1ce3f","skeleton":"tabs__skeleton_1ce3f","xs":"tabs__xs_1ce3f","s":"tabs__s_1ce3f","m":"tabs__m_1ce3f","l":"tabs__l_1ce3f","xl":"tabs__xl_1ce3f"};
3
+ const commonStyles = {"component":"tabs__component_1j6ak","fullWidthScroll":"tabs__fullWidthScroll_1j6ak","container":"tabs__container_1j6ak","title":"tabs__title_1j6ak","desktop":"tabs__desktop_1j6ak","transparentView":"tabs__transparentView_1j6ak","xxs":"tabs__xxs_1j6ak","skeleton":"tabs__skeleton_1j6ak","xs":"tabs__xs_1j6ak","s":"tabs__s_1j6ak","m":"tabs__m_1j6ak","l":"tabs__l_1j6ak","xl":"tabs__xl_1j6ak"};
4
4
 
5
5
  export { commonStyles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/secondary-tablist/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n@import '../../vars.css';\n\n.component {\n position: relative;\n display: inline-flex;\n}\n\n.fullWidthScroll {\n margin: var(--gap-0) var(--gap-16);\n}\n\n.container {\n overflow: hidden;\n\n /* focus-outline fix */\n margin: var(--gap-4-neg) var(--gap-0) var(--gap-4-neg) var(--gap-4-neg);\n padding: var(--gap-4) var(--gap-0) var(--gap-4) var(--gap-4);\n}\n\n.title {\n white-space: nowrap;\n}\n\n.desktop.desktop {\n &.transparentView.transparentView {\n .title.title {\n margin-left: var(--secondary-tablist-transparent-gaps);\n }\n }\n}\n\n/* sizes */\n\n.xxs {\n & .title + .title,\n & .skeleton + .skeleton {\n margin-left: var(--secondary-tablist-xxs-gaps);\n }\n}\n\n.xs {\n & .title + .title,\n & .skeleton + .skeleton {\n margin-left: var(--secondary-tablist-xs-gaps);\n }\n}\n\n.s {\n & .title + .title,\n & .skeleton + .skeleton {\n margin-left: var(--secondary-tablist-s-gaps);\n }\n}\n\n.m {\n & .title + .title,\n & .skeleton + .skeleton {\n margin-left: var(--secondary-tablist-m-gaps);\n }\n}\n\n.l {\n & .title + .title,\n & .skeleton + .skeleton {\n margin-left: var(--secondary-tablist-l-gaps);\n }\n}\n\n.xl {\n & .title + .title,\n & .skeleton + .skeleton {\n margin-left: var(--secondary-tablist-xl-gaps);\n }\n}\n"],"names":[],"mappings":";;AAEgB,qBAAe,CAAC,WAAW,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,WAAW,CAAC,uBAAuB,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/secondary-tablist/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../vars.css';\n\n.component {\n position: relative;\n display: inline-flex;\n}\n\n.fullWidthScroll {\n margin: var(--gap-0) var(--gap-16);\n}\n\n.container {\n overflow: hidden;\n\n /* focus-outline fix */\n margin: var(--gap-4-neg) var(--gap-0) var(--gap-4-neg) var(--gap-4-neg);\n padding: var(--gap-4) var(--gap-0) var(--gap-4) var(--gap-4);\n}\n\n.title {\n white-space: nowrap;\n}\n\n.desktop.desktop {\n &.transparentView.transparentView {\n .title.title {\n margin-left: var(--secondary-tablist-transparent-gaps);\n }\n }\n}\n\n/* sizes */\n\n.xxs {\n & .title + .title,\n & .skeleton + .skeleton {\n margin-left: var(--secondary-tablist-xxs-gaps);\n }\n}\n\n.xs {\n & .title + .title,\n & .skeleton + .skeleton {\n margin-left: var(--secondary-tablist-xs-gaps);\n }\n}\n\n.s {\n & .title + .title,\n & .skeleton + .skeleton {\n margin-left: var(--secondary-tablist-s-gaps);\n }\n}\n\n.m {\n & .title + .title,\n & .skeleton + .skeleton {\n margin-left: var(--secondary-tablist-m-gaps);\n }\n}\n\n.l {\n & .title + .title,\n & .skeleton + .skeleton {\n margin-left: var(--secondary-tablist-l-gaps);\n }\n}\n\n.xl {\n & .title + .title,\n & .skeleton + .skeleton {\n margin-left: var(--secondary-tablist-xl-gaps);\n }\n}\n"],"names":[],"mappings":";;AAEgB,qBAAe,CAAC,WAAW,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,WAAW,CAAC,uBAAuB,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC;;;;"}
@@ -19,38 +19,38 @@
19
19
  --secondary-tablist-l-gaps: var(--gap-16);
20
20
  --secondary-tablist-xl-gaps: var(--gap-16);
21
21
  --secondary-tablist-transparent-gaps: var(--gap-0);
22
- }.tabs__component_1ce3f {
22
+ }.tabs__component_1j6ak {
23
23
  position: relative;
24
24
  display: inline-flex;
25
- }.tabs__fullWidthScroll_1ce3f {
25
+ }.tabs__fullWidthScroll_1j6ak {
26
26
  margin: var(--gap-0) var(--gap-16);
27
- }.tabs__container_1ce3f {
27
+ }.tabs__container_1j6ak {
28
28
  overflow: hidden;
29
29
  margin: var(--gap-4-neg) var(--gap-0) var(--gap-4-neg) var(--gap-4-neg);
30
30
  padding: var(--gap-4) var(--gap-0) var(--gap-4) var(--gap-4);
31
- }.tabs__title_1ce3f {
31
+ }.tabs__title_1j6ak {
32
32
  white-space: nowrap;
33
- }.tabs__desktop_1ce3f.tabs__desktop_1ce3f.tabs__transparentView_1ce3f.tabs__transparentView_1ce3f {
34
- .tabs__title_1ce3f.tabs__title_1ce3f {
33
+ }.tabs__desktop_1j6ak.tabs__desktop_1j6ak.tabs__transparentView_1j6ak.tabs__transparentView_1j6ak {
34
+ .tabs__title_1j6ak.tabs__title_1j6ak {
35
35
  margin-left: var(--secondary-tablist-transparent-gaps);
36
36
  }
37
- }.tabs__xxs_1ce3f .tabs__title_1ce3f + .tabs__title_1ce3f,
38
- .tabs__xxs_1ce3f .tabs__skeleton_1ce3f + .tabs__skeleton_1ce3f {
37
+ }.tabs__xxs_1j6ak .tabs__title_1j6ak + .tabs__title_1j6ak,
38
+ .tabs__xxs_1j6ak .tabs__skeleton_1j6ak + .tabs__skeleton_1j6ak {
39
39
  margin-left: var(--secondary-tablist-xxs-gaps);
40
- }.tabs__xs_1ce3f .tabs__title_1ce3f + .tabs__title_1ce3f,
41
- .tabs__xs_1ce3f .tabs__skeleton_1ce3f + .tabs__skeleton_1ce3f {
40
+ }.tabs__xs_1j6ak .tabs__title_1j6ak + .tabs__title_1j6ak,
41
+ .tabs__xs_1j6ak .tabs__skeleton_1j6ak + .tabs__skeleton_1j6ak {
42
42
  margin-left: var(--secondary-tablist-xs-gaps);
43
- }.tabs__s_1ce3f .tabs__title_1ce3f + .tabs__title_1ce3f,
44
- .tabs__s_1ce3f .tabs__skeleton_1ce3f + .tabs__skeleton_1ce3f {
43
+ }.tabs__s_1j6ak .tabs__title_1j6ak + .tabs__title_1j6ak,
44
+ .tabs__s_1j6ak .tabs__skeleton_1j6ak + .tabs__skeleton_1j6ak {
45
45
  margin-left: var(--secondary-tablist-s-gaps);
46
- }.tabs__m_1ce3f .tabs__title_1ce3f + .tabs__title_1ce3f,
47
- .tabs__m_1ce3f .tabs__skeleton_1ce3f + .tabs__skeleton_1ce3f {
46
+ }.tabs__m_1j6ak .tabs__title_1j6ak + .tabs__title_1j6ak,
47
+ .tabs__m_1j6ak .tabs__skeleton_1j6ak + .tabs__skeleton_1j6ak {
48
48
  margin-left: var(--secondary-tablist-m-gaps);
49
- }.tabs__l_1ce3f .tabs__title_1ce3f + .tabs__title_1ce3f,
50
- .tabs__l_1ce3f .tabs__skeleton_1ce3f + .tabs__skeleton_1ce3f {
49
+ }.tabs__l_1j6ak .tabs__title_1j6ak + .tabs__title_1j6ak,
50
+ .tabs__l_1j6ak .tabs__skeleton_1j6ak + .tabs__skeleton_1j6ak {
51
51
  margin-left: var(--secondary-tablist-l-gaps);
52
- }.tabs__xl_1ce3f .tabs__title_1ce3f + .tabs__title_1ce3f,
53
- .tabs__xl_1ce3f .tabs__skeleton_1ce3f + .tabs__skeleton_1ce3f {
52
+ }.tabs__xl_1j6ak .tabs__title_1j6ak + .tabs__title_1j6ak,
53
+ .tabs__xl_1j6ak .tabs__skeleton_1j6ak + .tabs__skeleton_1j6ak {
54
54
  margin-left: var(--secondary-tablist-xl-gaps);
55
55
  }
56
56
  :root {
@@ -76,12 +76,12 @@
76
76
  --secondary-tablist-xl-gaps: var(--gap-16);
77
77
  --secondary-tablist-transparent-gaps: var(--gap-0);
78
78
  }
79
- .tabs__title_1qz6l {
79
+ .tabs__title_vgd9z {
80
80
  }
81
- .tabs__mobile_1qz6l .tabs__title_1qz6l + .tabs__title_1qz6l,
82
- .tabs__mobile_1qz6l .tabs__skeleton_1qz6l + .tabs__skeleton_1qz6l {
81
+ .tabs__mobile_vgd9z .tabs__title_vgd9z + .tabs__title_vgd9z,
82
+ .tabs__mobile_vgd9z .tabs__skeleton_vgd9z + .tabs__skeleton_vgd9z {
83
83
  margin-left: var(--secondary-tablist-mobile-gaps);
84
84
  }
85
- .tabs__mobile_1qz6l.tabs__transparentView_1qz6l.tabs__transparentView_1qz6l .tabs__title_1qz6l {
85
+ .tabs__mobile_vgd9z.tabs__transparentView_vgd9z.tabs__transparentView_vgd9z .tabs__title_vgd9z {
86
86
  margin-left: var(--secondary-tablist-transparent-gaps);
87
87
  }
@@ -1,6 +1,6 @@
1
1
  import './mobile.css';
2
2
 
3
- const mobileStyles = {"title":"tabs__title_1qz6l tabs__title_1ce3f","mobile":"tabs__mobile_1qz6l","skeleton":"tabs__skeleton_1qz6l","transparentView":"tabs__transparentView_1qz6l"};
3
+ const mobileStyles = {"title":"tabs__title_vgd9z tabs__title_1j6ak","mobile":"tabs__mobile_vgd9z","skeleton":"tabs__skeleton_vgd9z","transparentView":"tabs__transparentView_vgd9z"};
4
4
 
5
5
  export { mobileStyles as default };
6
6
  //# sourceMappingURL=mobile.module.css.js.map
@@ -1,3 +1,3 @@
1
- import React from 'react';
1
+ import { type FC } from 'react';
2
2
  import { type TabProps } from '../../typings';
3
- export declare const Tab: ({ children, hidden, className, disabled, dataTestId, id, title, rightAddons, ...restProps }: TabProps) => React.JSX.Element | null;
3
+ export declare const Tab: FC<TabProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/tab/Component.tsx"],"sourcesContent":["import React, { type AriaAttributes } from 'react';\nimport cn from 'classnames';\n\nimport { type TabProps } from '../../typings';\n\nimport styles from './index.module.css';\n\nexport const Tab = ({\n children,\n hidden,\n className,\n disabled,\n dataTestId,\n // useless props\n id,\n title,\n rightAddons,\n ...restProps\n}: TabProps) =>\n children ? (\n <div\n className={cn(\n styles.component,\n {\n [styles.hidden]: hidden,\n },\n className,\n )}\n hidden={hidden}\n role='tabpanel'\n tabIndex={disabled ? -1 : 0}\n data-test-id={dataTestId}\n {...(restProps as AriaAttributes)}\n >\n {children}\n </div>\n ) : null;\n"],"names":[],"mappings":";;;;AAOO,MAAM,GAAG,GAAG,CAAC,EAChB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,QAAQ,EACR,UAAU;AACV;AACA,EAAE,EACF,KAAK,EACL,WAAW,EACX,GAAG,SAAS,EACL,KACP,QAAQ,IACJ,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,EAAE,CACT,MAAM,CAAC,SAAS,EAChB;AACI,QAAA,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;AAC1B,KAAA,EACD,SAAS,CACZ,EACD,MAAM,EAAE,MAAM,EACd,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,QAAQ,GAAG,EAAE,GAAG,CAAC,EAAA,cAAA,EACb,UAAU,EACnB,GAAA,SAA4B,EAEhC,EAAA,QAAQ,CACP,IACN;;;;"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/tab/Component.tsx"],"sourcesContent":["import React, { type AriaAttributes, type FC } from 'react';\nimport cn from 'classnames';\n\nimport { type TabProps } from '../../typings';\n\nimport styles from './index.module.css';\n\nexport const Tab: FC<TabProps> = ({\n children,\n hidden,\n className,\n disabled,\n dataTestId,\n // useless props\n id,\n title,\n rightAddons,\n ...restProps\n}) =>\n children ? (\n <div\n className={cn(\n styles.component,\n {\n [styles.hidden]: hidden,\n },\n className,\n )}\n hidden={hidden}\n role='tabpanel'\n tabIndex={disabled ? -1 : 0}\n data-test-id={dataTestId}\n {...(restProps as AriaAttributes)}\n >\n {children}\n </div>\n ) : null;\n"],"names":[],"mappings":";;;;AAOO,MAAM,GAAG,GAAiB,CAAC,EAC9B,QAAQ,EACR,MAAM,EACN,SAAS,EACT,QAAQ,EACR,UAAU;AACV;AACA,EAAE,EACF,KAAK,EACL,WAAW,EACX,GAAG,SAAS,EACf,KACG,QAAQ,IACJ,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,EAAE,CACT,MAAM,CAAC,SAAS,EAChB;AACI,QAAA,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;AAC1B,KAAA,EACD,SAAS,CACZ,EACD,MAAM,EAAE,MAAM,EACd,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,QAAQ,GAAG,EAAE,GAAG,CAAC,EAAA,cAAA,EACb,UAAU,EACnB,GAAA,SAA4B,EAEhC,EAAA,QAAQ,CACP,IACN;;;;"}
@@ -1,7 +1,7 @@
1
- .tabs__component_1ba8u {
1
+ .tabs__component_17bb0 {
2
2
  outline: none;
3
3
  }
4
4
 
5
- .tabs__hidden_1ba8u {
5
+ .tabs__hidden_17bb0 {
6
6
  display: none;
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"component":"tabs__component_1ba8u","hidden":"tabs__hidden_1ba8u"};
3
+ const styles = {"component":"tabs__component_17bb0","hidden":"tabs__hidden_17bb0"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { type TabsProps } from '../../typings';
3
- export declare type TabsCollapsibleProps = Omit<TabsProps, 'TabList' | 'fullWidthScroll' | 'scrollable' | 'view'>;
3
+ export type TabsCollapsibleProps = Omit<TabsProps, 'TabList' | 'fullWidthScroll' | 'scrollable' | 'view'>;
4
4
  export declare const TabsCollapsible: ({ ...restProps }: TabsCollapsibleProps) => React.JSX.Element;
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { type TabsProps } from '../../typings';
3
- export declare const Tabs: ({ TabList, className, containerClassName, size, children, selectedId, scrollable, collapsedTabsIds, fullWidthScroll, keepMounted, dataTestId, onChange, breakpoint, client, defaultMatchMediaValue, tagShape, tagView, showSkeleton, skeletonProps, textStyle, style, titleProps, ...restProps }: Omit<TabsProps, 'view'>) => React.JSX.Element;
3
+ export declare const Tabs: ({ TabList, className, containerClassName, size, children, selectedId, scrollable, collapsedTabsIds, fullWidthScroll, keepMounted, dataTestId, onChange, breakpoint, client, defaultMatchMediaValue, tagShape, tagView, showSkeleton, skeletonProps, textStyle, style, titleProps, ...restProps }: Omit<TabsProps, "view">) => React.JSX.Element;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { type TabsProps } from '../../typings';
3
- export declare type TabsDesktopProps = Omit<TabsProps, 'TabList' | 'fullWidthScroll' | 'breakpoint' | 'collapsedTabsIds'>;
3
+ export type TabsDesktopProps = Omit<TabsProps, 'TabList' | 'fullWidthScroll' | 'breakpoint' | 'collapsedTabsIds'>;
4
4
  export declare const TabsDesktop: ({ view, scrollable, size, ...restProps }: TabsDesktopProps) => React.JSX.Element;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { type TabsProps } from '../../typings';
3
- export declare type TabsMobileProps = Omit<TabsProps, 'TabList' | 'collapsedTabsIds'>;
3
+ export type TabsMobileProps = Omit<TabsProps, 'TabList' | 'collapsedTabsIds'>;
4
4
  export declare const TabsMobile: ({ view, scrollable, ...restProps }: TabsMobileProps) => React.JSX.Element;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { type TabsProps } from '../../typings';
3
- export declare type TabsResponsiveProps = Omit<TabsProps, 'TabList' | 'collapsedTabsIds'>;
3
+ export type TabsResponsiveProps = Omit<TabsProps, 'TabList' | 'collapsedTabsIds'>;
4
4
  export declare const TabsResponsive: ({ view, scrollable, breakpoint, client, defaultMatchMediaValue, ...restProps }: TabsResponsiveProps) => React.JSX.Element;
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import { type SkeletonProps } from '@alfalab/core-components-skeleton/modern';
3
3
  import { type Styles, type TabListTitle } from '../../typings';
4
4
  export declare const Title: React.ForwardRefExoticComponent<TabListTitle & Styles & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "id" | "title"> & {
5
- focused?: boolean | undefined;
6
- isOption?: boolean | undefined;
7
- showSkeleton?: boolean | undefined;
8
- skeletonProps?: Omit<SkeletonProps, "visible"> | undefined;
9
- onResize?: (() => void) | undefined;
5
+ focused?: boolean;
6
+ isOption?: boolean;
7
+ showSkeleton?: boolean;
8
+ skeletonProps?: Omit<SkeletonProps, "visible">;
9
+ onResize?: () => void;
10
10
  } & React.RefAttributes<HTMLButtonElement>>;