@epignosis_llc/gnosis 6.7.1 → 6.7.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.
Files changed (57) hide show
  1. package/dist/cjs/index.cjs +1420 -627
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/_virtual/new-promise-capability.js +12 -0
  4. package/dist/esm/_virtual/new-promise-capability.js.map +1 -0
  5. package/dist/esm/node_modules/core-js/internals/a-constructor.js +24 -0
  6. package/dist/esm/node_modules/core-js/internals/a-constructor.js.map +1 -0
  7. package/dist/esm/node_modules/core-js/internals/environment-is-ios-pebble.js +16 -0
  8. package/dist/esm/node_modules/core-js/internals/environment-is-ios-pebble.js.map +1 -0
  9. package/dist/esm/node_modules/core-js/internals/environment-is-ios.js +17 -0
  10. package/dist/esm/node_modules/core-js/internals/environment-is-ios.js.map +1 -0
  11. package/dist/esm/node_modules/core-js/internals/environment-is-webos-webkit.js +16 -0
  12. package/dist/esm/node_modules/core-js/internals/environment-is-webos-webkit.js.map +1 -0
  13. package/dist/esm/node_modules/core-js/internals/host-report-errors.js +17 -0
  14. package/dist/esm/node_modules/core-js/internals/host-report-errors.js.map +1 -0
  15. package/dist/esm/node_modules/core-js/internals/microtask.js +99 -0
  16. package/dist/esm/node_modules/core-js/internals/microtask.js.map +1 -0
  17. package/dist/esm/node_modules/core-js/internals/new-promise-capability.js +33 -0
  18. package/dist/esm/node_modules/core-js/internals/new-promise-capability.js.map +1 -0
  19. package/dist/esm/node_modules/core-js/internals/perform.js +18 -0
  20. package/dist/esm/node_modules/core-js/internals/perform.js.map +1 -0
  21. package/dist/esm/node_modules/core-js/internals/promise-constructor-detection.js +63 -0
  22. package/dist/esm/node_modules/core-js/internals/promise-constructor-detection.js.map +1 -0
  23. package/dist/esm/node_modules/core-js/internals/promise-native-constructor.js +16 -0
  24. package/dist/esm/node_modules/core-js/internals/promise-native-constructor.js.map +1 -0
  25. package/dist/esm/node_modules/core-js/internals/promise-resolve.js +28 -0
  26. package/dist/esm/node_modules/core-js/internals/promise-resolve.js.map +1 -0
  27. package/dist/esm/node_modules/core-js/internals/promise-statics-incorrect-iteration.js +22 -0
  28. package/dist/esm/node_modules/core-js/internals/promise-statics-incorrect-iteration.js.map +1 -0
  29. package/dist/esm/node_modules/core-js/internals/queue.js +35 -0
  30. package/dist/esm/node_modules/core-js/internals/queue.js.map +1 -0
  31. package/dist/esm/node_modules/core-js/internals/safe-get-built-in.js +26 -0
  32. package/dist/esm/node_modules/core-js/internals/safe-get-built-in.js.map +1 -0
  33. package/dist/esm/node_modules/core-js/internals/species-constructor.js +30 -0
  34. package/dist/esm/node_modules/core-js/internals/species-constructor.js.map +1 -0
  35. package/dist/esm/node_modules/core-js/internals/task.js +140 -0
  36. package/dist/esm/node_modules/core-js/internals/task.js.map +1 -0
  37. package/dist/esm/node_modules/core-js/modules/es.promise.all.js +56 -0
  38. package/dist/esm/node_modules/core-js/modules/es.promise.all.js.map +1 -0
  39. package/dist/esm/node_modules/core-js/modules/es.promise.catch.js +40 -0
  40. package/dist/esm/node_modules/core-js/modules/es.promise.catch.js.map +1 -0
  41. package/dist/esm/node_modules/core-js/modules/es.promise.constructor.js +319 -0
  42. package/dist/esm/node_modules/core-js/modules/es.promise.constructor.js.map +1 -0
  43. package/dist/esm/node_modules/core-js/modules/es.promise.race.js +43 -0
  44. package/dist/esm/node_modules/core-js/modules/es.promise.race.js.map +1 -0
  45. package/dist/esm/node_modules/core-js/modules/es.promise.reject.js +28 -0
  46. package/dist/esm/node_modules/core-js/modules/es.promise.reject.js.map +1 -0
  47. package/dist/esm/node_modules/core-js/modules/es.promise.resolve.js +29 -0
  48. package/dist/esm/node_modules/core-js/modules/es.promise.resolve.js.map +1 -0
  49. package/dist/esm/src/components/Drawer/Drawer.js +13 -1
  50. package/dist/esm/src/components/Drawer/Drawer.js.map +1 -1
  51. package/dist/esm/src/components/Drawer/components/Footer.js +3 -2
  52. package/dist/esm/src/components/Drawer/components/Footer.js.map +1 -1
  53. package/dist/esm/src/components/Drawer/components/Header.js +2 -1
  54. package/dist/esm/src/components/Drawer/components/Header.js.map +1 -1
  55. package/dist/esm/src/components/Modal/Modal.js +2 -2
  56. package/dist/esm/src/components/Modal/Modal.js.map +1 -1
  57. package/package.json +1 -1
