@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.
@@ -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;AAiIrC,iBAAS,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,UAAU,eAQxE;kBARQ,YAAY;;;;;;;;AAwBrB,eAAe,YAAY,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 ? 100 : _ref$zIndex;
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
- rest = _objectWithoutProperties(_ref8, ["onClose", "visible", "children"]);
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(_Manager.default, {
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
- }, rest), children));
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;AAGjB,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;AAyQnC,QAAA,MAAM,cAAc,mFAAsB,CAAC;AAkD3C,eAAe,cAAc,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; // wrapper for setting visibility state; forces a recalculation
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.204+c24f3c2",
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": "c24f3c218b6fea48968eaca4ab40241a6d143ea0"
74
+ "gitHead": "071b21ea22be3164a47c3b165fac67a1d4303b83"
75
75
  }