@ukic/canary-react 2.0.0-canary.2 → 2.0.0-canary.20

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,74 +1,107 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- import React, { createElement } from 'react';
13
- import { attachProps, camelToDashCase, createForwardRef, dashToPascalCase, isCoveredByReact, mergeRefs } from './utils';
14
- export const createReactComponent = (tagName, ReactComponentContext, manipulatePropsFunction, defineCustomElement) => {
15
- if (defineCustomElement !== undefined) {
16
- defineCustomElement();
17
- }
18
- const displayName = dashToPascalCase(tagName);
19
- const ReactComponent = class extends React.Component {
20
- constructor(props) {
21
- super(props);
22
- this.setComponentElRef = (element) => {
23
- this.componentEl = element;
24
- };
25
- }
26
- componentDidMount() {
27
- this.componentDidUpdate(this.props);
28
- }
29
- componentDidUpdate(prevProps) {
30
- attachProps(this.componentEl, this.props, prevProps);
31
- }
32
- render() {
33
- const _a = this.props, { children, forwardedRef, style, className, ref } = _a, cProps = __rest(_a, ["children", "forwardedRef", "style", "className", "ref"]);
34
- let propsToPass = Object.keys(cProps).reduce((acc, name) => {
35
- const value = cProps[name];
36
- if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {
37
- const eventName = name.substring(2).toLowerCase();
38
- if (typeof document !== 'undefined' && isCoveredByReact(eventName)) {
39
- acc[name] = value;
40
- }
41
- }
42
- else {
43
- // we should only render strings, booleans, and numbers as attrs in html.
44
- // objects, functions, arrays etc get synced via properties on mount.
45
- const type = typeof value;
46
- if (type === 'string' || type === 'boolean' || type === 'number') {
47
- acc[camelToDashCase(name)] = value;
48
- }
49
- }
50
- return acc;
51
- }, {});
52
- if (manipulatePropsFunction) {
53
- propsToPass = manipulatePropsFunction(this.props, propsToPass);
54
- }
55
- const newProps = Object.assign(Object.assign({}, propsToPass), { ref: mergeRefs(forwardedRef, this.setComponentElRef), style });
56
- /**
57
- * We use createElement here instead of
58
- * React.createElement to work around a
59
- * bug in Vite (https://github.com/vitejs/vite/issues/6104).
60
- * React.createElement causes all elements to be rendered
61
- * as <tagname> instead of the actual Web Component.
62
- */
63
- return createElement(tagName, newProps, children);
64
- }
65
- static get displayName() {
66
- return displayName;
67
- }
68
- };
69
- // If context was passed to createReactComponent then conditionally add it to the Component Class
70
- if (ReactComponentContext) {
71
- ReactComponent.contextType = ReactComponentContext;
72
- }
73
- return createForwardRef(ReactComponent, displayName);
74
- };
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
24
+ };
25
+ return __assign.apply(this, arguments);
26
+ };
27
+ var __rest = (this && this.__rest) || function (s, e) {
28
+ var t = {};
29
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
30
+ t[p] = s[p];
31
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
32
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
33
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
34
+ t[p[i]] = s[p[i]];
35
+ }
36
+ return t;
37
+ };
38
+ import React, { createElement } from 'react';
39
+ import { attachProps, camelToDashCase, createForwardRef, dashToPascalCase, isCoveredByReact, mergeRefs } from './utils';
40
+ export var createReactComponent = function (tagName, ReactComponentContext, manipulatePropsFunction, defineCustomElement) {
41
+ if (defineCustomElement !== undefined) {
42
+ defineCustomElement();
43
+ }
44
+ var displayName = dashToPascalCase(tagName);
45
+ var ReactComponent = /** @class */ (function (_super) {
46
+ __extends(class_1, _super);
47
+ function class_1(props) {
48
+ var _this = _super.call(this, props) || this;
49
+ _this.setComponentElRef = function (element) {
50
+ _this.componentEl = element;
51
+ };
52
+ return _this;
53
+ }
54
+ class_1.prototype.componentDidMount = function () {
55
+ this.componentDidUpdate(this.props);
56
+ };
57
+ class_1.prototype.componentDidUpdate = function (prevProps) {
58
+ attachProps(this.componentEl, this.props, prevProps);
59
+ };
60
+ class_1.prototype.render = function () {
61
+ var _a = this.props, children = _a.children, forwardedRef = _a.forwardedRef, style = _a.style, className = _a.className, ref = _a.ref, cProps = __rest(_a, ["children", "forwardedRef", "style", "className", "ref"]);
62
+ var propsToPass = Object.keys(cProps).reduce(function (acc, name) {
63
+ var value = cProps[name];
64
+ if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {
65
+ var eventName = name.substring(2).toLowerCase();
66
+ if (typeof document !== 'undefined' && isCoveredByReact(eventName)) {
67
+ acc[name] = value;
68
+ }
69
+ }
70
+ else {
71
+ // we should only render strings, booleans, and numbers as attrs in html.
72
+ // objects, functions, arrays etc get synced via properties on mount.
73
+ var type = typeof value;
74
+ if (type === 'string' || type === 'boolean' || type === 'number') {
75
+ acc[camelToDashCase(name)] = value;
76
+ }
77
+ }
78
+ return acc;
79
+ }, {});
80
+ if (manipulatePropsFunction) {
81
+ propsToPass = manipulatePropsFunction(this.props, propsToPass);
82
+ }
83
+ var newProps = __assign(__assign({}, propsToPass), { ref: mergeRefs(forwardedRef, this.setComponentElRef), style: style });
84
+ /**
85
+ * We use createElement here instead of
86
+ * React.createElement to work around a
87
+ * bug in Vite (https://github.com/vitejs/vite/issues/6104).
88
+ * React.createElement causes all elements to be rendered
89
+ * as <tagname> instead of the actual Web Component.
90
+ */
91
+ return createElement(tagName, newProps, children);
92
+ };
93
+ Object.defineProperty(class_1, "displayName", {
94
+ get: function () {
95
+ return displayName;
96
+ },
97
+ enumerable: false,
98
+ configurable: true
99
+ });
100
+ return class_1;
101
+ }(React.Component));
102
+ // If context was passed to createReactComponent then conditionally add it to the Component Class
103
+ if (ReactComponentContext) {
104
+ ReactComponent.contextType = ReactComponentContext;
105
+ }
106
+ return createForwardRef(ReactComponent, displayName);
107
+ };
@@ -1,21 +1,21 @@
1
- import React from 'react';
2
- import { OverlayEventDetail } from './interfaces';
3
- import { StencilReactForwardedRef } from './utils';
4
- interface OverlayElement extends HTMLElement {
5
- present: () => Promise<void>;
6
- dismiss: (data?: any, role?: string | undefined) => Promise<boolean>;
7
- }
8
- export interface ReactOverlayProps {
9
- children?: React.ReactNode;
10
- isOpen: boolean;
11
- onDidDismiss?: (event: CustomEvent<OverlayEventDetail>) => void;
12
- onDidPresent?: (event: CustomEvent<OverlayEventDetail>) => void;
13
- onWillDismiss?: (event: CustomEvent<OverlayEventDetail>) => void;
14
- onWillPresent?: (event: CustomEvent<OverlayEventDetail>) => void;
15
- }
16
- export declare const createOverlayComponent: <OverlayComponent extends object, OverlayType extends OverlayElement>(tagName: string, controller: {
17
- create: (options: any) => Promise<OverlayType>;
18
- }, customElement?: any) => React.ForwardRefExoticComponent<React.PropsWithoutRef<OverlayComponent & ReactOverlayProps & {
19
- forwardedRef?: StencilReactForwardedRef<OverlayType>;
20
- }> & React.RefAttributes<OverlayType>>;
21
- export {};
1
+ import React from 'react';
2
+ import { OverlayEventDetail } from './interfaces';
3
+ import { StencilReactForwardedRef } from './utils';
4
+ interface OverlayElement extends HTMLElement {
5
+ present: () => Promise<void>;
6
+ dismiss: (data?: any, role?: string | undefined) => Promise<boolean>;
7
+ }
8
+ export interface ReactOverlayProps {
9
+ children?: React.ReactNode;
10
+ isOpen: boolean;
11
+ onDidDismiss?: (event: CustomEvent<OverlayEventDetail>) => void;
12
+ onDidPresent?: (event: CustomEvent<OverlayEventDetail>) => void;
13
+ onWillDismiss?: (event: CustomEvent<OverlayEventDetail>) => void;
14
+ onWillPresent?: (event: CustomEvent<OverlayEventDetail>) => void;
15
+ }
16
+ export declare const createOverlayComponent: <OverlayComponent extends object, OverlayType extends OverlayElement>(tagName: string, controller: {
17
+ create: (options: any) => Promise<OverlayType>;
18
+ }, customElement?: any) => React.ForwardRefExoticComponent<React.PropsWithoutRef<OverlayComponent & ReactOverlayProps & {
19
+ forwardedRef?: StencilReactForwardedRef<OverlayType>;
20
+ }> & React.RefAttributes<OverlayType>>;
21
+ export {};
@@ -1,108 +1,190 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __rest = (this && this.__rest) || function (s, e) {
11
- var t = {};
12
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
- t[p] = s[p];
14
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
- t[p[i]] = s[p[i]];
18
- }
19
- return t;
20
- };
21
- import React from 'react';
22
- import ReactDOM from 'react-dom';
23
- import { attachProps, dashToPascalCase, defineCustomElement, setRef } from './utils';
24
- export const createOverlayComponent = (tagName, controller, customElement) => {
25
- defineCustomElement(tagName, customElement);
26
- const displayName = dashToPascalCase(tagName);
27
- const didDismissEventName = `on${displayName}DidDismiss`;
28
- const didPresentEventName = `on${displayName}DidPresent`;
29
- const willDismissEventName = `on${displayName}WillDismiss`;
30
- const willPresentEventName = `on${displayName}WillPresent`;
31
- let isDismissing = false;
32
- class Overlay extends React.Component {
33
- constructor(props) {
34
- super(props);
35
- if (typeof document !== 'undefined') {
36
- this.el = document.createElement('div');
37
- }
38
- this.handleDismiss = this.handleDismiss.bind(this);
39
- }
40
- static get displayName() {
41
- return displayName;
42
- }
43
- componentDidMount() {
44
- if (this.props.isOpen) {
45
- this.present();
46
- }
47
- }
48
- componentWillUnmount() {
49
- if (this.overlay) {
50
- this.overlay.dismiss();
51
- }
52
- }
53
- handleDismiss(event) {
54
- if (this.props.onDidDismiss) {
55
- this.props.onDidDismiss(event);
56
- }
57
- setRef(this.props.forwardedRef, null);
58
- }
59
- shouldComponentUpdate(nextProps) {
60
- // Check if the overlay component is about to dismiss
61
- if (this.overlay && nextProps.isOpen !== this.props.isOpen && nextProps.isOpen === false) {
62
- isDismissing = true;
63
- }
64
- return true;
65
- }
66
- componentDidUpdate(prevProps) {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- if (this.overlay) {
69
- attachProps(this.overlay, this.props, prevProps);
70
- }
71
- if (prevProps.isOpen !== this.props.isOpen && this.props.isOpen === true) {
72
- this.present(prevProps);
73
- }
74
- if (this.overlay && prevProps.isOpen !== this.props.isOpen && this.props.isOpen === false) {
75
- yield this.overlay.dismiss();
76
- isDismissing = false;
77
- /**
78
- * Now that the overlay is dismissed
79
- * we need to render again so that any
80
- * inner components will be unmounted
81
- */
82
- this.forceUpdate();
83
- }
84
- });
85
- }
86
- present(prevProps) {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- const _a = this.props, { children, isOpen, onDidDismiss, onDidPresent, onWillDismiss, onWillPresent } = _a, cProps = __rest(_a, ["children", "isOpen", "onDidDismiss", "onDidPresent", "onWillDismiss", "onWillPresent"]);
89
- const elementProps = Object.assign(Object.assign({}, cProps), { ref: this.props.forwardedRef, [didDismissEventName]: this.handleDismiss, [didPresentEventName]: (e) => this.props.onDidPresent && this.props.onDidPresent(e), [willDismissEventName]: (e) => this.props.onWillDismiss && this.props.onWillDismiss(e), [willPresentEventName]: (e) => this.props.onWillPresent && this.props.onWillPresent(e) });
90
- this.overlay = yield controller.create(Object.assign(Object.assign({}, elementProps), { component: this.el, componentProps: {} }));
91
- setRef(this.props.forwardedRef, this.overlay);
92
- attachProps(this.overlay, elementProps, prevProps);
93
- yield this.overlay.present();
94
- });
95
- }
96
- render() {
97
- /**
98
- * Continue to render the component even when
99
- * overlay is dismissing otherwise component
100
- * will be hidden before animation is done.
101
- */
102
- return ReactDOM.createPortal(this.props.isOpen || isDismissing ? this.props.children : null, this.el);
103
- }
104
- }
105
- return React.forwardRef((props, ref) => {
106
- return React.createElement(Overlay, Object.assign({}, props, { forwardedRef: ref }));
107
- });
108
- };
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
24
+ };
25
+ return __assign.apply(this, arguments);
26
+ };
27
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
28
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29
+ return new (P || (P = Promise))(function (resolve, reject) {
30
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
31
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
32
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
33
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
34
+ });
35
+ };
36
+ var __generator = (this && this.__generator) || function (thisArg, body) {
37
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
38
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
39
+ function verb(n) { return function (v) { return step([n, v]); }; }
40
+ function step(op) {
41
+ if (f) throw new TypeError("Generator is already executing.");
42
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
43
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
44
+ if (y = 0, t) op = [op[0] & 2, t.value];
45
+ switch (op[0]) {
46
+ case 0: case 1: t = op; break;
47
+ case 4: _.label++; return { value: op[1], done: false };
48
+ case 5: _.label++; y = op[1]; op = [0]; continue;
49
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
50
+ default:
51
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
52
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
53
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
54
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
55
+ if (t[2]) _.ops.pop();
56
+ _.trys.pop(); continue;
57
+ }
58
+ op = body.call(thisArg, _);
59
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
60
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
61
+ }
62
+ };
63
+ var __rest = (this && this.__rest) || function (s, e) {
64
+ var t = {};
65
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
66
+ t[p] = s[p];
67
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
68
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
69
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
70
+ t[p[i]] = s[p[i]];
71
+ }
72
+ return t;
73
+ };
74
+ import React from 'react';
75
+ import ReactDOM from 'react-dom';
76
+ import { attachProps, dashToPascalCase, defineCustomElement, setRef } from './utils';
77
+ export var createOverlayComponent = function (tagName, controller, customElement) {
78
+ defineCustomElement(tagName, customElement);
79
+ var displayName = dashToPascalCase(tagName);
80
+ var didDismissEventName = "on".concat(displayName, "DidDismiss");
81
+ var didPresentEventName = "on".concat(displayName, "DidPresent");
82
+ var willDismissEventName = "on".concat(displayName, "WillDismiss");
83
+ var willPresentEventName = "on".concat(displayName, "WillPresent");
84
+ var isDismissing = false;
85
+ var Overlay = /** @class */ (function (_super) {
86
+ __extends(Overlay, _super);
87
+ function Overlay(props) {
88
+ var _this = _super.call(this, props) || this;
89
+ if (typeof document !== 'undefined') {
90
+ _this.el = document.createElement('div');
91
+ }
92
+ _this.handleDismiss = _this.handleDismiss.bind(_this);
93
+ return _this;
94
+ }
95
+ Object.defineProperty(Overlay, "displayName", {
96
+ get: function () {
97
+ return displayName;
98
+ },
99
+ enumerable: false,
100
+ configurable: true
101
+ });
102
+ Overlay.prototype.componentDidMount = function () {
103
+ if (this.props.isOpen) {
104
+ this.present();
105
+ }
106
+ };
107
+ Overlay.prototype.componentWillUnmount = function () {
108
+ if (this.overlay) {
109
+ this.overlay.dismiss();
110
+ }
111
+ };
112
+ Overlay.prototype.handleDismiss = function (event) {
113
+ if (this.props.onDidDismiss) {
114
+ this.props.onDidDismiss(event);
115
+ }
116
+ setRef(this.props.forwardedRef, null);
117
+ };
118
+ Overlay.prototype.shouldComponentUpdate = function (nextProps) {
119
+ // Check if the overlay component is about to dismiss
120
+ if (this.overlay && nextProps.isOpen !== this.props.isOpen && nextProps.isOpen === false) {
121
+ isDismissing = true;
122
+ }
123
+ return true;
124
+ };
125
+ Overlay.prototype.componentDidUpdate = function (prevProps) {
126
+ return __awaiter(this, void 0, void 0, function () {
127
+ return __generator(this, function (_a) {
128
+ switch (_a.label) {
129
+ case 0:
130
+ if (this.overlay) {
131
+ attachProps(this.overlay, this.props, prevProps);
132
+ }
133
+ if (prevProps.isOpen !== this.props.isOpen && this.props.isOpen === true) {
134
+ this.present(prevProps);
135
+ }
136
+ if (!(this.overlay && prevProps.isOpen !== this.props.isOpen && this.props.isOpen === false)) return [3 /*break*/, 2];
137
+ return [4 /*yield*/, this.overlay.dismiss()];
138
+ case 1:
139
+ _a.sent();
140
+ isDismissing = false;
141
+ /**
142
+ * Now that the overlay is dismissed
143
+ * we need to render again so that any
144
+ * inner components will be unmounted
145
+ */
146
+ this.forceUpdate();
147
+ _a.label = 2;
148
+ case 2: return [2 /*return*/];
149
+ }
150
+ });
151
+ });
152
+ };
153
+ Overlay.prototype.present = function (prevProps) {
154
+ return __awaiter(this, void 0, void 0, function () {
155
+ var _a, children, isOpen, onDidDismiss, onDidPresent, onWillDismiss, onWillPresent, cProps, elementProps, _b;
156
+ var _c;
157
+ var _this = this;
158
+ return __generator(this, function (_d) {
159
+ switch (_d.label) {
160
+ case 0:
161
+ _a = this.props, children = _a.children, isOpen = _a.isOpen, onDidDismiss = _a.onDidDismiss, onDidPresent = _a.onDidPresent, onWillDismiss = _a.onWillDismiss, onWillPresent = _a.onWillPresent, cProps = __rest(_a, ["children", "isOpen", "onDidDismiss", "onDidPresent", "onWillDismiss", "onWillPresent"]);
162
+ elementProps = __assign(__assign({}, cProps), (_c = { ref: this.props.forwardedRef }, _c[didDismissEventName] = this.handleDismiss, _c[didPresentEventName] = function (e) { return _this.props.onDidPresent && _this.props.onDidPresent(e); }, _c[willDismissEventName] = function (e) { return _this.props.onWillDismiss && _this.props.onWillDismiss(e); }, _c[willPresentEventName] = function (e) { return _this.props.onWillPresent && _this.props.onWillPresent(e); }, _c));
163
+ _b = this;
164
+ return [4 /*yield*/, controller.create(__assign(__assign({}, elementProps), { component: this.el, componentProps: {} }))];
165
+ case 1:
166
+ _b.overlay = _d.sent();
167
+ setRef(this.props.forwardedRef, this.overlay);
168
+ attachProps(this.overlay, elementProps, prevProps);
169
+ return [4 /*yield*/, this.overlay.present()];
170
+ case 2:
171
+ _d.sent();
172
+ return [2 /*return*/];
173
+ }
174
+ });
175
+ });
176
+ };
177
+ Overlay.prototype.render = function () {
178
+ /**
179
+ * Continue to render the component even when
180
+ * overlay is dismissing otherwise component
181
+ * will be hidden before animation is done.
182
+ */
183
+ return ReactDOM.createPortal(this.props.isOpen || isDismissing ? this.props.children : null, this.el);
184
+ };
185
+ return Overlay;
186
+ }(React.Component));
187
+ return React.forwardRef(function (props, ref) {
188
+ return React.createElement(Overlay, __assign({}, props, { forwardedRef: ref }));
189
+ });
190
+ };
@@ -1,2 +1,2 @@
1
- export { createReactComponent } from './createComponent';
2
- export { createOverlayComponent } from './createOverlayComponent';
1
+ export { createReactComponent } from './createComponent';
2
+ export { createOverlayComponent } from './createOverlayComponent';
@@ -1,2 +1,2 @@
1
- export { createReactComponent } from './createComponent';
2
- export { createOverlayComponent } from './createOverlayComponent';
1
+ export { createReactComponent } from './createComponent';
2
+ export { createOverlayComponent } from './createOverlayComponent';
@@ -1,29 +1,29 @@
1
- export interface EventEmitter<T = any> {
2
- emit: (data?: T) => CustomEvent<T>;
3
- }
4
- export interface StyleReactProps {
5
- class?: string;
6
- className?: string;
7
- style?: {
8
- [key: string]: any;
9
- };
10
- }
11
- export interface OverlayEventDetail<T = any> {
12
- data?: T;
13
- role?: string;
14
- }
15
- export interface OverlayInterface {
16
- el: HTMLElement;
17
- animated: boolean;
18
- keyboardClose: boolean;
19
- overlayIndex: number;
20
- presented: boolean;
21
- enterAnimation?: any;
22
- leaveAnimation?: any;
23
- didPresent: EventEmitter<void>;
24
- willPresent: EventEmitter<void>;
25
- willDismiss: EventEmitter<OverlayEventDetail>;
26
- didDismiss: EventEmitter<OverlayEventDetail>;
27
- present(): Promise<void>;
28
- dismiss(data?: any, role?: string): Promise<boolean>;
29
- }
1
+ export interface EventEmitter<T = any> {
2
+ emit: (data?: T) => CustomEvent<T>;
3
+ }
4
+ export interface StyleReactProps {
5
+ class?: string;
6
+ className?: string;
7
+ style?: {
8
+ [key: string]: any;
9
+ };
10
+ }
11
+ export interface OverlayEventDetail<T = any> {
12
+ data?: T;
13
+ role?: string;
14
+ }
15
+ export interface OverlayInterface {
16
+ el: HTMLElement;
17
+ animated: boolean;
18
+ keyboardClose: boolean;
19
+ overlayIndex: number;
20
+ presented: boolean;
21
+ enterAnimation?: any;
22
+ leaveAnimation?: any;
23
+ didPresent: EventEmitter<void>;
24
+ willPresent: EventEmitter<void>;
25
+ willDismiss: EventEmitter<OverlayEventDetail>;
26
+ didDismiss: EventEmitter<OverlayEventDetail>;
27
+ present(): Promise<void>;
28
+ dismiss(data?: any, role?: string): Promise<boolean>;
29
+ }
@@ -1 +1 @@
1
- export {};
1
+ export {};