@plasmicapp/loader-react 1.0.101 → 1.0.104

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/index.d.ts CHANGED
@@ -6,5 +6,5 @@ export { ComponentRenderData, InitOptions, initPlasmicLoader, InternalPlasmicCom
6
6
  export { PlasmicComponent } from './PlasmicComponent';
7
7
  export { GlobalVariantSpec, PlasmicRootProvider, PlasmicTranslator, } from './PlasmicRootProvider';
8
8
  export { extractPlasmicQueryData, plasmicPrepass } from './prepass';
9
- export { hydrateFromElement, renderToElement, renderToString } from './render';
9
+ export { extractPlasmicQueryDataFromElement, hydrateFromElement, renderToElement, renderToString, } from './render';
10
10
  export { usePlasmicComponent } from './usePlasmicComponent';
@@ -1133,9 +1133,9 @@ function matchesCompMeta(lookup, meta) {
1133
1133
  return isNameSpec(lookup) ? (lookup.name === meta.name || lookup.rawName === meta.displayName) && (lookup.isCode == null || lookup.isCode === meta.isCode) : lookup.path === meta.path;
1134
1134
  }
1135
1135
 
1136
- function getCompMeta(metas, lookup) {
1136
+ function getCompMetas(metas, lookup) {
1137
1137
  var full = toFullLookup(lookup);
1138
- return metas.find(function (meta) {
1138
+ return metas.filter(function (meta) {
1139
1139
  return matchesCompMeta(full, meta);
1140
1140
  });
1141
1141
  }
@@ -1149,6 +1149,11 @@ function getLookupSpecName(lookup) {
1149
1149
  }
1150
1150
  }
1151
1151
 
1152
+ function getFirstCompMeta(metas, lookup) {
1153
+ var filtered = getCompMetas(metas, lookup);
1154
+ return filtered.length === 0 ? undefined : filtered[0];
1155
+ }
1156
+
1152
1157
  var ComponentLookup = /*#__PURE__*/function () {
1153
1158
  function ComponentLookup(bundle, registry) {
1154
1159
  this.bundle = bundle;
@@ -1162,7 +1167,7 @@ var ComponentLookup = /*#__PURE__*/function () {
1162
1167
  opts = {};
1163
1168
  }
1164
1169
 
1165
- var compMeta = getCompMeta(this.bundle.components, spec);
1170
+ var compMeta = getFirstCompMeta(this.bundle.components, spec);
1166
1171
 
1167
1172
  if (!compMeta) {
1168
1173
  throw new Error("Component not found: " + spec);
@@ -1181,7 +1186,7 @@ var ComponentLookup = /*#__PURE__*/function () {
1181
1186
  };
1182
1187
 
1183
1188
  _proto.hasComponent = function hasComponent(spec) {
1184
- var compMeta = getCompMeta(this.bundle.components, spec);
1189
+ var compMeta = getFirstCompMeta(this.bundle.components, spec);
1185
1190
 
1186
1191
  if (compMeta) {
1187
1192
  return this.registry.hasModule(compMeta.entry);
@@ -1205,7 +1210,7 @@ var ComponentLookup = /*#__PURE__*/function () {
1205
1210
  };
1206
1211
 
1207
1212
  _proto.getGlobalContextsProvider = function getGlobalContextsProvider(spec) {
1208
- var compMeta = getCompMeta(this.bundle.components, spec);
1213
+ var compMeta = getFirstCompMeta(this.bundle.components, spec);
1209
1214
  var projectMeta = compMeta ? this.bundle.projects.find(function (x) {
1210
1215
  return x.id === compMeta.projectId;
1211
1216
  }) : undefined;
@@ -1940,19 +1945,24 @@ var InternalPlasmicComponentLoader = /*#__PURE__*/function () {
1940
1945
  };
1941
1946
 
1942
1947
  _proto.refreshRegistry = function refreshRegistry() {
1948
+ var _this3 = this;
1949
+
1950
+ var _loop = function _loop() {
1951
+ var sub = _step.value;
1952
+ var metas = getCompMetas(_this3.bundle.components, sub.lookup);
1953
+ metas.forEach(function (meta) {
1954
+ return _this3.registry.register(meta.entry, {
1955
+ "default": sub.component
1956
+ });
1957
+ });
1958
+ };
1959
+
1943
1960
  // Once we have received data, we register components to
1944
1961
  // substitute. We had to wait for data to do this so
1945
1962
  // that we can look up the right module name to substitute
1946
1963
  // in component meta.
1947
1964
  for (var _iterator = _createForOfIteratorHelperLoose(this.subs), _step; !(_step = _iterator()).done;) {
1948
- var sub = _step.value;
1949
- var meta = getCompMeta(this.bundle.components, sub.lookup);
1950
-
1951
- if (meta) {
1952
- this.registry.register(meta.entry, {
1953
- "default": sub.component
1954
- });
1955
- }
1965
+ _loop();
1956
1966
  } // We also swap global variants' useXXXGlobalVariant() hook with
1957
1967
  // a fake one that just reads from the PlasmicRootContext. Because
1958
1968
  // global variant values are not supplied by the generated global variant
@@ -1986,22 +1996,24 @@ var InternalPlasmicComponentLoader = /*#__PURE__*/function () {
1986
1996
  }();
1987
1997
 
1988
1998
  function _maybeGetCompMetas(metas, specs) {
1989
- var found = [];
1999
+ var found = new Set();
1990
2000
  var missing = [];
1991
2001
 
1992
2002
  for (var _iterator3 = _createForOfIteratorHelperLoose(specs), _step3; !(_step3 = _iterator3()).done;) {
1993
2003
  var spec = _step3.value;
1994
- var meta = getCompMeta(metas, spec);
2004
+ var filteredMetas = getCompMetas(metas, spec);
1995
2005
 
1996
- if (meta) {
1997
- found.push(meta);
2006
+ if (filteredMetas.length > 0) {
2007
+ filteredMetas.forEach(function (meta) {
2008
+ return found.add(meta);
2009
+ });
1998
2010
  } else {
1999
2011
  missing.push(spec);
2000
2012
  }
2001
2013
  }
2002
2014
 
2003
2015
  return {
2004
- found: found,
2016
+ found: Array.from(found.keys()),
2005
2017
  missing: missing
2006
2018
  };
2007
2019
  }
@@ -2620,12 +2632,13 @@ function renderToString(loader, lookup, opts) {
2620
2632
  var element = makeElement(loader, lookup, opts);
2621
2633
  return ReactDOMServer.renderToString(element);
2622
2634
  }
2623
- function hydrateFromElement(_x5, _x6, _x7, _x8) {
2624
- return _hydrateFromElement.apply(this, arguments);
2635
+ function extractPlasmicQueryDataFromElement(_x5, _x6, _x7) {
2636
+ return _extractPlasmicQueryDataFromElement.apply(this, arguments);
2625
2637
  }
2626
2638
 
2627
- function _hydrateFromElement() {
2628
- _hydrateFromElement = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(loader, target, lookup, opts) {
2639
+ function _extractPlasmicQueryDataFromElement() {
2640
+ _extractPlasmicQueryDataFromElement = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(loader, lookup, opts) {
2641
+ var element;
2629
2642
  return runtime_1.wrap(function _callee2$(_context2) {
2630
2643
  while (1) {
2631
2644
  switch (_context2.prev = _context2.next) {
@@ -2634,7 +2647,34 @@ function _hydrateFromElement() {
2634
2647
  opts = {};
2635
2648
  }
2636
2649
 
2637
- return _context2.abrupt("return", new Promise(function (resolve) {
2650
+ element = makeElement(loader, lookup, opts);
2651
+ return _context2.abrupt("return", extractPlasmicQueryData(element));
2652
+
2653
+ case 3:
2654
+ case "end":
2655
+ return _context2.stop();
2656
+ }
2657
+ }
2658
+ }, _callee2);
2659
+ }));
2660
+ return _extractPlasmicQueryDataFromElement.apply(this, arguments);
2661
+ }
2662
+
2663
+ function hydrateFromElement(_x8, _x9, _x10, _x11) {
2664
+ return _hydrateFromElement.apply(this, arguments);
2665
+ }
2666
+
2667
+ function _hydrateFromElement() {
2668
+ _hydrateFromElement = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3(loader, target, lookup, opts) {
2669
+ return runtime_1.wrap(function _callee3$(_context3) {
2670
+ while (1) {
2671
+ switch (_context3.prev = _context3.next) {
2672
+ case 0:
2673
+ if (opts === void 0) {
2674
+ opts = {};
2675
+ }
2676
+
2677
+ return _context3.abrupt("return", new Promise(function (resolve) {
2638
2678
  var element = makeElement(loader, lookup, opts);
2639
2679
  ReactDOM.hydrate(element, target, function () {
2640
2680
  return resolve();
@@ -2643,10 +2683,10 @@ function _hydrateFromElement() {
2643
2683
 
2644
2684
  case 2:
2645
2685
  case "end":
2646
- return _context2.stop();
2686
+ return _context3.stop();
2647
2687
  }
2648
2688
  }
2649
- }, _callee2);
2689
+ }, _callee3);
2650
2690
  }));
2651
2691
  return _hydrateFromElement.apply(this, arguments);
2652
2692
  }
@@ -2659,7 +2699,8 @@ function makeElement(loader, lookup, opts) {
2659
2699
  return React__default.createElement(PlasmicRootProvider, {
2660
2700
  loader: loader,
2661
2701
  prefetchedData: opts.prefetchedData,
2662
- globalVariants: opts.globalVariants
2702
+ globalVariants: opts.globalVariants,
2703
+ prefetchedQueryData: opts.prefetchedQueryData
2663
2704
  }, React__default.createElement(PlasmicComponent, {
2664
2705
  component: typeof lookup === 'string' ? lookup : lookup.name,
2665
2706
  projectId: typeof lookup === 'string' ? undefined : lookup.projectId,
@@ -2703,6 +2744,7 @@ exports.PlasmicComponentLoader = PlasmicComponentLoader;
2703
2744
  exports.PlasmicRootProvider = PlasmicRootProvider;
2704
2745
  exports.convertBundlesToComponentRenderData = convertBundlesToComponentRenderData;
2705
2746
  exports.extractPlasmicQueryData = extractPlasmicQueryData;
2747
+ exports.extractPlasmicQueryDataFromElement = extractPlasmicQueryDataFromElement;
2706
2748
  exports.hydrateFromElement = hydrateFromElement;
2707
2749
  exports.initPlasmicLoader = initPlasmicLoader;
2708
2750
  exports.plasmicPrepass = plasmicPrepass;