New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

bi-open-menu-sdk

Package Overview
Dependencies
Maintainers
0
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bi-open-menu-sdk - npm Package Compare versions

Comparing version

to
0.0.11-beta.0

44

declaration/index.d.ts

@@ -1,4 +0,42 @@

export { I18n, getStringRealLength, getAliasName, formatNumberWithConfig, formatNumber, transposeData, LATEST_VERSION, CHANGE_LOGS, revisal, OLDEST_VERSION, getRivisalRange, } from 'bi-open';
export { Interfaces } from './interfaces';
export { CHANGE_LOGS, I18n, Interfaces, LATEST_VERSION, OLDEST_VERSION, formatNumber, formatNumberWithConfig, getAliasName, getRevisalRange, getStringRealLength, revisal, transposeData } from 'bi-open';
export { createBIComponent } from 'bi-open-react-sdk';
export { IconDefault, IconLoading, IconWrapper, MenuItem } from './components';
import * as React from 'react';
/**
* @flie 自定义菜单默认模板
*/
declare const CUSTOM_MENU_TOOLTIP_EVENT = "CUSTOM_MENU_TOOLTIP_EVENT";
declare type IconComponent<P = React.HTMLAttributes<HTMLElement>> = React.FC<P>;
declare const IconWrapper: IconComponent;
/** 菜单默认图标 */
declare const IconDefault: IconComponent;
/** 菜单 loading 图标 */
declare const IconLoading: IconComponent;
/**
* 默认自定义菜单
* @param param0
* @returns
*/
declare const MenuItem: React.FC<{
/** root element className */
className?: string;
/** root element style */
style?: React.StyleHTMLAttributes<HTMLDivElement>['style'];
/** 菜单标题 */
title?: string | React.ReactNode;
/** 菜单禁用 */
disabled?: boolean;
/** PC端鼠标 hover 提示 */
hoverTip?: string;
/** 是否加载中 */
loading?: boolean;
/** 点击事件 */
onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
/** 是否展示标题 */
showTitle?: boolean;
/** 是否展示图标 */
showIcon?: boolean;
}>;
export { CUSTOM_MENU_TOOLTIP_EVENT, IconDefault, IconLoading, IconWrapper, MenuItem };

390

dist/main/components.js

@@ -1,165 +0,245 @@

