brew-js-react 0.1.0-beta

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 (44) hide show
  1. package/README.md +5 -0
  2. package/app.js +11 -0
  3. package/dialog.d.ts +33 -0
  4. package/dialog.js +83 -0
  5. package/dist/brew-js-react.js +1060 -0
  6. package/dist/brew-js-react.js.map +1 -0
  7. package/dist/brew-js-react.min.js +2 -0
  8. package/dist/brew-js-react.min.js.map +1 -0
  9. package/entry.js +2 -0
  10. package/hooks.d.ts +20 -0
  11. package/hooks.js +34 -0
  12. package/include/zeta-dom/dom.js +3 -0
  13. package/include/zeta-dom/domUtil.js +1 -0
  14. package/include/zeta-dom/events.js +1 -0
  15. package/include/zeta-dom/util.js +1 -0
  16. package/index.d.ts +4 -0
  17. package/index.js +4 -0
  18. package/mixin.d.ts +48 -0
  19. package/mixin.js +64 -0
  20. package/mixins/AnimateMixin.d.ts +9 -0
  21. package/mixins/AnimateMixin.js +31 -0
  22. package/mixins/AnimateSequenceItemMixin.d.ts +5 -0
  23. package/mixins/AnimateSequenceItemMixin.js +15 -0
  24. package/mixins/AnimateSequenceMixin.d.ts +6 -0
  25. package/mixins/AnimateSequenceMixin.js +29 -0
  26. package/mixins/ClassNameMixin.d.ts +12 -0
  27. package/mixins/ClassNameMixin.js +41 -0
  28. package/mixins/FlyoutMixin.d.ts +14 -0
  29. package/mixins/FlyoutMixin.js +95 -0
  30. package/mixins/FocusStateMixin.d.ts +3 -0
  31. package/mixins/FocusStateMixin.js +24 -0
  32. package/mixins/LoadingStateMixin.d.ts +3 -0
  33. package/mixins/LoadingStateMixin.js +27 -0
  34. package/mixins/Mixin.d.ts +47 -0
  35. package/mixins/Mixin.js +61 -0
  36. package/mixins/ScrollableMixin.d.ts +17 -0
  37. package/mixins/ScrollableMixin.js +46 -0
  38. package/mixins/StatefulMixin.d.ts +23 -0
  39. package/mixins/StatefulMixin.js +71 -0
  40. package/mixins/StaticAttributeMixin.d.ts +5 -0
  41. package/mixins/StaticAttributeMixin.js +13 -0
  42. package/package.json +46 -0
  43. package/view.d.ts +33 -0
  44. package/view.js +92 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brew-js-react.js","mappings":"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","sources":["webpack://brew-js-react/webpack/universalModuleDefinition","webpack://brew-js-react/external umd \"zeta-dom-react\"","webpack://brew-js-react/external umd {\"commonjs\":\"brew-js\",\"commonjs2\":\"brew-js\",\"amd\":\"brew-js\",\"root\":\"brew\"}","webpack://brew-js-react/external umd {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack://brew-js-react/external umd {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack://brew-js-react/external umd {\"commonjs\":\"zeta-dom\",\"commonjs2\":\"zeta-dom\",\"amd\":\"zeta-dom\",\"root\":\"zeta\"}","webpack://brew-js-react/webpack/bootstrap","webpack://brew-js-react/webpack/runtime/define property getters","webpack://brew-js-react/webpack/runtime/hasOwnProperty shorthand","webpack://brew-js-react/webpack/runtime/make namespace object","webpack://brew-js-react/./tmp/zeta-dom/util.js","webpack://brew-js-react/./src/include/zeta-dom/util.js","webpack://brew-js-react/./tmp/zeta-dom/domUtil.js","webpack://brew-js-react/./src/include/zeta-dom/domUtil.js","webpack://brew-js-react/./tmp/zeta-dom/dom.js","webpack://brew-js-react/./src/include/zeta-dom/dom.js","webpack://brew-js-react/./src/dialog.js","webpack://brew-js-react/./src/app.js","webpack://brew-js-react/./src/hooks.js","webpack://brew-js-react/./src/mixins/StaticAttributeMixin.js","webpack://brew-js-react/./src/mixins/Mixin.js","webpack://brew-js-react/./src/mixins/StatefulMixin.js","webpack://brew-js-react/./src/mixins/ClassNameMixin.js","webpack://brew-js-react/./src/mixins/AnimateMixin.js","webpack://brew-js-react/./src/mixins/AnimateSequenceItemMixin.js","webpack://brew-js-react/./src/mixins/AnimateSequenceMixin.js","webpack://brew-js-react/./src/mixins/FlyoutMixin.js","webpack://brew-js-react/./src/mixins/FocusStateMixin.js","webpack://brew-js-react/./src/mixins/LoadingStateMixin.js","webpack://brew-js-react/./src/mixins/ScrollableMixin.js","webpack://brew-js-react/./src/mixin.js","webpack://brew-js-react/./src/view.js","webpack://brew-js-react/./src/index.js","webpack://brew-js-react/./src/entry.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"), require(\"brew-js\"), require(\"zeta-dom\"), require(\"zeta-dom-react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"brew-js-react\", [\"react\", \"react-dom\", \"brew-js\", \"zeta-dom\", \"zeta-dom-react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"brew-js-react\"] = factory(require(\"react\"), require(\"react-dom\"), require(\"brew-js\"), require(\"zeta-dom\"), require(\"zeta-dom-react\"));\n\telse\n\t\troot[\"brew-js-react\"] = factory(root[\"React\"], root[\"ReactDOM\"], root[\"brew\"], root[\"zeta\"], root[\"zeta-dom-react\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__359__, __WEBPACK_EXTERNAL_MODULE__318__, __WEBPACK_EXTERNAL_MODULE__80__, __WEBPACK_EXTERNAL_MODULE__654__, __WEBPACK_EXTERNAL_MODULE__103__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__103__;","module.exports = __WEBPACK_EXTERNAL_MODULE__80__;","module.exports = __WEBPACK_EXTERNAL_MODULE__359__;","module.exports = __WEBPACK_EXTERNAL_MODULE__318__;","module.exports = __WEBPACK_EXTERNAL_MODULE__654__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import zeta from \"zeta-dom\";const { noop, either, is, isUndefinedOrNull, isArray, isFunction, isThenable, isPlainObject, isArrayLike, makeArray, extend, each, map, grep, splice, any, single, kv, pick, exclude, mapGet, mapRemove, arrRemove, setAdd, equal, combineFn, executeOnce, createPrivateStore, setTimeoutOnce, setImmediate, setImmediateOnce, throwNotFunction, keys, values, hasOwnProperty, getOwnPropertyDescriptors, define, definePrototype, defineOwnProperty, defineGetterProperty, defineHiddenProperty, defineAliasProperty, defineObservableProperty, watch, watchOnce, watchable, inherit, deepFreeze, iequal, randomId, repeat, camel, hyphenate, ucfirst, lcfirst, trim, matchWord, htmlDecode, resolve, reject, always, resolveAll, catchAsync, setPromiseTimeout } = zeta.util; export { noop, either, is, isUndefinedOrNull, isArray, isFunction, isThenable, isPlainObject, isArrayLike, makeArray, extend, each, map, grep, splice, any, single, kv, pick, exclude, mapGet, mapRemove, arrRemove, setAdd, equal, combineFn, executeOnce, createPrivateStore, setTimeoutOnce, setImmediate, setImmediateOnce, throwNotFunction, keys, values, hasOwnProperty, getOwnPropertyDescriptors, define, definePrototype, defineOwnProperty, defineGetterProperty, defineHiddenProperty, defineAliasProperty, defineObservableProperty, watch, watchOnce, watchable, inherit, deepFreeze, iequal, randomId, repeat, camel, hyphenate, ucfirst, lcfirst, trim, matchWord, htmlDecode, resolve, reject, always, resolveAll, catchAsync, setPromiseTimeout };","export * from \"zeta-dom/util\";\r\n","import zeta from \"zeta-dom\";const { domReady, tagName, is, isVisible, matchSelector, comparePosition, connected, containsOrEquals, acceptNode, combineNodeFilters, iterateNode, iterateNodeToArray, getCommonAncestor, parentsAndSelf, selectIncludeSelf, selectClosestRelative, createNodeIterator, createTreeWalker, bind, bindUntil, dispatchDOMMouseEvent, removeNode, getClass, setClass, getScrollOffset, getScrollParent, getContentRect, scrollBy, scrollIntoView, createRange, rangeIntersects, rangeEquals, rangeCovers, compareRangePosition, makeSelection, getRect, getRects, toPlainRect, rectEquals, rectCovers, rectIntersects, pointInRect, mergeRect, elementFromPoint } = zeta.util; export { domReady, tagName, is, isVisible, matchSelector, comparePosition, connected, containsOrEquals, acceptNode, combineNodeFilters, iterateNode, iterateNodeToArray, getCommonAncestor, parentsAndSelf, selectIncludeSelf, selectClosestRelative, createNodeIterator, createTreeWalker, bind, bindUntil, dispatchDOMMouseEvent, removeNode, getClass, setClass, getScrollOffset, getScrollParent, getContentRect, scrollBy, scrollIntoView, createRange, rangeIntersects, rangeEquals, rangeCovers, compareRangePosition, makeSelection, getRect, getRects, toPlainRect, rectEquals, rectCovers, rectIntersects, pointInRect, mergeRect, elementFromPoint };","export * from \"zeta-dom/domUtil\";\r\n","import zeta from \"zeta-dom\";const _defaultExport = zeta.dom; export default _defaultExport;const { textInputAllowed, beginDrag, beginPinchZoom, getShortcut, setShortcut, focusable, focused, setModal, retainFocus, releaseFocus, focus } = zeta.dom; export { textInputAllowed, beginDrag, beginPinchZoom, getShortcut, setShortcut, focusable, focused, setModal, retainFocus, releaseFocus, focus };","import dom from \"zeta-dom/dom\";\r\nexport * from \"zeta-dom/dom\";\r\nexport default dom;\r\n","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport brew from \"brew-js\";\r\nimport { always, either, extend, noop } from \"./include/zeta-dom/util.js\";\r\nimport { containsOrEquals, removeNode } from \"./include/zeta-dom/domUtil.js\";\r\nimport dom from \"./include/zeta-dom/dom.js\";\r\n\r\nexport function createDialog(props) {\r\n var root = document.createElement('div');\r\n var closing = false;\r\n var refresh = noop;\r\n var promise;\r\n\r\n function Component() {\r\n const forceRefresh = useState(0)[1];\r\n refresh = function () {\r\n forceRefresh(function (v) {\r\n return ++v;\r\n });\r\n };\r\n return props.onRender(extend({ root, closeDialog }, props));\r\n }\r\n\r\n function closeDialog(value) {\r\n if (!closing) {\r\n closing = true;\r\n brew.closeFlyout(root, value).then(function () {\r\n closing = false;\r\n removeNode(root);\r\n ReactDOM.unmountComponentAtNode(root);\r\n (props.onClose || noop)(root);\r\n });\r\n }\r\n }\r\n\r\n return {\r\n root: root,\r\n refresh: refresh,\r\n close: closeDialog,\r\n open: function () {\r\n if (promise) {\r\n return promise;\r\n }\r\n root.className = props.className;\r\n if (props.modal) {\r\n root.setAttribute('is-modal', '');\r\n }\r\n document.body.appendChild(root);\r\n if (props.modal) {\r\n dom.setModal(root);\r\n }\r\n dom.retainFocus(dom.activeElement, root);\r\n ReactDOM.render(React.createElement(Component), root);\r\n\r\n promise = brew.openFlyout(root);\r\n always(promise, function () {\r\n promise = null;\r\n });\r\n promise.then(props.onCommit);\r\n (props.onOpen || noop)(root);\r\n return promise;\r\n }\r\n };\r\n}\r\n\r\nexport function Dialog(props) {\r\n /** @type {import(\"./dialog\").DialogProps & { open: boolean }} */\r\n const _props = useState({ open: false })[0];\r\n extend(_props, props);\r\n if (props.children) {\r\n _props.onRender = function () {\r\n return React.createElement(Fragment, null, props.children);\r\n };\r\n }\r\n const dialog = useState(function () {\r\n return createDialog(_props);\r\n })[0];\r\n\r\n useEffect(function () {\r\n var opened = containsOrEquals(dom.root, dialog.root);\r\n if (either(opened, _props.open)) {\r\n if (!opened) {\r\n dialog.open();\r\n } else {\r\n dialog.close();\r\n }\r\n }\r\n }, [_props.open])\r\n useEffect(function () {\r\n return dialog.close;\r\n }, [dialog]);\r\n useEffect(function () {\r\n dialog.refresh();\r\n });\r\n return React.createElement(Fragment);\r\n}\r\n","import brew from \"brew-js\";\r\n\r\n/** @type {Brew.AppInstance<Brew.WithRouter & Brew.WithI18n>} */\r\nexport var app;\r\n\r\nbrew.install('react', function (app_) {\r\n // @ts-ignore: type inference issue\r\n app = app_;\r\n});\r\n\r\nbrew.defaults.react = true;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useObservableProperty } from \"zeta-dom-react\";\r\nimport { extend, kv } from \"./include/zeta-dom/util.js\";\r\nimport { app } from \"./app.js\";\r\n\r\nexport function useAppReady() {\r\n const sReady = useState(false);\r\n const ready = sReady[0], setReady = sReady[1];\r\n useEffect(function () {\r\n app.ready.then(function () {\r\n setReady(true);\r\n });\r\n }, []);\r\n return ready;\r\n}\r\n\r\nexport function useLanguage() {\r\n return useObservableProperty(app, 'language');\r\n}\r\n\r\nexport function useRouteParam(name, defaultValue) {\r\n const sValue = useState(app.route[name]);\r\n const value = sValue[0], setValue = sValue[1];\r\n useEffect(function () {\r\n var current = app.route[name];\r\n // route parameter might be changed after state initialization and before useEffect hook is called\r\n setValue(current);\r\n return app.route.watch(name, setValue);\r\n }, [name, defaultValue]);\r\n if (!value && defaultValue !== undefined) {\r\n app.navigate(app.route.getPath(extend({}, app.route, kv(name, defaultValue))), true);\r\n }\r\n return value || '';\r\n}\r\n","import { definePrototype, extend } from \"../include/zeta-dom/util.js\";\r\nimport Mixin from \"./Mixin.js\";\r\n\r\nexport default function StaticAttributeMixin(attributes) {\r\n Mixin.call(this);\r\n this.attributes = attributes || {};\r\n}\r\n\r\ndefinePrototype(StaticAttributeMixin, Mixin, {\r\n getCustomAttributes: function () {\r\n return extend({}, this.attributes);\r\n }\r\n});\r\n","import { classNames } from \"zeta-dom-react\";\r\nimport { combineFn, define, definePrototype, each, extend, makeArray, noop, watchable } from \"../include/zeta-dom/util.js\";\r\nimport StaticAttributeMixin from \"./StaticAttributeMixin.js\";\r\n\r\nexport default function Mixin() {\r\n}\r\n\r\ndefinePrototype(Mixin, {\r\n next: function () {\r\n },\r\n getRef: function () {\r\n return noop;\r\n },\r\n getClassNames: function () {\r\n return [];\r\n },\r\n getCustomAttributes: function () {\r\n return {};\r\n }\r\n});\r\nwatchable(Mixin.prototype);\r\n\r\ndefine(Mixin, {\r\n get scrollableTarget() {\r\n return new StaticAttributeMixin({ 'scrollable-target': '' });\r\n },\r\n use: function () {\r\n const args = makeArray(arguments);\r\n const ref = args[0];\r\n const props = {};\r\n const mixins = args.filter(function (v) {\r\n return v instanceof Mixin;\r\n });\r\n const refs = mixins.map(function (v) {\r\n return v.getRef();\r\n });\r\n if (ref && !(ref instanceof Mixin)) {\r\n if (typeof ref !== 'function') {\r\n refs.push(function (v) {\r\n ref.current = v;\r\n });\r\n } else {\r\n refs.push(ref);\r\n }\r\n args.shift();\r\n } else if (!ref) {\r\n args.shift();\r\n }\r\n each(mixins, function (i, v) {\r\n extend(props, v.getCustomAttributes());\r\n });\r\n extend(props, {\r\n ref: combineFn(refs),\r\n className: classNames.apply(null, args)\r\n });\r\n each(mixins, function (i, v) {\r\n v.next();\r\n });\r\n return props;\r\n }\r\n});\r\n","import { definePrototype, inherit, randomId, values } from \"../include/zeta-dom/util.js\";\r\nimport Mixin from \"./Mixin.js\";\r\n\r\nfunction MixinRefImpl(mixin) {\r\n this.mixin = mixin;\r\n}\r\n\r\ndefinePrototype(MixinRefImpl, {\r\n getMixin: function () {\r\n return this.mixin;\r\n }\r\n});\r\n\r\nexport default function StatefulMixin() {\r\n Mixin.call(this);\r\n this.states = {};\r\n this.prefix = '';\r\n this.counter = 0;\r\n}\r\n\r\ndefinePrototype(StatefulMixin, Mixin, {\r\n get ref() {\r\n const state = this.state;\r\n this.next();\r\n return state.ref || (state.ref = new MixinRefImpl(this.clone()));\r\n },\r\n get state() {\r\n const self = this;\r\n const key = self.prefix + self.counter;\r\n return self.states[key] || (self.states[key] = self.initState());\r\n },\r\n reset: function () {\r\n this.counter = 0;\r\n return this;\r\n },\r\n next: function () {\r\n this.counter++;\r\n return this;\r\n },\r\n getRef: function () {\r\n const self = this;\r\n const state = self.state;\r\n return function (current) {\r\n if (current !== state.element) {\r\n state.element = current;\r\n if (current) {\r\n self.initElement(current, state);\r\n }\r\n }\r\n };\r\n },\r\n elements: function () {\r\n return values(this.states).map(function (v) {\r\n return v.element;\r\n }).filter(function (v) {\r\n return v;\r\n });\r\n },\r\n initState: function () {\r\n return { element: null };\r\n },\r\n initElement: function (element, state) {\r\n },\r\n clone: function () {\r\n return inherit(Object.getPrototypeOf(this), {\r\n states: this.states,\r\n prefix: randomId() + '.',\r\n counter: 0\r\n });\r\n }\r\n});\r\n","import { definePrototype, each, equal, extend } from \"../include/zeta-dom/util.js\";\r\nimport dom from \"../include/zeta-dom/dom.js\";\r\nimport StatefulMixin from \"./StatefulMixin.js\";\r\n\r\nconst ClassNameMixinSuper = StatefulMixin.prototype;\r\n\r\nexport default function ClassNameMixin(classNames) {\r\n StatefulMixin.call(this);\r\n this.classNames = classNames || [];\r\n}\r\n\r\ndefinePrototype(ClassNameMixin, StatefulMixin, {\r\n getClassNames: function () {\r\n return [this.state.classNames];\r\n },\r\n initState: function () {\r\n return {\r\n element: null,\r\n classNames: {}\r\n };\r\n },\r\n initElement: function (element, state) {\r\n var self = this;\r\n dom.watchAttributes(element, ['class'], function (nodes) {\r\n if (nodes.includes(element)) {\r\n const prev = extend({}, state.classNames);\r\n each(self.classNames, function (i, v) {\r\n state.classNames[v] = element.classList.contains(v);\r\n });\r\n if (!equal(prev, state.classNames)) {\r\n self.onClassNameUpdated(element, prev, state.classNames);\r\n }\r\n }\r\n });\r\n },\r\n clone: function () {\r\n return extend(ClassNameMixinSuper.clone.call(this), { classNames: this.classNames });\r\n },\r\n onClassNameUpdated: function (element, prevState, state) {\r\n }\r\n});\r\n","import { definePrototype, extend, makeArray } from \"../include/zeta-dom/util.js\";\r\nimport ClassNameMixin from \"./ClassNameMixin.js\";\r\n\r\nconst AnimateMixinSuper = ClassNameMixin.prototype;\r\n\r\nexport default function AnimateMixin() {\r\n ClassNameMixin.call(this, ['tweening-in', 'tweening-out']);\r\n}\r\n\r\ndefinePrototype(AnimateMixin, ClassNameMixin, {\r\n next: function () {\r\n this.effects = undefined;\r\n this.trigger = undefined;\r\n return AnimateMixinSuper.next.call(this);\r\n },\r\n with: function (props) {\r\n this.effects = props.effects;\r\n this.trigger = props.trigger;\r\n return this;\r\n },\r\n withEffects: function () {\r\n this.effects = makeArray(arguments);\r\n return this;\r\n },\r\n getCustomAttributes: function () {\r\n return extend({}, AnimateMixinSuper.getCustomAttributes.call(this), {\r\n 'animate-in': (this.effects || []).join(' '),\r\n 'animate-on': this.trigger || 'show'\r\n });\r\n }\r\n});\r\n","import { definePrototype } from \"../include/zeta-dom/util.js\";\r\nimport ClassNameMixin from \"./ClassNameMixin.js\";\r\n\r\nconst AnimateSequenceItemMixinSuper = ClassNameMixin.prototype;\r\n\r\nexport default function AnimateSequenceItemMixin(className) {\r\n ClassNameMixin.call(this, ['tweening-in', 'tweening-out']);\r\n this.className = className;\r\n}\r\n\r\ndefinePrototype(AnimateSequenceItemMixin, ClassNameMixin, {\r\n getClassNames: function () {\r\n return [this.className].concat(AnimateSequenceItemMixinSuper.getClassNames.call(this));\r\n }\r\n});\r\n","import { definePrototype, extend } from \"../include/zeta-dom/util.js\";\r\nimport AnimateMixin from \"./AnimateMixin.js\";\r\nimport AnimateSequenceItemMixin from \"./AnimateSequenceItemMixin.js\";\r\n\r\nconst AnimateSequenceMixinSuper = AnimateMixin.prototype;\r\nvar animateSequenceMixinCounter = 0;\r\n\r\nexport default function AnimateSequenceMixin() {\r\n AnimateMixin.call(this);\r\n this.className = 'brew-anim-' + (++animateSequenceMixinCounter);\r\n this.item = new AnimateSequenceItemMixin(this.className);\r\n}\r\n\r\ndefinePrototype(AnimateSequenceMixin, AnimateMixin, {\r\n reset: function () {\r\n this.item.reset();\r\n return AnimateSequenceMixinSuper.reset.call(this);\r\n },\r\n getCustomAttributes: function () {\r\n return extend({}, AnimateSequenceMixinSuper.getCustomAttributes.call(this), {\r\n 'animate-sequence': '.' + this.className\r\n });\r\n },\r\n clone: function () {\r\n return extend(AnimateSequenceMixinSuper.clone.call(this), {\r\n item: this.item.ref.getMixin()\r\n });\r\n }\r\n});\r\n","import { defineAliasProperty, definePrototype, each, extend, makeArray } from \"../include/zeta-dom/util.js\";\r\nimport { app } from \"../app.js\";\r\nimport ClassNameMixin from \"./ClassNameMixin.js\";\r\n\r\nconst FlyoutMixinSuper = ClassNameMixin.prototype;\r\nvar flyoutMixinCounter = 0;\r\n\r\nexport default function FlyoutMixin() {\r\n ClassNameMixin.call(this, ['open', 'closing', 'tweening-in', 'tweening-out']);\r\n this.isFlyoutOpened = false;\r\n this.animating = false;\r\n this.visible = false;\r\n this.toggle = new ClassNameMixin(['target-opened']);\r\n}\r\n\r\ndefinePrototype(FlyoutMixin, ClassNameMixin, {\r\n reset: function () {\r\n this.toggle.reset();\r\n return FlyoutMixinSuper.reset.call(this);\r\n },\r\n next: function () {\r\n this.effects = undefined;\r\n return FlyoutMixinSuper.next.call(this);\r\n },\r\n withEffects: function () {\r\n this.effects = makeArray(arguments);\r\n return this;\r\n },\r\n getCustomAttributes: function () {\r\n return extend({}, FlyoutMixinSuper.getCustomAttributes.call(this), {\r\n 'is-flyout': ''\r\n }, this.effects && {\r\n 'animate-on': 'open',\r\n 'animate-in': this.effects.join(' '),\r\n 'animate-out': ''\r\n });\r\n },\r\n onOpen: function (callback) {\r\n return this.onToggleState(function (opened) {\r\n if (opened) {\r\n return callback();\r\n }\r\n });\r\n },\r\n onToggleState: function (callback) {\r\n return this.watch('isFlyoutOpened', callback);\r\n },\r\n onVisibilityChanged: function (callback) {\r\n return this.watch('visible', callback);\r\n },\r\n initElement: function (element, state) {\r\n var self = this;\r\n FlyoutMixinSuper.initElement.call(self, element, state);\r\n if (!element.id) {\r\n element.id = 'flyout-' + (++flyoutMixinCounter);\r\n }\r\n app.on(element, {\r\n animationstart: function () {\r\n self.animating = true;\r\n },\r\n animationcomplete: function () {\r\n self.animating = false;\r\n },\r\n }, true);\r\n setImmediate(function () {\r\n each(self.toggle.elements(), function (i, v) {\r\n v.setAttribute('toggle', '#' + element.id);\r\n });\r\n });\r\n },\r\n clone: function () {\r\n var mixin = extend(FlyoutMixinSuper.clone.call(this), {\r\n toggle: this.toggle.ref.getMixin()\r\n });\r\n defineAliasProperty(mixin, 'isFlyoutOpened', this);\r\n return mixin;\r\n },\r\n onClassNameUpdated: function (element, prevState, state) {\r\n var self = this;\r\n var isAdded = function (v) {\r\n return prevState[v] !== state[v] && state[v];\r\n };\r\n var isRemoved = function (v) {\r\n return prevState[v] !== state[v] && !state[v];\r\n };\r\n if (isAdded('open')) {\r\n self.isFlyoutOpened = true;\r\n self.visible = true;\r\n } else if (isAdded('closing') || isAdded('tweening-out')) {\r\n self.isFlyoutOpened = false;\r\n } else if (isRemoved('open')) {\r\n self.visible = false;\r\n }\r\n }\r\n});\r\n","import { definePrototype } from \"../include/zeta-dom/util.js\";\r\nimport { setClass } from \"../include/zeta-dom/domUtil.js\";\r\nimport dom from \"../include/zeta-dom/dom.js\";\r\nimport ClassNameMixin from \"./ClassNameMixin.js\";\r\n\r\nconst FocusStateMixinSuper = ClassNameMixin.prototype;\r\n\r\nexport default function FocusStateMixin() {\r\n ClassNameMixin.call(this, ['focused']);\r\n}\r\n\r\ndefinePrototype(FocusStateMixin, ClassNameMixin, {\r\n initElement: function (element, state) {\r\n FocusStateMixinSuper.initElement.call(this, element, state);\r\n dom.on(element, {\r\n focusin: function () {\r\n setClass(element, 'focused', true);\r\n },\r\n focusout: function () {\r\n setClass(element, 'focused', false);\r\n }\r\n });\r\n }\r\n});\r\n","import { definePrototype } from \"../include/zeta-dom/util.js\";\r\nimport { setClass } from \"../include/zeta-dom/domUtil.js\";\r\nimport dom from \"../include/zeta-dom/dom.js\";\r\nimport ClassNameMixin from \"./ClassNameMixin.js\";\r\n\r\nconst LoadingStateMixinSuper = ClassNameMixin.prototype;\r\n\r\nexport default function LoadingStateMixin() {\r\n ClassNameMixin.call(this, ['loading']);\r\n}\r\n\r\ndefinePrototype(LoadingStateMixin, ClassNameMixin, {\r\n initElement: function (element, state) {\r\n LoadingStateMixinSuper.initElement.call(this, element, state);\r\n dom.on(element, {\r\n asyncStart: function () {\r\n setClass(element, 'loading', true);\r\n },\r\n asyncEnd: function () {\r\n setClass(element, 'loading', false);\r\n },\r\n cancelled: function () {\r\n setClass(element, 'loading', false);\r\n }\r\n });\r\n }\r\n});\r\n","import { defineAliasProperty, definePrototype, extend } from \"../include/zeta-dom/util.js\";\r\nimport { app } from \"../app.js\";\r\nimport Mixin from \"./Mixin.js\";\r\nimport ClassNameMixin from \"./ClassNameMixin.js\";\r\n\r\nconst ScrollableMixinSuper = ClassNameMixin.prototype;\r\n\r\nexport default function ScrollableMixin() {\r\n ClassNameMixin.call(this, ['scrollable-x', 'scrollable-x-l', 'scrollable-x-r', 'scrollable-y', 'scrollable-y-d', 'scrollable-y-u']);\r\n this.target = Mixin.scrollableTarget;\r\n this.pageIndex = 0;\r\n}\r\n\r\ndefinePrototype(ScrollableMixin, ClassNameMixin, {\r\n withOptions: function (options) {\r\n this.options = options;\r\n return this;\r\n },\r\n getCustomAttributes: function () {\r\n var options = this.options || {};\r\n return extend({}, ScrollableMixinSuper.getCustomAttributes.call(this), {\r\n 'scrollable': [options.direction || 'both', options.handle || 'auto'].join(' '),\r\n }, options.paged && {\r\n 'var': '{ pageIndex: 0 }',\r\n 'scroller-snap-page': options.paged,\r\n 'scroller-page': options.pagedItemSelector,\r\n 'scroller-state': 'pageIndex'\r\n });\r\n },\r\n onPageIndexChanged: function (callback) {\r\n return this.watch('pageIndex', callback);\r\n },\r\n initElement: function (element, state) {\r\n var self = this;\r\n app.on(element, 'statechange', function (e) {\r\n if ('pageIndex' in e.newValues) {\r\n extend(self, { pageIndex: e.newValues.pageIndex });\r\n }\r\n }, true);\r\n },\r\n clone: function () {\r\n var mixin = ScrollableMixinSuper.clone.call(this);\r\n defineAliasProperty(mixin, 'pageIndex', this);\r\n return mixin;\r\n }\r\n});\r\n","import { useState } from \"react\";\r\nimport Mixin from \"./mixins/Mixin.js\";\r\nimport AnimateMixin from \"./mixins/AnimateMixin.js\";\r\nimport AnimateSequenceItemMixin from \"./mixins/AnimateSequenceItemMixin.js\";\r\nimport AnimateSequenceMixin from \"./mixins/AnimateSequenceMixin.js\";\r\nimport ClassNameMixin from \"./mixins/ClassNameMixin.js\";\r\nimport FlyoutMixin from \"./mixins/FlyoutMixin.js\";\r\nimport FocusStateMixin from \"./mixins/FocusStateMixin.js\";\r\nimport LoadingStateMixin from \"./mixins/LoadingStateMixin.js\";\r\nimport StatefulMixin from \"./mixins/StatefulMixin.js\";\r\nimport ScrollableMixin from \"./mixins/ScrollableMixin.js\";\r\n\r\nexport function useScrollableMixin(options) {\r\n return useState(function () {\r\n return new ScrollableMixin();\r\n })[0].reset().withOptions(options);\r\n}\r\n\r\nexport function useFlyoutMixin() {\r\n return useState(function () {\r\n return new FlyoutMixin();\r\n })[0].reset();\r\n}\r\n\r\nexport function useAnimateMixin() {\r\n return useState(function () {\r\n return new AnimateMixin();\r\n })[0].reset();\r\n}\r\n\r\nexport function useAnimateSequenceMixin() {\r\n return useState(function () {\r\n return new AnimateSequenceMixin();\r\n })[0].reset();\r\n}\r\n\r\nexport function useFocusStateMixin() {\r\n return useState(function () {\r\n return new FocusStateMixin();\r\n })[0].reset();\r\n}\r\n\r\nexport function useLoadingStateMixin() {\r\n return useState(() => {\r\n return new LoadingStateMixin();\r\n })[0].reset();\r\n}\r\n\r\nexport function useMixinRef(mixin) {\r\n return mixin.getMixin().reset();\r\n}\r\n\r\nexport {\r\n Mixin,\r\n AnimateMixin,\r\n AnimateSequenceItemMixin,\r\n AnimateSequenceMixin,\r\n ClassNameMixin,\r\n FlyoutMixin,\r\n FocusStateMixin,\r\n LoadingStateMixin,\r\n StatefulMixin,\r\n ScrollableMixin\r\n}\r\n","import React from \"react\";\r\nimport brew from \"brew-js\";\r\nimport { useAsyncContent } from \"zeta-dom-react\";\r\nimport { any, definePrototype, equal, exclude, extend, keys, makeArray, noop, pick, setImmediate } from \"./include/zeta-dom/util.js\";\r\nimport { app } from \"./app.js\";\r\n\r\nconst routeMap = new Map();\r\n\r\nfunction ViewContainer() {\r\n /** @type {any} */\r\n var self = this;\r\n React.Component.apply(self, arguments);\r\n self.mounted = false;\r\n self.componentWillUnmount = app.on('navigate', function () {\r\n if (self.mounted && self.getViewComponent()) {\r\n self.forceUpdate();\r\n }\r\n });\r\n}\r\n\r\ndefinePrototype(ViewContainer, React.Component, {\r\n componentDidMount: function () {\r\n this.mounted = true;\r\n },\r\n render: function () {\r\n /** @type {any} */\r\n var self = this;\r\n var V = self.getViewComponent();\r\n if (V && V !== self.currentViewComponent) {\r\n self.currentViewComponent = V;\r\n if (self.currentView && self.currentElement) {\r\n self.prevView = self.currentView;\r\n self.prevElement = self.currentElement;\r\n self.currentElement = undefined;\r\n brew.animateOut(self.prevElement, 'show').then(function () {\r\n self.prevElement = undefined;\r\n self.prevView = undefined;\r\n self.forceUpdate();\r\n });\r\n }\r\n self.currentView = React.createElement(V, {\r\n key: app.route.view,\r\n rootProps: exclude(self.props, ['views']),\r\n onComponentLoaded: function (element) {\r\n self.currentElement = element;\r\n setImmediate(function () {\r\n return brew.animateIn(element, 'show');\r\n });\r\n }\r\n });\r\n }\r\n return React.createElement(React.Fragment, null, self.prevView, self.currentView);\r\n },\r\n getViewComponent: function () {\r\n var views = this.props.views;\r\n var V = any(views, function (V) {\r\n var params = routeMap.get(V);\r\n return params && equal(params, pick(app.route, keys(params)));\r\n });\r\n return V || void app.navigate(linkTo(views[0]), true);\r\n }\r\n});\r\n\r\nexport function registerView(factory, routeParams) {\r\n var Component = function (props) {\r\n var childProps = exclude(props, ['rootProps', 'onComponentLoaded']);\r\n var Component = useAsyncContent(factory)[0];\r\n return React.createElement('div', extend({}, props.rootProps, {\r\n ref: function (element) {\r\n if (element && Component) {\r\n (props.onComponentLoaded || noop)(element);\r\n }\r\n },\r\n children: Component && React.createElement(Component.default, childProps)\r\n }));\r\n };\r\n routeMap.set(Component, routeParams);\r\n return Component;\r\n}\r\n\r\nexport function renderView() {\r\n var views = makeArray(arguments);\r\n var props;\r\n if (views[0] && typeof views[0] !== 'function') {\r\n props = views.shift();\r\n }\r\n return React.createElement(ViewContainer, extend({}, props, { views }));\r\n}\r\n\r\nexport function linkTo(view, params) {\r\n return app.route.getPath(extend({}, app.route, params, routeMap.get(view)));\r\n}\r\n","export * from \"./dialog.js\";\r\nexport * from \"./hooks.js\";\r\nexport * from \"./mixin.js\";\r\nexport * from \"./view.js\";\r\n","import * as all from \"./index.js\";\r\nexport default all;\r\n"],"names":["zeta","util","noop","either","is","isUndefinedOrNull","isArray","isFunction","isThenable","isPlainObject","isArrayLike","makeArray","extend","each","map","grep","splice","any","single","kv","pick","exclude","mapGet","mapRemove","arrRemove","setAdd","equal","combineFn","executeOnce","createPrivateStore","setTimeoutOnce","setImmediate","setImmediateOnce","throwNotFunction","keys","values","hasOwnProperty","getOwnPropertyDescriptors","define","definePrototype","defineOwnProperty","defineGetterProperty","defineHiddenProperty","defineAliasProperty","defineObservableProperty","watch","watchOnce","watchable","inherit","deepFreeze","iequal","randomId","repeat","camel","hyphenate","ucfirst","lcfirst","trim","matchWord","htmlDecode","resolve","reject","always","resolveAll","catchAsync","setPromiseTimeout","domReady","tagName","isVisible","matchSelector","comparePosition","connected","containsOrEquals","acceptNode","combineNodeFilters","iterateNode","iterateNodeToArray","getCommonAncestor","parentsAndSelf","selectIncludeSelf","selectClosestRelative","createNodeIterator","createTreeWalker","bind","bindUntil","dispatchDOMMouseEvent","removeNode","getClass","setClass","getScrollOffset","getScrollParent","getContentRect","scrollBy","scrollIntoView","createRange","rangeIntersects","rangeEquals","rangeCovers","compareRangePosition","makeSelection","getRect","getRects","toPlainRect","rectEquals","rectCovers","rectIntersects","pointInRect","mergeRect","elementFromPoint","_defaultExport","dom","textInputAllowed","beginDrag","beginPinchZoom","getShortcut","setShortcut","focusable","focused","setModal","retainFocus","releaseFocus","focus","React","Fragment","useEffect","useState","ReactDOM","brew","createDialog","props","root","document","createElement","closing","refresh","promise","Component","forceRefresh","v","onRender","closeDialog","value","closeFlyout","then","unmountComponentAtNode","onClose","close","open","className","modal","setAttribute","body","appendChild","activeElement","render","openFlyout","onCommit","onOpen","Dialog","_props","children","dialog","opened","app","install","app_","defaults","react","useObservableProperty","useAppReady","sReady","ready","setReady","useLanguage","useRouteParam","name","defaultValue","sValue","route","setValue","current","undefined","navigate","getPath","Mixin","StaticAttributeMixin","attributes","call","getCustomAttributes","classNames","next","getRef","getClassNames","prototype","scrollableTarget","use","args","arguments","ref","mixins","filter","refs","push","shift","i","apply","MixinRefImpl","mixin","getMixin","StatefulMixin","states","prefix","counter","state","clone","self","key","initState","reset","element","initElement","elements","Object","getPrototypeOf","ClassNameMixinSuper","ClassNameMixin","watchAttributes","nodes","includes","prev","classList","contains","onClassNameUpdated","prevState","AnimateMixinSuper","AnimateMixin","effects","trigger","withEffects","join","AnimateSequenceItemMixinSuper","AnimateSequenceItemMixin","concat","AnimateSequenceMixinSuper","animateSequenceMixinCounter","AnimateSequenceMixin","item","FlyoutMixinSuper","flyoutMixinCounter","FlyoutMixin","isFlyoutOpened","animating","visible","toggle","callback","onToggleState","onVisibilityChanged","id","on","animationstart","animationcomplete","isAdded","isRemoved","FocusStateMixinSuper","FocusStateMixin","focusin","focusout","LoadingStateMixinSuper","LoadingStateMixin","asyncStart","asyncEnd","cancelled","ScrollableMixinSuper","ScrollableMixin","target","pageIndex","withOptions","options","direction","handle","paged","pagedItemSelector","onPageIndexChanged","e","newValues","useScrollableMixin","useFlyoutMixin","useAnimateMixin","useAnimateSequenceMixin","useFocusStateMixin","useLoadingStateMixin","useMixinRef","useAsyncContent","routeMap","Map","ViewContainer","mounted","componentWillUnmount","getViewComponent","forceUpdate","componentDidMount","V","currentViewComponent","currentView","currentElement","prevView","prevElement","animateOut","view","rootProps","onComponentLoaded","animateIn","views","params","get","linkTo","registerView","factory","routeParams","childProps","set","renderView","all"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom"),require("brew-js"),require("zeta-dom"),require("zeta-dom-react")):"function"==typeof define&&define.amd?define("brew-js-react",["react","react-dom","brew-js","zeta-dom","zeta-dom-react"],t):"object"==typeof exports?exports["brew-js-react"]=t(require("react"),require("react-dom"),require("brew-js"),require("zeta-dom"),require("zeta-dom-react")):e["brew-js-react"]=t(e.React,e.ReactDOM,e.brew,e.zeta,e["zeta-dom-react"])}(self,(function(e,t,n,i,r){return(()=>{"use strict";var o={103:e=>{e.exports=r},80:e=>{e.exports=n},359:t=>{t.exports=e},318:e=>{e.exports=t},654:e=>{e.exports=i}},s={};function a(e){var t=s[e];if(void 0!==t)return t.exports;var n=s[e]={exports:{}};return o[e](n,n.exports,a),n.exports}a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var u={};return(()=>{a.d(u,{default:()=>Se});var e={};a.r(e),a.d(e,{AnimateMixin:()=>Q,AnimateSequenceItemMixin:()=>Y,AnimateSequenceMixin:()=>te,ClassNameMixin:()=>J,Dialog:()=>k,FlyoutMixin:()=>re,FocusStateMixin:()=>se,LoadingStateMixin:()=>ue,Mixin:()=>_,ScrollableMixin:()=>le,StatefulMixin:()=>H,createDialog:()=>T,linkTo:()=>Ce,registerView:()=>ye,renderView:()=>xe,useAnimateMixin:()=>de,useAnimateSequenceMixin:()=>pe,useAppReady:()=>L,useFlyoutMixin:()=>me,useFocusStateMixin:()=>he,useLanguage:()=>U,useLoadingStateMixin:()=>ge,useMixinRef:()=>ve,useRouteParam:()=>W,useScrollableMixin:()=>fe});var t=a(359),n=a(318),i=a(80),r=a(654),o=r.util,s=o.noop,c=o.either,l=(o.is,o.isUndefinedOrNull,o.isArray,o.isFunction,o.isThenable,o.isPlainObject,o.isArrayLike,o.makeArray),f=o.extend,m=o.each,d=(o.map,o.grep,o.splice,o.any),p=(o.single,o.kv),h=o.pick,g=o.exclude,v=(o.mapGet,o.mapRemove,o.arrRemove,o.setAdd,o.equal),b=o.combineFn,w=(o.executeOnce,o.createPrivateStore,o.setTimeoutOnce,o.setImmediate),y=(o.setImmediateOnce,o.throwNotFunction,o.keys),x=o.values,C=(o.hasOwnProperty,o.getOwnPropertyDescriptors,o.define),S=o.definePrototype,E=(o.defineOwnProperty,o.defineGetterProperty,o.defineHiddenProperty,o.defineAliasProperty),N=(o.defineObservableProperty,o.watch,o.watchOnce,o.watchable),A=o.inherit,O=(o.deepFreeze,o.iequal,o.randomId),M=(o.repeat,o.camel,o.hyphenate,o.ucfirst,o.lcfirst,o.trim,o.matchWord,o.htmlDecode,o.resolve,o.reject,o.always),P=(o.resolveAll,o.catchAsync,o.setPromiseTimeout,r.util),F=(P.domReady,P.tagName,P.is,P.isVisible,P.matchSelector,P.comparePosition,P.connected,P.containsOrEquals),I=(P.acceptNode,P.combineNodeFilters,P.iterateNode,P.iterateNodeToArray,P.getCommonAncestor,P.parentsAndSelf,P.selectIncludeSelf,P.selectClosestRelative,P.createNodeIterator,P.createTreeWalker,P.bind,P.bindUntil,P.dispatchDOMMouseEvent,P.removeNode),R=(P.getClass,P.setClass);P.getScrollOffset,P.getScrollParent,P.getContentRect,P.scrollBy,P.scrollIntoView,P.createRange,P.rangeIntersects,P.rangeEquals,P.rangeCovers,P.compareRangePosition,P.makeSelection,P.getRect,P.getRects,P.toPlainRect,P.rectEquals,P.rectCovers,P.rectIntersects,P.pointInRect,P.mergeRect,P.elementFromPoint;const j=r.dom;var q=r.dom;q.textInputAllowed,q.beginDrag,q.beginPinchZoom,q.getShortcut,q.setShortcut,q.focusable,q.focused,q.setModal,q.retainFocus,q.releaseFocus,q.focus;const V=j;function T(e){var r,o=document.createElement("div"),a=!1,u=s;function c(){var n=(0,t.useState)(0)[1];return u=function(){n((function(e){return++e}))},e.onRender(f({root:o,closeDialog:l},e))}function l(t){a||(a=!0,i.closeFlyout(o,t).then((function(){a=!1,I(o),n.unmountComponentAtNode(o),(e.onClose||s)(o)})))}return{root:o,refresh:u,close:l,open:function(){return r||(o.className=e.className,e.modal&&o.setAttribute("is-modal",""),document.body.appendChild(o),e.modal&&V.setModal(o),V.retainFocus(V.activeElement,o),n.render(t.createElement(c),o),r=i.openFlyout(o),M(r,(function(){r=null})),r.then(e.onCommit),(e.onOpen||s)(o),r)}}}function k(e){var n=(0,t.useState)({open:!1})[0];f(n,e),e.children&&(n.onRender=function(){return t.createElement(t.Fragment,null,e.children)});var i=(0,t.useState)((function(){return T(n)}))[0];return(0,t.useEffect)((function(){var e=F(V.root,i.root);c(e,n.open)&&(e?i.close():i.open())}),[n.open]),(0,t.useEffect)((function(){return i.close}),[i]),(0,t.useEffect)((function(){i.refresh()})),t.createElement(t.Fragment)}var z,D=a(103);function L(){var e=(0,t.useState)(!1),n=e[0],i=e[1];return(0,t.useEffect)((function(){z.ready.then((function(){i(!0)}))}),[]),n}function U(){return(0,D.useObservableProperty)(z,"language")}function W(e,n){var i=(0,t.useState)(z.route[e]),r=i[0],o=i[1];return(0,t.useEffect)((function(){var t=z.route[e];return o(t),z.route.watch(e,o)}),[e,n]),r||void 0===n||z.navigate(z.route.getPath(f({},z.route,p(e,n))),!0),r||""}function G(e){_.call(this),this.attributes=e||{}}function _(){}function B(e){this.mixin=e}function H(){_.call(this),this.states={},this.prefix="",this.counter=0}i.install("react",(function(e){z=e})),i.defaults.react=!0,S(G,_,{getCustomAttributes:function(){return f({},this.attributes)}}),S(_,{next:function(){},getRef:function(){return s},getClassNames:function(){return[]},getCustomAttributes:function(){return{}}}),N(_.prototype),C(_,{get scrollableTarget(){return new G({"scrollable-target":""})},use:function(){var e=l(arguments),t=e[0],n={},i=e.filter((function(e){return e instanceof _})),r=i.map((function(e){return e.getRef()}));return!t||t instanceof _?t||e.shift():("function"!=typeof t?r.push((function(e){t.current=e})):r.push(t),e.shift()),m(i,(function(e,t){f(n,t.getCustomAttributes())})),f(n,{ref:b(r),className:D.classNames.apply(null,e)}),m(i,(function(e,t){t.next()})),n}}),S(B,{getMixin:function(){return this.mixin}}),S(H,_,{get ref(){var e=this.state;return this.next(),e.ref||(e.ref=new B(this.clone()))},get state(){var e=this,t=e.prefix+e.counter;return e.states[t]||(e.states[t]=e.initState())},reset:function(){return this.counter=0,this},next:function(){return this.counter++,this},getRef:function(){var e=this,t=e.state;return function(n){n!==t.element&&(t.element=n,n&&e.initElement(n,t))}},elements:function(){return x(this.states).map((function(e){return e.element})).filter((function(e){return e}))},initState:function(){return{element:null}},initElement:function(e,t){},clone:function(){return A(Object.getPrototypeOf(this),{states:this.states,prefix:O()+".",counter:0})}});var Z=H.prototype;function J(e){H.call(this),this.classNames=e||[]}S(J,H,{getClassNames:function(){return[this.state.classNames]},initState:function(){return{element:null,classNames:{}}},initElement:function(e,t){var n=this;V.watchAttributes(e,["class"],(function(i){if(i.includes(e)){var r=f({},t.classNames);m(n.classNames,(function(n,i){t.classNames[i]=e.classList.contains(i)})),v(r,t.classNames)||n.onClassNameUpdated(e,r,t.classNames)}}))},clone:function(){return f(Z.clone.call(this),{classNames:this.classNames})},onClassNameUpdated:function(e,t,n){}});var K=J.prototype;function Q(){J.call(this,["tweening-in","tweening-out"])}S(Q,J,{next:function(){return this.effects=void 0,this.trigger=void 0,K.next.call(this)},with:function(e){return this.effects=e.effects,this.trigger=e.trigger,this},withEffects:function(){return this.effects=l(arguments),this},getCustomAttributes:function(){return f({},K.getCustomAttributes.call(this),{"animate-in":(this.effects||[]).join(" "),"animate-on":this.trigger||"show"})}});var X=J.prototype;function Y(e){J.call(this,["tweening-in","tweening-out"]),this.className=e}S(Y,J,{getClassNames:function(){return[this.className].concat(X.getClassNames.call(this))}});var $=Q.prototype,ee=0;function te(){Q.call(this),this.className="brew-anim-"+ ++ee,this.item=new Y(this.className)}S(te,Q,{reset:function(){return this.item.reset(),$.reset.call(this)},getCustomAttributes:function(){return f({},$.getCustomAttributes.call(this),{"animate-sequence":"."+this.className})},clone:function(){return f($.clone.call(this),{item:this.item.ref.getMixin()})}});var ne=J.prototype,ie=0;function re(){J.call(this,["open","closing","tweening-in","tweening-out"]),this.isFlyoutOpened=!1,this.animating=!1,this.visible=!1,this.toggle=new J(["target-opened"])}S(re,J,{reset:function(){return this.toggle.reset(),ne.reset.call(this)},next:function(){return this.effects=void 0,ne.next.call(this)},withEffects:function(){return this.effects=l(arguments),this},getCustomAttributes:function(){return f({},ne.getCustomAttributes.call(this),{"is-flyout":""},this.effects&&{"animate-on":"open","animate-in":this.effects.join(" "),"animate-out":""})},onOpen:function(e){return this.onToggleState((function(t){if(t)return e()}))},onToggleState:function(e){return this.watch("isFlyoutOpened",e)},onVisibilityChanged:function(e){return this.watch("visible",e)},initElement:function(e,t){var n=this;ne.initElement.call(n,e,t),e.id||(e.id="flyout-"+ ++ie),z.on(e,{animationstart:function(){n.animating=!0},animationcomplete:function(){n.animating=!1}},!0),setImmediate((function(){m(n.toggle.elements(),(function(t,n){n.setAttribute("toggle","#"+e.id)}))}))},clone:function(){var e=f(ne.clone.call(this),{toggle:this.toggle.ref.getMixin()});return E(e,"isFlyoutOpened",this),e},onClassNameUpdated:function(e,t,n){var i,r=this,o=function(e){return t[e]!==n[e]&&n[e]};o("open")?(r.isFlyoutOpened=!0,r.visible=!0):o("closing")||o("tweening-out")?r.isFlyoutOpened=!1:t[i="open"]===n[i]||n[i]||(r.visible=!1)}});var oe=J.prototype;function se(){J.call(this,["focused"])}S(se,J,{initElement:function(e,t){oe.initElement.call(this,e,t),V.on(e,{focusin:function(){R(e,"focused",!0)},focusout:function(){R(e,"focused",!1)}})}});var ae=J.prototype;function ue(){J.call(this,["loading"])}S(ue,J,{initElement:function(e,t){ae.initElement.call(this,e,t),V.on(e,{asyncStart:function(){R(e,"loading",!0)},asyncEnd:function(){R(e,"loading",!1)},cancelled:function(){R(e,"loading",!1)}})}});var ce=J.prototype;function le(){J.call(this,["scrollable-x","scrollable-x-l","scrollable-x-r","scrollable-y","scrollable-y-d","scrollable-y-u"]),this.target=_.scrollableTarget,this.pageIndex=0}function fe(e){return(0,t.useState)((function(){return new le}))[0].reset().withOptions(e)}function me(){return(0,t.useState)((function(){return new re}))[0].reset()}function de(){return(0,t.useState)((function(){return new Q}))[0].reset()}function pe(){return(0,t.useState)((function(){return new te}))[0].reset()}function he(){return(0,t.useState)((function(){return new se}))[0].reset()}function ge(){return(0,t.useState)((function(){return new ue}))[0].reset()}function ve(e){return e.getMixin().reset()}S(le,J,{withOptions:function(e){return this.options=e,this},getCustomAttributes:function(){var e=this.options||{};return f({},ce.getCustomAttributes.call(this),{scrollable:[e.direction||"both",e.handle||"auto"].join(" ")},e.paged&&{var:"{ pageIndex: 0 }","scroller-snap-page":e.paged,"scroller-page":e.pagedItemSelector,"scroller-state":"pageIndex"})},onPageIndexChanged:function(e){return this.watch("pageIndex",e)},initElement:function(e,t){var n=this;z.on(e,"statechange",(function(e){"pageIndex"in e.newValues&&f(n,{pageIndex:e.newValues.pageIndex})}),!0)},clone:function(){var e=ce.clone.call(this);return E(e,"pageIndex",this),e}});var be=new Map;function we(){var e=this;t.Component.apply(e,arguments),e.mounted=!1,e.componentWillUnmount=z.on("navigate",(function(){e.mounted&&e.getViewComponent()&&e.forceUpdate()}))}function ye(e,n){var i=function(n){var i=g(n,["rootProps","onComponentLoaded"]),r=(0,D.useAsyncContent)(e)[0];return t.createElement("div",f({},n.rootProps,{ref:function(e){e&&r&&(n.onComponentLoaded||s)(e)},children:r&&t.createElement(r.default,i)}))};return be.set(i,n),i}function xe(){var e,n=l(arguments);return n[0]&&"function"!=typeof n[0]&&(e=n.shift()),t.createElement(we,f({},e,{views:n}))}function Ce(e,t){return z.route.getPath(f({},z.route,t,be.get(e)))}S(we,t.Component,{componentDidMount:function(){this.mounted=!0},render:function(){var e=this,n=e.getViewComponent();return n&&n!==e.currentViewComponent&&(e.currentViewComponent=n,e.currentView&&e.currentElement&&(e.prevView=e.currentView,e.prevElement=e.currentElement,e.currentElement=void 0,i.animateOut(e.prevElement,"show").then((function(){e.prevElement=void 0,e.prevView=void 0,e.forceUpdate()}))),e.currentView=t.createElement(n,{key:z.route.view,rootProps:g(e.props,["views"]),onComponentLoaded:function(t){e.currentElement=t,w((function(){return i.animateIn(t,"show")}))}})),t.createElement(t.Fragment,null,e.prevView,e.currentView)},getViewComponent:function(){var e=this.props.views;return d(e,(function(e){var t=be.get(e);return t&&v(t,h(z.route,y(t)))}))||void z.navigate(Ce(e[0]),!0)}});const Se=e})(),u=u.default})()}));