@@ -0,0 +1,43 @@
1
+
2
+ /**
3
+ * @license
4
+ * author: epignosis front-end team
5
+ * @epignosis_llc/gnosis.js v6.6.16
6
+ * Released under the MIT license.
7
+ */
8
+
9
+ import _export from '../internals/export.js';
10
+ import functionCall from '../internals/function-call.js';
11
+ import aCallable$1 from '../internals/a-callable.js';
12
+ import '../internals/new-promise-capability.js';
13
+ import perform$1 from '../internals/perform.js';
14
+ import iterate$1 from '../internals/iterate.js';
15
+ import promiseStaticsIncorrectIteration from '../internals/promise-statics-incorrect-iteration.js';
16
+ import { __exports as newPromiseCapability } from '../../../_virtual/new-promise-capability.js';
17
+
18
+ var $ = _export;
19
+ var call = functionCall;
20
+ var aCallable = aCallable$1;
21
+ var newPromiseCapabilityModule = newPromiseCapability;
22
+ var perform = perform$1;
23
+ var iterate = iterate$1;
24
+ var PROMISE_STATICS_INCORRECT_ITERATION = promiseStaticsIncorrectIteration;
25
+
26
+ // `Promise.race` method
27
+ // https://tc39.es/ecma262/#sec-promise.race
28
+ $({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {
29
+ race: function race(iterable) {
30
+ var C = this;
31
+ var capability = newPromiseCapabilityModule.f(C);
32
+ var reject = capability.reject;
33
+ var result = perform(function () {
34
+ var $promiseResolve = aCallable(C.resolve);
35
+ iterate(iterable, function (promise) {
36
+ call($promiseResolve, C, promise).then(capability.resolve, reject);
37
+ });
38
+ });
39
+ if (result.error) reject(result.value);
40
+ return capability.promise;
41
+ }
42
+ });
43
+ //# sourceMappingURL=es.promise.race.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"es.promise.race.js","sources":["../../../../../node_modules/core-js/modules/es.promise.race.js"],"sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n"],"names":["require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6"],"mappings":";;;;;;;;;;;;;;;;;AACA,IAAI,CAAC,GAAGA,OAA8B,CAAC;AACvC,IAAI,IAAI,GAAGC,YAAqC,CAAC;AACjD,IAAI,SAAS,GAAGC,WAAkC,CAAC;AACnD,IAAI,0BAA0B,GAAGC,oBAA8C,CAAC;AAChF,IAAI,OAAO,GAAGC,SAA+B,CAAC;AAC9C,IAAI,OAAO,GAAGC,SAA+B,CAAC;AAC9C,IAAI,mCAAmC,GAAGC,gCAA2D,CAAC;AACtG;AACA;AACA;AACA,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,mCAAmC,EAAE,EAAE;AAClF,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,QAAQ,EAAE;AAChC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;AACjB,IAAI,IAAI,UAAU,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,IAAI,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AACnC,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY;AACrC,MAAM,IAAI,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACjD,MAAM,OAAO,CAAC,QAAQ,EAAE,UAAU,OAAO,EAAE;AAC3C,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3E,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3C,IAAI,OAAO,UAAU,CAAC,OAAO,CAAC;AAC9B,GAAG;AACH,CAAC,CAAC"}
@@ -0,0 +1,28 @@
1
+
2
+ /**
3
+ * @license
4
+ * author: epignosis front-end team
5
+ * @epignosis_llc/gnosis.js v6.6.16
6
+ * Released under the MIT license.
7
+ */
8
+
9
+ import _export from '../internals/export.js';
10
+ import '../internals/new-promise-capability.js';
11
+ import promiseConstructorDetection from '../internals/promise-constructor-detection.js';
12
+ import { __exports as newPromiseCapability } from '../../../_virtual/new-promise-capability.js';
13
+
14
+ var $ = _export;
15
+ var newPromiseCapabilityModule = newPromiseCapability;
16
+ var FORCED_PROMISE_CONSTRUCTOR = promiseConstructorDetection.CONSTRUCTOR;
17
+
18
+ // `Promise.reject` method
19
+ // https://tc39.es/ecma262/#sec-promise.reject
20
+ $({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {
21
+ reject: function reject(r) {
22
+ var capability = newPromiseCapabilityModule.f(this);
23
+ var capabilityReject = capability.reject;
24
+ capabilityReject(r);
25
+ return capability.promise;
26
+ }
27
+ });
28
+ //# sourceMappingURL=es.promise.reject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"es.promise.reject.js","sources":["../../../../../node_modules/core-js/modules/es.promise.reject.js"],"sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n var capabilityReject = capability.reject;\n capabilityReject(r);\n return capability.promise;\n }\n});\n"],"names":["require$$0","require$$1","require$$2"],"mappings":";;;;;;;;;;;;;AACA,IAAI,CAAC,GAAGA,OAA8B,CAAC;AACvC,IAAI,0BAA0B,GAAGC,oBAA8C,CAAC;AAChF,IAAI,0BAA0B,GAAGC,2BAAqD,CAAC,WAAW,CAAC;AACnG;AACA;AACA;AACA,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,EAAE,EAAE;AACzE,EAAE,MAAM,EAAE,SAAS,MAAM,CAAC,CAAC,EAAE;AAC7B,IAAI,IAAI,UAAU,GAAG,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACxD,IAAI,IAAI,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;AAC7C,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACxB,IAAI,OAAO,UAAU,CAAC,OAAO,CAAC;AAC9B,GAAG;AACH,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+
2
+ /**
3
+ * @license
4
+ * author: epignosis front-end team
5
+ * @epignosis_llc/gnosis.js v6.6.16
6
+ * Released under the MIT license.
7
+ */
8
+
9
+ import _export from '../internals/export.js';
10
+ import getBuiltIn$1 from '../internals/get-built-in.js';
11
+ import '../internals/promise-native-constructor.js';
12
+ import promiseConstructorDetection from '../internals/promise-constructor-detection.js';
13
+ import promiseResolve$1 from '../internals/promise-resolve.js';
14
+
15
+ var $ = _export;
16
+ var getBuiltIn = getBuiltIn$1;
17
+ var FORCED_PROMISE_CONSTRUCTOR = promiseConstructorDetection.CONSTRUCTOR;
18
+ var promiseResolve = promiseResolve$1;
19
+
20
+ getBuiltIn('Promise');
21
+
22
+ // `Promise.resolve` method
23
+ // https://tc39.es/ecma262/#sec-promise.resolve
24
+ $({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {
25
+ resolve: function resolve(x) {
26
+ return promiseResolve(this, x);
27
+ }
28
+ });
29
+ //# sourceMappingURL=es.promise.resolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"es.promise.resolve.js","sources":["../../../../../node_modules/core-js/modules/es.promise.resolve.js"],"sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n"],"names":["require$$0","require$$1","require$$4","require$$5"],"mappings":";;;;;;;;;;;;;;AACA,IAAI,CAAC,GAAGA,OAA8B,CAAC;AACvC,IAAI,UAAU,GAAGC,YAAoC,CAAC;AAGtD,IAAI,0BAA0B,GAAGC,2BAAqD,CAAC,WAAW,CAAC;AACnG,IAAI,cAAc,GAAGC,gBAAuC,CAAC;AAC7D;AACgC,UAAU,CAAC,SAAS,EAAE;AAEtD;AACA;AACA;AACA,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAa,0BAA0B,EAAE,EAAE;AACpF,EAAE,OAAO,EAAE,SAAS,OAAO,CAAC,CAAC,EAAE;AAC/B,IAAI,OAAO,cAAc,CAAkF,IAAI,EAAE,CAAC,CAAC,CAAC;AACpH,GAAG;AACH,CAAC,CAAC"}
@@ -8,7 +8,15 @@
8
8
 
9
9
  import { objectWithoutProperties as _objectWithoutProperties, defineProperty as _defineProperty, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
10
10
  import '../../../node_modules/core-js/modules/es.array.map.js';
11
- import { Children, cloneElement, useRef, useEffect } from 'react';
11
+ import '../../../node_modules/core-js/modules/es.array.some.js';
12
+ import '../../../node_modules/core-js/modules/es.object.to-string.js';
13
+ import '../../../node_modules/core-js/modules/es.promise.constructor.js';
14
+ import '../../../node_modules/core-js/modules/es.promise.all.js';
15
+ import '../../../node_modules/core-js/modules/es.promise.catch.js';
16
+ import '../../../node_modules/core-js/modules/es.promise.race.js';
17
+ import '../../../node_modules/core-js/modules/es.promise.reject.js';
18
+ import '../../../node_modules/core-js/modules/es.promise.resolve.js';
19
+ import { Children, isValidElement, cloneElement, useRef, useEffect } from 'react';
12
20
  import { createPortal } from 'react-dom';
13
21
  import FocusLock from '../../../node_modules/react-focus-lock/dist/es2015/Combination.js';
14
22
  import classNames from '../../../node_modules/classnames/index.js';
@@ -69,6 +77,9 @@ var Drawer = function Drawer(props) {
69
77
  children = props.children,
70
78
  onClose = props.onClose,
71
79
  rest = _objectWithoutProperties(props, _excluded);
80
+ var hasHeader = Children.toArray(children).some(function (child) {
81
+ return /*#__PURE__*/isValidElement(child) && child.type === Header;
82
+ });
72
83
  var clonedChildren = Children.map(children, function (child) {
73
84
  var _props;
74
85
  return child && /*#__PURE__*/cloneElement(child, {
@@ -141,6 +152,7 @@ var Drawer = function Drawer(props) {
141
152
  "aria-expanded": isOpen,
142
153
  "aria-hidden": !isOpen,
143
154
  "aria-modal": "true",
155
+ "aria-labelledby": hasHeader ? "drawer-title" : undefined,
144
156
  initial: "initial",
145
157
  animate: "expanded",
146
158
  exit: "initial",
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.js","sources":["../../../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import React, { Children, cloneElement, ReactElement, useEffect, useRef } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport ReactFocusLock from \"react-focus-lock\";\nimport { SerializedStyles } from \"@emotion/react\";\nimport { AnimatePresence, m, Variants, MotionStyle, domAnimation, LazyMotion } from \"framer-motion\";\nimport classNames from \"classnames\";\nimport { drawerContainer } from \"./styles\";\nimport Header, { HeaderProps } from \"./components/Header\";\nimport Body from \"./components/Body\";\nimport Mask from \"./components/Mask\";\nimport Footer from \"./components/Footer\";\nimport { FCWithChildren } from \"types/common\";\n\ntype DialogVariants = {\n placement: \"left\" | \"right\";\n width: string;\n};\n\nconst dialogVariants: Variants = {\n initial: ({ placement, width }: DialogVariants) => ({\n opacity: 0,\n x: placement === \"right\" ? \"100%\" : `-${width}`,\n transition: {\n type: \"tween\",\n },\n }),\n expanded: () => ({\n opacity: 1,\n x: 0,\n transition: {\n type: \"tween\",\n },\n }),\n};\n\nconst DRAWER_ROOT = \"drawerRoot\";\n\nconst DrawerRoot: FCWithChildren = () => <div id={DRAWER_ROOT} />;\n\nexport type DrawerProps = React.HTMLAttributes<HTMLDivElement> & {\n isOpen: boolean;\n closeOnOutsideClick?: boolean;\n showMask?: boolean;\n placement?: \"left\" | \"right\";\n width?: string;\n dialogStyles?: MotionStyle;\n dialogClassName?: string;\n disableFocusLock?: boolean;\n onClose: () => void;\n};\n\ntype DrawerCompoundProps = {\n Header: FCWithChildren<Omit<HeaderProps, \"onClose\"> & { closable?: boolean }>;\n Body: FCWithChildren;\n Footer: FCWithChildren;\n Root: FCWithChildren;\n};\n\nconst Drawer: FCWithChildren<DrawerProps> & DrawerCompoundProps = (props) => {\n const {\n isOpen,\n placement = \"left\",\n closeOnOutsideClick = true,\n showMask = true,\n width = \"31.5rem\",\n dialogStyles,\n dialogClassName,\n disableFocusLock = false,\n children,\n onClose,\n ...rest\n } = props;\n const clonedChildren = Children.map(children, (child) => {\n return (\n child &&\n cloneElement(child as ReactElement, {\n onClose: (child as ReactElement).props?.closable && onClose,\n })\n );\n });\n const drawerEl = document.getElementById(DRAWER_ROOT);\n const dialogClassNames = classNames({\n dialog: true,\n \"placement-left\": placement === \"left\",\n \"placement-right\": placement === \"right\",\n [dialogClassName ?? \"\"]: dialogClassName,\n });\n const drawerRef = useRef<HTMLDivElement>(null);\n\n const handleClose = () => {\n if (!isOpen || !closeOnOutsideClick) return;\n\n onClose();\n };\n\n useEffect(() => {\n if (!isOpen) return;\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n const dialogs = document.querySelectorAll('.dialog[aria-modal=\"true\"]');\n const dialogCount = dialogs.length;\n\n if (dialogCount > 0) {\n const currentDialog = drawerRef.current?.querySelector(\".dialog\");\n const topMostDialog = dialogs[dialogCount - 1];\n const isTopMostDialog = currentDialog === topMostDialog;\n\n if (isTopMostDialog) {\n event.stopPropagation();\n onClose();\n }\n }\n }\n };\n\n document.addEventListener(\"keydown\", handleEscape);\n\n return () => {\n document.removeEventListener(\"keydown\", handleEscape);\n };\n }, [isOpen, onClose]);\n\n useEffect(() => {\n if (isOpen) {\n (document.querySelector(\"body\") as HTMLBodyElement).style.overflow = \"hidden\";\n } else {\n (document.querySelector(\"body\") as HTMLBodyElement).style.overflow = \"\";\n }\n }, [isOpen]);\n\n useEffect(() => {\n return () => {\n (document.querySelector(\"body\") as HTMLBodyElement).style.overflow = \"\";\n };\n }, []);\n\n const drawer = (\n <LazyMotion features={domAnimation}>\n <AnimatePresence>\n {isOpen && (\n <div\n css={(theme): SerializedStyles => drawerContainer(theme, width)}\n data-testid=\"drawer\"\n ref={drawerRef}\n {...rest}\n >\n {showMask && <Mask onClose={handleClose} />}\n <ReactFocusLock returnFocus disabled={!isOpen || disableFocusLock}>\n <m.dialog\n id=\"drawer-dialog\"\n style={dialogStyles}\n className={dialogClassNames}\n aria-expanded={isOpen}\n aria-hidden={!isOpen}\n aria-modal=\"true\"\n initial=\"initial\"\n animate=\"expanded\"\n exit=\"initial\"\n variants={dialogVariants}\n custom={{ placement, width }}\n >\n {clonedChildren}\n </m.dialog>\n </ReactFocusLock>\n </div>\n )}\n </AnimatePresence>\n </LazyMotion>\n );\n\n return drawerEl && createPortal(drawer, drawerEl);\n};\n\nDrawer.Header = Header;\nDrawer.Body = Body;\nDrawer.Footer = Footer;\nDrawer.Root = DrawerRoot;\n\nexport default Drawer;\n"],"names":["dialogVariants","initial","_ref","placement","width","opacity","x","concat","transition","type","expanded","DRAWER_ROOT","DrawerRoot","___EmotionJSX","id","Drawer","props","isOpen","_props$placement","_props$closeOnOutside","closeOnOutsideClick","_props$showMask","showMask","_props$width","dialogStyles","dialogClassName","_props$disableFocusLo","disableFocusLock","children","onClose","rest","_objectWithoutProperties","_excluded","clonedChildren","Children","map","child","_props","cloneElement","closable","drawerEl","document","getElementById","dialogClassNames","classNames","_defineProperty","dialog","drawerRef","useRef","handleClose","useEffect","handleEscape","event","key","dialogs","querySelectorAll","dialogCount","length","_drawerRef$current","currentDialog","current","querySelector","topMostDialog","isTopMostDialog","stopPropagation","addEventListener","removeEventListener","style","overflow","drawer","LazyMotion","features","domAnimation","AnimatePresence","_extends","css","theme","drawerContainer","ref","Mask","ReactFocusLock","returnFocus","disabled","m","className","animate","exit","variants","custom","createPortal","Header","Body","Footer","Root"],"mappings":"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"}
1
+ {"version":3,"file":"Drawer.js","sources":["../../../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import React, {\n Children,\n cloneElement,\n isValidElement,\n ReactElement,\n useEffect,\n useRef,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport ReactFocusLock from \"react-focus-lock\";\nimport { SerializedStyles } from \"@emotion/react\";\nimport { AnimatePresence, m, Variants, MotionStyle, domAnimation, LazyMotion } from \"framer-motion\";\nimport classNames from \"classnames\";\nimport { drawerContainer } from \"./styles\";\nimport Header, { HeaderProps } from \"./components/Header\";\nimport Body from \"./components/Body\";\nimport Mask from \"./components/Mask\";\nimport Footer from \"./components/Footer\";\nimport { FCWithChildren } from \"types/common\";\n\ntype DialogVariants = {\n placement: \"left\" | \"right\";\n width: string;\n};\n\nconst dialogVariants: Variants = {\n initial: ({ placement, width }: DialogVariants) => ({\n opacity: 0,\n x: placement === \"right\" ? \"100%\" : `-${width}`,\n transition: {\n type: \"tween\",\n },\n }),\n expanded: () => ({\n opacity: 1,\n x: 0,\n transition: {\n type: \"tween\",\n },\n }),\n};\n\nconst DRAWER_ROOT = \"drawerRoot\";\n\nconst DrawerRoot: FCWithChildren = () => <div id={DRAWER_ROOT} />;\n\nexport type DrawerProps = React.HTMLAttributes<HTMLDivElement> & {\n isOpen: boolean;\n closeOnOutsideClick?: boolean;\n showMask?: boolean;\n placement?: \"left\" | \"right\";\n width?: string;\n dialogStyles?: MotionStyle;\n dialogClassName?: string;\n disableFocusLock?: boolean;\n onClose: () => void;\n};\n\ntype DrawerCompoundProps = {\n Header: FCWithChildren<Omit<HeaderProps, \"onClose\"> & { closable?: boolean }>;\n Body: FCWithChildren;\n Footer: FCWithChildren;\n Root: FCWithChildren;\n};\n\nconst Drawer: FCWithChildren<DrawerProps> & DrawerCompoundProps = (props) => {\n const {\n isOpen,\n placement = \"left\",\n closeOnOutsideClick = true,\n showMask = true,\n width = \"31.5rem\",\n dialogStyles,\n dialogClassName,\n disableFocusLock = false,\n children,\n onClose,\n ...rest\n } = props;\n const hasHeader = Children.toArray(children).some(\n (child) => isValidElement(child) && child.type === Header,\n );\n const clonedChildren = Children.map(children, (child) => {\n return (\n child &&\n cloneElement(child as ReactElement, {\n onClose: (child as ReactElement).props?.closable && onClose,\n })\n );\n });\n const drawerEl = document.getElementById(DRAWER_ROOT);\n const dialogClassNames = classNames({\n dialog: true,\n \"placement-left\": placement === \"left\",\n \"placement-right\": placement === \"right\",\n [dialogClassName ?? \"\"]: dialogClassName,\n });\n const drawerRef = useRef<HTMLDivElement>(null);\n\n const handleClose = () => {\n if (!isOpen || !closeOnOutsideClick) return;\n\n onClose();\n };\n\n useEffect(() => {\n if (!isOpen) return;\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n const dialogs = document.querySelectorAll('.dialog[aria-modal=\"true\"]');\n const dialogCount = dialogs.length;\n\n if (dialogCount > 0) {\n const currentDialog = drawerRef.current?.querySelector(\".dialog\");\n const topMostDialog = dialogs[dialogCount - 1];\n const isTopMostDialog = currentDialog === topMostDialog;\n\n if (isTopMostDialog) {\n event.stopPropagation();\n onClose();\n }\n }\n }\n };\n\n document.addEventListener(\"keydown\", handleEscape);\n\n return () => {\n document.removeEventListener(\"keydown\", handleEscape);\n };\n }, [isOpen, onClose]);\n\n useEffect(() => {\n if (isOpen) {\n (document.querySelector(\"body\") as HTMLBodyElement).style.overflow = \"hidden\";\n } else {\n (document.querySelector(\"body\") as HTMLBodyElement).style.overflow = \"\";\n }\n }, [isOpen]);\n\n useEffect(() => {\n return () => {\n (document.querySelector(\"body\") as HTMLBodyElement).style.overflow = \"\";\n };\n }, []);\n\n const drawer = (\n <LazyMotion features={domAnimation}>\n <AnimatePresence>\n {isOpen && (\n <div\n css={(theme): SerializedStyles => drawerContainer(theme, width)}\n data-testid=\"drawer\"\n ref={drawerRef}\n {...rest}\n >\n {showMask && <Mask onClose={handleClose} />}\n <ReactFocusLock returnFocus disabled={!isOpen || disableFocusLock}>\n <m.dialog\n id=\"drawer-dialog\"\n style={dialogStyles}\n className={dialogClassNames}\n aria-expanded={isOpen}\n aria-hidden={!isOpen}\n aria-modal=\"true\"\n aria-labelledby={hasHeader ? \"drawer-title\" : undefined}\n initial=\"initial\"\n animate=\"expanded\"\n exit=\"initial\"\n variants={dialogVariants}\n custom={{ placement, width }}\n >\n {clonedChildren}\n </m.dialog>\n </ReactFocusLock>\n </div>\n )}\n </AnimatePresence>\n </LazyMotion>\n );\n\n return drawerEl && createPortal(drawer, drawerEl);\n};\n\nDrawer.Header = Header;\nDrawer.Body = Body;\nDrawer.Footer = Footer;\nDrawer.Root = DrawerRoot;\n\nexport default Drawer;\n"],"names":["dialogVariants","initial","_ref","placement","width","opacity","x","concat","transition","type","expanded","DRAWER_ROOT","DrawerRoot","___EmotionJSX","id","Drawer","props","isOpen","_props$placement","_props$closeOnOutside","closeOnOutsideClick","_props$showMask","showMask","_props$width","dialogStyles","dialogClassName","_props$disableFocusLo","disableFocusLock","children","onClose","rest","_objectWithoutProperties","_excluded","hasHeader","Children","toArray","some","child","isValidElement","Header","clonedChildren","map","_props","cloneElement","closable","drawerEl","document","getElementById","dialogClassNames","classNames","_defineProperty","dialog","drawerRef","useRef","handleClose","useEffect","handleEscape","event","key","dialogs","querySelectorAll","dialogCount","length","_drawerRef$current","currentDialog","current","querySelector","topMostDialog","isTopMostDialog","stopPropagation","addEventListener","removeEventListener","style","overflow","drawer","LazyMotion","features","domAnimation","AnimatePresence","_extends","css","theme","drawerContainer","ref","Mask","ReactFocusLock","returnFocus","disabled","m","className","undefined","animate","exit","variants","custom","createPortal","Body","Footer","Root"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,IAAMA,cAAwB,GAAG;AAC/BC,EAAAA,OAAO,EAAE,SAATA,OAAOA,CAAAC,IAAA,EAAA;AAAA,IAAA,IAAKC,SAAS,GAAAD,IAAA,CAATC,SAAS;MAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK,CAAA;IAAA,OAAwB;AAClDC,MAAAA,OAAO,EAAE,CAAC;MACVC,CAAC,EAAEH,SAAS,KAAK,OAAO,GAAG,MAAM,GAAAI,GAAAA,CAAAA,MAAA,CAAOH,KAAK,CAAE;AAC/CI,MAAAA,UAAU,EAAE;AACVC,QAAAA,IAAI,EAAE,OAAA;AACR,OAAA;KACD,CAAA;GAAC;EACFC,QAAQ,EAAE,SAAVA,QAAQA,GAAA;IAAA,OAAS;AACfL,MAAAA,OAAO,EAAE,CAAC;AACVC,MAAAA,CAAC,EAAE,CAAC;AACJE,MAAAA,UAAU,EAAE;AACVC,QAAAA,IAAI,EAAE,OAAA;AACR,OAAA;KACD,CAAA;AAAA,GAAA;AACH,CAAC,CAAA;AAED,IAAME,WAAW,GAAG,YAAY,CAAA;AAEhC,IAAMC,UAA0B,GAAG,SAA7BA,UAA0BA,GAAA;AAAA,EAAA,OAASC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,EAAE,EAAEH,WAAAA;AAAY,GAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAqBjE,IAAMI,MAAyD,GAAG,SAA5DA,MAAyDA,CAAIC,KAAK,EAAK;AAC3E,EAAA,IACEC,MAAM,GAWJD,KAAK,CAXPC,MAAM;IAAAC,gBAAA,GAWJF,KAAK,CAVPb,SAAS;AAATA,IAAAA,SAAS,GAAAe,gBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,gBAAA;IAAAC,qBAAA,GAUhBH,KAAK,CATPI,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAE,eAAA,GASxBL,KAAK,CARPM,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;IAAAE,YAAA,GAQbP,KAAK,CAPPZ,KAAK;AAALA,IAAAA,KAAK,GAAAmB,YAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,YAAA;IACjBC,YAAY,GAMVR,KAAK,CANPQ,YAAY;IACZC,eAAe,GAKbT,KAAK,CALPS,eAAe;IAAAC,qBAAA,GAKbV,KAAK,CAJPW,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IACxBE,QAAQ,GAGNZ,KAAK,CAHPY,QAAQ;IACRC,OAAO,GAELb,KAAK,CAFPa,OAAO;AACJC,IAAAA,IAAI,GAAAC,wBAAA,CACLf,KAAK,EAAAgB,SAAA,CAAA,CAAA;AACT,EAAA,IAAMC,SAAS,GAAGC,QAAQ,CAACC,OAAO,CAACP,QAAQ,CAAC,CAACQ,IAAI,CAC/C,UAACC,KAAK,EAAA;IAAA,oBAAKC,cAAc,CAACD,KAAK,CAAC,IAAIA,KAAK,CAAC5B,IAAI,KAAK8B,MAAM,CAAA;AAAA,GAC3D,CAAC,CAAA;EACD,IAAMC,cAAc,GAAGN,QAAQ,CAACO,GAAG,CAACb,QAAQ,EAAE,UAACS,KAAK,EAAK;AAAA,IAAA,IAAAK,MAAA,CAAA;AACvD,IAAA,OACEL,KAAK,iBACLM,YAAY,CAACN,KAAK,EAAkB;AAClCR,MAAAA,OAAO,EAAE,CAAA,CAAAa,MAAA,GAACL,KAAK,CAAkBrB,KAAK,MAAA,IAAA,IAAA0B,MAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA7BA,MAAA,CAA+BE,QAAQ,KAAIf,OAAAA;AACtD,KAAC,CAAC,CAAA;AAEN,GAAC,CAAC,CAAA;AACF,EAAA,IAAMgB,QAAQ,GAAGC,QAAQ,CAACC,cAAc,CAACpC,WAAW,CAAC,CAAA;AACrD,EAAA,IAAMqC,gBAAgB,GAAGC,UAAU,CAAAC,eAAA,CAAA;AACjCC,IAAAA,MAAM,EAAE,IAAI;IACZ,gBAAgB,EAAEhD,SAAS,KAAK,MAAM;IACtC,iBAAiB,EAAEA,SAAS,KAAK,OAAA;GAChCsB,EAAAA,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,eAAe,GAAI,EAAE,EAAGA,eAAe,CACzC,CAAC,CAAA;AACF,EAAA,IAAM2B,SAAS,GAAGC,MAAM,CAAiB,IAAI,CAAC,CAAA;AAE9C,EAAA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACxB,IAAA,IAAI,CAACrC,MAAM,IAAI,CAACG,mBAAmB,EAAE,OAAA;AAErCS,IAAAA,OAAO,EAAE,CAAA;GACV,CAAA;AAED0B,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAACtC,MAAM,EAAE,OAAA;AAEb,IAAA,IAAMuC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,KAAoB,EAAK;AAC7C,MAAA,IAAIA,KAAK,CAACC,GAAG,KAAK,QAAQ,EAAE;AAC1B,QAAA,IAAMC,OAAO,GAAGb,QAAQ,CAACc,gBAAgB,CAAC,4BAA4B,CAAC,CAAA;AACvE,QAAA,IAAMC,WAAW,GAAGF,OAAO,CAACG,MAAM,CAAA;QAElC,IAAID,WAAW,GAAG,CAAC,EAAE;AAAA,UAAA,IAAAE,kBAAA,CAAA;AACnB,UAAA,IAAMC,aAAa,GAAA,CAAAD,kBAAA,GAAGX,SAAS,CAACa,OAAO,MAAAF,IAAAA,IAAAA,kBAAA,uBAAjBA,kBAAA,CAAmBG,aAAa,CAAC,SAAS,CAAC,CAAA;AACjE,UAAA,IAAMC,aAAa,GAAGR,OAAO,CAACE,WAAW,GAAG,CAAC,CAAC,CAAA;AAC9C,UAAA,IAAMO,eAAe,GAAGJ,aAAa,KAAKG,aAAa,CAAA;AAEvD,UAAA,IAAIC,eAAe,EAAE;YACnBX,KAAK,CAACY,eAAe,EAAE,CAAA;AACvBxC,YAAAA,OAAO,EAAE,CAAA;AACX,WAAA;AACF,SAAA;AACF,OAAA;KACD,CAAA;AAEDiB,IAAAA,QAAQ,CAACwB,gBAAgB,CAAC,SAAS,EAAEd,YAAY,CAAC,CAAA;AAElD,IAAA,OAAO,YAAM;AACXV,MAAAA,QAAQ,CAACyB,mBAAmB,CAAC,SAAS,EAAEf,YAAY,CAAC,CAAA;KACtD,CAAA;AACH,GAAC,EAAE,CAACvC,MAAM,EAAEY,OAAO,CAAC,CAAC,CAAA;AAErB0B,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAItC,MAAM,EAAE;MACT6B,QAAQ,CAACoB,aAAa,CAAC,MAAM,CAAC,CAAqBM,KAAK,CAACC,QAAQ,GAAG,QAAQ,CAAA;AAC/E,KAAC,MAAM;MACJ3B,QAAQ,CAACoB,aAAa,CAAC,MAAM,CAAC,CAAqBM,KAAK,CAACC,QAAQ,GAAG,EAAE,CAAA;AACzE,KAAA;AACF,GAAC,EAAE,CAACxD,MAAM,CAAC,CAAC,CAAA;AAEZsC,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,OAAO,YAAM;MACVT,QAAQ,CAACoB,aAAa,CAAC,MAAM,CAAC,CAAqBM,KAAK,CAACC,QAAQ,GAAG,EAAE,CAAA;KACxE,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,IAAMC,MAAM,GACV7D,GAAA,CAAC8D,UAAU,EAAA;AAACC,IAAAA,QAAQ,EAAEC,YAAAA;GACpBhE,EAAAA,GAAA,CAACiE,eAAe,EAAA,IAAA,EACb7D,MAAM,IACLJ,GAAA,QAAAkE,QAAA,CAAA;AACEC,IAAAA,GAAG,EAAE,SAALA,GAAGA,CAAGC,KAAK,EAAA;AAAA,MAAA,OAAuBC,eAAe,CAACD,KAAK,EAAE7E,KAAK,CAAC,CAAA;KAAC;AAChE,IAAA,aAAA,EAAY,QAAQ;AACpB+E,IAAAA,GAAG,EAAE/B,SAAAA;AAAU,GAAA,EACXtB,IAAI,CAEPR,EAAAA,QAAQ,IAAIT,GAAA,CAACuE,IAAI,EAAA;AAACvD,IAAAA,OAAO,EAAEyB,WAAAA;AAAY,GAAE,CAAC,EAC3CzC,GAAA,CAACwE,SAAc,EAAA;IAACC,WAAW,EAAA,IAAA;IAACC,QAAQ,EAAE,CAACtE,MAAM,IAAIU,gBAAAA;AAAiB,GAAA,EAChEd,GAAA,CAAC2E,CAAC,CAACrC,MAAM,EAAA;AACPrC,IAAAA,EAAE,EAAC,eAAe;AAClB0D,IAAAA,KAAK,EAAEhD,YAAa;AACpBiE,IAAAA,SAAS,EAAEzC,gBAAiB;AAC5B,IAAA,eAAA,EAAe/B,MAAO;AACtB,IAAA,aAAA,EAAa,CAACA,MAAO;AACrB,IAAA,YAAA,EAAW,MAAM;AACjB,IAAA,iBAAA,EAAiBgB,SAAS,GAAG,cAAc,GAAGyD,SAAU;AACxDzF,IAAAA,OAAO,EAAC,SAAS;AACjB0F,IAAAA,OAAO,EAAC,UAAU;AAClBC,IAAAA,IAAI,EAAC,SAAS;AACdC,IAAAA,QAAQ,EAAE7F,cAAe;AACzB8F,IAAAA,MAAM,EAAE;AAAE3F,MAAAA,SAAS,EAATA,SAAS;AAAEC,MAAAA,KAAK,EAALA,KAAAA;AAAM,KAAA;AAAE,GAAA,EAE5BoC,cACO,CACI,CACb,CAEQ,CACP,CACb,CAAA;AAED,EAAA,OAAOK,QAAQ,iBAAIkD,YAAY,CAACrB,MAAM,EAAE7B,QAAQ,CAAC,CAAA;AACnD,EAAC;AAED9B,MAAM,CAACwB,MAAM,GAAGA,MAAM,CAAA;AACtBxB,MAAM,CAACiF,IAAI,GAAGA,IAAI,CAAA;AAClBjF,MAAM,CAACkF,MAAM,GAAGA,MAAM,CAAA;AACtBlF,MAAM,CAACmF,IAAI,GAAGtF,UAAU;;;;"}
@@ -12,9 +12,10 @@ import { createElement as jsx } from '../../../../node_modules/@emotion/react/di
12
12
 
13
13
  var Footer = function Footer(_ref) {
14
14
  var children = _ref.children;
15
- return jsx("footer", {
15
+ return jsx("div", {
16
16
  "data-testid": "drawer-footer",
17
- css: footerContainer
17
+ css: footerContainer,
18
+ className: "drawer-footer"
18
19
  }, children);
19
20
  };
20
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sources":["../../../../../../src/components/Drawer/components/Footer.tsx"],"sourcesContent":["import React from \"react\";\nimport { footerContainer } from \"./styles\";\nimport { FCWithChildren } from \"types/common\";\n\nconst Footer: FCWithChildren = ({ children }) => (\n <footer data-testid=\"drawer-footer\" css={footerContainer}>\n {children}\n </footer>\n);\n\nexport default Footer;\n"],"names":["Footer","_ref","children","___EmotionJSX","css","footerContainer"],"mappings":";;;;;;;;;;;;AAIA,IAAMA,MAAsB,GAAG,SAAzBA,MAAsBA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;AAAA,EAAA,OACxCC,GAAA,CAAA,QAAA,EAAA;AAAQ,IAAA,aAAA,EAAY,eAAe;AAACC,IAAAA,GAAG,EAAEC,eAAAA;AAAgB,GAAA,EACtDH,QACK,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"Footer.js","sources":["../../../../../../src/components/Drawer/components/Footer.tsx"],"sourcesContent":["import React from \"react\";\nimport { footerContainer } from \"./styles\";\nimport { FCWithChildren } from \"types/common\";\n\nconst Footer: FCWithChildren = ({ children }) => (\n <div data-testid=\"drawer-footer\" css={footerContainer} className=\"drawer-footer\">\n {children}\n </div>\n);\n\nexport default Footer;\n"],"names":["Footer","_ref","children","___EmotionJSX","css","footerContainer","className"],"mappings":";;;;;;;;;;;;AAIA,IAAMA,MAAsB,GAAG,SAAzBA,MAAsBA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;AAAA,EAAA,OACxCC,GAAA,CAAA,KAAA,EAAA;AAAK,IAAA,aAAA,EAAY,eAAe;AAACC,IAAAA,GAAG,EAAEC,eAAgB;AAACC,IAAAA,SAAS,EAAC,eAAA;AAAe,GAAA,EAC7EJ,QACE,CAAC,CAAA;AAAA;;;;"}
@@ -21,7 +21,8 @@ var Header = function Header(_ref) {
21
21
  var title = typeof children === "string" ? jsx(Heading, {
22
22
  size: "md"
23
23
  }, children) : children;
24
- return jsx("header", {
24
+ return jsx("div", {
25
+ className: "drawer-header",
25
26
  id: "drawer-title",
26
27
  "data-testid": "drawer-header",
27
28
  css: function css() {
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../../../../../src/components/Drawer/components/Header.tsx"],"sourcesContent":["import React from \"react\";\nimport { SerializedStyles } from \"@emotion/react\";\nimport Heading from \"../../Heading/Heading\";\nimport Button from \"../../Button/Button\";\nimport { CloseModalSVG } from \"../../../icons/\";\nimport { drawerHeader } from \"./styles\";\nimport { FCWithChildren } from \"types/common\";\n\nexport type HeaderProps = {\n onClose?: () => void;\n noGutters?: boolean;\n};\n\nconst Header: FCWithChildren<HeaderProps> = ({ onClose, noGutters = false, children }) => {\n const title = typeof children === \"string\" ? <Heading size=\"md\">{children}</Heading> : children;\n\n return (\n <header\n id=\"drawer-title\"\n data-testid=\"drawer-header\"\n css={(): SerializedStyles => drawerHeader({ noGutters })}\n >\n {title}\n <Button\n type=\"button\"\n variant=\"link\"\n color=\"secondary\"\n className=\"close-button\"\n noGutters\n aria-label=\"Close drawer\"\n onClick={onClose}\n >\n <CloseModalSVG height={32} />\n </Button>\n </header>\n );\n};\n\nexport default Header;\n"],"names":["Header","_ref","onClose","_ref$noGutters","noGutters","children","title","___EmotionJSX","Heading","size","id","css","drawerHeader","Button","type","variant","color","className","onClick","CloseModalSVG","height"],"mappings":";;;;;;;;;;;;;;;AAaA,IAAMA,MAAmC,GAAG,SAAtCA,MAAmCA,CAAAC,IAAA,EAAiD;AAAA,EAAA,IAA3CC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAAC,cAAA,GAAAF,IAAA,CAAEG,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAEE,QAAQ,GAAAJ,IAAA,CAARI,QAAQ,CAAA;EACjF,IAAMC,KAAK,GAAG,OAAOD,QAAQ,KAAK,QAAQ,GAAGE,GAAA,CAACC,OAAO,EAAA;AAACC,IAAAA,IAAI,EAAC,IAAA;GAAMJ,EAAAA,QAAkB,CAAC,GAAGA,QAAQ,CAAA;AAE/F,EAAA,OACEE,GAAA,CAAA,QAAA,EAAA;AACEG,IAAAA,EAAE,EAAC,cAAc;AACjB,IAAA,aAAA,EAAY,eAAe;IAC3BC,GAAG,EAAE,SAALA,GAAGA,GAAA;AAAA,MAAA,OAA0BC,YAAY,CAAC;AAAER,QAAAA,SAAS,EAATA,SAAAA;AAAU,OAAC,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA,EAExDE,KAAK,EACNC,GAAA,CAACM,MAAM,EAAA;AACLC,IAAAA,IAAI,EAAC,QAAQ;AACbC,IAAAA,OAAO,EAAC,MAAM;AACdC,IAAAA,KAAK,EAAC,WAAW;AACjBC,IAAAA,SAAS,EAAC,cAAc;IACxBb,SAAS,EAAA,IAAA;AACT,IAAA,YAAA,EAAW,cAAc;AACzBc,IAAAA,OAAO,EAAEhB,OAAAA;GAETK,EAAAA,GAAA,CAACY,aAAa,EAAA;AAACC,IAAAA,MAAM,EAAE,EAAA;GAAK,CACtB,CACF,CAAC,CAAA;AAEb;;;;"}
1
+ {"version":3,"file":"Header.js","sources":["../../../../../../src/components/Drawer/components/Header.tsx"],"sourcesContent":["import React from \"react\";\nimport { SerializedStyles } from \"@emotion/react\";\nimport Heading from \"../../Heading/Heading\";\nimport Button from \"../../Button/Button\";\nimport { CloseModalSVG } from \"../../../icons/\";\nimport { drawerHeader } from \"./styles\";\nimport { FCWithChildren } from \"types/common\";\n\nexport type HeaderProps = {\n onClose?: () => void;\n noGutters?: boolean;\n};\n\nconst Header: FCWithChildren<HeaderProps> = ({ onClose, noGutters = false, children }) => {\n const title = typeof children === \"string\" ? <Heading size=\"md\">{children}</Heading> : children;\n\n return (\n <div\n className=\"drawer-header\"\n id=\"drawer-title\"\n data-testid=\"drawer-header\"\n css={(): SerializedStyles => drawerHeader({ noGutters })}\n >\n {title}\n <Button\n type=\"button\"\n variant=\"link\"\n color=\"secondary\"\n className=\"close-button\"\n noGutters\n aria-label=\"Close drawer\"\n onClick={onClose}\n >\n <CloseModalSVG height={32} />\n </Button>\n </div>\n );\n};\n\nexport default Header;\n"],"names":["Header","_ref","onClose","_ref$noGutters","noGutters","children","title","___EmotionJSX","Heading","size","className","id","css","drawerHeader","Button","type","variant","color","onClick","CloseModalSVG","height"],"mappings":";;;;;;;;;;;;;;;AAaA,IAAMA,MAAmC,GAAG,SAAtCA,MAAmCA,CAAAC,IAAA,EAAiD;AAAA,EAAA,IAA3CC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAAC,cAAA,GAAAF,IAAA,CAAEG,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAEE,QAAQ,GAAAJ,IAAA,CAARI,QAAQ,CAAA;EACjF,IAAMC,KAAK,GAAG,OAAOD,QAAQ,KAAK,QAAQ,GAAGE,GAAA,CAACC,OAAO,EAAA;AAACC,IAAAA,IAAI,EAAC,IAAA;GAAMJ,EAAAA,QAAkB,CAAC,GAAGA,QAAQ,CAAA;AAE/F,EAAA,OACEE,GAAA,CAAA,KAAA,EAAA;AACEG,IAAAA,SAAS,EAAC,eAAe;AACzBC,IAAAA,EAAE,EAAC,cAAc;AACjB,IAAA,aAAA,EAAY,eAAe;IAC3BC,GAAG,EAAE,SAALA,GAAGA,GAAA;AAAA,MAAA,OAA0BC,YAAY,CAAC;AAAET,QAAAA,SAAS,EAATA,SAAAA;AAAU,OAAC,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA,EAExDE,KAAK,EACNC,GAAA,CAACO,MAAM,EAAA;AACLC,IAAAA,IAAI,EAAC,QAAQ;AACbC,IAAAA,OAAO,EAAC,MAAM;AACdC,IAAAA,KAAK,EAAC,WAAW;AACjBP,IAAAA,SAAS,EAAC,cAAc;IACxBN,SAAS,EAAA,IAAA;AACT,IAAA,YAAA,EAAW,cAAc;AACzBc,IAAAA,OAAO,EAAEhB,OAAAA;GAETK,EAAAA,GAAA,CAACY,aAAa,EAAA;AAACC,IAAAA,MAAM,EAAE,EAAA;GAAK,CACtB,CACL,CAAC,CAAA;AAEV;;;;"}
@@ -25,7 +25,7 @@ var Header = function Header(_ref) {
25
25
  var title = typeof children === "string" ? jsx(Heading, {
26
26
  size: "md"
27
27
  }, children) : children;
28
- return jsx("header", _extends({
28
+ return jsx("div", _extends({
29
29
  css: modalHeader,
30
30
  "data-testid": "modal-header"
31
31
  }, rest), jsx("div", null, title), onClose && jsx("button", {
@@ -48,7 +48,7 @@ var Body = function Body(_ref2) {
48
48
  var Footer = function Footer(_ref3) {
49
49
  var children = _ref3.children,
50
50
  rest = _objectWithoutProperties(_ref3, _excluded3);
51
- return jsx("footer", _extends({
51
+ return jsx("div", _extends({
52
52
  css: modalFooter,
53
53
  "data-testid": "modal-footer"
54
54
  }, rest), children);
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import React, { FC, ReactElement, cloneElement, Children } from \"react\";\nimport { ClassNames } from \"@emotion/react\";\nimport ReactModal, { Props } from \"react-modal\";\nimport Heading from \"../Heading/Heading\";\nimport { CloseModalSVG } from \"../../icons/\";\nimport { modalContent, modalFooter, modalHeader, portalStyles } from \"./styles\";\nimport { FCWithChildren } from \"types/common\";\n\nexport type HeaderProps = React.HTMLAttributes<HTMLElement> & {\n onClose?: () => void;\n};\n\nconst Header: FC<HeaderProps> = ({ children, onClose, ...rest }) => {\n const title = typeof children === \"string\" ? <Heading size=\"md\">{children}</Heading> : children;\n return (\n <header css={modalHeader} data-testid=\"modal-header\" {...rest}>\n <div>{title}</div>\n {onClose && (\n <button\n role=\"button\"\n className=\"close-btn\"\n aria-label=\"Close button\"\n data-testid=\"header-close-button\"\n onClick={onClose}\n >\n <CloseModalSVG height={32} />\n </button>\n )}\n </header>\n );\n};\n\ntype BodyProps = React.HTMLAttributes<HTMLElement>;\n\nconst Body: FC<BodyProps> = ({ children, ...rest }) => {\n return (\n <article css={modalContent} {...rest}>\n {children}\n </article>\n );\n};\n\ntype FooterProps = React.HTMLAttributes<HTMLElement>;\n\nconst Footer: FC<FooterProps> = ({ children, ...rest }) => {\n return (\n <footer css={modalFooter} data-testid=\"modal-footer\" {...rest}>\n {children}\n </footer>\n );\n};\n\ntype ModalCompoundProps = {\n Header: FC<Omit<HeaderProps, \"onClose\">>;\n Body: FC<BodyProps>;\n Footer: FC<FooterProps>;\n};\n\nexport type Size = \"sm\" | \"md\" | \"lg\" | \"fullscreen\";\n\n//opacity is set 0.7 default\n\nexport type ReactModalProps = Pick<Props, \"isOpen\" | \"onAfterOpen\"> & {\n onClose?: () => void;\n size?: Size;\n rootElementSelector?: string;\n closeOnOutsideClick?: boolean;\n style?: ReactModal.Styles;\n};\n\nconst Modal: FCWithChildren<ReactModalProps> & ModalCompoundProps = ({\n children,\n isOpen,\n onClose,\n size = \"sm\",\n rootElementSelector = \"#app\",\n closeOnOutsideClick = true,\n style,\n onAfterOpen,\n}) => {\n const rootElement = document.querySelector(rootElementSelector) as HTMLElement;\n const clonedChildren = Children.map(children, (child) =>\n cloneElement(child as ReactElement, {\n onClose,\n }),\n );\n\n return (\n <ClassNames>\n {({ css }): JSX.Element => (\n <ReactModal\n isOpen={isOpen}\n appElement={rootElement}\n onRequestClose={onClose}\n onAfterOpen={onAfterOpen}\n contentLabel=\"modal\"\n overlayClassName={{\n base: \"overlay-base\",\n afterOpen: \"overlay-after\",\n beforeClose: \"overlay-before\",\n }}\n className={{\n base: \"content-base\",\n afterOpen: \"content-after\",\n beforeClose: \"content-before\",\n }}\n closeTimeoutMS={200}\n portalClassName={css(portalStyles(size))}\n ariaHideApp={false}\n shouldCloseOnOverlayClick={closeOnOutsideClick}\n style={style}\n >\n {clonedChildren}\n </ReactModal>\n )}\n </ClassNames>\n );\n};\n\nModal.Header = Header;\nModal.Body = Body;\nModal.Footer = Footer;\n\nexport default Modal;\n"],"names":["Header","_ref","children","onClose","rest","_objectWithoutProperties","_excluded","title","___EmotionJSX","Heading","size","_extends","css","modalHeader","role","className","onClick","CloseModalSVG","height","Body","_ref2","_excluded2","modalContent","Footer","_ref3","_excluded3","modalFooter","Modal","_ref4","isOpen","_ref4$size","_ref4$rootElementSele","rootElementSelector","_ref4$closeOnOutsideC","closeOnOutsideClick","style","onAfterOpen","rootElement","document","querySelector","clonedChildren","Children","map","child","cloneElement","ClassNames","_ref5","ReactModal","appElement","onRequestClose","contentLabel","overlayClassName","base","afterOpen","beforeClose","closeTimeoutMS","portalClassName","portalStyles","ariaHideApp","shouldCloseOnOverlayClick"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import React, { FC, ReactElement, cloneElement, Children } from \"react\";\nimport { ClassNames } from \"@emotion/react\";\nimport ReactModal, { Props } from \"react-modal\";\nimport Heading from \"../Heading/Heading\";\nimport { CloseModalSVG } from \"../../icons/\";\nimport { modalContent, modalFooter, modalHeader, portalStyles } from \"./styles\";\nimport { FCWithChildren } from \"types/common\";\n\nexport type HeaderProps = React.HTMLAttributes<HTMLElement> & {\n onClose?: () => void;\n};\n\nconst Header: FC<HeaderProps> = ({ children, onClose, ...rest }) => {\n const title = typeof children === \"string\" ? <Heading size=\"md\">{children}</Heading> : children;\n return (\n <div css={modalHeader} data-testid=\"modal-header\" {...rest}>\n <div>{title}</div>\n {onClose && (\n <button\n role=\"button\"\n className=\"close-btn\"\n aria-label=\"Close button\"\n data-testid=\"header-close-button\"\n onClick={onClose}\n >\n <CloseModalSVG height={32} />\n </button>\n )}\n </div>\n );\n};\n\ntype BodyProps = React.HTMLAttributes<HTMLElement>;\n\nconst Body: FC<BodyProps> = ({ children, ...rest }) => {\n return (\n <article css={modalContent} {...rest}>\n {children}\n </article>\n );\n};\n\ntype FooterProps = React.HTMLAttributes<HTMLElement>;\n\nconst Footer: FC<FooterProps> = ({ children, ...rest }) => {\n return (\n <div css={modalFooter} data-testid=\"modal-footer\" {...rest}>\n {children}\n </div>\n );\n};\n\ntype ModalCompoundProps = {\n Header: FC<Omit<HeaderProps, \"onClose\">>;\n Body: FC<BodyProps>;\n Footer: FC<FooterProps>;\n};\n\nexport type Size = \"sm\" | \"md\" | \"lg\" | \"fullscreen\";\n\n//opacity is set 0.7 default\n\nexport type ReactModalProps = Pick<Props, \"isOpen\" | \"onAfterOpen\"> & {\n onClose?: () => void;\n size?: Size;\n rootElementSelector?: string;\n closeOnOutsideClick?: boolean;\n style?: ReactModal.Styles;\n};\n\nconst Modal: FCWithChildren<ReactModalProps> & ModalCompoundProps = ({\n children,\n isOpen,\n onClose,\n size = \"sm\",\n rootElementSelector = \"#app\",\n closeOnOutsideClick = true,\n style,\n onAfterOpen,\n}) => {\n const rootElement = document.querySelector(rootElementSelector) as HTMLElement;\n const clonedChildren = Children.map(children, (child) =>\n cloneElement(child as ReactElement, {\n onClose,\n }),\n );\n\n return (\n <ClassNames>\n {({ css }): JSX.Element => (\n <ReactModal\n isOpen={isOpen}\n appElement={rootElement}\n onRequestClose={onClose}\n onAfterOpen={onAfterOpen}\n contentLabel=\"modal\"\n overlayClassName={{\n base: \"overlay-base\",\n afterOpen: \"overlay-after\",\n beforeClose: \"overlay-before\",\n }}\n className={{\n base: \"content-base\",\n afterOpen: \"content-after\",\n beforeClose: \"content-before\",\n }}\n closeTimeoutMS={200}\n portalClassName={css(portalStyles(size))}\n ariaHideApp={false}\n shouldCloseOnOverlayClick={closeOnOutsideClick}\n style={style}\n >\n {clonedChildren}\n </ReactModal>\n )}\n </ClassNames>\n );\n};\n\nModal.Header = Header;\nModal.Body = Body;\nModal.Footer = Footer;\n\nexport default Modal;\n"],"names":["Header","_ref","children","onClose","rest","_objectWithoutProperties","_excluded","title","___EmotionJSX","Heading","size","_extends","css","modalHeader","role","className","onClick","CloseModalSVG","height","Body","_ref2","_excluded2","modalContent","Footer","_ref3","_excluded3","modalFooter","Modal","_ref4","isOpen","_ref4$size","_ref4$rootElementSele","rootElementSelector","_ref4$closeOnOutsideC","closeOnOutsideClick","style","onAfterOpen","rootElement","document","querySelector","clonedChildren","Children","map","child","cloneElement","ClassNames","_ref5","ReactModal","appElement","onRequestClose","contentLabel","overlayClassName","base","afterOpen","beforeClose","closeTimeoutMS","portalClassName","portalStyles","ariaHideApp","shouldCloseOnOverlayClick"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epignosis_llc/gnosis",
3
- "version": "6.7.1",
3
+ "version": "6.7.2",
4
4
  "type": "module",
5
5
  "description": "Epignosis official react design system.",
6
6
  "homepage": "https://github.com/epignosis/gnosis",