@kne-components/components-thirdparty 0.1.2 → 0.1.4
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/build/asset-manifest.json +50 -46
- package/build/index.html +1 -1
- package/build/remoteEntry.js +1 -1
- package/build/remoteEntry.js.map +1 -1
- package/build/static/css/{1459.f63753b1.chunk.css → 1459.6940ef2a.chunk.css} +2 -2
- package/build/static/css/1459.6940ef2a.chunk.css.map +1 -0
- package/build/static/css/3459.11e3d878.chunk.css +2 -0
- package/build/static/css/3459.11e3d878.chunk.css.map +1 -0
- package/build/static/css/{445.f50ca902.chunk.css → 445.28578b81.chunk.css} +2 -2
- package/build/static/css/{445.f50ca902.chunk.css.map → 445.28578b81.chunk.css.map} +1 -1
- package/build/static/css/7413.d758504c.chunk.css +2 -0
- package/build/static/css/7413.d758504c.chunk.css.map +1 -0
- package/build/static/css/8959.8ccaaff9.chunk.css +2 -0
- package/build/static/css/{8959.a3a4050f.chunk.css.map → 8959.8ccaaff9.chunk.css.map} +1 -1
- package/build/static/js/1400.7f0d6e9b.chunk.js +2 -0
- package/build/static/js/1400.7f0d6e9b.chunk.js.map +1 -0
- package/build/static/js/{1459.7958803c.chunk.js → 1459.65125dfd.chunk.js} +2 -2
- package/build/static/js/{1459.7958803c.chunk.js.map → 1459.65125dfd.chunk.js.map} +1 -1
- package/build/static/js/1488.bff7c5f6.chunk.js +2 -0
- package/build/static/js/1488.bff7c5f6.chunk.js.map +1 -0
- package/build/static/js/1536.5be4548d.chunk.js +2 -0
- package/build/static/js/1536.5be4548d.chunk.js.map +1 -0
- package/build/static/js/1656.e7fb3ce1.chunk.js +3 -0
- package/build/static/js/1656.e7fb3ce1.chunk.js.map +1 -0
- package/build/static/js/1876.9d3569ac.chunk.js +2 -0
- package/build/static/js/1876.9d3569ac.chunk.js.map +1 -0
- package/build/static/js/3306.1922283b.chunk.js +3 -0
- package/build/static/js/3306.1922283b.chunk.js.map +1 -0
- package/build/static/js/3459.e46d1437.chunk.js +3 -0
- package/build/static/js/3459.e46d1437.chunk.js.map +1 -0
- package/build/static/js/445.fb041d0f.chunk.js +3 -0
- package/build/static/js/445.fb041d0f.chunk.js.map +1 -0
- package/build/static/js/4502.5d62dbc9.chunk.js +2 -0
- package/build/static/js/4502.5d62dbc9.chunk.js.map +1 -0
- package/build/static/js/6467.6c97da7e.chunk.js +3 -0
- package/build/static/js/6467.6c97da7e.chunk.js.map +1 -0
- package/build/static/js/7413.9c4449f6.chunk.js +3 -0
- package/build/static/js/7413.9c4449f6.chunk.js.map +1 -0
- package/build/static/js/8601.3258b6ed.chunk.js +2 -0
- package/build/static/js/8601.3258b6ed.chunk.js.map +1 -0
- package/build/static/js/{8959.950f6c0b.chunk.js → 8959.c5f81354.chunk.js} +3 -3
- package/build/static/js/{8959.950f6c0b.chunk.js.map → 8959.c5f81354.chunk.js.map} +1 -1
- package/build/static/js/9019.b7d9b42c.chunk.js +2 -0
- package/build/static/js/9019.b7d9b42c.chunk.js.map +1 -0
- package/build/static/js/9155.a1f045a7.chunk.js +2 -0
- package/build/static/js/9155.a1f045a7.chunk.js.map +1 -0
- package/build/static/js/main.5af89a43.js +2 -0
- package/build/static/js/main.5af89a43.js.map +1 -0
- package/package.json +2 -1
- package/build/static/css/1375.4892d9cd.chunk.css +0 -2
- package/build/static/css/1375.4892d9cd.chunk.css.map +0 -1
- package/build/static/css/1459.f63753b1.chunk.css.map +0 -1
- package/build/static/css/7413.d7bad216.chunk.css +0 -2
- package/build/static/css/7413.d7bad216.chunk.css.map +0 -1
- package/build/static/css/8959.a3a4050f.chunk.css +0 -2
- package/build/static/js/1375.5fd1365d.chunk.js +0 -3
- package/build/static/js/1375.5fd1365d.chunk.js.map +0 -1
- package/build/static/js/1520.324eba08.chunk.js +0 -3
- package/build/static/js/1520.324eba08.chunk.js.map +0 -1
- package/build/static/js/1536.13ae1f94.chunk.js +0 -2
- package/build/static/js/1536.13ae1f94.chunk.js.map +0 -1
- package/build/static/js/1876.ff9bf408.chunk.js +0 -2
- package/build/static/js/1876.ff9bf408.chunk.js.map +0 -1
- package/build/static/js/2357.f534d861.chunk.js +0 -3
- package/build/static/js/2357.f534d861.chunk.js.map +0 -1
- package/build/static/js/3201.dc27e415.chunk.js +0 -2
- package/build/static/js/3201.dc27e415.chunk.js.map +0 -1
- package/build/static/js/3306.4e093e03.chunk.js +0 -3
- package/build/static/js/3306.4e093e03.chunk.js.map +0 -1
- package/build/static/js/445.7dbf8be7.chunk.js +0 -3
- package/build/static/js/445.7dbf8be7.chunk.js.map +0 -1
- package/build/static/js/7413.d6cc5d20.chunk.js +0 -3
- package/build/static/js/7413.d6cc5d20.chunk.js.map +0 -1
- package/build/static/js/7571.5bb209ef.chunk.js +0 -2
- package/build/static/js/7571.5bb209ef.chunk.js.map +0 -1
- package/build/static/js/8601.270b455b.chunk.js +0 -2
- package/build/static/js/8601.270b455b.chunk.js.map +0 -1
- package/build/static/js/9155.0039c22a.chunk.js +0 -2
- package/build/static/js/9155.0039c22a.chunk.js.map +0 -1
- package/build/static/js/main.a74e74f6.js +0 -2
- package/build/static/js/main.a74e74f6.js.map +0 -1
- /package/build/static/js/{1520.324eba08.chunk.js.LICENSE.txt → 1656.e7fb3ce1.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{1375.5fd1365d.chunk.js.LICENSE.txt → 3306.1922283b.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{2357.f534d861.chunk.js.LICENSE.txt → 3459.e46d1437.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{3306.4e093e03.chunk.js.LICENSE.txt → 445.fb041d0f.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{445.7dbf8be7.chunk.js.LICENSE.txt → 6467.6c97da7e.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{7413.d6cc5d20.chunk.js.LICENSE.txt → 7413.9c4449f6.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{8959.950f6c0b.chunk.js.LICENSE.txt → 8959.c5f81354.chunk.js.LICENSE.txt} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_kne_components_components_thirdparty=self.webpackChunk_kne_components_components_thirdparty||[]).push([[1536,9155],{4757:(t,e,n)=>{var r=n(56552);t.exports=function(){return r.Date.now()}},9812:(t,e,n)=>{var r=n(56552).Symbol;t.exports=r},10143:t=>{var e=/\s/;t.exports=function(t){for(var n=t.length;n--&&e.test(t.charAt(n)););return n}},16095:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},16913:(t,e,n)=>{var r=n(9812),o=n(34552),i=n(16095),u=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":u&&u in Object(t)?o(t):i(t)}},19155:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>s});var r=n(73884),o=n(79889),i=n.n(o),u=n(93950),c=n.n(u),a=n(81400);const s=(t,e)=>{const n=(0,r.useRef)(null);n.current=Object.assign({},{time:500,isDebounce:!1},e);const o=(0,r.useRef)(null),u=(0,a.A)(t);return(0,r.useLayoutEffect)(()=>{const t=o.current,e=()=>window.requestAnimationFrame(()=>{t&&u(t)});e();const r=new ResizeObserver((n.current.isDebounce?c():i())(e,n.current.time));return t&&r.observe(t),()=>{r.disconnect()}},[u]),o}},19841:(t,e,n)=>{var r=n(16913),o=n(22761);t.exports=function(t){return"symbol"==typeof t||o(t)&&"[object Symbol]"==r(t)}},22761:t=>{t.exports=function(t){return null!=t&&"object"==typeof t}},34552:(t,e,n)=>{var r=n(9812),o=Object.prototype,i=o.hasOwnProperty,u=o.toString,c=r?r.toStringTag:void 0;t.exports=function(t){var e=i.call(t,c),n=t[c];try{t[c]=void 0;var r=!0}catch(a){}var o=u.call(t);return r&&(e?t[c]=n:delete t[c]),o}},37105:(t,e,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r},40801:(t,e,n)=>{var r=n(61141),o=n(46686),i=n(19841),u=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,a=/^0o[0-7]+$/i,s=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(i(t))return NaN;if(o(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=o(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=r(t);var n=c.test(t);return n||a.test(t)?s(t.slice(2),n?2:8):u.test(t)?NaN:+t}},46686:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},56552:(t,e,n)=>{var r=n(37105),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();t.exports=i},61141:(t,e,n)=>{var r=n(10143),o=/^\s+/;t.exports=function(t){return t?t.slice(0,r(t)+1).replace(o,""):t}},79889:(t,e,n)=>{var r=n(93950),o=n(46686);t.exports=function(t,e,n){var i=!0,u=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return o(n)&&(i="leading"in n?!!n.leading:i,u="trailing"in n?!!n.trailing:u),r(t,e,{leading:i,maxWait:e,trailing:u})}},81400:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(73884);const o=function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=(0,r.useRef)(t);return e||(n.current=t),(0,r.useCallback)(function(){return n.current&&n.current(...arguments)},[])}},93950:(t,e,n)=>{var r=n(46686),o=n(4757),i=n(40801),u=Math.max,c=Math.min;t.exports=function(t,e,n){var a,s,f,l,p,v,d=0,b=!1,g=!1,m=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function y(e){var n=a,r=s;return a=s=void 0,d=e,l=t.apply(r,n)}function x(t){var n=t-v;return void 0===v||n>=e||n<0||g&&t-d>=f}function h(){var t=o();if(x(t))return j(t);p=setTimeout(h,function(t){var n=e-(t-v);return g?c(n,f-(t-d)):n}(t))}function j(t){return p=void 0,m&&a?y(t):(a=s=void 0,l)}function O(){var t=o(),n=x(t);if(a=arguments,s=this,v=t,n){if(void 0===p)return function(t){return d=t,p=setTimeout(h,e),b?y(t):l}(v);if(g)return clearTimeout(p),p=setTimeout(h,e),y(v)}return void 0===p&&(p=setTimeout(h,e)),l}return e=i(e)||0,r(n)&&(b=!!n.leading,f=(g="maxWait"in n)?u(i(n.maxWait)||0,e):f,m="trailing"in n?!!n.trailing:m),O.cancel=function(){void 0!==p&&clearTimeout(p),d=0,a=v=s=p=void 0},O.flush=function(){return void 0===p?l:j(o())},O}}}]);
|
|
2
|
-
//# sourceMappingURL=1536.13ae1f94.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/1536.13ae1f94.chunk.js","mappings":"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","sources":["../node_modules/lodash/now.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_baseGetTag.js","../node_modules/@kne/use-resize/src/index.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/isObject.js","../node_modules/lodash/_root.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/throttle.js","../node_modules/@kne/use-ref-callback/src/index.js","../node_modules/lodash/debounce.js"],"sourcesContent":["var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","import { useLayoutEffect, useRef } from \"react\";\nimport throttle from \"lodash/throttle\";\nimport debounce from \"lodash/debounce\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nconst useResize = (callback, options) => {\n const optionsRef = useRef(null);\n optionsRef.current = Object.assign(\n {},\n { time: 500, isDebounce: false },\n options\n );\n const ref = useRef(null);\n const callbackHandler = useRefCallback(callback);\n useLayoutEffect(() => {\n const el = ref.current;\n const computed = () => {\n return window.requestAnimationFrame(() => {\n el && callbackHandler(el);\n });\n };\n computed();\n const resizeObserver = new ResizeObserver(\n (optionsRef.current.isDebounce ? debounce : throttle)(\n computed,\n optionsRef.current.time\n )\n );\n el && resizeObserver.observe(el);\n return () => {\n resizeObserver.disconnect();\n };\n }, [callbackHandler]);\n return ref;\n};\n\nexport default useResize;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","import { useRef, useCallback } from \"react\";\n\nconst useRefCallback = (callback, keepInit = false) => {\n const callbackRef = useRef(callback);\n if (!keepInit) {\n callbackRef.current = callback;\n }\n return useCallback((...args) => {\n return callbackRef.current && callbackRef.current(...args);\n }, []);\n};\n\nexport default useRefCallback;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n"],"names":["root","require","module","exports","Date","now","Symbol","reWhitespace","string","index","length","test","charAt","nativeObjectToString","Object","prototype","toString","value","call","getRawTag","objectToString","symToStringTag","toStringTag","undefined","useResize","callback","options","optionsRef","useRef","current","assign","time","isDebounce","ref","callbackHandler","useRefCallback","useLayoutEffect","el","computed","window","requestAnimationFrame","resizeObserver","ResizeObserver","debounce","throttle","observe","disconnect","baseGetTag","isObjectLike","objectProto","hasOwnProperty","isOwn","tag","unmasked","e","result","freeGlobal","global","baseTrim","isObject","isSymbol","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","slice","type","freeSelf","self","Function","trimmedEndIndex","reTrimStart","replace","func","wait","leading","trailing","TypeError","keepInit","arguments","callbackRef","useCallback","toNumber","nativeMax","Math","max","nativeMin","min","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","maxing","invokeFunc","args","thisArg","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","timeWaiting","remainingWait","debounced","isInvoking","this","leadingEdge","clearTimeout","cancel","flush"],"ignoreList":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_kne_components_components_thirdparty=self.webpackChunk_kne_components_components_thirdparty||[]).push([[1876],{24755:(n,t,e)=>{e.r(t),e.d(t,{default:()=>g});var d=e(89379),r=e(53986),a=e(13050),o=e(87558),l=e.n(o),i=e(73884),s=e(62061),c=e.n(s),p=e(70579);const u=["data","option"],h=["loading","error"],m={loading:null,loader:async()=>(await(0,a.getOrLoadRemote)("echarts","","".concat((0,a.getPublicPath)("components-thirdparty"),"/echarts/echarts.js")),{echarts:window.echarts})},b=n=>{let{data:t,option:e}=n,a=(0,r.A)(n,u);const o=c()(()=>{l.current&&l.current.resize()}),l=(0,i.useRef)(null),{echarts:s}=t;return(0,i.useEffect)(()=>(l.current=s.init(o.current),()=>{}),[s,o]),(0,i.useEffect)(()=>{l.current&&l.current.setOption(e)},[e]),(0,p.jsx)("div",(0,d.A)((0,d.A)({},a),{},{ref:o}))},g=n=>{let{loading:t,error:e}=n,a=(0,r.A)(n,h);return(0,p.jsx)(l(),(0,d.A)((0,d.A)({},Object.assign({},m,{loading:t,error:e})),{},{render:n=>{let{data:t}=n;return(0,p.jsx)(b,(0,d.A)((0,d.A)({},a),{},{data:t}))}}))}},38959:(n,t,e)=>{e.r(t),e.d(t,{default:()=>A});var d=e(89379),r=e(53986),a=e(13050),o=e(98139),l=e.n(o),i=e(73884),s=e(57469),c=e.n(s),p=e(14409),u=e.n(p),h=e(91172),m=e.n(h),b=e(82784),g=e.n(b),y=e(8084),f=e.n(y),x=e(35852),v=e.n(x),C=e(62061),j=e.n(C);const E="style_calendar__03q35__p8xG7";var O=e(70579);const L=["remoteModules","className"],A=(0,a.createWithRemoteLoader)({modules:["components-core:Tooltip"]})((0,i.forwardRef)((n,t)=>{let{remoteModules:e,className:a}=n,o=(0,r.A)(n,L);const[s]=e,p=(0,i.useRef)(),h=j()(()=>{if(p.current){p.current.getApi().updateSize()}});(0,i.useImperativeHandle)(t,()=>p.current.getApi());const b=Object.assign({},{plugins:[m(),g(),f(),v()],initialView:"dayGridMonth",aspectRatio:1.6,weekends:!0,slotEventOverlap:!1,displayEventEnd:!0,editable:!1,firstDay:1,headerToolbar:{left:"prev,next today",center:"title",right:"dayGridMonth,timeGridWeek,timeGridDay,listWeek"},buttonText:{today:"\u4eca\u5929",month:"\u6708",week:"\u5468",day:"\u5929"},dayMinWidth:100,locale:"zh-cn",height:"auto",handleWindowResize:!1,dateClick:()=>{},eventClick:()=>{},eventContent:n=>{let{event:t}=n;const e=t.start?c()(t.start).format("HH:ss"):"",d=t.end?c()(t.end).format("HH:ss"):"",r="".concat(e&&d?e===d?"":"[".concat(e,"-").concat(d,"]"):"[".concat(e,"]")," ").concat(t.title);return(0,O.jsx)(s,{content:r,children:r})},initialDate:c()().format("YYYY-MM-DD")},o);return(0,O.jsx)("div",{className:l()(E,a),ref:h,children:(0,O.jsx)(u(),(0,d.A)((0,d.A)({},b),{},{ref:p}))})}))},39178:(n,t,e)=>{e.d(t,{A:()=>r});var d=e(24755);const r={name:"Echart",summary:"<h3>\u7ec4\u4ef6\u6982\u8ff0</h3>\n<p>Echart \u662f\u57fa\u4e8e Apache ECharts \u7684\u56fe\u8868\u7ec4\u4ef6\uff0c\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u6570\u636e\u53ef\u89c6\u5316\u529f\u80fd\u3002\u8be5\u7ec4\u4ef6\u5c01\u88c5\u4e86 ECharts \u7684\u521d\u59cb\u5316\u3001\u914d\u7f6e\u66f4\u65b0\u548c\u54cd\u5e94\u5f0f\u8c03\u6574\u7b49\u6838\u5fc3\u529f\u80fd\uff0c\u7b80\u5316\u4e86\u56fe\u8868\u7684\u4f7f\u7528\u6d41\u7a0b\u3002</p>\n<h3>\u4e3b\u8981\u7279\u6027</h3>\n<ul>\n<li>\u652f\u6301\u6240\u6709 ECharts \u56fe\u8868\u7c7b\u578b</li>\n<li>\u81ea\u52a8\u54cd\u5e94\u5f0f\u8c03\u6574\u5927\u5c0f</li>\n<li>\u52a8\u6001\u52a0\u8f7d ECharts \u6838\u5fc3\u5e93</li>\n<li>\u652f\u6301\u81ea\u5b9a\u4e49\u52a0\u8f7d\u548c\u9519\u8bef\u72b6\u6001</li>\n<li>\u9ad8\u6027\u80fd\u6e32\u67d3</li>\n<li>\u4e30\u5bcc\u7684\u914d\u7f6e\u9009\u9879</li>\n<li>\u652f\u6301\u56fe\u8868\u4e8b\u4ef6\u4ea4\u4e92</li>\n</ul>\n<h3>\u4f7f\u7528\u573a\u666f</h3>\n<p>\u9002\u7528\u4e8e\u9700\u8981\u6570\u636e\u53ef\u89c6\u5316\u7684\u5404\u7c7b\u5e94\u7528\uff0c\u5982\u6570\u636e\u62a5\u8868\u3001\u4e1a\u52a1\u5206\u6790\u3001\u76d1\u63a7\u9762\u677f\u3001\u7edf\u8ba1\u56fe\u8868\u7b49\u573a\u666f\u3002\u652f\u6301\u67f1\u72b6\u56fe\u3001\u6298\u7ebf\u56fe\u3001\u997c\u56fe\u3001\u6563\u70b9\u56fe\u3001\u5730\u56fe\u7b49\u591a\u79cd\u56fe\u8868\u7c7b\u578b\u3002</p>",api:"<h3>API \u6587\u6863</h3>\n<h4>\u7ec4\u4ef6\u5c5e\u6027</h4>\n<table>\n<thead>\n<tr>\n<th>\u5c5e\u6027\u540d</th>\n<th>\u7c7b\u578b</th>\n<th>\u9ed8\u8ba4\u503c</th>\n<th>\u8bf4\u660e</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>option</td>\n<td>object</td>\n<td>-</td>\n<td>ECharts \u914d\u7f6e\u5bf9\u8c61\uff08\u5fc5\u9700\uff09</td>\n</tr>\n<tr>\n<td>loading</td>\n<td>ReactNode</td>\n<td>-</td>\n<td>\u81ea\u5b9a\u4e49\u52a0\u8f7d\u72b6\u6001\u7ec4\u4ef6</td>\n</tr>\n<tr>\n<td>error</td>\n<td>ReactNode</td>\n<td>-</td>\n<td>\u81ea\u5b9a\u4e49\u9519\u8bef\u72b6\u6001\u7ec4\u4ef6</td>\n</tr>\n<tr>\n<td>className</td>\n<td>string</td>\n<td>-</td>\n<td>\u81ea\u5b9a\u4e49\u6837\u5f0f\u7c7b\u540d</td>\n</tr>\n<tr>\n<td>style</td>\n<td>object</td>\n<td>-</td>\n<td>\u81ea\u5b9a\u4e49\u5185\u8054\u6837\u5f0f</td>\n</tr>\n</tbody>\n</table>\n<h4>option \u914d\u7f6e</h4>\n<p>option \u5bf9\u8c61\u9075\u5faa ECharts \u5b98\u65b9\u914d\u7f6e\u89c4\u8303\uff0c\u4e3b\u8981\u5305\u542b\u4ee5\u4e0b\u90e8\u5206\uff1a</p>\n<table>\n<thead>\n<tr>\n<th>\u914d\u7f6e\u9879</th>\n<th>\u7c7b\u578b</th>\n<th>\u8bf4\u660e</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td>object</td>\n<td>\u56fe\u8868\u6807\u9898\u914d\u7f6e</td>\n</tr>\n<tr>\n<td>tooltip</td>\n<td>object</td>\n<td>\u63d0\u793a\u6846\u914d\u7f6e</td>\n</tr>\n<tr>\n<td>legend</td>\n<td>object</td>\n<td>\u56fe\u4f8b\u914d\u7f6e</td>\n</tr>\n<tr>\n<td>grid</td>\n<td>object</td>\n<td>\u76f4\u89d2\u5750\u6807\u7cfb\u7f51\u683c\u914d\u7f6e</td>\n</tr>\n<tr>\n<td>xAxis</td>\n<td>array</td>\n<td>X\u8f74\u914d\u7f6e</td>\n</tr>\n<tr>\n<td>yAxis</td>\n<td>array</td>\n<td>Y\u8f74\u914d\u7f6e</td>\n</tr>\n<tr>\n<td>series</td>\n<td>array</td>\n<td>\u7cfb\u5217\u5217\u8868\uff08\u6838\u5fc3\u6570\u636e\u914d\u7f6e\uff09</td>\n</tr>\n</tbody>\n</table>\n<h4>\u5e38\u7528\u56fe\u8868\u7c7b\u578b\u793a\u4f8b</h4>\n<pre><code class=\"language-javascript\">// \u67f1\u72b6\u56fe\nconst barOption = {\n xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed'] },\n yAxis: { type: 'value' },\n series: [{ type: 'bar', data: [120, 200, 150] }]\n};\n\n// \u6298\u7ebf\u56fe \nconst lineOption = {\n xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed'] },\n yAxis: { type: 'value' },\n series: [{ type: 'line', data: [120, 200, 150] }]\n};\n\n// \u997c\u56fe\nconst pieOption = {\n series: [{\n type: 'pie',\n data: [{ value: 1048, name: '\u641c\u7d22\u5f15\u64ce' }, { value: 735, name: '\u76f4\u63a5\u8bbf\u95ee' }]\n }]\n};\n</code></pre>\n<h4>\u6ce8\u610f\u4e8b\u9879</h4>\n<ul>\n<li>\u7ec4\u4ef6\u4f1a\u81ea\u52a8\u5904\u7406\u56fe\u8868\u7684\u5927\u5c0f\u8c03\u6574</li>\n<li>ECharts \u6838\u5fc3\u5e93\u901a\u8fc7\u8fdc\u7a0b\u52a8\u6001\u52a0\u8f7d</li>\n<li>option \u66f4\u65b0\u65f6\u4f1a\u81ea\u52a8\u91cd\u65b0\u6e32\u67d3\u56fe\u8868</li>\n</ul>",example:{isFull:!1,className:"Echart_1f633",style:"",list:[{title:"\u8fd9\u91cc\u586b\u5199\u793a\u4f8b\u6807\u9898",description:"\u8fd9\u91cc\u586b\u5199\u793a\u4f8b\u8bf4\u660e",code:"const { default: Echart } = _Echart;\nconst BaseExample = () => {\n return (\n <>\n <Echart\n style={{ height: '400px' }}\n option={{\n xAxis: {\n type: 'category',\n data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']\n },\n yAxis: {\n type: 'value'\n },\n series: [\n {\n data: [820, 932, 901, 934, 1290, 1330, 1320],\n type: 'line',\n smooth: true\n }\n ]\n }}\n />\n <Echart\n style={{ height: '400px' }}\n option={{\n xAxis: {\n type: 'category',\n data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']\n },\n yAxis: {\n type: 'value'\n },\n series: [\n {\n data: [120, 200, 150, 80, 70, 110, 130],\n type: 'bar'\n }\n ]\n }}\n />\n </>\n );\n};\n\nrender(<BaseExample />);\n\n",scope:[{name:"_Echart",packageName:"@components/Echart",component:d}]},{title:"\u52a8\u6001\u6570\u636e",description:"\u52a8\u6001\u6570\u636e",code:"const { default: Echart } = _Echart;\nconst { useState, useEffect } = React;\nconst BaseExample = () => {\n const [option, setOption] = useState({\n series: [\n {\n type: 'gauge',\n min: 0,\n max: 100,\n splitNumber: 10,\n radius: '80%',\n axisLine: {\n lineStyle: {\n color: [[1, '#f00']],\n width: 3\n }\n },\n splitLine: {\n distance: -18,\n length: 18,\n lineStyle: {\n color: '#f00'\n }\n },\n axisTick: {\n distance: -12,\n length: 10,\n lineStyle: {\n color: '#f00'\n }\n },\n axisLabel: {\n distance: -50,\n color: '#f00',\n fontSize: 25\n },\n anchor: {\n show: true,\n size: 20,\n itemStyle: {\n borderColor: '#000',\n borderWidth: 2\n }\n },\n pointer: {\n offsetCenter: [0, '10%'],\n icon: 'path://M2090.36389,615.30999 L2090.36389,615.30999 C2091.48372,615.30999 2092.40383,616.194028 2092.44859,617.312956 L2096.90698,728.755929 C2097.05155,732.369577 2094.2393,735.416212 2090.62566,735.56078 C2090.53845,735.564269 2090.45117,735.566014 2090.36389,735.566014 L2090.36389,735.566014 C2086.74736,735.566014 2083.81557,732.63423 2083.81557,729.017692 C2083.81557,728.930412 2083.81732,728.84314 2083.82081,728.755929 L2088.2792,617.312956 C2088.32396,616.194028 2089.24407,615.30999 2090.36389,615.30999 Z',\n length: '115%',\n itemStyle: {\n color: '#000'\n }\n },\n detail: {\n valueAnimation: true,\n precision: 1\n },\n title: {\n offsetCenter: [0, '-50%']\n },\n data: [\n {\n value: 58.46,\n name: 'PLP'\n }\n ]\n },\n {\n type: 'gauge',\n min: 0,\n max: 60,\n splitNumber: 6,\n axisLine: {\n lineStyle: {\n color: [[1, '#000']],\n width: 3\n }\n },\n splitLine: {\n distance: -3,\n length: 18,\n lineStyle: {\n color: '#000'\n }\n },\n axisTick: {\n distance: 0,\n length: 10,\n lineStyle: {\n color: '#000'\n }\n },\n axisLabel: {\n distance: 10,\n fontSize: 25,\n color: '#000'\n },\n pointer: {\n show: false\n },\n title: {\n show: false\n },\n anchor: {\n show: true,\n size: 14,\n itemStyle: {\n color: '#000'\n }\n }\n }\n ]\n });\n useEffect(() => {\n const timer = setInterval(function () {\n setOption({\n series: [\n {\n type: 'gauge',\n data: [\n {\n value: +(Math.random() * 100).toFixed(2),\n name: 'PLP'\n }\n ]\n }\n ]\n });\n }, 1000);\n\n return () => {\n clearInterval(timer);\n };\n }, []);\n return (\n <>\n <Echart style={{ height: '600px' }} option={option} />\n </>\n );\n};\n\nrender(<BaseExample />);\n\n",scope:[{name:"_Echart",packageName:"@components/Echart",component:d}]}]}}},47413:(n,t,e)=>{e.r(t),e.d(t,{default:()=>x});var d=e(89379),r=e(13050),a=e(62351),o=e(55199),l=e(24157),i=e(53306),s=e(80445),c=e(22717),p=e.n(c),u=e(33097),h=e.n(u),m=e(73884);const b="style_code-editor__D+p0v__p8xG7",g="style_preview__rTt65__p8xG7";var y=e(70579);const f=(0,r.createWithRemoteLoader)({modules:["components-core:FormInfo@Form"]})(n=>{let{remoteModules:t,children:e}=n;const[d]=t;return(0,y.jsx)(d,{children:e})}),x=(0,r.createWithRemoteLoader)({modules:["components-core:FormInfo","components-core:InfoPage","components-core:InfoPage@CentralContent"]})(n=>{let{remoteModules:t,defaultValue:e,defaultMod:r="mix",onChange:c}=n;const[u,x,v]=t,{Form:C,TableList:j}=u,{Input:E,Select:O}=u.fields,[L,A]=(0,m.useState)(()=>{if(!e)return{};try{return JSON.parse((0,a.decode)(e))}catch(n){return console.error(n),{}}}),N=(0,m.useRef)(e),_=(0,m.useMemo)(()=>(0,a.encode)(JSON.stringify(L)),[L]);(0,m.useEffect)(()=>{N.current!==_&&(N.current=_,c&&c(_))},[_]);const[k,S]=(0,m.useState)(r),{content:w,props:R,scope:M}=Object.assign({},{content:"",props:{},scope:{}},L),T=(0,m.useRef)(null),V=(0,m.useRef)(null),I=(0,y.jsx)("div",{className:b,children:(0,y.jsx)(i.default,{defaultValue:w,defaultLanguage:"javascript",onChange:n=>A((0,d.A)((0,d.A)({},L),{},{content:n}))})}),F=(0,y.jsx)("div",{className:g,children:(0,y.jsx)(s.default,{content:_,container:f})});return(0,y.jsx)(o.Tabs,{defaultActiveKey:"content",onChange:()=>{T.current&&T.current.submit(),V.current&&V.current.submit()},items:[{key:"props",label:"\u7ec4\u4ef6\u53c2\u6570",children:(0,y.jsx)(C,{ref:T,data:{props:Object.keys(R).map(n=>{const t=Object.assign({},R[n]);return{name:n,type:t.type,defaultValue:["array","object","boolean","number"].indexOf(t.type)?JSON.stringify(t.defaultValue):t.defaultValue}})},onSubmit:n=>{A(t=>Object.assign({},t,{props:p()(n.props,(n,t)=>{n[t.name]={defaultValue:["array","object","boolean","number"].indexOf(t.type)>-1?JSON.parse(t.defaultValue):"string"===t.type?t.defaultValue:"function"===t.type?"()=>null":void 0,type:t.type}},{})}))},children:(0,y.jsx)(j,{title:"\u53c2\u6570\u5217\u8868",name:"props",list:[(0,y.jsx)(E,{name:"name",label:"\u53d8\u91cf\u540d",rule:"REQ LEN-0-100"}),(0,y.jsx)(O,{name:"type",label:"\u7c7b\u578b",rule:"REQ",defaultValue:"string",options:[{label:"\u5b57\u7b26\u4e32",value:"string"},{label:"\u6570\u5b57",value:"number"},{label:"\u5e03\u5c14\u503c",value:"boolean"},{label:"\u6570\u7ec4",value:"array"},{label:"\u5bf9\u8c61",value:"object"},{label:"\u51fd\u6570",value:"function"}]}),(0,y.jsx)(E,{name:"defaultValue",label:"\u9ed8\u8ba4\u503c",rule:"LEN-0-500",display:n=>{let{formData:t,groupArgs:e}=n;return"function"!==h()(t.props,"".concat(e[0].index,".type"))}}),(0,y.jsx)(E,{name:"defaultValue",label:"\u9ed8\u8ba4\u503c",rule:"LEN-0-500",disabled:!0,display:n=>{let{formData:t,groupArgs:e}=n;return"function"===h()(t.props,"".concat(e[0].index,".type"))}})]})})},{key:"scope",label:"\u7ec4\u4ef6\u57df",children:(0,y.jsx)(C,{ref:V,data:{scope:Object.keys(M).map(n=>({name:n,token:M[n].token}))},onSubmit:n=>{A(t=>Object.assign({},t,{scope:p()(n.scope,(n,t)=>{n[t.name]=t.token},{})}))},children:(0,y.jsx)(j,{title:"\u57df\u5217\u8868",name:"scope",list:[(0,y.jsx)(E,{name:"name",label:"\u53d8\u91cf\u540d",rule:"REQ LEN-0-100"}),(0,y.jsx)(E,{name:"token",label:"Token",rule:"REQ LEN-0-100"})]})})},{key:"content",label:"\u7ec4\u4ef6\u5185\u5bb9",children:(0,y.jsxs)(o.Flex,{vertical:!0,gap:12,children:[(0,y.jsx)(o.Alert,{message:(0,y.jsx)(x,{children:(0,y.jsx)(v,{dataSource:{props:R,scope:M},col:1,columns:[{name:"props",title:"\u53ef\u4f7f\u7528\u53c2\u6570",getValueOf:n=>Object.keys(n.props).map(n=>"props.".concat(n)).join(",")},{name:"scope",title:"\u53ef\u4f7f\u7528\u7ec4\u4ef6",getValueOf:n=>["Antd",...Object.keys(n.scope)].join(",")},{name:"lib",title:"\u53ef\u4f7f\u7528\u5e93",getValueOf:()=>["lodash","dayjs"].join(",")}]})})}),(0,y.jsx)(o.Flex,{justify:"flex-end",children:(0,y.jsx)(o.Segmented,{value:k,onChange:S,options:[{label:"\u7f16\u8f91\u5668",value:"editor",icon:(0,y.jsx)(l.MenuOutlined,{})},{label:"\u6df7\u5408",value:"mix",icon:(0,y.jsx)(l.SplitCellsOutlined,{})},{label:"\u9884\u89c8",value:"preview",icon:(0,y.jsx)(l.EyeOutlined,{})}]})}),"editor"===k&&I,"mix"===k&&(0,y.jsxs)(o.Splitter,{children:[(0,y.jsx)(o.Splitter.Panel,{children:I}),(0,y.jsx)(o.Splitter.Panel,{children:F})]}),"preview"===k&&F]})}]})})},53306:(n,t,e)=>{e.r(t),e.d(t,{default:()=>s});var d=e(89379),r=e(98880),a=e.n(r),o=e(18081),l=e.n(o),i=e(70579);window.MONACO_EDITOR_DIR&&r.loader.config({paths:{vs:"".concat(l()(window.MONACO_EDITOR_DIR),"/monaco-editor/min/vs")}});const s=n=>(0,i.jsx)(a(),(0,d.A)({},Object.assign({},{height:500},n)))},64447:(n,t,e)=>{e.d(t,{A:()=>a});var d=e(47413),r=e(55199);const a={name:"LiveComponentEditor",summary:"<h3>\u7ec4\u4ef6\u6982\u8ff0</h3>\n<p>LiveComponentEditor \u662f\u4e00\u4e2a\u5b9e\u65f6\u7684\u7ec4\u4ef6\u7f16\u8f91\u5668\uff0c\u5141\u8bb8\u7528\u6237\u5728\u8fd0\u884c\u65f6\u52a8\u6001\u7f16\u8f91\u548c\u9884\u89c8 React \u7ec4\u4ef6\u3002\u8be5\u7ec4\u4ef6\u63d0\u4f9b\u4e86\u4ee3\u7801\u7f16\u8f91\u3001\u53c2\u6570\u914d\u7f6e\u3001\u4f5c\u7528\u57df\u7ba1\u7406\u7b49\u529f\u80fd\uff0c\u5e76\u652f\u6301\u591a\u79cd\u5e03\u5c40\u6a21\u5f0f\u3002</p>\n<h3>\u4e3b\u8981\u7279\u6027</h3>\n<ul>\n<li>\u5b9e\u65f6\u4ee3\u7801\u7f16\u8f91\u548c\u9884\u89c8</li>\n<li>\u7ec4\u4ef6\u53c2\u6570\u53ef\u89c6\u5316\u914d\u7f6e</li>\n<li>\u81ea\u5b9a\u4e49\u4f5c\u7528\u57df\u7ba1\u7406</li>\n<li>\u4e09\u79cd\u5e03\u5c40\u6a21\u5f0f\uff1a\u7f16\u8f91\u5668\u3001\u6df7\u5408\u3001\u9884\u89c8</li>\n<li>\u652f\u6301 PlantUML \u7f16\u7801\u7684\u6570\u636e\u5b58\u50a8</li>\n<li>\u96c6\u6210 FormInfo \u8fdb\u884c\u53c2\u6570\u7ba1\u7406</li>\n<li>\u9519\u8bef\u8fb9\u754c\u4fdd\u62a4</li>\n<li>\u652f\u6301 Antd \u7ec4\u4ef6\u5e93\u96c6\u6210</li>\n</ul>\n<h3>\u4f7f\u7528\u573a\u666f</h3>\n<p>\u9002\u7528\u4e8e\u7ec4\u4ef6\u5f00\u53d1\u5de5\u5177\u3001\u5728\u7ebf\u4ee3\u7801\u7f16\u8f91\u5668\u3001\u7ec4\u4ef6\u6f14\u793a\u5e73\u53f0\u3001\u6559\u5b66\u5de5\u5177\u7b49\u9700\u8981\u5b9e\u65f6\u7f16\u8f91\u548c\u9884\u89c8 React \u7ec4\u4ef6\u7684\u573a\u666f\u3002</p>",api:'<h3>API \u6587\u6863</h3>\n<h4>\u7ec4\u4ef6\u5c5e\u6027</h4>\n<table>\n<thead>\n<tr>\n<th>\u5c5e\u6027\u540d</th>\n<th>\u7c7b\u578b</th>\n<th>\u9ed8\u8ba4\u503c</th>\n<th>\u8bf4\u660e</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>defaultValue</td>\n<td>string</td>\n<td>-</td>\n<td>\u9ed8\u8ba4\u7ec4\u4ef6\u914d\u7f6e\uff08PlantUML \u7f16\u7801\uff09</td>\n</tr>\n<tr>\n<td>defaultMod</td>\n<td>string</td>\n<td>\'mix\'</td>\n<td>\u9ed8\u8ba4\u663e\u793a\u6a21\u5f0f</td>\n</tr>\n<tr>\n<td>onChange</td>\n<td>function</td>\n<td>-</td>\n<td>\u914d\u7f6e\u53d8\u5316\u56de\u8c03\u51fd\u6570</td>\n</tr>\n</tbody>\n</table>\n<h4>\u663e\u793a\u6a21\u5f0f (mod)</h4>\n<table>\n<thead>\n<tr>\n<th>\u6a21\u5f0f\u503c</th>\n<th>\u8bf4\u660e</th>\n<th>\u56fe\u6807</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>editor</td>\n<td>\u4ec5\u663e\u793a\u7f16\u8f91\u5668</td>\n<td>MenuOutlined</td>\n</tr>\n<tr>\n<td>mix</td>\n<td>\u7f16\u8f91\u5668\u548c\u9884\u89c8\u5206\u5c4f\u663e\u793a</td>\n<td>SplitCellsOutlined</td>\n</tr>\n<tr>\n<td>preview</td>\n<td>\u4ec5\u663e\u793a\u9884\u89c8</td>\n<td>EyeOutlined</td>\n</tr>\n</tbody>\n</table>\n<h4>\u7ec4\u4ef6\u914d\u7f6e\u7ed3\u6784</h4>\n<pre><code class="language-javascript">// \u901a\u8fc7 PlantUML \u7f16\u7801\u7684\u914d\u7f6e\u5bf9\u8c61\u7ed3\u6784\n{\n content: "React\u7ec4\u4ef6\u4ee3\u7801\u5b57\u7b26\u4e32", // \u7ec4\u4ef6\u5185\u5bb9\n props: { // \u7ec4\u4ef6\u53c2\u6570\n propName: {\n type: "string|number|boolean|array|object|function",\n defaultValue: "\u9ed8\u8ba4\u503c"\n }\n },\n scope: { // \u81ea\u5b9a\u4e49\u4f5c\u7528\u57df\n scopeName: "token" // \u7ec4\u4ef6\u540d\u79f0\n }\n}\n</code></pre>\n<h4>\u53ef\u7528\u7c7b\u578b\u8bf4\u660e</h4>\n<table>\n<thead>\n<tr>\n<th>\u7c7b\u578b</th>\n<th>\u8bf4\u660e</th>\n<th>\u9ed8\u8ba4\u503c\u683c\u5f0f</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>string</td>\n<td>\u5b57\u7b26\u4e32\u7c7b\u578b</td>\n<td>\u76f4\u63a5\u5b57\u7b26\u4e32\u503c</td>\n</tr>\n<tr>\n<td>number</td>\n<td>\u6570\u5b57\u7c7b\u578b</td>\n<td>\u6570\u5b57\u503c</td>\n</tr>\n<tr>\n<td>boolean</td>\n<td>\u5e03\u5c14\u7c7b\u578b</td>\n<td>true/false</td>\n</tr>\n<tr>\n<td>array</td>\n<td>\u6570\u7ec4\u7c7b\u578b</td>\n<td>JSON \u5b57\u7b26\u4e32</td>\n</tr>\n<tr>\n<td>object</td>\n<td>\u5bf9\u8c61\u7c7b\u578b</td>\n<td>JSON \u5b57\u7b26\u4e32</td>\n</tr>\n<tr>\n<td>function</td>\n<td>\u51fd\u6570\u7c7b\u578b</td>\n<td>\u56fa\u5b9a\u4e3a " ()=>null "</td>\n</tr>\n</tbody>\n</table>\n<h4>\u96c6\u6210\u529f\u80fd</h4>\n<ul>\n<li><strong>CodeEditor</strong>: \u57fa\u4e8e Monaco Editor \u7684\u4ee3\u7801\u7f16\u8f91\u5668</li>\n<li><strong>LiveComponentView</strong>: \u5b9e\u65f6\u7ec4\u4ef6\u6e32\u67d3\u548c\u9884\u89c8</li>\n<li><strong>FormInfo</strong>: \u53c2\u6570\u7ba1\u7406\u548c\u8868\u5355\u914d\u7f6e</li>\n<li><strong>Antd</strong>: UI \u7ec4\u4ef6\u5e93\u652f\u6301</li>\n<li><strong>lodash</strong>: \u5de5\u5177\u51fd\u6570\u5e93</li>\n<li><strong>dayjs</strong>: \u65e5\u671f\u5904\u7406\u5e93</li>\n</ul>\n<h4>\u6ce8\u610f\u4e8b\u9879</h4>\n<ul>\n<li>\u51fd\u6570\u7c7b\u578b\u53c2\u6570\u4ec5\u652f\u6301\u5360\u4f4d\u7b26\uff0c\u65e0\u6cd5\u7f16\u8f91\u5b9e\u9645\u51fd\u6570\u5185\u5bb9</li>\n<li>\u7ec4\u4ef6\u4ee3\u7801\u4f1a\u81ea\u52a8\u5305\u88c5\u5728 ErrorBoundary \u4e2d\u8fdb\u884c\u9519\u8bef\u4fdd\u62a4</li>\n<li>\u652f\u6301\u4f7f\u7528 props.* \u548c scope.* \u4e2d\u7684\u53d8\u91cf\u548c\u7ec4\u4ef6</li>\n</ul>',example:{isFull:!1,className:"LiveComponentEditor_b511b",style:"",list:[{title:"\u8fd9\u91cc\u586b\u5199\u793a\u4f8b\u6807\u9898",description:"\u8fd9\u91cc\u586b\u5199\u793a\u4f8b\u8bf4\u660e",code:"const { default: LiveComponentEditor } = _LiveComponentEditor;\nconst { Flex, Alert } = antd;\nconst { useState } = React;\nconst BaseExample = () => {\n const [value, setValue] = useState('');\n return (\n <Flex vertical gap={12}>\n <Alert message={value || '\u6682\u65e0\u5185\u5bb9'} />\n <LiveComponentEditor defaultValue={value} onChange={setValue} />\n </Flex>\n );\n};\n\nrender(<BaseExample />);\n\n",scope:[{name:"_LiveComponentEditor",packageName:"@components/LiveComponentEditor",component:d},{name:"antd",packageName:"antd",component:r}]}]}}},76447:(n,t,e)=>{e.d(t,{A:()=>d});const d={name:"LiveComponentView",summary:"<h3>\u7ec4\u4ef6\u6982\u8ff0</h3>\n<p>LiveComponentView \u662f\u4e00\u4e2a\u52a8\u6001\u7ec4\u4ef6\u6e32\u67d3\u5668\uff0c\u80fd\u591f\u5b9e\u65f6\u6e32\u67d3\u548c\u6267\u884c\u7528\u6237\u63d0\u4f9b\u7684 React \u7ec4\u4ef6\u4ee3\u7801\u3002\u8be5\u7ec4\u4ef6\u901a\u8fc7 Babel \u8f6c\u8bd1\u5668\u5c06\u4ee3\u7801\u8f6c\u6362\u4e3a\u53ef\u6267\u884c\u7684 JavaScript\uff0c\u5e76\u5728\u6c99\u7bb1\u73af\u5883\u4e2d\u5b89\u5168\u8fd0\u884c\u3002</p>\n<h3>\u4e3b\u8981\u7279\u6027</h3>\n<ul>\n<li>\u5b9e\u65f6\u6e32\u67d3 React \u7ec4\u4ef6\u4ee3\u7801</li>\n<li>\u652f\u6301 ES6+ \u8bed\u6cd5\u8f6c\u8bd1</li>\n<li>\u9519\u8bef\u8fb9\u754c\u4fdd\u62a4\u548c\u9519\u8bef\u663e\u793a</li>\n<li>\u652f\u6301\u81ea\u5b9a\u4e49\u7ec4\u4ef6\u5bb9\u5668</li>\n<li>\u96c6\u6210\u4e3b\u9898\u548c\u56fd\u9645\u5316</li>\n<li>\u652f\u6301\u7ec4\u4ef6\u53c2\u6570\u6ce8\u5165</li>\n<li>\u6c99\u7bb1\u73af\u5883\u5b89\u5168\u6267\u884c</li>\n<li>\u652f\u6301\u591a\u4e2a\u8fdc\u7a0b\u6a21\u5757\u52a0\u8f7d</li>\n</ul>\n<h3>\u4f7f\u7528\u573a\u666f</h3>\n<p>\u9002\u7528\u4e8e\u4ee3\u7801\u6f14\u793a\u5e73\u53f0\u3001\u5728\u7ebf\u7f16\u7a0b\u73af\u5883\u3001\u7ec4\u4ef6\u6587\u6863\u5c55\u793a\u3001\u6559\u5b66\u7cfb\u7edf\u7b49\u9700\u8981\u52a8\u6001\u6267\u884c\u548c\u6e32\u67d3 React \u4ee3\u7801\u7684\u573a\u666f\u3002</p>",api:'<h3>API \u6587\u6863</h3>\n<h4>\u7ec4\u4ef6\u5c5e\u6027</h4>\n<table>\n<thead>\n<tr>\n<th>\u5c5e\u6027\u540d</th>\n<th>\u7c7b\u578b</th>\n<th>\u9ed8\u8ba4\u503c</th>\n<th>\u8bf4\u660e</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>content</td>\n<td>string</td>\n<td>-</td>\n<td>\u7ec4\u4ef6\u914d\u7f6e\uff08PlantUML \u7f16\u7801\uff0c\u5fc5\u9700\uff09</td>\n</tr>\n<tr>\n<td>themeColor</td>\n<td>object</td>\n<td>-</td>\n<td>\u81ea\u5b9a\u4e49\u4e3b\u9898\u914d\u7f6e</td>\n</tr>\n<tr>\n<td>locale</td>\n<td>string</td>\n<td>-</td>\n<td>\u8bed\u8a00\u73af\u5883\u8bbe\u7f6e</td>\n</tr>\n<tr>\n<td>container</td>\n<td>ReactComponent</td>\n<td>-</td>\n<td>\u81ea\u5b9a\u4e49\u5bb9\u5668\u7ec4\u4ef6</td>\n</tr>\n<tr>\n<td>props</td>\n<td>object</td>\n<td>-</td>\n<td>\u6ce8\u5165\u5230\u7ec4\u4ef6\u7684\u5c5e\u6027</td>\n</tr>\n</tbody>\n</table>\n<h4>\u8f93\u5165\u683c\u5f0f (content)</h4>\n<p>content \u9700\u8981\u901a\u8fc7 PlantUML \u7f16\u7801\uff0c\u89e3\u7801\u540e\u7684\u5bf9\u8c61\u7ed3\u6784\uff1a</p>\n<pre><code class="language-javascript">{\n content: "React\u7ec4\u4ef6\u4ee3\u7801", // \u8981\u6e32\u67d3\u7684 JSX \u4ee3\u7801\n props: { // \u7ec4\u4ef6\u9ed8\u8ba4\u5c5e\u6027\n propName: {\n type: "string|number|boolean|array|object|function",\n defaultValue: "\u9ed8\u8ba4\u503c"\n }\n },\n scope: { // \u53ef\u7528\u7ec4\u4ef6\u6a21\u5757\n componentName: "moduleToken"\n }\n}\n</code></pre>\n<h4>\u5185\u7f6e\u53ef\u7528\u5e93</h4>\n<p>\u7ec4\u4ef6\u8fd0\u884c\u73af\u5883\u4e2d\u5185\u7f6e\u4e86\u4ee5\u4e0b\u5e93\uff1a</p>\n<table>\n<thead>\n<tr>\n<th>\u5e93\u540d\u79f0</th>\n<th>\u7528\u9014</th>\n<th>\u5bfc\u5165\u65b9\u5f0f</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>React</td>\n<td>React \u6838\u5fc3</td>\n<td>\u5185\u7f6e\u53ef\u7528</td>\n</tr>\n<tr>\n<td>Antd</td>\n<td>UI \u7ec4\u4ef6\u5e93</td>\n<td>\u5168\u5c40\u53ef\u7528</td>\n</tr>\n<tr>\n<td>lodash</td>\n<td>\u5de5\u5177\u51fd\u6570</td>\n<td>\u5168\u5c40\u53ef\u7528</td>\n</tr>\n<tr>\n<td>dayjs</td>\n<td>\u65e5\u671f\u5904\u7406</td>\n<td>\u5168\u5c40\u53ef\u7528</td>\n</tr>\n</tbody>\n</table>\n<h4>\u9519\u8bef\u5904\u7406</h4>\n<p>\u5f53\u7ec4\u4ef6\u6267\u884c\u51fa\u9519\u65f6\uff0c\u4f1a\u663e\u793a\u9519\u8bef\u4fe1\u606f\uff1a</p>\n<pre><code class="language-javascript">const ErrorComponent = ({ error }) => {\n return (\n <div className="error-message">\n <pre>{error}</pre>\n </div>\n );\n};\n</code></pre>\n<h4>\u9ed8\u8ba4\u5bb9\u5668\u7ec4\u4ef6</h4>\n<p>\u5982\u679c\u4e0d\u63d0\u4f9b container \u5c5e\u6027\uff0c\u4f7f\u7528\u9ed8\u8ba4\u5bb9\u5668\uff1a</p>\n<pre><code class="language-javascript">const DefaultContainer = ({ children }) => children;\n</code></pre>\n<h4>\u8fdc\u7a0b\u6a21\u5757\u52a0\u8f7d</h4>\n<p>\u652f\u6301\u901a\u8fc7 scope \u914d\u7f6e\u52a0\u8f7d\u8fdc\u7a0b\u6a21\u5757\uff0c\u6a21\u5757\u4f1a\u5728\u7ec4\u4ef6\u6267\u884c\u524d\u52a8\u6001\u52a0\u8f7d\u5e76\u6ce8\u5165\u5230\u8fd0\u884c\u73af\u5883\u4e2d\u3002</p>\n<h4>\u5b89\u5168\u7279\u6027</h4>\n<ul>\n<li>\u4ee3\u7801\u5728 ErrorBoundary \u4fdd\u62a4\u4e0b\u6267\u884c</li>\n<li>\u652f\u6301\u4e3b\u9898\u548c\u4e0a\u4e0b\u6587\u9694\u79bb</li>\n<li>\u6e32\u67d3\u7ed3\u675f\u540e\u81ea\u52a8\u6e05\u7406 DOM</li>\n<li>\u652f\u6301\u7ec4\u4ef6\u5378\u8f7d\u65f6\u7684\u8d44\u6e90\u6e05\u7406</li>\n</ul>',example:{isFull:!1,className:"LiveComponentView_8b922",style:"",list:[{title:"\u8fd9\u91cc\u586b\u5199\u793a\u4f8b\u6807\u9898",description:"\u8fd9\u91cc\u586b\u5199\u793a\u4f8b\u8bf4\u660e",code:'const {default:LiveComponentView} = _LiveComponentView;\nconst BaseExample = ()=>{\n return <LiveComponentView content="bPHTQnD158R_oZ8ttKAQn3k9JQ3MLYfIFz8xrul9vYIEtPrPTcRRb6MXHGGhb1GQ38WWVc6nQBqeHNBJFvFTDl_2cIJx1Md5kSdiUyvpSjwp9_6HoQW0Ab05BQuorrwZBLPK5utHkjUmYQZwcEzGKzDRKhs71Pwlrdo3QlBWRKo4Hc5RU-moct3GTHSuixOWpL67WzWWDZ1Fw7e-eiuKqUVlf7fGk5KkbsCbY2zBL3IBDd2Esr0aibNzGVtHUf4Bbz0sQUsaFIeY26eJB76c2I8ig1fe-EV7S30ONdoAzauDf5c4Iv_FqkzFPz4YO3LvSOqwdhIARKMh3qNX1bZoCVn-51uUIC7rniMVhZpH7gwiBvGNf0a3bMg56mhNmG8pgTm41xl2bYyaKt_qwdZKFyxLbm_C4OHHdcjR7N-CLUQYjxlHXrF9pXMsiEL1nK29PA2WC9iQzNR3tgySbKYIIg7dmSs-bb-0kTbWdVikynojOJ5pCpP9vCR9bvwr6Bu-kph_yczNCdFl_UZRJmCbxSN2DOwawxF-vUT-XeY5wudzesZ_93mukUnzp78v-JzciG4TiUG2pe-X2TnqoTXlPX9HjtjryLjjpQIWgZtTul7shrhGqLvwNCXrb-acg65AlesTgdyxtlXy6vCVybrF24PhKVTmEFYwM9eTdOKlOsg2DKq8k--YypSPF1UTTbfAMfLA9bTTQgY0kCaSG1KVnH7vzsCocpkCIZyB9dEXaeI2u2y0"/>;\n};\n\nrender(<BaseExample />);\n\n',scope:[{name:"_LiveComponentView",packageName:"@components/LiveComponentView",component:e(80445)}]}]}}},77107:(n,t,e)=>{e.d(t,{A:()=>d});const d={name:"Calendar",summary:"<h3>\u7ec4\u4ef6\u6982\u8ff0</h3>\n<p>Calendar \u662f\u4e00\u4e2a\u57fa\u4e8e FullCalendar \u7684\u65e5\u5386\u7ec4\u4ef6\uff0c\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u65e5\u5386\u5c55\u793a\u548c\u4ea4\u4e92\u529f\u80fd\u3002\u8be5\u7ec4\u4ef6\u652f\u6301\u591a\u79cd\u89c6\u56fe\u6a21\u5f0f\uff08\u6708\u89c6\u56fe\u3001\u5468\u89c6\u56fe\u3001\u65e5\u89c6\u56fe\u3001\u5217\u8868\u89c6\u56fe\uff09\uff0c\u5e76\u96c6\u6210\u4e86\u62d6\u62fd\u3001\u70b9\u51fb\u7b49\u4ea4\u4e92\u64cd\u4f5c\u3002</p>\n<h3>\u4e3b\u8981\u7279\u6027</h3>\n<ul>\n<li>\u652f\u6301\u591a\u79cd\u89c6\u56fe\u6a21\u5f0f\uff1a\u6708\u89c6\u56fe\u3001\u5468\u89c6\u56fe\u3001\u65e5\u89c6\u56fe\u3001\u5217\u8868\u89c6\u56fe</li>\n<li>\u81ea\u52a8\u8c03\u6574\u5927\u5c0f\uff0c\u54cd\u5e94\u5f0f\u8bbe\u8ba1</li>\n<li>\u4e2d\u6587\u672c\u5730\u5316\u652f\u6301</li>\n<li>\u4e8b\u4ef6\u5185\u5bb9\u5de5\u5177\u63d0\u793a\u663e\u793a</li>\n<li>\u81ea\u5b9a\u4e49\u4e8b\u4ef6\u6e32\u67d3</li>\n<li>\u652f\u6301\u65e5\u671f\u70b9\u51fb\u548c\u4e8b\u4ef6\u70b9\u51fb\u56de\u8c03</li>\n<li>\u96c6\u6210 dayjs \u8fdb\u884c\u65e5\u671f\u5904\u7406</li>\n<li>\u53ef\u914d\u7f6e\u7684\u5de5\u5177\u680f\u6309\u94ae</li>\n</ul>\n<h3>\u4f7f\u7528\u573a\u666f</h3>\n<p>\u9002\u7528\u4e8e\u9700\u8981\u5c55\u793a\u548c\u7ba1\u7406\u65e5\u7a0b\u5b89\u6392\u7684\u5404\u7c7b\u5e94\u7528\uff0c\u5982\u4f1a\u8bae\u7ba1\u7406\u7cfb\u7edf\u3001\u6d3b\u52a8\u9884\u7ea6\u5e73\u53f0\u3001\u4e2a\u4eba\u65e5\u7a0b\u7ba1\u7406\u7b49\u573a\u666f\u3002</p>",api:"<h3>API \u6587\u6863</h3>\n<h4>\u7ec4\u4ef6\u5c5e\u6027</h4>\n<table>\n<thead>\n<tr>\n<th>\u5c5e\u6027\u540d</th>\n<th>\u7c7b\u578b</th>\n<th>\u9ed8\u8ba4\u503c</th>\n<th>\u8bf4\u660e</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>className</td>\n<td>string</td>\n<td>-</td>\n<td>\u81ea\u5b9a\u4e49\u6837\u5f0f\u7c7b\u540d</td>\n</tr>\n<tr>\n<td>initialView</td>\n<td>string</td>\n<td>'dayGridMonth'</td>\n<td>\u521d\u59cb\u89c6\u56fe\u6a21\u5f0f</td>\n</tr>\n<tr>\n<td>aspectRatio</td>\n<td>number</td>\n<td>1.6</td>\n<td>\u65e5\u5386\u5bbd\u9ad8\u6bd4</td>\n</tr>\n<tr>\n<td>weekends</td>\n<td>boolean</td>\n<td>true</td>\n<td>\u662f\u5426\u663e\u793a\u5468\u672b</td>\n</tr>\n<tr>\n<td>slotEventOverlap</td>\n<td>boolean</td>\n<td>false</td>\n<td>\u65f6\u95f4\u69fd\u4e8b\u4ef6\u662f\u5426\u5141\u8bb8\u91cd\u53e0</td>\n</tr>\n<tr>\n<td>displayEventEnd</td>\n<td>boolean</td>\n<td>true</td>\n<td>\u662f\u5426\u663e\u793a\u4e8b\u4ef6\u7ed3\u675f\u65f6\u95f4</td>\n</tr>\n<tr>\n<td>editable</td>\n<td>boolean</td>\n<td>false</td>\n<td>\u4e8b\u4ef6\u662f\u5426\u53ef\u7f16\u8f91</td>\n</tr>\n<tr>\n<td>firstDay</td>\n<td>number</td>\n<td>1</td>\n<td>\u4e00\u5468\u7684\u7b2c\u4e00\u5929\uff080=\u5468\u65e5\uff0c1=\u5468\u4e00\uff09</td>\n</tr>\n<tr>\n<td>headerToolbar</td>\n<td>object</td>\n<td>\u89c1\u4e0b\u65b9</td>\n<td>\u5de5\u5177\u680f\u914d\u7f6e</td>\n</tr>\n<tr>\n<td>buttonText</td>\n<td>object</td>\n<td>\u89c1\u4e0b\u65b9</td>\n<td>\u6309\u94ae\u6587\u672c\u914d\u7f6e</td>\n</tr>\n<tr>\n<td>dayMinWidth</td>\n<td>number</td>\n<td>100</td>\n<td>\u65e5\u5355\u5143\u683c\u6700\u5c0f\u5bbd\u5ea6</td>\n</tr>\n<tr>\n<td>locale</td>\n<td>string</td>\n<td>'zh-cn'</td>\n<td>\u8bed\u8a00\u672c\u5730\u5316</td>\n</tr>\n<tr>\n<td>height</td>\n<td>string</td>\n<td>'auto'</td>\n<td>\u65e5\u5386\u9ad8\u5ea6</td>\n</tr>\n<tr>\n<td>handleWindowResize</td>\n<td>boolean</td>\n<td>false</td>\n<td>\u662f\u5426\u5904\u7406\u7a97\u53e3\u5927\u5c0f\u53d8\u5316</td>\n</tr>\n<tr>\n<td>dateClick</td>\n<td>function</td>\n<td>() => {}</td>\n<td>\u65e5\u671f\u70b9\u51fb\u56de\u8c03</td>\n</tr>\n<tr>\n<td>eventClick</td>\n<td>function</td>\n<td>() => {}</td>\n<td>\u4e8b\u4ef6\u70b9\u51fb\u56de\u8c03</td>\n</tr>\n<tr>\n<td>eventContent</td>\n<td>function</td>\n<td>\u81ea\u5b9a\u4e49\u6e32\u67d3</td>\n<td>\u4e8b\u4ef6\u5185\u5bb9\u6e32\u67d3\u51fd\u6570</td>\n</tr>\n<tr>\n<td>initialDate</td>\n<td>string</td>\n<td>\u5f53\u524d\u65e5\u671f</td>\n<td>\u521d\u59cb\u65e5\u671f</td>\n</tr>\n</tbody>\n</table>\n<h4>\u9ed8\u8ba4\u914d\u7f6e</h4>\n<pre><code class=\"language-javascript\">// headerToolbar \u9ed8\u8ba4\u914d\u7f6e\n{\n left: 'prev,next today',\n center: 'title', \n right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'\n}\n\n// buttonText \u9ed8\u8ba4\u914d\u7f6e\n{\n today: '\u4eca\u5929',\n month: '\u6708',\n week: '\u5468', \n day: '\u5929'\n}\n</code></pre>\n<h4>Ref \u65b9\u6cd5</h4>\n<p>\u901a\u8fc7 ref \u53ef\u4ee5\u83b7\u53d6 FullCalendar \u7684 API \u5b9e\u4f8b\uff0c\u652f\u6301\u8c03\u7528\u6240\u6709 FullCalendar \u7684\u539f\u751f\u65b9\u6cd5\u3002</p>",example:{isFull:!1,className:"Calendar_8ff92",style:"",list:[{title:"\u8fd9\u91cc\u586b\u5199\u793a\u4f8b\u6807\u9898",description:"\u8fd9\u91cc\u586b\u5199\u793a\u4f8b\u8bf4\u660e",code:"const { default: Calendar } = _Calendar;\nconst BaseExample = () => {\n return <Calendar />;\n};\n\nrender(<BaseExample />);\n\n",scope:[{name:"_Calendar",packageName:"@components/Calendar",component:e(38959)}]}]}}},80445:(n,t,e)=>{e.r(t),e.d(t,{default:()=>j});var d=e(73884),r=e.n(d),a=e(84391),o=e(62351),l=e(13050),i=e(65288),s=e.n(i),c=e(53536),p=e.n(c),u=e(57469),h=e.n(u),m=e(65171),b=e(55199);const g="style_error-message__5udgI__p8xG7";var y=e(70579);const{transform:f,memoize:x}=p(),v=n=>{let{error:t}=n;return(0,y.jsx)("div",{className:g,children:(0,y.jsx)("pre",{children:t})})},C=(0,l.withRemoteLoader)(n=>{let{remoteModules:t,children:e,props:o,themeToken:l,locale:i,container:c}=n;const[u,g]=(0,d.useState)(null),{content:C,moduleNames:j}=e,E=(0,d.useRef)(null),O=(0,d.useMemo)(()=>x(n=>f(t,(t,e,d)=>{t[n[d]]=e},{}))(j),[t,j]);return(0,d.useEffect)(()=>{if(!E.current)return;const n=document.createElement("div");E.current.innerHTML="",g(null),E.current.appendChild(n);const t=a.createRoot(n);try{const n=c||(n=>{let{children:t}=n;return t}),e=(0,m.transform)("render(<ErrorBoundary errorComponent={ErrorComponent}>\n <PureGlobal themeToken={".concat(JSON.stringify(l),"} preset={").concat(JSON.stringify({locale:i}),"}>\n <ContainerComponent>\n ").concat(C,"\n </ContainerComponent>\n </PureGlobal>\n</ErrorBoundary>);"),{presets:["es2015","react"]}).code;new Function("React","render","props","Antd","ErrorBoundary","ErrorComponent","ContainerComponent","lodash","dayjs",...j,e)(r(),n=>t.render(n),o,b,s(),v,n,p(),h(),...j.map(n=>O[n]))}catch(e){g(e)}return()=>{E.current&&(E.current.innerHTML="")}},[O,j,o,C]),(0,y.jsxs)(b.Flex,{vertical:!0,children:[j.length!==t.length?(0,y.jsx)(b.Spin,{}):(0,y.jsx)("div",{ref:E}),u&&(0,y.jsx)(v,{error:u.message})]})}),j=(0,l.createWithRemoteLoader)({modules:["components-core:Global@useGlobalContext"]})(n=>{let{remoteModules:t,content:e,themeColor:r,locale:a,container:l,props:i}=n;const[s]=t,{global:c}=s(),{content:p,props:u,scope:h,error:m}=(0,d.useMemo)(()=>{try{if(!e)return{error:"\u7ec4\u4ef6\u4e3a\u7a7a"};const{content:n,props:t,scope:d}=JSON.parse((0,o.decode)(e));return Object.assign({},{content:n||"",scope:Object.assign({},d),props:Object.assign({},t&&f(t,(n,t,e)=>{n[e]=["array","object","boolean","number"].indexOf(t.type)>-1?JSON.parse(t.defaultValue):"string"===t.type?t.defaultValue:"function"===t.type?()=>null:void 0},{})),error:null})}catch(n){return{error:n.message||"\u53c2\u6570\u65e0\u6cd5\u89e3\u6790"}}},[e]),b=(0,d.useMemo)(()=>Object.assign({},u,i),[i,u]);if(m)return(0,y.jsx)(v,{error:m});const g=Object.keys(h);return(0,y.jsx)(C,{props:b,container:l,themeToken:r||c.themeToken,locale:a||c.locale,modules:["components-core:Global@PureGlobal"].concat(g.map(n=>h[n])),children:{content:p,moduleNames:["PureGlobal"].concat(g)}})})},88289:(n,t,e)=>{e.d(t,{A:()=>d});const d={name:"CodeEditor",summary:"<h3>\u7ec4\u4ef6\u6982\u8ff0</h3>\n<p>CodeEditor \u662f\u57fa\u4e8e Monaco Editor \u7684\u4ee3\u7801\u7f16\u8f91\u5668\u7ec4\u4ef6\uff0c\u63d0\u4f9b\u4e86\u5f3a\u5927\u7684\u4ee3\u7801\u7f16\u8f91\u529f\u80fd\u3002Monaco Editor \u662f VS Code \u7684\u7f16\u8f91\u5668\u6838\u5fc3\uff0c\u652f\u6301\u8bed\u6cd5\u9ad8\u4eae\u3001\u4ee3\u7801\u8865\u5168\u3001\u9519\u8bef\u68c0\u6d4b\u7b49\u7279\u6027\u3002</p>\n<h3>\u4e3b\u8981\u7279\u6027</h3>\n<ul>\n<li>\u652f\u6301\u591a\u79cd\u7f16\u7a0b\u8bed\u8a00\u7684\u8bed\u6cd5\u9ad8\u4eae</li>\n<li>\u667a\u80fd\u4ee3\u7801\u8865\u5168</li>\n<li>\u9519\u8bef\u68c0\u6d4b\u548c\u63d0\u793a</li>\n<li>\u53ef\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\u4e3b\u9898</li>\n<li>\u652f\u6301\u4ee3\u7801\u683c\u5f0f\u5316</li>\n<li>\u53ef\u914d\u7f6e\u7684\u7f16\u8f91\u5668\u9ad8\u5ea6</li>\n<li>\u652f\u6301\u5916\u90e8 Monaco Editor \u8def\u5f84\u914d\u7f6e</li>\n</ul>\n<h3>\u4f7f\u7528\u573a\u666f</h3>\n<p>\u9002\u7528\u4e8e\u9700\u8981\u4ee3\u7801\u7f16\u8f91\u529f\u80fd\u7684\u5e94\u7528\uff0c\u5982\u5728\u7ebf\u7f16\u7a0b\u5e73\u53f0\u3001\u914d\u7f6e\u7f16\u8f91\u5668\u3001\u4ee3\u7801\u793a\u4f8b\u5c55\u793a\u3001\u5f00\u53d1\u5de5\u5177\u7b49\u573a\u666f\u3002</p>",api:"<h3>API \u6587\u6863</h3>\n<h4>\u7ec4\u4ef6\u5c5e\u6027</h4>\n<table>\n<thead>\n<tr>\n<th>\u5c5e\u6027\u540d</th>\n<th>\u7c7b\u578b</th>\n<th>\u9ed8\u8ba4\u503c</th>\n<th>\u8bf4\u660e</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>height</td>\n<td>string</td>\n<td>'500px'</td>\n<td>\u7f16\u8f91\u5668\u9ad8\u5ea6</td>\n</tr>\n<tr>\n<td>defaultLanguage</td>\n<td>string</td>\n<td>-</td>\n<td>\u9ed8\u8ba4\u7f16\u7a0b\u8bed\u8a00</td>\n</tr>\n<tr>\n<td>defaultValue</td>\n<td>string</td>\n<td>-</td>\n<td>\u9ed8\u8ba4\u4ee3\u7801\u5185\u5bb9</td>\n</tr>\n<tr>\n<td>value</td>\n<td>string</td>\n<td>-</td>\n<td>\u53d7\u63a7\u7684\u4ee3\u7801\u5185\u5bb9</td>\n</tr>\n<tr>\n<td>onChange</td>\n<td>function</td>\n<td>-</td>\n<td>\u5185\u5bb9\u53d8\u5316\u56de\u8c03\u51fd\u6570</td>\n</tr>\n<tr>\n<td>theme</td>\n<td>string</td>\n<td>-</td>\n<td>\u7f16\u8f91\u5668\u4e3b\u9898</td>\n</tr>\n<tr>\n<td>options</td>\n<td>object</td>\n<td>-</td>\n<td>Monaco Editor \u914d\u7f6e\u9009\u9879</td>\n</tr>\n<tr>\n<td>loading</td>\n<td>ReactNode</td>\n<td>-</td>\n<td>\u81ea\u5b9a\u4e49\u52a0\u8f7d\u7ec4\u4ef6</td>\n</tr>\n<tr>\n<td>path</td>\n<td>string</td>\n<td>-</td>\n<td>\u6587\u4ef6\u8def\u5f84\uff0c\u7528\u4e8e\u8bed\u8a00\u68c0\u6d4b</td>\n</tr>\n</tbody>\n</table>\n<h4>\u5168\u5c40\u914d\u7f6e</h4>\n<p>\u7ec4\u4ef6\u652f\u6301\u901a\u8fc7 <code>window.MONACO_EDITOR_DIR</code> \u5168\u5c40\u53d8\u91cf\u914d\u7f6e Monaco Editor \u7684\u8def\u5f84\uff1a</p>\n<pre><code class=\"language-javascript\">window.MONACO_EDITOR_DIR = '/path/to/monaco-editor';\n</code></pre>\n<h4>Monaco Editor \u5e38\u7528\u914d\u7f6e\u9009\u9879</h4>\n<pre><code class=\"language-javascript\">const options = {\n fontSize: 14, // \u5b57\u4f53\u5927\u5c0f\n wordWrap: 'on', // \u81ea\u52a8\u6362\u884c\n minimap: { enabled: false }, // \u7981\u7528\u5c0f\u5730\u56fe\n scrollBeyondLastLine: false, // \u7981\u6b62\u6eda\u52a8\u5230\u6700\u540e\u4e00\u884c\u4e4b\u540e\n automaticLayout: true // \u81ea\u52a8\u5e03\u5c40\n};\n</code></pre>",example:{isFull:!1,className:"CodeEditor_89ca2",style:"",list:[{title:"\u8fd9\u91cc\u586b\u5199\u793a\u4f8b\u6807\u9898",description:"\u8fd9\u91cc\u586b\u5199\u793a\u4f8b\u8bf4\u660e",code:"const {default:CodeEditor} = _CodeEditor;\nconst BaseExample = ()=>{\n return <CodeEditor />;\n};\n\nrender(<BaseExample />);\n\n",scope:[{name:"_CodeEditor",packageName:"@components/CodeEditor",component:e(53306)}]}]}}}}]);
|
|
2
|
-
//# sourceMappingURL=1876.ff9bf408.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/1876.ff9bf408.chunk.js","mappings":"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","sources":["components/Echart/index.js","webpack://@kne-components/components-thirdparty/./src/components/Calendar/style.module.scss?778d","components/Calendar/index.js","components/Echart/README.md","webpack://@kne-components/components-thirdparty/./src/components/LiveComponentEditor/style.module.scss?90c4","components/LiveComponentEditor/index.js","components/CodeEditor/index.js","components/LiveComponentEditor/README.md","components/LiveComponentView/README.md","components/Calendar/README.md","webpack://@kne-components/components-thirdparty/./src/components/LiveComponentView/style.module.scss?b572","components/LiveComponentView/index.js","components/CodeEditor/README.md"],"sourcesContent":["import { getOrLoadRemote, getPublicPath } from '@kne/remote-loader';\nimport Fetch from '@kne/react-fetch';\nimport { useRef, useEffect } from 'react';\nimport useResize from '@kne/use-resize';\n\nconst loader = {\n loading: null,\n loader: async () => {\n await getOrLoadRemote('echarts', '', `${getPublicPath('components-thirdparty')}/echarts/echarts.js`);\n return { echarts: window.echarts };\n }\n};\n\nconst EchartInner = ({ data, option, ...props }) => {\n const ref = useResize(() => {\n instanceRef.current && instanceRef.current.resize();\n });\n const instanceRef = useRef(null);\n const { echarts } = data;\n useEffect(() => {\n instanceRef.current = echarts.init(ref.current);\n return () => {\n //echarts.dispose(ref.current);\n };\n }, [echarts, ref]);\n useEffect(() => {\n instanceRef.current && instanceRef.current.setOption(option);\n }, [option]);\n return <div {...props} ref={ref} />;\n};\n\nconst Echart = ({ loading, error, ...props }) => {\n return (\n <Fetch\n {...Object.assign({}, loader, { loading, error })}\n render={({ data }) => {\n return <EchartInner {...props} data={data} />;\n }}\n />\n );\n};\n\nexport default Echart;\n","// extracted by mini-css-extract-plugin\nexport default {\"calendar\":\"style_calendar__03q35__p8xG7\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport classnames from 'classnames';\nimport { useRef, forwardRef, useImperativeHandle } from 'react';\nimport dayjs from 'dayjs';\nimport FullCalendar from '@fullcalendar/react';\nimport dayGridPlugin from '@fullcalendar/daygrid';\nimport interactionPlugin from '@fullcalendar/interaction';\nimport timeGridPlugin from '@fullcalendar/timegrid';\nimport scrollGridPlugin from '@fullcalendar/scrollgrid';\nimport useResize from '@kne/use-resize';\nimport style from './style.module.scss';\n\nconst Calendar = createWithRemoteLoader({\n modules: ['components-core:Tooltip']\n})(\n forwardRef(({ remoteModules, className, ...p }, apiRef) => {\n const [Tooltip] = remoteModules;\n const calendarRef = useRef();\n const ref = useResize(() => {\n if (calendarRef.current) {\n const calendarApi = calendarRef.current.getApi();\n calendarApi.updateSize();\n }\n });\n useImperativeHandle(apiRef, () => {\n return calendarRef.current.getApi();\n });\n const props = Object.assign(\n {},\n {\n plugins: [dayGridPlugin, interactionPlugin, timeGridPlugin, scrollGridPlugin],\n initialView: 'dayGridMonth',\n aspectRatio: 1.6,\n weekends: true,\n slotEventOverlap: false,\n displayEventEnd: true,\n editable: false,\n firstDay: 1,\n headerToolbar: {\n left: 'prev,next today',\n center: 'title',\n right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'\n },\n buttonText: {\n today: '今天',\n month: '月',\n week: '周',\n day: '天'\n },\n dayMinWidth: 100,\n locale: 'zh-cn',\n height: 'auto',\n handleWindowResize: false,\n dateClick: () => {},\n eventClick: () => {},\n eventContent: ({ event }) => {\n const startStr = event.start ? dayjs(event.start).format('HH:ss') : '',\n endStr = event.end ? dayjs(event.end).format('HH:ss') : '';\n const content = `${!(startStr && endStr) ? `[${startStr}]` : startStr === endStr ? '' : `[${startStr}-${endStr}]`} ${event.title}`;\n\n return <Tooltip content={content}>{content}</Tooltip>;\n },\n initialDate: dayjs().format('YYYY-MM-DD')\n },\n p\n );\n return (\n <div className={classnames(style['calendar'], className)} ref={ref}>\n <FullCalendar {...props} ref={calendarRef} />\n </div>\n );\n })\n);\n\nexport default Calendar;\n","import * as component_2 from '@components/Echart';\nconst readmeConfig = {\n name: `Echart`,\n summary: `<h3>组件概述</h3>\n<p>Echart 是基于 Apache ECharts 的图表组件,提供了丰富的数据可视化功能。该组件封装了 ECharts 的初始化、配置更新和响应式调整等核心功能,简化了图表的使用流程。</p>\n<h3>主要特性</h3>\n<ul>\n<li>支持所有 ECharts 图表类型</li>\n<li>自动响应式调整大小</li>\n<li>动态加载 ECharts 核心库</li>\n<li>支持自定义加载和错误状态</li>\n<li>高性能渲染</li>\n<li>丰富的配置选项</li>\n<li>支持图表事件交互</li>\n</ul>\n<h3>使用场景</h3>\n<p>适用于需要数据可视化的各类应用,如数据报表、业务分析、监控面板、统计图表等场景。支持柱状图、折线图、饼图、散点图、地图等多种图表类型。</p>`,\n \n \n api: `<h3>API 文档</h3>\n<h4>组件属性</h4>\n<table>\n<thead>\n<tr>\n<th>属性名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>option</td>\n<td>object</td>\n<td>-</td>\n<td>ECharts 配置对象(必需)</td>\n</tr>\n<tr>\n<td>loading</td>\n<td>ReactNode</td>\n<td>-</td>\n<td>自定义加载状态组件</td>\n</tr>\n<tr>\n<td>error</td>\n<td>ReactNode</td>\n<td>-</td>\n<td>自定义错误状态组件</td>\n</tr>\n<tr>\n<td>className</td>\n<td>string</td>\n<td>-</td>\n<td>自定义样式类名</td>\n</tr>\n<tr>\n<td>style</td>\n<td>object</td>\n<td>-</td>\n<td>自定义内联样式</td>\n</tr>\n</tbody>\n</table>\n<h4>option 配置</h4>\n<p>option 对象遵循 ECharts 官方配置规范,主要包含以下部分:</p>\n<table>\n<thead>\n<tr>\n<th>配置项</th>\n<th>类型</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td>object</td>\n<td>图表标题配置</td>\n</tr>\n<tr>\n<td>tooltip</td>\n<td>object</td>\n<td>提示框配置</td>\n</tr>\n<tr>\n<td>legend</td>\n<td>object</td>\n<td>图例配置</td>\n</tr>\n<tr>\n<td>grid</td>\n<td>object</td>\n<td>直角坐标系网格配置</td>\n</tr>\n<tr>\n<td>xAxis</td>\n<td>array</td>\n<td>X轴配置</td>\n</tr>\n<tr>\n<td>yAxis</td>\n<td>array</td>\n<td>Y轴配置</td>\n</tr>\n<tr>\n<td>series</td>\n<td>array</td>\n<td>系列列表(核心数据配置)</td>\n</tr>\n</tbody>\n</table>\n<h4>常用图表类型示例</h4>\n<pre><code class=\"language-javascript\">// 柱状图\nconst barOption = {\n xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed'] },\n yAxis: { type: 'value' },\n series: [{ type: 'bar', data: [120, 200, 150] }]\n};\n\n// 折线图 \nconst lineOption = {\n xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed'] },\n yAxis: { type: 'value' },\n series: [{ type: 'line', data: [120, 200, 150] }]\n};\n\n// 饼图\nconst pieOption = {\n series: [{\n type: 'pie',\n data: [{ value: 1048, name: '搜索引擎' }, { value: 735, name: '直接访问' }]\n }]\n};\n</code></pre>\n<h4>注意事项</h4>\n<ul>\n<li>组件会自动处理图表的大小调整</li>\n<li>ECharts 核心库通过远程动态加载</li>\n<li>option 更新时会自动重新渲染图表</li>\n</ul>`,\n example: {\n isFull: false,\n className: `Echart_1f633`,\n style: ``,\n list: [{\n title: `这里填写示例标题`,\n description: `这里填写示例说明`,\n code: `const { default: Echart } = _Echart;\nconst BaseExample = () => {\n return (\n <>\n <Echart\n style={{ height: '400px' }}\n option={{\n xAxis: {\n type: 'category',\n data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']\n },\n yAxis: {\n type: 'value'\n },\n series: [\n {\n data: [820, 932, 901, 934, 1290, 1330, 1320],\n type: 'line',\n smooth: true\n }\n ]\n }}\n />\n <Echart\n style={{ height: '400px' }}\n option={{\n xAxis: {\n type: 'category',\n data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']\n },\n yAxis: {\n type: 'value'\n },\n series: [\n {\n data: [120, 200, 150, 80, 70, 110, 130],\n type: 'bar'\n }\n ]\n }}\n />\n </>\n );\n};\n\nrender(<BaseExample />);\n\n`,\n scope: [{\n name: \"_Echart\",\n packageName: \"@components/Echart\",\n component: component_2\n}]\n},{\n title: `动态数据`,\n description: `动态数据`,\n code: `const { default: Echart } = _Echart;\nconst { useState, useEffect } = React;\nconst BaseExample = () => {\n const [option, setOption] = useState({\n series: [\n {\n type: 'gauge',\n min: 0,\n max: 100,\n splitNumber: 10,\n radius: '80%',\n axisLine: {\n lineStyle: {\n color: [[1, '#f00']],\n width: 3\n }\n },\n splitLine: {\n distance: -18,\n length: 18,\n lineStyle: {\n color: '#f00'\n }\n },\n axisTick: {\n distance: -12,\n length: 10,\n lineStyle: {\n color: '#f00'\n }\n },\n axisLabel: {\n distance: -50,\n color: '#f00',\n fontSize: 25\n },\n anchor: {\n show: true,\n size: 20,\n itemStyle: {\n borderColor: '#000',\n borderWidth: 2\n }\n },\n pointer: {\n offsetCenter: [0, '10%'],\n icon: 'path://M2090.36389,615.30999 L2090.36389,615.30999 C2091.48372,615.30999 2092.40383,616.194028 2092.44859,617.312956 L2096.90698,728.755929 C2097.05155,732.369577 2094.2393,735.416212 2090.62566,735.56078 C2090.53845,735.564269 2090.45117,735.566014 2090.36389,735.566014 L2090.36389,735.566014 C2086.74736,735.566014 2083.81557,732.63423 2083.81557,729.017692 C2083.81557,728.930412 2083.81732,728.84314 2083.82081,728.755929 L2088.2792,617.312956 C2088.32396,616.194028 2089.24407,615.30999 2090.36389,615.30999 Z',\n length: '115%',\n itemStyle: {\n color: '#000'\n }\n },\n detail: {\n valueAnimation: true,\n precision: 1\n },\n title: {\n offsetCenter: [0, '-50%']\n },\n data: [\n {\n value: 58.46,\n name: 'PLP'\n }\n ]\n },\n {\n type: 'gauge',\n min: 0,\n max: 60,\n splitNumber: 6,\n axisLine: {\n lineStyle: {\n color: [[1, '#000']],\n width: 3\n }\n },\n splitLine: {\n distance: -3,\n length: 18,\n lineStyle: {\n color: '#000'\n }\n },\n axisTick: {\n distance: 0,\n length: 10,\n lineStyle: {\n color: '#000'\n }\n },\n axisLabel: {\n distance: 10,\n fontSize: 25,\n color: '#000'\n },\n pointer: {\n show: false\n },\n title: {\n show: false\n },\n anchor: {\n show: true,\n size: 14,\n itemStyle: {\n color: '#000'\n }\n }\n }\n ]\n });\n useEffect(() => {\n const timer = setInterval(function () {\n setOption({\n series: [\n {\n type: 'gauge',\n data: [\n {\n value: +(Math.random() * 100).toFixed(2),\n name: 'PLP'\n }\n ]\n }\n ]\n });\n }, 1000);\n\n return () => {\n clearInterval(timer);\n };\n }, []);\n return (\n <>\n <Echart style={{ height: '600px' }} option={option} />\n </>\n );\n};\n\nrender(<BaseExample />);\n\n`,\n scope: [{\n name: \"_Echart\",\n packageName: \"@components/Echart\",\n component: component_2\n}]\n}]\n }\n};\nexport default readmeConfig;\n","// extracted by mini-css-extract-plugin\nexport default {\"code-editor\":\"style_code-editor__D+p0v__p8xG7\",\"preview\":\"style_preview__rTt65__p8xG7\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { encode, decode } from 'plantuml-encoder';\nimport { Tabs, Flex, Alert, Segmented, Splitter } from 'antd';\nimport { MenuOutlined, SplitCellsOutlined, EyeOutlined } from '@ant-design/icons';\nimport CodeEditor from '@components/CodeEditor';\nimport LiveComponentView from '@components/LiveComponentView';\nimport transform from 'lodash/transform';\nimport get from 'lodash/get';\nimport { useState, useRef, useEffect, useMemo } from 'react';\nimport style from './style.module.scss';\n\nconst ExampleContainer = createWithRemoteLoader({\n modules: ['components-core:FormInfo@Form']\n})(({ remoteModules, children }) => {\n const [Form] = remoteModules;\n return <Form>{children}</Form>;\n});\n\nconst LiveComponentEditor = createWithRemoteLoader({\n modules: ['components-core:FormInfo', 'components-core:InfoPage', 'components-core:InfoPage@CentralContent']\n})(({ remoteModules, defaultValue, defaultMod = 'mix', onChange }) => {\n const [FormInfo, InfoPage, CentralContent] = remoteModules;\n const { Form, TableList } = FormInfo;\n const { Input, Select } = FormInfo.fields;\n const [params, setParams] = useState(() => {\n if (!defaultValue) {\n return {};\n }\n try {\n return JSON.parse(decode(defaultValue));\n } catch (e) {\n console.error(e);\n return {};\n }\n });\n const defaultValueRef = useRef(defaultValue);\n const outputContent = useMemo(() => {\n return encode(JSON.stringify(params));\n }, [params]);\n useEffect(() => {\n if (defaultValueRef.current !== outputContent) {\n defaultValueRef.current = outputContent;\n onChange && onChange(outputContent);\n }\n }, [outputContent]);\n const [mod, setMod] = useState(defaultMod);\n const { content, props, scope } = Object.assign({}, { content: '', props: {}, scope: {} }, params);\n const propsFormRef = useRef(null);\n const scopeFormRef = useRef(null);\n\n const editor = (\n <div className={style['code-editor']}>\n <CodeEditor defaultValue={content} defaultLanguage=\"javascript\" onChange={value => setParams({ ...params, content: value })} />\n </div>\n );\n\n const preview = (\n <div className={style['preview']}>\n <LiveComponentView content={outputContent} container={ExampleContainer} />\n </div>\n );\n\n return (\n <Tabs\n defaultActiveKey=\"content\"\n onChange={() => {\n propsFormRef.current && propsFormRef.current.submit();\n scopeFormRef.current && scopeFormRef.current.submit();\n }}\n items={[\n {\n key: 'props',\n label: '组件参数',\n children: (\n <Form\n ref={propsFormRef}\n data={{\n props: Object.keys(props).map(name => {\n const item = Object.assign({}, props[name]);\n return {\n name,\n type: item.type,\n defaultValue: ['array', 'object', 'boolean', 'number'].indexOf(item.type) ? JSON.stringify(item.defaultValue) : item.defaultValue\n };\n })\n }}\n onSubmit={formData => {\n setParams(params => {\n return Object.assign({}, params, {\n props: transform(\n formData.props,\n (result, value) => {\n result[value.name] = {\n defaultValue: (() => {\n if (['array', 'object', 'boolean', 'number'].indexOf(value.type) > -1) {\n return JSON.parse(value.defaultValue);\n }\n if (value.type === 'string') {\n return value.defaultValue;\n }\n if (value.type === 'function') {\n return '()=>null';\n }\n })(),\n type: value.type\n };\n },\n {}\n )\n });\n });\n }}>\n <TableList\n title=\"参数列表\"\n name=\"props\"\n list={[\n <Input name=\"name\" label=\"变量名\" rule=\"REQ LEN-0-100\" />,\n <Select\n name=\"type\"\n label=\"类型\"\n rule=\"REQ\"\n defaultValue=\"string\"\n options={[\n { label: '字符串', value: 'string' },\n { label: '数字', value: 'number' },\n { label: '布尔值', value: 'boolean' },\n { label: '数组', value: 'array' },\n { label: '对象', value: 'object' },\n { label: '函数', value: 'function' }\n ]}\n />,\n <Input\n name=\"defaultValue\"\n label=\"默认值\"\n rule=\"LEN-0-500\"\n display={({ formData, groupArgs }) => {\n return get(formData.props, `${groupArgs[0].index}.type`) !== 'function';\n }}\n />,\n <Input\n name=\"defaultValue\"\n label=\"默认值\"\n rule=\"LEN-0-500\"\n disabled\n display={({ formData, groupArgs }) => {\n return get(formData.props, `${groupArgs[0].index}.type`) === 'function';\n }}\n />\n ]}\n />\n </Form>\n )\n },\n {\n key: 'scope',\n label: '组件域',\n children: (\n <Form\n ref={scopeFormRef}\n data={{\n scope: Object.keys(scope).map(name => {\n const item = scope[name];\n return {\n name,\n token: item.token\n };\n })\n }}\n onSubmit={formData => {\n setParams(params => {\n return Object.assign({}, params, {\n scope: transform(\n formData.scope,\n (result, value) => {\n result[value.name] = value.token;\n },\n {}\n )\n });\n });\n }}>\n <TableList\n title=\"域列表\"\n name=\"scope\"\n list={[<Input name=\"name\" label=\"变量名\" rule=\"REQ LEN-0-100\" />, <Input name=\"token\" label=\"Token\" rule=\"REQ LEN-0-100\" />]}\n />\n </Form>\n )\n },\n {\n key: 'content',\n label: '组件内容',\n children: (\n <Flex vertical gap={12}>\n <Alert\n message={\n <InfoPage>\n <CentralContent\n dataSource={{ props, scope }}\n col={1}\n columns={[\n {\n name: 'props',\n title: '可使用参数',\n getValueOf: item => {\n return Object.keys(item.props)\n .map(str => `props.${str}`)\n .join(',');\n }\n },\n {\n name: 'scope',\n title: '可使用组件',\n getValueOf: item => {\n return ['Antd', ...Object.keys(item.scope)].join(',');\n }\n },\n {\n name: 'lib',\n title: '可使用库',\n getValueOf: () => {\n return ['lodash', 'dayjs'].join(',');\n }\n }\n ]}\n />\n </InfoPage>\n }\n />\n <Flex justify=\"flex-end\">\n <Segmented\n value={mod}\n onChange={setMod}\n options={[\n {\n label: '编辑器',\n value: 'editor',\n icon: <MenuOutlined />\n },\n {\n label: '混合',\n value: 'mix',\n icon: <SplitCellsOutlined />\n },\n {\n label: '预览',\n value: 'preview',\n icon: <EyeOutlined />\n }\n ]}\n />\n </Flex>\n {mod === 'editor' && editor}\n {mod === 'mix' && (\n <Splitter>\n <Splitter.Panel>{editor}</Splitter.Panel>\n <Splitter.Panel>{preview}</Splitter.Panel>\n </Splitter>\n )}\n {mod === 'preview' && preview}\n </Flex>\n )\n }\n ]}\n />\n );\n});\n\nexport default LiveComponentEditor;\n","import MonacoEditor, { loader } from '@monaco-editor/react';\nimport ensureSlash from '@kne/ensure-slash';\n\nif (window.MONACO_EDITOR_DIR) {\n loader.config({ paths: { vs: `${ensureSlash(window.MONACO_EDITOR_DIR)}/monaco-editor/min/vs` } });\n}\n\nconst CodeEditor = props => {\n return <MonacoEditor {...Object.assign({}, { height: 500 }, props)} />;\n};\n\nexport default CodeEditor;\n","import * as component_4 from '@components/LiveComponentEditor';\nimport * as component_5 from 'antd';\nconst readmeConfig = {\n name: `LiveComponentEditor`,\n summary: `<h3>组件概述</h3>\n<p>LiveComponentEditor 是一个实时的组件编辑器,允许用户在运行时动态编辑和预览 React 组件。该组件提供了代码编辑、参数配置、作用域管理等功能,并支持多种布局模式。</p>\n<h3>主要特性</h3>\n<ul>\n<li>实时代码编辑和预览</li>\n<li>组件参数可视化配置</li>\n<li>自定义作用域管理</li>\n<li>三种布局模式:编辑器、混合、预览</li>\n<li>支持 PlantUML 编码的数据存储</li>\n<li>集成 FormInfo 进行参数管理</li>\n<li>错误边界保护</li>\n<li>支持 Antd 组件库集成</li>\n</ul>\n<h3>使用场景</h3>\n<p>适用于组件开发工具、在线代码编辑器、组件演示平台、教学工具等需要实时编辑和预览 React 组件的场景。</p>`,\n \n \n api: `<h3>API 文档</h3>\n<h4>组件属性</h4>\n<table>\n<thead>\n<tr>\n<th>属性名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>defaultValue</td>\n<td>string</td>\n<td>-</td>\n<td>默认组件配置(PlantUML 编码)</td>\n</tr>\n<tr>\n<td>defaultMod</td>\n<td>string</td>\n<td>'mix'</td>\n<td>默认显示模式</td>\n</tr>\n<tr>\n<td>onChange</td>\n<td>function</td>\n<td>-</td>\n<td>配置变化回调函数</td>\n</tr>\n</tbody>\n</table>\n<h4>显示模式 (mod)</h4>\n<table>\n<thead>\n<tr>\n<th>模式值</th>\n<th>说明</th>\n<th>图标</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>editor</td>\n<td>仅显示编辑器</td>\n<td>MenuOutlined</td>\n</tr>\n<tr>\n<td>mix</td>\n<td>编辑器和预览分屏显示</td>\n<td>SplitCellsOutlined</td>\n</tr>\n<tr>\n<td>preview</td>\n<td>仅显示预览</td>\n<td>EyeOutlined</td>\n</tr>\n</tbody>\n</table>\n<h4>组件配置结构</h4>\n<pre><code class=\"language-javascript\">// 通过 PlantUML 编码的配置对象结构\n{\n content: \"React组件代码字符串\", // 组件内容\n props: { // 组件参数\n propName: {\n type: \"string|number|boolean|array|object|function\",\n defaultValue: \"默认值\"\n }\n },\n scope: { // 自定义作用域\n scopeName: \"token\" // 组件名称\n }\n}\n</code></pre>\n<h4>可用类型说明</h4>\n<table>\n<thead>\n<tr>\n<th>类型</th>\n<th>说明</th>\n<th>默认值格式</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>string</td>\n<td>字符串类型</td>\n<td>直接字符串值</td>\n</tr>\n<tr>\n<td>number</td>\n<td>数字类型</td>\n<td>数字值</td>\n</tr>\n<tr>\n<td>boolean</td>\n<td>布尔类型</td>\n<td>true/false</td>\n</tr>\n<tr>\n<td>array</td>\n<td>数组类型</td>\n<td>JSON 字符串</td>\n</tr>\n<tr>\n<td>object</td>\n<td>对象类型</td>\n<td>JSON 字符串</td>\n</tr>\n<tr>\n<td>function</td>\n<td>函数类型</td>\n<td>固定为 \" ()=>null \"</td>\n</tr>\n</tbody>\n</table>\n<h4>集成功能</h4>\n<ul>\n<li><strong>CodeEditor</strong>: 基于 Monaco Editor 的代码编辑器</li>\n<li><strong>LiveComponentView</strong>: 实时组件渲染和预览</li>\n<li><strong>FormInfo</strong>: 参数管理和表单配置</li>\n<li><strong>Antd</strong>: UI 组件库支持</li>\n<li><strong>lodash</strong>: 工具函数库</li>\n<li><strong>dayjs</strong>: 日期处理库</li>\n</ul>\n<h4>注意事项</h4>\n<ul>\n<li>函数类型参数仅支持占位符,无法编辑实际函数内容</li>\n<li>组件代码会自动包装在 ErrorBoundary 中进行错误保护</li>\n<li>支持使用 props.* 和 scope.* 中的变量和组件</li>\n</ul>`,\n example: {\n isFull: false,\n className: `LiveComponentEditor_b511b`,\n style: ``,\n list: [{\n title: `这里填写示例标题`,\n description: `这里填写示例说明`,\n code: `const { default: LiveComponentEditor } = _LiveComponentEditor;\nconst { Flex, Alert } = antd;\nconst { useState } = React;\nconst BaseExample = () => {\n const [value, setValue] = useState('');\n return (\n <Flex vertical gap={12}>\n <Alert message={value || '暂无内容'} />\n <LiveComponentEditor defaultValue={value} onChange={setValue} />\n </Flex>\n );\n};\n\nrender(<BaseExample />);\n\n`,\n scope: [{\n name: \"_LiveComponentEditor\",\n packageName: \"@components/LiveComponentEditor\",\n component: component_4\n},{\n name: \"antd\",\n packageName: \"antd\",\n component: component_5\n}]\n}]\n }\n};\nexport default readmeConfig;\n","import * as component_6 from '@components/LiveComponentView';\nconst readmeConfig = {\n name: `LiveComponentView`,\n summary: `<h3>组件概述</h3>\n<p>LiveComponentView 是一个动态组件渲染器,能够实时渲染和执行用户提供的 React 组件代码。该组件通过 Babel 转译器将代码转换为可执行的 JavaScript,并在沙箱环境中安全运行。</p>\n<h3>主要特性</h3>\n<ul>\n<li>实时渲染 React 组件代码</li>\n<li>支持 ES6+ 语法转译</li>\n<li>错误边界保护和错误显示</li>\n<li>支持自定义组件容器</li>\n<li>集成主题和国际化</li>\n<li>支持组件参数注入</li>\n<li>沙箱环境安全执行</li>\n<li>支持多个远程模块加载</li>\n</ul>\n<h3>使用场景</h3>\n<p>适用于代码演示平台、在线编程环境、组件文档展示、教学系统等需要动态执行和渲染 React 代码的场景。</p>`,\n \n \n api: `<h3>API 文档</h3>\n<h4>组件属性</h4>\n<table>\n<thead>\n<tr>\n<th>属性名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>content</td>\n<td>string</td>\n<td>-</td>\n<td>组件配置(PlantUML 编码,必需)</td>\n</tr>\n<tr>\n<td>themeColor</td>\n<td>object</td>\n<td>-</td>\n<td>自定义主题配置</td>\n</tr>\n<tr>\n<td>locale</td>\n<td>string</td>\n<td>-</td>\n<td>语言环境设置</td>\n</tr>\n<tr>\n<td>container</td>\n<td>ReactComponent</td>\n<td>-</td>\n<td>自定义容器组件</td>\n</tr>\n<tr>\n<td>props</td>\n<td>object</td>\n<td>-</td>\n<td>注入到组件的属性</td>\n</tr>\n</tbody>\n</table>\n<h4>输入格式 (content)</h4>\n<p>content 需要通过 PlantUML 编码,解码后的对象结构:</p>\n<pre><code class=\"language-javascript\">{\n content: \"React组件代码\", // 要渲染的 JSX 代码\n props: { // 组件默认属性\n propName: {\n type: \"string|number|boolean|array|object|function\",\n defaultValue: \"默认值\"\n }\n },\n scope: { // 可用组件模块\n componentName: \"moduleToken\"\n }\n}\n</code></pre>\n<h4>内置可用库</h4>\n<p>组件运行环境中内置了以下库:</p>\n<table>\n<thead>\n<tr>\n<th>库名称</th>\n<th>用途</th>\n<th>导入方式</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>React</td>\n<td>React 核心</td>\n<td>内置可用</td>\n</tr>\n<tr>\n<td>Antd</td>\n<td>UI 组件库</td>\n<td>全局可用</td>\n</tr>\n<tr>\n<td>lodash</td>\n<td>工具函数</td>\n<td>全局可用</td>\n</tr>\n<tr>\n<td>dayjs</td>\n<td>日期处理</td>\n<td>全局可用</td>\n</tr>\n</tbody>\n</table>\n<h4>错误处理</h4>\n<p>当组件执行出错时,会显示错误信息:</p>\n<pre><code class=\"language-javascript\">const ErrorComponent = ({ error }) => {\n return (\n <div className=\"error-message\">\n <pre>{error}</pre>\n </div>\n );\n};\n</code></pre>\n<h4>默认容器组件</h4>\n<p>如果不提供 container 属性,使用默认容器:</p>\n<pre><code class=\"language-javascript\">const DefaultContainer = ({ children }) => children;\n</code></pre>\n<h4>远程模块加载</h4>\n<p>支持通过 scope 配置加载远程模块,模块会在组件执行前动态加载并注入到运行环境中。</p>\n<h4>安全特性</h4>\n<ul>\n<li>代码在 ErrorBoundary 保护下执行</li>\n<li>支持主题和上下文隔离</li>\n<li>渲染结束后自动清理 DOM</li>\n<li>支持组件卸载时的资源清理</li>\n</ul>`,\n example: {\n isFull: false,\n className: `LiveComponentView_8b922`,\n style: ``,\n list: [{\n title: `这里填写示例标题`,\n description: `这里填写示例说明`,\n code: `const {default:LiveComponentView} = _LiveComponentView;\nconst BaseExample = ()=>{\n return <LiveComponentView content=\"bPHTQnD158R_oZ8ttKAQn3k9JQ3MLYfIFz8xrul9vYIEtPrPTcRRb6MXHGGhb1GQ38WWVc6nQBqeHNBJFvFTDl_2cIJx1Md5kSdiUyvpSjwp9_6HoQW0Ab05BQuorrwZBLPK5utHkjUmYQZwcEzGKzDRKhs71Pwlrdo3QlBWRKo4Hc5RU-moct3GTHSuixOWpL67WzWWDZ1Fw7e-eiuKqUVlf7fGk5KkbsCbY2zBL3IBDd2Esr0aibNzGVtHUf4Bbz0sQUsaFIeY26eJB76c2I8ig1fe-EV7S30ONdoAzauDf5c4Iv_FqkzFPz4YO3LvSOqwdhIARKMh3qNX1bZoCVn-51uUIC7rniMVhZpH7gwiBvGNf0a3bMg56mhNmG8pgTm41xl2bYyaKt_qwdZKFyxLbm_C4OHHdcjR7N-CLUQYjxlHXrF9pXMsiEL1nK29PA2WC9iQzNR3tgySbKYIIg7dmSs-bb-0kTbWdVikynojOJ5pCpP9vCR9bvwr6Bu-kph_yczNCdFl_UZRJmCbxSN2DOwawxF-vUT-XeY5wudzesZ_93mukUnzp78v-JzciG4TiUG2pe-X2TnqoTXlPX9HjtjryLjjpQIWgZtTul7shrhGqLvwNCXrb-acg65AlesTgdyxtlXy6vCVybrF24PhKVTmEFYwM9eTdOKlOsg2DKq8k--YypSPF1UTTbfAMfLA9bTTQgY0kCaSG1KVnH7vzsCocpkCIZyB9dEXaeI2u2y0\"/>;\n};\n\nrender(<BaseExample />);\n\n`,\n scope: [{\n name: \"_LiveComponentView\",\n packageName: \"@components/LiveComponentView\",\n component: component_6\n}]\n}]\n }\n};\nexport default readmeConfig;\n","import * as component_1 from '@components/Calendar';\nconst readmeConfig = {\n name: `Calendar`,\n summary: `<h3>组件概述</h3>\n<p>Calendar 是一个基于 FullCalendar 的日历组件,提供了丰富的日历展示和交互功能。该组件支持多种视图模式(月视图、周视图、日视图、列表视图),并集成了拖拽、点击等交互操作。</p>\n<h3>主要特性</h3>\n<ul>\n<li>支持多种视图模式:月视图、周视图、日视图、列表视图</li>\n<li>自动调整大小,响应式设计</li>\n<li>中文本地化支持</li>\n<li>事件内容工具提示显示</li>\n<li>自定义事件渲染</li>\n<li>支持日期点击和事件点击回调</li>\n<li>集成 dayjs 进行日期处理</li>\n<li>可配置的工具栏按钮</li>\n</ul>\n<h3>使用场景</h3>\n<p>适用于需要展示和管理日程安排的各类应用,如会议管理系统、活动预约平台、个人日程管理等场景。</p>`,\n \n \n api: `<h3>API 文档</h3>\n<h4>组件属性</h4>\n<table>\n<thead>\n<tr>\n<th>属性名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>className</td>\n<td>string</td>\n<td>-</td>\n<td>自定义样式类名</td>\n</tr>\n<tr>\n<td>initialView</td>\n<td>string</td>\n<td>'dayGridMonth'</td>\n<td>初始视图模式</td>\n</tr>\n<tr>\n<td>aspectRatio</td>\n<td>number</td>\n<td>1.6</td>\n<td>日历宽高比</td>\n</tr>\n<tr>\n<td>weekends</td>\n<td>boolean</td>\n<td>true</td>\n<td>是否显示周末</td>\n</tr>\n<tr>\n<td>slotEventOverlap</td>\n<td>boolean</td>\n<td>false</td>\n<td>时间槽事件是否允许重叠</td>\n</tr>\n<tr>\n<td>displayEventEnd</td>\n<td>boolean</td>\n<td>true</td>\n<td>是否显示事件结束时间</td>\n</tr>\n<tr>\n<td>editable</td>\n<td>boolean</td>\n<td>false</td>\n<td>事件是否可编辑</td>\n</tr>\n<tr>\n<td>firstDay</td>\n<td>number</td>\n<td>1</td>\n<td>一周的第一天(0=周日,1=周一)</td>\n</tr>\n<tr>\n<td>headerToolbar</td>\n<td>object</td>\n<td>见下方</td>\n<td>工具栏配置</td>\n</tr>\n<tr>\n<td>buttonText</td>\n<td>object</td>\n<td>见下方</td>\n<td>按钮文本配置</td>\n</tr>\n<tr>\n<td>dayMinWidth</td>\n<td>number</td>\n<td>100</td>\n<td>日单元格最小宽度</td>\n</tr>\n<tr>\n<td>locale</td>\n<td>string</td>\n<td>'zh-cn'</td>\n<td>语言本地化</td>\n</tr>\n<tr>\n<td>height</td>\n<td>string</td>\n<td>'auto'</td>\n<td>日历高度</td>\n</tr>\n<tr>\n<td>handleWindowResize</td>\n<td>boolean</td>\n<td>false</td>\n<td>是否处理窗口大小变化</td>\n</tr>\n<tr>\n<td>dateClick</td>\n<td>function</td>\n<td>() => {}</td>\n<td>日期点击回调</td>\n</tr>\n<tr>\n<td>eventClick</td>\n<td>function</td>\n<td>() => {}</td>\n<td>事件点击回调</td>\n</tr>\n<tr>\n<td>eventContent</td>\n<td>function</td>\n<td>自定义渲染</td>\n<td>事件内容渲染函数</td>\n</tr>\n<tr>\n<td>initialDate</td>\n<td>string</td>\n<td>当前日期</td>\n<td>初始日期</td>\n</tr>\n</tbody>\n</table>\n<h4>默认配置</h4>\n<pre><code class=\"language-javascript\">// headerToolbar 默认配置\n{\n left: 'prev,next today',\n center: 'title', \n right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'\n}\n\n// buttonText 默认配置\n{\n today: '今天',\n month: '月',\n week: '周', \n day: '天'\n}\n</code></pre>\n<h4>Ref 方法</h4>\n<p>通过 ref 可以获取 FullCalendar 的 API 实例,支持调用所有 FullCalendar 的原生方法。</p>`,\n example: {\n isFull: false,\n className: `Calendar_8ff92`,\n style: ``,\n list: [{\n title: `这里填写示例标题`,\n description: `这里填写示例说明`,\n code: `const { default: Calendar } = _Calendar;\nconst BaseExample = () => {\n return <Calendar />;\n};\n\nrender(<BaseExample />);\n\n`,\n scope: [{\n name: \"_Calendar\",\n packageName: \"@components/Calendar\",\n component: component_1\n}]\n}]\n }\n};\nexport default readmeConfig;\n","// extracted by mini-css-extract-plugin\nexport default {\"error-message\":\"style_error-message__5udgI__p8xG7\"};","import React, { useEffect, useRef, useMemo } from 'react';\nimport ReactDOM from 'react-dom/client';\nimport { decode } from 'plantuml-encoder';\nimport { useState } from 'react';\nimport { withRemoteLoader, createWithRemoteLoader } from '@kne/remote-loader';\nimport ErrorBoundary from '@kne/react-error-boundary';\nimport lodash from 'lodash';\nimport dayjs from 'dayjs';\nimport { transform as _transform } from '@babel/standalone';\nimport * as Antd from 'antd';\nimport { Flex, Spin } from 'antd';\nimport style from './style.module.scss';\n\nconst { transform, memoize } = lodash;\n\nconst ErrorComponent = ({ error }) => {\n return (\n <div className={style['error-message']}>\n <pre>{error}</pre>\n </div>\n );\n};\n\nconst LiveComponent = withRemoteLoader(({ remoteModules, children, props, themeToken, locale, container }) => {\n const [error, setError] = useState(null);\n const { content, moduleNames } = children;\n const rootRef = useRef(null);\n const scope = useMemo(() => {\n return memoize(moduleNames => {\n return transform(\n remoteModules,\n (result, module, index) => {\n result[moduleNames[index]] = module;\n },\n {}\n );\n })(moduleNames);\n }, [remoteModules, moduleNames]);\n\n useEffect(() => {\n if (!rootRef.current) {\n return;\n }\n const el = document.createElement('div');\n rootRef.current.innerHTML = '';\n setError(null);\n rootRef.current.appendChild(el);\n const root = ReactDOM.createRoot(el);\n try {\n const ContainerComponent = container || (({ children }) => children);\n const code = _transform(\n `render(<ErrorBoundary errorComponent={ErrorComponent}>\n <PureGlobal themeToken={${JSON.stringify(themeToken)}} preset={${JSON.stringify({\n locale\n })}}>\n <ContainerComponent>\n ${content}\n </ContainerComponent>\n </PureGlobal>\n</ErrorBoundary>);`,\n { presets: ['es2015', 'react'] }\n ).code;\n // eslint-disable-next-line no-new-func\n const runnerFunction = new Function(\n 'React',\n 'render',\n 'props',\n 'Antd',\n 'ErrorBoundary',\n 'ErrorComponent',\n 'ContainerComponent',\n 'lodash',\n 'dayjs',\n ...moduleNames,\n code\n );\n runnerFunction(\n React,\n jsx => root.render(jsx),\n props,\n Antd,\n ErrorBoundary,\n ErrorComponent,\n ContainerComponent,\n lodash,\n dayjs,\n ...moduleNames.map(name => scope[name])\n );\n } catch (e) {\n setError(e);\n }\n return () => {\n if (rootRef.current) {\n rootRef.current.innerHTML = '';\n }\n };\n }, [scope, moduleNames, props, content]);\n\n return (\n <Flex vertical>\n {moduleNames.length !== remoteModules.length ? <Spin /> : <div ref={rootRef} />}\n {error && <ErrorComponent error={error.message} />}\n </Flex>\n );\n});\n\nconst LiveComponentView = createWithRemoteLoader({\n modules: ['components-core:Global@useGlobalContext']\n})(({ remoteModules, content: inputStr, themeColor, locale, container, props: componentProps }) => {\n const [useGlobalContext] = remoteModules;\n const { global } = useGlobalContext();\n const { content, props, scope, error } = useMemo(() => {\n try {\n if (!inputStr) {\n return { error: '组件为空' };\n }\n const { content, props, scope } = JSON.parse(decode(inputStr));\n\n return Object.assign(\n {},\n {\n content: content || '',\n scope: Object.assign({}, scope),\n props: Object.assign(\n {},\n props &&\n transform(\n props,\n (result, value, name) => {\n result[name] = (() => {\n if (['array', 'object', 'boolean', 'number'].indexOf(value.type) > -1) {\n return JSON.parse(value.defaultValue);\n }\n if (value.type === 'string') {\n return value.defaultValue;\n }\n if (value.type === 'function') {\n return () => null;\n }\n })();\n },\n {}\n )\n ),\n error: null\n }\n );\n } catch (e) {\n return { error: e.message || '参数无法解析' };\n }\n }, [inputStr]);\n\n const targetProps = useMemo(() => {\n return Object.assign({}, props, componentProps);\n }, [componentProps, props]);\n\n if (error) {\n return <ErrorComponent error={error} />;\n }\n const moduleNames = Object.keys(scope);\n\n return (\n <LiveComponent\n props={targetProps}\n container={container}\n themeToken={themeColor || global.themeToken}\n locale={locale || global.locale}\n modules={['components-core:Global@PureGlobal'].concat(moduleNames.map(name => scope[name]))}\n children={{ content, moduleNames: ['PureGlobal'].concat(moduleNames) }}\n />\n );\n});\n\nexport default LiveComponentView;\n","import * as component_3 from '@components/CodeEditor';\nconst readmeConfig = {\n name: `CodeEditor`,\n summary: `<h3>组件概述</h3>\n<p>CodeEditor 是基于 Monaco Editor 的代码编辑器组件,提供了强大的代码编辑功能。Monaco Editor 是 VS Code 的编辑器核心,支持语法高亮、代码补全、错误检测等特性。</p>\n<h3>主要特性</h3>\n<ul>\n<li>支持多种编程语言的语法高亮</li>\n<li>智能代码补全</li>\n<li>错误检测和提示</li>\n<li>可自定义编辑器主题</li>\n<li>支持代码格式化</li>\n<li>可配置的编辑器高度</li>\n<li>支持外部 Monaco Editor 路径配置</li>\n</ul>\n<h3>使用场景</h3>\n<p>适用于需要代码编辑功能的应用,如在线编程平台、配置编辑器、代码示例展示、开发工具等场景。</p>`,\n \n \n api: `<h3>API 文档</h3>\n<h4>组件属性</h4>\n<table>\n<thead>\n<tr>\n<th>属性名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>height</td>\n<td>string</td>\n<td>'500px'</td>\n<td>编辑器高度</td>\n</tr>\n<tr>\n<td>defaultLanguage</td>\n<td>string</td>\n<td>-</td>\n<td>默认编程语言</td>\n</tr>\n<tr>\n<td>defaultValue</td>\n<td>string</td>\n<td>-</td>\n<td>默认代码内容</td>\n</tr>\n<tr>\n<td>value</td>\n<td>string</td>\n<td>-</td>\n<td>受控的代码内容</td>\n</tr>\n<tr>\n<td>onChange</td>\n<td>function</td>\n<td>-</td>\n<td>内容变化回调函数</td>\n</tr>\n<tr>\n<td>theme</td>\n<td>string</td>\n<td>-</td>\n<td>编辑器主题</td>\n</tr>\n<tr>\n<td>options</td>\n<td>object</td>\n<td>-</td>\n<td>Monaco Editor 配置选项</td>\n</tr>\n<tr>\n<td>loading</td>\n<td>ReactNode</td>\n<td>-</td>\n<td>自定义加载组件</td>\n</tr>\n<tr>\n<td>path</td>\n<td>string</td>\n<td>-</td>\n<td>文件路径,用于语言检测</td>\n</tr>\n</tbody>\n</table>\n<h4>全局配置</h4>\n<p>组件支持通过 <code>window.MONACO_EDITOR_DIR</code> 全局变量配置 Monaco Editor 的路径:</p>\n<pre><code class=\"language-javascript\">window.MONACO_EDITOR_DIR = '/path/to/monaco-editor';\n</code></pre>\n<h4>Monaco Editor 常用配置选项</h4>\n<pre><code class=\"language-javascript\">const options = {\n fontSize: 14, // 字体大小\n wordWrap: 'on', // 自动换行\n minimap: { enabled: false }, // 禁用小地图\n scrollBeyondLastLine: false, // 禁止滚动到最后一行之后\n automaticLayout: true // 自动布局\n};\n</code></pre>`,\n example: {\n isFull: false,\n className: `CodeEditor_89ca2`,\n style: ``,\n list: [{\n title: `这里填写示例标题`,\n description: `这里填写示例说明`,\n code: `const {default:CodeEditor} = _CodeEditor;\nconst BaseExample = ()=>{\n return <CodeEditor />;\n};\n\nrender(<BaseExample />);\n\n`,\n scope: [{\n name: \"_CodeEditor\",\n packageName: \"@components/CodeEditor\",\n component: component_3\n}]\n}]\n }\n};\nexport default readmeConfig;\n"],"names":["loader","loading","async","getOrLoadRemote","concat","getPublicPath","echarts","window","EchartInner","_ref","data","option","props","_objectWithoutProperties","_excluded","ref","useResize","instanceRef","current","resize","useRef","useEffect","init","setOption","_jsx","_objectSpread","_ref2","error","_excluded2","Fetch","Object","assign","render","_ref3","createWithRemoteLoader","modules","forwardRef","apiRef","remoteModules","className","p","Tooltip","calendarRef","getApi","updateSize","useImperativeHandle","plugins","dayGridPlugin","interactionPlugin","timeGridPlugin","scrollGridPlugin","initialView","aspectRatio","weekends","slotEventOverlap","displayEventEnd","editable","firstDay","headerToolbar","left","center","right","buttonText","today","month","week","day","dayMinWidth","locale","height","handleWindowResize","dateClick","eventClick","eventContent","event","startStr","start","dayjs","format","endStr","end","content","title","children","initialDate","classnames","style","FullCalendar","name","summary","api","example","isFull","list","description","code","scope","packageName","component","ExampleContainer","Form","defaultValue","defaultMod","onChange","FormInfo","InfoPage","CentralContent","TableList","Input","Select","fields","params","setParams","useState","JSON","parse","decode","e","console","defaultValueRef","outputContent","useMemo","encode","stringify","mod","setMod","propsFormRef","scopeFormRef","editor","CodeEditor","defaultLanguage","value","preview","LiveComponentView","container","Tabs","defaultActiveKey","submit","items","key","label","keys","map","item","type","indexOf","onSubmit","formData","transform","result","rule","options","display","groupArgs","get","index","disabled","_ref4","token","_jsxs","Flex","vertical","gap","Alert","message","dataSource","col","columns","getValueOf","str","join","justify","Segmented","icon","MenuOutlined","SplitCellsOutlined","EyeOutlined","Splitter","Panel","MONACO_EDITOR_DIR","config","paths","vs","ensureSlash","MonacoEditor","memoize","lodash","ErrorComponent","LiveComponent","withRemoteLoader","themeToken","setError","moduleNames","rootRef","module","el","document","createElement","innerHTML","appendChild","root","ReactDOM","ContainerComponent","_transform","presets","Function","runnerFunction","React","jsx","Antd","ErrorBoundary","length","Spin","inputStr","themeColor","componentProps","useGlobalContext","global","targetProps"],"ignoreList":[],"sourceRoot":""}
|