brew-js-react 0.4.5 → 0.4.7

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.
@@ -1,25 +1,17 @@
1
- /*! brew-js-react v0.4.5 | (c) misonou | https://hackmd.io/@misonou/brew-js-react */
1
+ /*! brew-js-react v0.4.7 | (c) misonou | https://hackmd.io/@misonou/brew-js-react */
2
2
  (function webpackUniversalModuleDefinition(root, factory) {
3
3
  if(typeof exports === 'object' && typeof module === 'object')
4
- module.exports = factory(require("brew-js"), require("react"), require("react-dom"), (function webpackLoadOptionalExternalModule() { try { return require("react-dom/client"); } catch(e) {} }()), require("zeta-dom"), require("zeta-dom-react"), require("waterpipe"), require("jQuery"));
4
+ module.exports = factory(require("brew-js"), require("react"), require("react-dom"), (function webpackLoadOptionalExternalModule() { try { return require("react-dom/client"); } catch(e) {} }()), require("zeta-dom"), require("zeta-dom-react"), require("waterpipe"));
5
5
  else if(typeof define === 'function' && define.amd)
6
- define("brew-js-react", ["brew-js", "react", "react-dom", "react-dom/client", "zeta-dom", "zeta-dom-react", "waterpipe", "jQuery"], factory);
6
+ define("brew-js-react", ["brew-js", "react", "react-dom", "react-dom/client", "zeta-dom", "zeta-dom-react", "waterpipe"], factory);
7
7
  else if(typeof exports === 'object')
8
- exports["brew-js-react"] = factory(require("brew-js"), require("react"), require("react-dom"), (function webpackLoadOptionalExternalModule() { try { return require("react-dom/client"); } catch(e) {} }()), require("zeta-dom"), require("zeta-dom-react"), require("waterpipe"), require("jQuery"));
8
+ exports["brew-js-react"] = factory(require("brew-js"), require("react"), require("react-dom"), (function webpackLoadOptionalExternalModule() { try { return require("react-dom/client"); } catch(e) {} }()), require("zeta-dom"), require("zeta-dom-react"), require("waterpipe"));
9
9
  else
10
- root["brew-js-react"] = factory(root["brew"], root["React"], root["ReactDOM"], root["react-dom/client"], root["zeta"], root["zeta-dom-react"], root["waterpipe"], root["jQuery"]);
11
- })(self, function(__WEBPACK_EXTERNAL_MODULE__80__, __WEBPACK_EXTERNAL_MODULE__359__, __WEBPACK_EXTERNAL_MODULE__318__, __WEBPACK_EXTERNAL_MODULE__715__, __WEBPACK_EXTERNAL_MODULE__654__, __WEBPACK_EXTERNAL_MODULE__103__, __WEBPACK_EXTERNAL_MODULE__28__, __WEBPACK_EXTERNAL_MODULE__145__) {
10
+ root["brew-js-react"] = factory(root["brew"], root["React"], root["ReactDOM"], root["react-dom/client"], root["zeta"], root["zeta-dom-react"], root["waterpipe"]);
11
+ })(self, function(__WEBPACK_EXTERNAL_MODULE__80__, __WEBPACK_EXTERNAL_MODULE__359__, __WEBPACK_EXTERNAL_MODULE__318__, __WEBPACK_EXTERNAL_MODULE__715__, __WEBPACK_EXTERNAL_MODULE__654__, __WEBPACK_EXTERNAL_MODULE__103__, __WEBPACK_EXTERNAL_MODULE__28__) {
12
12
  return /******/ (() => { // webpackBootstrap
13
13
  /******/ var __webpack_modules__ = ({
14
14
 
15
- /***/ 145:
16
- /***/ ((module) => {
17
-
18
- "use strict";
19
- module.exports = __WEBPACK_EXTERNAL_MODULE__145__;
20
-
21
- /***/ }),
22
-
23
15
  /***/ 715:
24
16
  /***/ ((module) => {
25
17
 
@@ -265,6 +257,7 @@ var _lib$util = external_commonjs_zeta_dom_commonjs2_zeta_dom_amd_zeta_dom_root_
265
257
  noop = _lib$util.noop,
266
258
  pipe = _lib$util.pipe,
267
259
  either = _lib$util.either,
260
+ sameValueZero = _lib$util.sameValueZero,
268
261
  is = _lib$util.is,
269
262
  isUndefinedOrNull = _lib$util.isUndefinedOrNull,
270
263
  isArray = _lib$util.isArray,
@@ -329,6 +322,7 @@ var _lib$util = external_commonjs_zeta_dom_commonjs2_zeta_dom_amd_zeta_dom_root_
329
322
  lcfirst = _lib$util.lcfirst,
330
323
  trim = _lib$util.trim,
331
324
  matchWord = _lib$util.matchWord,
325
+ matchWordMulti = _lib$util.matchWordMulti,
332
326
  htmlDecode = _lib$util.htmlDecode,
333
327
  resolve = _lib$util.resolve,
334
328
  reject = _lib$util.reject,
@@ -398,6 +392,7 @@ var _lib$dom = external_commonjs_zeta_dom_commonjs2_zeta_dom_amd_zeta_dom_root_z
398
392
  focusable = _lib$dom.focusable,
399
393
  focused = _lib$dom.focused,
400
394
  setTabRoot = _lib$dom.setTabRoot,
395
+ unsetTabRoot = _lib$dom.unsetTabRoot,
401
396
  setModal = _lib$dom.setModal,
402
397
  releaseModal = _lib$dom.releaseModal,
403
398
  retainFocus = _lib$dom.retainFocus,
@@ -423,7 +418,9 @@ var domLock_lib$dom = external_commonjs_zeta_dom_commonjs2_zeta_dom_amd_zeta_dom
423
418
  ;// CONCATENATED MODULE: ./tmp/brew-js/domAction.js
424
419
 
425
420
  var addAsyncAction = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.addAsyncAction,
421
+ isFlyoutOpen = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.isFlyoutOpen,
426
422
  closeFlyout = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.closeFlyout,
423
+ toggleFlyout = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.toggleFlyout,
427
424
  openFlyout = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.openFlyout;
428
425
 
429
426
  ;// CONCATENATED MODULE: ./src/dialog.js
@@ -622,6 +619,24 @@ var view_event = {};
622
619
  onAppInit(function () {
623
620
  app_app.on('beforepageload', function (e) {
624
621
  view_event = e;
622
+ e.waitFor(new Promise(function (resolve) {
623
+ (function updateViewRecursive(next) {
624
+ if (!next[0]) {
625
+ return resolve();
626
+ }
627
+
628
+ resolveAll(map(next, function (v) {
629
+ return new Promise(function (resolve) {
630
+ v.onRender = resolve;
631
+ v.forceUpdate();
632
+ });
633
+ })).then(function () {
634
+ updateViewRecursive(map(next, function (v) {
635
+ return v.children;
636
+ }));
637
+ });
638
+ })(_(rootContext).children);
639
+ }));
625
640
 
626
641
  _(rootContext).setPage(app_app.page);
627
642
  });
@@ -632,6 +647,7 @@ function ViewContext(view, page) {
632
647
  defineOwnProperty(self, 'view', view, true);
633
648
 
634
649
  _(self, {
650
+ children: [],
635
651
  setPage: defineObservableProperty(self, 'page', page, true),
636
652
  setActive: defineObservableProperty(self, 'active', true, true)
637
653
  });
@@ -703,33 +719,27 @@ definePrototype(ErrorBoundary, external_commonjs_react_commonjs2_react_amd_react
703
719
 
704
720
  function ViewContainer() {
705
721
  external_commonjs_react_commonjs2_react_amd_react_root_React_.Component.apply(this, arguments);
706
- this.stateId = history.state;
707
722
  }
708
723
 
709
724
  ViewContainer.contextType = StateContext;
710
725
  definePrototype(ViewContainer, external_commonjs_react_commonjs2_react_amd_react_root_React_.Component, {
711
726
  componentDidMount: function componentDidMount() {
712
- /** @type {any} */
713
727
  var self = this;
728
+
729
+ var parent = _(self.context).children;
730
+
731
+ parent.push(self);
714
732
  self.componentWillUnmount = combineFn(watch(app_app.route, function () {
715
733
  (self.setActive || noop)(self.getViewComponent() === self.currentViewComponent);
716
- }), app_app.on('beforepageload', function () {
717
- self.stateId = history.state;
718
-
719
- if (self.context === rootContext || self.updateOnNext) {
720
- view_event.waitFor(new Promise(function (resolve) {
721
- self.onRender = resolve;
722
- }));
723
- self.updateView();
724
- self.forceUpdate();
725
- }
726
- }));
734
+ }), function () {
735
+ arrRemove(parent, self);
736
+ });
727
737
  },
728
738
  render: function render() {
729
739
  /** @type {any} */
730
740
  var self = this;
731
741
 
732
- if (history.state === self.stateId && self.context.active) {
742
+ if (self.context.active) {
733
743
  self.updateView();
734
744
  }
735
745
 
@@ -739,21 +749,20 @@ definePrototype(ViewContainer, external_commonjs_react_commonjs2_react_amd_react
739
749
  updateView: function updateView() {
740
750
  var self = this;
741
751
  var V = self.getViewComponent();
742
- self.updateOnNext = false;
752
+ var viewChanged = V !== self.currentViewComponent;
743
753
 
744
- if (V) {
754
+ if (V && (viewChanged || !(self.children || '')[0])) {
745
755
  // ensure the current path actually corresponds to the matched view
746
756
  // when some views are not included in the list of allowed views
747
757
  var targetPath = resolvePath(V, getCurrentParams(V, true));
748
758
 
749
759
  if (targetPath !== removeQueryAndHash(app_app.path)) {
750
760
  app_app.navigate(targetPath, true);
751
- self.updateOnNext = true;
752
761
  return;
753
762
  }
754
763
  }
755
764
 
756
- if (V && V !== self.currentViewComponent) {
765
+ if (V && viewChanged) {
757
766
  var prevElement = self.currentElement;
758
767
 
759
768
  if (prevElement) {
@@ -1153,19 +1162,19 @@ if (toPrimitive) {
1153
1162
  }
1154
1163
 
1155
1164
  function createCallback(translate) {
1156
- var callback = function callback(key, data) {
1157
- var result = translate(key, data, true);
1165
+ var callback = function callback(key, data, lang) {
1166
+ var result = translate(key, data, lang, true);
1158
1167
  return result !== undefined ? result : key;
1159
1168
  };
1160
1169
 
1161
1170
  return extend(callback, {
1162
- html: function html(id, data) {
1171
+ html: function html(id, data, lang) {
1163
1172
  return {
1164
- __html: translate(id, data)
1173
+ __html: translate(id, data, lang)
1165
1174
  };
1166
1175
  },
1167
- lazy: function lazy(id, data) {
1168
- return new TString(translate.bind(0, id, data, true));
1176
+ lazy: function lazy(id, data, lang) {
1177
+ return new TString(translate.bind(0, id, data, lang, true));
1169
1178
  }
1170
1179
  });
1171
1180
  }
@@ -1195,36 +1204,38 @@ function makeTranslation(resources, defaultLang) {
1195
1204
  }
1196
1205
  }
1197
1206
 
1198
- function translate(key, data, noEncode) {
1207
+ function translate(key, data, lang, noEncode) {
1199
1208
  var prefix = re.test(key) ? RegExp.$1 : '';
1200
1209
  var name = prefix ? key.slice(RegExp.lastMatch.length) : key;
1201
- return getTranslation(prefix, name, data, noEncode, app_app.language);
1210
+ return getTranslation(prefix, name, data, noEncode, lang || app_app.language);
1202
1211
  }
1203
1212
 
1204
1213
  function getTranslationCallback() {
1214
+ var currentLang = String(this);
1205
1215
  var prefix = makeArray(arguments);
1206
- var key = prefix.join(' ');
1207
- return cache[key] || (cache[key] = createCallback(function (key, data, noEncode) {
1208
- var lang = app_app.language;
1216
+ var key = currentLang + ' ' + prefix.join(' ');
1217
+ return cache[key] || (cache[key] = prefix[0] ? createCallback(function (key, data, lang, noEncode) {
1218
+ lang = lang || currentLang || app_app.language;
1209
1219
  return single(prefix, function (v) {
1210
1220
  return getTranslation(v, key, data, noEncode, lang);
1211
1221
  });
1222
+ }) : createCallback(function (key, data, lang, noEncode) {
1223
+ return translate(key, data, lang || currentLang, noEncode);
1212
1224
  }));
1213
1225
  }
1214
1226
 
1215
1227
  function useTranslation() {
1216
1228
  var language = useLanguage();
1217
- var t = getTranslationCallback.apply(0, arguments);
1229
+ var t = getTranslationCallback.apply(language, arguments);
1218
1230
  return {
1219
1231
  language: language,
1220
1232
  t: t
1221
1233
  };
1222
1234
  }
1223
1235
 
1224
- cache[''] = createCallback(translate);
1225
1236
  return {
1226
- translate: cache[''],
1227
- getTranslation: getTranslationCallback,
1237
+ translate: createCallback(translate),
1238
+ getTranslation: getTranslationCallback.bind(''),
1228
1239
  useTranslation: useTranslation,
1229
1240
  keys: function keys(prefix) {
1230
1241
  return util_keys(resources[defaultLang][prefix] || empty);
@@ -1534,13 +1545,20 @@ function AnimateSequenceMixin() {
1534
1545
  self.item = new AnimateSequenceItemMixin(self.className);
1535
1546
  }
1536
1547
  definePrototype(AnimateSequenceMixin, AnimateMixin, {
1548
+ withOptions: function withOptions(options) {
1549
+ this.selector = options;
1550
+ return this;
1551
+ },
1537
1552
  reset: function reset() {
1538
1553
  this.item.reset();
1539
1554
  return AnimateSequenceMixinSuper.reset.call(this);
1540
1555
  },
1541
1556
  getCustomAttributes: function getCustomAttributes() {
1542
- return extend({}, AnimateSequenceMixinSuper.getCustomAttributes.call(this), {
1543
- 'animate-sequence': '.' + this.className
1557
+ var self = this;
1558
+ return extend({}, AnimateSequenceMixinSuper.getCustomAttributes.call(self), {
1559
+ 'animate-in': null,
1560
+ 'animate-sequence-type': (self.effects || []).join(' '),
1561
+ 'animate-sequence': self.selector || '.' + self.className
1544
1562
  });
1545
1563
  },
1546
1564
  clone: function clone() {
@@ -1570,7 +1588,7 @@ definePrototype(FlyoutToggleMixin, ClassNameMixin, {
1570
1588
  var self = this;
1571
1589
  FlyoutToggleMixinSuper.initElement.call(self, element, state);
1572
1590
  self.onDispose(zeta_dom_dom.on(element, 'click', function () {
1573
- openFlyout(self.flyoutMixin.elements()[0], null, element, true);
1591
+ toggleFlyout(self.flyoutMixin.elements()[0], element);
1574
1592
  }));
1575
1593
  }
1576
1594
  });
@@ -1582,6 +1600,7 @@ definePrototype(FlyoutToggleMixin, ClassNameMixin, {
1582
1600
 
1583
1601
  var FlyoutMixinSuper = ClassNameMixin.prototype;
1584
1602
  var valueMap = new WeakMap();
1603
+ var aliasProps = 'animating isFlyoutOpened modal tabThrough visible'.split(' ');
1585
1604
  function FlyoutMixin() {
1586
1605
  var self = this;
1587
1606
  ClassNameMixin.call(self, ['open', 'closing', 'visible', 'tweening-in', 'tweening-out']);
@@ -1663,8 +1682,9 @@ definePrototype(FlyoutMixin, ClassNameMixin, {
1663
1682
  var mixin = extend(FlyoutMixinSuper.clone.call(self), {
1664
1683
  toggle: self.toggle.ref.getMixin()
1665
1684
  });
1666
- defineAliasProperty(mixin, 'isFlyoutOpened', self);
1667
- defineAliasProperty(mixin, 'modal', self);
1685
+ each(aliasProps, function (i, v) {
1686
+ defineAliasProperty(mixin, v, self);
1687
+ });
1668
1688
  return mixin;
1669
1689
  },
1670
1690
  onClassNameUpdated: function onClassNameUpdated(element, prevState, state) {
@@ -1750,12 +1770,11 @@ definePrototype(LoadingStateMixin, StatefulMixin, {
1750
1770
  }];
1751
1771
  }
1752
1772
  });
1753
- // EXTERNAL MODULE: external "jQuery"
1754
- var external_jQuery_ = __webpack_require__(145);
1755
- ;// CONCATENATED MODULE: ./src/include/external/jquery.js
1756
- // @ts-nocheck
1773
+ ;// CONCATENATED MODULE: ./tmp/brew-js/directive.js
1774
+
1775
+ var getDirectiveComponent = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.getDirectiveComponent,
1776
+ registerDirective = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.registerDirective;
1757
1777
 
1758
- /* harmony default export */ const jquery = (external_jQuery_);
1759
1778
  ;// CONCATENATED MODULE: ./src/mixins/ScrollableMixin.js
1760
1779
 
1761
1780
 
@@ -1763,6 +1782,7 @@ var external_jQuery_ = __webpack_require__(145);
1763
1782
 
1764
1783
 
1765
1784
  var ScrollableMixinSuper = ClassNameMixin.prototype;
1785
+ var ScrollableMixin_aliasProps = 'pageIndex scrolling'.split(' ');
1766
1786
  function ScrollableMixin() {
1767
1787
  var self = this;
1768
1788
  ClassNameMixin.call(self, ['scrollable-x', 'scrollable-x-l', 'scrollable-x-r', 'scrollable-y', 'scrollable-y-d', 'scrollable-y-u']);
@@ -1805,14 +1825,16 @@ definePrototype(ScrollableMixin, ClassNameMixin, {
1805
1825
  },
1806
1826
  clone: function clone() {
1807
1827
  var mixin = ScrollableMixinSuper.clone.call(this);
1808
- defineAliasProperty(mixin, 'pageIndex', this);
1828
+ each(ScrollableMixin_aliasProps, function (i, v) {
1829
+ defineAliasProperty(mixin, v, self);
1830
+ });
1809
1831
  return mixin;
1810
1832
  }
1811
1833
  });
1812
- each('destroy enable disable setOptions refresh scrollPadding stop scrollLeft scrollTop scrollBy scrollTo scrollByPage scrollToPage scrollToElement', function (i, v) {
1834
+ each('destroy enable disable setOptions setStickyPosition refresh scrollPadding stop scrollLeft scrollTop scrollBy scrollTo scrollByPage scrollToPage scrollToElement', function (i, v) {
1813
1835
  defineHiddenProperty(ScrollableMixin.prototype, v, function () {
1814
- var obj = jquery(this.elements());
1815
- return obj.scrollable.apply(obj, [v].concat(makeArray(arguments)));
1836
+ var obj = getDirectiveComponent(this.elements()[0]);
1837
+ return obj.scrollable[v].apply(null, arguments);
1816
1838
  });
1817
1839
  });
1818
1840
  ;// CONCATENATED MODULE: ./src/mixins/ScrollIntoViewMixin.js