@dreamcommerce/aurora 2.10.0-0 → 2.10.0-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/build/cjs/packages/aurora/src/components/button/index.js +1 -1
- package/build/cjs/packages/aurora/src/components/dropdown/components/content.js +8 -5
- package/build/cjs/packages/aurora/src/components/dropdown/components/content.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/dropdown/css_classes.js +2 -0
- package/build/cjs/packages/aurora/src/components/dropdown/css_classes.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/modal/components/modal.js +1 -1
- package/build/cjs/packages/aurora/src/components/modal/hoc/absolute_modal/index.js +3 -1
- package/build/cjs/packages/aurora/src/components/modal/hoc/absolute_modal/index.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/modal/hoc/relative_modal/index.js +5 -1
- package/build/cjs/packages/aurora/src/components/modal/hoc/relative_modal/index.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/slide/index.js +8 -3
- package/build/cjs/packages/aurora/src/components/slide/index.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/tree/components/tree_node.js +4 -3
- package/build/cjs/packages/aurora/src/components/tree/components/tree_node.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/tree/hooks/tree_node_hook.js +4 -2
- package/build/cjs/packages/aurora/src/components/tree/hooks/tree_node_hook.js.map +1 -1
- package/build/cjs/packages/aurora/src/hooks/use_click_outside.js +13 -5
- package/build/cjs/packages/aurora/src/hooks/use_click_outside.js.map +1 -1
- package/build/cjs/packages/star_core/build/esm/packages/star_core/src/classes/axios_http_client/axios_http_client.js +3 -0
- package/build/cjs/packages/star_core/build/esm/packages/star_core/src/classes/axios_http_client/axios_http_client.js.map +1 -1
- package/build/esm/packages/aurora/src/components/button/index.js +1 -1
- package/build/esm/packages/aurora/src/components/dropdown/components/content.js +9 -6
- package/build/esm/packages/aurora/src/components/dropdown/components/content.js.map +1 -1
- package/build/esm/packages/aurora/src/components/dropdown/css_classes.d.ts +1 -0
- package/build/esm/packages/aurora/src/components/dropdown/css_classes.js +2 -1
- package/build/esm/packages/aurora/src/components/dropdown/css_classes.js.map +1 -1
- package/build/esm/packages/aurora/src/components/modal/components/modal.js +1 -1
- package/build/esm/packages/aurora/src/components/modal/hoc/absolute_modal/index.js +2 -1
- package/build/esm/packages/aurora/src/components/modal/hoc/absolute_modal/index.js.map +1 -1
- package/build/esm/packages/aurora/src/components/modal/hoc/relative_modal/index.js +4 -1
- package/build/esm/packages/aurora/src/components/modal/hoc/relative_modal/index.js.map +1 -1
- package/build/esm/packages/aurora/src/components/slide/index.js +8 -3
- package/build/esm/packages/aurora/src/components/slide/index.js.map +1 -1
- package/build/esm/packages/aurora/src/components/slide/types.d.ts +2 -1
- package/build/esm/packages/aurora/src/components/slide/types.js +1 -0
- package/build/esm/packages/aurora/src/components/slide/types.js.map +1 -1
- package/build/esm/packages/aurora/src/components/tree/components/tree_node.js +5 -4
- package/build/esm/packages/aurora/src/components/tree/components/tree_node.js.map +1 -1
- package/build/esm/packages/aurora/src/components/tree/hooks/tree_node_hook.js +4 -2
- package/build/esm/packages/aurora/src/components/tree/hooks/tree_node_hook.js.map +1 -1
- package/build/esm/packages/aurora/src/hooks/use_click_outside.d.ts +10 -1
- package/build/esm/packages/aurora/src/hooks/use_click_outside.js +13 -5
- package/build/esm/packages/aurora/src/hooks/use_click_outside.js.map +1 -1
- package/build/esm/packages/star_core/build/esm/packages/star_core/src/classes/axios_http_client/axios_http_client.js +3 -0
- package/build/esm/packages/star_core/build/esm/packages/star_core/src/classes/axios_http_client/axios_http_client.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
require('react');
|
|
6
|
+
var classnames = require('classnames');
|
|
6
7
|
var css_classes = require('./css_classes.js');
|
|
7
8
|
var index = require('./components/index.js');
|
|
8
|
-
var classnames = require('classnames');
|
|
9
9
|
var main_module = require('../../css/button/main.module.less.js');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var useTranslation = require('../../../../../../external/react-i18next/dist/es/useTranslation.js');
|
|
7
7
|
var reactDom = require('react-dom');
|
|
8
|
-
var main_module$3 = require('../../../css/icons/main.module.less.js');
|
|
9
8
|
var classnames = require('classnames');
|
|
9
|
+
var main_module$3 = require('../../../css/icons/main.module.less.js');
|
|
10
10
|
var index = require('../context/index.js');
|
|
11
11
|
var responsive_breakpoints = require('../../../constants/responsive_breakpoints.js');
|
|
12
12
|
var use_screen_detect = require('../../../hooks/use_screen_detect.js');
|
|
@@ -66,15 +66,18 @@ const Content = ({ headerComponent, headerGoBackText, headerGoBackIcon, children
|
|
|
66
66
|
const dropdownIsOutsideBottomViewport = checkIfIsOutsideBottomViewport();
|
|
67
67
|
const contentShouldAppearOnTop = dropdownIsOutsideBottomViewport || (verticalPosition === 'top' && !dropdownIsOutsideTopViewport);
|
|
68
68
|
const contentShouldAppearOnBottom = dropdownIsOutsideTopViewport || (verticalPosition === 'bottom' && !dropdownIsOutsideBottomViewport);
|
|
69
|
-
const contentClassName = classnames__default['default'](main_module['default'][css_classes.cssDropdownContent], contentShouldAppearOnTop && `${main_module$1['default'][css_classes.cssDropdownContentOnTop]} ${main_module$2['default'][css_classes.cssDropdownContentOnTop]}`, contentShouldAppearOnBottom && `${main_module$1['default'][css_classes.cssDropdownContentOnBottom]} ${main_module$2['default'][css_classes.cssDropdownContentOnBottom]}`, arrowSide === 'right' && main_module['default'][css_classes.cssDropdownArrowHorizontalDirectionRight], contentShouldAppearOnTop && main_module['default'][css_classes.cssDropdownArrowVerticalDirectionBottom], cssClass);
|
|
69
|
+
const contentClassName = classnames__default['default'](css_classes.jsDropdownContentClass, main_module['default'][css_classes.cssDropdownContent], contentShouldAppearOnTop && `${main_module$1['default'][css_classes.cssDropdownContentOnTop]} ${main_module$2['default'][css_classes.cssDropdownContentOnTop]}`, contentShouldAppearOnBottom && `${main_module$1['default'][css_classes.cssDropdownContentOnBottom]} ${main_module$2['default'][css_classes.cssDropdownContentOnBottom]}`, arrowSide === 'right' && main_module['default'][css_classes.cssDropdownArrowHorizontalDirectionRight], contentShouldAppearOnTop && main_module['default'][css_classes.cssDropdownArrowVerticalDirectionBottom], cssClass);
|
|
70
70
|
const screenWidthName = use_screen_detect.useScreenDetect();
|
|
71
71
|
const refs = [contentRef];
|
|
72
72
|
if (wrapperRef) {
|
|
73
73
|
refs.push(wrapperRef);
|
|
74
74
|
}
|
|
75
|
-
use_click_outside.useClickOutside(
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
use_click_outside.useClickOutside({
|
|
76
|
+
refs,
|
|
77
|
+
callback: () => {
|
|
78
|
+
if (typeof toggleDropdown === 'function') {
|
|
79
|
+
toggleDropdown();
|
|
80
|
+
}
|
|
78
81
|
}
|
|
79
82
|
});
|
|
80
83
|
React.useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oEAAwE;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oEAAwE;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -13,6 +13,7 @@ const cssDropdownHeaderTitle = `${cssDropdown}__header-title`;
|
|
|
13
13
|
const cssDropdownHeaderContent = `${cssDropdown}__header-content`;
|
|
14
14
|
const cssDropdownItemWithHover = `${cssDropdown}__item-with-hover`;
|
|
15
15
|
const cssDropdownList = `${cssDropdown}__list`;
|
|
16
|
+
const jsDropdownContentClass = `js__${cssDropdown}-content`;
|
|
16
17
|
const cssDropdownSearch = `${cssDropdown}__search`;
|
|
17
18
|
const cssDropdownWithScroll = `${cssDropdown}__list_with-scroll`;
|
|
18
19
|
const cssDropdownListWithGroup = `${cssDropdown}__list_with-group`;
|
|
@@ -41,4 +42,5 @@ exports.cssDropdownListItemSelected = cssDropdownListItemSelected;
|
|
|
41
42
|
exports.cssDropdownListWithGroup = cssDropdownListWithGroup;
|
|
42
43
|
exports.cssDropdownSearch = cssDropdownSearch;
|
|
43
44
|
exports.cssDropdownWithScroll = cssDropdownWithScroll;
|
|
45
|
+
exports.jsDropdownContentClass = jsDropdownContentClass;
|
|
44
46
|
//# sourceMappingURL=css_classes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -10,7 +10,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
10
10
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
11
|
|
|
12
12
|
const Modal = ({ children, className, modalRef, style = {} }) => {
|
|
13
|
-
return (React__default['default'].createElement("div", { style: style, "data-test-id": "modal", ref: modalRef, className:
|
|
13
|
+
return (React__default['default'].createElement("div", { style: style, "data-test-id": "modal", ref: modalRef, className: `js__modal ${main_module['default']['modal-window']} ${main_module['default']['modal-window_visible']} ${className}` },
|
|
14
14
|
React__default['default'].createElement("div", { className: main_module['default']['modal-window__body'] }, children)));
|
|
15
15
|
};
|
|
16
16
|
|
|
@@ -10,10 +10,12 @@ var modal = require('../../components/modal.js');
|
|
|
10
10
|
var utilities = require('../../utilities.js');
|
|
11
11
|
var constants = require('../../constants.js');
|
|
12
12
|
var use_resize = require('../../../../hooks/use_resize.js');
|
|
13
|
+
var classnames = require('classnames');
|
|
13
14
|
|
|
14
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
16
|
|
|
16
17
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
18
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
17
19
|
|
|
18
20
|
const useStyles = reactJss_esm.createUseStyles({
|
|
19
21
|
modal: {
|
|
@@ -65,7 +67,7 @@ const AbsoluteModal = ({ vPosition, hPosition, offset = 0, transform, transformL
|
|
|
65
67
|
}, []);
|
|
66
68
|
return reactDom.createPortal(React__default['default'].createElement(React__default['default'].Fragment, null,
|
|
67
69
|
React__default['default'].createElement(modal['default'], { style: style, className: `${classes.modal} ${isVisible ? main_module['default']['modal-window_visible'] : ''}`, modalRef: modalRef, ...rest }, children),
|
|
68
|
-
isVisible && withBackground && React__default['default'].createElement("div", { className: main_module['default']['modal-window-mask'] })), document.body);
|
|
70
|
+
isVisible && withBackground && React__default['default'].createElement("div", { className: classnames__default['default']('js__modal-mask', main_module['default']['modal-window-mask']) })), document.body);
|
|
69
71
|
};
|
|
70
72
|
|
|
71
73
|
exports.default = AbsoluteModal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,+DAAmE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,+DAAmE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -10,10 +10,12 @@ var modal = require('../../components/modal.js');
|
|
|
10
10
|
var utilities = require('../../utilities.js');
|
|
11
11
|
var constants = require('../../constants.js');
|
|
12
12
|
var use_resize = require('../../../../hooks/use_resize.js');
|
|
13
|
+
var classnames = require('classnames');
|
|
13
14
|
|
|
14
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
16
|
|
|
16
17
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
18
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
17
19
|
|
|
18
20
|
const useStyles = reactJss_esm.createUseStyles({
|
|
19
21
|
modal: {
|
|
@@ -55,7 +57,9 @@ const RelativeModal = ({ position, offset = 0, transformLength = constants.DEFAU
|
|
|
55
57
|
}, 50);
|
|
56
58
|
return (React__default['default'].createElement(React__default['default'].Fragment, null,
|
|
57
59
|
reactDom.createPortal(React__default['default'].createElement(modal['default'], { className: `${classes.modal} ${isVisible ? main_module['default']['modal-window_visible'] : ''}`, modalRef: modalRef, ...rest }, children), document.body),
|
|
58
|
-
isVisible &&
|
|
60
|
+
isVisible &&
|
|
61
|
+
withBackground &&
|
|
62
|
+
reactDom.createPortal(React__default['default'].createElement("div", { className: classnames__default['default']('js__modal-mask', main_module['default']['modal-window-mask']) }), document.body)));
|
|
59
63
|
};
|
|
60
64
|
|
|
61
65
|
exports.default = RelativeModal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,+DAAmE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,+DAAmE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -16,9 +16,14 @@ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
|
16
16
|
|
|
17
17
|
const Slide = ({ isOpen, autoOpen, direction = 'left', position, animationDurationMs = 300, classNames = '', children, onClickOutside }) => {
|
|
18
18
|
const ref = React__default['default'].useRef(null);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
const { config, callback: onClickOutsideCallback } = onClickOutside !== null && onClickOutside !== void 0 ? onClickOutside : {};
|
|
20
|
+
use_click_outside.useClickOutside({
|
|
21
|
+
refs: [ref],
|
|
22
|
+
callback: () => {
|
|
23
|
+
if (isOpen)
|
|
24
|
+
onClickOutsideCallback === null || onClickOutsideCallback === void 0 ? void 0 : onClickOutsideCallback();
|
|
25
|
+
},
|
|
26
|
+
config
|
|
22
27
|
});
|
|
23
28
|
if (autoOpen)
|
|
24
29
|
isOpen = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -20,13 +20,14 @@ const TreeNode = ({ children, id, cssClassNames, ContentComponent, LabelComponen
|
|
|
20
20
|
const treeApi = tree_hook.useTree();
|
|
21
21
|
const node = tree_node_hook.useTreeNode(id, rest);
|
|
22
22
|
const nodeChildrenRef = React.useRef(null);
|
|
23
|
+
const childrenCount = React.Children.count(children);
|
|
23
24
|
if (!node)
|
|
24
25
|
return null;
|
|
25
26
|
const toggleNode = () => {
|
|
26
27
|
treeApi.toggleNode(node.id);
|
|
27
28
|
};
|
|
28
29
|
const Label = LabelComponent ? (LabelComponent === null || LabelComponent === void 0 ? void 0 : LabelComponent({ node, isLeaf: !children })) : (React__default['default'].createElement("span", { tabIndex: !children ? 0 : -1, className: classnames__default['default'](main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeLabelContent], css_classes.TREE_NODE_CSS_CLASSES.treeNodeLabelContent) }, node.label ? node.label : node.id));
|
|
29
|
-
const Content = ContentComponent ? (ContentComponent === null || ContentComponent === void 0 ? void 0 : ContentComponent({ node, toggleNode, isLeaf: !
|
|
30
|
+
const Content = ContentComponent ? (ContentComponent === null || ContentComponent === void 0 ? void 0 : ContentComponent({ node, toggleNode, isLeaf: !childrenCount })) : (React__default['default'].createElement("div", { className: classnames__default['default'](css_classes.TREE_NODE_CSS_CLASSES.treeNodeLabel, main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeLabel]) },
|
|
30
31
|
React__default['default'].createElement("button", { className: classnames__default['default'](css_classes.TREE_NODE_CSS_CLASSES.treeNodeTogglerBtn, main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeTogglerBtn], {
|
|
31
32
|
[css_classes.TREE_NODE_CSS_CLASSES.treeNodeTogglerBtnExpanded]: node.expanded,
|
|
32
33
|
[main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeTogglerBtnExpanded]]: node.expanded
|
|
@@ -37,8 +38,8 @@ const TreeNode = ({ children, id, cssClassNames, ContentComponent, LabelComponen
|
|
|
37
38
|
return (React__default['default'].createElement("li", { role: "treeitem", "aria-expanded": node.expanded, className: classnames__default['default'](main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNode], css_classes.TREE_NODE_CSS_CLASSES.treeNode, cssClassNames, {
|
|
38
39
|
[css_classes.TREE_NODE_CSS_CLASSES.treeNodeExpanded]: node.expanded
|
|
39
40
|
}) },
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
childrenCount ? Content : Label,
|
|
42
|
+
childrenCount ? (React__default['default'].createElement(reactTransitionGroup.CSSTransition, { unmountOnExit: true, in: node.expanded, timeout: 250, classNames: {
|
|
42
43
|
enter: main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeChildrenEnter],
|
|
43
44
|
enterActive: main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeChildrenEnterActive],
|
|
44
45
|
exit: main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeChildrenExit],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -7,13 +7,15 @@ var tree_hook = require('./tree_hook.js');
|
|
|
7
7
|
|
|
8
8
|
const useTreeNode = (nodeId, props) => {
|
|
9
9
|
const treeApi = tree_hook.useTree();
|
|
10
|
+
React.useEffect(() => {
|
|
11
|
+
if (!treeApi.hasNode(nodeId))
|
|
12
|
+
treeApi.addNode({ id: nodeId, ...props });
|
|
13
|
+
});
|
|
10
14
|
React.useEffect(() => {
|
|
11
15
|
if (treeApi.hasNode(nodeId) && props)
|
|
12
16
|
treeApi.updateNode(nodeId, props);
|
|
13
17
|
}, [props === null || props === void 0 ? void 0 : props.expanded]);
|
|
14
18
|
React.useEffect(() => {
|
|
15
|
-
if (!treeApi.hasNode(nodeId))
|
|
16
|
-
treeApi.addNode({ id: nodeId, ...props });
|
|
17
19
|
return () => treeApi.removeNode(nodeId);
|
|
18
20
|
}, []);
|
|
19
21
|
return treeApi.getNode(nodeId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -11,17 +11,25 @@ var React = require('react');
|
|
|
11
11
|
* @param {Function} callback called when click is made outside refs elements
|
|
12
12
|
* @returns {void} void
|
|
13
13
|
*/
|
|
14
|
-
function useClickOutside(refs, callback) {
|
|
14
|
+
function useClickOutside({ refs, config, callback }) {
|
|
15
|
+
const { documents = [globalThis.document], blackListSelectors = [] } = config !== null && config !== void 0 ? config : {};
|
|
15
16
|
function handleClickOutside(event) {
|
|
17
|
+
const isBlacklisted = blackListSelectors.reduce(function test(acc, blackListSelector) {
|
|
18
|
+
const $el = documents.reduce(function test(acc, doc) {
|
|
19
|
+
return acc || doc.querySelector(blackListSelector);
|
|
20
|
+
}, null);
|
|
21
|
+
if (!$el)
|
|
22
|
+
return acc;
|
|
23
|
+
return acc ? acc : event.target === $el || $el.contains(event.target);
|
|
24
|
+
}, false);
|
|
16
25
|
const callCallback = refs.every((ref) => ref.current && !ref.current.contains(event.target));
|
|
17
|
-
if (callCallback
|
|
26
|
+
if (callCallback && !isBlacklisted)
|
|
18
27
|
callback();
|
|
19
|
-
}
|
|
20
28
|
}
|
|
21
29
|
React.useEffect(() => {
|
|
22
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
30
|
+
documents.forEach((document) => document.addEventListener('mousedown', handleClickOutside));
|
|
23
31
|
return () => {
|
|
24
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
32
|
+
documents.forEach((document) => document.removeEventListener('mousedown', handleClickOutside));
|
|
25
33
|
};
|
|
26
34
|
});
|
|
27
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
+
import classnames from 'classnames';
|
|
2
3
|
import { cssButton, cssButtonS, cssButtonBg, cssButtonOutline, cssButtonLink, cssButtonInactive } from './css_classes.js';
|
|
3
4
|
import { buttonTypes } from './components/index.js';
|
|
4
|
-
import classnames from 'classnames';
|
|
5
5
|
import cssClasses from '../../css/button/main.module.less.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { useRef, useState, useEffect } from 'react';
|
|
2
2
|
import { useTranslation } from '../../../../../../external/react-i18next/dist/es/useTranslation.js';
|
|
3
3
|
import { createPortal } from 'react-dom';
|
|
4
|
-
import cssClasses$3 from '../../../css/icons/main.module.less.js';
|
|
5
4
|
import classnames from 'classnames';
|
|
5
|
+
import cssClasses$3 from '../../../css/icons/main.module.less.js';
|
|
6
6
|
import { useDropdownContext } from '../context/index.js';
|
|
7
7
|
import { SCREEN_XS } from '../../../constants/responsive_breakpoints.js';
|
|
8
8
|
import { useScreenDetect } from '../../../hooks/use_screen_detect.js';
|
|
@@ -10,7 +10,7 @@ import { UiDomUtils } from '@dreamcommerce/utilities';
|
|
|
10
10
|
import withTranslation from '../../../utilities/translation/with_translation.js';
|
|
11
11
|
import { TransitionGroup, CSSTransition } from 'react-transition-group';
|
|
12
12
|
import { DROPDOWN_Z_INDEX, DROPDOWN_CONTENT_ARROW_HEIGHT, DROPDOWN_ON_MODAL_Z_INDEX } from '../constants.js';
|
|
13
|
-
import { cssDropdownContent, cssDropdownContentOnTop, cssDropdownContentOnBottom, cssDropdownArrowHorizontalDirectionRight, cssDropdownArrowVerticalDirectionBottom, cssDropdownHeader, cssDropdownHeaderContent, cssDropdownHeaderTitle } from '../css_classes.js';
|
|
13
|
+
import { jsDropdownContentClass, cssDropdownContent, cssDropdownContentOnTop, cssDropdownContentOnBottom, cssDropdownArrowHorizontalDirectionRight, cssDropdownArrowVerticalDirectionBottom, cssDropdownHeader, cssDropdownHeaderContent, cssDropdownHeaderTitle } from '../css_classes.js';
|
|
14
14
|
import cssClasses from '../../../css/dropdown/main.module.less.js';
|
|
15
15
|
import { getBounding, getXYModifiersForNestedDropdowns, isChildOfModal } from '../utilities.js';
|
|
16
16
|
import { useClickOutside } from '../../../hooks/use_click_outside.js';
|
|
@@ -57,15 +57,18 @@ const Content = ({ headerComponent, headerGoBackText, headerGoBackIcon, children
|
|
|
57
57
|
const dropdownIsOutsideBottomViewport = checkIfIsOutsideBottomViewport();
|
|
58
58
|
const contentShouldAppearOnTop = dropdownIsOutsideBottomViewport || (verticalPosition === 'top' && !dropdownIsOutsideTopViewport);
|
|
59
59
|
const contentShouldAppearOnBottom = dropdownIsOutsideTopViewport || (verticalPosition === 'bottom' && !dropdownIsOutsideBottomViewport);
|
|
60
|
-
const contentClassName = classnames(cssClasses[cssDropdownContent], contentShouldAppearOnTop && `${cssClasses$1[cssDropdownContentOnTop]} ${cssClasses$2[cssDropdownContentOnTop]}`, contentShouldAppearOnBottom && `${cssClasses$1[cssDropdownContentOnBottom]} ${cssClasses$2[cssDropdownContentOnBottom]}`, arrowSide === 'right' && cssClasses[cssDropdownArrowHorizontalDirectionRight], contentShouldAppearOnTop && cssClasses[cssDropdownArrowVerticalDirectionBottom], cssClass);
|
|
60
|
+
const contentClassName = classnames(jsDropdownContentClass, cssClasses[cssDropdownContent], contentShouldAppearOnTop && `${cssClasses$1[cssDropdownContentOnTop]} ${cssClasses$2[cssDropdownContentOnTop]}`, contentShouldAppearOnBottom && `${cssClasses$1[cssDropdownContentOnBottom]} ${cssClasses$2[cssDropdownContentOnBottom]}`, arrowSide === 'right' && cssClasses[cssDropdownArrowHorizontalDirectionRight], contentShouldAppearOnTop && cssClasses[cssDropdownArrowVerticalDirectionBottom], cssClass);
|
|
61
61
|
const screenWidthName = useScreenDetect();
|
|
62
62
|
const refs = [contentRef];
|
|
63
63
|
if (wrapperRef) {
|
|
64
64
|
refs.push(wrapperRef);
|
|
65
65
|
}
|
|
66
|
-
useClickOutside(
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
useClickOutside({
|
|
67
|
+
refs,
|
|
68
|
+
callback: () => {
|
|
69
|
+
if (typeof toggleDropdown === 'function') {
|
|
70
|
+
toggleDropdown();
|
|
71
|
+
}
|
|
69
72
|
}
|
|
70
73
|
});
|
|
71
74
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,oEAAwE;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,oEAAwE;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -11,6 +11,7 @@ export declare const cssDropdownHeaderContent: string;
|
|
|
11
11
|
export declare const cssDropdownItemWithHover: string;
|
|
12
12
|
export declare const cssDropdownInput: string;
|
|
13
13
|
export declare const cssDropdownList: string;
|
|
14
|
+
export declare const jsDropdownContentClass: string;
|
|
14
15
|
export declare const cssDropdownSearch: string;
|
|
15
16
|
export declare const cssDropdownWithScroll: string;
|
|
16
17
|
export declare const cssDropdownListWithGroup: string;
|
|
@@ -9,6 +9,7 @@ const cssDropdownHeaderTitle = `${cssDropdown}__header-title`;
|
|
|
9
9
|
const cssDropdownHeaderContent = `${cssDropdown}__header-content`;
|
|
10
10
|
const cssDropdownItemWithHover = `${cssDropdown}__item-with-hover`;
|
|
11
11
|
const cssDropdownList = `${cssDropdown}__list`;
|
|
12
|
+
const jsDropdownContentClass = `js__${cssDropdown}-content`;
|
|
12
13
|
const cssDropdownSearch = `${cssDropdown}__search`;
|
|
13
14
|
const cssDropdownWithScroll = `${cssDropdown}__list_with-scroll`;
|
|
14
15
|
const cssDropdownListWithGroup = `${cssDropdown}__list_with-group`;
|
|
@@ -18,5 +19,5 @@ const cssDropdownListItemSelected = `${cssDropdown}__list-item_selected`;
|
|
|
18
19
|
const cssDropdownListItemDisabled = `${cssDropdown}__list-item_disabled`;
|
|
19
20
|
const cssDropdownListItemReadonly = `${cssDropdown}__list-item_readonly`;
|
|
20
21
|
|
|
21
|
-
export { cssDropdown, cssDropdownArrowHorizontalDirectionRight, cssDropdownArrowVerticalDirectionBottom, cssDropdownContent, cssDropdownContentOnBottom, cssDropdownContentOnTop, cssDropdownHeader, cssDropdownHeaderContent, cssDropdownHeaderTitle, cssDropdownItemWithHover, cssDropdownList, cssDropdownListHead, cssDropdownListItem, cssDropdownListItemDisabled, cssDropdownListItemReadonly, cssDropdownListItemSelected, cssDropdownListWithGroup, cssDropdownSearch, cssDropdownWithScroll };
|
|
22
|
+
export { cssDropdown, cssDropdownArrowHorizontalDirectionRight, cssDropdownArrowVerticalDirectionBottom, cssDropdownContent, cssDropdownContentOnBottom, cssDropdownContentOnTop, cssDropdownHeader, cssDropdownHeaderContent, cssDropdownHeaderTitle, cssDropdownItemWithHover, cssDropdownList, cssDropdownListHead, cssDropdownListItem, cssDropdownListItemDisabled, cssDropdownListItemReadonly, cssDropdownListItemSelected, cssDropdownListWithGroup, cssDropdownSearch, cssDropdownWithScroll, jsDropdownContentClass };
|
|
22
23
|
//# sourceMappingURL=css_classes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import cssClasses from '../../../css/modal/main.module.less.js';
|
|
3
3
|
|
|
4
4
|
const Modal = ({ children, className, modalRef, style = {} }) => {
|
|
5
|
-
return (React.createElement("div", { style: style, "data-test-id": "modal", ref: modalRef, className:
|
|
5
|
+
return (React.createElement("div", { style: style, "data-test-id": "modal", ref: modalRef, className: `js__modal ${cssClasses['modal-window']} ${cssClasses['modal-window_visible']} ${className}` },
|
|
6
6
|
React.createElement("div", { className: cssClasses['modal-window__body'] }, children)));
|
|
7
7
|
};
|
|
8
8
|
|
|
@@ -6,6 +6,7 @@ import Modal from '../../components/modal.js';
|
|
|
6
6
|
import { calculateAbsolutePosition, getTransformFromAnimationDirection } from '../../utilities.js';
|
|
7
7
|
import { DEFAULT_TRANSLATE_MOVE } from '../../constants.js';
|
|
8
8
|
import { useResize } from '../../../../hooks/use_resize.js';
|
|
9
|
+
import classnames from 'classnames';
|
|
9
10
|
|
|
10
11
|
const useStyles = createUseStyles({
|
|
11
12
|
modal: {
|
|
@@ -57,7 +58,7 @@ const AbsoluteModal = ({ vPosition, hPosition, offset = 0, transform, transformL
|
|
|
57
58
|
}, []);
|
|
58
59
|
return createPortal(React.createElement(React.Fragment, null,
|
|
59
60
|
React.createElement(Modal, { style: style, className: `${classes.modal} ${isVisible ? cssClasses['modal-window_visible'] : ''}`, modalRef: modalRef, ...rest }, children),
|
|
60
|
-
isVisible && withBackground && React.createElement("div", { className: cssClasses['modal-window-mask'] })), document.body);
|
|
61
|
+
isVisible && withBackground && React.createElement("div", { className: classnames('js__modal-mask', cssClasses['modal-window-mask']) })), document.body);
|
|
61
62
|
};
|
|
62
63
|
|
|
63
64
|
export default AbsoluteModal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA,gCAAgC,+DAAmE;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA,gCAAgC,+DAAmE;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -6,6 +6,7 @@ import Modal from '../../components/modal.js';
|
|
|
6
6
|
import { calculateRelativePosition, getTransformFromAnimationDirection } from '../../utilities.js';
|
|
7
7
|
import { DEFAULT_TRANSLATE_MOVE } from '../../constants.js';
|
|
8
8
|
import { useResize } from '../../../../hooks/use_resize.js';
|
|
9
|
+
import classnames from 'classnames';
|
|
9
10
|
|
|
10
11
|
const useStyles = createUseStyles({
|
|
11
12
|
modal: {
|
|
@@ -47,7 +48,9 @@ const RelativeModal = ({ position, offset = 0, transformLength = DEFAULT_TRANSLA
|
|
|
47
48
|
}, 50);
|
|
48
49
|
return (React.createElement(React.Fragment, null,
|
|
49
50
|
createPortal(React.createElement(Modal, { className: `${classes.modal} ${isVisible ? cssClasses['modal-window_visible'] : ''}`, modalRef: modalRef, ...rest }, children), document.body),
|
|
50
|
-
isVisible &&
|
|
51
|
+
isVisible &&
|
|
52
|
+
withBackground &&
|
|
53
|
+
createPortal(React.createElement("div", { className: classnames('js__modal-mask', cssClasses['modal-window-mask']) }), document.body)));
|
|
51
54
|
};
|
|
52
55
|
|
|
53
56
|
export default RelativeModal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA,gCAAgC,+DAAmE;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA,gCAAgC,+DAAmE;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -7,9 +7,14 @@ import cssClasses from '../../css/slide/main.module.less.js';
|
|
|
7
7
|
|
|
8
8
|
const Slide = ({ isOpen, autoOpen, direction = 'left', position, animationDurationMs = 300, classNames = '', children, onClickOutside }) => {
|
|
9
9
|
const ref = React.useRef(null);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const { config, callback: onClickOutsideCallback } = onClickOutside !== null && onClickOutside !== void 0 ? onClickOutside : {};
|
|
11
|
+
useClickOutside({
|
|
12
|
+
refs: [ref],
|
|
13
|
+
callback: () => {
|
|
14
|
+
if (isOpen)
|
|
15
|
+
onClickOutsideCallback === null || onClickOutsideCallback === void 0 ? void 0 : onClickOutsideCallback();
|
|
16
|
+
},
|
|
17
|
+
config
|
|
13
18
|
});
|
|
14
19
|
if (autoOpen)
|
|
15
20
|
isOpen = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TCssPositions, TDirection } from "../../typings/general";
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
+
import { TUseClickOutsideProps } from "../../hooks/use_click_outside";
|
|
3
4
|
export interface ISlideProps {
|
|
4
5
|
isOpen?: boolean;
|
|
5
6
|
autoOpen?: boolean;
|
|
@@ -8,7 +9,7 @@ export interface ISlideProps {
|
|
|
8
9
|
animationDurationMs?: number;
|
|
9
10
|
classNames?: string;
|
|
10
11
|
children: ReactNode;
|
|
11
|
-
onClickOutside?:
|
|
12
|
+
onClickOutside?: Omit<TUseClickOutsideProps, 'refs'>;
|
|
12
13
|
}
|
|
13
14
|
export interface ISlideWrapper {
|
|
14
15
|
classNames?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../src/components/slide/types.ts"],"names":[],"mappings":"AAAA,OAA0C,wBAAwB,CAAC;AAEnE,OAA0B,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../src/components/slide/types.ts"],"names":[],"mappings":"AAAA,OAA0C,wBAAwB,CAAC;AAEnE,OAA0B,OAAO,CAAC;AAClC,OAAsC,gCAAgC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useRef } from 'react';
|
|
1
|
+
import React, { useRef, Children } from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
3
|
import { CSSTransition } from 'react-transition-group';
|
|
4
4
|
import { TREE_NODE_CSS_CLASSES } from '../css_classes.js';
|
|
@@ -11,13 +11,14 @@ const TreeNode = ({ children, id, cssClassNames, ContentComponent, LabelComponen
|
|
|
11
11
|
const treeApi = useTree();
|
|
12
12
|
const node = useTreeNode(id, rest);
|
|
13
13
|
const nodeChildrenRef = useRef(null);
|
|
14
|
+
const childrenCount = Children.count(children);
|
|
14
15
|
if (!node)
|
|
15
16
|
return null;
|
|
16
17
|
const toggleNode = () => {
|
|
17
18
|
treeApi.toggleNode(node.id);
|
|
18
19
|
};
|
|
19
20
|
const Label = LabelComponent ? (LabelComponent === null || LabelComponent === void 0 ? void 0 : LabelComponent({ node, isLeaf: !children })) : (React.createElement("span", { tabIndex: !children ? 0 : -1, className: classnames(cssClasses[TREE_NODE_CSS_CLASSES.treeNodeLabelContent], TREE_NODE_CSS_CLASSES.treeNodeLabelContent) }, node.label ? node.label : node.id));
|
|
20
|
-
const Content = ContentComponent ? (ContentComponent === null || ContentComponent === void 0 ? void 0 : ContentComponent({ node, toggleNode, isLeaf: !
|
|
21
|
+
const Content = ContentComponent ? (ContentComponent === null || ContentComponent === void 0 ? void 0 : ContentComponent({ node, toggleNode, isLeaf: !childrenCount })) : (React.createElement("div", { className: classnames(TREE_NODE_CSS_CLASSES.treeNodeLabel, cssClasses[TREE_NODE_CSS_CLASSES.treeNodeLabel]) },
|
|
21
22
|
React.createElement("button", { className: classnames(TREE_NODE_CSS_CLASSES.treeNodeTogglerBtn, cssClasses[TREE_NODE_CSS_CLASSES.treeNodeTogglerBtn], {
|
|
22
23
|
[TREE_NODE_CSS_CLASSES.treeNodeTogglerBtnExpanded]: node.expanded,
|
|
23
24
|
[cssClasses[TREE_NODE_CSS_CLASSES.treeNodeTogglerBtnExpanded]]: node.expanded
|
|
@@ -28,8 +29,8 @@ const TreeNode = ({ children, id, cssClassNames, ContentComponent, LabelComponen
|
|
|
28
29
|
return (React.createElement("li", { role: "treeitem", "aria-expanded": node.expanded, className: classnames(cssClasses[TREE_NODE_CSS_CLASSES.treeNode], TREE_NODE_CSS_CLASSES.treeNode, cssClassNames, {
|
|
29
30
|
[TREE_NODE_CSS_CLASSES.treeNodeExpanded]: node.expanded
|
|
30
31
|
}) },
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
childrenCount ? Content : Label,
|
|
33
|
+
childrenCount ? (React.createElement(CSSTransition, { unmountOnExit: true, in: node.expanded, timeout: 250, classNames: {
|
|
33
34
|
enter: cssClasses[TREE_NODE_CSS_CLASSES.treeNodeChildrenEnter],
|
|
34
35
|
enterActive: cssClasses[TREE_NODE_CSS_CLASSES.treeNodeChildrenEnterActive],
|
|
35
36
|
exit: cssClasses[TREE_NODE_CSS_CLASSES.treeNodeChildrenExit],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -3,13 +3,15 @@ import { useTree } from './tree_hook.js';
|
|
|
3
3
|
|
|
4
4
|
const useTreeNode = (nodeId, props) => {
|
|
5
5
|
const treeApi = useTree();
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
if (!treeApi.hasNode(nodeId))
|
|
8
|
+
treeApi.addNode({ id: nodeId, ...props });
|
|
9
|
+
});
|
|
6
10
|
useEffect(() => {
|
|
7
11
|
if (treeApi.hasNode(nodeId) && props)
|
|
8
12
|
treeApi.updateNode(nodeId, props);
|
|
9
13
|
}, [props === null || props === void 0 ? void 0 : props.expanded]);
|
|
10
14
|
useEffect(() => {
|
|
11
|
-
if (!treeApi.hasNode(nodeId))
|
|
12
|
-
treeApi.addNode({ id: nodeId, ...props });
|
|
13
15
|
return () => treeApi.removeNode(nodeId);
|
|
14
16
|
}, []);
|
|
15
17
|
return treeApi.getNode(nodeId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
export declare type TClickOutsideConfig = {
|
|
3
|
+
blackListSelectors?: string[];
|
|
4
|
+
documents?: Document[];
|
|
5
|
+
};
|
|
6
|
+
export declare type TUseClickOutsideProps = {
|
|
7
|
+
refs: Array<React.RefObject<HTMLElement>>;
|
|
8
|
+
callback: () => void;
|
|
9
|
+
config?: TClickOutsideConfig;
|
|
10
|
+
};
|
|
2
11
|
/**
|
|
3
12
|
* adds listener on mousedown event which detects if click was inside elemnents provided in refs array. If click was
|
|
4
13
|
* made outside element callback function is called
|
|
@@ -6,5 +15,5 @@
|
|
|
6
15
|
* @param {Function} callback called when click is made outside refs elements
|
|
7
16
|
* @returns {void} void
|
|
8
17
|
*/
|
|
9
|
-
export declare function useClickOutside(refs
|
|
18
|
+
export declare function useClickOutside({ refs, config, callback }: TUseClickOutsideProps): void;
|
|
10
19
|
export default useClickOutside;
|
|
@@ -7,17 +7,25 @@ import { useEffect } from 'react';
|
|
|
7
7
|
* @param {Function} callback called when click is made outside refs elements
|
|
8
8
|
* @returns {void} void
|
|
9
9
|
*/
|
|
10
|
-
function useClickOutside(refs, callback) {
|
|
10
|
+
function useClickOutside({ refs, config, callback }) {
|
|
11
|
+
const { documents = [globalThis.document], blackListSelectors = [] } = config !== null && config !== void 0 ? config : {};
|
|
11
12
|
function handleClickOutside(event) {
|
|
13
|
+
const isBlacklisted = blackListSelectors.reduce(function test(acc, blackListSelector) {
|
|
14
|
+
const $el = documents.reduce(function test(acc, doc) {
|
|
15
|
+
return acc || doc.querySelector(blackListSelector);
|
|
16
|
+
}, null);
|
|
17
|
+
if (!$el)
|
|
18
|
+
return acc;
|
|
19
|
+
return acc ? acc : event.target === $el || $el.contains(event.target);
|
|
20
|
+
}, false);
|
|
12
21
|
const callCallback = refs.every((ref) => ref.current && !ref.current.contains(event.target));
|
|
13
|
-
if (callCallback
|
|
22
|
+
if (callCallback && !isBlacklisted)
|
|
14
23
|
callback();
|
|
15
|
-
}
|
|
16
24
|
}
|
|
17
25
|
useEffect(() => {
|
|
18
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
26
|
+
documents.forEach((document) => document.addEventListener('mousedown', handleClickOutside));
|
|
19
27
|
return () => {
|
|
20
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
28
|
+
documents.forEach((document) => document.removeEventListener('mousedown', handleClickOutside));
|
|
21
29
|
};
|
|
22
30
|
});
|
|
23
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|