@alfalab/core-components-tabs 8.5.1 → 8.6.0

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 (197) hide show
  1. package/collapsible/index.js +0 -18
  2. package/components/primary-tablist/Component.collapsible.d.ts +1 -1
  3. package/components/primary-tablist/Component.collapsible.js +9 -14
  4. package/components/primary-tablist/Component.d.ts +1 -1
  5. package/components/primary-tablist/Component.desktop.js +1 -15
  6. package/components/primary-tablist/Component.js +5 -11
  7. package/components/primary-tablist/Component.mobile.d.ts +1 -1
  8. package/components/primary-tablist/Component.mobile.js +3 -21
  9. package/components/primary-tablist/Component.responsive.js +0 -16
  10. package/components/primary-tablist/index.css +288 -30
  11. package/components/primary-tablist/mobile.css +499 -33
  12. package/components/scroll-controls/Component.d.ts +1 -0
  13. package/components/scroll-controls/Component.js +7 -7
  14. package/components/scroll-controls/index.css +23 -26
  15. package/components/scroll-controls/index.js +0 -8
  16. package/components/scrollable-container/Component.d.ts +5 -1
  17. package/components/scrollable-container/Component.js +3 -9
  18. package/components/scrollable-container/index.css +6 -6
  19. package/components/scrollable-container/index.js +0 -10
  20. package/components/secondary-tablist/Component.desktop.js +1 -12
  21. package/components/secondary-tablist/Component.js +0 -8
  22. package/components/secondary-tablist/Component.mobile.js +2 -12
  23. package/components/secondary-tablist/Component.responsive.js +0 -15
  24. package/components/secondary-tablist/index.css +11 -11
  25. package/components/secondary-tablist/mobile.css +13 -13
  26. package/components/tab/Component.js +1 -1
  27. package/components/tab/index.css +3 -3
  28. package/components/tab/index.js +0 -2
  29. package/components/tabs/Component.collapsible.js +0 -14
  30. package/components/tabs/Component.d.ts +1 -1
  31. package/components/tabs/Component.desktop.js +0 -19
  32. package/components/tabs/Component.js +4 -3
  33. package/components/tabs/Component.mobile.js +0 -19
  34. package/components/tabs/Component.responsive.js +0 -25
  35. package/components/title/index.js +0 -3
  36. package/cssm/collapsible/index.js +0 -19
  37. package/cssm/components/primary-tablist/Component.collapsible.d.ts +1 -1
  38. package/cssm/components/primary-tablist/Component.collapsible.js +8 -13
  39. package/cssm/components/primary-tablist/Component.d.ts +1 -1
  40. package/cssm/components/primary-tablist/Component.desktop.js +0 -16
  41. package/cssm/components/primary-tablist/Component.js +5 -13
  42. package/cssm/components/primary-tablist/Component.mobile.d.ts +1 -1
  43. package/cssm/components/primary-tablist/Component.mobile.js +1 -21
  44. package/cssm/components/primary-tablist/Component.responsive.js +0 -19
  45. package/cssm/components/primary-tablist/index.module.css +259 -1
  46. package/cssm/components/primary-tablist/mobile.module.css +210 -0
  47. package/cssm/components/primary-tablist/text-styles.module.css +16 -0
  48. package/cssm/components/scroll-controls/Component.d.ts +1 -0
  49. package/cssm/components/scroll-controls/Component.js +6 -6
  50. package/cssm/components/scroll-controls/index.js +0 -9
  51. package/cssm/components/scroll-controls/index.module.css +12 -15
  52. package/cssm/components/scrollable-container/Component.d.ts +5 -1
  53. package/cssm/components/scrollable-container/Component.js +2 -9
  54. package/cssm/components/scrollable-container/index.js +0 -12
  55. package/cssm/components/secondary-tablist/Component.desktop.js +0 -13
  56. package/cssm/components/secondary-tablist/Component.js +0 -10
  57. package/cssm/components/secondary-tablist/Component.mobile.js +0 -12
  58. package/cssm/components/secondary-tablist/Component.responsive.js +0 -18
  59. package/cssm/components/tab/index.js +0 -3
  60. package/cssm/components/tabs/Component.collapsible.js +0 -14
  61. package/cssm/components/tabs/Component.d.ts +1 -1
  62. package/cssm/components/tabs/Component.desktop.js +0 -21
  63. package/cssm/components/tabs/Component.js +4 -3
  64. package/cssm/components/tabs/Component.mobile.js +0 -23
  65. package/cssm/components/tabs/Component.responsive.js +0 -29
  66. package/cssm/components/title/index.js +0 -3
  67. package/cssm/desktop/index.js +0 -25
  68. package/cssm/hooks/use-tablist-titles.d.ts +2 -1
  69. package/cssm/hooks/use-tablist-titles.js +0 -3
  70. package/cssm/hooks/use-tabs.d.ts +2 -1
  71. package/cssm/hooks/use-tabs.js +17 -6
  72. package/cssm/index.js +0 -33
  73. package/cssm/mobile/index.js +0 -27
  74. package/cssm/shared/index.js +0 -15
  75. package/cssm/typings.d.ts +11 -2
  76. package/desktop/index.js +0 -22
  77. package/esm/collapsible/index.js +0 -18
  78. package/esm/components/primary-tablist/Component.collapsible.d.ts +1 -1
  79. package/esm/components/primary-tablist/Component.collapsible.js +10 -15
  80. package/esm/components/primary-tablist/Component.d.ts +1 -1
  81. package/esm/components/primary-tablist/Component.desktop.js +1 -15
  82. package/esm/components/primary-tablist/Component.js +5 -11
  83. package/esm/components/primary-tablist/Component.mobile.d.ts +1 -1
  84. package/esm/components/primary-tablist/Component.mobile.js +4 -21
  85. package/esm/components/primary-tablist/Component.responsive.js +0 -16
  86. package/esm/components/primary-tablist/index.css +288 -30
  87. package/esm/components/primary-tablist/mobile.css +499 -33
  88. package/esm/components/scroll-controls/Component.d.ts +1 -0
  89. package/esm/components/scroll-controls/Component.js +7 -7
  90. package/esm/components/scroll-controls/index.css +23 -26
  91. package/esm/components/scroll-controls/index.js +0 -8
  92. package/esm/components/scrollable-container/Component.d.ts +5 -1
  93. package/esm/components/scrollable-container/Component.js +3 -9
  94. package/esm/components/scrollable-container/index.css +6 -6
  95. package/esm/components/scrollable-container/index.js +0 -10
  96. package/esm/components/secondary-tablist/Component.desktop.js +1 -12
  97. package/esm/components/secondary-tablist/Component.js +0 -8
  98. package/esm/components/secondary-tablist/Component.mobile.js +2 -12
  99. package/esm/components/secondary-tablist/Component.responsive.js +0 -15
  100. package/esm/components/secondary-tablist/index.css +11 -11
  101. package/esm/components/secondary-tablist/mobile.css +13 -13
  102. package/esm/components/tab/Component.js +1 -1
  103. package/esm/components/tab/index.css +3 -3
  104. package/esm/components/tab/index.js +0 -2
  105. package/esm/components/tabs/Component.collapsible.js +0 -14
  106. package/esm/components/tabs/Component.d.ts +1 -1
  107. package/esm/components/tabs/Component.desktop.js +0 -19
  108. package/esm/components/tabs/Component.js +4 -3
  109. package/esm/components/tabs/Component.mobile.js +0 -19
  110. package/esm/components/tabs/Component.responsive.js +0 -25
  111. package/esm/components/title/index.js +0 -3
  112. package/esm/desktop/index.js +0 -22
  113. package/esm/hooks/use-tablist-titles.d.ts +2 -1
  114. package/esm/hooks/use-tablist-titles.js +0 -3
  115. package/esm/hooks/use-tabs.d.ts +2 -1
  116. package/esm/hooks/use-tabs.js +13 -6
  117. package/esm/index.js +0 -28
  118. package/esm/index.module-09631eda.js +4 -0
  119. package/esm/index.module-b24b51c6.js +4 -0
  120. package/esm/mobile/index.js +0 -22
  121. package/esm/shared/index.js +0 -13
  122. package/esm/typings.d.ts +11 -2
  123. package/hooks/use-tablist-titles.d.ts +2 -1
  124. package/hooks/use-tablist-titles.js +0 -3
  125. package/hooks/use-tabs.d.ts +2 -1
  126. package/hooks/use-tabs.js +17 -6
  127. package/index.js +0 -28
  128. package/index.module-8583a636.js +6 -0
  129. package/index.module-fe7d33d0.js +6 -0
  130. package/mobile/index.js +0 -22
  131. package/modern/collapsible/index.js +0 -17
  132. package/modern/components/primary-tablist/Component.collapsible.d.ts +1 -1
  133. package/modern/components/primary-tablist/Component.collapsible.js +8 -14
  134. package/modern/components/primary-tablist/Component.d.ts +1 -1
  135. package/modern/components/primary-tablist/Component.desktop.js +1 -15
  136. package/modern/components/primary-tablist/Component.js +5 -11
  137. package/modern/components/primary-tablist/Component.mobile.d.ts +1 -1
  138. package/modern/components/primary-tablist/Component.mobile.js +3 -17
  139. package/modern/components/primary-tablist/Component.responsive.js +0 -16
  140. package/modern/components/primary-tablist/index.css +288 -30
  141. package/modern/components/primary-tablist/mobile.css +499 -33
  142. package/modern/components/scroll-controls/Component.d.ts +1 -0
  143. package/modern/components/scroll-controls/Component.js +7 -7
  144. package/modern/components/scroll-controls/index.css +23 -26
  145. package/modern/components/scroll-controls/index.js +0 -7
  146. package/modern/components/scrollable-container/Component.d.ts +5 -1
  147. package/modern/components/scrollable-container/Component.js +3 -8
  148. package/modern/components/scrollable-container/index.css +6 -6
  149. package/modern/components/scrollable-container/index.js +0 -9
  150. package/modern/components/secondary-tablist/Component.desktop.js +1 -12
  151. package/modern/components/secondary-tablist/Component.js +0 -8
  152. package/modern/components/secondary-tablist/Component.mobile.js +2 -12
  153. package/modern/components/secondary-tablist/Component.responsive.js +0 -15
  154. package/modern/components/secondary-tablist/index.css +11 -11
  155. package/modern/components/secondary-tablist/mobile.css +13 -13
  156. package/modern/components/tab/Component.js +1 -1
  157. package/modern/components/tab/index.css +3 -3
  158. package/modern/components/tab/index.js +0 -2
  159. package/modern/components/tabs/Component.collapsible.js +0 -14
  160. package/modern/components/tabs/Component.d.ts +1 -1
  161. package/modern/components/tabs/Component.desktop.js +0 -19
  162. package/modern/components/tabs/Component.js +4 -3
  163. package/modern/components/tabs/Component.mobile.js +0 -19
  164. package/modern/components/tabs/Component.responsive.js +0 -25
  165. package/modern/components/title/index.js +0 -2
  166. package/modern/desktop/index.js +0 -21
  167. package/modern/hooks/use-tablist-titles.d.ts +2 -1
  168. package/modern/hooks/use-tablist-titles.js +0 -3
  169. package/modern/hooks/use-tabs.d.ts +2 -1
  170. package/modern/hooks/use-tabs.js +13 -6
  171. package/modern/index.js +0 -27
  172. package/modern/index.module-819ff0ab.js +4 -0
  173. package/modern/index.module-ee14bf5a.js +4 -0
  174. package/modern/mobile/index.js +0 -21
  175. package/modern/shared/index.js +0 -12
  176. package/modern/typings.d.ts +11 -2
  177. package/package.json +5 -5
  178. package/shared/index.js +0 -13
  179. package/src/components/primary-tablist/Component.collapsible.tsx +34 -15
  180. package/src/components/primary-tablist/Component.mobile.tsx +2 -8
  181. package/src/components/primary-tablist/Component.tsx +11 -4
  182. package/src/components/primary-tablist/index.module.css +6 -0
  183. package/src/components/primary-tablist/mobile.module.css +4 -0
  184. package/src/components/primary-tablist/text-styles.module.css +228 -0
  185. package/src/components/scroll-controls/Component.tsx +15 -8
  186. package/src/components/scroll-controls/index.module.css +12 -19
  187. package/src/components/scrollable-container/Component.tsx +7 -0
  188. package/src/components/tabs/Component.tsx +4 -0
  189. package/src/hooks/use-tabs.tsx +23 -6
  190. package/src/typings.ts +32 -1
  191. package/typings.d.ts +11 -2
  192. package/esm/index.module-aa0c1143.js +0 -4
  193. package/esm/index.module-d07623e2.js +0 -4
  194. package/index.module-abadb192.js +0 -6
  195. package/index.module-b293cf9b.js +0 -6
  196. package/modern/index.module-50acb6fd.js +0 -4
  197. package/modern/index.module-b97c5648.js +0 -4