"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard.js");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault.js");
/**
* @flie 自定义菜单默认模板
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
value: true
});
exports.MenuItem = exports.IconLoading = exports.IconDefault = exports.IconWrapper = exports.CUSTOM_MENU_RENDERED_EVENT = exports.CUSTOM_MENU_TOOLTIP_EVENT = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray.js"));
var React = _interopRequireWildcard(require("react"));
require("./index.scss");
var CUSTOM_MENU_TOOLTIP_EVENT = 'CUSTOM_MENU_TOOLTIP_EVENT';
exports.CUSTOM_MENU_TOOLTIP_EVENT = CUSTOM_MENU_TOOLTIP_EVENT;
var CUSTOM_MENU_RENDERED_EVENT = 'CUSTOM_MENU_RENDERED_EVENT';
exports.CUSTOM_MENU_RENDERED_EVENT = CUSTOM_MENU_RENDERED_EVENT;
var IconWrapper = function IconWrapper(props) {
return React.createElement("i", props, React.createElement("svg", {
viewBox: '0 0 1024 1024',
"aria-hidden": "true",
width: "1em",
height: "1em",
fill: "currentColor"
}, props.children));
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
CUSTOM_MENU_TOOLTIP_EVENT: function() {
return CUSTOM_MENU_TOOLTIP_EVENT;
},
IconDefault: function() {
return IconDefault;
},
IconLoading: function() {
return IconLoading;
},
IconWrapper: function() {
return IconWrapper;
},
MenuItem: function() {
return MenuItem;
}
});
var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
function _array_like_to_array(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 _array_with_holes(arr) {
if (Array.isArray(arr)) return arr;
}
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {
__proto__: null
};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
function _iterable_to_array_limit(arr, i) {
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
if (_i == null) return;
var _arr = [];
var _n = true;
var _d = false;
var _s, _e;
try {
for(_i = _i.call(arr); !(_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 _non_iterable_rest() {
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 _sliced_to_array(arr, i) {
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
}
function _unsupported_iterable_to_array(o, minLen) {
if (!o) return;
if (typeof o === "string") return _array_like_to_array(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(n);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
}
var CUSTOM_MENU_TOOLTIP_EVENT = "CUSTOM_MENU_TOOLTIP_EVENT";
var IconWrapper = function(props) {
return /*#__PURE__*/ _react.createElement("i", props, /*#__PURE__*/ _react.createElement("svg", {
viewBox: "0 0 1024 1024",
"aria-hidden": "true",
width: "1em",
height: "1em",
fill: "currentColor"
}, props.children));
};
exports.IconWrapper = IconWrapper;
var IconDefault = function IconDefault(props) {
return React.createElement(IconWrapper, props, React.createElement("path", {
d: "M838.193105 907.620131V1023.99744H582.193745a23.193542 23.193542 0 0 1-23.295942-23.295942v-23.449541c0-82.380594-47.206282-139.468451-139.98045-139.468451-91.85257 0-139.673251 57.599856-139.673251 139.468451v23.449541a23.244742 23.244742 0 0 1-23.295942 23.244742H116.377309L0.0512 1023.99744v-116.428509l0.511999-139.673251a23.244742 23.244742 0 0 1 23.244742-23.142342h46.489483c64.10224 0 116.07011-60.262249 116.07011-139.622051 0-80.0766-51.660671-139.673251-116.07011-139.673251H23.654341a23.244742 23.244742 0 0 1-23.295942-23.244742V302.591244c0-23.80794-0.1024-62.617443-0.307199-116.37731h232.703418v-0.204799C232.754618 80.1278 299.314452 0 418.968553 0c116.735708 0 186.930733 82.278194 186.930732 186.009135v0.1536h116.530909c15.564761 0 54.374264 0 116.377309-0.1536v232.857018h22.630344c91.647771 0 162.610793 81.868595 162.610793 186.213934 0 103.730941-71.167822 186.162735-162.610793 186.162735h-23.244742v116.377309z"
}));
var IconDefault = function(props) {
return /*#__PURE__*/ _react.createElement(IconWrapper, props, /*#__PURE__*/ _react.createElement("path", {
d: "M838.193105 907.620131V1023.99744H582.193745a23.193542 23.193542 0 0 1-23.295942-23.295942v-23.449541c0-82.380594-47.206282-139.468451-139.98045-139.468451-91.85257 0-139.673251 57.599856-139.673251 139.468451v23.449541a23.244742 23.244742 0 0 1-23.295942 23.244742H116.377309L0.0512 1023.99744v-116.428509l0.511999-139.673251a23.244742 23.244742 0 0 1 23.244742-23.142342h46.489483c64.10224 0 116.07011-60.262249 116.07011-139.622051 0-80.0766-51.660671-139.673251-116.07011-139.673251H23.654341a23.244742 23.244742 0 0 1-23.295942-23.244742V302.591244c0-23.80794-0.1024-62.617443-0.307199-116.37731h232.703418v-0.204799C232.754618 80.1278 299.314452 0 418.968553 0c116.735708 0 186.930733 82.278194 186.930732 186.009135v0.1536h116.530909c15.564761 0 54.374264 0 116.377309-0.1536v232.857018h22.630344c91.647771 0 162.610793 81.868595 162.610793 186.213934 0 103.730941-71.167822 186.162735-162.610793 186.162735h-23.244742v116.377309z"
}));
};
exports.IconDefault = IconDefault;
var IconLoading = function IconLoading(props) {
return React.createElement(IconWrapper, props, React.createElement("path", {
d: "M960 447.008q-11.008-152.992-120-261.504t-260.992-120.512q-16-0.992-27.488 9.504t-11.488 26.496q0 14.016 9.504 24.512t23.488 11.488q55.008 4 107.008 26.016 60.992 26.016 108.992 73.504t74.016 109.504q22.016 51.008 26.016 106.016 0.992 14.016 11.488 23.488t24.512 9.504q15.008 0 26.016-11.008 11.008-12 8.992-27.008z"
}));
var IconLoading = function(props) {
return /*#__PURE__*/ _react.createElement(IconWrapper, props, /*#__PURE__*/ _react.createElement("path", {
d: "M960 447.008q-11.008-152.992-120-261.504t-260.992-120.512q-16-0.992-27.488 9.504t-11.488 26.496q0 14.016 9.504 24.512t23.488 11.488q55.008 4 107.008 26.016 60.992 26.016 108.992 73.504t74.016 109.504q22.016 51.008 26.016 106.016 0.992 14.016 11.488 23.488t24.512 9.504q15.008 0 26.016-11.008 11.008-12 8.992-27.008z"
}));
};
exports.IconLoading = IconLoading;
var MenuItem = function MenuItem(_ref) {
var className = _ref.className,
style = _ref.style,
title = _ref.title,
_ref$disabled = _ref.disabled,
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
_ref$loading = _ref.loading,
loading = _ref$loading === void 0 ? false : _ref$loading,
hoverTip = _ref.hoverTip,
onClick = _ref.onClick,
_ref$showTitle = _ref.showTitle,
showTitle = _ref$showTitle === void 0 ? true : _ref$showTitle,
_ref$showIcon = _ref.showIcon,
showIcon = _ref$showIcon === void 0 ? true : _ref$showIcon;
var _React$useState = React.useState(''),
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
icon = _React$useState2[0],
setIcon = _React$useState2[1];
var ref = React.useRef();
React.useEffect(function () {
if (ref.current) {
var _window$globalConfig;
var doc = ref.current.getRootNode();
var sandboxId = (_window$globalConfig = window.globalConfig) === null || _window$globalConfig === void 0 ? void 0 : _window$globalConfig.sandboxId;
var iconElem = doc.querySelector("#custom-component-icon");
if (iconElem && iconElem.textContent.indexOf(".icon-".concat(sandboxId)) >= 0) {
setIcon("icon-".concat(sandboxId));
}
function getComponentInfoByDom(elem) {
if (!elem || elem.nodeName.toUpperCase() === "BODY") {
return {
componentType: "",
name: ""
};
}
}, []);
var setTip = React.useCallback(function (visible) {
if (ref.current) {
var container = ref.current.closest('[data-custom-component-root]');
if (hoverTip && typeof hoverTip === 'string' && container) {
container.dispatchEvent(new CustomEvent(CUSTOM_MENU_TOOLTIP_EVENT, {
detail: {
title: hoverTip,
visible: visible
}
}));
}
if (typeof elem.hasAttribute === "function" && elem.hasAttribute("data-custom-component-root")) {
return {
componentType: elem.getAttribute("data-custom-component-type"),
name: elem.getAttribute("data-custom-component-name")
};
}
}, [hoverTip]);
React.useEffect(function () {
if (ref.current) {
var container = ref.current.closest('[data-custom-component-root]');
if (container) {
setTimeout(function () {
container.dispatchEvent(new CustomEvent(CUSTOM_MENU_RENDERED_EVENT));
}, 1000);
}
}
}, []);
var iconContent = React.createElement(IconDefault, {
className: "default-icon"
});
if (icon) {
iconContent = React.createElement("i", {
className: "upload-icon ".concat(icon)
return getComponentInfoByDom(elem.parentNode);
}
var MenuItem = function(param) {
var className = param.className, style = param.style, title = param.title, _param_disabled = param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, _param_loading = param.loading, loading = _param_loading === void 0 ? false : _param_loading, hoverTip = param.hoverTip, onClick = param.onClick, _param_showTitle = param.showTitle, showTitle = _param_showTitle === void 0 ? true : _param_showTitle, _param_showIcon = param.showIcon, showIcon = _param_showIcon === void 0 ? true : _param_showIcon;
var _React_useState = _sliced_to_array(_react.useState(""), 2), icon = _React_useState[0], setIcon = _React_useState[1];
var _React_useState1 = _sliced_to_array(_react.useState(""), 2), originTitle = _React_useState1[0], setOriginTitle = _React_useState1[1];
var ref = _react.useRef();
_react.useEffect(function() {
if (ref.current) {
var doc = ref.current.getRootNode();
var iconElem = doc.querySelector("#custom-component-icon");
var _getComponentInfoByDom = getComponentInfoByDom(ref.current), componentType = _getComponentInfoByDom.componentType, name = _getComponentInfoByDom.name;
setOriginTitle(name);
// 是否有组件 icon
if (iconElem && iconElem.textContent.indexOf(".icon-".concat(componentType)) >= 0) {
setIcon("icon-".concat(componentType));
}
}
}, []);
// tooltip 在 qbi 实现, 通过事件通信
var setTip = _react.useCallback(function(visible) {
if (ref.current) {
var container = ref.current.closest("[data-custom-component-root]");
if (hoverTip && typeof hoverTip === "string" && container) {
container.dispatchEvent(new CustomEvent(CUSTOM_MENU_TOOLTIP_EVENT, {
detail: {
title: hoverTip,
visible: visible
}
}));
}
}
}, [
hoverTip
]);
// 默认 icon
var iconContent = /*#__PURE__*/ _react.createElement(IconDefault, {
className: "default-icon"
});
}
if (loading) {
iconContent = React.createElement(IconLoading, {
className: "default-icon animate-cricle"
});
}
var handleClick = React.useCallback(function (e) {
if (typeof onClick === 'function' && !disabled) {
onClick(e);
// 用户上传的 icon
if (icon) {
iconContent = /*#__PURE__*/ _react.createElement("i", {
className: "upload-icon ".concat(icon)
});
}
}, [disabled, onClick]);
var handleMouseEnter = React.useCallback(function (e) {
setTip(true);
}, [setTip]);
var handleMouseLeave = React.useCallback(function (e) {
setTip(false);
}, [setTip]);
var viewTitle = React.useMemo(function () {
var _ref2, _ref2$componentInfo;
var originConfigName = (_ref2 = window.globalConfig) === null || _ref2 === void 0 ? void 0 : (_ref2$componentInfo = _ref2.componentInfo) === null || _ref2$componentInfo === void 0 ? void 0 : _ref2$componentInfo.name;
var configName = typeof originConfigName === 'string' ? originConfigName : '';
var propsTitle = typeof title === 'string' ? title : undefined;
return propsTitle !== null && propsTitle !== void 0 ? propsTitle : configName;
}, [title]);
if (!showTitle && !showIcon) {
return null;
}
return React.createElement("div", {
ref: ref,
className: "custom-card-menu ".concat(disabled ? 'disabled' : '', " ").concat(className || ''),
style: style,
onClick: handleClick,
title: viewTitle,
onMouseOver: handleMouseEnter,
onMouseLeave: handleMouseLeave
}, showIcon ? React.createElement("div", {
className: "custom-card-menu-icon"
}, iconContent) : null, showTitle ? React.createElement("div", {
className: "custom-card-menu-text"
}, viewTitle) : null);
// loading icon
if (loading) {
iconContent = /*#__PURE__*/ _react.createElement(IconLoading, {
className: "default-icon animate-cricle"
});
}
var handleClick = _react.useCallback(function(e) {
if (typeof onClick === "function" && !disabled) {
onClick(e);
e.stopPropagation();
}
}, [
disabled,
onClick
]);
var handleMouseEnter = _react.useCallback(function(e) {
setTip(true);
}, [
setTip
]);
var handleMouseLeave = _react.useCallback(function(e) {
setTip(false);
}, [
setTip
]);
var viewTitle = _react.useMemo(function() {
var propsTitle = typeof title === "string" ? title : undefined;
var _ref;
return (_ref = propsTitle !== null && propsTitle !== void 0 ? propsTitle : originTitle) !== null && _ref !== void 0 ? _ref : "";
}, [
originTitle,
title
]);
if (!showTitle && !showIcon) {
return null;
}
return /*#__PURE__*/ _react.createElement("div", {
ref: ref,
className: "custom-card-menu ".concat(disabled ? "disabled" : "", " ").concat(className || ""),
style: style,
onClick: handleClick,
title: viewTitle,
onMouseOver: handleMouseEnter,
onMouseLeave: handleMouseLeave
}, showIcon ? /*#__PURE__*/ _react.createElement("div", {
className: "custom-card-menu-icon"
}, iconContent) : null, showTitle ? /*#__PURE__*/ _react.createElement("div", {
className: "custom-card-menu-text"
}, viewTitle) : null);
};
exports.MenuItem = MenuItem;
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
value: true
});
Object.defineProperty(exports, "I18n", {
enumerable: true,
get: function get() {
return _biOpen.I18n;
}
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
CHANGE_LOGS: function() {
return _biopen.CHANGE_LOGS;
},
CUSTOM_MENU_TOOLTIP_EVENT: function() {
return _components.CUSTOM_MENU_TOOLTIP_EVENT;
},
I18n: function() {
return _biopen.I18n;
},
IconDefault: function() {
return _components.IconDefault;
},
IconLoading: function() {
return _components.IconLoading;
},
IconWrapper: function() {
return _components.IconWrapper;
},
Interfaces: function() {
return _interfaces.Interfaces;
},
LATEST_VERSION: function() {
return _biopen.LATEST_VERSION;
},
MenuItem: function() {
return _components.MenuItem;
},
OLDEST_VERSION: function() {
return _biopen.OLDEST_VERSION;
},
createBIComponent: function() {
return _biopenreactsdk.createBIComponent;
},
formatNumber: function() {
return _biopen.formatNumber;
},
formatNumberWithConfig: function() {
return _biopen.formatNumberWithConfig;
},
getAliasName: function() {
return _biopen.getAliasName;
},
getRevisalRange: function() {
return _biopen.getRevisalRange;
},
getStringRealLength: function() {
return _biopen.getStringRealLength;
},
revisal: function() {
return _biopen.revisal;
},
transposeData: function() {
return _biopen.transposeData;
}
});
Object.defineProperty(exports, "getStringRealLength", {
enumerable: true,
get: function get() {
return _biOpen.getStringRealLength;
}
});
Object.defineProperty(exports, "getAliasName", {
enumerable: true,
get: function get() {
return _biOpen.getAliasName;
}
});
Object.defineProperty(exports, "formatNumberWithConfig", {
enumerable: true,
get: function get() {
return _biOpen.formatNumberWithConfig;
}
});
Object.defineProperty(exports, "formatNumber", {
enumerable: true,
get: function get() {
return _biOpen.formatNumber;
}
});
Object.defineProperty(exports, "transposeData", {
enumerable: true,
get: function get() {
return _biOpen.transposeData;
}
});
Object.defineProperty(exports, "LATEST_VERSION", {
enumerable: true,
get: function get() {
return _biOpen.LATEST_VERSION;
}
});
Object.defineProperty(exports, "CHANGE_LOGS", {
enumerable: true,
get: function get() {
return _biOpen.CHANGE_LOGS;
}
});
Object.defineProperty(exports, "revisal", {
enumerable: true,
get: function get() {
return _biOpen.revisal;
}
});
Object.defineProperty(exports, "OLDEST_VERSION", {
enumerable: true,
get: function get() {
return _biOpen.OLDEST_VERSION;
}
});
Object.defineProperty(exports, "getRivisalRange", {
enumerable: true,
get: function get() {
return _biOpen.getRivisalRange;
}
});
Object.defineProperty(exports, "Interfaces", {
enumerable: true,
get: function get() {
return _interfaces.Interfaces;
}
});
Object.defineProperty(exports, "createBIComponent", {
enumerable: true,
get: function get() {
return _biOpenReactSdk.createBIComponent;
}
});
Object.defineProperty(exports, "IconDefault", {
enumerable: true,
get: function get() {
return _components.IconDefault;
}
});
Object.defineProperty(exports, "IconLoading", {
enumerable: true,
get: function get() {
return _components.IconLoading;
}
});
Object.defineProperty(exports, "IconWrapper", {
enumerable: true,
get: function get() {
return _components.IconWrapper;
}
});
Object.defineProperty(exports, "MenuItem", {
enumerable: true,
get: function get() {
return _components.MenuItem;
}
});
var _biOpen = require("bi-open");
var _biopen = require("bi-open");
var _interfaces = require("./interfaces");
var _biOpenReactSdk = require("bi-open-react-sdk");
var _components = require("./components");
var _biopenreactsdk = require("bi-open-react-sdk");
var _components = require("./components");

@@ -0,13 +1,14 @@

/**
* 接口全部来自 bi-open
*/ // eslint-disable-next-line rulesdir/no-useless-export
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
value: true
});
Object.defineProperty(exports, "Interfaces", {
enumerable: true,
get: function get() {
return _biOpen.Interfaces;
}
enumerable: true,
get: function() {
return _biopen.Interfaces;
}
});
var _biOpen = require("bi-open");
var _biopen = require("bi-open");

@@ -1,137 +0,128 @@

import _slicedToArray from "@babel/runtime/helpers/slicedToArray.js";
import * as React from 'react';
import './index.scss';
export var CUSTOM_MENU_TOOLTIP_EVENT = 'CUSTOM_MENU_TOOLTIP_EVENT';
export var CUSTOM_MENU_RENDERED_EVENT = 'CUSTOM_MENU_RENDERED_EVENT';
export var IconWrapper = function IconWrapper(props) {
return React.createElement("i", props, React.createElement("svg", {
viewBox: '0 0 1024 1024',
"aria-hidden": "true",
width: "1em",
height: "1em",
fill: "currentColor"
}, props.children));
};
export var IconDefault = function IconDefault(props) {
return React.createElement(IconWrapper, props, React.createElement("path", {
d: "M838.193105 907.620131V1023.99744H582.193745a23.193542 23.193542 0 0 1-23.295942-23.295942v-23.449541c0-82.380594-47.206282-139.468451-139.98045-139.468451-91.85257 0-139.673251 57.599856-139.673251 139.468451v23.449541a23.244742 23.244742 0 0 1-23.295942 23.244742H116.377309L0.0512 1023.99744v-116.428509l0.511999-139.673251a23.244742 23.244742 0 0 1 23.244742-23.142342h46.489483c64.10224 0 116.07011-60.262249 116.07011-139.622051 0-80.0766-51.660671-139.673251-116.07011-139.673251H23.654341a23.244742 23.244742 0 0 1-23.295942-23.244742V302.591244c0-23.80794-0.1024-62.617443-0.307199-116.37731h232.703418v-0.204799C232.754618 80.1278 299.314452 0 418.968553 0c116.735708 0 186.930733 82.278194 186.930732 186.009135v0.1536h116.530909c15.564761 0 54.374264 0 116.377309-0.1536v232.857018h22.630344c91.647771 0 162.610793 81.868595 162.610793 186.213934 0 103.730941-71.167822 186.162735-162.610793 186.162735h-23.244742v116.377309z"
}));
};
export var IconLoading = function IconLoading(props) {
return React.createElement(IconWrapper, props, React.createElement("path", {
d: "M960 447.008q-11.008-152.992-120-261.504t-260.992-120.512q-16-0.992-27.488 9.504t-11.488 26.496q0 14.016 9.504 24.512t23.488 11.488q55.008 4 107.008 26.016 60.992 26.016 108.992 73.504t74.016 109.504q22.016 51.008 26.016 106.016 0.992 14.016 11.488 23.488t24.512 9.504q15.008 0 26.016-11.008 11.008-12 8.992-27.008z"
}));
};
export var MenuItem = function MenuItem(_ref) {
var className = _ref.className,
style = _ref.style,
title = _ref.title,
_ref$disabled = _ref.disabled,
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
_ref$loading = _ref.loading,
loading = _ref$loading === void 0 ? false : _ref$loading,
hoverTip = _ref.hoverTip,
onClick = _ref.onClick,
_ref$showTitle = _ref.showTitle,
showTitle = _ref$showTitle === void 0 ? true : _ref$showTitle,
_ref$showIcon = _ref.showIcon,
showIcon = _ref$showIcon === void 0 ? true : _ref$showIcon;
var _React$useState = React.useState(''),
_React$useState2 = _slicedToArray(_React$useState, 2),
icon = _React$useState2[0],
setIcon = _React$useState2[1];
var ref = React.useRef();
React.useEffect(function () {
if (ref.current) {
var _window$globalConfig;
var doc = ref.current.getRootNode();
var sandboxId = (_window$globalConfig = window.globalConfig) === null || _window$globalConfig === void 0 ? void 0 : _window$globalConfig.sandboxId;
var iconElem = doc.querySelector("#custom-component-icon");
if (iconElem && iconElem.textContent.indexOf(".icon-".concat(sandboxId)) >= 0) {
setIcon("icon-".concat(sandboxId));
}
/**
* @flie 自定义菜单默认模板
*/ import * as React from 'react';
export const CUSTOM_MENU_TOOLTIP_EVENT = 'CUSTOM_MENU_TOOLTIP_EVENT';
export const IconWrapper = (props)=>/*#__PURE__*/ React.createElement("i", props, /*#__PURE__*/ React.createElement("svg", {
viewBox: '0 0 1024 1024',
"aria-hidden": "true",
width: "1em",
height: "1em",
fill: "currentColor"
}, props.children));
/** 菜单默认图标 */ export const IconDefault = (props)=>/*#__PURE__*/ React.createElement(IconWrapper, props, /*#__PURE__*/ React.createElement("path", {
d: "M838.193105 907.620131V1023.99744H582.193745a23.193542 23.193542 0 0 1-23.295942-23.295942v-23.449541c0-82.380594-47.206282-139.468451-139.98045-139.468451-91.85257 0-139.673251 57.599856-139.673251 139.468451v23.449541a23.244742 23.244742 0 0 1-23.295942 23.244742H116.377309L0.0512 1023.99744v-116.428509l0.511999-139.673251a23.244742 23.244742 0 0 1 23.244742-23.142342h46.489483c64.10224 0 116.07011-60.262249 116.07011-139.622051 0-80.0766-51.660671-139.673251-116.07011-139.673251H23.654341a23.244742 23.244742 0 0 1-23.295942-23.244742V302.591244c0-23.80794-0.1024-62.617443-0.307199-116.37731h232.703418v-0.204799C232.754618 80.1278 299.314452 0 418.968553 0c116.735708 0 186.930733 82.278194 186.930732 186.009135v0.1536h116.530909c15.564761 0 54.374264 0 116.377309-0.1536v232.857018h22.630344c91.647771 0 162.610793 81.868595 162.610793 186.213934 0 103.730941-71.167822 186.162735-162.610793 186.162735h-23.244742v116.377309z"
}));
/** 菜单 loading 图标 */ export const IconLoading = (props)=>/*#__PURE__*/ React.createElement(IconWrapper, props, /*#__PURE__*/ React.createElement("path", {
d: "M960 447.008q-11.008-152.992-120-261.504t-260.992-120.512q-16-0.992-27.488 9.504t-11.488 26.496q0 14.016 9.504 24.512t23.488 11.488q55.008 4 107.008 26.016 60.992 26.016 108.992 73.504t74.016 109.504q22.016 51.008 26.016 106.016 0.992 14.016 11.488 23.488t24.512 9.504q15.008 0 26.016-11.008 11.008-12 8.992-27.008z"
}));
function getComponentInfoByDom(elem) {
if (!elem || elem.nodeName.toUpperCase() === 'BODY') {
return {
componentType: '',
name: ''
};
}
}, []);
var setTip = React.useCallback(function (visible) {
if (ref.current) {
var container = ref.current.closest('[data-custom-component-root]');
if (hoverTip && typeof hoverTip === 'string' && container) {
container.dispatchEvent(new CustomEvent(CUSTOM_MENU_TOOLTIP_EVENT, {
detail: {
title: hoverTip,
visible: visible
}
}));
}
if (typeof elem.hasAttribute === 'function' && elem.hasAttribute('data-custom-component-root')) {
return {
componentType: elem.getAttribute('data-custom-component-type'),
name: elem.getAttribute('data-custom-component-name')
};
}
}, [hoverTip]);
React.useEffect(function () {
if (ref.current) {
var container = ref.current.closest('[data-custom-component-root]');
if (container) {
setTimeout(function () {
container.dispatchEvent(new CustomEvent(CUSTOM_MENU_RENDERED_EVENT));
}, 1000);
}
}
}, []);
var iconContent = React.createElement(IconDefault, {
className: "default-icon"
});
if (icon) {
iconContent = React.createElement("i", {
className: "upload-icon ".concat(icon)
return getComponentInfoByDom(elem.parentNode);
}
/**
* 默认自定义菜单
* @param param0
* @returns
*/ export const MenuItem = ({ className, style, title, disabled = false, loading = false, hoverTip, onClick, showTitle = true, showIcon = true })=>{
const [icon, setIcon] = React.useState('');
const [originTitle, setOriginTitle] = React.useState('');
const ref = React.useRef();
React.useEffect(()=>{
if (ref.current) {
const doc = ref.current.getRootNode();
const iconElem = doc.querySelector(`#custom-component-icon`);
const { componentType, name } = getComponentInfoByDom(ref.current);
setOriginTitle(name);
// 是否有组件 icon
if (iconElem && iconElem.textContent.indexOf(`.icon-${componentType}`) >= 0) {
setIcon(`icon-${componentType}`);
}
}
}, []);
// tooltip 在 qbi 实现, 通过事件通信
const setTip = React.useCallback((visible)=>{
if (ref.current) {
const container = ref.current.closest('[data-custom-component-root]');
if (hoverTip && typeof hoverTip === 'string' && container) {
container.dispatchEvent(new CustomEvent(CUSTOM_MENU_TOOLTIP_EVENT, {
detail: {
title: hoverTip,
visible
}
}));
}
}
}, [
hoverTip
]);
// 默认 icon
let iconContent = /*#__PURE__*/ React.createElement(IconDefault, {
className: "default-icon"
});
}
if (loading) {
iconContent = React.createElement(IconLoading, {
className: "default-icon animate-cricle"
});
}
var handleClick = React.useCallback(function (e) {
if (typeof onClick === 'function' && !disabled) {
onClick(e);
// 用户上传的 icon
if (icon) {
iconContent = /*#__PURE__*/ React.createElement("i", {
className: `upload-icon ${icon}`
});
}
}, [disabled, onClick]);
var handleMouseEnter = React.useCallback(function (e) {
setTip(true);
}, [setTip]);
var handleMouseLeave = React.useCallback(function (e) {
setTip(false);
}, [setTip]);
var viewTitle = React.useMemo(function () {
var _ref2, _ref2$componentInfo;
var originConfigName = (_ref2 = window.globalConfig) === null || _ref2 === void 0 ? void 0 : (_ref2$componentInfo = _ref2.componentInfo) === null || _ref2$componentInfo === void 0 ? void 0 : _ref2$componentInfo.name;
var configName = typeof originConfigName === 'string' ? originConfigName : '';
var propsTitle = typeof title === 'string' ? title : undefined;
return propsTitle !== null && propsTitle !== void 0 ? propsTitle : configName;
}, [title]);
if (!showTitle && !showIcon) {
return null;
}
return React.createElement("div", {
ref: ref,
className: "custom-card-menu ".concat(disabled ? 'disabled' : '', " ").concat(className || ''),
style: style,
onClick: handleClick,
title: viewTitle,
onMouseOver: handleMouseEnter,
onMouseLeave: handleMouseLeave
}, showIcon ? React.createElement("div", {
className: "custom-card-menu-icon"
}, iconContent) : null, showTitle ? React.createElement("div", {
className: "custom-card-menu-text"
}, viewTitle) : null);
};
// loading icon
if (loading) {
iconContent = /*#__PURE__*/ React.createElement(IconLoading, {
className: "default-icon animate-cricle"
});
}
const handleClick = React.useCallback((e)=>{
if (typeof onClick === 'function' && !disabled) {
onClick(e);
e.stopPropagation();
}
}, [
disabled,
onClick
]);
const handleMouseEnter = React.useCallback((e)=>{
setTip(true);
}, [
setTip
]);
const handleMouseLeave = React.useCallback((e)=>{
setTip(false);
}, [
setTip
]);
const viewTitle = React.useMemo(()=>{
const propsTitle = typeof title === 'string' ? title : undefined;
var _ref;
return (_ref = propsTitle !== null && propsTitle !== void 0 ? propsTitle : originTitle) !== null && _ref !== void 0 ? _ref : '';
}, [
originTitle,
title
]);
if (!showTitle && !showIcon) {
return null;
}
return /*#__PURE__*/ React.createElement("div", {
ref: ref,
className: `custom-card-menu ${disabled ? 'disabled' : ''} ${className || ''}`,
style: style,
onClick: handleClick,
title: viewTitle,
onMouseOver: handleMouseEnter,
onMouseLeave: handleMouseLeave
}, showIcon ? /*#__PURE__*/ React.createElement("div", {
className: "custom-card-menu-icon"
}, iconContent) : null, showTitle ? /*#__PURE__*/ React.createElement("div", {
className: "custom-card-menu-text"
}, viewTitle) : null);
};

@@ -1,4 +0,4 @@

export { I18n, getStringRealLength, getAliasName, formatNumberWithConfig, formatNumber, transposeData, LATEST_VERSION, CHANGE_LOGS, revisal, OLDEST_VERSION, getRivisalRange } from 'bi-open';
export { I18n, getStringRealLength, getAliasName, formatNumberWithConfig, formatNumber, transposeData, LATEST_VERSION, CHANGE_LOGS, revisal, OLDEST_VERSION, getRevisalRange } from 'bi-open';
export { Interfaces } from './interfaces';
export { createBIComponent } from 'bi-open-react-sdk';
export { IconDefault, IconLoading, IconWrapper, MenuItem } from './components';
export { IconDefault, IconLoading, IconWrapper, MenuItem, CUSTOM_MENU_TOOLTIP_EVENT } from './components';

@@ -1,1 +0,4 @@

export { Interfaces } from 'bi-open';
/**
* 接口全部来自 bi-open
*/ // eslint-disable-next-line rulesdir/no-useless-export
export { Interfaces } from 'bi-open';
{
"name": "bi-open-menu-sdk",
"version": "0.0.10",
"version": "0.0.11-beta.0",
"main": "dist/main",

@@ -17,4 +17,5 @@ "peerDependencies": {

],
"npmClient": "npm",
"dependencies": {
"bi-open-react-sdk": "^2.1.15"
"react": "16.14.0"
},

@@ -21,0 +22,0 @@ "module": "dist/module",