@alfalab/core-components-tabs 7.2.9 → 7.3.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.
- package/{Component-0d7ca9a7.d.ts → Component-3677ec46.d.ts} +10 -0
- package/{esm/Component.responsive-0d7ca9a7.d.ts → Component.responsive-3677ec46.d.ts} +4 -3
- package/components/primary-tablist/Component.d.ts +1 -1
- package/components/primary-tablist/Component.desktop.js +2 -2
- package/components/primary-tablist/Component.js +4 -3
- package/components/primary-tablist/Component.mobile.js +3 -3
- package/components/primary-tablist/Component.responsive.d.ts +1 -1
- package/components/primary-tablist/Component.responsive.js +4 -4
- package/components/primary-tablist/index.css +29 -29
- package/components/primary-tablist/mobile.css +32 -32
- package/components/scrollable-container/Component.js +1 -1
- package/components/scrollable-container/index.css +5 -5
- package/components/secondary-tablist/Component.desktop.js +2 -2
- package/components/secondary-tablist/Component.js +1 -1
- package/components/secondary-tablist/Component.mobile.js +3 -3
- package/components/secondary-tablist/Component.responsive.js +2 -2
- package/components/secondary-tablist/index.css +11 -11
- package/components/secondary-tablist/mobile.css +13 -13
- 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.desktop.js +3 -3
- package/components/tabs/Component.js +2 -2
- package/components/tabs/Component.mobile.d.ts +1 -1
- package/components/tabs/Component.mobile.js +3 -3
- package/components/tabs/Component.responsive.js +3 -3
- package/components/title/Component.js +2 -2
- package/components/title/index.js +1 -1
- package/{esm/Component-0d7ca9a7.d.ts → cssm/Component-3677ec46.d.ts} +10 -0
- package/{Component.responsive-0d7ca9a7.d.ts → cssm/Component.responsive-3677ec46.d.ts} +4 -3
- package/cssm/components/primary-tablist/Component.d.ts +1 -1
- package/cssm/components/primary-tablist/Component.js +3 -2
- package/cssm/components/primary-tablist/Component.responsive.d.ts +1 -1
- package/cssm/components/primary-tablist/Component.responsive.js +2 -2
- package/cssm/components/tabs/Component.d.ts +1 -1
- package/cssm/components/tabs/Component.js +2 -2
- package/cssm/components/tabs/Component.mobile.d.ts +1 -1
- package/cssm/components/title/Component.js +1 -1
- package/cssm/hooks/use-collapsible-elements.js +5 -3
- package/cssm/hooks/use-tablist-titles.d.ts +1 -1
- package/cssm/hooks/use-tablist-titles.js +31 -7
- package/cssm/{index-0d7ca9a7.d.ts → index-3677ec46.d.ts} +2 -2
- package/cssm/typings.d.ts +5 -1
- package/desktop.js +3 -3
- package/{cssm/Component-0d7ca9a7.d.ts → esm/Component-3677ec46.d.ts} +10 -0
- package/{modern/Component.responsive-0d7ca9a7.d.ts → esm/Component.responsive-3677ec46.d.ts} +4 -3
- package/esm/components/primary-tablist/Component.d.ts +1 -1
- package/esm/components/primary-tablist/Component.desktop.js +2 -2
- package/esm/components/primary-tablist/Component.js +4 -3
- package/esm/components/primary-tablist/Component.mobile.js +3 -3
- package/esm/components/primary-tablist/Component.responsive.d.ts +1 -1
- package/esm/components/primary-tablist/Component.responsive.js +4 -4
- package/esm/components/primary-tablist/index.css +29 -29
- package/esm/components/primary-tablist/mobile.css +32 -32
- package/esm/components/scrollable-container/Component.js +1 -1
- package/esm/components/scrollable-container/index.css +5 -5
- package/esm/components/secondary-tablist/Component.desktop.js +2 -2
- package/esm/components/secondary-tablist/Component.js +1 -1
- package/esm/components/secondary-tablist/Component.mobile.js +3 -3
- package/esm/components/secondary-tablist/Component.responsive.js +2 -2
- package/esm/components/secondary-tablist/index.css +11 -11
- package/esm/components/secondary-tablist/mobile.css +13 -13
- 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.desktop.js +3 -3
- package/esm/components/tabs/Component.js +2 -2
- package/esm/components/tabs/Component.mobile.d.ts +1 -1
- package/esm/components/tabs/Component.mobile.js +3 -3
- package/esm/components/tabs/Component.responsive.js +3 -3
- package/esm/components/title/Component.js +2 -2
- package/esm/components/title/index.js +1 -1
- package/esm/desktop.js +3 -3
- package/esm/hooks/use-collapsible-elements.js +6 -4
- package/esm/hooks/use-tablist-titles.d.ts +1 -1
- package/esm/hooks/use-tablist-titles.js +32 -8
- package/esm/{index-0d7ca9a7.d.ts → index-3677ec46.d.ts} +2 -2
- package/esm/index.js +3 -3
- package/esm/index.module-307739e4.js +4 -0
- package/esm/index.module-426df292.js +4 -0
- package/esm/mobile.js +3 -3
- package/esm/responsive.js +3 -3
- package/esm/synthetic-events.js +1 -1
- package/esm/{tslib.es6-013dc637.d.ts → tslib.es6-991a0924.d.ts} +0 -0
- package/esm/{tslib.es6-013dc637.js → tslib.es6-991a0924.js} +0 -0
- package/esm/typings.d.ts +5 -1
- package/hooks/use-collapsible-elements.js +6 -4
- package/hooks/use-tablist-titles.d.ts +1 -1
- package/hooks/use-tablist-titles.js +32 -8
- package/{index-0d7ca9a7.d.ts → index-3677ec46.d.ts} +2 -2
- package/index.js +3 -3
- package/index.module-5b87e23a.js +6 -0
- package/index.module-78610370.js +6 -0
- package/mobile.js +3 -3
- package/modern/{Component-0d7ca9a7.d.ts → Component-3677ec46.d.ts} +10 -0
- package/{cssm/Component.responsive-0d7ca9a7.d.ts → modern/Component.responsive-3677ec46.d.ts} +4 -3
- package/modern/components/primary-tablist/Component.d.ts +1 -1
- package/modern/components/primary-tablist/Component.desktop.js +1 -1
- package/modern/components/primary-tablist/Component.js +3 -2
- 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 -3
- package/modern/components/primary-tablist/index.css +29 -29
- package/modern/components/primary-tablist/mobile.css +32 -32
- package/modern/components/scrollable-container/Component.js +1 -1
- package/modern/components/scrollable-container/index.css +5 -5
- 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.js +1 -1
- package/modern/components/secondary-tablist/index.css +11 -11
- package/modern/components/secondary-tablist/mobile.css +13 -13
- 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.desktop.js +2 -2
- package/modern/components/tabs/Component.js +2 -2
- package/modern/components/tabs/Component.mobile.d.ts +1 -1
- package/modern/components/tabs/Component.mobile.js +2 -2
- package/modern/components/tabs/Component.responsive.js +2 -2
- package/modern/components/title/Component.js +1 -1
- package/modern/desktop.js +2 -2
- package/modern/hooks/use-collapsible-elements.js +5 -3
- package/modern/hooks/use-tablist-titles.d.ts +1 -1
- package/modern/hooks/use-tablist-titles.js +31 -7
- package/modern/{index-0d7ca9a7.d.ts → index-3677ec46.d.ts} +2 -2
- package/modern/index.js +2 -2
- package/modern/index.module-e2287162.js +4 -0
- package/modern/index.module-f5a85c82.js +4 -0
- package/modern/mobile.js +2 -2
- package/modern/responsive.js +2 -2
- package/modern/typings.d.ts +5 -1
- package/package.json +2 -2
- package/responsive.js +3 -3
- package/synthetic-events.js +1 -1
- package/{tslib.es6-ae130ebf.d.ts → tslib.es6-ab9150c8.d.ts} +0 -0
- package/{tslib.es6-ae130ebf.js → tslib.es6-ab9150c8.js} +0 -0
- package/typings.d.ts +5 -1
- package/esm/index.module-70b270f0.js +0 -4
- package/esm/index.module-b1b98fa8.js +0 -4
- package/index.module-8195e19e.js +0 -6
- package/index.module-8665be45.js +0 -6
- package/modern/index.module-55adfdc4.js +0 -4
- package/modern/index.module-bd275971.js +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 108aj */
|
|
2
2
|
:root {
|
|
3
3
|
}:root {
|
|
4
4
|
}:root {
|
|
@@ -49,26 +49,26 @@
|
|
|
49
49
|
|
|
50
50
|
/* size xl */
|
|
51
51
|
--secondary-tablist-xl-gaps: var(--gap-m);
|
|
52
|
-
}.
|
|
52
|
+
}.tabs__component_12ta1 {
|
|
53
53
|
position: relative;
|
|
54
54
|
display: inline-flex;
|
|
55
|
-
}.
|
|
55
|
+
}.tabs__fullWidthScroll_12ta1 {
|
|
56
56
|
margin: 0 var(--gap-m);
|
|
57
|
-
}.
|
|
57
|
+
}.tabs__container_12ta1 {
|
|
58
58
|
overflow: hidden;
|
|
59
|
-
}.
|
|
59
|
+
}.tabs__title_12ta1 {
|
|
60
60
|
white-space: nowrap;
|
|
61
|
-
}/* sizes */.
|
|
61
|
+
}/* sizes */.tabs__xxs_12ta1 .tabs__title_12ta1 + .tabs__title_12ta1 {
|
|
62
62
|
margin-left: var(--secondary-tablist-xxs-gaps);
|
|
63
|
-
}.
|
|
63
|
+
}.tabs__xs_12ta1 .tabs__title_12ta1 + .tabs__title_12ta1 {
|
|
64
64
|
margin-left: var(--secondary-tablist-xs-gaps);
|
|
65
|
-
}.
|
|
65
|
+
}.tabs__s_12ta1 .tabs__title_12ta1 + .tabs__title_12ta1 {
|
|
66
66
|
margin-left: var(--secondary-tablist-s-gaps);
|
|
67
|
-
}.
|
|
67
|
+
}.tabs__m_12ta1 .tabs__title_12ta1 + .tabs__title_12ta1 {
|
|
68
68
|
margin-left: var(--secondary-tablist-m-gaps);
|
|
69
|
-
}.
|
|
69
|
+
}.tabs__l_12ta1 .tabs__title_12ta1 + .tabs__title_12ta1 {
|
|
70
70
|
margin-left: var(--secondary-tablist-l-gaps);
|
|
71
|
-
}.
|
|
71
|
+
}.tabs__xl_12ta1 .tabs__title_12ta1 + .tabs__title_12ta1 {
|
|
72
72
|
margin-left: var(--secondary-tablist-xl-gaps);
|
|
73
73
|
}
|
|
74
74
|
:root {
|
|
@@ -885,8 +885,8 @@
|
|
|
885
885
|
/* size xl */
|
|
886
886
|
--secondary-tablist-xl-gaps: var(--gap-m);
|
|
887
887
|
}
|
|
888
|
-
.
|
|
888
|
+
.tabs__title_15528 {
|
|
889
889
|
}
|
|
890
|
-
.
|
|
890
|
+
.tabs__mobile_15528 .tabs__title_15528 + .tabs__title_15528 {
|
|
891
891
|
margin-left: var(--secondary-tablist-mobile-gaps);
|
|
892
892
|
}
|
|
@@ -8,7 +8,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
|
|
|
8
8
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
9
9
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
10
10
|
|
|
11
|
-
var styles = {"component":"
|
|
11
|
+
var styles = {"component":"tabs__component_x5xt6","hidden":"tabs__hidden_x5xt6"};
|
|
12
12
|
require('./index.css')
|
|
13
13
|
|
|
14
14
|
var Tab = function (_a) {
|
package/components/tab/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TabsProps } from "../../typings";
|
|
3
|
-
declare const Tabs: ({ TabList, className, containerClassName, size, defaultMatch, children, selectedId, scrollable, collapsible, fullWidthScroll, keepMounted, dataTestId, onChange, }: Omit<TabsProps, 'view'>) => JSX.Element;
|
|
3
|
+
declare const Tabs: ({ TabList, className, containerClassName, size, defaultMatch, children, selectedId, scrollable, collapsible, collapsedTabsIds, fullWidthScroll, keepMounted, dataTestId, onChange, }: Omit<TabsProps, 'view'>) => JSX.Element;
|
|
4
4
|
export { Tabs };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
3
|
+
var tslib_es6 = require('../../tslib.es6-ab9150c8.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var components_primaryTablist_Component_desktop = require('../primary-tablist/Component.desktop.js');
|
|
6
6
|
var components_secondaryTablist_Component_desktop = require('../secondary-tablist/Component.desktop.js');
|
|
@@ -19,10 +19,10 @@ require('../../synthetic-events.js');
|
|
|
19
19
|
require('../scrollable-container/Component.js');
|
|
20
20
|
require('compute-scroll-into-view');
|
|
21
21
|
require('../title/Component.js');
|
|
22
|
-
require('../../index.module-
|
|
22
|
+
require('../../index.module-5b87e23a.js');
|
|
23
23
|
require('../secondary-tablist/Component.js');
|
|
24
24
|
require('@alfalab/core-components-tag');
|
|
25
|
-
require('../../index.module-
|
|
25
|
+
require('../../index.module-78610370.js');
|
|
26
26
|
|
|
27
27
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
28
28
|
|
|
@@ -7,7 +7,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
|
|
|
7
7
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
8
8
|
|
|
9
9
|
var Tabs = function (_a) {
|
|
10
|
-
var TabList = _a.TabList, className = _a.className, containerClassName = _a.containerClassName, size = _a.size, defaultMatch = _a.defaultMatch, children = _a.children, selectedId = _a.selectedId, scrollable = _a.scrollable, collapsible = _a.collapsible, _b = _a.fullWidthScroll, fullWidthScroll = _b === void 0 ? false : _b, _c = _a.keepMounted, keepMounted = _c === void 0 ? false : _c, dataTestId = _a.dataTestId, onChange = _a.onChange;
|
|
10
|
+
var TabList = _a.TabList, className = _a.className, containerClassName = _a.containerClassName, size = _a.size, defaultMatch = _a.defaultMatch, children = _a.children, selectedId = _a.selectedId, scrollable = _a.scrollable, collapsible = _a.collapsible, 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;
|
|
11
11
|
var tabsArray = React__default.default.Children.toArray(children);
|
|
12
12
|
var titles = tabsArray.map(function (_a) {
|
|
13
13
|
var _b = _a.props, title = _b.title, id = _b.id, rightAddons = _b.rightAddons, disabled = _b.disabled, hidden = _b.hidden, toggleClassName = _b.toggleClassName;
|
|
@@ -22,7 +22,7 @@ var Tabs = function (_a) {
|
|
|
22
22
|
});
|
|
23
23
|
var tabs = tabsArray.filter(function (tab) { return tab.props.id === selectedId || tab.props.keepMounted || keepMounted; });
|
|
24
24
|
return (React__default.default.createElement("div", { className: className },
|
|
25
|
-
React__default.default.createElement(TabList, { containerClassName: containerClassName, size: size, titles: titles, selectedId: selectedId, scrollable: scrollable, collapsible: collapsible, onChange: onChange, dataTestId: dataTestId, defaultMatch: defaultMatch, fullWidthScroll: fullWidthScroll }),
|
|
25
|
+
React__default.default.createElement(TabList, { containerClassName: containerClassName, size: size, titles: titles, selectedId: selectedId, scrollable: scrollable, collapsible: collapsible, collapsedTabsIds: collapsedTabsIds, onChange: onChange, dataTestId: dataTestId, defaultMatch: defaultMatch, fullWidthScroll: fullWidthScroll }),
|
|
26
26
|
tabs.map(function (tab) { return React.cloneElement(tab, { hidden: tab.props.id !== selectedId }); })));
|
|
27
27
|
};
|
|
28
28
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TabsProps } from "../../typings";
|
|
3
|
-
type TabsMobileProps = Omit<TabsProps, 'TabList' | 'size' | 'collapsible'>;
|
|
3
|
+
type TabsMobileProps = Omit<TabsProps, 'TabList' | 'size' | 'collapsible' | 'collapsedTabsIds'>;
|
|
4
4
|
declare const TabsMobile: ({ view, scrollable, ...restProps }: TabsMobileProps) => JSX.Element;
|
|
5
5
|
export { TabsMobileProps, TabsMobile };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
3
|
+
var tslib_es6 = require('../../tslib.es6-ab9150c8.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var components_primaryTablist_Component_mobile = require('../primary-tablist/Component.mobile.js');
|
|
6
6
|
var components_secondaryTablist_Component_mobile = require('../secondary-tablist/Component.mobile.js');
|
|
@@ -19,10 +19,10 @@ require('../../synthetic-events.js');
|
|
|
19
19
|
require('../scrollable-container/Component.js');
|
|
20
20
|
require('compute-scroll-into-view');
|
|
21
21
|
require('../title/Component.js');
|
|
22
|
-
require('../../index.module-
|
|
22
|
+
require('../../index.module-5b87e23a.js');
|
|
23
23
|
require('../secondary-tablist/Component.js');
|
|
24
24
|
require('@alfalab/core-components-tag');
|
|
25
|
-
require('../../index.module-
|
|
25
|
+
require('../../index.module-78610370.js');
|
|
26
26
|
|
|
27
27
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
28
28
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
3
|
+
var tslib_es6 = require('../../tslib.es6-ab9150c8.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var components_primaryTablist_Component_responsive = require('../primary-tablist/Component.responsive.js');
|
|
6
6
|
var components_secondaryTablist_Component_responsive = require('../secondary-tablist/Component.responsive.js');
|
|
@@ -20,12 +20,12 @@ require('../../synthetic-events.js');
|
|
|
20
20
|
require('../scrollable-container/Component.js');
|
|
21
21
|
require('compute-scroll-into-view');
|
|
22
22
|
require('../title/Component.js');
|
|
23
|
-
require('../../index.module-
|
|
23
|
+
require('../../index.module-5b87e23a.js');
|
|
24
24
|
require('../primary-tablist/Component.mobile.js');
|
|
25
25
|
require('../secondary-tablist/Component.desktop.js');
|
|
26
26
|
require('../secondary-tablist/Component.js');
|
|
27
27
|
require('@alfalab/core-components-tag');
|
|
28
|
-
require('../../index.module-
|
|
28
|
+
require('../../index.module-78610370.js');
|
|
29
29
|
require('../secondary-tablist/Component.mobile.js');
|
|
30
30
|
|
|
31
31
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
3
|
+
var tslib_es6 = require('../../tslib.es6-ab9150c8.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var cn = require('classnames');
|
|
6
6
|
|
|
@@ -12,7 +12,7 @@ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
|
12
12
|
var Title = React.forwardRef(function (_a, ref) {
|
|
13
13
|
var _b, _c;
|
|
14
14
|
var id = _a.id, toggleClassName = _a.toggleClassName, title = _a.title, _d = _a.styles, styles = _d === void 0 ? {} : _d, _e = _a.rightAddons, rightAddons = _e === void 0 ? null : _e, _f = _a.hidden, hidden = _f === void 0 ? false : _f, _g = _a.selected, selected = _g === void 0 ? false : _g, _h = _a.disabled, disabled = _h === void 0 ? false : _h, _j = _a.collapsed, collapsed = _j === void 0 ? false : _j, _k = _a.focused, focused = _k === void 0 ? false : _k, _l = _a.isOption, isOption = _l === void 0 ? false : _l, restProps = tslib_es6.__rest(_a, ["id", "toggleClassName", "title", "styles", "rightAddons", "hidden", "selected", "disabled", "collapsed", "focused", "isOption"]);
|
|
15
|
-
return hidden ? null : (React__default.default.createElement("button", tslib_es6.__assign({}, restProps, { ref: ref, type: 'button', id: String(id), className: cn__default.default(styles.title, (_b = {},
|
|
15
|
+
return hidden ? null : (React__default.default.createElement("button", tslib_es6.__assign({}, restProps, { ref: ref, disabled: disabled, type: 'button', id: String(id), className: cn__default.default(styles.title, (_b = {},
|
|
16
16
|
_b[styles.selected] = selected,
|
|
17
17
|
_b[styles.disabled] = disabled,
|
|
18
18
|
_b[styles.collapsed] = collapsed && !isOption,
|
|
@@ -20,6 +20,11 @@ type PickerButtonDesktopProps = Omit<BaseSelectProps, 'Field' | 'placeholder' |
|
|
|
20
20
|
* Тип кнопки
|
|
21
21
|
*/
|
|
22
22
|
variant?: PickerButtonVariant;
|
|
23
|
+
/**
|
|
24
|
+
* Показывать стрелку
|
|
25
|
+
* @default true
|
|
26
|
+
*/
|
|
27
|
+
showArrow?: boolean;
|
|
23
28
|
};
|
|
24
29
|
declare const PickerButtonDesktop: React.ForwardRefExoticComponent<Omit<BaseSelectProps, "placeholder" | "onFocus" | "size" | "selected" | "multiple" | "hint" | "options" | "autocomplete" | "allowUnselect" | "closeOnSelect" | "fieldProps" | "Arrow" | "Field"> & Pick<ButtonProps, "rightAddons" | "leftAddons" | "view" | "loading"> & {
|
|
25
30
|
options: Array<BaseSelectProps['options'][0] & {
|
|
@@ -36,5 +41,10 @@ declare const PickerButtonDesktop: React.ForwardRefExoticComponent<Omit<BaseSele
|
|
|
36
41
|
* Тип кнопки
|
|
37
42
|
*/
|
|
38
43
|
variant?: PickerButtonVariant | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Показывать стрелку
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
showArrow?: boolean | undefined;
|
|
39
49
|
} & React.RefAttributes<HTMLInputElement>>;
|
|
40
50
|
export { PickerButtonSize, PickerButtonVariant, PickerButtonDesktopProps, PickerButtonDesktop };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { AdditionalMobileProps } from "./index-3e68f8db";
|
|
4
|
-
import { PickerButtonDesktopProps } from "./Component-
|
|
4
|
+
import { PickerButtonDesktopProps } from "./Component-3677ec46";
|
|
5
5
|
import { ButtonProps } from "./index-ebda875c";
|
|
6
6
|
type PickerButtonMobileProps = Omit<PickerButtonDesktopProps, "OptionsList" | "Checkmark" | "onScroll"> & AdditionalMobileProps;
|
|
7
7
|
declare const PickerButtonMobile: React.ForwardRefExoticComponent<Omit<PickerButtonDesktopProps, "onScroll" | "OptionsList" | "Checkmark"> & AdditionalMobileProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -17,8 +17,9 @@ declare const PickerButtonResponsive: React.ForwardRefExoticComponent<Omit<impor
|
|
|
17
17
|
options: ((import("./index-3e68f8db").OptionShape | import("./index-3e68f8db").GroupShape) & {
|
|
18
18
|
icon?: React.FC<React.SVGProps<SVGSVGElement>> | undefined;
|
|
19
19
|
})[];
|
|
20
|
-
size?: import("./Component-
|
|
21
|
-
variant?: import("./Component-
|
|
20
|
+
size?: import("./Component-3677ec46").PickerButtonSize | undefined;
|
|
21
|
+
variant?: import("./Component-3677ec46").PickerButtonVariant | undefined;
|
|
22
|
+
showArrow?: boolean | undefined;
|
|
22
23
|
} & AdditionalMobileProps & {
|
|
23
24
|
/**
|
|
24
25
|
* Контрольная точка, с нее начинается desktop версия
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Styles, TabListProps } from "../../typings";
|
|
3
|
-
declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable, collapsible, fullWidthScroll, onChange, dataTestId, breakpoint, }: TabListProps & Styles) => JSX.Element;
|
|
3
|
+
declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable, collapsible, collapsedTabsIds, fullWidthScroll, onChange, dataTestId, breakpoint, }: TabListProps & Styles) => JSX.Element;
|
|
4
4
|
export { PrimaryTabList };
|
|
@@ -23,12 +23,13 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
23
23
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
24
24
|
|
|
25
25
|
var PrimaryTabList = function (_a) {
|
|
26
|
-
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, collapsible = _a.collapsible, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, _f = _a.breakpoint, breakpoint = _f === void 0 ? 1024 : _f;
|
|
26
|
+
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, collapsible = _a.collapsible, collapsedTabsIds = _a.collapsedTabsIds, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, _f = _a.breakpoint, breakpoint = _f === void 0 ? 1024 : _f;
|
|
27
27
|
var lineRef = React.useRef(null);
|
|
28
28
|
var _g = hooks_useTablistTitles.useTablistTitles({
|
|
29
29
|
titles: titles,
|
|
30
30
|
selectedId: selectedId,
|
|
31
31
|
collapsible: collapsible,
|
|
32
|
+
collapsedTabsIds: collapsedTabsIds,
|
|
32
33
|
breakpoint: breakpoint,
|
|
33
34
|
onChange: onChange,
|
|
34
35
|
}), containerRef = _g.containerRef, addonRef = _g.addonRef, tablistTitles = _g.tablistTitles, selectedTab = _g.selectedTab, focusedTab = _g.focusedTab, getTabListItemProps = _g.getTabListItemProps;
|
|
@@ -65,7 +66,7 @@ var PrimaryTabList = function (_a) {
|
|
|
65
66
|
_a[styles.fullWidthScroll] = fullWidthScroll,
|
|
66
67
|
_a)) },
|
|
67
68
|
tablistTitles.map(function (title, index) { return (React__default.default.createElement(coreComponentsKeyboardFocusable.KeyboardFocusable, { key: title.id }, function (ref, focused) { return (React__default.default.createElement(components_title_Component.Title, tslib_es6.__assign({}, getTabListItemProps(index, ref), title, { focused: focused, styles: styles }))); })); }),
|
|
68
|
-
collapsedOptions.length ? (React__default.default.createElement("span", { ref: addonRef, className: styles.pickerWrapper },
|
|
69
|
+
collapsedOptions.length ? (React__default.default.createElement("span", { ref: addonRef, role: 'tablist', className: styles.pickerWrapper },
|
|
69
70
|
React__default.default.createElement(desktop.PickerButtonDesktop, { fieldClassName: styles.title, optionClassName: cn__default.default(styles.pickerOption, size && styles[size]), options: collapsedOptions, onChange: handleOptionsChange, rightAddons: collapsedAddonsLength ? (React__default.default.createElement(coreComponentsBadge.Badge, { view: 'count', content: collapsedAddonsLength })) : null, size: 'l', view: 'ghost', label: '\u0415\u0449\u0451', popoverPosition: 'bottom-end' }))) : null,
|
|
70
71
|
React__default.default.createElement("div", { className: styles.line, ref: lineRef })));
|
|
71
72
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TabListProps } from "../../typings";
|
|
3
|
-
declare const PrimaryTabListResponsive: ({ size, defaultMatch, collapsible, fullWidthScroll, ...restProps }: TabListProps) => JSX.Element;
|
|
3
|
+
declare const PrimaryTabListResponsive: ({ size, defaultMatch, collapsible, collapsedTabsIds, fullWidthScroll, ...restProps }: TabListProps) => JSX.Element;
|
|
4
4
|
export { PrimaryTabListResponsive };
|
|
@@ -27,12 +27,12 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
|
|
|
27
27
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
28
28
|
|
|
29
29
|
var PrimaryTabListResponsive = function (_a) {
|
|
30
|
-
var size = _a.size, _b = _a.defaultMatch, defaultMatch = _b === void 0 ? 'desktop' : _b, collapsible = _a.collapsible, fullWidthScroll = _a.fullWidthScroll, restProps = tslib_es6.__rest(_a, ["size", "defaultMatch", "collapsible", "fullWidthScroll"]);
|
|
30
|
+
var size = _a.size, _b = _a.defaultMatch, defaultMatch = _b === void 0 ? 'desktop' : _b, collapsible = _a.collapsible, collapsedTabsIds = _a.collapsedTabsIds, fullWidthScroll = _a.fullWidthScroll, restProps = tslib_es6.__rest(_a, ["size", "defaultMatch", "collapsible", "collapsedTabsIds", "fullWidthScroll"]);
|
|
31
31
|
var view = hooks.useMedia([
|
|
32
32
|
['mobile', '(max-width: 767px)'],
|
|
33
33
|
['desktop', '(min-width: 768px)'],
|
|
34
34
|
], defaultMatch)[0];
|
|
35
|
-
return view === 'desktop' ? (React__default.default.createElement(components_primaryTablist_Component_desktop.PrimaryTabListDesktop, tslib_es6.__assign({ collapsible: collapsible, size: size }, restProps))) : (React__default.default.createElement(components_primaryTablist_Component_mobile.PrimaryTabListMobile, tslib_es6.__assign({ fullWidthScroll: fullWidthScroll }, restProps)));
|
|
35
|
+
return view === 'desktop' ? (React__default.default.createElement(components_primaryTablist_Component_desktop.PrimaryTabListDesktop, tslib_es6.__assign({ collapsible: collapsible, collapsedTabsIds: collapsedTabsIds, size: size }, restProps))) : (React__default.default.createElement(components_primaryTablist_Component_mobile.PrimaryTabListMobile, tslib_es6.__assign({ fullWidthScroll: fullWidthScroll }, restProps)));
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
exports.PrimaryTabListResponsive = PrimaryTabListResponsive;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TabsProps } from "../../typings";
|
|
3
|
-
declare const Tabs: ({ TabList, className, containerClassName, size, defaultMatch, children, selectedId, scrollable, collapsible, fullWidthScroll, keepMounted, dataTestId, onChange, }: Omit<TabsProps, 'view'>) => JSX.Element;
|
|
3
|
+
declare const Tabs: ({ TabList, className, containerClassName, size, defaultMatch, children, selectedId, scrollable, collapsible, collapsedTabsIds, fullWidthScroll, keepMounted, dataTestId, onChange, }: Omit<TabsProps, 'view'>) => JSX.Element;
|
|
4
4
|
export { Tabs };
|
|
@@ -7,7 +7,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
|
|
|
7
7
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
8
8
|
|
|
9
9
|
var Tabs = function (_a) {
|
|
10
|
-
var TabList = _a.TabList, className = _a.className, containerClassName = _a.containerClassName, size = _a.size, defaultMatch = _a.defaultMatch, children = _a.children, selectedId = _a.selectedId, scrollable = _a.scrollable, collapsible = _a.collapsible, _b = _a.fullWidthScroll, fullWidthScroll = _b === void 0 ? false : _b, _c = _a.keepMounted, keepMounted = _c === void 0 ? false : _c, dataTestId = _a.dataTestId, onChange = _a.onChange;
|
|
10
|
+
var TabList = _a.TabList, className = _a.className, containerClassName = _a.containerClassName, size = _a.size, defaultMatch = _a.defaultMatch, children = _a.children, selectedId = _a.selectedId, scrollable = _a.scrollable, collapsible = _a.collapsible, 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;
|
|
11
11
|
var tabsArray = React__default.default.Children.toArray(children);
|
|
12
12
|
var titles = tabsArray.map(function (_a) {
|
|
13
13
|
var _b = _a.props, title = _b.title, id = _b.id, rightAddons = _b.rightAddons, disabled = _b.disabled, hidden = _b.hidden, toggleClassName = _b.toggleClassName;
|
|
@@ -22,7 +22,7 @@ var Tabs = function (_a) {
|
|
|
22
22
|
});
|
|
23
23
|
var tabs = tabsArray.filter(function (tab) { return tab.props.id === selectedId || tab.props.keepMounted || keepMounted; });
|
|
24
24
|
return (React__default.default.createElement("div", { className: className },
|
|
25
|
-
React__default.default.createElement(TabList, { containerClassName: containerClassName, size: size, titles: titles, selectedId: selectedId, scrollable: scrollable, collapsible: collapsible, onChange: onChange, dataTestId: dataTestId, defaultMatch: defaultMatch, fullWidthScroll: fullWidthScroll }),
|
|
25
|
+
React__default.default.createElement(TabList, { containerClassName: containerClassName, size: size, titles: titles, selectedId: selectedId, scrollable: scrollable, collapsible: collapsible, collapsedTabsIds: collapsedTabsIds, onChange: onChange, dataTestId: dataTestId, defaultMatch: defaultMatch, fullWidthScroll: fullWidthScroll }),
|
|
26
26
|
tabs.map(function (tab) { return React.cloneElement(tab, { hidden: tab.props.id !== selectedId }); })));
|
|
27
27
|
};
|
|
28
28
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TabsProps } from "../../typings";
|
|
3
|
-
type TabsMobileProps = Omit<TabsProps, 'TabList' | 'size' | 'collapsible'>;
|
|
3
|
+
type TabsMobileProps = Omit<TabsProps, 'TabList' | 'size' | 'collapsible' | 'collapsedTabsIds'>;
|
|
4
4
|
declare const TabsMobile: ({ view, scrollable, ...restProps }: TabsMobileProps) => JSX.Element;
|
|
5
5
|
export { TabsMobileProps, TabsMobile };
|
|
@@ -12,7 +12,7 @@ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
|
12
12
|
var Title = React.forwardRef(function (_a, ref) {
|
|
13
13
|
var _b, _c;
|
|
14
14
|
var id = _a.id, toggleClassName = _a.toggleClassName, title = _a.title, _d = _a.styles, styles = _d === void 0 ? {} : _d, _e = _a.rightAddons, rightAddons = _e === void 0 ? null : _e, _f = _a.hidden, hidden = _f === void 0 ? false : _f, _g = _a.selected, selected = _g === void 0 ? false : _g, _h = _a.disabled, disabled = _h === void 0 ? false : _h, _j = _a.collapsed, collapsed = _j === void 0 ? false : _j, _k = _a.focused, focused = _k === void 0 ? false : _k, _l = _a.isOption, isOption = _l === void 0 ? false : _l, restProps = tslib_es6.__rest(_a, ["id", "toggleClassName", "title", "styles", "rightAddons", "hidden", "selected", "disabled", "collapsed", "focused", "isOption"]);
|
|
15
|
-
return hidden ? null : (React__default.default.createElement("button", tslib_es6.__assign({}, restProps, { ref: ref, type: 'button', id: String(id), className: cn__default.default(styles.title, (_b = {},
|
|
15
|
+
return hidden ? null : (React__default.default.createElement("button", tslib_es6.__assign({}, restProps, { ref: ref, disabled: disabled, type: 'button', id: String(id), className: cn__default.default(styles.title, (_b = {},
|
|
16
16
|
_b[styles.selected] = selected,
|
|
17
17
|
_b[styles.disabled] = disabled,
|
|
18
18
|
_b[styles.collapsed] = collapsed && !isOption,
|
|
@@ -16,9 +16,11 @@ var useCollapsibleElements = function (selectors, deps) {
|
|
|
16
16
|
if (!container)
|
|
17
17
|
return;
|
|
18
18
|
var addon = addonRef.current;
|
|
19
|
-
var
|
|
19
|
+
var moreElement = Array.from(container.querySelectorAll('[role="tablist"]')).pop();
|
|
20
|
+
var moreElementRect = moreElement === null || moreElement === void 0 ? void 0 : moreElement.getBoundingClientRect();
|
|
20
21
|
var elements = Array.from(container.querySelectorAll(selectors));
|
|
21
|
-
var
|
|
22
|
+
var containerWidth = (inlineSize || container.clientWidth) - ((moreElementRect === null || moreElementRect === void 0 ? void 0 : moreElementRect.width) || 0) * 1.5; // при рассчётах, даём кнопке "Ещё" чуть больше места, чтобы точно влезла
|
|
23
|
+
var collapsedIds = elements.reduce(function (acc, element) {
|
|
22
24
|
var offsetLeft = element.offsetLeft, offsetWidth = element.offsetWidth, id = element.id;
|
|
23
25
|
var elementOffset = offsetLeft + offsetWidth;
|
|
24
26
|
var isCollapsedElement = getComputedStyle(element).visibility === 'collapse';
|
|
@@ -30,7 +32,7 @@ var useCollapsibleElements = function (selectors, deps) {
|
|
|
30
32
|
acc.push(id);
|
|
31
33
|
return acc;
|
|
32
34
|
}, []);
|
|
33
|
-
setIdsCollapsedElements(
|
|
35
|
+
setIdsCollapsedElements(collapsedIds);
|
|
34
36
|
};
|
|
35
37
|
var handleElementsResize = function (entries) {
|
|
36
38
|
var inlineSize = entries[0].contentBoxSize[0].inlineSize;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TabListProps } from "../typings";
|
|
3
|
-
declare const useTablistTitles: ({ titles, selectedId, collapsible, breakpoint, onChange, }: Pick<TabListProps, 'titles' | 'selectedId' | 'collapsible' | 'onChange'> & Required<Pick<TabListProps, 'breakpoint'>>) => {
|
|
3
|
+
declare const useTablistTitles: ({ titles, selectedId, collapsible, collapsedTabsIds, breakpoint, onChange, }: Pick<TabListProps, 'titles' | 'selectedId' | 'collapsible' | 'collapsedTabsIds' | 'onChange'> & Required<Pick<TabListProps, 'breakpoint'>>) => {
|
|
4
4
|
containerRef: import("react").RefObject<HTMLDivElement>;
|
|
5
5
|
addonRef: import("react").RefObject<HTMLInputElement>;
|
|
6
6
|
tablistTitles: {
|
|
@@ -8,23 +8,47 @@ var hooks_useTabs = require('./use-tabs.js');
|
|
|
8
8
|
require('@juggle/resize-observer');
|
|
9
9
|
|
|
10
10
|
var useTablistTitles = function (_a) {
|
|
11
|
-
var _b = _a.titles, titles = _b === void 0 ? [] : _b, selectedId = _a.selectedId, collapsible = _a.collapsible, breakpoint = _a.breakpoint, onChange = _a.onChange;
|
|
11
|
+
var _b = _a.titles, titles = _b === void 0 ? [] : _b, selectedId = _a.selectedId, collapsible = _a.collapsible, collapsedTabsIds = _a.collapsedTabsIds, breakpoint = _a.breakpoint, onChange = _a.onChange;
|
|
12
12
|
var _c = hooks_useCollapsibleElements.useCollapsibleElements('[role=tab]', [titles]), containerRef = _c.containerRef, addonRef = _c.addonRef, idsCollapsedElements = _c.idsCollapsedElements;
|
|
13
13
|
var view = hooks.useMedia([['desktop', "(min-width: ".concat(breakpoint, "px)")]], 'desktop')[0];
|
|
14
14
|
var tablistTitles = React.useMemo(function () {
|
|
15
15
|
var idsCollapsedTitles = [];
|
|
16
|
+
var idsCollapsed = idsCollapsedElements.concat(collapsedTabsIds || []);
|
|
16
17
|
if (view === 'desktop' && collapsible) {
|
|
17
18
|
var visibleTitles = titles.filter(function (_a) {
|
|
18
19
|
var id = _a.id;
|
|
19
|
-
return !
|
|
20
|
+
return !idsCollapsed.includes(String(id));
|
|
20
21
|
});
|
|
21
|
-
var lastVisibleTitle_1 =
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
var lastVisibleTitle_1 = collapsedTabsIds
|
|
23
|
+
? null
|
|
24
|
+
: visibleTitles[visibleTitles.length - 1];
|
|
25
|
+
idsCollapsed.forEach(function (id) {
|
|
26
|
+
if (selectedId === id && lastVisibleTitle_1) {
|
|
27
|
+
idsCollapsedTitles.push(String(lastVisibleTitle_1.id));
|
|
28
|
+
}
|
|
29
|
+
if (selectedId !== id) {
|
|
30
|
+
idsCollapsedTitles.push(id);
|
|
31
|
+
}
|
|
24
32
|
});
|
|
25
33
|
}
|
|
26
|
-
|
|
27
|
-
|
|
34
|
+
var titlesMapped = titles.map(function (title) { return (tslib_es6.__assign(tslib_es6.__assign({}, title), { collapsed: idsCollapsedTitles.includes(String(title.id)), selected: title.id === selectedId })); });
|
|
35
|
+
if (collapsedTabsIds === null || collapsedTabsIds === void 0 ? void 0 : collapsedTabsIds.length) {
|
|
36
|
+
titlesMapped.sort(function (a, b) {
|
|
37
|
+
var hasA = collapsedTabsIds.includes(String(a.id));
|
|
38
|
+
var hasB = collapsedTabsIds.includes(String(b.id));
|
|
39
|
+
if (hasA === hasB) {
|
|
40
|
+
return 0;
|
|
41
|
+
}
|
|
42
|
+
return hasA ? 1 : -1;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return titlesMapped.sort(function (a, b) {
|
|
46
|
+
if (a.collapsed === b.collapsed) {
|
|
47
|
+
return 0;
|
|
48
|
+
}
|
|
49
|
+
return a.collapsed ? 1 : -1;
|
|
50
|
+
});
|
|
51
|
+
}, [collapsedTabsIds, idsCollapsedElements, view, collapsible, titles, selectedId]);
|
|
28
52
|
var _d = hooks_useTabs.useTabs({
|
|
29
53
|
titles: tablistTitles,
|
|
30
54
|
selectedId: selectedId,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from "./Component.responsive-
|
|
1
|
+
export * from "./Component.responsive-3677ec46";
|
|
2
2
|
export { PickerButtonResponsive as PickerButton };
|
|
3
3
|
export type { PickerButtonResponsiveProps as PickerButtonProps };
|
|
4
|
-
export type { PickerButtonDesktopProps, PickerButtonSize, PickerButtonVariant } from "./Component-
|
|
4
|
+
export type { PickerButtonDesktopProps, PickerButtonSize, PickerButtonVariant } from "./Component-3677ec46";
|
package/cssm/typings.d.ts
CHANGED
|
@@ -43,6 +43,10 @@ type TabsProps = {
|
|
|
43
43
|
* Сворачивает не помещающиеся в окне табы в PickerButton
|
|
44
44
|
*/
|
|
45
45
|
collapsible?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Список табов, для контроля переноса вкладок в PickerButton
|
|
48
|
+
*/
|
|
49
|
+
collapsedTabsIds?: string[];
|
|
46
50
|
/**
|
|
47
51
|
* При скроле табы будут уходить в край экрана
|
|
48
52
|
*/
|
|
@@ -118,7 +122,7 @@ type TabListTitle = {
|
|
|
118
122
|
selected?: boolean;
|
|
119
123
|
collapsed?: boolean;
|
|
120
124
|
};
|
|
121
|
-
type TabListProps = Pick<TabsProps, 'className' | 'containerClassName' | 'size' | 'defaultMatch' | 'selectedId' | 'scrollable' | 'collapsible' | 'onChange' | 'dataTestId' | 'fullWidthScroll'> & {
|
|
125
|
+
type TabListProps = Pick<TabsProps, 'className' | 'containerClassName' | 'size' | 'defaultMatch' | 'selectedId' | 'scrollable' | 'collapsible' | 'collapsedTabsIds' | 'onChange' | 'dataTestId' | 'fullWidthScroll'> & {
|
|
122
126
|
/**
|
|
123
127
|
* Заголовки табов
|
|
124
128
|
*/
|
package/desktop.js
CHANGED
|
@@ -7,7 +7,7 @@ var components_tab_Component = require('./components/tab/Component.js');
|
|
|
7
7
|
var components_tabs_Component_desktop = require('./components/tabs/Component.desktop.js');
|
|
8
8
|
var hooks_useTabs = require('./hooks/use-tabs.js');
|
|
9
9
|
var hooks_useCollapsibleElements = require('./hooks/use-collapsible-elements.js');
|
|
10
|
-
require('./tslib.es6-
|
|
10
|
+
require('./tslib.es6-ab9150c8.js');
|
|
11
11
|
require('react');
|
|
12
12
|
require('./components/primary-tablist/Component.js');
|
|
13
13
|
require('classnames');
|
|
@@ -18,11 +18,11 @@ require('./hooks/use-tablist-titles.js');
|
|
|
18
18
|
require('@alfalab/hooks');
|
|
19
19
|
require('./synthetic-events.js');
|
|
20
20
|
require('./components/title/Component.js');
|
|
21
|
-
require('./index.module-
|
|
21
|
+
require('./index.module-5b87e23a.js');
|
|
22
22
|
require('compute-scroll-into-view');
|
|
23
23
|
require('./components/secondary-tablist/Component.js');
|
|
24
24
|
require('@alfalab/core-components-tag');
|
|
25
|
-
require('./index.module-
|
|
25
|
+
require('./index.module-78610370.js');
|
|
26
26
|
require('./components/tabs/Component.js');
|
|
27
27
|
require('@juggle/resize-observer');
|
|
28
28
|
|
|
@@ -20,6 +20,11 @@ type PickerButtonDesktopProps = Omit<BaseSelectProps, 'Field' | 'placeholder' |
|
|
|
20
20
|
* Тип кнопки
|
|
21
21
|
*/
|
|
22
22
|
variant?: PickerButtonVariant;
|
|
23
|
+
/**
|
|
24
|
+
* Показывать стрелку
|
|
25
|
+
* @default true
|
|
26
|
+
*/
|
|
27
|
+
showArrow?: boolean;
|
|
23
28
|
};
|
|
24
29
|
declare const PickerButtonDesktop: React.ForwardRefExoticComponent<Omit<BaseSelectProps, "placeholder" | "onFocus" | "size" | "selected" | "multiple" | "hint" | "options" | "autocomplete" | "allowUnselect" | "closeOnSelect" | "fieldProps" | "Arrow" | "Field"> & Pick<ButtonProps, "rightAddons" | "leftAddons" | "view" | "loading"> & {
|
|
25
30
|
options: Array<BaseSelectProps['options'][0] & {
|
|
@@ -36,5 +41,10 @@ declare const PickerButtonDesktop: React.ForwardRefExoticComponent<Omit<BaseSele
|
|
|
36
41
|
* Тип кнопки
|
|
37
42
|
*/
|
|
38
43
|
variant?: PickerButtonVariant | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Показывать стрелку
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
showArrow?: boolean | undefined;
|
|
39
49
|
} & React.RefAttributes<HTMLInputElement>>;
|
|
40
50
|
export { PickerButtonSize, PickerButtonVariant, PickerButtonDesktopProps, PickerButtonDesktop };
|
package/{modern/Component.responsive-0d7ca9a7.d.ts → esm/Component.responsive-3677ec46.d.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { AdditionalMobileProps } from "./index-3e68f8db";
|
|
4
|
-
import { PickerButtonDesktopProps } from "./Component-
|
|
4
|
+
import { PickerButtonDesktopProps } from "./Component-3677ec46";
|
|
5
5
|
import { ButtonProps } from "./index-ebda875c";
|
|
6
6
|
type PickerButtonMobileProps = Omit<PickerButtonDesktopProps, "OptionsList" | "Checkmark" | "onScroll"> & AdditionalMobileProps;
|
|
7
7
|
declare const PickerButtonMobile: React.ForwardRefExoticComponent<Omit<PickerButtonDesktopProps, "onScroll" | "OptionsList" | "Checkmark"> & AdditionalMobileProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -17,8 +17,9 @@ declare const PickerButtonResponsive: React.ForwardRefExoticComponent<Omit<impor
|
|
|
17
17
|
options: ((import("./index-3e68f8db").OptionShape | import("./index-3e68f8db").GroupShape) & {
|
|
18
18
|
icon?: React.FC<React.SVGProps<SVGSVGElement>> | undefined;
|
|
19
19
|
})[];
|
|
20
|
-
size?: import("./Component-
|
|
21
|
-
variant?: import("./Component-
|
|
20
|
+
size?: import("./Component-3677ec46").PickerButtonSize | undefined;
|
|
21
|
+
variant?: import("./Component-3677ec46").PickerButtonVariant | undefined;
|
|
22
|
+
showArrow?: boolean | undefined;
|
|
22
23
|
} & AdditionalMobileProps & {
|
|
23
24
|
/**
|
|
24
25
|
* Контрольная точка, с нее начинается desktop версия
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Styles, TabListProps } from "../../typings";
|
|
3
|
-
declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable, collapsible, fullWidthScroll, onChange, dataTestId, breakpoint, }: TabListProps & Styles) => JSX.Element;
|
|
3
|
+
declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable, collapsible, collapsedTabsIds, fullWidthScroll, onChange, dataTestId, breakpoint, }: TabListProps & Styles) => JSX.Element;
|
|
4
4
|
export { PrimaryTabList };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { _ as __rest, a as __assign } from '../../tslib.es6-
|
|
1
|
+
import { _ as __rest, a as __assign } from '../../tslib.es6-991a0924.js';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { PrimaryTabList } from './Component.js';
|
|
4
|
-
import { c as commonStyles } from '../../index.module-
|
|
4
|
+
import { c as commonStyles } from '../../index.module-307739e4.js';
|
|
5
5
|
import 'classnames';
|
|
6
6
|
import '@alfalab/core-components-badge/esm';
|
|
7
7
|
import '@alfalab/core-components-keyboard-focusable/esm';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as __assign } from '../../tslib.es6-
|
|
1
|
+
import { a as __assign } from '../../tslib.es6-991a0924.js';
|
|
2
2
|
import React, { useRef, useEffect, useMemo } from 'react';
|
|
3
3
|
import cn from 'classnames';
|
|
4
4
|
import { Badge } from '@alfalab/core-components-badge/esm';
|
|
@@ -15,12 +15,13 @@ import '../../hooks/use-tabs.js';
|
|
|
15
15
|
import 'compute-scroll-into-view';
|
|
16
16
|
|
|
17
17
|
var PrimaryTabList = function (_a) {
|
|
18
|
-
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, collapsible = _a.collapsible, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, _f = _a.breakpoint, breakpoint = _f === void 0 ? 1024 : _f;
|
|
18
|
+
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, collapsible = _a.collapsible, collapsedTabsIds = _a.collapsedTabsIds, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, _f = _a.breakpoint, breakpoint = _f === void 0 ? 1024 : _f;
|
|
19
19
|
var lineRef = useRef(null);
|
|
20
20
|
var _g = useTablistTitles({
|
|
21
21
|
titles: titles,
|
|
22
22
|
selectedId: selectedId,
|
|
23
23
|
collapsible: collapsible,
|
|
24
|
+
collapsedTabsIds: collapsedTabsIds,
|
|
24
25
|
breakpoint: breakpoint,
|
|
25
26
|
onChange: onChange,
|
|
26
27
|
}), containerRef = _g.containerRef, addonRef = _g.addonRef, tablistTitles = _g.tablistTitles, selectedTab = _g.selectedTab, focusedTab = _g.focusedTab, getTabListItemProps = _g.getTabListItemProps;
|
|
@@ -57,7 +58,7 @@ var PrimaryTabList = function (_a) {
|
|
|
57
58
|
_a[styles.fullWidthScroll] = fullWidthScroll,
|
|
58
59
|
_a)) },
|
|
59
60
|
tablistTitles.map(function (title, index) { return (React.createElement(KeyboardFocusable, { key: title.id }, function (ref, focused) { return (React.createElement(Title, __assign({}, getTabListItemProps(index, ref), title, { focused: focused, styles: styles }))); })); }),
|
|
60
|
-
collapsedOptions.length ? (React.createElement("span", { ref: addonRef, className: styles.pickerWrapper },
|
|
61
|
+
collapsedOptions.length ? (React.createElement("span", { ref: addonRef, role: 'tablist', className: styles.pickerWrapper },
|
|
61
62
|
React.createElement(PickerButtonDesktop, { fieldClassName: styles.title, optionClassName: cn(styles.pickerOption, size && styles[size]), options: collapsedOptions, onChange: handleOptionsChange, rightAddons: collapsedAddonsLength ? (React.createElement(Badge, { view: 'count', content: collapsedAddonsLength })) : null, size: 'l', view: 'ghost', label: '\u0415\u0449\u0451', popoverPosition: 'bottom-end' }))) : null,
|
|
62
63
|
React.createElement("div", { className: styles.line, ref: lineRef })));
|
|
63
64
|
};
|