@@ -3,9 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var components_title_Component = require('./Component.js');
6
- require('tslib');
7
- require('react');
8
- require('classnames');
9
6
 
10
7
 
11
8
 
@@ -4,25 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var components_tabs_Component_collapsible = require('../components/tabs/Component.collapsible.js');
6
6
  var components_tab_Component = require('../components/tab/Component.js');
7
- require('tslib');
8
- require('react');
9
- require('../components/primary-tablist/Component.collapsible.js');
10
- require('classnames');
11
- require('@alfalab/core-components-badge/cssm');
12
- require('@alfalab/core-components-keyboard-focusable/cssm');
13
- require('@alfalab/core-components-picker-button/cssm/desktop');
14
- require('../hooks/use-tablist-titles.js');
15
- require('@alfalab/core-components-mq/cssm');
16
- require('../hooks/use-collapsible-elements.js');
17
- require('@juggle/resize-observer');
18
- require('@alfalab/hooks');
19
- require('../hooks/use-tabs.js');
20
- require('@alfalab/core-components-shared/cssm');
21
- require('../synthetic-events.js');
22
- require('../components/title/Component.js');
23
- require('../components/primary-tablist/index.module.css');
24
- require('../components/tabs/Component.js');
25
- require('../components/tab/index.module.css');
26
7
 
