UNPKG

tntd

Version:

tntd是基于 TNT Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。

138 lines (137 loc) 7.12 kB
"use strict"; function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = { HeaderActionItem: true }; exports["default"] = exports.HeaderActionItem = void 0; var _react = _interopRequireDefault(require("react")); var _styledComponents = require("styled-components"); var _Layout = _interopRequireDefault(require("./Layout")); var _EnterpriseLayout = _interopRequireDefault(require("./EnterpriseLayout")); var _paaslayout = _interopRequireDefault(require("./paaslayout")); var _HeaderNavs = _interopRequireWildcard(require("./HeaderNavs")); Object.keys(_HeaderNavs).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _HeaderNavs[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _HeaderNavs[key]; } }); }); var _HeaderTabs = _interopRequireDefault(require("./HeaderTabs")); var _authContext = _interopRequireDefault(require("../auth-context")); var _utils = require("../utils"); var _ActionsContext = _interopRequireDefault(require("./ActionsContext")); var _createActions = _interopRequireDefault(require("./createActions")); var _storage = require("./storage"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } var __rest = void 0 && (void 0).__rest || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; var HeaderActionItem = exports.HeaderActionItem = function HeaderActionItem(props) { return _react["default"].createElement("li", Object.assign({}, props), props.children); }; var TNTLayout = function TNTLayout(_a) { var type = _a.type, config = _a.config, _a$showMenuInIframe = _a.showMenuInIframe, showMenuInIframe = _a$showMenuInIframe === void 0 ? false : _a$showMenuInIframe, props = __rest(_a, ["type", "config", "showMenuInIframe"]); var headerHeight = props.size === 'large' ? 60 : 50; var theme = { size: props.size, compatible: props.compatible, headerHeight: headerHeight, primaryColor: '#126BFB', secondaryColor: '#005df4', primaryTextColor: '#17233D', secondaryTextColor: 'rgba(23,35,61,.8)', lightIconColor: 'rgba(23,35,61,.7)', headerActionsColor: 'rgba(23,35,61,.6)', borderColor: '#B2BECD', dividerColor: '#E1E6EE', lightBgColor: '#F1F2F5', blueBgColor: '#1D4295' // 默认的蓝色主题 }; var isInIframe = showMenuInIframe ? false : self !== top && !window.navigator.userAgent.includes('mo-fang-app'); // 前期拼写错误,导致需要兼容处理 var extraHeaderActions = props.extraHeaderActions || props.extralHeaderActions; var extendMap = typeof props.extendMap === 'string' ? (0, _utils.safeParseJSON)(props.extendMap, {}) : props.extendMap; var _ref = extendMap || {}, _ref$displayType = _ref.displayType, displayType = _ref$displayType === void 0 ? 'default' : _ref$displayType, menuAlignMode = _ref.menuAlignMode, _ref$globalNavigation = _ref.globalNavigation, globalNavigation = _ref$globalNavigation === void 0 ? false : _ref$globalNavigation, _ref$language = _ref.language, language = _ref$language === void 0 ? ['cn'] : _ref$language, _ref$themeSwitch = _ref.themeSwitch, themeSwitch = _ref$themeSwitch === void 0 ? true : _ref$themeSwitch; var userInfo = props.userInfo || {}; var actionsContextValue = (0, _createActions["default"])({ language: (0, _storage.getLanguageStore)() || userInfo.lang || 'cn' }); var onLanguageChange = function onLanguageChange(language) { actionsContextValue.setLanguage(language); props.onLanguageChange && props.onLanguageChange(language); }; // layout上的指定的属性优先级会高于extendMap中的属性 type = type || displayType; config = Object.assign({ language: (language === null || language === void 0 ? void 0 : language.length) > 1, theme: themeSwitch, avatar: true, globalNavigation: globalNavigation }, config); return _react["default"].createElement(_styledComponents.ThemeProvider, { theme: theme }, _react["default"].createElement(_authContext["default"].Provider, { value: (0, _utils.getCheckAuth)(props.menus) }, _react["default"].createElement(_ActionsContext["default"].Provider, { value: actionsContextValue }, type === 'paas' && _react["default"].createElement(_paaslayout["default"], Object.assign({ menuAlignMode: menuAlignMode, config: config }, props, { extraHeaderActions: extraHeaderActions, isInIframe: isInIframe, userInfo: userInfo, onLanguageChange: onLanguageChange })), type === 'enterprise' && _react["default"].createElement(_EnterpriseLayout["default"], Object.assign({ menuAlignMode: menuAlignMode, config: config }, props, { extraHeaderActions: extraHeaderActions, isInIframe: isInIframe, userInfo: userInfo, onLanguageChange: onLanguageChange, type: type })), (!type || !['paas', 'enterprise'].includes(type)) && _react["default"].createElement(_Layout["default"], Object.assign({ menuAlignMode: menuAlignMode, config: config }, props, { extraHeaderActions: extraHeaderActions, isInIframe: isInIframe, userInfo: userInfo, onLanguageChange: onLanguageChange }))))); }; TNTLayout.HeaderActionItem = HeaderActionItem; TNTLayout.HeaderNavs = _HeaderNavs["default"]; TNTLayout.HeaderTabs = _HeaderTabs["default"]; TNTLayout.AuthContext = _authContext["default"]; TNTLayout.findMenuInfoByPath = _utils.findMenuInfoByPath; var _default = exports["default"] = TNTLayout;