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.
- package/dist/brew-js-react.js +83 -61
- package/dist/brew-js-react.js.map +1 -1
- package/dist/brew-js-react.min.js +2 -2
- package/dist/brew-js-react.min.js.map +1 -1
- package/i18n.d.ts +6 -3
- package/i18n.js +18 -16
- package/include/brew-js/directive.js +1 -0
- package/mixin.d.ts +1 -1
- package/mixins/AnimateMixin.d.ts +37 -2
- package/mixins/AnimateSequenceMixin.js +9 -2
- package/mixins/ClassNameMixin.d.ts +5 -2
- package/mixins/FlyoutMixin.d.ts +55 -0
- package/mixins/FlyoutMixin.js +5 -3
- package/mixins/FlyoutToggleMixin.d.ts +10 -0
- package/mixins/FlyoutToggleMixin.js +2 -2
- package/mixins/ScrollableMixin.d.ts +143 -6
- package/mixins/ScrollableMixin.js +9 -6
- package/mixins/StatefulMixin.d.ts +3 -3
- package/mixins/StaticAttributeMixin.d.ts +3 -0
- package/package.json +2 -2
- package/view.js +28 -18
package/dist/brew-js-react.js
CHANGED
|
@@ -1,25 +1,17 @@
|
|
|
1
|
-
/*! brew-js-react v0.4.
|
|
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")
|
|
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"
|
|
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")
|
|
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"]
|
|
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__
|
|
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
|
-
}),
|
|
717
|
-
self
|
|
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 (
|
|
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
|
-
|
|
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 &&
|
|
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
|
-
|
|
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(
|
|
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:
|
|
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
|
-
|
|
1543
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1667
|
-
|
|
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
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
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
|
-
|
|
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 =
|
|
1815
|
-
return obj.scrollable.apply(
|
|
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
|