@vtx/cs-map 1.0.106 → 1.0.107
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/dom/index.js +39 -6
- package/lib/dom/index.js.map +1 -1
- package/package.json +1 -1
package/lib/dom/index.js
CHANGED
|
@@ -10,7 +10,7 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
|
10
10
|
var _ahooks = require("ahooks");
|
|
11
11
|
var _useProps2 = _interopRequireDefault(require("../use-props"));
|
|
12
12
|
var _Dom = _interopRequireDefault(require("./Dom"));
|
|
13
|
-
var _excluded = ["data", "cssText", "show", "children"];
|
|
13
|
+
var _excluded = ["data", "getParentContainer", "style", "cssText", "show", "children"];
|
|
14
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
15
15
|
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); }
|
|
16
16
|
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; }
|
|
@@ -21,8 +21,22 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
21
21
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
22
22
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
23
23
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
|
|
24
|
+
// 将 jsx 的 style 小驼峰的 key 属性,转化为 cssText 的 -
|
|
25
|
+
var convertCamelToCSS = function convertCamelToCSS(style) {
|
|
26
|
+
var cssText = '';
|
|
27
|
+
for (var property in style) {
|
|
28
|
+
if (style.hasOwnProperty(property)) {
|
|
29
|
+
var value = style[property];
|
|
30
|
+
var cssProperty = property.replace(/([A-Z])/g, '-$1').toLowerCase();
|
|
31
|
+
cssText += "".concat(cssProperty, ": ").concat(value, "; ");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return cssText;
|
|
35
|
+
};
|
|
24
36
|
function _default(props) {
|
|
25
37
|
var data = props.data,
|
|
38
|
+
getParentContainer = props.getParentContainer,
|
|
39
|
+
style = props.style,
|
|
26
40
|
cssText = props.cssText,
|
|
27
41
|
_props$show = props.show,
|
|
28
42
|
show = _props$show === void 0 ? true : _props$show,
|
|
@@ -33,7 +47,7 @@ function _default(props) {
|
|
|
33
47
|
var domRef = (0, _react.useRef)(document.createElement('div'));
|
|
34
48
|
var overlay = (0, _react.useRef)();
|
|
35
49
|
(0, _react.useEffect)(function () {
|
|
36
|
-
|
|
50
|
+
setStyle(cssText, style);
|
|
37
51
|
overlay.current = new _Dom["default"](_objectSpread({
|
|
38
52
|
map: map,
|
|
39
53
|
position: data,
|
|
@@ -41,21 +55,40 @@ function _default(props) {
|
|
|
41
55
|
positioning: "bottom-center",
|
|
42
56
|
offset: [0, -10]
|
|
43
57
|
}, otherProps));
|
|
44
|
-
map._element
|
|
58
|
+
var parentDom = getParentContainer ? getParentContainer() : map._element;
|
|
59
|
+
parentDom.appendChild(domRef.current);
|
|
45
60
|
return function () {
|
|
46
61
|
overlay.current.destroy();
|
|
47
|
-
|
|
62
|
+
parentDom.removeChild(domRef.current);
|
|
48
63
|
};
|
|
49
64
|
}, []);
|
|
50
65
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
51
|
-
|
|
52
|
-
}, [cssText]);
|
|
66
|
+
setStyle(cssText, style);
|
|
67
|
+
}, [cssText, JSON.stringify(style)]);
|
|
53
68
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
54
69
|
overlay.current.setPosition(data);
|
|
55
70
|
}, [JSON.stringify(data)]);
|
|
56
71
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
57
72
|
domRef.current.style.display = show ? 'block' : 'none';
|
|
58
73
|
}, [show]);
|
|
74
|
+
var setStyle = function setStyle(_cssText, _style) {
|
|
75
|
+
var cssText = "\n display: ".concat(show ? 'block' : 'none', ";\n position: absolute;\n user-select: none;\n pointer-events: none;\n ");
|
|
76
|
+
|
|
77
|
+
// 兼容css未加;
|
|
78
|
+
if (_cssText) {
|
|
79
|
+
var lastStr = _cssText[_cssText.length - 1];
|
|
80
|
+
if (lastStr !== ';') {
|
|
81
|
+
_cssText = "".concat(_cssText, "; ");
|
|
82
|
+
}
|
|
83
|
+
cssText = "\n ".concat(cssText, "\n ").concat(_cssText, "\n ");
|
|
84
|
+
}
|
|
85
|
+
if (_style) {
|
|
86
|
+
// 转换为CSS文本
|
|
87
|
+
var styleToCss = convertCamelToCSS(_style);
|
|
88
|
+
cssText = "\n ".concat(cssText, "\n ").concat(styleToCss, "\n ");
|
|
89
|
+
}
|
|
90
|
+
domRef.current.style.cssText = cssText;
|
|
91
|
+
};
|
|
59
92
|
return /*#__PURE__*/_reactDom["default"].createPortal(children, domRef.current);
|
|
60
93
|
}
|
|
61
94
|
|
package/lib/dom/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_ahooks","_useProps2","_Dom","_excluded","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","_default","props","data","cssText","_props$show","show","children","otherProps","_useProps","useProps","map","domRef","useRef","document","createElement","overlay","useEffect","current","style","concat","Dom","position","element","positioning","offset","_element","appendChild","destroy","removeChild","useUpdateEffect","setPosition","JSON","stringify","display","ReactDOM","createPortal"],"sources":["dom/index.jsx"],"sourcesContent":["import React, {useRef, useEffect} from 'react';\nimport ReactDOM from 'react-dom';\nimport {useUpdateEffect} from 'ahooks';\nimport useProps from '../use-props';\nimport Dom from './Dom';\n\nexport default function (props) {\n const {data, cssText, show = true, children, ...otherProps} = props;\n const {map} = useProps();\n\n const domRef = useRef(document.createElement('div'));\n const overlay = useRef();\n\n useEffect(() => {\n domRef.current.style.cssText = `\n display: ${show ? 'block' : 'none'};\n position: absolute;\n user-select: none;\n pointer-events: none;\n ${cssText}\n `;\n\n overlay.current = new Dom({\n map,\n position: data,\n element: domRef.current,\n positioning: \"bottom-center\",\n offset: [0, -10],\n ...otherProps\n });\n\n map._element.appendChild(domRef.current);\n\n return () => {\n overlay.current.destroy();\n\n map._element.removeChild(domRef.current);\n }\n }, []);\n\n useUpdateEffect(() => {\n domRef.current.style.cssText = `\n display: ${show ? 'block' : 'none'};\n position: absolute;\n user-select: none;\n pointer-events: none;\n ${cssText}\n `\n }, [cssText])\n\n useUpdateEffect(() => {\n overlay.current.setPosition(data)\n }, [JSON.stringify(data)])\n\n useUpdateEffect(() => {\n domRef.current.style.display = show ? 'block' : 'none';\n }, [show])\n\n return ReactDOM.createPortal(\n children,\n domRef.current\n );\n}\n\n// export default function (props) {\n// const {data, style, show = true, children, ...otherProps} = props;\n// const {map} = useProps();\n//\n// const domRef = useRef();\n// const overlay = useRef();\n//\n// useEffect(() => {\n// overlay.current = new Dom({\n// map,\n// position: data,\n// element: domRef.current,\n// positioning: \"bottom-center\",\n// offset: [0, -10],\n// ...otherProps\n// });\n//\n// return () => {\n// overlay.current.destroy();\n// }\n// }, []);\n//\n// useUpdateEffect(() => {\n// overlay.current.setPosition(data)\n// }, [JSON.stringify(data)])\n//\n// return (\n// <div\n// ref={domRef}\n// style={{\n// display: show ? 'block' : 'none',\n// position: 'absolute',\n// userSelect: 'none',\n// pointerEvents: 'none',\n// ...style\n// }}\n// >\n// {children}\n// </div>\n// )\n// }\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_ahooks","_useProps2","_Dom","_excluded","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","convertCamelToCSS","style","cssText","property","cssProperty","replace","toLowerCase","concat","_default","props","data","getParentContainer","_props$show","show","children","otherProps","_useProps","useProps","map","domRef","useRef","document","createElement","overlay","useEffect","setStyle","current","Dom","position","element","positioning","offset","parentDom","_element","appendChild","destroy","removeChild","useUpdateEffect","JSON","stringify","setPosition","display","_cssText","_style","lastStr","styleToCss","ReactDOM","createPortal"],"sources":["dom/index.jsx"],"sourcesContent":["import React, {useRef, useEffect} from 'react';\nimport ReactDOM from 'react-dom';\nimport {useUpdateEffect} from 'ahooks';\nimport useProps from '../use-props';\nimport Dom from './Dom';\n\n// 将 jsx 的 style 小驼峰的 key 属性,转化为 cssText 的 -\nconst convertCamelToCSS = (style) => {\n let cssText = '';\n for (let property in style) {\n if (style.hasOwnProperty(property)) {\n let value = style[property];\n let cssProperty = property.replace(/([A-Z])/g, '-$1').toLowerCase();\n cssText += `${cssProperty}: ${value}; `;\n }\n }\n\n return cssText;\n}\n\nexport default function (props) {\n const {data, getParentContainer, style, cssText, show = true, children, ...otherProps} = props;\n const {map} = useProps();\n\n const domRef = useRef(document.createElement('div'));\n const overlay = useRef();\n\n useEffect(() => {\n setStyle(cssText, style);\n\n overlay.current = new Dom({\n map,\n position: data,\n element: domRef.current,\n positioning: \"bottom-center\",\n offset: [0, -10],\n ...otherProps\n });\n\n const parentDom = getParentContainer ? getParentContainer() : map._element;\n parentDom.appendChild(domRef.current);\n\n return () => {\n overlay.current.destroy();\n\n parentDom.removeChild(domRef.current);\n }\n }, []);\n\n useUpdateEffect(() => {\n setStyle(cssText, style);\n }, [cssText, JSON.stringify(style)]);\n\n useUpdateEffect(() => {\n overlay.current.setPosition(data)\n }, [JSON.stringify(data)])\n\n useUpdateEffect(() => {\n domRef.current.style.display = show ? 'block' : 'none';\n }, [show])\n\n const setStyle = (_cssText, _style) => {\n let cssText = `\n display: ${show ? 'block' : 'none'};\n position: absolute;\n user-select: none;\n pointer-events: none;\n `;\n\n // 兼容css未加;\n if (_cssText) {\n const lastStr = _cssText[_cssText.length - 1];\n if (lastStr !== ';') {\n _cssText = `${_cssText}; `\n }\n\n cssText = `\n ${cssText}\n ${_cssText}\n `\n }\n\n if (_style) {\n // 转换为CSS文本\n const styleToCss = convertCamelToCSS(_style);\n cssText = `\n ${cssText}\n ${styleToCss}\n `\n }\n\n domRef.current.style.cssText = cssText;\n }\n\n return ReactDOM.createPortal(\n children,\n domRef.current\n );\n}\n\n// export default function (props) {\n// const {data, style, show = true, children, ...otherProps} = props;\n// const {map} = useProps();\n//\n// const domRef = useRef();\n// const overlay = useRef();\n//\n// useEffect(() => {\n// overlay.current = new Dom({\n// map,\n// position: data,\n// element: domRef.current,\n// positioning: \"bottom-center\",\n// offset: [0, -10],\n// ...otherProps\n// });\n//\n// return () => {\n// overlay.current.destroy();\n// }\n// }, []);\n//\n// useUpdateEffect(() => {\n// overlay.current.setPosition(data)\n// }, [JSON.stringify(data)])\n//\n// return (\n// <div\n// ref={domRef}\n// style={{\n// display: show ? 'block' : 'none',\n// position: 'absolute',\n// userSelect: 'none',\n// pointerEvents: 'none',\n// ...style\n// }}\n// >\n// {children}\n// </div>\n// )\n// }\n"],"mappings":"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","ignoreList":[]}
|