@semcore/tab-panel 4.42.0-prerelease.9 → 4.42.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/CHANGELOG.md +3 -3
- package/lib/esm/TabPanel.mjs +125 -0
- package/lib/esm/index.mjs +5 -0
- package/package.json +10 -5
- package/vite.config.ts +17 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
-
## [4.42.0] - 2025-
|
|
5
|
+
## [4.42.0] - 2025-03-14
|
|
6
6
|
|
|
7
|
-
###
|
|
7
|
+
### Added
|
|
8
8
|
|
|
9
|
-
-
|
|
9
|
+
- Build for ESM.
|
|
10
10
|
|
|
11
11
|
## [4.41.1] - 2025-02-05
|
|
12
12
|
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import m from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import v from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import x from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
+
import f from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
5
|
+
import y from "@babel/runtime/helpers/esm/inherits";
|
|
6
|
+
import S from "@babel/runtime/helpers/esm/createSuper";
|
|
7
|
+
import d from "@babel/runtime/helpers/esm/defineProperty";
|
|
8
|
+
import { sstyled as T } from "@semcore/utils/lib/core/index";
|
|
9
|
+
import P, { sstyled as u, assignProps as b, Component as q } from "@semcore/core";
|
|
10
|
+
import l from "react";
|
|
11
|
+
import { Box as p } from "@semcore/flex-box";
|
|
12
|
+
import I from "@semcore/utils/lib/addonTextChildren";
|
|
13
|
+
import k from "@semcore/utils/lib/enhances/a11yEnhance";
|
|
14
|
+
import w from "@semcore/utils/lib/enhances/keyboardFocusEnhance";
|
|
15
|
+
var A = (
|
|
16
|
+
/*__reshadow_css_start__*/
|
|
17
|
+
(T.insert(
|
|
18
|
+
/*__inner_css_start__*/
|
|
19
|
+
'.___STabPanel_1cd9q_gg_{display:flex;width:100%;max-width:100%}.___STabPanel_1cd9q_gg_::after{content:"";position:relative;bottom:-1px;flex:1;border-top:1px solid transparent;border-bottom:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___STabPanelItem_1cd9q_gg_{position:relative;bottom:-1px;display:inline-flex;min-width:0;height:32px;color:var(--intergalactic-text-secondary, #6c6e79);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}.___STabPanelItem_1cd9q_gg_ .___SText_1cd9q_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);font-weight:var(--intergalactic-medium, 500)}.___STabPanelItem_1cd9q_gg_::-moz-focus-inner{border:0;padding:0}.___STabPanelItem_1cd9q_gg_:active,.___STabPanelItem_1cd9q_gg_:focus{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___STabPanelItem_1cd9q_gg_:hover{outline:0;-webkit-text-decoration:none;text-decoration:none;color:var(--intergalactic-text-primary, #191b23)}}.___STabPanelItem_1cd9q_gg_::after{content:"";position:absolute;left:-1px;bottom:0;width:calc(100% + 2px);border-bottom:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___STabPanelItem_1cd9q_gg_.__disabled_1cd9q_gg_{cursor:default;pointer-events:none}.___STabPanelItem_1cd9q_gg_.__disabled_1cd9q_gg_ .___SAddon_1cd9q_gg_,.___STabPanelItem_1cd9q_gg_.__disabled_1cd9q_gg_ .___SText_1cd9q_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3)}.___STabPanelItem_1cd9q_gg_.__keyboardFocused_1cd9q_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___STabPanelItem_1cd9q_gg_.__selected_1cd9q_gg_{color:var(--intergalactic-text-link, #006dca);border-color:var(--intergalactic-border-primary, #c4c7cf);flex-shrink:0}@media (hover:hover){.___STabPanelItem_1cd9q_gg_.__selected_1cd9q_gg_:hover{color:var(--intergalactic-text-link-hover-active, #044792)}}.___STabPanelItem_1cd9q_gg_.__selected_1cd9q_gg_::after{border-bottom:none}.___SText_1cd9q_gg_{display:inline-block;margin:auto var(--intergalactic-spacing-2x, 8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.___SAddon_1cd9q_gg_{display:inline-flex;align-items:center;justify-content:center}.___SAddon_1cd9q_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SAddon_1cd9q_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SAddon_1cd9q_gg_:only-child{margin-right:var(--intergalactic-spacing-2x, 8px);margin-left:var(--intergalactic-spacing-2x, 8px)}',
|
|
20
|
+
"1cd9q_gg_"
|
|
21
|
+
), {
|
|
22
|
+
__STabPanelItem: "___STabPanelItem_1cd9q_gg_",
|
|
23
|
+
_keyboardFocused: "__keyboardFocused_1cd9q_gg_",
|
|
24
|
+
__SText: "___SText_1cd9q_gg_",
|
|
25
|
+
__SAddon: "___SAddon_1cd9q_gg_",
|
|
26
|
+
__STabPanel: "___STabPanel_1cd9q_gg_",
|
|
27
|
+
_disabled: "__disabled_1cd9q_gg_",
|
|
28
|
+
_selected: "__selected_1cd9q_gg_"
|
|
29
|
+
})
|
|
30
|
+
), C = {
|
|
31
|
+
onNeighborChange: function(a, e) {
|
|
32
|
+
a && (a.focus(), e.behavior === "auto" && a.click());
|
|
33
|
+
},
|
|
34
|
+
childSelector: ["role", "tab"]
|
|
35
|
+
}, g = /* @__PURE__ */ function(r) {
|
|
36
|
+
y(e, r);
|
|
37
|
+
var a = S(e);
|
|
38
|
+
function e() {
|
|
39
|
+
var t;
|
|
40
|
+
v(this, e);
|
|
41
|
+
for (var n = arguments.length, i = new Array(n), o = 0; o < n; o++)
|
|
42
|
+
i[o] = arguments[o];
|
|
43
|
+
return t = a.call.apply(a, [this].concat(i)), d(f(t), "handleClick", function(_) {
|
|
44
|
+
return function(c) {
|
|
45
|
+
t.handlers.value(_, c);
|
|
46
|
+
};
|
|
47
|
+
}), d(f(t), "handleKeyDown", function(_) {
|
|
48
|
+
return function(c) {
|
|
49
|
+
(c.key === "Enter" || c.key === " ") && (c.preventDefault(), t.handlers.value(_, c));
|
|
50
|
+
};
|
|
51
|
+
}), t;
|
|
52
|
+
}
|
|
53
|
+
return x(e, [{
|
|
54
|
+
key: "uncontrolledProps",
|
|
55
|
+
value: function() {
|
|
56
|
+
return {
|
|
57
|
+
value: null
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}, {
|
|
61
|
+
key: "getItemProps",
|
|
62
|
+
value: function(n, i) {
|
|
63
|
+
var o = this.asProps.value, _ = o === n.value;
|
|
64
|
+
return {
|
|
65
|
+
selected: _,
|
|
66
|
+
onClick: this.handleClick(n.value),
|
|
67
|
+
onKeyDown: this.handleKeyDown(n.value),
|
|
68
|
+
tabIndex: _ ? 0 : -1,
|
|
69
|
+
"aria-selected": _
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}, {
|
|
73
|
+
key: "render",
|
|
74
|
+
value: function() {
|
|
75
|
+
var n = this.asProps, i, o = p, _ = this.asProps.styles;
|
|
76
|
+
return i = u(_), /* @__PURE__ */ l.createElement(o, i.cn("STabPanel", m({}, b({
|
|
77
|
+
role: "tablist"
|
|
78
|
+
}, n))));
|
|
79
|
+
}
|
|
80
|
+
}]), e;
|
|
81
|
+
}(q);
|
|
82
|
+
d(g, "displayName", "TabPanel");
|
|
83
|
+
d(g, "style", A);
|
|
84
|
+
d(g, "defaultProps", {
|
|
85
|
+
defaultValue: null,
|
|
86
|
+
behavior: "manual"
|
|
87
|
+
});
|
|
88
|
+
d(g, "enhance", [k(C)]);
|
|
89
|
+
function h(r) {
|
|
90
|
+
var a = arguments[0], e, t = p, n = r.Children, i = r.styles, o = r.addonLeft, _ = r.addonRight;
|
|
91
|
+
return e = u(i), /* @__PURE__ */ l.createElement(t, e.cn("STabPanelItem", m({}, b({
|
|
92
|
+
type: "button",
|
|
93
|
+
tag: "button",
|
|
94
|
+
role: "tab"
|
|
95
|
+
}, a))), o ? /* @__PURE__ */ l.createElement(s.Item.Addon, {
|
|
96
|
+
tag: o
|
|
97
|
+
}) : null, I(n, s.Item.Text, s.Item.Addon), _ ? /* @__PURE__ */ l.createElement(s.Item.Addon, {
|
|
98
|
+
tag: _
|
|
99
|
+
}) : null);
|
|
100
|
+
}
|
|
101
|
+
h.enhance = [w()];
|
|
102
|
+
function E(r) {
|
|
103
|
+
var a = arguments[0], e, t = p, n = r.styles;
|
|
104
|
+
return e = u(n), /* @__PURE__ */ l.createElement(t, e.cn("SText", m({}, b({
|
|
105
|
+
tag: "span"
|
|
106
|
+
}, a))));
|
|
107
|
+
}
|
|
108
|
+
function z(r) {
|
|
109
|
+
var a = arguments[0], e, t = p, n = r.styles;
|
|
110
|
+
return e = u(n), /* @__PURE__ */ l.createElement(t, e.cn("SAddon", m({}, b({
|
|
111
|
+
tag: "span"
|
|
112
|
+
}, a))));
|
|
113
|
+
}
|
|
114
|
+
var s = P(g, {
|
|
115
|
+
Item: [h, {
|
|
116
|
+
Text: E,
|
|
117
|
+
Addon: z
|
|
118
|
+
}]
|
|
119
|
+
}), O = function(a) {
|
|
120
|
+
return a;
|
|
121
|
+
};
|
|
122
|
+
export {
|
|
123
|
+
s as default,
|
|
124
|
+
O as wrapTabPanel
|
|
125
|
+
};
|
package/package.json
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/tab-panel",
|
|
3
3
|
"description": "Semrush TabPanel Component",
|
|
4
|
-
"version": "4.42.0
|
|
4
|
+
"version": "4.42.0",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
8
8
|
"sideEffects": false,
|
|
9
9
|
"author": "UI-kit team <ui-kit-team@semrush.com>",
|
|
10
10
|
"license": "MIT",
|
|
11
|
+
"exports": {
|
|
12
|
+
"require": "./lib/cjs/index.js",
|
|
13
|
+
"import": "./lib/esm/index.mjs",
|
|
14
|
+
"types": "./lib/types/index.d.ts"
|
|
15
|
+
},
|
|
11
16
|
"dependencies": {
|
|
12
|
-
"@semcore/utils": "4.
|
|
13
|
-
"@semcore/flex-box": "5.41.0
|
|
17
|
+
"@semcore/utils": "4.48.0",
|
|
18
|
+
"@semcore/flex-box": "5.41.0"
|
|
14
19
|
},
|
|
15
20
|
"peerDependencies": {
|
|
16
|
-
"@semcore/core": "^2.
|
|
21
|
+
"@semcore/core": "^2.17.5",
|
|
17
22
|
"react": "16.8 - 18",
|
|
18
23
|
"react-dom": "16.8 - 18"
|
|
19
24
|
},
|
|
@@ -28,6 +33,6 @@
|
|
|
28
33
|
"@semcore/icon": "*"
|
|
29
34
|
},
|
|
30
35
|
"scripts": {
|
|
31
|
-
"build": "pnpm semcore-builder --source=js"
|
|
36
|
+
"build": "pnpm semcore-builder --source=js && pnpm vite build"
|
|
32
37
|
}
|
|
33
38
|
}
|
package/vite.config.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineConfig, mergeConfig } from 'vite';
|
|
2
|
+
|
|
3
|
+
import viteConfig from '../../commonVite.config';
|
|
4
|
+
|
|
5
|
+
export default mergeConfig(
|
|
6
|
+
viteConfig,
|
|
7
|
+
defineConfig({
|
|
8
|
+
build: {
|
|
9
|
+
lib: {
|
|
10
|
+
entry: './src/index.js',
|
|
11
|
+
},
|
|
12
|
+
rollupOptions: {
|
|
13
|
+
external: ['react', 'react-dom', 'react/jsx-runtime', /@babel\/runtime\/*/, /@semcore\/*/],
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
}),
|
|
17
|
+
);
|