@semcore/tab-panel 4.43.0-prerelease.0 → 4.43.0-prerelease.1
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/lib/cjs/TabPanel.js +56 -71
- package/lib/cjs/TabPanel.js.map +1 -1
- package/lib/cjs/index.d.js +2 -0
- package/lib/cjs/index.d.js.map +1 -0
- package/lib/cjs/index.js +5 -14
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/tab-panel.shadow.css +19 -2
- package/lib/es6/TabPanel.js +46 -65
- package/lib/es6/TabPanel.js.map +1 -1
- package/lib/es6/index.d.js +2 -0
- package/lib/es6/index.d.js.map +1 -0
- package/lib/es6/index.js +2 -2
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/tab-panel.shadow.css +19 -2
- package/lib/esm/TabPanel.mjs +53 -65
- package/lib/esm/index.mjs +0 -1
- package/lib/esm/style/tab-panel.shadow.css +19 -2
- package/lib/types/index.d.ts +92 -2
- package/package.json +4 -4
- package/lib/cjs/TabPanel.type.js +0 -2
- package/lib/cjs/TabPanel.type.js.map +0 -1
- package/lib/es6/TabPanel.type.js +0 -2
- package/lib/es6/TabPanel.type.js.map +0 -1
- package/lib/esm/TabPanel.type.mjs +0 -1
- package/lib/types/TabPanel.d.ts +0 -6
- package/lib/types/TabPanel.type.d.ts +0 -71
package/lib/cjs/TabPanel.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
@@ -8,41 +9,56 @@ exports.wrapTabPanel = exports["default"] = void 0;
|
|
|
8
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var
|
|
12
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
12
13
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
13
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var _addonTextChildren = _interopRequireDefault(require("@semcore/core/lib/utils/addonTextChildren"));
|
|
17
|
-
var _a11yEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/a11yEnhance"));
|
|
18
|
-
var _typography = require("@semcore/typography");
|
|
16
|
+
var _index = require("@semcore/utils/lib/core/index");
|
|
17
|
+
var _core = _interopRequireWildcard(require("@semcore/core"));
|
|
19
18
|
var _react = _interopRequireDefault(require("react"));
|
|
19
|
+
var _flexBox = require("@semcore/flex-box");
|
|
20
|
+
var _addonTextChildren = _interopRequireDefault(require("@semcore/utils/lib/addonTextChildren"));
|
|
21
|
+
var _a11yEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/a11yEnhance"));
|
|
22
|
+
var _keyboardFocusEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/keyboardFocusEnhance"));
|
|
20
23
|
/*!__reshadow-styles__:"./style/tab-panel.shadow.css"*/
|
|
21
|
-
var style = (/*__reshadow_css_start__*/
|
|
24
|
+
var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___STabPanel_1lfx6_gg_{display:flex;width:100%;max-width:100%}.___STabPanel_1lfx6_gg_::after{content:\"\";position:relative;bottom:-1px;flex:1;border-top:1px solid transparent;border-bottom:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@supports (color:color(display-p3 0 0 0)){.___STabPanel_1lfx6_gg_::after{border-bottom:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___STabPanel_1lfx6_gg_::after{border-bottom:1px solid var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}.___STabPanelItem_1lfx6_gg_{position:relative;bottom:-1px;display:inline-flex;min-width:0;height:32px;color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));border:1px solid transparent;border-bottom:none;border-radius:var(--intergalactic-control-rounded, 6px) var(--intergalactic-control-rounded, 6px)0 0;background:0 0;align-items:center;justify-content:center;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box;padding:0 0 1px;margin:0;box-shadow:none;-webkit-text-decoration:none;text-decoration:none;-webkit-tap-highlight-color:transparent;outline:0;text-align:center;vertical-align:middle;font-family:inherit;cursor:pointer}@supports (color:color(display-p3 0 0 0)){.___STabPanelItem_1lfx6_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___STabPanelItem_1lfx6_gg_{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}.___STabPanelItem_1lfx6_gg_ .___SText_1lfx6_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);font-weight:var(--intergalactic-medium, 500)}.___STabPanelItem_1lfx6_gg_::-moz-focus-inner{border:0;padding:0}.___STabPanelItem_1lfx6_gg_:active,.___STabPanelItem_1lfx6_gg_:focus{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___STabPanelItem_1lfx6_gg_:hover{outline:0;-webkit-text-decoration:none;text-decoration:none;color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899))}}.___STabPanelItem_1lfx6_gg_::after{content:\"\";position:absolute;left:-1px;bottom:0;width:calc(100% + 2px);border-bottom:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@supports (color:color(display-p3 0 0 0)){.___STabPanelItem_1lfx6_gg_::after{border-bottom:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___STabPanelItem_1lfx6_gg_::after{border-bottom:1px solid var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}.___STabPanelItem_1lfx6_gg_.__disabled_1lfx6_gg_{cursor:default;pointer-events:none}.___STabPanelItem_1lfx6_gg_.__disabled_1lfx6_gg_ .___SAddon_1lfx6_gg_,.___STabPanelItem_1lfx6_gg_.__disabled_1lfx6_gg_ .___SText_1lfx6_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4)}.___STabPanelItem_1lfx6_gg_.__keyboardFocused_1lfx6_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 18, 193, 0.441))}.___STabPanelItem_1lfx6_gg_.__selected_1lfx6_gg_{color:var(--intergalactic-text-link, rgb(36, 93, 229));border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161));flex-shrink:0}@supports (color:color(display-p3 0 0 0)){.___STabPanelItem_1lfx6_gg_.__selected_1lfx6_gg_{border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___STabPanelItem_1lfx6_gg_.__selected_1lfx6_gg_{border-color:var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}@media (hover:hover){.___STabPanelItem_1lfx6_gg_.__selected_1lfx6_gg_:hover{color:var(--intergalactic-text-link-hover-active, rgb(34, 88, 217))}}.___STabPanelItem_1lfx6_gg_.__selected_1lfx6_gg_::after{border-bottom:none}.___SText_1lfx6_gg_{display:inline-block;margin:auto var(--intergalactic-spacing-2x, 8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.___SAddon_1lfx6_gg_{display:inline-flex;align-items:center;justify-content:center}.___SAddon_1lfx6_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SAddon_1lfx6_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SAddon_1lfx6_gg_:only-child{margin-right:var(--intergalactic-spacing-2x, 8px);margin-left:var(--intergalactic-spacing-2x, 8px)}", /*__inner_css_end__*/"1lfx6_gg_"),
|
|
22
25
|
/*__reshadow_css_end__*/
|
|
23
26
|
{
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
27
|
+
"__STabPanelItem": "___STabPanelItem_1lfx6_gg_",
|
|
28
|
+
"_keyboardFocused": "__keyboardFocused_1lfx6_gg_",
|
|
29
|
+
"__SText": "___SText_1lfx6_gg_",
|
|
30
|
+
"__SAddon": "___SAddon_1lfx6_gg_",
|
|
31
|
+
"__STabPanel": "___STabPanel_1lfx6_gg_",
|
|
32
|
+
"_disabled": "__disabled_1lfx6_gg_",
|
|
33
|
+
"_selected": "__selected_1lfx6_gg_"
|
|
30
34
|
});
|
|
35
|
+
var optionsA11yEnhance = {
|
|
36
|
+
onNeighborChange: function onNeighborChange(neighborElement, props) {
|
|
37
|
+
if (neighborElement) {
|
|
38
|
+
neighborElement.focus();
|
|
39
|
+
if (props.behavior === 'auto') {
|
|
40
|
+
neighborElement.click();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
childSelector: ['role', 'tab']
|
|
45
|
+
};
|
|
31
46
|
var TabPanelRoot = /*#__PURE__*/function (_Component) {
|
|
47
|
+
(0, _inherits2["default"])(TabPanelRoot, _Component);
|
|
48
|
+
var _super = (0, _createSuper2["default"])(TabPanelRoot);
|
|
32
49
|
function TabPanelRoot() {
|
|
33
50
|
var _this;
|
|
34
51
|
(0, _classCallCheck2["default"])(this, TabPanelRoot);
|
|
35
52
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
36
53
|
args[_key] = arguments[_key];
|
|
37
54
|
}
|
|
38
|
-
_this = (
|
|
39
|
-
(0, _defineProperty2["default"])(_this, "
|
|
40
|
-
(0, _defineProperty2["default"])(_this, "handleClick", function (value) {
|
|
55
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
56
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClick", function (value) {
|
|
41
57
|
return function (event) {
|
|
42
58
|
_this.handlers.value(value, event);
|
|
43
59
|
};
|
|
44
60
|
});
|
|
45
|
-
(0, _defineProperty2["default"])(_this, "handleKeyDown", function (value) {
|
|
61
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleKeyDown", function (value) {
|
|
46
62
|
return function (event) {
|
|
47
63
|
if (event.key === 'Enter' || event.key === ' ') {
|
|
48
64
|
event.preventDefault();
|
|
@@ -52,8 +68,7 @@ var TabPanelRoot = /*#__PURE__*/function (_Component) {
|
|
|
52
68
|
});
|
|
53
69
|
return _this;
|
|
54
70
|
}
|
|
55
|
-
(0,
|
|
56
|
-
return (0, _createClass2["default"])(TabPanelRoot, [{
|
|
71
|
+
(0, _createClass2["default"])(TabPanelRoot, [{
|
|
57
72
|
key: "uncontrolledProps",
|
|
58
73
|
value: function uncontrolledProps() {
|
|
59
74
|
return {
|
|
@@ -66,21 +81,11 @@ var TabPanelRoot = /*#__PURE__*/function (_Component) {
|
|
|
66
81
|
var value = this.asProps.value;
|
|
67
82
|
var isSelected = value === props.value;
|
|
68
83
|
return {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
'aria-selected': isSelected
|
|
74
|
-
'buttonRefsList': this.buttonRefsList,
|
|
75
|
-
index: index
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
}, {
|
|
79
|
-
key: "getItemTextProps",
|
|
80
|
-
value: function getItemTextProps(_, index) {
|
|
81
|
-
return {
|
|
82
|
-
buttonRefsList: this.buttonRefsList,
|
|
83
|
-
index: index
|
|
84
|
+
selected: isSelected,
|
|
85
|
+
onClick: this.handleClick(props.value),
|
|
86
|
+
onKeyDown: this.handleKeyDown(props.value),
|
|
87
|
+
tabIndex: isSelected ? 0 : -1,
|
|
88
|
+
'aria-selected': isSelected
|
|
84
89
|
};
|
|
85
90
|
}
|
|
86
91
|
}, {
|
|
@@ -88,13 +93,14 @@ var TabPanelRoot = /*#__PURE__*/function (_Component) {
|
|
|
88
93
|
value: function render() {
|
|
89
94
|
var _ref = this.asProps,
|
|
90
95
|
_ref5;
|
|
91
|
-
var STabPanel =
|
|
96
|
+
var STabPanel = _flexBox.Box;
|
|
92
97
|
var styles = this.asProps.styles;
|
|
93
98
|
return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(STabPanel, _ref5.cn("STabPanel", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
94
99
|
"role": 'tablist'
|
|
95
100
|
}, _ref))));
|
|
96
101
|
}
|
|
97
102
|
}]);
|
|
103
|
+
return TabPanelRoot;
|
|
98
104
|
}(_core.Component);
|
|
99
105
|
(0, _defineProperty2["default"])(TabPanelRoot, "displayName", 'TabPanel');
|
|
100
106
|
(0, _defineProperty2["default"])(TabPanelRoot, "style", style);
|
|
@@ -102,75 +108,54 @@ var TabPanelRoot = /*#__PURE__*/function (_Component) {
|
|
|
102
108
|
defaultValue: null,
|
|
103
109
|
behavior: 'manual'
|
|
104
110
|
});
|
|
105
|
-
(0, _defineProperty2["default"])(TabPanelRoot, "enhance", [(0, _a11yEnhance["default"])(
|
|
106
|
-
onNeighborChange: function onNeighborChange(neighborElement, props) {
|
|
107
|
-
if (neighborElement) {
|
|
108
|
-
neighborElement.focus();
|
|
109
|
-
if (props.behavior === 'auto') {
|
|
110
|
-
neighborElement.click();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
childSelector: ['role', 'tab']
|
|
115
|
-
})]);
|
|
116
|
-
;
|
|
111
|
+
(0, _defineProperty2["default"])(TabPanelRoot, "enhance", [(0, _a11yEnhance["default"])(optionsA11yEnhance)]);
|
|
117
112
|
function TabPanelItem(props) {
|
|
118
113
|
var _ref2 = arguments[0],
|
|
119
114
|
_ref6;
|
|
120
|
-
var STabPanelItem =
|
|
115
|
+
var STabPanelItem = _flexBox.Box;
|
|
121
116
|
var Children = props.Children,
|
|
122
117
|
styles = props.styles,
|
|
123
118
|
addonLeft = props.addonLeft,
|
|
124
|
-
addonRight = props.addonRight
|
|
125
|
-
buttonRefsList = props.buttonRefsList,
|
|
126
|
-
index = props.index;
|
|
127
|
-
var buttonRef = _react["default"].useRef();
|
|
128
|
-
buttonRefsList[index] = buttonRef;
|
|
119
|
+
addonRight = props.addonRight;
|
|
129
120
|
return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(STabPanelItem, _ref6.cn("STabPanelItem", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
130
121
|
"type": 'button',
|
|
131
122
|
"tag": 'button',
|
|
132
|
-
"
|
|
133
|
-
"role": 'tab',
|
|
134
|
-
"ref": buttonRef
|
|
123
|
+
"role": 'tab'
|
|
135
124
|
}, _ref2))), addonLeft ? /*#__PURE__*/_react["default"].createElement(TabPanel.Item.Addon, {
|
|
136
125
|
tag: addonLeft
|
|
137
126
|
}) : null, (0, _addonTextChildren["default"])(Children, TabPanel.Item.Text, TabPanel.Item.Addon), addonRight ? /*#__PURE__*/_react["default"].createElement(TabPanel.Item.Addon, {
|
|
138
127
|
tag: addonRight
|
|
139
128
|
}) : null);
|
|
140
129
|
}
|
|
130
|
+
TabPanelItem.enhance = [(0, _keyboardFocusEnhance["default"])()];
|
|
141
131
|
function Text(props) {
|
|
142
132
|
var _ref3 = arguments[0],
|
|
143
133
|
_ref7;
|
|
144
|
-
var SText =
|
|
145
|
-
var styles = props.styles
|
|
146
|
-
_props$ellipsis = props.ellipsis,
|
|
147
|
-
ellipsis = _props$ellipsis === void 0 ? true : _props$ellipsis,
|
|
148
|
-
buttonRefsList = props.buttonRefsList,
|
|
149
|
-
index = props.index;
|
|
134
|
+
var SText = _flexBox.Box;
|
|
135
|
+
var styles = props.styles;
|
|
150
136
|
return _ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SText, _ref7.cn("SText", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
151
|
-
"
|
|
152
|
-
"ellipsis": ellipsis,
|
|
153
|
-
"medium": true,
|
|
154
|
-
"hint:triggerRef": buttonRefsList[index]
|
|
137
|
+
"tag": 'span'
|
|
155
138
|
}, _ref3))));
|
|
156
139
|
}
|
|
157
140
|
function Addon(props) {
|
|
158
141
|
var _ref4 = arguments[0],
|
|
159
142
|
_ref8;
|
|
160
|
-
var SAddon =
|
|
143
|
+
var SAddon = _flexBox.Box;
|
|
161
144
|
var styles = props.styles;
|
|
162
145
|
return _ref8 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SAddon, _ref8.cn("SAddon", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
163
146
|
"tag": 'span'
|
|
164
147
|
}, _ref4))));
|
|
165
148
|
}
|
|
166
|
-
var TabPanel = (0, _core
|
|
149
|
+
var TabPanel = (0, _core["default"])(TabPanelRoot, {
|
|
167
150
|
Item: [TabPanelItem, {
|
|
168
151
|
Text: Text,
|
|
169
152
|
Addon: Addon
|
|
170
153
|
}]
|
|
171
154
|
});
|
|
172
|
-
var wrapTabPanel =
|
|
155
|
+
var wrapTabPanel = function wrapTabPanel(wrapper) {
|
|
173
156
|
return wrapper;
|
|
174
157
|
};
|
|
175
|
-
|
|
158
|
+
exports.wrapTabPanel = wrapTabPanel;
|
|
159
|
+
var _default = TabPanel;
|
|
160
|
+
exports["default"] = _default;
|
|
176
161
|
//# sourceMappingURL=TabPanel.js.map
|
package/lib/cjs/TabPanel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabPanel.js","names":["_core","require","_baseComponents","_addonTextChildren","_interopRequireDefault","_a11yEnhance","_typography","_react","style","sstyled","insert","TabPanelRoot","_Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","value","event","handlers","key","preventDefault","_inherits2","_createClass2","uncontrolledProps","getItemProps","props","index","asProps","isSelected","handleClick","handleKeyDown","buttonRefsList","getItemTextProps","_","render","_ref","_ref5","STabPanel","Box","styles","createElement","cn","_objectSpread2","assignProps","Component","defaultValue","behavior","a11yEnhance","onNeighborChange","neighborElement","focus","click","childSelector","TabPanelItem","_ref2","arguments[0]","_ref6","STabPanelItem","Children","addonLeft","addonRight","buttonRef","React","useRef","TabPanel","Item","Addon","tag","addonTextChildren","Text","_ref3","_ref7","SText","UikitText","_props$ellipsis","ellipsis","_ref4","_ref8","SAddon","createComponent","wrapTabPanel","exports","wrapper","_default"],"sources":["../../src/TabPanel.tsx"],"sourcesContent":["import { Box } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';\nimport a11yEnhance from '@semcore/core/lib/utils/enhances/a11yEnhance';\nimport { Text as UikitText } from '@semcore/typography';\nimport React from 'react';\n\nimport style from './style/tab-panel.shadow.css';\nimport type { NSTabPanel } from './TabPanel.type';\n\nclass TabPanelRoot extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSTabPanel.Component>,\n typeof TabPanelRoot.enhance,\n NSTabPanel.Handlers\n> {\n static displayName = 'TabPanel';\n static style = style;\n static defaultProps = {\n defaultValue: null,\n behavior: 'manual',\n };\n\n static enhance = [\n a11yEnhance({\n onNeighborChange: (neighborElement, props) => {\n if (neighborElement) {\n neighborElement.focus();\n if (props.behavior === 'auto') {\n neighborElement.click();\n }\n }\n },\n childSelector: ['role', 'tab'],\n }),\n ] as const;\n\n buttonRefsList: Array<React.MutableRefObject<HTMLButtonElement | undefined>> = [];\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleClick = (value: NSTabPanel.Props['value']) => (event: React.MouseEvent<HTMLButtonElement>) => {\n this.handlers.value(value, event);\n };\n\n handleKeyDown = (value: NSTabPanel.Props['value']) => (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handlers.value(value, event);\n }\n };\n\n getItemProps(props: NSTabPanel.Item.Props, index: number) {\n const { value } = this.asProps;\n const isSelected = value === props.value;\n return {\n 'selected': isSelected,\n 'onClick': this.handleClick(props.value),\n 'onKeyDown': this.handleKeyDown(props.value),\n 'tabIndex': isSelected ? 0 : -1,\n 'aria-selected': isSelected,\n 'buttonRefsList': this.buttonRefsList,\n index,\n };\n }\n\n getItemTextProps(_: NSTabPanel.Item.Text.Props, index: number) {\n return {\n buttonRefsList: this.buttonRefsList,\n index,\n };\n }\n\n render() {\n const STabPanel = Root;\n const { styles } = this.asProps;\n\n return sstyled(styles)(<STabPanel render={Box} role='tablist' />);\n }\n};\n\nfunction TabPanelItem(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSTabPanel.Item.Component,\n typeof TabPanelRoot,\n 'Item'\n >,\n) {\n const STabPanelItem = Root;\n const { Children, styles, addonLeft, addonRight, buttonRefsList, index } = props;\n const buttonRef = React.useRef<HTMLButtonElement>();\n\n buttonRefsList[index] = buttonRef;\n\n return sstyled(styles)(\n <STabPanelItem render={Box} type='button' tag='button' tabIndex={0} role='tab' ref={buttonRef}>\n {addonLeft ? <TabPanel.Item.Addon tag={addonLeft} /> : null}\n {addonTextChildren(Children, TabPanel.Item.Text, TabPanel.Item.Addon)}\n {addonRight ? <TabPanel.Item.Addon tag={addonRight} /> : null}\n </STabPanelItem>,\n );\n}\n\nfunction Text(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSTabPanel.Item.Text.Component,\n typeof TabPanelRoot,\n 'ItemText'\n >,\n) {\n const SText = Root;\n const { styles, ellipsis = true, buttonRefsList, index } = props;\n return sstyled(styles)(<SText render={UikitText} size={200} ellipsis={ellipsis} medium hint:triggerRef={buttonRefsList[index]} />);\n}\n\nfunction Addon(\n props: Intergalactic.InternalTypings.InferComponentProps<NSTabPanel.Item.Addon.Component>,\n) {\n const SAddon = Root;\n const { styles } = props;\n return sstyled(styles)(<SAddon render={Box} tag='span' />);\n}\n\nconst TabPanel = createComponent(TabPanelRoot, {\n Item: [TabPanelItem, { Text, Addon }],\n}) as unknown as NSTabPanel.Component;\n\nexport const wrapTabPanel = <PropsExtending extends {}>(wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<NSTabPanel.WrapperComponent>\n > &\n PropsExtending,\n) => React.ReactNode) => wrapper as NSTabPanel.WrapperComponent<PropsExtending>;\n\nexport default TabPanel;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"TabPanel.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_addonTextChildren","_a11yEnhance","_keyboardFocusEnhance","style","_index","sstyled","insert","optionsA11yEnhance","onNeighborChange","neighborElement","props","focus","behavior","click","childSelector","TabPanelRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","value","event","handlers","key","preventDefault","_createClass2","uncontrolledProps","getItemProps","index","asProps","isSelected","selected","onClick","handleClick","onKeyDown","handleKeyDown","tabIndex","render","_ref","_ref5","STabPanel","Box","styles","createElement","cn","_objectSpread2","assignProps","Component","defaultValue","a11yEnhance","TabPanelItem","_ref2","arguments[0]","_ref6","STabPanelItem","Children","addonLeft","addonRight","TabPanel","Item","Addon","tag","addonTextChildren","Text","enhance","keyboardFocusEnhance","_ref3","_ref7","SText","_ref4","_ref8","SAddon","createComponent","wrapTabPanel","wrapper","exports","_default"],"sources":["../../src/TabPanel.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport a11yEnhance from '@semcore/utils/lib/enhances/a11yEnhance';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nimport style from './style/tab-panel.shadow.css';\n\nconst optionsA11yEnhance = {\n onNeighborChange: (neighborElement, props) => {\n if (neighborElement) {\n neighborElement.focus();\n if (props.behavior === 'auto') {\n neighborElement.click();\n }\n }\n },\n childSelector: ['role', 'tab'],\n};\n\nclass TabPanelRoot extends Component {\n static displayName = 'TabPanel';\n static style = style;\n static defaultProps = {\n defaultValue: null,\n behavior: 'manual',\n };\n static enhance = [a11yEnhance(optionsA11yEnhance)];\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleClick = (value) => (event) => {\n this.handlers.value(value, event);\n };\n\n handleKeyDown = (value) => (event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handlers.value(value, event);\n }\n };\n\n getItemProps(props, index) {\n const { value } = this.asProps;\n const isSelected = value === props.value;\n return {\n selected: isSelected,\n onClick: this.handleClick(props.value),\n onKeyDown: this.handleKeyDown(props.value),\n tabIndex: isSelected ? 0 : -1,\n 'aria-selected': isSelected,\n };\n }\n\n render() {\n const STabPanel = Root;\n const { styles } = this.asProps;\n\n return sstyled(styles)(<STabPanel render={Box} role='tablist' />);\n }\n}\n\nfunction TabPanelItem(props) {\n const STabPanelItem = Root;\n const { Children, styles, addonLeft, addonRight } = props;\n\n return sstyled(styles)(\n <STabPanelItem render={Box} type='button' tag='button' role='tab'>\n {addonLeft ? <TabPanel.Item.Addon tag={addonLeft} /> : null}\n {addonTextChildren(Children, TabPanel.Item.Text, TabPanel.Item.Addon)}\n {addonRight ? <TabPanel.Item.Addon tag={addonRight} /> : null}\n </STabPanelItem>,\n );\n}\n\nTabPanelItem.enhance = [keyboardFocusEnhance()];\n\nfunction Text(props) {\n const SText = Root;\n const { styles } = props;\n return sstyled(styles)(<SText render={Box} tag='span' />);\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n const { styles } = props;\n return sstyled(styles)(<SAddon render={Box} tag='span' />);\n}\n\nconst TabPanel = createComponent(TabPanelRoot, {\n Item: [TabPanelItem, { Text, Addon }],\n});\n\nexport const wrapTabPanel = (wrapper) => wrapper;\n\nexport default TabPanel;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { Box, BoxProps } from '@semcore/flex-box';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nexport type TabPanelValue = string | number | boolean;\n\n/** @deprecated */\nexport interface ITabPanelProps<T extends TabPanelValue = TabPanelValue>\n extends TabPanelProps<T>,\n UnknownProperties {}\nexport type TabPanelProps<T extends TabPanelValue = TabPanelValue> = BoxProps & {\n /** Is invoked when changing the selection */\n onChange?:\n | ((value: T, e?: React.SyntheticEvent<HTMLButtonElement>) => void)\n | React.Dispatch<React.SetStateAction<T>>;\n /** Value of the selected tab */\n value?: T;\n /** Default value of the selected tab\n * @default null\n * */\n defaultValue?: T;\n /**\n * Behavior of tabs.\n * In `auto`, changes the tab immediately when press arrow.\n * In `manual`, needs to press `space` or `enter` for select a choice.\n * @default 'auto'\n */\n behavior?: 'auto' | 'manual';\n};\n\n/** @deprecated */\nexport interface ITabPanelItemProps extends TabPanelItemProps, UnknownProperties {}\nexport type TabPanelItemProps = BoxProps &\n KeyboardFocusProps & {\n /** Makes a tab selected. This property is determined automatically depending on the value. */\n selected?: boolean;\n /** Disabled state */\n disabled?: boolean;\n /** Tab value */\n value?: TabPanelValue;\n /** Left addon tag */\n addonLeft?: React.ElementType;\n /** Right addon tag */\n addonRight?: React.ElementType;\n };\n\n/** @deprecated */\nexport interface ITabPanelContext extends TabPanelContext, UnknownProperties {}\nexport type TabPanelContext = {\n getItemProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface ITabPanelHandlers extends TabPanelHandlers, UnknownProperties {}\nexport type TabPanelHandlers = {\n value: (value: TabPanelValue) => void;\n};\n\ntype IntergalacticTabPanelComponent<PropsExtending = {}> = (<\n Value extends TabPanelValue,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n TabPanelProps<Value>,\n TabPanelContext,\n [handlers: TabPanelHandlers]\n > &\n PropsExtending,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', TabPanelProps>;\n\ndeclare const TabPanel: IntergalacticTabPanelComponent & {\n Item: Intergalactic.Component<'div', TabPanelItemProps, {}, [handlers: TabPanelHandlers]> & {\n Text: typeof Box;\n Addon: typeof Box;\n };\n};\n\ndeclare const wrapTabPanel: <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticTabPanelComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => IntergalacticTabPanelComponent<PropsExtending>;\nexport { wrapTabPanel };\n\nexport default TabPanel;\n"],"mappings":""}
|
package/lib/cjs/index.js
CHANGED
|
@@ -1,34 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
var _exportNames = {
|
|
8
|
-
wrapTabPanel: true
|
|
9
|
-
};
|
|
7
|
+
var _exportNames = {};
|
|
10
8
|
Object.defineProperty(exports, "default", {
|
|
11
9
|
enumerable: true,
|
|
12
10
|
get: function get() {
|
|
13
11
|
return _TabPanel["default"];
|
|
14
12
|
}
|
|
15
13
|
});
|
|
16
|
-
Object.defineProperty(exports, "wrapTabPanel", {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function get() {
|
|
19
|
-
return _TabPanel.wrapTabPanel;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
14
|
var _TabPanel = _interopRequireWildcard(require("./TabPanel"));
|
|
23
|
-
|
|
24
|
-
Object.keys(_TabPanel2).forEach(function (key) {
|
|
15
|
+
Object.keys(_TabPanel).forEach(function (key) {
|
|
25
16
|
if (key === "default" || key === "__esModule") return;
|
|
26
17
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
27
|
-
if (key in exports && exports[key] ===
|
|
18
|
+
if (key in exports && exports[key] === _TabPanel[key]) return;
|
|
28
19
|
Object.defineProperty(exports, key, {
|
|
29
20
|
enumerable: true,
|
|
30
21
|
get: function get() {
|
|
31
|
-
return
|
|
22
|
+
return _TabPanel[key];
|
|
32
23
|
}
|
|
33
24
|
});
|
|
34
25
|
});
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_TabPanel","_interopRequireWildcard","require","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_TabPanel","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './TabPanel';\nexport * from './TabPanel';\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AACAC,MAAA,CAAAC,IAAA,CAAAJ,SAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,SAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAd,SAAA,CAAAM,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -35,18 +35,27 @@ STabPanelItem {
|
|
|
35
35
|
box-shadow: none;
|
|
36
36
|
text-decoration: none;
|
|
37
37
|
-webkit-tap-highlight-color: transparent;
|
|
38
|
+
outline: 0;
|
|
38
39
|
text-align: center;
|
|
39
40
|
vertical-align: middle;
|
|
40
41
|
font-family: inherit;
|
|
41
42
|
cursor: pointer;
|
|
42
43
|
|
|
44
|
+
& SText {
|
|
45
|
+
font-size: var(--intergalactic-fs-200, 14px);
|
|
46
|
+
line-height: var(--intergalactic-lh-200, 142%);
|
|
47
|
+
font-weight: var(--intergalactic-medium, 500);
|
|
48
|
+
}
|
|
49
|
+
|
|
43
50
|
&::-moz-focus-inner {
|
|
44
51
|
border: none;
|
|
45
52
|
padding: 0;
|
|
46
53
|
}
|
|
47
54
|
|
|
48
55
|
&:active,
|
|
49
|
-
&:hover
|
|
56
|
+
&:hover,
|
|
57
|
+
&:focus {
|
|
58
|
+
outline: 0;
|
|
50
59
|
text-decoration: none;
|
|
51
60
|
}
|
|
52
61
|
|
|
@@ -75,6 +84,10 @@ STabPanelItem[disabled] {
|
|
|
75
84
|
}
|
|
76
85
|
}
|
|
77
86
|
|
|
87
|
+
STabPanelItem[keyboardFocused] {
|
|
88
|
+
box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px oklch(0.376 0.247 264.2 / 0.441));
|
|
89
|
+
}
|
|
90
|
+
|
|
78
91
|
STabPanelItem[selected] {
|
|
79
92
|
color: var(--intergalactic-text-link, oklch(0.53 0.214 263.4));
|
|
80
93
|
border-color: var(--intergalactic-border-primary, oklch(0.137 0.026 175.7 / 0.161));
|
|
@@ -90,7 +103,11 @@ STabPanelItem[selected] {
|
|
|
90
103
|
}
|
|
91
104
|
|
|
92
105
|
SText {
|
|
106
|
+
display: inline-block;
|
|
93
107
|
margin: auto var(--intergalactic-spacing-2x, 8px);
|
|
108
|
+
white-space: nowrap;
|
|
109
|
+
overflow: hidden;
|
|
110
|
+
text-overflow: ellipsis;
|
|
94
111
|
}
|
|
95
112
|
|
|
96
113
|
SAddon {
|
|
@@ -110,4 +127,4 @@ SAddon:not(:only-child):last-child {
|
|
|
110
127
|
SAddon:only-child {
|
|
111
128
|
margin-right: var(--intergalactic-spacing-2x, 8px);
|
|
112
129
|
margin-left: var(--intergalactic-spacing-2x, 8px);
|
|
113
|
-
}
|
|
130
|
+
}
|
package/lib/es6/TabPanel.js
CHANGED
|
@@ -1,46 +1,60 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
2
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
3
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
-
import
|
|
4
|
+
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
5
5
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
|
+
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
6
7
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
7
|
-
import { sstyled as _sstyled } from "@semcore/core";
|
|
8
|
+
import { sstyled as _sstyled } from "@semcore/utils/lib/core/index";
|
|
8
9
|
import { assignProps as _assignProps4 } from "@semcore/core";
|
|
9
10
|
import { assignProps as _assignProps3 } from "@semcore/core";
|
|
10
11
|
import { assignProps as _assignProps2 } from "@semcore/core";
|
|
11
12
|
import { assignProps as _assignProps } from "@semcore/core";
|
|
12
|
-
import { Box } from '@semcore/base-components';
|
|
13
|
-
import { createComponent, Component, sstyled, Root } from '@semcore/core';
|
|
14
|
-
import addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';
|
|
15
|
-
import a11yEnhance from '@semcore/core/lib/utils/enhances/a11yEnhance';
|
|
16
|
-
import { Text as UikitText } from '@semcore/typography';
|
|
17
13
|
import React from 'react';
|
|
14
|
+
import createComponent, { Component, sstyled, Root } from '@semcore/core';
|
|
15
|
+
import { Box } from '@semcore/flex-box';
|
|
16
|
+
import addonTextChildren from '@semcore/utils/lib/addonTextChildren';
|
|
17
|
+
import a11yEnhance from '@semcore/utils/lib/enhances/a11yEnhance';
|
|
18
|
+
import keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
|
|
18
19
|
/*!__reshadow-styles__:"./style/tab-panel.shadow.css"*/
|
|
19
|
-
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
20
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___STabPanel_1lfx6_gg_{display:flex;width:100%;max-width:100%}.___STabPanel_1lfx6_gg_::after{content:\"\";position:relative;bottom:-1px;flex:1;border-top:1px solid transparent;border-bottom:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@supports (color:color(display-p3 0 0 0)){.___STabPanel_1lfx6_gg_::after{border-bottom:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___STabPanel_1lfx6_gg_::after{border-bottom:1px solid var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}.___STabPanelItem_1lfx6_gg_{position:relative;bottom:-1px;display:inline-flex;min-width:0;height:32px;color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));border:1px solid transparent;border-bottom:none;border-radius:var(--intergalactic-control-rounded, 6px) var(--intergalactic-control-rounded, 6px)0 0;background:0 0;align-items:center;justify-content:center;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box;padding:0 0 1px;margin:0;box-shadow:none;-webkit-text-decoration:none;text-decoration:none;-webkit-tap-highlight-color:transparent;outline:0;text-align:center;vertical-align:middle;font-family:inherit;cursor:pointer}@supports (color:color(display-p3 0 0 0)){.___STabPanelItem_1lfx6_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___STabPanelItem_1lfx6_gg_{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}.___STabPanelItem_1lfx6_gg_ .___SText_1lfx6_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);font-weight:var(--intergalactic-medium, 500)}.___STabPanelItem_1lfx6_gg_::-moz-focus-inner{border:0;padding:0}.___STabPanelItem_1lfx6_gg_:active,.___STabPanelItem_1lfx6_gg_:focus{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___STabPanelItem_1lfx6_gg_:hover{outline:0;-webkit-text-decoration:none;text-decoration:none;color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899))}}.___STabPanelItem_1lfx6_gg_::after{content:\"\";position:absolute;left:-1px;bottom:0;width:calc(100% + 2px);border-bottom:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@supports (color:color(display-p3 0 0 0)){.___STabPanelItem_1lfx6_gg_::after{border-bottom:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___STabPanelItem_1lfx6_gg_::after{border-bottom:1px solid var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}.___STabPanelItem_1lfx6_gg_.__disabled_1lfx6_gg_{cursor:default;pointer-events:none}.___STabPanelItem_1lfx6_gg_.__disabled_1lfx6_gg_ .___SAddon_1lfx6_gg_,.___STabPanelItem_1lfx6_gg_.__disabled_1lfx6_gg_ .___SText_1lfx6_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4)}.___STabPanelItem_1lfx6_gg_.__keyboardFocused_1lfx6_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 18, 193, 0.441))}.___STabPanelItem_1lfx6_gg_.__selected_1lfx6_gg_{color:var(--intergalactic-text-link, rgb(36, 93, 229));border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161));flex-shrink:0}@supports (color:color(display-p3 0 0 0)){.___STabPanelItem_1lfx6_gg_.__selected_1lfx6_gg_{border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___STabPanelItem_1lfx6_gg_.__selected_1lfx6_gg_{border-color:var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}@media (hover:hover){.___STabPanelItem_1lfx6_gg_.__selected_1lfx6_gg_:hover{color:var(--intergalactic-text-link-hover-active, rgb(34, 88, 217))}}.___STabPanelItem_1lfx6_gg_.__selected_1lfx6_gg_::after{border-bottom:none}.___SText_1lfx6_gg_{display:inline-block;margin:auto var(--intergalactic-spacing-2x, 8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.___SAddon_1lfx6_gg_{display:inline-flex;align-items:center;justify-content:center}.___SAddon_1lfx6_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SAddon_1lfx6_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SAddon_1lfx6_gg_:only-child{margin-right:var(--intergalactic-spacing-2x, 8px);margin-left:var(--intergalactic-spacing-2x, 8px)}", /*__inner_css_end__*/"1lfx6_gg_"),
|
|
20
21
|
/*__reshadow_css_end__*/
|
|
21
22
|
{
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
23
|
+
"__STabPanelItem": "___STabPanelItem_1lfx6_gg_",
|
|
24
|
+
"_keyboardFocused": "__keyboardFocused_1lfx6_gg_",
|
|
25
|
+
"__SText": "___SText_1lfx6_gg_",
|
|
26
|
+
"__SAddon": "___SAddon_1lfx6_gg_",
|
|
27
|
+
"__STabPanel": "___STabPanel_1lfx6_gg_",
|
|
28
|
+
"_disabled": "__disabled_1lfx6_gg_",
|
|
29
|
+
"_selected": "__selected_1lfx6_gg_"
|
|
28
30
|
});
|
|
31
|
+
var optionsA11yEnhance = {
|
|
32
|
+
onNeighborChange: function onNeighborChange(neighborElement, props) {
|
|
33
|
+
if (neighborElement) {
|
|
34
|
+
neighborElement.focus();
|
|
35
|
+
if (props.behavior === 'auto') {
|
|
36
|
+
neighborElement.click();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
childSelector: ['role', 'tab']
|
|
41
|
+
};
|
|
29
42
|
var TabPanelRoot = /*#__PURE__*/function (_Component) {
|
|
43
|
+
_inherits(TabPanelRoot, _Component);
|
|
44
|
+
var _super = _createSuper(TabPanelRoot);
|
|
30
45
|
function TabPanelRoot() {
|
|
31
46
|
var _this;
|
|
32
47
|
_classCallCheck(this, TabPanelRoot);
|
|
33
48
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
34
49
|
args[_key] = arguments[_key];
|
|
35
50
|
}
|
|
36
|
-
_this =
|
|
37
|
-
_defineProperty(_this, "
|
|
38
|
-
_defineProperty(_this, "handleClick", function (value) {
|
|
51
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
52
|
+
_defineProperty(_assertThisInitialized(_this), "handleClick", function (value) {
|
|
39
53
|
return function (event) {
|
|
40
54
|
_this.handlers.value(value, event);
|
|
41
55
|
};
|
|
42
56
|
});
|
|
43
|
-
_defineProperty(_this, "handleKeyDown", function (value) {
|
|
57
|
+
_defineProperty(_assertThisInitialized(_this), "handleKeyDown", function (value) {
|
|
44
58
|
return function (event) {
|
|
45
59
|
if (event.key === 'Enter' || event.key === ' ') {
|
|
46
60
|
event.preventDefault();
|
|
@@ -50,8 +64,7 @@ var TabPanelRoot = /*#__PURE__*/function (_Component) {
|
|
|
50
64
|
});
|
|
51
65
|
return _this;
|
|
52
66
|
}
|
|
53
|
-
|
|
54
|
-
return _createClass(TabPanelRoot, [{
|
|
67
|
+
_createClass(TabPanelRoot, [{
|
|
55
68
|
key: "uncontrolledProps",
|
|
56
69
|
value: function uncontrolledProps() {
|
|
57
70
|
return {
|
|
@@ -64,21 +77,11 @@ var TabPanelRoot = /*#__PURE__*/function (_Component) {
|
|
|
64
77
|
var value = this.asProps.value;
|
|
65
78
|
var isSelected = value === props.value;
|
|
66
79
|
return {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
'aria-selected': isSelected
|
|
72
|
-
'buttonRefsList': this.buttonRefsList,
|
|
73
|
-
index: index
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
}, {
|
|
77
|
-
key: "getItemTextProps",
|
|
78
|
-
value: function getItemTextProps(_, index) {
|
|
79
|
-
return {
|
|
80
|
-
buttonRefsList: this.buttonRefsList,
|
|
81
|
-
index: index
|
|
80
|
+
selected: isSelected,
|
|
81
|
+
onClick: this.handleClick(props.value),
|
|
82
|
+
onKeyDown: this.handleKeyDown(props.value),
|
|
83
|
+
tabIndex: isSelected ? 0 : -1,
|
|
84
|
+
'aria-selected': isSelected
|
|
82
85
|
};
|
|
83
86
|
}
|
|
84
87
|
}, {
|
|
@@ -93,6 +96,7 @@ var TabPanelRoot = /*#__PURE__*/function (_Component) {
|
|
|
93
96
|
}, _ref))));
|
|
94
97
|
}
|
|
95
98
|
}]);
|
|
99
|
+
return TabPanelRoot;
|
|
96
100
|
}(Component);
|
|
97
101
|
_defineProperty(TabPanelRoot, "displayName", 'TabPanel');
|
|
98
102
|
_defineProperty(TabPanelRoot, "style", style);
|
|
@@ -100,18 +104,7 @@ _defineProperty(TabPanelRoot, "defaultProps", {
|
|
|
100
104
|
defaultValue: null,
|
|
101
105
|
behavior: 'manual'
|
|
102
106
|
});
|
|
103
|
-
_defineProperty(TabPanelRoot, "enhance", [a11yEnhance(
|
|
104
|
-
onNeighborChange: function onNeighborChange(neighborElement, props) {
|
|
105
|
-
if (neighborElement) {
|
|
106
|
-
neighborElement.focus();
|
|
107
|
-
if (props.behavior === 'auto') {
|
|
108
|
-
neighborElement.click();
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
childSelector: ['role', 'tab']
|
|
113
|
-
})]);
|
|
114
|
-
;
|
|
107
|
+
_defineProperty(TabPanelRoot, "enhance", [a11yEnhance(optionsA11yEnhance)]);
|
|
115
108
|
function TabPanelItem(props) {
|
|
116
109
|
var _ref2 = arguments[0],
|
|
117
110
|
_ref6;
|
|
@@ -119,37 +112,25 @@ function TabPanelItem(props) {
|
|
|
119
112
|
var Children = props.Children,
|
|
120
113
|
styles = props.styles,
|
|
121
114
|
addonLeft = props.addonLeft,
|
|
122
|
-
addonRight = props.addonRight
|
|
123
|
-
buttonRefsList = props.buttonRefsList,
|
|
124
|
-
index = props.index;
|
|
125
|
-
var buttonRef = React.useRef();
|
|
126
|
-
buttonRefsList[index] = buttonRef;
|
|
115
|
+
addonRight = props.addonRight;
|
|
127
116
|
return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(STabPanelItem, _ref6.cn("STabPanelItem", _objectSpread({}, _assignProps2({
|
|
128
117
|
"type": 'button',
|
|
129
118
|
"tag": 'button',
|
|
130
|
-
"
|
|
131
|
-
"role": 'tab',
|
|
132
|
-
"ref": buttonRef
|
|
119
|
+
"role": 'tab'
|
|
133
120
|
}, _ref2))), addonLeft ? /*#__PURE__*/React.createElement(TabPanel.Item.Addon, {
|
|
134
121
|
tag: addonLeft
|
|
135
122
|
}) : null, addonTextChildren(Children, TabPanel.Item.Text, TabPanel.Item.Addon), addonRight ? /*#__PURE__*/React.createElement(TabPanel.Item.Addon, {
|
|
136
123
|
tag: addonRight
|
|
137
124
|
}) : null);
|
|
138
125
|
}
|
|
126
|
+
TabPanelItem.enhance = [keyboardFocusEnhance()];
|
|
139
127
|
function Text(props) {
|
|
140
128
|
var _ref3 = arguments[0],
|
|
141
129
|
_ref7;
|
|
142
|
-
var SText =
|
|
143
|
-
var styles = props.styles
|
|
144
|
-
_props$ellipsis = props.ellipsis,
|
|
145
|
-
ellipsis = _props$ellipsis === void 0 ? true : _props$ellipsis,
|
|
146
|
-
buttonRefsList = props.buttonRefsList,
|
|
147
|
-
index = props.index;
|
|
130
|
+
var SText = Box;
|
|
131
|
+
var styles = props.styles;
|
|
148
132
|
return _ref7 = sstyled(styles), /*#__PURE__*/React.createElement(SText, _ref7.cn("SText", _objectSpread({}, _assignProps3({
|
|
149
|
-
"
|
|
150
|
-
"ellipsis": ellipsis,
|
|
151
|
-
"medium": true,
|
|
152
|
-
"hint:triggerRef": buttonRefsList[index]
|
|
133
|
+
"tag": 'span'
|
|
153
134
|
}, _ref3))));
|
|
154
135
|
}
|
|
155
136
|
function Addon(props) {
|