@decisiv/ui-components 2.0.1-alpha.204 → 2.0.1-alpha.205
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/lib/components/Modal/index.d.ts +1 -1
- package/lib/components/Modal/index.d.ts.map +1 -1
- package/lib/components/Modal/index.js +12 -5
- package/lib/components/Modal/index.test.js +63 -0
- package/lib/components/Popover/index.d.ts.map +1 -1
- package/lib/components/Popover/index.js +10 -3
- package/lib/utils/useStackingContext.d.ts +12 -0
- package/lib/utils/useStackingContext.d.ts.map +1 -0
- package/lib/utils/useStackingContext.js +46 -0
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ModalProps } from './types';
|
|
3
|
-
declare function ModalWrapper({ onClose, visible, children, ...rest }: ModalProps): JSX.Element;
|
|
3
|
+
declare function ModalWrapper({ onClose, visible, children, zIndex, ...rest }: ModalProps): JSX.Element;
|
|
4
4
|
declare namespace ModalWrapper {
|
|
5
5
|
var propTypes: any;
|
|
6
6
|
var defaultProps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/index.tsx"],"names":[],"mappings":";AAgCA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/index.tsx"],"names":[],"mappings":";AAgCA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAkIrC,iBAAS,YAAY,CAAC,EACpB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,MAAa,EACb,GAAG,IAAI,EACR,EAAE,UAAU,eAUZ;kBAhBQ,YAAY;;;;;;;;AAgCrB,eAAe,YAAY,CAAC"}
|
|
@@ -49,6 +49,8 @@ var _ResponsiveModalWrapper = _interopRequireDefault(require("./ResponsiveModalW
|
|
|
49
49
|
|
|
50
50
|
var _schema = _interopRequireDefault(require("./schema"));
|
|
51
51
|
|
|
52
|
+
var _useStackingContext = require("../../utils/useStackingContext");
|
|
53
|
+
|
|
52
54
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
53
55
|
|
|
54
56
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
@@ -92,7 +94,7 @@ function Modal(_ref) {
|
|
|
92
94
|
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
93
95
|
title = _ref.title,
|
|
94
96
|
_ref$zIndex = _ref.zIndex,
|
|
95
|
-
zIndex = _ref$zIndex === void 0 ?
|
|
97
|
+
zIndex = _ref$zIndex === void 0 ? 1001 : _ref$zIndex;
|
|
96
98
|
|
|
97
99
|
var breakpoints = _defineProperty({}, _breakpointObserver.sizes.LG, 650);
|
|
98
100
|
|
|
@@ -173,15 +175,20 @@ function ModalWrapper(_ref8) {
|
|
|
173
175
|
var onClose = _ref8.onClose,
|
|
174
176
|
visible = _ref8.visible,
|
|
175
177
|
children = _ref8.children,
|
|
176
|
-
|
|
178
|
+
_ref8$zIndex = _ref8.zIndex,
|
|
179
|
+
zIndex = _ref8$zIndex === void 0 ? 1001 : _ref8$zIndex,
|
|
180
|
+
rest = _objectWithoutProperties(_ref8, ["onClose", "visible", "children", "zIndex"]);
|
|
177
181
|
|
|
178
|
-
return _react.default.createElement(
|
|
182
|
+
return _react.default.createElement(_useStackingContext.StackingContextProvider, {
|
|
183
|
+
zIndex: zIndex
|
|
184
|
+
}, _react.default.createElement(_Manager.default, {
|
|
179
185
|
onClose: onClose,
|
|
180
186
|
visible: visible
|
|
181
187
|
}, _react.default.createElement(Modal, _extends({
|
|
182
188
|
onClose: onClose,
|
|
183
|
-
visible: visible
|
|
184
|
-
|
|
189
|
+
visible: visible,
|
|
190
|
+
zIndex: zIndex
|
|
191
|
+
}, rest), children)));
|
|
185
192
|
} // @ts-ignore
|
|
186
193
|
|
|
187
194
|
|
|
@@ -14,8 +14,14 @@ var _constants = require("./constants");
|
|
|
14
14
|
|
|
15
15
|
var _ = _interopRequireDefault(require("."));
|
|
16
16
|
|
|
17
|
+
var _Combobox = _interopRequireDefault(require("../Combobox"));
|
|
18
|
+
|
|
17
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
20
|
|
|
21
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
22
|
+
|
|
23
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
24
|
+
|
|
19
25
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
20
26
|
|
|
21
27
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -26,8 +32,24 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
26
32
|
|
|
27
33
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
28
34
|
|
|
35
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
36
|
+
|
|
29
37
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
30
38
|
|
|
39
|
+
// Prevent warnings about missing document methods (createRange, etc.)
|
|
40
|
+
jest.mock('popper.js', function () {
|
|
41
|
+
var _class, _temp;
|
|
42
|
+
|
|
43
|
+
var PopperJS = jest.requireActual('popper.js');
|
|
44
|
+
return _temp = _class = function _class() {
|
|
45
|
+
_classCallCheck(this, _class);
|
|
46
|
+
|
|
47
|
+
return {
|
|
48
|
+
destroy: function destroy() {},
|
|
49
|
+
scheduleUpdate: function scheduleUpdate() {}
|
|
50
|
+
};
|
|
51
|
+
}, _defineProperty(_class, "placements", PopperJS.placements), _temp;
|
|
52
|
+
});
|
|
31
53
|
beforeAll(function () {
|
|
32
54
|
var root = document.createElement('div');
|
|
33
55
|
root.setAttribute('id', 'modal-root');
|
|
@@ -238,4 +260,45 @@ describe('Modal', function () {
|
|
|
238
260
|
});
|
|
239
261
|
});
|
|
240
262
|
});
|
|
263
|
+
describe('with a Popover as its children', function () {
|
|
264
|
+
it('renders the Popover with the same zIndex', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
265
|
+
var _render5, getByRole, getByLabelText, modal, combobox, modalZIndex, comboboxOptionsZIndex;
|
|
266
|
+
|
|
267
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
268
|
+
while (1) {
|
|
269
|
+
switch (_context.prev = _context.next) {
|
|
270
|
+
case 0:
|
|
271
|
+
_render5 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
272
|
+
zIndex: 1234
|
|
273
|
+
}), _react.default.createElement(_Combobox.default, {
|
|
274
|
+
label: "Nested Combobox",
|
|
275
|
+
options: [{
|
|
276
|
+
id: '1',
|
|
277
|
+
value: '1',
|
|
278
|
+
label: 'Combobox Opt 1'
|
|
279
|
+
}]
|
|
280
|
+
}))), getByRole = _render5.getByRole, getByLabelText = _render5.getByLabelText;
|
|
281
|
+
modal = getByRole('dialog');
|
|
282
|
+
combobox = getByLabelText('Nested Combobox');
|
|
283
|
+
(0, _react2.act)(function () {
|
|
284
|
+
_react2.fireEvent.click(combobox);
|
|
285
|
+
});
|
|
286
|
+
_context.next = 6;
|
|
287
|
+
return (0, _react2.wait)(function () {
|
|
288
|
+
expect(getByRole('listbox')).toBeInTheDocument();
|
|
289
|
+
});
|
|
290
|
+
|
|
291
|
+
case 6:
|
|
292
|
+
modalZIndex = window.getComputedStyle(modal).zIndex;
|
|
293
|
+
comboboxOptionsZIndex = window.getComputedStyle(getByRole('listbox')).zIndex;
|
|
294
|
+
expect(modalZIndex).toEqual(comboboxOptionsZIndex);
|
|
295
|
+
|
|
296
|
+
case 9:
|
|
297
|
+
case "end":
|
|
298
|
+
return _context.stop();
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}, _callee);
|
|
302
|
+
})));
|
|
303
|
+
});
|
|
241
304
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAUN,MAAM,OAAO,CAAC;AAWf,OAAc,EAAE,WAAW,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,SAAS,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,UAAU,IAAI,cAAc,EAC5B,WAAW,IAAI,eAAe,EAE9B,SAAS,IAAI,aAAa,EAC1B,YAAY,IAAI,SAAS,EACzB,MAAM,IAAI,aAAa,EACvB,cAAc,IAAI,kBAAkB,EACpC,mBAAmB,IAAI,uBAAuB,EAE/C,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAUN,MAAM,OAAO,CAAC;AAWf,OAAc,EAAE,WAAW,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,SAAS,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,UAAU,IAAI,cAAc,EAC5B,WAAW,IAAI,eAAe,EAE9B,SAAS,IAAI,aAAa,EAC1B,YAAY,IAAI,SAAS,EACzB,MAAM,IAAI,aAAa,EACvB,cAAc,IAAI,kBAAkB,EACpC,mBAAmB,IAAI,uBAAuB,EAE/C,MAAM,SAAS,CAAC;AAIjB,oBAAY,UAAU,GAAG,cAAc,CAAC;AACxC,oBAAY,WAAW,GAAG,eAAe,CAAC;AAC1C,oBAAY,WAAW,GAAG,eAAe,CAAC;AAC1C,oBAAY,SAAS,GAAG,aAAa,CAAC;AACtC,oBAAY,YAAY,GAAG,SAAS,CAAC;AACrC,oBAAY,MAAM,GAAG,aAAa,CAAC;AACnC,oBAAY,cAAc,GAAG,kBAAkB,CAAC;AAChD,oBAAY,mBAAmB,GAAG,uBAAuB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AA4QnC,QAAA,MAAM,cAAc,mFAAsB,CAAC;AAkD3C,eAAe,cAAc,CAAC"}
|
|
@@ -47,6 +47,8 @@ var _types = require("./types");
|
|
|
47
47
|
|
|
48
48
|
var _utils = require("./utils");
|
|
49
49
|
|
|
50
|
+
var _useStackingContext2 = _interopRequireDefault(require("../../utils/useStackingContext"));
|
|
51
|
+
|
|
50
52
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
51
53
|
|
|
52
54
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -106,7 +108,8 @@ var Popover = function Popover(props, instanceRef) {
|
|
|
106
108
|
showArrow = _props$showArrow === void 0 ? true : _props$showArrow,
|
|
107
109
|
target = props.target,
|
|
108
110
|
visible = props.visible,
|
|
109
|
-
zIndex = props.zIndex,
|
|
111
|
+
_props$zIndex = props.zIndex,
|
|
112
|
+
zIndexProp = _props$zIndex === void 0 ? 0 : _props$zIndex,
|
|
110
113
|
rest = _objectWithoutProperties(props, ["alwaysRender", "arrowColor", "borderRadius", "children", "containerSelector", "contentRole", "defaultVisible", "enabled", "hideOnClickOutside", "hideOnESC", "id", "manageEvents", "onHide", "onRequestHide", "onShow", "placement", "showArrow", "target", "visible", "zIndex"]);
|
|
111
114
|
|
|
112
115
|
var contentRef = (0, _react.useRef)(null);
|
|
@@ -120,11 +123,15 @@ var Popover = function Popover(props, instanceRef) {
|
|
|
120
123
|
setIsVisibleState = _useState2[1];
|
|
121
124
|
|
|
122
125
|
var _useConfig = (0, _ConfigProvider.useConfig)(),
|
|
123
|
-
createPortal = _useConfig.createPortal;
|
|
126
|
+
createPortal = _useConfig.createPortal;
|
|
127
|
+
|
|
128
|
+
var _useStackingContext = (0, _useStackingContext2.default)(),
|
|
129
|
+
currentZIndex = _useStackingContext.currentZIndex;
|
|
130
|
+
|
|
131
|
+
var zIndex = currentZIndex + zIndexProp; // wrapper for setting visibility state; forces a recalculation
|
|
124
132
|
// of the popper position (computing new offsets) each time the
|
|
125
133
|
// popover window becomes visible
|
|
126
134
|
|
|
127
|
-
|
|
128
135
|
var setIsVisible = (0, _react.useCallback)(function (makeItVisible) {
|
|
129
136
|
setIsVisibleState(makeItVisible);
|
|
130
137
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface StackingContextType {
|
|
3
|
+
setZIndex: (zIndex: number) => void;
|
|
4
|
+
currentZIndex: number;
|
|
5
|
+
}
|
|
6
|
+
export declare const StackingContextProvider: ({ zIndex, children, }: {
|
|
7
|
+
zIndex: number;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
}) => JSX.Element;
|
|
10
|
+
export default function useStackingContext(): StackingContextType;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=useStackingContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStackingContext.d.ts","sourceRoot":"","sources":["../../src/utils/useStackingContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAE5E,UAAU,mBAAmB;IAC3B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;CACvB;AAWD,eAAO,MAAM,uBAAuB;;;iBAoBnC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,kBAAkB,IAAI,mBAAmB,CAQhE"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useStackingContext;
|
|
7
|
+
exports.StackingContextProvider = void 0;
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
|
|
11
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
12
|
+
|
|
13
|
+
var defaultStackingContext = {
|
|
14
|
+
setZIndex: function setZIndex() {},
|
|
15
|
+
currentZIndex: 0
|
|
16
|
+
};
|
|
17
|
+
var StackingContext = (0, _react.createContext)(defaultStackingContext);
|
|
18
|
+
|
|
19
|
+
var StackingContextProvider = function StackingContextProvider(_ref) {
|
|
20
|
+
var zIndex = _ref.zIndex,
|
|
21
|
+
children = _ref.children;
|
|
22
|
+
var zIndexRef = (0, _react.useRef)(zIndex);
|
|
23
|
+
|
|
24
|
+
var setZIndex = function setZIndex(newZIndex) {
|
|
25
|
+
zIndexRef.current = newZIndex;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
return _react.default.createElement(StackingContext.Provider, {
|
|
29
|
+
value: {
|
|
30
|
+
currentZIndex: zIndexRef.current,
|
|
31
|
+
setZIndex: setZIndex
|
|
32
|
+
}
|
|
33
|
+
}, children);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.StackingContextProvider = StackingContextProvider;
|
|
37
|
+
|
|
38
|
+
function useStackingContext() {
|
|
39
|
+
var context = (0, _react.useContext)(StackingContext);
|
|
40
|
+
|
|
41
|
+
if (context === undefined) {
|
|
42
|
+
return defaultStackingContext;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return context;
|
|
46
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decisiv/ui-components",
|
|
3
|
-
"version": "2.0.1-alpha.
|
|
3
|
+
"version": "2.0.1-alpha.205+071b21e",
|
|
4
4
|
"description": "Decisiv's design system React components",
|
|
5
5
|
"author": "Decisiv UI Development Team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"access": "public"
|
|
72
72
|
},
|
|
73
73
|
"private": false,
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "071b21ea22be3164a47c3b165fac67a1d4303b83"
|
|
75
75
|
}
|