@semcore/modal 3.5.16 → 3.5.17
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 +2 -2
- package/lib/cjs/Modal.js +31 -88
- package/lib/cjs/Modal.js.map +1 -1
- package/lib/cjs/index.js +0 -2
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/modal.vo-test.js +81 -111
- package/lib/cjs/modal.vo-test.js.map +1 -1
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js +0 -13
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/Modal.js +31 -70
- package/lib/es6/Modal.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/modal.vo-test.js +81 -102
- package/lib/es6/modal.vo-test.js.map +1 -1
- package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/package.json +1 -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
|
-
## [3.5.
|
|
5
|
+
## [3.5.17] - 2023-04-03
|
|
6
6
|
|
|
7
7
|
### Changed
|
|
8
8
|
|
|
9
|
-
- Version patch update due to children dependencies update (`@semcore/animation` [1.
|
|
9
|
+
- Version patch update due to children dependencies update (`@semcore/animation` [1.10.0 ~> 1.10.1]).
|
|
10
10
|
|
|
11
11
|
## [3.5.14] - 2023-03-24
|
|
12
12
|
|
package/lib/cjs/Modal.js
CHANGED
|
@@ -1,95 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
|
-
|
|
14
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
12
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
-
|
|
20
13
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
-
|
|
22
14
|
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
23
|
-
|
|
24
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
16
|
var _core = _interopRequireWildcard(require("@semcore/core"));
|
|
27
|
-
|
|
28
17
|
var _react = _interopRequireWildcard(require("react"));
|
|
29
|
-
|
|
30
18
|
var _animation = require("@semcore/animation");
|
|
31
|
-
|
|
32
19
|
var _portal = _interopRequireWildcard(require("@semcore/portal"));
|
|
33
|
-
|
|
34
20
|
var _flexBox = require("@semcore/flex-box");
|
|
35
|
-
|
|
36
21
|
var _outsideClick = _interopRequireDefault(require("@semcore/outside-click"));
|
|
37
|
-
|
|
38
22
|
var _l = _interopRequireDefault(require("@semcore/icon/Close/l"));
|
|
39
|
-
|
|
40
23
|
var _fire = _interopRequireDefault(require("@semcore/utils/lib/fire"));
|
|
41
|
-
|
|
42
24
|
var _usePreventScroll = _interopRequireDefault(require("@semcore/utils/lib/use/usePreventScroll"));
|
|
43
|
-
|
|
44
25
|
var _findComponent = require("@semcore/utils/lib/findComponent");
|
|
45
|
-
|
|
46
26
|
var _keyboardFocusEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/keyboardFocusEnhance"));
|
|
47
|
-
|
|
48
27
|
var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
|
|
49
|
-
|
|
50
28
|
var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
|
|
51
|
-
|
|
52
29
|
var _typography = require("@semcore/typography");
|
|
53
|
-
|
|
54
30
|
var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
|
|
55
|
-
|
|
56
31
|
var _useCssVariable = require("@semcore/utils/lib/useCssVariable");
|
|
57
|
-
|
|
58
32
|
var _useFocusLock = require("@semcore/utils/lib/use/useFocusLock");
|
|
59
|
-
|
|
60
33
|
var _ThemeProvider = require("@semcore/utils/lib/ThemeProvider");
|
|
61
|
-
|
|
62
34
|
/*__reshadow-styles__:"./style/modal.shadow.css"*/
|
|
63
|
-
var style = (
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
"
|
|
68
|
-
|
|
69
|
-
, "depf8_gg_")
|
|
70
|
-
/*__reshadow_css_end__*/
|
|
71
|
-
, {
|
|
72
|
-
"__SWindow": "___SWindow_depf8_gg_",
|
|
73
|
-
"__SOverlay": "___SOverlay_depf8_gg_",
|
|
74
|
-
"__SClose": "___SClose_depf8_gg_",
|
|
75
|
-
"_keyboardFocused": "__keyboardFocused_depf8_gg_",
|
|
76
|
-
"__STitle": "___STitle_depf8_gg_"
|
|
35
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SWindow_106ns_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))}.___SWindow_106ns_gg_:focus{outline:0}.___SOverlay_106ns_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;z-index:var(--intergalactic-z-index-modal, 600);-webkit-overflow-scrolling:touch}.___SOverlay_106ns_gg_ .___SOverlay_106ns_gg_{background:var(--intergalactic-overlay-secondary, rgba(25, 27, 35, 0.4))}.___SClose_106ns_gg_{display:inline-flex;position:absolute;right:0;top:0;padding:var(--intergalactic-spacing-3x, 12px);color:var(--intergalactic-icon-secondary-neutral, #a9abb6);cursor:pointer;z-index:1;border:0;background:0 0;outline:0}@media (hover:hover){.___SClose_106ns_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SClose_106ns_gg_.__keyboardFocused_106ns_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___STitle_106ns_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)}@media (max-width:767px){.___SWindow_106ns_gg_{min-width:60%}.___SOverlay_106ns_gg_{padding:var(--intergalactic-spacing-3x, 12px)}}" /*__inner_css_end__*/, "106ns_gg_") /*__reshadow_css_end__*/, {
|
|
36
|
+
"__SWindow": "___SWindow_106ns_gg_",
|
|
37
|
+
"__SOverlay": "___SOverlay_106ns_gg_",
|
|
38
|
+
"__SClose": "___SClose_106ns_gg_",
|
|
39
|
+
"_keyboardFocused": "__keyboardFocused_106ns_gg_",
|
|
40
|
+
"__STitle": "___STitle_106ns_gg_"
|
|
77
41
|
});
|
|
78
|
-
|
|
79
42
|
var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
80
43
|
(0, _inherits2["default"])(ModalRoot, _Component);
|
|
81
|
-
|
|
82
44
|
var _super = (0, _createSuper2["default"])(ModalRoot);
|
|
83
|
-
|
|
84
45
|
function ModalRoot() {
|
|
85
46
|
var _this;
|
|
86
|
-
|
|
87
47
|
(0, _classCallCheck2["default"])(this, ModalRoot);
|
|
88
|
-
|
|
89
48
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
90
49
|
args[_key] = arguments[_key];
|
|
91
50
|
}
|
|
92
|
-
|
|
93
51
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
94
52
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
95
53
|
hasTitle: false
|
|
@@ -108,14 +66,13 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
|
108
66
|
});
|
|
109
67
|
return _this;
|
|
110
68
|
}
|
|
111
|
-
|
|
112
69
|
(0, _createClass2["default"])(ModalRoot, [{
|
|
113
70
|
key: "getOverlayProps",
|
|
114
71
|
value: function getOverlayProps() {
|
|
115
72
|
var _this$asProps = this.asProps,
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
73
|
+
duration = _this$asProps.duration,
|
|
74
|
+
visible = _this$asProps.visible,
|
|
75
|
+
animationsDisabled = _this$asProps.animationsDisabled;
|
|
119
76
|
return {
|
|
120
77
|
duration: duration,
|
|
121
78
|
visible: visible,
|
|
@@ -127,12 +84,12 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
|
127
84
|
key: "getWindowProps",
|
|
128
85
|
value: function getWindowProps() {
|
|
129
86
|
var _this$asProps2 = this.asProps,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
87
|
+
visible = _this$asProps2.visible,
|
|
88
|
+
closable = _this$asProps2.closable,
|
|
89
|
+
getI18nText = _this$asProps2.getI18nText,
|
|
90
|
+
uid = _this$asProps2.uid,
|
|
91
|
+
duration = _this$asProps2.duration,
|
|
92
|
+
animationsDisabled = _this$asProps2.animationsDisabled;
|
|
136
93
|
var hasTitle = this.state.hasTitle;
|
|
137
94
|
return {
|
|
138
95
|
visible: visible,
|
|
@@ -157,15 +114,12 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
|
157
114
|
key: "getTitleProps",
|
|
158
115
|
value: function getTitleProps() {
|
|
159
116
|
var _this2 = this;
|
|
160
|
-
|
|
161
117
|
var uid = this.asProps.uid;
|
|
162
|
-
|
|
163
118
|
var setTitle = function setTitle() {
|
|
164
119
|
return _this2.setState({
|
|
165
120
|
hasTitle: true
|
|
166
121
|
});
|
|
167
122
|
};
|
|
168
|
-
|
|
169
123
|
return {
|
|
170
124
|
id: "igc-".concat(uid, "-title"),
|
|
171
125
|
setTitle: setTitle
|
|
@@ -176,8 +130,8 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
|
176
130
|
value: function render() {
|
|
177
131
|
var _ref = this.asProps;
|
|
178
132
|
var _this$asProps3 = this.asProps,
|
|
179
|
-
|
|
180
|
-
|
|
133
|
+
Children = _this$asProps3.Children,
|
|
134
|
+
disablePortal = _this$asProps3.disablePortal;
|
|
181
135
|
var advanceMode = (0, _findComponent.isAdvanceMode)(Children, [Modal.Overlay.displayName, Modal.Window.displayName]);
|
|
182
136
|
return /*#__PURE__*/_react["default"].createElement(_portal["default"], {
|
|
183
137
|
disablePortal: disablePortal
|
|
@@ -186,7 +140,6 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
|
186
140
|
}]);
|
|
187
141
|
return ModalRoot;
|
|
188
142
|
}(_core.Component);
|
|
189
|
-
|
|
190
143
|
(0, _defineProperty2["default"])(ModalRoot, "displayName", 'Modal');
|
|
191
144
|
(0, _defineProperty2["default"])(ModalRoot, "style", style);
|
|
192
145
|
(0, _defineProperty2["default"])(ModalRoot, "enhance", [(0, _i18nEnhance["default"])(_intergalacticDynamicLocales.localizedMessages), (0, _uniqueID["default"])(), (0, _useCssVariable.cssVariableEnhance)({
|
|
@@ -200,17 +153,15 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
|
200
153
|
i18n: _intergalacticDynamicLocales.localizedMessages,
|
|
201
154
|
locale: 'en'
|
|
202
155
|
});
|
|
203
|
-
|
|
204
156
|
function Window(props) {
|
|
205
157
|
var _ref2 = arguments[0],
|
|
206
|
-
|
|
207
|
-
|
|
158
|
+
_ref6;
|
|
208
159
|
var SWindow = _animation.Slide;
|
|
209
160
|
var Children = props.Children,
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
161
|
+
styles = props.styles,
|
|
162
|
+
visible = props.visible,
|
|
163
|
+
closable = props.closable,
|
|
164
|
+
duration = props.duration;
|
|
214
165
|
var windowRef = (0, _react.useRef)(null);
|
|
215
166
|
(0, _useFocusLock.useFocusLock)(windowRef, true, 'auto', !visible);
|
|
216
167
|
return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SWindow, _ref6.cn("SWindow", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
@@ -225,16 +176,14 @@ function Window(props) {
|
|
|
225
176
|
"value": windowRef
|
|
226
177
|
}), closable && /*#__PURE__*/_react["default"].createElement(Modal.Close, null), /*#__PURE__*/_react["default"].createElement(Children, _ref6.cn("Children", {}))));
|
|
227
178
|
}
|
|
228
|
-
|
|
229
179
|
function Overlay(props) {
|
|
230
180
|
var _ref3 = arguments[0],
|
|
231
|
-
|
|
232
|
-
|
|
181
|
+
_ref7;
|
|
233
182
|
var SOverlay = _animation.FadeInOut;
|
|
234
183
|
var Children = props.Children,
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
184
|
+
styles = props.styles,
|
|
185
|
+
onOutsideClick = props.onOutsideClick,
|
|
186
|
+
visible = props.visible;
|
|
238
187
|
var overlayRef = (0, _react.useRef)(null);
|
|
239
188
|
(0, _usePreventScroll["default"])(visible);
|
|
240
189
|
(0, _ThemeProvider.useContextTheme)(overlayRef, visible);
|
|
@@ -245,15 +194,13 @@ function Overlay(props) {
|
|
|
245
194
|
"onOutsideClick": onOutsideClick
|
|
246
195
|
}), /*#__PURE__*/_react["default"].createElement(Children, _ref7.cn("Children", {}))));
|
|
247
196
|
}
|
|
248
|
-
|
|
249
197
|
function Close(props) {
|
|
250
198
|
var _ref4 = arguments[0],
|
|
251
|
-
|
|
252
|
-
|
|
199
|
+
_ref8;
|
|
253
200
|
var SClose = _flexBox.Box;
|
|
254
201
|
var Children = props.Children,
|
|
255
|
-
|
|
256
|
-
|
|
202
|
+
hasChildren = props.children,
|
|
203
|
+
getI18nText = props.getI18nText;
|
|
257
204
|
return _ref8 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SClose, _ref8.cn("SClose", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
258
205
|
"tag": "button",
|
|
259
206
|
"tabIndex": 0,
|
|
@@ -262,15 +209,12 @@ function Close(props) {
|
|
|
262
209
|
"title": getI18nText('close')
|
|
263
210
|
})));
|
|
264
211
|
}
|
|
265
|
-
|
|
266
212
|
Close.enhance = [(0, _keyboardFocusEnhance["default"])()];
|
|
267
|
-
|
|
268
213
|
function Title(props) {
|
|
269
214
|
var _ref5 = arguments[0],
|
|
270
|
-
|
|
271
|
-
|
|
215
|
+
_ref9;
|
|
272
216
|
var setTitle = props.setTitle,
|
|
273
|
-
|
|
217
|
+
styles = props.styles;
|
|
274
218
|
var STitle = _typography.Text;
|
|
275
219
|
(0, _react.useEffect)(function () {
|
|
276
220
|
return setTitle();
|
|
@@ -279,7 +223,6 @@ function Title(props) {
|
|
|
279
223
|
"tag": "h2"
|
|
280
224
|
}, _ref5))));
|
|
281
225
|
}
|
|
282
|
-
|
|
283
226
|
var Modal = (0, _core["default"])(ModalRoot, {
|
|
284
227
|
Window: Window,
|
|
285
228
|
Overlay: Overlay,
|
package/lib/cjs/Modal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["ModalRoot","hasTitle","e","key","stopPropagation","fire","asProps","duration","visible","animationsDisabled","onOutsideClick","handleOutsideClick","closable","getI18nText","uid","state","onKeyDown","handleKeyDown","undefined","onClick","handleIconCloseClick","setTitle","setState","id","Children","disablePortal","advanceMode","isAdvanceMode","Modal","Overlay","displayName","Window","Component","style","i18nEnhance","localizedMessages","uniqueIDEnhancement","cssVariableEnhance","variable","fallback","map","Number","parseInt","prop","i18n","locale","props","SWindow","Slide","styles","windowRef","useRef","useFocusLock","sstyled","SOverlay","FadeInOut","overlayRef","usePreventScroll","useContextTheme","Close","SClose","Box","hasChildren","children","enhance","keyboardFocusEnhance","Title","STitle","Text","useEffect","createComponent"],"sources":["../../src/Modal.jsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\nimport { FadeInOut, Slide } from '@semcore/animation';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Portal, { PortalProvider } from '@semcore/portal';\nimport { Box } from '@semcore/flex-box';\nimport OutsideClick from '@semcore/outside-click';\nimport CloseIcon from '@semcore/icon/Close/l';\nimport fire from '@semcore/utils/lib/fire';\nimport usePreventScroll from '@semcore/utils/lib/use/usePreventScroll';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport style from './style/modal.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\nimport { useContextTheme } from '@semcore/utils/lib/ThemeProvider';\n\nclass ModalRoot extends Component {\n static displayName = 'Modal';\n static style = style;\n static enhance = [\n i18nEnhance(localizedMessages),\n uniqueIDEnhancement(),\n cssVariableEnhance({\n variable: '--intergalactic-duration-modal',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n static defaultProps = {\n closable: true,\n i18n: localizedMessages,\n locale: 'en',\n };\n state = { hasTitle: false };\n\n handleKeyDown = (e) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n fire(this, 'onClose', 'onEscape', e);\n }\n };\n\n handleIconCloseClick = (e) => {\n fire(this, 'onClose', 'onCloseClick', e);\n };\n\n handleOutsideClick = (e) => {\n fire(this, 'onClose', 'onOutsideClick', e);\n };\n\n getOverlayProps() {\n const { duration, visible, animationsDisabled } = this.asProps;\n return {\n duration,\n visible,\n onOutsideClick: this.handleOutsideClick,\n animationsDisabled,\n };\n }\n\n getWindowProps() {\n const { visible, closable, getI18nText, uid, duration, animationsDisabled } = this.asProps;\n const { hasTitle } = this.state;\n return {\n visible,\n closable,\n onKeyDown: this.handleKeyDown,\n 'aria-label': hasTitle ? undefined : getI18nText('title'),\n 'aria-labelledby': hasTitle ? `igc-${uid}-title` : undefined,\n duration,\n animationsDisabled,\n };\n }\n\n getCloseProps() {\n const { getI18nText } = this.asProps;\n\n return {\n onClick: this.handleIconCloseClick,\n getI18nText,\n };\n }\n\n getTitleProps() {\n const { uid } = this.asProps;\n const setTitle = () => this.setState({ hasTitle: true });\n\n return {\n id: `igc-${uid}-title`,\n setTitle,\n };\n }\n\n render() {\n const { Children, disablePortal } = this.asProps;\n\n const advanceMode = isAdvanceMode(Children, [\n Modal.Overlay.displayName,\n Modal.Window.displayName,\n ]);\n\n return (\n <Portal disablePortal={disablePortal}>\n {advanceMode ? (\n <Children />\n ) : (\n <Modal.Overlay>\n <Root render={Modal.Window} />\n </Modal.Overlay>\n )}\n </Portal>\n );\n }\n}\n\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable, duration } = props;\n const windowRef = useRef(null);\n\n useFocusLock(windowRef, true, 'auto', !visible);\n\n return sstyled(styles)(\n <SWindow\n render={Slide}\n initialAnimation={true}\n slideOrigin=\"top\"\n visible={visible}\n role=\"dialog\"\n aria-modal={true}\n duration={duration}\n ref={windowRef}\n >\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\n </SWindow>,\n );\n}\n\nfunction Overlay(props) {\n const SOverlay = Root;\n const { Children, styles, onOutsideClick, visible } = props;\n const overlayRef = useRef(null);\n usePreventScroll(visible);\n useContextTheme(overlayRef, visible);\n\n return sstyled(styles)(\n <SOverlay render={FadeInOut} ref={overlayRef}>\n <OutsideClick root={overlayRef} onOutsideClick={onOutsideClick}>\n <Children />\n </OutsideClick>\n </SOverlay>,\n );\n}\n\nfunction Close(props) {\n const SClose = Root;\n const { Children, children: hasChildren, getI18nText } = props;\n return sstyled(props.styles)(\n <SClose render={Box} tag=\"button\" tabIndex={0} aria-label={getI18nText('close')}>\n {hasChildren ? <Children /> : <CloseIcon title={getI18nText('close')} />}\n </SClose>,\n );\n}\n\nClose.enhance = [keyboardFocusEnhance()];\n\nfunction Title(props) {\n const { setTitle, styles } = props;\n const STitle = Root;\n\n useEffect(() => setTitle());\n\n return sstyled(styles)(<STitle render={Text} tag=\"h2\" />);\n}\n\nconst Modal = createComponent(ModalRoot, {\n Window,\n Overlay,\n Close,\n Title,\n});\n\nexport default Modal;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;IAEMA,S;;;;;;;;;;;;;;;8FAkBI;MAAEC,QAAQ,EAAE;IAAZ,C;sGAEQ,UAACC,CAAD,EAAO;MACrB,IAAIA,CAAC,CAACC,GAAF,KAAU,QAAd,EAAwB;QACtBD,CAAC,CAACE,eAAF;QACA,IAAAC,gBAAA,kDAAW,SAAX,EAAsB,UAAtB,EAAkCH,CAAlC;MACD;IACF,C;6GAEsB,UAACA,CAAD,EAAO;MAC5B,IAAAG,gBAAA,kDAAW,SAAX,EAAsB,cAAtB,EAAsCH,CAAtC;IACD,C;2GAEoB,UAACA,CAAD,EAAO;MAC1B,IAAAG,gBAAA,kDAAW,SAAX,EAAsB,gBAAtB,EAAwCH,CAAxC;IACD,C;;;;;;WAED,2BAAkB;MAChB,oBAAkD,KAAKI,OAAvD;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,OAAlB,iBAAkBA,OAAlB;MAAA,IAA2BC,kBAA3B,iBAA2BA,kBAA3B;MACA,OAAO;QACLF,QAAQ,EAARA,QADK;QAELC,OAAO,EAAPA,OAFK;QAGLE,cAAc,EAAE,KAAKC,kBAHhB;QAILF,kBAAkB,EAAlBA;MAJK,CAAP;IAMD;;;WAED,0BAAiB;MACf,qBAA8E,KAAKH,OAAnF;MAAA,IAAQE,OAAR,kBAAQA,OAAR;MAAA,IAAiBI,QAAjB,kBAAiBA,QAAjB;MAAA,IAA2BC,WAA3B,kBAA2BA,WAA3B;MAAA,IAAwCC,GAAxC,kBAAwCA,GAAxC;MAAA,IAA6CP,QAA7C,kBAA6CA,QAA7C;MAAA,IAAuDE,kBAAvD,kBAAuDA,kBAAvD;MACA,IAAQR,QAAR,GAAqB,KAAKc,KAA1B,CAAQd,QAAR;MACA,OAAO;QACLO,OAAO,EAAPA,OADK;QAELI,QAAQ,EAARA,QAFK;QAGLI,SAAS,EAAE,KAAKC,aAHX;QAIL,cAAchB,QAAQ,GAAGiB,SAAH,GAAeL,WAAW,CAAC,OAAD,CAJ3C;QAKL,mBAAmBZ,QAAQ,iBAAUa,GAAV,cAAwBI,SAL9C;QAMLX,QAAQ,EAARA,QANK;QAOLE,kBAAkB,EAAlBA;MAPK,CAAP;IASD;;;WAED,yBAAgB;MACd,IAAQI,WAAR,GAAwB,KAAKP,OAA7B,CAAQO,WAAR;MAEA,OAAO;QACLM,OAAO,EAAE,KAAKC,oBADT;QAELP,WAAW,EAAXA;MAFK,CAAP;IAID;;;WAED,yBAAgB;MAAA;;MACd,IAAQC,GAAR,GAAgB,KAAKR,OAArB,CAAQQ,GAAR;;MACA,IAAMO,QAAQ,GAAG,SAAXA,QAAW;QAAA,OAAM,MAAI,CAACC,QAAL,CAAc;UAAErB,QAAQ,EAAE;QAAZ,CAAd,CAAN;MAAA,CAAjB;;MAEA,OAAO;QACLsB,EAAE,gBAAST,GAAT,WADG;QAELO,QAAQ,EAARA;MAFK,CAAP;IAID;;;WAED,kBAAS;MAAA;MACP,qBAAoC,KAAKf,OAAzC;MAAA,IAAQkB,QAAR,kBAAQA,QAAR;MAAA,IAAkBC,aAAlB,kBAAkBA,aAAlB;MAEA,IAAMC,WAAW,GAAG,IAAAC,4BAAA,EAAcH,QAAd,EAAwB,CAC1CI,KAAK,CAACC,OAAN,CAAcC,WAD4B,EAE1CF,KAAK,CAACG,MAAN,CAAaD,WAF6B,CAAxB,CAApB;MAKA,oBACE,gCAAC,kBAAD;QAAQ,aAAa,EAAEL;MAAvB,GACGC,WAAW,gBACV,gCAAC,QAAD,OADU,gBAGV,gCAAC,KAAD,CAAO,OAAP,qBACE,gCAAcE,KAAK,CAACG,MAApB,mCADF,CAJJ,CADF;IAWD;;;EAjGqBC,e;;iCAAlBhC,S,iBACiB,O;iCADjBA,S,WAEWiC,K;iCAFXjC,S,aAGa,CACf,IAAAkC,uBAAA,EAAYC,8CAAZ,CADe,EAEf,IAAAC,oBAAA,GAFe,EAGf,IAAAC,kCAAA,EAAmB;EACjBC,QAAQ,EAAE,gCADO;EAEjBC,QAAQ,EAAE,KAFO;EAGjBC,GAAG,EAAEC,MAAM,CAACC,QAHK;EAIjBC,IAAI,EAAE;AAJW,CAAnB,CAHe,C;iCAHb3C,S,kBAakB;EACpBY,QAAQ,EAAE,IADU;EAEpBgC,IAAI,EAAET,8CAFc;EAGpBU,MAAM,EAAE;AAHY,C;;AAuFxB,SAASd,MAAT,CAAgBe,KAAhB,EAAuB;EAAA;EAAA;;EACrB,IAAMC,OAAO,GAQDC,gBARZ;EACA,IAAQxB,QAAR,GAA0DsB,KAA1D,CAAQtB,QAAR;EAAA,IAAkByB,MAAlB,GAA0DH,KAA1D,CAAkBG,MAAlB;EAAA,IAA0BzC,OAA1B,GAA0DsC,KAA1D,CAA0BtC,OAA1B;EAAA,IAAmCI,QAAnC,GAA0DkC,KAA1D,CAAmClC,QAAnC;EAAA,IAA6CL,QAA7C,GAA0DuC,KAA1D,CAA6CvC,QAA7C;EACA,IAAM2C,SAAS,GAAG,IAAAC,aAAA,EAAO,IAAP,CAAlB;EAEA,IAAAC,0BAAA,EAAaF,SAAb,EAAwB,IAAxB,EAA8B,MAA9B,EAAsC,CAAC1C,OAAvC;EAEA,eAAO,IAAA6C,aAAA,EAAQJ,MAAR,CAAP,eACE,gCAAC,OAAD;IAAA,oBAEoB,IAFpB;IAAA,eAGc,KAHd;IAAA,WAIWzC,OAJX;IAAA,QAKO,QALP;IAAA,cAMc,IANd;IAAA,YAOYD,QAPZ;IAAA,OAQO2C;EARP,0BAUE,gCAAC,sBAAD;IAAA,SAAuBA;EAAvB,IACGtC,QAAQ,iBAAI,gCAAC,KAAD,CAAO,KAAP,OADf,eAEE,gCAAC,QAAD,2BAFF,CAVF,CADF;AAiBD;;AAED,SAASiB,OAAT,CAAiBiB,KAAjB,EAAwB;EAAA;EAAA;;EACtB,IAAMQ,QAAQ,GAOMC,oBAPpB;EACA,IAAQ/B,QAAR,GAAsDsB,KAAtD,CAAQtB,QAAR;EAAA,IAAkByB,MAAlB,GAAsDH,KAAtD,CAAkBG,MAAlB;EAAA,IAA0BvC,cAA1B,GAAsDoC,KAAtD,CAA0BpC,cAA1B;EAAA,IAA0CF,OAA1C,GAAsDsC,KAAtD,CAA0CtC,OAA1C;EACA,IAAMgD,UAAU,GAAG,IAAAL,aAAA,EAAO,IAAP,CAAnB;EACA,IAAAM,4BAAA,EAAiBjD,OAAjB;EACA,IAAAkD,8BAAA,EAAgBF,UAAhB,EAA4BhD,OAA5B;EAEA,eAAO,IAAA6C,aAAA,EAAQJ,MAAR,CAAP,eACE,gCAAC,QAAD;IAAA,OAAkCO;EAAlC,0BACE,gCAAC,wBAAD;IAAA,QAAoBA,UAApB;IAAA,kBAAgD9C;EAAhD,iBACE,gCAAC,QAAD,2BADF,CADF,CADF;AAOD;;AAED,SAASiD,KAAT,CAAeb,KAAf,EAAsB;EAAA;EAAA;;EACpB,IAAMc,MAAM,GAGMC,YAHlB;EACA,IAAQrC,QAAR,GAAyDsB,KAAzD,CAAQtB,QAAR;EAAA,IAA4BsC,WAA5B,GAAyDhB,KAAzD,CAAkBiB,QAAlB;EAAA,IAAyClD,WAAzC,GAAyDiC,KAAzD,CAAyCjC,WAAzC;EACA,eAAO,IAAAwC,aAAA,EAAQP,KAAK,CAACG,MAAd,CAAP,eACE,gCAAC,MAAD;IAAA,OAAyB,QAAzB;IAAA,YAA4C,CAA5C;IAAA,cAA2DpC,WAAW,CAAC,OAAD;EAAtE,aACGiD,WAAW,gBAAG,gCAAC,QAAD,2BAAH,gBAAkB,gCAAC,aAAD;IAAA,SAAkBjD,WAAW,CAAC,OAAD;EAA7B,GADhC,CADF;AAKD;;AAED8C,KAAK,CAACK,OAAN,GAAgB,CAAC,IAAAC,gCAAA,GAAD,CAAhB;;AAEA,SAASC,KAAT,CAAepB,KAAf,EAAsB;EAAA;EAAA;;EACpB,IAAQzB,QAAR,GAA6ByB,KAA7B,CAAQzB,QAAR;EAAA,IAAkB4B,MAAlB,GAA6BH,KAA7B,CAAkBG,MAAlB;EACA,IAAMkB,MAAM,GAI2BC,gBAJvC;EAEA,IAAAC,gBAAA,EAAU;IAAA,OAAMhD,QAAQ,EAAd;EAAA,CAAV;EAEA,eAAO,IAAAgC,aAAA,EAAQJ,MAAR,CAAP,eAAuB,gCAAC,MAAD;IAAA,OAA0B;EAA1B,YAAvB;AACD;;AAED,IAAMrB,KAAK,GAAG,IAAA0C,gBAAA,EAAgBtE,SAAhB,EAA2B;EACvC+B,MAAM,EAANA,MADuC;EAEvCF,OAAO,EAAPA,OAFuC;EAGvC8B,KAAK,EAALA,KAHuC;EAIvCO,KAAK,EAALA;AAJuC,CAA3B,CAAd;eAOetC,K"}
|
|
1
|
+
{"version":3,"file":"Modal.js","names":["_core","_interopRequireWildcard","require","_react","_animation","_portal","_flexBox","_outsideClick","_interopRequireDefault","_l","_fire","_usePreventScroll","_findComponent","_keyboardFocusEnhance","_intergalacticDynamicLocales","_i18nEnhance","_typography","_uniqueID","_useCssVariable","_useFocusLock","_ThemeProvider","style","sstyled","insert","ModalRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","hasTitle","e","key","stopPropagation","fire","_createClass2","value","getOverlayProps","_this$asProps","asProps","duration","visible","animationsDisabled","onOutsideClick","handleOutsideClick","getWindowProps","_this$asProps2","closable","getI18nText","uid","state","onKeyDown","handleKeyDown","undefined","getCloseProps","onClick","handleIconCloseClick","getTitleProps","_this2","setTitle","setState","id","render","_ref","_this$asProps3","Children","disablePortal","advanceMode","isAdvanceMode","Modal","Overlay","displayName","Window","createElement","assignProps","Component","i18nEnhance","localizedMessages","uniqueIDEnhancement","cssVariableEnhance","variable","fallback","map","Number","parseInt","prop","i18n","locale","props","_ref2","arguments[0]","_ref6","SWindow","Slide","styles","windowRef","useRef","useFocusLock","cn","_objectSpread2","PortalProvider","Close","_ref3","_ref7","SOverlay","FadeInOut","overlayRef","usePreventScroll","useContextTheme","_ref4","_ref8","SClose","Box","hasChildren","children","enhance","keyboardFocusEnhance","Title","_ref5","_ref9","STitle","Text","useEffect","createComponent","_default","exports"],"sources":["../../src/Modal.jsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\nimport { FadeInOut, Slide } from '@semcore/animation';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Portal, { PortalProvider } from '@semcore/portal';\nimport { Box } from '@semcore/flex-box';\nimport OutsideClick from '@semcore/outside-click';\nimport CloseIcon from '@semcore/icon/Close/l';\nimport fire from '@semcore/utils/lib/fire';\nimport usePreventScroll from '@semcore/utils/lib/use/usePreventScroll';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport style from './style/modal.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\nimport { useContextTheme } from '@semcore/utils/lib/ThemeProvider';\n\nclass ModalRoot extends Component {\n static displayName = 'Modal';\n static style = style;\n static enhance = [\n i18nEnhance(localizedMessages),\n uniqueIDEnhancement(),\n cssVariableEnhance({\n variable: '--intergalactic-duration-modal',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n static defaultProps = {\n closable: true,\n i18n: localizedMessages,\n locale: 'en',\n };\n state = { hasTitle: false };\n\n handleKeyDown = (e) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n fire(this, 'onClose', 'onEscape', e);\n }\n };\n\n handleIconCloseClick = (e) => {\n fire(this, 'onClose', 'onCloseClick', e);\n };\n\n handleOutsideClick = (e) => {\n fire(this, 'onClose', 'onOutsideClick', e);\n };\n\n getOverlayProps() {\n const { duration, visible, animationsDisabled } = this.asProps;\n return {\n duration,\n visible,\n onOutsideClick: this.handleOutsideClick,\n animationsDisabled,\n };\n }\n\n getWindowProps() {\n const { visible, closable, getI18nText, uid, duration, animationsDisabled } = this.asProps;\n const { hasTitle } = this.state;\n return {\n visible,\n closable,\n onKeyDown: this.handleKeyDown,\n 'aria-label': hasTitle ? undefined : getI18nText('title'),\n 'aria-labelledby': hasTitle ? `igc-${uid}-title` : undefined,\n duration,\n animationsDisabled,\n };\n }\n\n getCloseProps() {\n const { getI18nText } = this.asProps;\n\n return {\n onClick: this.handleIconCloseClick,\n getI18nText,\n };\n }\n\n getTitleProps() {\n const { uid } = this.asProps;\n const setTitle = () => this.setState({ hasTitle: true });\n\n return {\n id: `igc-${uid}-title`,\n setTitle,\n };\n }\n\n render() {\n const { Children, disablePortal } = this.asProps;\n\n const advanceMode = isAdvanceMode(Children, [\n Modal.Overlay.displayName,\n Modal.Window.displayName,\n ]);\n\n return (\n <Portal disablePortal={disablePortal}>\n {advanceMode ? (\n <Children />\n ) : (\n <Modal.Overlay>\n <Root render={Modal.Window} />\n </Modal.Overlay>\n )}\n </Portal>\n );\n }\n}\n\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable, duration } = props;\n const windowRef = useRef(null);\n\n useFocusLock(windowRef, true, 'auto', !visible);\n\n return sstyled(styles)(\n <SWindow\n render={Slide}\n initialAnimation={true}\n slideOrigin=\"top\"\n visible={visible}\n role=\"dialog\"\n aria-modal={true}\n duration={duration}\n ref={windowRef}\n >\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\n </SWindow>,\n );\n}\n\nfunction Overlay(props) {\n const SOverlay = Root;\n const { Children, styles, onOutsideClick, visible } = props;\n const overlayRef = useRef(null);\n usePreventScroll(visible);\n useContextTheme(overlayRef, visible);\n\n return sstyled(styles)(\n <SOverlay render={FadeInOut} ref={overlayRef}>\n <OutsideClick root={overlayRef} onOutsideClick={onOutsideClick}>\n <Children />\n </OutsideClick>\n </SOverlay>,\n );\n}\n\nfunction Close(props) {\n const SClose = Root;\n const { Children, children: hasChildren, getI18nText } = props;\n return sstyled(props.styles)(\n <SClose render={Box} tag=\"button\" tabIndex={0} aria-label={getI18nText('close')}>\n {hasChildren ? <Children /> : <CloseIcon title={getI18nText('close')} />}\n </SClose>,\n );\n}\n\nClose.enhance = [keyboardFocusEnhance()];\n\nfunction Title(props) {\n const { setTitle, styles } = props;\n const STitle = Root;\n\n useEffect(() => setTitle());\n\n return sstyled(styles)(<STitle render={Text} tag=\"h2\" />);\n}\n\nconst Modal = createComponent(ModalRoot, {\n Window,\n Overlay,\n Close,\n Title,\n});\n\nexport default Modal;\n"],"mappings":"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"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,6 +10,5 @@ Object.defineProperty(exports, "default", {
|
|
|
11
10
|
return _Modal["default"];
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _Modal = _interopRequireDefault(require("./Modal"));
|
|
16
14
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './Modal';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_Modal","_interopRequireDefault","require"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './Modal';\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA"}
|
package/lib/cjs/modal.vo-test.js
CHANGED
|
@@ -1,132 +1,102 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
6
|
-
|
|
7
5
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
|
-
|
|
9
6
|
var _test = require("@playwright/test");
|
|
10
|
-
|
|
11
7
|
var _playwright = require("@guidepup/playwright");
|
|
12
|
-
|
|
13
8
|
var _e2eStand = require("@semcore/jest-preset-ui/e2e-stand");
|
|
14
|
-
|
|
15
9
|
var _path = require("path");
|
|
16
|
-
|
|
17
10
|
var _promises = require("fs/promises");
|
|
18
|
-
|
|
19
11
|
var _voReporter = require("@semcore/jest-preset-ui/vo-reporter");
|
|
20
|
-
|
|
21
12
|
(0, _playwright.voTest)('Users can interact with Modal via VoiceOver', /*#__PURE__*/function () {
|
|
22
13
|
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee(_ref) {
|
|
23
14
|
var page, pureVoiceOver, standPath, reportPath, htmlContent, _yield$makeVoiceOverR, voiceOver, getReport, report;
|
|
24
|
-
|
|
25
15
|
return (0, _regeneratorRuntime2["default"])().wrap(function _callee$(_context) {
|
|
26
|
-
while (1) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
_context.next = 52;
|
|
108
|
-
return (0, _voReporter.getReportHeader)();
|
|
109
|
-
|
|
110
|
-
case 52:
|
|
111
|
-
_context.t10 = _context.sent;
|
|
112
|
-
_context.t11 = _context.t10 + '\n\n';
|
|
113
|
-
_context.next = 56;
|
|
114
|
-
return getReport(standPath);
|
|
115
|
-
|
|
116
|
-
case 56:
|
|
117
|
-
_context.t12 = _context.sent;
|
|
118
|
-
report = _context.t11 + _context.t12;
|
|
119
|
-
_context.next = 60;
|
|
120
|
-
return (0, _promises.writeFile)(reportPath, report);
|
|
121
|
-
|
|
122
|
-
case 60:
|
|
123
|
-
case "end":
|
|
124
|
-
return _context.stop();
|
|
125
|
-
}
|
|
16
|
+
while (1) switch (_context.prev = _context.next) {
|
|
17
|
+
case 0:
|
|
18
|
+
page = _ref.page, pureVoiceOver = _ref.voiceOver;
|
|
19
|
+
standPath = (0, _path.resolve)(__dirname, '../../../website/docs/components/modal/examples/modal.jsx');
|
|
20
|
+
reportPath = (0, _path.resolve)(__dirname, '../../../website/docs/components/modal/modal-a11y-report.md');
|
|
21
|
+
_context.next = 5;
|
|
22
|
+
return (0, _e2eStand.e2eStandToHtml)(standPath, 'en');
|
|
23
|
+
case 5:
|
|
24
|
+
htmlContent = _context.sent;
|
|
25
|
+
_context.next = 8;
|
|
26
|
+
return page.setContent(htmlContent);
|
|
27
|
+
case 8:
|
|
28
|
+
_context.next = 10;
|
|
29
|
+
return (0, _voReporter.makeVoiceOverReporter)(pureVoiceOver);
|
|
30
|
+
case 10:
|
|
31
|
+
_yield$makeVoiceOverR = _context.sent;
|
|
32
|
+
voiceOver = _yield$makeVoiceOverR.voiceOver;
|
|
33
|
+
getReport = _yield$makeVoiceOverR.getReport;
|
|
34
|
+
_context.next = 15;
|
|
35
|
+
return voiceOver.interact();
|
|
36
|
+
case 15:
|
|
37
|
+
_context.t0 = _test.expect;
|
|
38
|
+
_context.next = 18;
|
|
39
|
+
return voiceOver.itemText();
|
|
40
|
+
case 18:
|
|
41
|
+
_context.t1 = _context.sent;
|
|
42
|
+
(0, _context.t0)(_context.t1).toBe('Open modal button');
|
|
43
|
+
_context.next = 22;
|
|
44
|
+
return voiceOver.act();
|
|
45
|
+
case 22:
|
|
46
|
+
_context.t2 = _test.expect;
|
|
47
|
+
_context.next = 25;
|
|
48
|
+
return voiceOver.lastSpokenPhrase();
|
|
49
|
+
case 25:
|
|
50
|
+
_context.t3 = _context.sent;
|
|
51
|
+
(0, _context.t2)(_context.t3).toBe('Do you want to save your changes? web dialog with 5 items Close button');
|
|
52
|
+
_context.next = 29;
|
|
53
|
+
return voiceOver.next();
|
|
54
|
+
case 29:
|
|
55
|
+
_context.t4 = _test.expect;
|
|
56
|
+
_context.next = 32;
|
|
57
|
+
return voiceOver.itemText();
|
|
58
|
+
case 32:
|
|
59
|
+
_context.t5 = _context.sent;
|
|
60
|
+
(0, _context.t4)(_context.t5).toBe('Do you want to save your changes? heading level 2');
|
|
61
|
+
_context.next = 36;
|
|
62
|
+
return voiceOver.next();
|
|
63
|
+
case 36:
|
|
64
|
+
_context.next = 38;
|
|
65
|
+
return voiceOver.next();
|
|
66
|
+
case 38:
|
|
67
|
+
_context.t6 = _test.expect;
|
|
68
|
+
_context.next = 41;
|
|
69
|
+
return voiceOver.itemText();
|
|
70
|
+
case 41:
|
|
71
|
+
_context.t7 = _context.sent;
|
|
72
|
+
(0, _context.t6)(_context.t7).toBe('Save changes button');
|
|
73
|
+
_context.next = 45;
|
|
74
|
+
return voiceOver.act();
|
|
75
|
+
case 45:
|
|
76
|
+
_context.t8 = _test.expect;
|
|
77
|
+
_context.next = 48;
|
|
78
|
+
return voiceOver.itemText();
|
|
79
|
+
case 48:
|
|
80
|
+
_context.t9 = _context.sent;
|
|
81
|
+
(0, _context.t8)(_context.t9).toBe('Open modal button');
|
|
82
|
+
_context.next = 52;
|
|
83
|
+
return (0, _voReporter.getReportHeader)();
|
|
84
|
+
case 52:
|
|
85
|
+
_context.t10 = _context.sent;
|
|
86
|
+
_context.t11 = _context.t10 + '\n\n';
|
|
87
|
+
_context.next = 56;
|
|
88
|
+
return getReport(standPath);
|
|
89
|
+
case 56:
|
|
90
|
+
_context.t12 = _context.sent;
|
|
91
|
+
report = _context.t11 + _context.t12;
|
|
92
|
+
_context.next = 60;
|
|
93
|
+
return (0, _promises.writeFile)(reportPath, report);
|
|
94
|
+
case 60:
|
|
95
|
+
case "end":
|
|
96
|
+
return _context.stop();
|
|
126
97
|
}
|
|
127
98
|
}, _callee);
|
|
128
99
|
}));
|
|
129
|
-
|
|
130
100
|
return function (_x) {
|
|
131
101
|
return _ref2.apply(this, arguments);
|
|
132
102
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.vo-test.js","names":["test","page","pureVoiceOver","voiceOver","
|
|
1
|
+
{"version":3,"file":"modal.vo-test.js","names":["_test","require","_playwright","_e2eStand","_path","_promises","_voReporter","test","_ref2","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","_ref","page","pureVoiceOver","standPath","reportPath","htmlContent","_yield$makeVoiceOverR","voiceOver","getReport","report","wrap","_callee$","_context","prev","next","resolvePath","__dirname","e2eStandToHtml","sent","setContent","makeVoiceOverReporter","interact","t0","expect","itemText","t1","toBe","act","t2","lastSpokenPhrase","t3","t4","t5","t6","t7","t8","t9","getReportHeader","t10","t11","t12","writeFile","stop","_x","apply","arguments"],"sources":["../../src/modal.vo-test.ts"],"sourcesContent":["import { expect } from '@playwright/test';\nimport { voTest as test } from '@guidepup/playwright';\nimport { e2eStandToHtml } from '@semcore/jest-preset-ui/e2e-stand';\nimport { resolve as resolvePath } from 'path';\nimport { writeFile } from 'fs/promises';\nimport { getReportHeader, makeVoiceOverReporter } from '@semcore/jest-preset-ui/vo-reporter';\n\ntest('Users can interact with Modal via VoiceOver', async ({ page, voiceOver: pureVoiceOver }) => {\n const standPath = resolvePath(\n __dirname,\n '../../../website/docs/components/modal/examples/modal.jsx',\n );\n const reportPath = resolvePath(\n __dirname,\n '../../../website/docs/components/modal/modal-a11y-report.md',\n );\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()).toBe(\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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"}
|
|
@@ -1,34 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.localizedMessages = void 0;
|
|
9
|
-
|
|
10
8
|
var _de = _interopRequireDefault(require("./de.json"));
|
|
11
|
-
|
|
12
9
|
var _en = _interopRequireDefault(require("./en.json"));
|
|
13
|
-
|
|
14
10
|
var _es = _interopRequireDefault(require("./es.json"));
|
|
15
|
-
|
|
16
11
|
var _fr = _interopRequireDefault(require("./fr.json"));
|
|
17
|
-
|
|
18
12
|
var _it = _interopRequireDefault(require("./it.json"));
|
|
19
|
-
|
|
20
13
|
var _ja = _interopRequireDefault(require("./ja.json"));
|
|
21
|
-
|
|
22
14
|
var _ko = _interopRequireDefault(require("./ko.json"));
|
|
23
|
-
|
|
24
15
|
var _pt = _interopRequireDefault(require("./pt.json"));
|
|
25
|
-
|
|
26
16
|
var _tr = _interopRequireDefault(require("./tr.json"));
|
|
27
|
-
|
|
28
17
|
var _vi = _interopRequireDefault(require("./vi.json"));
|
|
29
|
-
|
|
30
18
|
var _zh = _interopRequireDefault(require("./zh.json"));
|
|
31
|
-
|
|
32
19
|
var localizedMessages = {
|
|
33
20
|
de: _de["default"],
|
|
34
21
|
en: _en["default"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__intergalactic-dynamic-locales.js","names":["localizedMessages","de","en","es","fr","it","ja","ko","pt","tr","vi","zh"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport pt from './pt.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n pt,\n tr,\n vi,\n zh,\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"__intergalactic-dynamic-locales.js","names":["_de","_interopRequireDefault","require","_en","_es","_fr","_it","_ja","_ko","_pt","_tr","_vi","_zh","localizedMessages","de","en","es","fr","it","ja","ko","pt","tr","vi","zh","exports"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport pt from './pt.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n pt,\n tr,\n vi,\n zh,\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,GAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,GAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,GAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,GAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,GAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,GAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,GAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,GAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,GAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,GAAA,GAAAX,sBAAA,CAAAC,OAAA;AAEO,IAAMW,iBAAiB,GAAG;EAC/BC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA;AACF,CAAC;AAACC,OAAA,CAAAZ,iBAAA,GAAAA,iBAAA"}
|
package/lib/es6/Modal.js
CHANGED
|
@@ -22,22 +22,13 @@ import fire from '@semcore/utils/lib/fire';
|
|
|
22
22
|
import usePreventScroll from '@semcore/utils/lib/use/usePreventScroll';
|
|
23
23
|
import { isAdvanceMode } from '@semcore/utils/lib/findComponent';
|
|
24
24
|
import keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
|
|
25
|
-
|
|
26
25
|
/*__reshadow-styles__:"./style/modal.shadow.css"*/
|
|
27
|
-
var style = (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
, "depf8_gg_")
|
|
34
|
-
/*__reshadow_css_end__*/
|
|
35
|
-
, {
|
|
36
|
-
"__SWindow": "___SWindow_depf8_gg_",
|
|
37
|
-
"__SOverlay": "___SOverlay_depf8_gg_",
|
|
38
|
-
"__SClose": "___SClose_depf8_gg_",
|
|
39
|
-
"_keyboardFocused": "__keyboardFocused_depf8_gg_",
|
|
40
|
-
"__STitle": "___STitle_depf8_gg_"
|
|
26
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SWindow_106ns_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))}.___SWindow_106ns_gg_:focus{outline:0}.___SOverlay_106ns_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;z-index:var(--intergalactic-z-index-modal, 600);-webkit-overflow-scrolling:touch}.___SOverlay_106ns_gg_ .___SOverlay_106ns_gg_{background:var(--intergalactic-overlay-secondary, rgba(25, 27, 35, 0.4))}.___SClose_106ns_gg_{display:inline-flex;position:absolute;right:0;top:0;padding:var(--intergalactic-spacing-3x, 12px);color:var(--intergalactic-icon-secondary-neutral, #a9abb6);cursor:pointer;z-index:1;border:0;background:0 0;outline:0}@media (hover:hover){.___SClose_106ns_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SClose_106ns_gg_.__keyboardFocused_106ns_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___STitle_106ns_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)}@media (max-width:767px){.___SWindow_106ns_gg_{min-width:60%}.___SOverlay_106ns_gg_{padding:var(--intergalactic-spacing-3x, 12px)}}" /*__inner_css_end__*/, "106ns_gg_") /*__reshadow_css_end__*/, {
|
|
27
|
+
"__SWindow": "___SWindow_106ns_gg_",
|
|
28
|
+
"__SOverlay": "___SOverlay_106ns_gg_",
|
|
29
|
+
"__SClose": "___SClose_106ns_gg_",
|
|
30
|
+
"_keyboardFocused": "__keyboardFocused_106ns_gg_",
|
|
31
|
+
"__STitle": "___STitle_106ns_gg_"
|
|
41
32
|
});
|
|
42
33
|
import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
|
|
43
34
|
import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
|
|
@@ -46,52 +37,40 @@ import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
|
46
37
|
import { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';
|
|
47
38
|
import { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';
|
|
48
39
|
import { useContextTheme } from '@semcore/utils/lib/ThemeProvider';
|
|
49
|
-
|
|
50
40
|
var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
51
41
|
_inherits(ModalRoot, _Component);
|
|
52
|
-
|
|
53
42
|
var _super = _createSuper(ModalRoot);
|
|
54
|
-
|
|
55
43
|
function ModalRoot() {
|
|
56
44
|
var _this;
|
|
57
|
-
|
|
58
45
|
_classCallCheck(this, ModalRoot);
|
|
59
|
-
|
|
60
46
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
61
47
|
args[_key] = arguments[_key];
|
|
62
48
|
}
|
|
63
|
-
|
|
64
49
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
65
|
-
|
|
66
50
|
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
67
51
|
hasTitle: false
|
|
68
52
|
});
|
|
69
|
-
|
|
70
53
|
_defineProperty(_assertThisInitialized(_this), "handleKeyDown", function (e) {
|
|
71
54
|
if (e.key === 'Escape') {
|
|
72
55
|
e.stopPropagation();
|
|
73
56
|
fire(_assertThisInitialized(_this), 'onClose', 'onEscape', e);
|
|
74
57
|
}
|
|
75
58
|
});
|
|
76
|
-
|
|
77
59
|
_defineProperty(_assertThisInitialized(_this), "handleIconCloseClick", function (e) {
|
|
78
60
|
fire(_assertThisInitialized(_this), 'onClose', 'onCloseClick', e);
|
|
79
61
|
});
|
|
80
|
-
|
|
81
62
|
_defineProperty(_assertThisInitialized(_this), "handleOutsideClick", function (e) {
|
|
82
63
|
fire(_assertThisInitialized(_this), 'onClose', 'onOutsideClick', e);
|
|
83
64
|
});
|
|
84
|
-
|
|
85
65
|
return _this;
|
|
86
66
|
}
|
|
87
|
-
|
|
88
67
|
_createClass(ModalRoot, [{
|
|
89
68
|
key: "getOverlayProps",
|
|
90
69
|
value: function getOverlayProps() {
|
|
91
70
|
var _this$asProps = this.asProps,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
71
|
+
duration = _this$asProps.duration,
|
|
72
|
+
visible = _this$asProps.visible,
|
|
73
|
+
animationsDisabled = _this$asProps.animationsDisabled;
|
|
95
74
|
return {
|
|
96
75
|
duration: duration,
|
|
97
76
|
visible: visible,
|
|
@@ -103,12 +82,12 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
|
103
82
|
key: "getWindowProps",
|
|
104
83
|
value: function getWindowProps() {
|
|
105
84
|
var _this$asProps2 = this.asProps,
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
85
|
+
visible = _this$asProps2.visible,
|
|
86
|
+
closable = _this$asProps2.closable,
|
|
87
|
+
getI18nText = _this$asProps2.getI18nText,
|
|
88
|
+
uid = _this$asProps2.uid,
|
|
89
|
+
duration = _this$asProps2.duration,
|
|
90
|
+
animationsDisabled = _this$asProps2.animationsDisabled;
|
|
112
91
|
var hasTitle = this.state.hasTitle;
|
|
113
92
|
return {
|
|
114
93
|
visible: visible,
|
|
@@ -133,15 +112,12 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
|
133
112
|
key: "getTitleProps",
|
|
134
113
|
value: function getTitleProps() {
|
|
135
114
|
var _this2 = this;
|
|
136
|
-
|
|
137
115
|
var uid = this.asProps.uid;
|
|
138
|
-
|
|
139
116
|
var setTitle = function setTitle() {
|
|
140
117
|
return _this2.setState({
|
|
141
118
|
hasTitle: true
|
|
142
119
|
});
|
|
143
120
|
};
|
|
144
|
-
|
|
145
121
|
return {
|
|
146
122
|
id: "igc-".concat(uid, "-title"),
|
|
147
123
|
setTitle: setTitle
|
|
@@ -152,45 +128,38 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
|
152
128
|
value: function render() {
|
|
153
129
|
var _ref = this.asProps;
|
|
154
130
|
var _this$asProps3 = this.asProps,
|
|
155
|
-
|
|
156
|
-
|
|
131
|
+
Children = _this$asProps3.Children,
|
|
132
|
+
disablePortal = _this$asProps3.disablePortal;
|
|
157
133
|
var advanceMode = isAdvanceMode(Children, [Modal.Overlay.displayName, Modal.Window.displayName]);
|
|
158
134
|
return /*#__PURE__*/React.createElement(Portal, {
|
|
159
135
|
disablePortal: disablePortal
|
|
160
136
|
}, advanceMode ? /*#__PURE__*/React.createElement(Children, null) : /*#__PURE__*/React.createElement(Modal.Overlay, null, /*#__PURE__*/React.createElement(Modal.Window, _assignProps({}, _ref))));
|
|
161
137
|
}
|
|
162
138
|
}]);
|
|
163
|
-
|
|
164
139
|
return ModalRoot;
|
|
165
140
|
}(Component);
|
|
166
|
-
|
|
167
141
|
_defineProperty(ModalRoot, "displayName", 'Modal');
|
|
168
|
-
|
|
169
142
|
_defineProperty(ModalRoot, "style", style);
|
|
170
|
-
|
|
171
143
|
_defineProperty(ModalRoot, "enhance", [i18nEnhance(localizedMessages), uniqueIDEnhancement(), cssVariableEnhance({
|
|
172
144
|
variable: '--intergalactic-duration-modal',
|
|
173
145
|
fallback: '200',
|
|
174
146
|
map: Number.parseInt,
|
|
175
147
|
prop: 'duration'
|
|
176
148
|
})]);
|
|
177
|
-
|
|
178
149
|
_defineProperty(ModalRoot, "defaultProps", {
|
|
179
150
|
closable: true,
|
|
180
151
|
i18n: localizedMessages,
|
|
181
152
|
locale: 'en'
|
|
182
153
|
});
|
|
183
|
-
|
|
184
154
|
function Window(props) {
|
|
185
155
|
var _ref2 = arguments[0],
|
|
186
|
-
|
|
187
|
-
|
|
156
|
+
_ref6;
|
|
188
157
|
var SWindow = Slide;
|
|
189
158
|
var Children = props.Children,
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
159
|
+
styles = props.styles,
|
|
160
|
+
visible = props.visible,
|
|
161
|
+
closable = props.closable,
|
|
162
|
+
duration = props.duration;
|
|
194
163
|
var windowRef = useRef(null);
|
|
195
164
|
useFocusLock(windowRef, true, 'auto', !visible);
|
|
196
165
|
return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(SWindow, _ref6.cn("SWindow", _objectSpread({}, _assignProps2({
|
|
@@ -205,16 +174,14 @@ function Window(props) {
|
|
|
205
174
|
"value": windowRef
|
|
206
175
|
}), closable && /*#__PURE__*/React.createElement(Modal.Close, null), /*#__PURE__*/React.createElement(Children, _ref6.cn("Children", {}))));
|
|
207
176
|
}
|
|
208
|
-
|
|
209
177
|
function Overlay(props) {
|
|
210
178
|
var _ref3 = arguments[0],
|
|
211
|
-
|
|
212
|
-
|
|
179
|
+
_ref7;
|
|
213
180
|
var SOverlay = FadeInOut;
|
|
214
181
|
var Children = props.Children,
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
182
|
+
styles = props.styles,
|
|
183
|
+
onOutsideClick = props.onOutsideClick,
|
|
184
|
+
visible = props.visible;
|
|
218
185
|
var overlayRef = useRef(null);
|
|
219
186
|
usePreventScroll(visible);
|
|
220
187
|
useContextTheme(overlayRef, visible);
|
|
@@ -225,15 +192,13 @@ function Overlay(props) {
|
|
|
225
192
|
"onOutsideClick": onOutsideClick
|
|
226
193
|
}), /*#__PURE__*/React.createElement(Children, _ref7.cn("Children", {}))));
|
|
227
194
|
}
|
|
228
|
-
|
|
229
195
|
function Close(props) {
|
|
230
196
|
var _ref4 = arguments[0],
|
|
231
|
-
|
|
232
|
-
|
|
197
|
+
_ref8;
|
|
233
198
|
var SClose = Box;
|
|
234
199
|
var Children = props.Children,
|
|
235
|
-
|
|
236
|
-
|
|
200
|
+
hasChildren = props.children,
|
|
201
|
+
getI18nText = props.getI18nText;
|
|
237
202
|
return _ref8 = sstyled(props.styles), /*#__PURE__*/React.createElement(SClose, _ref8.cn("SClose", _objectSpread({}, _assignProps4({
|
|
238
203
|
"tag": "button",
|
|
239
204
|
"tabIndex": 0,
|
|
@@ -242,15 +207,12 @@ function Close(props) {
|
|
|
242
207
|
"title": getI18nText('close')
|
|
243
208
|
})));
|
|
244
209
|
}
|
|
245
|
-
|
|
246
210
|
Close.enhance = [keyboardFocusEnhance()];
|
|
247
|
-
|
|
248
211
|
function Title(props) {
|
|
249
212
|
var _ref5 = arguments[0],
|
|
250
|
-
|
|
251
|
-
|
|
213
|
+
_ref9;
|
|
252
214
|
var setTitle = props.setTitle,
|
|
253
|
-
|
|
215
|
+
styles = props.styles;
|
|
254
216
|
var STitle = Text;
|
|
255
217
|
useEffect(function () {
|
|
256
218
|
return setTitle();
|
|
@@ -259,7 +221,6 @@ function Title(props) {
|
|
|
259
221
|
"tag": "h2"
|
|
260
222
|
}, _ref5))));
|
|
261
223
|
}
|
|
262
|
-
|
|
263
224
|
var Modal = createComponent(ModalRoot, {
|
|
264
225
|
Window: Window,
|
|
265
226
|
Overlay: Overlay,
|
package/lib/es6/Modal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["React","useRef","useEffect","FadeInOut","Slide","createComponent","Component","sstyled","Root","Portal","PortalProvider","Box","OutsideClick","CloseIcon","fire","usePreventScroll","isAdvanceMode","keyboardFocusEnhance","localizedMessages","i18nEnhance","Text","uniqueIDEnhancement","cssVariableEnhance","useFocusLock","useContextTheme","ModalRoot","hasTitle","e","key","stopPropagation","asProps","duration","visible","animationsDisabled","onOutsideClick","handleOutsideClick","closable","getI18nText","uid","state","onKeyDown","handleKeyDown","undefined","onClick","handleIconCloseClick","setTitle","setState","id","Children","disablePortal","advanceMode","Modal","Overlay","displayName","Window","style","variable","fallback","map","Number","parseInt","prop","i18n","locale","props","SWindow","styles","windowRef","SOverlay","overlayRef","Close","SClose","hasChildren","children","enhance","Title","STitle"],"sources":["../../src/Modal.jsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\nimport { FadeInOut, Slide } from '@semcore/animation';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Portal, { PortalProvider } from '@semcore/portal';\nimport { Box } from '@semcore/flex-box';\nimport OutsideClick from '@semcore/outside-click';\nimport CloseIcon from '@semcore/icon/Close/l';\nimport fire from '@semcore/utils/lib/fire';\nimport usePreventScroll from '@semcore/utils/lib/use/usePreventScroll';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport style from './style/modal.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\nimport { useContextTheme } from '@semcore/utils/lib/ThemeProvider';\n\nclass ModalRoot extends Component {\n static displayName = 'Modal';\n static style = style;\n static enhance = [\n i18nEnhance(localizedMessages),\n uniqueIDEnhancement(),\n cssVariableEnhance({\n variable: '--intergalactic-duration-modal',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n static defaultProps = {\n closable: true,\n i18n: localizedMessages,\n locale: 'en',\n };\n state = { hasTitle: false };\n\n handleKeyDown = (e) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n fire(this, 'onClose', 'onEscape', e);\n }\n };\n\n handleIconCloseClick = (e) => {\n fire(this, 'onClose', 'onCloseClick', e);\n };\n\n handleOutsideClick = (e) => {\n fire(this, 'onClose', 'onOutsideClick', e);\n };\n\n getOverlayProps() {\n const { duration, visible, animationsDisabled } = this.asProps;\n return {\n duration,\n visible,\n onOutsideClick: this.handleOutsideClick,\n animationsDisabled,\n };\n }\n\n getWindowProps() {\n const { visible, closable, getI18nText, uid, duration, animationsDisabled } = this.asProps;\n const { hasTitle } = this.state;\n return {\n visible,\n closable,\n onKeyDown: this.handleKeyDown,\n 'aria-label': hasTitle ? undefined : getI18nText('title'),\n 'aria-labelledby': hasTitle ? `igc-${uid}-title` : undefined,\n duration,\n animationsDisabled,\n };\n }\n\n getCloseProps() {\n const { getI18nText } = this.asProps;\n\n return {\n onClick: this.handleIconCloseClick,\n getI18nText,\n };\n }\n\n getTitleProps() {\n const { uid } = this.asProps;\n const setTitle = () => this.setState({ hasTitle: true });\n\n return {\n id: `igc-${uid}-title`,\n setTitle,\n };\n }\n\n render() {\n const { Children, disablePortal } = this.asProps;\n\n const advanceMode = isAdvanceMode(Children, [\n Modal.Overlay.displayName,\n Modal.Window.displayName,\n ]);\n\n return (\n <Portal disablePortal={disablePortal}>\n {advanceMode ? (\n <Children />\n ) : (\n <Modal.Overlay>\n <Root render={Modal.Window} />\n </Modal.Overlay>\n )}\n </Portal>\n );\n }\n}\n\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable, duration } = props;\n const windowRef = useRef(null);\n\n useFocusLock(windowRef, true, 'auto', !visible);\n\n return sstyled(styles)(\n <SWindow\n render={Slide}\n initialAnimation={true}\n slideOrigin=\"top\"\n visible={visible}\n role=\"dialog\"\n aria-modal={true}\n duration={duration}\n ref={windowRef}\n >\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\n </SWindow>,\n );\n}\n\nfunction Overlay(props) {\n const SOverlay = Root;\n const { Children, styles, onOutsideClick, visible } = props;\n const overlayRef = useRef(null);\n usePreventScroll(visible);\n useContextTheme(overlayRef, visible);\n\n return sstyled(styles)(\n <SOverlay render={FadeInOut} ref={overlayRef}>\n <OutsideClick root={overlayRef} onOutsideClick={onOutsideClick}>\n <Children />\n </OutsideClick>\n </SOverlay>,\n );\n}\n\nfunction Close(props) {\n const SClose = Root;\n const { Children, children: hasChildren, getI18nText } = props;\n return sstyled(props.styles)(\n <SClose render={Box} tag=\"button\" tabIndex={0} aria-label={getI18nText('close')}>\n {hasChildren ? <Children /> : <CloseIcon title={getI18nText('close')} />}\n </SClose>,\n );\n}\n\nClose.enhance = [keyboardFocusEnhance()];\n\nfunction Title(props) {\n const { setTitle, styles } = props;\n const STitle = Root;\n\n useEffect(() => setTitle());\n\n return sstyled(styles)(<STitle render={Text} tag=\"h2\" />);\n}\n\nconst Modal = createComponent(ModalRoot, {\n Window,\n Overlay,\n Close,\n Title,\n});\n\nexport default Modal;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","names":["React","useRef","useEffect","FadeInOut","Slide","createComponent","Component","sstyled","Root","Portal","PortalProvider","Box","OutsideClick","CloseIcon","fire","usePreventScroll","isAdvanceMode","keyboardFocusEnhance","style","_sstyled","insert","localizedMessages","i18nEnhance","Text","uniqueIDEnhancement","cssVariableEnhance","useFocusLock","useContextTheme","ModalRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","hasTitle","e","key","stopPropagation","_createClass","value","getOverlayProps","_this$asProps","asProps","duration","visible","animationsDisabled","onOutsideClick","handleOutsideClick","getWindowProps","_this$asProps2","closable","getI18nText","uid","state","onKeyDown","handleKeyDown","undefined","getCloseProps","onClick","handleIconCloseClick","getTitleProps","_this2","setTitle","setState","id","render","_ref","_this$asProps3","Children","disablePortal","advanceMode","Modal","Overlay","displayName","Window","createElement","_assignProps","variable","fallback","map","Number","parseInt","prop","i18n","locale","props","_ref2","arguments[0]","_ref6","SWindow","styles","windowRef","cn","_objectSpread","_assignProps2","Close","_ref3","_ref7","SOverlay","overlayRef","_assignProps3","_ref4","_ref8","SClose","hasChildren","children","_assignProps4","enhance","Title","_ref5","_ref9","STitle","_assignProps5"],"sources":["../../src/Modal.jsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\nimport { FadeInOut, Slide } from '@semcore/animation';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Portal, { PortalProvider } from '@semcore/portal';\nimport { Box } from '@semcore/flex-box';\nimport OutsideClick from '@semcore/outside-click';\nimport CloseIcon from '@semcore/icon/Close/l';\nimport fire from '@semcore/utils/lib/fire';\nimport usePreventScroll from '@semcore/utils/lib/use/usePreventScroll';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport style from './style/modal.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\nimport { useContextTheme } from '@semcore/utils/lib/ThemeProvider';\n\nclass ModalRoot extends Component {\n static displayName = 'Modal';\n static style = style;\n static enhance = [\n i18nEnhance(localizedMessages),\n uniqueIDEnhancement(),\n cssVariableEnhance({\n variable: '--intergalactic-duration-modal',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n static defaultProps = {\n closable: true,\n i18n: localizedMessages,\n locale: 'en',\n };\n state = { hasTitle: false };\n\n handleKeyDown = (e) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n fire(this, 'onClose', 'onEscape', e);\n }\n };\n\n handleIconCloseClick = (e) => {\n fire(this, 'onClose', 'onCloseClick', e);\n };\n\n handleOutsideClick = (e) => {\n fire(this, 'onClose', 'onOutsideClick', e);\n };\n\n getOverlayProps() {\n const { duration, visible, animationsDisabled } = this.asProps;\n return {\n duration,\n visible,\n onOutsideClick: this.handleOutsideClick,\n animationsDisabled,\n };\n }\n\n getWindowProps() {\n const { visible, closable, getI18nText, uid, duration, animationsDisabled } = this.asProps;\n const { hasTitle } = this.state;\n return {\n visible,\n closable,\n onKeyDown: this.handleKeyDown,\n 'aria-label': hasTitle ? undefined : getI18nText('title'),\n 'aria-labelledby': hasTitle ? `igc-${uid}-title` : undefined,\n duration,\n animationsDisabled,\n };\n }\n\n getCloseProps() {\n const { getI18nText } = this.asProps;\n\n return {\n onClick: this.handleIconCloseClick,\n getI18nText,\n };\n }\n\n getTitleProps() {\n const { uid } = this.asProps;\n const setTitle = () => this.setState({ hasTitle: true });\n\n return {\n id: `igc-${uid}-title`,\n setTitle,\n };\n }\n\n render() {\n const { Children, disablePortal } = this.asProps;\n\n const advanceMode = isAdvanceMode(Children, [\n Modal.Overlay.displayName,\n Modal.Window.displayName,\n ]);\n\n return (\n <Portal disablePortal={disablePortal}>\n {advanceMode ? (\n <Children />\n ) : (\n <Modal.Overlay>\n <Root render={Modal.Window} />\n </Modal.Overlay>\n )}\n </Portal>\n );\n }\n}\n\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable, duration } = props;\n const windowRef = useRef(null);\n\n useFocusLock(windowRef, true, 'auto', !visible);\n\n return sstyled(styles)(\n <SWindow\n render={Slide}\n initialAnimation={true}\n slideOrigin=\"top\"\n visible={visible}\n role=\"dialog\"\n aria-modal={true}\n duration={duration}\n ref={windowRef}\n >\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\n </SWindow>,\n );\n}\n\nfunction Overlay(props) {\n const SOverlay = Root;\n const { Children, styles, onOutsideClick, visible } = props;\n const overlayRef = useRef(null);\n usePreventScroll(visible);\n useContextTheme(overlayRef, visible);\n\n return sstyled(styles)(\n <SOverlay render={FadeInOut} ref={overlayRef}>\n <OutsideClick root={overlayRef} onOutsideClick={onOutsideClick}>\n <Children />\n </OutsideClick>\n </SOverlay>,\n );\n}\n\nfunction Close(props) {\n const SClose = Root;\n const { Children, children: hasChildren, getI18nText } = props;\n return sstyled(props.styles)(\n <SClose render={Box} tag=\"button\" tabIndex={0} aria-label={getI18nText('close')}>\n {hasChildren ? <Children /> : <CloseIcon title={getI18nText('close')} />}\n </SClose>,\n );\n}\n\nClose.enhance = [keyboardFocusEnhance()];\n\nfunction Title(props) {\n const { setTitle, styles } = props;\n const STitle = Root;\n\n useEffect(() => setTitle());\n\n return sstyled(styles)(<STitle render={Text} tag=\"h2\" />);\n}\n\nconst Modal = createComponent(ModalRoot, {\n Window,\n Overlay,\n Close,\n Title,\n});\n\nexport default Modal;\n"],"mappings":"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"}
|
package/lib/es6/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './Modal';\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["default"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './Modal';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,SAAS"}
|
package/lib/es6/modal.vo-test.js
CHANGED
|
@@ -9,112 +9,91 @@ import { getReportHeader, makeVoiceOverReporter } from '@semcore/jest-preset-ui/
|
|
|
9
9
|
test('Users can interact with Modal via VoiceOver', /*#__PURE__*/function () {
|
|
10
10
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
|
|
11
11
|
var page, pureVoiceOver, standPath, reportPath, htmlContent, _yield$makeVoiceOverR, voiceOver, getReport, report;
|
|
12
|
-
|
|
13
12
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
14
|
-
while (1) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
_context.next = 52;
|
|
96
|
-
return getReportHeader();
|
|
97
|
-
|
|
98
|
-
case 52:
|
|
99
|
-
_context.t10 = _context.sent;
|
|
100
|
-
_context.t11 = _context.t10 + '\n\n';
|
|
101
|
-
_context.next = 56;
|
|
102
|
-
return getReport(standPath);
|
|
103
|
-
|
|
104
|
-
case 56:
|
|
105
|
-
_context.t12 = _context.sent;
|
|
106
|
-
report = _context.t11 + _context.t12;
|
|
107
|
-
_context.next = 60;
|
|
108
|
-
return writeFile(reportPath, report);
|
|
109
|
-
|
|
110
|
-
case 60:
|
|
111
|
-
case "end":
|
|
112
|
-
return _context.stop();
|
|
113
|
-
}
|
|
13
|
+
while (1) switch (_context.prev = _context.next) {
|
|
14
|
+
case 0:
|
|
15
|
+
page = _ref.page, pureVoiceOver = _ref.voiceOver;
|
|
16
|
+
standPath = resolvePath(__dirname, '../../../website/docs/components/modal/examples/modal.jsx');
|
|
17
|
+
reportPath = resolvePath(__dirname, '../../../website/docs/components/modal/modal-a11y-report.md');
|
|
18
|
+
_context.next = 5;
|
|
19
|
+
return e2eStandToHtml(standPath, 'en');
|
|
20
|
+
case 5:
|
|
21
|
+
htmlContent = _context.sent;
|
|
22
|
+
_context.next = 8;
|
|
23
|
+
return page.setContent(htmlContent);
|
|
24
|
+
case 8:
|
|
25
|
+
_context.next = 10;
|
|
26
|
+
return makeVoiceOverReporter(pureVoiceOver);
|
|
27
|
+
case 10:
|
|
28
|
+
_yield$makeVoiceOverR = _context.sent;
|
|
29
|
+
voiceOver = _yield$makeVoiceOverR.voiceOver;
|
|
30
|
+
getReport = _yield$makeVoiceOverR.getReport;
|
|
31
|
+
_context.next = 15;
|
|
32
|
+
return voiceOver.interact();
|
|
33
|
+
case 15:
|
|
34
|
+
_context.t0 = expect;
|
|
35
|
+
_context.next = 18;
|
|
36
|
+
return voiceOver.itemText();
|
|
37
|
+
case 18:
|
|
38
|
+
_context.t1 = _context.sent;
|
|
39
|
+
(0, _context.t0)(_context.t1).toBe('Open modal button');
|
|
40
|
+
_context.next = 22;
|
|
41
|
+
return voiceOver.act();
|
|
42
|
+
case 22:
|
|
43
|
+
_context.t2 = expect;
|
|
44
|
+
_context.next = 25;
|
|
45
|
+
return voiceOver.lastSpokenPhrase();
|
|
46
|
+
case 25:
|
|
47
|
+
_context.t3 = _context.sent;
|
|
48
|
+
(0, _context.t2)(_context.t3).toBe('Do you want to save your changes? web dialog with 5 items Close button');
|
|
49
|
+
_context.next = 29;
|
|
50
|
+
return voiceOver.next();
|
|
51
|
+
case 29:
|
|
52
|
+
_context.t4 = expect;
|
|
53
|
+
_context.next = 32;
|
|
54
|
+
return voiceOver.itemText();
|
|
55
|
+
case 32:
|
|
56
|
+
_context.t5 = _context.sent;
|
|
57
|
+
(0, _context.t4)(_context.t5).toBe('Do you want to save your changes? heading level 2');
|
|
58
|
+
_context.next = 36;
|
|
59
|
+
return voiceOver.next();
|
|
60
|
+
case 36:
|
|
61
|
+
_context.next = 38;
|
|
62
|
+
return voiceOver.next();
|
|
63
|
+
case 38:
|
|
64
|
+
_context.t6 = expect;
|
|
65
|
+
_context.next = 41;
|
|
66
|
+
return voiceOver.itemText();
|
|
67
|
+
case 41:
|
|
68
|
+
_context.t7 = _context.sent;
|
|
69
|
+
(0, _context.t6)(_context.t7).toBe('Save changes button');
|
|
70
|
+
_context.next = 45;
|
|
71
|
+
return voiceOver.act();
|
|
72
|
+
case 45:
|
|
73
|
+
_context.t8 = expect;
|
|
74
|
+
_context.next = 48;
|
|
75
|
+
return voiceOver.itemText();
|
|
76
|
+
case 48:
|
|
77
|
+
_context.t9 = _context.sent;
|
|
78
|
+
(0, _context.t8)(_context.t9).toBe('Open modal button');
|
|
79
|
+
_context.next = 52;
|
|
80
|
+
return getReportHeader();
|
|
81
|
+
case 52:
|
|
82
|
+
_context.t10 = _context.sent;
|
|
83
|
+
_context.t11 = _context.t10 + '\n\n';
|
|
84
|
+
_context.next = 56;
|
|
85
|
+
return getReport(standPath);
|
|
86
|
+
case 56:
|
|
87
|
+
_context.t12 = _context.sent;
|
|
88
|
+
report = _context.t11 + _context.t12;
|
|
89
|
+
_context.next = 60;
|
|
90
|
+
return writeFile(reportPath, report);
|
|
91
|
+
case 60:
|
|
92
|
+
case "end":
|
|
93
|
+
return _context.stop();
|
|
114
94
|
}
|
|
115
95
|
}, _callee);
|
|
116
96
|
}));
|
|
117
|
-
|
|
118
97
|
return function (_x) {
|
|
119
98
|
return _ref2.apply(this, arguments);
|
|
120
99
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.vo-test.js","names":["expect","voTest","test","e2eStandToHtml","resolve","resolvePath","writeFile","getReportHeader","makeVoiceOverReporter","
|
|
1
|
+
{"version":3,"file":"modal.vo-test.js","names":["expect","voTest","test","e2eStandToHtml","resolve","resolvePath","writeFile","getReportHeader","makeVoiceOverReporter","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref","page","pureVoiceOver","standPath","reportPath","htmlContent","_yield$makeVoiceOverR","voiceOver","getReport","report","wrap","_callee$","_context","prev","next","__dirname","sent","setContent","interact","t0","itemText","t1","toBe","act","t2","lastSpokenPhrase","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","stop","_x","apply","arguments"],"sources":["../../src/modal.vo-test.ts"],"sourcesContent":["import { expect } from '@playwright/test';\nimport { voTest as test } from '@guidepup/playwright';\nimport { e2eStandToHtml } from '@semcore/jest-preset-ui/e2e-stand';\nimport { resolve as resolvePath } from 'path';\nimport { writeFile } from 'fs/promises';\nimport { getReportHeader, makeVoiceOverReporter } from '@semcore/jest-preset-ui/vo-reporter';\n\ntest('Users can interact with Modal via VoiceOver', async ({ page, voiceOver: pureVoiceOver }) => {\n const standPath = resolvePath(\n __dirname,\n '../../../website/docs/components/modal/examples/modal.jsx',\n );\n const reportPath = resolvePath(\n __dirname,\n '../../../website/docs/components/modal/modal-a11y-report.md',\n );\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()).toBe(\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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__intergalactic-dynamic-locales.js","names":["de","en","es","fr","it","ja","ko","pt","tr","vi","zh","localizedMessages"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport pt from './pt.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n pt,\n tr,\n vi,\n zh,\n};\n"],"mappings":"AAAA,OAAOA,
|
|
1
|
+
{"version":3,"file":"__intergalactic-dynamic-locales.js","names":["de","en","es","fr","it","ja","ko","pt","tr","vi","zh","localizedMessages"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport pt from './pt.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n pt,\n tr,\n vi,\n zh,\n};\n"],"mappings":"AAAA,OAAOA,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAE1B,OAAO,IAAMC,iBAAiB,GAAG;EAC/BX,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA;AACF,CAAC"}
|