@plasmicapp/host 1.0.130 → 1.0.131

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 (36) hide show
  1. package/dist/canvas-host.d.ts +41 -41
  2. package/dist/common.d.ts +1 -1
  3. package/dist/data.d.ts +43 -43
  4. package/dist/element-types.d.ts +115 -115
  5. package/dist/exports.d.ts +10 -10
  6. package/dist/fetcher.d.ts +40 -40
  7. package/dist/global-actions.d.ts +9 -9
  8. package/dist/host.esm.js +377 -383
  9. package/dist/host.esm.js.map +1 -1
  10. package/dist/index.cjs.js +377 -383
  11. package/dist/index.cjs.js.map +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/lang-utils.d.ts +3 -3
  14. package/dist/registerComponent.d.ts +590 -589
  15. package/dist/registerGlobalContext.d.ts +75 -75
  16. package/dist/registerToken.d.ts +13 -13
  17. package/dist/registerTrait.d.ts +20 -20
  18. package/dist/repeatedElement.d.ts +15 -15
  19. package/dist/useForceUpdate.d.ts +1 -1
  20. package/dist/version.d.ts +1 -1
  21. package/package.json +5 -6
  22. package/registerComponent/dist/element-types.d.ts +115 -115
  23. package/registerComponent/dist/index.cjs.js +12 -12
  24. package/registerComponent/dist/index.esm.js +12 -12
  25. package/registerComponent/dist/registerComponent.d.ts +590 -589
  26. package/registerGlobalContext/dist/element-types.d.ts +115 -115
  27. package/registerGlobalContext/dist/index.cjs.js +12 -12
  28. package/registerGlobalContext/dist/index.esm.js +12 -12
  29. package/registerGlobalContext/dist/registerComponent.d.ts +590 -589
  30. package/registerGlobalContext/dist/registerGlobalContext.d.ts +75 -75
  31. package/registerToken/dist/index.cjs.js +6 -6
  32. package/registerToken/dist/index.esm.js +6 -6
  33. package/registerToken/dist/registerToken.d.ts +13 -13
  34. package/registerTrait/dist/index.cjs.js +9 -9
  35. package/registerTrait/dist/index.esm.js +9 -9
  36. package/registerTrait/dist/registerTrait.d.ts +20 -20
package/dist/index.cjs.js CHANGED
@@ -76,390 +76,390 @@ var __assign = function() {
76
76
  return __assign.apply(this, arguments);
77
77
  };
78
78
 
