@plasmicapp/host 1.0.128 → 1.0.130
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/dist/host.esm.js +448 -525
- package/dist/host.esm.js.map +1 -1
- package/dist/index.cjs.js +537 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/package.json +5 -5
- package/dist/host.cjs.development.js +0 -586
- package/dist/host.cjs.development.js.map +0 -1
- package/dist/host.cjs.production.min.js +0 -2
- package/dist/host.cjs.production.min.js.map +0 -1
- package/dist/index.js +0 -8
package/dist/host.esm.js
CHANGED
|
@@ -1,562 +1,485 @@
|
|
|
1
|
-
'use client';
|
|
1
|
+
'use client';
|
|
2
|
+
import * as PlasmicQuery from '@plasmicapp/query';
|
|
2
3
|
import * as React from 'react';
|
|
3
|
-
import React__default, { useState, useCallback, createContext, useContext,
|
|
4
|
+
import React__default, { useState, useCallback, createContext, useContext, isValidElement, cloneElement } from 'react';
|
|
4
5
|
import * as ReactDOM from 'react-dom';
|
|
5
|
-
import { createPortal } from 'react-dom';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
function
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (it) return (it = it.call(o)).next.bind(it);
|
|
49
|
-
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
50
|
-
if (it) o = it;
|
|
51
|
-
var i = 0;
|
|
52
|
-
return function () {
|
|
53
|
-
if (i >= o.length) return {
|
|
54
|
-
done: true
|
|
55
|
-
};
|
|
56
|
-
return {
|
|
57
|
-
done: false,
|
|
58
|
-
value: o[i++]
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
63
|
-
}
|
|
7
|
+
/*! *****************************************************************************
|
|
8
|
+
Copyright (c) Microsoft Corporation.
|
|
9
|
+
|
|
10
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
11
|
+
purpose with or without fee is hereby granted.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
14
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
15
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
16
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
17
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
18
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
19
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
20
|
+
***************************************************************************** */
|
|
21
|
+
/* global Reflect, Promise */
|
|
22
|
+
|
|
23
|
+
var extendStatics = function(d, b) {
|
|
24
|
+
extendStatics = Object.setPrototypeOf ||
|
|
25
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
26
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
27
|
+
return extendStatics(d, b);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
function __extends(d, b) {
|
|
31
|
+
if (typeof b !== "function" && b !== null)
|
|
32
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
33
|
+
extendStatics(d, b);
|
|
34
|
+
function __() { this.constructor = d; }
|
|
35
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
var __assign = function() {
|
|
39
|
+
__assign = Object.assign || function __assign(t) {
|
|
40
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
41
|
+
s = arguments[i];
|
|
42
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
43
|
+
}
|
|
44
|
+
return t;
|
|
45
|
+
};
|
|
46
|
+
return __assign.apply(this, arguments);
|
|
47
|
+
};
|
|
64
48
|
|
|
65
|
-
function isString(x) {
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
function ensure(x, msg) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
49
|
+
function isString(x) {
|
|
50
|
+
return typeof x === "string";
|
|
51
|
+
}
|
|
52
|
+
function ensure(x, msg) {
|
|
53
|
+
if (msg === void 0) { msg = ""; }
|
|
54
|
+
if (x === null || x === undefined) {
|
|
55
|
+
debugger;
|
|
56
|
+
msg = (isString(msg) ? msg : msg()) || "";
|
|
57
|
+
throw new Error("Value must not be undefined or null" + (msg ? "- " + msg : ""));
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
return x;
|
|
61
|
+
}
|
|
79
62
|
}
|
|
80
63
|
|
|
81
|
-
function useForceUpdate() {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
});
|
|
88
|
-
}, []);
|
|
89
|
-
return update;
|
|
64
|
+
function useForceUpdate() {
|
|
65
|
+
var _a = useState(0), setTick = _a[1];
|
|
66
|
+
var update = useCallback(function () {
|
|
67
|
+
setTick(function (tick) { return tick + 1; });
|
|
68
|
+
}, []);
|
|
69
|
+
return update;
|
|
90
70
|
}
|
|
91
71
|
|
|
92
|
-
var
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
return
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
var
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
// Keep track of renderCount, which we use as key to ErrorBoundary, so
|
|
136
|
-
// we can reset the error on each render
|
|
137
|
-
renderCount++;
|
|
138
|
-
plasmicRootNode.set(node);
|
|
139
|
-
}
|
|
72
|
+
var rootChangeListeners = [];
|
|
73
|
+
var PlasmicRootNodeWrapper = /** @class */ (function () {
|
|
74
|
+
function PlasmicRootNodeWrapper(value) {
|
|
75
|
+
var _this = this;
|
|
76
|
+
this.value = value;
|
|
77
|
+
this.set = function (val) {
|
|
78
|
+
_this.value = val;
|
|
79
|
+
rootChangeListeners.forEach(function (f) { return f(); });
|
|
80
|
+
};
|
|
81
|
+
this.get = function () { return _this.value; };
|
|
82
|
+
}
|
|
83
|
+
return PlasmicRootNodeWrapper;
|
|
84
|
+
}());
|
|
85
|
+
var plasmicRootNode = new PlasmicRootNodeWrapper(null);
|
|
86
|
+
function getHashParams() {
|
|
87
|
+
return new URLSearchParams(location.hash.replace(/^#/, "?"));
|
|
88
|
+
}
|
|
89
|
+
function getPlasmicOrigin() {
|
|
90
|
+
var params = getHashParams();
|
|
91
|
+
return ensure(params.get("origin"), "Missing information from Plasmic window.");
|
|
92
|
+
}
|
|
93
|
+
function getStudioHash() {
|
|
94
|
+
var hashParams = getHashParams();
|
|
95
|
+
if (hashParams.has("studioHash")) {
|
|
96
|
+
return hashParams.get("studioHash");
|
|
97
|
+
}
|
|
98
|
+
var urlParams = new URL(location.href).searchParams;
|
|
99
|
+
return urlParams.get("studio-hash");
|
|
100
|
+
}
|
|
101
|
+
function renderStudioIntoIframe() {
|
|
102
|
+
var script = document.createElement("script");
|
|
103
|
+
var plasmicOrigin = getPlasmicOrigin();
|
|
104
|
+
var hash = getStudioHash();
|
|
105
|
+
script.src = plasmicOrigin + "/static/js/studio" + (hash ? "." + hash + ".js" : ".js");
|
|
106
|
+
document.body.appendChild(script);
|
|
107
|
+
}
|
|
108
|
+
var renderCount = 0;
|
|
109
|
+
function setPlasmicRootNode(node) {
|
|
110
|
+
// Keep track of renderCount, which we use as key to ErrorBoundary, so
|
|
111
|
+
// we can reset the error on each render
|
|
112
|
+
renderCount++;
|
|
113
|
+
plasmicRootNode.set(node);
|
|
114
|
+
}
|
|
140
115
|
/**
|
|
141
116
|
* React context to detect whether the component is rendered on Plasmic editor.
|
|
142
117
|
* If not, return false.
|
|
143
118
|
* If so, return an object with more information about the component
|
|
144
|
-
*/
|
|
145
|
-
var PlasmicCanvasContext =
|
|
146
|
-
var usePlasmicCanvasContext = function
|
|
147
|
-
|
|
148
|
-
};
|
|
149
|
-
function _PlasmicCanvasHost() {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
return
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
// create URLsearchParams skipping the initial # character
|
|
299
|
-
var params = new URLSearchParams(hash.substring(1));
|
|
300
|
-
if (params.get("canvas") === "true") {
|
|
301
|
-
var _params$get;
|
|
302
|
-
var globalVariants = params.get("globalVariants");
|
|
303
|
-
return {
|
|
304
|
-
componentName: (_params$get = params.get("componentName")) != null ? _params$get : null,
|
|
305
|
-
globalVariants: globalVariants ? JSON.parse(globalVariants) : {},
|
|
306
|
-
interactive: params.get("interactive") === "true"
|
|
307
|
-
};
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
return false;
|
|
119
|
+
*/
|
|
120
|
+
var PlasmicCanvasContext = React.createContext(false);
|
|
121
|
+
var usePlasmicCanvasContext = function () {
|
|
122
|
+
return React.useContext(PlasmicCanvasContext);
|
|
123
|
+
};
|
|
124
|
+
function _PlasmicCanvasHost() {
|
|
125
|
+
var _a, _b;
|
|
126
|
+
// If window.parent is null, then this is a window whose containing iframe
|
|
127
|
+
// has been detached from the DOM (for the top window, window.parent === window).
|
|
128
|
+
// In that case, we shouldn't do anything. If window.parent is null, by the way,
|
|
129
|
+
// location.hash will also be null.
|
|
130
|
+
var isFrameAttached = !!window.parent;
|
|
131
|
+
var isCanvas = !!((_a = location.hash) === null || _a === void 0 ? void 0 : _a.match(/\bcanvas=true\b/));
|
|
132
|
+
var isLive = !!((_b = location.hash) === null || _b === void 0 ? void 0 : _b.match(/\blive=true\b/)) || !isFrameAttached;
|
|
133
|
+
var shouldRenderStudio = isFrameAttached &&
|
|
134
|
+
!document.querySelector("#plasmic-studio-tag") &&
|
|
135
|
+
!isCanvas &&
|
|
136
|
+
!isLive;
|
|
137
|
+
var forceUpdate = useForceUpdate();
|
|
138
|
+
React.useLayoutEffect(function () {
|
|
139
|
+
rootChangeListeners.push(forceUpdate);
|
|
140
|
+
return function () {
|
|
141
|
+
var index = rootChangeListeners.indexOf(forceUpdate);
|
|
142
|
+
if (index >= 0) {
|
|
143
|
+
rootChangeListeners.splice(index, 1);
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
}, [forceUpdate]);
|
|
147
|
+
React.useEffect(function () {
|
|
148
|
+
if (shouldRenderStudio && isFrameAttached && window.parent !== window) {
|
|
149
|
+
renderStudioIntoIframe();
|
|
150
|
+
}
|
|
151
|
+
}, [shouldRenderStudio, isFrameAttached]);
|
|
152
|
+
React.useEffect(function () {
|
|
153
|
+
if (!shouldRenderStudio && !document.querySelector("#getlibs") && isLive) {
|
|
154
|
+
var scriptElt = document.createElement("script");
|
|
155
|
+
scriptElt.id = "getlibs";
|
|
156
|
+
scriptElt.src = getPlasmicOrigin() + "/static/js/getlibs.js";
|
|
157
|
+
scriptElt.async = false;
|
|
158
|
+
scriptElt.onload = function () {
|
|
159
|
+
var _a, _b;
|
|
160
|
+
(_b = (_a = window).__GetlibsReadyResolver) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
161
|
+
};
|
|
162
|
+
document.head.append(scriptElt);
|
|
163
|
+
}
|
|
164
|
+
}, [shouldRenderStudio]);
|
|
165
|
+
var _c = React.useState(function () {
|
|
166
|
+
return deriveCanvasContextValue();
|
|
167
|
+
}), canvasContextValue = _c[0], setCanvasContextValue = _c[1];
|
|
168
|
+
React.useEffect(function () {
|
|
169
|
+
if (isCanvas) {
|
|
170
|
+
var listener_1 = function () {
|
|
171
|
+
setCanvasContextValue(deriveCanvasContextValue());
|
|
172
|
+
};
|
|
173
|
+
window.addEventListener("hashchange", listener_1);
|
|
174
|
+
return function () { return window.removeEventListener("hashchange", listener_1); };
|
|
175
|
+
}
|
|
176
|
+
return undefined;
|
|
177
|
+
}, [isCanvas]);
|
|
178
|
+
if (!isFrameAttached) {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
if (isCanvas || isLive) {
|
|
182
|
+
var appDiv = document.querySelector("#plasmic-app.__wab_user-body");
|
|
183
|
+
if (!appDiv) {
|
|
184
|
+
appDiv = document.createElement("div");
|
|
185
|
+
appDiv.id = "plasmic-app";
|
|
186
|
+
appDiv.classList.add("__wab_user-body");
|
|
187
|
+
document.body.appendChild(appDiv);
|
|
188
|
+
}
|
|
189
|
+
return ReactDOM.createPortal(React.createElement(ErrorBoundary, { key: "" + renderCount },
|
|
190
|
+
React.createElement(PlasmicCanvasContext.Provider, { value: canvasContextValue }, plasmicRootNode.get())), appDiv, "plasmic-app");
|
|
191
|
+
}
|
|
192
|
+
if (shouldRenderStudio && window.parent === window) {
|
|
193
|
+
return (React.createElement("iframe", { src: "https://docs.plasmic.app/app-content/app-host-ready#appHostUrl=" + encodeURIComponent(location.href), style: {
|
|
194
|
+
width: "100vw",
|
|
195
|
+
height: "100vh",
|
|
196
|
+
border: "none",
|
|
197
|
+
position: "fixed",
|
|
198
|
+
top: 0,
|
|
199
|
+
left: 0,
|
|
200
|
+
zIndex: 99999999,
|
|
201
|
+
} }));
|
|
202
|
+
}
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
var PlasmicCanvasHost = function (props) {
|
|
206
|
+
var enableWebpackHmr = props.enableWebpackHmr;
|
|
207
|
+
var _a = React.useState(null), node = _a[0], setNode = _a[1];
|
|
208
|
+
React.useEffect(function () {
|
|
209
|
+
setNode(React.createElement(_PlasmicCanvasHost, null));
|
|
210
|
+
}, []);
|
|
211
|
+
return (React.createElement(React.Fragment, null,
|
|
212
|
+
!enableWebpackHmr && React.createElement(DisableWebpackHmr, null),
|
|
213
|
+
node));
|
|
214
|
+
};
|
|
215
|
+
var renderErrorListeners = [];
|
|
216
|
+
function registerRenderErrorListener(listener) {
|
|
217
|
+
renderErrorListeners.push(listener);
|
|
218
|
+
return function () {
|
|
219
|
+
var index = renderErrorListeners.indexOf(listener);
|
|
220
|
+
if (index >= 0) {
|
|
221
|
+
renderErrorListeners.splice(index, 1);
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
var ErrorBoundary = /** @class */ (function (_super) {
|
|
226
|
+
__extends(ErrorBoundary, _super);
|
|
227
|
+
function ErrorBoundary(props) {
|
|
228
|
+
var _this = _super.call(this, props) || this;
|
|
229
|
+
_this.state = {};
|
|
230
|
+
return _this;
|
|
231
|
+
}
|
|
232
|
+
ErrorBoundary.getDerivedStateFromError = function (error) {
|
|
233
|
+
return { error: error };
|
|
234
|
+
};
|
|
235
|
+
ErrorBoundary.prototype.componentDidCatch = function (error) {
|
|
236
|
+
renderErrorListeners.forEach(function (listener) { return listener(error); });
|
|
237
|
+
};
|
|
238
|
+
ErrorBoundary.prototype.render = function () {
|
|
239
|
+
if (this.state.error) {
|
|
240
|
+
return React.createElement("div", null,
|
|
241
|
+
"Error: ", "" + this.state.error.message);
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
return React.createElement(React.Fragment, null, this.props.children);
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
return ErrorBoundary;
|
|
248
|
+
}(React.Component));
|
|
249
|
+
function DisableWebpackHmr() {
|
|
250
|
+
if (process.env.NODE_ENV === "production") {
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
return (React.createElement("script", { type: "text/javascript", dangerouslySetInnerHTML: {
|
|
254
|
+
__html: "\n if (typeof window !== \"undefined\") {\n const RealEventSource = window.EventSource;\n window.EventSource = function(url, config) {\n if (/[^a-zA-Z]hmr($|[^a-zA-Z])/.test(url)) {\n console.warn(\"Plasmic: disabled EventSource request for\", url);\n return {\n onerror() {}, onmessage() {}, onopen() {}, close() {}\n };\n } else {\n return new RealEventSource(url, config);\n }\n }\n }\n ",
|
|
255
|
+
} }));
|
|
256
|
+
}
|
|
257
|
+
function deriveCanvasContextValue() {
|
|
258
|
+
var _a;
|
|
259
|
+
var hash = window.location.hash;
|
|
260
|
+
if (hash && hash.length > 0) {
|
|
261
|
+
// create URLsearchParams skipping the initial # character
|
|
262
|
+
var params = new URLSearchParams(hash.substring(1));
|
|
263
|
+
if (params.get("canvas") === "true") {
|
|
264
|
+
var globalVariants = params.get("globalVariants");
|
|
265
|
+
return {
|
|
266
|
+
componentName: (_a = params.get("componentName")) !== null && _a !== void 0 ? _a : null,
|
|
267
|
+
globalVariants: globalVariants ? JSON.parse(globalVariants) : {},
|
|
268
|
+
interactive: params.get("interactive") === "true",
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return false;
|
|
311
273
|
}
|
|
312
274
|
|
|
313
|
-
var tuple = function
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
275
|
+
var tuple = function () {
|
|
276
|
+
var args = [];
|
|
277
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
278
|
+
args[_i] = arguments[_i];
|
|
279
|
+
}
|
|
280
|
+
return args;
|
|
318
281
|
};
|
|
319
282
|
|
|
320
|
-
var DataContext =
|
|
321
|
-
function mkMetaName(name) {
|
|
322
|
-
|
|
323
|
-
}
|
|
324
|
-
function mkMetaValue(meta) {
|
|
325
|
-
|
|
326
|
-
}
|
|
327
|
-
function applySelector(rawData, selector) {
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
selectors
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
}
|
|
358
|
-
function
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
var
|
|
373
|
-
return React__default.createElement(
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
}
|
|
381
|
-
function PageParamsProvider(_ref4) {
|
|
382
|
-
var children = _ref4.children,
|
|
383
|
-
_ref4$params = _ref4.params,
|
|
384
|
-
params = _ref4$params === void 0 ? {} : _ref4$params,
|
|
385
|
-
_ref4$query = _ref4.query,
|
|
386
|
-
query = _ref4$query === void 0 ? {} : _ref4$query;
|
|
387
|
-
var $ctx = useDataEnv() || {};
|
|
388
|
-
return React__default.createElement(DataProvider, {
|
|
389
|
-
name: "params",
|
|
390
|
-
data: _extends({}, $ctx.params, params),
|
|
391
|
-
label: "Page URL path params"
|
|
392
|
-
}, React__default.createElement(DataProvider, {
|
|
393
|
-
name: "query",
|
|
394
|
-
data: _extends({}, $ctx.query, query),
|
|
395
|
-
label: "Page URL query params"
|
|
396
|
-
}, children));
|
|
397
|
-
}
|
|
398
|
-
function DataCtxReader(_ref5) {
|
|
399
|
-
var children = _ref5.children;
|
|
400
|
-
var $ctx = useDataEnv();
|
|
401
|
-
return children($ctx);
|
|
283
|
+
var DataContext = createContext(undefined);
|
|
284
|
+
function mkMetaName(name) {
|
|
285
|
+
return "__plasmic_meta_" + name;
|
|
286
|
+
}
|
|
287
|
+
function mkMetaValue(meta) {
|
|
288
|
+
return meta;
|
|
289
|
+
}
|
|
290
|
+
function applySelector(rawData, selector) {
|
|
291
|
+
if (!selector) {
|
|
292
|
+
return undefined;
|
|
293
|
+
}
|
|
294
|
+
var curData = rawData;
|
|
295
|
+
for (var _i = 0, _a = selector.split("."); _i < _a.length; _i++) {
|
|
296
|
+
var key = _a[_i];
|
|
297
|
+
curData = curData === null || curData === void 0 ? void 0 : curData[key];
|
|
298
|
+
}
|
|
299
|
+
return curData;
|
|
300
|
+
}
|
|
301
|
+
function useSelector(selector) {
|
|
302
|
+
var rawData = useDataEnv();
|
|
303
|
+
return applySelector(rawData, selector);
|
|
304
|
+
}
|
|
305
|
+
function useSelectors(selectors) {
|
|
306
|
+
if (selectors === void 0) { selectors = {}; }
|
|
307
|
+
var rawData = useDataEnv();
|
|
308
|
+
return Object.fromEntries(Object.entries(selectors)
|
|
309
|
+
.filter(function (_a) {
|
|
310
|
+
var key = _a[0], selector = _a[1];
|
|
311
|
+
return !!key && !!selector;
|
|
312
|
+
})
|
|
313
|
+
.map(function (_a) {
|
|
314
|
+
var key = _a[0], selector = _a[1];
|
|
315
|
+
return tuple(key, applySelector(rawData, selector));
|
|
316
|
+
}));
|
|
317
|
+
}
|
|
318
|
+
function useDataEnv() {
|
|
319
|
+
return useContext(DataContext);
|
|
320
|
+
}
|
|
321
|
+
function DataProvider(_a) {
|
|
322
|
+
var _b;
|
|
323
|
+
var _c;
|
|
324
|
+
var name = _a.name, data = _a.data, hidden = _a.hidden, label = _a.label, children = _a.children;
|
|
325
|
+
var existingEnv = (_c = useDataEnv()) !== null && _c !== void 0 ? _c : {};
|
|
326
|
+
if (!name) {
|
|
327
|
+
return React__default.createElement(React__default.Fragment, null, children);
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
return (React__default.createElement(DataContext.Provider, { value: __assign(__assign({}, existingEnv), (_b = {}, _b[name] = data, _b[mkMetaName(name)] = mkMetaValue({ hidden: hidden, label: label }), _b)) }, children));
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
function PageParamsProvider(_a) {
|
|
334
|
+
var children = _a.children, _b = _a.params, params = _b === void 0 ? {} : _b, _c = _a.query, query = _c === void 0 ? {} : _c;
|
|
335
|
+
var $ctx = useDataEnv() || {};
|
|
336
|
+
return (React__default.createElement(DataProvider, { name: "params", data: __assign(__assign({}, $ctx.params), params), label: "Page URL path params" },
|
|
337
|
+
React__default.createElement(DataProvider, { name: "query", data: __assign(__assign({}, $ctx.query), query), label: "Page URL query params" }, children)));
|
|
338
|
+
}
|
|
339
|
+
function DataCtxReader(_a) {
|
|
340
|
+
var children = _a.children;
|
|
341
|
+
var $ctx = useDataEnv();
|
|
342
|
+
return children($ctx);
|
|
402
343
|
}
|
|
403
344
|
|
|
404
|
-
var root$
|
|
405
|
-
root$
|
|
406
|
-
function registerFetcher(fetcher, meta) {
|
|
407
|
-
|
|
408
|
-
fetcher: fetcher,
|
|
409
|
-
meta: meta
|
|
410
|
-
});
|
|
345
|
+
var root$6 = globalThis;
|
|
346
|
+
root$6.__PlasmicFetcherRegistry = [];
|
|
347
|
+
function registerFetcher(fetcher, meta) {
|
|
348
|
+
root$6.__PlasmicFetcherRegistry.push({ fetcher: fetcher, meta: meta });
|
|
411
349
|
}
|
|
412
350
|
|
|
413
|
-
var GlobalActionsContext =
|
|
414
|
-
function GlobalActionsProvider(props) {
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
var _React$useContext;
|
|
431
|
-
return (_React$useContext = React__default.useContext(GlobalActionsContext)) != null ? _React$useContext : {};
|
|
351
|
+
var GlobalActionsContext = React__default.createContext(undefined);
|
|
352
|
+
function GlobalActionsProvider(props) {
|
|
353
|
+
var contextName = props.contextName, children = props.children, actions = props.actions;
|
|
354
|
+
var namespacedActions = React__default.useMemo(function () {
|
|
355
|
+
return Object.fromEntries(Object.entries(actions).map(function (_a) {
|
|
356
|
+
var key = _a[0], val = _a[1];
|
|
357
|
+
return [
|
|
358
|
+
contextName + "." + key,
|
|
359
|
+
val,
|
|
360
|
+
];
|
|
361
|
+
}));
|
|
362
|
+
}, [contextName, actions]);
|
|
363
|
+
return (React__default.createElement(GlobalActionsContext.Provider, { value: namespacedActions }, children));
|
|
364
|
+
}
|
|
365
|
+
function useGlobalActions() {
|
|
366
|
+
var _a;
|
|
367
|
+
return (_a = React__default.useContext(GlobalActionsContext)) !== null && _a !== void 0 ? _a : {};
|
|
432
368
|
}
|
|
433
369
|
|
|
434
|
-
var root$
|
|
435
|
-
if (root$
|
|
436
|
-
|
|
437
|
-
}
|
|
438
|
-
function registerComponent(component, meta) {
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
component: component,
|
|
447
|
-
meta: meta
|
|
448
|
-
});
|
|
370
|
+
var root$5 = globalThis;
|
|
371
|
+
if (root$5.__PlasmicComponentRegistry == null) {
|
|
372
|
+
root$5.__PlasmicComponentRegistry = [];
|
|
373
|
+
}
|
|
374
|
+
function registerComponent(component, meta) {
|
|
375
|
+
// Check for duplicates
|
|
376
|
+
if (root$5.__PlasmicComponentRegistry.some(function (r) {
|
|
377
|
+
return r.component === component && r.meta.name === meta.name;
|
|
378
|
+
})) {
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
root$5.__PlasmicComponentRegistry.push({ component: component, meta: meta });
|
|
449
382
|
}
|
|
450
383
|
|
|
451
|
-
var root$
|
|
452
|
-
if (root$
|
|
453
|
-
|
|
454
|
-
}
|
|
455
|
-
function registerGlobalContext(component, meta) {
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
component: component,
|
|
464
|
-
meta: meta
|
|
465
|
-
});
|
|
384
|
+
var root$4 = globalThis;
|
|
385
|
+
if (root$4.__PlasmicContextRegistry == null) {
|
|
386
|
+
root$4.__PlasmicContextRegistry = [];
|
|
387
|
+
}
|
|
388
|
+
function registerGlobalContext(component, meta) {
|
|
389
|
+
// Check for duplicates
|
|
390
|
+
if (root$4.__PlasmicContextRegistry.some(function (r) {
|
|
391
|
+
return r.component === component && r.meta.name === meta.name;
|
|
392
|
+
})) {
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
root$4.__PlasmicContextRegistry.push({ component: component, meta: meta });
|
|
466
396
|
}
|
|
467
397
|
|
|
468
|
-
var root$
|
|
469
|
-
if (root$
|
|
470
|
-
|
|
471
|
-
}
|
|
472
|
-
function registerToken(token) {
|
|
473
|
-
|
|
398
|
+
var root$3 = globalThis;
|
|
399
|
+
if (root$3.__PlasmicTokenRegistry == null) {
|
|
400
|
+
root$3.__PlasmicTokenRegistry = [];
|
|
401
|
+
}
|
|
402
|
+
function registerToken(token) {
|
|
403
|
+
root$3.__PlasmicTokenRegistry.push(token);
|
|
474
404
|
}
|
|
475
405
|
|
|
476
|
-
var root$
|
|
477
|
-
if (root$
|
|
478
|
-
|
|
479
|
-
}
|
|
480
|
-
function registerTrait(trait, meta) {
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
406
|
+
var root$2 = globalThis;
|
|
407
|
+
if (root$2.__PlasmicTraitRegistry == null) {
|
|
408
|
+
root$2.__PlasmicTraitRegistry = [];
|
|
409
|
+
}
|
|
410
|
+
function registerTrait(trait, meta) {
|
|
411
|
+
root$2.__PlasmicTraitRegistry.push({
|
|
412
|
+
trait: trait,
|
|
413
|
+
meta: meta,
|
|
414
|
+
});
|
|
485
415
|
}
|
|
486
416
|
|
|
487
|
-
var
|
|
488
|
-
function repeatedElement(index, elt) {
|
|
489
|
-
|
|
490
|
-
}
|
|
491
|
-
var
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
return
|
|
499
|
-
|
|
500
|
-
|
|
417
|
+
var _a, _b;
|
|
418
|
+
function repeatedElement(index, elt) {
|
|
419
|
+
return repeatedElementFn(index, elt);
|
|
420
|
+
}
|
|
421
|
+
var repeatedElementFn = function (index, elt) {
|
|
422
|
+
if (Array.isArray(elt)) {
|
|
423
|
+
return elt.map(function (v) { return repeatedElementFn(index, v); });
|
|
424
|
+
}
|
|
425
|
+
if (elt && isValidElement(elt) && typeof elt !== "string") {
|
|
426
|
+
return cloneElement(elt);
|
|
427
|
+
}
|
|
428
|
+
return elt;
|
|
429
|
+
};
|
|
430
|
+
var root$1 = globalThis;
|
|
431
|
+
var setRepeatedElementFn = (_b = (_a = root$1 === null || root$1 === void 0 ? void 0 : root$1.__Sub) === null || _a === void 0 ? void 0 : _a.setRepeatedElementFn) !== null && _b !== void 0 ? _b : function (fn) {
|
|
432
|
+
repeatedElementFn = fn;
|
|
501
433
|
};
|
|
502
|
-
var root$6 = globalThis;
|
|
503
|
-
var setRepeatedElementFn = (_root$__Sub$setRepeat = root$6 == null ? void 0 : (_root$__Sub = root$6.__Sub) == null ? void 0 : _root$__Sub.setRepeatedElementFn) != null ? _root$__Sub$setRepeat : function (fn) {
|
|
504
|
-
_repeatedElementFn = fn;
|
|
505
|
-
};
|
|
506
|
-
|
|
507
434
|
|
|
435
|
+
var hostModule = /*#__PURE__*/Object.freeze({
|
|
436
|
+
__proto__: null,
|
|
437
|
+
PlasmicCanvasContext: PlasmicCanvasContext,
|
|
438
|
+
PlasmicCanvasHost: PlasmicCanvasHost,
|
|
439
|
+
usePlasmicCanvasContext: usePlasmicCanvasContext,
|
|
440
|
+
unstable_registerFetcher: registerFetcher,
|
|
441
|
+
registerComponent: registerComponent,
|
|
442
|
+
registerGlobalContext: registerGlobalContext,
|
|
443
|
+
registerToken: registerToken,
|
|
444
|
+
registerTrait: registerTrait,
|
|
445
|
+
repeatedElement: repeatedElement,
|
|
446
|
+
DataContext: DataContext,
|
|
447
|
+
mkMetaName: mkMetaName,
|
|
448
|
+
mkMetaValue: mkMetaValue,
|
|
449
|
+
applySelector: applySelector,
|
|
450
|
+
useSelector: useSelector,
|
|
451
|
+
useSelectors: useSelectors,
|
|
452
|
+
useDataEnv: useDataEnv,
|
|
453
|
+
DataProvider: DataProvider,
|
|
454
|
+
PageParamsProvider: PageParamsProvider,
|
|
455
|
+
DataCtxReader: DataCtxReader,
|
|
456
|
+
GlobalActionsContext: GlobalActionsContext,
|
|
457
|
+
GlobalActionsProvider: GlobalActionsProvider,
|
|
458
|
+
useGlobalActions: useGlobalActions
|
|
459
|
+
});
|
|
508
460
|
|
|
509
|
-
var
|
|
510
|
-
__proto__: null,
|
|
511
|
-
PlasmicCanvasContext: PlasmicCanvasContext,
|
|
512
|
-
PlasmicCanvasHost: PlasmicCanvasHost,
|
|
513
|
-
usePlasmicCanvasContext: usePlasmicCanvasContext,
|
|
514
|
-
unstable_registerFetcher: registerFetcher,
|
|
515
|
-
registerComponent: registerComponent,
|
|
516
|
-
registerGlobalContext: registerGlobalContext,
|
|
517
|
-
registerToken: registerToken,
|
|
518
|
-
registerTrait: registerTrait,
|
|
519
|
-
repeatedElement: repeatedElement,
|
|
520
|
-
DataContext: DataContext,
|
|
521
|
-
mkMetaName: mkMetaName,
|
|
522
|
-
mkMetaValue: mkMetaValue,
|
|
523
|
-
applySelector: applySelector,
|
|
524
|
-
useSelector: useSelector,
|
|
525
|
-
useSelectors: useSelectors,
|
|
526
|
-
useDataEnv: useDataEnv,
|
|
527
|
-
DataProvider: DataProvider,
|
|
528
|
-
PageParamsProvider: PageParamsProvider,
|
|
529
|
-
DataCtxReader: DataCtxReader,
|
|
530
|
-
GlobalActionsContext: GlobalActionsContext,
|
|
531
|
-
GlobalActionsProvider: GlobalActionsProvider,
|
|
532
|
-
useGlobalActions: useGlobalActions
|
|
533
|
-
};
|
|
534
|
-
|
|
535
|
-
var hostVersion = "1.0.128";
|
|
461
|
+
var hostVersion = "1.0.130";
|
|
536
462
|
|
|
537
|
-
var root
|
|
538
|
-
if (root
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
registerRenderErrorListener: registerRenderErrorListener,
|
|
558
|
-
setRepeatedElementFn: setRepeatedElementFn
|
|
559
|
-
}, hostModule);
|
|
463
|
+
var root = globalThis;
|
|
464
|
+
if (root.__Sub == null) {
|
|
465
|
+
// Creating a side effect here by logging, so that vite won't
|
|
466
|
+
// ignore this block for whatever reason. Hiding this for now
|
|
467
|
+
// as users are complaining; will have to check if this has
|
|
468
|
+
// been fixed with vite.
|
|
469
|
+
// console.log("Plasmic: Setting up app host dependencies");
|
|
470
|
+
root.__Sub = __assign({ React: React,
|
|
471
|
+
ReactDOM: ReactDOM,
|
|
472
|
+
PlasmicQuery: PlasmicQuery,
|
|
473
|
+
hostModule: hostModule,
|
|
474
|
+
hostVersion: hostVersion, hostUtils: {
|
|
475
|
+
setPlasmicRootNode: setPlasmicRootNode,
|
|
476
|
+
registerRenderErrorListener: registerRenderErrorListener,
|
|
477
|
+
setRepeatedElementFn: setRepeatedElementFn,
|
|
478
|
+
},
|
|
479
|
+
// For backwards compatibility:
|
|
480
|
+
setPlasmicRootNode: setPlasmicRootNode,
|
|
481
|
+
registerRenderErrorListener: registerRenderErrorListener,
|
|
482
|
+
setRepeatedElementFn: setRepeatedElementFn }, hostModule);
|
|
560
483
|
}
|
|
561
484
|
|
|
562
485
|
export { DataContext, DataCtxReader, DataProvider, GlobalActionsContext, GlobalActionsProvider, PageParamsProvider, PlasmicCanvasContext, PlasmicCanvasHost, applySelector, mkMetaName, mkMetaValue, registerComponent, registerGlobalContext, registerToken, registerTrait, repeatedElement, registerFetcher as unstable_registerFetcher, useDataEnv, useGlobalActions, usePlasmicCanvasContext, useSelector, useSelectors };
|