27
8
 
28
9
 
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
3
  import { TabListProps } from "../../typings";
4
- declare const CollapsiblePrimaryTabList: ({ size, className, containerClassName, titles, selectedId, collapsedTabsIds, fullWidthScroll, onChange, dataTestId, breakpoint, defaultMatchMediaValue, }: TabListProps) => React.JSX.Element;
4
+ declare const CollapsiblePrimaryTabList: ({ size, className, containerClassName, titles, selectedId, collapsedTabsIds, fullWidthScroll, onChange, dataTestId, breakpoint, defaultMatchMediaValue, textStyle, }: TabListProps) => React.JSX.Element;
5
5
  export { CollapsiblePrimaryTabList };
@@ -12,12 +12,6 @@ var hooks_useTablistTitles = require('../../hooks/use-tablist-titles.js');
12
12
  var syntheticEvents = require('../../synthetic-events.js');
13
13
  var components_title_Component = require('../title/Component.js');
14
14
  var styles = require('./index.module.css');
15
- require('@alfalab/core-components-mq/cssm');
16
- require('../../hooks/use-collapsible-elements.js');
17
- require('@juggle/resize-observer');
18
- require('@alfalab/hooks');
19
- require('../../hooks/use-tabs.js');
20
- require('@alfalab/core-components-shared/cssm');
21
15
 
22
16
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
23
17
 
@@ -26,7 +20,7 @@ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
26
20
  var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
27
21
 
