brew-js-react 0.6.2 → 0.6.3

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/app.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { combineFn, throwNotFunction } from "zeta-dom/util";
2
- import { install } from "brew-js/app";
2
+ import { addExtension, install } from "brew-js/app";
3
3
  import defaults from "brew-js/defaults";
4
4
 
5
5
  /** @type {Brew.AppInstance<Brew.WithRouter & Brew.WithI18n>} */
@@ -8,13 +8,17 @@ export var app;
8
8
  const appInitCallabcks = [];
9
9
 
10
10
  export function onAppInit(callback) {
11
- appInitCallabcks.push(throwNotFunction(callback));
11
+ if (app) {
12
+ callback(app);
13
+ } else {
14
+ appInitCallabcks.push(throwNotFunction(callback));
15
+ }
12
16
  }
13
17
 
14
- install('react', function (app_) {
15
- // @ts-ignore: type inference issue
18
+ const extension = addExtension(true, 'react2', ['?router', '?i18n'], function (app_) {
16
19
  app = app_;
17
20
  combineFn(appInitCallabcks)(app);
18
21
  });
19
22
 
23
+ install('react', extension);
20
24
  defaults.react = true;
@@ -1,14 +1,14 @@
1
- /*! brew-js-react v0.6.2 | (c) misonou | https://misonou.github.io */
1
+ /*! brew-js-react v0.6.3 | (c) misonou | https://misonou.github.io */
2
2
  (function webpackUniversalModuleDefinition(root, factory) {
3
3
  if(typeof exports === 'object' && typeof module === 'object')
4
- module.exports = factory(require("zeta-dom"), require("react"), require("react-dom"), require("brew-js"), require("zeta-dom-react"), require("waterpipe"), require("jquery"));
4
+ module.exports = factory(require("zeta-dom"), require("brew-js"), require("react"), require("react-dom"), require("zeta-dom-react"), require("waterpipe"), require("jquery"));
5
5
  else if(typeof define === 'function' && define.amd)
6
- define("brew-js-react", ["zeta-dom", "react", "react-dom", "brew-js", "zeta-dom-react", "waterpipe", "jquery"], factory);
6
+ define("brew-js-react", ["zeta-dom", "brew-js", "react", "react-dom", "zeta-dom-react", "waterpipe", "jquery"], factory);
7
7
  else if(typeof exports === 'object')
8
- exports["brew-js-react"] = factory(require("zeta-dom"), require("react"), require("react-dom"), require("brew-js"), require("zeta-dom-react"), require("waterpipe"), require("jquery"));
8
+ exports["brew-js-react"] = factory(require("zeta-dom"), require("brew-js"), require("react"), require("react-dom"), require("zeta-dom-react"), require("waterpipe"), require("jquery"));
9
9
  else
10
- root["brew"] = root["brew"] || {}, root["brew"]["react"] = factory(root["zeta"], root["React"], root["ReactDOM"], root["brew"], root["zeta"]["react"], root["waterpipe"], root["jQuery"]);
11
- })(self, (__WEBPACK_EXTERNAL_MODULE__231__, __WEBPACK_EXTERNAL_MODULE__12__, __WEBPACK_EXTERNAL_MODULE__33__, __WEBPACK_EXTERNAL_MODULE__760__, __WEBPACK_EXTERNAL_MODULE__402__, __WEBPACK_EXTERNAL_MODULE__87__, __WEBPACK_EXTERNAL_MODULE__914__) => {
10
+ root["brew"] = root["brew"] || {}, root["brew"]["react"] = factory(root["zeta"], root["brew"], root["React"], root["ReactDOM"], root["zeta"]["react"], root["waterpipe"], root["jQuery"]);
11
+ })(self, (__WEBPACK_EXTERNAL_MODULE__231__, __WEBPACK_EXTERNAL_MODULE__760__, __WEBPACK_EXTERNAL_MODULE__12__, __WEBPACK_EXTERNAL_MODULE__33__, __WEBPACK_EXTERNAL_MODULE__402__, __WEBPACK_EXTERNAL_MODULE__87__, __WEBPACK_EXTERNAL_MODULE__914__) => {
12
12
  return /******/ (() => { // webpackBootstrap
13
13
  /******/ var __webpack_modules__ = ({
14
14
 
@@ -255,7 +255,6 @@ var _lib$util = external_commonjs_zeta_dom_commonjs2_zeta_dom_amd_zeta_dom_root_
255
255
  pick = _lib$util.pick,
256
256
  randomId = _lib$util.randomId,
257
257
  resolve = _lib$util.resolve,
258
- resolveAll = _lib$util.resolveAll,
259
258
  setImmediate = _lib$util.setImmediate,
260
259
  setImmediateOnce = _lib$util.setImmediateOnce,
261
260
  single = _lib$util.single,
@@ -264,6 +263,39 @@ var _lib$util = external_commonjs_zeta_dom_commonjs2_zeta_dom_amd_zeta_dom_root_
264
263
  watch = _lib$util.watch,
265
264
  watchable = _lib$util.watchable;
266
265
 
266
+ // EXTERNAL MODULE: external {"commonjs":"brew-js","commonjs2":"brew-js","amd":"brew-js","root":"brew"}
267
+ var external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_ = __webpack_require__(760);
268
+ ;// CONCATENATED MODULE: ./|umd|/brew-js/app.js
269
+
270
+ /* harmony default export */ const app = ((/* unused pure expression or super */ null && (lib)));
271
+ var addExtension = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.addExtension,
272
+ install = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.install;
273
+
274
+ ;// CONCATENATED MODULE: ./|umd|/brew-js/defaults.js
275
+
276
+ var defaults = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.defaults;
277
+ /* harmony default export */ const brew_js_defaults = (defaults);
278
+ ;// CONCATENATED MODULE: ./src/app.js
279
+
280
+
281
+
282
+
283
+ /** @type {Brew.AppInstance<Brew.WithRouter & Brew.WithI18n>} */
284
+ var app_app;
285
+ var appInitCallabcks = [];
286
+ function onAppInit(callback) {
287
+ if (app_app) {
288
+ callback(app_app);
289
+ } else {
290
+ appInitCallabcks.push(throwNotFunction(callback));
291
+ }
292
+ }
293
+ var extension = addExtension(true, 'react2', ['?router', '?i18n'], function (app_) {
294
+ app_app = app_;
295
+ combineFn(appInitCallabcks)(app_app);
296
+ });
297
+ install('react', extension);
298
+ brew_js_defaults.react = true;
267
299
  // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react","amd":"react","root":"React"}
268
300
  var external_commonjs_react_commonjs2_react_amd_react_root_React_ = __webpack_require__(12);
269
301
  ;// CONCATENATED MODULE: ./|umd|/react.js
@@ -302,13 +334,10 @@ var reportError = dom.reportError;
302
334
 
303
335
  var _lib$dom = external_commonjs_zeta_dom_commonjs2_zeta_dom_amd_zeta_dom_root_zeta_.dom,
304
336
  lock = _lib$dom.lock,
305
- notifyAsync = _lib$dom.notifyAsync,
306
337
  preventLeave = _lib$dom.preventLeave,
307
338
  runAsync = _lib$dom.runAsync,
308
339
  subscribeAsync = _lib$dom.subscribeAsync;
309
340
 
310
- // EXTERNAL MODULE: external {"commonjs":"brew-js","commonjs2":"brew-js","amd":"brew-js","root":"brew"}
311
- var external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_ = __webpack_require__(760);
312
341
  ;// CONCATENATED MODULE: ./|umd|/brew-js/domAction.js
313
342
 
314
343
  var closeFlyout = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.closeFlyout,
@@ -438,32 +467,6 @@ var getQueryParam = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root
438
467
  var parsePath = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.parsePath,
439
468
  removeQueryAndHash = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.removeQueryAndHash;
440
469
 
441
- ;// CONCATENATED MODULE: ./|umd|/brew-js/app.js
442
-
443
- /* harmony default export */ const app = ((/* unused pure expression or super */ null && (lib)));
444
- var install = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.install;
445
-
446
- ;// CONCATENATED MODULE: ./|umd|/brew-js/defaults.js
447
-
448
- var defaults = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.defaults;
449
- /* harmony default export */ const brew_js_defaults = (defaults);
450
- ;// CONCATENATED MODULE: ./src/app.js
451
-
452
-
453
-
454
-
455
- /** @type {Brew.AppInstance<Brew.WithRouter & Brew.WithI18n>} */
456
- var app_app;
457
- var appInitCallabcks = [];
458
- function onAppInit(callback) {
459
- appInitCallabcks.push(throwNotFunction(callback));
460
- }
461
- install('react', function (app_) {
462
- // @ts-ignore: type inference issue
463
- app_app = app_;
464
- combineFn(appInitCallabcks)(app_app);
465
- });
466
- brew_js_defaults.react = true;
467
470
  ;// CONCATENATED MODULE: ./|umd|/brew-js/anim.js
468
471
 
469
472
  var animateIn = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.animateIn,
@@ -479,7 +482,6 @@ var animateIn = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_bre
479
482
 
480
483
 
481
484
 
482
-
483
485
  var _ = createPrivateStore();
484
486
  var root = zeta_dom_dom.root;
485
487
  var routeMap = new Map();
@@ -510,6 +512,7 @@ onAppInit(function () {
510
512
  });
511
513
  })(rootState);
512
514
  });
515
+ rootState.setPage(app_app.page);
513
516
  });
514
517
  function ViewContext(view, page, parent) {
515
518
  var self = this;
@@ -552,31 +555,36 @@ definePrototype(ErrorBoundary, Component, {
552
555
  error: error
553
556
  });
554
557
  } else {
555
- // emit error in next tick as ref callback may yet to be invoked
556
- // if error is thrown synchronously in first render
557
- setImmediate(function () {
558
- reportError(error, self.context.container);
559
- });
560
558
  // ensure promise sent to beforepageload event is resolved
561
559
  self.props.onComponentLoaded();
560
+ reportError(error, self.context.container);
562
561
  }
563
562
  },
564
563
  render: function render() {
565
564
  var self = this;
565
+ if (!self.context.container) {
566
+ setImmediate(function () {
567
+ self.forceUpdate();
568
+ });
569
+ return null;
570
+ }
566
571
  var props = {
567
572
  view: self.context.view,
568
573
  error: self.state.error,
569
574
  reset: self.reset.bind(self)
570
575
  };
571
576
  var onComponentLoaded = self.props.onComponentLoaded;
577
+ var onError = self.componentDidCatch.bind(self);
572
578
  if (props.error) {
573
579
  return /*#__PURE__*/createElement(errorView, {
574
580
  onComponentLoaded: onComponentLoaded,
581
+ onError: onError,
575
582
  viewProps: props
576
583
  });
577
584
  }
578
585
  return /*#__PURE__*/createElement(props.view, {
579
586
  onComponentLoaded: onComponentLoaded,
587
+ onError: onError,
580
588
  viewProps: self.props.viewProps
581
589
  });
582
590
  },
@@ -664,7 +672,6 @@ definePrototype(ViewContainer, Component, {
664
672
  }, true);
665
673
  }
