@semcore/side-panel 3.53.0-prerelease.1 → 3.53.0-prerelease.12

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 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
- ## [3.53.0] - 2025-02-27
5
+ ## [3.53.0] - 2025-03-14
6
6
 
7
- ### Changed
7
+ ### Added
8
8
 
9
- - Version minor update due to children dependencies update (`@semcore/utils` [4.45.1 ~> 4.47.0], `@semcore/animation` [2.40.1 ~> 2.41.0], `@semcore/flex-box` [5.40.1 ~> 5.41.0], `@semcore/portal` [3.40.1 ~> 3.41.0], `@semcore/outside-click` [3.38.1 ~> 3.39.0], `@semcore/icon` [4.57.1 ~> 4.58.0], `@semcore/core` [2.38.1 ~> 2.39.0]).
9
+ - Build for ESM.
10
10
 
11
11
  ## [3.52.1] - 2025-02-05
12
12
 
@@ -0,0 +1,223 @@
1
+ import m from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import w from "@babel/runtime/helpers/esm/classCallCheck";
3
+ import B from "@babel/runtime/helpers/esm/createClass";
4
+ import f from "@babel/runtime/helpers/esm/assertThisInitialized";
5
+ import O from "@babel/runtime/helpers/esm/inherits";
6
+ import T from "@babel/runtime/helpers/esm/createSuper";
7
+ import d from "@babel/runtime/helpers/esm/defineProperty";
8
+ import { sstyled as I } from "@semcore/utils/lib/core/index";
9
+ import z, { assignProps as s, Component as A, sstyled as p } from "@semcore/core";
10
+ import l from "react";
11
+ import { Flex as F, Box as C } from "@semcore/flex-box";
12
+ import { FadeInOut as R, Slide as M } from "@semcore/animation";
13
+ import N, { PortalProvider as L } from "@semcore/portal";
14
+ import D from "@semcore/outside-click";
15
+ import H from "@semcore/icon/Close/l";
16
+ import S from "@semcore/utils/lib/fire";
17
+ import { isAdvanceMode as y } from "@semcore/utils/lib/findComponent";
18
+ import $ from "@semcore/utils/lib/enhances/keyboardFocusEnhance";
19
+ import K from "@semcore/utils/lib/use/usePreventScroll";
20
+ import { Text as U } from "@semcore/typography";
21
+ import Z from "@semcore/icon/ArrowLeft/m";
22
+ import q, { ButtonLink as P } from "@semcore/button";
23
+ import { cssVariableEnhance as V } from "@semcore/utils/lib/useCssVariable";
24
+ import { useFocusLock as G } from "@semcore/utils/lib/use/useFocusLock";
25
+ import { useContextTheme as J } from "@semcore/utils/lib/ThemeProvider";
26
+ import Q from "@semcore/utils/lib/logger";
27
+ import W from "@semcore/utils/lib/enhances/i18nEnhance";
28
+ import { localizedMessages as X } from "./translations/__intergalactic-dynamic-locales.mjs";
29
+ import { useZIndexStacking as Y, ZIndexStackingContextProvider as ee } from "@semcore/utils/lib/zIndexStacking";
30
+ var ae = (
31
+ /*__reshadow_css_start__*/
32
+ (I.insert(
33
+ /*__inner_css_start__*/
34
+ ".___SOverlay_17clj_gg_{position:fixed;top:0;bottom:0;left:0;right:0;margin:0;display:flex;overflow:hidden;background:var(--intergalactic-overlay-primary, rgba(25, 27, 35, 0.7));-webkit-overflow-scrolling:touch;color:var(--intergalactic-text-primary, #191b23)}.___SPanel_17clj_gg_{display:flex;flex-direction:column;width:260px;outline:0;font-family:inherit;position:fixed;box-sizing:border-box;will-change:transform;background:var(--intergalactic-bg-primary-neutral, #ffffff);z-index:1}.___SPanel_17clj_gg_._placement_right_17clj_gg_,.___SPanel_17clj_gg_._placement_top_17clj_gg_{box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));top:0}.___SPanel_17clj_gg_._placement_top_17clj_gg_{width:100%;margin-bottom:auto;left:0}.___SPanel_17clj_gg_._placement_right_17clj_gg_{height:100vh;margin-left:auto;right:0}.___SPanel_17clj_gg_._placement_bottom_17clj_gg_,.___SPanel_17clj_gg_._placement_left_17clj_gg_{box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));left:0}.___SPanel_17clj_gg_._placement_bottom_17clj_gg_{width:100%;margin-top:auto;bottom:0}.___SPanel_17clj_gg_._placement_left_17clj_gg_{height:100vh;margin-right:auto;top:0}.___SClose_17clj_gg_{position:absolute;z-index:1;right:var(--intergalactic-spacing-2x, 8px);top:var(--intergalactic-spacing-2x, 8px)}.___SClose_17clj_gg_ .___SAddon_17clj_gg_:only-child{margin-left:calc(var(--intergalactic-spacing-2x, 8px) - 1px);margin-right:calc(var(--intergalactic-spacing-2x, 8px) - 1px)}.___SBack_17clj_gg_{max-width:100%}.___SBack_17clj_gg_ .___SInner_17clj_gg_{display:flex}.___SBack_17clj_gg_ .___SBackText_17clj_gg_,.___STitle_17clj_gg_{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.___STitle_17clj_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);font-weight:var(--intergalactic-bold, 700);color:var(--intergalactic-text-primary, #191b23)}.___SHeader_17clj_gg_{padding-left:var(--intergalactic-spacing-6x, 24px);margin-bottom:var(--intergalactic-spacing-1x, 4px);padding-right:calc(var(--intergalactic-spacing-10x, 40px) + var(--intergalactic-spacing-4x, 16px));margin-top:var(--intergalactic-spacing-1x, 4px);min-height:calc(var(--intergalactic-spacing-10x, 40px) + var(--intergalactic-spacing-3x, 12px));box-shadow:inset 0-1px 0 var(--intergalactic-border-primary, #c4c7cf);box-sizing:border-box}.___SFooter_17clj_gg_{min-height:44px;box-shadow:inset 0 1px 0 var(--intergalactic-border-primary, #c4c7cf);box-sizing:border-box}.___SBody_17clj_gg_{height:100%;overflow:auto;padding-left:var(--intergalactic-spacing-6x, 24px);padding-bottom:var(--intergalactic-spacing-4x, 16px);padding-right:var(--intergalactic-spacing-6x, 24px);padding-top:var(--intergalactic-spacing-4x, 16px)}",
35
+ "17clj_gg_"
36
+ ), {
37
+ __SOverlay: "___SOverlay_17clj_gg_",
38
+ __SPanel: "___SPanel_17clj_gg_",
39
+ _placement_top: "_placement_top_17clj_gg_",
40
+ _placement_right: "_placement_right_17clj_gg_",
41
+ _placement_bottom: "_placement_bottom_17clj_gg_",
42
+ _placement_left: "_placement_left_17clj_gg_",
43
+ __STitle: "___STitle_17clj_gg_",
44
+ __SHeader: "___SHeader_17clj_gg_",
45
+ __SFooter: "___SFooter_17clj_gg_",
46
+ __SBody: "___SBody_17clj_gg_",
47
+ __SClose: "___SClose_17clj_gg_",
48
+ __SAddon: "___SAddon_17clj_gg_",
49
+ __SBack: "___SBack_17clj_gg_",
50
+ __SInner: "___SInner_17clj_gg_",
51
+ __SBackText: "___SBackText_17clj_gg_"
52
+ })
53
+ ), v = /* @__PURE__ */ function(a) {
54
+ O(e, a);
55
+ var o = T(e);
56
+ function e() {
57
+ var t;
58
+ w(this, e);
59
+ for (var r = arguments.length, n = new Array(r), i = 0; i < r; i++)
60
+ n[i] = arguments[i];
61
+ return t = o.call.apply(o, [this].concat(n)), d(f(t), "sidebarRef", /* @__PURE__ */ l.createRef()), d(f(t), "handleSidebarKeyDown", function(_) {
62
+ _.key === "Escape" && (_.stopPropagation(), S(f(t), "onClose", "onEscape", _));
63
+ }), d(f(t), "handleIconCloseClick", function(_) {
64
+ S(f(t), "onClose", "onCloseClick", _);
65
+ }), d(f(t), "handleOutsideClick", function(_) {
66
+ S(f(t), "onClose", "onOutsideClick", _);
67
+ }), t;
68
+ }
69
+ return B(e, [{
70
+ key: "isAdvanceMode",
71
+ value: function() {
72
+ return y(this.asProps.Children, [c.Overlay.displayName, c.Panel.displayName]);
73
+ }
74
+ }, {
75
+ key: "isUsedOverlay",
76
+ value: function() {
77
+ return !this.isAdvanceMode() || y(this.asProps.Children, [c.Overlay.displayName]);
78
+ }
79
+ }, {
80
+ key: "getOverlayProps",
81
+ value: function() {
82
+ var r = this.asProps, n = r.visible, i = r.duration, _ = r.animationsDisabled, g = r.disablePreventScroll;
83
+ return {
84
+ visible: n,
85
+ duration: i,
86
+ animationsDisabled: _,
87
+ disablePreventScroll: g
88
+ };
89
+ }
90
+ }, {
91
+ key: "getPanelProps",
92
+ value: function() {
93
+ var r = this.asProps, n = r.placement, i = r.visible, _ = r.closable, g = r.duration, h = r.animationsDisabled, x = r["aria-label"], b = r["aria-labelledby"];
94
+ return {
95
+ visible: i,
96
+ placement: n,
97
+ closable: _,
98
+ duration: g + g / 2,
99
+ disableEnforceFocus: !this.isUsedOverlay(),
100
+ onOutsideClick: this.handleOutsideClick,
101
+ onKeyDown: this.handleSidebarKeyDown,
102
+ animationsDisabled: h,
103
+ "aria-label": x,
104
+ "aria-labelledby": b
105
+ };
106
+ }
107
+ }, {
108
+ key: "getCloseProps",
109
+ value: function() {
110
+ return {
111
+ onClick: this.handleIconCloseClick,
112
+ getI18nText: this.asProps.getI18nText
113
+ };
114
+ }
115
+ }, {
116
+ key: "render",
117
+ value: function() {
118
+ var r = this.asProps, n = this.asProps, i = n.Children, _ = n.disablePortal, g = n.ignorePortalsStacking;
119
+ return /* @__PURE__ */ l.createElement(N, {
120
+ disablePortal: _,
121
+ ignorePortalsStacking: g
122
+ }, this.isAdvanceMode() ? /* @__PURE__ */ l.createElement(i, null) : /* @__PURE__ */ l.createElement(c.Overlay, null, /* @__PURE__ */ l.createElement(c.Panel, s({}, r))));
123
+ }
124
+ }]), e;
125
+ }(A);
126
+ d(v, "displayName", "SidePanel");
127
+ d(v, "style", ae);
128
+ d(v, "enhance", [V({
129
+ variable: "--intergalactic-duration-modal",
130
+ fallback: "200",
131
+ map: Number.parseInt,
132
+ prop: "duration"
133
+ }), W(X)]);
134
+ d(v, "defaultProps", {
135
+ placement: "right",
136
+ closable: !0,
137
+ disablePreventScroll: !1
138
+ });
139
+ function te(a) {
140
+ var o = arguments[0], e, t = R, r = l.useRef(null);
141
+ K(a.visible, a.disablePreventScroll), J(r, a.visible);
142
+ var n = Y("z-index-modal");
143
+ return e = p(a.styles), /* @__PURE__ */ l.createElement(t, e.cn("SOverlay", m({}, s({
144
+ ref: r,
145
+ zIndex: n
146
+ }, o))));
147
+ }
148
+ function j(a) {
149
+ var o = arguments[0], e, t = M, r = a.Children, n = a.styles, i = a.visible, _ = a.closable, g = a.placement, h = a.onOutsideClick, x = a.forcedAdvancedMode, b = x || y(r, [c.Header.displayName, c.Body.displayName, c.Footer.displayName]), u = l.useRef(null);
150
+ G(u, !0, "auto", !i, !0);
151
+ var E = !!(a["aria-label"] || a["aria-labelledby"]);
152
+ return Q.warn(!E, "'aria-label' or 'aria-labelledby' are required for SidePanel component", a["data-ui-name"] || j.displayName), e = p(n), /* @__PURE__ */ l.createElement(l.Fragment, null, i && /* @__PURE__ */ l.createElement(D, e.cn("OutsideClick", {
153
+ onOutsideClick: h,
154
+ excludeRefs: [u]
155
+ })), /* @__PURE__ */ l.createElement(t, e.cn("SPanel", m({}, s({
156
+ visible: i,
157
+ initialAnimation: !0,
158
+ slideOrigin: g,
159
+ ref: u,
160
+ role: "dialog",
161
+ "aria-modal": "true"
162
+ }, o))), /* @__PURE__ */ l.createElement(ee, e.cn("ZIndexStackingContextProvider", {
163
+ designToken: "z-index-modal"
164
+ }), /* @__PURE__ */ l.createElement(L, e.cn("PortalProvider", {
165
+ value: u
166
+ }), _ && /* @__PURE__ */ l.createElement(c.Close, null), b ? /* @__PURE__ */ l.createElement(r, e.cn("Children", {})) : /* @__PURE__ */ l.createElement(c.Body, null, /* @__PURE__ */ l.createElement(r, e.cn("Children", {})))))));
167
+ }
168
+ function re(a) {
169
+ var o = arguments[0], e, t = F;
170
+ return e = p(a.styles), /* @__PURE__ */ l.createElement(t, e.cn("SFooter", m({}, s({
171
+ tag: "footer"
172
+ }, o))));
173
+ }
174
+ function k(a) {
175
+ var o = arguments[0], e, t = a.styles, r = a.children, n = a.Children, i = a.getI18nText, _ = q;
176
+ return e = p(t), /* @__PURE__ */ l.createElement(_, e.cn("SClose", m({}, s({
177
+ "aria-label": i("close"),
178
+ use: "tertiary",
179
+ theme: "muted",
180
+ size: "l",
181
+ addonLeft: r ? void 0 : H
182
+ }, o))), r ? /* @__PURE__ */ l.createElement(n, e.cn("Children", {})) : void 0);
183
+ }
184
+ k.enhance = [$()];
185
+ function le(a) {
186
+ var o = arguments[0], e, t = U;
187
+ return e = p(a.styles), /* @__PURE__ */ l.createElement(t, e.cn("STitle", m({}, s({
188
+ tag: "h6"
189
+ }, o))));
190
+ }
191
+ function ie(a) {
192
+ var o = arguments[0], e, t = P, r = P.Text, n = a.Children, i = a.styles;
193
+ return e = p(i), /* @__PURE__ */ l.createElement(t, e.cn("SBack", m({}, s({
194
+ color: "text-hint",
195
+ size: 100,
196
+ addonLeft: Z
197
+ }, o))), /* @__PURE__ */ l.createElement(r, e.cn("SBackText", {}), /* @__PURE__ */ l.createElement(n, e.cn("Children", {}))));
198
+ }
199
+ function ne(a) {
200
+ var o = arguments[0], e, t = C;
201
+ return e = p(a.styles), /* @__PURE__ */ l.createElement(t, e.cn("SBody", m({}, s({}, o))));
202
+ }
203
+ function oe(a) {
204
+ var o = arguments[0], e, t = C, r = a.Children, n = a.styles, i = a.title;
205
+ return e = p(n), /* @__PURE__ */ l.createElement(t, e.cn("SHeader", m({}, s({
206
+ tag: "header"
207
+ }, o))), i && /* @__PURE__ */ l.createElement(c.Title, {
208
+ children: i
209
+ }), /* @__PURE__ */ l.createElement(r, e.cn("Children", {})));
210
+ }
211
+ var c = z(v, {
212
+ Overlay: te,
213
+ Panel: j,
214
+ Close: k,
215
+ Header: oe,
216
+ Footer: re,
217
+ Body: ne,
218
+ Back: ie,
219
+ Title: le
220
+ });
221
+ export {
222
+ c as default
223
+ };
@@ -0,0 +1,4 @@
1
+ import { default as o } from "./SidePanel.mjs";
2
+ export {
3
+ o as default
4
+ };
@@ -0,0 +1,33 @@
1
+ import r from "./de.json.mjs";
2
+ import o from "./en.json.mjs";
3
+ import m from "./es.json.mjs";
4
+ import t from "./fr.json.mjs";
5
+ import i from "./it.json.mjs";
6
+ import p from "./ja.json.mjs";
7
+ import f from "./ko.json.mjs";
8
+ import e from "./nl.json.mjs";
9
+ import s from "./pt.json.mjs";
10
+ import a from "./tr.json.mjs";
11
+ import l from "./vi.json.mjs";
12
+ import v from "./zh.json.mjs";
13
+ import d from "./pl.json.mjs";
14
+ import n from "./sv.json.mjs";
15
+ var B = {
16
+ de: r,
17
+ en: o,
18
+ es: m,
19
+ fr: t,
20
+ it: i,
21
+ ja: p,
22
+ ko: f,
23
+ nl: e,
24
+ pt: s,
25
+ tr: a,
26
+ vi: l,
27
+ zh: v,
28
+ pl: d,
29
+ sv: n
30
+ };
31
+ export {
32
+ B as localizedMessages
33
+ };
@@ -0,0 +1,7 @@
1
+ const e = "Schließen", c = {
2
+ close: e
3
+ };
4
+ export {
5
+ e as close,
6
+ c as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const e = "Close", o = {
2
+ close: e
3
+ };
4
+ export {
5
+ e as close,
6
+ o as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const e = "Cerrar", s = {
2
+ close: e
3
+ };
4
+ export {
5
+ e as close,
6
+ s as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const e = "Fermer", o = {
2
+ close: e
3
+ };
4
+ export {
5
+ e as close,
6
+ o as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const o = "Chiudi", s = {
2
+ close: o
3
+ };
4
+ export {
5
+ o as close,
6
+ s as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const o = "閉じる", s = {
2
+ close: o
3
+ };
4
+ export {
5
+ o as close,
6
+ s as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const o = "닫기", s = {
2
+ close: o
3
+ };
4
+ export {
5
+ o as close,
6
+ s as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const e = "Sluiten", l = {
2
+ close: e
3
+ };
4
+ export {
5
+ e as close,
6
+ l as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const o = "Zamknij", s = {
2
+ close: o
3
+ };
4
+ export {
5
+ o as close,
6
+ s as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const c = "Fechar", e = {
2
+ close: c
3
+ };
4
+ export {
5
+ c as close,
6
+ e as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const s = "Stäng", o = {
2
+ close: s
3
+ };
4
+ export {
5
+ s as close,
6
+ o as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const t = "Kapat", o = {
2
+ close: t
3
+ };
4
+ export {
5
+ t as close,
6
+ o as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const o = "Đóng", s = {
2
+ close: o
3
+ };
4
+ export {
5
+ o as close,
6
+ s as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const o = "关闭", s = {
2
+ close: o
3
+ };
4
+ export {
5
+ o as close,
6
+ s as default
7
+ };
package/package.json CHANGED
@@ -1,24 +1,30 @@
1
1
  {
2
2
  "name": "@semcore/side-panel",
3
3
  "description": "Semrush SidePanel Component",
4
- "version": "3.53.0-prerelease.1",
4
+ "version": "3.53.0-prerelease.12",
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.47.0-prerelease.1",
13
- "@semcore/animation": "2.41.0-prerelease.1",
14
- "@semcore/flex-box": "5.41.0-prerelease.1",
15
- "@semcore/portal": "3.41.0-prerelease.1",
16
- "@semcore/typography": "5.52.0-prerelease.1",
17
- "@semcore/outside-click": "3.39.0-prerelease.1",
18
- "@semcore/icon": "4.58.0-prerelease.1"
17
+ "@semcore/button": "5.42.0-prerelease.12",
18
+ "@semcore/utils": "4.48.0-prerelease.12",
19
+ "@semcore/animation": "2.41.0-prerelease.12",
20
+ "@semcore/flex-box": "5.41.0-prerelease.12",
21
+ "@semcore/portal": "3.41.0-prerelease.12",
22
+ "@semcore/typography": "5.52.0-prerelease.12",
23
+ "@semcore/outside-click": "3.39.0-prerelease.12",
24
+ "@semcore/icon": "4.61.0-prerelease.12"
19
25
  },
20
26
  "peerDependencies": {
21
- "@semcore/core": "^2.39.0-prerelease.1",
27
+ "@semcore/core": "^2.39.0-prerelease.12",
22
28
  "react": "16.8 - 18",
23
29
  "react-dom": "16.8 - 18"
24
30
  },
@@ -32,6 +38,6 @@
32
38
  "@semcore/testing-utils": "1.0.0"
33
39
  },
34
40
  "scripts": {
35
- "build": "pnpm semcore-builder --source=js"
41
+ "build": "pnpm semcore-builder --source=js && pnpm vite build"
36
42
  }
37
43
  }
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
+ );