28
22
  var CollapsiblePrimaryTabList = function (_a) {
29
- var _b = _a.size, size = _b === void 0 ? 'm' : _b, className = _a.className, containerClassName = _a.containerClassName, _c = _a.titles, titles = _c === void 0 ? [] : _c, _d = _a.selectedId, selectedId = _d === void 0 ? titles.length ? titles[0].id : undefined : _d, collapsedTabsIds = _a.collapsedTabsIds, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, _e = _a.breakpoint, breakpoint = _e === void 0 ? 1024 : _e, defaultMatchMediaValue = _a.defaultMatchMediaValue;
23
+ var _b = _a.size, size = _b === void 0 ? 'm' : _b, className = _a.className, containerClassName = _a.containerClassName, _c = _a.titles, titles = _c === void 0 ? [] : _c, _d = _a.selectedId, selectedId = _d === void 0 ? titles.length ? titles[0].id : undefined : _d, collapsedTabsIds = _a.collapsedTabsIds, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, _e = _a.breakpoint, breakpoint = _e === void 0 ? 1024 : _e, defaultMatchMediaValue = _a.defaultMatchMediaValue, textStyle = _a.textStyle;
30
24
  var lineRef = React.useRef(null);
31
25
  var _f = hooks_useTablistTitles.useTablistTitles({
32
26
  titles: titles,
@@ -43,12 +37,13 @@ var CollapsiblePrimaryTabList = function (_a) {
43
37
  }
44
38
  }, [selectedTab, tablistTitles]);
45
39
  var collapsedOptions = React.useMemo(function () {
46
- return tablistTitles.reduce(function (options, title) {
40
+ return tablistTitles.reduce(function (options, _a) {
41
+ var toggleRef = _a.toggleRef, title = tslib.__rest(_a, ["toggleRef"]);
47
42
  if (title.collapsed) {
48
43
  options.push({
49
44
  key: title.title,
50
45
  value: title.id,
51
- content: React__default.default.createElement(components_title_Component.Title, tslib.__assign({}, title, { styles: styles__default.default, isOption: true })),
46
+ content: (React__default.default.createElement(components_title_Component.Title, tslib.__assign({}, title, { ref: toggleRef, styles: styles__default.default, isOption: true }))),
52
47
  });
53
48
  }
54
49
  return options;
@@ -65,18 +60,18 @@ var CollapsiblePrimaryTabList = function (_a) {
65
60
  };
66
61
  var renderContent = function () {
67
62
  var _a;
68
- return (React__default.default.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn__default.default(styles__default.default.component, className, size && styles__default.default[size], (_a = {},
63
+ return (React__default.default.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn__default.default(styles__default.default.component, className, !textStyle && size && styles__default.default[size], (_a = {},
69
64
  _a[styles__default.default.fullWidthScroll] = fullWidthScroll,
70
65
  _a)) },
71
66
  tablistTitles.map(function (_a, index) {
72
- _a.dataTestId; var restTitleProps = tslib.__rest(_a, ["dataTestId"]);
67
+ _a.dataTestId; _a.toggleRef; var restTitleProps = tslib.__rest(_a, ["dataTestId", "toggleRef"]);
73
68
  return (React__default.default.createElement(coreComponentsKeyboardFocusable.KeyboardFocusable, { key: restTitleProps.id }, function (ref, focused) { return (React__default.default.createElement(components_title_Component.Title, tslib.__assign({}, getTabListItemProps(index, ref), restTitleProps, { focused: focused, styles: styles__default.default }))); }));
74
69
  }),
75
70
  collapsedOptions.length ? (React__default.default.createElement("span", { ref: addonRef, role: 'menu', className: styles__default.default.pickerWrapper },
76
- React__default.default.createElement(desktop.PickerButtonDesktop, { fieldClassName: styles__default.default.title, optionClassName: cn__default.default(styles__default.default.pickerOption, size && styles__default.default[size]), options: collapsedOptions, onChange: handleOptionsChange, rightAddons: collapsedAddonsLength ? (React__default.default.createElement(coreComponentsBadge.Badge, { view: 'count', content: collapsedAddonsLength })) : null, size: 'm', view: 'ghost', label: '\u0415\u0449\u0451', popoverPosition: 'bottom-end' }))) : null,
71
+ React__default.default.createElement(desktop.PickerButtonDesktop, { fieldClassName: styles__default.default.title, optionClassName: cn__default.default(size && styles__default.default[size]), options: collapsedOptions, onChange: handleOptionsChange, rightAddons: collapsedAddonsLength ? (React__default.default.createElement(coreComponentsBadge.Badge, { view: 'count', content: collapsedAddonsLength })) : null, size: 'm', view: 'ghost', label: '\u0415\u0449\u0451', popoverPosition: 'bottom-end' }))) : null,
77
72
  React__default.default.createElement("div", { className: styles__default.default.line, ref: lineRef })));
78
73
  };
79
- return (React__default.default.createElement("div", { ref: containerRef, className: cn__default.default(styles__default.default.container, containerClassName) }, renderContent()));
74
+ return (React__default.default.createElement("div", { ref: containerRef, className: cn__default.default(styles__default.default.container, textStyle && styles__default.default[textStyle], styles__default.default.desktop, containerClassName) }, renderContent()));
80
75
  };
81
76
 
82
77
  exports.CollapsiblePrimaryTabList = CollapsiblePrimaryTabList;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
3
  import { PlatformProps, Styles, TabListProps } from "../../typings";
4
- declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable, fullWidthScroll, onChange, dataTestId, platform, }: TabListProps & Styles & PlatformProps) => React.JSX.Element;
4
+ declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable, fullWidthScroll, onChange, dataTestId, platform, textStyle, }: TabListProps & Styles & PlatformProps) => React.JSX.Element;
5
5
  export { PrimaryTabList };
@@ -6,22 +6,6 @@ var tslib = require('tslib');
6
6
  var React = require('react');
7
7
  var components_primaryTablist_Component = require('./Component.js');
8
8
  var styles = require('./index.module.css');
9
- require('@juggle/resize-observer');
10
- require('classnames');
11
- require('@alfalab/core-components-keyboard-focusable/cssm');
12
- require('@alfalab/core-components-shared/cssm');
13
- require('../../hooks/use-tabs.js');
14
- require('../scrollable-container/Component.js');
15
- require('compute-scroll-into-view');
16
- require('../scroll-controls/Component.js');
17
- require('lodash.debounce');
18
- require('@alfalab/core-components-icon-button/cssm');
19
- require('@alfalab/icons-glyph/ChevronLeftMIcon');
20
- require('@alfalab/icons-glyph/ChevronRightMIcon');
21
- require('../scroll-controls/utils.js');
22
- require('../scroll-controls/index.module.css');
23
- require('../scrollable-container/index.module.css');
24
- require('../title/Component.js');
25
9
 
26
10
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
27
11
 
@@ -11,15 +11,6 @@ var coreComponentsShared = require('@alfalab/core-components-shared/cssm');
11
11
  var hooks_useTabs = require('../../hooks/use-tabs.js');
12
12
  var components_scrollableContainer_Component = require('../scrollable-container/Component.js');
13
13
  var components_title_Component = require('../title/Component.js');
14
- require('compute-scroll-into-view');
15
- require('../scroll-controls/Component.js');
16
- require('lodash.debounce');
17
- require('@alfalab/core-components-icon-button/cssm');
18
- require('@alfalab/icons-glyph/ChevronLeftMIcon');
19
- require('@alfalab/icons-glyph/ChevronRightMIcon');
20
- require('../scroll-controls/utils.js');
21
- require('../scroll-controls/index.module.css');
22
- require('../scrollable-container/index.module.css');
23
14
 
24
15
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
25
16
 
@@ -27,7 +18,7 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
27
18
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
28
19
 
29
20
  var PrimaryTabList = function (_a) {
30
- var size = _a.size, _b = _a.styles, styles = _b === void 0 ? {} : _b, className = _a.className, containerClassName = _a.containerClassName, _c = _a.titles, titles = _c === void 0 ? [] : _c, _d = _a.selectedId, selectedId = _d === void 0 ? titles.length ? titles[0].id : undefined : _d, _e = _a.scrollable, scrollable = _e === void 0 ? true : _e, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, platform = _a.platform;
21
+ var size = _a.size, _b = _a.styles, styles = _b === void 0 ? {} : _b, className = _a.className, containerClassName = _a.containerClassName, _c = _a.titles, titles = _c === void 0 ? [] : _c, _d = _a.selectedId, selectedId = _d === void 0 ? titles.length ? titles[0].id : undefined : _d, _e = _a.scrollable, scrollable = _e === void 0 ? true : _e, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, platform = _a.platform, textStyle = _a.textStyle;
31
22
  var lineRef = React.useRef(null);
32
23
  var _f = hooks_useTabs.useTabs({
33
24
  titles: titles,
@@ -51,16 +42,17 @@ var PrimaryTabList = function (_a) {
51
42
  }, [selectedTab]);
52
43
  var renderContent = function () {
53
44
  var _a;
54
- return (React__default.default.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn__default.default(styles.component, className, size && styles[size], (_a = {},
45
+ return (React__default.default.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn__default.default(styles.component, className, !textStyle && size && styles[size], (_a = {},
55
46
  _a[styles.fullWidthScroll] = fullWidthScroll,
56
47
  _a)) },
57
48
  titles.map(function (_a, index) {
58
- _a.dataTestId; var restTitleProps = tslib.__rest(_a, ["dataTestId"]);
49
+ _a.dataTestId; _a.toggleRef; var restTitleProps = tslib.__rest(_a, ["dataTestId", "toggleRef"]);
59
50
  return (React__default.default.createElement(coreComponentsKeyboardFocusable.KeyboardFocusable, { key: restTitleProps.id }, function (ref, focused) { return (React__default.default.createElement(components_title_Component.Title, tslib.__assign({}, getTabListItemProps(index, ref), restTitleProps, { focused: focused, styles: styles }))); }));
60
51
  }),
61
52
  React__default.default.createElement("div", { className: styles.line, ref: lineRef })));
62
53
  };
63
- return scrollable ? (React__default.default.createElement(components_scrollableContainer_Component.ScrollableContainer, { activeChild: focusedTab || selectedTab, containerClassName: containerClassName, fullWidthScroll: fullWidthScroll, view: 'primary', size: size, platform: platform }, renderContent())) : (React__default.default.createElement("div", { className: cn__default.default(styles.container, containerClassName) }, renderContent()));
54
+ var wrapperClassName = cn__default.default(textStyle && styles[textStyle], styles[platform]);
55
+ return scrollable ? (React__default.default.createElement(components_scrollableContainer_Component.ScrollableContainer, { containerWrapperClassName: wrapperClassName, activeChild: focusedTab || selectedTab, containerClassName: containerClassName, scrollControlsClassName: cn__default.default(textStyle && styles.scrollControls), fullWidthScroll: fullWidthScroll, view: 'primary', size: textStyle ? undefined : size, platform: platform }, renderContent())) : (React__default.default.createElement("div", { className: cn__default.default(styles.container, wrapperClassName, containerClassName) }, renderContent()));
64
56
  };
65
57
 
66
58
  exports.PrimaryTabList = PrimaryTabList;
@@ -2,5 +2,5 @@
2
2
  import React from 'react';
3
3
  import { TabListProps } from "../../typings";
4
4
  type PrimaryTabListMobileProps = Omit<TabListProps, 'size' | 'collapsedTabsIds'>;
5
- declare const PrimaryTabListMobile: ({ className, ...restProps }: PrimaryTabListMobileProps) => React.JSX.Element;
5
+ declare const PrimaryTabListMobile: (props: PrimaryTabListMobileProps) => React.JSX.Element;
6
6
  export { PrimaryTabListMobileProps, PrimaryTabListMobile };
@@ -4,37 +4,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
6
  var React = require('react');
7
- var cn = require('classnames');
8
7
  var components_primaryTablist_Component = require('./Component.js');
9
8
  var styles$1 = require('./index.module.css');
10
9
  var mobileStyles = require('./mobile.module.css');
11
- require('@juggle/resize-observer');
12
- require('@alfalab/core-components-keyboard-focusable/cssm');
13
- require('@alfalab/core-components-shared/cssm');
14
- require('../../hooks/use-tabs.js');
15
- require('../scrollable-container/Component.js');
16
- require('compute-scroll-into-view');
17
- require('../scroll-controls/Component.js');
18
- require('lodash.debounce');
19
- require('@alfalab/core-components-icon-button/cssm');
20
- require('@alfalab/icons-glyph/ChevronLeftMIcon');
21
- require('@alfalab/icons-glyph/ChevronRightMIcon');
22
- require('../scroll-controls/utils.js');
23
- require('../scroll-controls/index.module.css');
24
- require('../scrollable-container/index.module.css');
25
- require('../title/Component.js');
26
10
 
27
11
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
28
12
 
29
13
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
30
- var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
31
14
  var styles__default = /*#__PURE__*/_interopDefaultCompat(styles$1);
32
15
  var mobileStyles__default = /*#__PURE__*/_interopDefaultCompat(mobileStyles);
33
16
 
34
17
  var styles = tslib.__assign(tslib.__assign({}, styles__default.default), mobileStyles__default.default);
35
- var PrimaryTabListMobile = function (_a) {
36
- var className = _a.className, restProps = tslib.__rest(_a, ["className"]);
37
- return (React__default.default.createElement(components_primaryTablist_Component.PrimaryTabList, tslib.__assign({}, restProps, { styles: styles, className: cn__default.default(className, styles.mobile), platform: 'mobile' })));
38
- };
18
+ var PrimaryTabListMobile = function (props) { return (React__default.default.createElement(components_primaryTablist_Component.PrimaryTabList, tslib.__assign({}, props, { styles: styles, platform: 'mobile' }))); };
39
19
 
40
20
  exports.PrimaryTabListMobile = PrimaryTabListMobile;
@@ -7,25 +7,6 @@ var React = require('react');
7
7
  var coreComponentsMq = require('@alfalab/core-components-mq/cssm');
8
8
  var components_primaryTablist_Component_desktop = require('./Component.desktop.js');
9
9
  var components_primaryTablist_Component_mobile = require('./Component.mobile.js');
10
- require('./Component.js');
11
- require('@juggle/resize-observer');
12
- require('classnames');
13
- require('@alfalab/core-components-keyboard-focusable/cssm');
14
- require('@alfalab/core-components-shared/cssm');
15
- require('../../hooks/use-tabs.js');
16
- require('../scrollable-container/Component.js');
17
- require('compute-scroll-into-view');
18
- require('../scroll-controls/Component.js');
19
- require('lodash.debounce');
20
- require('@alfalab/core-components-icon-button/cssm');
21
- require('@alfalab/icons-glyph/ChevronLeftMIcon');
22
- require('@alfalab/icons-glyph/ChevronRightMIcon');
23
- require('../scroll-controls/utils.js');
24
- require('../scroll-controls/index.module.css');
25
- require('../scrollable-container/index.module.css');
26
- require('../title/Component.js');
27
- require('./index.module.css');
28
- require('./mobile.module.css');
29
10
 
30
11
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
31
12
 
@@ -27,6 +27,8 @@
27
27
  } :root {
28
28
  --font-family-system: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica,
29
29
  sans-serif;
30
+ --font-family-styrene: 'Styrene UI', system-ui, -apple-system, 'Segoe UI', Roboto,
31
+ 'Helvetica Neue', Helvetica, sans-serif;
30
32
  } :root {
31
33
  --focus-color: var(--color-light-border-link);
32
34
  --disabled-cursor: not-allowed;
@@ -94,7 +96,263 @@
94
96
  height: 1px;
95
97
  width: 100%;
96
98
  background-color: var(--primary-tablist-bottom-border-color);
97
- } .fullWidthScroll {
99
+ } .desktop.paragraph-primary-large .title {
100
+ font-size: 18px;
101
+ line-height: 24px;
102
+ font-weight: 400;
103
+ } .desktop.paragraph-primary-medium .title {
104
+ font-size: 16px;
105
+ line-height: 24px;
106
+ font-weight: 400;
107
+ } .desktop.paragraph-primary-small .title {
108
+ font-size: 14px;
109
+ line-height: 20px;
110
+ font-weight: 400;
111
+ } .desktop.action-primary-large .title {
112
+ font-size: 18px;
113
+ line-height: 24px;
114
+ font-weight: 500;
115
+ } .desktop.action-primary-medium .title {
116
+ font-size: 16px;
117
+ line-height: 24px;
118
+ font-weight: 500;
119
+ } .desktop.action-primary-small .title {
120
+ font-size: 14px;
121
+ line-height: 20px;
122
+ font-weight: 500;
123
+ } .desktop.accent-primary-large .title {
124
+ font-size: 18px;
125
+ line-height: 24px;
126
+ font-weight: 700;
127
+ } .desktop.accent-primary-medium .title {
128
+ font-size: 16px;
129
+ line-height: 24px;
130
+ font-weight: 700;
131
+ } .desktop.accent-primary-small .title {
132
+ font-size: 14px;
133
+ line-height: 20px;
134
+ font-weight: 700;
135
+ } .desktop.paragraph-primary-large .title, .desktop.paragraph-primary-medium .title, .desktop.accent-primary-large .title, .desktop.accent-primary-medium .title, .desktop.action-primary-large .title, .desktop.action-primary-medium .title {
136
+ padding-bottom: calc(24px / 2);
137
+ } .desktop.paragraph-primary-large .title + .title,
138
+ .desktop.paragraph-primary-large .pickerWrapper,
139
+ .desktop.paragraph-primary-medium .title + .title,
140
+ .desktop.paragraph-primary-medium .pickerWrapper,
141
+ .desktop.accent-primary-large .title + .title,
142
+ .desktop.accent-primary-large .pickerWrapper,
143
+ .desktop.accent-primary-medium .title + .title,
144
+ .desktop.accent-primary-medium .pickerWrapper,
145
+ .desktop.action-primary-large .title + .title,
146
+ .desktop.action-primary-large .pickerWrapper,
147
+ .desktop.action-primary-medium .title + .title,
148
+ .desktop.action-primary-medium .pickerWrapper {
149
+ margin-left: 24px;
150
+ } .desktop.paragraph-primary-large .option, .desktop.paragraph-primary-medium .option, .desktop.accent-primary-large .option, .desktop.accent-primary-medium .option, .desktop.action-primary-large .option, .desktop.action-primary-medium .option {
151
+ padding: 0;
152
+ } .desktop.paragraph-primary-large .scrollControls > button, .desktop.paragraph-primary-medium .scrollControls > button, .desktop.accent-primary-large .scrollControls > button, .desktop.accent-primary-medium .scrollControls > button, .desktop.action-primary-large .scrollControls > button, .desktop.action-primary-medium .scrollControls > button {
153
+ box-sizing: content-box;
154
+ width: 24px;
155
+ height: 24px;
156
+ padding: 0;
157
+ } .desktop.paragraph-primary-large .scrollControls button:first-child, .desktop.paragraph-primary-medium .scrollControls button:first-child, .desktop.accent-primary-large .scrollControls button:first-child, .desktop.accent-primary-medium .scrollControls button:first-child, .desktop.action-primary-large .scrollControls button:first-child, .desktop.action-primary-medium .scrollControls button:first-child {
158
+ margin: 0 0 0 calc(24px / 2);
159
+ } .desktop.paragraph-primary-small .title, .desktop.accent-primary-small .title, .desktop.action-primary-small .title {
160
+ padding-bottom: calc(20px / 2);
161
+ } .desktop.paragraph-primary-small .title + .title,
162
+ .desktop.paragraph-primary-small .pickerWrapper,
163
+ .desktop.accent-primary-small .title + .title,
164
+ .desktop.accent-primary-small .pickerWrapper,
165
+ .desktop.action-primary-small .title + .title,
166
+ .desktop.action-primary-small .pickerWrapper {
167
+ margin-left: 20px;
168
+ } .desktop.paragraph-primary-small .option, .desktop.accent-primary-small .option, .desktop.action-primary-small .option {
169
+ padding: 0;
170
+ } .desktop.paragraph-primary-small .scrollControls > button, .desktop.accent-primary-small .scrollControls > button, .desktop.action-primary-small .scrollControls > button {
171
+ box-sizing: content-box;
172
+ width: 20px;
173
+ height: 20px;
174
+ padding: 0;
175
+ } .desktop.paragraph-primary-small .scrollControls button:first-child, .desktop.accent-primary-small .scrollControls button:first-child, .desktop.action-primary-small .scrollControls button:first-child {
176
+ margin: 0 0 0 calc(20px / 2);
177
+ } .desktop.headline-system-xlarge .title {
178
+ font-size: 48px;
179
+ line-height: 52px;
180
+ font-weight: 700;
181
+ } .desktop.headline-system-large .title {
182
+ font-size: 40px;
183
+ line-height: 48px;
184
+ font-weight: 700;
185
+ } .desktop.headline-system-medium .title {
186
+ font-size: 30px;
187
+ line-height: 36px;
188
+ font-weight: 700;
189
+ } .desktop.headline-system-small .title {
190
+ font-size: 22px;
191
+ line-height: 26px;
192
+ font-weight: 700;
193
+ } .desktop.headline-system-xsmall .title {
194
+ font-size: 18px;
195
+ line-height: 22px;
196
+ font-weight: 700;
197
+ } .desktop.headline-xlarge .title {
198
+ font-size: 48px;
199
+ line-height: 64px;
200
+ font-weight: 500;
201
+ font-feature-settings: 'ss01';
202
+ font-family: var(--font-family-styrene);
203
+ } .desktop.headline-large .title {
204
+ font-size: 40px;
205
+ line-height: 48px;
206
+ font-weight: 500;
207
+ font-feature-settings: 'ss01';
208
+ font-family: var(--font-family-styrene);
209
+ } .desktop.headline-medium .title {
210
+ font-size: 32px;
211
+ line-height: 40px;
212
+ font-weight: 500;
213
+ font-feature-settings: 'ss01';
214
+ font-family: var(--font-family-styrene);
215
+ } .desktop.headline-small .title {
216
+ font-size: 24px;
217
+ line-height: 32px;
218
+ font-weight: 500;
219
+ font-feature-settings: 'ss01';
220
+ font-family: var(--font-family-styrene);
221
+ } .desktop.headline-xsmall .title {
222
+ font-size: 20px;
223
+ line-height: 24px;
224
+ font-weight: 500;
225
+ font-feature-settings: 'ss01';
226
+ font-family: var(--font-family-styrene);
227
+ } .desktop.headline-system-xlarge .title {
228
+ padding-bottom: calc(52px / 2);
229
+ } .desktop.headline-system-xlarge .title + .title,
230
+ .desktop.headline-system-xlarge .pickerWrapper {
231
+ margin-left: 52px;
232
+ } .desktop.headline-system-xlarge .option {
233
+ padding: 0;
234
+ } .desktop.headline-system-xlarge .scrollControls > button {
235
+ box-sizing: content-box;
236
+ width: 52px;
237
+ height: 52px;
238
+ padding: 0;
239
+ } .desktop.headline-system-xlarge .scrollControls button:first-child {
240
+ margin: 0 0 0 calc(52px / 2);
241
+ } .desktop.headline-system-large .title, .desktop.headline-large .title {
242
+ padding-bottom: calc(48px / 2);
243
+ } .desktop.headline-system-large .title + .title,
244
+ .desktop.headline-system-large .pickerWrapper,
245
+ .desktop.headline-large .title + .title,
246
+ .desktop.headline-large .pickerWrapper {
247
+ margin-left: 48px;
248
+ } .desktop.headline-system-large .option, .desktop.headline-large .option {
249
+ padding: 0;
250
+ } .desktop.headline-system-large .scrollControls > button, .desktop.headline-large .scrollControls > button {
251
+ box-sizing: content-box;
252
+ width: 48px;
253
+ height: 48px;
254
+ padding: 0;
255
+ } .desktop.headline-system-large .scrollControls button:first-child, .desktop.headline-large .scrollControls button:first-child {
256
+ margin: 0 0 0 calc(48px / 2);
257
+ } .desktop.headline-system-medium .title {
258
+ padding-bottom: calc(36px / 2);
259
+ } .desktop.headline-system-medium .title + .title,
260
+ .desktop.headline-system-medium .pickerWrapper {
261
+ margin-left: 36px;
262
+ } .desktop.headline-system-medium .option {
263
+ padding: 0;
264
+ } .desktop.headline-system-medium .scrollControls > button {
265
+ box-sizing: content-box;
266
+ width: 36px;
267
+ height: 36px;
268
+ padding: 0;
269
+ } .desktop.headline-system-medium .scrollControls button:first-child {
270
+ margin: 0 0 0 calc(36px / 2);
271
+ } .desktop.headline-system-small .title {
272
+ padding-bottom: calc(26px / 2);
273
+ } .desktop.headline-system-small .title + .title,
274
+ .desktop.headline-system-small .pickerWrapper {
275
+ margin-left: 26px;
276
+ } .desktop.headline-system-small .option {
277
+ padding: 0;
278
+ } .desktop.headline-system-small .scrollControls > button {
279
+ box-sizing: content-box;
280
+ width: 26px;
281
+ height: 26px;
282
+ padding: 0;
283
+ } .desktop.headline-system-small .scrollControls button:first-child {
284
+ margin: 0 0 0 calc(26px / 2);
285
+ } .desktop.headline-system-xsmall .title {
286
+ padding-bottom: calc(22px / 2);
287
+ } .desktop.headline-system-xsmall .title + .title,
288
+ .desktop.headline-system-xsmall .pickerWrapper {
289
+ margin-left: 22px;
290
+ } .desktop.headline-system-xsmall .option {
291
+ padding: 0;
292
+ } .desktop.headline-system-xsmall .scrollControls > button {
293
+ box-sizing: content-box;
294
+ width: 22px;
295
+ height: 22px;
296
+ padding: 0;
297
+ } .desktop.headline-system-xsmall .scrollControls button:first-child {
298
+ margin: 0 0 0 calc(22px / 2);
299
+ } .desktop.headline-xlarge .title {
300
+ padding-bottom: calc(64px / 2);
301
+ } .desktop.headline-xlarge .title + .title,
302
+ .desktop.headline-xlarge .pickerWrapper {
303
+ margin-left: 64px;
304
+ } .desktop.headline-xlarge .option {
305
+ padding: 0;
306
+ } .desktop.headline-xlarge .scrollControls > button {
307
+ box-sizing: content-box;
308
+ width: 64px;
309
+ height: 64px;
310
+ padding: 0;
311
+ } .desktop.headline-xlarge .scrollControls button:first-child {
312
+ margin: 0 0 0 calc(64px / 2);
313
+ } .desktop.headline-medium .title {
314
+ padding-bottom: calc(40px / 2);
315
+ } .desktop.headline-medium .title + .title,
316
+ .desktop.headline-medium .pickerWrapper {
317
+ margin-left: 40px;
318
+ } .desktop.headline-medium .option {
319
+ padding: 0;
320
+ } .desktop.headline-medium .scrollControls > button {
321
+ box-sizing: content-box;
322
+ width: 40px;
323
+ height: 40px;
324
+ padding: 0;
325
+ } .desktop.headline-medium .scrollControls button:first-child {
326
+ margin: 0 0 0 calc(40px / 2);
327
+ } .desktop.headline-small .title {
328
+ padding-bottom: calc(32px / 2);
329
+ } .desktop.headline-small .title + .title,
330
+ .desktop.headline-small .pickerWrapper {
331
+ margin-left: 32px;
332
+ } .desktop.headline-small .option {
333
+ padding: 0;
334
+ } .desktop.headline-small .scrollControls > button {
335
+ box-sizing: content-box;
336
+ width: 32px;
337
+ height: 32px;
338
+ padding: 0;
339
+ } .desktop.headline-small .scrollControls button:first-child {
340
+ margin: 0 0 0 calc(32px / 2);
341
+ } .desktop.headline-xsmall .title {
342
+ padding-bottom: calc(24px / 2);
343
+ } .desktop.headline-xsmall .title + .title,
344
+ .desktop.headline-xsmall .pickerWrapper {
345
+ margin-left: 24px;
346
+ } .desktop.headline-xsmall .option {
347
+ padding: 0;
348
+ } .desktop.headline-xsmall .scrollControls > button {
349
+ box-sizing: content-box;
350
+ width: 24px;
351
+ height: 24px;
352
+ padding: 0;
353
+ } .desktop.headline-xsmall .scrollControls button:first-child {
354
+ margin: 0 0 0 calc(24px / 2);
355
+ } .fullWidthScroll {
98
356
  min-width: calc(100% - 2 * var(--gap-m));
99
357
  margin: 0 var(--gap-m);
100
358
  } .container {