666
674
  });
667
- notifyAsync(element, promise);
668
675
  });
669
676
  var viewProps = function viewProps() {
670
677
  return freeze({
@@ -762,10 +769,11 @@ function createViewComponent(factory) {
762
769
  catchAsync(promise);
763
770
  }
764
771
  var state = useAsync(function () {
765
- return promise;
772
+ return promise.then(null, props.onError);
766
773
  }, !!promise)[1];
767
774
  var loaded = !promise || !state.loading;
768
775
  useEffect(function () {
776
+ state.elementRef(viewContext.container);
769
777
  // listen to property directly so that it is invoked after pagechange event handlers in actual component
770
778
  return watch(viewContext, 'page', function () {
771
779
  viewProps[1](props.viewProps);
@@ -776,9 +784,6 @@ function createViewComponent(factory) {
776
784
  setImmediate(props.onComponentLoaded);
777
785
  }
778
786
  }, [loaded]);
779
- if (state.error) {
780
- throw state.error;
781
- }
782
787
  return children || (state.value ? /*#__PURE__*/createElement(state.value["default"], viewProps[0]) : null);
783
788
  };
784
789
  }
@@ -1606,6 +1611,13 @@ definePrototype(FlyoutMixin, ClassNameMixin, {
1606
1611
  onVisibilityChanged: function onVisibilityChanged(callback) {
1607
1612
  return this.watch('visible', callback);
1608
1613
  },
1614
+ whenVisible: function whenVisible(effect) {
1615
+ var dispose = [];
1616
+ dispose[0] = this.watch('visible', function (visible) {
1617
+ dispose[1] = (visible ? isFunction(effect()) : dispose[1] && void dispose[1]()) || noop;
1618
+ }, true);
1619
+ return combineFn(dispose);
1620
+ },
1609
1621
  initElement: function initElement(element, state) {
1610
1622
  var self = this;
1611
1623
  if (self.elements()[1]) {
@@ -1850,6 +1862,7 @@ function useMixinRef(mixin) {
1850
1862
 
1851
1863
  ;// CONCATENATED MODULE: ./src/index.js
1852
1864
 
1865
+
1853
1866
  /* harmony default export */ const src = ((/* unused pure expression or super */ null && (brew)));
1854
1867
 
1855
1868