@semcore/modal 4.54.0-prerelease.9 → 4.54.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/Modal.mjs +196 -0
- package/lib/esm/index.mjs +4 -0
- package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +33 -0
- package/lib/esm/translations/de.json.mjs +9 -0
- package/lib/esm/translations/en.json.mjs +9 -0
- package/lib/esm/translations/es.json.mjs +9 -0
- package/lib/esm/translations/fr.json.mjs +9 -0
- package/lib/esm/translations/it.json.mjs +9 -0
- package/lib/esm/translations/ja.json.mjs +9 -0
- package/lib/esm/translations/ko.json.mjs +9 -0
- package/lib/esm/translations/nl.json.mjs +9 -0
- package/lib/esm/translations/pl.json.mjs +9 -0
- package/lib/esm/translations/pt.json.mjs +9 -0
- package/lib/esm/translations/sv.json.mjs +9 -0
- package/lib/esm/translations/tr.json.mjs +9 -0
- package/lib/esm/translations/vi.json.mjs +9 -0
- package/lib/esm/translations/zh.json.mjs +9 -0
- package/package.json +16 -10
- package/vite.config.ts +17 -0
- package/lib/cjs/modal.vo-test.js +0 -102
- package/lib/cjs/modal.vo-test.js.map +0 -1
- package/lib/es6/modal.vo-test.js +0 -99
- package/lib/es6/modal.vo-test.js.map +0 -1
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.54.0] - 2025-
|
|
5
|
+
## [4.54.0] - 2025-03-14
|
|
6
6
|
|
|
7
|
-
###
|
|
7
|
+
### Added
|
|
8
8
|
|
|
9
|
-
-
|
|
9
|
+
- Build for ESM.
|
|
10
10
|
|
|
11
11
|
## [4.53.1] - 2025-02-05
|
|
12
12
|
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import f from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import S from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import P from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
+
import g from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
5
|
+
import w 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 E } from "@semcore/utils/lib/core/index";
|
|
9
|
+
import O, { assignProps as u, Component as I, sstyled as p } from "@semcore/core";
|
|
10
|
+
import l from "react";
|
|
11
|
+
import { Slide as W, FadeInOut as z } from "@semcore/animation";
|
|
12
|
+
import M, { PortalProvider as D } from "@semcore/portal";
|
|
13
|
+
import C from "@semcore/button";
|
|
14
|
+
import R from "@semcore/outside-click";
|
|
15
|
+
import A from "@semcore/icon/Close/l";
|
|
16
|
+
import k from "@semcore/utils/lib/fire";
|
|
17
|
+
import $ from "@semcore/utils/lib/use/usePreventScroll";
|
|
18
|
+
import { isAdvanceMode as H } from "@semcore/utils/lib/findComponent";
|
|
19
|
+
import N from "@semcore/utils/lib/enhances/keyboardFocusEnhance";
|
|
20
|
+
import { localizedMessages as x } from "./translations/__intergalactic-dynamic-locales.mjs";
|
|
21
|
+
import F from "@semcore/utils/lib/enhances/i18nEnhance";
|
|
22
|
+
import { Text as K } from "@semcore/typography";
|
|
23
|
+
import Z from "@semcore/utils/lib/uniqueID";
|
|
24
|
+
import { cssVariableEnhance as j } from "@semcore/utils/lib/useCssVariable";
|
|
25
|
+
import { useFocusLock as q } from "@semcore/utils/lib/use/useFocusLock";
|
|
26
|
+
import { useContextTheme as B } from "@semcore/utils/lib/ThemeProvider";
|
|
27
|
+
import { useColorResolver as L } from "@semcore/utils/lib/use/useColorResolver";
|
|
28
|
+
import { ZIndexStackingContextProvider as V, useZIndexStacking as G } from "@semcore/utils/lib/zIndexStacking";
|
|
29
|
+
var J = (
|
|
30
|
+
/*__reshadow_css_start__*/
|
|
31
|
+
(E.insert(
|
|
32
|
+
/*__inner_css_start__*/
|
|
33
|
+
".___SWindow_1k93m_gg_{position:relative;border-radius:var(--intergalactic-modal-rounded, 12px);background:var(--intergalactic-bg-primary-neutral, #ffffff);box-sizing:border-box;margin:auto;padding:var(--intergalactic-spacing-10x, 40px);box-shadow:var(--intergalactic-box-shadow-modal, 0px 3px 8px 0px rgba(25, 27, 35, 0.2));color:var(--intergalactic-text-primary, #191b23)}.___SWindow_1k93m_gg_:focus{outline:0}.___SWindow_1k93m_gg_ .___STitle_1k93m_gg_{color:var(--intergalactic-text-primary, #191b23);font-size:var(--intergalactic-fs-500, 24px);line-height:var(--intergalactic-lh-500, 117%);font-weight:var(--intergalactic-semi-bold, 600);margin-bottom:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-4x, 16px)}.___SWindow_1k93m_gg_ .___STitle_1k93m_gg_.__color_1k93m_gg_{color:var(--color_1k93m)}.___SWindow_1k93m_gg_ .___SClose_1k93m_gg_{display:inline-flex;position:absolute;right:var(--intergalactic-spacing-2x, 8px);top:var(--intergalactic-spacing-2x, 8px)}.___SWindow_1k93m_gg_ .___SClose_1k93m_gg_.__ghost_1k93m_gg_{right:0;top:0}.___SWindow_1k93m_gg_.__ghost_1k93m_gg_{background:0 0;padding:0;box-shadow:none}.___SOverlay_1k93m_gg_{position:fixed;top:0;bottom:0;left:0;right:0;margin:0;display:flex;justify-content:center;align-items:center;padding:var(--intergalactic-spacing-10x, 40px);background:var(--intergalactic-overlay-primary, rgba(25, 27, 35, 0.7));overflow:auto;-webkit-overflow-scrolling:touch}.___SOverlay_1k93m_gg_ .___SOverlay_1k93m_gg_{background:var(--intergalactic-overlay-secondary, rgba(25, 27, 35, 0.4))}@media (max-width:767px){.___SWindow_1k93m_gg_{min-width:60%}.___SOverlay_1k93m_gg_{padding:var(--intergalactic-spacing-3x, 12px)}}",
|
|
34
|
+
"1k93m_gg_"
|
|
35
|
+
), {
|
|
36
|
+
__SWindow: "___SWindow_1k93m_gg_",
|
|
37
|
+
_ghost: "__ghost_1k93m_gg_",
|
|
38
|
+
__SOverlay: "___SOverlay_1k93m_gg_",
|
|
39
|
+
__STitle: "___STitle_1k93m_gg_",
|
|
40
|
+
_color: "__color_1k93m_gg_",
|
|
41
|
+
"--color": "--color_1k93m",
|
|
42
|
+
__SClose: "___SClose_1k93m_gg_"
|
|
43
|
+
})
|
|
44
|
+
), v = /* @__PURE__ */ function(i) {
|
|
45
|
+
w(r, i);
|
|
46
|
+
var c = T(r);
|
|
47
|
+
function r() {
|
|
48
|
+
var n;
|
|
49
|
+
S(this, r);
|
|
50
|
+
for (var e = arguments.length, a = new Array(e), t = 0; t < e; t++)
|
|
51
|
+
a[t] = arguments[t];
|
|
52
|
+
return n = c.call.apply(c, [this].concat(a)), d(g(n), "state", {
|
|
53
|
+
hasTitle: !1
|
|
54
|
+
}), d(g(n), "handleKeyDown", function(o) {
|
|
55
|
+
o.key === "Escape" && (o.stopPropagation(), k(g(n), "onClose", "onEscape", o));
|
|
56
|
+
}), d(g(n), "handleIconCloseClick", function(o) {
|
|
57
|
+
k(g(n), "onClose", "onCloseClick", o);
|
|
58
|
+
}), d(g(n), "handleOutsideClick", function(o) {
|
|
59
|
+
k(g(n), "onClose", "onOutsideClick", o);
|
|
60
|
+
}), n;
|
|
61
|
+
}
|
|
62
|
+
return P(r, [{
|
|
63
|
+
key: "getOverlayProps",
|
|
64
|
+
value: function() {
|
|
65
|
+
var e = this.asProps, a = e.duration, t = e.visible, o = e.animationsDisabled, s = e.disablePreventScroll;
|
|
66
|
+
return {
|
|
67
|
+
duration: a,
|
|
68
|
+
visible: t,
|
|
69
|
+
onOutsideClick: this.handleOutsideClick,
|
|
70
|
+
animationsDisabled: o,
|
|
71
|
+
disablePreventScroll: s
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}, {
|
|
75
|
+
key: "getWindowProps",
|
|
76
|
+
value: function() {
|
|
77
|
+
var e = this.asProps, a = e.visible, t = e.closable, o = e.getI18nText, s = e.uid, _ = e.duration, h = e.animationsDisabled, b = this.state.hasTitle;
|
|
78
|
+
return {
|
|
79
|
+
visible: a,
|
|
80
|
+
closable: t,
|
|
81
|
+
onKeyDown: this.handleKeyDown,
|
|
82
|
+
"aria-label": b ? void 0 : o("title"),
|
|
83
|
+
"aria-labelledby": b ? "igc-".concat(s, "-title") : void 0,
|
|
84
|
+
duration: _,
|
|
85
|
+
animationsDisabled: h
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}, {
|
|
89
|
+
key: "getCloseProps",
|
|
90
|
+
value: function() {
|
|
91
|
+
var e = this.asProps, a = e.getI18nText, t = e.ghost;
|
|
92
|
+
return {
|
|
93
|
+
onClick: this.handleIconCloseClick,
|
|
94
|
+
getI18nText: a,
|
|
95
|
+
ghost: t
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}, {
|
|
99
|
+
key: "getTitleProps",
|
|
100
|
+
value: function() {
|
|
101
|
+
var e = this, a = this.asProps.uid, t = function() {
|
|
102
|
+
return e.setState({
|
|
103
|
+
hasTitle: !0
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
return {
|
|
107
|
+
id: "igc-".concat(a, "-title"),
|
|
108
|
+
setHasTitle: t
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
}, {
|
|
112
|
+
key: "render",
|
|
113
|
+
value: function() {
|
|
114
|
+
var e = this.asProps, a = this.asProps, t = a.Children, o = a.disablePortal, s = a.forcedAdvancedMode, _ = a.ignorePortalsStacking, h = s || H(t, [m.Overlay.displayName, m.Window.displayName]);
|
|
115
|
+
return /* @__PURE__ */ l.createElement(M, {
|
|
116
|
+
disablePortal: o,
|
|
117
|
+
ignorePortalsStacking: _
|
|
118
|
+
}, h ? /* @__PURE__ */ l.createElement(t, null) : /* @__PURE__ */ l.createElement(m.Overlay, null, /* @__PURE__ */ l.createElement(m.Window, u({}, e))));
|
|
119
|
+
}
|
|
120
|
+
}]), r;
|
|
121
|
+
}(I);
|
|
122
|
+
d(v, "displayName", "Modal");
|
|
123
|
+
d(v, "style", J);
|
|
124
|
+
d(v, "enhance", [F(x), Z(), j({
|
|
125
|
+
variable: "--intergalactic-duration-modal",
|
|
126
|
+
fallback: "200",
|
|
127
|
+
map: Number.parseInt,
|
|
128
|
+
prop: "duration"
|
|
129
|
+
})]);
|
|
130
|
+
d(v, "defaultProps", {
|
|
131
|
+
closable: !0,
|
|
132
|
+
i18n: x,
|
|
133
|
+
locale: "en",
|
|
134
|
+
disablePreventScroll: !1
|
|
135
|
+
});
|
|
136
|
+
function Q(i) {
|
|
137
|
+
var c = arguments[0], r, n = W, e = i.Children, a = i.styles, t = i.visible, o = i.closable, s = i.duration, _ = l.useRef(null);
|
|
138
|
+
return q(_, !0, "auto", !t, !0), r = p(a), /* @__PURE__ */ l.createElement(n, r.cn("SWindow", f({}, u({
|
|
139
|
+
initialAnimation: !0,
|
|
140
|
+
slideOrigin: "top",
|
|
141
|
+
visible: t,
|
|
142
|
+
role: "dialog",
|
|
143
|
+
"aria-modal": !0,
|
|
144
|
+
duration: s,
|
|
145
|
+
ref: _
|
|
146
|
+
}, c))), /* @__PURE__ */ l.createElement(V, r.cn("ZIndexStackingContextProvider", {
|
|
147
|
+
designToken: "z-index-modal"
|
|
148
|
+
}), /* @__PURE__ */ l.createElement(D, r.cn("PortalProvider", {
|
|
149
|
+
value: _
|
|
150
|
+
}), o && /* @__PURE__ */ l.createElement(m.Close, null), /* @__PURE__ */ l.createElement(e, r.cn("Children", {})))));
|
|
151
|
+
}
|
|
152
|
+
function U(i) {
|
|
153
|
+
var c = arguments[0], r, n = z, e = i.Children, a = i.styles, t = i.onOutsideClick, o = i.visible, s = l.useRef(null);
|
|
154
|
+
$(o, i.disablePreventScroll), B(s, o);
|
|
155
|
+
var _ = G("z-index-modal");
|
|
156
|
+
return r = p(a), /* @__PURE__ */ l.createElement(n, r.cn("SOverlay", f({}, u({
|
|
157
|
+
ref: s,
|
|
158
|
+
zIndex: _
|
|
159
|
+
}, c))), /* @__PURE__ */ l.createElement(R, r.cn("OutsideClick", {
|
|
160
|
+
root: s,
|
|
161
|
+
onOutsideClick: t
|
|
162
|
+
}), /* @__PURE__ */ l.createElement(e, r.cn("Children", {}))));
|
|
163
|
+
}
|
|
164
|
+
function y(i) {
|
|
165
|
+
var c = arguments[0], r, n = C, e = i.Children, a = i.children, t = i.getI18nText, o = i.ghost;
|
|
166
|
+
return r = p(i.styles), /* @__PURE__ */ l.createElement(n, r.cn("SClose", f({}, u({
|
|
167
|
+
use: "tertiary",
|
|
168
|
+
size: "l",
|
|
169
|
+
theme: o ? "invert" : "muted",
|
|
170
|
+
"aria-label": t("close")
|
|
171
|
+
}, c))), a ? /* @__PURE__ */ l.createElement(e, r.cn("Children", {})) : /* @__PURE__ */ l.createElement(C.Addon, {
|
|
172
|
+
ml: "7px",
|
|
173
|
+
mr: "7px"
|
|
174
|
+
}, /* @__PURE__ */ l.createElement(A, r.cn("CloseIcon", {
|
|
175
|
+
title: t("close")
|
|
176
|
+
}))));
|
|
177
|
+
}
|
|
178
|
+
y.enhance = [N()];
|
|
179
|
+
function X(i) {
|
|
180
|
+
var c = arguments[0], r, n = i.setHasTitle, e = i.styles, a = i.color, t = K, o = L();
|
|
181
|
+
return l.useEffect(function() {
|
|
182
|
+
return n();
|
|
183
|
+
}), r = p(e), /* @__PURE__ */ l.createElement(t, r.cn("STitle", f({}, u({
|
|
184
|
+
tag: "h2",
|
|
185
|
+
"use:color": o(a)
|
|
186
|
+
}, c))));
|
|
187
|
+
}
|
|
188
|
+
var m = O(v, {
|
|
189
|
+
Window: Q,
|
|
190
|
+
Overlay: U,
|
|
191
|
+
Close: y,
|
|
192
|
+
Title: X
|
|
193
|
+
});
|
|
194
|
+
export {
|
|
195
|
+
m as default
|
|
196
|
+
};
|
|
@@ -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
|
+
};
|
package/package.json
CHANGED
|
@@ -1,24 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/modal",
|
|
3
3
|
"description": "Semrush Modal Component",
|
|
4
|
-
"version": "4.54.0
|
|
4
|
+
"version": "4.54.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/
|
|
13
|
-
"@semcore/
|
|
14
|
-
"@semcore/
|
|
15
|
-
"@semcore/
|
|
16
|
-
"@semcore/
|
|
17
|
-
"@semcore/
|
|
18
|
-
"@semcore/
|
|
17
|
+
"@semcore/button": "5.42.0",
|
|
18
|
+
"@semcore/animation": "2.41.0",
|
|
19
|
+
"@semcore/flex-box": "5.41.0",
|
|
20
|
+
"@semcore/icon": "4.60.0",
|
|
21
|
+
"@semcore/outside-click": "3.39.0",
|
|
22
|
+
"@semcore/portal": "3.41.0",
|
|
23
|
+
"@semcore/typography": "5.52.0",
|
|
24
|
+
"@semcore/utils": "4.48.0"
|
|
19
25
|
},
|
|
20
26
|
"peerDependencies": {
|
|
21
|
-
"@semcore/core": "^2.
|
|
27
|
+
"@semcore/core": "^2.17.5",
|
|
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
|
+
);
|
package/lib/cjs/modal.vo-test.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
5
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
-
var _playwright = require("@semcore/testing-utils/playwright");
|
|
7
|
-
var _e2eStand = require("@semcore/testing-utils/e2e-stand");
|
|
8
|
-
var _promises = require("fs/promises");
|
|
9
|
-
var _voReporter = require("@semcore/testing-utils/vo-reporter");
|
|
10
|
-
(0, _playwright.voiceOverTest)('Users can interact with Modal via VoiceOver', /*#__PURE__*/function () {
|
|
11
|
-
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee(_ref) {
|
|
12
|
-
var page, pureVoiceOver, standPath, reportPath, htmlContent, _yield$makeVoiceOverR, voiceOver, getReport, report;
|
|
13
|
-
return (0, _regeneratorRuntime2["default"])().wrap(function _callee$(_context) {
|
|
14
|
-
while (1) switch (_context.prev = _context.next) {
|
|
15
|
-
case 0:
|
|
16
|
-
page = _ref.page, pureVoiceOver = _ref.voiceOver;
|
|
17
|
-
standPath = 'website/docs/components/modal/examples/basic_modal_window_usage.tsx';
|
|
18
|
-
reportPath = 'website/docs/components/modal/modal-a11y-report.md';
|
|
19
|
-
_context.next = 5;
|
|
20
|
-
return (0, _e2eStand.e2eStandToHtml)(standPath, 'en');
|
|
21
|
-
case 5:
|
|
22
|
-
htmlContent = _context.sent;
|
|
23
|
-
_context.next = 8;
|
|
24
|
-
return page.setContent(htmlContent);
|
|
25
|
-
case 8:
|
|
26
|
-
_context.next = 10;
|
|
27
|
-
return (0, _voReporter.makeVoiceOverReporter)(pureVoiceOver);
|
|
28
|
-
case 10:
|
|
29
|
-
_yield$makeVoiceOverR = _context.sent;
|
|
30
|
-
voiceOver = _yield$makeVoiceOverR.voiceOver;
|
|
31
|
-
getReport = _yield$makeVoiceOverR.getReport;
|
|
32
|
-
_context.next = 15;
|
|
33
|
-
return voiceOver.interact();
|
|
34
|
-
case 15:
|
|
35
|
-
_context.t0 = _playwright.expect;
|
|
36
|
-
_context.next = 18;
|
|
37
|
-
return voiceOver.itemText();
|
|
38
|
-
case 18:
|
|
39
|
-
_context.t1 = _context.sent;
|
|
40
|
-
(0, _context.t0)(_context.t1).toBe('Open modal button');
|
|
41
|
-
_context.next = 22;
|
|
42
|
-
return voiceOver.act();
|
|
43
|
-
case 22:
|
|
44
|
-
_context.t2 = _playwright.expect;
|
|
45
|
-
_context.next = 25;
|
|
46
|
-
return voiceOver.lastSpokenPhrase();
|
|
47
|
-
case 25:
|
|
48
|
-
_context.t3 = _context.sent;
|
|
49
|
-
(0, _context.t2)(_context.t3).toContain('Do you want to save your changes? web dialog with 5 items Close button');
|
|
50
|
-
_context.next = 29;
|
|
51
|
-
return voiceOver.next();
|
|
52
|
-
case 29:
|
|
53
|
-
_context.t4 = _playwright.expect;
|
|
54
|
-
_context.next = 32;
|
|
55
|
-
return voiceOver.itemText();
|
|
56
|
-
case 32:
|
|
57
|
-
_context.t5 = _context.sent;
|
|
58
|
-
(0, _context.t4)(_context.t5).toBe('Do you want to save your changes? heading level 2');
|
|
59
|
-
_context.next = 36;
|
|
60
|
-
return voiceOver.next();
|
|
61
|
-
case 36:
|
|
62
|
-
_context.next = 38;
|
|
63
|
-
return voiceOver.next();
|
|
64
|
-
case 38:
|
|
65
|
-
_context.t6 = _playwright.expect;
|
|
66
|
-
_context.next = 41;
|
|
67
|
-
return voiceOver.itemText();
|
|
68
|
-
case 41:
|
|
69
|
-
_context.t7 = _context.sent;
|
|
70
|
-
(0, _context.t6)(_context.t7).toBe('Save changes button');
|
|
71
|
-
_context.next = 45;
|
|
72
|
-
return voiceOver.act();
|
|
73
|
-
case 45:
|
|
74
|
-
_context.t8 = _playwright.expect;
|
|
75
|
-
_context.next = 48;
|
|
76
|
-
return voiceOver.itemText();
|
|
77
|
-
case 48:
|
|
78
|
-
_context.t9 = _context.sent;
|
|
79
|
-
(0, _context.t8)(_context.t9).toBe('Open modal button');
|
|
80
|
-
_context.next = 52;
|
|
81
|
-
return (0, _voReporter.getReportHeader)();
|
|
82
|
-
case 52:
|
|
83
|
-
_context.t10 = _context.sent;
|
|
84
|
-
_context.t11 = _context.t10 + '\n\n';
|
|
85
|
-
_context.next = 56;
|
|
86
|
-
return getReport(standPath);
|
|
87
|
-
case 56:
|
|
88
|
-
_context.t12 = _context.sent;
|
|
89
|
-
report = _context.t11 + _context.t12;
|
|
90
|
-
_context.next = 60;
|
|
91
|
-
return (0, _promises.writeFile)(reportPath, report);
|
|
92
|
-
case 60:
|
|
93
|
-
case "end":
|
|
94
|
-
return _context.stop();
|
|
95
|
-
}
|
|
96
|
-
}, _callee);
|
|
97
|
-
}));
|
|
98
|
-
return function (_x) {
|
|
99
|
-
return _ref2.apply(this, arguments);
|
|
100
|
-
};
|
|
101
|
-
}());
|
|
102
|
-
//# sourceMappingURL=modal.vo-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modal.vo-test.js","names":["_playwright","require","_e2eStand","_promises","_voReporter","test","_ref2","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","_ref","page","pureVoiceOver","standPath","reportPath","htmlContent","_yield$makeVoiceOverR","voiceOver","getReport","report","wrap","_callee$","_context","prev","next","e2eStandToHtml","sent","setContent","makeVoiceOverReporter","interact","t0","expect","itemText","t1","toBe","act","t2","lastSpokenPhrase","t3","toContain","t4","t5","t6","t7","t8","t9","getReportHeader","t10","t11","t12","writeFile","stop","_x","apply","arguments"],"sources":["../../src/modal.vo-test.ts"],"sourcesContent":["import { expect, voiceOverTest as test } from '@semcore/testing-utils/playwright';\n\nimport { e2eStandToHtml } from '@semcore/testing-utils/e2e-stand';\nimport { writeFile } from 'fs/promises';\nimport { getReportHeader, makeVoiceOverReporter } from '@semcore/testing-utils/vo-reporter';\n\ntest('Users can interact with Modal via VoiceOver', async ({ page, voiceOver: pureVoiceOver }) => {\n const standPath = 'website/docs/components/modal/examples/basic_modal_window_usage.tsx';\n const reportPath = 'website/docs/components/modal/modal-a11y-report.md';\n const htmlContent = await e2eStandToHtml(standPath, 'en');\n\n await page.setContent(htmlContent);\n const { voiceOver, getReport } = await makeVoiceOverReporter(pureVoiceOver);\n await voiceOver.interact();\n\n expect(await voiceOver.itemText()).toBe('Open modal button');\n await voiceOver.act();\n expect(await voiceOver.lastSpokenPhrase()).toContain(\n 'Do you want to save your changes? web dialog with 5 items Close button',\n );\n await voiceOver.next();\n expect(await voiceOver.itemText()).toBe('Do you want to save your changes? heading level 2');\n await voiceOver.next();\n await voiceOver.next();\n expect(await voiceOver.itemText()).toBe('Save changes button');\n await voiceOver.act();\n expect(await voiceOver.itemText()).toBe('Open modal button');\n\n const report = (await getReportHeader()) + '\\n\\n' + (await getReport(standPath));\n\n await writeFile(reportPath, report);\n});\n"],"mappings":"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"}
|
package/lib/es6/modal.vo-test.js
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import _regeneratorRuntime from "@babel/runtime/helpers/regeneratorRuntime";
|
|
2
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
-
import { expect, voiceOverTest as test } from '@semcore/testing-utils/playwright';
|
|
4
|
-
import { e2eStandToHtml } from '@semcore/testing-utils/e2e-stand';
|
|
5
|
-
import { writeFile } from 'fs/promises';
|
|
6
|
-
import { getReportHeader, makeVoiceOverReporter } from '@semcore/testing-utils/vo-reporter';
|
|
7
|
-
test('Users can interact with Modal via VoiceOver', /*#__PURE__*/function () {
|
|
8
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
|
|
9
|
-
var page, pureVoiceOver, standPath, reportPath, htmlContent, _yield$makeVoiceOverR, voiceOver, getReport, report;
|
|
10
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
11
|
-
while (1) switch (_context.prev = _context.next) {
|
|
12
|
-
case 0:
|
|
13
|
-
page = _ref.page, pureVoiceOver = _ref.voiceOver;
|
|
14
|
-
standPath = 'website/docs/components/modal/examples/basic_modal_window_usage.tsx';
|
|
15
|
-
reportPath = 'website/docs/components/modal/modal-a11y-report.md';
|
|
16
|
-
_context.next = 5;
|
|
17
|
-
return e2eStandToHtml(standPath, 'en');
|
|
18
|
-
case 5:
|
|
19
|
-
htmlContent = _context.sent;
|
|
20
|
-
_context.next = 8;
|
|
21
|
-
return page.setContent(htmlContent);
|
|
22
|
-
case 8:
|
|
23
|
-
_context.next = 10;
|
|
24
|
-
return makeVoiceOverReporter(pureVoiceOver);
|
|
25
|
-
case 10:
|
|
26
|
-
_yield$makeVoiceOverR = _context.sent;
|
|
27
|
-
voiceOver = _yield$makeVoiceOverR.voiceOver;
|
|
28
|
-
getReport = _yield$makeVoiceOverR.getReport;
|
|
29
|
-
_context.next = 15;
|
|
30
|
-
return voiceOver.interact();
|
|
31
|
-
case 15:
|
|
32
|
-
_context.t0 = expect;
|
|
33
|
-
_context.next = 18;
|
|
34
|
-
return voiceOver.itemText();
|
|
35
|
-
case 18:
|
|
36
|
-
_context.t1 = _context.sent;
|
|
37
|
-
(0, _context.t0)(_context.t1).toBe('Open modal button');
|
|
38
|
-
_context.next = 22;
|
|
39
|
-
return voiceOver.act();
|
|
40
|
-
case 22:
|
|
41
|
-
_context.t2 = expect;
|
|
42
|
-
_context.next = 25;
|
|
43
|
-
return voiceOver.lastSpokenPhrase();
|
|
44
|
-
case 25:
|
|
45
|
-
_context.t3 = _context.sent;
|
|
46
|
-
(0, _context.t2)(_context.t3).toContain('Do you want to save your changes? web dialog with 5 items Close button');
|
|
47
|
-
_context.next = 29;
|
|
48
|
-
return voiceOver.next();
|
|
49
|
-
case 29:
|
|
50
|
-
_context.t4 = expect;
|
|
51
|
-
_context.next = 32;
|
|
52
|
-
return voiceOver.itemText();
|
|
53
|
-
case 32:
|
|
54
|
-
_context.t5 = _context.sent;
|
|
55
|
-
(0, _context.t4)(_context.t5).toBe('Do you want to save your changes? heading level 2');
|
|
56
|
-
_context.next = 36;
|
|
57
|
-
return voiceOver.next();
|
|
58
|
-
case 36:
|
|
59
|
-
_context.next = 38;
|
|
60
|
-
return voiceOver.next();
|
|
61
|
-
case 38:
|
|
62
|
-
_context.t6 = expect;
|
|
63
|
-
_context.next = 41;
|
|
64
|
-
return voiceOver.itemText();
|
|
65
|
-
case 41:
|
|
66
|
-
_context.t7 = _context.sent;
|
|
67
|
-
(0, _context.t6)(_context.t7).toBe('Save changes button');
|
|
68
|
-
_context.next = 45;
|
|
69
|
-
return voiceOver.act();
|
|
70
|
-
case 45:
|
|
71
|
-
_context.t8 = expect;
|
|
72
|
-
_context.next = 48;
|
|
73
|
-
return voiceOver.itemText();
|
|
74
|
-
case 48:
|
|
75
|
-
_context.t9 = _context.sent;
|
|
76
|
-
(0, _context.t8)(_context.t9).toBe('Open modal button');
|
|
77
|
-
_context.next = 52;
|
|
78
|
-
return getReportHeader();
|
|
79
|
-
case 52:
|
|
80
|
-
_context.t10 = _context.sent;
|
|
81
|
-
_context.t11 = _context.t10 + '\n\n';
|
|
82
|
-
_context.next = 56;
|
|
83
|
-
return getReport(standPath);
|
|
84
|
-
case 56:
|
|
85
|
-
_context.t12 = _context.sent;
|
|
86
|
-
report = _context.t11 + _context.t12;
|
|
87
|
-
_context.next = 60;
|
|
88
|
-
return writeFile(reportPath, report);
|
|
89
|
-
case 60:
|
|
90
|
-
case "end":
|
|
91
|
-
return _context.stop();
|
|
92
|
-
}
|
|
93
|
-
}, _callee);
|
|
94
|
-
}));
|
|
95
|
-
return function (_x) {
|
|
96
|
-
return _ref2.apply(this, arguments);
|
|
97
|
-
};
|
|
98
|
-
}());
|
|
99
|
-
//# sourceMappingURL=modal.vo-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modal.vo-test.js","names":["expect","voiceOverTest","test","e2eStandToHtml","writeFile","getReportHeader","makeVoiceOverReporter","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref","page","pureVoiceOver","standPath","reportPath","htmlContent","_yield$makeVoiceOverR","voiceOver","getReport","report","wrap","_callee$","_context","prev","next","sent","setContent","interact","t0","itemText","t1","toBe","act","t2","lastSpokenPhrase","t3","toContain","t4","t5","t6","t7","t8","t9","t10","t11","t12","stop","_x","apply","arguments"],"sources":["../../src/modal.vo-test.ts"],"sourcesContent":["import { expect, voiceOverTest as test } from '@semcore/testing-utils/playwright';\n\nimport { e2eStandToHtml } from '@semcore/testing-utils/e2e-stand';\nimport { writeFile } from 'fs/promises';\nimport { getReportHeader, makeVoiceOverReporter } from '@semcore/testing-utils/vo-reporter';\n\ntest('Users can interact with Modal via VoiceOver', async ({ page, voiceOver: pureVoiceOver }) => {\n const standPath = 'website/docs/components/modal/examples/basic_modal_window_usage.tsx';\n const reportPath = 'website/docs/components/modal/modal-a11y-report.md';\n const htmlContent = await e2eStandToHtml(standPath, 'en');\n\n await page.setContent(htmlContent);\n const { voiceOver, getReport } = await makeVoiceOverReporter(pureVoiceOver);\n await voiceOver.interact();\n\n expect(await voiceOver.itemText()).toBe('Open modal button');\n await voiceOver.act();\n expect(await voiceOver.lastSpokenPhrase()).toContain(\n 'Do you want to save your changes? web dialog with 5 items Close button',\n );\n await voiceOver.next();\n expect(await voiceOver.itemText()).toBe('Do you want to save your changes? heading level 2');\n await voiceOver.next();\n await voiceOver.next();\n expect(await voiceOver.itemText()).toBe('Save changes button');\n await voiceOver.act();\n expect(await voiceOver.itemText()).toBe('Open modal button');\n\n const report = (await getReportHeader()) + '\\n\\n' + (await getReport(standPath));\n\n await writeFile(reportPath, report);\n});\n"],"mappings":"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"}
|