@semcore/modal 2.3.4 → 2.4.2
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 +18 -0
- package/lib/cjs/Modal.js +20 -14
- package/lib/cjs/Modal.js.map +1 -1
- package/lib/cjs/index.js +5 -1
- package/lib/es6/Modal.js +13 -12
- package/lib/es6/Modal.js.map +1 -1
- package/package.json +9 -4
- package/src/Modal.js +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [2.4.2] - 2022-02-24
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added repository field to package.json file.
|
|
10
|
+
|
|
11
|
+
## [2.4.1] - 2022-01-25
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Replaced function `findComponent` to `isAdvanceMode` for check children in `Modal`.
|
|
16
|
+
|
|
17
|
+
## [2.4.0] - 2022-01-18
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Up version icons and use new icon.
|
|
22
|
+
|
|
5
23
|
## [2.3.4] - 2021-9-13
|
|
6
24
|
|
|
7
25
|
### Changed
|
package/lib/cjs/Modal.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
@@ -41,19 +41,25 @@ var _flexBox = require("@semcore/flex-box");
|
|
|
41
41
|
|
|
42
42
|
var _outsideClick = _interopRequireDefault(require("@semcore/outside-click"));
|
|
43
43
|
|
|
44
|
-
var
|
|
44
|
+
var _l = _interopRequireDefault(require("@semcore/icon/Close/l"));
|
|
45
45
|
|
|
46
46
|
var _fire = _interopRequireDefault(require("@semcore/utils/lib/fire"));
|
|
47
47
|
|
|
48
48
|
var _usePreventScroll = _interopRequireDefault(require("@semcore/utils/lib/use/usePreventScroll"));
|
|
49
49
|
|
|
50
|
-
var _findComponent =
|
|
50
|
+
var _findComponent = require("@semcore/utils/lib/findComponent");
|
|
51
51
|
|
|
52
52
|
var _keyboardFocusEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/keyboardFocusEnhance"));
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
var _excluded = ["tag"];
|
|
55
|
+
|
|
56
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
57
|
+
|
|
58
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
59
|
+
|
|
60
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
55
61
|
|
|
56
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
62
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
57
63
|
|
|
58
64
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
59
65
|
|
|
@@ -64,15 +70,15 @@ var style = (
|
|
|
64
70
|
/*__reshadow_css_start__*/
|
|
65
71
|
_core.sstyled.insert(
|
|
66
72
|
/*__inner_css_start__*/
|
|
67
|
-
".
|
|
73
|
+
".___SWindow_2jffv_gg_{position:relative;border-radius:6px;background:#fff;box-sizing:border-box;margin:auto;padding:24px 32px 32px 32px}.___SWindow_2jffv_gg_:focus{outline:none}.___SOverlay_2jffv_gg_{position:fixed;top:0;bottom:0;left:0;right:0;margin:0;display:flex;justify-content:center;align-items:center;padding:40px;background:rgba(0,0,0,.6);overflow:auto;z-index:10005;-webkit-overflow-scrolling:touch}.___SOverlay_2jffv_gg_ .___SOverlay_2jffv_gg_{background:rgba(0,0,0,.4)}.___SClose_2jffv_gg_{display:inline-flex;position:absolute;right:0;top:0;padding:12px;color:#a6b0b3;cursor:pointer;z-index:1;border:none;background:none;outline:none}.___SClose_2jffv_gg_:hover{color:#929b9e}.___SClose_2jffv_gg_.__keyboardFocused_2jffv_gg_{box-shadow:0 0 0 3px rgba(43, 148, 225, 0.3)}@media (max-width:767px){.___SWindow_2jffv_gg_{min-width:60%}.___SOverlay_2jffv_gg_{padding:10px}}"
|
|
68
74
|
/*__inner_css_end__*/
|
|
69
75
|
, "juwj6d_gg_")
|
|
70
76
|
/*__reshadow_css_end__*/
|
|
71
77
|
, {
|
|
72
|
-
"__SWindow": "
|
|
73
|
-
"__SOverlay": "
|
|
74
|
-
"__SClose": "
|
|
75
|
-
"_keyboardFocused": "
|
|
78
|
+
"__SWindow": "___SWindow_2jffv_gg_",
|
|
79
|
+
"__SOverlay": "___SOverlay_2jffv_gg_",
|
|
80
|
+
"__SClose": "___SClose_2jffv_gg_",
|
|
81
|
+
"_keyboardFocused": "__keyboardFocused_2jffv_gg_"
|
|
76
82
|
});
|
|
77
83
|
|
|
78
84
|
var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -144,7 +150,7 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
|
144
150
|
var _this$asProps3 = this.asProps,
|
|
145
151
|
Children = _this$asProps3.Children,
|
|
146
152
|
disablePortal = _this$asProps3.disablePortal;
|
|
147
|
-
var advanceMode =
|
|
153
|
+
var advanceMode = (0, _findComponent.isAdvanceMode)(Children, [Modal.Overlay.displayName, Modal.Window.displayName]);
|
|
148
154
|
return /*#__PURE__*/_react["default"].createElement(_portal["default"], {
|
|
149
155
|
disablePortal: disablePortal
|
|
150
156
|
}, advanceMode ? /*#__PURE__*/_react["default"].createElement(Children, null) : /*#__PURE__*/_react["default"].createElement(Modal.Overlay, null, /*#__PURE__*/_react["default"].createElement(Modal.Window, (0, _core.assignProps)({}, _ref))));
|
|
@@ -162,7 +168,7 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
|
162
168
|
|
|
163
169
|
var FocusLockWrapper = /*#__PURE__*/_react["default"].forwardRef(function (_ref8, ref) {
|
|
164
170
|
var tag = _ref8.tag,
|
|
165
|
-
other = (0, _objectWithoutProperties2["default"])(_ref8,
|
|
171
|
+
other = (0, _objectWithoutProperties2["default"])(_ref8, _excluded);
|
|
166
172
|
return /*#__PURE__*/_react["default"].createElement(_reactFocusLock["default"], (0, _extends2["default"])({
|
|
167
173
|
ref: ref,
|
|
168
174
|
as: tag,
|
|
@@ -227,7 +233,7 @@ function Close(props) {
|
|
|
227
233
|
}
|
|
228
234
|
|
|
229
235
|
Close.defaultProps = {
|
|
230
|
-
children: /*#__PURE__*/_react["default"].createElement(
|
|
236
|
+
children: /*#__PURE__*/_react["default"].createElement(_l["default"], {
|
|
231
237
|
title: "Close"
|
|
232
238
|
})
|
|
233
239
|
};
|
package/lib/cjs/Modal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Modal.js"],"names":["ModalRoot","e","key","stopPropagation","asProps","duration","visible","onOutsideClick","handleOutsideClick","closable","onKeyDown","handleKeyDown","onClick","handleIconCloseClick","Children","disablePortal","advanceMode","Modal","Overlay","displayName","Window","Component","style","FocusLockWrapper","React","forwardRef","ref","tag","other","props","SWindow","styles","windowRef","Box","SOverlay","FadeInOut","overlayRef","Close","SClose","defaultProps","children","enhance"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;AAHA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA
|
|
1
|
+
{"version":3,"sources":["../../src/Modal.js"],"names":["ModalRoot","e","key","stopPropagation","asProps","duration","visible","onOutsideClick","handleOutsideClick","closable","onKeyDown","handleKeyDown","onClick","handleIconCloseClick","Children","disablePortal","advanceMode","Modal","Overlay","displayName","Window","Component","style","FocusLockWrapper","React","forwardRef","ref","tag","other","props","SWindow","styles","windowRef","Box","SOverlay","FadeInOut","overlayRef","Close","SClose","defaultProps","children","enhance"],"mappings":"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","sourcesContent":["import React, { useRef } from 'react';\nimport FocusLock from 'react-focus-lock';\nimport { FadeInOut } 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';\n\nclass ModalRoot extends Component {\n static displayName = 'Modal';\n static style = style;\n static defaultProps = {\n duration: 200,\n closable: true,\n };\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 } = this.asProps;\n return {\n duration,\n visible,\n onOutsideClick: this.handleOutsideClick,\n };\n }\n\n getWindowProps() {\n const { visible, closable } = this.asProps;\n return {\n visible,\n closable,\n onKeyDown: this.handleKeyDown,\n };\n }\n\n getCloseProps() {\n return {\n onClick: this.handleIconCloseClick,\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\nconst FocusLockWrapper = React.forwardRef(function ({ tag, ...other }, ref) {\n return <FocusLock ref={ref} as={tag} lockProps={other} {...other} />;\n});\n\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable } = props;\n const windowRef = useRef(null);\n\n if (!visible) return null;\n\n return sstyled(styles)(\n <SWindow\n render={FocusLockWrapper}\n tag={Box}\n ref={windowRef}\n returnFocus={true}\n tabIndex={-1}\n autoFocus={true}\n role=\"dialog\"\n aria-modal={true}\n aria-label=\"Modal window\"\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\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 return sstyled(props.styles)(\n <SClose render={Box} tag=\"button\" tabIndex={0} aria-label=\"Close\" />,\n );\n}\n\nClose.defaultProps = {\n children: <CloseIcon title=\"Close\" />,\n};\n\nClose.enhance = [keyboardFocusEnhance()];\n\nconst Modal = createComponent(ModalRoot, {\n Window,\n Overlay,\n Close,\n});\n\nexport default Modal;\n"],"file":"Modal.js"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
@@ -26,4 +26,8 @@ Object.keys(_Modal).forEach(function (key) {
|
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
|
+
|
|
30
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
+
|
|
32
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
33
|
//# sourceMappingURL=index.js.map
|
package/lib/es6/Modal.js
CHANGED
|
@@ -12,10 +12,11 @@ import { assignProps as _assignProps4 } from "@semcore/core";
|
|
|
12
12
|
import { assignProps as _assignProps3 } from "@semcore/core";
|
|
13
13
|
import { assignProps as _assignProps2 } from "@semcore/core";
|
|
14
14
|
import { assignProps as _assignProps } from "@semcore/core";
|
|
15
|
+
var _excluded = ["tag"];
|
|
15
16
|
|
|
16
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
18
|
|
|
18
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
20
|
|
|
20
21
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
21
22
|
|
|
@@ -28,10 +29,10 @@ import createComponent, { Component, sstyled, Root } from '@semcore/core';
|
|
|
28
29
|
import Portal, { PortalProvider } from '@semcore/portal';
|
|
29
30
|
import { Box } from '@semcore/flex-box';
|
|
30
31
|
import OutsideClick from '@semcore/outside-click';
|
|
31
|
-
import
|
|
32
|
+
import CloseIcon from '@semcore/icon/Close/l';
|
|
32
33
|
import fire from '@semcore/utils/lib/fire';
|
|
33
34
|
import usePreventScroll from '@semcore/utils/lib/use/usePreventScroll';
|
|
34
|
-
import
|
|
35
|
+
import { isAdvanceMode } from '@semcore/utils/lib/findComponent';
|
|
35
36
|
import keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
|
|
36
37
|
|
|
37
38
|
/*__reshadow-styles__:"./style/modal.shadow.css"*/
|
|
@@ -39,15 +40,15 @@ var style = (
|
|
|
39
40
|
/*__reshadow_css_start__*/
|
|
40
41
|
_sstyled.insert(
|
|
41
42
|
/*__inner_css_start__*/
|
|
42
|
-
".
|
|
43
|
+
".___SWindow_2jffv_gg_{position:relative;border-radius:6px;background:#fff;box-sizing:border-box;margin:auto;padding:24px 32px 32px 32px}.___SWindow_2jffv_gg_:focus{outline:none}.___SOverlay_2jffv_gg_{position:fixed;top:0;bottom:0;left:0;right:0;margin:0;display:flex;justify-content:center;align-items:center;padding:40px;background:rgba(0,0,0,.6);overflow:auto;z-index:10005;-webkit-overflow-scrolling:touch}.___SOverlay_2jffv_gg_ .___SOverlay_2jffv_gg_{background:rgba(0,0,0,.4)}.___SClose_2jffv_gg_{display:inline-flex;position:absolute;right:0;top:0;padding:12px;color:#a6b0b3;cursor:pointer;z-index:1;border:none;background:none;outline:none}.___SClose_2jffv_gg_:hover{color:#929b9e}.___SClose_2jffv_gg_.__keyboardFocused_2jffv_gg_{box-shadow:0 0 0 3px rgba(43, 148, 225, 0.3)}@media (max-width:767px){.___SWindow_2jffv_gg_{min-width:60%}.___SOverlay_2jffv_gg_{padding:10px}}"
|
|
43
44
|
/*__inner_css_end__*/
|
|
44
45
|
, "juwj6d_gg_")
|
|
45
46
|
/*__reshadow_css_end__*/
|
|
46
47
|
, {
|
|
47
|
-
"__SWindow": "
|
|
48
|
-
"__SOverlay": "
|
|
49
|
-
"__SClose": "
|
|
50
|
-
"_keyboardFocused": "
|
|
48
|
+
"__SWindow": "___SWindow_2jffv_gg_",
|
|
49
|
+
"__SOverlay": "___SOverlay_2jffv_gg_",
|
|
50
|
+
"__SClose": "___SClose_2jffv_gg_",
|
|
51
|
+
"_keyboardFocused": "__keyboardFocused_2jffv_gg_"
|
|
51
52
|
});
|
|
52
53
|
|
|
53
54
|
var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -123,7 +124,7 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
|
|
|
123
124
|
var _this$asProps3 = this.asProps,
|
|
124
125
|
Children = _this$asProps3.Children,
|
|
125
126
|
disablePortal = _this$asProps3.disablePortal;
|
|
126
|
-
var advanceMode =
|
|
127
|
+
var advanceMode = isAdvanceMode(Children, [Modal.Overlay.displayName, Modal.Window.displayName]);
|
|
127
128
|
return /*#__PURE__*/React.createElement(Portal, {
|
|
128
129
|
disablePortal: disablePortal
|
|
129
130
|
}, advanceMode ? /*#__PURE__*/React.createElement(Children, null) : /*#__PURE__*/React.createElement(Modal.Overlay, null, /*#__PURE__*/React.createElement(Modal.Window, _assignProps({}, _ref))));
|
|
@@ -144,7 +145,7 @@ _defineProperty(ModalRoot, "defaultProps", {
|
|
|
144
145
|
|
|
145
146
|
var FocusLockWrapper = /*#__PURE__*/React.forwardRef(function (_ref8, ref) {
|
|
146
147
|
var tag = _ref8.tag,
|
|
147
|
-
other = _objectWithoutProperties(_ref8,
|
|
148
|
+
other = _objectWithoutProperties(_ref8, _excluded);
|
|
148
149
|
|
|
149
150
|
return /*#__PURE__*/React.createElement(FocusLock, _extends({
|
|
150
151
|
ref: ref,
|
|
@@ -210,7 +211,7 @@ function Close(props) {
|
|
|
210
211
|
}
|
|
211
212
|
|
|
212
213
|
Close.defaultProps = {
|
|
213
|
-
children: /*#__PURE__*/React.createElement(
|
|
214
|
+
children: /*#__PURE__*/React.createElement(CloseIcon, {
|
|
214
215
|
title: "Close"
|
|
215
216
|
})
|
|
216
217
|
};
|
package/lib/es6/Modal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Modal.js"],"names":["React","useRef","FocusLock","FadeInOut","createComponent","Component","sstyled","Root","Portal","PortalProvider","Box","OutsideClick","
|
|
1
|
+
{"version":3,"sources":["../../src/Modal.js"],"names":["React","useRef","FocusLock","FadeInOut","createComponent","Component","sstyled","Root","Portal","PortalProvider","Box","OutsideClick","CloseIcon","fire","usePreventScroll","isAdvanceMode","keyboardFocusEnhance","ModalRoot","e","key","stopPropagation","asProps","duration","visible","onOutsideClick","handleOutsideClick","closable","onKeyDown","handleKeyDown","onClick","handleIconCloseClick","Children","disablePortal","advanceMode","Modal","Overlay","displayName","Window","style","FocusLockWrapper","forwardRef","ref","tag","other","props","SWindow","styles","windowRef","SOverlay","overlayRef","Close","SClose","defaultProps","children","enhance"],"mappings":"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","sourcesContent":["import React, { useRef } from 'react';\nimport FocusLock from 'react-focus-lock';\nimport { FadeInOut } 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';\n\nclass ModalRoot extends Component {\n static displayName = 'Modal';\n static style = style;\n static defaultProps = {\n duration: 200,\n closable: true,\n };\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 } = this.asProps;\n return {\n duration,\n visible,\n onOutsideClick: this.handleOutsideClick,\n };\n }\n\n getWindowProps() {\n const { visible, closable } = this.asProps;\n return {\n visible,\n closable,\n onKeyDown: this.handleKeyDown,\n };\n }\n\n getCloseProps() {\n return {\n onClick: this.handleIconCloseClick,\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\nconst FocusLockWrapper = React.forwardRef(function ({ tag, ...other }, ref) {\n return <FocusLock ref={ref} as={tag} lockProps={other} {...other} />;\n});\n\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable } = props;\n const windowRef = useRef(null);\n\n if (!visible) return null;\n\n return sstyled(styles)(\n <SWindow\n render={FocusLockWrapper}\n tag={Box}\n ref={windowRef}\n returnFocus={true}\n tabIndex={-1}\n autoFocus={true}\n role=\"dialog\"\n aria-modal={true}\n aria-label=\"Modal window\"\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\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 return sstyled(props.styles)(\n <SClose render={Box} tag=\"button\" tabIndex={0} aria-label=\"Close\" />,\n );\n}\n\nClose.defaultProps = {\n children: <CloseIcon title=\"Close\" />,\n};\n\nClose.enhance = [keyboardFocusEnhance()];\n\nconst Modal = createComponent(ModalRoot, {\n Window,\n Overlay,\n Close,\n});\n\nexport default Modal;\n"],"file":"Modal.js"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/modal",
|
|
3
3
|
"description": "SEMRush Modal Component",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.4.2",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
"test": "jest"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@semcore/utils": "^3.
|
|
16
|
+
"@semcore/utils": "^3.31",
|
|
17
17
|
"@semcore/animation": "^1",
|
|
18
18
|
"@semcore/portal": "^2",
|
|
19
19
|
"@semcore/flex-box": "^4",
|
|
20
|
-
"@semcore/icon": "^2",
|
|
20
|
+
"@semcore/icon": "^2.16",
|
|
21
21
|
"@semcore/outside-click": "^2",
|
|
22
22
|
"react-focus-lock": "^2.3"
|
|
23
23
|
},
|
|
@@ -26,6 +26,11 @@
|
|
|
26
26
|
"react": "16.8 - 17"
|
|
27
27
|
},
|
|
28
28
|
"jest": {
|
|
29
|
-
"preset": "jest-preset-ui"
|
|
29
|
+
"preset": "@semcore/jest-preset-ui"
|
|
30
|
+
},
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "https://github.com/semrush/intergalactic.git",
|
|
34
|
+
"directory": "semcore/modal"
|
|
30
35
|
}
|
|
31
36
|
}
|
package/src/Modal.js
CHANGED
|
@@ -5,10 +5,10 @@ import createComponent, { Component, sstyled, Root } from '@semcore/core';
|
|
|
5
5
|
import Portal, { PortalProvider } from '@semcore/portal';
|
|
6
6
|
import { Box } from '@semcore/flex-box';
|
|
7
7
|
import OutsideClick from '@semcore/outside-click';
|
|
8
|
-
import
|
|
8
|
+
import CloseIcon from '@semcore/icon/Close/l';
|
|
9
9
|
import fire from '@semcore/utils/lib/fire';
|
|
10
10
|
import usePreventScroll from '@semcore/utils/lib/use/usePreventScroll';
|
|
11
|
-
import
|
|
11
|
+
import { isAdvanceMode } from '@semcore/utils/lib/findComponent';
|
|
12
12
|
import keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
|
|
13
13
|
import style from './style/modal.shadow.css';
|
|
14
14
|
|
|
@@ -62,7 +62,7 @@ class ModalRoot extends Component {
|
|
|
62
62
|
render() {
|
|
63
63
|
const { Children, disablePortal } = this.asProps;
|
|
64
64
|
|
|
65
|
-
const advanceMode =
|
|
65
|
+
const advanceMode = isAdvanceMode(Children, [
|
|
66
66
|
Modal.Overlay.displayName,
|
|
67
67
|
Modal.Window.displayName,
|
|
68
68
|
]);
|
|
@@ -81,7 +81,7 @@ class ModalRoot extends Component {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
const FocusLockWrapper = React.forwardRef(function({ tag, ...other }, ref) {
|
|
84
|
+
const FocusLockWrapper = React.forwardRef(function ({ tag, ...other }, ref) {
|
|
85
85
|
return <FocusLock ref={ref} as={tag} lockProps={other} {...other} />;
|
|
86
86
|
});
|
|
87
87
|
|
|
@@ -135,7 +135,7 @@ function Close(props) {
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
Close.defaultProps = {
|
|
138
|
-
children: <
|
|
138
|
+
children: <CloseIcon title="Close" />,
|
|
139
139
|
};
|
|
140
140
|
|
|
141
141
|
Close.enhance = [keyboardFocusEnhance()];
|