79
- function isString(x) {
80
- return typeof x === "string";
81
- }
82
- function ensure(x, msg) {
83
- if (msg === void 0) { msg = ""; }
84
- if (x === null || x === undefined) {
85
- debugger;
86
- msg = (isString(msg) ? msg : msg()) || "";
87
- throw new Error("Value must not be undefined or null" + (msg ? "- " + msg : ""));
88
- }
89
- else {
90
- return x;
91
- }
79
+ function isString(x) {
80
+ return typeof x === "string";
81
+ }
82
+ function ensure(x, msg) {
83
+ if (msg === void 0) { msg = ""; }
84
+ if (x === null || x === undefined) {
85
+ debugger;
86
+ msg = (isString(msg) ? msg : msg()) || "";
87
+ throw new Error("Value must not be undefined or null".concat(msg ? "- ".concat(msg) : ""));
88
+ }
89
+ else {
90
+ return x;
91
+ }
92
92
  }
93
93
 
94
- function useForceUpdate() {
95
- var _a = React.useState(0), setTick = _a[1];
96
- var update = React.useCallback(function () {
97
- setTick(function (tick) { return tick + 1; });
98
- }, []);
99
- return update;
94
+ function useForceUpdate() {
95
+ var _a = React.useState(0), setTick = _a[1];
96
+ var update = React.useCallback(function () {
97
+ setTick(function (tick) { return tick + 1; });
98
+ }, []);
99
+ return update;
100
100
  }
101
101
 
102
- var rootChangeListeners = [];
103
- var PlasmicRootNodeWrapper = /** @class */ (function () {
104
- function PlasmicRootNodeWrapper(value) {
105
- var _this = this;
106
- this.value = value;
107
- this.set = function (val) {
108
- _this.value = val;
109
- rootChangeListeners.forEach(function (f) { return f(); });
110
- };
111
- this.get = function () { return _this.value; };
112
- }
113
- return PlasmicRootNodeWrapper;
114
- }());
115
- var plasmicRootNode = new PlasmicRootNodeWrapper(null);
116
- function getHashParams() {
117
- return new URLSearchParams(location.hash.replace(/^#/, "?"));
118
- }
119
- function getPlasmicOrigin() {
120
- var params = getHashParams();
121
- return ensure(params.get("origin"), "Missing information from Plasmic window.");
122
- }
123
- function getStudioHash() {
124
- var hashParams = getHashParams();
125
- if (hashParams.has("studioHash")) {
126
- return hashParams.get("studioHash");
127
- }
128
- var urlParams = new URL(location.href).searchParams;
129
- return urlParams.get("studio-hash");
130
- }
131
- function renderStudioIntoIframe() {
132
- var script = document.createElement("script");
133
- var plasmicOrigin = getPlasmicOrigin();
134
- var hash = getStudioHash();
135
- script.src = plasmicOrigin + "/static/js/studio" + (hash ? "." + hash + ".js" : ".js");
136
- document.body.appendChild(script);
137
- }
138
- var renderCount = 0;
139
- function setPlasmicRootNode(node) {
140
- // Keep track of renderCount, which we use as key to ErrorBoundary, so
141
- // we can reset the error on each render
142
- renderCount++;
143
- plasmicRootNode.set(node);
144
- }
145
- /**
146
- * React context to detect whether the component is rendered on Plasmic editor.
147
- * If not, return false.
148
- * If so, return an object with more information about the component
149
- */
150
- var PlasmicCanvasContext = React__namespace.createContext(false);
151
- var usePlasmicCanvasContext = function () {
152
- return React__namespace.useContext(PlasmicCanvasContext);
153
- };
154
- function _PlasmicCanvasHost() {
155
- var _a, _b;
156
- // If window.parent is null, then this is a window whose containing iframe
157
- // has been detached from the DOM (for the top window, window.parent === window).
158
- // In that case, we shouldn't do anything. If window.parent is null, by the way,
159
- // location.hash will also be null.
160
- var isFrameAttached = !!window.parent;
161
- var isCanvas = !!((_a = location.hash) === null || _a === void 0 ? void 0 : _a.match(/\bcanvas=true\b/));
162
- var isLive = !!((_b = location.hash) === null || _b === void 0 ? void 0 : _b.match(/\blive=true\b/)) || !isFrameAttached;
163
- var shouldRenderStudio = isFrameAttached &&
164
- !document.querySelector("#plasmic-studio-tag") &&
165
- !isCanvas &&
166
- !isLive;
167
- var forceUpdate = useForceUpdate();
168
- React__namespace.useLayoutEffect(function () {
169
- rootChangeListeners.push(forceUpdate);
170
- return function () {
171
- var index = rootChangeListeners.indexOf(forceUpdate);
172
- if (index >= 0) {
173
- rootChangeListeners.splice(index, 1);
174
- }
175
- };
176
- }, [forceUpdate]);
177
- React__namespace.useEffect(function () {
178
- if (shouldRenderStudio && isFrameAttached && window.parent !== window) {
179
- renderStudioIntoIframe();
180
- }
181
- }, [shouldRenderStudio, isFrameAttached]);
182
- React__namespace.useEffect(function () {
183
- if (!shouldRenderStudio && !document.querySelector("#getlibs") && isLive) {
184
- var scriptElt = document.createElement("script");
185
- scriptElt.id = "getlibs";
186
- scriptElt.src = getPlasmicOrigin() + "/static/js/getlibs.js";
187
- scriptElt.async = false;
188
- scriptElt.onload = function () {
189
- var _a, _b;
190
- (_b = (_a = window).__GetlibsReadyResolver) === null || _b === void 0 ? void 0 : _b.call(_a);
191
- };
192
- document.head.append(scriptElt);
193
- }
194
- }, [shouldRenderStudio]);
195
- var _c = React__namespace.useState(function () {
196
- return deriveCanvasContextValue();
197
- }), canvasContextValue = _c[0], setCanvasContextValue = _c[1];
198
- React__namespace.useEffect(function () {
199
- if (isCanvas) {
200
- var listener_1 = function () {
201
- setCanvasContextValue(deriveCanvasContextValue());
202
- };
203
- window.addEventListener("hashchange", listener_1);
204
- return function () { return window.removeEventListener("hashchange", listener_1); };
205
- }
206
- return undefined;
207
- }, [isCanvas]);
208
- if (!isFrameAttached) {
209
- return null;
210
- }
211
- if (isCanvas || isLive) {
212
- var appDiv = document.querySelector("#plasmic-app.__wab_user-body");
213
- if (!appDiv) {
214
- appDiv = document.createElement("div");
215
- appDiv.id = "plasmic-app";
216
- appDiv.classList.add("__wab_user-body");
217
- document.body.appendChild(appDiv);
218
- }
219
- return ReactDOM__namespace.createPortal(React__namespace.createElement(ErrorBoundary, { key: "" + renderCount },
220
- React__namespace.createElement(PlasmicCanvasContext.Provider, { value: canvasContextValue }, plasmicRootNode.get())), appDiv, "plasmic-app");
221
- }
222
- if (shouldRenderStudio && window.parent === window) {
223
- return (React__namespace.createElement("iframe", { src: "https://docs.plasmic.app/app-content/app-host-ready#appHostUrl=" + encodeURIComponent(location.href), style: {
224
- width: "100vw",
225
- height: "100vh",
226
- border: "none",
227
- position: "fixed",
228
- top: 0,
229
- left: 0,
230
- zIndex: 99999999,
231
- } }));
232
- }
233
- return null;
234
- }
235
- var PlasmicCanvasHost = function (props) {
236
- var enableWebpackHmr = props.enableWebpackHmr;
237
- var _a = React__namespace.useState(null), node = _a[0], setNode = _a[1];
238
- React__namespace.useEffect(function () {
239
- setNode(React__namespace.createElement(_PlasmicCanvasHost, null));
240
- }, []);
241
- return (React__namespace.createElement(React__namespace.Fragment, null,
242
- !enableWebpackHmr && React__namespace.createElement(DisableWebpackHmr, null),
243
- node));
244
- };
245
- var renderErrorListeners = [];
246
- function registerRenderErrorListener(listener) {
247
- renderErrorListeners.push(listener);
248
- return function () {
249
- var index = renderErrorListeners.indexOf(listener);
250
- if (index >= 0) {
251
- renderErrorListeners.splice(index, 1);
252
- }
253
- };
254
- }
255
- var ErrorBoundary = /** @class */ (function (_super) {
256
- __extends(ErrorBoundary, _super);
257
- function ErrorBoundary(props) {
258
- var _this = _super.call(this, props) || this;
259
- _this.state = {};
260
- return _this;
261
- }
262
- ErrorBoundary.getDerivedStateFromError = function (error) {
263
- return { error: error };
264
- };
265
- ErrorBoundary.prototype.componentDidCatch = function (error) {
266
- renderErrorListeners.forEach(function (listener) { return listener(error); });
267
- };
268
- ErrorBoundary.prototype.render = function () {
269
- if (this.state.error) {
270
- return React__namespace.createElement("div", null,
271
- "Error: ", "" + this.state.error.message);
272
- }
273
- else {
274
- return React__namespace.createElement(React__namespace.Fragment, null, this.props.children);
275
- }
276
- };
277
- return ErrorBoundary;
278
- }(React__namespace.Component));
279
- function DisableWebpackHmr() {
280
- if (process.env.NODE_ENV === "production") {
281
- return null;
282
- }
283
- return (React__namespace.createElement("script", { type: "text/javascript", dangerouslySetInnerHTML: {
284
- __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 ",
285
- } }));
286
- }
287
- function deriveCanvasContextValue() {
288
- var _a;
289
- var hash = window.location.hash;
290
- if (hash && hash.length > 0) {
291
- // create URLsearchParams skipping the initial # character
292
- var params = new URLSearchParams(hash.substring(1));
293
- if (params.get("canvas") === "true") {
294
- var globalVariants = params.get("globalVariants");
295
- return {
296
- componentName: (_a = params.get("componentName")) !== null && _a !== void 0 ? _a : null,
297
- globalVariants: globalVariants ? JSON.parse(globalVariants) : {},
298
- interactive: params.get("interactive") === "true",
299
- };
300
- }
301
- }
302
- return false;
102
+ var rootChangeListeners = [];
103
+ var PlasmicRootNodeWrapper = /** @class */ (function () {
104
+ function PlasmicRootNodeWrapper(value) {
105
+ var _this = this;
106
+ this.value = value;
107
+ this.set = function (val) {
108
+ _this.value = val;
109
+ rootChangeListeners.forEach(function (f) { return f(); });
110
+ };
111
+ this.get = function () { return _this.value; };
112
+ }
113
+ return PlasmicRootNodeWrapper;
114
+ }());
115
+ var plasmicRootNode = new PlasmicRootNodeWrapper(null);
116
+ function getHashParams() {
117
+ return new URLSearchParams(location.hash.replace(/^#/, "?"));
118
+ }
119
+ function getPlasmicOrigin() {
120
+ var params = getHashParams();
121
+ return ensure(params.get("origin"), "Missing information from Plasmic window.");
122
+ }
123
+ function getStudioHash() {
124
+ var hashParams = getHashParams();
125
+ if (hashParams.has("studioHash")) {
126
+ return hashParams.get("studioHash");
127
+ }
128
+ var urlParams = new URL(location.href).searchParams;
129
+ return urlParams.get("studio-hash");
130
+ }
131
+ function renderStudioIntoIframe() {
132
+ var script = document.createElement("script");
133
+ var plasmicOrigin = getPlasmicOrigin();
134
+ var hash = getStudioHash();
135
+ script.src = "".concat(plasmicOrigin, "/static/js/studio").concat(hash ? ".".concat(hash, ".js") : ".js");
136
+ document.body.appendChild(script);
137
+ }
138
+ var renderCount = 0;
139
+ function setPlasmicRootNode(node) {
140
+ // Keep track of renderCount, which we use as key to ErrorBoundary, so
141
+ // we can reset the error on each render
142
+ renderCount++;
143
+ plasmicRootNode.set(node);
144
+ }
145
+ /**
146
+ * React context to detect whether the component is rendered on Plasmic editor.
147
+ * If not, return false.
148
+ * If so, return an object with more information about the component
149
+ */
150
+ var PlasmicCanvasContext = React__namespace.createContext(false);
151
+ var usePlasmicCanvasContext = function () {
152
+ return React__namespace.useContext(PlasmicCanvasContext);
153
+ };
154
+ function _PlasmicCanvasHost() {
155
+ var _a, _b;
156
+ // If window.parent is null, then this is a window whose containing iframe
157
+ // has been detached from the DOM (for the top window, window.parent === window).
158
+ // In that case, we shouldn't do anything. If window.parent is null, by the way,
159
+ // location.hash will also be null.
160
+ var isFrameAttached = !!window.parent;
161
+ var isCanvas = !!((_a = location.hash) === null || _a === void 0 ? void 0 : _a.match(/\bcanvas=true\b/));
162
+ var isLive = !!((_b = location.hash) === null || _b === void 0 ? void 0 : _b.match(/\blive=true\b/)) || !isFrameAttached;
163
+ var shouldRenderStudio = isFrameAttached &&
164
+ !document.querySelector("#plasmic-studio-tag") &&
165
+ !isCanvas &&
166
+ !isLive;
167
+ var forceUpdate = useForceUpdate();
168
+ React__namespace.useLayoutEffect(function () {
169
+ rootChangeListeners.push(forceUpdate);
170
+ return function () {
171
+ var index = rootChangeListeners.indexOf(forceUpdate);
172
+ if (index >= 0) {
173
+ rootChangeListeners.splice(index, 1);
174
+ }
175
+ };
176
+ }, [forceUpdate]);
177
+ React__namespace.useEffect(function () {
178
+ if (shouldRenderStudio && isFrameAttached && window.parent !== window) {
179
+ renderStudioIntoIframe();
180
+ }
181
+ }, [shouldRenderStudio, isFrameAttached]);
182
+ React__namespace.useEffect(function () {
183
+ if (!shouldRenderStudio && !document.querySelector("#getlibs") && isLive) {
184
+ var scriptElt = document.createElement("script");
185
+ scriptElt.id = "getlibs";
186
+ scriptElt.src = getPlasmicOrigin() + "/static/js/getlibs.js";
187
+ scriptElt.async = false;
188
+ scriptElt.onload = function () {
189
+ var _a, _b;
190
+ (_b = (_a = window).__GetlibsReadyResolver) === null || _b === void 0 ? void 0 : _b.call(_a);
191
+ };
192
+ document.head.append(scriptElt);
193
+ }
194
+ }, [shouldRenderStudio]);
195
+ var _c = React__namespace.useState(function () {
196
+ return deriveCanvasContextValue();
197
+ }), canvasContextValue = _c[0], setCanvasContextValue = _c[1];
198
+ React__namespace.useEffect(function () {
199
+ if (isCanvas) {
200
+ var listener_1 = function () {
201
+ setCanvasContextValue(deriveCanvasContextValue());
202
+ };
203
+ window.addEventListener("hashchange", listener_1);
204
+ return function () { return window.removeEventListener("hashchange", listener_1); };
205
+ }
206
+ return undefined;
207
+ }, [isCanvas]);
208
+ if (!isFrameAttached) {
209
+ return null;
210
+ }
211
+ if (isCanvas || isLive) {
212
+ var appDiv = document.querySelector("#plasmic-app.__wab_user-body");
213
+ if (!appDiv) {
214
+ appDiv = document.createElement("div");
215
+ appDiv.id = "plasmic-app";
216
+ appDiv.classList.add("__wab_user-body");
217
+ document.body.appendChild(appDiv);
218
+ }
219
+ return ReactDOM__namespace.createPortal(React__namespace.createElement(ErrorBoundary, { key: "".concat(renderCount) },
220
+ React__namespace.createElement(PlasmicCanvasContext.Provider, { value: canvasContextValue }, plasmicRootNode.get())), appDiv, "plasmic-app");
221
+ }
222
+ if (shouldRenderStudio && window.parent === window) {
223
+ return (React__namespace.createElement("iframe", { src: "https://docs.plasmic.app/app-content/app-host-ready#appHostUrl=".concat(encodeURIComponent(location.href)), style: {
224
+ width: "100vw",
225
+ height: "100vh",
226
+ border: "none",
227
+ position: "fixed",
228
+ top: 0,
229
+ left: 0,
230
+ zIndex: 99999999,
231
+ } }));
232
+ }
233
+ return null;
234
+ }
235
+ var PlasmicCanvasHost = function (props) {
236
+ var enableWebpackHmr = props.enableWebpackHmr;
237
+ var _a = React__namespace.useState(null), node = _a[0], setNode = _a[1];
238
+ React__namespace.useEffect(function () {
239
+ setNode(React__namespace.createElement(_PlasmicCanvasHost, null));
240
+ }, []);
241
+ return (React__namespace.createElement(React__namespace.Fragment, null,
242
+ !enableWebpackHmr && React__namespace.createElement(DisableWebpackHmr, null),
243
+ node));
244
+ };
245
+ var renderErrorListeners = [];
246
+ function registerRenderErrorListener(listener) {
247
+ renderErrorListeners.push(listener);
248
+ return function () {
249
+ var index = renderErrorListeners.indexOf(listener);
250
+ if (index >= 0) {
251
+ renderErrorListeners.splice(index, 1);
252
+ }
253
+ };
254
+ }
255
+ var ErrorBoundary = /** @class */ (function (_super) {
256
+ __extends(ErrorBoundary, _super);
257
+ function ErrorBoundary(props) {
258
+ var _this = _super.call(this, props) || this;
259
+ _this.state = {};
260
+ return _this;
261
+ }
262
+ ErrorBoundary.getDerivedStateFromError = function (error) {
263
+ return { error: error };
264
+ };
265
+ ErrorBoundary.prototype.componentDidCatch = function (error) {
266
+ renderErrorListeners.forEach(function (listener) { return listener(error); });
267
+ };
268
+ ErrorBoundary.prototype.render = function () {
269
+ if (this.state.error) {
270
+ return React__namespace.createElement("div", null,
271
+ "Error: ", "".concat(this.state.error.message));
272
+ }
273
+ else {
274
+ return React__namespace.createElement(React__namespace.Fragment, null, this.props.children);
275
+ }
276
+ };
277
+ return ErrorBoundary;
278
+ }(React__namespace.Component));
279
+ function DisableWebpackHmr() {
280
+ if (process.env.NODE_ENV === "production") {
281
+ return null;
282
+ }
283
+ return (React__namespace.createElement("script", { type: "text/javascript", dangerouslySetInnerHTML: {
284
+ __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 ",
285
+ } }));
286
+ }
287
+ function deriveCanvasContextValue() {
288
+ var _a;
289
+ var hash = window.location.hash;
290
+ if (hash && hash.length > 0) {
291
+ // create URLsearchParams skipping the initial # character
292
+ var params = new URLSearchParams(hash.substring(1));
293
+ if (params.get("canvas") === "true") {
294
+ var globalVariants = params.get("globalVariants");
295
+ return {
296
+ componentName: (_a = params.get("componentName")) !== null && _a !== void 0 ? _a : null,
297
+ globalVariants: globalVariants ? JSON.parse(globalVariants) : {},
298
+ interactive: params.get("interactive") === "true",
299
+ };
300
+ }
301
+ }
302
+ return false;
303
303
  }
304
304
 
305
- var tuple = function () {
306
- var args = [];
307
- for (var _i = 0; _i < arguments.length; _i++) {
308
- args[_i] = arguments[_i];
309
- }
310
- return args;
305
+ var tuple = function () {
306
+ var args = [];
307
+ for (var _i = 0; _i < arguments.length; _i++) {
308
+ args[_i] = arguments[_i];
309
+ }
310
+ return args;
311
311
  };
312
312
 
313
- var DataContext = React.createContext(undefined);
314
- function mkMetaName(name) {
315
- return "__plasmic_meta_" + name;
316
- }
317
- function mkMetaValue(meta) {
318
- return meta;
319
- }
320
- function applySelector(rawData, selector) {
321
- if (!selector) {
322
- return undefined;
323
- }
324
- var curData = rawData;
325
- for (var _i = 0, _a = selector.split("."); _i < _a.length; _i++) {
326
- var key = _a[_i];
327
- curData = curData === null || curData === void 0 ? void 0 : curData[key];
328
- }
329
- return curData;
330
- }
331
- function useSelector(selector) {
332
- var rawData = useDataEnv();
333
- return applySelector(rawData, selector);
334
- }
335
- function useSelectors(selectors) {
336
- if (selectors === void 0) { selectors = {}; }
337
- var rawData = useDataEnv();
338
- return Object.fromEntries(Object.entries(selectors)
339
- .filter(function (_a) {
340
- var key = _a[0], selector = _a[1];
341
- return !!key && !!selector;
342
- })
343
- .map(function (_a) {
344
- var key = _a[0], selector = _a[1];
345
- return tuple(key, applySelector(rawData, selector));
346
- }));
347
- }
348
- function useDataEnv() {
349
- return React.useContext(DataContext);
350
- }
351
- function DataProvider(_a) {
352
- var _b;
353
- var _c;
354
- var name = _a.name, data = _a.data, hidden = _a.hidden, label = _a.label, children = _a.children;
355
- var existingEnv = (_c = useDataEnv()) !== null && _c !== void 0 ? _c : {};
356
- if (!name) {
357
- return React__default['default'].createElement(React__default['default'].Fragment, null, children);
358
- }
359
- else {
360
- return (React__default['default'].createElement(DataContext.Provider, { value: __assign(__assign({}, existingEnv), (_b = {}, _b[name] = data, _b[mkMetaName(name)] = mkMetaValue({ hidden: hidden, label: label }), _b)) }, children));
361
- }
362
- }
363
- function PageParamsProvider(_a) {
364
- var children = _a.children, _b = _a.params, params = _b === void 0 ? {} : _b, _c = _a.query, query = _c === void 0 ? {} : _c;
365
- var $ctx = useDataEnv() || {};
366
- return (React__default['default'].createElement(DataProvider, { name: "params", data: __assign(__assign({}, $ctx.params), params), label: "Page URL path params" },
367
- React__default['default'].createElement(DataProvider, { name: "query", data: __assign(__assign({}, $ctx.query), query), label: "Page URL query params" }, children)));
368
- }
369
- function DataCtxReader(_a) {
370
- var children = _a.children;
371
- var $ctx = useDataEnv();
372
- return children($ctx);
313
+ var DataContext = React.createContext(undefined);
314
+ function mkMetaName(name) {
315
+ return "__plasmic_meta_".concat(name);
316
+ }
317
+ function mkMetaValue(meta) {
318
+ return meta;
319
+ }
320
+ function applySelector(rawData, selector) {
321
+ if (!selector) {
322
+ return undefined;
323
+ }
324
+ var curData = rawData;
325
+ for (var _i = 0, _a = selector.split("."); _i < _a.length; _i++) {
326
+ var key = _a[_i];
327
+ curData = curData === null || curData === void 0 ? void 0 : curData[key];
328
+ }
329
+ return curData;
330
+ }
331
+ function useSelector(selector) {
332
+ var rawData = useDataEnv();
333
+ return applySelector(rawData, selector);
334
+ }
335
+ function useSelectors(selectors) {
336
+ if (selectors === void 0) { selectors = {}; }
337
+ var rawData = useDataEnv();
338
+ return Object.fromEntries(Object.entries(selectors)
339
+ .filter(function (_a) {
340
+ var key = _a[0], selector = _a[1];
341
+ return !!key && !!selector;
342
+ })
343
+ .map(function (_a) {
344
+ var key = _a[0], selector = _a[1];
345
+ return tuple(key, applySelector(rawData, selector));
346
+ }));
347
+ }
348
+ function useDataEnv() {
349
+ return React.useContext(DataContext);
350
+ }
351
+ function DataProvider(_a) {
352
+ var _b;
353
+ var _c;
354
+ var name = _a.name, data = _a.data, hidden = _a.hidden, label = _a.label, children = _a.children;
355
+ var existingEnv = (_c = useDataEnv()) !== null && _c !== void 0 ? _c : {};
356
+ if (!name) {
357
+ return React__default['default'].createElement(React__default['default'].Fragment, null, children);
358
+ }
359
+ else {
360
+ return (React__default['default'].createElement(DataContext.Provider, { value: __assign(__assign({}, existingEnv), (_b = {}, _b[name] = data, _b[mkMetaName(name)] = mkMetaValue({ hidden: hidden, label: label }), _b)) }, children));
361
+ }
362
+ }
363
+ function PageParamsProvider(_a) {
364
+ var children = _a.children, _b = _a.params, params = _b === void 0 ? {} : _b, _c = _a.query, query = _c === void 0 ? {} : _c;
365
+ var $ctx = useDataEnv() || {};
366
+ return (React__default['default'].createElement(DataProvider, { name: "params", data: __assign(__assign({}, $ctx.params), params), label: "Page URL path params" },
367
+ React__default['default'].createElement(DataProvider, { name: "query", data: __assign(__assign({}, $ctx.query), query), label: "Page URL query params" }, children)));
368
+ }
369
+ function DataCtxReader(_a) {
370
+ var children = _a.children;
371
+ var $ctx = useDataEnv();
372
+ return children($ctx);
373
373
  }
374
374
 
375
- var root$6 = globalThis;
376
- root$6.__PlasmicFetcherRegistry = [];
377
- function registerFetcher(fetcher, meta) {
378
- root$6.__PlasmicFetcherRegistry.push({ fetcher: fetcher, meta: meta });
375
+ var root$6 = globalThis;
376
+ root$6.__PlasmicFetcherRegistry = [];
377
+ function registerFetcher(fetcher, meta) {
378
+ root$6.__PlasmicFetcherRegistry.push({ fetcher: fetcher, meta: meta });
379
379
  }
380
380
 
381
- var GlobalActionsContext = React__default['default'].createContext(undefined);
382
- function GlobalActionsProvider(props) {
383
- var contextName = props.contextName, children = props.children, actions = props.actions;
384
- var namespacedActions = React__default['default'].useMemo(function () {
385
- return Object.fromEntries(Object.entries(actions).map(function (_a) {
386
- var key = _a[0], val = _a[1];
387
- return [
388
- contextName + "." + key,
389
- val,
390
- ];
391
- }));
392
- }, [contextName, actions]);
393
- return (React__default['default'].createElement(GlobalActionsContext.Provider, { value: namespacedActions }, children));
394
- }
395
- function useGlobalActions() {
396
- var _a;
397
- return (_a = React__default['default'].useContext(GlobalActionsContext)) !== null && _a !== void 0 ? _a : {};
381
+ var GlobalActionsContext = React__default['default'].createContext(undefined);
382
+ function GlobalActionsProvider(props) {
383
+ var contextName = props.contextName, children = props.children, actions = props.actions;
384
+ var namespacedActions = React__default['default'].useMemo(function () {
385
+ return Object.fromEntries(Object.entries(actions).map(function (_a) {
386
+ var key = _a[0], val = _a[1];
387
+ return [
388
+ "".concat(contextName, ".").concat(key),
389
+ val,
390
+ ];
391
+ }));
392
+ }, [contextName, actions]);
393
+ return (React__default['default'].createElement(GlobalActionsContext.Provider, { value: namespacedActions }, children));
394
+ }
395
+ function useGlobalActions() {
396
+ var _a;
397
+ return (_a = React__default['default'].useContext(GlobalActionsContext)) !== null && _a !== void 0 ? _a : {};
398
398
  }
399
399
 
400
- var root$5 = globalThis;
401
- if (root$5.__PlasmicComponentRegistry == null) {
402
- root$5.__PlasmicComponentRegistry = [];
403
- }
404
- function registerComponent(component, meta) {
405
- // Check for duplicates
406
- if (root$5.__PlasmicComponentRegistry.some(function (r) {
407
- return r.component === component && r.meta.name === meta.name;
408
- })) {
409
- return;
410
- }
411
- root$5.__PlasmicComponentRegistry.push({ component: component, meta: meta });
400
+ var root$5 = globalThis;
401
+ if (root$5.__PlasmicComponentRegistry == null) {
402
+ root$5.__PlasmicComponentRegistry = [];
403
+ }
404
+ function registerComponent(component, meta) {
405
+ // Check for duplicates
406
+ if (root$5.__PlasmicComponentRegistry.some(function (r) {
407
+ return r.component === component && r.meta.name === meta.name;
408
+ })) {
409
+ return;
410
+ }
411
+ root$5.__PlasmicComponentRegistry.push({ component: component, meta: meta });
412
412
  }
413
413
 
414
- var root$4 = globalThis;
415
- if (root$4.__PlasmicContextRegistry == null) {
416
- root$4.__PlasmicContextRegistry = [];
417
- }
418
- function registerGlobalContext(component, meta) {
419
- // Check for duplicates
420
- if (root$4.__PlasmicContextRegistry.some(function (r) {
421
- return r.component === component && r.meta.name === meta.name;
422
- })) {
423
- return;
424
- }
425
- root$4.__PlasmicContextRegistry.push({ component: component, meta: meta });
414
+ var root$4 = globalThis;
415
+ if (root$4.__PlasmicContextRegistry == null) {
416
+ root$4.__PlasmicContextRegistry = [];
417
+ }
418
+ function registerGlobalContext(component, meta) {
419
+ // Check for duplicates
420
+ if (root$4.__PlasmicContextRegistry.some(function (r) {
421
+ return r.component === component && r.meta.name === meta.name;
422
+ })) {
423
+ return;
424
+ }
425
+ root$4.__PlasmicContextRegistry.push({ component: component, meta: meta });
426
426
  }
427
427
 
428
- var root$3 = globalThis;
429
- if (root$3.__PlasmicTokenRegistry == null) {
430
- root$3.__PlasmicTokenRegistry = [];
431
- }
432
- function registerToken(token) {
433
- root$3.__PlasmicTokenRegistry.push(token);
428
+ var root$3 = globalThis;
429
+ if (root$3.__PlasmicTokenRegistry == null) {
430
+ root$3.__PlasmicTokenRegistry = [];
431
+ }
432
+ function registerToken(token) {
433
+ root$3.__PlasmicTokenRegistry.push(token);
434
434
  }
435
435
 
436
- var root$2 = globalThis;
437
- if (root$2.__PlasmicTraitRegistry == null) {
438
- root$2.__PlasmicTraitRegistry = [];
439
- }
440
- function registerTrait(trait, meta) {
441
- root$2.__PlasmicTraitRegistry.push({
442
- trait: trait,
443
- meta: meta,
444
- });
436
+ var root$2 = globalThis;
437
+ if (root$2.__PlasmicTraitRegistry == null) {
438
+ root$2.__PlasmicTraitRegistry = [];
439
+ }
440
+ function registerTrait(trait, meta) {
441
+ root$2.__PlasmicTraitRegistry.push({
442
+ trait: trait,
443
+ meta: meta,
444
+ });
445
445
  }
446
446
 
447
- var _a, _b;
448
- function repeatedElement(index, elt) {
449
- return repeatedElementFn(index, elt);
450
- }
451
- var repeatedElementFn = function (index, elt) {
452
- if (Array.isArray(elt)) {
453
- return elt.map(function (v) { return repeatedElementFn(index, v); });
454
- }
455
- if (elt && React.isValidElement(elt) && typeof elt !== "string") {
456
- return React.cloneElement(elt);
457
- }
458
- return elt;
459
- };
460
- var root$1 = globalThis;
461
- 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) {
462
- repeatedElementFn = fn;
447
+ var _a, _b;
448
+ function repeatedElement(index, elt) {
449
+ return repeatedElementFn(index, elt);
450
+ }
451
+ var repeatedElementFn = function (index, elt) {
452
+ if (Array.isArray(elt)) {
453
+ return elt.map(function (v) { return repeatedElementFn(index, v); });
454
+ }
455
+ if (elt && React.isValidElement(elt) && typeof elt !== "string") {
456
+ return React.cloneElement(elt);
457
+ }
458
+ return elt;
459
+ };
460
+ var root$1 = globalThis;
461
+ 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) {
462
+ repeatedElementFn = fn;
463
463
  };
464
464
 
465
465
  var hostModule = /*#__PURE__*/Object.freeze({
@@ -488,28 +488,22 @@ var hostModule = /*#__PURE__*/Object.freeze({
488
488
  useGlobalActions: useGlobalActions
489
489
  });
490
490
 
491
- var hostVersion = "1.0.130";
491
+ var hostVersion = "1.0.131";
492
492
 
493
- var root = globalThis;
494
- if (root.__Sub == null) {
495
- // Creating a side effect here by logging, so that vite won't
496
- // ignore this block for whatever reason. Hiding this for now
497
- // as users are complaining; will have to check if this has
498
- // been fixed with vite.
499
- // console.log("Plasmic: Setting up app host dependencies");
500
- root.__Sub = __assign({ React: React__namespace,
501
- ReactDOM: ReactDOM__namespace,
502
- PlasmicQuery: PlasmicQuery__namespace,
503
- hostModule: hostModule,
504
- hostVersion: hostVersion, hostUtils: {
505
- setPlasmicRootNode: setPlasmicRootNode,
506
- registerRenderErrorListener: registerRenderErrorListener,
507
- setRepeatedElementFn: setRepeatedElementFn,
508
- },
509
- // For backwards compatibility:
510
- setPlasmicRootNode: setPlasmicRootNode,
511
- registerRenderErrorListener: registerRenderErrorListener,
512
- setRepeatedElementFn: setRepeatedElementFn }, hostModule);
493
+ var root = globalThis;
494
+ if (root.__Sub == null) {
495
+ // Creating a side effect here by logging, so that vite won't
496
+ // ignore this block for whatever reason. Hiding this for now
497
+ // as users are complaining; will have to check if this has
498
+ // been fixed with vite.
499
+ // console.log("Plasmic: Setting up app host dependencies");
500
+ root.__Sub = __assign({ React: React__namespace, ReactDOM: ReactDOM__namespace, PlasmicQuery: PlasmicQuery__namespace, hostModule: hostModule, hostVersion: hostVersion, hostUtils: {
501
+ setPlasmicRootNode: setPlasmicRootNode,
502
+ registerRenderErrorListener: registerRenderErrorListener,
503
+ setRepeatedElementFn: setRepeatedElementFn,
504
+ },
505
+ // For backwards compatibility:
506
+ setPlasmicRootNode: setPlasmicRootNode, registerRenderErrorListener: registerRenderErrorListener, setRepeatedElementFn: setRepeatedElementFn }, hostModule);
513
507
  }
514
508
 
515
509
  exports.DataContext = DataContext;