2
+ //# sourceMappingURL=brew-js-react.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brew-js-react.min.js","mappings":"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","sources":["webpack://brew-js-react/webpack/universalModuleDefinition","webpack://brew-js-react/external umd \"zeta-dom-react\"","webpack://brew-js-react/external umd {\"commonjs\":\"brew-js\",\"commonjs2\":\"brew-js\",\"amd\":\"brew-js\",\"root\":\"brew\"}","webpack://brew-js-react/external umd {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack://brew-js-react/external umd {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack://brew-js-react/external umd {\"commonjs\":\"zeta-dom\",\"commonjs2\":\"zeta-dom\",\"amd\":\"zeta-dom\",\"root\":\"zeta\"}","webpack://brew-js-react/webpack/bootstrap","webpack://brew-js-react/webpack/runtime/define property getters","webpack://brew-js-react/webpack/runtime/hasOwnProperty shorthand","webpack://brew-js-react/webpack/runtime/make namespace object","webpack://brew-js-react/./tmp/zeta-dom/util.js","webpack://brew-js-react/./tmp/zeta-dom/domUtil.js","webpack://brew-js-react/./tmp/zeta-dom/dom.js","webpack://brew-js-react/./src/include/zeta-dom/dom.js","webpack://brew-js-react/./src/dialog.js","webpack://brew-js-react/./src/app.js","webpack://brew-js-react/./src/hooks.js","webpack://brew-js-react/./src/mixins/StaticAttributeMixin.js","webpack://brew-js-react/./src/mixins/Mixin.js","webpack://brew-js-react/./src/mixins/StatefulMixin.js","webpack://brew-js-react/./src/mixins/ClassNameMixin.js","webpack://brew-js-react/./src/mixins/AnimateMixin.js","webpack://brew-js-react/./src/mixins/AnimateSequenceItemMixin.js","webpack://brew-js-react/./src/mixins/AnimateSequenceMixin.js","webpack://brew-js-react/./src/mixins/FlyoutMixin.js","webpack://brew-js-react/./src/mixins/FocusStateMixin.js","webpack://brew-js-react/./src/mixins/LoadingStateMixin.js","webpack://brew-js-react/./src/mixins/ScrollableMixin.js","webpack://brew-js-react/./src/mixin.js","webpack://brew-js-react/./src/view.js","webpack://brew-js-react/./src/entry.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"), require(\"brew-js\"), require(\"zeta-dom\"), require(\"zeta-dom-react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"brew-js-react\", [\"react\", \"react-dom\", \"brew-js\", \"zeta-dom\", \"zeta-dom-react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"brew-js-react\"] = factory(require(\"react\"), require(\"react-dom\"), require(\"brew-js\"), require(\"zeta-dom\"), require(\"zeta-dom-react\"));\n\telse\n\t\troot[\"brew-js-react\"] = factory(root[\"React\"], root[\"ReactDOM\"], root[\"brew\"], root[\"zeta\"], root[\"zeta-dom-react\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__359__, __WEBPACK_EXTERNAL_MODULE__318__, __WEBPACK_EXTERNAL_MODULE__80__, __WEBPACK_EXTERNAL_MODULE__654__, __WEBPACK_EXTERNAL_MODULE__103__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__103__;","module.exports = __WEBPACK_EXTERNAL_MODULE__80__;","module.exports = __WEBPACK_EXTERNAL_MODULE__359__;","module.exports = __WEBPACK_EXTERNAL_MODULE__318__;","module.exports = __WEBPACK_EXTERNAL_MODULE__654__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import zeta from \"zeta-dom\";const { noop, either, is, isUndefinedOrNull, isArray, isFunction, isThenable, isPlainObject, isArrayLike, makeArray, extend, each, map, grep, splice, any, single, kv, pick, exclude, mapGet, mapRemove, arrRemove, setAdd, equal, combineFn, executeOnce, createPrivateStore, setTimeoutOnce, setImmediate, setImmediateOnce, throwNotFunction, keys, values, hasOwnProperty, getOwnPropertyDescriptors, define, definePrototype, defineOwnProperty, defineGetterProperty, defineHiddenProperty, defineAliasProperty, defineObservableProperty, watch, watchOnce, watchable, inherit, deepFreeze, iequal, randomId, repeat, camel, hyphenate, ucfirst, lcfirst, trim, matchWord, htmlDecode, resolve, reject, always, resolveAll, catchAsync, setPromiseTimeout } = zeta.util; export { noop, either, is, isUndefinedOrNull, isArray, isFunction, isThenable, isPlainObject, isArrayLike, makeArray, extend, each, map, grep, splice, any, single, kv, pick, exclude, mapGet, mapRemove, arrRemove, setAdd, equal, combineFn, executeOnce, createPrivateStore, setTimeoutOnce, setImmediate, setImmediateOnce, throwNotFunction, keys, values, hasOwnProperty, getOwnPropertyDescriptors, define, definePrototype, defineOwnProperty, defineGetterProperty, defineHiddenProperty, defineAliasProperty, defineObservableProperty, watch, watchOnce, watchable, inherit, deepFreeze, iequal, randomId, repeat, camel, hyphenate, ucfirst, lcfirst, trim, matchWord, htmlDecode, resolve, reject, always, resolveAll, catchAsync, setPromiseTimeout };","import zeta from \"zeta-dom\";const { domReady, tagName, is, isVisible, matchSelector, comparePosition, connected, containsOrEquals, acceptNode, combineNodeFilters, iterateNode, iterateNodeToArray, getCommonAncestor, parentsAndSelf, selectIncludeSelf, selectClosestRelative, createNodeIterator, createTreeWalker, bind, bindUntil, dispatchDOMMouseEvent, removeNode, getClass, setClass, getScrollOffset, getScrollParent, getContentRect, scrollBy, scrollIntoView, createRange, rangeIntersects, rangeEquals, rangeCovers, compareRangePosition, makeSelection, getRect, getRects, toPlainRect, rectEquals, rectCovers, rectIntersects, pointInRect, mergeRect, elementFromPoint } = zeta.util; export { domReady, tagName, is, isVisible, matchSelector, comparePosition, connected, containsOrEquals, acceptNode, combineNodeFilters, iterateNode, iterateNodeToArray, getCommonAncestor, parentsAndSelf, selectIncludeSelf, selectClosestRelative, createNodeIterator, createTreeWalker, bind, bindUntil, dispatchDOMMouseEvent, removeNode, getClass, setClass, getScrollOffset, getScrollParent, getContentRect, scrollBy, scrollIntoView, createRange, rangeIntersects, rangeEquals, rangeCovers, compareRangePosition, makeSelection, getRect, getRects, toPlainRect, rectEquals, rectCovers, rectIntersects, pointInRect, mergeRect, elementFromPoint };","import zeta from \"zeta-dom\";const _defaultExport = zeta.dom; export default _defaultExport;const { textInputAllowed, beginDrag, beginPinchZoom, getShortcut, setShortcut, focusable, focused, setModal, retainFocus, releaseFocus, focus } = zeta.dom; export { textInputAllowed, beginDrag, beginPinchZoom, getShortcut, setShortcut, focusable, focused, setModal, retainFocus, releaseFocus, focus };","import dom from \"zeta-dom/dom\";\r\nexport * from \"zeta-dom/dom\";\r\nexport default dom;\r\n","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport brew from \"brew-js\";\r\nimport { always, either, extend, noop } from \"./include/zeta-dom/util.js\";\r\nimport { containsOrEquals, removeNode } from \"./include/zeta-dom/domUtil.js\";\r\nimport dom from \"./include/zeta-dom/dom.js\";\r\n\r\nexport function createDialog(props) {\r\n var root = document.createElement('div');\r\n var closing = false;\r\n var refresh = noop;\r\n var promise;\r\n\r\n function Component() {\r\n const forceRefresh = useState(0)[1];\r\n refresh = function () {\r\n forceRefresh(function (v) {\r\n return ++v;\r\n });\r\n };\r\n return props.onRender(extend({ root, closeDialog }, props));\r\n }\r\n\r\n function closeDialog(value) {\r\n if (!closing) {\r\n closing = true;\r\n brew.closeFlyout(root, value).then(function () {\r\n closing = false;\r\n removeNode(root);\r\n ReactDOM.unmountComponentAtNode(root);\r\n (props.onClose || noop)(root);\r\n });\r\n }\r\n }\r\n\r\n return {\r\n root: root,\r\n refresh: refresh,\r\n close: closeDialog,\r\n open: function () {\r\n if (promise) {\r\n return promise;\r\n }\r\n root.className = props.className;\r\n if (props.modal) {\r\n root.setAttribute('is-modal', '');\r\n }\r\n document.body.appendChild(root);\r\n if (props.modal) {\r\n dom.setModal(root);\r\n }\r\n dom.retainFocus(dom.activeElement, root);\r\n ReactDOM.render(React.createElement(Component), root);\r\n\r\n promise = brew.openFlyout(root);\r\n always(promise, function () {\r\n promise = null;\r\n });\r\n promise.then(props.onCommit);\r\n (props.onOpen || noop)(root);\r\n return promise;\r\n }\r\n };\r\n}\r\n\r\nexport function Dialog(props) {\r\n /** @type {import(\"./dialog\").DialogProps & { open: boolean }} */\r\n const _props = useState({ open: false })[0];\r\n extend(_props, props);\r\n if (props.children) {\r\n _props.onRender = function () {\r\n return React.createElement(Fragment, null, props.children);\r\n };\r\n }\r\n const dialog = useState(function () {\r\n return createDialog(_props);\r\n })[0];\r\n\r\n useEffect(function () {\r\n var opened = containsOrEquals(dom.root, dialog.root);\r\n if (either(opened, _props.open)) {\r\n if (!opened) {\r\n dialog.open();\r\n } else {\r\n dialog.close();\r\n }\r\n }\r\n }, [_props.open])\r\n useEffect(function () {\r\n return dialog.close;\r\n }, [dialog]);\r\n useEffect(function () {\r\n dialog.refresh();\r\n });\r\n return React.createElement(Fragment);\r\n}\r\n","import brew from \"brew-js\";\r\n\r\n/** @type {Brew.AppInstance<Brew.WithRouter & Brew.WithI18n>} */\r\nexport var app;\r\n\r\nbrew.install('react', function (app_) {\r\n // @ts-ignore: type inference issue\r\n app = app_;\r\n});\r\n\r\nbrew.defaults.react = true;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useObservableProperty } from \"zeta-dom-react\";\r\nimport { extend, kv } from \"./include/zeta-dom/util.js\";\r\nimport { app } from \"./app.js\";\r\n\r\nexport function useAppReady() {\r\n const sReady = useState(false);\r\n const ready = sReady[0], setReady = sReady[1];\r\n useEffect(function () {\r\n app.ready.then(function () {\r\n setReady(true);\r\n });\r\n }, []);\r\n return ready;\r\n}\r\n\r\nexport function useLanguage() {\r\n return useObservableProperty(app, 'language');\r\n}\r\n\r\nexport function useRouteParam(name, defaultValue) {\r\n const sValue = useState(app.route[name]);\r\n const value = sValue[0], setValue = sValue[1];\r\n useEffect(function () {\r\n var current = app.route[name];\r\n // route parameter might be changed after state initialization and before useEffect hook is called\r\n setValue(current);\r\n return app.route.watch(name, setValue);\r\n }, [name, defaultValue]);\r\n if (!value && defaultValue !== undefined) {\r\n app.navigate(app.route.getPath(extend({}, app.route, kv(name, defaultValue))), true);\r\n }\r\n return value || '';\r\n}\r\n","import { definePrototype, extend } from \"../include/zeta-dom/util.js\";\r\nimport Mixin from \"./Mixin.js\";\r\n\r\nexport default function StaticAttributeMixin(attributes) {\r\n Mixin.call(this);\r\n this.attributes = attributes || {};\r\n}\r\n\r\ndefinePrototype(StaticAttributeMixin, Mixin, {\r\n getCustomAttributes: function () {\r\n return extend({}, this.attributes);\r\n }\r\n});\r\n","import { classNames } from \"zeta-dom-react\";\r\nimport { combineFn, define, definePrototype, each, extend, makeArray, noop, watchable } from \"../include/zeta-dom/util.js\";\r\nimport StaticAttributeMixin from \"./StaticAttributeMixin.js\";\r\n\r\nexport default function Mixin() {\r\n}\r\n\r\ndefinePrototype(Mixin, {\r\n next: function () {\r\n },\r\n getRef: function () {\r\n return noop;\r\n },\r\n getClassNames: function () {\r\n return [];\r\n },\r\n getCustomAttributes: function () {\r\n return {};\r\n }\r\n});\r\nwatchable(Mixin.prototype);\r\n\r\ndefine(Mixin, {\r\n get scrollableTarget() {\r\n return new StaticAttributeMixin({ 'scrollable-target': '' });\r\n },\r\n use: function () {\r\n const args = makeArray(arguments);\r\n const ref = args[0];\r\n const props = {};\r\n const mixins = args.filter(function (v) {\r\n return v instanceof Mixin;\r\n });\r\n const refs = mixins.map(function (v) {\r\n return v.getRef();\r\n });\r\n if (ref && !(ref instanceof Mixin)) {\r\n if (typeof ref !== 'function') {\r\n refs.push(function (v) {\r\n ref.current = v;\r\n });\r\n } else {\r\n refs.push(ref);\r\n }\r\n args.shift();\r\n } else if (!ref) {\r\n args.shift();\r\n }\r\n each(mixins, function (i, v) {\r\n extend(props, v.getCustomAttributes());\r\n });\r\n extend(props, {\r\n ref: combineFn(refs),\r\n className: classNames.apply(null, args)\r\n });\r\n each(mixins, function (i, v) {\r\n v.next();\r\n });\r\n return props;\r\n }\r\n});\r\n","import { definePrototype, inherit, randomId, values } from \"../include/zeta-dom/util.js\";\r\nimport Mixin from \"./Mixin.js\";\r\n\r\nfunction MixinRefImpl(mixin) {\r\n this.mixin = mixin;\r\n}\r\n\r\ndefinePrototype(MixinRefImpl, {\r\n getMixin: function () {\r\n return this.mixin;\r\n }\r\n});\r\n\r\nexport default function StatefulMixin() {\r\n Mixin.call(this);\r\n this.states = {};\r\n this.prefix = '';\r\n this.counter = 0;\r\n}\r\n\r\ndefinePrototype(StatefulMixin, Mixin, {\r\n get ref() {\r\n const state = this.state;\r\n this.next();\r\n return state.ref || (state.ref = new MixinRefImpl(this.clone()));\r\n },\r\n get state() {\r\n const self = this;\r\n const key = self.prefix + self.counter;\r\n return self.states[key] || (self.states[key] = self.initState());\r\n },\r\n reset: function () {\r\n this.counter = 0;\r\n return this;\r\n },\r\n next: function () {\r\n this.counter++;\r\n return this;\r\n },\r\n getRef: function () {\r\n const self = this;\r\n const state = self.state;\r\n return function (current) {\r\n if (current !== state.element) {\r\n state.element = current;\r\n if (current) {\r\n self.initElement(current, state);\r\n }\r\n }\r\n };\r\n },\r\n elements: function () {\r\n return values(this.states).map(function (v) {\r\n return v.element;\r\n }).filter(function (v) {\r\n return v;\r\n });\r\n },\r\n initState: function () {\r\n return { element: null };\r\n },\r\n initElement: function (element, state) {\r\n },\r\n clone: function () {\r\n return inherit(Object.getPrototypeOf(this), {\r\n states: this.states,\r\n prefix: randomId() + '.',\r\n counter: 0\r\n });\r\n }\r\n});\r\n","import { definePrototype, each, equal, extend } from \"../include/zeta-dom/util.js\";\r\nimport dom from \"../include/zeta-dom/dom.js\";\r\nimport StatefulMixin from \"./StatefulMixin.js\";\r\n\r\nconst ClassNameMixinSuper = StatefulMixin.prototype;\r\n\r\nexport default function ClassNameMixin(classNames) {\r\n StatefulMixin.call(this);\r\n this.classNames = classNames || [];\r\n}\r\n\r\ndefinePrototype(ClassNameMixin, StatefulMixin, {\r\n getClassNames: function () {\r\n return [this.state.classNames];\r\n },\r\n initState: function () {\r\n return {\r\n element: null,\r\n classNames: {}\r\n };\r\n },\r\n initElement: function (element, state) {\r\n var self = this;\r\n dom.watchAttributes(element, ['class'], function (nodes) {\r\n if (nodes.includes(element)) {\r\n const prev = extend({}, state.classNames);\r\n each(self.classNames, function (i, v) {\r\n state.classNames[v] = element.classList.contains(v);\r\n });\r\n if (!equal(prev, state.classNames)) {\r\n self.onClassNameUpdated(element, prev, state.classNames);\r\n }\r\n }\r\n });\r\n },\r\n clone: function () {\r\n return extend(ClassNameMixinSuper.clone.call(this), { classNames: this.classNames });\r\n },\r\n onClassNameUpdated: function (element, prevState, state) {\r\n }\r\n});\r\n","import { definePrototype, extend, makeArray } from \"../include/zeta-dom/util.js\";\r\nimport ClassNameMixin from \"./ClassNameMixin.js\";\r\n\r\nconst AnimateMixinSuper = ClassNameMixin.prototype;\r\n\r\nexport default function AnimateMixin() {\r\n ClassNameMixin.call(this, ['tweening-in', 'tweening-out']);\r\n}\r\n\r\ndefinePrototype(AnimateMixin, ClassNameMixin, {\r\n next: function () {\r\n this.effects = undefined;\r\n this.trigger = undefined;\r\n return AnimateMixinSuper.next.call(this);\r\n },\r\n with: function (props) {\r\n this.effects = props.effects;\r\n this.trigger = props.trigger;\r\n return this;\r\n },\r\n withEffects: function () {\r\n this.effects = makeArray(arguments);\r\n return this;\r\n },\r\n getCustomAttributes: function () {\r\n return extend({}, AnimateMixinSuper.getCustomAttributes.call(this), {\r\n 'animate-in': (this.effects || []).join(' '),\r\n 'animate-on': this.trigger || 'show'\r\n });\r\n }\r\n});\r\n","import { definePrototype } from \"../include/zeta-dom/util.js\";\r\nimport ClassNameMixin from \"./ClassNameMixin.js\";\r\n\r\nconst AnimateSequenceItemMixinSuper = ClassNameMixin.prototype;\r\n\r\nexport default function AnimateSequenceItemMixin(className) {\r\n ClassNameMixin.call(this, ['tweening-in', 'tweening-out']);\r\n this.className = className;\r\n}\r\n\r\ndefinePrototype(AnimateSequenceItemMixin, ClassNameMixin, {\r\n getClassNames: function () {\r\n return [this.className].concat(AnimateSequenceItemMixinSuper.getClassNames.call(this));\r\n }\r\n});\r\n","import { definePrototype, extend } from \"../include/zeta-dom/util.js\";\r\nimport AnimateMixin from \"./AnimateMixin.js\";\r\nimport AnimateSequenceItemMixin from \"./AnimateSequenceItemMixin.js\";\r\n\r\nconst AnimateSequenceMixinSuper = AnimateMixin.prototype;\r\nvar animateSequenceMixinCounter = 0;\r\n\r\nexport default function AnimateSequenceMixin() {\r\n AnimateMixin.call(this);\r\n this.className = 'brew-anim-' + (++animateSequenceMixinCounter);\r\n this.item = new AnimateSequenceItemMixin(this.className);\r\n}\r\n\r\ndefinePrototype(AnimateSequenceMixin, AnimateMixin, {\r\n reset: function () {\r\n this.item.reset();\r\n return AnimateSequenceMixinSuper.reset.call(this);\r\n },\r\n getCustomAttributes: function () {\r\n return extend({}, AnimateSequenceMixinSuper.getCustomAttributes.call(this), {\r\n 'animate-sequence': '.' + this.className\r\n });\r\n },\r\n clone: function () {\r\n return extend(AnimateSequenceMixinSuper.clone.call(this), {\r\n item: this.item.ref.getMixin()\r\n });\r\n }\r\n});\r\n","import { defineAliasProperty, definePrototype, each, extend, makeArray } from \"../include/zeta-dom/util.js\";\r\nimport { app } from \"../app.js\";\r\nimport ClassNameMixin from \"./ClassNameMixin.js\";\r\n\r\nconst FlyoutMixinSuper = ClassNameMixin.prototype;\r\nvar flyoutMixinCounter = 0;\r\n\r\nexport default function FlyoutMixin() {\r\n ClassNameMixin.call(this, ['open', 'closing', 'tweening-in', 'tweening-out']);\r\n this.isFlyoutOpened = false;\r\n this.animating = false;\r\n this.visible = false;\r\n this.toggle = new ClassNameMixin(['target-opened']);\r\n}\r\n\r\ndefinePrototype(FlyoutMixin, ClassNameMixin, {\r\n reset: function () {\r\n this.toggle.reset();\r\n return FlyoutMixinSuper.reset.call(this);\r\n },\r\n next: function () {\r\n this.effects = undefined;\r\n return FlyoutMixinSuper.next.call(this);\r\n },\r\n withEffects: function () {\r\n this.effects = makeArray(arguments);\r\n return this;\r\n },\r\n getCustomAttributes: function () {\r\n return extend({}, FlyoutMixinSuper.getCustomAttributes.call(this), {\r\n 'is-flyout': ''\r\n }, this.effects && {\r\n 'animate-on': 'open',\r\n 'animate-in': this.effects.join(' '),\r\n 'animate-out': ''\r\n });\r\n },\r\n onOpen: function (callback) {\r\n return this.onToggleState(function (opened) {\r\n if (opened) {\r\n return callback();\r\n }\r\n });\r\n },\r\n onToggleState: function (callback) {\r\n return this.watch('isFlyoutOpened', callback);\r\n },\r\n onVisibilityChanged: function (callback) {\r\n return this.watch('visible', callback);\r\n },\r\n initElement: function (element, state) {\r\n var self = this;\r\n FlyoutMixinSuper.initElement.call(self, element, state);\r\n if (!element.id) {\r\n element.id = 'flyout-' + (++flyoutMixinCounter);\r\n }\r\n app.on(element, {\r\n animationstart: function () {\r\n self.animating = true;\r\n },\r\n animationcomplete: function () {\r\n self.animating = false;\r\n },\r\n }, true);\r\n setImmediate(function () {\r\n each(self.toggle.elements(), function (i, v) {\r\n v.setAttribute('toggle', '#' + element.id);\r\n });\r\n });\r\n },\r\n clone: function () {\r\n var mixin = extend(FlyoutMixinSuper.clone.call(this), {\r\n toggle: this.toggle.ref.getMixin()\r\n });\r\n defineAliasProperty(mixin, 'isFlyoutOpened', this);\r\n return mixin;\r\n },\r\n onClassNameUpdated: function (element, prevState, state) {\r\n var self = this;\r\n var isAdded = function (v) {\r\n return prevState[v] !== state[v] && state[v];\r\n };\r\n var isRemoved = function (v) {\r\n return prevState[v] !== state[v] && !state[v];\r\n };\r\n if (isAdded('open')) {\r\n self.isFlyoutOpened = true;\r\n self.visible = true;\r\n } else if (isAdded('closing') || isAdded('tweening-out')) {\r\n self.isFlyoutOpened = false;\r\n } else if (isRemoved('open')) {\r\n self.visible = false;\r\n }\r\n }\r\n});\r\n","import { definePrototype } from \"../include/zeta-dom/util.js\";\r\nimport { setClass } from \"../include/zeta-dom/domUtil.js\";\r\nimport dom from \"../include/zeta-dom/dom.js\";\r\nimport ClassNameMixin from \"./ClassNameMixin.js\";\r\n\r\nconst FocusStateMixinSuper = ClassNameMixin.prototype;\r\n\r\nexport default function FocusStateMixin() {\r\n ClassNameMixin.call(this, ['focused']);\r\n}\r\n\r\ndefinePrototype(FocusStateMixin, ClassNameMixin, {\r\n initElement: function (element, state) {\r\n FocusStateMixinSuper.initElement.call(this, element, state);\r\n dom.on(element, {\r\n focusin: function () {\r\n setClass(element, 'focused', true);\r\n },\r\n focusout: function () {\r\n setClass(element, 'focused', false);\r\n }\r\n });\r\n }\r\n});\r\n","import { definePrototype } from \"../include/zeta-dom/util.js\";\r\nimport { setClass } from \"../include/zeta-dom/domUtil.js\";\r\nimport dom from \"../include/zeta-dom/dom.js\";\r\nimport ClassNameMixin from \"./ClassNameMixin.js\";\r\n\r\nconst LoadingStateMixinSuper = ClassNameMixin.prototype;\r\n\r\nexport default function LoadingStateMixin() {\r\n ClassNameMixin.call(this, ['loading']);\r\n}\r\n\r\ndefinePrototype(LoadingStateMixin, ClassNameMixin, {\r\n initElement: function (element, state) {\r\n LoadingStateMixinSuper.initElement.call(this, element, state);\r\n dom.on(element, {\r\n asyncStart: function () {\r\n setClass(element, 'loading', true);\r\n },\r\n asyncEnd: function () {\r\n setClass(element, 'loading', false);\r\n },\r\n cancelled: function () {\r\n setClass(element, 'loading', false);\r\n }\r\n });\r\n }\r\n});\r\n","import { defineAliasProperty, definePrototype, extend } from \"../include/zeta-dom/util.js\";\r\nimport { app } from \"../app.js\";\r\nimport Mixin from \"./Mixin.js\";\r\nimport ClassNameMixin from \"./ClassNameMixin.js\";\r\n\r\nconst ScrollableMixinSuper = ClassNameMixin.prototype;\r\n\r\nexport default function ScrollableMixin() {\r\n ClassNameMixin.call(this, ['scrollable-x', 'scrollable-x-l', 'scrollable-x-r', 'scrollable-y', 'scrollable-y-d', 'scrollable-y-u']);\r\n this.target = Mixin.scrollableTarget;\r\n this.pageIndex = 0;\r\n}\r\n\r\ndefinePrototype(ScrollableMixin, ClassNameMixin, {\r\n withOptions: function (options) {\r\n this.options = options;\r\n return this;\r\n },\r\n getCustomAttributes: function () {\r\n var options = this.options || {};\r\n return extend({}, ScrollableMixinSuper.getCustomAttributes.call(this), {\r\n 'scrollable': [options.direction || 'both', options.handle || 'auto'].join(' '),\r\n }, options.paged && {\r\n 'var': '{ pageIndex: 0 }',\r\n 'scroller-snap-page': options.paged,\r\n 'scroller-page': options.pagedItemSelector,\r\n 'scroller-state': 'pageIndex'\r\n });\r\n },\r\n onPageIndexChanged: function (callback) {\r\n return this.watch('pageIndex', callback);\r\n },\r\n initElement: function (element, state) {\r\n var self = this;\r\n app.on(element, 'statechange', function (e) {\r\n if ('pageIndex' in e.newValues) {\r\n extend(self, { pageIndex: e.newValues.pageIndex });\r\n }\r\n }, true);\r\n },\r\n clone: function () {\r\n var mixin = ScrollableMixinSuper.clone.call(this);\r\n defineAliasProperty(mixin, 'pageIndex', this);\r\n return mixin;\r\n }\r\n});\r\n","import { useState } from \"react\";\r\nimport Mixin from \"./mixins/Mixin.js\";\r\nimport AnimateMixin from \"./mixins/AnimateMixin.js\";\r\nimport AnimateSequenceItemMixin from \"./mixins/AnimateSequenceItemMixin.js\";\r\nimport AnimateSequenceMixin from \"./mixins/AnimateSequenceMixin.js\";\r\nimport ClassNameMixin from \"./mixins/ClassNameMixin.js\";\r\nimport FlyoutMixin from \"./mixins/FlyoutMixin.js\";\r\nimport FocusStateMixin from \"./mixins/FocusStateMixin.js\";\r\nimport LoadingStateMixin from \"./mixins/LoadingStateMixin.js\";\r\nimport StatefulMixin from \"./mixins/StatefulMixin.js\";\r\nimport ScrollableMixin from \"./mixins/ScrollableMixin.js\";\r\n\r\nexport function useScrollableMixin(options) {\r\n return useState(function () {\r\n return new ScrollableMixin();\r\n })[0].reset().withOptions(options);\r\n}\r\n\r\nexport function useFlyoutMixin() {\r\n return useState(function () {\r\n return new FlyoutMixin();\r\n })[0].reset();\r\n}\r\n\r\nexport function useAnimateMixin() {\r\n return useState(function () {\r\n return new AnimateMixin();\r\n })[0].reset();\r\n}\r\n\r\nexport function useAnimateSequenceMixin() {\r\n return useState(function () {\r\n return new AnimateSequenceMixin();\r\n })[0].reset();\r\n}\r\n\r\nexport function useFocusStateMixin() {\r\n return useState(function () {\r\n return new FocusStateMixin();\r\n })[0].reset();\r\n}\r\n\r\nexport function useLoadingStateMixin() {\r\n return useState(() => {\r\n return new LoadingStateMixin();\r\n })[0].reset();\r\n}\r\n\r\nexport function useMixinRef(mixin) {\r\n return mixin.getMixin().reset();\r\n}\r\n\r\nexport {\r\n Mixin,\r\n AnimateMixin,\r\n AnimateSequenceItemMixin,\r\n AnimateSequenceMixin,\r\n ClassNameMixin,\r\n FlyoutMixin,\r\n FocusStateMixin,\r\n LoadingStateMixin,\r\n StatefulMixin,\r\n ScrollableMixin\r\n}\r\n","import React from \"react\";\r\nimport brew from \"brew-js\";\r\nimport { useAsyncContent } from \"zeta-dom-react\";\r\nimport { any, definePrototype, equal, exclude, extend, keys, makeArray, noop, pick, setImmediate } from \"./include/zeta-dom/util.js\";\r\nimport { app } from \"./app.js\";\r\n\r\nconst routeMap = new Map();\r\n\r\nfunction ViewContainer() {\r\n /** @type {any} */\r\n var self = this;\r\n React.Component.apply(self, arguments);\r\n self.mounted = false;\r\n self.componentWillUnmount = app.on('navigate', function () {\r\n if (self.mounted && self.getViewComponent()) {\r\n self.forceUpdate();\r\n }\r\n });\r\n}\r\n\r\ndefinePrototype(ViewContainer, React.Component, {\r\n componentDidMount: function () {\r\n this.mounted = true;\r\n },\r\n render: function () {\r\n /** @type {any} */\r\n var self = this;\r\n var V = self.getViewComponent();\r\n if (V && V !== self.currentViewComponent) {\r\n self.currentViewComponent = V;\r\n if (self.currentView && self.currentElement) {\r\n self.prevView = self.currentView;\r\n self.prevElement = self.currentElement;\r\n self.currentElement = undefined;\r\n brew.animateOut(self.prevElement, 'show').then(function () {\r\n self.prevElement = undefined;\r\n self.prevView = undefined;\r\n self.forceUpdate();\r\n });\r\n }\r\n self.currentView = React.createElement(V, {\r\n key: app.route.view,\r\n rootProps: exclude(self.props, ['views']),\r\n onComponentLoaded: function (element) {\r\n self.currentElement = element;\r\n setImmediate(function () {\r\n return brew.animateIn(element, 'show');\r\n });\r\n }\r\n });\r\n }\r\n return React.createElement(React.Fragment, null, self.prevView, self.currentView);\r\n },\r\n getViewComponent: function () {\r\n var views = this.props.views;\r\n var V = any(views, function (V) {\r\n var params = routeMap.get(V);\r\n return params && equal(params, pick(app.route, keys(params)));\r\n });\r\n return V || void app.navigate(linkTo(views[0]), true);\r\n }\r\n});\r\n\r\nexport function registerView(factory, routeParams) {\r\n var Component = function (props) {\r\n var childProps = exclude(props, ['rootProps', 'onComponentLoaded']);\r\n var Component = useAsyncContent(factory)[0];\r\n return React.createElement('div', extend({}, props.rootProps, {\r\n ref: function (element) {\r\n if (element && Component) {\r\n (props.onComponentLoaded || noop)(element);\r\n }\r\n },\r\n children: Component && React.createElement(Component.default, childProps)\r\n }));\r\n };\r\n routeMap.set(Component, routeParams);\r\n return Component;\r\n}\r\n\r\nexport function renderView() {\r\n var views = makeArray(arguments);\r\n var props;\r\n if (views[0] && typeof views[0] !== 'function') {\r\n props = views.shift();\r\n }\r\n return React.createElement(ViewContainer, extend({}, props, { views }));\r\n}\r\n\r\nexport function linkTo(view, params) {\r\n return app.route.getPath(extend({}, app.route, params, routeMap.get(view)));\r\n}\r\n","import * as all from \"./index.js\";\r\nexport default all;\r\n"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE__359__","__WEBPACK_EXTERNAL_MODULE__318__","__WEBPACK_EXTERNAL_MODULE__80__","__WEBPACK_EXTERNAL_MODULE__654__","__WEBPACK_EXTERNAL_MODULE__103__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","zeta","noop","either","makeArray","is","isUndefinedOrNull","isArray","isFunction","isThenable","isPlainObject","isArrayLike","extend","each","any","map","grep","splice","kv","single","pick","exclude","equal","mapGet","mapRemove","arrRemove","setAdd","combineFn","setImmediate","executeOnce","createPrivateStore","setTimeoutOnce","keys","setImmediateOnce","throwNotFunction","values","getOwnPropertyDescriptors","definePrototype","defineAliasProperty","defineOwnProperty","defineGetterProperty","defineHiddenProperty","watchable","defineObservableProperty","watch","watchOnce","inherit","randomId","deepFreeze","iequal","always","repeat","camel","hyphenate","ucfirst","lcfirst","trim","matchWord","htmlDecode","resolve","reject","resolveAll","catchAsync","setPromiseTimeout","containsOrEquals","domReady","tagName","isVisible","matchSelector","comparePosition","connected","removeNode","acceptNode","combineNodeFilters","iterateNode","iterateNodeToArray","getCommonAncestor","parentsAndSelf","selectIncludeSelf","selectClosestRelative","createNodeIterator","createTreeWalker","bind","bindUntil","dispatchDOMMouseEvent","setClass","getClass","getScrollOffset","getScrollParent","getContentRect","scrollBy","scrollIntoView","createRange","rangeIntersects","rangeEquals","rangeCovers","compareRangePosition","makeSelection","getRect","getRects","toPlainRect","rectEquals","rectCovers","rectIntersects","pointInRect","mergeRect","elementFromPoint","textInputAllowed","beginDrag","beginPinchZoom","getShortcut","setShortcut","focusable","focused","setModal","retainFocus","releaseFocus","focus","createDialog","props","promise","document","createElement","closing","refresh","Component","forceRefresh","useState","v","onRender","closeDialog","brew","then","ReactDOM","onClose","close","open","className","modal","setAttribute","body","appendChild","dom","React","onCommit","onOpen","Dialog","_props","children","Fragment","dialog","useEffect","opened","app","useAppReady","sReady","ready","setReady","useLanguage","useObservableProperty","useRouteParam","name","defaultValue","sValue","route","setValue","current","navigate","getPath","StaticAttributeMixin","attributes","Mixin","this","MixinRefImpl","mixin","StatefulMixin","states","prefix","counter","app_","getCustomAttributes","next","getRef","getClassNames","scrollableTarget","use","args","arguments","ref","mixins","filter","refs","shift","push","i","classNames","getMixin","state","clone","initState","reset","element","initElement","elements","getPrototypeOf","ClassNameMixinSuper","ClassNameMixin","nodes","includes","prev","classList","contains","onClassNameUpdated","prevState","AnimateMixinSuper","AnimateMixin","effects","trigger","with","withEffects","join","AnimateSequenceItemMixinSuper","AnimateSequenceItemMixin","concat","AnimateSequenceMixinSuper","animateSequenceMixinCounter","AnimateSequenceMixin","item","FlyoutMixinSuper","flyoutMixinCounter","FlyoutMixin","isFlyoutOpened","animating","visible","toggle","callback","onToggleState","onVisibilityChanged","id","on","animationstart","animationcomplete","isAdded","FocusStateMixinSuper","FocusStateMixin","focusin","focusout","LoadingStateMixinSuper","LoadingStateMixin","asyncStart","asyncEnd","cancelled","ScrollableMixinSuper","ScrollableMixin","target","pageIndex","useScrollableMixin","options","withOptions","useFlyoutMixin","useAnimateMixin","useAnimateSequenceMixin","useFocusStateMixin","useLoadingStateMixin","useMixinRef","direction","handle","paged","pagedItemSelector","onPageIndexChanged","e","newValues","routeMap","Map","ViewContainer","mounted","componentWillUnmount","getViewComponent","forceUpdate","registerView","routeParams","childProps","useAsyncContent","rootProps","onComponentLoaded","set","renderView","views","linkTo","view","params","componentDidMount","render","V","currentViewComponent","currentView","currentElement","prevView","prevElement"],"sourceRoot":""}
package/entry.js ADDED
@@ -0,0 +1,2 @@
1
+ import * as all from "./index.js";
2
+ export default all;
package/hooks.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Returns if the app has completed initialization, and
3
+ * refresh the component when the app has changed its ready state.
4
+ * @see {@link Brew.AppInstance.ready}
5
+ */
6
+ export function useAppReady(): boolean;
7
+
8
+ /**
9
+ * Returns the current language, and
10
+ * refresh the component when the language has changed.
11
+ */
12
+ export function useLanguage(): string;
13
+
14
+ /**
15
+ * Returns the value of specified route parameter, and
16
+ * refresh the component when the route parameter has changed.
17
+ * @param name Name of route parameter.
18
+ * @param defaultValue When given, an empty value in current route state will cause a redirection which set the route parameter to such value.
19
+ */
20
+ export function useRouteParam(name: string, defaultValue?: string): string;
package/hooks.js ADDED
@@ -0,0 +1,34 @@
1
+ import { useEffect, useState } from "react";
2
+ import { useObservableProperty } from "zeta-dom-react";
3
+ import { extend, kv } from "./include/zeta-dom/util.js";
4
+ import { app } from "./app.js";
5
+
6
+ export function useAppReady() {
7
+ const sReady = useState(false);
8
+ const ready = sReady[0], setReady = sReady[1];
9
+ useEffect(function () {
10
+ app.ready.then(function () {
11
+ setReady(true);
12
+ });
13
+ }, []);
14
+ return ready;
15
+ }
16
+
17
+ export function useLanguage() {
18
+ return useObservableProperty(app, 'language');
19
+ }
20
+
21
+ export function useRouteParam(name, defaultValue) {
22
+ const sValue = useState(app.route[name]);
23
+ const value = sValue[0], setValue = sValue[1];
24
+ useEffect(function () {
25
+ var current = app.route[name];
26
+ // route parameter might be changed after state initialization and before useEffect hook is called
27
+ setValue(current);
28
+ return app.route.watch(name, setValue);
29
+ }, [name, defaultValue]);
30
+ if (!value && defaultValue !== undefined) {
31
+ app.navigate(app.route.getPath(extend({}, app.route, kv(name, defaultValue))), true);
32
+ }
33
+ return value || '';
34
+ }
@@ -0,0 +1,3 @@
1
+ import dom from "zeta-dom/dom";
2
+ export * from "zeta-dom/dom";
3
+ export default dom;
@@ -0,0 +1 @@
1
+ export * from "zeta-dom/domUtil";
@@ -0,0 +1 @@
1
+ export { ZetaEventContainer } from "zeta-dom/events";
@@ -0,0 +1 @@
1
+ export * from "zeta-dom/util";
package/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from "./dialog";
2
+ export * from "./hooks";
3
+ export * from "./mixin";
4
+ export * from "./view";
package/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export * from "./dialog.js";
2
+ export * from "./hooks.js";
3
+ export * from "./mixin.js";
4
+ export * from "./view.js";
package/mixin.d.ts ADDED
@@ -0,0 +1,48 @@
1
+ import Mixin from "./mixins/Mixin";
2
+ import AnimateMixin from "./mixins/AnimateMixin";
3
+ import AnimateSequenceItemMixin from "./mixins/AnimateSequenceItemMixin";
4
+ import AnimateSequenceMixin from "./mixins/AnimateSequenceMixin";
5
+ import ClassNameMixin from "./mixins/ClassNameMixin";
6
+ import FlyoutMixin from "./mixins/FlyoutMixin";
7
+ import FocusStateMixin from "./mixins/FocusStateMixin";
8
+ import LoadingStateMixin from "./mixins/LoadingStateMixin";
9
+ import StatefulMixin, { MixinRef } from "./mixins/StatefulMixin";
10
+ import ScrollableMixin, { ScrollableMixinOptions } from "./mixins/ScrollableMixin";
11
+
12
+ export * from "./mixins/Mixin";
13
+ export * from "./mixins/AnimateMixin";
14
+ export * from "./mixins/AnimateSequenceItemMixin";
15
+ export * from "./mixins/AnimateSequenceMixin";
16
+ export * from "./mixins/ClassNameMixin";
17
+ export * from "./mixins/FlyoutMixin";
18
+ export * from "./mixins/FocusStateMixin";
19
+ export * from "./mixins/LoadingStateMixin";
20
+ export * from "./mixins/StatefulMixin";
21
+ export * from "./mixins/ScrollableMixin";
22
+
23
+ export {
24
+ Mixin,
25
+ AnimateMixin,
26
+ AnimateSequenceItemMixin,
27
+ AnimateSequenceItemMixin,
28
+ ClassNameMixin,
29
+ FlyoutMixin,
30
+ FocusStateMixin,
31
+ LoadingStateMixin,
32
+ StatefulMixin,
33
+ ScrollableMixin
34
+ }
35
+
36
+ export function useScrollableMixin(options?: ScrollableMixinOptions): ScrollableMixin;
37
+
38
+ export function useFlyoutMixin(): FlyoutMixin;
39
+
40
+ export function useAnimateMixin(): AnimateMixin;
41
+
42
+ export function useAnimateSequenceMixin(): AnimateSequenceMixin;
43
+
44
+ export function useFocusStateMixin(): FocusStateMixin;
45
+
46
+ export function useLoadingStateMixin(): LoadingStateMixin;
47
+
48
+ export function useMixinRef<T extends StatefulMixin>(mixin: MixinRef<T>): T;
package/mixin.js ADDED
@@ -0,0 +1,64 @@
1
+ import { useState } from "react";
2
+ import Mixin from "./mixins/Mixin.js";
3
+ import AnimateMixin from "./mixins/AnimateMixin.js";
4
+ import AnimateSequenceItemMixin from "./mixins/AnimateSequenceItemMixin.js";
5
+ import AnimateSequenceMixin from "./mixins/AnimateSequenceMixin.js";
6
+ import ClassNameMixin from "./mixins/ClassNameMixin.js";
7
+ import FlyoutMixin from "./mixins/FlyoutMixin.js";
8
+ import FocusStateMixin from "./mixins/FocusStateMixin.js";
9
+ import LoadingStateMixin from "./mixins/LoadingStateMixin.js";
10
+ import StatefulMixin from "./mixins/StatefulMixin.js";
11
+ import ScrollableMixin from "./mixins/ScrollableMixin.js";
12
+
13
+ export function useScrollableMixin(options) {
14
+ return useState(function () {
15
+ return new ScrollableMixin();
16
+ })[0].reset().withOptions(options);
17
+ }
18
+
19
+ export function useFlyoutMixin() {
20
+ return useState(function () {
21
+ return new FlyoutMixin();
22
+ })[0].reset();
23
+ }
24
+
25
+ export function useAnimateMixin() {
26
+ return useState(function () {
27
+ return new AnimateMixin();
28
+ })[0].reset();
29
+ }
30
+
31
+ export function useAnimateSequenceMixin() {
32
+ return useState(function () {
33
+ return new AnimateSequenceMixin();
34
+ })[0].reset();
35
+ }
36
+
37
+ export function useFocusStateMixin() {
38
+ return useState(function () {
39
+ return new FocusStateMixin();
40
+ })[0].reset();
41
+ }
42
+
43
+ export function useLoadingStateMixin() {
44
+ return useState(() => {
45
+ return new LoadingStateMixin();
46
+ })[0].reset();
47
+ }
48
+
49
+ export function useMixinRef(mixin) {
50
+ return mixin.getMixin().reset();
51
+ }
52
+
53
+ export {
54
+ Mixin,
55
+ AnimateMixin,
56
+ AnimateSequenceItemMixin,
57
+ AnimateSequenceMixin,
58
+ ClassNameMixin,
59
+ FlyoutMixin,
60
+ FocusStateMixin,
61
+ LoadingStateMixin,
62
+ StatefulMixin,
63
+ ScrollableMixin
64
+ }
@@ -0,0 +1,9 @@
1
+ import ClassNameMixin from "./ClassNameMixin";
2
+
3
+ export type AnimationEffect = 'fade-in' | 'slide-down' | 'slide-up' | 'slide-left' | 'slide-right';
4
+ export type AnimationTrigger = 'show' | 'open';
5
+
6
+ export default class AnimateMixin extends ClassNameMixin {
7
+ with(props: { effects?: AnimationEffect[], trigger?: AnimationTrigger }): this;
8
+ withEffects(...effects: AnimationEffect[]): this;
9
+ }
@@ -0,0 +1,31 @@
1
+ import { definePrototype, extend, makeArray } from "../include/zeta-dom/util.js";
2
+ import ClassNameMixin from "./ClassNameMixin.js";
3
+
4
+ const AnimateMixinSuper = ClassNameMixin.prototype;
5
+
6
+ export default function AnimateMixin() {
7
+ ClassNameMixin.call(this, ['tweening-in', 'tweening-out']);
8
+ }
9
+
10
+ definePrototype(AnimateMixin, ClassNameMixin, {
11
+ next: function () {
12
+ this.effects = undefined;
13
+ this.trigger = undefined;
14
+ return AnimateMixinSuper.next.call(this);
15
+ },
16
+ with: function (props) {
17
+ this.effects = props.effects;
18
+ this.trigger = props.trigger;
19
+ return this;
20
+ },
21
+ withEffects: function () {
22
+ this.effects = makeArray(arguments);
23
+ return this;
24
+ },
25
+ getCustomAttributes: function () {
26
+ return extend({}, AnimateMixinSuper.getCustomAttributes.call(this), {
27
+ 'animate-in': (this.effects || []).join(' '),
28
+ 'animate-on': this.trigger || 'show'
29
+ });
30
+ }
31
+ });
@@ -0,0 +1,5 @@
1
+ import ClassNameMixin from "./ClassNameMixin";
2
+
3
+ export default class AnimateSequenceItemMixin extends ClassNameMixin {
4
+ constructor(className: string);
5
+ }
@@ -0,0 +1,15 @@
1
+ import { definePrototype } from "../include/zeta-dom/util.js";
2
+ import ClassNameMixin from "./ClassNameMixin.js";
3
+
4
+ const AnimateSequenceItemMixinSuper = ClassNameMixin.prototype;
5
+
6
+ export default function AnimateSequenceItemMixin(className) {
7
+ ClassNameMixin.call(this, ['tweening-in', 'tweening-out']);
8
+ this.className = className;
9
+ }
10
+
11
+ definePrototype(AnimateSequenceItemMixin, ClassNameMixin, {
12
+ getClassNames: function () {
13
+ return [this.className].concat(AnimateSequenceItemMixinSuper.getClassNames.call(this));
14
+ }
15
+ });
@@ -0,0 +1,6 @@
1
+ import AnimateMixin from "./AnimateMixin";
2
+ import AnimateSequenceItemMixin from "./AnimateSequenceItemMixin";
3
+
4
+ export default class AnimateSequenceMixin extends AnimateMixin {
5
+ readonly item: AnimateSequenceItemMixin;
6
+ }