'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var React = require('react'); var React__default = _interopDefault(React); var utils = require('@wener/utils'); var antd = require('antd'); var rxjs = require('rxjs'); require('lodash'); function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function (obj) { return typeof obj; }; } else { _typeof = function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function loadTheme(options) { var _ref = options !== null && options !== void 0 ? options : {}, theme = _ref.theme, type = _ref.type, _ref$url = _ref.url, url = _ref$url === void 0 ? '' : _ref$url; var attr = "data-".concat(type, "-theme"); var cur = document.querySelector("link[".concat(attr, "=\"").concat(theme, "\"]")); if (!cur) { if (url) { console.info("load theme ".concat(type, " ").concat(theme, " ").concat(url)); return utils.loadStyles(url, { attributes: _defineProperty({}, attr, theme) }).then(function () { // disable others var themes = document.querySelectorAll("link[".concat(attr, "]:not([").concat(attr, "=\"").concat(theme, "\"])")); themes.forEach(function (v) { return v.setAttribute('disabled', 'true'); }); return true; }); } return false; } var themes = document.querySelectorAll("link[".concat(attr, "]:not([").concat(attr, "=\"").concat(theme, "\"])")); themes.forEach(function (v) { return v.setAttribute('disabled', 'true'); }); cur.removeAttribute('disabled'); return true; } // fixme - should use current version ? var urls = { light: 'https://unpkg.com/antd/dist/antd.min.css', dark: 'https://unpkg.com/antd/dist/antd.dark.min.css' }; function loadAntdTheme(options) { var _ref2 = options || {}, _ref2$theme = _ref2.theme, theme = _ref2$theme === void 0 ? 'light' : _ref2$theme, src = _ref2.src; var url = src || urls[theme]; if (!url) { console.error("Theme not found: ".concat(theme)); return false; } return loadTheme({ theme: theme, type: 'antd', url: url }); } function useAntdTheme(options) { var _ref3 = options || {}, _ref3$theme = _ref3.theme, theme = _ref3$theme === void 0 ? 'light' : _ref3$theme, src = _ref3.src; var _useState = React.useState(true), _useState2 = _slicedToArray(_useState, 2), loading = _useState2[0], setLoading = _useState2[1]; React.useEffect(function () { var url = src || urls[theme]; if (!url) { console.error("Theme not found: ".concat(theme)); return; } setLoading(true); Promise.resolve(loadTheme({ theme: theme, type: 'antd', url: url }))["finally"](function () { return setLoading(false); }); }, [theme, src]); return loading; } function n(n) { for (var t = arguments.length, r = Array(t > 1 ? t - 1 : 0), e = 1; e < t; e++) { r[e - 1] = arguments[e]; } if ("production" !== process.env.NODE_ENV) { var i = L[n], o = i ? "function" == typeof i ? i.apply(null, r) : i : "unknown error nr: " + n; throw Error("[Immer] " + o); } throw Error("[Immer] minified error nr: " + n + (r.length ? " " + r.join(",") : "") + ". Find the full error at: https://bit.ly/3cXEKWf"); } function t(n) { return !!n && !!n[G]; } function r(n) { return !!n && (function (n) { if (!n || "object" != _typeof(n)) return !1; var t = Object.getPrototypeOf(n); return !t || t === Object.prototype; }(n) || Array.isArray(n) || !!n[B] || !!n.constructor[B] || c(n) || s(n)); } function i(n, t, r) { void 0 === r && (r = !1), 0 === o(n) ? (r ? Object.keys : Q)(n).forEach(function (r) { return t(r, n[r], n); }) : n.forEach(function (r, e) { return t(e, r, n); }); } function o(n) { var t = n[G]; return t ? t.i > 3 ? t.i - 4 : t.i : Array.isArray(n) ? 1 : c(n) ? 2 : s(n) ? 3 : 0; } function u(n, t) { return 2 === o(n) ? n.has(t) : Object.prototype.hasOwnProperty.call(n, t); } function a(n, t) { return 2 === o(n) ? n.get(t) : n[t]; } function f(n, t) { return n === t ? 0 !== n || 1 / n == 1 / t : n != n && t != t; } function c(n) { return U && n instanceof Map; } function s(n) { return W && n instanceof Set; } function v(n) { return n.o || n.t; } function p(t, r) { if (void 0 === r && (r = !1), Array.isArray(t)) return t.slice(); var e = Object.create(Object.getPrototypeOf(t)); return i(t, function (i) { if (i !== G) { var o = Object.getOwnPropertyDescriptor(t, i), u = o.value; o.get && (r || n(1), u = o.get.call(t)), o.enumerable ? e[i] = u : Object.defineProperty(e, i, { value: u, writable: !0, configurable: !0 }); } }), e; } function d(n, e) { t(n) || h(n) || !r(n) || (o(n) > 1 && (n.set = n.add = n.clear = n["delete"] = l), Object.freeze(n), e && i(n, function (n, t) { return d(t, !0); }, !0)); } function l() { n(2); } function h(n) { return null == n || "object" != _typeof(n) || Object.isFrozen(n); } function y(t) { var r = V[t]; return r || n("production" !== process.env.NODE_ENV ? 18 : 19, t), r; } function m() { return "production" === process.env.NODE_ENV || K || n(0), K; } function _(n, t) { t && (y("Patches"), n.u = [], n.s = [], n.v = t); } function j(n) { O(n), n.p.forEach(w), n.p = null; } function O(n) { n === K && (K = n.l); } function g(n) { return K = { p: [], l: K, h: n, m: !0, _: 0 }; } function w(n) { var t = n[G]; 0 === t.i || 1 === t.i ? t.j() : t.O = !0; } function S(t, e) { e._ = e.p.length; var i = e.p[0], o = void 0 !== t && t !== i; return e.h.g || y("ES5").S(e, t, o), o ? (i[G].P && (j(e), n(4)), r(t) && (t = P(e, t), e.l || A(e, t)), e.u && y("Patches").M(i[G], t, e.u, e.s)) : t = P(e, i, []), j(e), e.u && e.v(e.u, e.s), t !== q ? t : void 0; } function P(n, t, r) { if (h(t)) return t; var e = t[G]; if (!e) return i(t, function (i, o) { return M(n, e, t, i, o, r); }, !0), t; if (e.A !== n) return t; if (!e.P) return A(n, e.t, !0), e.t; if (!e.I) { e.I = !0, e.A._--; var o = 4 === e.i || 5 === e.i ? e.o = p(e.k, !0) : e.o; i(o, function (t, i) { return M(n, e, o, t, i, r); }), A(n, o, !1), r && n.u && y("Patches").R(e, r, n.u, n.s); } return e.o; } function M(e, i, c, s, v, p) { if ("production" !== process.env.NODE_ENV && v === c && n(5), t(v)) { var d = P(e, v, p && i && 3 !== i.i && !u(i.D, s) ? p.concat(s) : void 0); if (h = s, y = d, 2 === (b = o(l = c)) ? l.set(h, y) : 3 === b ? (l["delete"](h), l.add(y)) : l[h] = y, !t(d)) return; e.m = !1; } var l, h, y, b; if ((!i || !f(v, a(i.t, s))) && r(v)) { if (!e.h.N && e._ < 1) return; P(e, v), i && i.A.l || A(e, v); } } function A(n, t, r) { void 0 === r && (r = !1), n.h.N && n.m && d(t, r); } function x(n, t) { var r = n[G], e = Reflect.getOwnPropertyDescriptor(r ? v(r) : n, t); return e && e.value; } function z(n) { if (!n.P) { if (n.P = !0, 0 === n.i || 1 === n.i) { var t = n.o = p(n.t); i(n.p, function (n, r) { t[n] = r; }), n.p = void 0; } n.l && z(n.l); } } function I(n) { n.o || (n.o = p(n.t)); } function E(n, t, r) { var e = c(t) ? y("MapSet").T(t, r) : s(t) ? y("MapSet").F(t, r) : n.g ? function (n, t) { var r = Array.isArray(n), e = { i: r ? 1 : 0, A: t ? t.A : m(), P: !1, I: !1, D: {}, l: t, t: n, k: null, p: {}, o: null, j: null, C: !1 }, i = e, o = Y; r && (i = [e], o = Z); var u = Proxy.revocable(i, o), a = u.revoke, f = u.proxy; return e.k = f, e.j = a, f; }(t, r) : y("ES5").J(t, r); return (r ? r.A : m()).p.push(e), e; } var J, K, $ = "undefined" != typeof Symbol && "symbol" == _typeof(Symbol("x")), U = "undefined" != typeof Map, W = "undefined" != typeof Set, X = "undefined" != typeof Proxy && void 0 !== Proxy.revocable && "undefined" != typeof Reflect, q = $ ? Symbol("immer-nothing") : ((J = {})["immer-nothing"] = !0, J), B = $ ? Symbol("immer-draftable") : "__$immer_draftable", G = $ ? Symbol("immer-state") : "__$immer_state", L = { 0: "Illegal state", 1: "Immer drafts cannot have computed properties", 2: "This object has been frozen and should not be mutated", 3: function _(n) { return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + n; }, 4: "An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.", 5: "Immer forbids circular references", 6: "The first or second argument to `produce` must be a function", 7: "The third argument to `produce` must be a function or undefined", 8: "First argument to `createDraft` must be a plain object, an array, or an immerable object", 9: "First argument to `finishDraft` must be a draft returned by `createDraft`", 10: "The given draft is already finalized", 11: "Object.defineProperty() cannot be used on an Immer draft", 12: "Object.setPrototypeOf() cannot be used on an Immer draft", 13: "Immer only supports deleting array indices", 14: "Immer only supports setting array indices and the 'length' property", 15: function _(n) { return "Cannot apply patch, path doesn't resolve: " + n; }, 16: 'Sets cannot have "replace" patches.', 17: function _(n) { return "Unsupported patch operation: " + n; }, 18: function _(n) { return "The plugin for '" + n + "' has not been loaded into Immer. To enable the plugin, import and call `enable" + n + "()` when initializing your application."; }, 19: function _(n) { return "plugin not loaded: " + n; }, 20: "Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available" }, Q = "undefined" != typeof Reflect && Reflect.ownKeys ? Reflect.ownKeys : void 0 !== Object.getOwnPropertySymbols ? function (n) { return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n)); } : Object.getOwnPropertyNames, V = {}, Y = { get: function get(n, t) { if (t === G) return n; var e = n.p; if (!n.P && u(e, t)) return e[t]; var i = v(n)[t]; if (n.I || !r(i)) return i; if (n.P) { if (i !== x(n.t, t)) return i; e = n.o; } return e[t] = E(n.A.h, i, n); }, has: function has(n, t) { return t in v(n); }, ownKeys: function ownKeys(n) { return Reflect.ownKeys(v(n)); }, set: function set(n, t, r) { if (!n.P) { var e = x(n.t, t); if (r ? f(e, r) || r === n.p[t] : f(e, r) && t in n.t) return !0; I(n), z(n); } return n.D[t] = !0, n.o[t] = r, !0; }, deleteProperty: function deleteProperty(n, t) { return void 0 !== x(n.t, t) || t in n.t ? (n.D[t] = !1, I(n), z(n)) : n.D[t] && delete n.D[t], n.o && delete n.o[t], !0; }, getOwnPropertyDescriptor: function getOwnPropertyDescriptor(n, t) { var r = v(n), e = Reflect.getOwnPropertyDescriptor(r, t); return e && (e.writable = !0, e.configurable = 1 !== n.i || "length" !== t), e; }, defineProperty: function defineProperty() { n(11); }, getPrototypeOf: function getPrototypeOf(n) { return Object.getPrototypeOf(n.t); }, setPrototypeOf: function setPrototypeOf() { n(12); } }, Z = {}; i(Y, function (n, t) { Z[n] = function () { return arguments[0] = arguments[0][0], t.apply(this, arguments); }; }), Z.deleteProperty = function (t, r) { return "production" !== process.env.NODE_ENV && isNaN(parseInt(r)) && n(13), Y.deleteProperty.call(this, t[0], r); }, Z.set = function (t, r, e) { return "production" !== process.env.NODE_ENV && "length" !== r && isNaN(parseInt(r)) && n(14), Y.set.call(this, t[0], r, e, t[0]); }; var nn = function () { function e(n) { this.g = X, this.N = "production" !== process.env.NODE_ENV, "boolean" == typeof (null == n ? void 0 : n.useProxies) && this.setUseProxies(n.useProxies), "boolean" == typeof (null == n ? void 0 : n.autoFreeze) && this.setAutoFreeze(n.autoFreeze), this.produce = this.produce.bind(this), this.produceWithPatches = this.produceWithPatches.bind(this); } var i = e.prototype; return i.produce = function (t, e, i) { if ("function" == typeof t && "function" != typeof e) { var o = e; e = t; var u = this; return function (n) { var t = this; void 0 === n && (n = o); for (var r = arguments.length, i = Array(r > 1 ? r - 1 : 0), a = 1; a < r; a++) { i[a - 1] = arguments[a]; } return u.produce(n, function (n) { var r; return (r = e).call.apply(r, [t, n].concat(i)); }); }; } var a; if ("function" != typeof e && n(6), void 0 !== i && "function" != typeof i && n(7), r(t)) { var f = g(this), c = E(this, t, void 0), s = !0; try { a = e(c), s = !1; } finally { s ? j(f) : O(f); } return "undefined" != typeof Promise && a instanceof Promise ? a.then(function (n) { return _(f, i), S(n, f); }, function (n) { throw j(f), n; }) : (_(f, i), S(a, f)); } if ((a = e(t)) !== q) return void 0 === a && (a = t), this.N && d(a, !0), a; }, i.produceWithPatches = function (n, t) { var r, e, i = this; return "function" == typeof n ? function (t) { for (var r = arguments.length, e = Array(r > 1 ? r - 1 : 0), o = 1; o < r; o++) { e[o - 1] = arguments[o]; } return i.produceWithPatches(t, function (t) { return n.apply(void 0, [t].concat(e)); }); } : [this.produce(n, t, function (n, t) { r = n, e = t; }), r, e]; }, i.createDraft = function (t) { r(t) || n(8); var e = g(this), i = E(this, t, void 0); return i[G].C = !0, O(e), i; }, i.finishDraft = function (t, r) { var e = t && t[G]; "production" !== process.env.NODE_ENV && (e && e.C || n(9), e.I && n(10)); var i = e.A; return _(i, r), S(void 0, i); }, i.setAutoFreeze = function (n) { this.N = n; }, i.setUseProxies = function (t) { X || n(20), this.g = t; }, i.applyPatches = function (n, r) { var e; for (e = r.length - 1; e >= 0; e--) { var i = r[e]; if (0 === i.path.length && "replace" === i.op) { n = i.value; break; } } var o = y("Patches").U; return t(n) ? o(n, r) : this.produce(n, function (n) { return o(n, r.slice(e + 1)); }); }, e; }(), tn = new nn(), rn = tn.produce, en = tn.produceWithPatches.bind(tn), on = tn.setAutoFreeze.bind(tn), un = tn.setUseProxies.bind(tn), an = tn.applyPatches.bind(tn), fn = tn.createDraft.bind(tn), cn = tn.finishDraft.bind(tn); var LayoutFrameContext = /*#__PURE__*/React__default.createContext(null); var useLayoutFrameSelector = function useLayoutFrameSelector(selector, eq) { var layout = useLayoutFrame(); var ref = React.useRef(); var _useState = React.useState(function () { return ref.current = selector(layout.getState()); }), _useState2 = _slicedToArray(_useState, 2), state = _useState2[0], setState = _useState2[1]; React.useEffect(function () { return layout.subscribe(function (s) { var next = selector(s); if (eq && !eq(next, ref.current) || next !== ref.current) { setState(ref.current = next); } }); }, []); return state; }; function useLayoutFrameOptions() { return React.useContext(LayoutFrameContext).options; } // class LayoutFrameStore implements LayoutFrameInstance { // name = 'default'; // context = LayoutStoreContext; // store: Store; // useSelector: TypedUseSelectorHook; // dispatch; // forceRootUpdate: () => void; // // constructor({ forceRootUpdate, name = 'default' }) { // this.forceRootUpdate = forceRootUpdate; // this.name = name; // // const slice = createLayoutFrameSlice(); // this.store = configureStore(slice); // this.dispatch = this.store.dispatch; // this.useSelector = createSelectorHook(this.context); // } // // selector = (s) => s; // // getLayout(): LayoutFrameInstance { // // const {name, store, context} = this; // // return { // // name, // // dispatch: store.dispatch, // // selector: s => s, // // useSelector: createSelectorHook(context), // // } // return this; // } // } var LayoutFrameProvider = function LayoutFrameProvider(_ref) { var layout = _ref.layout, options = _ref.options, children = _ref.children; return /*#__PURE__*/React__default.createElement(LayoutFrameContext.Provider, { value: { layout: layout, options: options } }, children); }; function createLayoutFrame() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var initialState = options.initialState, _options$name = options.name, name = _options$name === void 0 ? 'default' : _options$name, current = options.current; var state = new rxjs.BehaviorSubject(_objectSpread2({}, typeof initialState === 'function' ? initialState() : initialState !== null && initialState !== void 0 ? initialState : {})); var layout = { get name() { return name; }, subscribe: function subscribe(consumer) { var s = state.subscribe(consumer); return s.unsubscribe.bind(s); }, getState: function getState() { return state.value; }, update: function (_update) { function update(_x) { return _update.apply(this, arguments); } update.toString = function () { return _update.toString(); }; return update; }(function (update) { if (typeof update !== 'function') { layout.update(function (s) { Object.assign(s, update); }); return; } var current = state.value; var next = rn(current, update); if (current !== next) { state.next(next); console.debug("next layout state", next, current); } }), dispose: function dispose() {// } }; return layout; } function useLayoutFrame(options) { var _useContext; var _ref2 = options || {}, layout = _ref2.layout, _ref2$name = _ref2.name, name = _ref2$name === void 0 ? 'default' : _ref2$name, initialState = _ref2.initialState; var instanceRef = React__default.useRef(); var _useReducer = React.useReducer(function (a) { return a + 1; }, 0), _useReducer2 = _slicedToArray(_useReducer, 2), forceRootUpdate = _useReducer2[1]; var current = (_useContext = React.useContext(LayoutFrameContext)) === null || _useContext === void 0 ? void 0 : _useContext.layout; if (!instanceRef.current) { if (current && current.name === name) { instanceRef.current = current; } else if (layout) { instanceRef.current = layout; } else { // const layoutStore = new LayoutFrameStore({ forceRootUpdate, name }); instanceRef.current = createLayoutFrame({ name: name, initialState: initialState, current: current }); } } return instanceRef.current; } var NamedThemeContext = /*#__PURE__*/React__default.createContext(new rxjs.BehaviorSubject(null)); function useNamedTheme() { var state = React.useContext(NamedThemeContext); var _useState = React.useState(state.value), _useState2 = _slicedToArray(_useState, 2), theme = _useState2[0], setTheme = _useState2[1]; React.useEffect(function () { var subscribe = state.subscribe(setTheme); return subscribe.unsubscribe.bind(subscribe); }, [state]); return [theme, function (v) { return state.next(v); }]; } var LayoutFrameMenu = function LayoutFrameMenu(_ref) { var children = _ref.children, props = _objectWithoutProperties(_ref, ["children"]); var _useLayoutFrameOption = useLayoutFrameOptions(), menus = _useLayoutFrameOption.menus, _useLayoutFrameOption2 = _useLayoutFrameOption.link, link = _useLayoutFrameOption2 === void 0 ? 'a' : _useLayoutFrameOption2, _useLayoutFrameOption3 = _useLayoutFrameOption.menuProps, menuProps = _useLayoutFrameOption3 === void 0 ? {} : _useLayoutFrameOption3; var _useNamedTheme = useNamedTheme(), _useNamedTheme2 = _slicedToArray(_useNamedTheme, 1), theme = _useNamedTheme2[0]; return /*#__PURE__*/React__default.createElement(antd.Menu, _extends({ theme: theme === 'dark' ? 'dark' : 'light', mode: "inline" }, menuProps, props), renderMenus(menus, { link: link })); }; function renderMenus(menus, opts) { return menus.map(function (v) { return renderMenu(v, opts); }); } function renderMenu(menu, opts) { var path = menu.path, title = menu.title, iconComponent = menu.iconComponent, _menu$children = menu.children, children = _menu$children === void 0 ? [] : _menu$children; if (path || children.length === 0) { return renderMenuItem(menu, opts); } return /*#__PURE__*/React__default.createElement(antd.Menu.SubMenu, { key: path || title, title: /*#__PURE__*/React__default.createElement("div", null, iconComponent, /*#__PURE__*/React__default.createElement("span", null, title)) }, children.map(function (v) { return renderMenuItem(v, opts); })); } function renderMenuItem(menu, _ref2) { var Link = _ref2.link; var path = menu.path, title = menu.title, iconComponent = menu.iconComponent; return /*#__PURE__*/React__default.createElement(antd.Menu.Item, { key: path || title }, /*#__PURE__*/React__default.createElement(Link, { href: path }, /*#__PURE__*/React__default.createElement("div", null, iconComponent, /*#__PURE__*/React__default.createElement("span", { style: _objectSpread2({}, iconComponent ? { marginLeft: 10 } : {}) }, title)))); } var LayoutFrameSider = function LayoutFrameSider(_ref) { var style = _ref.style; var _useState = React.useState(false), _useState2 = _slicedToArray(_useState, 2), broken = _useState2[0], setBroken = _useState2[1]; var _useState3 = React.useState(true), _useState4 = _slicedToArray(_useState3, 2), collapse = _useState4[0], setCollapse = _useState4[1]; var _useNamedTheme = useNamedTheme(), _useNamedTheme2 = _slicedToArray(_useNamedTheme, 1), theme = _useNamedTheme2[0]; return /*#__PURE__*/React__default.createElement(antd.Layout.Sider, { theme: theme === 'dark' ? 'dark' : 'light', breakpoint: "md", onBreakpoint: setBroken, collapsedWidth: broken ? 0 : 80, collapsible: true, collapsed: collapse, onCollapse: function onCollapse(v) { return setCollapse(v); }, style: _objectSpread2({ height: '100%' }, style) }, /*#__PURE__*/React__default.createElement("div", { style: { height: '100%', overflowY: 'auto' } }, /*#__PURE__*/React__default.createElement(LayoutFrameMenu, null))); }; var LayoutFrameLayout = function LayoutFrameLayout(props) { var header = props.header, footer = props.footer, children = props.children; var showHeader = props.showHeader, showFooter = props.showFooter; if (typeof showHeader !== 'boolean') { showHeader = Boolean(header); } if (typeof showFooter !== 'boolean') { showFooter = Boolean(footer); } var layout = useLayoutFrame(); var _useNamedTheme = useNamedTheme(), _useNamedTheme2 = _slicedToArray(_useNamedTheme, 1), theme = _useNamedTheme2[0]; // height: '100%' 确保布局不变 return /*#__PURE__*/React__default.createElement(antd.Layout, { style: { height: '100%', minHeight: '100vh' }, "data-layout-frame-name": layout.name }, header && showHeader && /*#__PURE__*/React__default.createElement(antd.Layout.Header, { style: theme === 'light' ? { backgroundColor: '#fff' } : {} }, header), /*#__PURE__*/React__default.createElement(antd.Layout, { hasSider: true }, /*#__PURE__*/React__default.createElement(LayoutFrameSider, null), /*#__PURE__*/React__default.createElement(antd.Layout, null, /*#__PURE__*/React__default.createElement(antd.Layout.Content, { style: { maxHeight: '100%', overflowY: 'auto' } }, children), footer && showFooter && /*#__PURE__*/React__default.createElement(antd.Layout.Footer, null, footer)))); }; var LayoutFrame = function LayoutFrame(props) { var children = props.children, showFooter = props.showFooter, showHeader = props.showHeader, footer = props.footer, header = props.header, name = props.name, menus = props.menus, link = props.link, menuProps = props.menuProps; var layout = useLayoutFrame(props.layout ? { layout: props.layout } : {}); return /*#__PURE__*/React__default.createElement(LayoutFrameProvider, { layout: layout, options: { name: name, menus: menus, link: link, menuProps: menuProps } }, /*#__PURE__*/React__default.createElement(LayoutFrameLayout, { children: children, showFooter: showFooter, showHeader: showHeader, footer: footer, header: header })); }; var LayoutFrameContent = function LayoutFrameContent(_ref) { var children = _ref.children, style = _ref.style; var _useNamedTheme = useNamedTheme(), _useNamedTheme2 = _slicedToArray(_useNamedTheme, 1), theme = _useNamedTheme2[0]; return /*#__PURE__*/React__default.createElement("div", { style: _objectSpread2(_objectSpread2({}, theme !== 'dark' ? { backgroundColor: 'white' } : {}), {}, { margin: 8, padding: 12, minHeight: 'calc(100% - 16px)' }, style) }, children); }; exports.LayoutFrame = LayoutFrame; exports.LayoutFrameContent = LayoutFrameContent; exports.LayoutFrameLayout = LayoutFrameLayout; exports.LayoutFrameMenu = LayoutFrameMenu; exports.LayoutFrameProvider = LayoutFrameProvider; exports.LayoutFrameSider = LayoutFrameSider; exports.loadAntdTheme = loadAntdTheme; exports.useAntdTheme = useAntdTheme; exports.useLayoutFrame = useLayoutFrame; exports.useLayoutFrameOptions = useLayoutFrameOptions; exports.useLayoutFrameSelector = useLayoutFrameSelector; //# sourceMappingURL=wener-ui-antds.cjs.map