@alfalab/core-components-tabs 8.12.3 → 8.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@alfalab/icons-glyph/package.json +14 -0
- package/components/primary-tablist/Component.collapsible.d.ts +1 -1
- package/components/primary-tablist/Component.collapsible.js +6 -6
- package/components/primary-tablist/Component.desktop.js +1 -1
- package/components/primary-tablist/Component.mobile.js +2 -2
- package/components/primary-tablist/Component.responsive.d.ts +1 -1
- package/components/primary-tablist/Component.responsive.js +2 -3
- package/components/primary-tablist/index.css +132 -132
- package/components/primary-tablist/mobile.css +220 -220
- package/components/scroll-controls/Component.js +1 -1
- package/components/scroll-controls/index.css +12 -12
- package/components/scrollable-container/Component.js +1 -1
- package/components/scrollable-container/index.css +6 -6
- package/components/secondary-tablist/Component.desktop.js +1 -1
- package/components/secondary-tablist/Component.mobile.js +2 -2
- package/components/secondary-tablist/Component.responsive.d.ts +1 -1
- package/components/secondary-tablist/Component.responsive.js +2 -3
- package/components/secondary-tablist/index.css +17 -17
- package/components/secondary-tablist/mobile.css +20 -20
- package/components/tab/Component.js +1 -1
- package/components/tab/index.css +3 -3
- package/components/tabs/Component.d.ts +1 -1
- package/components/tabs/Component.js +2 -3
- package/components/tabs/Component.responsive.d.ts +1 -1
- package/components/tabs/Component.responsive.js +2 -2
- package/cssm/components/primary-tablist/Component.collapsible.d.ts +1 -1
- package/cssm/components/primary-tablist/Component.collapsible.js +5 -5
- package/cssm/components/primary-tablist/Component.responsive.d.ts +1 -1
- package/cssm/components/primary-tablist/Component.responsive.js +2 -3
- package/cssm/components/secondary-tablist/Component.responsive.d.ts +1 -1
- package/cssm/components/secondary-tablist/Component.responsive.js +2 -3
- package/cssm/components/tabs/Component.d.ts +1 -1
- package/cssm/components/tabs/Component.js +2 -3
- package/cssm/components/tabs/Component.responsive.d.ts +1 -1
- package/cssm/components/tabs/Component.responsive.js +2 -2
- package/cssm/hooks/use-tablist-titles.d.ts +1 -1
- package/cssm/hooks/use-tablist-titles.js +5 -5
- package/cssm/typings.d.ts +14 -5
- package/esm/components/primary-tablist/Component.collapsible.d.ts +1 -1
- package/esm/components/primary-tablist/Component.collapsible.js +6 -6
- package/esm/components/primary-tablist/Component.desktop.js +1 -1
- package/esm/components/primary-tablist/Component.mobile.js +2 -2
- package/esm/components/primary-tablist/Component.responsive.d.ts +1 -1
- package/esm/components/primary-tablist/Component.responsive.js +3 -4
- package/esm/components/primary-tablist/index.css +132 -132
- package/esm/components/primary-tablist/mobile.css +220 -220
- package/esm/components/scroll-controls/Component.js +1 -1
- package/esm/components/scroll-controls/index.css +12 -12
- package/esm/components/scrollable-container/Component.js +1 -1
- package/esm/components/scrollable-container/index.css +6 -6
- package/esm/components/secondary-tablist/Component.desktop.js +1 -1
- package/esm/components/secondary-tablist/Component.mobile.js +2 -2
- package/esm/components/secondary-tablist/Component.responsive.d.ts +1 -1
- package/esm/components/secondary-tablist/Component.responsive.js +3 -4
- package/esm/components/secondary-tablist/index.css +17 -17
- package/esm/components/secondary-tablist/mobile.css +20 -20
- package/esm/components/tab/Component.js +1 -1
- package/esm/components/tab/index.css +3 -3
- package/esm/components/tabs/Component.d.ts +1 -1
- package/esm/components/tabs/Component.js +2 -3
- package/esm/components/tabs/Component.responsive.d.ts +1 -1
- package/esm/components/tabs/Component.responsive.js +2 -2
- package/esm/hooks/use-tablist-titles.d.ts +1 -1
- package/esm/hooks/use-tablist-titles.js +6 -6
- package/esm/index.module-62a76202.js +4 -0
- package/esm/index.module-db169a3f.js +4 -0
- package/esm/typings.d.ts +14 -5
- package/hooks/use-tablist-titles.d.ts +1 -1
- package/hooks/use-tablist-titles.js +5 -5
- package/index.module-b736b98c.js +6 -0
- package/index.module-fd8afcc7.js +6 -0
- package/modern/components/primary-tablist/Component.collapsible.d.ts +1 -1
- package/modern/components/primary-tablist/Component.collapsible.js +4 -4
- package/modern/components/primary-tablist/Component.desktop.js +1 -1
- package/modern/components/primary-tablist/Component.mobile.js +2 -2
- package/modern/components/primary-tablist/Component.responsive.d.ts +1 -1
- package/modern/components/primary-tablist/Component.responsive.js +3 -4
- package/modern/components/primary-tablist/index.css +132 -132
- package/modern/components/primary-tablist/mobile.css +220 -220
- package/modern/components/scroll-controls/Component.js +1 -1
- package/modern/components/scroll-controls/index.css +12 -12
- package/modern/components/scrollable-container/Component.js +1 -1
- package/modern/components/scrollable-container/index.css +6 -6
- package/modern/components/secondary-tablist/Component.desktop.js +1 -1
- package/modern/components/secondary-tablist/Component.mobile.js +2 -2
- package/modern/components/secondary-tablist/Component.responsive.d.ts +1 -1
- package/modern/components/secondary-tablist/Component.responsive.js +3 -4
- package/modern/components/secondary-tablist/index.css +17 -17
- package/modern/components/secondary-tablist/mobile.css +20 -20
- package/modern/components/tab/Component.js +1 -1
- package/modern/components/tab/index.css +3 -3
- package/modern/components/tabs/Component.d.ts +1 -1
- package/modern/components/tabs/Component.js +2 -3
- package/modern/components/tabs/Component.responsive.d.ts +1 -1
- package/modern/components/tabs/Component.responsive.js +1 -1
- package/modern/hooks/use-tablist-titles.d.ts +1 -1
- package/modern/hooks/use-tablist-titles.js +3 -3
- package/modern/index.module-131ed636.js +4 -0
- package/modern/index.module-71eadc23.js +4 -0
- package/modern/typings.d.ts +14 -5
- package/moderncssm/components/primary-tablist/Component.collapsible.d.ts +1 -1
- package/moderncssm/components/primary-tablist/Component.collapsible.js +3 -3
- package/moderncssm/components/primary-tablist/Component.responsive.d.ts +1 -1
- package/moderncssm/components/primary-tablist/Component.responsive.js +3 -4
- package/moderncssm/components/secondary-tablist/Component.responsive.d.ts +1 -1
- package/moderncssm/components/secondary-tablist/Component.responsive.js +3 -4
- package/moderncssm/components/tabs/Component.d.ts +1 -1
- package/moderncssm/components/tabs/Component.js +2 -3
- package/moderncssm/components/tabs/Component.responsive.d.ts +1 -1
- package/moderncssm/components/tabs/Component.responsive.js +1 -1
- package/moderncssm/hooks/use-tablist-titles.d.ts +1 -1
- package/moderncssm/hooks/use-tablist-titles.js +3 -3
- package/moderncssm/typings.d.ts +14 -5
- package/package.json +5 -5
- package/src/components/primary-tablist/Component.collapsible.tsx +4 -3
- package/src/components/primary-tablist/Component.responsive.tsx +5 -5
- package/src/components/secondary-tablist/Component.responsive.tsx +5 -5
- package/src/components/tabs/Component.responsive.tsx +13 -1
- package/src/components/tabs/Component.tsx +5 -5
- package/src/hooks/use-tablist-titles.ts +13 -7
- package/src/typings.ts +19 -6
- package/typings.d.ts +14 -5
- package/esm/index.module-058dc572.js +0 -4
- package/esm/index.module-d9cc52ea.js +0 -4
- package/index.module-37ffe65f.js +0 -6
- package/index.module-fdd7f8ed.js +0 -6
- package/modern/index.module-062ab45d.js +0 -4
- package/modern/index.module-d3835266.js +0 -4
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var tslib = require('tslib');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var coreComponentsMq = require('@alfalab/core-components-mq/cssm');
|
|
8
|
-
var coreComponentsShared = require('@alfalab/core-components-shared/cssm');
|
|
9
8
|
var components_secondaryTablist_Component_desktop = require('./Component.desktop.js');
|
|
10
9
|
var components_secondaryTablist_Component_mobile = require('./Component.mobile.js');
|
|
11
10
|
|
|
@@ -14,8 +13,8 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
|
|
|
14
13
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
15
14
|
|
|
16
15
|
var SecondaryTabListResponsive = function (_a) {
|
|
17
|
-
var
|
|
18
|
-
var isDesktop = coreComponentsMq.
|
|
16
|
+
var fullWidthScroll = _a.fullWidthScroll, breakpoint = _a.breakpoint, client = _a.client, _b = _a.defaultMatchMediaValue, defaultMatchMediaValue = _b === void 0 ? client === undefined ? undefined : client === 'desktop' : _b, restProps = tslib.__rest(_a, ["fullWidthScroll", "breakpoint", "client", "defaultMatchMediaValue"]);
|
|
17
|
+
var isDesktop = coreComponentsMq.useIsDesktop(breakpoint, defaultMatchMediaValue);
|
|
19
18
|
return isDesktop ? (React__default.default.createElement(components_secondaryTablist_Component_desktop.SecondaryTabListDesktop, tslib.__assign({}, restProps))) : (React__default.default.createElement(components_secondaryTablist_Component_mobile.SecondaryTabListMobile, tslib.__assign({ fullWidthScroll: fullWidthScroll }, restProps)));
|
|
20
19
|
};
|
|
21
20
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { TabsProps } from "../../typings";
|
|
4
|
-
declare const Tabs: ({ TabList, className, containerClassName, size,
|
|
4
|
+
declare const Tabs: ({ TabList, className, containerClassName, size, children, selectedId, scrollable, collapsedTabsIds, fullWidthScroll, keepMounted, dataTestId, onChange, breakpoint, client, defaultMatchMediaValue, tagShape, tagView, showSkeleton, skeletonProps, textStyle, style, }: Omit<TabsProps, 'view'>) => React.JSX.Element;
|
|
5
5
|
export { Tabs };
|
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var coreComponentsShared = require('@alfalab/core-components-shared/cssm');
|
|
7
6
|
|
|
8
7
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
9
8
|
|
|
10
9
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
11
10
|
|
|
12
11
|
var Tabs = function (_a) {
|
|
13
|
-
var TabList = _a.TabList, className = _a.className, containerClassName = _a.containerClassName, size = _a.size,
|
|
12
|
+
var TabList = _a.TabList, className = _a.className, containerClassName = _a.containerClassName, size = _a.size, children = _a.children, selectedId = _a.selectedId, scrollable = _a.scrollable, collapsedTabsIds = _a.collapsedTabsIds, _b = _a.fullWidthScroll, fullWidthScroll = _b === void 0 ? false : _b, _c = _a.keepMounted, keepMounted = _c === void 0 ? false : _c, dataTestId = _a.dataTestId, onChange = _a.onChange, breakpoint = _a.breakpoint, client = _a.client, defaultMatchMediaValue = _a.defaultMatchMediaValue, tagShape = _a.tagShape, tagView = _a.tagView, _d = _a.showSkeleton, showSkeleton = _d === void 0 ? false : _d, skeletonProps = _a.skeletonProps, textStyle = _a.textStyle, style = _a.style;
|
|
14
13
|
var tabsArray = React__default.default.Children.toArray(children);
|
|
15
14
|
var titles = tabsArray.map(function (_a) {
|
|
16
15
|
var _b = _a.props, title = _b.title, id = _b.id, rightAddons = _b.rightAddons, disabled = _b.disabled, hidden = _b.hidden, toggleClassName = _b.toggleClassName, toggleTestId = _b.dataTestId, toggleRef = _b.toggleRef;
|
|
@@ -27,7 +26,7 @@ var Tabs = function (_a) {
|
|
|
27
26
|
});
|
|
28
27
|
var tabs = tabsArray.filter(function (tab) { return tab.props.id === selectedId || tab.props.keepMounted || keepMounted; });
|
|
29
28
|
return (React__default.default.createElement("div", { className: className },
|
|
30
|
-
React__default.default.createElement(TabList, { containerClassName: containerClassName, size: size, titles: titles, selectedId: selectedId, scrollable: scrollable, collapsedTabsIds: collapsedTabsIds, onChange: onChange, dataTestId: dataTestId, defaultMatchMediaValue: defaultMatchMediaValue,
|
|
29
|
+
React__default.default.createElement(TabList, { containerClassName: containerClassName, size: size, titles: titles, selectedId: selectedId, scrollable: scrollable, collapsedTabsIds: collapsedTabsIds, onChange: onChange, dataTestId: dataTestId, defaultMatchMediaValue: defaultMatchMediaValue, breakpoint: breakpoint, client: client, fullWidthScroll: fullWidthScroll, tagShape: tagShape, tagView: tagView, textStyle: textStyle, inlineStyle: style, showSkeleton: showSkeleton, skeletonProps: skeletonProps }),
|
|
31
30
|
tabs.map(function (tab) { return React.cloneElement(tab, { hidden: tab.props.id !== selectedId }); })));
|
|
32
31
|
};
|
|
33
32
|
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { TabsProps } from "../../typings";
|
|
4
4
|
type TabsResponsiveProps = Omit<TabsProps, 'TabList' | 'collapsedTabsIds'>;
|
|
5
|
-
declare const TabsResponsive: ({ view, scrollable, ...restProps }: TabsResponsiveProps) => React.JSX.Element;
|
|
5
|
+
declare const TabsResponsive: ({ view, scrollable, breakpoint, client, defaultMatchMediaValue, ...restProps }: TabsResponsiveProps) => React.JSX.Element;
|
|
6
6
|
export { TabsResponsiveProps, TabsResponsive };
|
|
@@ -17,8 +17,8 @@ var views = {
|
|
|
17
17
|
secondary: components_secondaryTablist_Component_responsive.SecondaryTabListResponsive,
|
|
18
18
|
};
|
|
19
19
|
var TabsResponsive = function (_a) {
|
|
20
|
-
var _b = _a.view, view = _b === void 0 ? 'primary' : _b, _c = _a.scrollable, scrollable = _c === void 0 ? false : _c, restProps = tslib.__rest(_a, ["view", "scrollable"]);
|
|
21
|
-
return React__default.default.createElement(components_tabs_Component.Tabs, tslib.__assign({ TabList: views[view], scrollable: scrollable }, restProps));
|
|
20
|
+
var _b = _a.view, view = _b === void 0 ? 'primary' : _b, _c = _a.scrollable, scrollable = _c === void 0 ? false : _c, breakpoint = _a.breakpoint, client = _a.client, _d = _a.defaultMatchMediaValue, defaultMatchMediaValue = _d === void 0 ? client === undefined ? undefined : client === 'desktop' : _d, restProps = tslib.__rest(_a, ["view", "scrollable", "breakpoint", "client", "defaultMatchMediaValue"]);
|
|
21
|
+
return (React__default.default.createElement(components_tabs_Component.Tabs, tslib.__assign({ TabList: views[view], scrollable: scrollable, defaultMatchMediaValue: defaultMatchMediaValue, breakpoint: breakpoint, client: client }, restProps)));
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
exports.TabsResponsive = TabsResponsive;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TabListProps } from "../typings";
|
|
3
|
-
declare const useTablistTitles: ({ titles, selectedId, collapsedTabsIds, breakpoint,
|
|
3
|
+
declare const useTablistTitles: ({ titles, selectedId, collapsedTabsIds, onChange, breakpoint, client, defaultMatchMediaValue, }: Pick<TabListProps, 'titles' | 'selectedId' | 'collapsedTabsIds' | 'onChange' | 'defaultMatchMediaValue' | 'breakpoint' | 'client'>) => {
|
|
4
4
|
containerRef: import("react").RefObject<HTMLDivElement>;
|
|
5
5
|
addonRef: import("react").RefObject<HTMLInputElement>;
|
|
6
6
|
tablistTitles: {
|
|
@@ -9,9 +9,9 @@ var hooks_useCollapsibleElements = require('./use-collapsible-elements.js');
|
|
|
9
9
|
var hooks_useTabs = require('./use-tabs.js');
|
|
10
10
|
|
|
11
11
|
var useTablistTitles = function (_a) {
|
|
12
|
-
var _b = _a.titles, titles = _b === void 0 ? [] : _b, selectedId = _a.selectedId, collapsedTabsIds = _a.collapsedTabsIds, breakpoint = _a.breakpoint,
|
|
13
|
-
var
|
|
14
|
-
var isDesktop = coreComponentsMq.
|
|
12
|
+
var _b = _a.titles, titles = _b === void 0 ? [] : _b, selectedId = _a.selectedId, collapsedTabsIds = _a.collapsedTabsIds, onChange = _a.onChange, breakpoint = _a.breakpoint, client = _a.client, _c = _a.defaultMatchMediaValue, defaultMatchMediaValue = _c === void 0 ? client === undefined ? undefined : client === 'desktop' : _c;
|
|
13
|
+
var _d = hooks_useCollapsibleElements.useCollapsibleElements('[role=tab]', [titles, collapsedTabsIds]), containerRef = _d.containerRef, addonRef = _d.addonRef, idsCollapsedElements = _d.idsCollapsedElements;
|
|
14
|
+
var isDesktop = coreComponentsMq.useIsDesktop(breakpoint, defaultMatchMediaValue);
|
|
15
15
|
var tablistTitles = React.useMemo(function () {
|
|
16
16
|
var idsCollapsedTitles = [];
|
|
17
17
|
var idsCollapsed = idsCollapsedElements.concat(collapsedTabsIds || []);
|
|
@@ -50,11 +50,11 @@ var useTablistTitles = function (_a) {
|
|
|
50
50
|
return a.collapsed ? 1 : -1;
|
|
51
51
|
});
|
|
52
52
|
}, [collapsedTabsIds, idsCollapsedElements, isDesktop, titles, selectedId]);
|
|
53
|
-
var
|
|
53
|
+
var _e = hooks_useTabs.useTabs({
|
|
54
54
|
titles: tablistTitles,
|
|
55
55
|
selectedId: selectedId,
|
|
56
56
|
onChange: onChange,
|
|
57
|
-
}), selectedTab =
|
|
57
|
+
}), selectedTab = _e.selectedTab, focusedTab = _e.focusedTab, getTabListItemProps = _e.getTabListItemProps;
|
|
58
58
|
return {
|
|
59
59
|
containerRef: containerRef,
|
|
60
60
|
addonRef: addonRef,
|
package/cssm/typings.d.ts
CHANGED
|
@@ -32,10 +32,6 @@ type TabsProps = {
|
|
|
32
32
|
* Высота заголовков табов
|
|
33
33
|
*/
|
|
34
34
|
size?: 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl';
|
|
35
|
-
/**
|
|
36
|
-
* Значение по-умолчанию для хука useMatchMedia
|
|
37
|
-
*/
|
|
38
|
-
defaultMatchMediaValue?: boolean | (() => boolean);
|
|
39
35
|
/**
|
|
40
36
|
* Мобильный вид
|
|
41
37
|
*/
|
|
@@ -71,10 +67,19 @@ type TabsProps = {
|
|
|
71
67
|
*/
|
|
72
68
|
dataTestId?: string;
|
|
73
69
|
/**
|
|
74
|
-
* Контрольная
|
|
70
|
+
* Контрольная точка, с нее начинается desktop версия
|
|
75
71
|
* @default 1024
|
|
76
72
|
*/
|
|
77
73
|
breakpoint?: number;
|
|
74
|
+
/**
|
|
75
|
+
* Версия, которая будет использоваться при серверном рендеринге
|
|
76
|
+
*/
|
|
77
|
+
client?: 'desktop' | 'mobile';
|
|
78
|
+
/**
|
|
79
|
+
* Значение по-умолчанию для хука useMatchMedia
|
|
80
|
+
* @deprecated Используйте client
|
|
81
|
+
*/
|
|
82
|
+
defaultMatchMediaValue?: boolean | (() => boolean);
|
|
78
83
|
/**
|
|
79
84
|
* Форма тега (для view secondary только)
|
|
80
85
|
*/
|
|
@@ -164,6 +169,10 @@ type TabListProps = Pick<TabsProps, 'className' | 'containerClassName' | 'size'
|
|
|
164
169
|
* @default 1024
|
|
165
170
|
*/
|
|
166
171
|
breakpoint?: number;
|
|
172
|
+
/**
|
|
173
|
+
* Версия, которая будет использоваться при серверном рендеринге
|
|
174
|
+
*/
|
|
175
|
+
client?: 'desktop' | 'mobile';
|
|
167
176
|
/**
|
|
168
177
|
* Дополнительные инлайн стили для заголовка
|
|
169
178
|
*/
|
|
@@ -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, textStyle, showSkeleton, skeletonProps, }: TabListProps) => React.JSX.Element;
|
|
4
|
+
declare const CollapsiblePrimaryTabList: ({ size, className, containerClassName, titles, selectedId, collapsedTabsIds, fullWidthScroll, onChange, dataTestId, breakpoint, client, defaultMatchMediaValue, textStyle, showSkeleton, skeletonProps, }: TabListProps) => React.JSX.Element;
|
|
5
5
|
export { CollapsiblePrimaryTabList };
|
|
@@ -4,23 +4,23 @@ import cn from 'classnames';
|
|
|
4
4
|
import { Badge } from '@alfalab/core-components-badge/esm';
|
|
5
5
|
import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable/esm';
|
|
6
6
|
import { PickerButtonDesktop } from '@alfalab/core-components-picker-button/esm/desktop';
|
|
7
|
-
import { getComponentBreakpoint } from '@alfalab/core-components-shared/esm';
|
|
8
7
|
import { useTablistTitles } from '../../hooks/use-tablist-titles.js';
|
|
9
8
|
import { createSyntheticMouseEvent } from '../../synthetic-events.js';
|
|
10
9
|
import { Title } from '../title/Component.js';
|
|
11
|
-
import { s as styles } from '../../index.module-
|
|
10
|
+
import { s as styles } from '../../index.module-db169a3f.js';
|
|
12
11
|
|
|
13
12
|
var CollapsiblePrimaryTabList = function (_a) {
|
|
14
|
-
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,
|
|
13
|
+
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, breakpoint = _a.breakpoint, client = _a.client, defaultMatchMediaValue = _a.defaultMatchMediaValue, textStyle = _a.textStyle, showSkeleton = _a.showSkeleton, skeletonProps = _a.skeletonProps;
|
|
15
14
|
var lineRef = useRef(null);
|
|
16
|
-
var
|
|
15
|
+
var _e = useTablistTitles({
|
|
17
16
|
titles: titles,
|
|
18
17
|
selectedId: selectedId,
|
|
19
18
|
collapsedTabsIds: collapsedTabsIds,
|
|
20
|
-
breakpoint: breakpoint,
|
|
21
19
|
onChange: onChange,
|
|
20
|
+
breakpoint: breakpoint,
|
|
21
|
+
client: client,
|
|
22
22
|
defaultMatchMediaValue: defaultMatchMediaValue,
|
|
23
|
-
}), containerRef =
|
|
23
|
+
}), containerRef = _e.containerRef, addonRef = _e.addonRef, tablistTitles = _e.tablistTitles, selectedTab = _e.selectedTab, getTabListItemProps = _e.getTabListItemProps;
|
|
24
24
|
useEffect(function () {
|
|
25
25
|
if (selectedTab && lineRef.current) {
|
|
26
26
|
lineRef.current.style.width = "".concat(selectedTab.offsetWidth, "px");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __rest, __assign } from 'tslib';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { PrimaryTabList } from './Component.js';
|
|
4
|
-
import { s as styles } from '../../index.module-
|
|
4
|
+
import { s as styles } from '../../index.module-db169a3f.js';
|
|
5
5
|
|
|
6
6
|
var PrimaryTabListDesktop = function (_a) {
|
|
7
7
|
var _b = _a.size, size = _b === void 0 ? 'm' : _b, restProps = __rest(_a, ["size"]);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __assign } from 'tslib';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { PrimaryTabList } from './Component.js';
|
|
4
|
-
import { s as styles$1 } from '../../index.module-
|
|
4
|
+
import { s as styles$1 } from '../../index.module-db169a3f.js';
|
|
5
5
|
|
|
6
|
-
var mobileStyles = {"title":"
|
|
6
|
+
var mobileStyles = {"title":"tabs__title_p3olt tabs__title_3iblt","mobile":"tabs__mobile_p3olt","paragraph-primary-large":"tabs__paragraph-primary-large_p3olt","paragraph-primary-medium":"tabs__paragraph-primary-medium_p3olt","paragraph-primary-small":"tabs__paragraph-primary-small_p3olt","action-primary-large":"tabs__action-primary-large_p3olt","action-primary-medium":"tabs__action-primary-medium_p3olt","action-primary-small":"tabs__action-primary-small_p3olt","accent-primary-large":"tabs__accent-primary-large_p3olt","accent-primary-medium":"tabs__accent-primary-medium_p3olt","accent-primary-small":"tabs__accent-primary-small_p3olt","pickerWrapper":"tabs__pickerWrapper_p3olt","option":"tabs__option_p3olt","scrollControls":"tabs__scrollControls_p3olt","headline-system-xlarge":"tabs__headline-system-xlarge_p3olt","headline-system-large":"tabs__headline-system-large_p3olt","headline-system-medium":"tabs__headline-system-medium_p3olt","headline-system-small":"tabs__headline-system-small_p3olt","headline-system-xsmall":"tabs__headline-system-xsmall_p3olt","headline-xlarge":"tabs__headline-xlarge_p3olt","headline-large":"tabs__headline-large_p3olt","headline-medium":"tabs__headline-medium_p3olt","headline-small":"tabs__headline-small_p3olt","headline-xsmall":"tabs__headline-xsmall_p3olt"};
|
|
7
7
|
require('./mobile.css')
|
|
8
8
|
|
|
9
9
|
var styles = __assign(__assign({}, styles$1), mobileStyles);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { TabListProps } from "../../typings";
|
|
4
|
-
declare const PrimaryTabListResponsive: ({ size, breakpoint, fullWidthScroll, defaultMatchMediaValue, ...restProps }: TabListProps) => React.JSX.Element;
|
|
4
|
+
declare const PrimaryTabListResponsive: ({ size, breakpoint, client, fullWidthScroll, defaultMatchMediaValue, ...restProps }: TabListProps) => React.JSX.Element;
|
|
5
5
|
export { PrimaryTabListResponsive };
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { __rest, __assign } from 'tslib';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import { getComponentBreakpoint } from '@alfalab/core-components-shared/esm';
|
|
3
|
+
import { useIsDesktop } from '@alfalab/core-components-mq/esm';
|
|
5
4
|
import { PrimaryTabListDesktop } from './Component.desktop.js';
|
|
6
5
|
import { PrimaryTabListMobile } from './Component.mobile.js';
|
|
7
6
|
|
|
8
7
|
var PrimaryTabListResponsive = function (_a) {
|
|
9
|
-
var size = _a.size,
|
|
10
|
-
var isDesktop =
|
|
8
|
+
var size = _a.size, breakpoint = _a.breakpoint, client = _a.client, fullWidthScroll = _a.fullWidthScroll, _b = _a.defaultMatchMediaValue, defaultMatchMediaValue = _b === void 0 ? client === undefined ? undefined : client === 'desktop' : _b, restProps = __rest(_a, ["size", "breakpoint", "client", "fullWidthScroll", "defaultMatchMediaValue"]);
|
|
9
|
+
var isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);
|
|
11
10
|
return isDesktop ? (React.createElement(PrimaryTabListDesktop, __assign({ breakpoint: breakpoint, size: size, defaultMatchMediaValue: defaultMatchMediaValue }, restProps))) : (React.createElement(PrimaryTabListMobile, __assign({ breakpoint: breakpoint, defaultMatchMediaValue: defaultMatchMediaValue, fullWidthScroll: fullWidthScroll }, restProps)));
|
|
12
11
|
};
|
|
13
12
|
|