w-flow-vue 1.0.0

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.
Files changed (144) hide show
  1. package/.editorconfig +9 -0
  2. package/.eslintignore +3 -0
  3. package/.eslintrc.js +55 -0
  4. package/.jsdoc +25 -0
  5. package/AGENT.md +223 -0
  6. package/LICENSE +21 -0
  7. package/README.md +37 -0
  8. package/SECURITY.md +5 -0
  9. package/babel.config.js +16 -0
  10. package/dist/w-flow-vue.umd.js +15 -0
  11. package/dist/w-flow-vue.umd.js.map +1 -0
  12. package/docs/components_WFlowVue.vue.html +1214 -0
  13. package/docs/examples/app.html +62 -0
  14. package/docs/examples/app.umd.js +20 -0
  15. package/docs/examples/app.umd.js.map +1 -0
  16. package/docs/examples/ex-AppBasic.html +440 -0
  17. package/docs/examples/ex-AppConnectivity.html +131 -0
  18. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  19. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  20. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  21. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  22. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  23. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  24. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  25. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  26. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  27. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +978 -0
  28. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  29. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  30. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  31. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  32. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1049 -0
  33. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  34. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  35. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  36. package/docs/global.html +1919 -0
  37. package/docs/index.html +84 -0
  38. package/docs/js_defaults.mjs.html +105 -0
  39. package/docs/js_edge-path.mjs.html +237 -0
  40. package/docs/js_geometry.mjs.html +298 -0
  41. package/docs/js_graph.mjs.html +103 -0
  42. package/docs/js_step-routing.mjs.html +346 -0
  43. package/docs/module-WFlowVue.html +2790 -0
  44. package/docs/scripts/collapse.js +39 -0
  45. package/docs/scripts/commonNav.js +28 -0
  46. package/docs/scripts/linenumber.js +25 -0
  47. package/docs/scripts/nav.js +12 -0
  48. package/docs/scripts/polyfill.js +4 -0
  49. package/docs/scripts/prettify/Apache-License-2.0.txt +202 -0
  50. package/docs/scripts/prettify/lang-css.js +2 -0
  51. package/docs/scripts/prettify/prettify.js +28 -0
  52. package/docs/scripts/search.js +99 -0
  53. package/docs/styles/jsdoc.css +776 -0
  54. package/docs/styles/prettify.css +80 -0
  55. package/jest.config.js +20 -0
  56. package/package.json +80 -0
  57. package/public/index.html +38 -0
  58. package/script.txt +22 -0
  59. package/src/App.vue +326 -0
  60. package/src/AppBasic.vue +125 -0
  61. package/src/AppConnectivity.vue +186 -0
  62. package/src/components/WFlowVue.vue +1142 -0
  63. package/src/components/canvas/BackgroundLayer.vue +78 -0
  64. package/src/components/canvas/FlowCanvas.vue +64 -0
  65. package/src/components/canvas/SelectionBox.vue +36 -0
  66. package/src/components/canvas/ViewportTransform.vue +35 -0
  67. package/src/components/edges/ConnectionLine.vue +65 -0
  68. package/src/components/edges/EdgeMarkerDefs.vue +76 -0
  69. package/src/components/edges/EdgeRenderer.vue +120 -0
  70. package/src/components/edges/EdgeWrapper.vue +379 -0
  71. package/src/components/nodes/DefaultNode.vue +276 -0
  72. package/src/components/nodes/Handle.vue +101 -0
  73. package/src/components/nodes/InputNode.vue +47 -0
  74. package/src/components/nodes/NodeBody.vue +103 -0
  75. package/src/components/nodes/NodeFace.vue +128 -0
  76. package/src/components/nodes/NodeRenderer.vue +95 -0
  77. package/src/components/nodes/NodeWrapper.vue +475 -0
  78. package/src/components/nodes/OutputNode.vue +47 -0
  79. package/src/components/ui/ConnSettingsForm.vue +158 -0
  80. package/src/components/ui/Controls.vue +83 -0
  81. package/src/components/ui/NodeSettingsForm.vue +185 -0
  82. package/src/js/defaults.mjs +33 -0
  83. package/src/js/edge-path.mjs +165 -0
  84. package/src/js/geometry.mjs +226 -0
  85. package/src/js/graph.mjs +31 -0
  86. package/src/js/step-routing.mjs +274 -0
  87. package/src/main.js +22 -0
  88. package/test/WFlowVue-features.test.mjs +760 -0
  89. package/test/WFlowVue.test.mjs +421 -0
  90. package/test/components-canvas.test.mjs +102 -0
  91. package/test/components-edge.test.mjs +147 -0
  92. package/test/components-node.test.mjs +174 -0
  93. package/test/components-ui.test.mjs +69 -0
  94. package/test/defaults.test.mjs +86 -0
  95. package/test/edge-path.test.mjs +102 -0
  96. package/test/generate-routing-snapshots.mjs +77 -0
  97. package/test/generate-visual-baselines.mjs +206 -0
  98. package/test/geometry.test.mjs +236 -0
  99. package/test/graph.test.mjs +72 -0
  100. package/test/jsons/routing-snapshots.json +24994 -0
  101. package/test/pics/_check2.png +0 -0
  102. package/test/pics/_check3.png +0 -0
  103. package/test/pics/_check4.png +0 -0
  104. package/test/pics/_check5.png +0 -0
  105. package/test/pics/_v1.png +0 -0
  106. package/test/pics/_v2.png +0 -0
  107. package/test/pics/_v3.png +0 -0
  108. package/test/pics/_v4.png +0 -0
  109. package/test/pics/_v5.png +0 -0
  110. package/test/pics/_v6.png +0 -0
  111. package/test/pics/_v7.png +0 -0
  112. package/test/pics/vb-edge-hovered.png +0 -0
  113. package/test/pics/vb-edges-normal.png +0 -0
  114. package/test/pics/vb-locked-edge-hovered.png +0 -0
  115. package/test/pics/vb-locked-node-hovered.png +0 -0
  116. package/test/pics/vb-locked-node-selected.png +0 -0
  117. package/test/pics/vb-locked-overview.png +0 -0
  118. package/test/pics/vb-node-1.png +0 -0
  119. package/test/pics/vb-node-10.png +0 -0
  120. package/test/pics/vb-node-11.png +0 -0
  121. package/test/pics/vb-node-12.png +0 -0
  122. package/test/pics/vb-node-2.png +0 -0
  123. package/test/pics/vb-node-3.png +0 -0
  124. package/test/pics/vb-node-4.png +0 -0
  125. package/test/pics/vb-node-5.png +0 -0
  126. package/test/pics/vb-node-6.png +0 -0
  127. package/test/pics/vb-node-7.png +0 -0
  128. package/test/pics/vb-node-8.png +0 -0
  129. package/test/pics/vb-node-9.png +0 -0
  130. package/test/pics/vb-node-hovered.png +0 -0
  131. package/test/pics/vb-node-selected.png +0 -0
  132. package/test/pics/vb-overview.png +0 -0
  133. package/test/step-routing-connectivity.test.mjs +78 -0
  134. package/test/step-routing.test.mjs +88 -0
  135. package/test/visual-regression.test.mjs +274 -0
  136. package/toolg/addVersion.mjs +4 -0
  137. package/toolg/cleanFolder.mjs +4 -0
  138. package/toolg/gDistApp.mjs +34 -0
  139. package/toolg/gDistRollupComps.mjs +22 -0
  140. package/toolg/gDocExams.mjs +47 -0
  141. package/toolg/gExtractHtml.mjs +179 -0
  142. package/toolg/modifyReadme.mjs +4 -0
  143. package/vue.config.js +9 -0
  144. package/vue2/344/271/213foreignObject/345/205/247/346/270/262/346/237/223/345/225/217/351/241/214/350/210/207/344/277/256/346/255/243.md +151 -0
@@ -0,0 +1,20 @@
1
+ /*!
2
+ * app v1.0.0
3
+ * (c) 2018-2021 yuda-lyu(semisphere)
4
+ * Released under the MIT License.
5
+ */
6
+ !function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(n="undefined"!=typeof globalThis?globalThis:n||self).app=e()}(this,function(){"use strict";var n=Array.isArray,e="object"==typeof global&&global&&global.Object===Object&&global,t="object"==typeof self&&self&&self.Object===Object&&self,o=e||t||Function("return this")(),r=o.Symbol,i=Object.prototype,a=i.hasOwnProperty,l=i.toString,s=r?r.toStringTag:void 0;var d=Object.prototype.toString;var u=r?r.toStringTag:void 0;function c(n){return null==n?void 0===n?"[object Undefined]":"[object Null]":u&&u in Object(n)?function(n){var e=a.call(n,s),t=n[s];try{n[s]=void 0;var o=!0}catch(n){}var r=l.call(n);return o&&(e?n[s]=t:delete n[s]),r}(n):function(n){return d.call(n)}(n)}function p(n){return null!=n&&"object"==typeof n}function f(n){return"symbol"==typeof n||p(n)&&"[object Symbol]"==c(n)}var h=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,v=/^\w*$/;function g(e,t){if(n(e))return!1;var o=typeof e;return!("number"!=o&&"symbol"!=o&&"boolean"!=o&&null!=e&&!f(e))||(v.test(e)||!h.test(e)||null!=t&&e in Object(t))}function m(n){var e=typeof n;return null!=n&&("object"==e||"function"==e)}function b(n){if(!m(n))return!1;var e=c(n);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var A,y=o["__core-js_shared__"],C=(A=/[^.]+$/.exec(y&&y.keys&&y.keys.IE_PROTO||""))?"Symbol(src)_1."+A:"";var x=Function.prototype.toString;function w(n){if(null!=n){try{return x.call(n)}catch(n){}try{return n+""}catch(n){}}return""}var S=/^\[object .+?Constructor\]$/,k=Function.prototype,_=Object.prototype,B=k.toString,P=_.hasOwnProperty,T=RegExp("^"+B.call(P).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function z(n){return!(!m(n)||(e=n,C&&C in e))&&(b(n)?T:S).test(w(n));var e}function E(n,e){var t=function(n,e){return null==n?void 0:n[e]}(n,e);return z(t)?t:void 0}var F=E(Object,"create");var I=Object.prototype.hasOwnProperty;var H=Object.prototype.hasOwnProperty;function N(n){var e=-1,t=null==n?0:n.length;for(this.clear();++e<t;){var o=n[e];this.set(o[0],o[1])}}function W(n,e){return n===e||n!=n&&e!=e}function $(n,e){for(var t=n.length;t--;)if(W(n[t][0],e))return t;return-1}N.prototype.clear=function(){this.__data__=F?F(null):{},this.size=0},N.prototype.delete=function(n){var e=this.has(n)&&delete this.__data__[n];return this.size-=e?1:0,e},N.prototype.get=function(n){var e=this.__data__;if(F){var t=e[n];return"__lodash_hash_undefined__"===t?void 0:t}return I.call(e,n)?e[n]:void 0},N.prototype.has=function(n){var e=this.__data__;return F?void 0!==e[n]:H.call(e,n)},N.prototype.set=function(n,e){var t=this.__data__;return this.size+=this.has(n)?0:1,t[n]=F&&void 0===e?"__lodash_hash_undefined__":e,this};var M=Array.prototype.splice;function D(n){var e=-1,t=null==n?0:n.length;for(this.clear();++e<t;){var o=n[e];this.set(o[0],o[1])}}D.prototype.clear=function(){this.__data__=[],this.size=0},D.prototype.delete=function(n){var e=this.__data__,t=$(e,n);return!(t<0)&&(t==e.length-1?e.pop():M.call(e,t,1),--this.size,!0)},D.prototype.get=function(n){var e=this.__data__,t=$(e,n);return t<0?void 0:e[t][1]},D.prototype.has=function(n){return $(this.__data__,n)>-1},D.prototype.set=function(n,e){var t=this.__data__,o=$(t,n);return o<0?(++this.size,t.push([n,e])):t[o][1]=e,this};var L=E(o,"Map");function j(n,e){var t,o,r=n.__data__;return("string"==(o=typeof(t=e))||"number"==o||"symbol"==o||"boolean"==o?"__proto__"!==t:null===t)?r["string"==typeof e?"string":"hash"]:r.map}function R(n){var e=-1,t=null==n?0:n.length;for(this.clear();++e<t;){var o=n[e];this.set(o[0],o[1])}}R.prototype.clear=function(){this.size=0,this.__data__={hash:new N,map:new(L||D),string:new N}},R.prototype.delete=function(n){var e=j(this,n).delete(n);return this.size-=e?1:0,e},R.prototype.get=function(n){return j(this,n).get(n)},R.prototype.has=function(n){return j(this,n).has(n)},R.prototype.set=function(n,e){var t=j(this,n),o=t.size;return t.set(n,e),this.size+=t.size==o?0:1,this};function O(n,e){if("function"!=typeof n||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var t=function(){var o=arguments,r=e?e.apply(this,o):o[0],i=t.cache;if(i.has(r))return i.get(r);var a=n.apply(this,o);return t.cache=i.set(r,a)||i,a};return t.cache=new(O.Cache||R),t}O.Cache=R;var V,Y,U,X=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,G=/\\(\\)?/g,Z=(V=function(n){var e=[];return 46===n.charCodeAt(0)&&e.push(""),n.replace(X,function(n,t,o,r){e.push(o?r.replace(G,"$1"):t||n)}),e},Y=O(V,function(n){return 500===U.size&&U.clear(),n}),U=Y.cache,Y),q=Z;function Q(n,e){for(var t=-1,o=null==n?0:n.length,r=Array(o);++t<o;)r[t]=e(n[t],t,n);return r}var J=r?r.prototype:void 0,K=J?J.toString:void 0;function nn(e){if("string"==typeof e)return e;if(n(e))return Q(e,nn)+"";if(f(e))return K?K.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function en(n){return null==n?"":nn(n)}function tn(e,t){return n(e)?e:g(e,t)?[e]:q(en(e))}function on(n){if("string"==typeof n||f(n))return n;var e=n+"";return"0"==e&&1/n==-1/0?"-0":e}function rn(n,e){for(var t=0,o=(e=tn(e,n)).length;null!=n&&t<o;)n=n[on(e[t++])];return t&&t==o?n:void 0}function an(n,e,t){var o=null==n?void 0:rn(n,e);return void 0===o?t:o}function ln(n,e){for(var t=-1,o=null==n?0:n.length;++t<o&&!1!==e(n[t],t,n););return n}var sn,dn=function(n,e,t){for(var o=-1,r=Object(n),i=t(n),a=i.length;a--;){var l=i[sn?a:++o];if(!1===e(r[l],l,r))break}return n},un=dn;function cn(n){return p(n)&&"[object Arguments]"==c(n)}var pn=Object.prototype,fn=pn.hasOwnProperty,hn=pn.propertyIsEnumerable,vn=cn(function(){return arguments}())?cn:function(n){return p(n)&&fn.call(n,"callee")&&!hn.call(n,"callee")},gn=vn;var mn="object"==typeof exports&&exports&&!exports.nodeType&&exports,bn=mn&&"object"==typeof module&&module&&!module.nodeType&&module,An=bn&&bn.exports===mn?o.Buffer:void 0,yn=(An?An.isBuffer:void 0)||function(){return!1},Cn=/^(?:0|[1-9]\d*)$/;function xn(n,e){var t=typeof n;return!!(e=null==e?9007199254740991:e)&&("number"==t||"symbol"!=t&&Cn.test(n))&&n>-1&&n%1==0&&n<e}function wn(n){return"number"==typeof n&&n>-1&&n%1==0&&n<=9007199254740991}var Sn={};function kn(n){return function(e){return n(e)}}Sn["[object Float32Array]"]=Sn["[object Float64Array]"]=Sn["[object Int8Array]"]=Sn["[object Int16Array]"]=Sn["[object Int32Array]"]=Sn["[object Uint8Array]"]=Sn["[object Uint8ClampedArray]"]=Sn["[object Uint16Array]"]=Sn["[object Uint32Array]"]=!0,Sn["[object Arguments]"]=Sn["[object Array]"]=Sn["[object ArrayBuffer]"]=Sn["[object Boolean]"]=Sn["[object DataView]"]=Sn["[object Date]"]=Sn["[object Error]"]=Sn["[object Function]"]=Sn["[object Map]"]=Sn["[object Number]"]=Sn["[object Object]"]=Sn["[object RegExp]"]=Sn["[object Set]"]=Sn["[object String]"]=Sn["[object WeakMap]"]=!1;var _n="object"==typeof exports&&exports&&!exports.nodeType&&exports,Bn=_n&&"object"==typeof module&&module&&!module.nodeType&&module,Pn=Bn&&Bn.exports===_n&&e.process,Tn=function(){try{var n=Bn&&Bn.require&&Bn.require("util").types;return n||Pn&&Pn.binding&&Pn.binding("util")}catch(n){}}(),zn=Tn&&Tn.isTypedArray,En=zn?kn(zn):function(n){return p(n)&&wn(n.length)&&!!Sn[c(n)]},Fn=Object.prototype.hasOwnProperty;function In(e,t){var o=n(e),r=!o&&gn(e),i=!o&&!r&&yn(e),a=!o&&!r&&!i&&En(e),l=o||r||i||a,s=l?function(n,e){for(var t=-1,o=Array(n);++t<n;)o[t]=e(t);return o}(e.length,String):[],d=s.length;for(var u in e)!t&&!Fn.call(e,u)||l&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||xn(u,d))||s.push(u);return s}var Hn=Object.prototype;function Nn(n){var e=n&&n.constructor;return n===("function"==typeof e&&e.prototype||Hn)}function Wn(n,e){return function(t){return n(e(t))}}var $n=Wn(Object.keys,Object),Mn=Object.prototype.hasOwnProperty;function Dn(n){if(!Nn(n))return $n(n);var e=[];for(var t in Object(n))Mn.call(n,t)&&"constructor"!=t&&e.push(t);return e}function Ln(n){return null!=n&&wn(n.length)&&!b(n)}function jn(n){return Ln(n)?In(n):Dn(n)}var Rn=function(n,e){return function(t,o){if(null==t)return t;if(!Ln(t))return n(t,o);for(var r=t.length,i=e?r:-1,a=Object(t);(e?i--:++i<r)&&!1!==o(a[i],i,a););return t}}(function(n,e){return n&&un(n,e,jn)}),On=Rn;function Vn(n){return n}function Yn(e,t){var o;return(n(e)?ln:On)(e,"function"==typeof(o=t)?o:Vn)}function Un(n,e,t){var o=n.length;return t=void 0===t?o:t,!e&&t>=o?n:function(n,e,t){var o=-1,r=n.length;e<0&&(e=-e>r?0:r+e),(t=t>r?r:t)<0&&(t+=r),r=e>t?0:t-e>>>0,e>>>=0;for(var i=Array(r);++o<r;)i[o]=n[o+e];return i}(n,e,t)}var Xn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function Gn(n){return Xn.test(n)}function Zn(n,e,t){if(!m(t))return!1;var o=typeof e;return!!("number"==o?Ln(t)&&xn(e,t.length):"string"==o&&e in t)&&W(t[e],n)}var qn=Tn&&Tn.isRegExp,Qn=qn?kn(qn):function(n){return p(n)&&"[object RegExp]"==c(n)};var Jn="\\ud800-\\udfff",Kn="["+Jn+"]",ne="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",ee="\\ud83c[\\udffb-\\udfff]",te="[^"+Jn+"]",oe="(?:\\ud83c[\\udde6-\\uddff]){2}",re="[\\ud800-\\udbff][\\udc00-\\udfff]",ie="(?:"+ne+"|"+ee+")"+"?",ae="[\\ufe0e\\ufe0f]?",le=ae+ie+("(?:\\u200d(?:"+[te,oe,re].join("|")+")"+ae+ie+")*"),se="(?:"+[te+ne+"?",ne,oe,re,Kn].join("|")+")",de=RegExp(ee+"(?="+ee+")|"+se+le,"g");function ue(n){return Gn(n)?function(n){return n.match(de)||[]}(n):function(n){return n.split("")}(n)}function ce(n,e,t){return t&&"number"!=typeof t&&Zn(n,e,t)&&(e=t=void 0),(t=void 0===t?4294967295:t>>>0)?(n=en(n))&&("string"==typeof e||null!=e&&!Qn(e))&&!(e=nn(e))&&Gn(n)?Un(ue(n),0,t):n.split(e,t):[]}function pe(n){var e=this.__data__=new D(n);this.size=e.size}pe.prototype.clear=function(){this.__data__=new D,this.size=0},pe.prototype.delete=function(n){var e=this.__data__,t=e.delete(n);return this.size=e.size,t},pe.prototype.get=function(n){return this.__data__.get(n)},pe.prototype.has=function(n){return this.__data__.has(n)},pe.prototype.set=function(n,e){var t=this.__data__;if(t instanceof D){var o=t.__data__;if(!L||o.length<199)return o.push([n,e]),this.size=++t.size,this;t=this.__data__=new R(o)}return t.set(n,e),this.size=t.size,this};function fe(n){var e=-1,t=null==n?0:n.length;for(this.__data__=new R;++e<t;)this.add(n[e])}function he(n,e){for(var t=-1,o=null==n?0:n.length;++t<o;)if(e(n[t],t,n))return!0;return!1}function ve(n,e){return n.has(e)}fe.prototype.add=fe.prototype.push=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this},fe.prototype.has=function(n){return this.__data__.has(n)};function ge(n,e,t,o,r,i){var a=1&t,l=n.length,s=e.length;if(l!=s&&!(a&&s>l))return!1;var d=i.get(n),u=i.get(e);if(d&&u)return d==e&&u==n;var c=-1,p=!0,f=2&t?new fe:void 0;for(i.set(n,e),i.set(e,n);++c<l;){var h=n[c],v=e[c];if(o)var g=a?o(v,h,c,e,n,i):o(h,v,c,n,e,i);if(void 0!==g){if(g)continue;p=!1;break}if(f){if(!he(e,function(n,e){if(!ve(f,e)&&(h===n||r(h,n,t,o,i)))return f.push(e)})){p=!1;break}}else if(h!==v&&!r(h,v,t,o,i)){p=!1;break}}return i.delete(n),i.delete(e),p}var me=o.Uint8Array;function be(n){var e=-1,t=Array(n.size);return n.forEach(function(n,o){t[++e]=[o,n]}),t}function Ae(n){var e=-1,t=Array(n.size);return n.forEach(function(n){t[++e]=n}),t}var ye=r?r.prototype:void 0,Ce=ye?ye.valueOf:void 0;function xe(n,e){for(var t=-1,o=e.length,r=n.length;++t<o;)n[r+t]=e[t];return n}function we(e,t,o){var r=t(e);return n(e)?r:xe(r,o(e))}function Se(){return[]}var ke=Object.prototype.propertyIsEnumerable,_e=Object.getOwnPropertySymbols,Be=_e?function(n){return null==n?[]:(n=Object(n),function(n,e){for(var t=-1,o=null==n?0:n.length,r=0,i=[];++t<o;){var a=n[t];e(a,t,n)&&(i[r++]=a)}return i}(_e(n),function(e){return ke.call(n,e)}))}:Se,Pe=Be;function Te(n){return we(n,jn,Pe)}var ze=Object.prototype.hasOwnProperty;var Ee=E(o,"DataView"),Fe=E(o,"Promise"),Ie=E(o,"Set"),He=E(o,"WeakMap"),Ne="[object Map]",We="[object Promise]",$e="[object Set]",Me="[object WeakMap]",De="[object DataView]",Le=w(Ee),je=w(L),Re=w(Fe),Oe=w(Ie),Ve=w(He),Ye=c;(Ee&&Ye(new Ee(new ArrayBuffer(1)))!=De||L&&Ye(new L)!=Ne||Fe&&Ye(Fe.resolve())!=We||Ie&&Ye(new Ie)!=$e||He&&Ye(new He)!=Me)&&(Ye=function(n){var e=c(n),t="[object Object]"==e?n.constructor:void 0,o=t?w(t):"";if(o)switch(o){case Le:return De;case je:return Ne;case Re:return We;case Oe:return $e;case Ve:return Me}return e});var Ue=Ye,Xe="[object Arguments]",Ge="[object Array]",Ze="[object Object]",qe=Object.prototype.hasOwnProperty;function Qe(e,t,o,r,i,a){var l=n(e),s=n(t),d=l?Ge:Ue(e),u=s?Ge:Ue(t),c=(d=d==Xe?Ze:d)==Ze,p=(u=u==Xe?Ze:u)==Ze,f=d==u;if(f&&yn(e)){if(!yn(t))return!1;l=!0,c=!1}if(f&&!c)return a||(a=new pe),l||En(e)?ge(e,t,o,r,i,a):function(n,e,t,o,r,i,a){switch(t){case"[object DataView]":if(n.byteLength!=e.byteLength||n.byteOffset!=e.byteOffset)return!1;n=n.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(n.byteLength!=e.byteLength||!i(new me(n),new me(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return W(+n,+e);case"[object Error]":return n.name==e.name&&n.message==e.message;case"[object RegExp]":case"[object String]":return n==e+"";case"[object Map]":var l=be;case"[object Set]":var s=1&o;if(l||(l=Ae),n.size!=e.size&&!s)return!1;var d=a.get(n);if(d)return d==e;o|=2,a.set(n,e);var u=ge(l(n),l(e),o,r,i,a);return a.delete(n),u;case"[object Symbol]":if(Ce)return Ce.call(n)==Ce.call(e)}return!1}(e,t,d,o,r,i,a);if(!(1&o)){var h=c&&qe.call(e,"__wrapped__"),v=p&&qe.call(t,"__wrapped__");if(h||v){var g=h?e.value():e,m=v?t.value():t;return a||(a=new pe),i(g,m,o,r,a)}}return!!f&&(a||(a=new pe),function(n,e,t,o,r,i){var a=1&t,l=Te(n),s=l.length;if(s!=Te(e).length&&!a)return!1;for(var d=s;d--;){var u=l[d];if(!(a?u in e:ze.call(e,u)))return!1}var c=i.get(n),p=i.get(e);if(c&&p)return c==e&&p==n;var f=!0;i.set(n,e),i.set(e,n);for(var h=a;++d<s;){var v=n[u=l[d]],g=e[u];if(o)var m=a?o(g,v,u,e,n,i):o(v,g,u,n,e,i);if(!(void 0===m?v===g||r(v,g,t,o,i):m)){f=!1;break}h||(h="constructor"==u)}if(f&&!h){var b=n.constructor,A=e.constructor;b==A||!("constructor"in n)||!("constructor"in e)||"function"==typeof b&&b instanceof b&&"function"==typeof A&&A instanceof A||(f=!1)}return i.delete(n),i.delete(e),f}(e,t,o,r,i,a))}function Je(n,e,t,o,r){return n===e||(null==n||null==e||!p(n)&&!p(e)?n!=n&&e!=e:Qe(n,e,t,o,Je,r))}function Ke(n){return n==n&&!m(n)}function nt(n,e){return function(t){return null!=t&&(t[n]===e&&(void 0!==e||n in Object(t)))}}function et(n){var e=function(n){for(var e=jn(n),t=e.length;t--;){var o=e[t],r=n[o];e[t]=[o,r,Ke(r)]}return e}(n);return 1==e.length&&e[0][2]?nt(e[0][0],e[0][1]):function(t){return t===n||function(n,e,t,o){var r=t.length,i=r,a=!o;if(null==n)return!i;for(n=Object(n);r--;){var l=t[r];if(a&&l[2]?l[1]!==n[l[0]]:!(l[0]in n))return!1}for(;++r<i;){var s=(l=t[r])[0],d=n[s],u=l[1];if(a&&l[2]){if(void 0===d&&!(s in n))return!1}else{var c=new pe;if(o)var p=o(d,u,s,n,e,c);if(!(void 0===p?Je(u,d,3,o,c):p))return!1}}return!0}(t,n,e)}}function tt(n,e){return null!=n&&e in Object(n)}function ot(e,t){return null!=e&&function(e,t,o){for(var r=-1,i=(t=tn(t,e)).length,a=!1;++r<i;){var l=on(t[r]);if(!(a=null!=e&&o(e,l)))break;e=e[l]}return a||++r!=i?a:!!(i=null==e?0:e.length)&&wn(i)&&xn(l,i)&&(n(e)||gn(e))}(e,t,tt)}function rt(n){return function(e){return null==e?void 0:e[n]}}function it(n){return g(n)?rt(on(n)):function(n){return function(e){return rn(e,n)}}(n)}function at(e){return"function"==typeof e?e:null==e?Vn:"object"==typeof e?n(e)?(t=e[0],o=e[1],g(t)&&Ke(o)?nt(on(t),o):function(n){var e=an(n,t);return void 0===e&&e===o?ot(n,t):Je(o,e,3)}):et(e):it(e);var t,o}function lt(n,e){var t=-1,o=Ln(n)?Array(n.length):[];return On(n,function(n,r,i){o[++t]=e(n,r,i)}),o}function st(e,t){return(n(e)?Q:lt)(e,at(t))}var dt=function(){try{var n=E(Object,"defineProperty");return n({},"",{}),n}catch(n){}}(),ut=dt;function ct(n,e,t){"__proto__"==e&&ut?ut(n,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):n[e]=t}function pt(n){return"[object String]"===Object.prototype.toString.call(n)}function ft(n){return!(!pt(n)||""===n)}function ht(n){if(!ft(n))return{};if(!ft(n=an(n=ce(n,"?"),"[1]")))return{};let e=ce(n,"&");return e=st(e,function(n){return ce(n,"=")}),e=function(n){for(var e=-1,t=null==n?0:n.length,o={};++e<t;){var r=n[e];ct(o,r[0],r[1])}return o}(e),e}var vt=rt("length"),gt="\\ud800-\\udfff",mt="["+gt+"]",bt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",At="\\ud83c[\\udffb-\\udfff]",yt="[^"+gt+"]",Ct="(?:\\ud83c[\\udde6-\\uddff]){2}",xt="[\\ud800-\\udbff][\\udc00-\\udfff]",wt="(?:"+bt+"|"+At+")"+"?",St="[\\ufe0e\\ufe0f]?",kt=St+wt+("(?:\\u200d(?:"+[yt,Ct,xt].join("|")+")"+St+wt+")*"),_t="(?:"+[yt+bt+"?",bt,Ct,xt,mt].join("|")+")",Bt=RegExp(At+"(?="+At+")|"+_t+kt,"g");function Pt(n){return Gn(n)?function(n){for(var e=Bt.lastIndex=0;Bt.test(n);)++e;return e}(n):vt(n)}function Tt(e){if(null==e)return 0;if(Ln(e))return"string"==typeof(t=e)||!n(t)&&p(t)&&"[object String]"==c(t)?Pt(e):e.length;var t,o=Ue(e);return"[object Map]"==o||"[object Set]"==o?e.size:Dn(e).length}function zt(n,e){for(var t=-1,o=null==n?0:n.length;++t<o;)if(!e(n[t],t,n))return!1;return!0}function Et(n,e){var t=!0;return On(n,function(n,o,r){return t=!!e(n,o,r)}),t}function Ft(n,e){return Je(n,e)}function It(n){return"[object Object]"===Object.prototype.toString.call(n)}var Ht=Object.prototype.hasOwnProperty;function Nt(n,e,t){var o=n[e];Ht.call(n,e)&&W(o,t)&&(void 0!==t||e in n)||ct(n,e,t)}function Wt(n,e,t,o){var r=!t;t||(t={});for(var i=-1,a=e.length;++i<a;){var l=e[i],s=o?o(t[l],n[l],l,t,n):void 0;void 0===s&&(s=n[l]),r?ct(t,l,s):Nt(t,l,s)}return t}var $t=Object.prototype.hasOwnProperty;function Mt(n){if(!m(n))return function(n){var e=[];if(null!=n)for(var t in Object(n))e.push(t);return e}(n);var e=Nn(n),t=[];for(var o in n)("constructor"!=o||!e&&$t.call(n,o))&&t.push(o);return t}function Dt(n){return Ln(n)?In(n,!0):Mt(n)}var Lt="object"==typeof exports&&exports&&!exports.nodeType&&exports,jt=Lt&&"object"==typeof module&&module&&!module.nodeType&&module,Rt=jt&&jt.exports===Lt?o.Buffer:void 0,Ot=Rt?Rt.allocUnsafe:void 0;function Vt(n,e){var t=-1,o=n.length;for(e||(e=Array(o));++t<o;)e[t]=n[t];return e}var Yt=Wn(Object.getPrototypeOf,Object),Ut=Object.getOwnPropertySymbols?function(n){for(var e=[];n;)xe(e,Pe(n)),n=Yt(n);return e}:Se,Xt=Ut;function Gt(n){return we(n,Dt,Xt)}var Zt=Object.prototype.hasOwnProperty;function qt(n){var e=new n.constructor(n.byteLength);return new me(e).set(new me(n)),e}var Qt=/\w*$/;var Jt=r?r.prototype:void 0,Kt=Jt?Jt.valueOf:void 0;function no(n,e,t){var o,r=n.constructor;switch(e){case"[object ArrayBuffer]":return qt(n);case"[object Boolean]":case"[object Date]":return new r(+n);case"[object DataView]":return function(n,e){var t=e?qt(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.byteLength)}(n,t);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(n,e){var t=e?qt(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.length)}(n,t);case"[object Map]":case"[object Set]":return new r;case"[object Number]":case"[object String]":return new r(n);case"[object RegExp]":return function(n){var e=new n.constructor(n.source,Qt.exec(n));return e.lastIndex=n.lastIndex,e}(n);case"[object Symbol]":return o=n,Kt?Object(Kt.call(o)):{}}}var eo=Object.create,to=function(){function n(){}return function(e){if(!m(e))return{};if(eo)return eo(e);n.prototype=e;var t=new n;return n.prototype=void 0,t}}(),oo=to;var ro=Tn&&Tn.isMap,io=ro?kn(ro):function(n){return p(n)&&"[object Map]"==Ue(n)};var ao=Tn&&Tn.isSet,lo=ao?kn(ao):function(n){return p(n)&&"[object Set]"==Ue(n)},so="[object Arguments]",uo="[object Function]",co="[object Object]",po={};function fo(e,t,o,r,i,a){var l,s=1&t,d=2&t,u=4&t;if(o&&(l=i?o(e,r,i,a):o(e)),void 0!==l)return l;if(!m(e))return e;var c=n(e);if(c){if(l=function(n){var e=n.length,t=new n.constructor(e);return e&&"string"==typeof n[0]&&Zt.call(n,"index")&&(t.index=n.index,t.input=n.input),t}(e),!s)return Vt(e,l)}else{var p=Ue(e),f=p==uo||"[object GeneratorFunction]"==p;if(yn(e))return function(n,e){if(e)return n.slice();var t=n.length,o=Ot?Ot(t):new n.constructor(t);return n.copy(o),o}(e,s);if(p==co||p==so||f&&!i){if(l=d||f?{}:function(n){return"function"!=typeof n.constructor||Nn(n)?{}:oo(Yt(n))}(e),!s)return d?function(n,e){return Wt(n,Xt(n),e)}(e,function(n,e){return n&&Wt(e,Dt(e),n)}(l,e)):function(n,e){return Wt(n,Pe(n),e)}(e,function(n,e){return n&&Wt(e,jn(e),n)}(l,e))}else{if(!po[p])return i?e:{};l=no(e,p,s)}}a||(a=new pe);var h=a.get(e);if(h)return h;a.set(e,l),lo(e)?e.forEach(function(n){l.add(fo(n,t,o,n,e,a))}):io(e)&&e.forEach(function(n,r){l.set(r,fo(n,t,o,r,e,a))});var v=c?void 0:(u?d?Gt:Te:d?Dt:jn)(e);return ln(v||e,function(n,r){v&&(n=e[r=n]),Nt(l,r,fo(n,t,o,r,e,a))}),l}po[so]=po["[object Array]"]=po["[object ArrayBuffer]"]=po["[object DataView]"]=po["[object Boolean]"]=po["[object Date]"]=po["[object Float32Array]"]=po["[object Float64Array]"]=po["[object Int8Array]"]=po["[object Int16Array]"]=po["[object Int32Array]"]=po["[object Map]"]=po["[object Number]"]=po[co]=po["[object RegExp]"]=po["[object Set]"]=po["[object String]"]=po["[object Symbol]"]=po["[object Uint8Array]"]=po["[object Uint8ClampedArray]"]=po["[object Uint16Array]"]=po["[object Uint32Array]"]=!0,po["[object Error]"]=po[uo]=po["[object WeakMap]"]=!1;function ho(n){return fo(n,5)}var vo=/\s/;var go=/^\s+/;function mo(n){return n?n.slice(0,function(n){for(var e=n.length;e--&&vo.test(n.charAt(e)););return e}(n)+1).replace(go,""):n}var bo=/^[-+]0x[0-9a-f]+$/i,Ao=/^0b[01]+$/i,yo=/^0o[0-7]+$/i,Co=parseInt;function xo(n){if("number"==typeof n)return n;if(f(n))return NaN;if(m(n)){var e="function"==typeof n.valueOf?n.valueOf():n;n=m(e)?e+"":e}if("string"!=typeof n)return 0===n?n:+n;n=mo(n);var t=Ao.test(n);return t||yo.test(n)?Co(n.slice(2),t?2:8):bo.test(n)?NaN:+n}var wo=1/0;function So(n){return n?(n=xo(n))===wo||n===-1/0?17976931348623157e292*(n<0?-1:1):n==n?n:0:0===n?n:0}function ko(n){var e=So(n),t=e%1;return e==e?t?e-t:e:0}function _o(n){return n!=n}function Bo(n){let e=!1;if(ft(n))e=!isNaN(Number(n));else if(function(n){return"[object Number]"===Object.prototype.toString.call(n)}(n)){if(_o(n))return!1;e=!0}return e}function Po(n){if(!Bo(n))return 0;return So(n)}function To(n){return!!Bo(n)&&(n=Po(n),"number"==typeof(e=n)&&e==ko(e));var e}var zo=o.isFinite,Eo=Math.min;var Fo=function(n){var e=Math[n];return function(n,t){if(n=xo(n),(t=null==t?0:Eo(ko(t),292))&&zo(n)){var o=(en(n)+"e").split("e");return+((o=(en(e(o[0]+"e"+(+o[1]+t)))+"e").split("e"))[0]+"e"+(+o[1]-t))}return e(n)}}("round"),Io=Fo;function Ho(n){if(!Bo(n))return 0;n=Po(n);let e=Io(n);return"0"===String(e)?0:e}function No(n){if(!To(n))return!1;return Ho(n)>0}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function Wo(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var $o={exports:{}};!function(n){var e=Object.prototype.hasOwnProperty,t="~";function o(){}function r(n,e,t){this.fn=n,this.context=e,this.once=t||!1}function i(n,e,o,i,a){if("function"!=typeof o)throw new TypeError("The listener must be a function");var l=new r(o,i||n,a),s=t?t+e:e;return n._events[s]?n._events[s].fn?n._events[s]=[n._events[s],l]:n._events[s].push(l):(n._events[s]=l,n._eventsCount++),n}function a(n,e){0===--n._eventsCount?n._events=new o:delete n._events[e]}function l(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(t=!1)),l.prototype.eventNames=function(){var n,o,r=[];if(0===this._eventsCount)return r;for(o in n=this._events)e.call(n,o)&&r.push(t?o.slice(1):o);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(n)):r},l.prototype.listeners=function(n){var e=t?t+n:n,o=this._events[e];if(!o)return[];if(o.fn)return[o.fn];for(var r=0,i=o.length,a=new Array(i);r<i;r++)a[r]=o[r].fn;return a},l.prototype.listenerCount=function(n){var e=t?t+n:n,o=this._events[e];return o?o.fn?1:o.length:0},l.prototype.emit=function(n,e,o,r,i,a){var l=t?t+n:n;if(!this._events[l])return!1;var s,d,u=this._events[l],c=arguments.length;if(u.fn){switch(u.once&&this.removeListener(n,u.fn,void 0,!0),c){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,e),!0;case 3:return u.fn.call(u.context,e,o),!0;case 4:return u.fn.call(u.context,e,o,r),!0;case 5:return u.fn.call(u.context,e,o,r,i),!0;case 6:return u.fn.call(u.context,e,o,r,i,a),!0}for(d=1,s=new Array(c-1);d<c;d++)s[d-1]=arguments[d];u.fn.apply(u.context,s)}else{var p,f=u.length;for(d=0;d<f;d++)switch(u[d].once&&this.removeListener(n,u[d].fn,void 0,!0),c){case 1:u[d].fn.call(u[d].context);break;case 2:u[d].fn.call(u[d].context,e);break;case 3:u[d].fn.call(u[d].context,e,o);break;case 4:u[d].fn.call(u[d].context,e,o,r);break;default:if(!s)for(p=1,s=new Array(c-1);p<c;p++)s[p-1]=arguments[p];u[d].fn.apply(u[d].context,s)}}return!0},l.prototype.on=function(n,e,t){return i(this,n,e,t,!1)},l.prototype.once=function(n,e,t){return i(this,n,e,t,!0)},l.prototype.removeListener=function(n,e,o,r){var i=t?t+n:n;if(!this._events[i])return this;if(!e)return a(this,i),this;var l=this._events[i];if(l.fn)l.fn!==e||r&&!l.once||o&&l.context!==o||a(this,i);else{for(var s=0,d=[],u=l.length;s<u;s++)(l[s].fn!==e||r&&!l[s].once||o&&l[s].context!==o)&&d.push(l[s]);d.length?this._events[i]=1===d.length?d[0]:d:a(this,i)}return this},l.prototype.removeAllListeners=function(n){var e;return n?(e=t?t+n:n,this._events[e]&&a(this,e)):(this._events=new o,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=t,l.EventEmitter=l,n.exports=l}($o);var Mo=Wo($o.exports);function Do(){return new Mo}function Lo(n){let e=Object.prototype.toString.call(n);return"[object Function]"===e||"[object AsyncFunction]"===e}let jo="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),Ro=jo.length;function Oo(n=32){let e=[];n=No(n)?Ho(n):32;for(let t=0;t<n;t++)e[t]=jo[0|Math.random()*Ro];return e.join("")}function Vo(){let n={};return{bind:function(e,t,o){let r=`r${Oo()}`;e.setAttribute("ev-resize",r);let i=function(n,e={}){let t=an(e,"timeInterval",null);No(t)||(t=20);let o=an(e,"tolerancePixel",null);No(o)||(o=1);let r,i=Do(),a={offsetWidth:0,offsetHeight:0,clientWidth:0,clientHeight:0,windowWidth:0,windowHeight:0},l=ho(a),s={width:"",height:""};if(!Lo(n))return console.log("invalid f",n),null;r=setInterval(()=>{let e=n();if(e){let n={offsetWidth:e.offsetWidth,offsetHeight:e.offsetHeight,clientWidth:e.clientWidth,clientHeight:e.clientHeight,windowWidth:window.innerWidth,windowHeight:window.innerHeight},t=l.offsetWidth-n.offsetWidth,r=l.offsetHeight-n.offsetHeight,d=Math.abs(t)>o,u=Math.abs(r)>o,c="";t>0?c="smaller":t<0&&(c="larger");let p="";if(r>0?p="smaller":r<0&&(p="larger"),s={width:c,height:p},d||u){let t={...l};setTimeout(()=>{n.offsetWidth>0&&n.offsetHeight>0&&(i.emit("resize",{sold:t,snew:n,smode:s,ele:e}),i.emit("resizeWithWindow",{sold:t,snew:n,smode:s,ele:e,from:"dom"}))},1)}a=l,l=n}},t);let d=n=>{i.emit("resizeWithWindow",{sold:a,snew:l,smode:s,from:"window"})};return window.addEventListener("resize",d),i.clear=()=>{clearInterval(r),window.removeEventListener("resize",d)},i}(()=>e);i.on("resizeWithWindow",n=>{!function(n,e,t){let o=n.data&&n.data.on||n.componentOptions&&n.componentOptions.listeners;o&&o[e]&&o[e].fns(t)}(o,"domresize",n)}),n[r]=i},unbind:function(e){let t=e.getAttribute("ev-resize");e.setAttribute("ev-resize",null),n[t]&&(n[t].clear(),n[t]=null,delete n[t])}}}var Yo,Uo=(Yo="toUpperCase",function(n){var e=Gn(n=en(n))?ue(n):void 0,t=e?e[0]:n.charAt(0),o=e?Un(e,1).join(""):n.slice(1);return t[Yo]()+o});var Xo,Go=(Xo={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},function(n){return null==Xo?void 0:Xo[n]}),Zo=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,qo=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");var Qo=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;var Jo=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;var Ko="\\ud800-\\udfff",nr="\\u2700-\\u27bf",er="a-z\\xdf-\\xf6\\xf8-\\xff",tr="A-Z\\xc0-\\xd6\\xd8-\\xde",or="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",rr="["+or+"]",ir="\\d+",ar="["+nr+"]",lr="["+er+"]",sr="[^"+Ko+or+ir+nr+er+tr+"]",dr="(?:\\ud83c[\\udde6-\\uddff]){2}",ur="[\\ud800-\\udbff][\\udc00-\\udfff]",cr="["+tr+"]",pr="(?:"+lr+"|"+sr+")",fr="(?:"+cr+"|"+sr+")",hr="(?:['’](?:d|ll|m|re|s|t|ve))?",vr="(?:['’](?:D|LL|M|RE|S|T|VE))?",gr="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",mr="[\\ufe0e\\ufe0f]?",br=mr+gr+("(?:\\u200d(?:"+["[^"+Ko+"]",dr,ur].join("|")+")"+mr+gr+")*"),Ar="(?:"+[ar,dr,ur].join("|")+")"+br,yr=RegExp([cr+"?"+lr+"+"+hr+"(?="+[rr,cr,"$"].join("|")+")",fr+"+"+vr+"(?="+[rr,cr+pr,"$"].join("|")+")",cr+"?"+pr+"+"+hr,cr+"+"+vr,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ir,Ar].join("|"),"g");function Cr(n,e,t){return n=en(n),void 0===(e=t?void 0:e)?function(n){return Jo.test(n)}(n)?function(n){return n.match(yr)||[]}(n):function(n){return n.match(Qo)||[]}(n):n.match(e)||[]}var xr=RegExp("['’]","g");var wr,Sr=(wr=function(n,e,t){return e=e.toLowerCase(),n+(t?Uo(en(e).toLowerCase()):e)},function(n){return function(n,e,t,o){var r=-1,i=null==n?0:n.length;for(o&&i&&(t=n[++r]);++r<i;)t=e(t,n[r],r,n);return t}(Cr(function(n){return(n=en(n))&&n.replace(Zo,Go).replace(qo,"")}(n).replace(xr,"")),wr,"")}),kr=Sr;let _r={default:{red:{base:"#f44336",lighten5:"#ffebee",lighten4:"#ffcdd2",lighten3:"#ef9a9a",lighten2:"#e57373",lighten1:"#ef5350",darken1:"#e53935",darken2:"#d32f2f",darken3:"#c62828",darken4:"#b71c1c",accent1:"#ff8a80",accent2:"#ff5252",accent3:"#ff1744",accent4:"#d50000"},pink:{base:"#e91e63",lighten5:"#fce4ec",lighten4:"#f8bbd0",lighten3:"#f48fb1",lighten2:"#f06292",lighten1:"#ec407a",darken1:"#d81b60",darken2:"#c2185b",darken3:"#ad1457",darken4:"#880e4f",accent1:"#ff80ab",accent2:"#ff4081",accent3:"#f50057",accent4:"#c51162"},purple:{base:"#9c27b0",lighten5:"#f3e5f5",lighten4:"#e1bee7",lighten3:"#ce93d8",lighten2:"#ba68c8",lighten1:"#ab47bc",darken1:"#8e24aa",darken2:"#7b1fa2",darken3:"#6a1b9a",darken4:"#4a148c",accent1:"#ea80fc",accent2:"#e040fb",accent3:"#d500f9",accent4:"#aa00ff"},deepPurple:{base:"#673ab7",lighten5:"#ede7f6",lighten4:"#d1c4e9",lighten3:"#b39ddb",lighten2:"#9575cd",lighten1:"#7e57c2",darken1:"#5e35b1",darken2:"#512da8",darken3:"#4527a0",darken4:"#311b92",accent1:"#b388ff",accent2:"#7c4dff",accent3:"#651fff",accent4:"#6200ea"},indigo:{base:"#3f51b5",lighten5:"#e8eaf6",lighten4:"#c5cae9",lighten3:"#9fa8da",lighten2:"#7986cb",lighten1:"#5c6bc0",darken1:"#3949ab",darken2:"#303f9f",darken3:"#283593",darken4:"#1a237e",accent1:"#8c9eff",accent2:"#536dfe",accent3:"#3d5afe",accent4:"#304ffe"},blue:{base:"#2196f3",lighten5:"#e3f2fd",lighten4:"#bbdefb",lighten3:"#90caf9",lighten2:"#64b5f6",lighten1:"#42a5f5",darken1:"#1e88e5",darken2:"#1976d2",darken3:"#1565c0",darken4:"#0d47a1",accent1:"#82b1ff",accent2:"#448aff",accent3:"#2979ff",accent4:"#2962ff"},lightBlue:{base:"#03a9f4",lighten5:"#e1f5fe",lighten4:"#b3e5fc",lighten3:"#81d4fa",lighten2:"#4fc3f7",lighten1:"#29b6f6",darken1:"#039be5",darken2:"#0288d1",darken3:"#0277bd",darken4:"#01579b",accent1:"#80d8ff",accent2:"#40c4ff",accent3:"#00b0ff",accent4:"#0091ea"},cyan:{base:"#00bcd4",lighten5:"#e0f7fa",lighten4:"#b2ebf2",lighten3:"#80deea",lighten2:"#4dd0e1",lighten1:"#26c6da",darken1:"#00acc1",darken2:"#0097a7",darken3:"#00838f",darken4:"#006064",accent1:"#84ffff",accent2:"#18ffff",accent3:"#00e5ff",accent4:"#00b8d4"},teal:{base:"#009688",lighten5:"#e0f2f1",lighten4:"#b2dfdb",lighten3:"#80cbc4",lighten2:"#4db6ac",lighten1:"#26a69a",darken1:"#00897b",darken2:"#00796b",darken3:"#00695c",darken4:"#004d40",accent1:"#a7ffeb",accent2:"#64ffda",accent3:"#1de9b6",accent4:"#00bfa5"},green:{base:"#4caf50",lighten5:"#e8f5e9",lighten4:"#c8e6c9",lighten3:"#a5d6a7",lighten2:"#81c784",lighten1:"#66bb6a",darken1:"#43a047",darken2:"#388e3c",darken3:"#2e7d32",darken4:"#1b5e20",accent1:"#b9f6ca",accent2:"#69f0ae",accent3:"#00e676",accent4:"#00c853"},lightGreen:{base:"#8bc34a",lighten5:"#f1f8e9",lighten4:"#dcedc8",lighten3:"#c5e1a5",lighten2:"#aed581",lighten1:"#9ccc65",darken1:"#7cb342",darken2:"#689f38",darken3:"#558b2f",darken4:"#33691e",accent1:"#ccff90",accent2:"#b2ff59",accent3:"#76ff03",accent4:"#64dd17"},lime:{base:"#cddc39",lighten5:"#f9fbe7",lighten4:"#f0f4c3",lighten3:"#e6ee9c",lighten2:"#dce775",lighten1:"#d4e157",darken1:"#c0ca33",darken2:"#afb42b",darken3:"#9e9d24",darken4:"#827717",accent1:"#f4ff81",accent2:"#eeff41",accent3:"#c6ff00",accent4:"#aeea00"},yellow:{base:"#ffeb3b",lighten5:"#fffde7",lighten4:"#fff9c4",lighten3:"#fff59d",lighten2:"#fff176",lighten1:"#ffee58",darken1:"#fdd835",darken2:"#fbc02d",darken3:"#f9a825",darken4:"#f57f17",accent1:"#ffff8d",accent2:"#ffff00",accent3:"#ffea00",accent4:"#ffd600"},amber:{base:"#ffc107",lighten5:"#fff8e1",lighten4:"#ffecb3",lighten3:"#ffe082",lighten2:"#ffd54f",lighten1:"#ffca28",darken1:"#ffb300",darken2:"#ffa000",darken3:"#ff8f00",darken4:"#ff6f00",accent1:"#ffe57f",accent2:"#ffd740",accent3:"#ffc400",accent4:"#ffab00"},orange:{base:"#ff9800",lighten5:"#fff3e0",lighten4:"#ffe0b2",lighten3:"#ffcc80",lighten2:"#ffb74d",lighten1:"#ffa726",darken1:"#fb8c00",darken2:"#f57c00",darken3:"#ef6c00",darken4:"#e65100",accent1:"#ffd180",accent2:"#ffab40",accent3:"#ff9100",accent4:"#ff6d00"},deepOrange:{base:"#ff5722",lighten5:"#fbe9e7",lighten4:"#ffccbc",lighten3:"#ffab91",lighten2:"#ff8a65",lighten1:"#ff7043",darken1:"#f4511e",darken2:"#e64a19",darken3:"#d84315",darken4:"#bf360c",accent1:"#ff9e80",accent2:"#ff6e40",accent3:"#ff3d00",accent4:"#dd2c00"},brown:{base:"#795548",lighten5:"#efebe9",lighten4:"#d7ccc8",lighten3:"#bcaaa4",lighten2:"#a1887f",lighten1:"#8d6e63",darken1:"#6d4c41",darken2:"#5d4037",darken3:"#4e342e",darken4:"#3e2723"},blueGrey:{base:"#607d8b",lighten5:"#eceff1",lighten4:"#cfd8dc",lighten3:"#b0bec5",lighten2:"#90a4ae",lighten1:"#78909c",darken1:"#546e7a",darken2:"#455a64",darken3:"#37474f",darken4:"#263238"},grey:{base:"#9e9e9e",lighten5:"#fafafa",lighten4:"#f5f5f5",lighten3:"#eeeeee",lighten2:"#e0e0e0",lighten1:"#bdbdbd",darken1:"#757575",darken2:"#616161",darken3:"#424242",darken4:"#212121"},shades:{black:"#000000",white:"#ffffff",transparent:"transparent"}}};function Br(n){if("white"===n)return"#fff";if("black"===n)return"#000";if("transparent"===n)return"rgba(0,0,0,0)";let e=function(n){let e=ce(n," ");return 1===Tt(e)&&(e[1]=null),e}(n),t=function(n,e,t){let o=an(_r,`default.${n}.${e}`,null);return null===o&&(o=t),o}(function(n){let e=n.trim();return e=kr(e),e}(e[0]),function(n){ft(n)||(n="base");let e=n.trim();return e=e.replace("-","").trim(),e}(e[1]),n);return t}function Pr(n,e,t){if(!ft(n))return"";if(!ft(e))return"";if(!pt(t))return"";return String(n).replaceAll(e,t)}function Tr(n){if(It(n)){for(let e in n)return!0;return!1}return!1}var zr=Function.prototype,Er=Object.prototype,Fr=zr.toString,Ir=Er.hasOwnProperty,Hr=Fr.call(Object);function Nr(n){return p(n)&&1===n.nodeType&&!function(n){if(!p(n)||"[object Object]"!=c(n))return!1;var e=Yt(n);if(null===e)return!0;var t=Ir.call(e,"constructor")&&e.constructor;return"function"==typeof t&&t instanceof t&&Fr.call(t)==Hr}(n)}function Wr(n){return Nr(n)}function $r(n){function e(n){n.parentNode.removeChild(n)}if(Wr(n)){return void e(n)}if(!ft(n))return;let t=function(n){return document.querySelectorAll(n)}(n);Yn(t,function(n){e(n)})}function Mr(n={}){let e={};return{bind:function(n,t,o){let r=`r${Oo()}`;n.setAttribute("ev-ripple",r),function(n,t){let o=n.getAttribute("ev-ripple"),r=an(t,"value");if(r=Tr(r),!r)return;let i=an(t,"value.color");if(!ft(i))return;i=Br(i);let a=an(t,"value.timeDuration");Bo(a)||(a=1e3);function l(n){!function(n,e,t={}){let o=an(t,"timeDuration",null);No(o)||(o=1e3);let r=an(t,"color",null);if(ft(r)||(r="rgba(255, 255, 255, 0.5)"),!Wr(n))return;n.style.position="relative",n.style.overflow="hidden";let i=n.getBoundingClientRect(),a=e.clientX-i.left,l=e.clientY-i.top,s=2*Math.max(n.clientWidth,n.clientHeight),d=document.createElement("div");d.style.width=`${s}px`,d.style.height=`${s}px`,d.style.transition=`all ${o/1e3}s linear`,d.style.position="absolute",d.style.zIndex=1,d.style.left=`${a}px`,d.style.top=`${l}px`,d.style.borderRadius="50%",d.style.transformOrigin="center",d.style.transform="translate(-50%,-50%) scale(0)",d.style.background=r,d.style.userSelect="none",d.style.pointerEvents="none",n.appendChild(d),setTimeout(()=>{d.style.transform="translate(-50%,-50%) scale(2)",d.style.opacity=0},1),setTimeout(()=>{$r(d)},o)}(n.currentTarget,n,{color:i,timeDuration:a})}a=Po(a),n.addEventListener("click",l,!1),e[o]=l}(n,t)},unbind:function(n){!function(n){let t=n.getAttribute("ev-ripple");if(e[t]){let o=e[t];n.removeEventListener("click",o,!1),delete e[t]}}(n),n.setAttribute("ev-ripple",null)}}}function Dr(n){return!0===n||!1===n||p(n)&&"[object Boolean]"==c(n)}function Lr(n){return Dr(n)}function jr(n){return"number"==typeof n||p(n)&&"[object Number]"==c(n)}function Rr(n,e={}){let t=an(e,"parse");Lr(t)||(t=!0);let o=an(e,"ext");Tr(o)||(o={});let r=an(e,"semicolon");Lr(r)||(r=!0);let i=an(e,"returnObj");Lr(i)||(i=!1);let a=0,l=0,s=0,d=0;if(t){let e=function(n,e={}){let t,o=an(e,"def",""),r=an(e,"type","");"num"!==r&&"text"!==r&&(r="num"),"num"===r?t=jr:"text"===r&&(t=pt);let i=o,a=o,l=o,s=o;return t(an(n,"h"))&&(i=an(n,"h"),a=i),t(an(n,"v"))&&(l=an(n,"v"),s=l),t(an(n,"left"))&&(i=an(n,"left")),t(an(n,"right"))&&(a=an(n,"right")),t(an(n,"top"))&&(l=an(n,"top")),t(an(n,"bottom"))&&(s=an(n,"bottom")),{left:i,right:a,top:l,bottom:s}}(n);a=e.left,l=e.right,s=e.top,d=e.bottom}a+=an(o,"left",0),l+=an(o,"right",0),s+=an(o,"top",0),d+=an(o,"bottom",0);let u=null;return i?u={left:a,right:l,top:s,bottom:d}:(u=`${s}px ${l}px ${d}px ${a}px`,r&&(u=`${u};`)),u}function Or(n){return"[object Array]"===Object.prototype.toString.call(n)}function Vr(n){return!!function(n){return"[object Undefined]"===Object.prototype.toString.call(n)}(n)||(!!function(n){return"[object Null]"===Object.prototype.toString.call(n)}(n)||(!!function(n){if(It(n)){for(let e in n)return!1;return!0}return!1}(n)||(!!function(n){return!(!pt(n)||""!==n)}(n)||(!!function(n){return!!Or(n)&&0===n.length}(n)||!!_o(n)))))}var Yr={components:{},props:{icon:{type:[String,Array],default:""},color:{type:String,default:"grey darken-1"},colorHover:{type:String,default:"grey darken-3"},sizeOriginal:{type:Number,default:24},size:{type:Number,default:24},timeTransition:{type:Number,default:.15}},data:function(){return{mouseEnter:!1,r:.83,paths:[]}},computed:{hasIcon:function(){return ft(this.icon)},isMdi:function(){return!!this.hasIcon&&this.icon.indexOf("mdi-")>=0},isFa:function(){return!!this.hasIcon&&this.icon.indexOf(" fa-")>=0},isSvg:function(){let n=this;if(n.isMdi||n.isFa)return!1;let e=ft(n.icon),t=!(!Or(o=n.icon)||0===o.length||1===o.length&&Vr(o[0]));var o;return e||t},usePaths:function(){let n=this;if(!n.isSvg)return[];let e=n.icon;return ft(n.icon)&&(e=[n.icon]),e},useIconColor:function(){let n=this;return n.mouseEnter?Br(n.colorHover):Br(n.color)},useStyleSize:function(){let n=this;return{width:`${n.size}px`,height:`${n.size}px`,"line-height":`${n.size}px`,"max-height":`${n.size}px`,"min-height":`${n.size}px`}}},methods:{}};function Ur(n,e,t,o,r,i,a,l,s,d){"boolean"!=typeof a&&(s=l,l=a,a=!1);const u="function"==typeof t?t.options:t;let c;if(n&&n.render&&(u.render=n.render,u.staticRenderFns=n.staticRenderFns,u._compiled=!0,r&&(u.functional=!0)),o&&(u._scopeId=o),i?(c=function(n){(n=n||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(n=__VUE_SSR_CONTEXT__),e&&e.call(this,s(n)),n&&n._registeredComponents&&n._registeredComponents.add(i)},u._ssrRegister=c):e&&(c=a?function(n){e.call(this,d(n,this.$root.$options.shadowRoot))}:function(n){e.call(this,l(n))}),c)if(u.functional){const n=u.render;u.render=function(e,t){return c.call(t),n(e,t)}}else{const n=u.beforeCreate;u.beforeCreate=n?[].concat(n,c):[c]}return t}const Xr="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function Gr(n){return(n,e)=>function(n,e){const t=Xr?e.media||"default":n,o=qr[t]||(qr[t]={ids:new Set,styles:[]});if(!o.ids.has(n)){o.ids.add(n);let t=e.source;if(e.map&&(t+="\n/*# sourceURL="+e.map.sources[0]+" */",t+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e.map))))+" */"),o.element||(o.element=document.createElement("style"),o.element.type="text/css",e.media&&o.element.setAttribute("media",e.media),void 0===Zr&&(Zr=document.head||document.getElementsByTagName("head")[0]),Zr.appendChild(o.element)),"styleSheet"in o.element)o.styles.push(t),o.element.styleSheet.cssText=o.styles.filter(Boolean).join("\n");else{const n=o.ids.size-1,e=document.createTextNode(t),r=o.element.childNodes;r[n]&&o.element.removeChild(r[n]),r.length?o.element.insertBefore(e,r[n]):o.element.appendChild(e)}}}(n,e)}let Zr;const qr={};const Qr=Yr;var Jr=function(){var n=this,e=n.$createElement,t=n._self._c||e;return n.icon?t("div",{style:[n.useStyleSize,{display:"flex","align-items":"center","user-select":"none",border:"0px solid #ddd"}],on:{keyup:function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"enter",13,e.key,"Enter")?null:function(e){n.$emit("click",e)}.apply(null,arguments)},click:function(e){n.$emit("click",e)}}},[n.isSvg?t("svg",{style:"transition:all "+n.timeTransition+"s linear; fill:"+n.useIconColor+";",attrs:{width:n.size,height:n.size,viewBox:"0 0 "+n.sizeOriginal+" "+n.sizeOriginal},on:{mouseenter:function(e){n.mouseEnter=!0},mouseleave:function(e){n.mouseEnter=!1}}},n._l(n.usePaths,function(e,o){return t("path",{key:o,attrs:{d:n.icon}})}),0):n._e(),n._v(" "),n.isMdi?t("div",{style:"transition:all "+n.timeTransition+"s linear; width:"+n.size+"px; height:"+n.size+"px; color:"+n.useIconColor+"; display:flex; align-items:center; justify-content:center;",on:{mouseenter:function(e){n.mouseEnter=!0},mouseleave:function(e){n.mouseEnter=!1}}},[t("span",{class:"mdi "+n.icon,style:"font-size:"+n.size+"px;"})]):n._e(),n._v(" "),n.isFa?t("div",{style:"transition:all "+n.timeTransition+"s linear; width:"+n.size+"px; height:"+n.size+"px; color:"+n.useIconColor+"; display:flex; align-items:center; justify-content:center;",on:{mouseenter:function(e){n.mouseEnter=!0},mouseleave:function(e){n.mouseEnter=!1}}},[t("div",{style:"width:"+n.size+"px; height:"+n.size+"px; _transform-origin:center; transform:translateX(0px) translateY(0px) scale("+n.r+");"},[t("div",{staticStyle:{display:"flex","align-items":"center","justify-content":"center"}},[t("i",{class:"fas "+n.icon,style:"font-size:"+n.size+"px;"})])])]):n._e()]):n._e()};Jr._withStripped=!0;const Kr=Ur({render:Jr,staticRenderFns:[]},function(n){n&&n("data-v-2b703bbc_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WIcon.vue"},media:void 0})},Qr,"data-v-2b703bbc",false,void 0,!1,Gr,void 0,void 0);const ni={directives:{domripple:Mr()},components:{WIcon:Kr},props:{text:{type:String,default:""},textFontSize:{type:String,default:"1rem"},active:{type:Boolean,default:!1},paddingStyle:{type:Object,default:()=>({v:10,h:12})},borderRadius:{type:Number,default:0},backgroundColor:{type:String,default:"white"},backgroundColorHover:{type:String,default:"rgba(200,200,200,0.2)"},backgroundColorActive:{type:String,default:"orange lighten-1"},backgroundColorDisabled:{type:String,default:"white"},textColor:{type:String,default:"#444"},textColorHover:{type:String,default:"#222"},textColorActive:{type:String,default:"white"},textColorDisabled:{type:String,default:"#444"},icon:{type:String,default:""},iconSize:{type:Number,default:22},iconColor:{type:String,default:"#444"},iconColorHover:{type:String,default:"#222"},iconColorActive:{type:String,default:"white"},iconColorDisabled:{type:String,default:"#444"},rippleColor:{type:String,default:"rgba(255,255,255,0.4)"},editable:{type:Boolean,default:!0},disabledColor:{type:String,default:"rgba(255,255,255,0.5)"},cursorPointer:{type:Boolean,default:!0}},data:function(){return{mouseEnter:!1}},computed:{useTextFontSize:function(){let n=this.textFontSize;return n=Pr(n,";",""),`font-size:${n};`},hasIcon:function(){return""!==this.icon},usePadding:function(){return`padding:${Rr(this.paddingStyle,{ext:{}})};`},effBackgroundColor:function(){return Br(this.backgroundColor)},effBackgroundColorHover:function(){return Br(this.backgroundColorHover)},effBackgroundActive:function(){return Br(this.backgroundColorActive)},effBackgroundColorDisabled:function(){return Br(this.backgroundColorDisabled)},useBackgroundColor:function(){let n=this;return n.editable?n.active?n.effBackgroundActive:n.mouseEnter?n.effBackgroundColorHover:n.effBackgroundColor:n.effBackgroundColorDisabled},effTextColor:function(){return Br(this.textColor)},effTextColorHover:function(){return Br(this.textColorHover)},effTextActive:function(){return Br(this.textColorActive)},effTextColorDisabled:function(){return Br(this.textColorDisabled)},useTextColor:function(){let n=this;return n.editable?n.active?n.effTextActive:n.mouseEnter?n.effTextColorHover:n.effTextColor:n.effTextColorDisabled},effIconColor:function(){return Br(this.iconColor)},effIconColorHover:function(){return Br(this.iconColorHover)},effIconActive:function(){return Br(this.iconColorActive)},effIconColorDisabled:function(){return Br(this.iconColorDisabled)},useIconColor:function(){let n=this;return n.editable?n.active?n.effIconActive:n.mouseEnter?n.effIconColorHover:n.effIconColor:n.effIconColorDisabled},effDisabledColor:function(){return Br(this.disabledColor)}},methods:{clickItem:function(){let n=this;n.editable&&n.$emit("click",{icon:n.icon,text:n.text})}}};var ei=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{directives:[{name:"domripple",rawName:"v-domripple",value:{color:n.rippleColor},expression:"{color:rippleColor}"}],style:"position:relative; transition:all 0.3s; border-top-left-radius:"+n.borderRadius+"px; border-top-right-radius:"+n.borderRadius+"px; "+n.usePadding+" background:"+n.useBackgroundColor+"; "+(n.editable&&n.cursorPointer?"cursor:pointer;":"cursor:context-menu;"),on:{mouseenter:function(e){n.mouseEnter=!0},mouseleave:function(e){n.mouseEnter=!1},click:n.clickItem}},[t("div",{style:"transition:all 0.3s; color:"+n.useTextColor+"; "+n.useTextFontSize},[n._t("item",function(){return[t("div",{staticStyle:{display:"flex","align-items":"center"}},[n._t("item-left",null,{isHover:n.mouseEnter,isActive:n.active}),n._v(" "),n._t("item-content",function(){return[n.hasIcon?t("WIcon",{staticStyle:{"margin-right":"8px"},attrs:{icon:n.icon,color:n.useIconColor,colorHover:n.useIconColor,size:n.iconSize}}):n._e(),n._v(" "),t("div",[n._v("\n "+n._s(n.text)+"\n ")])]},{isHover:n.mouseEnter,isActive:n.active}),n._v(" "),n._t("item-right",null,{isHover:n.mouseEnter,isActive:n.active})],2)]},{isHover:n.mouseEnter,isActive:n.active}),n._v(" "),n.editable?n._e():t("div",{staticStyle:{position:"absolute",left:"0",right:"0",top:"0",bottom:"0"}},[t("div",{style:"overflow:hidden; width:100%; height:100%;"},[t("div",{style:"background:"+n.effDisabledColor+"; height:100%;"})])])],2)])};ei._withStripped=!0;const ti=Ur({render:ei,staticRenderFns:[]},function(n){n&&n("data-v-9b3c27e6_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WListItem.vue"},media:void 0})},ni,"data-v-9b3c27e6",false,void 0,!1,Gr,void 0,void 0);var oi={directives:{domresize:Vo()},components:{WListItem:ti},props:{items:{type:Array,default:()=>[]},enableActive:{type:Boolean,default:!0},itemActive:{type:[String,Object],default:null},itemTextFontSize:{type:String,default:"1rem"},keyText:{type:String,default:"text"},keyIcon:{type:String,default:"icon"},space:{type:Number,default:0},paddingStyle:{type:Object,default:()=>({v:10,h:12})},itemBorderRadius:{type:Number,default:0},itemBackgroundColor:{type:String,default:"transparent"},itemBackgroundColorHover:{type:String,default:"rgba(200,200,200,0.2)"},itemBackgroundColorActive:{type:String,default:"white"},itemBackgroundColorDisabled:{type:String,default:"white"},itemTextColor:{type:String,default:"#444"},itemTextColorHover:{type:String,default:"#222"},itemTextColorActive:{type:String,default:"orange darken-3"},itemTextColorDisabled:{type:String,default:"#444"},itemIconSize:{type:Number,default:22},itemIconColor:{type:String,default:"#444"},itemIconColorHover:{type:String,default:"#222"},itemIconColorActive:{type:String,default:"orange darken-3"},itemIconColorDisabled:{type:String,default:"#444"},itemRippleColor:{type:String,default:"rgba(245,124,0,0.4)"},borderBottom:{type:Boolean,default:!0},borderBottomSize:{type:Number,default:2},borderBottomColor:{type:String,default:"rgba(245,124,0,0.8)"},itemDisabledColor:{type:String,default:"transparent"},itemCursorPointer:{type:Boolean,default:!0}},data:function(){return{borderBottomLeft:0,borderBottomWidth:0,itemActiveTrans:null}},watch:{itemActiveTrans:{handler(n,e){this.updateBorderBottom()},immediate:!0}},computed:{changeItemActive:function(){let n=this;return n.enableActive&&(n.itemActiveTrans=n.itemActive),""},isObjValue:function(){return 0!==Tt(this.items)&&function(e,t,o){var r=n(e)?zt:Et;return o&&Zn(e,t,o)&&(t=void 0),r(e,at(t))}(this.items,n=>It(n))},effBorderBottomColor:function(){return Br(this.borderBottomColor)}},methods:{resize:function(n){this.updateBorderBottom()},getIcon:function(n){let e=this;return e.isObjValue?an(n,e.keyIcon,""):""},getText:function(n){let e=this;if(e.isObjValue){return an(n,e.keyText,"")}return n},getActive:function(n){let e=this,t=!1;return e.enableActive&&(t=Ft(n,e.itemActiveTrans)),t},getEditable:function(n){return an(n,"editable",!0)},updateBorderBottom:function(){let n=this;if(null==n.itemActiveTrans)return;let e=0,t=[];Yn(an(n,"$refs.wli",[]),(o,r)=>{let i=o,a=an(i,"clientWidth",0),l=an(i,"clientHeight",0),s=e,d=a,u=l;r>0&&n.space>0&&(s+=n.space,d-=n.space),t.push({left:s,bottom:0,width:d,heiht:u}),e+=a});let o=-1;if(Yn(n.items,(e,t)=>{if(Ft(e,n.itemActiveTrans))return o=t,!1}),-1===o)return;let r=t[o];n.borderBottomLeft=r.left,n.borderBottomWidth=r.width},ckItem:function(n,e){let t=this;if(!t.getEditable(n))return;t.itemActiveTrans=n;let o=null;o=t.isObjValue?{...n}:n,t.$emit("click",o,e),t.$emit("update:itemActive",o)}}};const ri=oi;var ii=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{directives:[{name:"domresize",rawName:"v-domresize"}],attrs:{changeItemActive:n.changeItemActive},on:{domresize:n.resize}},[t("div",{staticStyle:{position:"relative",display:"flex","align-items":"center","white-space":"nowrap"}},[n.borderBottom?t("div",{style:"transition:all 0.3s; position:absolute; z-index:1; bottom:0px; left:"+n.borderBottomLeft+"px; padding-left:"+n.borderBottomWidth+"px; border-bottom:"+n.borderBottomSize+"px solid "+n.effBorderBottomColor+";"}):n._e(),n._v(" "),n._l(n.items,function(e,o){return t("div",{key:o},[t("div",{ref:"wli",refInFor:!0,style:n.space>0&&o>0?"padding-left:"+n.space+"px;":""},[t("WListItem",{attrs:{icon:n.getIcon(e),text:n.getText(e),textFontSize:n.itemTextFontSize,active:n.getActive(e),paddingStyle:n.paddingStyle,borderRadius:n.itemBorderRadius,backgroundColor:n.itemBackgroundColor,backgroundColorHover:n.itemBackgroundColorHover,backgroundColorActive:n.itemBackgroundColorActive,backgroundColorDisabled:n.itemBackgroundColorDisabled,textColor:n.itemTextColor,textColorHover:n.itemTextColorHover,textColorActive:n.itemTextColorActive,textColorDisabled:n.itemTextColorDisabled,iconSize:n.itemIconSize,iconColor:n.itemIconColor,iconColorHover:n.itemIconColorHover,iconColorActive:n.itemIconColorActive,iconColorDisabled:n.itemIconColorDisabled,rippleColor:n.getEditable(e)?n.itemRippleColor:null,editable:n.getEditable(e),disabledColor:n.itemDisabledColor,cursorPointer:!n.getActive(e)&&n.itemCursorPointer},on:{click:function(t){return n.ckItem(e,o)}},scopedSlots:n._u([{key:"item",fn:function(t){return[n._t("item",null,{item:e,kitem:o,isHover:t.isHover,isActive:t.isActive})]}},{key:"item-left",fn:function(t){return[n._t("item-left",null,{item:e,kitem:o,isHover:t.isHover,isActive:t.isActive})]}},{key:"item-content",fn:function(t){return[n._t("item-content",null,{item:e,kitem:o,isHover:t.isHover,isActive:t.isActive})]}},{key:"item-right",fn:function(t){return[n._t("item-right",null,{item:e,kitem:o,isHover:t.isHover,isActive:t.isActive})]}}],null,!0)})],1)])})],2)])};ii._withStripped=!0;const ai=Ur({render:ii,staticRenderFns:[]},function(n){n&&n("data-v-1b660381_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WListHorizontal.vue"},media:void 0})},ri,"data-v-1b660381",false,void 0,!1,Gr,void 0,void 0);const li={name:"FlowCanvas",methods:{onMouseDown(n){this._downPos={x:n.clientX,y:n.clientY},this.$emit("canvas-mousedown",n)},onMouseMove(n){this.$emit("canvas-mousemove",n)},onMouseUp(n){if(this.$emit("canvas-mouseup",n),this._downPos){let e=n.clientX-this._downPos.x,t=n.clientY-this._downPos.y;Math.abs(e)<3&&Math.abs(t)<3&&this.$emit("canvas-click",n),this._downPos=null}},onWheel(n){this.$emit("canvas-wheel",n)},onDoubleClick(n){this.$emit("canvas-dblclick",n)},onContextMenu(n){this.$emit("canvas-contextmenu",n)},getContainerRect(){return this.$refs.container?this.$refs.container.getBoundingClientRect():null}}};var si=function(){var n=this,e=n.$createElement;return(n._self._c||e)("div",{ref:"container",staticClass:"vue-flow",on:{mousedown:n.onMouseDown,mousemove:n.onMouseMove,mouseup:n.onMouseUp,wheel:function(e){return e.preventDefault(),n.onWheel.apply(null,arguments)},dblclick:n.onDoubleClick,contextmenu:n.onContextMenu}},[n._t("default")],2)};si._withStripped=!0;const di=Ur({render:si,staticRenderFns:[]},function(n){n&&n("data-v-52c7d1e4_0",{source:"\n.vue-flow[data-v-52c7d1e4] {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n background-color: #fff;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\canvas\\FlowCanvas.vue"],names:[],mappings:";AAuDA;EACA,kBAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,sBAAA;EACA,8EAAA;AACA",file:"FlowCanvas.vue",sourcesContent:["<template>\n <div\n class=\"vue-flow\"\n ref=\"container\"\n @mousedown=\"onMouseDown\"\n @mousemove=\"onMouseMove\"\n @mouseup=\"onMouseUp\"\n @wheel.prevent=\"onWheel\"\n @dblclick=\"onDoubleClick\"\n @contextmenu=\"onContextMenu\"\n >\n <slot />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'FlowCanvas',\n methods: {\n onMouseDown(event) {\n this._downPos = { x: event.clientX, y: event.clientY }\n this.$emit('canvas-mousedown', event)\n },\n onMouseMove(event) {\n this.$emit('canvas-mousemove', event)\n },\n onMouseUp(event) {\n this.$emit('canvas-mouseup', event)\n // Emit click only if mouse didn't move (distinguish from drag/pan/select)\n if (this._downPos) {\n let dx = event.clientX - this._downPos.x\n let dy = event.clientY - this._downPos.y\n if (Math.abs(dx) < 3 && Math.abs(dy) < 3) {\n this.$emit('canvas-click', event)\n }\n this._downPos = null\n }\n },\n onWheel(event) {\n this.$emit('canvas-wheel', event)\n },\n onDoubleClick(event) {\n this.$emit('canvas-dblclick', event)\n },\n onContextMenu(event) {\n this.$emit('canvas-contextmenu', event)\n },\n getContainerRect() {\n return this.$refs.container ? this.$refs.container.getBoundingClientRect() : null\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n background-color: #fff;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n}\n</style>\n"]},media:void 0})},li,"data-v-52c7d1e4",false,void 0,!1,Gr,void 0,void 0);const ui={name:"ViewportTransform",props:{x:{type:Number,default:0},y:{type:Number,default:0},zoom:{type:Number,default:1}},computed:{transformStyle(){return{transform:`translate(${this.x}px, ${this.y}px) scale(${this.zoom})`,transformOrigin:"0 0"}}}};var ci=function(){var n=this,e=n.$createElement;return(n._self._c||e)("div",{staticClass:"vue-flow__viewport",style:n.transformStyle},[n._t("default")],2)};ci._withStripped=!0;const pi=Ur({render:ci,staticRenderFns:[]},function(n){n&&n("data-v-440ac10e_0",{source:"\n.vue-flow__viewport[data-v-440ac10e] {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transform-origin: 0 0;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\canvas\\ViewportTransform.vue"],names:[],mappings:";AA0BA;EACA,kBAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,qBAAA;AACA",file:"ViewportTransform.vue",sourcesContent:["<template>\n <div class=\"vue-flow__viewport\" :style=\"transformStyle\">\n <slot />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'ViewportTransform',\n props: {\n x: { type: Number, default: 0 },\n y: { type: Number, default: 0 },\n zoom: { type: Number, default: 1 },\n },\n computed: {\n transformStyle() {\n return {\n transform: `translate(${this.x}px, ${this.y}px) scale(${this.zoom})`,\n transformOrigin: '0 0',\n }\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__viewport {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transform-origin: 0 0;\n}\n</style>\n"]},media:void 0})},ui,"data-v-440ac10e",false,void 0,!1,Gr,void 0,void 0);const fi={name:"BackgroundLayer",props:{variant:{type:String,default:"dots"},gap:{type:Number,default:20},size:{type:Number,default:1},patternColor:{type:String,default:"#81818a"},bgColor:{type:String,default:null},viewportX:{type:Number,default:0},viewportY:{type:Number,default:0},viewportZoom:{type:Number,default:1}},computed:{patternId:()=>"vue-flow-bg-pattern",scaledGap(){return this.gap*this.viewportZoom},scaledSize(){return this.size*this.viewportZoom},transformedX(){return this.viewportX%this.scaledGap},transformedY(){return this.viewportY%this.scaledGap}}};var hi=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("svg",{staticClass:"vue-flow__background"},[t("pattern",{attrs:{id:n.patternId,x:n.transformedX,y:n.transformedY,width:n.scaledGap,height:n.scaledGap,patternUnits:"userSpaceOnUse"}},["dots"===n.variant?[t("circle",{attrs:{cx:n.scaledSize,cy:n.scaledSize,r:n.scaledSize,fill:n.patternColor}})]:[t("path",{attrs:{d:"M "+n.scaledGap+" 0 L 0 0 0 "+n.scaledGap,fill:"none",stroke:n.patternColor,"stroke-width":n.scaledSize}})]],2),n._v(" "),t("rect",{attrs:{x:"0",y:"0",width:"100%",height:"100%",fill:"url(#"+n.patternId+")"}})])};hi._withStripped=!0;const vi=Ur({render:hi,staticRenderFns:[]},function(n){n&&n("data-v-7704128d_0",{source:"\n.vue-flow__background[data-v-7704128d] {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\canvas\\BackgroundLayer.vue"],names:[],mappings:";AAqEA;EACA,kBAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,oBAAA;AACA",file:"BackgroundLayer.vue",sourcesContent:['<template>\n <svg class="vue-flow__background">\n <pattern\n :id="patternId"\n :x="transformedX"\n :y="transformedY"\n :width="scaledGap"\n :height="scaledGap"\n patternUnits="userSpaceOnUse"\n >\n <template v-if="variant === \'dots\'">\n <circle\n :cx="scaledSize"\n :cy="scaledSize"\n :r="scaledSize"\n :fill="patternColor"\n />\n </template>\n <template v-else>\n <path\n :d="`M ${scaledGap} 0 L 0 0 0 ${scaledGap}`"\n fill="none"\n :stroke="patternColor"\n :stroke-width="scaledSize"\n />\n </template>\n </pattern>\n <rect\n x="0" y="0"\n width="100%" height="100%"\n :fill="`url(#${patternId})`"\n />\n </svg>\n</template>\n\n<script>\nexport default {\n name: \'BackgroundLayer\',\n props: {\n variant: { type: String, default: \'dots\' },\n gap: { type: Number, default: 20 },\n size: { type: Number, default: 1 },\n patternColor: { type: String, default: \'#81818a\' },\n bgColor: { type: String, default: null },\n viewportX: { type: Number, default: 0 },\n viewportY: { type: Number, default: 0 },\n viewportZoom: { type: Number, default: 1 },\n },\n computed: {\n patternId() {\n return \'vue-flow-bg-pattern\'\n },\n scaledGap() {\n return this.gap * this.viewportZoom\n },\n scaledSize() {\n return this.size * this.viewportZoom\n },\n transformedX() {\n return (this.viewportX % this.scaledGap)\n },\n transformedY() {\n return (this.viewportY % this.scaledGap)\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__background {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n</style>\n']},media:void 0})},fi,"data-v-7704128d",false,void 0,!1,Gr,void 0,void 0);const gi={name:"SelectionBox",props:{box:{type:Object,default:null}},computed:{boxStyle(){return this.box?{left:`${this.box.x}px`,top:`${this.box.y}px`,width:`${this.box.width}px`,height:`${this.box.height}px`}:{}}}};var mi=function(){var n=this,e=n.$createElement,t=n._self._c||e;return n.box?t("div",{staticClass:"vue-flow__selection-box",style:n.boxStyle}):n._e()};mi._withStripped=!0;const bi=Ur({render:mi,staticRenderFns:[]},function(n){n&&n("data-v-70132985_0",{source:"\n.vue-flow__selection-box[data-v-70132985] {\n position: absolute;\n background: rgba(0, 65, 208, 0.08);\n border: 1px solid rgba(0, 65, 208, 0.4);\n pointer-events: none;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\canvas\\SelectionBox.vue"],names:[],mappings:";AA6BA;EACA,kBAAA;EACA,kCAAA;EACA,uCAAA;EACA,oBAAA;AACA",file:"SelectionBox.vue",sourcesContent:['<template>\n <div\n v-if="box"\n class="vue-flow__selection-box"\n :style="boxStyle"\n />\n</template>\n\n<script>\nexport default {\n name: \'SelectionBox\',\n props: {\n box: { type: Object, default: null }, // { x, y, width, height }\n },\n computed: {\n boxStyle() {\n if (!this.box) return {}\n return {\n left: `${this.box.x}px`,\n top: `${this.box.y}px`,\n width: `${this.box.width}px`,\n height: `${this.box.height}px`,\n }\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__selection-box {\n position: absolute;\n background: rgba(0, 65, 208, 0.08);\n border: 1px solid rgba(0, 65, 208, 0.4);\n pointer-events: none;\n}\n</style>\n']},media:void 0})},gi,"data-v-70132985",false,void 0,!1,Gr,void 0,void 0);const Ai={name:"NodeFace",inject:{getDefNode:{default:()=>()=>({})}},props:{node:{type:Object,required:!0},lastW:{type:Number,default:0},lastH:{type:Number,default:0}},computed:{dn(){return this.getDefNode()},nodeW(){return this.node.width||this.lastW||150},nodeH(){return this.node.height||this.lastH||40},isDiamond(){return"diamond"===this.node.shape},isEllipse(){return"ellipse"===this.node.shape},isTriangle(){let n=this.node.shape;return"triangle"===n||"triangle-right"===n||"triangle-down"===n||"triangle-left"===n},diamondPoints(){return this.isDiamond?this.nodeW/2+",0 "+this.nodeW+","+this.nodeH/2+" "+this.nodeW/2+","+this.nodeH+" 0,"+this.nodeH/2:""},trianglePoints(){if(!this.isTriangle)return"";let n=this.nodeW,e=this.nodeH,t=this.node.shape;return"triangle-right"===t?"0,0 "+n+","+e/2+" 0,"+e:"triangle-down"===t?"0,0 "+n+",0 "+n/2+","+e:"triangle-left"===t?n+",0 0,"+e/2+" "+n+","+e:n/2+",0 0,"+e+" "+n+","+e},svgViewBox(){return"0 0 "+this.nodeW+" "+this.nodeH},diamondViewBox(){return this.isDiamond?this.svgViewBox:"0 0 150 40"}}};var yi=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"vue-flow__node-face"},[n.isDiamond?t("svg",{staticClass:"vue-flow__shape-svg",attrs:{viewBox:n.diamondViewBox,preserveAspectRatio:"none"}},[t("polygon",{attrs:{points:n.diamondPoints,fill:n.node.faceColor||n.dn.faceColor||"#fff","fill-opacity":1,stroke:n.node.edgeColor||n.dn.edgeColor||"#bbb","stroke-opacity":1,"stroke-width":void 0!==n.node.edgeWidth?n.node.edgeWidth:void 0!==n.dn.edgeWidth?n.dn.edgeWidth:1}})]):n._e(),n._v(" "),n.isEllipse?t("svg",{staticClass:"vue-flow__shape-svg",attrs:{viewBox:n.svgViewBox,preserveAspectRatio:"none"}},[t("ellipse",{attrs:{cx:n.nodeW/2,cy:n.nodeH/2,rx:n.nodeW/2,ry:n.nodeH/2,fill:n.node.faceColor||n.dn.faceColor||"#fff","fill-opacity":1,stroke:n.node.edgeColor||n.dn.edgeColor||"#bbb","stroke-opacity":1,"stroke-width":void 0!==n.node.edgeWidth?n.node.edgeWidth:void 0!==n.dn.edgeWidth?n.dn.edgeWidth:1}})]):n._e(),n._v(" "),n.isTriangle?t("svg",{staticClass:"vue-flow__shape-svg",attrs:{viewBox:n.svgViewBox,preserveAspectRatio:"none"}},[t("polygon",{attrs:{points:n.trianglePoints,fill:n.node.faceColor||n.dn.faceColor||"#fff","fill-opacity":1,stroke:n.node.edgeColor||n.dn.edgeColor||"#bbb","stroke-opacity":1,"stroke-width":void 0!==n.node.edgeWidth?n.node.edgeWidth:void 0!==n.dn.edgeWidth?n.dn.edgeWidth:1}})]):n._e()])};yi._withStripped=!0;const Ci=Ur({render:yi,staticRenderFns:[]},function(n){n&&n("data-v-9a58d79e_0",{source:"\n.vue-flow__node-face[data-v-9a58d79e] {\n pointer-events: none;\n}\n.vue-flow__shape-svg[data-v-9a58d79e] {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n overflow: visible;\n}\n.vue-flow__shape-svg polygon[data-v-9a58d79e],\n.vue-flow__shape-svg ellipse[data-v-9a58d79e] {\n transition: filter 0.3s ease;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\nodes\\NodeFace.vue"],names:[],mappings:";AA+GA;EACA,oBAAA;AACA;AACA;EACA,kBAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,oBAAA;EACA,iBAAA;AACA;AACA;;EAEA,4BAAA;AACA",file:"NodeFace.vue",sourcesContent:["<template>\n <div class=\"vue-flow__node-face\">\n \x3c!-- Diamond shape SVG --\x3e\n <svg\n v-if=\"isDiamond\"\n class=\"vue-flow__shape-svg\"\n :viewBox=\"diamondViewBox\"\n preserveAspectRatio=\"none\"\n >\n <polygon\n :points=\"diamondPoints\"\n :fill=\"node.faceColor || dn.faceColor || '#fff'\"\n :fill-opacity=\"1\"\n :stroke=\"node.edgeColor || dn.edgeColor || '#bbb'\"\n :stroke-opacity=\"1\"\n :stroke-width=\"node.edgeWidth !== undefined ? node.edgeWidth : (dn.edgeWidth !== undefined ? dn.edgeWidth : 1)\"\n />\n </svg>\n \x3c!-- Ellipse shape SVG --\x3e\n <svg\n v-if=\"isEllipse\"\n class=\"vue-flow__shape-svg\"\n :viewBox=\"svgViewBox\"\n preserveAspectRatio=\"none\"\n >\n <ellipse\n :cx=\"nodeW / 2\"\n :cy=\"nodeH / 2\"\n :rx=\"nodeW / 2\"\n :ry=\"nodeH / 2\"\n :fill=\"node.faceColor || dn.faceColor || '#fff'\"\n :fill-opacity=\"1\"\n :stroke=\"node.edgeColor || dn.edgeColor || '#bbb'\"\n :stroke-opacity=\"1\"\n :stroke-width=\"node.edgeWidth !== undefined ? node.edgeWidth : (dn.edgeWidth !== undefined ? dn.edgeWidth : 1)\"\n />\n </svg>\n \x3c!-- Triangle shape SVG --\x3e\n <svg\n v-if=\"isTriangle\"\n class=\"vue-flow__shape-svg\"\n :viewBox=\"svgViewBox\"\n preserveAspectRatio=\"none\"\n >\n <polygon\n :points=\"trianglePoints\"\n :fill=\"node.faceColor || dn.faceColor || '#fff'\"\n :fill-opacity=\"1\"\n :stroke=\"node.edgeColor || dn.edgeColor || '#bbb'\"\n :stroke-opacity=\"1\"\n :stroke-width=\"node.edgeWidth !== undefined ? node.edgeWidth : (dn.edgeWidth !== undefined ? dn.edgeWidth : 1)\"\n />\n </svg>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'NodeFace',\n inject: { getDefNode: { default: () => () => ({}) } },\n props: {\n node: { type: Object, required: true },\n lastW: { type: Number, default: 0 },\n lastH: { type: Number, default: 0 },\n },\n computed: {\n dn() {\n return this.getDefNode()\n },\n nodeW() {\n return this.node.width || this.lastW || 150\n },\n nodeH() {\n return this.node.height || this.lastH || 40\n },\n isDiamond() {\n return this.node.shape === 'diamond'\n },\n isEllipse() {\n return this.node.shape === 'ellipse'\n },\n isTriangle() {\n let s = this.node.shape\n return s === 'triangle' || s === 'triangle-right' || s === 'triangle-down' || s === 'triangle-left'\n },\n diamondPoints() {\n if (!this.isDiamond) return ''\n return (this.nodeW / 2) + ',0 ' + this.nodeW + ',' + (this.nodeH / 2) + ' ' + (this.nodeW / 2) + ',' + this.nodeH + ' 0,' + (this.nodeH / 2)\n },\n trianglePoints() {\n if (!this.isTriangle) return ''\n let w = this.nodeW\n let h = this.nodeH\n let s = this.node.shape\n if (s === 'triangle-right') return '0,0 ' + w + ',' + (h / 2) + ' 0,' + h\n if (s === 'triangle-down') return '0,0 ' + w + ',0 ' + (w / 2) + ',' + h\n if (s === 'triangle-left') return w + ',0 0,' + (h / 2) + ' ' + w + ',' + h\n return (w / 2) + ',0 0,' + h + ' ' + w + ',' + h\n },\n svgViewBox() {\n return '0 0 ' + this.nodeW + ' ' + this.nodeH\n },\n diamondViewBox() {\n if (!this.isDiamond) return '0 0 150 40'\n return this.svgViewBox\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__node-face {\n pointer-events: none;\n}\n.vue-flow__shape-svg {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n overflow: visible;\n}\n.vue-flow__shape-svg polygon,\n.vue-flow__shape-svg ellipse {\n transition: filter 0.3s ease;\n}\n</style>\n"]},media:void 0})},Ai,"data-v-9a58d79e",false,void 0,!1,Gr,void 0,void 0);const xi={name:"FlowHandle",props:{type:{type:String,default:"source"},position:{type:String,default:"bottom"},id:{type:String,default:null},connectable:{type:Boolean,default:!0},locked:{type:Boolean,default:!1},offset:{type:String,default:null},customStyle:{type:Object,default:null}},computed:{offsetStyle(){if(this.customStyle)return this.customStyle;if(!this.offset)return null;return"top"===this.position||"bottom"===this.position?{left:this.offset,transform:"translateX(-50%)"}:{top:this.offset,transform:"translateY(-50%)"}},classes(){return["vue-flow__handle",`vue-flow__handle--${this.position}`,`vue-flow__handle--${this.type}`,{"vue-flow__handle--not-connectable":!this.connectable}]}},methods:{onMouseDown(n){this.connectable&&this.$emit("connect-start",{event:n,handleId:this.id||this.type,handleType:this.type,handlePosition:this.position})}}};var wi=function(){var n=this,e=n.$createElement,t=n._self._c||e;return n.locked?n._e():t("div",{class:n.classes,style:n.offsetStyle,attrs:{"data-handle-id":n.id||n.type,"data-handle-type":n.type,"data-handle-position":n.position},on:{mousedown:function(e){return e.stopPropagation(),n.onMouseDown.apply(null,arguments)}}})};wi._withStripped=!0;const Si=Ur({render:wi,staticRenderFns:[]},function(n){n&&n("data-v-2bcda3a0_0",{source:"\n.vue-flow__handle[data-v-2bcda3a0] {\n position: absolute;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: #555;\n border: 1px solid #fff;\n pointer-events: all;\n cursor: crosshair;\n z-index: 3;\n}\n.vue-flow__handle--top[data-v-2bcda3a0] {\n top: -4px;\n left: 50%;\n transform: translateX(-50%);\n}\n.vue-flow__handle--bottom[data-v-2bcda3a0] {\n bottom: -4px;\n left: 50%;\n transform: translateX(-50%);\n}\n.vue-flow__handle--left[data-v-2bcda3a0] {\n top: 50%;\n left: -4px;\n transform: translateY(-50%);\n}\n.vue-flow__handle--right[data-v-2bcda3a0] {\n top: 50%;\n right: -4px;\n transform: translateY(-50%);\n}\n.vue-flow__handle--not-connectable[data-v-2bcda3a0] {\n cursor: default;\n pointer-events: none;\n}\n.vue-flow__handle[data-v-2bcda3a0]:hover {\n background: #0041d0;\n width: 10px;\n height: 10px;\n}\n.vue-flow__handle--top[data-v-2bcda3a0]:hover { top: -5px;\n}\n.vue-flow__handle--bottom[data-v-2bcda3a0]:hover { bottom: -5px;\n}\n.vue-flow__handle--left[data-v-2bcda3a0]:hover { left: -5px;\n}\n.vue-flow__handle--right[data-v-2bcda3a0]:hover { right: -5px;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\nodes\\Handle.vue"],names:[],mappings:";AAwDA;EACA,kBAAA;EACA,UAAA;EACA,WAAA;EACA,kBAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,iBAAA;EACA,UAAA;AACA;AACA;EACA,SAAA;EACA,SAAA;EACA,2BAAA;AACA;AACA;EACA,YAAA;EACA,SAAA;EACA,2BAAA;AACA;AACA;EACA,QAAA;EACA,UAAA;EACA,2BAAA;AACA;AACA;EACA,QAAA;EACA,WAAA;EACA,2BAAA;AACA;AACA;EACA,eAAA;EACA,oBAAA;AACA;AACA;EACA,mBAAA;EACA,WAAA;EACA,YAAA;AACA;AACA,gDAAA,SAAA;AAAA;AACA,mDAAA,YAAA;AAAA;AACA,iDAAA,UAAA;AAAA;AACA,kDAAA,WAAA;AAAA",file:"Handle.vue",sourcesContent:["<template>\n <div\n v-if=\"!locked\"\n :class=\"classes\"\n :style=\"offsetStyle\"\n :data-handle-id=\"id || type\"\n :data-handle-type=\"type\"\n :data-handle-position=\"position\"\n @mousedown.stop=\"onMouseDown\"\n />\n</template>\n\n<script>\nexport default {\n name: 'FlowHandle',\n props: {\n type: { type: String, default: 'source' }, // 'source' | 'target'\n position: { type: String, default: 'bottom' }, // 'top' | 'right' | 'bottom' | 'left'\n id: { type: String, default: null },\n connectable: { type: Boolean, default: true },\n locked: { type: Boolean, default: false },\n offset: { type: String, default: null },\n customStyle: { type: Object, default: null },\n },\n computed: {\n offsetStyle() {\n if (this.customStyle) return this.customStyle\n if (!this.offset) return null\n const isHorizontal = this.position === 'top' || this.position === 'bottom'\n if (isHorizontal) return { left: this.offset, transform: 'translateX(-50%)' }\n return { top: this.offset, transform: 'translateY(-50%)' }\n },\n classes() {\n return [\n 'vue-flow__handle',\n `vue-flow__handle--${this.position}`,\n `vue-flow__handle--${this.type}`,\n { 'vue-flow__handle--not-connectable': !this.connectable },\n ]\n },\n },\n methods: {\n onMouseDown(event) {\n if (!this.connectable) return\n this.$emit('connect-start', {\n event,\n handleId: this.id || this.type,\n handleType: this.type,\n handlePosition: this.position,\n })\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__handle {\n position: absolute;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: #555;\n border: 1px solid #fff;\n pointer-events: all;\n cursor: crosshair;\n z-index: 3;\n}\n.vue-flow__handle--top {\n top: -4px;\n left: 50%;\n transform: translateX(-50%);\n}\n.vue-flow__handle--bottom {\n bottom: -4px;\n left: 50%;\n transform: translateX(-50%);\n}\n.vue-flow__handle--left {\n top: 50%;\n left: -4px;\n transform: translateY(-50%);\n}\n.vue-flow__handle--right {\n top: 50%;\n right: -4px;\n transform: translateY(-50%);\n}\n.vue-flow__handle--not-connectable {\n cursor: default;\n pointer-events: none;\n}\n.vue-flow__handle:hover {\n background: #0041d0;\n width: 10px;\n height: 10px;\n}\n.vue-flow__handle--top:hover { top: -5px; }\n.vue-flow__handle--bottom:hover { bottom: -5px; }\n.vue-flow__handle--left:hover { left: -5px; }\n.vue-flow__handle--right:hover { right: -5px; }\n</style>\n"]},media:void 0})},xi,"data-v-2bcda3a0",false,void 0,!1,Gr,void 0,void 0);const ki={name:"DefaultNode",components:{Handle:Si},inject:{getDefNode:{default:()=>()=>({})}},props:{node:{type:Object,required:!0},connectable:{type:Boolean,default:!0},locked:{type:Boolean,default:!1}},computed:{dn(){return this.getDefNode()},nodeToPosition(){return this.node.toPosition||this.dn.toPosition||"bottom"},nodeFromPosition(){return this.node.fromPosition||this.dn.fromPosition||"top"},sameSide(){return this.nodeToPosition===this.nodeFromPosition},isDiamond(){return"diamond"===this.node.shape},isEllipse(){return"ellipse"===this.node.shape},isTriangle(){let n=this.node.shape;return"triangle"===n||"triangle-right"===n||"triangle-down"===n||"triangle-left"===n},isSvgShape(){return this.isDiamond||this.isEllipse||this.isTriangle},targetOffset(){return this.isSvgShape?null:this.sameSide?"33%":null},sourceOffset(){return this.isSvgShape?null:this.sameSide?"67%":null},targetHandleStyle(){if(this.isTriangle){let n=this.nodeFromPosition;return this.getTriangleHandleStyle(n,this.sameSide?.33:.5)}return this.isEllipse&&this.sameSide?this.getEllipseHandleStyle(this.nodeFromPosition,.33):this.isDiamond&&this.sameSide?this.getDiamondOffsetStyle(this.nodeFromPosition,.33):null},sourceHandleStyle(){if(this.isTriangle){let n=this.nodeToPosition;return this.getTriangleHandleStyle(n,this.sameSide?.67:.5)}return this.isEllipse&&this.sameSide?this.getEllipseHandleStyle(this.nodeToPosition,.67):this.isDiamond&&this.sameSide?this.getDiamondOffsetStyle(this.nodeToPosition,.67):null},labelStyle(){if(!this.isTriangle)return null;let n=this.node.width||this.dn.width||150,e=this.node.height||this.dn.height||40,t=this.node.shape,o=0,r=0;return"triangle-right"===t?o=Math.round(-n/6):"triangle-down"===t?r=Math.round(-e/6):"triangle-left"===t?o=Math.round(n/6):r=Math.round(e/6),{transform:`translate(${o}px, ${r}px)`}}},methods:{getTriangleHandleStyle(n,e){let t=this.triangleVertices(),o=this.pointOnTriangleSide(t,n,e);return{left:o.x+"%",top:o.y+"%",transform:"translate(-50%, -50%)"}},triangleVertices(){let n=this.node.shape;return"triangle-right"===n?{apex:{x:100,y:50},baseA:{x:0,y:0},baseB:{x:0,y:100},apexSide:"right",baseSide:"left",edgeA:"top",edgeB:"bottom"}:"triangle-down"===n?{apex:{x:50,y:100},baseA:{x:0,y:0},baseB:{x:100,y:0},apexSide:"bottom",baseSide:"top",edgeA:"left",edgeB:"right"}:"triangle-left"===n?{apex:{x:0,y:50},baseA:{x:100,y:0},baseB:{x:100,y:100},apexSide:"left",baseSide:"right",edgeA:"top",edgeB:"bottom"}:{apex:{x:50,y:0},baseA:{x:0,y:100},baseB:{x:100,y:100},apexSide:"top",baseSide:"bottom",edgeA:"left",edgeB:"right"}},pointOnTriangleSide(n,e,t){if(e===n.apexSide){if(t<=.5){let e=2*t;return{x:n.baseA.x+(n.apex.x-n.baseA.x)*e,y:n.baseA.y+(n.apex.y-n.baseA.y)*e}}{let e=2*(t-.5);return{x:n.apex.x+(n.baseB.x-n.apex.x)*e,y:n.apex.y+(n.baseB.y-n.apex.y)*e}}}return e===n.baseSide?{x:n.baseA.x+(n.baseB.x-n.baseA.x)*t,y:n.baseA.y+(n.baseB.y-n.baseA.y)*t}:e===n.edgeA?{x:n.apex.x+(n.baseA.x-n.apex.x)*t,y:n.apex.y+(n.baseA.y-n.apex.y)*t}:e===n.edgeB?{x:n.apex.x+(n.baseB.x-n.apex.x)*t,y:n.apex.y+(n.baseB.y-n.apex.y)*t}:{x:50,y:50}},getEllipseHandleStyle(n,e){let t;switch(n){case"top":t=Math.PI*(1-e);break;case"bottom":t=Math.PI*(e-1);break;case"left":t=Math.PI*(.5+e);break;case"right":t=Math.PI*(.5-e);break;default:t=0}return{left:50+50*Math.cos(t)+"%",top:50-50*Math.sin(t)+"%",transform:"translate(-50%, -50%)"}},getDiamondOffsetStyle(n,e){switch(n){case"top":if(e<=.5){let n=2*e;return{left:50*n+"%",top:50*(1-n)+"%",transform:"translate(-50%, -50%)"}}{let n=2*(e-.5);return{left:50+50*n+"%",top:50*n+"%",transform:"translate(-50%, -50%)"}}case"bottom":if(e<=.5){let n=2*e;return{left:50*n+"%",top:50+50*n+"%",transform:"translate(-50%, -50%)"}}{let n=2*(e-.5);return{left:50+50*n+"%",top:100-50*n+"%",transform:"translate(-50%, -50%)"}}case"left":if(e<=.5){let n=2*e;return{left:50*(1-n)+"%",top:50*n+"%",transform:"translate(-50%, -50%)"}}{let n=2*(e-.5);return{left:50*n+"%",top:50+50*n+"%",transform:"translate(-50%, -50%)"}}case"right":if(e<=.5){let n=2*e;return{left:50+50*n+"%",top:50*n+"%",transform:"translate(-50%, -50%)"}}{let n=2*(e-.5);return{left:100-50*n+"%",top:50+50*n+"%",transform:"translate(-50%, -50%)"}}default:return null}}}};var _i=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"vue-flow__node-basic"},[t("Handle",{attrs:{type:"target",position:n.nodeFromPosition,connectable:n.connectable,locked:n.locked,offset:n.targetOffset,"custom-style":n.targetHandleStyle},on:{"connect-start":function(e){return n.$emit("connect-start",e)}}}),n._v(" "),t("div",{staticClass:"vue-flow__node-label",style:n.labelStyle},[n._v(n._s(n.node.name))]),n._v(" "),t("Handle",{attrs:{type:"source",position:n.nodeToPosition,connectable:n.connectable,locked:n.locked,offset:n.sourceOffset,"custom-style":n.sourceHandleStyle},on:{"connect-start":function(e){return n.$emit("connect-start",e)}}})],1)};_i._withStripped=!0;const Bi=Ur({render:_i,staticRenderFns:[]},function(n){n&&n("data-v-6bc50f52_0",{source:"\n.vue-flow__node-basic[data-v-6bc50f52] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n padding: 10px 20px;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\nodes\\DefaultNode.vue"],names:[],mappings:";AAuQA;EACA,kBAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,sBAAA;EACA,kBAAA;AACA",file:"DefaultNode.vue",sourcesContent:["<template>\n <div class=\"vue-flow__node-basic\">\n <Handle\n type=\"target\"\n :position=\"nodeFromPosition\"\n :connectable=\"connectable\"\n :locked=\"locked\"\n :offset=\"targetOffset\"\n :custom-style=\"targetHandleStyle\"\n @connect-start=\"$emit('connect-start', $event)\"\n />\n <div class=\"vue-flow__node-label\" :style=\"labelStyle\">{{ node.name }}</div>\n <Handle\n type=\"source\"\n :position=\"nodeToPosition\"\n :connectable=\"connectable\"\n :locked=\"locked\"\n :offset=\"sourceOffset\"\n :custom-style=\"sourceHandleStyle\"\n @connect-start=\"$emit('connect-start', $event)\"\n />\n </div>\n</template>\n\n<script>\nimport Handle from './Handle.vue'\n\nexport default {\n name: 'DefaultNode',\n components: { Handle },\n inject: { getDefNode: { default: () => () => ({}) } },\n props: {\n node: { type: Object, required: true },\n connectable: { type: Boolean, default: true },\n locked: { type: Boolean, default: false },\n },\n computed: {\n dn() {\n return this.getDefNode()\n },\n nodeToPosition() {\n return this.node.toPosition || this.dn.toPosition || 'bottom'\n },\n nodeFromPosition() {\n return this.node.fromPosition || this.dn.fromPosition || 'top'\n },\n sameSide() {\n return this.nodeToPosition === this.nodeFromPosition\n },\n isDiamond() {\n return this.node.shape === 'diamond'\n },\n isEllipse() {\n return this.node.shape === 'ellipse'\n },\n isTriangle() {\n let s = this.node.shape\n return s === 'triangle' || s === 'triangle-right' || s === 'triangle-down' || s === 'triangle-left'\n },\n isSvgShape() {\n return this.isDiamond || this.isEllipse || this.isTriangle\n },\n targetOffset() {\n if (this.isSvgShape) return null\n return this.sameSide ? '33%' : null\n },\n sourceOffset() {\n if (this.isSvgShape) return null\n return this.sameSide ? '67%' : null\n },\n targetHandleStyle() {\n if (this.isTriangle) {\n let pos = this.nodeFromPosition\n return this.getTriangleHandleStyle(pos, this.sameSide ? 0.33 : 0.5)\n }\n if (this.isEllipse && this.sameSide) {\n return this.getEllipseHandleStyle(this.nodeFromPosition, 0.33)\n }\n if (!this.isDiamond || !this.sameSide) return null\n return this.getDiamondOffsetStyle(this.nodeFromPosition, 0.33)\n },\n sourceHandleStyle() {\n if (this.isTriangle) {\n let pos = this.nodeToPosition\n return this.getTriangleHandleStyle(pos, this.sameSide ? 0.67 : 0.5)\n }\n if (this.isEllipse && this.sameSide) {\n return this.getEllipseHandleStyle(this.nodeToPosition, 0.67)\n }\n if (!this.isDiamond || !this.sameSide) return null\n return this.getDiamondOffsetStyle(this.nodeToPosition, 0.67)\n },\n labelStyle() {\n if (!this.isTriangle) return null\n let w = this.node.width || this.dn.width || 150\n let h = this.node.height || this.dn.height || 40\n let s = this.node.shape\n let x = 0\n let y = 0\n if (s === 'triangle-right') x = Math.round(-w / 6)\n else if (s === 'triangle-down') y = Math.round(-h / 6)\n else if (s === 'triangle-left') x = Math.round(w / 6)\n else y = Math.round(h / 6)\n return { transform: `translate(${x}px, ${y}px)` }\n },\n },\n methods: {\n getTriangleHandleStyle(side, ratio) {\n // Get vertices based on triangle direction\n let v = this.triangleVertices()\n let pt = this.pointOnTriangleSide(v, side, ratio)\n return { left: pt.x + '%', top: pt.y + '%', transform: 'translate(-50%, -50%)' }\n },\n triangleVertices() {\n // Returns 3 vertices in % coords: { apex, baseA, baseB }\n // Also returns which sides correspond to 'top','right','bottom','left'\n let s = this.node.shape\n if (s === 'triangle-right') {\n // apex right-center, base on left\n return {\n apex: { x: 100, y: 50 },\n baseA: { x: 0, y: 0 },\n baseB: { x: 0, y: 100 },\n apexSide: 'right',\n baseSide: 'left',\n edgeA: 'top',\n edgeB: 'bottom'\n }\n }\n if (s === 'triangle-down') {\n // apex bottom-center, base on top\n return {\n apex: { x: 50, y: 100 },\n baseA: { x: 0, y: 0 },\n baseB: { x: 100, y: 0 },\n apexSide: 'bottom',\n baseSide: 'top',\n edgeA: 'left',\n edgeB: 'right'\n }\n }\n if (s === 'triangle-left') {\n // apex left-center, base on right\n return {\n apex: { x: 0, y: 50 },\n baseA: { x: 100, y: 0 },\n baseB: { x: 100, y: 100 },\n apexSide: 'left',\n baseSide: 'right',\n edgeA: 'top',\n edgeB: 'bottom'\n }\n }\n // triangle (up): apex top-center, base on bottom\n return {\n apex: { x: 50, y: 0 },\n baseA: { x: 0, y: 100 },\n baseB: { x: 100, y: 100 },\n apexSide: 'top',\n baseSide: 'bottom',\n edgeA: 'left',\n edgeB: 'right'\n }\n },\n pointOnTriangleSide(v, side, ratio) {\n // apexSide: the side with the apex vertex (a single point, but for same-side we sweep across adjacent edges)\n // baseSide: the straight base edge\n // edgeA: the edge from baseA to apex\n // edgeB: the edge from apex to baseB\n if (side === v.apexSide) {\n // Sweep from edgeA near base → apex → edgeB near base\n if (ratio <= 0.5) {\n let t = ratio * 2\n return { x: v.baseA.x + (v.apex.x - v.baseA.x) * t, y: v.baseA.y + (v.apex.y - v.baseA.y) * t }\n }\n else {\n let t2 = (ratio - 0.5) * 2\n return { x: v.apex.x + (v.baseB.x - v.apex.x) * t2, y: v.apex.y + (v.baseB.y - v.apex.y) * t2 }\n }\n }\n if (side === v.baseSide) {\n // Straight line from baseA to baseB\n return { x: v.baseA.x + (v.baseB.x - v.baseA.x) * ratio, y: v.baseA.y + (v.baseB.y - v.baseA.y) * ratio }\n }\n if (side === v.edgeA) {\n // Edge from apex to baseA\n return { x: v.apex.x + (v.baseA.x - v.apex.x) * ratio, y: v.apex.y + (v.baseA.y - v.apex.y) * ratio }\n }\n if (side === v.edgeB) {\n // Edge from apex to baseB\n return { x: v.apex.x + (v.baseB.x - v.apex.x) * ratio, y: v.apex.y + (v.baseB.y - v.apex.y) * ratio }\n }\n return { x: 50, y: 50 }\n },\n getEllipseHandleStyle(side, ratio) {\n // Map ratio (0..1) to an angle on the ellipse quadrant for the given side\n // For 'top': angle goes from PI (left) to 0 (right), ratio 0.5 = top center\n // We position the handle on the ellipse border using parametric coords\n let angle\n switch (side) {\n case 'top':\n angle = Math.PI * (1 - ratio); break\n case 'bottom':\n angle = Math.PI * (ratio - 1); break\n case 'left':\n angle = Math.PI * (0.5 + ratio); break\n case 'right':\n angle = Math.PI * (0.5 - ratio); break\n default:\n angle = 0\n }\n // Ellipse parametric: x = 50% + 50% * cos(angle), y = 50% - 50% * sin(angle)\n let leftPct = 50 + 50 * Math.cos(angle)\n let topPct = 50 - 50 * Math.sin(angle)\n return { left: leftPct + '%', top: topPct + '%', transform: 'translate(-50%, -50%)' }\n },\n getDiamondOffsetStyle(side, ratio) {\n switch (side) {\n case 'top':\n if (ratio <= 0.5) {\n let t = ratio * 2\n return { left: (t * 50) + '%', top: ((1 - t) * 50) + '%', transform: 'translate(-50%, -50%)' }\n }\n else {\n let t2 = (ratio - 0.5) * 2\n return { left: (50 + t2 * 50) + '%', top: (t2 * 50) + '%', transform: 'translate(-50%, -50%)' }\n }\n case 'bottom':\n if (ratio <= 0.5) {\n let t3 = ratio * 2\n return { left: (t3 * 50) + '%', top: (50 + t3 * 50) + '%', transform: 'translate(-50%, -50%)' }\n }\n else {\n let t4 = (ratio - 0.5) * 2\n return { left: (50 + t4 * 50) + '%', top: (100 - t4 * 50) + '%', transform: 'translate(-50%, -50%)' }\n }\n case 'left':\n if (ratio <= 0.5) {\n let t5 = ratio * 2\n return { left: ((1 - t5) * 50) + '%', top: (t5 * 50) + '%', transform: 'translate(-50%, -50%)' }\n }\n else {\n let t6 = (ratio - 0.5) * 2\n return { left: (t6 * 50) + '%', top: (50 + t6 * 50) + '%', transform: 'translate(-50%, -50%)' }\n }\n case 'right':\n if (ratio <= 0.5) {\n let t7 = ratio * 2\n return { left: (50 + t7 * 50) + '%', top: (t7 * 50) + '%', transform: 'translate(-50%, -50%)' }\n }\n else {\n let t8 = (ratio - 0.5) * 2\n return { left: (100 - t8 * 50) + '%', top: (50 + t8 * 50) + '%', transform: 'translate(-50%, -50%)' }\n }\n default:\n return null\n }\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__node-basic {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n padding: 10px 20px;\n}\n</style>\n"]},media:void 0})},ki,"data-v-6bc50f52",false,void 0,!1,Gr,void 0,void 0);const Pi={name:"InputNode",components:{Handle:Si},inject:{getDefNode:{default:()=>()=>({})}},props:{node:{type:Object,required:!0},connectable:{type:Boolean,default:!0},locked:{type:Boolean,default:!1}},computed:{dn(){return this.getDefNode()}}};var Ti=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"vue-flow__node-input"},[t("div",{staticClass:"vue-flow__node-label"},[n._v(n._s(n.node.name))]),n._v(" "),t("Handle",{attrs:{type:"source",position:n.node.toPosition||n.dn.toPosition||"bottom",connectable:n.connectable,locked:n.locked},on:{"connect-start":function(e){return n.$emit("connect-start",e)}}})],1)};Ti._withStripped=!0;const zi=Ur({render:Ti,staticRenderFns:[]},function(n){n&&n("data-v-4eb042f4_0",{source:"\n.vue-flow__node-input[data-v-4eb042f4] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n padding: 10px 20px;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\nodes\\InputNode.vue"],names:[],mappings:";AAkCA;EACA,kBAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,sBAAA;EACA,kBAAA;AACA",file:"InputNode.vue",sourcesContent:['<template>\n <div class="vue-flow__node-input">\n <div class="vue-flow__node-label">{{ node.name }}</div>\n <Handle\n type="source"\n :position="node.toPosition || dn.toPosition || \'bottom\'"\n :connectable="connectable"\n :locked="locked"\n @connect-start="$emit(\'connect-start\', $event)"\n />\n </div>\n</template>\n\n<script>\nimport Handle from \'./Handle.vue\'\n\nexport default {\n name: \'InputNode\',\n components: { Handle },\n inject: { getDefNode: { default: () => () => ({}) } },\n props: {\n node: { type: Object, required: true },\n connectable: { type: Boolean, default: true },\n locked: { type: Boolean, default: false },\n },\n computed: {\n dn() {\n return this.getDefNode()\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__node-input {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n padding: 10px 20px;\n}\n</style>\n']},media:void 0})},Pi,"data-v-4eb042f4",false,void 0,!1,Gr,void 0,void 0);const Ei={name:"OutputNode",components:{Handle:Si},inject:{getDefNode:{default:()=>()=>({})}},props:{node:{type:Object,required:!0},connectable:{type:Boolean,default:!0},locked:{type:Boolean,default:!1}},computed:{dn(){return this.getDefNode()}}};var Fi=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"vue-flow__node-output"},[t("Handle",{attrs:{type:"target",position:n.node.fromPosition||n.dn.fromPosition||"top",connectable:n.connectable,locked:n.locked},on:{"connect-start":function(e){return n.$emit("connect-start",e)}}}),n._v(" "),t("div",{staticClass:"vue-flow__node-label"},[n._v(n._s(n.node.name))])],1)};Fi._withStripped=!0;const Ii=Ur({render:Fi,staticRenderFns:[]},function(n){n&&n("data-v-82abbe64_0",{source:"\n.vue-flow__node-output[data-v-82abbe64] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n padding: 10px 20px;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\nodes\\OutputNode.vue"],names:[],mappings:";AAkCA;EACA,kBAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,sBAAA;EACA,kBAAA;AACA",file:"OutputNode.vue",sourcesContent:['<template>\n <div class="vue-flow__node-output">\n <Handle\n type="target"\n :position="node.fromPosition || dn.fromPosition || \'top\'"\n :connectable="connectable"\n :locked="locked"\n @connect-start="$emit(\'connect-start\', $event)"\n />\n <div class="vue-flow__node-label">{{ node.name }}</div>\n </div>\n</template>\n\n<script>\nimport Handle from \'./Handle.vue\'\n\nexport default {\n name: \'OutputNode\',\n components: { Handle },\n inject: { getDefNode: { default: () => () => ({}) } },\n props: {\n node: { type: Object, required: true },\n connectable: { type: Boolean, default: true },\n locked: { type: Boolean, default: false },\n },\n computed: {\n dn() {\n return this.getDefNode()\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__node-output {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n padding: 10px 20px;\n}\n</style>\n']},media:void 0})},Ei,"data-v-82abbe64",false,void 0,!1,Gr,void 0,void 0),Hi={basic:Bi,input:zi,output:Ii};const Ni={name:"NodeBody",components:{NodeFace:Ci,DefaultNode:Bi,InputNode:zi,OutputNode:Ii},props:{node:{type:Object,required:!0},connectable:{type:Boolean,default:!0},selected:{type:Boolean,default:!1},resizable:{type:Boolean,default:!0},locked:{type:Boolean,default:!1},hovered:{type:Boolean,default:!1},lastW:{type:Number,default:0},lastH:{type:Number,default:0}},computed:{nodeComponent(){return Hi[this.node.type||"basic"]||Bi},bodyStyle(){const n=this.lastW||this.node.width,e=this.lastH||this.node.height,t={};return n&&(t.width="number"==typeof n?n+"px":n),e&&(t.height="number"==typeof e?e+"px":e),t}}};var Wi=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"vue-flow__node-body",style:n.bodyStyle},[t("NodeFace",{attrs:{node:n.node,lastW:n.lastW,lastH:n.lastH}}),n._v(" "),t(n.nodeComponent,{tag:"component",attrs:{node:n.node,connectable:n.connectable,locked:n.locked},on:{"connect-start":function(e){return n.$emit("connect-start",e)}}}),n._v(" "),t("transition",{attrs:{name:"vue-flow__fade"}},[n.resizable&&!n.locked&&(n.selected||n.hovered)?t("div",{staticClass:"vue-flow__resize-group"},[t("div",{staticClass:"vue-flow__resize vue-flow__resize--top-left",on:{mousedown:function(e){return e.stopPropagation(),n.$emit("resize-start",{event:e,edge:"top-left"})}}}),n._v(" "),t("div",{staticClass:"vue-flow__resize vue-flow__resize--top-right",on:{mousedown:function(e){return e.stopPropagation(),n.$emit("resize-start",{event:e,edge:"top-right"})}}}),n._v(" "),t("div",{staticClass:"vue-flow__resize vue-flow__resize--bottom-left",on:{mousedown:function(e){return e.stopPropagation(),n.$emit("resize-start",{event:e,edge:"bottom-left"})}}}),n._v(" "),t("div",{staticClass:"vue-flow__resize vue-flow__resize--bottom-right",on:{mousedown:function(e){return e.stopPropagation(),n.$emit("resize-start",{event:e,edge:"bottom-right"})}}})]):n._e()])],1)};Wi._withStripped=!0;const $i=Ur({render:Wi,staticRenderFns:[]},function(n){n&&n("data-v-13def85e_0",{source:"\n.vue-flow__node-body[data-v-13def85e] {\n box-sizing: border-box;\n}\n.vue-flow__resize[data-v-13def85e] {\n position: absolute;\n pointer-events: all;\n}\n.vue-flow__resize--top-left[data-v-13def85e],\n.vue-flow__resize--top-right[data-v-13def85e],\n.vue-flow__resize--bottom-left[data-v-13def85e],\n.vue-flow__resize--bottom-right[data-v-13def85e] {\n width: 10px;\n height: 10px;\n z-index: 1;\n border-radius: 2px;\n background: #fff;\n border: 1.5px solid #bbb;\n transition: border-color 0.15s ease;\n}\n.vue-flow__resize--top-left[data-v-13def85e]:hover,\n.vue-flow__resize--top-right[data-v-13def85e]:hover,\n.vue-flow__resize--bottom-left[data-v-13def85e]:hover,\n.vue-flow__resize--bottom-right[data-v-13def85e]:hover {\n border-color: #0041d0;\n background: #e8f0fe;\n}\n.vue-flow__resize--top-left[data-v-13def85e] { top: -5px; left: -5px; cursor: nwse-resize;\n}\n.vue-flow__resize--top-right[data-v-13def85e] { top: -5px; right: -5px; cursor: nesw-resize;\n}\n.vue-flow__resize--bottom-left[data-v-13def85e] { bottom: -5px; left: -5px; cursor: nesw-resize;\n}\n.vue-flow__resize--bottom-right[data-v-13def85e] { bottom: -5px; right: -5px; cursor: nwse-resize;\n}\n.vue-flow__fade-enter-active[data-v-13def85e],\n.vue-flow__fade-leave-active[data-v-13def85e] {\n transition: opacity 0.15s ease;\n}\n.vue-flow__fade-enter[data-v-13def85e],\n.vue-flow__fade-leave-to[data-v-13def85e] {\n opacity: 0;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\nodes\\NodeBody.vue"],names:[],mappings:";AAgEA;EACA,sBAAA;AACA;AACA;EACA,kBAAA;EACA,mBAAA;AACA;AACA;;;;EAIA,WAAA;EACA,YAAA;EACA,UAAA;EACA,kBAAA;EACA,gBAAA;EACA,wBAAA;EACA,mCAAA;AACA;AACA;;;;EAIA,qBAAA;EACA,mBAAA;AACA;AACA,+CAAA,SAAA,EAAA,UAAA,EAAA,mBAAA;AAAA;AACA,gDAAA,SAAA,EAAA,WAAA,EAAA,mBAAA;AAAA;AACA,kDAAA,YAAA,EAAA,UAAA,EAAA,mBAAA;AAAA;AACA,mDAAA,YAAA,EAAA,WAAA,EAAA,mBAAA;AAAA;AACA;;EAEA,8BAAA;AACA;AACA;;EAEA,UAAA;AACA",file:"NodeBody.vue",sourcesContent:['<template>\n <div class="vue-flow__node-body" :style="bodyStyle">\n <NodeFace :node="node" :lastW="lastW" :lastH="lastH" />\n <component\n :is="nodeComponent"\n :node="node"\n :connectable="connectable"\n :locked="locked"\n @connect-start="$emit(\'connect-start\', $event)"\n />\n \x3c!-- Corner resize handles (4 corners only) --\x3e\n <transition name="vue-flow__fade">\n <div v-if="resizable && !locked && (selected || hovered)" class="vue-flow__resize-group">\n <div class="vue-flow__resize vue-flow__resize--top-left" @mousedown.stop="$emit(\'resize-start\', { event: $event, edge: \'top-left\' })"></div>\n <div class="vue-flow__resize vue-flow__resize--top-right" @mousedown.stop="$emit(\'resize-start\', { event: $event, edge: \'top-right\' })"></div>\n <div class="vue-flow__resize vue-flow__resize--bottom-left" @mousedown.stop="$emit(\'resize-start\', { event: $event, edge: \'bottom-left\' })"></div>\n <div class="vue-flow__resize vue-flow__resize--bottom-right" @mousedown.stop="$emit(\'resize-start\', { event: $event, edge: \'bottom-right\' })"></div>\n </div>\n </transition>\n </div>\n</template>\n\n<script>\nimport NodeFace from \'./NodeFace.vue\'\nimport DefaultNode from \'./DefaultNode.vue\'\nimport InputNode from \'./InputNode.vue\'\nimport OutputNode from \'./OutputNode.vue\'\n\nconst builtInNodes = {\n basic: DefaultNode,\n input: InputNode,\n output: OutputNode,\n}\n\nexport default {\n name: \'NodeBody\',\n components: { NodeFace, DefaultNode, InputNode, OutputNode },\n props: {\n node: { type: Object, required: true },\n connectable: { type: Boolean, default: true },\n selected: { type: Boolean, default: false },\n resizable: { type: Boolean, default: true },\n locked: { type: Boolean, default: false },\n hovered: { type: Boolean, default: false },\n lastW: { type: Number, default: 0 },\n lastH: { type: Number, default: 0 },\n },\n computed: {\n nodeComponent() {\n return builtInNodes[this.node.type || \'basic\'] || DefaultNode\n },\n bodyStyle() {\n const w = this.lastW || this.node.width\n const h = this.lastH || this.node.height\n const s = {}\n if (w) s.width = (typeof w === \'number\' ? w + \'px\' : w)\n if (h) s.height = (typeof h === \'number\' ? h + \'px\' : h)\n return s\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__node-body {\n box-sizing: border-box;\n}\n.vue-flow__resize {\n position: absolute;\n pointer-events: all;\n}\n.vue-flow__resize--top-left,\n.vue-flow__resize--top-right,\n.vue-flow__resize--bottom-left,\n.vue-flow__resize--bottom-right {\n width: 10px;\n height: 10px;\n z-index: 1;\n border-radius: 2px;\n background: #fff;\n border: 1.5px solid #bbb;\n transition: border-color 0.15s ease;\n}\n.vue-flow__resize--top-left:hover,\n.vue-flow__resize--top-right:hover,\n.vue-flow__resize--bottom-left:hover,\n.vue-flow__resize--bottom-right:hover {\n border-color: #0041d0;\n background: #e8f0fe;\n}\n.vue-flow__resize--top-left { top: -5px; left: -5px; cursor: nwse-resize; }\n.vue-flow__resize--top-right { top: -5px; right: -5px; cursor: nesw-resize; }\n.vue-flow__resize--bottom-left { bottom: -5px; left: -5px; cursor: nesw-resize; }\n.vue-flow__resize--bottom-right { bottom: -5px; right: -5px; cursor: nwse-resize; }\n.vue-flow__fade-enter-active,\n.vue-flow__fade-leave-active {\n transition: opacity 0.15s ease;\n}\n.vue-flow__fade-enter,\n.vue-flow__fade-leave-to {\n opacity: 0;\n}\n</style>\n']},media:void 0})},Ni,"data-v-13def85e",false,void 0,!1,Gr,void 0,void 0);var Mi=Math.max;var Di=ut?function(n,e){return ut(n,"toString",{configurable:!0,enumerable:!1,value:(t=e,function(){return t}),writable:!0});var t}:Vn,Li=Di,ji=Date.now;var Ri=function(n){var e=0,t=0;return function(){var o=ji(),r=16-(o-t);if(t=o,r>0){if(++e>=800)return arguments[0]}else e=0;return n.apply(void 0,arguments)}}(Li),Oi=Ri;function Vi(n,e){return Oi(function(n,e,t){return e=Mi(void 0===e?n.length-1:e,0),function(){for(var o=arguments,r=-1,i=Mi(o.length-e,0),a=Array(i);++r<i;)a[r]=o[e+r];r=-1;for(var l=Array(e+1);++r<e;)l[r]=o[r];return l[e]=t(a),function(n,e,t){switch(t.length){case 0:return n.call(e);case 1:return n.call(e,t[0]);case 2:return n.call(e,t[0],t[1]);case 3:return n.call(e,t[0],t[1],t[2])}return n.apply(e,t)}(n,this,l)}}(n,e,Vn),n+"")}function Yi(n){return n!=n}function Ui(n,e,t){return e==e?function(n,e,t){for(var o=t-1,r=n.length;++o<r;)if(n[o]===e)return o;return-1}(n,e,t):function(n,e,t,o){for(var r=n.length,i=t+(o?1:-1);o?i--:++i<r;)if(e(n[i],i,n))return i;return-1}(n,Yi,t)}function Xi(n,e,t,o){for(var r=t-1,i=n.length;++r<i;)if(o(n[r],e))return r;return-1}var Gi=Array.prototype.splice;var Zi=Vi(function(n,e){return n&&n.length&&e&&e.length?function(n,e,t,o){var r=o?Xi:Ui,i=-1,a=e.length,l=n;for(n===e&&(e=Vt(e)),t&&(l=Q(n,kn(t)));++i<a;)for(var s=0,d=e[i],u=t?t(d):d;(s=r(l,u,s,o))>-1;)l!==n&&Gi.call(l,s,1),Gi.call(n,s,1);return n}(n,e):n});const qi={props:{to:{type:String,default:null}},computed:{toEl:function(){let n=this,e=null;try{e=document.querySelector(n.to)}catch(n){}return e}},watch:{toEl:function(n){this.teleport()}},mounted:function(){this.teleport()},destroyed:function(){let n=this;try{n.$el.remove()}catch(n){}},methods:{teleport:function(){let n=this;try{n.$el&&n.$el.parentElement!==n.toEl&&n.toEl.appendChild(n.$el)}catch(n){}}}};var Qi=function(){var n=this,e=n.$createElement;return(n._self._c||e)("div",[n._t("default")],2)};Qi._withStripped=!0;const Ji=Ur({render:Qi,staticRenderFns:[]},function(n){n&&n("data-v-9fb85e3e_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"Teleport.vue"},media:void 0})},qi,"data-v-9fb85e3e",false,void 0,!1,Gr,void 0,void 0);function Ki(n,e){return!!It(n)&&(!(!ft(e)&&!Bo(e))&&e in n)}function na(n,e,t){if(!jr(n))return void console.log("clientX is not a number",n);if(!jr(e))return void console.log("clientY is not a number",e);if(!Wr(t))return void console.log("ele is not a HTMLElement",t);let o;try{o=t.getBoundingClientRect()}catch(n){return void console.log("invalid ele for getBoundingClientRect",n)}let r=!1;try{r=n>=o.left&&n<=o.right&&e>=o.top&&e<=o.bottom}catch(n){console.log("catch when calculating page information of element",n)}return r}function ea(n){if(null==n)return window;if("[object Window]"!==n.toString()){var e=n.ownerDocument;return e&&e.defaultView||window}return n}function ta(n){return n instanceof ea(n).Element||n instanceof Element}function oa(n){return n instanceof ea(n).HTMLElement||n instanceof HTMLElement}function ra(n){return"undefined"!=typeof ShadowRoot&&(n instanceof ea(n).ShadowRoot||n instanceof ShadowRoot)}var ia=Math.max,aa=Math.min,la=Math.round;function sa(){var n=navigator.userAgentData;return null!=n&&n.brands&&Array.isArray(n.brands)?n.brands.map(function(n){return n.brand+"/"+n.version}).join(" "):navigator.userAgent}function da(){return!/^((?!chrome|android).)*safari/i.test(sa())}function ua(n,e,t){void 0===e&&(e=!1),void 0===t&&(t=!1);var o=n.getBoundingClientRect(),r=1,i=1;e&&oa(n)&&(r=n.offsetWidth>0&&la(o.width)/n.offsetWidth||1,i=n.offsetHeight>0&&la(o.height)/n.offsetHeight||1);var a=(ta(n)?ea(n):window).visualViewport,l=!da()&&t,s=(o.left+(l&&a?a.offsetLeft:0))/r,d=(o.top+(l&&a?a.offsetTop:0))/i,u=o.width/r,c=o.height/i;return{width:u,height:c,top:d,right:s+u,bottom:d+c,left:s,x:s,y:d}}function ca(n){var e=ea(n);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function pa(n){return n?(n.nodeName||"").toLowerCase():null}function fa(n){return((ta(n)?n.ownerDocument:n.document)||window.document).documentElement}function ha(n){return ua(fa(n)).left+ca(n).scrollLeft}function va(n){return ea(n).getComputedStyle(n)}function ga(n){var e=va(n),t=e.overflow,o=e.overflowX,r=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+r+o)}function ma(n,e,t){void 0===t&&(t=!1);var o,r,i=oa(e),a=oa(e)&&function(n){var e=n.getBoundingClientRect(),t=la(e.width)/n.offsetWidth||1,o=la(e.height)/n.offsetHeight||1;return 1!==t||1!==o}(e),l=fa(e),s=ua(n,a,t),d={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(i||!i&&!t)&&(("body"!==pa(e)||ga(l))&&(d=(o=e)!==ea(o)&&oa(o)?{scrollLeft:(r=o).scrollLeft,scrollTop:r.scrollTop}:ca(o)),oa(e)?((u=ua(e,!0)).x+=e.clientLeft,u.y+=e.clientTop):l&&(u.x=ha(l))),{x:s.left+d.scrollLeft-u.x,y:s.top+d.scrollTop-u.y,width:s.width,height:s.height}}function ba(n){var e=ua(n),t=n.offsetWidth,o=n.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-o)<=1&&(o=e.height),{x:n.offsetLeft,y:n.offsetTop,width:t,height:o}}function Aa(n){return"html"===pa(n)?n:n.assignedSlot||n.parentNode||(ra(n)?n.host:null)||fa(n)}function ya(n){return["html","body","#document"].indexOf(pa(n))>=0?n.ownerDocument.body:oa(n)&&ga(n)?n:ya(Aa(n))}function Ca(n,e){var t;void 0===e&&(e=[]);var o=ya(n),r=o===(null==(t=n.ownerDocument)?void 0:t.body),i=ea(o),a=r?[i].concat(i.visualViewport||[],ga(o)?o:[]):o,l=e.concat(a);return r?l:l.concat(Ca(Aa(a)))}function xa(n){return["table","td","th"].indexOf(pa(n))>=0}function wa(n){return oa(n)&&"fixed"!==va(n).position?n.offsetParent:null}function Sa(n){for(var e=ea(n),t=wa(n);t&&xa(t)&&"static"===va(t).position;)t=wa(t);return t&&("html"===pa(t)||"body"===pa(t)&&"static"===va(t).position)?e:t||function(n){var e=/firefox/i.test(sa());if(/Trident/i.test(sa())&&oa(n)&&"fixed"===va(n).position)return null;var t=Aa(n);for(ra(t)&&(t=t.host);oa(t)&&["html","body"].indexOf(pa(t))<0;){var o=va(t);if("none"!==o.transform||"none"!==o.perspective||"paint"===o.contain||-1!==["transform","perspective"].indexOf(o.willChange)||e&&"filter"===o.willChange||e&&o.filter&&"none"!==o.filter)return t;t=t.parentNode}return null}(n)||e}var ka="top",_a="bottom",Ba="right",Pa="left",Ta="auto",za=[ka,_a,Ba,Pa],Ea="start",Fa="end",Ia="viewport",Ha="popper",Na=za.reduce(function(n,e){return n.concat([e+"-"+Ea,e+"-"+Fa])},[]),Wa=[].concat(za,[Ta]).reduce(function(n,e){return n.concat([e,e+"-"+Ea,e+"-"+Fa])},[]),$a=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Ma(n){var e=new Map,t=new Set,o=[];function r(n){t.add(n.name),[].concat(n.requires||[],n.requiresIfExists||[]).forEach(function(n){if(!t.has(n)){var o=e.get(n);o&&r(o)}}),o.push(n)}return n.forEach(function(n){e.set(n.name,n)}),n.forEach(function(n){t.has(n.name)||r(n)}),o}function Da(n,e){var t=e.getRootNode&&e.getRootNode();if(n.contains(e))return!0;if(t&&ra(t)){var o=e;do{if(o&&n.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function La(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function ja(n,e,t){return e===Ia?La(function(n,e){var t=ea(n),o=fa(n),r=t.visualViewport,i=o.clientWidth,a=o.clientHeight,l=0,s=0;if(r){i=r.width,a=r.height;var d=da();(d||!d&&"fixed"===e)&&(l=r.offsetLeft,s=r.offsetTop)}return{width:i,height:a,x:l+ha(n),y:s}}(n,t)):ta(e)?function(n,e){var t=ua(n,!1,"fixed"===e);return t.top=t.top+n.clientTop,t.left=t.left+n.clientLeft,t.bottom=t.top+n.clientHeight,t.right=t.left+n.clientWidth,t.width=n.clientWidth,t.height=n.clientHeight,t.x=t.left,t.y=t.top,t}(e,t):La(function(n){var e,t=fa(n),o=ca(n),r=null==(e=n.ownerDocument)?void 0:e.body,i=ia(t.scrollWidth,t.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),a=ia(t.scrollHeight,t.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),l=-o.scrollLeft+ha(n),s=-o.scrollTop;return"rtl"===va(r||t).direction&&(l+=ia(t.clientWidth,r?r.clientWidth:0)-i),{width:i,height:a,x:l,y:s}}(fa(n)))}function Ra(n,e,t,o){var r="clippingParents"===e?function(n){var e=Ca(Aa(n)),t=["absolute","fixed"].indexOf(va(n).position)>=0&&oa(n)?Sa(n):n;return ta(t)?e.filter(function(n){return ta(n)&&Da(n,t)&&"body"!==pa(n)}):[]}(n):[].concat(e),i=[].concat(r,[t]),a=i[0],l=i.reduce(function(e,t){var r=ja(n,t,o);return e.top=ia(r.top,e.top),e.right=aa(r.right,e.right),e.bottom=aa(r.bottom,e.bottom),e.left=ia(r.left,e.left),e},ja(n,a,o));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function Oa(n){return n.split("-")[0]}function Va(n){return n.split("-")[1]}function Ya(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function Ua(n){var e,t=n.reference,o=n.element,r=n.placement,i=r?Oa(r):null,a=r?Va(r):null,l=t.x+t.width/2-o.width/2,s=t.y+t.height/2-o.height/2;switch(i){case ka:e={x:l,y:t.y-o.height};break;case _a:e={x:l,y:t.y+t.height};break;case Ba:e={x:t.x+t.width,y:s};break;case Pa:e={x:t.x-o.width,y:s};break;default:e={x:t.x,y:t.y}}var d=i?Ya(i):null;if(null!=d){var u="y"===d?"height":"width";switch(a){case Ea:e[d]=e[d]-(t[u]/2-o[u]/2);break;case Fa:e[d]=e[d]+(t[u]/2-o[u]/2)}}return e}function Xa(n){return Object.assign({},{top:0,right:0,bottom:0,left:0},n)}function Ga(n,e){return e.reduce(function(e,t){return e[t]=n,e},{})}function Za(n,e){void 0===e&&(e={});var t=e,o=t.placement,r=void 0===o?n.placement:o,i=t.strategy,a=void 0===i?n.strategy:i,l=t.boundary,s=void 0===l?"clippingParents":l,d=t.rootBoundary,u=void 0===d?Ia:d,c=t.elementContext,p=void 0===c?Ha:c,f=t.altBoundary,h=void 0!==f&&f,v=t.padding,g=void 0===v?0:v,m=Xa("number"!=typeof g?g:Ga(g,za)),b=p===Ha?"reference":Ha,A=n.rects.popper,y=n.elements[h?b:p],C=Ra(ta(y)?y:y.contextElement||fa(n.elements.popper),s,u,a),x=ua(n.elements.reference),w=Ua({reference:x,element:A,strategy:"absolute",placement:r}),S=La(Object.assign({},A,w)),k=p===Ha?S:x,_={top:C.top-k.top+m.top,bottom:k.bottom-C.bottom+m.bottom,left:C.left-k.left+m.left,right:k.right-C.right+m.right},B=n.modifiersData.offset;if(p===Ha&&B){var P=B[r];Object.keys(_).forEach(function(n){var e=[Ba,_a].indexOf(n)>=0?1:-1,t=[ka,_a].indexOf(n)>=0?"y":"x";_[n]+=P[t]*e})}return _}var qa={placement:"bottom",modifiers:[],strategy:"absolute"};function Qa(){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];return!e.some(function(n){return!(n&&"function"==typeof n.getBoundingClientRect)})}function Ja(n){void 0===n&&(n={});var e=n,t=e.defaultModifiers,o=void 0===t?[]:t,r=e.defaultOptions,i=void 0===r?qa:r;return function(n,e,t){void 0===t&&(t=i);var r,a,l={placement:"bottom",orderedModifiers:[],options:Object.assign({},qa,i),modifiersData:{},elements:{reference:n,popper:e},attributes:{},styles:{}},s=[],d=!1,u={state:l,setOptions:function(t){var r="function"==typeof t?t(l.options):t;c(),l.options=Object.assign({},i,l.options,r),l.scrollParents={reference:ta(n)?Ca(n):n.contextElement?Ca(n.contextElement):[],popper:Ca(e)};var a,d,p=function(n){var e=Ma(n);return $a.reduce(function(n,t){return n.concat(e.filter(function(n){return n.phase===t}))},[])}((a=[].concat(o,l.options.modifiers),d=a.reduce(function(n,e){var t=n[e.name];return n[e.name]=t?Object.assign({},t,e,{options:Object.assign({},t.options,e.options),data:Object.assign({},t.data,e.data)}):e,n},{}),Object.keys(d).map(function(n){return d[n]})));return l.orderedModifiers=p.filter(function(n){return n.enabled}),l.orderedModifiers.forEach(function(n){var e=n.name,t=n.options,o=void 0===t?{}:t,r=n.effect;if("function"==typeof r){var i=r({state:l,name:e,instance:u,options:o}),a=function(){};s.push(i||a)}}),u.update()},forceUpdate:function(){if(!d){var n=l.elements,e=n.reference,t=n.popper;if(Qa(e,t)){l.rects={reference:ma(e,Sa(t),"fixed"===l.options.strategy),popper:ba(t)},l.reset=!1,l.placement=l.options.placement,l.orderedModifiers.forEach(function(n){return l.modifiersData[n.name]=Object.assign({},n.data)});for(var o=0;o<l.orderedModifiers.length;o++)if(!0!==l.reset){var r=l.orderedModifiers[o],i=r.fn,a=r.options,s=void 0===a?{}:a,c=r.name;"function"==typeof i&&(l=i({state:l,options:s,name:c,instance:u})||l)}else l.reset=!1,o=-1}}},update:(r=function(){return new Promise(function(n){u.forceUpdate(),n(l)})},function(){return a||(a=new Promise(function(n){Promise.resolve().then(function(){a=void 0,n(r())})})),a}),destroy:function(){c(),d=!0}};if(!Qa(n,e))return u;function c(){s.forEach(function(n){return n()}),s=[]}return u.setOptions(t).then(function(n){!d&&t.onFirstUpdate&&t.onFirstUpdate(n)}),u}}var Ka={passive:!0};var nl={top:"auto",right:"auto",bottom:"auto",left:"auto"};function el(n){var e,t=n.popper,o=n.popperRect,r=n.placement,i=n.variation,a=n.offsets,l=n.position,s=n.gpuAcceleration,d=n.adaptive,u=n.roundOffsets,c=n.isFixed,p=a.x,f=void 0===p?0:p,h=a.y,v=void 0===h?0:h,g="function"==typeof u?u({x:f,y:v}):{x:f,y:v};f=g.x,v=g.y;var m=a.hasOwnProperty("x"),b=a.hasOwnProperty("y"),A=Pa,y=ka,C=window;if(d){var x=Sa(t),w="clientHeight",S="clientWidth";if(x===ea(t)&&"static"!==va(x=fa(t)).position&&"absolute"===l&&(w="scrollHeight",S="scrollWidth"),r===ka||(r===Pa||r===Ba)&&i===Fa)y=_a,v-=(c&&x===C&&C.visualViewport?C.visualViewport.height:x[w])-o.height,v*=s?1:-1;if(r===Pa||(r===ka||r===_a)&&i===Fa)A=Ba,f-=(c&&x===C&&C.visualViewport?C.visualViewport.width:x[S])-o.width,f*=s?1:-1}var k,_=Object.assign({position:l},d&&nl),B=!0===u?function(n,e){var t=n.x,o=n.y,r=e.devicePixelRatio||1;return{x:la(t*r)/r||0,y:la(o*r)/r||0}}({x:f,y:v},ea(t)):{x:f,y:v};return f=B.x,v=B.y,s?Object.assign({},_,((k={})[y]=b?"0":"",k[A]=m?"0":"",k.transform=(C.devicePixelRatio||1)<=1?"translate("+f+"px, "+v+"px)":"translate3d("+f+"px, "+v+"px, 0)",k)):Object.assign({},_,((e={})[y]=b?v+"px":"",e[A]=m?f+"px":"",e.transform="",e))}var tl={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(n){var e=n.state,t=n.options,o=t.gpuAcceleration,r=void 0===o||o,i=t.adaptive,a=void 0===i||i,l=t.roundOffsets,s=void 0===l||l,d={placement:Oa(e.placement),variation:Va(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:r,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,el(Object.assign({},d,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:s})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,el(Object.assign({},d,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:s})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ol={name:"applyStyles",enabled:!0,phase:"write",fn:function(n){var e=n.state;Object.keys(e.elements).forEach(function(n){var t=e.styles[n]||{},o=e.attributes[n]||{},r=e.elements[n];oa(r)&&pa(r)&&(Object.assign(r.style,t),Object.keys(o).forEach(function(n){var e=o[n];!1===e?r.removeAttribute(n):r.setAttribute(n,!0===e?"":e)}))})},effect:function(n){var e=n.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(n){var o=e.elements[n],r=e.attributes[n]||{},i=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:t[n]).reduce(function(n,e){return n[e]="",n},{});oa(o)&&pa(o)&&(Object.assign(o.style,i),Object.keys(r).forEach(function(n){o.removeAttribute(n)}))})}},requires:["computeStyles"]},rl=Ja({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(n){var e=n.state,t=n.instance,o=n.options,r=o.scroll,i=void 0===r||r,a=o.resize,l=void 0===a||a,s=ea(e.elements.popper),d=[].concat(e.scrollParents.reference,e.scrollParents.popper);return i&&d.forEach(function(n){n.addEventListener("scroll",t.update,Ka)}),l&&s.addEventListener("resize",t.update,Ka),function(){i&&d.forEach(function(n){n.removeEventListener("scroll",t.update,Ka)}),l&&s.removeEventListener("resize",t.update,Ka)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(n){var e=n.state,t=n.name;e.modifiersData[t]=Ua({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},tl,ol]}),il={left:"right",right:"left",bottom:"top",top:"bottom"};function al(n){return n.replace(/left|right|bottom|top/g,function(n){return il[n]})}var ll={start:"end",end:"start"};function sl(n){return n.replace(/start|end/g,function(n){return ll[n]})}function dl(n,e){void 0===e&&(e={});var t=e,o=t.placement,r=t.boundary,i=t.rootBoundary,a=t.padding,l=t.flipVariations,s=t.allowedAutoPlacements,d=void 0===s?Wa:s,u=Va(o),c=u?l?Na:Na.filter(function(n){return Va(n)===u}):za,p=c.filter(function(n){return d.indexOf(n)>=0});0===p.length&&(p=c);var f=p.reduce(function(e,t){return e[t]=Za(n,{placement:t,boundary:r,rootBoundary:i,padding:a})[Oa(t)],e},{});return Object.keys(f).sort(function(n,e){return f[n]-f[e]})}var ul={name:"flip",enabled:!0,phase:"main",fn:function(n){var e=n.state,t=n.options,o=n.name;if(!e.modifiersData[o]._skip){for(var r=t.mainAxis,i=void 0===r||r,a=t.altAxis,l=void 0===a||a,s=t.fallbackPlacements,d=t.padding,u=t.boundary,c=t.rootBoundary,p=t.altBoundary,f=t.flipVariations,h=void 0===f||f,v=t.allowedAutoPlacements,g=e.options.placement,m=Oa(g),b=s||(m===g||!h?[al(g)]:function(n){if(Oa(n)===Ta)return[];var e=al(n);return[sl(n),e,sl(e)]}(g)),A=[g].concat(b).reduce(function(n,t){return n.concat(Oa(t)===Ta?dl(e,{placement:t,boundary:u,rootBoundary:c,padding:d,flipVariations:h,allowedAutoPlacements:v}):t)},[]),y=e.rects.reference,C=e.rects.popper,x=new Map,w=!0,S=A[0],k=0;k<A.length;k++){var _=A[k],B=Oa(_),P=Va(_)===Ea,T=[ka,_a].indexOf(B)>=0,z=T?"width":"height",E=Za(e,{placement:_,boundary:u,rootBoundary:c,altBoundary:p,padding:d}),F=T?P?Ba:Pa:P?_a:ka;y[z]>C[z]&&(F=al(F));var I=al(F),H=[];if(i&&H.push(E[B]<=0),l&&H.push(E[F]<=0,E[I]<=0),H.every(function(n){return n})){S=_,w=!1;break}x.set(_,H)}if(w)for(var N=function(n){var e=A.find(function(e){var t=x.get(e);if(t)return t.slice(0,n).every(function(n){return n})});if(e)return S=e,"break"},W=h?3:1;W>0;W--){if("break"===N(W))break}e.placement!==S&&(e.modifiersData[o]._skip=!0,e.placement=S,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};var cl={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(n){var e=n.state,t=n.options,o=n.name,r=t.offset,i=void 0===r?[0,0]:r,a=Wa.reduce(function(n,t){return n[t]=function(n,e,t){var o=Oa(n),r=[Pa,ka].indexOf(o)>=0?-1:1,i="function"==typeof t?t(Object.assign({},e,{placement:n})):t,a=i[0],l=i[1];return a=a||0,l=(l||0)*r,[Pa,Ba].indexOf(o)>=0?{x:l,y:a}:{x:a,y:l}}(t,e.rects,i),n},{}),l=a[e.placement],s=l.x,d=l.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=s,e.modifiersData.popperOffsets.y+=d),e.modifiersData[o]=a}};function pl(n,e,t){return void 0===t&&(t={x:0,y:0}),{top:n.top-e.height-t.y,right:n.right-e.width+t.x,bottom:n.bottom-e.height+t.y,left:n.left-e.width-t.x}}function fl(n){return[ka,Ba,_a,Pa].some(function(e){return n[e]>=0})}var hl={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(n){var e=n.state,t=n.name,o=e.rects.reference,r=e.rects.popper,i=e.modifiersData.preventOverflow,a=Za(e,{elementContext:"reference"}),l=Za(e,{altBoundary:!0}),s=pl(a,o),d=pl(l,r,i),u=fl(s),c=fl(d);e.modifiersData[t]={referenceClippingOffsets:s,popperEscapeOffsets:d,isReferenceHidden:u,hasPopperEscaped:c},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":c})}};function vl(n,e,t){return ia(n,aa(e,t))}var gl={name:"preventOverflow",enabled:!0,phase:"main",fn:function(n){var e=n.state,t=n.options,o=n.name,r=t.mainAxis,i=void 0===r||r,a=t.altAxis,l=void 0!==a&&a,s=t.boundary,d=t.rootBoundary,u=t.altBoundary,c=t.padding,p=t.tether,f=void 0===p||p,h=t.tetherOffset,v=void 0===h?0:h,g=Za(e,{boundary:s,rootBoundary:d,padding:c,altBoundary:u}),m=Oa(e.placement),b=Va(e.placement),A=!b,y=Ya(m),C="x"===y?"y":"x",x=e.modifiersData.popperOffsets,w=e.rects.reference,S=e.rects.popper,k="function"==typeof v?v(Object.assign({},e.rects,{placement:e.placement})):v,_="number"==typeof k?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),B=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,P={x:0,y:0};if(x){if(i){var T,z="y"===y?ka:Pa,E="y"===y?_a:Ba,F="y"===y?"height":"width",I=x[y],H=I+g[z],N=I-g[E],W=f?-S[F]/2:0,$=b===Ea?w[F]:S[F],M=b===Ea?-S[F]:-w[F],D=e.elements.arrow,L=f&&D?ba(D):{width:0,height:0},j=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},R=j[z],O=j[E],V=vl(0,w[F],L[F]),Y=A?w[F]/2-W-V-R-_.mainAxis:$-V-R-_.mainAxis,U=A?-w[F]/2+W+V+O+_.mainAxis:M+V+O+_.mainAxis,X=e.elements.arrow&&Sa(e.elements.arrow),G=X?"y"===y?X.clientTop||0:X.clientLeft||0:0,Z=null!=(T=null==B?void 0:B[y])?T:0,q=I+U-Z,Q=vl(f?aa(H,I+Y-Z-G):H,I,f?ia(N,q):N);x[y]=Q,P[y]=Q-I}if(l){var J,K="x"===y?ka:Pa,nn="x"===y?_a:Ba,en=x[C],tn="y"===C?"height":"width",on=en+g[K],rn=en-g[nn],an=-1!==[ka,Pa].indexOf(m),ln=null!=(J=null==B?void 0:B[C])?J:0,sn=an?on:en-w[tn]-S[tn]-ln+_.altAxis,dn=an?en+w[tn]+S[tn]-ln-_.altAxis:rn,un=f&&an?function(n,e,t){var o=vl(n,e,t);return o>t?t:o}(sn,en,dn):vl(f?sn:on,en,f?dn:rn);x[C]=un,P[C]=un-en}e.modifiersData[o]=P}},requiresIfExists:["offset"]};function ml(n,e,t,o,r,i={}){let a=Do();if(Yn(["mode","mmkey",o,"triggerWidth","placement","placementDistX","placementDistY","transitionTime","isolated","editable","contentStyle"],e=>{if(!Ki(n,e))throw new Error(`invalid vo.${e}`)}),!Lo(e))throw new Error("funGetDivTrigger is not a function");if(!Lo(t))throw new Error("funGetDivContent is not a function");let l=an(i,"funAddTrigger"),s=an(i,"funCheckTrigger"),d=an(i,"funRemoveTrigger"),u=an(i,"modeHide",null);"click"!==u&&"mousedown"!==u&&(u="click");let c={mouseClientX:0,mouseClientY:0,cursorTriggerInner:!1,clickContentInner:!1,popperShow:!1,popperInstance:null,removeTriggerTimer:null},p=()=>!Lo(s)||s(n.mode,n.mmkey),f=o=>{let r=e();if(!Wr(r))return;n.$nextTick(()=>{n.triggerWidth=r.offsetWidth});let i=t();if(!Wr(i))return;null!==c.removeTriggerTimer&&(clearTimeout(c.removeTriggerTimer),c.removeTriggerTimer=null),Lo(l)&&l(n.mode,n.mmkey);let a={strategy:"fixed",placement:n.placement,modifiers:[gl,tl,{name:"computeStyles",options:{gpuAcceleration:!1}},ul,{name:"flip",options:{}},cl,{name:"offset",options:{offset:[n.placementDistX,n.placementDistY]}},hl]};c.popperInstance=rl(r,i,a)},h=e=>{c.popperInstance&&(c.popperInstance.destroy(),c.popperInstance=null),c.removeTriggerTimer=setTimeout(()=>{c.removeTriggerTimer=null,Lo(d)&&d(n.mode,n.mmkey)},20)},v=e=>{n.$nextTick(()=>{let e=n.editable&&n[o];if(e&&!c.popperShow){let e=-15;n.contentStyle=`opacity:0; pointer-events:none; transform:translateY(${e}px);`,f(),c.popperShow=!0,n.$emit("show"),a.emit("show"),setTimeout(()=>{n.contentStyle=`transition:all ${n.transitionTime}ms ease-out; opacity:1; pointer-events:none;`},1),setTimeout(()=>{n.contentStyle=""},n.transitionTime)}else!e&&c.popperShow&&(h(),c.popperShow=!1,n.$emit("hide"),a.emit("hide"))})},g=(e,t)=>{n.editable&&(n[o]=e,v())},m=(e,t)=>{n.editable&&(n.isolated&&g(e),n.$nextTick(()=>{n.$emit(r,e),a.emit(r,e)}))},b=(e,t)=>{n.editable&&(n[o]||n.mode===e&&m(!0))},A=(e,t)=>{n.editable&&n[o]&&n.mode===e&&m(!1)};return a.mounted=()=>{c.windowMousemove=n=>{c.mouseClientX=n.clientX,c.mouseClientY=n.clientY},window.addEventListener("mousemove",c.windowMousemove,!1),c.windowMousedown=r=>{let i=e();Wr(i)?c.cursorTriggerInner=na(r.clientX,r.clientY,i):c.cursorTriggerInner=!1;let a=t();if(n[o]&&a?c.clickContentInner=na(r.clientX,r.clientY,a):c.clickContentInner=!1,"mousedown"===u){if(!p())return;!n[o]||c.cursorTriggerInner||c.clickContentInner||n.evHide("popup","windowMousedown")}},window.addEventListener("mousedown",c.windowMousedown,!1),c.windowMouseup=e=>{p()&&(!n[o]||c.cursorTriggerInner||c.clickContentInner?(c.cursorTriggerInner=!1,c.clickContentInner=!1):n.evHide("popup","windowMouseup"))},window.addEventListener("mouseup",c.windowMouseup,!1),c.windowScroll=t=>{if("tooltip"!==n.mode)return;let r=e();Wr(r)&&(c.cursorTriggerInner=!!r&&na(c.mouseClientX,c.mouseClientY,r),c.cursorTriggerInner?n[o]||b("tooltip"):n[o]&&A("tooltip"))},window.addEventListener("scroll",c.windowScroll,!1)},a.destroy=()=>{window.removeEventListener("mousemove",c.windowMousemove,!1),window.removeEventListener("mousedown",c.windowMousedown,!1),window.removeEventListener("mouseup",c.windowMouseup,!1),window.removeEventListener("scroll",c.windowMouseup,!1),m(!1)},a.showPopper=f,a.hidePopper=h,a.updatePopper=(e,t)=>{c.popperInstance&&c.popperInstance.update(),n.$emit("resize",e),a.emit("resize",e)},a.displayPopper=v,a.updateValue=g,a.triggerEvent=m,a.evShow=b,a.evHide=A,a}let bl={tooltip:[],popup:[]};function Al(n,e){bl[n].push(e)}function yl(n,e){return t=bl[n],((o=null==t?0:t.length)?t[o-1]:void 0)===e;var t,o}function Cl(n,e){Zi(bl[n],e)}const xl={directives:{domresize:Vo()},components:{Teleport:Ji},props:{mode:{type:String,default:"tooltip"},value:{type:Boolean,default:!1},displayType:{type:String,default:"block"},cmpZIndex:{type:Number,default:3e3},isolated:{type:Boolean,default:!1},minWidth:{type:Number,default:null},maxWidth:{type:Number,default:null},autoFitMinWidth:{type:Boolean,default:!1},autoFitMaxWidth:{type:Boolean,default:!1},placement:{type:String,default:"bottom"},placementDistX:{type:Number,default:0},placementDistY:{type:Number,default:5},borderRadius:{type:Number,default:4},textFontSize:{type:String,default:"0.85rem"},textColor:{type:String,default:"white"},backgroundColor:{type:String,default:"rgba(60,60,60,0.75)"},paddingStyle:{type:Object,default:()=>({v:2,h:10})},modeHide:{type:String,default:"click"},shadow:{type:Boolean,default:!0},shadowStyle:{type:String,default:"0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12)"},transitionTime:{type:Number,default:200},editable:{type:Boolean,default:!0}},data:function(){return{mmkey:Oo(),valueTrans:!1,triggerWidth:null,contentStyle:"",bp:null}},mounted:function(){let n=this;n.bp=new ml(n,n.funGetDivTrigger,n.funGetDivContent,"valueTrans","input",{funAddTrigger:Al,funCheckTrigger:yl,funRemoveTrigger:Cl,modeHide:n.modeHide}),n.bp.mounted()},beforeDestroy:function(){this.bp.destroy()},computed:{changeValue:function(){let n=this,e=n.value;return n.isolated||n.updateValue(e,"changeValue"),""},useDisplayType:function(){return"line"===this.displayType?"display:block;":"display:inline-block;"},useMinWidth:function(){let n=this;return jr(n.minWidth)?`min-width:${n.minWidth}px;`:n.autoFitMinWidth?`min-width:${n.triggerWidth}px;`:""},useMaxWidth:function(){let n=this;return jr(n.maxWidth)?`max-width:${n.maxWidth}px;`:n.autoFitMaxWidth?`max-width:${n.triggerWidth}px;`:""},useBorderRadius:function(){let n=this;return jr(n.borderRadius)?`border-radius:${n.borderRadius}px;`:""},useTextFontSize:function(){let n=this.textFontSize;return n=Pr(n,";",""),`font-size:${n};`},useTextColor:function(){return Br(this.textColor)},useBackgroundColor:function(){return Br(this.backgroundColor)},usePadding:function(){return`padding:${Rr(this.paddingStyle)};`},useShadow:function(){if(!this.shadow)return"";let n=Pr(this.shadowStyle,";","");return""!==n?`box-shadow:${n};`:""}},methods:{funGetDivTrigger:function(){return an(this,"$refs.divTrigger",null)},funGetDivContent:function(){return an(this,"$refs.divContent",null)},evShow:function(n,e){let t=this;Lo(an(t,"bp.evShow"))&&t.bp.evShow(n,e)},evHide:function(n,e){let t=this;Lo(an(t,"bp.evHide"))&&t.bp.evHide(n,e)},updatePopper:function(n,e){let t=this;Lo(an(t,"bp.updatePopper"))&&t.bp.updatePopper(n,e)},updateValue:function(n,e){let t=this;Lo(an(t,"bp.updateValue"))&&t.bp.updateValue(n,e)}}};var wl=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{style:""+n.useDisplayType,attrs:{changeValue:n.changeValue}},[t("div",{ref:"divTrigger",staticStyle:{outline:"none"},attrs:{tabindex:"0"},on:{click:function(e){return n.evShow("popup","click")},mouseenter:function(e){return n.evShow("tooltip","mouseenter")},mouseleave:function(e){return n.evHide("tooltip","mouseleave")}}},[n._t("trigger")],2),n._v(" "),t("Teleport",{attrs:{to:"body"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:n.valueTrans,expression:"valueTrans"},{name:"domresize",rawName:"v-domresize"}],ref:"divContent",staticClass:"WPopperFix",style:"z-index:"+n.cmpZIndex+";",on:{domresize:n.updatePopper}},[n.valueTrans?t("div",{style:n.contentStyle+" "+n.usePadding+" "+n.useTextFontSize+" color:"+n.useTextColor+"; background:"+n.useBackgroundColor+"; "+n.useMinWidth+" "+n.useMaxWidth+" "+n.useBorderRadius+" "+n.useShadow},[n._t("content",null,{funHide:function(){n.updateValue(!1,"slot")}})],2):n._e()])])],1)};wl._withStripped=!0;const Sl=Ur({render:wl,staticRenderFns:[]},function(n){n&&n("data-v-50dbb847_0",{source:"\n.WPopperFix[data-popper-reference-hidden][data-v-50dbb847] {\r\n visibility: hidden;\r\n pointer-events: none;\n}\r\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\node_modules\\w-component-vue\\src\\components\\WTooltip.vue"],names:[],mappings:";AA4aA;IACA,kBAAA;IACA,oBAAA;AACA",file:"WTooltip.vue",sourcesContent:["<template>\r\n <div\r\n :style=\"`${useDisplayType}`\"\r\n :changeValue=\"changeValue\"\r\n >\r\n\r\n <div\r\n ref=\"divTrigger\"\r\n style=\"outline:none;\"\r\n tabindex=\"0\"\r\n @click=\"evShow('popup','click')\"\r\n @mouseenter=\"evShow('tooltip','mouseenter')\"\r\n @mouseleave=\"evHide('tooltip','mouseleave')\"\r\n >\r\n\r\n <slot name=\"trigger\"></slot>\r\n\r\n </div>\r\n\r\n \x3c!-- 不能給予position因會被popupjs洗掉, 但可給z-index, 且popupjs會改用transform:translate定位 --\x3e\r\n \x3c!-- 若使用minWidth, 會使popupjs重算給予minWidth用以自動撐開彈窗寬度失效, 若於其內slot外添加div給予minWidth, 亦會使popupjs給予minWidth機制失效, 待研究 --\x3e\r\n <Teleport to=\"body\">\r\n <div\r\n ref=\"divContent\"\r\n class=\"WPopperFix\"\r\n :style=\"`z-index:${cmpZIndex};`\"\r\n v-show=\"valueTrans\"\r\n v-domresize\r\n @domresize=\"updatePopper\"\r\n >\r\n <div\r\n :style=\"`${contentStyle} ${usePadding} ${useTextFontSize} color:${useTextColor}; background:${useBackgroundColor}; ${useMinWidth} ${useMaxWidth} ${useBorderRadius} ${useShadow}`\"\r\n v-if=\"valueTrans\"\r\n >\r\n <slot\r\n name=\"content\"\r\n :funHide=\"()=>{updateValue(false,'slot')}\"\r\n ></slot>\r\n </div>\r\n </div>\r\n </Teleport>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport get from 'lodash-es/get.js'\r\nimport last from 'lodash-es/last.js'\r\nimport pull from 'lodash-es/pull.js'\r\nimport isNumber from 'lodash-es/isNumber.js'\r\nimport genID from 'wsemi/src/genID.mjs'\r\nimport replace from 'wsemi/src/replace.mjs'\r\nimport isfun from 'wsemi/src/isfun.mjs'\r\nimport Teleport from './Teleport.vue'\r\nimport convertColor from '../js/convertColor.mjs'\r\nimport parseSpace from '../js/parseSpace.mjs'\r\nimport domResize from '../js/domResize.mjs'\r\nimport BuildPopper from '../js/buildPopper.mjs'\r\n\r\n\r\n//tootip與popup不共用已出現項目清單, 避免互相影響\r\nlet kpRespList = {\r\n tooltip: [],\r\n popup: [],\r\n}\r\nfunction funAddTrigger(mode, mmkey) {\r\n kpRespList[mode].push(mmkey)\r\n}\r\nfunction funCheckTrigger(mode, mmkey) {\r\n return last(kpRespList[mode]) === mmkey\r\n}\r\nfunction funRemoveTrigger(mode, mmkey) {\r\n pull(kpRespList[mode], mmkey)\r\n}\r\n\r\n\r\n/**\r\n * @vue-prop {String} [mode='tooltip'] 輸入組件模式字串,可選'tooltip'與'popup',預設'tooltip'\r\n * @vue-prop {Boolean} [value=false] 輸入是否顯示布林值,預設false\r\n * @vue-prop {String} [displayType='block'] 輸入display設定字串,可選'block'與'line',預設'block'\r\n * @vue-prop {Number} [cmpZIndex=3000] 輸入提示窗或彈窗使用z-index數字,預設3000\r\n * @vue-prop {Boolean} [isolated=false] 輸入提示窗或彈窗當mode為'popup'時是否為獨立顯引狀態布林值,也就是可不接收外部傳入value值,預設false\r\n * @vue-prop {Number} [minWidth=null] 輸入提示窗或彈窗最小寬度數字,單位為px,預設null\r\n * @vue-prop {Number} [maxWidth=null] 輸入提示窗或彈窗最大寬度數字,單位為px,預設null\r\n * @vue-prop {Boolean} [autoFitMinWidth=false] 輸入是否使用驅動區寬度作為提示窗或彈窗之最小寬度布林值,預設false\r\n * @vue-prop {Boolean} [autoFitMaxWidth=false] 輸入是否使用驅動區寬度作為提示窗或彈窗之最大寬度布林值,預設false\r\n * @vue-prop {String} [placement='bottom'] 輸入提示窗或彈窗出現位置字串,可選'top-start'、'top'、'top-end'、'bottom-start'、'bottom'、'bottom-end'、'left-start'、'left'、'left-end'、'right-start'、'right'、'right-end'、,預設'bottom'\r\n * @vue-prop {Number} [placementDistX=0] 輸入提示窗或彈窗距離觸發元素之水平向右平移數字,單位為px,預設0\r\n * @vue-prop {Number} [placementDistY=5] 輸入提示窗或彈窗距離觸發元素之垂直向下平移數字,單位為px,預設5\r\n * @vue-prop {Number} [borderRadius=4] 輸入提示窗或彈窗框圓角度數字,單位為px,預設4\r\n * @vue-prop {String} [textFontSize='0.85rem'] 輸入提示窗或彈窗文字字型大小字串,預設'0.85rem'\r\n * @vue-prop {String} [textColor='white'] 輸入提示窗或彈窗文字顏色字串,預設'white'\r\n * @vue-prop {String} [backgroundColor='rgba(60,60,60,0.75)'] 輸入提示窗或彈窗背景顏色字串,預設'rgba(60,60,60,0.75)'\r\n * @vue-prop {Object} [paddingStyle={v:2,h:10}] 輸入提示窗或彈窗內寬距離設定物件,可用鍵值為v、h、left、right、top、bottom,v代表同時設定top與bottom,h代表設定left與right,若有重複設定時後面鍵值會覆蓋前面,各鍵值為寬度數字,單位為px,預設{v:2,h:10}\r\n * @vue-prop {String} [modeHide='click'] 輸入點擊外部關閉模式字串,可選'click'與'mousedown','click'為mouseup時才關閉,'mousedown'為mousedown時關閉,預設'click'\r\n * @vue-prop {Boolean} [shadow=true] 輸入提示窗或彈窗是否顯示陰影布林值,預設true\r\n * @vue-prop {String} [shadowStyle=''] 輸入提示窗或彈窗陰影顏色字串,預設值詳見props\r\n * @vue-prop {Number} [transitionTime=200] 輸入提示窗或彈窗淡入出現時間數字,單位為ms,預設200\r\n * @vue-prop {Boolean} [editable=true] 輸入是否為編輯模式布林值,預設true\r\n */\r\nexport default {\r\n directives: {\r\n domresize: domResize(),\r\n },\r\n components: {\r\n Teleport,\r\n },\r\n props: {\r\n mode: {\r\n type: String,\r\n default: 'tooltip', //tooltip, popup\r\n },\r\n value: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n displayType: {\r\n type: String,\r\n default: 'block', //line, block\r\n },\r\n cmpZIndex: {\r\n type: Number,\r\n default: 3000,\r\n },\r\n isolated: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n minWidth: {\r\n type: Number,\r\n default: null,\r\n },\r\n maxWidth: {\r\n type: Number,\r\n default: null,\r\n },\r\n autoFitMinWidth: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n autoFitMaxWidth: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n placement: {\r\n type: String,\r\n default: 'bottom',\r\n },\r\n placementDistX: {\r\n type: Number,\r\n default: 0,\r\n },\r\n placementDistY: {\r\n type: Number,\r\n default: 5,\r\n },\r\n borderRadius: {\r\n type: Number,\r\n default: 4,\r\n },\r\n textFontSize: {\r\n type: String,\r\n default: '0.85rem',\r\n },\r\n textColor: {\r\n type: String,\r\n default: 'white',\r\n },\r\n backgroundColor: {\r\n type: String,\r\n default: 'rgba(60,60,60,0.75)',\r\n },\r\n paddingStyle: {\r\n type: Object,\r\n default: () => {\r\n return {\r\n v: 2,\r\n h: 10,\r\n }\r\n },\r\n },\r\n modeHide: {\r\n type: String,\r\n default: 'click',\r\n },\r\n shadow: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n shadowStyle: {\r\n type: String,\r\n default: '0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12)',\r\n },\r\n transitionTime: {\r\n type: Number,\r\n default: 200,\r\n },\r\n editable: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n },\r\n data: function() {\r\n return {\r\n\r\n mmkey: genID(), //beforeMount內無法變更data, mounted內會晚於computed, 故優先放於data生成\r\n // mmkey: (() => {\r\n // let id = genID()\r\n // console.log('data gen mmkey', id)\r\n // return id\r\n // })(),\r\n\r\n valueTrans: false,\r\n\r\n triggerWidth: null, //會由BuildPopper內更新\r\n contentStyle: '',\r\n\r\n bp: null,\r\n\r\n }\r\n },\r\n mounted: function() {\r\n //console.log('mounted')\r\n\r\n let vo = this\r\n\r\n //BuildPopper\r\n let keyShow = 'valueTrans'\r\n let evNameValue = 'input'\r\n vo.bp = new BuildPopper(vo,\r\n vo.funGetDivTrigger,\r\n vo.funGetDivContent,\r\n keyShow,\r\n evNameValue,\r\n {\r\n funAddTrigger,\r\n funCheckTrigger,\r\n funRemoveTrigger,\r\n modeHide: vo.modeHide,\r\n })\r\n\r\n //mounted\r\n vo.bp.mounted()\r\n\r\n },\r\n beforeDestroy: function() {\r\n //console.log('beforeDestroy')\r\n\r\n let vo = this\r\n\r\n //destroy\r\n vo.bp.destroy()\r\n\r\n },\r\n computed: {\r\n\r\n changeValue: function () {\r\n //console.log('computed changeValue')\r\n\r\n let vo = this\r\n\r\n //trigger\r\n let value = vo.value\r\n let isolated = vo.isolated\r\n\r\n //updateValue\r\n if (!isolated) {\r\n vo.updateValue(value, 'changeValue')\r\n }\r\n\r\n return ''\r\n },\r\n\r\n useDisplayType: function() {\r\n let vo = this\r\n if (vo.displayType === 'line') {\r\n return 'display:block;'\r\n }\r\n return 'display:inline-block;'\r\n },\r\n\r\n useMinWidth: function() {\r\n //console.log('computed useMinWidth')\r\n\r\n let vo = this\r\n\r\n if (isNumber(vo.minWidth)) {\r\n return `min-width:${vo.minWidth}px;`\r\n }\r\n else if (vo.autoFitMinWidth) {\r\n return `min-width:${vo.triggerWidth}px;`\r\n }\r\n return ''\r\n },\r\n\r\n useMaxWidth: function() {\r\n //console.log('computed useMaxWidth')\r\n\r\n let vo = this\r\n\r\n if (isNumber(vo.maxWidth)) {\r\n return `max-width:${vo.maxWidth}px;`\r\n }\r\n else if (vo.autoFitMaxWidth) {\r\n return `max-width:${vo.triggerWidth}px;`\r\n }\r\n return ''\r\n },\r\n\r\n useBorderRadius: function() {\r\n //console.log('computed useBorderRadius')\r\n\r\n let vo = this\r\n\r\n if (isNumber(vo.borderRadius)) {\r\n return `border-radius:${vo.borderRadius}px;`\r\n }\r\n return ''\r\n },\r\n\r\n useTextFontSize: function() {\r\n let vo = this\r\n let s = vo.textFontSize\r\n s = replace(s, ';', '')\r\n return `font-size:${s};`\r\n },\r\n\r\n useTextColor: function() {\r\n //console.log('computed useTextColor')\r\n\r\n let vo = this\r\n\r\n return convertColor(vo.textColor)\r\n },\r\n\r\n useBackgroundColor: function() {\r\n //console.log('computed useBackgroundColor')\r\n\r\n let vo = this\r\n\r\n return convertColor(vo.backgroundColor)\r\n },\r\n\r\n usePadding: function() {\r\n //console.log('computed usePadding')\r\n\r\n let vo = this\r\n\r\n //parseSpace\r\n let cs = parseSpace(vo.paddingStyle)\r\n\r\n //padding\r\n let padding = `padding:${cs};`\r\n\r\n return padding\r\n },\r\n\r\n useShadow: function() {\r\n //console.log('computed useShadow')\r\n\r\n let vo = this\r\n\r\n //check\r\n if (!vo.shadow) {\r\n return ''\r\n }\r\n\r\n //shadowStyle\r\n let s = replace(vo.shadowStyle, ';', '')\r\n if (s !== '') {\r\n return `box-shadow:${s};`\r\n }\r\n\r\n return ''\r\n },\r\n\r\n },\r\n methods: {\r\n\r\n funGetDivTrigger: function() {\r\n let vo = this\r\n let divTrigger = get(vo, '$refs.divTrigger', null)\r\n return divTrigger\r\n },\r\n\r\n funGetDivContent: function() {\r\n let vo = this\r\n let divContent = get(vo, '$refs.divContent', null)\r\n return divContent\r\n },\r\n\r\n evShow: function(kind, from) {\r\n let vo = this\r\n let f = get(vo, 'bp.evShow')\r\n if (isfun(f)) {\r\n vo.bp.evShow(kind, from)\r\n }\r\n },\r\n\r\n evHide: function(kind, from) {\r\n let vo = this\r\n let f = get(vo, 'bp.evHide')\r\n if (isfun(f)) {\r\n vo.bp.evHide(kind, from)\r\n }\r\n },\r\n\r\n updatePopper: function(msg, from) {\r\n let vo = this\r\n let f = get(vo, 'bp.updatePopper')\r\n if (isfun(f)) {\r\n vo.bp.updatePopper(msg, from)\r\n }\r\n },\r\n\r\n updateValue: function(value, from) {\r\n let vo = this\r\n let f = get(vo, 'bp.updateValue')\r\n if (isfun(f)) {\r\n vo.bp.updateValue(value, from)\r\n }\r\n },\r\n\r\n },\r\n}\r\n<\/script>\r\n\r\n<style scoped>\r\n.WPopperFix[data-popper-reference-hidden] {\r\n visibility: hidden;\r\n pointer-events: none;\r\n}\r\n</style>\r\n\r\n"]},media:void 0})},xl,"data-v-50dbb847",false,void 0,!1,Gr,void 0,void 0);const kl={components:{WTooltip:Sl},props:{value:{type:Boolean,default:!1},displayType:{type:String,default:"block"},cmpZIndex:{type:Number,default:3e3},isolated:{type:Boolean,default:!1},minWidth:{type:Number,default:null},maxWidth:{type:Number,default:null},autoFitMinWidth:{type:Boolean,default:!1},autoFitMaxWidth:{type:Boolean,default:!1},placement:{type:String,default:"bottom-start"},placementDistX:{type:Number,default:0},placementDistY:{type:Number,default:5},borderRadius:{type:Number,default:4},textFontSize:{type:String,default:"inherit"},textColor:{type:String,default:"black"},backgroundColor:{type:String,default:"white"},paddingStyle:{type:Object,default:()=>({v:0,h:0})},modeHide:{type:String,default:"click"},shadow:{type:Boolean,default:!0},shadowStyle:{type:String,default:"0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12)"},transitionTime:{type:Number,default:200},editable:{type:Boolean,default:!0}},data:function(){return{}},mounted:function(){},computed:{},methods:{}};var _l=function(){var n=this,e=n.$createElement;return(n._self._c||e)("WTooltip",n._g(n._b({scopedSlots:n._u([{key:"trigger",fn:function(){return[n._t("trigger")]},proxy:!0},{key:"content",fn:function(e){return[n._t("content",null,{funHide:e.funHide})]}}],null,!0)},"WTooltip",Object.assign({},n.$props,{mode:"popup"}),!1),n.$listeners))};_l._withStripped=!0;const Bl=Ur({render:_l,staticRenderFns:[]},function(n){n&&n("data-v-231b5c98_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WPopup.vue"},media:void 0})},kl,"data-v-231b5c98",false,void 0,!1,Gr,void 0,void 0);function Pl(n,e,t){if((n=en(n))&&(t||void 0===e))return mo(n);if(!n||!(e=nn(e)))return n;var o=ue(n),r=ue(e),i=function(n,e){for(var t=-1,o=n.length;++t<o&&Ui(e,n[t],0)>-1;);return t}(o,r),a=function(n,e){for(var t=n.length;t--&&Ui(e,n[t],0)>-1;);return t}(o,r)+1;return Un(o,i,a).join("")}var Tl=r?r.isConcatSpreadable:void 0;function zl(e){return n(e)||gn(e)||!!(Tl&&e&&e[Tl])}function El(n,e,t,o,r){var i=-1,a=n.length;for(t||(t=zl),r||(r=[]);++i<a;){var l=n[i];e>0&&t(l)?e>1?El(l,e-1,t,o,r):xe(r,l):o||(r[r.length]=l)}return r}function Fl(n,e){if(n!==e){var t=void 0!==n,o=null===n,r=n==n,i=f(n),a=void 0!==e,l=null===e,s=e==e,d=f(e);if(!l&&!d&&!i&&n>e||i&&a&&s&&!l&&!d||o&&a&&s||!t&&s||!r)return 1;if(!o&&!i&&!d&&n<e||d&&t&&r&&!o&&!i||l&&t&&r||!a&&r||!s)return-1}return 0}function Il(e,t,o){t=t.length?Q(t,function(e){return n(e)?function(n){return rn(n,1===e.length?e[0]:e)}:e}):[Vn];var r=-1;return t=Q(t,kn(at)),function(n,e){var t=n.length;for(n.sort(e);t--;)n[t]=n[t].value;return n}(lt(e,function(n,e,o){return{criteria:Q(t,function(e){return e(n)}),index:++r,value:n}}),function(n,e){return function(n,e,t){for(var o=-1,r=n.criteria,i=e.criteria,a=r.length,l=t.length;++o<a;){var s=Fl(r[o],i[o]);if(s)return o>=l?s:s*("desc"==t[o]?-1:1)}return n.index-e.index}(n,e,o)})}var Hl=Vi(function(n,e){if(null==n)return[];var t=e.length;return t>1&&Zn(n,e[0],e[1])?e=[]:t>2&&Zn(e[0],e[1],e[2])&&(e=[e[0]]),Il(n,El(e,1),[])});function Nl(n){return en(n).toLowerCase()}function Wl(n){return en(n).toUpperCase()}function $l(n){if(!To(n))return!1;return Ho(n)>=0}function Ml(n,e){return ft(n)&&$l(e)?0===(e=Ho(e))?"":n.substring(0,e):""}function Dl(n,e){return ft(n)&&$l(e)?0===(e=Ho(e))?n:function(n,e){if(!ft(n))return"";if(!$l(e))return"";if(0===(e=Ho(e)))return"";let t=n.length-e;return t<0&&(t=0),n.substring(t,t+e)}(n,n.length-e):""}function Ll(n,e){if(!ft(n))return[];if(!ft(e))return[];let t=function(n,e){return ft(n)&&ft(e)?n.split(e):[]}(n,e);t=st(t,Pl);let o=[];return Yn(t,function(n){ft(n)&&o.push(n)}),o}function jl(n){if(!ft(n)&&!Bo(n)&&!f(n))return"";let e="";try{e=String(n)}catch(n){}try{e=n.toString()}catch(n){}return e}function Rl(n,e,t=1){return ft(n)&&$l(e)?(t=No(t)?Ho(t):1,n.substring(e,e+t)):""}let Ol={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function Vl(n){return Ul(n,1)}function Yl(n){return Ul(n,360)}function Ul(n,e=1){if(n.indexOf("%")>=0){if(!Bo(n=Pr(n,"%","")))throw new Error("invalid color: value is not a number");n=Po(n)/100}else{if(!Bo(n))throw new Error("invalid color: value is not a number");n=Po(n)/e}if(n>1)throw new Error("invalid color: value > 1");if(n<0)throw new Error("invalid color: value < 0");return n}function Xl(n){if(!Bo(n))throw new Error("invalid color: value is not a number");if((n=Po(n))>1)throw new Error("invalid color: value > 1");if(n<0)throw new Error("invalid color: value < 0");return n}function Gl(n,e="rgba"){if(!Or(n))throw new Error("invalid colors array");let t=an(n,0,0),o=an(n,1,0),r=an(n,2,0),i=an(n,3,1);if(4!==Tt(e=e.split("")))throw new Error("tar.length !== 4");let a=an(e,0),l=an(e,1),s=an(e,2),d=an(e,3);return{[a]:t,[l]:o,[s]:r,[d]:i}}function Zl(n){let e=(n=Dl(n,1)).length;if(2===e)n=`${n}${n}${n}ff`;else if(3===e){let e=Rl(n,0,1),t=Rl(n,1,1),o=Rl(n,2,1);n=`${e}${e}${t}${t}${o}${o}ff`}else if(6===e)n=`${n}ff`;else if(8!==e)throw new Error("invalid hex color");function t(n){if(2!==n.length)throw new Error("hex.length of color is not equal to 2");if(!Bo(n=parseInt(n,16)))throw new Error("invalid hex of color");return(n=Po(n))/255}return{r:t(Rl(n,0,2)),g:t(Rl(n,2,2)),b:t(Rl(n,4,2)),a:t(Rl(n,6,2))}}function ql(n){return n=Gl(n=st(n,(n,e)=>e<=2?Ul(n,255):3===e?Xl(n):null),"rgba")}function Ql(n){return n=is(n=Gl(n=st(n,(n,e)=>0===e?Yl(n):1===e||2===e?Vl(n):3===e?Xl(n):null),"hsla"))}function Jl(n){return n=as(n=Gl(n=st(n,(n,e)=>0===e?Yl(n):1===e||2===e?Vl(n):3===e?Xl(n):null),"hsva"))}function Kl(n){if("transparent"===n)return{r:0,g:0,b:0,a:0};if(function(n){return Ki(Ol,n)}(n))return Zl(n=`#${Ol[n]}`);if(function(n){return"#"===Ml(n,1)&&(!!/[0-9A-Fa-f]{2}/g.test(n)||(!!/[0-9A-Fa-f]{3}/g.test(n)||(!!/[0-9A-Fa-f]{6}/g.test(n)||!!/[0-9A-Fa-f]{8}/g.test(n))))}(n))return Zl(n);if(function(n){return"rgb"===Ml(n,3)||"rgba"===Ml(n,4)}(n))return function(n){return n=Pr(n,"rgba",""),n=Pr(n,"rgb",""),ql(Ll(n=Pr(n=n.replace(/[()]/g,""),","," ")," "))}(n);if(function(n){return"hsl"===Ml(n,3)||"hsla"===Ml(n,4)}(n))return function(n){return n=Pr(n,"hsla",""),n=Pr(n,"hsl",""),Ql(Ll(n=Pr(n=n.replace(/[()]/g,""),","," ")," "))}(n);if(function(n){return"hsv"===Ml(n,3)||"hsva"===Ml(n,4)}(n))return function(n){return n=Pr(n,"hsva",""),n=Pr(n,"hsv",""),Jl(Ll(n=Pr(n=n.replace(/[()]/g,""),","," ")," "))}(n);throw new Error("format of color string is not hex-color, name-color, rgba, hsla, hsva")}function ns(n,e){return!!Ki(n,e=Nl(e))||!!Ki(n,e=Wl(e))}function es(n,e,t){let o;return o=an(n,e,null),null!==o?o:(o=an(n,e=Wl(e),null),null!==o?o:t)}function ts(n){if(function(n){let e=ns(n,"r"),t=ns(n,"g"),o=ns(n,"b");return e&&t&&o}(n))return function(n){let e=[es(n,"r",null),es(n,"g",null),es(n,"b",null),es(n,"a",1)];return e=st(e,jl),ql(e)}(n);if(function(n){let e=ns(n,"h"),t=ns(n,"s"),o=ns(n,"l");return e&&t&&o}(n))return function(n){let e=[es(n,"h",null),es(n,"s",null),es(n,"l",null),es(n,"a",1)];return e=st(e,jl),Ql(e)}(n);if(function(n){let e=ns(n,"h"),t=ns(n,"s"),o=ns(n,"v");return e&&t&&o}(n))return function(n){let e=[es(n,"h",null),es(n,"s",null),es(n,"v",null),es(n,"a",1)];return e=st(e,jl),Jl(e)}(n);throw new Error("color object is not one of rgba, hsla, hsva")}function os(n){let e,t,o=n.r,r=n.g,i=n.b,a=Math.max(o,r,i),l=Math.min(o,r,i),s=(a+l)/2;if(a===l)e=t=0;else{let n=a-l;switch(t=s>.5?n/(2-a-l):n/(a+l),a){case o:e=(r-i)/n+(r<i?6:0);break;case r:e=(i-o)/n+2;break;case i:e=(o-r)/n+4}e/=6}return{h:e,s:t,l:s,a:n.a}}function rs(n){let e,t,o=n.r,r=n.g,i=n.b,a=Math.max(o,r,i),l=Math.min(o,r,i),s=a,d=a-l;if(t=0===a?0:d/a,a===l)e=0;else{switch(a){case o:e=(r-i)/d+(r<i?6:0);break;case r:e=(i-o)/d+2;break;case i:e=(o-r)/d+4}e/=6}return{h:e,s:t,v:s,a:n.a}}function is(n){let e,t,o,r=n.h,i=n.s,a=n.l;function l(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+6*(e-n)*t:t<.5?e:t<2/3?n+(e-n)*(2/3-t)*6:n}if(0===i)e=t=o=a;else{let n=a<.5?a*(1+i):a+i-a*i,s=2*a-n;e=l(s,n,r+1/3),t=l(s,n,r),o=l(s,n,r-1/3)}return{r:e,g:t,b:o,a:n.a}}function as(n){let e,t,o,r=n.h,i=n.s,a=n.v,l=Math.floor(6*r),s=6*r-l,d=a*(1-i),u=a*(1-s*i),c=a*(1-(1-s)*i);switch(l%6){case 0:e=a,t=c,o=d;break;case 1:e=u,t=a,o=d;break;case 2:e=d,t=a,o=c;break;case 3:e=d,t=u,o=a;break;case 4:e=c,t=d,o=a;break;case 5:e=a,t=d,o=u}return{r:e,g:t,b:o,a:n.a}}function ls(n){let e=Math.round(255*n).toString(16);if(1===e.length)return`0${e}`;if(2===e.length)return e;throw new Error("invalid value")}function ss(n,e=!0){let t=n.r,o=n.g,r=n.b,i=n.a,a=`${ls(t)}${ls(o)}${ls(r)}`;return e&&(a=`${a}${ls(i)}`),a}function ds(n){return Math.min(1,Math.max(0,n))}function us(n,e){if(!ft(e))throw new Error("fmtOutput is not a string");if(!Vs[e])throw console.log(`fmtOutput must be [${jn(Vs)}]`),new Error("invalid fmtOutput");return n=Vs[e](n)}function cs(n,e,t="toRgbString"){if(e<0||e>1)throw new Error("amount < 0 or > 1");let o=os(n);return o.h+=e,o.h=o.h%1,us(is(o),t)}function ps(n,e,t,o,r="toRgbString"){if(e<0||e>1)throw new Error("w1 < 0 or > 1");if(o<0||o>1)throw new Error("w1 < 0 or > 1");return us({r:n.r*e+t.r*o,g:n.g*e+t.g*o,b:n.b*e+t.b*o,a:n.a*e+t.a*o},r)}function fs(n){return`${Io(100*n,1)}%`}function hs(n){return Io(n,0)}function vs(n){return Io(n,3)}function gs(n){return{r:hs(255*n.r),g:hs(255*n.g),b:hs(255*n.b)}}function ms(n){return`rgb(${hs(255*n.r)}, ${hs(255*n.g)}, ${hs(255*n.b)})`}function bs(n){return{r:hs(255*n.r),g:hs(255*n.g),b:hs(255*n.b),a:vs(n.a)}}function As(n){return`rgba(${hs(255*n.r)}, ${hs(255*n.g)}, ${hs(255*n.b)}, ${vs(n.a)})`}function ys(n){let e=os(n);return{h:hs(360*e.h),s:vs(e.s),l:vs(e.l)}}function Cs(n){let e=os(n);return`hsl(${hs(360*e.h)}, ${vs(e.s)}, ${vs(e.l)})`}function xs(n){let e=os(n);return{h:hs(360*e.h),s:vs(e.s),l:vs(e.l),a:vs(e.a)}}function ws(n){let e=os(n);return`hsla(${hs(360*e.h)}, ${vs(e.s)}, ${vs(e.l)}, ${vs(e.a)})`}function Ss(n){let e=rs(n);return{h:hs(360*e.h),s:vs(e.s),v:vs(e.v)}}function ks(n){let e=rs(n);return`hsv(${hs(360*e.h)}, ${vs(e.s)}, ${vs(e.v)})`}function _s(n){let e=rs(n);return{h:hs(360*e.h),s:vs(e.s),v:vs(e.v),a:vs(e.a)}}function Bs(n){let e=rs(n);return`hsva(${hs(360*e.h)}, ${vs(e.s)}, ${vs(e.v)}, ${vs(e.a)})`}function Ps(n){return{r:fs(n.r),g:fs(n.g),b:fs(n.b)}}function Ts(n){return`rgb(${fs(n.r)}, ${fs(n.g)}, ${fs(n.b)})`}function zs(n){return{r:fs(n.r),g:fs(n.g),b:fs(n.b),a:vs(n.a)}}function Es(n){return`rgba(${fs(n.r)}, ${fs(n.g)}, ${fs(n.b)}, ${vs(n.a)})`}function Fs(n){let e=os(n);return{h:hs(360*e.h),s:fs(e.s),l:fs(e.l)}}function Is(n){let e=os(n);return`hsl(${hs(360*e.h)}, ${fs(e.s)}, ${fs(e.l)})`}function Hs(n){let e=os(n);return{h:hs(360*e.h),s:fs(e.s),l:fs(e.l),a:vs(e.a)}}function Ns(n){let e=os(n);return`hsla(${hs(360*e.h)}, ${fs(e.s)}, ${fs(e.l)}, ${vs(e.a)})`}function Ws(n){let e=rs(n);return{h:hs(360*e.h),s:fs(e.s),v:fs(e.v)}}function $s(n){let e=rs(n);return`hsv(${hs(360*e.h)}, ${fs(e.s)}, ${fs(e.v)})`}function Ms(n){let e=rs(n);return{h:hs(360*e.h),s:fs(e.s),v:fs(e.v),a:vs(e.a)}}function Ds(n){let e=rs(n);return`hsva(${hs(360*e.h)}, ${fs(e.s)}, ${fs(e.v)}, ${vs(e.a)})`}function Ls(n){let e=function(n){return ss(n,!1)}(n);return`#${e}`}function js(n){return`#${ss(n)}`}function Rs(n){let e=null,t=null,o=null;if(ft(n))e=Nl(Pl(n));else{if(!Tr(n))throw console.log("color=",n),new Error("color is not a string or an object");t=n}if(null!==e)try{o=Kl(e)}catch(n){throw console.log(n),new Error(`can not parse color: ${e}`)}else if(null!==t)try{o=ts(t)}catch(n){throw console.log(n),new Error(`can not parse color: ${JSON.stringify(t)}`)}return o}function Os(n){if(!Tr(n))return console.log("gradient is not an effective object"),n=>`rgb(${255*(n=Math.min(Math.max(n,0),1))},${255*n},${255*n})`;let e=[];return Yn(n,(n,t)=>{e.push([Po(t),bs(Rs(n)),n])}),e=Hl(e,0),function(n){let t=null;for(let o=1;o<e.length;o++){let r=e[o-1][0],i=e[o-1][1],a=e[o][0],l=e[o][1];if(r<=n&&a>=n){let e=(a-n)/(a-r),o=(n-r)/(a-r);t=ps(Rs(i),e,Rs(l),o,"toRgbaString");break}}return t}}let Vs={toRgb:gs,toRgbString:ms,toRgba:bs,toRgbaString:As,toHsl:ys,toHslString:Cs,toHsla:xs,toHslaString:ws,toHsv:Ss,toHsvString:ks,toHsva:_s,toHsvaString:Bs,toRgbP:Ps,toRgbPString:Ts,toRgbaP:zs,toRgbaPString:Es,toHslP:Fs,toHslPString:Is,toHslaP:Hs,toHslaPString:Ns,toHsvP:Ws,toHsvPString:$s,toHsvaP:Ms,toHsvaPString:Ds,toHexString:Ls,toHex8String:js};var Ys={toRgb:n=>gs(Rs(n)),toRgbString:n=>ms(Rs(n)),toRgba:n=>bs(Rs(n)),toRgbaString:n=>As(Rs(n)),toHsl:n=>ys(Rs(n)),toHslString:n=>Cs(Rs(n)),toHsla:n=>xs(Rs(n)),toHslaString:n=>ws(Rs(n)),toHsv:n=>Ss(Rs(n)),toHsvString:n=>ks(Rs(n)),toHsva:n=>_s(Rs(n)),toHsvaString:n=>Bs(Rs(n)),toRgbP:n=>Ps(Rs(n)),toRgbPString:n=>Ts(Rs(n)),toRgbaP:n=>zs(Rs(n)),toRgbaPString:n=>Es(Rs(n)),toHslP:n=>Fs(Rs(n)),toHslPString:n=>Is(Rs(n)),toHslaP:n=>Hs(Rs(n)),toHslaPString:n=>Ns(Rs(n)),toHsvP:n=>Ws(Rs(n)),toHsvPString:n=>$s(Rs(n)),toHsvaP:n=>Ms(Rs(n)),toHsvaPString:n=>Ds(Rs(n)),toHexString:n=>Ls(Rs(n)),toHex8String:n=>js(Rs(n)),modSaturate:(n,e,t)=>function(n,e,t="toRgbString"){if(e<0||e>1)throw new Error("amount < 0 or > 1");let o=os(n);return o.s+=e,o.s=ds(o.s),us(is(o),t)}(Rs(n),e,t),modGrey:(n,e)=>function(n,e="toRgbString"){let t=os(n);return t.s=0,us(is(t),e)}(Rs(n),e),modLighten:(n,e,t)=>function(n,e,t="toRgbString"){if(e<0||e>1)throw new Error("amount < 0 or > 1");let o=os(n);return o.l+=e,o.l=ds(o.l),us(is(o),t)}(Rs(n),e,t),modBrighten:(n,e,t)=>function(n,e,t="toRgbString"){if(e<0||e>1)throw new Error("amount < 0 or > 1");return n.r+=e,n.r=ds(n.r),n.g+=e,n.g=ds(n.g),n.b+=e,n.b=ds(n.b),us(n,t)}(Rs(n),e,t),modHue:(n,e,t)=>cs(Rs(n),e,t),modComplement:(n,e)=>function(n,e="toRgbString"){return cs(n,.5,e)}(Rs(n),e),spreadHue:(n,e,t)=>function(n,e,t="toRgbString"){if(!To(e))throw new Error("num is not an integer");if((e=Ho(e))<=1)return[n];let o=os(n),r=1/e,i=[];for(let n=0;n<e;n++)i.push(us(is(o),t)),o.h+=r,o.h=o.h%1;return i}(Rs(n),e,t),spreadMonochromatic:(n,e,t)=>function(n,e,t="toRgbString"){if(!To(e))throw new Error("num is not an integer");if((e=Ho(e))<=1)return[n];let o=rs(n);o.s=1,o.l=1;let r=1/e,i=[];for(let n=0;n<e;n++)i.push(us(as(o),t)),o.h-=r,o.l-=r;return i}(Rs(n),e,t),mix:(n,e,t,o,r)=>ps(Rs(n),e,Rs(t),o,r),getBrightness:n=>function(n){if(1!==n.a)throw new Error("alpha of color can not be equal to 1");return(299*n.r+587*n.g+114*n.b)/1e3}(Rs(n)),getLuminance:n=>function(n){if(1!==n.a)throw new Error("alpha of color can not be equal to 1");let e,t,o,r=n.r,i=n.g,a=n.b;return e=r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4),t=i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4),o=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4),.2126*e+.7152*t+.0722*o}(Rs(n)),interp:Os};function Us(n,e,t){for(var o=-1,r=n.length;++o<r;){var i=n[o],a=e(i);if(null!=a&&(void 0===l?a==a&&!f(a):t(a,l)))var l=a,s=i}return s}function Xs(n,e){return n<e}function Gs(n){return n&&n.length?Us(n,Vn,Xs):void 0}function Zs(n,e){return n>e}function qs(n){return n&&n.length?Us(n,Vn,Zs):void 0}var Qs=Array.prototype.join;function Js(n,e){return null==n?"":Qs.call(n,e)}var Ks={components:{},props:{value:{type:String,default:"#FFFFFF"},size:{type:Number,default:200}},data:function(){let n=function(n){let e=n,t=e/2*Math.sqrt(3),o=e/4*3,r=st((()=>{let n=[];for(let t=0;t<6;t++){let o=Math.PI/3*(t+.5),r=.5+.5*Math.cos(o),i=.5+.5*Math.sin(o);r*=e,i*=e,n.push({x:r,y:i})}return n})(),n=>`${n.x},${n.y}`);r=Js(r," ");let i=[];Yn([{dx:6,cs:["#003366","#336699","#3366CC","#003399","#000099","#0000CC","#000066"]},{dx:5,cs:["#006666","#006699","#0099CC","#0066CC","#0033CC","#0000FF","#3333FF","#333399"]},{dx:4,cs:["#669999","#009999","#33CCCC","#00CCFF","#0099FF","#0066FF","#3366FF","#3333CC","#666699"]},{dx:3,cs:["#339966","#00CC99","#00FFCC","#00FFFF","#33CCFF","#3399FF","#6699FF","#6666FF","#6600FF","#6600CC"]},{dx:2,cs:["#339933","#00CC66","#00FF99","#66FFCC","#66FFFF","#66CCFF","#99CCFF","#9999FF","#9966FF","#9933FF","#9900FF"]},{dx:1,cs:["#006600","#00CC00","#00FF00","#66FF99","#99FFCC","#CCFFFF","#CCCCFF","#CC99FF","#CC66FF","#CC33FF","#CC00FF","#9900CC"]},{dx:0,cs:["#003300","#009933","#33CC33","#66FF66","#99FF99","#CCFFCC","#FFFFFF","#FFCCFF","#FF99FF","#FF66FF","#FF00FF","#CC00CC","#660066"]},{dx:1,cs:["#336600","#009900","#66FF33","#99FF66","#CCFF99","#FFFFCC","#FFCCCC","#FF99CC","#FF66CC","#FF33CC","#CC0099","#993399"]},{dx:2,cs:["#333300","#669900","#99FF33","#CCFF66","#FFFF99","#FFCC99","#FF9999","#FF6699","#FF3399","#CC3399","#990099"]},{dx:3,cs:["#666633","#99CC00","#CCFF33","#FFFF66","#FFCC66","#FF9966","#FF6666","#FF0066","#CC6699","#993366"]},{dx:4,cs:["#999966","#CCCC00","#FFFF00","#FFCC00","#FF9933","#FF6600","#FF5050","#CC0066","#660033"]},{dx:5,cs:["#996633","#CC9900","#FF9900","#CC6600","#FF3300","#FF0000","#CC0000","#990033"]},{dx:6,cs:["#663300","#996600","#CC3300","#993300","#990000","#800000","#993333"]}],(n,e)=>{Yn(n.cs,(r,a)=>{let l={x:(t+0)*a+n.dx*(t/2),y:(o+0)*e,color:r};ft(r)&&i.push(l)})});let a=Gs(st(i,"x")),l=qs(st(i,"x")),s=Gs(st(i,"y")),d=qs(st(i,"y"));return l+=t+2,d+=e+1,{cpgs:r,colors:i,xmin:a,xmax:l,ymin:s,ymax:d}}(18);return{valueTrans:null,cpgs:n.cpgs,colors:n.colors,xmin:n.xmin,xmax:n.xmax,ymin:n.ymin,ymax:n.ymax,pick:null}},computed:{changeValue:function(){return this.valueTrans=Br(this.value),""},changePick:function(){let n=this,e=null;return Yn(n.colors,t=>{n.jdColor2(t.color,n.valueTrans)&&(e=t)}),n.pick=e,""},width:function(){return this.size},height:function(){return this.width/10*9}},methods:{jdColor2:function(n,e){return Ys.toRgbString(n)===Ys.toRgbString(e)},ckColor:function(n){this.valueTrans=n.color,this.$emit("input",n.color)}}};const nd=Ks;var ed=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{style:"display:inline-block; width:"+n.width+"px; height:"+n.height+"px;",attrs:{changeValue:n.changeValue,changePick:n.changePick}},[t("div",{staticStyle:{display:"flex"}},[t("svg",{attrs:{viewBox:"0 0 "+n.xmax+" "+n.ymax,width:n.width,height:n.height,xmlns:"http://www.w3.org/2000/svg"}},[n._l(n.colors,function(e,o){return t("polygon",{key:"kc-"+o,style:"fill:"+e.color+"; stroke:"+e.color+"; stroke-width:1px; cursor:pointer; user-select:none;",attrs:{transform:"translate("+e.x+", "+e.y+")",points:n.cpgs},on:{click:function(t){return n.ckColor(e)}}})}),n._v(" "),n.pick?[t("polygon",{style:"fill:transparent; stroke:#000; stroke-width:4px; cursor:pointer; user-select:none;",attrs:{transform:"translate("+n.pick.x+", "+n.pick.y+")",points:n.cpgs},on:{click:function(e){return n.ckColor(n.pick)}}}),n._v(" "),t("polygon",{style:"fill:transparent; stroke:#fff; stroke-width:2px; cursor:pointer; user-select:none;",attrs:{transform:"translate("+n.pick.x+", "+n.pick.y+")",points:n.cpgs},on:{click:function(e){return n.ckColor(n.pick)}}})]:n._e()],2)])])};ed._withStripped=!0;const td=Ur({render:ed,staticRenderFns:[]},function(n){n&&n("data-v-f00690de_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WColorPickHexagon.vue"},media:void 0})},nd,"data-v-f00690de",false,void 0,!1,Gr,void 0,void 0);var od={components:{},props:{value:{type:String,default:"#FFFFFF"},colorLeft:{type:String,default:"#FFFFFF"},colorRight:{type:String,default:"#000000"},colorNum:{type:Number,default:10},width:{type:Number,default:200},height:{type:Number,default:20}},data:function(){return{aimg:"data:image/svg+xml;base64,ICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDEwIDEwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIGZpbGw9IiNkZGQiIC8+DQogICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9IjAiIHk9IjUiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIGZpbGw9IiNmZmYiIC8+DQogICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9IjUiIHk9IjAiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIGZpbGw9IiNmZmYiIC8+DQogICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9IjUiIHk9IjUiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIGZpbGw9IiNkZGQiIC8+DQogICAgICAgICAgICAgICAgPC9zdmc+",valueTrans:null,colorLeftTrans:null,colorRightTrans:null,s:20,pick:null}},computed:{changeValue:function(){let n=this;return n.valueTrans=Br(n.value),n.colorLeftTrans=Br(n.colorLeft),n.colorRightTrans=Br(n.colorRight),""},colors:function(){let n=this,e={0:n.colorLeftTrans,1:n.colorRightTrans},t=Ys.interp(e),o=[];for(let e=0;e<n.colorNum;e++){let r=e/Math.max(n.colorNum-1,1),i=t(r);o.push({r:r,x:e*n.s,y:0,color:i})}return o},changePick:function(){let n=this,e=null;return Yn(n.colors,t=>{n.jdColor2(t.color,n.valueTrans)&&(e=t)}),n.pick=e,""}},methods:{jdColor2:function(n,e){return Ys.toRgbString(n)===Ys.toRgbString(e)},ckColor:function(n){this.valueTrans=n.color,this.$emit("input",n.color)}}};const rd=od;var id=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{style:"display:inline-block; width:"+n.width+"px; height:"+n.height+"px;",attrs:{changeValue:n.changeValue,changePick:n.changePick}},[t("div",{style:"position:relative; width:"+n.width+"px; height:"+n.height+"px;"},[t("div",{style:"\n position:absolute; left:0px; top:0px;\n width:"+n.width+"px; height:"+n.height+"px;\n background-image: url("+n.aimg+");\n background-repeat:repeat;\n "}),n._v(" "),t("div",{style:"\n position:absolute; left:0px; top:0px;\n width:"+n.width+"px; height:"+n.height+"px;\n "},[t("div",{staticStyle:{display:"flex"}},[t("svg",{attrs:{viewBox:"0 0 "+n.colors.length*n.s+" "+n.s,width:n.width,height:n.height,preserveAspectRatio:"none",xmlns:"http://www.w3.org/2000/svg"}},[n._l(n.colors,function(e,o){return t("rect",{key:"kc-"+o,style:"fill:"+e.color+"; stroke-width:0px; cursor:pointer; user-select:none;",attrs:{x:e.x,y:e.y,width:n.s,height:n.s},on:{click:function(t){return n.ckColor(e)}}})}),n._v(" "),n.pick?[t("rect",{style:"fill:transparent; stroke:#000; stroke-width:1px; cursor:pointer; user-select:none;",attrs:{x:n.pick.x,y:n.pick.y,width:n.s,height:n.s}}),n._v(" "),t("rect",{style:"fill:transparent; stroke:#fff; stroke-width:2px; cursor:pointer; user-select:none;",attrs:{x:n.pick.x+2,y:n.pick.y+2,width:n.s-4,height:n.s-4}})]:n._e()],2)])])])])};id._withStripped=!0;const ad={components:{WColorPickHexagon:td,WColorPickStripe:Ur({render:id,staticRenderFns:[]},function(n){n&&n("data-v-ea1e40ae_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WColorPickStripe.vue"},media:void 0})},rd,"data-v-ea1e40ae",false,void 0,!1,Gr,void 0,void 0)},props:{value:{type:String,default:"#FFFFFF"},size:{type:Number,default:200},space:{type:Number,default:5}},data:function(){return{valueTrans:null}},computed:{changeValue:function(){return this.valueTrans=Br(this.value),""},hexagonSize:function(){return this.size},hexagonWidth:function(){return this.size},hexagonHeight:function(){return this.hexagonWidth/10*9},stripeWidth:function(){return this.size},stripeHeight:function(){return this.stripeWidth/10},width:function(){return this.size},height:function(){let n=this;return n.hexagonHeight+n.space+n.stripeHeight}},methods:{ckColor:function(n){n=(n=Ys.toHexString(n)).toUpperCase(),this.valueTrans=n,this.$emit("input",n)}}};var ld=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{style:"display:inline-block; width:"+n.width+"px; height:"+n.height+"px;",attrs:{changeValue:n.changeValue}},[t("div",{staticStyle:{display:"flex"}},[t("WColorPickHexagon",{attrs:{size:n.hexagonSize,value:n.valueTrans},on:{input:n.ckColor}})],1),n._v(" "),t("div",{style:"height:"+n.space+"px;"}),n._v(" "),t("div",{staticStyle:{display:"flex"}},[t("WColorPickStripe",{attrs:{width:n.stripeWidth,height:n.stripeHeight,colorNum:10,value:n.valueTrans},on:{input:n.ckColor}})],1)])};ld._withStripped=!0;const sd=Ur({render:ld,staticRenderFns:[]},function(n){n&&n("data-v-7354487e_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WColorPickHexagonGray.vue"},media:void 0})},ad,"data-v-7354487e",false,void 0,!1,Gr,void 0,void 0);const dd={components:{},props:{value:{type:Number,default:1},color:{type:String,default:"#000000"},width:{type:Number,default:200},height:{type:Number,default:20},cursorSize:{type:Number,default:7}},data:function(){return{aimg:"data:image/svg+xml;base64,ICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDEwIDEwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIGZpbGw9IiNkZGQiIC8+DQogICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9IjAiIHk9IjUiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIGZpbGw9IiNmZmYiIC8+DQogICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9IjUiIHk9IjAiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIGZpbGw9IiNmZmYiIC8+DQogICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9IjUiIHk9IjUiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIGZpbGw9IiNkZGQiIC8+DQogICAgICAgICAgICAgICAgPC9zdmc+",valueTrans:1,colorTrans:"#000",curMousedown:!1,curLocLeft:0}},mounted:function(){let n=this;n.windowMousemove=e=>{n.curMousedown&&n.updateCurLocByEvent(e)},window.addEventListener("mousemove",n.windowMousemove,!1),n.windowMouseup=e=>{n.curMousedown=!1},window.addEventListener("mouseup",n.windowMouseup,!1)},beforeDestroy:function(){window.removeEventListener("mousemove",this.windowMousemove,!1),window.removeEventListener("mouseup",this.windowMouseup,!1)},computed:{changeValue:function(){let n=this;return n.valueTrans=n.value,n.updateCurLocByValue(),""},changeColor:function(){return this.colorTrans=Br(this.color),""}},methods:{updateCurLocByEvent:function(n){let e=this,t=e.$el.getBoundingClientRect(),o=n.clientX-t.left;o=Math.min(Math.max(o,0),e.width-1),e.curLocLeft=o,e.updateAlpha()},updateCurLocByValue:function(){let n=this,e=n.valueTrans*(n.width-1);n.curLocLeft=e},updateAlpha:function(){let n=this,e=n.width-1,t=0;e-0-1>0&&(t=(n.curLocLeft-0)/(e-0));let o=t;n.$emit("input",o)},mousedownCur:function(n){this.curMousedown=!0,this.updateCurLocByEvent(n)}}};var ud=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{style:"display:inline-block;",attrs:{changeValue:n.changeValue,changeColor:n.changeColor}},[t("div",{style:"position:relative; width:"+n.width+"px; height:"+n.height+"px;"},[t("div",{style:"\n position:absolute; left:0px; top:0px;\n width:"+n.width+"px; height:"+n.height+"px;\n background-image: url("+n.aimg+");\n background-repeat:repeat;\n "},[n._e()]),n._v(" "),t("div",{style:"\n position:absolute; left:0px; top:0px;\n width:"+n.width+"px; height:"+n.height+"px;\n background:linear-gradient(to left, "+n.colorTrans+", transparent);\n "}),n._v(" "),t("div",{style:"\n position:absolute; left:"+(n.curLocLeft-Math.floor(n.cursorSize/2)-1)+"px; top:-1px;\n width:"+(n.cursorSize+2)+"px; height:"+(n.height+2)+"px;\n background:transparent;\n border:1px solid #666;\n cursor:pointer;\n user-select:none;\n _pointer-events:none;\n ",on:{mousedown:n.mousedownCur}}),n._v(" "),t("div",{style:"\n position:absolute; left:"+(n.curLocLeft-Math.floor(n.cursorSize/2))+"px; top:0px;\n width:"+n.cursorSize+"px; height:"+n.height+"px;\n background:transparent;\n border:1px solid #fff;\n cursor:pointer;\n user-select:none;\n _pointer-events:none;\n ",on:{mousedown:n.mousedownCur}}),n._v(" "),t("div",{style:"\n position:absolute; left:0px; top:0px;\n width:"+n.width+"px; height:"+n.height+"px;\n cursor:pointer;\n user-select:none;\n _pointer-events:none;\n ",on:{mousedown:n.mousedownCur}})])])};ud._withStripped=!0;const cd=Ur({render:ud,staticRenderFns:[]},function(n){n&&n("data-v-2f878719_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WColorPickAlpha.vue"},media:void 0})},dd,"data-v-2f878719",false,void 0,!1,Gr,void 0,void 0);var pd={components:{WColorPickHexagonGray:sd,WColorPickAlpha:cd},props:{value:{type:String,default:"#FFFFFF"},size:{type:Number,default:200},spaceGray:{type:Number,default:5},spaceAlpha:{type:Number,default:8}},data:function(){return{colorPure:"#fff",colorAlpha:1,pick:null}},computed:{changeValue:function(){let n=this,e=Br(n.value),t=Ys.toRgba(e),o={r:t.r,g:t.g,b:t.b},r=Ys.toRgbString(o),i=t.a;return n.colorPure=r,n.colorAlpha=i,""},hexagonGrayWidth:function(){return this.size},hexagonGrayHeight:function(){return this.hexagonGrayWidth+this.spaceGray},alphaWidth:function(){return this.size},alphaHeight:function(){return this.alphaWidth/10},width:function(){return this.size},height:function(){let n=this;return n.hexagonGrayHeight+n.spaceAlpha+n.alphaHeight}},methods:{updateColor:function(n,e,t){let o=Ys.toRgba(n);o.a=e;let r=Ys.toRgbaString(o);this.$emit("input",r)}}};const fd=pd;var hd=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{style:"display:inline-block; width:"+n.width+"px; height:"+n.height+"px;",attrs:{changeValue:n.changeValue}},[t("div",{staticStyle:{display:"flex"}},[t("WColorPickHexagonGray",{attrs:{size:n.size,space:n.spaceGray,value:n.colorPure},on:{input:function(e){n.colorPure=e,n.updateColor(n.colorPure,n.colorAlpha,"hexagonGray")}}})],1),n._v(" "),t("div",{style:"height:"+n.spaceAlpha+"px;"}),n._v(" "),t("div",{staticStyle:{display:"flex"}},[t("WColorPickAlpha",{attrs:{width:n.alphaWidth,height:n.alphaHeight,cursorSize:7,value:n.colorAlpha,color:n.colorPure},on:{input:function(e){n.colorAlpha=e,n.updateColor(n.colorPure,n.colorAlpha,"alpha")}}})],1)])};hd._withStripped=!0;const vd=Ur({render:hd,staticRenderFns:[]},function(n){n&&n("data-v-a3d4421c_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WColorSelectPanelBlock.vue"},media:void 0})},fd,"data-v-a3d4421c",false,void 0,!1,Gr,void 0,void 0);const gd={components:{},props:{value:{type:String,default:"#FFFFFF"},color:{type:String,default:"#FFFFFF"},colorLeftTop:{type:String,default:"#FFFFFF"},colorBottom:{type:String,default:"#000000"},width:{type:Number,default:200},height:{type:Number,default:200},cursorSize:{type:Number,default:14}},data:function(){return{valueTrans:"#fff",colorTrans:"#fff",colorLeftTopTrans:"#fff",colorBottomTrans:"#fff",curMousedown:!1,curLocLeft:0,curLocTop:0}},mounted:function(){let n=this;n.windowMousemove=e=>{n.curMousedown&&n.updateCurLocByEvent(e)},window.addEventListener("mousemove",n.windowMousemove,!1),n.windowMouseup=e=>{n.curMousedown=!1},window.addEventListener("mouseup",n.windowMouseup,!1)},beforeDestroy:function(){window.removeEventListener("mousemove",this.windowMousemove,!1),window.removeEventListener("mouseup",this.windowMouseup,!1)},computed:{changeParams:function(){let n=this;n.valueTrans=Br(n.value);let e=Br(n.color);return e={h:Ys.toHsv(e).h,s:1,v:1},e=Ys.toHexString(e),n.colorTrans=e,n.colorLeftTopTrans=Br(n.colorLeftTop),n.colorBottomTrans=Br(n.colorBottom),n.updateCurLocByValue(),""},changeColor:function(){return this.updateColor(this.color),""}},methods:{updateCurLocByEvent:function(n){let e=this,t=e.$el.getBoundingClientRect(),o=n.clientX-t.left,r=n.clientY-t.top;o=Math.min(Math.max(o,0),e.width-1),r=Math.min(Math.max(r,0),e.height-1),e.curLocLeft=o,e.curLocTop=r,e.updateColor()},updateCurLocByValue:function(){let n=this,e=Ys.toHsv(n.valueTrans),t=e.s*(n.width-1),o=(1-e.v)*(n.height-1),r=Ys.toHsv(n.colorTrans);e.h===r.h&&(n.curLocLeft=t,n.curLocTop=o)},updateColor:function(){let n=this,e=n.width-1,t=0;e-0>0&&(t=(n.curLocLeft-0)/(e-0));let o,r,i,a=n.height-1,l=0;a-0>0&&(l=(n.curLocTop-0)/(a-0)),o=n.colorTrans,r=n.colorLeftTopTrans,i=Ys.mix(o,t,r,1-t,"toRgbString"),o=i,r=n.colorBottomTrans,i=Ys.mix(o,1-l,r,l,"toHexString"),i=i.toUpperCase(),n.$emit("input",i)},mousedownCur:function(n){this.curMousedown=!0,this.updateCurLocByEvent(n)}}};var md=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{style:"display:inline-block;",attrs:{changeParams:n.changeParams,changeColor:n.changeColor}},[t("div",{style:"position:relative; width:"+n.width+"px; height:"+n.height+"px;"},[t("div",{style:"\n position:absolute; left:0px; top:0px;\n width:"+n.width+"px; height:"+n.height+"px;\n background:linear-gradient(to right, "+n.colorLeftTop+", "+n.colorTrans+");\n "}),n._v(" "),t("div",{style:"\n position:absolute; left:0px; top:0px;\n width:"+n.width+"px; height:"+n.height+"px;\n background:linear-gradient(to top, "+n.colorBottom+", transparent);\n "}),n._v(" "),t("div",{style:"\n position:absolute; left:"+(n.curLocLeft-Math.floor(n.cursorSize/2)-1)+"px; top:"+(n.curLocTop-Math.floor(n.cursorSize/2)-1)+"px;\n width:"+(n.cursorSize+2)+"px; height:"+(n.cursorSize+2)+"px;\n background:transparent;\n border-radius:50%;\n border:1px solid #666;\n cursor:pointer;\n user-select:none;\n _pointer-events:none;\n ",on:{mousedown:n.mousedownCur}}),n._v(" "),t("div",{style:"\n position:absolute; left:"+(n.curLocLeft-Math.floor(n.cursorSize/2))+"px; top:"+(n.curLocTop-Math.floor(n.cursorSize/2))+"px;\n width:"+n.cursorSize+"px; height:"+n.cursorSize+"px;\n background:transparent;\n border-radius:50%;\n border:1px solid #fff;\n cursor:pointer;\n user-select:none;\n _pointer-events:none;\n ",on:{mousedown:n.mousedownCur}}),n._v(" "),t("div",{style:"\n position:absolute; left:0px; top:0px;\n width:"+n.width+"px; height:"+n.height+"px;\n cursor:pointer;\n user-select:none;\n _pointer-events:none;\n ",on:{mousedown:n.mousedownCur}})])])};md._withStripped=!0;const bd=Ur({render:md,staticRenderFns:[]},function(n){n&&n("data-v-22c59a06_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WColorPickHsv.vue"},media:void 0})},gd,"data-v-22c59a06",false,void 0,!1,Gr,void 0,void 0);function Ad(){let n,e,t=new Promise(function(){n=arguments[0],e=arguments[1]});return t.resolve=n,t.reject=e,t}async function yd(n,e={}){let t=null,o=Ad();if(!Lo(n))return o.reject("waitfunction需輸入函數f"),o;let r=async()=>{let e=n();return function(n){let e,t=Object.prototype.toString.call(n);if(e="[object Promise]"===t,e)return!0;if("[object Function]"!==t)return!1;try{e="function"!=typeof n.subscribe&&"function"==typeof n.then}catch(n){}return e}(e)&&(e=await e),e};if(t=await r(),!0===t)return o.resolve(),o;let i=an(e,"attemptNum",null);No(i)||(i=200);let a=an(e,"timeInterval",null);No(a)||(a=1e3);let l=0,s=setInterval(async()=>{l+=1,t=await r(),!0===t&&(clearInterval(s),o.resolve()),l>i&&(clearInterval(s),o.reject(`exceeded attemptNum[${i}]`))},a);return o}const Cd={components:{},props:{value:{type:String,default:"#FF0000"},width:{type:Number,default:200},height:{type:Number,default:20},cursorSize:{type:Number,default:7}},data:function(){return{valueTrans:"#fff",curMousedown:!1,curLocLeft:0}},mounted:function(){let n=this;n.plotBackground(),n.windowMousemove=e=>{n.curMousedown&&n.updateCurLocByEvent(e)},window.addEventListener("mousemove",n.windowMousemove,!1),n.windowMouseup=e=>{n.curMousedown=!1},window.addEventListener("mouseup",n.windowMouseup,!1)},beforeDestroy:function(){window.removeEventListener("mousemove",this.windowMousemove,!1),window.removeEventListener("mouseup",this.windowMouseup,!1)},computed:{changeValue:function(){let n=this;return n.valueTrans=Br(n.value),n.updateCurLocByValue(),""}},methods:{plotBackground:function(){let n=this;(async function(){await yd(()=>Wr(n.$refs.cvs));let e=n.$refs.cvs;e.width=n.width,e.height=n.height;let t=e.getContext("2d"),o=n.width-1;for(let e=0;e<=o;e++){let r={h:e/o*360,s:1,v:1};r=Ys.toHexString(r),t.fillStyle=r,t.fillRect(e,0,1,n.height)}})().catch(n=>{console.log(n)})},updateCurLocByEvent:function(n){let e=this,t=e.$el.getBoundingClientRect(),o=n.clientX-t.left;o=Math.min(Math.max(o,0),e.width-1),e.curLocLeft=o,e.updateColor()},updateCurLocByValue:function(){let n=this,e=Ys.toHsv(n.valueTrans).h/360*(n.width-1);n.curLocLeft=e},updateColor:function(){let n=this,e=n.width-1,t=0;e-0-1>0&&(t=(n.curLocLeft-0)/(e-0));let o={h:360*t,s:1,v:1};o=Ys.toHexString(o),o=o.toUpperCase(),n.$emit("input",o)},mousedownCur:function(n){this.curMousedown=!0,this.updateCurLocByEvent(n)}}};var xd=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{style:"display:inline-block;",attrs:{changeValue:n.changeValue}},[t("div",{style:"position:relative; width:"+n.width+"px; height:"+n.height+"px;"},[t("div",{style:"\n position:absolute; left:0px; top:0px;\n width:"+n.width+"px; height:"+n.height+"px;\n overflow:hidden;\n "},[t("div",{staticStyle:{display:"flex"}},[t("canvas",{ref:"cvs",style:"width:"+n.width+"px; height:"+n.height+"px;"})])]),n._v(" "),t("div",{style:"\n position:absolute; left:"+(n.curLocLeft-Math.floor(n.cursorSize/2)-1)+"px; top:-1px;\n width:"+(n.cursorSize+2)+"px; height:"+(n.height+2)+"px;\n background:transparent;\n border:1px solid #666;\n cursor:pointer;\n user-select:none;\n _pointer-events:none;\n ",on:{mousedown:n.mousedownCur}}),n._v(" "),t("div",{style:"\n position:absolute; left:"+(n.curLocLeft-Math.floor(n.cursorSize/2))+"px; top:0px;\n width:"+n.cursorSize+"px; height:"+n.height+"px;\n background:transparent;\n border:1px solid #fff;\n cursor:pointer;\n user-select:none;\n _pointer-events:none;\n ",on:{mousedown:n.mousedownCur}}),n._v(" "),t("div",{style:"\n position:absolute; left:0px; top:0px;\n width:"+n.width+"px; height:"+n.height+"px;\n cursor:pointer;\n user-select:none;\n _pointer-events:none;\n ",on:{mousedown:n.mousedownCur}})])])};xd._withStripped=!0;const wd={components:{WColorPickHsv:bd,WColorPickHue:Ur({render:xd,staticRenderFns:[]},function(n){n&&n("data-v-05333439_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WColorPickHue.vue"},media:void 0})},Cd,"data-v-05333439",false,void 0,!1,Gr,void 0,void 0),WColorPickAlpha:cd},props:{value:{type:String,default:"#FFFFFF"},size:{type:Number,default:200},space:{type:Number,default:10}},data:function(){return{lock:!1,valueTrans:null,colorHue:"#f00",colorPure:"#fff",colorAlpha:1}},computed:{changeParams:function(){let n=this;if(n.value===n.valueTrans)return;if(n.lock)return;n.lock=!0,n.valueTrans=Br(n.value);let e=Ys.toHsva(n.value),t="#f00";{let n={h:e.h,s:1,v:1};t=Ys.toHexString(n)}let o="#fff";{let n={h:e.h,s:e.s,v:e.v};o=Ys.toHexString(n)}let r=1;return r=e.a,n.colorHue=t,n.colorPure=o,n.colorAlpha=r,""},hsvWidth:function(){return this.size},hsvHeight:function(){return this.hsvWidth},hueWidth:function(){return this.size},hueHeight:function(){return this.hueWidth/10},alphaWidth:function(){return this.size},alphaHeight:function(){return this.alphaWidth/10},width:function(){return this.size},height:function(){let n=this;return n.hsvHeight+n.space+n.hueHeight+n.space+n.alphaHeight}},methods:{updateColor:function(n,e){let t=this;if(t.lock&&"hsv"===e)return void(t.lock=!1);let o=Ys.toHsva(t.colorHue),r=Ys.toHsva(t.colorPure),i={h:o.h,s:r.s,v:r.v,a:t.colorAlpha};i=Ys.toRgbaString(i),t.valueTrans=i,t.$emit("input",i)}}};var Sd=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{style:"display:inline-block; width:"+n.width+"px; height:"+n.height+"px;",attrs:{changeParams:n.changeParams}},[t("div",{staticStyle:{display:"flex"}},[t("WColorPickHsv",{attrs:{width:n.hsvWidth,height:n.hsvHeight,cursorSize:14,color:n.colorHue},on:{input:function(e){n.updateColor(e,"hsv")}},model:{value:n.colorPure,callback:function(e){n.colorPure=e},expression:"colorPure"}})],1),n._v(" "),t("div",{style:"height:"+n.space+"px;"}),n._v(" "),t("div",{staticStyle:{display:"flex"}},[t("WColorPickHue",{attrs:{width:n.hueWidth,height:n.hueHeight,cursorSize:7},on:{input:function(e){n.updateColor(e,"hue")}},model:{value:n.colorHue,callback:function(e){n.colorHue=e},expression:"colorHue"}})],1),n._v(" "),t("div",{style:"height:"+n.space+"px;"}),n._v(" "),t("div",{staticStyle:{display:"flex"}},[t("WColorPickAlpha",{attrs:{width:n.alphaWidth,height:n.alphaHeight,colorNum:10,color:n.colorPure},on:{input:function(e){n.updateColor(e,"alpha")}},model:{value:n.colorAlpha,callback:function(e){n.colorAlpha=e},expression:"colorAlpha"}})],1)])};Sd._withStripped=!0;const kd={components:{WColorSelectPanelBlock:vd,WColorSelectPanelHsva:Ur({render:Sd,staticRenderFns:[]},function(n){n&&n("data-v-2f9ee6a2_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WColorSelectPanelHsva.vue"},media:void 0})},wd,"data-v-2f9ee6a2",false,void 0,!1,Gr,void 0,void 0)},props:{value:{type:String,default:"#FFFFFF"},type:{type:String,default:"LUMP"},size:{type:Number,default:200},space:{type:Number,default:10},backgroundColor:{type:String,default:"transparent"}},data:function(){return{valueTrans:"#fff",typeTrans:"LUMP"}},computed:{changeValue:function(){return this.valueTrans=Br(this.value),""},changeType:function(){return this.typeTrans=this.type,""},useBackgroundColor:function(){return Br(this.backgroundColor)}},methods:{updateColor:function(n,e){this.valueTrans=n,this.$emit("input",n)}}};var _d=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{style:"display:inline-block; background:"+n.useBackgroundColor+";",attrs:{changeValue:n.changeValue,changeType:n.changeType}},[t("div",{style:"padding:"+n.space+"px;"},["LUMP"===n.typeTrans?t("div",{staticStyle:{display:"flex"}},[t("WColorSelectPanelBlock",{attrs:{size:n.size,spaceGray:5,spaceAlpha:8,value:n.valueTrans},on:{input:function(e){n.updateColor(e,"block")}}})],1):n._e(),n._v(" "),"HSVA"===n.typeTrans?t("div",{staticStyle:{display:"flex"}},[t("WColorSelectPanelHsva",{attrs:{_size:"size*0.8875",size:n.size,space:10,value:n.valueTrans},on:{input:function(e){n.updateColor(e,"hsva")}}})],1):n._e()])])};_d._withStripped=!0;const Bd=Ur({render:_d,staticRenderFns:[]},function(n){n&&n("data-v-8ff1425e_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WColorSelectPanel.vue"},media:void 0})},kd,"data-v-8ff1425e",false,void 0,!1,Gr,void 0,void 0);function Pd(n){if(!Bo(n))return!1;return Po(n)>=0}function Td(n){if(!n)return"invalid event";if(!n.cancelable)return"event is not cancelable";try{null!==navigator.userAgent.toLowerCase().match(/rv:([\d.]+)\) like gecko/)?n.cancelBubble=!0:n.stopPropagation(),n.preventDefault()}catch(n){}}const zd={components:{},props:{name:{type:String,default:"cir-wave"},size:{type:Number,default:48},color:{type:String,default:"#666"}},data:function(){return{}},computed:{effColor:function(){return Br(this.color)}},methods:{}};var Ed=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{style:"display:inline-block; vertical-align:middle; outline:none; user-select:none; height:"+n.size+"px; width:"+n.size+"px;",attrs:{cmp:"loading",loadtype:n.name}},["cir-wave"===n.name?[t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",width:n.size,height:n.size}},[t("circle",{attrs:{cx:"50",cy:"50",r:"14.6699",fill:"none",stroke:"#420457","stroke-width":"10"}},[t("animate",{attrs:{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;40",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:"-0.5s"}}),n._v(" "),t("animate",{attrs:{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:"-0.5s"}})]),n._v(" "),t("circle",{attrs:{cx:"50",cy:"50",r:"33.9915",fill:"none",stroke:"#5a3faa","stroke-width":"10"}},[t("animate",{attrs:{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;40",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline"}}),n._v(" "),t("animate",{attrs:{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline"}})])])]:"cir-rotate"===n.name?[t("div",{style:"position:relative; display:inline-flex; align-items:center; justify-content:center; height:"+n.size+"px; width:"+n.size+"px;"},[t("svg",{staticClass:"pgc-rotate",staticStyle:{transform:"rotate(0deg)"},attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"21.904761904761905 21.904761904761905 43.80952380952381 43.80952380952381"}},[t("circle",{staticClass:"pgc-dash",attrs:{fill:"transparent",cx:"43.80952380952381",cy:"43.80952380952381",r:"20","stroke-width":"4","stroke-dasharray":"100","stroke-dashoffset":"50px",stroke:n.effColor}})])])]:n._e()],2)};Ed._withStripped=!0;const Fd=Ur({render:Ed,staticRenderFns:[]},function(n){n&&n("data-v-c1552922_0",{source:"\n.pgc-rotate[data-v-c1552922] {\r\n width: 100%;\r\n height: 100%;\r\n margin: auto;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n z-index: 1;\r\n transition: all .6s ease-in-out;\r\n animation: progress-circular-rotate-data-v-c1552922 1.4s linear infinite;\r\n transform-origin: center center;\n}\n.pgc-dash[data-v-c1552922] {\r\n animation: progress-circular-dash-data-v-c1552922 1.4s ease-in-out infinite;\r\n stroke-linecap: round;\r\n stroke-dasharray: 80,200;\r\n stroke-dashoffset: 0px;\n}\n@-webkit-keyframes progress-circular-dash-data-v-c1552922 {\n0% {\r\n stroke-dasharray: 1,200;\r\n stroke-dashoffset: 0px\n}\n50% {\r\n stroke-dasharray: 100,200;\r\n stroke-dashoffset: -15px\n}\nto {\r\n stroke-dasharray: 100,200;\r\n stroke-dashoffset: -124px\n}\n}\n@keyframes progress-circular-dash-data-v-c1552922 {\n0% {\r\n stroke-dasharray: 1,200;\r\n stroke-dashoffset: 0px\n}\n50% {\r\n stroke-dasharray: 100,200;\r\n stroke-dashoffset: -15px\n}\nto {\r\n stroke-dasharray: 100,200;\r\n stroke-dashoffset: -124px\n}\n}\n@-webkit-keyframes progress-circular-rotate-data-v-c1552922 {\nto {\r\n transform: rotate(1turn)\n}\n}\n@keyframes progress-circular-rotate-data-v-c1552922 {\nto {\r\n transform: rotate(1turn)\n}\n}\r\n\r\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\node_modules\\w-component-vue\\src\\components\\WIconLoading.vue"],names:[],mappings:";AAmGA;IACA,WAAA;IACA,YAAA;IACA,YAAA;IACA,kBAAA;IACA,MAAA;IACA,SAAA;IACA,OAAA;IACA,QAAA;IACA,UAAA;IACA,+BAAA;IACA,wEAAA;IACA,+BAAA;AACA;AAEA;IACA,2EAAA;IACA,qBAAA;IACA,wBAAA;IACA,sBAAA;AACA;AAEA;AACA;QACA,uBAAA;QACA;AACA;AAEA;QACA,yBAAA;QACA;AACA;AAEA;QACA,yBAAA;QACA;AACA;AACA;AAEA;AACA;QACA,uBAAA;QACA;AACA;AAEA;QACA,yBAAA;QACA;AACA;AAEA;QACA,yBAAA;QACA;AACA;AACA;AAEA;AACA;QACA;AACA;AACA;AAEA;AACA;QACA;AACA;AACA",file:"WIconLoading.vue",sourcesContent:['<template>\r\n <div\r\n :style="`display:inline-block; vertical-align:middle; outline:none; user-select:none; height:${size}px; width:${size}px;`"\r\n :cmp="\'loading\'"\r\n :loadtype="name"\r\n >\r\n\r\n <template v-if="name===\'cir-wave\'">\r\n\r\n <svg\r\n xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"\r\n :width="size"\r\n :height="size"\r\n >\r\n <circle cx="50" cy="50" r="14.6699" fill="none" stroke="#420457" stroke-width="10">\r\n <animate attributeName="r" repeatCount="indefinite" dur="1s" values="0;40" keyTimes="0;1" keySplines="0 0.2 0.8 1" calcMode="spline" begin="-0.5s"></animate>\r\n <animate attributeName="opacity" repeatCount="indefinite" dur="1s" values="1;0" keyTimes="0;1" keySplines="0.2 0 0.8 1" calcMode="spline" begin="-0.5s"></animate>\r\n </circle>\r\n <circle cx="50" cy="50" r="33.9915" fill="none" stroke="#5a3faa" stroke-width="10">\r\n <animate attributeName="r" repeatCount="indefinite" dur="1s" values="0;40" keyTimes="0;1" keySplines="0 0.2 0.8 1" calcMode="spline"></animate>\r\n <animate attributeName="opacity" repeatCount="indefinite" dur="1s" values="1;0" keyTimes="0;1" keySplines="0.2 0 0.8 1" calcMode="spline"></animate>\r\n </circle>\r\n </svg>\r\n\r\n </template>\r\n\r\n <template v-else-if="name===\'cir-rotate\'">\r\n\r\n <div :style="`position:relative; display:inline-flex; align-items:center; justify-content:center; height:${size}px; width:${size}px;`">\r\n <svg\r\n class="pgc-rotate"\r\n style="transform: rotate(0deg);"\r\n xmlns="http://www.w3.org/2000/svg"\r\n viewBox="21.904761904761905 21.904761904761905 43.80952380952381 43.80952380952381"\r\n >\r\n <circle\r\n class="pgc-dash"\r\n fill="transparent"\r\n cx="43.80952380952381"\r\n cy="43.80952380952381"\r\n r="20"\r\n stroke-width="4"\r\n stroke-dasharray="100"\r\n stroke-dashoffset="50px"\r\n :stroke="effColor"\r\n ></circle>\r\n </svg>\r\n </div>\r\n\r\n </template>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport convertColor from \'../js/convertColor.mjs\'\r\n\r\n\r\n/**\r\n * @vue-prop {String} [name=\'cir-wave\'] 輸入動畫名稱字串,預設\'cir-wave\'\r\n * @vue-prop {Number} [size=48] 輸入圖標欲顯示的尺寸浮點數,預設48\r\n * @vue-prop {String} [color=\'#666\'] 輸入圖標顏色字串,預設\'#666\'\r\n */\r\nexport default {\r\n components: {\r\n },\r\n props: {\r\n name: {\r\n type: String,\r\n default: \'cir-wave\',\r\n },\r\n size: {\r\n type: Number,\r\n default: 48,\r\n },\r\n color: {\r\n type: String,\r\n default: \'#666\',\r\n },\r\n },\r\n data: function() {\r\n return {\r\n }\r\n },\r\n computed: {\r\n\r\n effColor: function() {\r\n let vo = this\r\n return convertColor(vo.color)\r\n },\r\n\r\n },\r\n methods: {\r\n },\r\n}\r\n<\/script>\r\n\r\n<style scoped>\r\n\r\n.pgc-rotate {\r\n width: 100%;\r\n height: 100%;\r\n margin: auto;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n z-index: 1;\r\n transition: all .6s ease-in-out;\r\n animation: progress-circular-rotate 1.4s linear infinite;\r\n transform-origin: center center;\r\n}\r\n\r\n.pgc-dash {\r\n animation: progress-circular-dash 1.4s ease-in-out infinite;\r\n stroke-linecap: round;\r\n stroke-dasharray: 80,200;\r\n stroke-dashoffset: 0px;\r\n}\r\n\r\n@-webkit-keyframes progress-circular-dash {\r\n 0% {\r\n stroke-dasharray: 1,200;\r\n stroke-dashoffset: 0px\r\n }\r\n\r\n 50% {\r\n stroke-dasharray: 100,200;\r\n stroke-dashoffset: -15px\r\n }\r\n\r\n to {\r\n stroke-dasharray: 100,200;\r\n stroke-dashoffset: -124px\r\n }\r\n}\r\n\r\n@keyframes progress-circular-dash {\r\n 0% {\r\n stroke-dasharray: 1,200;\r\n stroke-dashoffset: 0px\r\n }\r\n\r\n 50% {\r\n stroke-dasharray: 100,200;\r\n stroke-dashoffset: -15px\r\n }\r\n\r\n to {\r\n stroke-dasharray: 100,200;\r\n stroke-dashoffset: -124px\r\n }\r\n}\r\n\r\n@-webkit-keyframes progress-circular-rotate {\r\n to {\r\n transform: rotate(1turn)\r\n }\r\n}\r\n\r\n@keyframes progress-circular-rotate {\r\n to {\r\n transform: rotate(1turn)\r\n }\r\n}\r\n\r\n</style>\r\n']},media:void 0})},zd,"data-v-c1552922",false,void 0,!1,Gr,void 0,void 0);var Id={directives:{domripple:Mr()},components:{WIcon:Kr,WIconLoading:Fd,WTooltip:Sl},props:{text:{type:String,default:""},tooltip:{type:String,default:""},icon:{type:String,default:""},iconColor:{type:String,default:"black"},iconColorHover:{type:String,default:"grey darken-3"},iconColorActive:{type:String,default:"white"},iconSize:{type:Number,default:22},prog:{type:Number,default:null},progColor:{type:String,default:"rgba(150,150,150,0.4)"},progBackgroundColor:{type:String,default:"rgba(150,150,150,0.075)"},textColor:{type:String,default:"black"},textColorHover:{type:String,default:"grey darken-3"},textColorActive:{type:String,default:"white"},textFontSize:{type:String,default:"0.85rem"},borderUsed:{type:Object,default:()=>({top:!0,bottom:!0,left:!0,right:!0})},borderWidth:{type:Object,default:()=>({top:1,bottom:1,left:1,right:1})},borderRadius:{type:Number,default:30},borderRadiusStyle:{type:Object,default:()=>({left:!0,right:!0})},borderColor:{type:String,default:"transparent"},borderColorHover:{type:String,default:"transparent"},borderColorActive:{type:String,default:"transparent"},backgroundColor:{type:String,default:"rgb(241,241,241)"},backgroundColorHover:{type:String,default:"rgb(236,236,236)"},backgroundColorActive:{type:String,default:"orange"},tooltipBorderRadius:{type:Number,default:4},tooltipPaddingStyle:{type:Object,default:()=>({v:5,h:8})},tooltipTextFontSize:{type:String,default:"0.85rem"},tooltipTextColor:{type:String,default:"white"},tooltipBackgroundColor:{type:String,default:"rgba(60,60,60,0.75)"},shadow:{type:Boolean,default:!0},shadowStyle:{type:String,default:"0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)"},shadowActive:{type:Boolean,default:!0},shadowActiveStyle:{type:String,default:"0 12px 20px -10px {backgroundColorActiveAlpha=0.28}, 0 4px 20px 0 rgba(0,0,0,.12), 0 7px 8px -5px {backgroundColorActiveAlpha=0.2}"},rippleColor:{type:String,default:"rgba(255,255,255,0.4)"},paddingStyle:{type:Object,default:()=>({v:3,h:15})},shiftLeft:{type:Number,default:0},shiftRight:{type:Number,default:0},active:{type:Boolean,default:!1},close:{type:Boolean,default:!1},cursorPointer:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},loadingColor:{type:String,default:"grey darken-2"},promiseUnlock:{type:Boolean,default:!1},role:{type:String,default:"button"},editable:{type:Boolean,default:!0},disabledColor:{type:String,default:"rgba(255,255,255,0.5)"}},data:function(){return{mdiCloseCircle:"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z",activeTrans:!1,hoverTrans:!1,loadingTrans:!1,progTrans:null}},mounted:function(){},computed:{changeActive:function(){return this.activeTrans=this.active,""},changeProg:function(){return this.progTrans=this.prog,""},changeLoading:function(){return this.loadingTrans=this.loading,""},usePadding:function(){let n=this;return`padding:${Rr(n.paddingStyle,{ext:{left:n.shiftLeft,right:n.shiftRight}})};`},effIconColor:function(){return Br(this.iconColor)},effIconColorHover:function(){return Br(this.iconColorHover)},effIconColorActive:function(){return Br(this.iconColorActive)},hasIcon:function(){return""!==this.icon},hasText:function(){return""!==this.text},useIconColor:function(){let n,e=this;return e.loadingTrans||e.isProging?e.effIconColor:(n=e.activeTrans?e.effIconColorActive:e.hoverTrans?e.effIconColorHover:e.effIconColor,e.editable||(n=e.activeTrans?e.effIconColorActive:e.effIconColor),n)},effDisabledColor:function(){return Br(this.disabledColor)},effProgColor:function(){return Br(this.progColor)},effProgBackgroundColor:function(){return Br(this.progBackgroundColor)},effTextColor:function(){return Br(this.textColor)},effTextColorHover:function(){return Br(this.textColorHover)},effTextColorActive:function(){return Br(this.textColorActive)},useTextColor:function(){let n,e=this;return e.loadingTrans||e.isProging?e.effTextColor:(n=e.activeTrans?e.effTextColorActive:e.hoverTrans?e.effTextColorHover:e.effTextColor,e.editable||(n=e.activeTrans?e.effTextColorActive:e.effTextColor),n)},useTextFontSize:function(){let n=this.textFontSize;return n=Pr(n,";",""),`font-size:${n};`},effBorderColor:function(){return Br(this.borderColor)},effBorderColorHover:function(){return Br(this.borderColorHover)},effBorderColorActive:function(){return Br(this.borderColorActive)},useBorderColor:function(){let n,e=this;return(e.loadingTrans||e.isProging)&&(n=e.effBorderColor),n=e.activeTrans?e.effBorderColorActive:e.hoverTrans?e.effBorderColorHover:e.effBorderColor,e.editable||(n=e.activeTrans?e.effBorderColorActive:e.effBorderColor),Js(st(e.useBorderUsed,(e,t)=>`border-${t}-color:${e?n:"transparent"};`)," ")},useBorderUsed:function(){let n=this,e=!0,t=!0,o=!0,r=!0;return Lr(an(n,"borderUsed.left"))&&(e=an(n,"borderUsed.left")),Lr(an(n,"borderUsed.right"))&&(t=an(n,"borderUsed.right")),Lr(an(n,"borderUsed.top"))&&(o=an(n,"borderUsed.top")),Lr(an(n,"borderUsed.bottom"))&&(r=an(n,"borderUsed.bottom")),{left:e,right:t,top:o,bottom:r}},useBorderWidth:function(){return`border-width:${Rr(this.borderWidth)};`},useBorderRadius:function(){let n=this,e=0,t=0,o=0,r=0;return!0===an(n,"borderRadiusStyle.left")&&(e=n.borderRadius,o=n.borderRadius),!0===an(n,"borderRadiusStyle.right")&&(t=n.borderRadius,r=n.borderRadius),!0===an(n,"borderRadiusStyle.top")&&(e=n.borderRadius,t=n.borderRadius),!0===an(n,"borderRadiusStyle.bottom")&&(o=n.borderRadius,r=n.borderRadius),!0!==an(n,"borderRadiusStyle.topLeft")&&!0!==an(n,"borderRadiusStyle.top-left")||(e=n.borderRadius),!0!==an(n,"borderRadiusStyle.topRight")&&!0!==an(n,"borderRadiusStyle.top-right")||(t=n.borderRadius),!0!==an(n,"borderRadiusStyle.bottomLeft")&&!0!==an(n,"borderRadiusStyle.bottom-left")||(o=n.borderRadius),!0!==an(n,"borderRadiusStyle.bottomRight")&&!0!==an(n,"borderRadiusStyle.bottom-right")||(r=n.borderRadius),`border-top-left-radius:${e}px; border-top-right-radius:${t}px; border-bottom-left-radius:${o}px; border-bottom-right-radius:${r}px;`},effBackgroundColor:function(){return Br(this.backgroundColor)},effBackgroundColorHover:function(){return Br(this.backgroundColorHover)},effBackgroundColorActive:function(){return Br(this.backgroundColorActive)},useBackgroundColor:function(){let n,e=this;return e.loadingTrans||e.isProging?e.effBackgroundColor:(n=e.activeTrans?e.effBackgroundColorActive:e.hoverTrans?e.effBackgroundColorHover:e.effBackgroundColor,e.editable||(n=e.activeTrans?e.effBackgroundColorActive:e.effBackgroundColor),n)},useShadow:function(){let n=this;function e(n,e,t){let o=ce(n=Pr(n,"}","{"),"{");return o=st(o,n=>{if(n.indexOf(e)>=0){let e=Ll(n,"=")[1];return e=Bo(e)?Po(e):.2,function(n,e){let t=Br(n),o=Ys.toRgba(t);return o.a=e,Ys.toRgbaString(o)}(t,e)}return n}),Js(o,"")}return n.activeTrans&&n.shadowActive?ft(n.shadowActiveStyle)?"box-shadow:"+e(n.shadowActiveStyle,"backgroundColorActiveAlpha",n.backgroundColorActive):"":n.shadow&&ft(n.shadowStyle)?"box-shadow:"+e(n.shadowStyle,"backgroundColorAlpha",n.backgroundColor):""},isProging:function(){return Bo(this.useProg)},useProg:function(){let n=this.progTrans;return Bo(n)?(n=Po(n),n<0||n>100?null:n):null},effLoadingColor:function(){return Br(this.loadingColor)},useRipple:function(){let n=this;if(n.editable&&!n.loadingTrans&&!n.isProging)return{color:n.rippleColor,timeDuration:700}},hasTooltop:function(){return ft(this.tooltip)}},methods:{clickBtn:function(n){let e=this;if(!e.editable)return;if(e.isProging)return;if(e.loadingTrans)return;let t={setProg:n=>{null===n||Bo(n)?(Bo(n)&&(n=Po(n)),e.progTrans=n,e.$nextTick(()=>{e.$emit("update:prog",e.progTrans)}),n>=100&&e.$nextTick(()=>{e.progTrans=null,e.$emit("update:prog",e.progTrans)})):console.log("prog is not number")},setLoading:n=>{Lr(n)?(e.loadingTrans=n,e.$nextTick(()=>{e.$emit("update:loading",e.loadingTrans)})):console.log("loading is not boolean")}};if(e.promiseUnlock){e.loadingTrans=!0,e.$nextTick(()=>{e.$emit("update:loading",e.loadingTrans)});let n=Ad();t.pm=n,n.catch().finally(()=>{e.loadingTrans=!1,e.$nextTick(()=>{e.$emit("update:loading",e.loadingTrans)})})}e.$nextTick(()=>{e.$emit("click",t)})},clickClose:function(n){let e=this;Td(n),e.editable&&e.$nextTick(()=>{e.$emit("click-close")})}}};const Hd=Id;var Nd=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticStyle:{display:"inline-block","vertical-align":"middle",outline:"none","user-select":"none"},attrs:{role:n.editable?n.role:"",changeActive:n.changeActive,changeProg:n.changeProg,changeLoading:n.changeLoading}},[t("div",{staticStyle:{position:"relative"}},[t("WTooltip",{attrs:{displayType:"line",isolated:!0,borderRadius:n.tooltipBorderRadius,paddingStyle:n.tooltipPaddingStyle,textFontSize:n.tooltipTextFontSize,textColor:n.tooltipTextColor,backgroundColor:n.tooltipBackgroundColor,editable:n.hasTooltop},scopedSlots:n._u([{key:"trigger",fn:function(){return[t("div",{directives:[{name:"domripple",rawName:"v-domripple",value:n.useRipple,expression:"useRipple"}],style:"transition:all 0.3s; "+n.useBorderRadius+" background:"+n.useBackgroundColor+"; "+(n.editable&&n.cursorPointer?"cursor:pointer;":"")+" "+n.useShadow+"; outline:none; user-select:none; overflow:hidden;",attrs:{tabindex:"0"},on:{mouseenter:function(e){n.hoverTrans=!0,n.$emit("mouseenter",e)},mouseleave:function(e){n.hoverTrans=!1,n.$emit("mouseleave",e)},keyup:function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"enter",13,e.key,"Enter")?null:n.clickBtn(e)},click:function(e){return n.clickBtn(e)}}},[t("div",{style:"transition:all 0.3s; "+n.usePadding+" "+n.useBorderRadius+" "+n.useBorderWidth+" "+n.useBorderColor+" border-style:solid; outline:none; user-select:none;",attrs:{tabindex:"1"}},[t("div",{staticStyle:{display:"flex","align-items":"center"}},[t("div",[n._t("default",function(){return[t("div",{staticStyle:{display:"flex","align-items":"center","white-space":"nowrap"}},[n.hasIcon?t("WIcon",{style:"margin-left:-6px; margin-right:"+(n.hasText?5:-6)+"px;",attrs:{icon:n.icon,color:n.useIconColor,colorHover:n.useIconColor,size:n.iconSize}}):n._e(),n._v(" "),n.hasText?t("div",{style:"transition:all 0.3s; text-transform:none; color:"+n.useTextColor+"; "+n.useTextFontSize+" "+(n.hasIcon?"min-height:"+n.iconSize+"px":"")+"; display:flex; align-items:center;"},[n._v("\n "+n._s(n.text)+"\n ")]):n._e()],1)]})],2),n._v(" "),n.close?t("div",{style:"margin:0px -9px 0px 5px; display:inline-block; outline:none; user-select:none;",attrs:{tabindex:"2"},on:{keyup:function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"enter",13,e.key,"Enter")?null:n.clickClose(e)},click:function(e){return n.clickClose(e)}}},[t("WIcon",{attrs:{icon:n.mdiCloseCircle,color:n.useIconColor,colorHover:n.useIconColor,size:n.iconSize}})],1):n._e()])])])]},proxy:!0},{key:"content",fn:function(){return[n._v("\n "+n._s(n.tooltip)+"\n ")]},proxy:!0}],null,!0)}),n._v(" "),n.isProging?t("div",{staticStyle:{position:"absolute",left:"0",right:"0",top:"0",bottom:"0"}},[t("div",{style:n.useBorderRadius+" overflow:hidden; width:100%; height:100%;"},[t("div",{style:"background:"+n.effProgBackgroundColor+"; height:100%;"},[t("div",{style:"background:"+n.effProgColor+"; width:"+n.useProg+"%; height:100%;"})])])]):n._e(),n._v(" "),!n.editable||n.loadingTrans?t("div",{staticStyle:{position:"absolute",left:"0",right:"0",top:"0",bottom:"0"}},[t("div",{style:n.useBorderRadius+" overflow:hidden; width:100%; height:100%;"},[t("div",{style:"background:"+n.effDisabledColor+"; height:100%;"})])]):n._e(),n._v(" "),!n.isProging&&n.loadingTrans?t("div",{staticStyle:{position:"absolute",left:"0",right:"0",top:"0",bottom:"0"}},[t("div",{staticStyle:{display:"flex","align-items":"center","justify-content":"center",height:"100%"}},[t("WIconLoading",{attrs:{name:"cir-rotate",color:n.effLoadingColor,size:n.iconSize}})],1)]):n._e()],1)])};Nd._withStripped=!0;const Wd=Ur({render:Nd,staticRenderFns:[]},function(n){n&&n("data-v-58252fbc_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WButtonChip.vue"},media:void 0})},Hd,"data-v-58252fbc",false,void 0,!1,Gr,void 0,void 0);const $d={components:{WButtonChip:Wd},props:{multiCheck:{type:Boolean,default:!0},items:{type:Array,default:()=>[]},value:{type:[Array,String,Object],default:null},keyText:{type:String,default:"text"},keyIcon:{type:String,default:"icon"},keyTooltip:{type:String,default:"tooltip"},iconColor:{type:String,default:"black"},iconColorHover:{type:String,default:"grey darken-3"},iconColorActive:{type:String,default:"white"},iconSize:{type:Number,default:22},textColor:{type:String,default:"black"},textColorHover:{type:String,default:"grey darken-3"},textColorActive:{type:String,default:"white"},textFontSize:{type:String,default:"0.85rem"},borderWidth:{type:Object,default:()=>({top:1,bottom:1,left:1,right:1})},borderRadius:{type:Number,default:30},borderRadiusStyle:{type:Object,default:()=>({left:!0,right:!0})},borderColor:{type:String,default:"transparent"},borderColorHover:{type:String,default:"transparent"},borderColorActive:{type:String,default:"transparent"},backgroundColor:{type:String,default:"transparent"},backgroundColorHover:{type:String,default:"rgba(200,200,200,0.25)"},backgroundColorActive:{type:String,default:"orange"},tooltipBorderRadius:{type:Number,default:4},tooltipPaddingStyle:{type:Object,default:()=>({v:5,h:8})},tooltipTextFontSize:{type:String,default:"0.85rem"},tooltipTextColor:{type:String,default:"white"},tooltipBackgroundColor:{type:String,default:"rgba(60,60,60,0.75)"},marginStyle:{type:Object,default:()=>({top:10,bottom:10,left:0,right:10})},shadow:{type:Boolean,default:!1},shadowStyle:{type:String,default:"0 12px 20px -10px {backgroundColorAlpha=0.28}, 0 4px 20px 0 rgba(0,0,0,.12), 0 7px 8px -5px {backgroundColorAlpha=0.2}"},shadowActive:{type:Boolean,default:!0},shadowActiveStyle:{type:String,default:"0 12px 20px -10px {backgroundColorActiveAlpha=0.28}, 0 4px 20px 0 rgba(0,0,0,.12), 0 7px 8px -5px {backgroundColorActiveAlpha=0.2}"},paddingStyle:{type:Object,default:()=>({v:3,h:15})},shiftLeft:{type:Number,default:0},shiftRight:{type:Number,default:0},group:{type:Boolean,default:!1},groupBorderRadiusStyle:{type:Object,default:()=>({left:!0,right:!0})},groupShift:{type:Number,default:5},close:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},loadingColor:{type:String,default:"black"},editable:{type:Boolean,default:!0}},data:function(){return{get:an,itemsTrans:[],borderUsed:{top:!0,bottom:!0,left:!0,right:!0}}},mounted:function(){},computed:{changeItems:function(){let n=this;function e(e){let t;return t=n.multiCheck?function(n,e){function t(n){return Or(n)?n:[n]}if(Vr(n))return!1;if(0===(n=t(n)).length)return!1;if(Vr(n))return!1;if(0===(e=t(e)).length)return!1;for(let t=0;t<n.length;t++)for(let o=0;o<e.length;o++)if(Ft(n[t],e[o]))return!0;return!1}(n.value,e):Ft(e,n.value),t}let t=ho(n.items),o=st(t,t=>({active:e(t),hover:!1,borderColor:n.borderColor,borderColorHover:n.borderColorHover,borderColorActive:n.borderColorActive})),r=st(t,(e,r)=>{let i={data:e},a=o[r];i.ia=a,i.active=a.active,i.hover=!1;let l=null;r>0&&(l=o[r-1]);let s=null;r<t.length-1&&(s=o[r+1]);let d={};n.group&&(0===r&&(!0===an(n,"groupBorderRadiusStyle.left")&&(d.left=!0),!0!==an(n,"groupBorderRadiusStyle.topLeft")&&!0!==an(n,"groupBorderRadiusStyle.top-left")||(d.topLeft=!0),!0!==an(n,"groupBorderRadiusStyle.bottomLeft")&&!0!==an(n,"groupBorderRadiusStyle.bottom-left")||(d.bottomLeft=!0),!0===an(n,"groupBorderRadiusStyle.top")&&(d.topLeft=!0),!0===an(n,"groupBorderRadiusStyle.bottom")&&(d.bottomLeft=!0)),r===t.length-1&&(!0===an(n,"groupBorderRadiusStyle.right")&&(d.right=!0),!0!==an(n,"groupBorderRadiusStyle.topRight")&&!0!==an(n,"groupBorderRadiusStyle.top-right")||(d.topRight=!0),!0!==an(n,"groupBorderRadiusStyle.bottomRight")&&!0!==an(n,"groupBorderRadiusStyle.bottom-right")||(d.bottomRight=!0),!0===an(n,"groupBorderRadiusStyle.top")&&(d.topRight=!0),!0===an(n,"groupBorderRadiusStyle.bottom")&&(d.bottomRight=!0))),i.spcBorderRadiusStyle=d;let u={};n.group&&(u={top:n.borderWidth.top,bottom:n.borderWidth.bottom,left:1,right:1},0===r&&(u.left=n.borderWidth.left),r===t.length-1&&(u.right=n.borderWidth.right)),i.spcBorderWidth=u;let c={};n.group&&(c=n.getSpcBorderUsed(r,!1,l,a,s)),i.spcBorderUsed=c,i.spcBorderUsedBackup=ho(c);let p=0,f=0;return n.group&&(0===r?p=n.groupShift:r===t.length-1&&(f=n.groupShift)),i.spcShiftLeft=p,i.spcShiftRight=f,i});return n.itemsTrans=r,""},useMarginStyle:function(){return`margin:${Rr(this.marginStyle,{parse:!this.group})};`}},methods:{getSpcBorderUsed:function(n,e,t,o,r){let i={top:!0,bottom:!0,left:!0,right:!0};if(t){let n=null;n=t.hover?t.borderColorHover:t.borderColor,n=t.active?t.borderColorActive:n;let e=null;e=o.hover?o.borderColorHover:o.borderColor,e=o.active?o.borderColorActive:e;let r=!1;n===e&&(r=!0);let a=!1;t.active&&!o.active&&(a=!0);let l=!1;o.hover&&(l=!0);let s=!1;l||(s=a),s=s||r,i.left=!s}if(r){let n=!1;r.active&&!o.active&&(n=!0);let e=!1;o.hover&&(e=!0);let t=!1;e||(t=n),i.right=!t}return i},mouseenter:function(n,e){let t=this;Yn(t.itemsTrans,(n,o)=>{t.itemsTrans[o].ia.hover=o===e}),Yn(t.itemsTrans,(n,o)=>{let r=an(t,`itemsTrans[${o}].ia`,null),i=an(t,`itemsTrans[${o-1}].ia`,null),a=an(t,`itemsTrans[${o+1}].ia`,null),l=t.getSpcBorderUsed(o,o===e,i,r,a);t.itemsTrans[o].spcBorderUsed=l})},mouseleave:function(n,e){let t=this;Yn(t.itemsTrans,(n,e)=>{t.itemsTrans[e].spcBorderUsed=ho(t.itemsTrans[e].spcBorderUsedBackup)})},toggleState:function(n){let e=this;if(!1!==e.editable)if(e.multiCheck){let t=ho(e.value);if(n.active){let e=[];Yn(t,t=>{Ft(t,n.data)||e.push(t)}),t=e}else t.push(n.data);e.$nextTick(()=>{e.$emit("input",t),e.$emit("click",n.data,""+(n.active?"hide":"show"))})}else e.$nextTick(()=>{e.$emit("input",n.data),e.$emit("click",n.data)})}}};var Md=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{attrs:{changeItems:n.changeItems}},[n._l(n.itemsTrans,function(e,o){return[t("WButtonChip",{key:o,style:""+n.useMarginStyle,attrs:{text:n.get(e,"data."+n.keyText)||n.get(e,"data"),tooltip:n.get(e,"data."+n.keyTooltip),icon:n.get(e,"data."+n.keyIcon),iconColor:n.iconColor,iconColorHover:n.iconColorHover,iconColorActive:n.iconColorActive,iconSize:n.iconSize,textColor:n.textColor,textColorHover:n.textColorHover,textColorActive:n.textColorActive,textFontSize:n.textFontSize,borderUsed:n.group?e.spcBorderUsed:n.borderUsed,borderWidth:n.group?e.spcBorderWidth:n.borderWidth,borderRadius:n.borderRadius,borderRadiusStyle:n.group?e.spcBorderRadiusStyle:n.borderRadiusStyle,borderColor:n.borderColor,borderColorHover:n.borderColorHover,borderColorActive:n.borderColorActive,backgroundColor:n.backgroundColor,backgroundColorHover:n.backgroundColorHover,backgroundColorActive:n.backgroundColorActive,tooltipBorderRadius:n.tooltipBorderRadius,tooltipPaddingStyle:n.tooltipPaddingStyle,tooltipTextFontSize:n.tooltipTextFontSize,tooltipTextColor:n.tooltipTextColor,tooltipBackgroundColor:n.tooltipBackgroundColor,shadow:n.shadow,shadowStyle:n.shadowStyle,shadowActive:n.shadowActive,shadowActiveStyle:n.shadowActiveStyle,paddingStyle:n.paddingStyle,shiftLeft:n.shiftLeft+e.spcShiftLeft,shiftRight:n.shiftRight+e.spcShiftRight,_close:"close",loading:n.loading,loadingColor:n.loadingColor,editable:n.editable,disabledColor:"rgba(255,255,255,0.4)",active:e.active},on:{click:function(t){return n.toggleState(e)},mouseenter:function(t){return n.mouseenter(e,o)},mouseleave:function(t){return n.mouseleave(e,o)}}},[n._t("default",null,{item:e,kitem:o})],2)]})],2)};Md._withStripped=!0;const Dd={components:{WGroupChipCheck:Ur({render:Md,staticRenderFns:[]},function(n){n&&n("data-v-34aa0c01_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WGroupChipCheck.vue"},media:void 0})},$d,"data-v-34aa0c01",false,void 0,!1,Gr,void 0,void 0)},props:{items:{type:Array,default:()=>[]},value:{type:[String,Object],default:null},keyText:{type:String,default:"text"},keyIcon:{type:String,default:"icon"},keyTooltip:{type:String,default:"tooltip"},iconColor:{type:String,default:"black"},iconColorHover:{type:String,default:"grey darken-3"},iconColorActive:{type:String,default:"white"},iconSize:{type:Number,default:22},textColor:{type:String,default:"black"},textColorHover:{type:String,default:"grey darken-3"},textColorActive:{type:String,default:"white"},textFontSize:{type:String,default:"0.85rem"},borderWidth:{type:Object,default:()=>({top:1,bottom:1,left:1,right:1})},borderRadius:{type:Number,default:30},borderRadiusStyle:{type:Object,default:()=>({left:!0,right:!0})},borderColor:{type:String,default:"transparent"},borderColorHover:{type:String,default:"transparent"},borderColorActive:{type:String,default:"transparent"},backgroundColor:{type:String,default:"transparent"},backgroundColorHover:{type:String,default:"rgba(200,200,200,0.25)"},backgroundColorActive:{type:String,default:"orange"},tooltipBorderRadius:{type:Number,default:4},tooltipPaddingStyle:{type:Object,default:()=>({v:5,h:8})},tooltipTextFontSize:{type:String,default:"0.85rem"},tooltipTextColor:{type:String,default:"white"},tooltipBackgroundColor:{type:String,default:"rgba(60,60,60,0.75)"},marginStyle:{type:Object,default:()=>({top:10,bottom:10,left:0,right:10})},shadow:{type:Boolean,default:!1},shadowStyle:{type:String,default:"0 12px 20px -10px {backgroundColorAlpha=0.28}, 0 4px 20px 0 rgba(0,0,0,.12), 0 7px 8px -5px {backgroundColorAlpha=0.2}"},shadowActive:{type:Boolean,default:!0},shadowActiveStyle:{type:String,default:"0 12px 20px -10px {backgroundColorActiveAlpha=0.28}, 0 4px 20px 0 rgba(0,0,0,.12), 0 7px 8px -5px {backgroundColorActiveAlpha=0.2}"},paddingStyle:{type:Object,default:()=>({v:3,h:15})},shiftLeft:{type:Number,default:0},shiftRight:{type:Number,default:0},group:{type:Boolean,default:!1},groupBorderRadiusStyle:{type:Object,default:()=>({left:!0,right:!0})},groupShift:{type:Number,default:5},close:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},loadingColor:{type:String,default:"black"},editable:{type:Boolean,default:!0}},data:function(){return{}},mounted:function(){},computed:{},methods:{}};var Ld=function(){var n=this,e=n.$createElement;return(n._self._c||e)("WGroupChipCheck",n._g(n._b({scopedSlots:n._u([{key:"default",fn:function(e){return[n._t("default",null,{item:e.item,kitem:e.kitem})]}}],null,!0)},"WGroupChipCheck",Object.assign({},n.$props,{multiCheck:!1}),!1),n.$listeners))};Ld._withStripped=!0;const jd=Ur({render:Ld,staticRenderFns:[]},function(n){n&&n("data-v-55f6bd04_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WGroupChipRadio.vue"},media:void 0})},Dd,"data-v-55f6bd04",false,void 0,!1,Gr,void 0,void 0);const Rd={components:{},props:{label:{type:String,default:""},labelWidth:{type:Number,default:null},labelHeight:{type:Number,default:null},labelColor:{type:String,default:"#666"},labelFontSize:{type:String,default:"0.8rem"},labelHorizontalAlign:{type:String,default:"left"},labelVerticalAlign:{type:String,default:"center"},labelShiftTop:{type:Number,default:0},space:{type:Number,default:0},seplines:{type:Boolean,default:!1},floatForItemSub:{type:Boolean,default:!0}},data:function(){return{}},computed:{useLabelWidth:function(){let n=this;if(Bo(n.labelWidth)){return{width:`${Po(n.labelWidth)}px`}}return{}},useLabelHeight:function(){let n=this;if(Bo(n.labelHeight)){return{height:`${Po(n.labelHeight)}px`}}return{}},useLabelVerticalAlign:function(){let n=this,e="middle";return"top"!==n.labelVerticalAlign&&"bottom"!==n.labelVerticalAlign||(e=n.labelVerticalAlign),e},useLabelColor:function(){return Br(this.labelColor)}},methods:{}};var Od=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{},[n.seplines?[n._t("label",function(){return[t("div",{style:[n.useLabelWidth,n.useLabelHeight,{color:n.useLabelColor,fontSize:n.labelFontSize,textAlign:n.labelHorizontalAlign,paddingTop:n.labelShiftTop+"px",paddingBottom:n.space+"px"}]},[n._v("\n "+n._s(n.label)+"\n ")])]}),n._v(" "),t("div",{},[n._t("item"),n._v(" "),t("div",{staticStyle:{position:"relative"}},[t("div",{style:n.floatForItemSub?"position:absolute; top:0; left:0;":""},[n._t("item-sub")],2)])],2)]:[t("table",{staticStyle:{width:"100%","border-collapse":"collapse"}},[t("tr",[t("td",{style:[{verticalAlign:n.useLabelVerticalAlign,whiteSpace:"nowrap",color:n.useLabelColor,fontSize:n.labelFontSize,textAlign:n.labelHorizontalAlign}]},[n._t("label",function(){return[t("div",{style:[n.useLabelWidth,n.useLabelHeight,{paddingTop:n.labelShiftTop+"px"}]},[n._v("\n "+n._s(n.label)+":\n ")])]})],2),n._v(" "),t("td",{style:[{paddingRight:n.space+8+"px"}]}),n._v(" "),t("td",{style:[{width:"100%"}]},[n._t("item"),n._v(" "),n.floatForItemSub?t("div",{staticStyle:{position:"relative"}},[t("div",{staticStyle:{position:"absolute",top:"0",left:"0"}},[n._t("item-sub")],2)]):n._e()],2)]),n._v(" "),n.floatForItemSub?n._e():t("tr",[t("td"),n._v(" "),t("td"),n._v(" "),t("td",[n._t("item-sub")],2)])])]],2)};Od._withStripped=!0;const Vd=Ur({render:Od,staticRenderFns:[]},function(n){n&&n("data-v-6fb5db16_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WPanelLabelItem.vue"},media:void 0})},Rd,"data-v-6fb5db16",false,void 0,!1,Gr,void 0,void 0);const Yd={components:{WIcon:Kr,WTooltip:Sl},props:{paddingStyle:{type:Object,default:()=>({v:0,h:15})},backgroundColor:{type:String,default:"transparent"},backgroundColorHover:{type:String,default:"transparent"},backgroundColorFocus:{type:String,default:"transparent"},borderWidth:{type:Number,default:1},borderRadius:{type:Number,default:30},borderColor:{type:String,default:"transparent"},borderColorHover:{type:String,default:"transparent"},borderColorFocus:{type:String,default:"transparent"},shadow:{type:Boolean,default:!0},leftIcon:{type:String,default:""},leftIconSize:{type:Number,default:24},leftIconColor:{type:String,default:"deep-orange lighten-2"},leftIconColorHover:{type:String,default:"deep-orange lighten-1"},leftIconColorFocus:{type:String,default:"deep-orange lighten-1"},leftIconTooltip:{type:String,default:""},rightIcon:{type:String,default:""},rightIconSize:{type:Number,default:24},rightIconColor:{type:String,default:"deep-orange lighten-2"},rightIconColorHover:{type:String,default:"deep-orange lighten-2"},rightIconColorFocus:{type:String,default:"deep-orange lighten-1"},rightIconTooltip:{type:String,default:""},iconShiftOuter:{type:Number,default:-10},iconShiftInner:{type:Number,default:5},tooltipBorderRadius:{type:Number,default:4},tooltipPaddingStyle:{type:Object,default:()=>({v:5,h:8})},tooltipTextFontSize:{type:String,default:"0.85rem"},tooltipTextColor:{type:String,default:"white"},tooltipBackgroundColor:{type:String,default:"rgba(60,60,60,0.75)"},verticalAlign:{type:String,default:"center"},editable:{type:Boolean,default:!0},hovered:{type:Boolean,default:!1},focused:{type:Boolean,default:!1}},data:function(){return{hoveredTrans:!1,focusedTrans:!1}},computed:{changeParam:function(){let n=this;return n.hoveredTrans=n.hovered,n.focusedTrans=n.focused,""},useBackgroundColor:function(){let n=this,e={};return n.focusedTrans?(e["background-color"]=Br(n.backgroundColorFocus),e):n.hoveredTrans?(e["background-color"]=Br(n.backgroundColorHover),e):(e["background-color"]=Br(n.backgroundColor),e)},useBorder:function(){let n=this,e={};return n.focusedTrans?(e.border=`${n.borderWidth}px solid ${Br(n.borderColorFocus)}`,e):n.hoveredTrans?(e.border=`${n.borderWidth}px solid ${Br(n.borderColorHover)}`,e):(e.border=`${n.borderWidth}px solid ${Br(n.borderColor)}`,e)},useShadow:function(){let n={};return this.shadow&&(n["box-shadow"]="0 3px 1px -2px rgba(0,0,0,.2), 0 2px 2px 0 rgba(0,0,0,.14), 0 1px 5px 0 rgba(0,0,0,.12)"),n},useLeftIconColor:function(){let n=this;return n.hoveredTrans?Br(n.leftIconColorHover):n.focusedTrans?Br(n.leftIconColorFocus):Br(n.leftIconColor)},useRightIconColor:function(){let n=this;return n.hoveredTrans?Br(n.rightIconColorHover):n.focusedTrans?Br(n.rightIconColorFocus):Br(n.rightIconColor)},useTitleColor:function(){let n={};return n.color=Br(this.titleColor),n},usePadding:function(){return{padding:Rr(this.paddingStyle,{semicolon:!1})}},hasLeftIconTooltop:function(){return ft(this.leftIconTooltip)},hasRightIconTooltop:function(){return ft(this.rightIconTooltip)},useVerticalAlign:function(){let n=this,e={};return"center"===n.verticalAlign?e["align-items"]="center":"top"===n.verticalAlign?e["align-items"]="flex-start":"bottom"===n.verticalAlign&&(e["align-items"]="flex-end"),e}},methods:{clickIcon:function(n){let e=this;!1!==e.editable&&e.$nextTick(()=>{e.$emit("click-"+n)})},mouseenter:function(){let n=this;n.hoveredTrans=!0,n.$nextTick(()=>{n.$emit("update:hovered",!0)})},mouseleave:function(){let n=this;n.hoveredTrans=!1,n.$nextTick(()=>{n.$emit("update:hovered",!1)})}}};var Ud=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{attrs:{changeParam:n.changeParam}},[t("div",{style:[{transition:"all 0.3s",display:"flex","justify-content":"flex-start","border-radius":n.borderRadius+"px",opacity:n.editable?1:.6},n.usePadding,n.useBackgroundColor,n.useBorder,n.useShadow,n.useVerticalAlign],on:{mouseenter:n.mouseenter,mouseleave:n.mouseleave}},[n.leftIcon?t("div",{style:"margin-left:"+n.iconShiftOuter+"px; margin-right:"+n.iconShiftInner+"px; user-select:none; cursor:pointer; outline:none;",attrs:{tabindex:"0"},on:{keyup:function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"enter",13,e.key,"Enter")?null:n.clickIcon("left")},click:function(e){return n.clickIcon("left")}}},[t("WTooltip",{attrs:{displayType:"line",isolated:!0,borderRadius:n.tooltipBorderRadius,paddingStyle:n.tooltipPaddingStyle,textFontSize:n.tooltipTextFontSize,textColor:n.tooltipTextColor,backgroundColor:n.tooltipBackgroundColor,editable:n.hasLeftIconTooltop},scopedSlots:n._u([{key:"trigger",fn:function(){return[t("div",{attrs:{ShellEllipse:"leftIcon"}},[t("WIcon",{attrs:{icon:n.leftIcon,size:n.leftIconSize,color:n.useLeftIconColor,colorHover:n.useLeftIconColor}})],1)]},proxy:!0},{key:"content",fn:function(){return[n._v("\n "+n._s(n.leftIconTooltip)+"\n ")]},proxy:!0}],null,!1,3849071383)})],1):n._e(),n._v(" "),t("div",{style:[{width:"100%"}]},[n._t("default")],2),n._v(" "),n.rightIcon?t("div",{style:"margin-right:"+n.iconShiftOuter+"px; margin-left:"+n.iconShiftInner+"px; user-select:none; cursor:pointer; outline:none;",attrs:{tabindex:"0"},on:{keyup:function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"enter",13,e.key,"Enter")?null:n.clickIcon("right")},click:function(e){return n.clickIcon("right")}}},[t("WTooltip",{attrs:{displayType:"line",isolated:!0,borderRadius:n.tooltipBorderRadius,paddingStyle:n.tooltipPaddingStyle,textFontSize:n.tooltipTextFontSize,textColor:n.tooltipTextColor,backgroundColor:n.tooltipBackgroundColor,editable:n.hasRightIconTooltop},scopedSlots:n._u([{key:"trigger",fn:function(){return[t("div",{attrs:{ShellEllipse:"rightIcon"}},[t("WIcon",{attrs:{icon:n.rightIcon,size:n.rightIconSize,color:n.useRightIconColor,colorHover:n.useRightIconColor}})],1)]},proxy:!0},{key:"content",fn:function(){return[n._v("\n "+n._s(n.rightIconTooltip)+"\n ")]},proxy:!0}],null,!1,1563142679)})],1):n._e()])])};Ud._withStripped=!0;const Xd=Ur({render:Ud,staticRenderFns:[]},function(n){n&&n("data-v-5700bc36_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WShellEllipse.vue"},media:void 0})},Yd,"data-v-5700bc36",false,void 0,!1,Gr,void 0,void 0);const Gd={components:{},props:{borderColor:{type:String,default:"grey lighten-1"},borderColorHover:{type:String,default:"grey"},borderColorFocus:{type:String,default:"blue darken-2"},borderWidth:{type:Number,default:1},borderWidthHover:{type:Number,default:1},borderWidthFocus:{type:Number,default:2},focused:{type:Boolean,default:!1}},data:function(){return{focusedTrans:!1,hoverTrans:!1}},computed:{changeParam:function(){return this.focusedTrans=this.focused,""},useBorderWidth:function(){let n=this;return n.hoverTrans?n.borderWidthHover:n.borderWidth},useBorderColor:function(){let n=this;return n.hoverTrans?Br(n.borderColorHover):Br(n.borderColor)},useBorderColorFocus:function(){return Br(this.borderColorFocus)}},methods:{}};var Zd=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{attrs:{changeParam:n.changeParam}},[t("div",{staticStyle:{position:"relative"},on:{mouseenter:function(e){n.hoverTrans=!0},mouseleave:function(e){n.hoverTrans=!1}}},[n._t("default"),n._v(" "),t("div",{style:"position:absolute; left:0px; right:0px; bottom:0px; z-index:1; border-bottom:"+n.useBorderWidth+"px solid "+n.useBorderColor+";"}),n._v(" "),t("transition",{attrs:{name:"fade"}},[n.focused?t("div",{style:"position:absolute; left:0px; right:0px; bottom:0px; z-index:2; border-bottom:"+n.borderWidthFocus+"px solid "+n.useBorderColorFocus+";"}):n._e()])],2)])};Zd._withStripped=!0;const qd=Ur({render:Zd,staticRenderFns:[]},function(n){n&&n("data-v-73908860_0",{source:"\n.fade-enter-active[data-v-73908860], .fade-leave-active[data-v-73908860] {\r\n transition: all 0.3s;\n}\n.fade-enter[data-v-73908860], .fade-leave-to[data-v-73908860] {\r\n transform: scaleX(0);\n}\n.fade-enter-to[data-v-73908860], .fade-leave[data-v-73908860] {\r\n transform: scaleX(100%);\n}\r\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\node_modules\\w-component-vue\\src\\components\\WShellBottomLine.vue"],names:[],mappings:";AAiIA;IACA,oBAAA;AACA;AACA;IACA,oBAAA;AACA;AACA;IACA,uBAAA;AACA",file:"WShellBottomLine.vue",sourcesContent:["<template>\r\n <div :changeParam=\"changeParam\">\r\n\r\n <div\r\n style=\"position:relative;\"\r\n @mouseenter=\"hoverTrans=true\"\r\n @mouseleave=\"hoverTrans=false\"\r\n >\r\n\r\n <slot></slot>\r\n\r\n <div\r\n :style=\"`position:absolute; left:0px; right:0px; bottom:0px; z-index:1; border-bottom:${useBorderWidth}px solid ${useBorderColor};`\"\r\n ></div>\r\n\r\n <transition name=\"fade\">\r\n <div\r\n :style=\"`position:absolute; left:0px; right:0px; bottom:0px; z-index:2; border-bottom:${borderWidthFocus}px solid ${useBorderColorFocus};`\"\r\n v-if=\"focused\"\r\n ></div>\r\n </transition>\r\n\r\n </div>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport convertColor from '../js/convertColor.mjs'\r\n\r\n\r\n/**\r\n * @vue-prop {Number} [borderWidth=1] 輸入線寬度數字,單位為px,預設1\r\n * @vue-prop {String} [borderColor='grey lighten-1'] 輸入線顏色字串,預設'grey lighten-1'\r\n * @vue-prop {String} [borderColorHover='grey'] 輸入滑鼠移入時線顏色字串,預設'grey'\r\n * @vue-prop {String} [borderColorFocus='blue darken-2'] 輸入取得焦點時線顏色字串,預設'blue darken-2'\r\n * @vue-prop {Number} [borderWidthHover=1] 輸入滑鼠移入時線寬度數字,單位為px,預設1\r\n * @vue-prop {Number} [borderWidthFocus=2] 輸入取得焦點時線寬度數字,單位為px,預設2\r\n * @vue-prop {Boolean} [focused=false] 輸入是否為取得焦點狀態,預設false\r\n */\r\nexport default {\r\n components: {\r\n },\r\n props: {\r\n borderColor: {\r\n type: String,\r\n default: 'grey lighten-1',\r\n },\r\n borderColorHover: {\r\n type: String,\r\n default: 'grey',\r\n },\r\n borderColorFocus: {\r\n type: String,\r\n default: 'blue darken-2',\r\n },\r\n borderWidth: {\r\n type: Number,\r\n default: 1,\r\n },\r\n borderWidthHover: {\r\n type: Number,\r\n default: 1,\r\n },\r\n borderWidthFocus: {\r\n type: Number,\r\n default: 2,\r\n },\r\n focused: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n data: function() {\r\n return {\r\n focusedTrans: false,\r\n hoverTrans: false,\r\n }\r\n },\r\n computed: {\r\n\r\n changeParam: function () {\r\n //console.log('computed changeParam')\r\n\r\n let vo = this\r\n\r\n //focusedTrans\r\n vo.focusedTrans = vo.focused\r\n\r\n return ''\r\n },\r\n\r\n useBorderWidth: function() {\r\n //console.log('computed useBorderWidth')\r\n\r\n let vo = this\r\n\r\n if (vo.hoverTrans) {\r\n return vo.borderWidthHover\r\n }\r\n return vo.borderWidth\r\n },\r\n\r\n useBorderColor: function() {\r\n //console.log('computed useBorderColor')\r\n\r\n let vo = this\r\n\r\n if (vo.hoverTrans) {\r\n return convertColor(vo.borderColorHover)\r\n }\r\n return convertColor(vo.borderColor)\r\n },\r\n\r\n useBorderColorFocus: function() {\r\n //console.log('computed useBorderColorFocus')\r\n\r\n let vo = this\r\n\r\n return convertColor(vo.borderColorFocus)\r\n },\r\n\r\n },\r\n methods: {\r\n },\r\n}\r\n<\/script>\r\n\r\n<style scoped>\r\n.fade-enter-active, .fade-leave-active {\r\n transition: all 0.3s;\r\n}\r\n.fade-enter, .fade-leave-to {\r\n transform: scaleX(0);\r\n}\r\n.fade-enter-to, .fade-leave {\r\n transform: scaleX(100%);\r\n}\r\n</style>\r\n"]},media:void 0})},Gd,"data-v-73908860",false,void 0,!1,Gr,void 0,void 0);function Qd(n,e,t={}){let o=!1,r="";if("isstr"===e)pt(n)||(o=!0,r="需要為字串",n="");else if("isnum"===e)Bo(n)||(o=!0,r="需要為數字",n=0);else if("isp0num"===e)Pd(n)||(o=!0,r="需要為含0的正浮點數",n=0);else if("isn0num"===e)Bo(i=n)&&Po(i)<=0||(o=!0,r="需要為含0的負浮點數",n=0);else if("isint"===e)To(n)||(o=!0,r="需要為整數",n=0);else if("ispint"===e)No(n)||(o=!0,r="需要為不含0正整數",n=0);else if("isp0int"===e)$l(n)||(o=!0,r="需要為含0正整數",n=0);else if("isnint"===e)(function(n){return!!To(n)&&Ho(n)<0})(n)||(o=!0,r="需要為不含0負整數",n=0);else if("isn0int"===e)(function(n){return!!To(n)&&Ho(n)<=0})(n)||(o=!0,r="需要為含0負整數",n=0);else if("custom"===e){let e=an(t,"funCustom");if(!Lo(e))throw new Error("invalid opt.funCustom when type='custom'");let i=e(n);if(!Lr(i.err))throw new Error("invalid return.err for type='custom'");if(i.err&&!ft(i.errmsg))throw new Error("invalid return.errmsg when return.err=true for type='custom'");if(!Bo(i.value)&!pt(i.value))throw new Error("invalid return.value for type='custom'");o=i.err,r=i.errmsg,n=i.value}else if(Lo(e)){n=e(n)}else"any"===e?Bo(n)||pt(n)||(o=!0,r="需要為字串或數字",n=""):(o=!0,r="需要指定驗證類型",n=null);var i;return{value:n,err:o,errmsg:r}}const Jd={props:{type:{type:String,default:"any"},funVerify:{type:Function,default:null},value:{type:[String,Number],default:""},textFontSize:{type:String,default:"1rem"},textColor:{type:String,default:"black"},textAlign:{type:String,default:"left"},placeholder:{type:String,default:""},height:{type:[Number,String],default:""},password:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},focused:{type:Boolean,default:!1}},data:function(){return{valueTrans:"",errmsg:""}},mounted:function(){},computed:{changeValue:function(){return this.valueTrans=this.value,""},useHeight:function(){let n=this,e="";return Bo(n.height)?e=`height:${n.height}px;`:ft(n.height)&&(e=`height:${n.height}; line-height:${n.height};`),e},useTextFontSize:function(){let n=this.textFontSize;return n=Pr(n,";",""),`font-size:${n};`},useTextColor:function(){return Br(this.textColor)}},methods:{setValue:function(n){this.valueTrans=n},setFocus:function(){this.$refs.inp.focus()},updateFocused:function(n){let e=this;e.focused!==n&&e.$nextTick(()=>{e.$emit("update:focused",n)})},updateValue:function(n){let e=this,t=Qd(e.valueTrans,e.type,{funCustom:e.funVerify});e.valueTrans=t.value,e.errmsg=t.errmsg},trigger:function(n,e){let t=this;t.$nextTick(()=>{t.$emit(n,t.valueTrans,t.errmsg,e)})}}};var Kd=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{attrs:{changeValue:n.changeValue}},["checkbox"==(n.password?"password":"text")?t("input",{directives:[{name:"model",rawName:"v-model",value:n.valueTrans,expression:"valueTrans"}],ref:"inp",style:"transition:all 0.3s; display:block; outline:none; width:100%; box-sizing:border-box; border-style:none; background:transparent; color:"+n.useTextColor+"; "+n.useHeight+" text-align:"+n.textAlign+"; "+n.useTextFontSize+" opacity:"+(""!==n.valueTrans||n.focused?1:.6)+";",attrs:{readonly:!n.editable,placeholder:n.placeholder,type:"checkbox"},domProps:{checked:Array.isArray(n.valueTrans)?n._i(n.valueTrans,null)>-1:n.valueTrans},on:{input:function(e){n.updateValue(e),n.trigger("input",e),n.updateFocused(!0)},change:[function(e){var t=n.valueTrans,o=e.target,r=!!o.checked;if(Array.isArray(t)){var i=n._i(t,null);o.checked?i<0&&(n.valueTrans=t.concat([null])):i>-1&&(n.valueTrans=t.slice(0,i).concat(t.slice(i+1)))}else n.valueTrans=r},function(e){n.trigger("change",e)}],focus:function(e){return n.updateFocused(!0)},blur:function(e){n.trigger("blur",e),n.updateFocused(!1)},keyup:function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"enter",13,e.key,"Enter")?null:function(e){n.trigger("enter",e)}.apply(null,arguments)},select:function(e){n.trigger("select",e)}}}):"radio"==(n.password?"password":"text")?t("input",{directives:[{name:"model",rawName:"v-model",value:n.valueTrans,expression:"valueTrans"}],ref:"inp",style:"transition:all 0.3s; display:block; outline:none; width:100%; box-sizing:border-box; border-style:none; background:transparent; color:"+n.useTextColor+"; "+n.useHeight+" text-align:"+n.textAlign+"; "+n.useTextFontSize+" opacity:"+(""!==n.valueTrans||n.focused?1:.6)+";",attrs:{readonly:!n.editable,placeholder:n.placeholder,type:"radio"},domProps:{checked:n._q(n.valueTrans,null)},on:{input:function(e){n.updateValue(e),n.trigger("input",e),n.updateFocused(!0)},change:[function(e){n.valueTrans=null},function(e){n.trigger("change",e)}],focus:function(e){return n.updateFocused(!0)},blur:function(e){n.trigger("blur",e),n.updateFocused(!1)},keyup:function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"enter",13,e.key,"Enter")?null:function(e){n.trigger("enter",e)}.apply(null,arguments)},select:function(e){n.trigger("select",e)}}}):t("input",{directives:[{name:"model",rawName:"v-model",value:n.valueTrans,expression:"valueTrans"}],ref:"inp",style:"transition:all 0.3s; display:block; outline:none; width:100%; box-sizing:border-box; border-style:none; background:transparent; color:"+n.useTextColor+"; "+n.useHeight+" text-align:"+n.textAlign+"; "+n.useTextFontSize+" opacity:"+(""!==n.valueTrans||n.focused?1:.6)+";",attrs:{readonly:!n.editable,placeholder:n.placeholder,type:n.password?"password":"text"},domProps:{value:n.valueTrans},on:{input:[function(e){e.target.composing||(n.valueTrans=e.target.value)},function(e){n.updateValue(e),n.trigger("input",e),n.updateFocused(!0)}],change:function(e){n.trigger("change",e)},focus:function(e){return n.updateFocused(!0)},blur:function(e){n.trigger("blur",e),n.updateFocused(!1)},keyup:function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"enter",13,e.key,"Enter")?null:function(e){n.trigger("enter",e)}.apply(null,arguments)},select:function(e){n.trigger("select",e)}}})])};Kd._withStripped=!0;const nu={components:{WShellEllipse:Xd,WShellBottomLine:qd,WTextCore:Ur({render:Kd,staticRenderFns:[]},function(n){n&&n("data-v-20ff5310_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WTextCore.vue"},media:void 0})},Jd,"data-v-20ff5310",false,void 0,!1,Gr,void 0,void 0)},props:{paddingStyle:{type:Object,default:()=>({v:0,h:0})},borderRadius:{type:Number,default:30},shadow:{type:Boolean,default:!1},type:{type:String,default:"any"},funVerify:{type:Function,default:null},value:{type:[String,Number]},textFontSize:{type:String,default:"1rem"},textColor:{type:String,default:"black"},textAlign:{type:String,default:"left"},leftIcon:{type:String,default:""},leftIconSize:{type:Number,default:24},leftIconColor:{type:String,default:"blue"},leftIconColorHover:{type:String,default:"blue darken-1"},leftIconColorFocus:{type:String,default:"blue darken-1"},leftIconTooltip:{type:String,default:""},rightIcon:{type:String,default:""},rightIconSize:{type:Number,default:24},rightIconColor:{type:String,default:"blue"},rightIconColorHover:{type:String,default:"blue darken-1"},rightIconColorFocus:{type:String,default:"blue darken-1"},rightIconTooltip:{type:String,default:""},iconShiftOuter:{type:Number,default:0},iconShiftInner:{type:Number,default:5},backgroundColor:{type:String,default:"transparent"},backgroundColorHover:{type:String,default:"transparent"},backgroundColorFocus:{type:String,default:"transparent"},borderColor:{type:String,default:"transparent"},borderColorHover:{type:String,default:"transparent"},borderColorFocus:{type:String,default:"transparent"},bottomLineBorderColor:{type:String,default:"grey lighten-1"},bottomLineBorderColorHover:{type:String,default:"grey"},bottomLineBorderColorFocus:{type:String,default:"blue darken-1"},bottomLineBorderWidth:{type:Number,default:1},bottomLineBorderWidthHover:{type:Number,default:1},bottomLineBorderWidthFocus:{type:Number,default:2},placeholder:{type:String,default:""},height:{type:Number,default:28},password:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},focused:{type:Boolean,default:!1}},data:function(){return{focusedTrans:!1}},mounted:function(){},computed:{changeFocused:function(){return this.focusedTrans=this.focused,""}},methods:{modifyFocused:function(n){let e=this;e.focusedTrans=n,e.$nextTick(()=>{e.$emit("update:focused",n)})}}};var eu=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{attrs:{changeFocused:n.changeFocused}},[t("WShellBottomLine",{attrs:{borderColor:n.bottomLineBorderColor,borderColorHover:n.bottomLineBorderColorHover,borderColorFocus:n.bottomLineBorderColorFocus,borderWidth:n.bottomLineBorderWidth,borderWidthHover:n.bottomLineBorderWidthHover,borderWidthFocus:n.bottomLineBorderWidthFocus,focused:n.focusedTrans}},[t("WShellEllipse",{attrs:{paddingStyle:n.paddingStyle,borderRadius:n.borderRadius,shadow:n.shadow,leftIcon:n.leftIcon,leftIconSize:n.leftIconSize,leftIconColor:n.leftIconColor,leftIconColorHover:n.leftIconColorHover,leftIconColorFocus:n.leftIconColorFocus,leftIconTooltip:n.leftIconTooltip,rightIcon:n.rightIcon,rightIconSize:n.rightIconSize,rightIconColor:n.rightIconColor,rightIconColorHover:n.rightIconColorHover,rightIconColorFocus:n.rightIconColorFocus,rightIconTooltip:n.rightIconTooltip,iconShiftOuter:n.iconShiftOuter,iconShiftInner:n.iconShiftInner,backgroundColor:n.backgroundColor,backgroundColorHover:n.backgroundColorHover,backgroundColorFocus:n.backgroundColorFocus,borderColor:n.borderColor,borderColorHover:n.borderColorHover,borderColorFocus:n.borderColorFocus,editable:n.editable,focused:n.focusedTrans},on:{"click-left":function(e){return n.$emit("click-left")},"click-right":function(e){return n.$emit("click-right")}}},[t("WTextCore",{attrs:{type:n.type,funVerify:n.funVerify,textFontSize:n.textFontSize,textColor:n.textColor,textAlign:n.textAlign,placeholder:n.placeholder,height:n.height,password:n.password,editable:n.editable,value:n.value,focused:n.focusedTrans},on:{"update:focused":n.modifyFocused,select:function(e,t,o){n.$emit("select",e,t,o)},blur:function(e,t,o){n.$emit("blur",e,t,o)},enter:function(e,t,o){n.$emit("enter",e,t,o)},input:function(e,t,o){n.$emit("input",e,t,o)},change:function(e,t,o){n.$emit("change",e,t,o)}}})],1)],1)],1)};eu._withStripped=!0;const tu=Ur({render:eu,staticRenderFns:[]},function(n){n&&n("data-v-7277e441_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WText.vue"},media:void 0})},nu,"data-v-7277e441",false,void 0,!1,Gr,void 0,void 0);
7
+ /*!
8
+ * decimal.js v10.6.0
9
+ * An arbitrary-precision Decimal type for JavaScript.
10
+ * https://github.com/MikeMcl/decimal.js
11
+ * Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>
12
+ * MIT Licence
13
+ */
14
+ var ou,ru,iu=9e15,au=1e9,lu="0123456789abcdef",su="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",du="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",uu={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-iu,maxE:iu,crypto:!1},cu=!0,pu="[DecimalError] ",fu=pu+"Invalid argument: ",hu=pu+"Precision limit exceeded",vu=pu+"crypto unavailable",gu="[object Decimal]",mu=Math.floor,bu=Math.pow,Au=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,yu=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Cu=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,xu=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,wu=1e7,Su=su.length-1,ku=du.length-1,_u={toStringTag:gu};function Bu(n){var e,t,o,r=n.length-1,i="",a=n[0];if(r>0){for(i+=a,e=1;e<r;e++)(t=7-(o=n[e]+"").length)&&(i+=Mu(t)),i+=o;(t=7-(o=(a=n[e])+"").length)&&(i+=Mu(t))}else if(0===a)return"0";for(;a%10==0;)a/=10;return i+a}function Pu(n,e,t){if(n!==~~n||n<e||n>t)throw Error(fu+n)}function Tu(n,e,t,o){var r,i,a,l;for(i=n[0];i>=10;i/=10)--e;return--e<0?(e+=7,r=0):(r=Math.ceil((e+1)/7),e%=7),i=bu(10,7-e),l=n[r]%i|0,null==o?e<3?(0==e?l=l/100|0:1==e&&(l=l/10|0),a=t<4&&99999==l||t>3&&49999==l||5e4==l||0==l):a=(t<4&&l+1==i||t>3&&l+1==i/2)&&(n[r+1]/i/100|0)==bu(10,e-2)-1||(l==i/2||0==l)&&!(n[r+1]/i/100|0):e<4?(0==e?l=l/1e3|0:1==e?l=l/100|0:2==e&&(l=l/10|0),a=(o||t<4)&&9999==l||!o&&t>3&&4999==l):a=((o||t<4)&&l+1==i||!o&&t>3&&l+1==i/2)&&(n[r+1]/i/1e3|0)==bu(10,e-3)-1,a}function zu(n,e,t){for(var o,r,i=[0],a=0,l=n.length;a<l;){for(r=i.length;r--;)i[r]*=e;for(i[0]+=lu.indexOf(n.charAt(a++)),o=0;o<i.length;o++)i[o]>t-1&&(void 0===i[o+1]&&(i[o+1]=0),i[o+1]+=i[o]/t|0,i[o]%=t)}return i.reverse()}_u.absoluteValue=_u.abs=function(){var n=new this.constructor(this);return n.s<0&&(n.s=1),Fu(n)},_u.ceil=function(){return Fu(new this.constructor(this),this.e+1,2)},_u.clampedTo=_u.clamp=function(n,e){var t=this,o=t.constructor;if(n=new o(n),e=new o(e),!n.s||!e.s)return new o(NaN);if(n.gt(e))throw Error(fu+e);return t.cmp(n)<0?n:t.cmp(e)>0?e:new o(t)},_u.comparedTo=_u.cmp=function(n){var e,t,o,r,i=this,a=i.d,l=(n=new i.constructor(n)).d,s=i.s,d=n.s;if(!a||!l)return s&&d?s!==d?s:a===l?0:!a^s<0?1:-1:NaN;if(!a[0]||!l[0])return a[0]?s:l[0]?-d:0;if(s!==d)return s;if(i.e!==n.e)return i.e>n.e^s<0?1:-1;for(e=0,t=(o=a.length)<(r=l.length)?o:r;e<t;++e)if(a[e]!==l[e])return a[e]>l[e]^s<0?1:-1;return o===r?0:o>r^s<0?1:-1},_u.cosine=_u.cos=function(){var n,e,t=this,o=t.constructor;return t.d?t.d[0]?(n=o.precision,e=o.rounding,o.precision=n+Math.max(t.e,t.sd())+7,o.rounding=1,t=function(n,e){var t,o,r;if(e.isZero())return e;o=e.d.length,o<32?r=(1/Gu(4,t=Math.ceil(o/3))).toString():(t=16,r="2.3283064365386962890625e-10");n.precision+=t,e=Xu(n,1,e.times(r),new n(1));for(var i=t;i--;){var a=e.times(e);e=a.times(a).minus(a).times(8).plus(1)}return n.precision-=t,e}(o,Zu(o,t)),o.precision=n,o.rounding=e,Fu(2==ru||3==ru?t.neg():t,n,e,!0)):new o(1):new o(NaN)},_u.cubeRoot=_u.cbrt=function(){var n,e,t,o,r,i,a,l,s,d,u=this,c=u.constructor;if(!u.isFinite()||u.isZero())return new c(u);for(cu=!1,(i=u.s*bu(u.s*u,1/3))&&Math.abs(i)!=1/0?o=new c(i.toString()):(t=Bu(u.d),(i=((n=u.e)-t.length+1)%3)&&(t+=1==i||-2==i?"0":"00"),i=bu(t,1/3),n=mu((n+1)/3)-(n%3==(n<0?-1:2)),(o=new c(t=i==1/0?"5e"+n:(t=i.toExponential()).slice(0,t.indexOf("e")+1)+n)).s=u.s),a=(n=c.precision)+3;;)if(d=(s=(l=o).times(l).times(l)).plus(u),o=Eu(d.plus(u).times(l),d.plus(s),a+2,1),Bu(l.d).slice(0,a)===(t=Bu(o.d)).slice(0,a)){if("9999"!=(t=t.slice(a-3,a+1))&&(r||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(Fu(o,n+1,1),e=!o.times(o).times(o).eq(u));break}if(!r&&(Fu(l,n+1,0),l.times(l).times(l).eq(u))){o=l;break}a+=4,r=1}return cu=!0,Fu(o,n,c.rounding,e)},_u.decimalPlaces=_u.dp=function(){var n,e=this.d,t=NaN;if(e){if(t=7*((n=e.length-1)-mu(this.e/7)),n=e[n])for(;n%10==0;n/=10)t--;t<0&&(t=0)}return t},_u.dividedBy=_u.div=function(n){return Eu(this,new this.constructor(n))},_u.dividedToIntegerBy=_u.divToInt=function(n){var e=this.constructor;return Fu(Eu(this,new e(n),0,1,1),e.precision,e.rounding)},_u.equals=_u.eq=function(n){return 0===this.cmp(n)},_u.floor=function(){return Fu(new this.constructor(this),this.e+1,3)},_u.greaterThan=_u.gt=function(n){return this.cmp(n)>0},_u.greaterThanOrEqualTo=_u.gte=function(n){var e=this.cmp(n);return 1==e||0===e},_u.hyperbolicCosine=_u.cosh=function(){var n,e,t,o,r,i=this,a=i.constructor,l=new a(1);if(!i.isFinite())return new a(i.s?1/0:NaN);if(i.isZero())return l;t=a.precision,o=a.rounding,a.precision=t+Math.max(i.e,i.sd())+4,a.rounding=1,(r=i.d.length)<32?e=(1/Gu(4,n=Math.ceil(r/3))).toString():(n=16,e="2.3283064365386962890625e-10"),i=Xu(a,1,i.times(e),new a(1),!0);for(var s,d=n,u=new a(8);d--;)s=i.times(i),i=l.minus(s.times(u.minus(s.times(u))));return Fu(i,a.precision=t,a.rounding=o,!0)},_u.hyperbolicSine=_u.sinh=function(){var n,e,t,o,r=this,i=r.constructor;if(!r.isFinite()||r.isZero())return new i(r);if(e=i.precision,t=i.rounding,i.precision=e+Math.max(r.e,r.sd())+4,i.rounding=1,(o=r.d.length)<3)r=Xu(i,2,r,r,!0);else{n=(n=1.4*Math.sqrt(o))>16?16:0|n,r=Xu(i,2,r=r.times(1/Gu(5,n)),r,!0);for(var a,l=new i(5),s=new i(16),d=new i(20);n--;)a=r.times(r),r=r.times(l.plus(a.times(s.times(a).plus(d))))}return i.precision=e,i.rounding=t,Fu(r,e,t,!0)},_u.hyperbolicTangent=_u.tanh=function(){var n,e,t=this,o=t.constructor;return t.isFinite()?t.isZero()?new o(t):(n=o.precision,e=o.rounding,o.precision=n+7,o.rounding=1,Eu(t.sinh(),t.cosh(),o.precision=n,o.rounding=e)):new o(t.s)},_u.inverseCosine=_u.acos=function(){var n=this,e=n.constructor,t=n.abs().cmp(1),o=e.precision,r=e.rounding;return-1!==t?0===t?n.isNeg()?Wu(e,o,r):new e(0):new e(NaN):n.isZero()?Wu(e,o+4,r).times(.5):(e.precision=o+6,e.rounding=1,n=new e(1).minus(n).div(n.plus(1)).sqrt().atan(),e.precision=o,e.rounding=r,n.times(2))},_u.inverseHyperbolicCosine=_u.acosh=function(){var n,e,t=this,o=t.constructor;return t.lte(1)?new o(t.eq(1)?0:NaN):t.isFinite()?(n=o.precision,e=o.rounding,o.precision=n+Math.max(Math.abs(t.e),t.sd())+4,o.rounding=1,cu=!1,t=t.times(t).minus(1).sqrt().plus(t),cu=!0,o.precision=n,o.rounding=e,t.ln()):new o(t)},_u.inverseHyperbolicSine=_u.asinh=function(){var n,e,t=this,o=t.constructor;return!t.isFinite()||t.isZero()?new o(t):(n=o.precision,e=o.rounding,o.precision=n+2*Math.max(Math.abs(t.e),t.sd())+6,o.rounding=1,cu=!1,t=t.times(t).plus(1).sqrt().plus(t),cu=!0,o.precision=n,o.rounding=e,t.ln())},_u.inverseHyperbolicTangent=_u.atanh=function(){var n,e,t,o,r=this,i=r.constructor;return r.isFinite()?r.e>=0?new i(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(n=i.precision,e=i.rounding,o=r.sd(),Math.max(o,n)<2*-r.e-1?Fu(new i(r),n,e,!0):(i.precision=t=o-r.e,r=Eu(r.plus(1),new i(1).minus(r),t+n,1),i.precision=n+4,i.rounding=1,r=r.ln(),i.precision=n,i.rounding=e,r.times(.5))):new i(NaN)},_u.inverseSine=_u.asin=function(){var n,e,t,o,r=this,i=r.constructor;return r.isZero()?new i(r):(e=r.abs().cmp(1),t=i.precision,o=i.rounding,-1!==e?0===e?((n=Wu(i,t+4,o).times(.5)).s=r.s,n):new i(NaN):(i.precision=t+6,i.rounding=1,r=r.div(new i(1).minus(r.times(r)).sqrt().plus(1)).atan(),i.precision=t,i.rounding=o,r.times(2)))},_u.inverseTangent=_u.atan=function(){var n,e,t,o,r,i,a,l,s,d=this,u=d.constructor,c=u.precision,p=u.rounding;if(d.isFinite()){if(d.isZero())return new u(d);if(d.abs().eq(1)&&c+4<=ku)return(a=Wu(u,c+4,p).times(.25)).s=d.s,a}else{if(!d.s)return new u(NaN);if(c+4<=ku)return(a=Wu(u,c+4,p).times(.5)).s=d.s,a}for(u.precision=l=c+10,u.rounding=1,n=t=Math.min(28,l/7+2|0);n;--n)d=d.div(d.times(d).plus(1).sqrt().plus(1));for(cu=!1,e=Math.ceil(l/7),o=1,s=d.times(d),a=new u(d),r=d;-1!==n;)if(r=r.times(s),i=a.minus(r.div(o+=2)),r=r.times(s),void 0!==(a=i.plus(r.div(o+=2))).d[e])for(n=e;a.d[n]===i.d[n]&&n--;);return t&&(a=a.times(2<<t-1)),cu=!0,Fu(a,u.precision=c,u.rounding=p,!0)},_u.isFinite=function(){return!!this.d},_u.isInteger=_u.isInt=function(){return!!this.d&&mu(this.e/7)>this.d.length-2},_u.isNaN=function(){return!this.s},_u.isNegative=_u.isNeg=function(){return this.s<0},_u.isPositive=_u.isPos=function(){return this.s>0},_u.isZero=function(){return!!this.d&&0===this.d[0]},_u.lessThan=_u.lt=function(n){return this.cmp(n)<0},_u.lessThanOrEqualTo=_u.lte=function(n){return this.cmp(n)<1},_u.logarithm=_u.log=function(n){var e,t,o,r,i,a,l,s,d=this,u=d.constructor,c=u.precision,p=u.rounding;if(null==n)n=new u(10),e=!0;else{if(t=(n=new u(n)).d,n.s<0||!t||!t[0]||n.eq(1))return new u(NaN);e=n.eq(10)}if(t=d.d,d.s<0||!t||!t[0]||d.eq(1))return new u(t&&!t[0]?-1/0:1!=d.s?NaN:t?0:1/0);if(e)if(t.length>1)i=!0;else{for(r=t[0];r%10==0;)r/=10;i=1!==r}if(cu=!1,a=Ou(d,l=c+5),o=e?Nu(u,l+10):Ou(n,l),Tu((s=Eu(a,o,l,1)).d,r=c,p))do{if(a=Ou(d,l+=10),o=e?Nu(u,l+10):Ou(n,l),s=Eu(a,o,l,1),!i){+Bu(s.d).slice(r+1,r+15)+1==1e14&&(s=Fu(s,c+1,0));break}}while(Tu(s.d,r+=10,p));return cu=!0,Fu(s,c,p)},_u.minus=_u.sub=function(n){var e,t,o,r,i,a,l,s,d,u,c,p,f=this,h=f.constructor;if(n=new h(n),!f.d||!n.d)return f.s&&n.s?f.d?n.s=-n.s:n=new h(n.d||f.s!==n.s?f:NaN):n=new h(NaN),n;if(f.s!=n.s)return n.s=-n.s,f.plus(n);if(d=f.d,p=n.d,l=h.precision,s=h.rounding,!d[0]||!p[0]){if(p[0])n.s=-n.s;else{if(!d[0])return new h(3===s?-0:0);n=new h(f)}return cu?Fu(n,l,s):n}if(t=mu(n.e/7),u=mu(f.e/7),d=d.slice(),i=u-t){for((c=i<0)?(e=d,i=-i,a=p.length):(e=p,t=u,a=d.length),i>(o=Math.max(Math.ceil(l/7),a)+2)&&(i=o,e.length=1),e.reverse(),o=i;o--;)e.push(0);e.reverse()}else{for((c=(o=d.length)<(a=p.length))&&(a=o),o=0;o<a;o++)if(d[o]!=p[o]){c=d[o]<p[o];break}i=0}for(c&&(e=d,d=p,p=e,n.s=-n.s),a=d.length,o=p.length-a;o>0;--o)d[a++]=0;for(o=p.length;o>i;){if(d[--o]<p[o]){for(r=o;r&&0===d[--r];)d[r]=wu-1;--d[r],d[o]+=wu}d[o]-=p[o]}for(;0===d[--a];)d.pop();for(;0===d[0];d.shift())--t;return d[0]?(n.d=d,n.e=Hu(d,t),cu?Fu(n,l,s):n):new h(3===s?-0:0)},_u.modulo=_u.mod=function(n){var e,t=this,o=t.constructor;return n=new o(n),!t.d||!n.s||n.d&&!n.d[0]?new o(NaN):!n.d||t.d&&!t.d[0]?Fu(new o(t),o.precision,o.rounding):(cu=!1,9==o.modulo?(e=Eu(t,n.abs(),0,3,1)).s*=n.s:e=Eu(t,n,0,o.modulo,1),e=e.times(n),cu=!0,t.minus(e))},_u.naturalExponential=_u.exp=function(){return Ru(this)},_u.naturalLogarithm=_u.ln=function(){return Ou(this)},_u.negated=_u.neg=function(){var n=new this.constructor(this);return n.s=-n.s,Fu(n)},_u.plus=_u.add=function(n){var e,t,o,r,i,a,l,s,d,u,c=this,p=c.constructor;if(n=new p(n),!c.d||!n.d)return c.s&&n.s?c.d||(n=new p(n.d||c.s===n.s?c:NaN)):n=new p(NaN),n;if(c.s!=n.s)return n.s=-n.s,c.minus(n);if(d=c.d,u=n.d,l=p.precision,s=p.rounding,!d[0]||!u[0])return u[0]||(n=new p(c)),cu?Fu(n,l,s):n;if(i=mu(c.e/7),o=mu(n.e/7),d=d.slice(),r=i-o){for(r<0?(t=d,r=-r,a=u.length):(t=u,o=i,a=d.length),r>(a=(i=Math.ceil(l/7))>a?i+1:a+1)&&(r=a,t.length=1),t.reverse();r--;)t.push(0);t.reverse()}for((a=d.length)-(r=u.length)<0&&(r=a,t=u,u=d,d=t),e=0;r;)e=(d[--r]=d[r]+u[r]+e)/wu|0,d[r]%=wu;for(e&&(d.unshift(e),++o),a=d.length;0==d[--a];)d.pop();return n.d=d,n.e=Hu(d,o),cu?Fu(n,l,s):n},_u.precision=_u.sd=function(n){var e,t=this;if(void 0!==n&&n!==!!n&&1!==n&&0!==n)throw Error(fu+n);return t.d?(e=$u(t.d),n&&t.e+1>e&&(e=t.e+1)):e=NaN,e},_u.round=function(){var n=this,e=n.constructor;return Fu(new e(n),n.e+1,e.rounding)},_u.sine=_u.sin=function(){var n,e,t=this,o=t.constructor;return t.isFinite()?t.isZero()?new o(t):(n=o.precision,e=o.rounding,o.precision=n+Math.max(t.e,t.sd())+7,o.rounding=1,t=function(n,e){var t,o=e.d.length;if(o<3)return e.isZero()?e:Xu(n,2,e,e);t=(t=1.4*Math.sqrt(o))>16?16:0|t,e=e.times(1/Gu(5,t)),e=Xu(n,2,e,e);for(var r,i=new n(5),a=new n(16),l=new n(20);t--;)r=e.times(e),e=e.times(i.plus(r.times(a.times(r).minus(l))));return e}(o,Zu(o,t)),o.precision=n,o.rounding=e,Fu(ru>2?t.neg():t,n,e,!0)):new o(NaN)},_u.squareRoot=_u.sqrt=function(){var n,e,t,o,r,i,a=this,l=a.d,s=a.e,d=a.s,u=a.constructor;if(1!==d||!l||!l[0])return new u(!d||d<0&&(!l||l[0])?NaN:l?a:1/0);for(cu=!1,0==(d=Math.sqrt(+a))||d==1/0?(((e=Bu(l)).length+s)%2==0&&(e+="0"),d=Math.sqrt(e),s=mu((s+1)/2)-(s<0||s%2),o=new u(e=d==1/0?"5e"+s:(e=d.toExponential()).slice(0,e.indexOf("e")+1)+s)):o=new u(d.toString()),t=(s=u.precision)+3;;)if(o=(i=o).plus(Eu(a,i,t+2,1)).times(.5),Bu(i.d).slice(0,t)===(e=Bu(o.d)).slice(0,t)){if("9999"!=(e=e.slice(t-3,t+1))&&(r||"4999"!=e)){+e&&(+e.slice(1)||"5"!=e.charAt(0))||(Fu(o,s+1,1),n=!o.times(o).eq(a));break}if(!r&&(Fu(i,s+1,0),i.times(i).eq(a))){o=i;break}t+=4,r=1}return cu=!0,Fu(o,s,u.rounding,n)},_u.tangent=_u.tan=function(){var n,e,t=this,o=t.constructor;return t.isFinite()?t.isZero()?new o(t):(n=o.precision,e=o.rounding,o.precision=n+10,o.rounding=1,(t=t.sin()).s=1,t=Eu(t,new o(1).minus(t.times(t)).sqrt(),n+10,0),o.precision=n,o.rounding=e,Fu(2==ru||4==ru?t.neg():t,n,e,!0)):new o(NaN)},_u.times=_u.mul=function(n){var e,t,o,r,i,a,l,s,d,u=this,c=u.constructor,p=u.d,f=(n=new c(n)).d;if(n.s*=u.s,!(p&&p[0]&&f&&f[0]))return new c(!n.s||p&&!p[0]&&!f||f&&!f[0]&&!p?NaN:p&&f?0*n.s:n.s/0);for(t=mu(u.e/7)+mu(n.e/7),(s=p.length)<(d=f.length)&&(i=p,p=f,f=i,a=s,s=d,d=a),i=[],o=a=s+d;o--;)i.push(0);for(o=d;--o>=0;){for(e=0,r=s+o;r>o;)l=i[r]+f[o]*p[r-o-1]+e,i[r--]=l%wu|0,e=l/wu|0;i[r]=(i[r]+e)%wu|0}for(;!i[--a];)i.pop();return e?++t:i.shift(),n.d=i,n.e=Hu(i,t),cu?Fu(n,c.precision,c.rounding):n},_u.toBinary=function(n,e){return qu(this,2,n,e)},_u.toDecimalPlaces=_u.toDP=function(n,e){var t=this,o=t.constructor;return t=new o(t),void 0===n?t:(Pu(n,0,au),void 0===e?e=o.rounding:Pu(e,0,8),Fu(t,n+t.e+1,e))},_u.toExponential=function(n,e){var t,o=this,r=o.constructor;return void 0===n?t=Iu(o,!0):(Pu(n,0,au),void 0===e?e=r.rounding:Pu(e,0,8),t=Iu(o=Fu(new r(o),n+1,e),!0,n+1)),o.isNeg()&&!o.isZero()?"-"+t:t},_u.toFixed=function(n,e){var t,o,r=this,i=r.constructor;return void 0===n?t=Iu(r):(Pu(n,0,au),void 0===e?e=i.rounding:Pu(e,0,8),t=Iu(o=Fu(new i(r),n+r.e+1,e),!1,n+o.e+1)),r.isNeg()&&!r.isZero()?"-"+t:t},_u.toFraction=function(n){var e,t,o,r,i,a,l,s,d,u,c,p,f=this,h=f.d,v=f.constructor;if(!h)return new v(f);if(d=t=new v(1),o=s=new v(0),a=(i=(e=new v(o)).e=$u(h)-f.e-1)%7,e.d[0]=bu(10,a<0?7+a:a),null==n)n=i>0?e:d;else{if(!(l=new v(n)).isInt()||l.lt(d))throw Error(fu+l);n=l.gt(e)?i>0?e:d:l}for(cu=!1,l=new v(Bu(h)),u=v.precision,v.precision=i=7*h.length*2;c=Eu(l,e,0,1,1),1!=(r=t.plus(c.times(o))).cmp(n);)t=o,o=r,r=d,d=s.plus(c.times(r)),s=r,r=e,e=l.minus(c.times(r)),l=r;return r=Eu(n.minus(t),o,0,1,1),s=s.plus(r.times(d)),t=t.plus(r.times(o)),s.s=d.s=f.s,p=Eu(d,o,i,1).minus(f).abs().cmp(Eu(s,t,i,1).minus(f).abs())<1?[d,o]:[s,t],v.precision=u,cu=!0,p},_u.toHexadecimal=_u.toHex=function(n,e){return qu(this,16,n,e)},_u.toNearest=function(n,e){var t=this,o=t.constructor;if(t=new o(t),null==n){if(!t.d)return t;n=new o(1),e=o.rounding}else{if(n=new o(n),void 0===e?e=o.rounding:Pu(e,0,8),!t.d)return n.s?t:n;if(!n.d)return n.s&&(n.s=t.s),n}return n.d[0]?(cu=!1,t=Eu(t,n,0,e,1).times(n),cu=!0,Fu(t)):(n.s=t.s,t=n),t},_u.toNumber=function(){return+this},_u.toOctal=function(n,e){return qu(this,8,n,e)},_u.toPower=_u.pow=function(n){var e,t,o,r,i,a,l=this,s=l.constructor,d=+(n=new s(n));if(!(l.d&&n.d&&l.d[0]&&n.d[0]))return new s(bu(+l,d));if((l=new s(l)).eq(1))return l;if(o=s.precision,i=s.rounding,n.eq(1))return Fu(l,o,i);if((e=mu(n.e/7))>=n.d.length-1&&(t=d<0?-d:d)<=9007199254740991)return r=Du(s,l,t,o),n.s<0?new s(1).div(r):Fu(r,o,i);if((a=l.s)<0){if(e<n.d.length-1)return new s(NaN);if(1&n.d[e]||(a=1),0==l.e&&1==l.d[0]&&1==l.d.length)return l.s=a,l}return(e=0!=(t=bu(+l,d))&&isFinite(t)?new s(t+"").e:mu(d*(Math.log("0."+Bu(l.d))/Math.LN10+l.e+1)))>s.maxE+1||e<s.minE-1?new s(e>0?a/0:0):(cu=!1,s.rounding=l.s=1,t=Math.min(12,(e+"").length),(r=Ru(n.times(Ou(l,o+t)),o)).d&&Tu((r=Fu(r,o+5,1)).d,o,i)&&(e=o+10,+Bu((r=Fu(Ru(n.times(Ou(l,e+t)),e),e+5,1)).d).slice(o+1,o+15)+1==1e14&&(r=Fu(r,o+1,0))),r.s=a,cu=!0,s.rounding=i,Fu(r,o,i))},_u.toPrecision=function(n,e){var t,o=this,r=o.constructor;return void 0===n?t=Iu(o,o.e<=r.toExpNeg||o.e>=r.toExpPos):(Pu(n,1,au),void 0===e?e=r.rounding:Pu(e,0,8),t=Iu(o=Fu(new r(o),n,e),n<=o.e||o.e<=r.toExpNeg,n)),o.isNeg()&&!o.isZero()?"-"+t:t},_u.toSignificantDigits=_u.toSD=function(n,e){var t=this.constructor;return void 0===n?(n=t.precision,e=t.rounding):(Pu(n,1,au),void 0===e?e=t.rounding:Pu(e,0,8)),Fu(new t(this),n,e)},_u.toString=function(){var n=this,e=n.constructor,t=Iu(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()&&!n.isZero()?"-"+t:t},_u.truncated=_u.trunc=function(){return Fu(new this.constructor(this),this.e+1,1)},_u.valueOf=_u.toJSON=function(){var n=this,e=n.constructor,t=Iu(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()?"-"+t:t};var Eu=function(){function n(n,e,t){var o,r=0,i=n.length;for(n=n.slice();i--;)o=n[i]*e+r,n[i]=o%t|0,r=o/t|0;return r&&n.unshift(r),n}function e(n,e,t,o){var r,i;if(t!=o)i=t>o?1:-1;else for(r=i=0;r<t;r++)if(n[r]!=e[r]){i=n[r]>e[r]?1:-1;break}return i}function t(n,e,t,o){for(var r=0;t--;)n[t]-=r,r=n[t]<e[t]?1:0,n[t]=r*o+n[t]-e[t];for(;!n[0]&&n.length>1;)n.shift()}return function(o,r,i,a,l,s){var d,u,c,p,f,h,v,g,m,b,A,y,C,x,w,S,k,_,B,P,T=o.constructor,z=o.s==r.s?1:-1,E=o.d,F=r.d;if(!(E&&E[0]&&F&&F[0]))return new T(o.s&&r.s&&(E?!F||E[0]!=F[0]:F)?E&&0==E[0]||!F?0*z:z/0:NaN);for(s?(f=1,u=o.e-r.e):(s=wu,f=7,u=mu(o.e/f)-mu(r.e/f)),B=F.length,k=E.length,b=(m=new T(z)).d=[],c=0;F[c]==(E[c]||0);c++);if(F[c]>(E[c]||0)&&u--,null==i?(x=i=T.precision,a=T.rounding):x=l?i+(o.e-r.e)+1:i,x<0)b.push(1),h=!0;else{if(x=x/f+2|0,c=0,1==B){for(p=0,F=F[0],x++;(c<k||p)&&x--;c++)w=p*s+(E[c]||0),b[c]=w/F|0,p=w%F|0;h=p||c<k}else{for((p=s/(F[0]+1)|0)>1&&(F=n(F,p,s),E=n(E,p,s),B=F.length,k=E.length),S=B,y=(A=E.slice(0,B)).length;y<B;)A[y++]=0;(P=F.slice()).unshift(0),_=F[0],F[1]>=s/2&&++_;do{p=0,(d=e(F,A,B,y))<0?(C=A[0],B!=y&&(C=C*s+(A[1]||0)),(p=C/_|0)>1?(p>=s&&(p=s-1),1==(d=e(v=n(F,p,s),A,g=v.length,y=A.length))&&(p--,t(v,B<g?P:F,g,s))):(0==p&&(d=p=1),v=F.slice()),(g=v.length)<y&&v.unshift(0),t(A,v,y,s),-1==d&&(d=e(F,A,B,y=A.length))<1&&(p++,t(A,B<y?P:F,y,s)),y=A.length):0===d&&(p++,A=[0]),b[c++]=p,d&&A[0]?A[y++]=E[S]||0:(A=[E[S]],y=1)}while((S++<k||void 0!==A[0])&&x--);h=void 0!==A[0]}b[0]||b.shift()}if(1==f)m.e=u,ou=h;else{for(c=1,p=b[0];p>=10;p/=10)c++;m.e=c+u*f-1,Fu(m,l?i+m.e+1:i,a,h)}return m}}();function Fu(n,e,t,o){var r,i,a,l,s,d,u,c,p,f=n.constructor;n:if(null!=e){if(!(c=n.d))return n;for(r=1,l=c[0];l>=10;l/=10)r++;if((i=e-r)<0)i+=7,a=e,s=(u=c[p=0])/bu(10,r-a-1)%10|0;else if((p=Math.ceil((i+1)/7))>=(l=c.length)){if(!o)break n;for(;l++<=p;)c.push(0);u=s=0,r=1,a=(i%=7)-7+1}else{for(u=l=c[p],r=1;l>=10;l/=10)r++;s=(a=(i%=7)-7+r)<0?0:u/bu(10,r-a-1)%10|0}if(o=o||e<0||void 0!==c[p+1]||(a<0?u:u%bu(10,r-a-1)),d=t<4?(s||o)&&(0==t||t==(n.s<0?3:2)):s>5||5==s&&(4==t||o||6==t&&(i>0?a>0?u/bu(10,r-a):0:c[p-1])%10&1||t==(n.s<0?8:7)),e<1||!c[0])return c.length=0,d?(e-=n.e+1,c[0]=bu(10,(7-e%7)%7),n.e=-e||0):c[0]=n.e=0,n;if(0==i?(c.length=p,l=1,p--):(c.length=p+1,l=bu(10,7-i),c[p]=a>0?(u/bu(10,r-a)%bu(10,a)|0)*l:0),d)for(;;){if(0==p){for(i=1,a=c[0];a>=10;a/=10)i++;for(a=c[0]+=l,l=1;a>=10;a/=10)l++;i!=l&&(n.e++,c[0]==wu&&(c[0]=1));break}if(c[p]+=l,c[p]!=wu)break;c[p--]=0,l=1}for(i=c.length;0===c[--i];)c.pop()}return cu&&(n.e>f.maxE?(n.d=null,n.e=NaN):n.e<f.minE&&(n.e=0,n.d=[0])),n}function Iu(n,e,t){if(!n.isFinite())return Vu(n);var o,r=n.e,i=Bu(n.d),a=i.length;return e?(t&&(o=t-a)>0?i=i.charAt(0)+"."+i.slice(1)+Mu(o):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(n.e<0?"e":"e+")+n.e):r<0?(i="0."+Mu(-r-1)+i,t&&(o=t-a)>0&&(i+=Mu(o))):r>=a?(i+=Mu(r+1-a),t&&(o=t-r-1)>0&&(i=i+"."+Mu(o))):((o=r+1)<a&&(i=i.slice(0,o)+"."+i.slice(o)),t&&(o=t-a)>0&&(r+1===a&&(i+="."),i+=Mu(o))),i}function Hu(n,e){var t=n[0];for(e*=7;t>=10;t/=10)e++;return e}function Nu(n,e,t){if(e>Su)throw cu=!0,t&&(n.precision=t),Error(hu);return Fu(new n(su),e,1,!0)}function Wu(n,e,t){if(e>ku)throw Error(hu);return Fu(new n(du),e,t,!0)}function $u(n){var e=n.length-1,t=7*e+1;if(e=n[e]){for(;e%10==0;e/=10)t--;for(e=n[0];e>=10;e/=10)t++}return t}function Mu(n){for(var e="";n--;)e+="0";return e}function Du(n,e,t,o){var r,i=new n(1),a=Math.ceil(o/7+4);for(cu=!1;;){if(t%2&&Qu((i=i.times(e)).d,a)&&(r=!0),0===(t=mu(t/2))){t=i.d.length-1,r&&0===i.d[t]&&++i.d[t];break}Qu((e=e.times(e)).d,a)}return cu=!0,i}function Lu(n){return 1&n.d[n.d.length-1]}function ju(n,e,t){for(var o,r,i=new n(e[0]),a=0;++a<e.length;){if(!(r=new n(e[a])).s){i=r;break}((o=i.cmp(r))===t||0===o&&i.s===t)&&(i=r)}return i}function Ru(n,e){var t,o,r,i,a,l,s,d=0,u=0,c=0,p=n.constructor,f=p.rounding,h=p.precision;if(!n.d||!n.d[0]||n.e>17)return new p(n.d?n.d[0]?n.s<0?0:1/0:1:n.s?n.s<0?0:n:NaN);for(null==e?(cu=!1,s=h):s=e,l=new p(.03125);n.e>-2;)n=n.times(l),c+=5;for(s+=o=Math.log(bu(2,c))/Math.LN10*2+5|0,t=i=a=new p(1),p.precision=s;;){if(i=Fu(i.times(n),s,1),t=t.times(++u),Bu((l=a.plus(Eu(i,t,s,1))).d).slice(0,s)===Bu(a.d).slice(0,s)){for(r=c;r--;)a=Fu(a.times(a),s,1);if(null!=e)return p.precision=h,a;if(!(d<3&&Tu(a.d,s-o,f,d)))return Fu(a,p.precision=h,f,cu=!0);p.precision=s+=10,t=i=l=new p(1),u=0,d++}a=l}}function Ou(n,e){var t,o,r,i,a,l,s,d,u,c,p,f=1,h=n,v=h.d,g=h.constructor,m=g.rounding,b=g.precision;if(h.s<0||!v||!v[0]||!h.e&&1==v[0]&&1==v.length)return new g(v&&!v[0]?-1/0:1!=h.s?NaN:v?0:h);if(null==e?(cu=!1,u=b):u=e,g.precision=u+=10,o=(t=Bu(v)).charAt(0),!(Math.abs(i=h.e)<15e14))return d=Nu(g,u+2,b).times(i+""),h=Ou(new g(o+"."+t.slice(1)),u-10).plus(d),g.precision=b,null==e?Fu(h,b,m,cu=!0):h;for(;o<7&&1!=o||1==o&&t.charAt(1)>3;)o=(t=Bu((h=h.times(n)).d)).charAt(0),f++;for(i=h.e,o>1?(h=new g("0."+t),i++):h=new g(o+"."+t.slice(1)),c=h,s=a=h=Eu(h.minus(1),h.plus(1),u,1),p=Fu(h.times(h),u,1),r=3;;){if(a=Fu(a.times(p),u,1),Bu((d=s.plus(Eu(a,new g(r),u,1))).d).slice(0,u)===Bu(s.d).slice(0,u)){if(s=s.times(2),0!==i&&(s=s.plus(Nu(g,u+2,b).times(i+""))),s=Eu(s,new g(f),u,1),null!=e)return g.precision=b,s;if(!Tu(s.d,u-10,m,l))return Fu(s,g.precision=b,m,cu=!0);g.precision=u+=10,d=a=h=Eu(c.minus(1),c.plus(1),u,1),p=Fu(h.times(h),u,1),r=l=1}s=d,r+=2}}function Vu(n){return String(n.s*n.s/0)}function Yu(n,e){var t,o,r;for((t=e.indexOf("."))>-1&&(e=e.replace(".","")),(o=e.search(/e/i))>0?(t<0&&(t=o),t+=+e.slice(o+1),e=e.substring(0,o)):t<0&&(t=e.length),o=0;48===e.charCodeAt(o);o++);for(r=e.length;48===e.charCodeAt(r-1);--r);if(e=e.slice(o,r)){if(r-=o,n.e=t=t-o-1,n.d=[],o=(t+1)%7,t<0&&(o+=7),o<r){for(o&&n.d.push(+e.slice(0,o)),r-=7;o<r;)n.d.push(+e.slice(o,o+=7));o=7-(e=e.slice(o)).length}else o-=r;for(;o--;)e+="0";n.d.push(+e),cu&&(n.e>n.constructor.maxE?(n.d=null,n.e=NaN):n.e<n.constructor.minE&&(n.e=0,n.d=[0]))}else n.e=0,n.d=[0];return n}function Uu(n,e){var t,o,r,i,a,l,s,d,u;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),xu.test(e))return Yu(n,e)}else if("Infinity"===e||"NaN"===e)return+e||(n.s=NaN),n.e=NaN,n.d=null,n;if(yu.test(e))t=16,e=e.toLowerCase();else if(Au.test(e))t=2;else{if(!Cu.test(e))throw Error(fu+e);t=8}for((i=e.search(/p/i))>0?(s=+e.slice(i+1),e=e.substring(2,i)):e=e.slice(2),a=(i=e.indexOf("."))>=0,o=n.constructor,a&&(i=(l=(e=e.replace(".","")).length)-i,r=Du(o,new o(t),i,2*i)),i=u=(d=zu(e,t,wu)).length-1;0===d[i];--i)d.pop();return i<0?new o(0*n.s):(n.e=Hu(d,u),n.d=d,cu=!1,a&&(n=Eu(n,r,4*l)),s&&(n=n.times(Math.abs(s)<54?bu(2,s):Mc.pow(2,s))),cu=!0,n)}function Xu(n,e,t,o,r){var i,a,l,s,d=n.precision,u=Math.ceil(d/7);for(cu=!1,s=t.times(t),l=new n(o);;){if(a=Eu(l.times(s),new n(e++*e++),d,1),l=r?o.plus(a):o.minus(a),o=Eu(a.times(s),new n(e++*e++),d,1),void 0!==(a=l.plus(o)).d[u]){for(i=u;a.d[i]===l.d[i]&&i--;);if(-1==i)break}i=l,l=o,o=a,a=i}return cu=!0,a.d.length=u+1,a}function Gu(n,e){for(var t=n;--e;)t*=n;return t}function Zu(n,e){var t,o=e.s<0,r=Wu(n,n.precision,1),i=r.times(.5);if((e=e.abs()).lte(i))return ru=o?4:1,e;if((t=e.divToInt(r)).isZero())ru=o?3:2;else{if((e=e.minus(t.times(r))).lte(i))return ru=Lu(t)?o?2:3:o?4:1,e;ru=Lu(t)?o?1:4:o?3:2}return e.minus(r).abs()}function qu(n,e,t,o){var r,i,a,l,s,d,u,c,p,f=n.constructor,h=void 0!==t;if(h?(Pu(t,1,au),void 0===o?o=f.rounding:Pu(o,0,8)):(t=f.precision,o=f.rounding),n.isFinite()){for(h?(r=2,16==e?t=4*t-3:8==e&&(t=3*t-2)):r=e,(a=(u=Iu(n)).indexOf("."))>=0&&(u=u.replace(".",""),(p=new f(1)).e=u.length-a,p.d=zu(Iu(p),10,r),p.e=p.d.length),i=s=(c=zu(u,10,r)).length;0==c[--s];)c.pop();if(c[0]){if(a<0?i--:((n=new f(n)).d=c,n.e=i,c=(n=Eu(n,p,t,o,0,r)).d,i=n.e,d=ou),a=c[t],l=r/2,d=d||void 0!==c[t+1],d=o<4?(void 0!==a||d)&&(0===o||o===(n.s<0?3:2)):a>l||a===l&&(4===o||d||6===o&&1&c[t-1]||o===(n.s<0?8:7)),c.length=t,d)for(;++c[--t]>r-1;)c[t]=0,t||(++i,c.unshift(1));for(s=c.length;!c[s-1];--s);for(a=0,u="";a<s;a++)u+=lu.charAt(c[a]);if(h){if(s>1)if(16==e||8==e){for(a=16==e?4:3,--s;s%a;s++)u+="0";for(s=(c=zu(u,r,e)).length;!c[s-1];--s);for(a=1,u="1.";a<s;a++)u+=lu.charAt(c[a])}else u=u.charAt(0)+"."+u.slice(1);u=u+(i<0?"p":"p+")+i}else if(i<0){for(;++i;)u="0"+u;u="0."+u}else if(++i>s)for(i-=s;i--;)u+="0";else i<s&&(u=u.slice(0,i)+"."+u.slice(i))}else u=h?"0p+0":"0";u=(16==e?"0x":2==e?"0b":8==e?"0o":"")+u}else u=Vu(n);return n.s<0?"-"+u:u}function Qu(n,e){if(n.length>e)return n.length=e,!0}function Ju(n){return new this(n).abs()}function Ku(n){return new this(n).acos()}function nc(n){return new this(n).acosh()}function ec(n,e){return new this(n).plus(e)}function tc(n){return new this(n).asin()}function oc(n){return new this(n).asinh()}function rc(n){return new this(n).atan()}function ic(n){return new this(n).atanh()}function ac(n,e){n=new this(n),e=new this(e);var t,o=this.precision,r=this.rounding,i=o+4;return n.s&&e.s?n.d||e.d?!e.d||n.isZero()?(t=e.s<0?Wu(this,o,r):new this(0)).s=n.s:!n.d||e.isZero()?(t=Wu(this,i,1).times(.5)).s=n.s:e.s<0?(this.precision=i,this.rounding=1,t=this.atan(Eu(n,e,i,1)),e=Wu(this,i,1),this.precision=o,this.rounding=r,t=n.s<0?t.minus(e):t.plus(e)):t=this.atan(Eu(n,e,i,1)):(t=Wu(this,i,1).times(e.s>0?.25:.75)).s=n.s:t=new this(NaN),t}function lc(n){return new this(n).cbrt()}function sc(n){return Fu(n=new this(n),n.e+1,2)}function dc(n,e,t){return new this(n).clamp(e,t)}function uc(n){if(!n||"object"!=typeof n)throw Error(pu+"Object expected");var e,t,o,r=!0===n.defaults,i=["precision",1,au,"rounding",0,8,"toExpNeg",-iu,0,"toExpPos",0,iu,"maxE",0,iu,"minE",-iu,0,"modulo",0,9];for(e=0;e<i.length;e+=3)if(t=i[e],r&&(this[t]=uu[t]),void 0!==(o=n[t])){if(!(mu(o)===o&&o>=i[e+1]&&o<=i[e+2]))throw Error(fu+t+": "+o);this[t]=o}if(t="crypto",r&&(this[t]=uu[t]),void 0!==(o=n[t])){if(!0!==o&&!1!==o&&0!==o&&1!==o)throw Error(fu+t+": "+o);if(o){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(vu);this[t]=!0}else this[t]=!1}return this}function cc(n){return new this(n).cos()}function pc(n){return new this(n).cosh()}function fc(n,e){return new this(n).div(e)}function hc(n){return new this(n).exp()}function vc(n){return Fu(n=new this(n),n.e+1,3)}function gc(){var n,e,t=new this(0);for(cu=!1,n=0;n<arguments.length;)if((e=new this(arguments[n++])).d)t.d&&(t=t.plus(e.times(e)));else{if(e.s)return cu=!0,new this(1/0);t=e}return cu=!0,t.sqrt()}function mc(n){return n instanceof Mc||n&&n.toStringTag===gu||!1}function bc(n){return new this(n).ln()}function Ac(n,e){return new this(n).log(e)}function yc(n){return new this(n).log(2)}function Cc(n){return new this(n).log(10)}function xc(){return ju(this,arguments,-1)}function wc(){return ju(this,arguments,1)}function Sc(n,e){return new this(n).mod(e)}function kc(n,e){return new this(n).mul(e)}function _c(n,e){return new this(n).pow(e)}function Bc(n){var e,t,o,r,i=0,a=new this(1),l=[];if(void 0===n?n=this.precision:Pu(n,1,au),o=Math.ceil(n/7),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(o));i<o;)(r=e[i])>=429e7?e[i]=crypto.getRandomValues(new Uint32Array(1))[0]:l[i++]=r%1e7;else{if(!crypto.randomBytes)throw Error(vu);for(e=crypto.randomBytes(o*=4);i<o;)(r=e[i]+(e[i+1]<<8)+(e[i+2]<<16)+((127&e[i+3])<<24))>=214e7?crypto.randomBytes(4).copy(e,i):(l.push(r%1e7),i+=4);i=o/4}else for(;i<o;)l[i++]=1e7*Math.random()|0;for(n%=7,(o=l[--i])&&n&&(r=bu(10,7-n),l[i]=(o/r|0)*r);0===l[i];i--)l.pop();if(i<0)t=0,l=[0];else{for(t=-1;0===l[0];t-=7)l.shift();for(o=1,r=l[0];r>=10;r/=10)o++;o<7&&(t-=7-o)}return a.e=t,a.d=l,a}function Pc(n){return Fu(n=new this(n),n.e+1,this.rounding)}function Tc(n){return(n=new this(n)).d?n.d[0]?n.s:0*n.s:n.s||NaN}function zc(n){return new this(n).sin()}function Ec(n){return new this(n).sinh()}function Fc(n){return new this(n).sqrt()}function Ic(n,e){return new this(n).sub(e)}function Hc(){var n=0,e=arguments,t=new this(e[n]);for(cu=!1;t.s&&++n<e.length;)t=t.plus(e[n]);return cu=!0,Fu(t,this.precision,this.rounding)}function Nc(n){return new this(n).tan()}function Wc(n){return new this(n).tanh()}function $c(n){return Fu(n=new this(n),n.e+1,1)}_u[Symbol.for("nodejs.util.inspect.custom")]=_u.toString,_u[Symbol.toStringTag]="Decimal";var Mc=_u.constructor=function n(e){var t,o,r;function i(n){var e,t,o,r=this;if(!(r instanceof i))return new i(n);if(r.constructor=i,mc(n))return r.s=n.s,void(cu?!n.d||n.e>i.maxE?(r.e=NaN,r.d=null):n.e<i.minE?(r.e=0,r.d=[0]):(r.e=n.e,r.d=n.d.slice()):(r.e=n.e,r.d=n.d?n.d.slice():n.d));if("number"===(o=typeof n)){if(0===n)return r.s=1/n<0?-1:1,r.e=0,void(r.d=[0]);if(n<0?(n=-n,r.s=-1):r.s=1,n===~~n&&n<1e7){for(e=0,t=n;t>=10;t/=10)e++;return void(cu?e>i.maxE?(r.e=NaN,r.d=null):e<i.minE?(r.e=0,r.d=[0]):(r.e=e,r.d=[n]):(r.e=e,r.d=[n]))}return 0*n!=0?(n||(r.s=NaN),r.e=NaN,void(r.d=null)):Yu(r,n.toString())}if("string"===o)return 45===(t=n.charCodeAt(0))?(n=n.slice(1),r.s=-1):(43===t&&(n=n.slice(1)),r.s=1),xu.test(n)?Yu(r,n):Uu(r,n);if("bigint"===o)return n<0?(n=-n,r.s=-1):r.s=1,Yu(r,n.toString());throw Error(fu+n)}if(i.prototype=_u,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=uc,i.clone=n,i.isDecimal=mc,i.abs=Ju,i.acos=Ku,i.acosh=nc,i.add=ec,i.asin=tc,i.asinh=oc,i.atan=rc,i.atanh=ic,i.atan2=ac,i.cbrt=lc,i.ceil=sc,i.clamp=dc,i.cos=cc,i.cosh=pc,i.div=fc,i.exp=hc,i.floor=vc,i.hypot=gc,i.ln=bc,i.log=Ac,i.log10=Cc,i.log2=yc,i.max=xc,i.min=wc,i.mod=Sc,i.mul=kc,i.pow=_c,i.random=Bc,i.round=Pc,i.sign=Tc,i.sin=zc,i.sinh=Ec,i.sqrt=Fc,i.sub=Ic,i.sum=Hc,i.tan=Nc,i.tanh=Wc,i.trunc=$c,void 0===e&&(e={}),e&&!0!==e.defaults)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)e.hasOwnProperty(o=r[t++])||(e[o]=this[o]);return i.config(e),i}(uu);su=new Mc(su),du=new Mc(du);var Dc={name:"arrow",enabled:!0,phase:"main",fn:function(n){var e,t=n.state,o=n.name,r=n.options,i=t.elements.arrow,a=t.modifiersData.popperOffsets,l=Oa(t.placement),s=Ya(l),d=[Pa,Ba].indexOf(l)>=0?"height":"width";if(i&&a){var u=function(n,e){return Xa("number"!=typeof(n="function"==typeof n?n(Object.assign({},e.rects,{placement:e.placement})):n)?n:Ga(n,za))}(r.padding,t),c=ba(i),p="y"===s?ka:Pa,f="y"===s?_a:Ba,h=t.rects.reference[d]+t.rects.reference[s]-a[s]-t.rects.popper[d],v=a[s]-t.rects.reference[s],g=Sa(i),m=g?"y"===s?g.clientHeight||0:g.clientWidth||0:0,b=h/2-v/2,A=u[p],y=m-c[d]-u[f],C=m/2-c[d]/2+b,x=vl(A,C,y),w=s;t.modifiersData[o]=((e={})[w]=x,e.centerOffset=x-C,e)}},effect:function(n){var e=n.state,t=n.options.element,o=void 0===t?"[data-popper-arrow]":t;null!=o&&("string"!=typeof o||(o=e.elements.popper.querySelector(o)))&&Da(e.elements.popper,o)&&(e.elements.arrow=o)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};const Lc={directives:{domresize:Vo()},components:{},props:{value:{type:Number,default:0},valueMin:{type:Number,default:0},valueMax:{type:Number,default:100},valueStep:{type:Number,default:1},valueDecimal:{type:Number,default:0},progBorderRadius:{type:Number,default:5},progHeight:{type:Number,default:4},progColor:{type:String,default:"#74a4d9"},progColorDisabled:{type:String,default:"#c5c5c5"},progBackgroundColor:{type:String,default:"#eee"},progBackgroundColorDisabled:{type:String,default:"#f2f2f2"},sliderSize:{type:Number,default:20},sliderBackgroundColor:{type:String,default:"blue darken-3"},sliderBackgroundColorHover:{type:String,default:"blue darken-2"},sliderBackgroundColorDisabled:{type:String,default:"#aaa"},cmpZIndex:{type:Number,default:3e3},tooltipPlacementDist:{type:Number,default:5},tooltipBorderRadius:{type:Number,default:4},tooltipTextFontSize:{type:String,default:"0.85rem"},tooltipTextColor:{type:String,default:"white"},tooltipBackgroundColor:{type:String,default:"#666"},editable:{type:Boolean,default:!0}},data:function(){return{panelWidth:0,panelHeight:0,das:null,hoverTrans:!1,dragTrans:!1,popperInstance:null,popperShow:!1,r:null,rt:null}},mounted:function(){let n=this,e=function(n,e,t={}){let o=null,r=null,i=null,a=null,l=null,s=null,d=null,u=null,c=null,p=null,f=null,h=null,v=null,g=null,m=null,A=!1,y=an(t,"getHeighRatio",null);b(y)||(y=()=>1);let C=an(t,"getWidthRatio",null);b(C)||(C=()=>1);let x=an(t,"stopScrollPropagationForPanel",null);Dr(x)||(x=!1);let w=an(t,"stopTouchDragPropagationForPanel",null);Dr(w)||(w=!1);let S=an(t,"useTouchDragForPanel",null);Dr(S)||(S=!0);let k=n,_=e,B=Do();return o=n=>{let e=n.deltaY/Math.abs(n.deltaY),t=n.deltaX/Math.abs(n.deltaX);B.emit("scrollPanel",{ratioY:e,ratioX:t}),x&&Td(n)},k.addEventListener("wheel",o),r=n=>{if(S){let e=an(n,"touches.0.clientY",0),t=an(n,"touches.0.clientX",0),o=-e*y(),r=-t*C();A=!0,B.emit("pressBar",{clientY:o,clientX:r}),w&&Td(n)}},k.addEventListener("touchstart",r),i=n=>{if(S&&A){let e=an(n,"touches.0.clientY",0),t=an(n,"touches.0.clientX",0),o=-e*y(),r=-t*C();B.emit("dragBar",{clientY:o,clientX:r}),w&&Td(n)}},k.addEventListener("touchmove",i,{passive:!1}),a=n=>{S&&A&&(A=!1,B.emit("freeBar"),w&&Td(n))},k.addEventListener("touchend",a),l=n=>{A=!0,B.emit("pressBar",{clientY:n.clientY,clientX:n.clientX})},_.addEventListener("mousedown",l),s=n=>{A&&(A=!1,B.emit("freeBar"))},_.addEventListener("mouseup",s),d=n=>{A=!0,B.emit("pressBar",{clientY:n.touches[0].clientY,clientX:n.touches[0].clientX})},_.addEventListener("touchstart",d),u=n=>{A&&(B.emit("dragBar",{clientY:n.touches[0].clientY,clientX:n.touches[0].clientX}),Td(n))},_.addEventListener("touchmove",u,{passive:!1}),c=n=>{A&&(A=!1,B.emit("freeBar"))},_.addEventListener("touchend",c),p=n=>{A&&B.emit("dragBar",{clientY:n.clientY,clientX:n.clientX})},window.addEventListener("mousemove",p),f=n=>{A&&(A=!1,B.emit("freeBar"),x&&Td(n))},window.addEventListener("mouseup",f),h=n=>{},window.addEventListener("scroll",h,{passive:!1}),v=n=>{},window.addEventListener("wheel",v,{passive:!1}),g=n=>{},document.addEventListener("scroll",g,{passive:!1}),m=n=>{},document.addEventListener("wheel",m,{passive:!1}),B.clear=function(){k.removeEventListener("wheel",o),k.removeEventListener("touchstart",r),k.removeEventListener("touchmove",i),k.removeEventListener("touchend",a),_.removeEventListener("mousedown",l),_.removeEventListener("mouseup",s),_.removeEventListener("touchstart",d),_.removeEventListener("touchmove",u),_.removeEventListener("touchend",c),window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",f),window.removeEventListener("scroll",h),window.removeEventListener("wheel",v),document.removeEventListener("scroll",g),document.removeEventListener("wheel",m)},B}(n.$refs.divPanel,n.$refs.divBar,{useTouchDragForPanel:!1});e.on("dragBar",n.dragBar),e.on("pressBar",n.pressBar),e.on("freeBar",n.freeBar),n.das=e},beforeDestroy:function(){let n=this;n.das&&n.das.clear()},computed:{changeParam:function(){let n=this,e=0;try{e=(n.value-n.valueMin)/(n.valueMax-n.valueMin)}catch(n){}e=n.limitRatio(e);let t=n.tickRatio(e);return n.r=e,n.rt=t,""},heightCir:function(){return this.sliderSize},widthCir:function(){return this.heightCir},effecting:function(){let n=this;if(!n.editable)return;let e=n.hoverTrans||n.dragTrans;return e?n.showPopper():(n.hidePopper(),n.r=n.rt),e},progWidth:function(){return this.panelWidth-this.sliderSize},useProgBorderRadius:function(){return`border-radius:${this.progBorderRadius}px;`},effProgColor:function(){return Br(this.progColor)},effProgColorDisabled:function(){return Br(this.progColorDisabled)},useProgColor:function(){let n=this;return n.editable?n.effProgColor:n.effProgColorDisabled},effProgBackgroundColor:function(){return Br(this.progBackgroundColor)},effProgBackgroundColorDisabled:function(){return Br(this.progBackgroundColorDisabled)},useProgBackgroundColor:function(){let n=this;return n.editable?n.effProgBackgroundColor:n.effProgBackgroundColorDisabled},effSliderBackgroundColor:function(){return Br(this.sliderBackgroundColor)},effSliderBackgroundColorHover:function(){return Br(this.sliderBackgroundColorHover)},effSliderBackgroundColorDisabled:function(){return Br(this.sliderBackgroundColorDisabled)},useSliderBackgroundColor:function(){let n=this;return n.editable?n.effecting?n.effSliderBackgroundColorHover:n.effSliderBackgroundColor:n.effSliderBackgroundColorDisabled},useTooltipBorderRadius:function(){let n=this;return jr(n.tooltipBorderRadius)?`border-radius:${n.tooltipBorderRadius}px;`:""},useTooltipTextFontSize:function(){let n=this.tooltipTextFontSize;return n=Pr(n,";",""),`font-size:${n};`},useTooltipTextColor:function(){return Br(this.tooltipTextColor)},useTooltipBackgroundColor:function(){return Br(this.tooltipBackgroundColor)},valueDig:function(){let n=this;return function(n,e=0){return Bo(n)&&$l(e)?(n=Po(n),Io(n,e).toFixed(e)):""}(n.rt*(n.valueMax-n.valueMin)+n.valueMin,n.valueDecimal)}},methods:{resizePanel:function(n){this.panelWidth=n.snew.offsetWidth,this.panelHeight=n.snew.offsetHeight},limitRatio:function(n){return n=Math.min(n,1),n=Math.max(n,0)},tickRatio:function(n){let e=this,t=0;try{let o=e.valueMax-e.valueMin,r=e.valueStep/o;t=function(n,e=0,t={}){$l(e)||(e=0),e=Ho(e);let o=an(t,"rounding","");return"ROUND_HALF_UP"!==o&&"ROUND_HALF_EVEN"!==o&&(o="ROUND_HALF_UP"),Bo(n)?new Mc(n).toDecimalPlaces(e,Mc[o]).toNumber():""}(n/r)*r}catch(n){}return t},dragBar:function(n){let e=this;if(!e.editable)return;let t=e.$el.getBoundingClientRect(),o=n.clientX-e.sliderSize/2,r=e.progWidth,i=0;r>0&&(i=(o-t.left)/r),i=e.limitRatio(i);let a=e.tickRatio(i);e.r=i,e.rt=a;let l=Po(e.valueDig);e.updatePopper(),e.$emit("input",l)},pressBar:function(){this.dragTrans=!0},freeBar:function(){this.dragTrans=!1},showPopper:function(n){let e=this;if(!e.editable)return;let t=an(e,"$refs.divTrigger",null);if(null===t)return;let o=an(e,"$refs.divContent",null);if(null===o)return;let r={strategy:"fixed",placement:"top",modifiers:[Dc,{name:"arrow",options:{padding:5}},ul,{name:"flip",options:{fallbackPlacements:["top","top-start","top-end","bottom","bottom-start","bottom-end"]}},cl,{name:"offset",options:{offset:({placement:n,reference:t,popper:o})=>[0,e.tooltipPlacementDist]}},hl]};e.popperInstance=rl(t,o,r)},updatePopper:function(n){let e=this;e.editable&&e.popperInstance&&e.popperInstance.update()},hidePopper:function(n){let e=this;e.popperInstance&&(e.popperInstance.destroy(),e.popperInstance=null)}}};var jc=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{directives:[{name:"domresize",rawName:"v-domresize"}],style:"user-select:none;",attrs:{changeParam:n.changeParam},on:{domresize:n.resizePanel}},[t("div",{style:"position:relative; width:100%; height:"+n.sliderSize+"px;"},[t("div",{style:"position:absolute; top:"+(n.sliderSize/2-n.progHeight/2)+"px; left:"+n.sliderSize/2+"px; width:"+n.progWidth+"px;"},[t("div",{ref:"divPanel",style:"position:relative; width:"+n.progWidth+"px;",attrs:{_click:"clickProg"}},[t("div",{style:n.useProgBorderRadius+" overflow:hidden; width:"+n.progWidth+"px; height:"+n.progHeight+"px;"},[t("div",{style:"background:"+n.useProgBackgroundColor+"; height:"+n.progHeight+"px;"},[t("div",{style:"background:"+n.useProgColor+"; width:"+n.rt*n.progWidth+"px; height:"+n.progHeight+"px;"})])]),n._v(" "),t("div",{style:"position:absolute; left:"+(n.rt*n.progWidth-n.widthCir/2)+"px; top:"+(n.progHeight/2-n.heightCir/2)+"px; z-index:1; "+(n.editable?"cursor:pointer;":"")},[t("div",{ref:"divTrigger",staticClass:"ts bs",style:"width:"+n.widthCir+"px; height:"+n.heightCir+"px; border-radius:50%; background:"+n.useSliderBackgroundColor+"; outline:none;"})]),n._v(" "),t("div",{ref:"divBar",style:"position:absolute; left:"+(n.r*n.progWidth-n.widthCir/2)+"px; top:"+(n.progHeight/2-n.heightCir/2)+"px; z-index:2; "+(n.editable?"cursor:pointer;":"")},[t("div",{style:"width:"+n.widthCir+"px; height:"+n.heightCir+"px; border-radius:50%; opacity:0; outline:none;",on:{mouseenter:function(e){n.hoverTrans=!0},mouseleave:function(e){n.hoverTrans=!1}}})])])])]),n._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:n.effecting,expression:"effecting"},{name:"domresize",rawName:"v-domresize"}],ref:"divContent",staticClass:"WPopperFix",style:"z-index:"+n.cmpZIndex+";",on:{domresize:n.updatePopper}},[t("div",{style:"padding:2px 5px; font-size:0.8rem; "+n.useTooltipTextFontSize+" color:"+n.useTooltipTextColor+"; background:"+n.useTooltipBackgroundColor+"; "+n.useTooltipBorderRadius},[n._v("\n "+n._s(n.valueDig)+"\n "),t("div",{staticClass:"arrow",attrs:{"data-popper-arrow":""}})])])])};jc._withStripped=!0;const Rc={components:{WGroupChipRadio:jd,WPanelLabelItem:Vd,WText:tu,WSlider:Ur({render:jc,staticRenderFns:[]},function(n){n&&n("data-v-a1a5d80e_0",{source:"\n.ts[data-v-a1a5d80e] {\r\n transition:all 0.3s;\n}\n.bs[data-v-a1a5d80e] {\r\n box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px 0px rgb(0 0 0 / 14%), 0px 1px 10px 0px rgb(0 0 0 / 12%);\n}\n.WPopperFix[data-popper-reference-hidden][data-v-a1a5d80e] {\r\n visibility: hidden;\r\n pointer-events: none;\n}\n.arrow[data-v-a1a5d80e],\r\n.arrow[data-v-a1a5d80e]::before {\r\n position: absolute;\r\n width: 5px;\r\n height: 5px;\r\n background: inherit;\n}\n.arrow[data-v-a1a5d80e] {\r\n visibility: hidden;\n}\n.arrow[data-v-a1a5d80e]::before {\r\n visibility: visible;\r\n content: '';\r\n transform: rotate(45deg);\n}\r\n/* .arrow::after {\r\n content: \"\";\r\n position: absolute;\r\n top: 100%;\r\n left: 50%;\r\n margin-left: -5px;\r\n border-width: 5px;\r\n border-style: solid;\r\n border-color: black transparent transparent transparent;\r\n} */\r\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\node_modules\\w-component-vue\\src\\components\\WSlider.vue"],names:[],mappings:";AA6qBA;IACA,mBAAA;AACA;AACA;IACA,kHAAA;AACA;AACA;IACA,kBAAA;IACA,oBAAA;AACA;AACA;;IAEA,kBAAA;IACA,UAAA;IACA,WAAA;IACA,mBAAA;AACA;AACA;IACA,kBAAA;AACA;AACA;IACA,mBAAA;IACA,WAAA;IACA,wBAAA;AACA;AACA;;;;;;;;;GASA",file:"WSlider.vue",sourcesContent:["<template>\r\n <div\r\n :style=\"`user-select:none;`\"\r\n :changeParam=\"changeParam\"\r\n v-domresize\r\n @domresize=\"resizePanel\"\r\n >\r\n\r\n <div\r\n :style=\"`position:relative; width:100%; height:${sliderSize}px;`\"\r\n >\r\n\r\n <div :style=\"`position:absolute; top:${sliderSize/2-progHeight/2}px; left:${sliderSize/2}px; width:${progWidth}px;`\">\r\n\r\n <div\r\n ref=\"divPanel\"\r\n :style=\"`position:relative; width:${progWidth}px;`\"\r\n _click=\"clickProg\"\r\n >\r\n\r\n <div :style=\"`${useProgBorderRadius} overflow:hidden; width:${progWidth}px; height:${progHeight}px;`\">\r\n <div :style=\"`background:${useProgBackgroundColor}; height:${progHeight}px;`\">\r\n <div :style=\"`background:${useProgColor}; width:${(rt)*progWidth}px; height:${progHeight}px;`\"></div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n :style=\"`position:absolute; left:${(rt)*progWidth-widthCir/2}px; top:${progHeight/2-heightCir/2}px; z-index:1; ${editable?'cursor:pointer;':''}`\"\r\n >\r\n\r\n <div\r\n ref=\"divTrigger\"\r\n class=\"ts bs\"\r\n :style=\"`width:${widthCir}px; height:${heightCir}px; border-radius:50%; background:${useSliderBackgroundColor}; outline:none;`\"\r\n ></div>\r\n\r\n </div>\r\n\r\n <div\r\n ref=\"divBar\"\r\n :style=\"`position:absolute; left:${(r)*progWidth-widthCir/2}px; top:${progHeight/2-heightCir/2}px; z-index:2; ${editable?'cursor:pointer;':''}`\"\r\n >\r\n\r\n <div\r\n :style=\"`width:${widthCir}px; height:${heightCir}px; border-radius:50%; opacity:0; outline:none;`\"\r\n @mouseenter=\"hoverTrans=true\"\r\n @mouseleave=\"hoverTrans=false\"\r\n ></div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n \x3c!-- 不能給予position因會被popupjs洗掉, 但可給z-index, 且popupjs會改用transform:translate定位 --\x3e\r\n \x3c!-- 若使用minWidth, 會使popupjs重算給予minWidth用以自動撐開彈窗寬度失效, 若於其內slot外添加div給予minWidth, 亦會使popupjs給予minWidth機制失效, 待研究 --\x3e\r\n <div\r\n ref=\"divContent\"\r\n class=\"WPopperFix\"\r\n :style=\"`z-index:${cmpZIndex};`\"\r\n v-show=\"effecting\"\r\n v-domresize\r\n @domresize=\"updatePopper\"\r\n >\r\n \x3c!-- 不使用v-if來重產dom, 因開啟arrow會有顯示後來不及定位問題 --\x3e\r\n <div\r\n :style=\"`padding:2px 5px; font-size:0.8rem; ${useTooltipTextFontSize} color:${useTooltipTextColor}; background:${useTooltipBackgroundColor}; ${useTooltipBorderRadius}`\"\r\n >\r\n {{valueDig}}\r\n <div class=\"arrow\" data-popper-arrow></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport get from 'lodash-es/get.js'\r\nimport isNumber from 'lodash-es/isNumber.js'\r\nimport dig from 'wsemi/src/dig.mjs'\r\nimport round from 'wsemi/src/round.mjs'\r\nimport cdbl from 'wsemi/src/cdbl.mjs'\r\nimport replace from 'wsemi/src/replace.mjs'\r\nimport domDragBarAndScroll from 'wsemi/src/domDragBarAndScroll.mjs'\r\nimport domResize from '../js/domResize.mjs'\r\nimport convertColor from '../js/convertColor.mjs'\r\nimport { createPopper } from '@popperjs/core/lib/popper-lite.js' //不用安裝@popperjs/core, 因wsemi安裝tippy.js內有依賴@popperjs/core\r\nimport flip from '@popperjs/core/lib/modifiers/flip.js'\r\nimport offset from '@popperjs/core/lib/modifiers/offset.js'\r\nimport arrow from '@popperjs/core/lib/modifiers/arrow.js'\r\nimport hide from '@popperjs/core/lib/modifiers/hide.js'\r\n//import preventOverflow from '@popperjs/core/lib/modifiers/preventOverflow.js'\r\n//import computeStyles from '@popperjs/core/lib/modifiers/computeStyles'\r\n\r\n\r\n/**\r\n * @vue-prop {Number} [value=0] 輸入值數字,介於valueMin與valueMax之間,預設0\r\n * @vue-prop {Number} [valueMin=0] 輸入最小值數字,預設0\r\n * @vue-prop {Number} [valueMax=100] 輸入最大值數字,預設100\r\n * @vue-prop {Number} [valueStep=1] 輸入間隔數字,預設1\r\n * @vue-prop {Number} [valueDecimal=0] 輸入值取小數位數字,用於可拖選值具有小數時,預設0\r\n * @vue-prop {Number} [progBorderRadius=5] 輸入值域條框圓角度數字,單位為px,預設5\r\n * @vue-prop {Number} [progHeight=4] 輸入值域條高度數字,單位為px,預設4\r\n * @vue-prop {String} [progColor='#74a4d9'] 輸入值域條顏色字串,預設'#74a4d9'\r\n * @vue-prop {String} [progColorDisabled='#c5c5c5'] 輸入不可編輯時值域條顏色字串,預設'#c5c5c5'\r\n * @vue-prop {String} [progBackgroundColor='#eee'] 輸入值域條背景顏色字串,預設'#eee'\r\n * @vue-prop {String} [progBackgroundColorDisabled='#f2f2f2'] 輸入不可編輯時值域條背景顏色字串,預設'#f2f2f2'\r\n * @vue-prop {Number} [sliderSize=20] 輸入拖曳球尺寸數字,單位為px,預設20\r\n * @vue-prop {String} [sliderBackgroundColor='blue darken-3'] 輸入拖曳球背景顏色字串,預設'blue darken-3'\r\n * @vue-prop {String} [sliderBackgroundColorHover='blue darken-2'] 輸入滑鼠移入時拖曳球背景顏色字串,預設'blue darken-2'\r\n * @vue-prop {String} [sliderBackgroundColorDisabled='#aaa'] 輸入不可編輯時拖曳球背景顏色字串,預設'#aaa'\r\n * @vue-prop {Number} [cmpZIndex=3000] 輸入提示窗使用z-index數字,預設3000\r\n * @vue-prop {Number} [tooltipPlacementDist=5] 輸入提示窗距離觸發元素距離數字,單位為px,預設5\r\n * @vue-prop {Number} [tooltipBorderRadius=5] 輸入提示窗框圓角度數字,單位為px,預設4\r\n * @vue-prop {String} [tooltipTextFontSize='0.85rem'] 輸入提示窗框文字字型大小字串,預設'0.85rem'\r\n * @vue-prop {String} [tooltipTextColor='white'] 輸入提示窗框文字顏色字串,預設'white'\r\n * @vue-prop {String} [tooltipBackgroundColor='#666'] 輸入值域條背景顏色字串,預設'#666'\r\n * @vue-prop {Boolean} [editable=true] 輸入是否為編輯模式布林值,預設true\r\n */\r\nexport default {\r\n directives: {\r\n domresize: domResize(),\r\n },\r\n components: {\r\n },\r\n props: {\r\n value: {\r\n type: Number,\r\n default: 0,\r\n },\r\n valueMin: {\r\n type: Number,\r\n default: 0,\r\n },\r\n valueMax: {\r\n type: Number,\r\n default: 100,\r\n },\r\n valueStep: {\r\n type: Number,\r\n default: 1,\r\n },\r\n valueDecimal: {\r\n type: Number,\r\n default: 0,\r\n },\r\n progBorderRadius: {\r\n type: Number,\r\n default: 5,\r\n },\r\n progHeight: {\r\n type: Number,\r\n default: 4,\r\n },\r\n progColor: {\r\n type: String,\r\n default: '#74a4d9',\r\n },\r\n progColorDisabled: {\r\n type: String,\r\n default: '#c5c5c5',\r\n },\r\n progBackgroundColor: {\r\n type: String,\r\n default: '#eee',\r\n },\r\n progBackgroundColorDisabled: {\r\n type: String,\r\n default: '#f2f2f2',\r\n },\r\n sliderSize: {\r\n type: Number,\r\n default: 20,\r\n },\r\n sliderBackgroundColor: {\r\n type: String,\r\n default: 'blue darken-3',\r\n },\r\n sliderBackgroundColorHover: {\r\n type: String,\r\n default: 'blue darken-2',\r\n },\r\n sliderBackgroundColorDisabled: {\r\n type: String,\r\n default: '#aaa',\r\n },\r\n cmpZIndex: {\r\n type: Number,\r\n default: 3000,\r\n },\r\n tooltipPlacementDist: {\r\n type: Number,\r\n default: 5,\r\n },\r\n tooltipBorderRadius: {\r\n type: Number,\r\n default: 4,\r\n },\r\n tooltipTextFontSize: {\r\n type: String,\r\n default: '0.85rem',\r\n },\r\n tooltipTextColor: {\r\n type: String,\r\n default: 'white',\r\n },\r\n tooltipBackgroundColor: {\r\n type: String,\r\n default: '#666', //rgba(60,60,60,0.75) //因arrow是通過div與旋轉成菱形來繪製, 因此可支援外部指定背景色, 但若有透明就會出現arrow的菱形問題\r\n },\r\n editable: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n },\r\n data: function() {\r\n return {\r\n\r\n panelWidth: 0,\r\n panelHeight: 0,\r\n\r\n das: null,\r\n\r\n hoverTrans: false,\r\n dragTrans: false,\r\n\r\n popperInstance: null,\r\n popperShow: false,\r\n\r\n r: null,\r\n rt: null,\r\n\r\n }\r\n },\r\n mounted: function() {\r\n //console.log('mounted')\r\n\r\n let vo = this\r\n\r\n //das\r\n let das = domDragBarAndScroll(vo.$refs.divPanel, vo.$refs.divBar, { useTouchDragForPanel: false })\r\n das.on('dragBar', vo.dragBar)\r\n das.on('pressBar', vo.pressBar)\r\n das.on('freeBar', vo.freeBar)\r\n\r\n //save\r\n vo.das = das\r\n\r\n },\r\n beforeDestroy: function() {\r\n //console.log('beforeDestroy')\r\n\r\n let vo = this\r\n\r\n //clear\r\n if (vo.das) {\r\n vo.das.clear()\r\n }\r\n\r\n },\r\n computed: {\r\n\r\n changeParam: function() {\r\n // console.log('computed changeParam')\r\n\r\n let vo = this\r\n\r\n //ratio\r\n let r = 0\r\n try {\r\n r = (vo.value - vo.valueMin) / (vo.valueMax - vo.valueMin)\r\n }\r\n catch (err) {}\r\n\r\n //limitRatio\r\n r = vo.limitRatio(r)\r\n\r\n //rt\r\n let rt = vo.tickRatio(r)\r\n\r\n //save\r\n vo.r = r\r\n vo.rt = rt\r\n\r\n return ''\r\n },\r\n\r\n heightCir: function() {\r\n let vo = this\r\n return vo.sliderSize\r\n },\r\n\r\n widthCir: function() {\r\n let vo = this\r\n return vo.heightCir\r\n },\r\n\r\n effecting: function() {\r\n //console.log('computed effecting')\r\n\r\n let vo = this\r\n\r\n //check\r\n if (!vo.editable) {\r\n return\r\n }\r\n\r\n //b\r\n let b = vo.hoverTrans || vo.dragTrans\r\n\r\n if (b) {\r\n\r\n //showPopper\r\n vo.showPopper()\r\n\r\n }\r\n else {\r\n\r\n //hidePopper\r\n vo.hidePopper()\r\n\r\n //同步\r\n vo.r = vo.rt\r\n\r\n }\r\n\r\n return b\r\n },\r\n\r\n progWidth: function() {\r\n let vo = this\r\n return vo.panelWidth - vo.sliderSize\r\n },\r\n\r\n useProgBorderRadius: function() {\r\n let vo = this\r\n return `border-radius:${vo.progBorderRadius}px;`\r\n },\r\n\r\n effProgColor: function() {\r\n let vo = this\r\n return convertColor(vo.progColor)\r\n },\r\n\r\n effProgColorDisabled: function() {\r\n let vo = this\r\n return convertColor(vo.progColorDisabled)\r\n },\r\n\r\n useProgColor: function() {\r\n let vo = this\r\n if (!vo.editable) {\r\n return vo.effProgColorDisabled\r\n }\r\n return vo.effProgColor\r\n },\r\n\r\n effProgBackgroundColor: function() {\r\n let vo = this\r\n return convertColor(vo.progBackgroundColor)\r\n },\r\n\r\n effProgBackgroundColorDisabled: function() {\r\n let vo = this\r\n return convertColor(vo.progBackgroundColorDisabled)\r\n },\r\n\r\n useProgBackgroundColor: function() {\r\n let vo = this\r\n if (!vo.editable) {\r\n return vo.effProgBackgroundColorDisabled\r\n }\r\n return vo.effProgBackgroundColor\r\n },\r\n\r\n effSliderBackgroundColor: function() {\r\n let vo = this\r\n return convertColor(vo.sliderBackgroundColor)\r\n },\r\n\r\n effSliderBackgroundColorHover: function() {\r\n let vo = this\r\n return convertColor(vo.sliderBackgroundColorHover)\r\n },\r\n\r\n effSliderBackgroundColorDisabled: function() {\r\n let vo = this\r\n return convertColor(vo.sliderBackgroundColorDisabled)\r\n },\r\n\r\n useSliderBackgroundColor: function() {\r\n let vo = this\r\n if (!vo.editable) {\r\n return vo.effSliderBackgroundColorDisabled\r\n }\r\n if (vo.effecting) {\r\n return vo.effSliderBackgroundColorHover\r\n }\r\n return vo.effSliderBackgroundColor\r\n },\r\n\r\n useTooltipBorderRadius: function() {\r\n //console.log('computed useTooltipBorderRadius')\r\n\r\n let vo = this\r\n\r\n if (isNumber(vo.tooltipBorderRadius)) {\r\n return `border-radius:${vo.tooltipBorderRadius}px;`\r\n }\r\n return ''\r\n },\r\n\r\n useTooltipTextFontSize: function() {\r\n let vo = this\r\n let s = vo.tooltipTextFontSize\r\n s = replace(s, ';', '')\r\n return `font-size:${s};`\r\n },\r\n\r\n useTooltipTextColor: function() {\r\n //console.log('computed useTooltipTextColor')\r\n\r\n let vo = this\r\n\r\n return convertColor(vo.tooltipTextColor)\r\n },\r\n\r\n useTooltipBackgroundColor: function() {\r\n //console.log('computed useTooltipBackgroundColor')\r\n\r\n let vo = this\r\n\r\n return convertColor(vo.tooltipBackgroundColor)\r\n },\r\n\r\n valueDig: function() {\r\n // console.log('computed valueDig')\r\n\r\n let vo = this\r\n\r\n //t\r\n let t = (vo.rt) * (vo.valueMax - vo.valueMin) + vo.valueMin\r\n\r\n //dig\r\n let c = dig(t, vo.valueDecimal)\r\n\r\n return c\r\n },\r\n\r\n },\r\n methods: {\r\n\r\n resizePanel: function(msg) {\r\n //console.log('methods resizePanel', msg)\r\n\r\n let vo = this\r\n\r\n //update\r\n vo.panelWidth = msg.snew.offsetWidth\r\n vo.panelHeight = msg.snew.offsetHeight\r\n\r\n // //emit\r\n // vo.$emit('resize', msg)\r\n\r\n },\r\n\r\n limitRatio: function(r) {\r\n // console.log('methods limitRatio', r)\r\n\r\n // let vo = this\r\n\r\n r = Math.min(r, 1)\r\n r = Math.max(r, 0)\r\n\r\n return r\r\n },\r\n\r\n tickRatio: function(r) {\r\n // console.log('methods tickRatio', r)\r\n\r\n let vo = this\r\n\r\n //rt\r\n let rt = 0\r\n try {\r\n\r\n //rtk\r\n let rng = vo.valueMax - vo.valueMin\r\n let rtk = vo.valueStep / rng\r\n\r\n //round\r\n let i = round(r / rtk)\r\n\r\n //rt\r\n rt = i * rtk\r\n // console.log('r', r, 'rt', rt)\r\n\r\n }\r\n catch (err) { }\r\n\r\n\r\n return rt\r\n },\r\n\r\n dragBar: function(msg) {\r\n // console.log('methods dragBar', msg)\r\n\r\n let vo = this\r\n\r\n //check\r\n if (!vo.editable) {\r\n return\r\n }\r\n\r\n //r\r\n let bd = vo.$el.getBoundingClientRect()\r\n let x = msg.clientX - vo.sliderSize / 2\r\n let w = vo.progWidth //vo.$el.offsetWidth\r\n let r = 0\r\n if (w > 0) {\r\n r = (x - bd.left) / w //clientX需扣除元件的left位置\r\n }\r\n\r\n //limitRatio\r\n r = vo.limitRatio(r)\r\n // console.log(vo.r, 'r', r)\r\n\r\n //rt\r\n let rt = vo.tickRatio(r)\r\n\r\n //save\r\n vo.r = r\r\n vo.rt = rt\r\n\r\n //v\r\n let v = cdbl(vo.valueDig)\r\n\r\n //updatePopper\r\n vo.updatePopper()\r\n\r\n //emit\r\n vo.$emit('input', v)\r\n\r\n },\r\n\r\n pressBar: function() {\r\n let vo = this\r\n vo.dragTrans = true\r\n },\r\n\r\n freeBar: function() {\r\n let vo = this\r\n vo.dragTrans = false\r\n },\r\n\r\n showPopper: function(from) {\r\n // console.log('methods showPopper', from)\r\n\r\n let vo = this\r\n\r\n //check\r\n if (!vo.editable) {\r\n return\r\n }\r\n\r\n //divTrigger\r\n let divTrigger = get(vo, '$refs.divTrigger', null)\r\n if (divTrigger === null) {\r\n return //console.log('無法找到點擊區元素')\r\n }\r\n\r\n //divContent\r\n let divContent = get(vo, '$refs.divContent', null)\r\n\r\n //check\r\n if (divContent === null) {\r\n return //console.log('無法找到顯示元素')\r\n }\r\n\r\n //@popperjs/core 2.x\r\n let opt = {\r\n strategy: 'fixed', //盡量使用'fixed'而不用'absolute', 否則位於多層dialog或多層drawer內popup顯示會異常\r\n placement: 'top', //預設top, 因arrow不好給故僅提供top\r\n modifiers: [\r\n // preventOverflow,\r\n // computeStyles,\r\n // {\r\n // name: 'computeStyles',\r\n // options: {\r\n // gpuAcceleration: false, //預設true, 可關閉GPU加速\r\n // },\r\n // },\r\n arrow,\r\n {\r\n name: 'arrow',\r\n options: {\r\n padding: 5,\r\n },\r\n },\r\n flip,\r\n {\r\n name: 'flip',\r\n options: {\r\n fallbackPlacements: ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end'],\r\n },\r\n },\r\n offset,\r\n {\r\n name: 'offset',\r\n options: {\r\n // offset: [0, vo.tooltipPlacementDist], //[Skidding, Distance]\r\n // offset: [0, 5], //因popperjs會自動調位置, 故得通過callback函數處理指定位置時的偏移量\r\n offset: ({ placement, reference, popper }) => {\r\n // console.log('offset', placement, reference, popper, vo.tooltipPlacementDist)\r\n // if (placement === 'bottom-start' || placement === 'bottom' || placement === 'bottom-end') {\r\n // return [0, vo.tooltipPlacementDist]\r\n // }\r\n // else if (placement === 'top-start' || placement === 'top' || placement === 'top-end') {\r\n // return [0, vo.tooltipPlacementDist]\r\n // }\r\n // else if (placement === 'left-start' || placement === 'left' || placement === 'left-end') {\r\n // return [0, vo.tooltipPlacementDist]\r\n // }\r\n // else if (placement === 'right-start' || placement === 'right' || placement === 'right-end') {\r\n // return [0, vo.tooltipPlacementDist]\r\n // }\r\n // else {\r\n // return []\r\n // }\r\n return [0, vo.tooltipPlacementDist] //[Skidding, Distance]\r\n },\r\n },\r\n },\r\n hide,\r\n ],\r\n }\r\n vo.popperInstance = createPopper(divTrigger, divContent, opt)\r\n // console.log('popperInstance', vo.popperInstance)\r\n\r\n },\r\n\r\n updatePopper: function(msg) {\r\n //console.log('methods updatePopper', msg)\r\n\r\n let vo = this\r\n\r\n //check\r\n if (!vo.editable) {\r\n return\r\n }\r\n\r\n //update\r\n if (vo.popperInstance) {\r\n vo.popperInstance.update()\r\n }\r\n\r\n // //emit\r\n // vo.$emit('resize', msg)\r\n\r\n },\r\n\r\n hidePopper: function(from) {\r\n // console.log('methods hidePopper', from, this.mmkey)\r\n\r\n let vo = this\r\n\r\n //check\r\n if (vo.popperInstance) {\r\n\r\n //destroy\r\n vo.popperInstance.destroy()\r\n vo.popperInstance = null\r\n\r\n }\r\n\r\n },\r\n\r\n },\r\n}\r\n<\/script>\r\n\r\n<style scoped>\r\n.ts {\r\n transition:all 0.3s;\r\n}\r\n.bs {\r\n box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px 0px rgb(0 0 0 / 14%), 0px 1px 10px 0px rgb(0 0 0 / 12%);\r\n}\r\n.WPopperFix[data-popper-reference-hidden] {\r\n visibility: hidden;\r\n pointer-events: none;\r\n}\r\n.arrow,\r\n.arrow::before {\r\n position: absolute;\r\n width: 5px;\r\n height: 5px;\r\n background: inherit;\r\n}\r\n.arrow {\r\n visibility: hidden;\r\n}\r\n.arrow::before {\r\n visibility: visible;\r\n content: '';\r\n transform: rotate(45deg);\r\n}\r\n/* .arrow::after {\r\n content: \"\";\r\n position: absolute;\r\n top: 100%;\r\n left: 50%;\r\n margin-left: -5px;\r\n border-width: 5px;\r\n border-style: solid;\r\n border-color: black transparent transparent transparent;\r\n} */\r\n</style>\r\n"]},media:void 0})},Lc,"data-v-a1a5d80e",false,void 0,!1,Gr,void 0,void 0)},props:{value:{type:String,default:"#FFFFFF"},size:{type:Number,default:200},borderColor:{type:String,default:"#ddd"},borderColorHover:{type:String,default:"#ccc"},borderColorActive:{type:String,default:"#777"},backgroundColor:{type:String,default:"transparent"},menuBorderRadius:{type:Number,default:4},menuBackgroundColor:{type:String,default:"#fff"},menuBackgroundColorHover:{type:String,default:"#f9f9f9"},menuBackgroundColorActive:{type:String,default:"#f2f2f2"},menuTextColor:{type:String,default:"#444"},menuTextColorHover:{type:String,default:"#222"},menuTextColorActive:{type:String,default:"#000"},menuTextFontSize:{type:String,default:"0.8rem"},inputBorderRadius:{type:Number,default:4},inputBorderColor:{type:String,default:"#ccc"},inputBorderColorHover:{type:String,default:"#b5b5b5"},inputBorderColorActive:{type:String,default:"#aaa"},inputBackgroundColor:{type:String,default:"#fff"},inputBackgroundColorHover:{type:String,default:"#fafafa"},inputBackgroundColorActive:{type:String,default:"#f2f2f2"},inputTextColor:{type:String,default:"#000"},inputTextFontSize:{type:String,default:"0.8rem"},inputTextWidth:{type:Number,default:38},inputTextHeight:{type:Number,default:18},inputLabelWidth:{type:Number,default:12},inputLabelColor:{type:String,default:"#666"},inputLabelFontSize:{type:String,default:"0.8rem"},barProgHeight:{type:Number,default:4},barProgColor:{type:String,default:"#74a4d9"},barProgBackgroundColor:{type:String,default:"#eee"},barSliderSize:{type:Number,default:10},barSliderBackgroundColor:{type:String,default:"#1565C0"},barSliderBackgroundColorHover:{type:String,default:"#1976D2"}},data:function(){return{methods:[{text:"RGBA"},{text:"HSVA"}],methodSelect:{text:"RGBA"},lock:!1,valueTrans:null,r:255,g:255,b:255,h:360,s:1,v:1,a:1,rt:255,gt:255,bt:255,ht:360,st:1,vt:1,at:1}},computed:{changeValue:function(){let n=this;n.valueTrans=Br(n.value);let e=Ys.toRgba(n.valueTrans),t=Ys.toHsva(n.valueTrans);return n.r=e.r,n.rt=e.r,n.g=e.g,n.gt=e.g,n.b=e.b,n.bt=e.b,n.a=e.a,n.at=e.a,n.h=t.h,n.ht=t.h,n.s=t.s,n.st=t.s,n.v=t.v,n.vt=t.v,""},sliderWidth:function(){let n=this,e=n.size-n.inputTextWidth-n.inputLabelWidth-13;return e=Math.max(e,0),e},useBorderColor:function(){return Br(this.borderColor)},useBackgroundColor:function(){return Br(this.backgroundColor)}},methods:{cki255:function(n){if(!$l(n))return 0;let e=n;return(n=Ho(n))<0?n=0:n>255&&(n=255),n===Ho(e)?e:n},cki360:function(n){if(!$l(n))return 0;let e=n;return(n=Ho(n))<0?n=0:n>360&&(n=360),n===Ho(e)?e:n},ckd1:function(n){if(!Pd(n))return 0;let e=n;return(n=Po(n))<0?n=0:n>1&&(n=1),n===Po(e)?e:n},updateColorCore:function(){let n=this,e=!1,t=!1;{let t=Ho(n.rt);n.r!==t&&(n.r=t,e=!0)}{let t=Ho(n.gt);n.g!==t&&(n.g=t,e=!0)}{let t=Ho(n.bt);n.b!==t&&(n.b=t,e=!0)}{let t=Po(n.at);n.a!==t&&(n.a=t,e=!0)}{let e=Ho(n.ht);n.h!==e&&(n.h=e,t=!0)}{let e=Po(n.st);n.s!==e&&(n.s=e,t=!0)}{let e=Po(n.vt);n.v!==e&&(n.v=e,t=!0)}let o=null;e?o={r:n.r,g:n.g,b:n.b,a:n.a}:t&&(o={h:n.h,s:n.s,v:n.v,a:n.a}),Tr(o)&&(o=Ys.toRgbaString(o),n.valueTrans=o,n.$emit("input",o))},updateColor:function(n,e,t){let o=this;setTimeout(()=>{o.updateColorCore()},1)}}};var Oc=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{style:"display:inline-block;",attrs:{changeValue:n.changeValue}},[t("div",{style:"padding-left:10px; margin-bottom:-1px;"},[t("WGroupChipRadio",{attrs:{items:n.methods,paddingStyle:{v:1,h:6},group:!0,groupBorderRadiusStyle:{top:!0},groupShift:0,borderRadius:n.menuBorderRadius,borderColor:n.borderColor,borderColorHover:n.borderColorHover,borderColorActive:n.borderColorActive,backgroundColor:n.menuBackgroundColor,backgroundColorHover:n.menuBackgroundColorHover,backgroundColorActive:n.menuBackgroundColorActive,textColor:n.menuTextColor,textColorHover:n.menuTextColorHover,textColorActive:n.menuTextColorActive,textFontSize:n.menuTextFontSize,marginStyle:{},shadowActive:!1},model:{value:n.methodSelect,callback:function(e){n.methodSelect=e},expression:"methodSelect"}})],1),n._v(" "),t("div",{style:"padding:10px; border:1px solid "+n.useBorderColor+"; background:"+n.useBackgroundColor+";"},[t("div",{directives:[{name:"show",rawName:"v-show",value:"RGBA"===n.methodSelect.text,expression:"methodSelect.text==='RGBA'"}]},[t("WPanelLabelItem",{attrs:{label:"R",labelFontSize:n.inputLabelFontSize,labelWidth:n.inputLabelWidth,labelColor:n.inputLabelColor},scopedSlots:n._u([{key:"item",fn:function(){return[t("div",{staticStyle:{display:"flex","align-items":"center"}},[t("WText",{style:"width:"+n.inputTextWidth+"px;",attrs:{funVerify:n.cki255,shadow:!1,bottomLineBorderColor:"transparent",bottomLineBorderColorHover:"transparent",bottomLineBorderColorFocus:"transparent",paddingStyle:{v:0,h:5},iconShiftOuter:-10,borderRadius:n.inputBorderRadius,borderColor:n.inputBorderColor,borderColorHover:n.inputBorderColorHover,borderColorFocus:n.inputBorderColorActive,backgroundColor:n.inputBackgroundColor,backgroundColorHover:n.inputBackgroundColorHover,backgroundColorFocus:n.inputBackgroundColorActive,textColor:n.inputTextColor,textFontSize:n.inputTextFontSize,height:n.inputTextHeight},on:{input:function(e,t){n.updateColor(e,t,"r")}},model:{value:n.rt,callback:function(e){n.rt=e},expression:"rt"}}),n._v(" "),t("div",{staticStyle:{"padding-left":"5px"}}),n._v(" "),t("WSlider",{style:"width:"+n.sliderWidth+"px;",attrs:{progHeight:n.barProgHeight,progColor:n.barProgColor,progBackgroundColor:n.barProgBackgroundColor,sliderSize:n.barSliderSize,sliderBackgroundColor:n.barSliderBackgroundColor,sliderBackgroundColorHover:n.barSliderBackgroundColorHover,valueMin:0,valueMax:255,valueStep:1,valueDecimal:0,value:n.r},on:{input:function(e){n.rt=e,n.updateColor(e,"","rs")}}})],1)]},proxy:!0}])}),n._v(" "),t("div",{staticStyle:{height:"10px"}}),n._v(" "),t("WPanelLabelItem",{attrs:{label:"G",labelFontSize:n.inputLabelFontSize,labelWidth:n.inputLabelWidth,labelColor:n.inputLabelColor},scopedSlots:n._u([{key:"item",fn:function(){return[t("div",{staticStyle:{display:"flex","align-items":"center"}},[t("WText",{style:"width:"+n.inputTextWidth+"px;",attrs:{funVerify:n.cki255,shadow:!1,bottomLineBorderColor:"transparent",bottomLineBorderColorHover:"transparent",bottomLineBorderColorFocus:"transparent",paddingStyle:{v:0,h:5},iconShiftOuter:-10,borderRadius:n.inputBorderRadius,borderColor:n.inputBorderColor,borderColorHover:n.inputBorderColorHover,borderColorFocus:n.inputBorderColorActive,backgroundColor:n.inputBackgroundColor,backgroundColorHover:n.inputBackgroundColorHover,backgroundColorFocus:n.inputBackgroundColorActive,textColor:n.inputTextColor,textFontSize:n.inputTextFontSize,height:n.inputTextHeight},on:{input:function(e,t){n.updateColor(e,t,"g")}},model:{value:n.gt,callback:function(e){n.gt=e},expression:"gt"}}),n._v(" "),t("div",{staticStyle:{"padding-left":"5px"}}),n._v(" "),t("WSlider",{style:"width:"+n.sliderWidth+"px;",attrs:{progHeight:n.barProgHeight,progColor:n.barProgColor,progBackgroundColor:n.barProgBackgroundColor,sliderSize:n.barSliderSize,sliderBackgroundColor:n.barSliderBackgroundColor,sliderBackgroundColorHover:n.barSliderBackgroundColorHover,valueMin:0,valueMax:255,valueStep:1,valueDecimal:0,value:n.g},on:{input:function(e){n.gt=e,n.updateColor(e,"","gs")}}})],1)]},proxy:!0}])}),n._v(" "),t("div",{staticStyle:{height:"10px"}}),n._v(" "),t("WPanelLabelItem",{attrs:{label:"B",labelFontSize:n.inputLabelFontSize,labelWidth:n.inputLabelWidth,labelColor:n.inputLabelColor},scopedSlots:n._u([{key:"item",fn:function(){return[t("div",{staticStyle:{display:"flex","align-items":"center"}},[t("WText",{style:"width:"+n.inputTextWidth+"px;",attrs:{funVerify:n.cki255,shadow:!1,bottomLineBorderColor:"transparent",bottomLineBorderColorHover:"transparent",bottomLineBorderColorFocus:"transparent",paddingStyle:{v:0,h:5},iconShiftOuter:-10,borderRadius:n.inputBorderRadius,borderColor:n.inputBorderColor,borderColorHover:n.inputBorderColorHover,borderColorFocus:n.inputBorderColorActive,backgroundColor:n.inputBackgroundColor,backgroundColorHover:n.inputBackgroundColorHover,backgroundColorFocus:n.inputBackgroundColorActive,textColor:n.inputTextColor,textFontSize:n.inputTextFontSize,height:n.inputTextHeight},on:{input:function(e,t){n.updateColor(e,t,"b")}},model:{value:n.bt,callback:function(e){n.bt=e},expression:"bt"}}),n._v(" "),t("div",{staticStyle:{"padding-left":"5px"}}),n._v(" "),t("WSlider",{style:"width:"+n.sliderWidth+"px;",attrs:{progHeight:n.barProgHeight,progColor:n.barProgColor,progBackgroundColor:n.barProgBackgroundColor,sliderSize:n.barSliderSize,sliderBackgroundColor:n.barSliderBackgroundColor,sliderBackgroundColorHover:n.barSliderBackgroundColorHover,valueMin:0,valueMax:255,valueStep:1,valueDecimal:0,value:n.b},on:{input:function(e){n.bt=e,n.updateColor(e,"","bs")}}})],1)]},proxy:!0}])}),n._v(" "),t("div",{staticStyle:{height:"10px"}}),n._v(" "),t("WPanelLabelItem",{attrs:{label:"A",labelFontSize:n.inputLabelFontSize,labelWidth:n.inputLabelWidth,labelColor:n.inputLabelColor},scopedSlots:n._u([{key:"item",fn:function(){return[t("div",{staticStyle:{display:"flex","align-items":"center"}},[t("WText",{style:"width:"+n.inputTextWidth+"px;",attrs:{funVerify:n.ckd1,shadow:!1,bottomLineBorderColor:"transparent",bottomLineBorderColorHover:"transparent",bottomLineBorderColorFocus:"transparent",paddingStyle:{v:0,h:5},iconShiftOuter:-10,borderRadius:n.inputBorderRadius,borderColor:n.inputBorderColor,borderColorHover:n.inputBorderColorHover,borderColorFocus:n.inputBorderColorActive,backgroundColor:n.inputBackgroundColor,backgroundColorHover:n.inputBackgroundColorHover,backgroundColorFocus:n.inputBackgroundColorActive,textColor:n.inputTextColor,textFontSize:n.inputTextFontSize,height:n.inputTextHeight},on:{input:function(e,t){n.updateColor(e,t,"a")}},model:{value:n.at,callback:function(e){n.at=e},expression:"at"}}),n._v(" "),t("div",{staticStyle:{"padding-left":"5px"}}),n._v(" "),t("WSlider",{style:"width:"+n.sliderWidth+"px;",attrs:{progHeight:n.barProgHeight,progColor:n.barProgColor,progBackgroundColor:n.barProgBackgroundColor,sliderSize:n.barSliderSize,sliderBackgroundColor:n.barSliderBackgroundColor,sliderBackgroundColorHover:n.barSliderBackgroundColorHover,valueMin:0,valueMax:1,valueStep:.01,valueDecimal:2,value:n.a},on:{input:function(e){n.at=e,n.updateColor(e,"","as")}}})],1)]},proxy:!0}])})],1),n._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:"HSVA"===n.methodSelect.text,expression:"methodSelect.text==='HSVA'"}]},[t("WPanelLabelItem",{attrs:{label:"H",labelFontSize:n.inputLabelFontSize,labelWidth:n.inputLabelWidth,labelColor:n.inputLabelColor},scopedSlots:n._u([{key:"item",fn:function(){return[t("div",{staticStyle:{display:"flex","align-items":"center"}},[t("WText",{style:"width:"+n.inputTextWidth+"px;",attrs:{funVerify:n.cki360,shadow:!1,bottomLineBorderColor:"transparent",bottomLineBorderColorHover:"transparent",bottomLineBorderColorFocus:"transparent",paddingStyle:{v:0,h:5},iconShiftOuter:-10,borderRadius:n.inputBorderRadius,borderColor:n.inputBorderColor,borderColorHover:n.inputBorderColorHover,borderColorFocus:n.inputBorderColorActive,backgroundColor:n.inputBackgroundColor,backgroundColorHover:n.inputBackgroundColorHover,backgroundColorFocus:n.inputBackgroundColorActive,textColor:n.inputTextColor,textFontSize:n.inputTextFontSize,height:n.inputTextHeight},on:{input:function(e,t){n.updateColor(e,t,"h")}},model:{value:n.ht,callback:function(e){n.ht=e},expression:"ht"}}),n._v(" "),t("div",{staticStyle:{"padding-left":"5px"}}),n._v(" "),t("WSlider",{style:"width:"+n.sliderWidth+"px;",attrs:{progHeight:n.barProgHeight,progColor:n.barProgColor,progBackgroundColor:n.barProgBackgroundColor,sliderSize:n.barSliderSize,sliderBackgroundColor:n.barSliderBackgroundColor,sliderBackgroundColorHover:n.barSliderBackgroundColorHover,valueMin:0,valueMax:360,valueStep:1,valueDecimal:0,value:n.h},on:{input:function(e){n.ht=e,n.updateColor(e,"","hs")}}})],1)]},proxy:!0}])}),n._v(" "),t("div",{staticStyle:{height:"10px"}}),n._v(" "),t("WPanelLabelItem",{attrs:{label:"S",labelFontSize:n.inputLabelFontSize,labelWidth:n.inputLabelWidth,labelColor:n.inputLabelColor},scopedSlots:n._u([{key:"item",fn:function(){return[t("div",{staticStyle:{display:"flex","align-items":"center"}},[t("WText",{style:"width:"+n.inputTextWidth+"px;",attrs:{funVerify:n.ckd1,shadow:!1,bottomLineBorderColor:"transparent",bottomLineBorderColorHover:"transparent",bottomLineBorderColorFocus:"transparent",paddingStyle:{v:0,h:5},iconShiftOuter:-10,borderRadius:n.inputBorderRadius,borderColor:n.inputBorderColor,borderColorHover:n.inputBorderColorHover,borderColorFocus:n.inputBorderColorActive,backgroundColor:n.inputBackgroundColor,backgroundColorHover:n.inputBackgroundColorHover,backgroundColorFocus:n.inputBackgroundColorActive,textColor:n.inputTextColor,textFontSize:n.inputTextFontSize,height:n.inputTextHeight},on:{input:function(e,t){n.updateColor(e,t,"s")}},model:{value:n.st,callback:function(e){n.st=e},expression:"st"}}),n._v(" "),t("div",{staticStyle:{"padding-left":"5px"}}),n._v(" "),t("WSlider",{style:"width:"+n.sliderWidth+"px;",attrs:{progHeight:n.barProgHeight,progColor:n.barProgColor,progBackgroundColor:n.barProgBackgroundColor,sliderSize:n.barSliderSize,sliderBackgroundColor:n.barSliderBackgroundColor,sliderBackgroundColorHover:n.barSliderBackgroundColorHover,valueMin:0,valueMax:1,valueStep:.01,valueDecimal:2,value:n.s},on:{input:function(e){n.st=e,n.updateColor(e,"","ss")}}})],1)]},proxy:!0}])}),n._v(" "),t("div",{staticStyle:{height:"10px"}}),n._v(" "),t("WPanelLabelItem",{attrs:{label:"V",labelFontSize:n.inputLabelFontSize,labelWidth:n.inputLabelWidth,labelColor:n.inputLabelColor},scopedSlots:n._u([{key:"item",fn:function(){return[t("div",{staticStyle:{display:"flex","align-items":"center"}},[t("WText",{style:"width:"+n.inputTextWidth+"px;",attrs:{funVerify:n.ckd1,shadow:!1,bottomLineBorderColor:"transparent",bottomLineBorderColorHover:"transparent",bottomLineBorderColorFocus:"transparent",paddingStyle:{v:0,h:5},iconShiftOuter:-10,borderRadius:n.inputBorderRadius,borderColor:n.inputBorderColor,borderColorHover:n.inputBorderColorHover,borderColorFocus:n.inputBorderColorActive,backgroundColor:n.inputBackgroundColor,backgroundColorHover:n.inputBackgroundColorHover,backgroundColorFocus:n.inputBackgroundColorActive,textColor:n.inputTextColor,textFontSize:n.inputTextFontSize,height:n.inputTextHeight},on:{input:function(e,t){n.updateColor(e,t,"v")}},model:{value:n.vt,callback:function(e){n.vt=e},expression:"vt"}}),n._v(" "),t("div",{staticStyle:{"padding-left":"5px"}}),n._v(" "),t("WSlider",{style:"width:"+n.sliderWidth+"px;",attrs:{progHeight:n.barProgHeight,progColor:n.barProgColor,progBackgroundColor:n.barProgBackgroundColor,sliderSize:n.barSliderSize,sliderBackgroundColor:n.barSliderBackgroundColor,sliderBackgroundColorHover:n.barSliderBackgroundColorHover,valueMin:0,valueMax:1,valueStep:.01,valueDecimal:2,value:n.v},on:{input:function(e){n.vt=e,n.updateColor(e,"","bs")}}})],1)]},proxy:!0}])}),n._v(" "),t("div",{staticStyle:{height:"10px"}}),n._v(" "),t("WPanelLabelItem",{attrs:{label:"A",labelFontSize:n.inputLabelFontSize,labelWidth:n.inputLabelWidth,labelColor:n.inputLabelColor},scopedSlots:n._u([{key:"item",fn:function(){return[t("div",{staticStyle:{display:"flex","align-items":"center"}},[t("WText",{style:"width:"+n.inputTextWidth+"px;",attrs:{funVerify:n.ckd1,shadow:!1,bottomLineBorderColor:"transparent",bottomLineBorderColorHover:"transparent",bottomLineBorderColorFocus:"transparent",paddingStyle:{v:0,h:5},iconShiftOuter:-10,borderRadius:n.inputBorderRadius,borderColor:n.inputBorderColor,borderColorHover:n.inputBorderColorHover,borderColorFocus:n.inputBorderColorActive,backgroundColor:n.inputBackgroundColor,backgroundColorHover:n.inputBackgroundColorHover,backgroundColorFocus:n.inputBackgroundColorActive,textColor:n.inputTextColor,textFontSize:n.inputTextFontSize,height:n.inputTextHeight},on:{input:function(e,t){n.updateColor(e,t,"a")}},model:{value:n.at,callback:function(e){n.at=e},expression:"at"}}),n._v(" "),t("div",{staticStyle:{"padding-left":"5px"}}),n._v(" "),t("WSlider",{style:"width:"+n.sliderWidth+"px;",attrs:{progHeight:n.barProgHeight,progColor:n.barProgColor,progBackgroundColor:n.barProgBackgroundColor,sliderSize:n.barSliderSize,sliderBackgroundColor:n.barSliderBackgroundColor,sliderBackgroundColorHover:n.barSliderBackgroundColorHover,valueMin:0,valueMax:1,valueStep:.01,valueDecimal:2,value:n.a},on:{input:function(e){n.at=e,n.updateColor(e,"","as")}}})],1)]},proxy:!0}])})],1)])])};Oc._withStripped=!0;const Vc=Ur({render:Oc,staticRenderFns:[]},function(n){n&&n("data-v-9b55b3c2_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WColorSelectInput.vue"},media:void 0})},Rc,"data-v-9b55b3c2",false,void 0,!1,Gr,void 0,void 0);const Yc={directives:{domresize:Vo()},components:{WPopup:Bl,WColorSelectPanel:Bd,WColorSelectInput:Vc,WButtonChip:Wd,WIcon:Kr},props:{value:{type:String,default:"#FFFFFF"},type:{type:String,default:"HSVA"},size:{type:Number,default:200},space:{type:Number,default:10},colorBlockSize:{type:Number,default:20},colorBlockBorderWidth:{type:Number,default:1},colorBlockBorderColor:{type:String,default:"#ddd"},showColorText:{type:Boolean,default:!0},colorTextColor:{type:String,default:"#000"},colorTextFontSize:{type:String,default:"0.8rem"},panelBackgroundColor:{type:String,default:"#fff"},toolBackgroundColor:{type:String,default:"#f5f5f5"},menuIconLump:{type:String,default:"M12,5.32L18,8.69V15.31L12,18.68L6,15.31V8.69L12,5.32M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z"},menuIconHsva:{type:String,default:"M19 3V21H15V3H19M14 3V21H10V3H14M9 3V21H5V3H9Z"},menuIconEyeDropper:{type:String,default:"M19.35,11.72L17.22,13.85L15.81,12.43L8.1,20.14L3.5,22L2,20.5L3.86,15.9L11.57,8.19L10.15,6.78L12.28,4.65L19.35,11.72M16.76,3C17.93,1.83 19.83,1.83 21,3C22.17,4.17 22.17,6.07 21,7.24L19.08,9.16L14.84,4.92L16.76,3M5.56,17.03L4.5,19.5L6.97,18.44L14.4,11L13,9.6L5.56,17.03Z"},menuIconColor:{type:String,default:"#aaa"},menuIconColorHover:{type:String,default:"#999"},menuIconColorActive:{type:String,default:"#666"},menuIconSize:{type:Number,default:20},borderColor:{type:String,default:"#ddd"},borderColorHover:{type:String,default:"#ccc"},borderColorActive:{type:String,default:"#777"},menuBorderRadius:{type:Number,default:4},menuTextColor:{type:String,default:"#444"},menuTextColorHover:{type:String,default:"#222"},menuTextColorActive:{type:String,default:"#000"},menuTextFontSize:{type:String,default:"0.8rem"},menuBackgroundColor:{type:String,default:"#fff"},menuBackgroundColorHover:{type:String,default:"#f9f9f9"},menuBackgroundColorActive:{type:String,default:"#f2f2f2"},inputBorderRadius:{type:Number,default:4},inputBorderColor:{type:String,default:"#ccc"},inputBorderColorHover:{type:String,default:"#b5b5b5"},inputBorderColorActive:{type:String,default:"#aaa"},inputBackgroundColor:{type:String,default:"#fff"},inputBackgroundColorHover:{type:String,default:"#fafafa"},inputBackgroundColorActive:{type:String,default:"#f2f2f2"},inputTextColor:{type:String,default:"#000"},inputTextFontSize:{type:String,default:"0.8rem"},inputTextWidth:{type:Number,default:38},inputTextHeight:{type:Number,default:18},inputLabelWidth:{type:Number,default:12},inputLabelColor:{type:String,default:"#666"},inputLabelFontSize:{type:String,default:"0.8rem"},barProgHeight:{type:Number,default:4},barProgColor:{type:String,default:"#74a4d9"},barProgBackgroundColor:{type:String,default:"#eee"},barSliderSize:{type:Number,default:10},barSliderBackgroundColor:{type:String,default:"#1565C0"},barSliderBackgroundColorHover:{type:String,default:"#1976D2"},popupPlacementDist:{type:Number,default:5},btnText:{type:String,default:"Confirm"},btnRippleColor:{type:String,default:"rgba(255,255,255,0.4)"},btnPaddingStyle:{type:Object,default:()=>({v:1,h:5})},btnTextColor:{type:String,default:"#000"},btnTextColorHover:{type:String,default:"#222"},btnTextColorActive:{type:String,default:"#222"},btnTextFontSize:{type:String,default:"0.8rem"},btnBorderRadius:{type:Number,default:4},btnBackgroundColor:{type:String,default:"rgb(241,241,241)"},btnBackgroundColorHover:{type:String,default:"rgb(236,236,236)"},btnBackgroundColorActive:{type:String,default:"rgb(236,236,236)"},btnShadow:{type:Boolean,default:!0},editable:{type:Boolean,default:!0}},data:function(){return{mdiLoading:"M12,4V2A10,10 0 0,0 2,12H4A8,8 0 0,1 12,4Z",show:!1,typeTrans:"HSVA",loadingEyeDropper:!1,layoutType:"horizontal",layoutOverflowY:!1,layoutMinY:300,layoutMaxY:300,selectPanelHeight:0,selectInputHeight:0,valueOri:null,valueNew:null}},computed:{changeValue:function(){let n=this;return n.valueOri=Br(n.value),n.valueNew=n.valueOri,""},changeType:function(){return this.typeTrans=this.type,""},hasEyeDropper:function(){return Lo(window.EyeDropper)},useColorBlockBorderColor:function(){return Br(this.colorBlockBorderColor)},useColorTextColor:function(){return Br(this.colorTextColor)},usePanelBackgroundColor:function(){return Br(this.panelBackgroundColor)},useToolBackgroundColor:function(){return Br(this.toolBackgroundColor)},useBorderColor:function(){return Br(this.borderColor)},usePanelOverflow:function(){let n=this,e=`overflow-y:auto; min-height:${n.layoutMinY}px;`;return n.layoutOverflowY&&(e+=`max-height:${n.layoutMaxY}px;`),e}},methods:{resize:function(n){let e=this;if(!e.show)return;let t=an(n,"snew.windowWidth",0)>=2*(e.size+20)+3*e.space;e.layoutType=t?"horizontal":"vertical"},resizeContent:function(n){let e=this;if(!e.show)return;let t=an(n,"snew.windowHeight",0);try{let n=function(n){if(!Wr(n))return null;try{return n.getBoundingClientRect()}catch(n){}return null}(e.$refs.ct),o=500;e.layoutOverflowY=n.top+o>t,e.layoutMaxY=Math.max(t-n.top-30,e.layoutMinY)}catch(n){}},resizeSelectPanel:function(n){if(!this.show)return;let e=an(n,"snew.clientHeight",0);this.selectPanelHeight=e},resizeSelectInput:function(n){if(!this.show)return;let e=an(n,"snew.clientHeight",0);this.selectInputHeight=e},openEyeDropper:function(){let n=this;n.hasEyeDropper&&(n.loadingEyeDropper=!0,(new window.EyeDropper).open().then(e=>{let t=an(e,"sRGBHex","#fff");n.valueNew=t}).catch(n=>{console.log(n)}).finally(()=>{n.loadingEyeDropper=!1}))},clickColor:function(){let n=this;n.editable&&(n.$emit("input",n.valueNew),n.show=!1)}}};var Uc=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("WPopup",{directives:[{name:"domresize",rawName:"v-domresize"}],attrs:{minWidth:null,maxWidth:null,autoFitMinWidth:!1,autoFitMaxWidth:!1,placementDistY:n.popupPlacementDist,editable:n.editable,changeValue:n.changeValue,changeType:n.changeType},on:{domresize:n.resize},scopedSlots:n._u([{key:"trigger",fn:function(){return[t("div",{},[t("div",{staticStyle:{display:"flex","align-items":"center",cursor:"pointer",outline:"none"},on:{click:n.clickColor}},[t("div",{style:"border:"+n.colorBlockBorderWidth+"px solid "+n.useColorBlockBorderColor+"; width:"+n.colorBlockSize+"px; height:"+n.colorBlockSize+"px; background:"+n.valueOri+";"}),n._v(" "),n.showColorText?[t("div",{style:"padding-left:5px;"}),n._v(" "),t("div",{style:"font-size:"+n.colorTextFontSize+"; color:"+n.useColorTextColor+";"},[n._v("\n "+n._s(n.valueOri)+"\n ")])]:n._e()],2)])]},proxy:!0},{key:"content",fn:function(){return[t("div",{directives:[{name:"domresize",rawName:"v-domresize"}],ref:"ct",style:"background:"+n.usePanelBackgroundColor+"; "+n.usePanelOverflow,on:{domresize:n.resizeContent}},[t("div",{style:"display:flex; padding:"+n.space+"px; border-bottom:1px solid "+n.useBorderColor+"; background:"+n.useToolBackgroundColor+";"},[t("div",{},[t("WIcon",{staticStyle:{cursor:"pointer"},attrs:{icon:n.menuIconHsva,color:"HSVA"===n.typeTrans?n.menuIconColorActive:n.menuIconColor,colorHover:"HSVA"===n.typeTrans?n.menuIconColorActive:n.menuIconColorHover,size:n.menuIconSize},on:{click:function(e){n.typeTrans="HSVA",n.$emit("update:type","HSVA")}}})],1),n._v(" "),t("div",{},[t("WIcon",{staticStyle:{cursor:"pointer"},attrs:{icon:n.menuIconLump,color:"LUMP"===n.typeTrans?n.menuIconColorActive:n.menuIconColor,colorHover:"LUMP"===n.typeTrans?n.menuIconColorActive:n.menuIconColorHover,size:n.menuIconSize},on:{click:function(e){n.typeTrans="LUMP",n.$emit("update:type","LUMP")}}})],1),n._v(" "),n.hasEyeDropper?t("div",{},[t("WIcon",{class:{"icon-spinner":n.loadingEyeDropper},staticStyle:{cursor:"pointer"},attrs:{icon:n.loadingEyeDropper?n.mdiLoading:n.menuIconEyeDropper,color:n.loadingEyeDropper?n.menuIconColor:n.menuIconColorActive,colorHover:n.loadingEyeDropper?n.menuIconColor:n.menuIconColorActive,size:n.menuIconSize},on:{click:n.openEyeDropper}})],1):n._e(),n._v(" "),t("div",{style:"width:100%;"}),n._v(" "),t("div",{ref:"mtb",style:"display:flex; align-items:center;"},[t("div",{style:"display:flex; align-items:center; border:"+n.colorBlockBorderWidth+"px solid "+n.useColorBlockBorderColor+";"},[t("div",{style:"width:"+n.colorBlockSize+"px; min-width:"+n.colorBlockSize+"px; height:"+n.colorBlockSize+"px; background:"+n.valueOri+";"}),n._v(" "),t("div",{style:"width:"+n.colorBlockSize+"px; min-width:"+n.colorBlockSize+"px; height:"+n.colorBlockSize+"px; background:"+n.valueNew+";"})])])]),n._v(" "),t("div",{style:"padding:"+n.space+"px;"},[t("div",{directives:[{name:"domresize",rawName:"v-domresize"}],staticStyle:{display:"flex"},on:{domresize:n.resizeSelectPanel}},[t("WColorSelectPanel",{attrs:{type:n.typeTrans,size:n.size,space:0,backgroundColor:"transparent",menuIconLump:n.menuIconLump,menuIconHsva:n.menuIconHsva,menuIconColor:n.menuIconColor,menuIconColorHover:n.menuIconColorHover,menuIconColorActive:n.menuIconColorActive,menuIconSize:n.menuIconSize},model:{value:n.valueNew,callback:function(e){n.valueNew=e},expression:"valueNew"}})],1),n._v(" "),t("div",{style:"height:"+n.space+"px;"}),n._v(" "),t("div",{directives:[{name:"domresize",rawName:"v-domresize"}],staticStyle:{display:"flex"},on:{domresize:n.resizeSelectInput}},[t("WColorSelectInput",{attrs:{size:Math.max(n.size-22,0),backgroundColor:"transparent",borderColor:n.borderColor,borderColorHover:n.borderColorHover,borderColorActive:n.borderColorActive,menuBorderRadius:n.menuBorderRadius,menuBackgroundColor:n.menuBackgroundColor,menuBackgroundColorHover:n.menuBackgroundColorHover,menuBackgroundColorActive:n.menuBackgroundColorActive,menuTextColor:n.menuTextColor,menuTextColorHover:n.menuTextColorHover,menuTextColorActive:n.menuTextColorActive,menuTextFontSize:n.menuTextFontSize,inputBorderRadius:n.inputBorderRadius,inputBorderColor:n.inputBorderColor,inputBorderColorHover:n.inputBorderColorHover,inputBorderColorActive:n.inputBorderColorActive,inputBackgroundColor:n.inputBackgroundColor,inputBackgroundColorHover:n.inputBackgroundColorHover,inputBackgroundColorActive:n.inputBackgroundColorActive,inputTextColor:n.inputTextColor,inputTextFontSize:n.inputTextFontSize,inputTextWidth:n.inputTextWidth,inputTextHeight:n.inputTextHeight,inputLabelWidth:n.inputLabelWidth,inputLabelColor:n.inputLabelColor,inputLabelFontSize:n.inputLabelFontSize,barProgHeight:n.barProgHeight,barProgColor:n.barProgColor,barProgBackgroundColor:n.barProgBackgroundColor,barSliderSize:n.barSliderSize,barSliderBackgroundColor:n.barSliderBackgroundColor,barSliderBackgroundColorHover:n.barSliderBackgroundColorHover},model:{value:n.valueNew,callback:function(e){n.valueNew=e},expression:"valueNew"}})],1),n._v(" "),t("div",{style:"height:"+n.space+"px;"}),n._v(" "),t("div",{staticStyle:{"text-align":"right"}},[t("WButtonChip",{attrs:{text:n.btnText,rippleColor:n.btnRippleColor,paddingStyle:n.btnPaddingStyle,textColor:n.btnTextColor,textColorHover:n.btnTextColorHover,textColorActive:n.btnTextColorActive,textFontSize:n.btnTextFontSize,borderRadius:n.btnBorderRadius,_borderColor:"btnBorderColor",_borderColorHover:"btnBorderColorHover",_borderColorActive:"btnBorderColorActive",backgroundColor:n.btnBackgroundColor,backgroundColorHover:n.btnBackgroundColorHover,backgroundColorActive:n.btnBackgroundColorActive,shadow:n.btnShadow},on:{click:n.clickColor}})],1)])])]},proxy:!0}]),model:{value:n.show,callback:function(e){n.show=e},expression:"show"}})};Uc._withStripped=!0;const Xc=Ur({render:Uc,staticRenderFns:[]},function(n){n&&n("data-v-5cae3111_0",{source:"\n.icon-spinner[data-v-5cae3111] {\r\n animation: spin-animation-data-v-5cae3111 1.5s infinite;\r\n display: inline-block;\n}\n@keyframes spin-animation-data-v-5cae3111 {\n0% {\r\n transform: rotate(0deg);\n}\n100% {\r\n transform: rotate(359deg);\n}\n}\r\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\node_modules\\w-component-vue\\src\\components\\WColorSelect.vue"],names:[],mappings:";AAoxBA;IACA,uDAAA;IACA,qBAAA;AACA;AACA;AACA;QACA,uBAAA;AACA;AACA;QACA,yBAAA;AACA;AACA",file:"WColorSelect.vue",sourcesContent:["<template>\r\n <WPopup\r\n :minWidth=\"null\"\r\n :maxWidth=\"null\"\r\n :autoFitMinWidth=\"false\"\r\n :autoFitMaxWidth=\"false\"\r\n :placementDistY=\"popupPlacementDist\"\r\n :editable=\"editable\"\r\n v-model=\"show\"\r\n :changeValue=\"changeValue\"\r\n :changeType=\"changeType\"\r\n v-domresize\r\n @domresize=\"resize\"\r\n >\r\n\r\n <template v-slot:trigger>\r\n\r\n <div style=\"\">\r\n \x3c!-- 盡量不要讓display:flex暴露至外層 --\x3e\r\n <div\r\n style=\"display:flex; align-items:center; cursor:pointer; outline:none;\"\r\n @click=\"clickColor\"\r\n >\r\n\r\n <div :style=\"`border:${colorBlockBorderWidth}px solid ${useColorBlockBorderColor}; width:${colorBlockSize}px; height:${colorBlockSize}px; background:${valueOri};`\"></div>\r\n\r\n <template v-if=\"showColorText\">\r\n\r\n <div :style=\"`padding-left:5px;`\"></div>\r\n\r\n <div :style=\"`font-size:${colorTextFontSize}; color:${useColorTextColor};`\">\r\n {{valueOri}}\r\n </div>\r\n\r\n </template>\r\n\r\n </div>\r\n </div>\r\n\r\n </template>\r\n\r\n <template v-slot:content>\r\n\r\n <div\r\n ref=\"ct\"\r\n :style=\"`background:${usePanelBackgroundColor}; ${usePanelOverflow}`\"\r\n v-domresize\r\n @domresize=\"resizeContent\"\r\n >\r\n\r\n \x3c!-- 上方選單區 --\x3e\r\n <div :style=\"`display:flex; padding:${space}px; border-bottom:1px solid ${useBorderColor}; background:${useToolBackgroundColor};`\">\r\n\r\n <div style=\"\">\r\n <WIcon\r\n style=\"cursor:pointer;\"\r\n :icon=\"menuIconHsva\"\r\n :color=\"typeTrans==='HSVA'?menuIconColorActive:menuIconColor\"\r\n :colorHover=\"typeTrans==='HSVA'?menuIconColorActive:menuIconColorHover\"\r\n :size=\"menuIconSize\"\r\n @click=\"typeTrans='HSVA';$emit('update:type','HSVA')\"\r\n ></WIcon>\r\n </div>\r\n\r\n <div style=\"\">\r\n <WIcon\r\n style=\"cursor:pointer;\"\r\n :icon=\"menuIconLump\"\r\n :color=\"typeTrans==='LUMP'?menuIconColorActive:menuIconColor\"\r\n :colorHover=\"typeTrans==='LUMP'?menuIconColorActive:menuIconColorHover\"\r\n :size=\"menuIconSize\"\r\n @click=\"typeTrans='LUMP';$emit('update:type','LUMP')\"\r\n ></WIcon>\r\n </div>\r\n\r\n <div style=\"\" v-if=\"hasEyeDropper\">\r\n <WIcon\r\n :class=\"{'icon-spinner':loadingEyeDropper}\"\r\n style=\"cursor:pointer;\"\r\n :icon=\"loadingEyeDropper?mdiLoading:menuIconEyeDropper\"\r\n :color=\"loadingEyeDropper?menuIconColor:menuIconColorActive\"\r\n :colorHover=\"loadingEyeDropper?menuIconColor:menuIconColorActive\"\r\n :size=\"menuIconSize\"\r\n @click=\"openEyeDropper\"\r\n ></WIcon>\r\n </div>\r\n\r\n <div :style=\"`width:100%;`\"></div>\r\n\r\n <div\r\n ref=\"mtb\"\r\n :style=\"`display:flex; align-items:center;`\"\r\n >\r\n\r\n <div :style=\"`display:flex; align-items:center; border:${colorBlockBorderWidth}px solid ${useColorBlockBorderColor};`\">\r\n\r\n <div :style=\"`width:${colorBlockSize}px; min-width:${colorBlockSize}px; height:${colorBlockSize}px; background:${valueOri};`\"></div>\r\n\r\n <div :style=\"`width:${colorBlockSize}px; min-width:${colorBlockSize}px; height:${colorBlockSize}px; background:${valueNew};`\"></div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div :style=\"`padding:${space}px;`\">\r\n\r\n \x3c!-- 顏色選擇區 --\x3e\r\n <div\r\n style=\"display:flex;\"\r\n v-domresize\r\n @domresize=\"resizeSelectPanel\"\r\n >\r\n <WColorSelectPanel\r\n :type=\"typeTrans\"\r\n :size=\"size\"\r\n :space=\"0\"\r\n :backgroundColor=\"'transparent'\"\r\n :menuIconLump=\"menuIconLump\"\r\n :menuIconHsva=\"menuIconHsva\"\r\n :menuIconColor=\"menuIconColor\"\r\n :menuIconColorHover=\"menuIconColorHover\"\r\n :menuIconColorActive=\"menuIconColorActive\"\r\n :menuIconSize=\"menuIconSize\"\r\n v-model=\"valueNew\"\r\n ></WColorSelectPanel>\r\n </div>\r\n\r\n <div :style=\"`height:${space}px;`\"></div>\r\n\r\n \x3c!-- 顏色數值區 --\x3e\r\n <div\r\n style=\"display:flex;\"\r\n v-domresize\r\n @domresize=\"resizeSelectInput\"\r\n >\r\n <WColorSelectInput\r\n :size=\"Math.max(size-22,0)\"\r\n :backgroundColor=\"'transparent'\"\r\n :borderColor=\"borderColor\"\r\n :borderColorHover=\"borderColorHover\"\r\n :borderColorActive=\"borderColorActive\"\r\n :menuBorderRadius=\"menuBorderRadius\"\r\n :menuBackgroundColor=\"menuBackgroundColor\"\r\n :menuBackgroundColorHover=\"menuBackgroundColorHover\"\r\n :menuBackgroundColorActive=\"menuBackgroundColorActive\"\r\n :menuTextColor=\"menuTextColor\"\r\n :menuTextColorHover=\"menuTextColorHover\"\r\n :menuTextColorActive=\"menuTextColorActive\"\r\n :menuTextFontSize=\"menuTextFontSize\"\r\n :inputBorderRadius=\"inputBorderRadius\"\r\n :inputBorderColor=\"inputBorderColor\"\r\n :inputBorderColorHover=\"inputBorderColorHover\"\r\n :inputBorderColorActive=\"inputBorderColorActive\"\r\n :inputBackgroundColor=\"inputBackgroundColor\"\r\n :inputBackgroundColorHover=\"inputBackgroundColorHover\"\r\n :inputBackgroundColorActive=\"inputBackgroundColorActive\"\r\n :inputTextColor=\"inputTextColor\"\r\n :inputTextFontSize=\"inputTextFontSize\"\r\n :inputTextWidth=\"inputTextWidth\"\r\n :inputTextHeight=\"inputTextHeight\"\r\n :inputLabelWidth=\"inputLabelWidth\"\r\n :inputLabelColor=\"inputLabelColor\"\r\n :inputLabelFontSize=\"inputLabelFontSize\"\r\n :barProgHeight=\"barProgHeight\"\r\n :barProgColor=\"barProgColor\"\r\n :barProgBackgroundColor=\"barProgBackgroundColor\"\r\n :barSliderSize=\"barSliderSize\"\r\n :barSliderBackgroundColor=\"barSliderBackgroundColor\"\r\n :barSliderBackgroundColorHover=\"barSliderBackgroundColorHover\"\r\n v-model=\"valueNew\"\r\n ></WColorSelectInput>\r\n </div>\r\n\r\n <div :style=\"`height:${space}px;`\"></div>\r\n\r\n \x3c!-- 確認按鈕區 --\x3e\r\n <div style=\"text-align:right;\">\r\n\r\n <WButtonChip\r\n :text=\"btnText\"\r\n :rippleColor=\"btnRippleColor\"\r\n :paddingStyle=\"btnPaddingStyle\"\r\n :textColor=\"btnTextColor\"\r\n :textColorHover=\"btnTextColorHover\"\r\n :textColorActive=\"btnTextColorActive\"\r\n :textFontSize=\"btnTextFontSize\"\r\n :borderRadius=\"btnBorderRadius\"\r\n _borderColor=\"btnBorderColor\"\r\n _borderColorHover=\"btnBorderColorHover\"\r\n _borderColorActive=\"btnBorderColorActive\"\r\n :backgroundColor=\"btnBackgroundColor\"\r\n :backgroundColorHover=\"btnBackgroundColorHover\"\r\n :backgroundColorActive=\"btnBackgroundColorActive\"\r\n :shadow=\"btnShadow\"\r\n @click=\"clickColor\"\r\n ></WButtonChip>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </template>\r\n\r\n </WPopup>\r\n</template>\r\n\r\n<script>\r\nimport { mdiHexagonSlice6, mdiViewParallel, mdiEyedropper, mdiLoading } from '@mdi/js'\r\nimport get from 'lodash-es/get.js'\r\nimport isfun from 'wsemi/src/isfun.mjs'\r\nimport domGetBoudRect from 'wsemi/src/domGetBoudRect.mjs'\r\nimport convertColor from '../js/convertColor.mjs'\r\nimport domResize from '../js/domResize.mjs'\r\nimport WPopup from './WPopup.vue'\r\nimport WColorSelectPanel from './WColorSelectPanel.vue'\r\nimport WColorSelectInput from './WColorSelectInput.vue'\r\nimport WButtonChip from './WButtonChip.vue'\r\nimport WIcon from './WIcon.vue'\r\n\r\n\r\n/**\r\n * @vue-prop {String} [value='#FFFFFF'] 輸入顏色字串,預設'#FFFFFF'\r\n * @vue-prop {String} [type='HSVA'] 輸入選擇顏色方式字串,可選'LUMP'、'HSVA',預設'HSVA'\r\n * @vue-prop {Number} [size=200] 輸入尺寸數字,代表組件基礎寬度與將自動計算高度,單位px,預設200\r\n * @vue-prop {Number} [space=10] 輸入子組件間距數字,單位px,預設10\r\n * @vue-prop {Number} [colorBlockSize=20] 輸入色塊長與寬度數字,單位px,預設20\r\n * @vue-prop {Number} [colorBlockBorderWidth=1] 輸入色塊框線寬度數字,單位px,預設1\r\n * @vue-prop {String} [colorBlockBorderColor='#ddd'] 輸入色塊框線顏色字串,預設'#ddd'\r\n * @vue-prop {Boolean} [showColorText=true] 輸入是否顯示當前RGBA顏色文字布林值,預設true\r\n * @vue-prop {String} [colorTextColor='#000'] 輸入當前RGBA顏色文字顏色字串,預設'#000'\r\n * @vue-prop {String} [colorTextFontSize='0.8rem'] 輸入當前RGBA顏色文字字型大小字串,預設'0.8rem'\r\n * @vue-prop {String} [panelBackgroundColor='#fff'] 輸入彈窗背景顏色字串,預設'#fff'\r\n * @vue-prop {String} [toolBackgroundColor='#f5f5f5'] 輸入彈窗背景顏色字串,預設'#f5f5f5'\r\n * @vue-prop {String} [menuIconLump=mdiHexagonSlice6] 輸入選單LUMP模式圖標字串,預設mdiHexagonSlice6\r\n * @vue-prop {String} [menuIconHsva=mdiViewParallel] mdiViewParallel\r\n * @vue-prop {String} [menuIconEyeDropper=mdiEyedropper] 輸入取色滴管圖標字串,可為mdi,md,fa代號或mdi/js路徑,預設使用mdi的圖標(mdiEyedropper)\r\n * @vue-prop {String} [menuIconColor='#aaa'] 輸入選單圖標顏色字串,預設'#aaa'\r\n * @vue-prop {String} [menuIconColorHover='#999'] 輸入滑鼠移入時選單圖標顏色字串,預設'#999'\r\n * @vue-prop {String} [menuIconColorActive='#666'] 輸入主動模式時選單圖標顏色字串,預設'#666'\r\n * @vue-prop {Number} [menuIconSize=20] 輸入選單圖標尺寸數字,單位為px,預設20\r\n * @vue-prop {String} [borderColor='#ddd'] 輸入邊框顏色字串,預設'#ddd'\r\n * @vue-prop {String} [borderColorHover='#ccc'] 輸入滑鼠移入時邊框顏色字串,預設'#ccc'\r\n * @vue-prop {String} [borderColorActive='#777'] 輸入主動模式時邊框顏色字串,預設'#777'\r\n * @vue-prop {Number} [menuBorderRadius=4] 輸入框圓角度數字,單位為px,預設4\r\n * @vue-prop {String} [menuTextColor='#444'] 輸入選單文字顏色字串,預設'#444'\r\n * @vue-prop {String} [menuTextColorHover='#222'] 輸入滑鼠移入時選單文字顏色字串,預設'#222'\r\n * @vue-prop {String} [menuTextColorActive='#000'] 輸入主動模式時選單文字顏色字串,預設'#000'\r\n * @vue-prop {String} [menuTextFontSize='0.8rem'] 輸入選單文字字型大小字串,預設'0.8rem'\r\n * @vue-prop {String} [menuBackgroundColor='#fff'] 輸入選單背景顏色字串,預設'#fff'\r\n * @vue-prop {String} [menuBackgroundColorHover='#f9f9f9'] 輸入滑鼠移入時選單背景顏色字串,預設'#f9f9f9'\r\n * @vue-prop {String} [menuBackgroundColorActive='#f2f2f2'] 輸入主動模式時選單背景顏色字串,預設'#f2f2f2'\r\n * @vue-prop {Number} [inputBorderRadius=4] 輸入顏色數字輸入區邊框圓角度數字,單位為px,預設4\r\n * @vue-prop {String} [inputBorderColor='#ccc'] 輸入顏色數字輸入區邊框顏色字串,預設'#ccc'\r\n * @vue-prop {String} [inputBorderColorHover='#b5b5b5'] 輸入滑鼠移入時顏色數字輸入區邊框顏色字串,預設'#b5b5b5'\r\n * @vue-prop {String} [inputBorderColorActive='#aaa'] 輸入主動模式時顏色數字輸入區邊框顏色字串,預設'#aaa'\r\n * @vue-prop {String} [inputBackgroundColor='#fff'] 輸入顏色數字輸入區背景顏色字串,預設'#fff'\r\n * @vue-prop {String} [inputBackgroundColorHover='#fafafa'] 輸入滑鼠移入時顏色數字輸入區背景顏色字串,預設'#fafafa'\r\n * @vue-prop {String} [inputBackgroundColorActive='#f2f2f2'] 輸入主動模式時顏色數字輸入區背景顏色字串,預設'#f2f2f2'\r\n * @vue-prop {String} [inputTextColor='#000'] 輸入顏色數字輸入區文字顏色字串,預設'#000'\r\n * @vue-prop {String} [inputTextFontSize='0.8rem'] 輸入顏色數字輸入區文字字型大小字串,預設'0.8rem'\r\n * @vue-prop {Number} [inputTextWidth=38] 輸入顏色數字輸入區寬度數字,單位為px,預設38\r\n * @vue-prop {Number} [inputTextHeight=18] 輸入顏色數字輸入區高度數字,單位為px,預設18\r\n * @vue-prop {Number} [inputLabelWidth=12] 輸入顏色數字輸入區標題寬度數字,單位為px,預設12\r\n * @vue-prop {String} [inputLabelColor='#666'] 輸入文字顏色字串,預設'#666'\r\n * @vue-prop {String} [inputLabelFontSize='0.8rem'] 輸入文字字型大小字串,預設'0.8rem'\r\n * @vue-prop {Number} [barProgHeight=4] 輸入值域條高度數字,單位為px,預設4\r\n * @vue-prop {String} [barProgColor='#74a4d9'] 輸入值域條顏色字串,預設'#74a4d9'\r\n * @vue-prop {String} [barProgBackgroundColor='#eee'] 輸入值域條背景顏色字串,預設'#eee'\r\n * @vue-prop {Number} [barSliderSize=10] 輸入拖曳球尺寸數字,單位為px,預設10\r\n * @vue-prop {String} [barSliderBackgroundColor='#1565C0'] 輸入拖曳球背景顏色字串,預設'#1565C0'\r\n * @vue-prop {String} [barSliderBackgroundColorHover='#1976D2'] 輸入滑鼠移入時拖曳球背景顏色字串,預設'#1976D2'\r\n * @vue-prop {Number} [popupPlacementDist=5] 輸入彈窗距離觸發元素距離數字,單位為px,預設5\r\n * @vue-prop {String} [btnText='Confirm'] 輸入確認按鈕之文字字串,預設'Confirm'\r\n * @vue-prop {String} [btnRippleColor='rgba(255,255,255,0.4)'] 輸入確認按鈕之ripple效果顏色字串,預設'rgba(255,255,255,0.4)'\r\n * @vue-prop {Object} [btnPaddingStyle={v:1,h:5}] 輸入確認按鈕之內寬距離設定物件,可用鍵值為v、h、left、right、top、bottom,v代表同時設定top與bottom,h代表設定left與right,若有重複設定時後面鍵值會覆蓋前面,各鍵值為寬度數字,單位為px,預設{v:1,h:5}\r\n * @vue-prop {String} [btnTextColor='#000'] 輸入確認按鈕之文字顏色字串,預設'#000'\r\n * @vue-prop {String} [btnTextColorHover='#222'] 輸入滑鼠移入時確認按鈕之文字顏色字串,預設'#222'\r\n * @vue-prop {String} [btnTextColorActive='#222'] 輸入主動模式時確認按鈕之文字顏色字串,預設'#222'\r\n * @vue-prop {String} [btnTextFontSize='0.8rem'] 輸入確認按鈕之文字字型大小字串,預設'0.8rem'\r\n * @vue-prop {Number} [btnBorderRadius=4] 輸入確認按鈕之框圓角度數字,單位為px,預設4\r\n * @vue-prop {String} [btnBackgroundColor='rgb(241,241,241)'] 輸入確認按鈕之背景顏色字串,預設'rgb(241,241,241)'\r\n * @vue-prop {String} [btnBackgroundColorHover='rgb(236,236,236)'] 輸入滑鼠移入時確認按鈕之背景顏色字串,預設'rgb(236,236,236)'\r\n * @vue-prop {String} [btnBackgroundColorActive='rgb(236,236,236)'] 輸入主動模式時確認按鈕之背景顏色字串,預設'rgb(236,236,236)'\r\n * @vue-prop {Boolean} [btnShadow=true] 輸入確認按鈕之是否顯示陰影布林值,預設true\r\n * @vue-prop {Boolean} [editable=true] 輸入是否為編輯模式布林值,預設true\r\n */\r\nexport default {\r\n directives: {\r\n domresize: domResize(),\r\n },\r\n components: {\r\n WPopup,\r\n WColorSelectPanel,\r\n WColorSelectInput,\r\n WButtonChip,\r\n WIcon,\r\n },\r\n props: {\r\n value: {\r\n type: String,\r\n default: '#FFFFFF',\r\n },\r\n type: {\r\n type: String,\r\n default: 'HSVA',\r\n },\r\n size: {\r\n type: Number,\r\n default: 200,\r\n },\r\n space: {\r\n type: Number,\r\n default: 10,\r\n },\r\n colorBlockSize: {\r\n type: Number,\r\n default: 20,\r\n },\r\n colorBlockBorderWidth: {\r\n type: Number,\r\n default: 1,\r\n },\r\n colorBlockBorderColor: {\r\n type: String,\r\n default: '#ddd',\r\n },\r\n showColorText: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n colorTextColor: {\r\n type: String,\r\n default: '#000',\r\n },\r\n colorTextFontSize: {\r\n type: String,\r\n default: '0.8rem',\r\n },\r\n panelBackgroundColor: {\r\n type: String,\r\n default: '#fff',\r\n },\r\n toolBackgroundColor: {\r\n type: String,\r\n default: '#f5f5f5',\r\n },\r\n menuIconLump: {\r\n type: String,\r\n default: mdiHexagonSlice6,\r\n },\r\n menuIconHsva: {\r\n type: String,\r\n default: mdiViewParallel,\r\n },\r\n menuIconEyeDropper: {\r\n type: String,\r\n default: mdiEyedropper,\r\n },\r\n menuIconColor: {\r\n type: String,\r\n default: '#aaa',\r\n },\r\n menuIconColorHover: {\r\n type: String,\r\n default: '#999',\r\n },\r\n menuIconColorActive: {\r\n type: String,\r\n default: '#666',\r\n },\r\n menuIconSize: {\r\n type: Number,\r\n default: 20,\r\n },\r\n borderColor: {\r\n type: String,\r\n default: '#ddd',\r\n },\r\n borderColorHover: {\r\n type: String,\r\n default: '#ccc',\r\n },\r\n borderColorActive: {\r\n type: String,\r\n default: '#777',\r\n },\r\n menuBorderRadius: {\r\n type: Number,\r\n default: 4,\r\n },\r\n menuTextColor: {\r\n type: String,\r\n default: '#444',\r\n },\r\n menuTextColorHover: {\r\n type: String,\r\n default: '#222',\r\n },\r\n menuTextColorActive: {\r\n type: String,\r\n default: '#000',\r\n },\r\n menuTextFontSize: {\r\n type: String,\r\n default: '0.8rem',\r\n },\r\n menuBackgroundColor: {\r\n type: String,\r\n default: '#fff',\r\n },\r\n menuBackgroundColorHover: {\r\n type: String,\r\n default: '#f9f9f9',\r\n },\r\n menuBackgroundColorActive: {\r\n type: String,\r\n default: '#f2f2f2',\r\n },\r\n inputBorderRadius: {\r\n type: Number,\r\n default: 4,\r\n },\r\n inputBorderColor: {\r\n type: String,\r\n default: '#ccc',\r\n },\r\n inputBorderColorHover: {\r\n type: String,\r\n default: '#b5b5b5',\r\n },\r\n inputBorderColorActive: {\r\n type: String,\r\n default: '#aaa',\r\n },\r\n inputBackgroundColor: {\r\n type: String,\r\n default: '#fff',\r\n },\r\n inputBackgroundColorHover: {\r\n type: String,\r\n default: '#fafafa',\r\n },\r\n inputBackgroundColorActive: {\r\n type: String,\r\n default: '#f2f2f2',\r\n },\r\n inputTextColor: {\r\n type: String,\r\n default: '#000',\r\n },\r\n inputTextFontSize: {\r\n type: String,\r\n default: '0.8rem',\r\n },\r\n inputTextWidth: {\r\n type: Number,\r\n default: 38,\r\n },\r\n inputTextHeight: {\r\n type: Number,\r\n default: 18,\r\n },\r\n inputLabelWidth: {\r\n type: Number,\r\n default: 12,\r\n },\r\n inputLabelColor: {\r\n type: String,\r\n default: '#666',\r\n },\r\n inputLabelFontSize: {\r\n type: String,\r\n default: '0.8rem',\r\n },\r\n barProgHeight: {\r\n type: Number,\r\n default: 4,\r\n },\r\n barProgColor: {\r\n type: String,\r\n default: '#74a4d9',\r\n },\r\n barProgBackgroundColor: {\r\n type: String,\r\n default: '#eee',\r\n },\r\n barSliderSize: {\r\n type: Number,\r\n default: 10,\r\n },\r\n barSliderBackgroundColor: {\r\n type: String,\r\n default: '#1565C0',\r\n },\r\n barSliderBackgroundColorHover: {\r\n type: String,\r\n default: '#1976D2',\r\n },\r\n popupPlacementDist: {\r\n type: Number,\r\n default: 5,\r\n },\r\n btnText: {\r\n type: String,\r\n default: 'Confirm',\r\n },\r\n btnRippleColor: {\r\n type: String,\r\n default: 'rgba(255,255,255,0.4)',\r\n },\r\n btnPaddingStyle: {\r\n type: Object,\r\n default: () => {\r\n return {\r\n v: 1,\r\n h: 5,\r\n }\r\n },\r\n },\r\n btnTextColor: {\r\n type: String,\r\n default: '#000',\r\n },\r\n btnTextColorHover: {\r\n type: String,\r\n default: '#222',\r\n },\r\n btnTextColorActive: {\r\n type: String,\r\n default: '#222',\r\n },\r\n btnTextFontSize: {\r\n type: String,\r\n default: '0.8rem',\r\n },\r\n btnBorderRadius: {\r\n type: Number,\r\n default: 4,\r\n },\r\n btnBackgroundColor: {\r\n type: String,\r\n default: 'rgb(241,241,241)',\r\n },\r\n btnBackgroundColorHover: {\r\n type: String,\r\n default: 'rgb(236,236,236)',\r\n },\r\n btnBackgroundColorActive: {\r\n type: String,\r\n default: 'rgb(236,236,236)',\r\n },\r\n btnShadow: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n editable: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n },\r\n data: function() {\r\n return {\r\n mdiLoading,\r\n\r\n show: false,\r\n\r\n typeTrans: 'HSVA',\r\n\r\n loadingEyeDropper: false,\r\n\r\n layoutType: 'horizontal',\r\n layoutOverflowY: false,\r\n layoutMinY: 300,\r\n layoutMaxY: 300,\r\n\r\n selectPanelHeight: 0,\r\n selectInputHeight: 0,\r\n\r\n valueOri: null,\r\n valueNew: null,\r\n\r\n }\r\n },\r\n computed: {\r\n\r\n changeValue: function() {\r\n let vo = this\r\n vo.valueOri = convertColor(vo.value)\r\n vo.valueNew = vo.valueOri\r\n return ''\r\n },\r\n\r\n changeType: function() {\r\n let vo = this\r\n vo.typeTrans = vo.type\r\n return ''\r\n },\r\n\r\n hasEyeDropper: function() {\r\n // let vo = this\r\n let b = isfun(window.EyeDropper)\r\n // console.log('window.EyeDropper', window.EyeDropper)\r\n return b\r\n },\r\n\r\n useColorBlockBorderColor: function() {\r\n let vo = this\r\n return convertColor(vo.colorBlockBorderColor)\r\n },\r\n\r\n useColorTextColor: function() {\r\n let vo = this\r\n return convertColor(vo.colorTextColor)\r\n },\r\n\r\n usePanelBackgroundColor: function() {\r\n let vo = this\r\n return convertColor(vo.panelBackgroundColor)\r\n },\r\n\r\n useToolBackgroundColor: function() {\r\n let vo = this\r\n return convertColor(vo.toolBackgroundColor)\r\n },\r\n\r\n useBorderColor: function() {\r\n let vo = this\r\n return convertColor(vo.borderColor)\r\n },\r\n\r\n usePanelOverflow: function() {\r\n let vo = this\r\n let of = `overflow-y:auto; min-height:${vo.layoutMinY}px;`\r\n if (vo.layoutOverflowY) {\r\n of += `max-height:${vo.layoutMaxY}px;`\r\n }\r\n return of\r\n },\r\n\r\n },\r\n methods: {\r\n\r\n resize: function(msg) {\r\n // console.log('methods resize', msg)\r\n\r\n let vo = this\r\n\r\n //check\r\n if (!vo.show) {\r\n return\r\n }\r\n\r\n let w = get(msg, 'snew.windowWidth', 0)\r\n // let h = get(msg, 'snew.windowHeight', 0)\r\n // console.log('w', w, 'h', h, b)\r\n\r\n //layoutType\r\n let b = w >= 2 * (vo.size + 20) + 3 * vo.space //20為組件設定, 不提供外部更改故可直接給\r\n vo.layoutType = b ? 'horizontal' : 'vertical'\r\n // console.log('layoutType', vo.layoutType)\r\n\r\n },\r\n\r\n resizeContent: function(msg) {\r\n // console.log('methods resizeContent', msg)\r\n\r\n let vo = this\r\n\r\n //check\r\n if (!vo.show) {\r\n return\r\n }\r\n\r\n // let w = get(msg, 'snew.windowWidth', 0)\r\n let h = get(msg, 'snew.windowHeight', 0)\r\n\r\n try {\r\n\r\n // console.log('vo.$refs.ct', vo.$refs.ct)\r\n let rt = domGetBoudRect(vo.$refs.ct)\r\n // console.log('rt', rt)\r\n\r\n //hc, 概估組件size=200時高度\r\n let hc = 500\r\n\r\n //layoutOverflowY\r\n vo.layoutOverflowY = rt.top + hc > h\r\n // console.log('layoutOverflowY', vo.layoutOverflowY)\r\n\r\n //layoutMaxY\r\n vo.layoutMaxY = Math.max(h - rt.top - 30, vo.layoutMinY) //30是概估與底部的留白距離\r\n // console.log('layoutMaxY', vo.layoutMaxY)\r\n\r\n }\r\n catch (err) {}\r\n\r\n },\r\n\r\n resizeSelectPanel: function(msg) {\r\n // console.log('methods resizeSelectPanel', msg)\r\n\r\n let vo = this\r\n\r\n //check\r\n if (!vo.show) {\r\n return\r\n }\r\n\r\n let h = get(msg, 'snew.clientHeight', 0)\r\n\r\n //save\r\n vo.selectPanelHeight = h\r\n\r\n },\r\n\r\n resizeSelectInput: function(msg) {\r\n // console.log('methods resizeSelectInput', msg)\r\n\r\n let vo = this\r\n\r\n //check\r\n if (!vo.show) {\r\n return\r\n }\r\n\r\n let h = get(msg, 'snew.clientHeight', 0)\r\n\r\n //save\r\n vo.selectInputHeight = h\r\n\r\n },\r\n\r\n openEyeDropper: function() {\r\n // console.log('methods openEyeDropper')\r\n\r\n let vo = this\r\n\r\n //check\r\n if (!vo.hasEyeDropper) {\r\n return\r\n }\r\n\r\n vo.loadingEyeDropper = true\r\n\r\n let eyeDropper = new window.EyeDropper()\r\n eyeDropper\r\n .open()\r\n .then((res) => {\r\n // console.log('res', res)\r\n let hex = get(res, 'sRGBHex', '#fff')\r\n vo.valueNew = hex\r\n })\r\n .catch((err) => {\r\n console.log(err)\r\n })\r\n .finally(() => {\r\n vo.loadingEyeDropper = false\r\n })\r\n\r\n },\r\n\r\n clickColor: function() {\r\n // console.log('methods clickColor')\r\n\r\n let vo = this\r\n\r\n //check, 不可編輯時跳出\r\n if (!vo.editable) {\r\n return\r\n }\r\n\r\n //emit\r\n vo.$emit('input', vo.valueNew)\r\n\r\n //hide\r\n vo.show = false\r\n\r\n },\r\n\r\n },\r\n}\r\n<\/script>\r\n\r\n<style scoped>\r\n.icon-spinner {\r\n animation: spin-animation 1.5s infinite;\r\n display: inline-block;\r\n}\r\n@keyframes spin-animation {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(359deg);\r\n }\r\n}\r\n</style>\r\n"]},media:void 0})},Yc,"data-v-5cae3111",false,void 0,!1,Gr,void 0,void 0);const Gc={components:{WColorSelect:Xc},props:{node:{type:Object,required:!0},defNode:{type:Object,required:!0},textFontSize:{type:String,default:""}},data:()=>({confirmDelete:!1}),computed:{formStyle(){let n={};return this.textFontSize&&(n.fontSize=this.textFontSize),n}},methods:{onFontSizeInput(n){let e=Number(n),t=this.defNode;!n||isNaN(e)||e<t.fontSizeMin||(e>t.fontSizeMax&&(e=t.fontSizeMax),this.$emit("update","fontSize",e))},onEdgeWidthInput(n){let e=Number(n);!n||isNaN(e)||e<1||(e>24&&(e=24),this.$emit("update","edgeWidth",e))}}};var Zc=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"vue-flow__settings-form",style:n.formStyle},[t("label",[n._v("Name\n "),t("input",{attrs:{type:"text"},domProps:{value:n.node.name||""},on:{input:function(e){return n.$emit("update","name",e.target.value)}}})]),n._v(" "),t("label",[n._v("Description\n "),t("input",{attrs:{type:"text"},domProps:{value:n.node.description||""},on:{input:function(e){return n.$emit("update","description",e.target.value)}}})]),n._v(" "),t("label",[n._v("Type\n "),t("select",{domProps:{value:n.node.type||n.defNode.type},on:{input:function(e){return n.$emit("update","type",e.target.value)}}},[t("option",{attrs:{value:"input"}},[n._v("Input")]),n._v(" "),t("option",{attrs:{value:"basic"}},[n._v("Basic")]),n._v(" "),t("option",{attrs:{value:"output"}},[n._v("Output")])])]),n._v(" "),t("label",[n._v("Shape\n "),t("select",{domProps:{value:n.node.shape||n.defNode.shape},on:{input:function(e){return n.$emit("update","shape",e.target.value)}}},[t("option",{attrs:{value:"rectangle"}},[n._v("Rectangle")]),n._v(" "),t("option",{attrs:{value:"diamond"}},[n._v("Diamond")]),n._v(" "),t("option",{attrs:{value:"ellipse"}},[n._v("Ellipse")]),n._v(" "),t("option",{attrs:{value:"triangle"}},[n._v("Triangle ▲")]),n._v(" "),t("option",{attrs:{value:"triangle-right"}},[n._v("Triangle ▶")]),n._v(" "),t("option",{attrs:{value:"triangle-down"}},[n._v("Triangle ▼")]),n._v(" "),t("option",{attrs:{value:"triangle-left"}},[n._v("Triangle ◀")])])]),n._v(" "),t("label",[n._v("Popup Direction\n "),t("select",{domProps:{value:n.node.popupDirection||n.defNode.popupDirection},on:{input:function(e){return n.$emit("update","popupDirection",e.target.value)}}},[t("option",{attrs:{value:"top"}},[n._v("Top")]),n._v(" "),t("option",{attrs:{value:"right"}},[n._v("Right")]),n._v(" "),t("option",{attrs:{value:"bottom"}},[n._v("Bottom")]),n._v(" "),t("option",{attrs:{value:"left"}},[n._v("Left")])])]),n._v(" "),t("label",[n._v("Font Size\n "),t("input",{attrs:{type:"number",min:n.defNode.fontSizeMin,max:n.defNode.fontSizeMax},domProps:{value:n.node.fontSize||n.defNode.fontSize},on:{input:function(e){return n.onFontSizeInput(e.target.value)}}})]),n._v(" "),t("label",[n._v("Font Color\n "),t("WColorSelect",{attrs:{value:n.node.fontColor||n.defNode.fontColor,size:160,colorBlockSize:16,showColorText:!1},on:{input:function(e){return n.$emit("update","fontColor",e)}}})],1),n._v(" "),t("label",[n._v("Face Color\n "),t("WColorSelect",{attrs:{value:n.node.faceColor||n.defNode.faceColor,size:160,colorBlockSize:16,showColorText:!1},on:{input:function(e){return n.$emit("update","faceColor",e)}}})],1),n._v(" "),t("label",[n._v("Edge Color\n "),t("WColorSelect",{attrs:{value:n.node.edgeColor||n.defNode.edgeColor,size:160,colorBlockSize:16,showColorText:!1},on:{input:function(e){return n.$emit("update","edgeColor",e)}}})],1),n._v(" "),t("label",[n._v("Edge Width\n "),t("input",{attrs:{type:"number",min:"1",max:"24"},domProps:{value:void 0!==n.node.edgeWidth?n.node.edgeWidth:n.defNode.edgeWidth},on:{input:function(e){return n.onEdgeWidthInput(e.target.value)}}})]),n._v(" "),"output"===n.node.type||"basic"===n.node.type?t("label",[n._v("From Handle\n "),t("select",{domProps:{value:n.node.fromPosition||n.defNode.fromPosition},on:{input:function(e){return n.$emit("update","fromPosition",e.target.value)}}},[t("option",{attrs:{value:"top"}},[n._v("Top")]),n._v(" "),t("option",{attrs:{value:"right"}},[n._v("Right")]),n._v(" "),t("option",{attrs:{value:"bottom"}},[n._v("Bottom")]),n._v(" "),t("option",{attrs:{value:"left"}},[n._v("Left")])])]):n._e(),n._v(" "),"input"===n.node.type||"basic"===n.node.type?t("label",[n._v("To Handle\n "),t("select",{domProps:{value:n.node.toPosition||n.defNode.toPosition},on:{input:function(e){return n.$emit("update","toPosition",e.target.value)}}},[t("option",{attrs:{value:"top"}},[n._v("Top")]),n._v(" "),t("option",{attrs:{value:"right"}},[n._v("Right")]),n._v(" "),t("option",{attrs:{value:"bottom"}},[n._v("Bottom")]),n._v(" "),t("option",{attrs:{value:"left"}},[n._v("Left")])])]):n._e(),n._v(" "),t("div",{staticClass:"vue-flow__delete-area"},[n.confirmDelete?[t("span",{staticClass:"vue-flow__delete-warn"},[n._v("確定刪除?相關連線也會一併刪除")]),n._v(" "),t("div",{staticClass:"vue-flow__delete-confirm-row"},[t("button",{staticClass:"vue-flow__delete-btn vue-flow__delete-btn--confirm",on:{click:function(e){return n.$emit("delete")}}},[n._v("確認刪除")]),n._v(" "),t("button",{staticClass:"vue-flow__delete-btn vue-flow__delete-btn--cancel",on:{click:function(e){n.confirmDelete=!1}}},[n._v("取消")])])]:t("button",{staticClass:"vue-flow__delete-btn",on:{click:function(e){n.confirmDelete=!0}}},[n._v("刪除節點")])],2)])};Zc._withStripped=!0;var qc={name:"NodeWrapper",components:{NodeBody:$i,NodeSettingsForm:Ur({render:Zc,staticRenderFns:[]},function(n){n&&n("data-v-4665da27_0",{source:'\n.vue-flow__settings-form {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n.vue-flow__settings-form label {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n}\n.vue-flow__settings-form select,\n.vue-flow__settings-form input[type="number"],\n.vue-flow__settings-form input[type="text"] {\n width: 100px;\n font-size: 12px;\n padding: 1px 4px;\n border: 1px solid #ccc;\n border-radius: 3px;\n}\n.vue-flow__settings-form input[type="color"] {\n width: 32px;\n height: 24px;\n padding: 0;\n border: 1px solid #ccc;\n cursor: pointer;\n flex-shrink: 0;\n}\n.vue-flow__delete-area {\n margin-top: 4px;\n padding-top: 8px;\n border-top: 1px solid #eee;\n}\n.vue-flow__delete-warn {\n display: block;\n font-size: 11px;\n color: #c00;\n margin-bottom: 4px;\n}\n.vue-flow__delete-confirm-row {\n display: flex;\n gap: 6px;\n}\n.vue-flow__delete-btn {\n padding: 3px 10px;\n font-size: 11px;\n border: 1px solid #ccc;\n border-radius: 3px;\n background: #fff;\n cursor: pointer;\n}\n.vue-flow__delete-btn:hover {\n background: #f5f5f5;\n}\n.vue-flow__delete-btn--confirm {\n color: #fff;\n background: #dc2626;\n border-color: #dc2626;\n}\n.vue-flow__delete-btn--confirm:hover {\n background: #b91c1c;\n}\n.vue-flow__delete-btn--cancel {\n color: #666;\n}\n',map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\ui\\NodeSettingsForm.vue"],names:[],mappings:";AAqHA;EACA,aAAA;EACA,sBAAA;EACA,QAAA;EACA,gBAAA;AACA;AACA;EACA,aAAA;EACA,8BAAA;EACA,mBAAA;EACA,QAAA;EACA,eAAA;AACA;AACA;;;EAGA,YAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,kBAAA;AACA;AACA;EACA,WAAA;EACA,YAAA;EACA,UAAA;EACA,sBAAA;EACA,eAAA;EACA,cAAA;AACA;AACA;EACA,eAAA;EACA,gBAAA;EACA,0BAAA;AACA;AACA;EACA,cAAA;EACA,eAAA;EACA,WAAA;EACA,kBAAA;AACA;AACA;EACA,aAAA;EACA,QAAA;AACA;AACA;EACA,iBAAA;EACA,eAAA;EACA,sBAAA;EACA,kBAAA;EACA,gBAAA;EACA,eAAA;AACA;AACA;EACA,mBAAA;AACA;AACA;EACA,WAAA;EACA,mBAAA;EACA,qBAAA;AACA;AACA;EACA,mBAAA;AACA;AACA;EACA,WAAA;AACA",file:"NodeSettingsForm.vue",sourcesContent:['<template>\n <div class="vue-flow__settings-form" :style="formStyle">\n <label>Name\n <input type="text" :value="node.name || \'\'" @input="$emit(\'update\', \'name\', $event.target.value)">\n </label>\n <label>Description\n <input type="text" :value="node.description || \'\'" @input="$emit(\'update\', \'description\', $event.target.value)">\n </label>\n <label>Type\n <select :value="node.type || defNode.type" @input="$emit(\'update\', \'type\', $event.target.value)">\n <option value="input">Input</option>\n <option value="basic">Basic</option>\n <option value="output">Output</option>\n </select>\n </label>\n <label>Shape\n <select :value="node.shape || defNode.shape" @input="$emit(\'update\', \'shape\', $event.target.value)">\n <option value="rectangle">Rectangle</option>\n <option value="diamond">Diamond</option>\n <option value="ellipse">Ellipse</option>\n <option value="triangle">Triangle ▲</option>\n <option value="triangle-right">Triangle ▶</option>\n <option value="triangle-down">Triangle ▼</option>\n <option value="triangle-left">Triangle ◀</option>\n </select>\n </label>\n <label>Popup Direction\n <select :value="node.popupDirection || defNode.popupDirection" @input="$emit(\'update\', \'popupDirection\', $event.target.value)">\n <option value="top">Top</option>\n <option value="right">Right</option>\n <option value="bottom">Bottom</option>\n <option value="left">Left</option>\n </select>\n </label>\n <label>Font Size\n <input type="number" :value="node.fontSize || defNode.fontSize" :min="defNode.fontSizeMin" :max="defNode.fontSizeMax" @input="onFontSizeInput($event.target.value)">\n </label>\n <label>Font Color\n <WColorSelect :value="node.fontColor || defNode.fontColor" :size="160" :colorBlockSize="16" :showColorText="false" @input="$emit(\'update\', \'fontColor\', $event)" />\n </label>\n <label>Face Color\n <WColorSelect :value="node.faceColor || defNode.faceColor" :size="160" :colorBlockSize="16" :showColorText="false" @input="$emit(\'update\', \'faceColor\', $event)" />\n </label>\n <label>Edge Color\n <WColorSelect :value="node.edgeColor || defNode.edgeColor" :size="160" :colorBlockSize="16" :showColorText="false" @input="$emit(\'update\', \'edgeColor\', $event)" />\n </label>\n <label>Edge Width\n <input type="number" :value="node.edgeWidth !== undefined ? node.edgeWidth : defNode.edgeWidth" min="1" max="24" @input="onEdgeWidthInput($event.target.value)">\n </label>\n <label v-if="node.type === \'output\' || node.type === \'basic\'">From Handle\n <select :value="node.fromPosition || defNode.fromPosition" @input="$emit(\'update\', \'fromPosition\', $event.target.value)">\n <option value="top">Top</option>\n <option value="right">Right</option>\n <option value="bottom">Bottom</option>\n <option value="left">Left</option>\n </select>\n </label>\n <label v-if="node.type === \'input\' || node.type === \'basic\'">To Handle\n <select :value="node.toPosition || defNode.toPosition" @input="$emit(\'update\', \'toPosition\', $event.target.value)">\n <option value="top">Top</option>\n <option value="right">Right</option>\n <option value="bottom">Bottom</option>\n <option value="left">Left</option>\n </select>\n </label>\n <div class="vue-flow__delete-area">\n <button v-if="!confirmDelete" class="vue-flow__delete-btn" @click="confirmDelete = true">刪除節點</button>\n <template v-else>\n <span class="vue-flow__delete-warn">確定刪除?相關連線也會一併刪除</span>\n <div class="vue-flow__delete-confirm-row">\n <button class="vue-flow__delete-btn vue-flow__delete-btn--confirm" @click="$emit(\'delete\')">確認刪除</button>\n <button class="vue-flow__delete-btn vue-flow__delete-btn--cancel" @click="confirmDelete = false">取消</button>\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<script>\nimport WColorSelect from \'w-component-vue/src/components/WColorSelect.vue\'\n\nexport default {\n components: { WColorSelect },\n props: {\n node: { type: Object, required: true },\n defNode: { type: Object, required: true },\n textFontSize: { type: String, default: \'\' },\n },\n data() {\n return { confirmDelete: false }\n },\n computed: {\n formStyle() {\n let s = {}\n if (this.textFontSize) s.fontSize = this.textFontSize\n return s\n },\n },\n methods: {\n onFontSizeInput(val) {\n let n = Number(val)\n let d = this.defNode\n if (!val || isNaN(n) || n < d.fontSizeMin) return\n if (n > d.fontSizeMax) n = d.fontSizeMax\n this.$emit(\'update\', \'fontSize\', n)\n },\n onEdgeWidthInput(val) {\n let n = Number(val)\n if (!val || isNaN(n) || n < 1) return\n if (n > 24) n = 24\n this.$emit(\'update\', \'edgeWidth\', n)\n },\n },\n}\n<\/script>\n\n<style>\n.vue-flow__settings-form {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n.vue-flow__settings-form label {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n}\n.vue-flow__settings-form select,\n.vue-flow__settings-form input[type="number"],\n.vue-flow__settings-form input[type="text"] {\n width: 100px;\n font-size: 12px;\n padding: 1px 4px;\n border: 1px solid #ccc;\n border-radius: 3px;\n}\n.vue-flow__settings-form input[type="color"] {\n width: 32px;\n height: 24px;\n padding: 0;\n border: 1px solid #ccc;\n cursor: pointer;\n flex-shrink: 0;\n}\n.vue-flow__delete-area {\n margin-top: 4px;\n padding-top: 8px;\n border-top: 1px solid #eee;\n}\n.vue-flow__delete-warn {\n display: block;\n font-size: 11px;\n color: #c00;\n margin-bottom: 4px;\n}\n.vue-flow__delete-confirm-row {\n display: flex;\n gap: 6px;\n}\n.vue-flow__delete-btn {\n padding: 3px 10px;\n font-size: 11px;\n border: 1px solid #ccc;\n border-radius: 3px;\n background: #fff;\n cursor: pointer;\n}\n.vue-flow__delete-btn:hover {\n background: #f5f5f5;\n}\n.vue-flow__delete-btn--confirm {\n color: #fff;\n background: #dc2626;\n border-color: #dc2626;\n}\n.vue-flow__delete-btn--confirm:hover {\n background: #b91c1c;\n}\n.vue-flow__delete-btn--cancel {\n color: #666;\n}\n</style>\n']},media:void 0})},Gc,void 0,false,void 0,!1,Gr,void 0,void 0),WPopup:Bl},inject:{getDefNode:{default:()=>()=>({})}},props:{node:{type:Object,required:!0},selected:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},connectable:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},locked:{type:Boolean,default:!1},settingsPopupBackgroundColor:{type:String,default:"#fff"},settingsPopupTextColor:{type:String,default:"#333"},settingsPopupTextFontSize:{type:String,default:"12px"},inforPopupBackgroundColor:{type:String,default:"#fff"},inforPopupTitleTextColor:{type:String,default:"#333"},inforPopupTitleTextFontSize:{type:String,default:"12px"},inforPopupDescriptionTextColor:{type:String,default:"#888"},inforPopupDescriptionTextFontSize:{type:String,default:"10px"},snapGridSize:{type:Number,default:null}},computed:{dn(){return this.getDefNode()},isDiamond(){return"diamond"===this.node.shape},isEllipse(){return"ellipse"===this.node.shape},isTriangle(){let n=this.node.shape;return"triangle"===n||"triangle-right"===n||"triangle-down"===n||"triangle-left"===n},isSvgShape(){return this.isDiamond||this.isEllipse||this.isTriangle},classes(){const n=this.node.class?Array.isArray(this.node.class)?this.node.class:[this.node.class]:[];return["vue-flow__node",`vue-flow__node-${this.node.type||"basic"}`,...n,{"vue-flow__node--selected":this.selected,"vue-flow__node--dragging":this.isDragging,"vue-flow__node--locked":this.locked,"vue-flow__node--diamond":this.isDiamond,"vue-flow__node--ellipse":this.isEllipse,"vue-flow__node--triangle":this.isTriangle}]},wrapperStyle(){const n=this.dn,e=this.node,t={transform:`translate(${e.position.x}px, ${e.position.y}px)`,zIndex:e.zIndex||0,...e.style||{}};if(e.width&&(t.width="number"==typeof e.width?`${e.width}px`:e.width),e.height&&(t.height="number"==typeof e.height?`${e.height}px`:e.height),!this.isSvgShape){let o=e.faceColor||n.faceColor;o&&(t.background=o);let r=e.edgeColor||n.edgeColor;r&&(t.borderColor=r);let i=void 0!==e.edgeWidth?e.edgeWidth:n.edgeWidth;void 0!==i&&(t.borderWidth=i+"px")}let o=e.fontSize||n.fontSize;o&&(t.fontSize=o+"px");let r=e.fontColor||n.fontColor;return r&&(t.color=r),t}},data:()=>({isDragging:!1,hovered:!1,infoPopupShow:!1,infoPopupEditable:!0,settingsPopupShow:!1,cachedW:0,cachedH:0}),watch:{settingsPopupShow(n){n&&(this.infoPopupShow=!1)},infoPopupShow(n){n&&(this.settingsPopupShow=!1)}},mounted(){this.$nextTick(()=>this.reportDimensions())},updated(){this.reportDimensions()},methods:{reportDimensions(){if(!this.$el)return;const n=this.$el.offsetWidth,e=this.$el.offsetHeight;n===this.cachedW&&e===this.cachedH||(this.cachedW=n,this.cachedH=e,this.$emit("dimensions",{nodeId:this.node.id,width:n,height:e}))},onMouseDown(n){if(this._mouseDownPos={x:n.clientX,y:n.clientY},!this.draggable)return;if(this.node.dragHandle){if(!n.target.closest(this.node.dragHandle))return}this.infoPopupShow=!1,this.$emit("drag-start",{node:this.node,event:n});const e=n.clientX,t=n.clientY,o=n=>{(Math.abs(n.clientX-e)>2||Math.abs(n.clientY-t)>2)&&(this.infoPopupEditable=!1,document.removeEventListener("mousemove",o))},r=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",r),this.infoPopupEditable||setTimeout(()=>{this.infoPopupEditable=!0},0)};document.addEventListener("mousemove",o),document.addEventListener("mouseup",r)},onMouseUp(n){if(!this._mouseDownPos)return;const e=n.clientX-this._mouseDownPos.x,t=n.clientY-this._mouseDownPos.y;this._mouseDownPos=null,Math.abs(e)<3&&Math.abs(t)<3&&this.$emit("node-click",{node:this.node,event:n})},onDoubleClick(n){this.$emit("node-double-click",{node:this.node,event:n})},onContextMenu(n){this.$emit("node-context-menu",{node:this.node,event:n})},onConnectStart(n){this.$emit("connect-start",{...n,nodeId:this.node.id})},onMouseEnter(n){this.hovered=!0,this.$emit("node-mouseenter",{node:this.node,event:n})},onMouseLeave(n){this.hovered=!1,this.$emit("node-mouseleave",{node:this.node,event:n})},onSettingsUpdate(n,e){this.$emit("node-settings-update",{node:this.node,key:n,value:e})},onSettingsDelete(){this.$emit("node-settings-delete",{node:this.node})},onResizeStart(n,e){this.infoPopupShow=!1,this.$nextTick(()=>{this.infoPopupEditable=!1}),n.preventDefault();const t={"top-left":"nwse-resize","bottom-right":"nwse-resize","top-right":"nesw-resize","bottom-left":"nesw-resize"}[e]||"default",o=document.createElement("style");o.textContent="* { cursor: "+t+" !important; }",document.head.appendChild(o);const r=n.clientX,i=n.clientY,a=this.node.width||this.$el.offsetWidth,l=this.node.height||this.$el.offsetHeight,s=this.node.position.x,d=this.node.position.y,u=this.snapGridSize,c=u||10,p=this.$el.closest(".vue-flow__viewport"),f=p?parseFloat(p.style.transform.match(/scale\(([^)]+)\)/)?.[1]||1):1,h=n=>u?Math.max(u,Math.round(n/u)*u):Math.max(c,Math.round(n)),v=n=>h(a+n),g=n=>{const e=h(a-n);return{w:e,x:s+(a-e)}},m=n=>h(l+n),b=n=>{const e=h(l-n);return{h:e,y:d+(l-e)}},A=n=>{const t=(n.clientX-r)/f,o=(n.clientY-i)/f;let u=a,c=l,p=s,h=d;if("top-left"===e){let n=g(t);u=n.w,p=n.x;let e=b(o);c=e.h,h=e.y}else if("top-right"===e){u=v(t);let n=b(o);c=n.h,h=n.y}else if("bottom-left"===e){let n=g(t);u=n.w,p=n.x,c=m(o)}else"bottom-right"===e&&(u=v(t),c=m(o));this.$emit("node-resize",{nodeId:this.node.id,width:u,height:c,x:p,y:h})},y=()=>{document.removeEventListener("mousemove",A),document.removeEventListener("mouseup",y),document.head.removeChild(o),setTimeout(()=>{this.infoPopupEditable=!0},0),this.$emit("node-resize-end",{nodeId:this.node.id,width:this.node.width||this.$el.offsetWidth,height:this.node.height||this.$el.offsetHeight,x:this.node.position.x,y:this.node.position.y})};document.addEventListener("mousemove",A),document.addEventListener("mouseup",y)}}};const Qc=qc;var Jc=function(){var n=this,e=n.$createElement,t=n._self._c||e;return n.node.hidden?n._e():t("div",{class:n.classes,style:n.wrapperStyle,attrs:{"data-id":n.node.id},on:{mousedown:n.onMouseDown,mouseup:n.onMouseUp,mouseenter:n.onMouseEnter,mouseleave:n.onMouseLeave,dblclick:function(e){return e.stopPropagation(),n.onDoubleClick.apply(null,arguments)},contextmenu:function(e){return e.stopPropagation(),n.onContextMenu.apply(null,arguments)}}},[t("WPopup",{attrs:{placement:"bottom",modeHide:"mousedown",editable:n.infoPopupEditable,minWidth:null,maxWidth:null,autoFitMinWidth:!1,autoFitMaxWidth:!1,backgroundColor:n.inforPopupBackgroundColor,textFontSize:n.inforPopupTitleTextFontSize,paddingStyle:{v:8,h:12},cmpZIndex:1e4},scopedSlots:n._u([{key:"trigger",fn:function(){return[t("NodeBody",{attrs:{node:n.node,connectable:n.connectable,selected:n.selected,resizable:n.resizable,locked:n.locked,hovered:n.hovered,lastW:n.cachedW,lastH:n.cachedH},on:{"resize-start":function(e){return n.onResizeStart(e.event,e.edge)},"connect-start":n.onConnectStart}})]},proxy:!0},{key:"content",fn:function(){return[n._t("node-popup",function(){return[n.node.name||n.node.description?t("div",{staticStyle:{"min-width":"120px"}},[n.node.name?t("div",{style:{fontSize:n.inforPopupTitleTextFontSize,color:n.inforPopupTitleTextColor,fontWeight:500}},[n._v(n._s(n.node.name))]):n._e(),n._v(" "),n.node.description?t("div",{style:{fontSize:n.inforPopupDescriptionTextFontSize,color:n.inforPopupDescriptionTextColor,marginTop:"4px"}},[n._v(n._s(n.node.description))]):n._e()]):n._e()]},{node:n.node})]},proxy:!0}],null,!0),model:{value:n.infoPopupShow,callback:function(e){n.infoPopupShow=e},expression:"infoPopupShow"}}),n._v(" "),t("transition",{attrs:{name:"vue-flow__fade"}},[(n.hovered||n.settingsPopupShow)&&n.draggable&&!n.locked?t("div",{staticClass:"vue-flow__node-settings-anchor"},[t("WPopup",{attrs:{placement:"right-start",modeHide:"mousedown",minWidth:null,maxWidth:null,autoFitMinWidth:!1,autoFitMaxWidth:!1,backgroundColor:n.settingsPopupBackgroundColor,textColor:n.settingsPopupTextColor,paddingStyle:{v:8,h:8},cmpZIndex:1e4},on:{show:function(e){return n.$emit("node-settings-click",{node:n.node})}},scopedSlots:n._u([{key:"trigger",fn:function(){return[t("div",{staticClass:"vue-flow__node-settings"},[t("svg",{attrs:{viewBox:"0 0 20 20",width:"14",height:"14",fill:"currentColor"}},[t("path",{attrs:{d:"M11.078 0l.294 1.833a7.587 7.587 0 0 1 2.174 1.25l1.725-.618 1.078 1.87-1.43 1.217a7.508 7.508 0 0 1 0 2.498l1.43 1.217-1.078 1.87-1.725-.618a7.587 7.587 0 0 1-2.174 1.25L11.078 14H8.922l-.294-1.833a7.587 7.587 0 0 1-2.174-1.25l-1.725.618-1.078-1.87 1.43-1.217a7.508 7.508 0 0 1 0-2.498L3.65 4.733l1.078-1.87 1.725.618a7.587 7.587 0 0 1 2.174-1.25L8.922 0h2.156zM10 4.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z",transform:"translate(0 3)"}})])])]},proxy:!0},{key:"content",fn:function(){return[t("NodeSettingsForm",{attrs:{node:n.node,"def-node":n.dn,"text-font-size":n.settingsPopupTextFontSize},on:{update:n.onSettingsUpdate,delete:n.onSettingsDelete}})]},proxy:!0}],null,!1,3032414889),model:{value:n.settingsPopupShow,callback:function(e){n.settingsPopupShow=e},expression:"settingsPopupShow"}})],1):n._e()])],1)};Jc._withStripped=!0;const Kc={name:"NodeRenderer",components:{NodeWrapper:Ur({render:Jc,staticRenderFns:[]},function(n){n&&n("data-v-d66c347a_0",{source:"\n.vue-flow__node[data-v-d66c347a] {\n position: absolute;\n cursor: grab;\n user-select: none;\n pointer-events: all;\n box-sizing: border-box;\n border: 1px solid #bbb;\n border-radius: 3px;\n background: #fff;\n font-family: 'Microsoft JhengHei', '微軟正黑體', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n font-size: 12px;\n text-align: center;\n white-space: nowrap;\n transition: border-color 0.2s ease, box-shadow 0.3s ease;\n}\n.vue-flow__node[data-v-d66c347a]:hover {\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\n}\n.vue-flow__node--selected[data-v-d66c347a] {\n box-shadow: 0 0 8px 2px rgba(220, 38, 38, 0.5);\n}\n.vue-flow__node--selected[data-v-d66c347a]:hover {\n box-shadow: 0 0 8px 2px rgba(220, 38, 38, 0.5);\n}\n.vue-flow__node--dragging[data-v-d66c347a] {\n cursor: grabbing;\n z-index: 1000 !important;\n}\n\n/* Settings icon anchor (positioning only) */\n.vue-flow__node-settings-anchor[data-v-d66c347a] {\n position: absolute;\n top: -8px;\n right: -8px;\n z-index: 2;\n pointer-events: all;\n}\n/* Settings icon (appearance only) */\n.vue-flow__node-settings[data-v-d66c347a] {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #fff;\n border: 1px solid #ccc;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: border-color 0.15s ease, background 0.15s ease;\n color: #888;\n}\n.vue-flow__node-settings[data-v-d66c347a]:hover {\n border-color: #666;\n background: #f0f0f0;\n color: #333;\n}\n\n\n/* Shared SVG shape base styles */\n.vue-flow__node--diamond[data-v-d66c347a],\n.vue-flow__node--ellipse[data-v-d66c347a],\n.vue-flow__node--triangle[data-v-d66c347a] {\n background: transparent !important;\n border-color: transparent !important;\n border-radius: 0 !important;\n}\n.vue-flow__node--diamond[data-v-d66c347a]:hover,\n.vue-flow__node--ellipse[data-v-d66c347a]:hover,\n.vue-flow__node--triangle[data-v-d66c347a]:hover {\n box-shadow: none !important;\n}\n.vue-flow__node--diamond.vue-flow__node--selected[data-v-d66c347a],\n.vue-flow__node--ellipse.vue-flow__node--selected[data-v-d66c347a],\n.vue-flow__node--triangle.vue-flow__node--selected[data-v-d66c347a] {\n border-color: transparent !important;\n box-shadow: none !important;\n}\n.vue-flow__node--diamond.vue-flow__node--selected[data-v-d66c347a]:hover,\n.vue-flow__node--ellipse.vue-flow__node--selected[data-v-d66c347a]:hover,\n.vue-flow__node--triangle.vue-flow__node--selected[data-v-d66c347a]:hover {\n border-color: transparent !important;\n box-shadow: none !important;\n}\n/* SVG shape hover */\n.vue-flow__node--diamond:hover .vue-flow__shape-svg polygon[data-v-d66c347a],\n.vue-flow__node--triangle:hover .vue-flow__shape-svg polygon[data-v-d66c347a],\n.vue-flow__node--ellipse:hover .vue-flow__shape-svg ellipse[data-v-d66c347a] {\n filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.15));\n}\n/* SVG shape selected: red shadow */\n.vue-flow__node--diamond.vue-flow__node--selected .vue-flow__shape-svg polygon[data-v-d66c347a],\n.vue-flow__node--triangle.vue-flow__node--selected .vue-flow__shape-svg polygon[data-v-d66c347a],\n.vue-flow__node--ellipse.vue-flow__node--selected .vue-flow__shape-svg ellipse[data-v-d66c347a] {\n filter: drop-shadow(0 0 6px rgba(220, 38, 38, 0.6));\n}\n/* Fade transition for settings icon and resize handles */\n.vue-flow__fade-enter-active[data-v-d66c347a],\n.vue-flow__fade-leave-active[data-v-d66c347a] {\n transition: opacity 0.15s ease;\n}\n.vue-flow__fade-enter[data-v-d66c347a],\n.vue-flow__fade-leave-to[data-v-d66c347a] {\n opacity: 0;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\nodes\\NodeWrapper.vue"],names:[],mappings:";AAkXA;EACA,kBAAA;EACA,YAAA;EACA,iBAAA;EACA,mBAAA;EACA,sBAAA;EACA,sBAAA;EACA,kBAAA;EACA,gBAAA;EACA,6GAAA;EACA,eAAA;EACA,kBAAA;EACA,mBAAA;EACA,wDAAA;AACA;AACA;EACA,yCAAA;AACA;AACA;EACA,8CAAA;AACA;AACA;EACA,8CAAA;AACA;AACA;EACA,gBAAA;EACA,wBAAA;AACA;;AAEA,4CAAA;AACA;EACA,kBAAA;EACA,SAAA;EACA,WAAA;EACA,UAAA;EACA,mBAAA;AACA;AACA,oCAAA;AACA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,gBAAA;EACA,sBAAA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,eAAA;EACA,0DAAA;EACA,WAAA;AACA;AACA;EACA,kBAAA;EACA,mBAAA;EACA,WAAA;AACA;;;AAGA,iCAAA;AACA;;;EAGA,kCAAA;EACA,oCAAA;EACA,2BAAA;AACA;AACA;;;EAGA,2BAAA;AACA;AACA;;;EAGA,oCAAA;EACA,2BAAA;AACA;AACA;;;EAGA,oCAAA;EACA,2BAAA;AACA;AACA,oBAAA;AACA;;;EAGA,kDAAA;AACA;AACA,mCAAA;AACA;;;EAGA,mDAAA;AACA;AACA,yDAAA;AACA;;EAEA,8BAAA;AACA;AACA;;EAEA,UAAA;AACA",file:"NodeWrapper.vue",sourcesContent:["<template>\n <div\n v-if=\"!node.hidden\"\n :class=\"classes\"\n :style=\"wrapperStyle\"\n :data-id=\"node.id\"\n @mousedown=\"onMouseDown\"\n @mouseup=\"onMouseUp\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @dblclick.stop=\"onDoubleClick\"\n @contextmenu.stop=\"onContextMenu\"\n >\n <WPopup\n v-model=\"infoPopupShow\"\n placement=\"bottom\"\n modeHide=\"mousedown\"\n :editable=\"infoPopupEditable\"\n :minWidth=\"null\"\n :maxWidth=\"null\"\n :autoFitMinWidth=\"false\"\n :autoFitMaxWidth=\"false\"\n :backgroundColor=\"inforPopupBackgroundColor\"\n :textFontSize=\"inforPopupTitleTextFontSize\"\n :paddingStyle=\"{v:8,h:12}\"\n :cmpZIndex=\"10000\"\n >\n <template v-slot:trigger>\n <NodeBody\n :node=\"node\"\n :connectable=\"connectable\"\n :selected=\"selected\"\n :resizable=\"resizable\"\n :locked=\"locked\"\n :hovered=\"hovered\"\n :lastW=\"cachedW\"\n :lastH=\"cachedH\"\n @resize-start=\"onResizeStart($event.event, $event.edge)\"\n @connect-start=\"onConnectStart\"\n />\n </template>\n <template v-slot:content>\n <slot name=\"node-popup\" :node=\"node\">\n <div v-if=\"node.name || node.description\" style=\"min-width:120px\">\n <div v-if=\"node.name\" :style=\"{ fontSize: inforPopupTitleTextFontSize, color: inforPopupTitleTextColor, fontWeight: 500 }\">{{ node.name }}</div>\n <div v-if=\"node.description\" :style=\"{ fontSize: inforPopupDescriptionTextFontSize, color: inforPopupDescriptionTextColor, marginTop: '4px' }\">{{ node.description }}</div>\n </div>\n </slot>\n </template>\n </WPopup>\n \x3c!-- Settings popup --\x3e\n <transition name=\"vue-flow__fade\">\n <div v-if=\"(hovered || settingsPopupShow) && draggable && !locked\" class=\"vue-flow__node-settings-anchor\">\n <WPopup\n v-model=\"settingsPopupShow\"\n placement=\"right-start\"\n modeHide=\"mousedown\"\n :minWidth=\"null\"\n :maxWidth=\"null\"\n :autoFitMinWidth=\"false\"\n :autoFitMaxWidth=\"false\"\n :backgroundColor=\"settingsPopupBackgroundColor\"\n :textColor=\"settingsPopupTextColor\"\n :paddingStyle=\"{v:8,h:8}\"\n :cmpZIndex=\"10000\"\n @show=\"$emit('node-settings-click', { node: node })\"\n >\n <template v-slot:trigger>\n <div class=\"vue-flow__node-settings\">\n <svg viewBox=\"0 0 20 20\" width=\"14\" height=\"14\" fill=\"currentColor\">\n <path d=\"M11.078 0l.294 1.833a7.587 7.587 0 0 1 2.174 1.25l1.725-.618 1.078 1.87-1.43 1.217a7.508 7.508 0 0 1 0 2.498l1.43 1.217-1.078 1.87-1.725-.618a7.587 7.587 0 0 1-2.174 1.25L11.078 14H8.922l-.294-1.833a7.587 7.587 0 0 1-2.174-1.25l-1.725.618-1.078-1.87 1.43-1.217a7.508 7.508 0 0 1 0-2.498L3.65 4.733l1.078-1.87 1.725.618a7.587 7.587 0 0 1 2.174-1.25L8.922 0h2.156zM10 4.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z\" transform=\"translate(0 3)\"/>\n </svg>\n </div>\n </template>\n <template v-slot:content>\n <NodeSettingsForm\n :node=\"node\"\n :def-node=\"dn\"\n :text-font-size=\"settingsPopupTextFontSize\"\n @update=\"onSettingsUpdate\"\n @delete=\"onSettingsDelete\"\n />\n </template>\n </WPopup>\n </div>\n </transition>\n </div>\n</template>\n\n<script>\nimport NodeBody from './NodeBody.vue'\nimport NodeSettingsForm from '../ui/NodeSettingsForm.vue'\nimport WPopup from 'w-component-vue/src/components/WPopup.vue'\n\nexport default {\n name: 'NodeWrapper',\n components: { NodeBody, NodeSettingsForm, WPopup },\n inject: { getDefNode: { default: () => () => ({}) } },\n props: {\n node: { type: Object, required: true },\n selected: { type: Boolean, default: false },\n draggable: { type: Boolean, default: true },\n connectable: { type: Boolean, default: true },\n resizable: { type: Boolean, default: true },\n locked: { type: Boolean, default: false },\n settingsPopupBackgroundColor: { type: String, default: '#fff' },\n settingsPopupTextColor: { type: String, default: '#333' },\n settingsPopupTextFontSize: { type: String, default: '12px' },\n inforPopupBackgroundColor: { type: String, default: '#fff' },\n inforPopupTitleTextColor: { type: String, default: '#333' },\n inforPopupTitleTextFontSize: { type: String, default: '12px' },\n inforPopupDescriptionTextColor: { type: String, default: '#888' },\n inforPopupDescriptionTextFontSize: { type: String, default: '10px' },\n snapGridSize: { type: Number, default: null },\n },\n computed: {\n dn() {\n return this.getDefNode()\n },\n isDiamond() {\n return this.node.shape === 'diamond'\n },\n isEllipse() {\n return this.node.shape === 'ellipse'\n },\n isTriangle() {\n let s = this.node.shape\n return s === 'triangle' || s === 'triangle-right' || s === 'triangle-down' || s === 'triangle-left'\n },\n isSvgShape() {\n return this.isDiamond || this.isEllipse || this.isTriangle\n },\n classes() {\n const nodeClasses = this.node.class\n ? (Array.isArray(this.node.class) ? this.node.class : [this.node.class])\n : []\n return [\n 'vue-flow__node',\n `vue-flow__node-${this.node.type || 'basic'}`,\n ...nodeClasses,\n {\n 'vue-flow__node--selected': this.selected,\n 'vue-flow__node--dragging': this.isDragging,\n 'vue-flow__node--locked': this.locked,\n 'vue-flow__node--diamond': this.isDiamond,\n 'vue-flow__node--ellipse': this.isEllipse,\n 'vue-flow__node--triangle': this.isTriangle,\n },\n ]\n },\n wrapperStyle() {\n const d = this.dn\n const n = this.node\n const style = {\n transform: `translate(${n.position.x}px, ${n.position.y}px)`,\n zIndex: n.zIndex || 0,\n ...(n.style || {}),\n }\n if (n.width) style.width = typeof n.width === 'number' ? `${n.width}px` : n.width\n if (n.height) style.height = typeof n.height === 'number' ? `${n.height}px` : n.height\n if (!this.isSvgShape) {\n let fColor = n.faceColor || d.faceColor\n if (fColor) style.background = fColor\n let eColor = n.edgeColor || d.edgeColor\n if (eColor) style.borderColor = eColor\n let eWidth = n.edgeWidth !== undefined ? n.edgeWidth : d.edgeWidth\n if (eWidth !== undefined) style.borderWidth = eWidth + 'px'\n }\n let fs = n.fontSize || d.fontSize\n if (fs) style.fontSize = fs + 'px'\n let fc = n.fontColor || d.fontColor\n if (fc) style.color = fc\n return style\n },\n },\n data() {\n return {\n isDragging: false,\n hovered: false,\n infoPopupShow: false,\n infoPopupEditable: true,\n settingsPopupShow: false,\n cachedW: 0,\n cachedH: 0,\n }\n },\n watch: {\n settingsPopupShow(val) {\n if (val) this.infoPopupShow = false\n },\n infoPopupShow(val) {\n if (val) this.settingsPopupShow = false\n },\n },\n mounted() {\n this.$nextTick(() => this.reportDimensions())\n },\n updated() {\n this.reportDimensions()\n },\n methods: {\n reportDimensions() {\n if (!this.$el) return\n const w = this.$el.offsetWidth\n const h = this.$el.offsetHeight\n if (w === this.cachedW && h === this.cachedH) return\n this.cachedW = w\n this.cachedH = h\n this.$emit('dimensions', { nodeId: this.node.id, width: w, height: h })\n },\n onMouseDown(event) {\n this._mouseDownPos = { x: event.clientX, y: event.clientY }\n if (!this.draggable) return\n if (this.node.dragHandle) {\n const handle = event.target.closest(this.node.dragHandle)\n if (!handle) return\n }\n this.infoPopupShow = false\n this.$emit('drag-start', { node: this.node, event })\n const startX = event.clientX\n const startY = event.clientY\n const onDragMove = (e) => {\n if (Math.abs(e.clientX - startX) > 2 || Math.abs(e.clientY - startY) > 2) {\n this.infoPopupEditable = false\n document.removeEventListener('mousemove', onDragMove)\n }\n }\n const onDragEnd = () => {\n document.removeEventListener('mousemove', onDragMove)\n document.removeEventListener('mouseup', onDragEnd)\n if (!this.infoPopupEditable) {\n setTimeout(() => {\n this.infoPopupEditable = true\n }, 0)\n }\n }\n document.addEventListener('mousemove', onDragMove)\n document.addEventListener('mouseup', onDragEnd)\n },\n onMouseUp(event) {\n if (!this._mouseDownPos) return\n const dx = event.clientX - this._mouseDownPos.x\n const dy = event.clientY - this._mouseDownPos.y\n this._mouseDownPos = null\n if (Math.abs(dx) < 3 && Math.abs(dy) < 3) {\n this.$emit('node-click', { node: this.node, event })\n }\n },\n onDoubleClick(event) {\n this.$emit('node-double-click', { node: this.node, event })\n },\n onContextMenu(event) {\n this.$emit('node-context-menu', { node: this.node, event })\n },\n onConnectStart(payload) {\n this.$emit('connect-start', { ...payload, nodeId: this.node.id })\n },\n onMouseEnter(event) {\n this.hovered = true\n this.$emit('node-mouseenter', { node: this.node, event })\n },\n onMouseLeave(event) {\n this.hovered = false\n this.$emit('node-mouseleave', { node: this.node, event })\n },\n onSettingsUpdate(key, value) {\n this.$emit('node-settings-update', { node: this.node, key, value })\n },\n onSettingsDelete() {\n this.$emit('node-settings-delete', { node: this.node })\n },\n onResizeStart(event, edge) {\n this.infoPopupShow = false\n this.$nextTick(() => {\n this.infoPopupEditable = false\n })\n event.preventDefault()\n\n // Lock cursor for the entire drag duration\n const cursorMap = {\n 'top-left': 'nwse-resize',\n 'bottom-right': 'nwse-resize',\n 'top-right': 'nesw-resize',\n 'bottom-left': 'nesw-resize',\n }\n const lockedCursor = cursorMap[edge] || 'default'\n const cursorStyle = document.createElement('style')\n cursorStyle.textContent = '* { cursor: ' + lockedCursor + ' !important; }'\n document.head.appendChild(cursorStyle)\n\n const startX = event.clientX\n const startY = event.clientY\n const startW = this.node.width || this.$el.offsetWidth\n const startH = this.node.height || this.$el.offsetHeight\n const startPosX = this.node.position.x\n const startPosY = this.node.position.y\n const snap = this.snapGridSize\n const minSize = snap || 10\n // Get zoom from the viewport transform\n const viewport = this.$el.closest('.vue-flow__viewport')\n const zoom = viewport ? parseFloat(viewport.style.transform.match(/scale\\(([^)]+)\\)/)?.[1] || 1) : 1\n\n const snapVal = (v) => snap ? Math.max(snap, Math.round(v / snap) * snap) : Math.max(minSize, Math.round(v))\n\n const resizeRight = (dx) => snapVal(startW + dx)\n const resizeLeft = (dx) => {\n const newW = snapVal(startW - dx)\n return { w: newW, x: startPosX + (startW - newW) }\n }\n const resizeBottom = (dy) => snapVal(startH + dy)\n const resizeTop = (dy) => {\n const newH = snapVal(startH - dy)\n return { h: newH, y: startPosY + (startH - newH) }\n }\n\n const onMouseMove = (e) => {\n const dx = (e.clientX - startX) / zoom\n const dy = (e.clientY - startY) / zoom\n let newW = startW; let newH = startH; let newX = startPosX; let newY = startPosY\n\n if (edge === 'top-left') {\n let rl2 = resizeLeft(dx); newW = rl2.w; newX = rl2.x\n let rt2 = resizeTop(dy); newH = rt2.h; newY = rt2.y\n }\n else if (edge === 'top-right') {\n newW = resizeRight(dx)\n let rt3 = resizeTop(dy); newH = rt3.h; newY = rt3.y\n }\n else if (edge === 'bottom-left') {\n let rl3 = resizeLeft(dx); newW = rl3.w; newX = rl3.x\n newH = resizeBottom(dy)\n }\n else if (edge === 'bottom-right') {\n newW = resizeRight(dx)\n newH = resizeBottom(dy)\n }\n\n this.$emit('node-resize', {\n nodeId: this.node.id,\n width: newW,\n height: newH,\n x: newX,\n y: newY,\n })\n }\n\n const onMouseUp = () => {\n document.removeEventListener('mousemove', onMouseMove)\n document.removeEventListener('mouseup', onMouseUp)\n document.head.removeChild(cursorStyle)\n setTimeout(() => {\n this.infoPopupEditable = true\n }, 0)\n this.$emit('node-resize-end', {\n nodeId: this.node.id,\n width: this.node.width || this.$el.offsetWidth,\n height: this.node.height || this.$el.offsetHeight,\n x: this.node.position.x,\n y: this.node.position.y,\n })\n }\n\n document.addEventListener('mousemove', onMouseMove)\n document.addEventListener('mouseup', onMouseUp)\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__node {\n position: absolute;\n cursor: grab;\n user-select: none;\n pointer-events: all;\n box-sizing: border-box;\n border: 1px solid #bbb;\n border-radius: 3px;\n background: #fff;\n font-family: 'Microsoft JhengHei', '微軟正黑體', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n font-size: 12px;\n text-align: center;\n white-space: nowrap;\n transition: border-color 0.2s ease, box-shadow 0.3s ease;\n}\n.vue-flow__node:hover {\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\n}\n.vue-flow__node--selected {\n box-shadow: 0 0 8px 2px rgba(220, 38, 38, 0.5);\n}\n.vue-flow__node--selected:hover {\n box-shadow: 0 0 8px 2px rgba(220, 38, 38, 0.5);\n}\n.vue-flow__node--dragging {\n cursor: grabbing;\n z-index: 1000 !important;\n}\n\n/* Settings icon anchor (positioning only) */\n.vue-flow__node-settings-anchor {\n position: absolute;\n top: -8px;\n right: -8px;\n z-index: 2;\n pointer-events: all;\n}\n/* Settings icon (appearance only) */\n.vue-flow__node-settings {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #fff;\n border: 1px solid #ccc;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: border-color 0.15s ease, background 0.15s ease;\n color: #888;\n}\n.vue-flow__node-settings:hover {\n border-color: #666;\n background: #f0f0f0;\n color: #333;\n}\n\n\n/* Shared SVG shape base styles */\n.vue-flow__node--diamond,\n.vue-flow__node--ellipse,\n.vue-flow__node--triangle {\n background: transparent !important;\n border-color: transparent !important;\n border-radius: 0 !important;\n}\n.vue-flow__node--diamond:hover,\n.vue-flow__node--ellipse:hover,\n.vue-flow__node--triangle:hover {\n box-shadow: none !important;\n}\n.vue-flow__node--diamond.vue-flow__node--selected,\n.vue-flow__node--ellipse.vue-flow__node--selected,\n.vue-flow__node--triangle.vue-flow__node--selected {\n border-color: transparent !important;\n box-shadow: none !important;\n}\n.vue-flow__node--diamond.vue-flow__node--selected:hover,\n.vue-flow__node--ellipse.vue-flow__node--selected:hover,\n.vue-flow__node--triangle.vue-flow__node--selected:hover {\n border-color: transparent !important;\n box-shadow: none !important;\n}\n/* SVG shape hover */\n.vue-flow__node--diamond:hover .vue-flow__shape-svg polygon,\n.vue-flow__node--triangle:hover .vue-flow__shape-svg polygon,\n.vue-flow__node--ellipse:hover .vue-flow__shape-svg ellipse {\n filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.15));\n}\n/* SVG shape selected: red shadow */\n.vue-flow__node--diamond.vue-flow__node--selected .vue-flow__shape-svg polygon,\n.vue-flow__node--triangle.vue-flow__node--selected .vue-flow__shape-svg polygon,\n.vue-flow__node--ellipse.vue-flow__node--selected .vue-flow__shape-svg ellipse {\n filter: drop-shadow(0 0 6px rgba(220, 38, 38, 0.6));\n}\n/* Fade transition for settings icon and resize handles */\n.vue-flow__fade-enter-active,\n.vue-flow__fade-leave-active {\n transition: opacity 0.15s ease;\n}\n.vue-flow__fade-enter,\n.vue-flow__fade-leave-to {\n opacity: 0;\n}\n</style>\n"]},media:void 0})},Qc,"data-v-d66c347a",false,void 0,!1,Gr,void 0,void 0)},props:{nodes:{type:Array,default:()=>[]},selectedNodeIds:{type:Array,default:()=>[]},nodesDraggable:{type:Boolean,default:!0},nodesConnectable:{type:Boolean,default:!0},nodesResizable:{type:Boolean,default:!0},locked:{type:Boolean,default:!1},settingsPopupBackgroundColor:{type:String,default:"#fff"},settingsPopupTextColor:{type:String,default:"#333"},settingsPopupTextFontSize:{type:String,default:"12px"},inforPopupBackgroundColor:{type:String,default:"#fff"},inforPopupTitleTextColor:{type:String,default:"#333"},inforPopupTitleTextFontSize:{type:String,default:"12px"},inforPopupDescriptionTextColor:{type:String,default:"#888"},inforPopupDescriptionTextFontSize:{type:String,default:"10px"},snapGridSize:{type:Number,default:null}},computed:{visibleNodes(){return this.nodes.filter(n=>!n.hidden)}},methods:{isSelected(n){return this.selectedNodeIds.includes(n)},isDraggable(n){return void 0!==n.draggable?n.draggable:this.nodesDraggable},isConnectable(n){return void 0!==n.connectable?n.connectable:this.nodesConnectable},isResizable(n){return void 0!==n.resizable?n.resizable:this.nodesResizable}}};var np=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"vue-flow__nodes"},n._l(n.visibleNodes,function(e){return t("NodeWrapper",{key:e.id,attrs:{node:e,selected:n.isSelected(e.id),draggable:n.isDraggable(e),connectable:n.isConnectable(e),resizable:n.isResizable(e),locked:n.locked,"settings-popup-background-color":n.settingsPopupBackgroundColor,"settings-popup-text-color":n.settingsPopupTextColor,"settings-popup-text-font-size":n.settingsPopupTextFontSize,"infor-popup-background-color":n.inforPopupBackgroundColor,"infor-popup-title-text-color":n.inforPopupTitleTextColor,"infor-popup-title-text-font-size":n.inforPopupTitleTextFontSize,"infor-popup-description-text-color":n.inforPopupDescriptionTextColor,"infor-popup-description-text-font-size":n.inforPopupDescriptionTextFontSize,"snap-grid-size":n.snapGridSize},on:{"drag-start":function(e){return n.$emit("drag-start",e)},"node-click":function(e){return n.$emit("node-click",e)},"node-double-click":function(e){return n.$emit("node-double-click",e)},"node-context-menu":function(e){return n.$emit("node-context-menu",e)},"node-settings-click":function(e){return n.$emit("node-settings-click",e)},"node-settings-update":function(e){return n.$emit("node-settings-update",e)},"node-settings-delete":function(e){return n.$emit("node-settings-delete",e)},"node-mouseenter":function(e){return n.$emit("node-mouseenter",e)},"node-mouseleave":function(e){return n.$emit("node-mouseleave",e)},"connect-start":function(e){return n.$emit("connect-start",e)},dimensions:function(e){return n.$emit("dimensions",e)},"node-resize":function(e){return n.$emit("node-resize",e)},"node-resize-end":function(e){return n.$emit("node-resize-end",e)}},scopedSlots:n._u([n.$scopedSlots["node-popup"]?{key:"node-popup",fn:function(e){return[n._t("node-popup",null,null,e)]}}:null],null,!0)})}),1)};np._withStripped=!0;const ep=Ur({render:np,staticRenderFns:[]},function(n){n&&n("data-v-569f62ba_0",{source:"\n.vue-flow__nodes[data-v-569f62ba] {\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\nodes\\NodeRenderer.vue"],names:[],mappings:";AAuFA;EACA,kBAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;AACA",file:"NodeRenderer.vue",sourcesContent:['<template>\n <div class="vue-flow__nodes">\n <NodeWrapper\n v-for="node in visibleNodes"\n :key="node.id"\n :node="node"\n :selected="isSelected(node.id)"\n :draggable="isDraggable(node)"\n :connectable="isConnectable(node)"\n :resizable="isResizable(node)"\n :locked="locked"\n :settings-popup-background-color="settingsPopupBackgroundColor"\n :settings-popup-text-color="settingsPopupTextColor"\n :settings-popup-text-font-size="settingsPopupTextFontSize"\n :infor-popup-background-color="inforPopupBackgroundColor"\n :infor-popup-title-text-color="inforPopupTitleTextColor"\n :infor-popup-title-text-font-size="inforPopupTitleTextFontSize"\n :infor-popup-description-text-color="inforPopupDescriptionTextColor"\n :infor-popup-description-text-font-size="inforPopupDescriptionTextFontSize"\n :snap-grid-size="snapGridSize"\n @drag-start="$emit(\'drag-start\', $event)"\n @node-click="$emit(\'node-click\', $event)"\n @node-double-click="$emit(\'node-double-click\', $event)"\n @node-context-menu="$emit(\'node-context-menu\', $event)"\n @node-settings-click="$emit(\'node-settings-click\', $event)"\n @node-settings-update="$emit(\'node-settings-update\', $event)"\n @node-settings-delete="$emit(\'node-settings-delete\', $event)"\n @node-mouseenter="$emit(\'node-mouseenter\', $event)"\n @node-mouseleave="$emit(\'node-mouseleave\', $event)"\n @connect-start="$emit(\'connect-start\', $event)"\n @dimensions="$emit(\'dimensions\', $event)"\n @node-resize="$emit(\'node-resize\', $event)"\n @node-resize-end="$emit(\'node-resize-end\', $event)"\n >\n <template v-if="$scopedSlots[\'node-popup\']" v-slot:node-popup="scope">\n <slot name="node-popup" v-bind="scope" />\n </template>\n </NodeWrapper>\n </div>\n</template>\n\n<script>\nimport NodeWrapper from \'./NodeWrapper.vue\'\n\nexport default {\n name: \'NodeRenderer\',\n components: { NodeWrapper },\n props: {\n nodes: { type: Array, default: () => [] },\n selectedNodeIds: { type: Array, default: () => [] },\n nodesDraggable: { type: Boolean, default: true },\n nodesConnectable: { type: Boolean, default: true },\n nodesResizable: { type: Boolean, default: true },\n locked: { type: Boolean, default: false },\n settingsPopupBackgroundColor: { type: String, default: \'#fff\' },\n settingsPopupTextColor: { type: String, default: \'#333\' },\n settingsPopupTextFontSize: { type: String, default: \'12px\' },\n inforPopupBackgroundColor: { type: String, default: \'#fff\' },\n inforPopupTitleTextColor: { type: String, default: \'#333\' },\n inforPopupTitleTextFontSize: { type: String, default: \'12px\' },\n inforPopupDescriptionTextColor: { type: String, default: \'#888\' },\n inforPopupDescriptionTextFontSize: { type: String, default: \'10px\' },\n snapGridSize: { type: Number, default: null },\n },\n computed: {\n visibleNodes() {\n return this.nodes.filter(n => !n.hidden)\n },\n },\n methods: {\n isSelected(id) {\n return this.selectedNodeIds.includes(id)\n },\n isDraggable(node) {\n return node.draggable !== undefined ? node.draggable : this.nodesDraggable\n },\n isConnectable(node) {\n return node.connectable !== undefined ? node.connectable : this.nodesConnectable\n },\n isResizable(node) {\n return node.resizable !== undefined ? node.resizable : this.nodesResizable\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__nodes {\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n}\n</style>\n']},media:void 0})},Kc,"data-v-569f62ba",false,void 0,!1,Gr,void 0,void 0);let tp=new Map,op=-1;function rp(){tp.clear(),op=-1}function ip(n,e,t,o,r,i,a,l,s,d,u){let c=Math.floor(Date.now()/16);c!==op&&(tp.clear(),op=c);let p=Math.round(n/10)+","+Math.round(e/10)+","+Math.round(o/10)+","+Math.round(r/10)+","+t+","+i,f=tp.get(p);if(f)return f;let h=[];if(l&&l.length>0){let n=s||{};for(let e=0;e<l.length;e++){let t=l[e];if(t.hidden)continue;let o=n[t.id]&&n[t.id].width||t.width||100,r=n[t.id]&&n[t.id].height||t.height||40;h.push({l:t.position.x,t:t.position.y,r:t.position.x+o,b:t.position.y+r})}}let v=ap(h,n,e),g=ap(h,o,r),m=function(n,e,t,o,r,i,a,l,s){if(!a||!l)return null;let d=mp(t),u=mp(i),c=[[a.l,a.t,a.r-a.l,a.b-a.t],[l.l,l.t,l.r-l.l,l.b-l.t]],p=n-o,f=e-r,h=2*s;if(p*p+f*f<h*h)return null;let v=[[],[]];for(let n=0;n<2;n++)v[n][1]=c[n][0]-s,v[n][2]=c[n][1]-s,v[n][4]=c[n][0]+c[n][2]+s,v[n][8]=c[n][1]+c[n][3]+s;let g=[[.5,.5],[.5,.5]],m=c[0][2]||1,b=c[0][3]||1,A=c[1][2]||1,y=c[1][3]||1;g[0][0]=(n-c[0][0])/m,g[0][1]=(e-c[0][1])/b,g[1][0]=(o-c[1][0])/A,g[1][1]=(r-c[1][1])/y;let C=c[0][0]+c[0][2]/2,x=c[0][1]+c[0][3]/2,w=c[1][0]+c[1][2]/2,S=c[1][1]+c[1][3]/2,k=C-w,_=x-S,B=0;k<0?B=_<0?2:1:_<=0&&(B=0===k?2:3);let P=[];P[1]=Math.max(c[0][0]-(c[1][0]+c[1][2])-h,0),P[2]=Math.max(c[0][1]-(c[1][1]+c[1][3])-h,0),P[3]=Math.max(c[1][0]-(c[0][0]+c[0][2])-h,0),P[4]=Math.max(c[1][1]-(c[0][1]+c[0][3])-h,0);let T=d===up?3:d,z=u===up?3:u;T-=B,z-=B,T<1&&(T+=4);z<1&&(z+=4);let E=gp[T-1][z-1],F=[];for(let n=0;n<12;n++)F[n]=[0,0];switch(F[0][0]=c[0][0],F[0][1]=c[0][1],d){case lp:F[0][0]-=s,F[0][1]+=g[0][1]*c[0][3];break;case dp:F[0][0]+=g[0][0]*c[0][2],F[0][1]+=c[0][3]+s;break;case up:F[0][0]+=c[0][2]+s,F[0][1]+=g[0][1]*c[0][3];break;case sp:F[0][0]+=g[0][0]*c[0][2],F[0][1]-=s}let I=0,H=(d&(up|lp))>0?0:1,N=H;for(let n=0;n<E.length;n++){let e=15&E[n],t=e===up?3:e;t+=B,t>4&&(t-=4);let o=vp[t-1],r=t%2>0?0:1;r!==H&&(I++,F[I]=[F[I-1][0],F[I-1][1]]);let i=(E[n]&hp)>0,a=(E[n]&fp)>0,l=(E[n]&cp)>>5;l<<=B,l>15&&(l>>=4);let s=(E[n]&pp)>0;if((a||i)&&l<9){let n,e=a?0:1;if(n=s&&0===r?c[e][0]+g[e][0]*c[e][2]:s?c[e][1]+g[e][1]*c[e][3]:v[e][l],0===r){let e=(n-F[I][0])*o[0];e>0&&(F[I][0]+=o[0]*e)}else{let e=(n-F[I][1])*o[1];e>0&&(F[I][1]+=o[1]*e)}}else s&&(F[I][0]+=o[0]*Math.abs(P[t]/2),F[I][1]+=o[1]*Math.abs(P[t]/2));I>0&&F[I][r]===F[I-1][r]?I--:H=r}let W=[{x:n,y:e}],$=((u&(up|lp))>0?0:1)===N?0:1;for(let n=0;n<=I&&(n!==I||$===(I+1)%2);n++)W.push({x:Math.round(10*F[n][0])/10,y:Math.round(10*F[n][1])/10});W.push({x:o,y:r});let M=[W[0]];for(let n=1;n<W.length;n++)(Math.abs(W[n].x-M[M.length-1].x)>.5||Math.abs(W[n].y-M[M.length-1].y)>.5)&&M.push(W[n]);return M}(n,e,t,o,r,i,v,g,a||24);return m||(m=function(n,e,t,o,r,i){let a=[{x:n,y:e}];i&&t>=i.l&&t<=i.r&&e>=i.t&&e<=i.b?r&&n>=r.l&&n<=r.r&&o>=r.t&&o<=r.b||a.push({x:n,y:o}):n!==t&&e!==o&&a.push({x:t,y:e});return a.push({x:t,y:o}),a}(n,e,o,r,v,g)),tp.size>200&&tp.clear(),tp.set(p,m),m}function ap(n,e,t){for(let o=0;o<n.length;o++){let r=n[o];if(e>=r.l-5&&e<=r.r+5&&t>=r.t-5&&t<=r.b+5)return r}return null}let lp=1,sp=2,dp=4,up=8,cp=480,pp=512,fp=1024,hp=2048,vp=[[-1,0],[0,-1],[1,0],[0,1],[-1,0],[0,-1],[1,0]],gp=[[[513,2308,2081,2562],[513,1090,514,2184,2114,2561],[513,1090,514,2564,2184,2562],[513,2308,2561,1090,514,2568,2308]],[[514,1057,513,2308,2081,2562],[514,2184,2114,2561],[514,2184,2562,1057,513,2564,2184],[514,1057,513,2568,2308,2561]],[[1090,514,1057,513,2308,2081,2562],[2114,2561],[1090,2562,1057,513,2564,2184],[1090,514,1057,513,2308,2561,2568]],[[2081,2562],[1057,513,1090,514,2184,2114,2561],[1057,513,1090,514,2184,2562,2564],[1057,2561,1090,514,2568,2308]]];function mp(n){switch(n){case"left":return lp;case"top":return sp;case"right":return up;default:return dp}}function bp(n,e){switch(e){case"top":return{x:0,y:-n};case"bottom":return{x:0,y:n};case"left":return{x:-n,y:0};case"right":return{x:n,y:0};default:return{x:0,y:0}}}function Ap({sourceX:n,sourceY:e,sourcePosition:t="bottom",targetX:o,targetY:r,targetPosition:i="top",curvature:a=.25}){const l=Math.sqrt(Math.pow(o-n,2)+Math.pow(r-e,2)),s=Math.max(l*a,25),d=bp(s,t),u=bp(s,i),c=n+d.x,p=e+d.y,f=o+u.x,h=r+u.y;return{path:`M ${n},${e} C ${c},${p} ${f},${h} ${o},${r}`,labelX:(n+c+f+o)/4,labelY:(e+p+h+r)/4}}function yp({sourceX:n,sourceY:e,targetX:t,targetY:o}){return{path:`M ${n},${e} L ${t},${o}`,labelX:(n+t)/2,labelY:(e+o)/2}}function Cp({sourceX:n,sourceY:e,sourcePosition:t="bottom",targetX:o,targetY:r,targetPosition:i="top",offset:a=20,allNodes:l,nodeInternals:s,connFromId:d,connToId:u}){const c=ip(n,e,t,o,r,i,a,l,s),p=c.map((n,e)=>`${0===e?"M":"L"} ${n.x},${n.y}`).join(" "),f=wp(c);return{path:p,labelX:f.x,labelY:f.y}}function xp({sourceX:n,sourceY:e,sourcePosition:t="bottom",targetX:o,targetY:r,targetPosition:i="top",borderRadius:a=5,offset:l=20,allNodes:s,nodeInternals:d,connFromId:u,connToId:c}){const p=ip(n,e,t,o,r,i,l,s,d);if(p.length<=2){return{path:`M ${p[0].x},${p[0].y} L ${p[1].x},${p[1].y}`,labelX:(p[0].x+p[1].x)/2,labelY:(p[0].y+p[1].y)/2}}let f=`M ${p[0].x},${p[0].y}`;for(let n=1;n<p.length-1;n++){const e=p[n-1],t=p[n],o=p[n+1],r=t.x-e.x,i=t.y-e.y,l=o.x-t.x,s=o.y-t.y,d=Math.sqrt(r*r+i*i),u=Math.sqrt(l*l+s*s);if(0===d||0===u){f+=` L ${t.x},${t.y}`;continue}const c=Math.min(a,d/2,u/2),h=t.x-r/d*c,v=t.y-i/d*c,g=t.x+l/u*c,m=t.y+s/u*c;f+=` L ${h},${v} Q ${t.x},${t.y} ${g},${m}`}f+=` L ${p[p.length-1].x},${p[p.length-1].y}`;const h=wp(p);return{path:f,labelX:h.x,labelY:h.y}}function wp(n){if(n.length<2)return{x:n[0].x,y:n[0].y};let e=0;for(let t=0;t<n.length-1;t++)e+=Math.abs(n[t+1].x-n[t].x)+Math.abs(n[t+1].y-n[t].y);let t=e/2,o=0;for(let e=0;e<n.length-1;e++){let r=Math.abs(n[e+1].x-n[e].x)+Math.abs(n[e+1].y-n[e].y);if(o+r>=t){let i=r>0?(t-o)/r:0;return{x:n[e].x+(n[e+1].x-n[e].x)*i,y:n[e].y+(n[e+1].y-n[e].y)*i}}o+=r}return{x:n[n.length-1].x,y:n[n.length-1].y}}const Sp={components:{WColorSelect:Xc},props:{conn:{type:Object,required:!0},defConn:{type:Object,required:!0},textFontSize:{type:String,default:""}},data:()=>({confirmDelete:!1}),computed:{formStyle(){let n={};return this.textFontSize&&(n.fontSize=this.textFontSize),n}},methods:{onFontSizeInput(n){let e=Number(n),t=this.defConn;!n||isNaN(e)||e<t.fontSizeMin||(e>t.fontSizeMax&&(e=t.fontSizeMax),this.$emit("update","fontSize",e))},onEdgeWidthInput(n){let e=Number(n);!n||isNaN(e)||e<1||(e>24&&(e=24),this.$emit("update","edgeWidth",e))}}};var kp=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"vue-flow__settings-form",style:n.formStyle},[t("label",[n._v("Name\n "),t("input",{attrs:{type:"text"},domProps:{value:n.conn.name||""},on:{input:function(e){return n.$emit("update","name",e.target.value)}}})]),n._v(" "),t("label",[n._v("Description\n "),t("input",{attrs:{type:"text"},domProps:{value:n.conn.description||""},on:{input:function(e){return n.$emit("update","description",e.target.value)}}})]),n._v(" "),t("label",[n._v("Type\n "),t("select",{domProps:{value:n.conn.type||n.defConn.type},on:{input:function(e){return n.$emit("update","type",e.target.value)}}},[t("option",{attrs:{value:"bezier"}},[n._v("Bezier")]),n._v(" "),t("option",{attrs:{value:"straight"}},[n._v("Straight")]),n._v(" "),t("option",{attrs:{value:"step"}},[n._v("Step")]),n._v(" "),t("option",{attrs:{value:"smoothstep"}},[n._v("Smooth Step")])])]),n._v(" "),t("label",[n._v("Font Size\n "),t("input",{attrs:{type:"number",min:n.defConn.fontSizeMin,max:n.defConn.fontSizeMax},domProps:{value:n.conn.fontSize||n.defConn.fontSize},on:{input:function(e){return n.onFontSizeInput(e.target.value)}}})]),n._v(" "),t("label",[n._v("Font Color\n "),t("WColorSelect",{attrs:{value:n.conn.fontColor||n.defConn.fontColor,size:160,colorBlockSize:16,showColorText:!1},on:{input:function(e){return n.$emit("update","fontColor",e)}}})],1),n._v(" "),t("label",[n._v("Animated\n "),t("input",{attrs:{type:"checkbox"},domProps:{checked:!!n.conn.animated},on:{change:function(e){return n.$emit("update","animated",e.target.checked)}}})]),n._v(" "),t("label",[n._v("Edge Color\n "),t("WColorSelect",{attrs:{value:n.conn.edgeColor||n.defConn.edgeColor,size:160,colorBlockSize:16,showColorText:!1},on:{input:function(e){return n.$emit("update","edgeColor",e)}}})],1),n._v(" "),t("label",[n._v("Edge Width\n "),t("input",{attrs:{type:"number",min:"1",max:"24"},domProps:{value:void 0!==n.conn.edgeWidth?n.conn.edgeWidth:n.defConn.edgeWidth},on:{input:function(e){return n.onEdgeWidthInput(e.target.value)}}})]),n._v(" "),t("label",[n._v("Marker End\n "),t("select",{domProps:{value:n.conn.markerEnd||n.defConn.markerEnd},on:{input:function(e){return n.$emit("update","markerEnd",e.target.value||void 0)}}},[t("option",{attrs:{value:""}},[n._v("None")]),n._v(" "),t("option",{attrs:{value:"arrow"}},[n._v("Arrow")]),n._v(" "),t("option",{attrs:{value:"arrowclosed"}},[n._v("Arrow Closed")])])]),n._v(" "),t("div",{staticClass:"vue-flow__delete-area"},[n.confirmDelete?[t("span",{staticClass:"vue-flow__delete-warn"},[n._v("確定要刪除此連接線?")]),n._v(" "),t("div",{staticClass:"vue-flow__delete-confirm-row"},[t("button",{staticClass:"vue-flow__delete-btn vue-flow__delete-btn--confirm",on:{click:function(e){return n.$emit("delete")}}},[n._v("確認刪除")]),n._v(" "),t("button",{staticClass:"vue-flow__delete-btn vue-flow__delete-btn--cancel",on:{click:function(e){n.confirmDelete=!1}}},[n._v("取消")])])]:t("button",{staticClass:"vue-flow__delete-btn",on:{click:function(e){n.confirmDelete=!0}}},[n._v("刪除連接線")])],2)])};kp._withStripped=!0;const _p={bezier:Ap,straight:yp,step:Cp,smoothstep:xp};var Bp={name:"EdgeWrapper",components:{ConnSettingsForm:Ur({render:kp,staticRenderFns:[]},function(n){n&&n("data-v-0def8c0e_0",{source:'\n.vue-flow__settings-form {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n.vue-flow__settings-form label {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n}\n.vue-flow__settings-form select,\n.vue-flow__settings-form input[type="number"],\n.vue-flow__settings-form input[type="text"] {\n width: 100px;\n font-size: 12px;\n padding: 1px 4px;\n border: 1px solid #ccc;\n border-radius: 3px;\n}\n.vue-flow__settings-form input[type="color"] {\n width: 32px;\n height: 24px;\n padding: 0;\n border: 1px solid #ccc;\n cursor: pointer;\n flex-shrink: 0;\n}\n.vue-flow__delete-area {\n margin-top: 4px;\n padding-top: 8px;\n border-top: 1px solid #eee;\n}\n.vue-flow__delete-warn {\n display: block;\n font-size: 11px;\n color: #c00;\n margin-bottom: 4px;\n}\n.vue-flow__delete-confirm-row {\n display: flex;\n gap: 6px;\n}\n.vue-flow__delete-btn {\n padding: 3px 10px;\n font-size: 11px;\n border: 1px solid #ccc;\n border-radius: 3px;\n background: #fff;\n cursor: pointer;\n}\n.vue-flow__delete-btn:hover {\n background: #f5f5f5;\n}\n.vue-flow__delete-btn--confirm {\n color: #fff;\n background: #dc2626;\n border-color: #dc2626;\n}\n.vue-flow__delete-btn--confirm:hover {\n background: #b91c1c;\n}\n.vue-flow__delete-btn--cancel {\n color: #666;\n}\n',map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\ui\\ConnSettingsForm.vue"],names:[],mappings:";AA0FA;EACA,aAAA;EACA,sBAAA;EACA,QAAA;EACA,gBAAA;AACA;AACA;EACA,aAAA;EACA,8BAAA;EACA,mBAAA;EACA,QAAA;EACA,eAAA;AACA;AACA;;;EAGA,YAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,kBAAA;AACA;AACA;EACA,WAAA;EACA,YAAA;EACA,UAAA;EACA,sBAAA;EACA,eAAA;EACA,cAAA;AACA;AACA;EACA,eAAA;EACA,gBAAA;EACA,0BAAA;AACA;AACA;EACA,cAAA;EACA,eAAA;EACA,WAAA;EACA,kBAAA;AACA;AACA;EACA,aAAA;EACA,QAAA;AACA;AACA;EACA,iBAAA;EACA,eAAA;EACA,sBAAA;EACA,kBAAA;EACA,gBAAA;EACA,eAAA;AACA;AACA;EACA,mBAAA;AACA;AACA;EACA,WAAA;EACA,mBAAA;EACA,qBAAA;AACA;AACA;EACA,mBAAA;AACA;AACA;EACA,WAAA;AACA",file:"ConnSettingsForm.vue",sourcesContent:['<template>\n <div class="vue-flow__settings-form" :style="formStyle">\n <label>Name\n <input type="text" :value="conn.name || \'\'" @input="$emit(\'update\', \'name\', $event.target.value)">\n </label>\n <label>Description\n <input type="text" :value="conn.description || \'\'" @input="$emit(\'update\', \'description\', $event.target.value)">\n </label>\n <label>Type\n <select :value="conn.type || defConn.type" @input="$emit(\'update\', \'type\', $event.target.value)">\n <option value="bezier">Bezier</option>\n <option value="straight">Straight</option>\n <option value="step">Step</option>\n <option value="smoothstep">Smooth Step</option>\n </select>\n </label>\n <label>Font Size\n <input type="number" :value="conn.fontSize || defConn.fontSize" :min="defConn.fontSizeMin" :max="defConn.fontSizeMax" @input="onFontSizeInput($event.target.value)">\n </label>\n <label>Font Color\n <WColorSelect :value="conn.fontColor || defConn.fontColor" :size="160" :colorBlockSize="16" :showColorText="false" @input="$emit(\'update\', \'fontColor\', $event)" />\n </label>\n <label>Animated\n <input type="checkbox" :checked="!!conn.animated" @change="$emit(\'update\', \'animated\', $event.target.checked)">\n </label>\n <label>Edge Color\n <WColorSelect :value="conn.edgeColor || defConn.edgeColor" :size="160" :colorBlockSize="16" :showColorText="false" @input="$emit(\'update\', \'edgeColor\', $event)" />\n </label>\n <label>Edge Width\n <input type="number" :value="conn.edgeWidth !== undefined ? conn.edgeWidth : defConn.edgeWidth" min="1" max="24" @input="onEdgeWidthInput($event.target.value)">\n </label>\n <label>Marker End\n <select :value="conn.markerEnd || defConn.markerEnd" @input="$emit(\'update\', \'markerEnd\', $event.target.value || undefined)">\n <option value="">None</option>\n <option value="arrow">Arrow</option>\n <option value="arrowclosed">Arrow Closed</option>\n </select>\n </label>\n <div class="vue-flow__delete-area">\n <button v-if="!confirmDelete" class="vue-flow__delete-btn" @click="confirmDelete = true">刪除連接線</button>\n <template v-else>\n <span class="vue-flow__delete-warn">確定要刪除此連接線?</span>\n <div class="vue-flow__delete-confirm-row">\n <button class="vue-flow__delete-btn vue-flow__delete-btn--confirm" @click="$emit(\'delete\')">確認刪除</button>\n <button class="vue-flow__delete-btn vue-flow__delete-btn--cancel" @click="confirmDelete = false">取消</button>\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<script>\nimport WColorSelect from \'w-component-vue/src/components/WColorSelect.vue\'\n\nexport default {\n components: { WColorSelect },\n props: {\n conn: { type: Object, required: true },\n defConn: { type: Object, required: true },\n textFontSize: { type: String, default: \'\' },\n },\n data() {\n return { confirmDelete: false }\n },\n computed: {\n formStyle() {\n let s = {}\n if (this.textFontSize) s.fontSize = this.textFontSize\n return s\n },\n },\n methods: {\n onFontSizeInput(val) {\n let n = Number(val)\n let d = this.defConn\n if (!val || isNaN(n) || n < d.fontSizeMin) return\n if (n > d.fontSizeMax) n = d.fontSizeMax\n this.$emit(\'update\', \'fontSize\', n)\n },\n onEdgeWidthInput(val) {\n let n = Number(val)\n if (!val || isNaN(n) || n < 1) return\n if (n > 24) n = 24\n this.$emit(\'update\', \'edgeWidth\', n)\n },\n },\n}\n<\/script>\n\n<style>\n.vue-flow__settings-form {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n.vue-flow__settings-form label {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n}\n.vue-flow__settings-form select,\n.vue-flow__settings-form input[type="number"],\n.vue-flow__settings-form input[type="text"] {\n width: 100px;\n font-size: 12px;\n padding: 1px 4px;\n border: 1px solid #ccc;\n border-radius: 3px;\n}\n.vue-flow__settings-form input[type="color"] {\n width: 32px;\n height: 24px;\n padding: 0;\n border: 1px solid #ccc;\n cursor: pointer;\n flex-shrink: 0;\n}\n.vue-flow__delete-area {\n margin-top: 4px;\n padding-top: 8px;\n border-top: 1px solid #eee;\n}\n.vue-flow__delete-warn {\n display: block;\n font-size: 11px;\n color: #c00;\n margin-bottom: 4px;\n}\n.vue-flow__delete-confirm-row {\n display: flex;\n gap: 6px;\n}\n.vue-flow__delete-btn {\n padding: 3px 10px;\n font-size: 11px;\n border: 1px solid #ccc;\n border-radius: 3px;\n background: #fff;\n cursor: pointer;\n}\n.vue-flow__delete-btn:hover {\n background: #f5f5f5;\n}\n.vue-flow__delete-btn--confirm {\n color: #fff;\n background: #dc2626;\n border-color: #dc2626;\n}\n.vue-flow__delete-btn--confirm:hover {\n background: #b91c1c;\n}\n.vue-flow__delete-btn--cancel {\n color: #666;\n}\n</style>\n']},media:void 0})},Sp,void 0,false,void 0,!1,Gr,void 0,void 0),WPopup:Bl},inject:{getDefConn:{default:()=>()=>({})}},props:{conn:{type:Object,required:!0},sourceX:{type:Number,required:!0},sourceY:{type:Number,required:!0},sourcePosition:{type:String,default:"bottom"},targetX:{type:Number,required:!0},targetY:{type:Number,required:!0},targetPosition:{type:String,default:"top"},selected:{type:Boolean,default:!1},interactive:{type:Boolean,default:!0},locked:{type:Boolean,default:!1},settingsPopupBackgroundColor:{type:String,default:"#fff"},settingsPopupTextColor:{type:String,default:"#333"},settingsPopupTextFontSize:{type:String,default:"12px"},inforPopupBackgroundColor:{type:String,default:"#fff"},inforPopupTitleTextColor:{type:String,default:"#333"},inforPopupTitleTextFontSize:{type:String,default:"12px"},inforPopupDescriptionTextColor:{type:String,default:"#888"},inforPopupDescriptionTextFontSize:{type:String,default:"10px"},allNodes:{type:Array,default:()=>[]},nodeInternals:{type:Object,default:()=>({})}},data:()=>({hovered:!1,infoPopupShow:!1,infoPopupEditable:!0,settingsPopupShow:!1}),watch:{settingsPopupShow(n){n&&(this.infoPopupShow=!1)},infoPopupShow(n){n&&(this.settingsPopupShow=!1)}},computed:{dc(){return this.getDefConn()},classes(){const n=this.conn.class?Array.isArray(this.conn.class)?this.conn.class:[this.conn.class]:[];return["vue-flow__edge",`vue-flow__edge-${this.conn.type||this.dc.type||"bezier"}`,...n,{"vue-flow__edge--selected":this.selected,"vue-flow__edge--animated":this.conn.animated}]},pathData(){const n=this.conn.type||this.dc.type||"bezier";return(_p[n]||_p.bezier)({sourceX:this.sourceX,sourceY:this.sourceY,sourcePosition:this.sourcePosition,targetX:this.targetX,targetY:this.targetY,targetPosition:this.targetPosition,curvature:this.conn.curvature,allNodes:this.allNodes,nodeInternals:this.nodeInternals,connFromId:this.conn.from,connToId:this.conn.to,offset:this.dc.defOffset})},connStyle(){const n=this.dc,e=this.conn.style?{...this.conn.style}:{};e.stroke=this.conn.edgeColor||n.edgeColor||"#b1b1b7",void 0!==this.conn.edgeWidth?e.strokeWidth=this.conn.edgeWidth:void 0!==n.edgeWidth&&(e.strokeWidth=n.edgeWidth);let t=void 0!==this.conn.edgeDasharray?this.conn.edgeDasharray:n.edgeDasharray;return t&&(e.strokeDasharray=t),e},markerStartUrl(){return this.getMarkerUrl(this.conn.markerStart)},markerEndUrl(){return this.getMarkerUrl(this.conn.markerEnd)},labelStyle(){const n=this.dc,e={},t=this.conn.fontSize||n.fontSize,o=this.conn.fontColor||n.fontColor;return t&&(e.fontSize=t+"px"),o&&(e.color=o),e}},methods:{getMarkerUrl(n){if(!n)return null;const e="string"==typeof n?{type:n}:n,t=e.color||"#b1b1b7";return`url(#vue-flow__${e.type}_${t.replace("#","")})`},onGroupMouseEnter(n){this.hovered=!0,this.$emit("conn-mouseenter",{conn:this.conn,event:n})},onGroupMouseLeave(n){this.hovered=!1,this.$emit("conn-mouseleave",{conn:this.conn,event:n})},onClick(n){this.$emit("conn-click",{conn:this.conn,event:n})},onDoubleClick(n){this.$emit("conn-double-click",{conn:this.conn,event:n})},onContextMenu(n){this.$emit("conn-context-menu",{conn:this.conn,event:n})},onLabelMouseDown(n){this.infoPopupShow=!1;const e=n.clientX,t=n.clientY,o=n=>{(Math.abs(n.clientX-e)>2||Math.abs(n.clientY-t)>2)&&(this.infoPopupEditable=!1,document.removeEventListener("mousemove",o))},r=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",r),this.infoPopupEditable||setTimeout(()=>{this.infoPopupEditable=!0},0)};document.addEventListener("mousemove",o),document.addEventListener("mouseup",r)},onSettingsUpdate(n,e){this.$emit("conn-settings-update",{conn:this.conn,key:n,value:e})},onSettingsDelete(){this.$emit("conn-settings-delete",{conn:this.conn})}}};const Pp=Bp;var Tp=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("g",{class:n.classes,attrs:{"data-id":n.conn.id},on:{mouseenter:n.onGroupMouseEnter,mouseleave:n.onGroupMouseLeave}},[t("rect",{attrs:{x:n.pathData.labelX-60,y:n.pathData.labelY-18,width:"120",height:"36",fill:"transparent","pointer-events":"all"},on:{click:function(e){return e.stopPropagation(),n.onClick.apply(null,arguments)}}}),n._v(" "),t("path",{staticClass:"vue-flow__edge-interaction",attrs:{d:n.pathData.path},on:{click:function(e){return e.stopPropagation(),n.onClick.apply(null,arguments)},dblclick:function(e){return e.stopPropagation(),n.onDoubleClick.apply(null,arguments)},contextmenu:function(e){return e.stopPropagation(),n.onContextMenu.apply(null,arguments)}}}),n._v(" "),t("path",{style:n.connStyle,attrs:{d:n.pathData.path,"marker-start":n.markerStartUrl,"marker-end":n.markerEndUrl}}),n._v(" "),t("foreignObject",{staticStyle:{overflow:"visible","pointer-events":"none"},attrs:{x:n.pathData.labelX-100,y:n.pathData.labelY-18,width:"200",height:"36"}},[t("div",{staticClass:"vue-flow__edge-label-area",attrs:{xmlns:"http://www.w3.org/1999/xhtml"}},[t("span",{staticClass:"vue-flow__edge-label-group"},[n.conn.name?t("WPopup",{attrs:{placement:"bottom",modeHide:"mousedown",editable:n.infoPopupEditable,minWidth:null,maxWidth:null,autoFitMinWidth:!1,autoFitMaxWidth:!1,backgroundColor:n.inforPopupBackgroundColor,textFontSize:n.inforPopupTitleTextFontSize,paddingStyle:{v:8,h:12},cmpZIndex:1e4},scopedSlots:n._u([{key:"trigger",fn:function(){return[t("span",{staticClass:"vue-flow__edge-label",style:n.labelStyle,on:{mousedown:n.onLabelMouseDown}},[n._v(n._s(n.conn.name))])]},proxy:!0},{key:"content",fn:function(){return[n._t("conn-popup",function(){return[n.conn.name||n.conn.description?t("div",{staticStyle:{"min-width":"120px"}},[n.conn.name?t("div",{style:{fontSize:n.inforPopupTitleTextFontSize,color:n.inforPopupTitleTextColor,fontWeight:500}},[n._v(n._s(n.conn.name))]):n._e(),n._v(" "),n.conn.description?t("div",{style:{fontSize:n.inforPopupDescriptionTextFontSize,color:n.inforPopupDescriptionTextColor,marginTop:"4px"}},[n._v(n._s(n.conn.description))]):n._e()]):n._e()]},{conn:n.conn})]},proxy:!0}],null,!0),model:{value:n.infoPopupShow,callback:function(e){n.infoPopupShow=e},expression:"infoPopupShow"}}):n._e(),n._v(" "),t("transition",{attrs:{name:"vue-flow__fade"}},[(n.hovered||n.settingsPopupShow)&&n.interactive&&!n.locked?t("span",{staticClass:"vue-flow__edge-settings-anchor"},[t("WPopup",{attrs:{placement:"right-start",modeHide:"mousedown",minWidth:null,maxWidth:null,autoFitMinWidth:!1,autoFitMaxWidth:!1,backgroundColor:n.settingsPopupBackgroundColor,textColor:n.settingsPopupTextColor,paddingStyle:{v:8,h:8},cmpZIndex:1e4},on:{show:function(e){return n.$emit("conn-settings-click",{conn:n.conn})}},scopedSlots:n._u([{key:"trigger",fn:function(){return[t("span",{staticClass:"vue-flow__edge-settings",on:{mousedown:function(n){n.stopPropagation()}}},[t("svg",{attrs:{viewBox:"0 0 20 20",width:"14",height:"14",fill:"currentColor"}},[t("path",{attrs:{d:"M11.078 0l.294 1.833a7.587 7.587 0 0 1 2.174 1.25l1.725-.618 1.078 1.87-1.43 1.217a7.508 7.508 0 0 1 0 2.498l1.43 1.217-1.078 1.87-1.725-.618a7.587 7.587 0 0 1-2.174 1.25L11.078 14H8.922l-.294-1.833a7.587 7.587 0 0 1-2.174-1.25l-1.725.618-1.078-1.87 1.43-1.217a7.508 7.508 0 0 1 0-2.498L3.65 4.733l1.078-1.87 1.725.618a7.587 7.587 0 0 1 2.174-1.25L8.922 0h2.156zM10 4.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z",transform:"translate(0 3)"}})])])]},proxy:!0},{key:"content",fn:function(){return[t("ConnSettingsForm",{attrs:{conn:n.conn,"def-conn":n.dc,"text-font-size":n.settingsPopupTextFontSize},on:{update:n.onSettingsUpdate,delete:n.onSettingsDelete}})]},proxy:!0}],null,!1,4113598279),model:{value:n.settingsPopupShow,callback:function(e){n.settingsPopupShow=e},expression:"settingsPopupShow"}})],1):n._e()])],1)])])])};Tp._withStripped=!0;const zp=Ur({render:Tp,staticRenderFns:[]},function(n){n&&n("data-v-00fef5cb_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* Only target direct-child paths (edge paths), not SVG paths inside settings icon */\n.vue-flow__edge > path[data-v-00fef5cb] {\n stroke: #b1b1b7;\n stroke-width: 1;\n fill: none;\n pointer-events: none;\n transition: stroke 0.3s ease, filter 0.18s ease;\n}\n.vue-flow__edge-interaction[data-v-00fef5cb] {\n stroke: transparent !important;\n stroke-width: 20 !important;\n fill: none;\n pointer-events: stroke !important;\n cursor: pointer;\n}\n.vue-flow__edge:hover > path[data-v-00fef5cb] {\n stroke: #555;\n}\n.vue-flow__edge--selected > path[data-v-00fef5cb],\n.vue-flow__edge--selected:hover > path[data-v-00fef5cb] {\n filter: drop-shadow(0 0 2px rgba(220, 38, 38, 0.8)) drop-shadow(0 0 4px rgba(220, 38, 38, 0.5)) drop-shadow(0 0 6px rgba(220, 38, 38, 0.25));\n}\n.vue-flow__edge--animated > path[data-v-00fef5cb]:not(.vue-flow__edge-interaction) {\n stroke-dasharray: 5;\n animation: vue-flow-dash-data-v-00fef5cb 0.5s linear infinite;\n}\n@keyframes vue-flow-dash-data-v-00fef5cb {\nto { stroke-dashoffset: -10;\n}\n}\n.vue-flow__edge-label-area[data-v-00fef5cb] {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n.vue-flow__edge-label-group[data-v-00fef5cb] {\n position: relative;\n display: inline-flex;\n align-items: center;\n pointer-events: all;\n}\n.vue-flow__edge-label[data-v-00fef5cb] {\n pointer-events: all;\n cursor: pointer;\n font-family: 'Microsoft JhengHei', '微軟正黑體', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n font-size: 10px;\n background: #fff;\n padding: 2px 4px;\n border-radius: 2px;\n white-space: nowrap;\n user-select: none;\n text-align: center;\n display: inline-block;\n}\n.vue-flow__edge-settings-anchor[data-v-00fef5cb] {\n position: absolute;\n top: -8px;\n right: -8px;\n z-index: 2;\n pointer-events: all;\n}\n.vue-flow__edge-settings[data-v-00fef5cb] {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #fff;\n border: 1px solid #ccc;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: #888;\n pointer-events: all;\n transition: border-color 0.15s ease, background 0.15s ease;\n}\n.vue-flow__edge-settings[data-v-00fef5cb]:hover {\n border-color: #666;\n background: #f0f0f0;\n color: #333;\n}\n/* Fade transition for settings icon */\n.vue-flow__fade-enter-active[data-v-00fef5cb],\n.vue-flow__fade-leave-active[data-v-00fef5cb] {\n transition: opacity 0.15s ease;\n}\n.vue-flow__fade-enter[data-v-00fef5cb],\n.vue-flow__fade-leave-to[data-v-00fef5cb] {\n opacity: 0;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\edges\\EdgeWrapper.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+RA,oFAAA;AACA;EACA,eAAA;EACA,eAAA;EACA,UAAA;EACA,oBAAA;EACA,+CAAA;AACA;AACA;EACA,8BAAA;EACA,2BAAA;EACA,UAAA;EACA,iCAAA;EACA,eAAA;AACA;AACA;EACA,YAAA;AACA;AACA;;EAEA,4IAAA;AACA;AACA;EACA,mBAAA;EACA,6DAAA;AACA;AACA;AACA,KAAA,sBAAA;AAAA;AACA;AACA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,WAAA;EACA,YAAA;EACA,oBAAA;AACA;AACA;EACA,kBAAA;EACA,oBAAA;EACA,mBAAA;EACA,mBAAA;AACA;AACA;EACA,mBAAA;EACA,eAAA;EACA,6GAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;EACA,kBAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,qBAAA;AACA;AACA;EACA,kBAAA;EACA,SAAA;EACA,WAAA;EACA,UAAA;EACA,mBAAA;AACA;AACA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,gBAAA;EACA,sBAAA;EACA,oBAAA;EACA,mBAAA;EACA,uBAAA;EACA,eAAA;EACA,WAAA;EACA,mBAAA;EACA,0DAAA;AACA;AACA;EACA,kBAAA;EACA,mBAAA;EACA,WAAA;AACA;AACA,sCAAA;AACA;;EAEA,8BAAA;AACA;AACA;;EAEA,UAAA;AACA",file:"EdgeWrapper.vue",sourcesContent:['<template>\n <g\n :class="classes"\n :data-id="conn.id"\n @mouseenter="onGroupMouseEnter"\n @mouseleave="onGroupMouseLeave"\n >\n \x3c!-- Hover zone around label + settings icon area (below interaction path in z-order) --\x3e\n <rect\n :x="pathData.labelX - 60"\n :y="pathData.labelY - 18"\n width="120"\n height="36"\n fill="transparent"\n pointer-events="all"\n @click.stop="onClick"\n />\n \x3c!-- Interaction path (wider, invisible) --\x3e\n <path\n :d="pathData.path"\n class="vue-flow__edge-interaction"\n @click.stop="onClick"\n @dblclick.stop="onDoubleClick"\n @contextmenu.stop="onContextMenu"\n />\n \x3c!-- Visible path --\x3e\n <path\n :d="pathData.path"\n :style="connStyle"\n :marker-start="markerStartUrl"\n :marker-end="markerEndUrl"\n />\n \x3c!-- Label + Settings icon (merged into one foreignObject for correct relative positioning) --\x3e\n <foreignObject\n :x="pathData.labelX - 100"\n :y="pathData.labelY - 18"\n width="200"\n height="36"\n style="overflow: visible; pointer-events: none;"\n >\n <div class="vue-flow__edge-label-area" xmlns="http://www.w3.org/1999/xhtml">\n <span class="vue-flow__edge-label-group">\n <WPopup\n v-if="conn.name"\n v-model="infoPopupShow"\n placement="bottom"\n modeHide="mousedown"\n :editable="infoPopupEditable"\n :minWidth="null"\n :maxWidth="null"\n :autoFitMinWidth="false"\n :autoFitMaxWidth="false"\n :backgroundColor="inforPopupBackgroundColor"\n :textFontSize="inforPopupTitleTextFontSize"\n :paddingStyle="{v:8,h:12}"\n :cmpZIndex="10000"\n >\n <template v-slot:trigger>\n <span class="vue-flow__edge-label" :style="labelStyle" @mousedown="onLabelMouseDown">{{ conn.name }}</span>\n </template>\n <template v-slot:content>\n <slot name="conn-popup" :conn="conn">\n <div v-if="conn.name || conn.description" style="min-width:120px">\n <div v-if="conn.name" :style="{ fontSize: inforPopupTitleTextFontSize, color: inforPopupTitleTextColor, fontWeight: 500 }">{{ conn.name }}</div>\n <div v-if="conn.description" :style="{ fontSize: inforPopupDescriptionTextFontSize, color: inforPopupDescriptionTextColor, marginTop: \'4px\' }">{{ conn.description }}</div>\n </div>\n </slot>\n </template>\n </WPopup>\n <transition name="vue-flow__fade">\n <span v-if="(hovered || settingsPopupShow) && interactive && !locked" class="vue-flow__edge-settings-anchor">\n <WPopup\n v-model="settingsPopupShow"\n placement="right-start"\n modeHide="mousedown"\n :minWidth="null"\n :maxWidth="null"\n :autoFitMinWidth="false"\n :autoFitMaxWidth="false"\n :backgroundColor="settingsPopupBackgroundColor"\n :textColor="settingsPopupTextColor"\n :paddingStyle="{v:8,h:8}"\n :cmpZIndex="10000"\n @show="$emit(\'conn-settings-click\', { conn: conn })"\n >\n <template v-slot:trigger>\n <span class="vue-flow__edge-settings" @mousedown.stop>\n <svg viewBox="0 0 20 20" width="14" height="14" fill="currentColor">\n <path d="M11.078 0l.294 1.833a7.587 7.587 0 0 1 2.174 1.25l1.725-.618 1.078 1.87-1.43 1.217a7.508 7.508 0 0 1 0 2.498l1.43 1.217-1.078 1.87-1.725-.618a7.587 7.587 0 0 1-2.174 1.25L11.078 14H8.922l-.294-1.833a7.587 7.587 0 0 1-2.174-1.25l-1.725.618-1.078-1.87 1.43-1.217a7.508 7.508 0 0 1 0-2.498L3.65 4.733l1.078-1.87 1.725.618a7.587 7.587 0 0 1 2.174-1.25L8.922 0h2.156zM10 4.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z" transform="translate(0 3)"/>\n </svg>\n </span>\n </template>\n <template v-slot:content>\n <ConnSettingsForm\n :conn="conn"\n :def-conn="dc"\n :text-font-size="settingsPopupTextFontSize"\n @update="onSettingsUpdate"\n @delete="onSettingsDelete"\n />\n </template>\n </WPopup>\n </span>\n </transition>\n </span>\n </div>\n </foreignObject>\n </g>\n</template>\n\n<script>\nimport { getBezierPath, getStraightPath, getStepPath, getSmoothStepPath } from \'../../js/edge-path\'\nimport ConnSettingsForm from \'../ui/ConnSettingsForm.vue\'\nimport WPopup from \'w-component-vue/src/components/WPopup.vue\'\n\n// Wrapper that forces HTML namespace for children inside SVG foreignObject.\n// Fixes Vue 2 bug: components inside foreignObject inherit SVG namespace\n// from context.$vnode.ns, causing all child elements to be created as\n// SVGElement instead of HTMLElement.\nconst pathFunctions = {\n bezier: getBezierPath,\n straight: getStraightPath,\n step: getStepPath,\n smoothstep: getSmoothStepPath,\n}\n\nexport default {\n name: \'EdgeWrapper\',\n components: { ConnSettingsForm, WPopup },\n inject: { getDefConn: { default: () => () => ({}) } },\n props: {\n conn: { type: Object, required: true },\n sourceX: { type: Number, required: true },\n sourceY: { type: Number, required: true },\n sourcePosition: { type: String, default: \'bottom\' },\n targetX: { type: Number, required: true },\n targetY: { type: Number, required: true },\n targetPosition: { type: String, default: \'top\' },\n selected: { type: Boolean, default: false },\n interactive: { type: Boolean, default: true },\n locked: { type: Boolean, default: false },\n settingsPopupBackgroundColor: { type: String, default: \'#fff\' },\n settingsPopupTextColor: { type: String, default: \'#333\' },\n settingsPopupTextFontSize: { type: String, default: \'12px\' },\n inforPopupBackgroundColor: { type: String, default: \'#fff\' },\n inforPopupTitleTextColor: { type: String, default: \'#333\' },\n inforPopupTitleTextFontSize: { type: String, default: \'12px\' },\n inforPopupDescriptionTextColor: { type: String, default: \'#888\' },\n inforPopupDescriptionTextFontSize: { type: String, default: \'10px\' },\n allNodes: { type: Array, default: () => [] },\n nodeInternals: { type: Object, default: () => ({}) },\n },\n data() {\n return {\n hovered: false,\n infoPopupShow: false,\n infoPopupEditable: true,\n settingsPopupShow: false,\n }\n },\n watch: {\n settingsPopupShow(val) {\n if (val) this.infoPopupShow = false\n },\n infoPopupShow(val) {\n if (val) this.settingsPopupShow = false\n },\n },\n computed: {\n dc() {\n return this.getDefConn()\n },\n classes() {\n const connClasses = this.conn.class\n ? (Array.isArray(this.conn.class) ? this.conn.class : [this.conn.class])\n : []\n return [\n \'vue-flow__edge\',\n `vue-flow__edge-${this.conn.type || this.dc.type || \'bezier\'}`,\n ...connClasses,\n {\n \'vue-flow__edge--selected\': this.selected,\n \'vue-flow__edge--animated\': this.conn.animated,\n },\n ]\n },\n pathData() {\n const type = this.conn.type || this.dc.type || \'bezier\'\n const fn = pathFunctions[type] || pathFunctions.bezier\n return fn({\n sourceX: this.sourceX,\n sourceY: this.sourceY,\n sourcePosition: this.sourcePosition,\n targetX: this.targetX,\n targetY: this.targetY,\n targetPosition: this.targetPosition,\n curvature: this.conn.curvature,\n allNodes: this.allNodes,\n nodeInternals: this.nodeInternals,\n connFromId: this.conn.from,\n connToId: this.conn.to,\n offset: this.dc.defOffset,\n })\n },\n connStyle() {\n const d = this.dc\n const base = this.conn.style ? { ...this.conn.style } : {}\n base.stroke = this.conn.edgeColor || d.edgeColor || \'#b1b1b7\'\n if (this.conn.edgeWidth !== undefined) base.strokeWidth = this.conn.edgeWidth\n else if (d.edgeWidth !== undefined) base.strokeWidth = d.edgeWidth\n let dash = this.conn.edgeDasharray !== undefined ? this.conn.edgeDasharray : d.edgeDasharray\n if (dash) base.strokeDasharray = dash\n return base\n },\n markerStartUrl() {\n return this.getMarkerUrl(this.conn.markerStart)\n },\n markerEndUrl() {\n return this.getMarkerUrl(this.conn.markerEnd)\n },\n labelStyle() {\n const d = this.dc\n const s = {}\n const fontSize = this.conn.fontSize || d.fontSize\n const fontColor = this.conn.fontColor || d.fontColor\n if (fontSize) s.fontSize = fontSize + \'px\'\n if (fontColor) s.color = fontColor\n return s\n },\n },\n methods: {\n getMarkerUrl(marker) {\n if (!marker) return null\n const config = typeof marker === \'string\' ? { type: marker } : marker\n const color = config.color || \'#b1b1b7\'\n return `url(#vue-flow__${config.type}_${color.replace(\'#\', \'\')})`\n },\n onGroupMouseEnter(event) {\n this.hovered = true\n this.$emit(\'conn-mouseenter\', { conn: this.conn, event })\n },\n onGroupMouseLeave(event) {\n this.hovered = false\n this.$emit(\'conn-mouseleave\', { conn: this.conn, event })\n },\n onClick(event) {\n this.$emit(\'conn-click\', { conn: this.conn, event })\n },\n onDoubleClick(event) {\n this.$emit(\'conn-double-click\', { conn: this.conn, event })\n },\n onContextMenu(event) {\n this.$emit(\'conn-context-menu\', { conn: this.conn, event })\n },\n onLabelMouseDown(event) {\n this.infoPopupShow = false\n const startX = event.clientX\n const startY = event.clientY\n const onMove = (e) => {\n if (Math.abs(e.clientX - startX) > 2 || Math.abs(e.clientY - startY) > 2) {\n this.infoPopupEditable = false\n document.removeEventListener(\'mousemove\', onMove)\n }\n }\n const onUp = () => {\n document.removeEventListener(\'mousemove\', onMove)\n document.removeEventListener(\'mouseup\', onUp)\n if (!this.infoPopupEditable) {\n setTimeout(() => {\n this.infoPopupEditable = true\n }, 0)\n }\n }\n document.addEventListener(\'mousemove\', onMove)\n document.addEventListener(\'mouseup\', onUp)\n },\n onSettingsUpdate(key, value) {\n this.$emit(\'conn-settings-update\', { conn: this.conn, key, value })\n },\n onSettingsDelete() {\n this.$emit(\'conn-settings-delete\', { conn: this.conn })\n },\n },\n}\n<\/script>\n\n<style scoped>\n/* Only target direct-child paths (edge paths), not SVG paths inside settings icon */\n.vue-flow__edge > path {\n stroke: #b1b1b7;\n stroke-width: 1;\n fill: none;\n pointer-events: none;\n transition: stroke 0.3s ease, filter 0.18s ease;\n}\n.vue-flow__edge-interaction {\n stroke: transparent !important;\n stroke-width: 20 !important;\n fill: none;\n pointer-events: stroke !important;\n cursor: pointer;\n}\n.vue-flow__edge:hover > path {\n stroke: #555;\n}\n.vue-flow__edge--selected > path,\n.vue-flow__edge--selected:hover > path {\n filter: drop-shadow(0 0 2px rgba(220, 38, 38, 0.8)) drop-shadow(0 0 4px rgba(220, 38, 38, 0.5)) drop-shadow(0 0 6px rgba(220, 38, 38, 0.25));\n}\n.vue-flow__edge--animated > path:not(.vue-flow__edge-interaction) {\n stroke-dasharray: 5;\n animation: vue-flow-dash 0.5s linear infinite;\n}\n@keyframes vue-flow-dash {\n to { stroke-dashoffset: -10; }\n}\n.vue-flow__edge-label-area {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n.vue-flow__edge-label-group {\n position: relative;\n display: inline-flex;\n align-items: center;\n pointer-events: all;\n}\n.vue-flow__edge-label {\n pointer-events: all;\n cursor: pointer;\n font-family: \'Microsoft JhengHei\', \'微軟正黑體\', -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, sans-serif;\n font-size: 10px;\n background: #fff;\n padding: 2px 4px;\n border-radius: 2px;\n white-space: nowrap;\n user-select: none;\n text-align: center;\n display: inline-block;\n}\n.vue-flow__edge-settings-anchor {\n position: absolute;\n top: -8px;\n right: -8px;\n z-index: 2;\n pointer-events: all;\n}\n.vue-flow__edge-settings {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #fff;\n border: 1px solid #ccc;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: #888;\n pointer-events: all;\n transition: border-color 0.15s ease, background 0.15s ease;\n}\n.vue-flow__edge-settings:hover {\n border-color: #666;\n background: #f0f0f0;\n color: #333;\n}\n/* Fade transition for settings icon */\n.vue-flow__fade-enter-active,\n.vue-flow__fade-leave-active {\n transition: opacity 0.15s ease;\n}\n.vue-flow__fade-enter,\n.vue-flow__fade-leave-to {\n opacity: 0;\n}\n</style>\n']},media:void 0})},Pp,"data-v-00fef5cb",false,void 0,!1,Gr,void 0,void 0);var Ep={name:"EdgeMarkerDefs",props:{conns:{type:Array,default:()=>[]}},computed:{markers(){const n=new Map;return this.conns.forEach(e=>{this.collectMarker(e.markerStart,n),this.collectMarker(e.markerEnd,n)}),Array.from(n.values())}},methods:{collectMarker(n,e){if(!n)return;const t="string"==typeof n?{type:n}:n,o=t.color||"#b1b1b7",r=this.getMarkerId(t);e.has(r)||("arrowclosed"===t.type?e.set(r,{id:r,viewBox:"0 0 12.5 12.5",path:"M 0 0 L 10 5 L 0 10 z",fill:o,stroke:o}):e.set(r,{id:r,viewBox:"0 0 12.5 12.5",path:"M 0 0 L 10 5 L 0 10",fill:"none",stroke:o}))},getMarkerId:n=>`vue-flow__${"string"==typeof n?n:n.type}_${("object"==typeof n&&n.color||"#b1b1b7").replace("#","")}`}};const Fp=Ep;var Ip=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("defs",n._l(n.markers,function(n){return t("marker",{key:n.id,attrs:{id:n.id,markerWidth:"12.5",markerHeight:"12.5",viewBox:n.viewBox,refX:"10",refY:"5",orient:"auto-start-reverse",markerUnits:"strokeWidth"}},[t("path",{attrs:{d:n.path,fill:n.fill,stroke:n.stroke,"stroke-width":"1"}})])}),0)};Ip._withStripped=!0;function Hp(n,e,t,o){const r=t||{},i=r.width||n.width||150,a=r.height||n.height||40,l=n.position.x,s=n.position.y,d="diamond"===n.shape,u="ellipse"===n.shape,c=n.shape,p="triangle"===c||"triangle-right"===c||"triangle-down"===c||"triangle-left"===c,f="basic"===n.type&&(n.toPosition||"bottom")===(n.fromPosition||"top");let h=.5;if(f&&"target"===o&&(h=.33),f&&"source"===o&&(h=.67),d&&f)return function(n,e,t,o,r,i){let a=t/2,l=o/2;switch(r){case"top":if(i<=.5){let t=2*i;return{x:n+t*a,y:e+l-t*l}}{let t=2*(i-.5);return{x:n+a+t*a,y:e+t*l}}case"bottom":if(i<=.5){let t=2*i;return{x:n+t*a,y:e+l+t*l}}{let t=2*(i-.5);return{x:n+a+t*a,y:e+o-t*l}}case"left":if(i<=.5){let t=2*i;return{x:n+a-t*a,y:e+t*l}}{let t=2*(i-.5);return{x:n+t*a,y:e+l+t*l}}case"right":if(i<=.5){let t=2*i;return{x:n+a+t*a,y:e+t*l}}{let o=2*(i-.5);return{x:n+t-o*a,y:e+l+o*l}}default:return{x:n+a,y:e+o}}}(l,s,i,a,e,h);if(u)return function(n,e,t,o,r,i){let a,l=n+t/2,s=e+o/2,d=t/2,u=o/2;switch(r){case"top":a=Math.PI*(1-i);break;case"bottom":a=Math.PI*(i-1);break;case"left":a=Math.PI*(.5+i);break;case"right":a=Math.PI*(.5-i);break;default:a=0}return{x:l+d*Math.cos(a),y:s-u*Math.sin(a)}}(l,s,i,a,e,h);if(p)return function(n,e,t,o,r,i,a){let l,s,d,u,c,p,f;"triangle-right"===a?(l={x:n+t,y:e+o/2},s={x:n,y:e},d={x:n,y:e+o},u="right",c="left",p="top",f="bottom"):"triangle-down"===a?(l={x:n+t/2,y:e+o},s={x:n,y:e},d={x:n+t,y:e},u="bottom",c="top",p="left",f="right"):"triangle-left"===a?(l={x:n,y:e+o/2},s={x:n+t,y:e},d={x:n+t,y:e+o},u="left",c="right",p="top",f="bottom"):(l={x:n+t/2,y:e},s={x:n,y:e+o},d={x:n+t,y:e+o},u="top",c="bottom",p="left",f="right");if(r===u){if(i<=.5){let n=2*i;return{x:s.x+(l.x-s.x)*n,y:s.y+(l.y-s.y)*n}}{let n=2*(i-.5);return{x:l.x+(d.x-l.x)*n,y:l.y+(d.y-l.y)*n}}}if(r===c)return{x:s.x+(d.x-s.x)*i,y:s.y+(d.y-s.y)*i};if(r===p)return{x:l.x+(s.x-l.x)*i,y:l.y+(s.y-l.y)*i};if(r===f)return{x:l.x+(d.x-l.x)*i,y:l.y+(d.y-l.y)*i};return{x:n+t/2,y:e+o/2}}(l,s,i,a,e,h,c);switch(e){case"top":return{x:l+i*h,y:s};case"bottom":return{x:l+i*h,y:s+a};case"left":return{x:l,y:s+a*h};case"right":return{x:l+i,y:s+a*h};default:return{x:l+i/2,y:s+a}}}function Np(n,e){return e?{x:Math.round(n.x/e)*e,y:Math.round(n.y/e)*e}:n}var Wp={name:"EdgeRenderer",components:{EdgeWrapper:zp,EdgeMarkerDefs:Ur({render:Ip,staticRenderFns:[]},void 0,Fp,void 0,false,void 0,!1,void 0,void 0,void 0)},props:{conns:{type:Array,default:()=>[]},nodes:{type:Array,default:()=>[]},nodeInternals:{type:Object,default:()=>({})},selectedConnIds:{type:Array,default:()=>[]},interactive:{type:Boolean,default:!0},locked:{type:Boolean,default:!1},settingsPopupBackgroundColor:{type:String,default:"#fff"},settingsPopupTextColor:{type:String,default:"#333"},settingsPopupTextFontSize:{type:String,default:"12px"},inforPopupBackgroundColor:{type:String,default:"#fff"},inforPopupTitleTextColor:{type:String,default:"#333"},inforPopupTitleTextFontSize:{type:String,default:"12px"},inforPopupDescriptionTextColor:{type:String,default:"#888"},inforPopupDescriptionTextFontSize:{type:String,default:"10px"}},computed:{visibleConns(){const n=new Set(this.nodes.filter(n=>!n.hidden).map(n=>n.id));return this.conns.filter(e=>!e.hidden&&n.has(e.from)&&n.has(e.to))},nodeMap(){const n={};return this.nodes.forEach(e=>{n[e.id]=e}),n}},methods:{getFromPos(n){const e=this.nodeMap[n.from];if(!e)return{x:0,y:0};return Hp(e,e.toPosition||"bottom",this.nodeInternals[e.id]||{},"source")},getToPos(n){const e=this.nodeMap[n.to];if(!e)return{x:0,y:0};return Hp(e,e.fromPosition||"top",this.nodeInternals[e.id]||{},"target")},getFromHandlePosition(n){const e=this.nodeMap[n.from];return e&&e.toPosition||"bottom"},getToHandlePosition(n){const e=this.nodeMap[n.to];return e&&e.fromPosition||"top"},isSelected(n){return this.selectedConnIds.includes(n)}}};const $p=Wp;var Mp=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("svg",{staticClass:"vue-flow__edges"},[t("EdgeMarkerDefs",{attrs:{conns:n.conns}}),n._v(" "),n._l(n.visibleConns,function(e){return t("EdgeWrapper",{key:e.id,attrs:{conn:e,"source-x":n.getFromPos(e).x,"source-y":n.getFromPos(e).y,"source-position":n.getFromHandlePosition(e),"target-x":n.getToPos(e).x,"target-y":n.getToPos(e).y,"target-position":n.getToHandlePosition(e),selected:n.isSelected(e.id),"all-nodes":n.nodes,"node-internals":n.nodeInternals,interactive:n.interactive,locked:n.locked,"settings-popup-background-color":n.settingsPopupBackgroundColor,"settings-popup-text-color":n.settingsPopupTextColor,"settings-popup-text-font-size":n.settingsPopupTextFontSize,"infor-popup-background-color":n.inforPopupBackgroundColor,"infor-popup-title-text-color":n.inforPopupTitleTextColor,"infor-popup-title-text-font-size":n.inforPopupTitleTextFontSize,"infor-popup-description-text-color":n.inforPopupDescriptionTextColor,"infor-popup-description-text-font-size":n.inforPopupDescriptionTextFontSize},on:{"conn-click":function(e){return n.$emit("conn-click",e)},"conn-double-click":function(e){return n.$emit("conn-double-click",e)},"conn-context-menu":function(e){return n.$emit("conn-context-menu",e)},"conn-mouseenter":function(e){return n.$emit("conn-mouseenter",e)},"conn-mouseleave":function(e){return n.$emit("conn-mouseleave",e)},"conn-settings-click":function(e){return n.$emit("conn-settings-click",e)},"conn-settings-update":function(e){return n.$emit("conn-settings-update",e)},"conn-settings-delete":function(e){return n.$emit("conn-settings-delete",e)}},scopedSlots:n._u([n.$scopedSlots["conn-popup"]?{key:"conn-popup",fn:function(e){return[n._t("conn-popup",null,null,e)]}}:null],null,!0)})})],2)};Mp._withStripped=!0;const Dp=Ur({render:Mp,staticRenderFns:[]},function(n){n&&n("data-v-6facbf85_0",{source:"\n.vue-flow__edges[data-v-6facbf85] {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: visible;\n pointer-events: none;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\edges\\EdgeRenderer.vue"],names:[],mappings:";AA8GA;EACA,kBAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,oBAAA;AACA",file:"EdgeRenderer.vue",sourcesContent:['<template>\n <svg class="vue-flow__edges">\n <EdgeMarkerDefs :conns="conns" />\n <EdgeWrapper\n v-for="conn in visibleConns"\n :key="conn.id"\n :conn="conn"\n :source-x="getFromPos(conn).x"\n :source-y="getFromPos(conn).y"\n :source-position="getFromHandlePosition(conn)"\n :target-x="getToPos(conn).x"\n :target-y="getToPos(conn).y"\n :target-position="getToHandlePosition(conn)"\n :selected="isSelected(conn.id)"\n :all-nodes="nodes"\n :node-internals="nodeInternals"\n :interactive="interactive"\n :locked="locked"\n :settings-popup-background-color="settingsPopupBackgroundColor"\n :settings-popup-text-color="settingsPopupTextColor"\n :settings-popup-text-font-size="settingsPopupTextFontSize"\n :infor-popup-background-color="inforPopupBackgroundColor"\n :infor-popup-title-text-color="inforPopupTitleTextColor"\n :infor-popup-title-text-font-size="inforPopupTitleTextFontSize"\n :infor-popup-description-text-color="inforPopupDescriptionTextColor"\n :infor-popup-description-text-font-size="inforPopupDescriptionTextFontSize"\n @conn-click="$emit(\'conn-click\', $event)"\n @conn-double-click="$emit(\'conn-double-click\', $event)"\n @conn-context-menu="$emit(\'conn-context-menu\', $event)"\n @conn-mouseenter="$emit(\'conn-mouseenter\', $event)"\n @conn-mouseleave="$emit(\'conn-mouseleave\', $event)"\n @conn-settings-click="$emit(\'conn-settings-click\', $event)"\n @conn-settings-update="$emit(\'conn-settings-update\', $event)"\n @conn-settings-delete="$emit(\'conn-settings-delete\', $event)"\n >\n <template v-if="$scopedSlots[\'conn-popup\']" v-slot:conn-popup="scope">\n <slot name="conn-popup" v-bind="scope" />\n </template>\n </EdgeWrapper>\n </svg>\n</template>\n\n<script>\nimport EdgeWrapper from \'./EdgeWrapper.vue\'\nimport EdgeMarkerDefs from \'./EdgeMarkerDefs.vue\'\nimport { getHandlePosition } from \'../../js/geometry\'\n\nexport default {\n name: \'EdgeRenderer\', // lock support\n components: { EdgeWrapper, EdgeMarkerDefs },\n props: {\n conns: { type: Array, default: () => [] },\n nodes: { type: Array, default: () => [] },\n nodeInternals: { type: Object, default: () => ({}) },\n selectedConnIds: { type: Array, default: () => [] },\n interactive: { type: Boolean, default: true },\n locked: { type: Boolean, default: false },\n settingsPopupBackgroundColor: { type: String, default: \'#fff\' },\n settingsPopupTextColor: { type: String, default: \'#333\' },\n settingsPopupTextFontSize: { type: String, default: \'12px\' },\n inforPopupBackgroundColor: { type: String, default: \'#fff\' },\n inforPopupTitleTextColor: { type: String, default: \'#333\' },\n inforPopupTitleTextFontSize: { type: String, default: \'12px\' },\n inforPopupDescriptionTextColor: { type: String, default: \'#888\' },\n inforPopupDescriptionTextFontSize: { type: String, default: \'10px\' },\n },\n computed: {\n visibleConns() {\n const visibleNodeIds = new Set(this.nodes.filter(n => !n.hidden).map(n => n.id))\n return this.conns.filter(\n e => !e.hidden && visibleNodeIds.has(e.from) && visibleNodeIds.has(e.to)\n )\n },\n nodeMap() {\n const map = {}\n this.nodes.forEach(n => {\n map[n.id] = n\n })\n return map\n },\n },\n methods: {\n getFromPos(conn) {\n const node = this.nodeMap[conn.from]\n if (!node) return { x: 0, y: 0 }\n const pos = node.toPosition || \'bottom\'\n return getHandlePosition(node, pos, this.nodeInternals[node.id] || {}, \'source\')\n },\n getToPos(conn) {\n const node = this.nodeMap[conn.to]\n if (!node) return { x: 0, y: 0 }\n const pos = node.fromPosition || \'top\'\n return getHandlePosition(node, pos, this.nodeInternals[node.id] || {}, \'target\')\n },\n getFromHandlePosition(conn) {\n const node = this.nodeMap[conn.from]\n return (node && node.toPosition) || \'bottom\'\n },\n getToHandlePosition(conn) {\n const node = this.nodeMap[conn.to]\n return (node && node.fromPosition) || \'top\'\n },\n isSelected(id) {\n return this.selectedConnIds.includes(id)\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__edges {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: visible;\n pointer-events: none;\n}\n</style>\n']},media:void 0})},$p,"data-v-6facbf85",false,void 0,!1,Gr,void 0,void 0),Lp={bezier:Ap,straight:yp,step:Cp,smoothstep:xp};const jp={name:"ConnectionLine",props:{active:{type:Boolean,default:!1},sourceX:{type:Number,default:0},sourceY:{type:Number,default:0},sourcePosition:{type:String,default:"bottom"},targetX:{type:Number,default:0},targetY:{type:Number,default:0},type:{type:String,default:"bezier"},lineStyle:{type:Object,default:null}},computed:{pathD(){return(Lp[this.type]||Lp.bezier)({sourceX:this.sourceX,sourceY:this.sourceY,sourcePosition:this.sourcePosition,targetX:this.targetX,targetY:this.targetY,targetPosition:"top"}).path},computedLineStyle(){return this.lineStyle||{}}}};var Rp=function(){var n=this,e=n.$createElement,t=n._self._c||e;return n.active?t("svg",{staticClass:"vue-flow__connection-line"},[t("path",{staticClass:"vue-flow__connection-path",style:n.computedLineStyle,attrs:{d:n.pathD}})]):n._e()};Rp._withStripped=!0;const Op=Ur({render:Rp,staticRenderFns:[]},function(n){n&&n("data-v-5a3f0f1a_0",{source:"\n.vue-flow__connection-line[data-v-5a3f0f1a] {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: visible;\n pointer-events: none;\n}\n.vue-flow__connection-path[data-v-5a3f0f1a] {\n stroke: #b1b1b7;\n stroke-width: 1;\n stroke-dasharray: 5 5;\n fill: none;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\edges\\ConnectionLine.vue"],names:[],mappings:";AAiDA;EACA,kBAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,oBAAA;AACA;AACA;EACA,eAAA;EACA,eAAA;EACA,qBAAA;EACA,UAAA;AACA",file:"ConnectionLine.vue",sourcesContent:["<template>\n <svg v-if=\"active\" class=\"vue-flow__connection-line\">\n <path class=\"vue-flow__connection-path\" :d=\"pathD\" :style=\"computedLineStyle\" />\n </svg>\n</template>\n\n<script>\nimport { getBezierPath, getStraightPath, getStepPath, getSmoothStepPath } from '../../js/edge-path'\n\nconst pathFunctions = {\n bezier: getBezierPath,\n straight: getStraightPath,\n step: getStepPath,\n smoothstep: getSmoothStepPath,\n}\n\nexport default {\n name: 'ConnectionLine',\n props: {\n active: { type: Boolean, default: false },\n sourceX: { type: Number, default: 0 },\n sourceY: { type: Number, default: 0 },\n sourcePosition: { type: String, default: 'bottom' },\n targetX: { type: Number, default: 0 },\n targetY: { type: Number, default: 0 },\n type: { type: String, default: 'bezier' },\n lineStyle: { type: Object, default: null },\n },\n computed: {\n pathD() {\n const fn = pathFunctions[this.type] || pathFunctions.bezier\n const result = fn({\n sourceX: this.sourceX,\n sourceY: this.sourceY,\n sourcePosition: this.sourcePosition,\n targetX: this.targetX,\n targetY: this.targetY,\n targetPosition: 'top',\n })\n return result.path\n },\n computedLineStyle() {\n return this.lineStyle || {}\n },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__connection-line {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: visible;\n pointer-events: none;\n}\n.vue-flow__connection-path {\n stroke: #b1b1b7;\n stroke-width: 1;\n stroke-dasharray: 5 5;\n fill: none;\n}\n</style>\n"]},media:void 0})},jp,"data-v-5a3f0f1a",false,void 0,!1,Gr,void 0,void 0);const Vp={name:"FlowControls",props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},locked:{type:Boolean,default:!1},position:{type:String,default:"top-left"}}};var Yp=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{class:["vue-flow__controls","vue-flow__panel","vue-flow__panel--"+n.position]},[n.showZoom?[t("button",{attrs:{title:"Zoom In"},on:{click:function(e){return n.$emit("zoom-in")}}},[t("svg",{attrs:{viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M12 5v14M5 12h14",stroke:"currentColor","stroke-width":"2",fill:"none"}})])]),n._v(" "),t("button",{attrs:{title:"Zoom Out"},on:{click:function(e){return n.$emit("zoom-out")}}},[t("svg",{attrs:{viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M5 12h14",stroke:"currentColor","stroke-width":"2",fill:"none"}})])])]:n._e(),n._v(" "),n.showFitView?t("button",{attrs:{title:"Fit View"},on:{click:function(e){return n.$emit("fit-view")}}},[t("svg",{attrs:{viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M4 4h6v6H4zM14 4h6v6h-6zM4 14h6v6H4zM14 14h6v6h-6z",stroke:"currentColor","stroke-width":"1.5",fill:"none"}})])]):n._e(),n._v(" "),n.showInteractive?t("button",{attrs:{title:n.locked?"Unlock":"Lock"},on:{click:function(e){return n.$emit("toggle-interactive")}}},[n.locked?t("svg",{attrs:{viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M17 11H7a2 2 0 00-2 2v6a2 2 0 002 2h10a2 2 0 002-2v-6a2 2 0 00-2-2zM12 17a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM8 11V7a4 4 0 118 0v4",stroke:"currentColor","stroke-width":"1.5",fill:"none"}})]):t("svg",{attrs:{viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M17 11H7a2 2 0 00-2 2v6a2 2 0 002 2h10a2 2 0 002-2v-6a2 2 0 00-2-2zM12 17a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM16 11V7a4 4 0 10-8 0",stroke:"currentColor","stroke-width":"1.5",fill:"none"}})])]):n._e(),n._v(" "),n._t("default")],2)};Yp._withStripped=!0;let Up=0;const Xp={type:"basic",shape:"rectangle",width:100,height:40,fontSize:12,fontSizeMin:1,fontSizeMax:72,fontColor:"#333333",faceColor:"#ffffff",edgeColor:"#bbbbbb",edgeWidth:1,toPosition:"bottom",fromPosition:"top",popupDirection:"right"},Gp={type:"bezier",fontSize:10,fontSizeMin:1,fontSizeMax:72,fontColor:"#333333",edgeColor:"#b1b1b7",edgeWidth:1,markerEnd:"",animated:!1,defOffset:24};var Zp={components:{FlowCanvas:di,ViewportTransform:pi,BackgroundLayer:vi,SelectionBox:bi,NodeRenderer:ep,EdgeRenderer:Dp,ConnectionLine:Op,Controls:Ur({render:Yp,staticRenderFns:[]},function(n){n&&n("data-v-94acbd54_0",{source:"\n.vue-flow__controls[data-v-94acbd54] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n background: #fefefe;\n border-radius: 4px;\n overflow: hidden;\n}\n.vue-flow__controls button[data-v-94acbd54] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: none;\n background: #fefefe;\n cursor: pointer;\n padding: 4px;\n font-size: 14px;\n color: #333;\n}\n.vue-flow__controls button[data-v-94acbd54]:hover {\n background: #f0f0f0;\n}\n.vue-flow__panel[data-v-94acbd54] {\n position: absolute;\n z-index: 5;\n}\n.vue-flow__panel--top-left[data-v-94acbd54] { top: 10px; left: 10px;\n}\n.vue-flow__panel--top-right[data-v-94acbd54] { top: 10px; right: 10px;\n}\n.vue-flow__panel--bottom-left[data-v-94acbd54] { bottom: 10px; left: 10px;\n}\n.vue-flow__panel--bottom-right[data-v-94acbd54] { bottom: 10px; right: 10px;\n}\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\components\\ui\\Controls.vue"],names:[],mappings:";AAiDA;EACA,aAAA;EACA,sBAAA;EACA,QAAA;EACA,2CAAA;EACA,mBAAA;EACA,kBAAA;EACA,gBAAA;AACA;AACA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,WAAA;EACA,YAAA;EACA,YAAA;EACA,mBAAA;EACA,eAAA;EACA,YAAA;EACA,eAAA;EACA,WAAA;AACA;AACA;EACA,mBAAA;AACA;AACA;EACA,kBAAA;EACA,UAAA;AACA;AACA,8CAAA,SAAA,EAAA,UAAA;AAAA;AACA,+CAAA,SAAA,EAAA,WAAA;AAAA;AACA,iDAAA,YAAA,EAAA,UAAA;AAAA;AACA,kDAAA,YAAA,EAAA,WAAA;AAAA",file:"Controls.vue",sourcesContent:['<template>\n <div :class="[\'vue-flow__controls\', \'vue-flow__panel\', `vue-flow__panel--${position}`]">\n <template v-if="showZoom">\n <button\n title="Zoom In"\n @click="$emit(\'zoom-in\')"\n >\n <svg viewBox="0 0 24 24"><path d="M12 5v14M5 12h14" stroke="currentColor" stroke-width="2" fill="none"/></svg>\n </button>\n <button\n title="Zoom Out"\n @click="$emit(\'zoom-out\')"\n >\n <svg viewBox="0 0 24 24"><path d="M5 12h14" stroke="currentColor" stroke-width="2" fill="none"/></svg>\n </button>\n </template>\n <button\n v-if="showFitView"\n title="Fit View"\n @click="$emit(\'fit-view\')"\n >\n <svg viewBox="0 0 24 24"><path d="M4 4h6v6H4zM14 4h6v6h-6zM4 14h6v6H4zM14 14h6v6h-6z" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>\n </button>\n <button\n v-if="showInteractive"\n :title="locked ? \'Unlock\' : \'Lock\'"\n @click="$emit(\'toggle-interactive\')"\n >\n <svg v-if="locked" viewBox="0 0 24 24"><path d="M17 11H7a2 2 0 00-2 2v6a2 2 0 002 2h10a2 2 0 002-2v-6a2 2 0 00-2-2zM12 17a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM8 11V7a4 4 0 118 0v4" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>\n <svg v-else viewBox="0 0 24 24"><path d="M17 11H7a2 2 0 00-2 2v6a2 2 0 002 2h10a2 2 0 002-2v-6a2 2 0 00-2-2zM12 17a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM16 11V7a4 4 0 10-8 0" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>\n </button>\n <slot />\n </div>\n</template>\n\n<script>\nexport default {\n name: \'FlowControls\',\n props: {\n showZoom: { type: Boolean, default: true },\n showFitView: { type: Boolean, default: true },\n showInteractive: { type: Boolean, default: true },\n locked: { type: Boolean, default: false },\n position: { type: String, default: \'top-left\' },\n },\n}\n<\/script>\n\n<style scoped>\n.vue-flow__controls {\n display: flex;\n flex-direction: column;\n gap: 4px;\n box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n background: #fefefe;\n border-radius: 4px;\n overflow: hidden;\n}\n.vue-flow__controls button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: none;\n background: #fefefe;\n cursor: pointer;\n padding: 4px;\n font-size: 14px;\n color: #333;\n}\n.vue-flow__controls button:hover {\n background: #f0f0f0;\n}\n.vue-flow__panel {\n position: absolute;\n z-index: 5;\n}\n.vue-flow__panel--top-left { top: 10px; left: 10px; }\n.vue-flow__panel--top-right { top: 10px; right: 10px; }\n.vue-flow__panel--bottom-left { bottom: 10px; left: 10px; }\n.vue-flow__panel--bottom-right { bottom: 10px; right: 10px; }\n</style>\n']},media:void 0})},Vp,"data-v-94acbd54",false,void 0,!1,Gr,void 0,void 0)},props:{opt:{type:Object,default:()=>({})}},provide(){return{getDefNode:()=>this.defNode,getDefConn:()=>this.defConn}},data:()=>({inited:!1,viewport:{x:0,y:0,zoom:1},selectedNodes:[],selectedConns:[],selectionBox:null,nodeInternals:{},locked:!1,isDraggingNode:!1,draggingNodeId:null,dragStartPos:null,dragNodeStartPositions:null,dragPositions:null,resizeOverlay:null,isPanning:!1,panStartPos:null,isConnecting:!1,connectingFrom:null,connLineFromX:0,connLineFromY:0,connLineFromPosition:"bottom",connLineToX:0,connLineToY:0,isSelecting:!1,selectionStartPos:null,keysPressed:{}}),watch:{opt:{handler(){if(!this.inited){this.inited=!0;let n=this.center;n&&(this.viewport.x=n[0]||0,this.viewport.y=n[1]||0),this.viewport.zoom=this.zoom,this.$emit("init")}},immediate:!0}},mounted(){document.addEventListener("keydown",this.onKeyDown),document.addEventListener("keyup",this.onKeyUp),document.addEventListener("mousemove",this.onDocMouseMove),document.addEventListener("mouseup",this.onDocMouseUp)},beforeDestroy(){document.removeEventListener("keydown",this.onKeyDown),document.removeEventListener("keyup",this.onKeyUp),document.removeEventListener("mousemove",this.onDocMouseMove),document.removeEventListener("mouseup",this.onDocMouseUp)},computed:{widthInp(){return this.opt.width||800},heightInp(){return this.opt.height||600},nodes(){return this.opt.nodes||[]},conns(){return this.opt.conns||[]},nodesDraggable(){return void 0===this.opt.nodesDraggable||this.opt.nodesDraggable},nodesConnectable(){return void 0===this.opt.nodesConnectable||this.opt.nodesConnectable},nodesResizable(){return void 0===this.opt.nodesResizable||this.opt.nodesResizable},elementsSelectable(){return void 0===this.opt.elementsSelectable||this.opt.elementsSelectable},selectNodesOnDrag(){return void 0===this.opt.selectNodesOnDrag||this.opt.selectNodesOnDrag},deleteKeyEnabled(){return void 0!==this.opt.deleteKeyEnabled&&this.opt.deleteKeyEnabled},deleteKeyCode(){return this.opt.deleteKeyCode||"Backspace"},defConnCreatingType(){return this.opt.defConnCreatingType||"bezier"},defConnCreatingEdgeColor(){return this.opt.defConnCreatingEdgeColor||"#b1b1b7"},defConnCreatingEdgeWidth(){return void 0!==this.opt.defConnCreatingEdgeWidth?this.opt.defConnCreatingEdgeWidth:1},defConnCreatingEdgeDasharray(){return this.opt.defConnCreatingEdgeDasharray||"5 5"},defConnCreatingStyle(){return{stroke:this.defConnCreatingEdgeColor,strokeWidth:this.defConnCreatingEdgeWidth,strokeDasharray:this.defConnCreatingEdgeDasharray}},zoomOnScroll(){return void 0===this.opt.zoomOnScroll||this.opt.zoomOnScroll},panOnDrag(){return void 0===this.opt.panOnDrag||this.opt.panOnDrag},zoomMin(){return void 0!==this.opt.zoomMin?this.opt.zoomMin:.5},zoomMax(){return void 0!==this.opt.zoomMax?this.opt.zoomMax:2},center(){return this.opt.center||[0,0]},zoom(){return void 0!==this.opt.zoom?this.opt.zoom:1},panLimits(){return this.opt.panLimits||null},multiSelectEnabled(){return void 0===this.opt.multiSelectEnabled||this.opt.multiSelectEnabled},boxSelectionKeyCode(){return this.opt.boxSelectionKeyCode||"Shift"},multiSelectionKeyCode(){return this.opt.multiSelectionKeyCode||"Shift"},snapToGrid(){return void 0!==this.opt.snapToGrid&&this.opt.snapToGrid},snapGridSize(){return this.opt.snapGridSize||20},platformBackgroundPatternType(){return this.opt.platformBackgroundPatternType||"dots"},platformBackgroundPatternGap(){return void 0!==this.opt.platformBackgroundPatternGap?this.opt.platformBackgroundPatternGap:20},platformBackgroundPatternSize(){return void 0!==this.opt.platformBackgroundPatternSize?this.opt.platformBackgroundPatternSize:1},platformBackgroundPatternColor(){return this.opt.platformBackgroundPatternColor||"#81818a"},platformBackgroundColor(){return this.opt.platformBackgroundColor||"#fff"},settingsPopupBackgroundColor(){return this.opt.settingsPopupBackgroundColor||"#fff"},settingsPopupTextColor(){return this.opt.settingsPopupTextColor||"#333"},settingsPopupTextFontSize(){return this.opt.settingsPopupTextFontSize||"12px"},inforPopupBackgroundColor(){return this.opt.inforPopupBackgroundColor||"#fff"},inforPopupTitleTextColor(){return this.opt.inforPopupTitleTextColor||"#333"},inforPopupTitleTextFontSize(){return this.opt.inforPopupTitleTextFontSize||"12px"},inforPopupDescriptionTextColor(){return this.opt.inforPopupDescriptionTextColor||"#888"},inforPopupDescriptionTextFontSize(){return this.opt.inforPopupDescriptionTextFontSize||"10px"},funValidConnCreating(){return this.opt.funValidConnCreating||null},defNode(){let n=this.opt,e=Xp;return{type:n.defNodeType||e.type,shape:n.defNodeShape||e.shape,width:n.defNodeWidth||e.width,height:n.defNodeHeight||e.height,fontSize:n.defNodeFontSize||e.fontSize,fontSizeMin:n.defNodeFontSizeMin||e.fontSizeMin,fontSizeMax:n.defNodeFontSizeMax||e.fontSizeMax,fontColor:n.defNodeFontColor||e.fontColor,faceColor:n.defNodeFaceColor||e.faceColor,edgeColor:n.defNodeEdgeColor||e.edgeColor,edgeWidth:void 0!==n.defNodeEdgeWidth?n.defNodeEdgeWidth:e.edgeWidth,toPosition:n.defNodeToPosition||e.toPosition,fromPosition:n.defNodeFromPosition||e.fromPosition,popupDirection:n.defNodePopupDirection||e.popupDirection}},defConn(){let n=this.opt,e=Gp;return{type:n.defConnType||e.type,fontSize:n.defConnFontSize||e.fontSize,fontSizeMin:n.defConnFontSizeMin||e.fontSizeMin,fontSizeMax:n.defConnFontSizeMax||e.fontSizeMax,fontColor:n.defConnFontColor||e.fontColor,edgeColor:n.defConnEdgeColor||e.edgeColor,edgeWidth:void 0!==n.defConnEdgeWidth?n.defConnEdgeWidth:e.edgeWidth,edgeDasharray:n.defConnEdgeDasharray||"",markerEnd:n.defConnMarkerEnd||e.markerEnd,animated:void 0!==n.defConnAnimated?n.defConnAnimated:e.animated,defOffset:null!=n.defOffset?n.defOffset:e.defOffset}},renderNodes(){let n=this.dragPositions,e=this.resizeOverlay;return n||e?this.nodes.map(t=>n&&n[t.id]?{...t,position:n[t.id]}:e&&e.id===t.id?{...t,position:{x:e.x,y:e.y},width:e.width,height:e.height}:t):this.nodes},isBoxSelectPressed(){return this.multiSelectEnabled&&!!this.keysPressed[this.boxSelectionKeyCode]},isMultiSelectPressed(){return this.multiSelectEnabled&&!!this.keysPressed[this.multiSelectionKeyCode]}},methods:{nodeById(n){return this.nodes.find(e=>e.id===n)||null},connById(n){return this.conns.find(e=>e.id===n)||null},setSelectedNodes(n){this.selectedNodes.splice(0,this.selectedNodes.length,...n)},setSelectedConns(n){this.selectedConns.splice(0,this.selectedConns.length,...n)},clearSelection(){this.selectedNodes.splice(0,this.selectedNodes.length),this.selectedConns.splice(0,this.selectedConns.length)},removeNode(n){let e=this.nodes,t=e.findIndex(e=>e.id===n);if(-1===t)return;e.splice(t,1);let o=this.conns;for(let e=o.length-1;e>=0;e--)o[e].from!==n&&o[e].to!==n||o.splice(e,1);let r=this.selectedNodes.indexOf(n);-1!==r&&this.selectedNodes.splice(r,1)},removeConn(n){let e=this.conns,t=e.findIndex(e=>e.id===n);if(-1===t)return;e.splice(t,1);let o=this.selectedConns.indexOf(n);-1!==o&&this.selectedConns.splice(o,1)},addConn(n){n.id&&n.from&&n.to&&(this.connById(n.id)||this.nodeById(n.from)&&this.nodeById(n.to)&&this.conns.push(n))},updateNodeInternals(n,e){let t=this.nodeInternals[n];t&&t.width===e.width&&t.height===e.height||this.$set(this.nodeInternals,n,e)},setViewport({x:n,y:e,zoom:t}){void 0!==n&&(this.viewport.x=n),void 0!==e&&(this.viewport.y=e),void 0!==t&&(this.viewport.zoom=t)},onKeyDown(n){this.keysPressed={...this.keysPressed,[n.key]:!0},this.locked||!this.deleteKeyEnabled||n.key!==this.deleteKeyCode&&"Delete"!==n.key||this.deleteSelectedElements()},onKeyUp(n){const e={...this.keysPressed};delete e[n.key],this.keysPressed=e},onCanvasClick(n){n.target.closest(".vue-flow__popup")||n.target.closest(".vue-flow__node")||n.target.closest(".vue-flow__edge")||(this.clearSelection(),this.$emit("pane-click",n))},onCanvasContextMenu(n){this.$emit("pane-context-menu",n)},onCanvasDblClick(n){const e=this.$refs.canvas.getContainerRect();if(!e)return;const t=this.viewport,o=(n.clientX-e.left-t.x)/t.zoom,r=(n.clientY-e.top-t.y)/t.zoom;this.$emit("canvas-dblclick",{event:n,flowX:o,flowY:r,clientX:n.clientX,clientY:n.clientY})},onCanvasMouseDown(n){if(!n.target.closest||!n.target.closest(".vue-flow__popup"))if(this.locked||!this.isBoxSelectPressed){if(this.panOnDrag&&0===n.button){const e=n.target,t=e.closest&&e.closest(".vue-flow__node"),o=e.closest&&e.closest(".vue-flow__handle");t||o||this.startPan(n)}}else this.startSelection(n)},onCanvasMouseMove(n){},onCanvasMouseUp(n){},onCanvasWheel(n){if(!this.zoomOnScroll)return;const e=.001*-n.deltaY,t=this.viewport.zoom,o=Math.max(this.zoomMin,Math.min(this.zoomMax,t+e*t)),r=this.$refs.canvas.getContainerRect();if(!r)return;const i=n.clientX-r.left,a=n.clientY-r.top,l=this.viewport,s=o/t,d=i-(i-l.x)*s,u=a-(a-l.y)*s;this.setViewport({x:d,y:u,zoom:o}),this.emitViewportChange()},onDocMouseMove(n){this.isPanning?this.doPan(n):this.isDraggingNode?this.doDrag(n):this.isConnecting?this.doConnect(n):this.isSelecting&&this.doSelection(n)},onDocMouseUp(n){this.isPanning&&this.endPan(),this.isDraggingNode&&this.endDrag(n),this.isConnecting&&this.endConnect(n),this.isSelecting&&this.endSelection(n)},startPan(n){this.isPanning=!0,this.panStartPos={x:n.clientX,y:n.clientY}},doPan(n){const e=n.clientX-this.panStartPos.x,t=n.clientY-this.panStartPos.y;this.panStartPos={x:n.clientX,y:n.clientY};let o=this.viewport.x+e,r=this.viewport.y+t;if(this.panLimits){const n=(i={x:o,y:r},(a=this.panLimits)?{x:Math.max(a[0][0],Math.min(a[1][0],i.x)),y:Math.max(a[0][1],Math.min(a[1][1],i.y))}:i);o=n.x,r=n.y}var i,a;this.viewport.x=o,this.viewport.y=r},endPan(){this.isPanning=!1,this.panStartPos=null,this.emitViewportChange()},onNodeDragStart({node:n,event:e}){if(this.locked||!this.nodesDraggable)return;this.isDraggingNode=!0,this.draggingNodeId=n.id,this.dragStartPos={x:e.clientX,y:e.clientY},this.selectNodesOnDrag&&!this.isMultiSelectPressed&&(this.setSelectedNodes([n.id]),this.setSelectedConns([]));const t={};if(this.selectedNodes.forEach(n=>{const e=this.nodeById(n);e&&(t[n]={x:e.position.x,y:e.position.y})}),!t[n.id]){const e=this.nodeById(n.id);e&&(t[n.id]={x:e.position.x,y:e.position.y})}this.dragNodeStartPositions=t,this.$emit("node-drag-start",{node:n,event:e})},doDrag(n){const e=this.viewport.zoom,t=(n.clientX-this.dragStartPos.x)/e,o=(n.clientY-this.dragStartPos.y)/e,r=this.snapToGrid,i={};for(let n in this.dragNodeStartPositions){const e=this.dragNodeStartPositions[n];let a=e.x+t,l=e.y+o;if(r){const n=Np({x:a,y:l},this.snapGridSize);a=n.x,l=n.y}i[n]={x:a,y:l}}this.dragPositions=i},endDrag(n){if(this.dragPositions)for(let n in this.dragPositions){let e=this.nodeById(n);if(e){let t=this.dragPositions[n];e.position.x=t.x,e.position.y=t.y}}const e=this.nodeById(this.draggingNodeId);this.isDraggingNode=!1,this.draggingNodeId=null,this.dragStartPos=null,this.dragNodeStartPositions=null,this.dragPositions=null,rp(),e&&this.$emit("node-drag-stop",{node:e,event:n}),this.emitNodesUpdate()},onConnectStart(n){if(this.locked||!this.nodesConnectable)return;this.isConnecting=!0,this.connectingFrom=n,this._connectCursorStyle=document.createElement("style"),this._connectCursorStyle.textContent="* { cursor: default !important; } .vue-flow__handle { cursor: crosshair !important; } .vue-flow__node-settings, .vue-flow__edge-settings, .vue-flow__resize { opacity: 0 !important; pointer-events: none !important; }",document.head.appendChild(this._connectCursorStyle);const e=this.nodeById(n.nodeId);if(!e)return;const t=Hp(e,n.handlePosition,this.nodeInternals[n.nodeId]||{});this.connLineFromX=t.x,this.connLineFromY=t.y,this.connLineFromPosition=n.handlePosition,this.connLineToX=t.x,this.connLineToY=t.y,this.$emit("connect-start",{nodeId:n.nodeId,handleId:n.handleId,handleType:n.handleType})},doConnect(n){const e=this.$refs.canvas.getContainerRect();if(!e)return;const t=this.viewport;this.connLineToX=(n.clientX-e.left-t.x)/t.zoom,this.connLineToY=(n.clientY-e.top-t.y)/t.zoom},endConnect(n){const e=document.elementFromPoint(n.clientX,n.clientY),t=e&&e.closest&&e.closest(".vue-flow__handle");if(t&&this.connectingFrom){const n=t.closest(".vue-flow__node"),e=n?n.dataset.id:null;if(e){const n={from:this.connectingFrom.nodeId,to:e},t=function(n,e,t,o){return!(!n.from||!n.to)&&(n.from!==n.to&&!(t.find(e=>e.from===n.from&&e.to===n.to)||o&&!o(n)))}(n,this.nodes,this.conns,this.funValidConnCreating);if(t){const e=`e${n.from}-${n.to}`,t={id:this.connById(e)?(Up++,`${Date.now()}-${Up}-${Math.random().toString(36).slice(2,7)}`):e,...n};this.addConn(t),this.emitConnsUpdate(),this.$emit("connect",n)}}}this.$emit("connect-end",n),this.isConnecting=!1,this.connectingFrom=null,this._connectCursorStyle&&(document.head.removeChild(this._connectCursorStyle),this._connectCursorStyle=null)},onNodeClick({node:n,event:e}){if(this.elementsSelectable){if(this.isMultiSelectPressed){const e=this.selectedNodes.indexOf(n.id);-1===e?this.selectedNodes.push(n.id):this.selectedNodes.splice(e,1)}else this.setSelectedNodes([n.id]),this.setSelectedConns([]);this.emitSelectionChange(),this.$emit("node-click",{node:n,event:e})}},onNodeDoubleClick(n){this.$emit("node-double-click",n)},onNodeContextMenu(n){this.$emit("node-context-menu",n)},onNodeSettingsClick(n){this.$emit("node-settings-click",n)},onNodeSettingsUpdate({node:n,key:e,value:t}){let o=this.nodeById(n.id);if(!o)return;let r=o.type;if(this.$set(o,e,t),"type"===e&&r!==t){let n=o.id,e="input"===t||"basic"===t,r="output"===t||"basic"===t,i=this.conns;for(let t=i.length-1;t>=0;t--){let o=i[t];(!e&&o.from===n||!r&&o.to===n)&&i.splice(t,1)}}},onNodeSettingsDelete({node:n}){this.removeNode(n.id),rp(),this.emitNodesUpdate(),this.emitConnsUpdate()},onNodeMouseEnter({node:n,event:e}){this.$emit("node-mouseenter",{node:n,event:e})},onNodeMouseLeave({node:n,event:e}){this.$emit("node-mouseleave",{node:n,event:e})},onConnClick({conn:n,event:e}){if(this.elementsSelectable){if(this.isMultiSelectPressed){const e=this.selectedConns.indexOf(n.id);-1===e?this.selectedConns.push(n.id):this.selectedConns.splice(e,1)}else this.setSelectedConns([n.id]),this.setSelectedNodes([]);this.emitSelectionChange(),this.$emit("conn-click",{conn:n,event:e})}},onConnDoubleClick(n){this.$emit("conn-double-click",n)},onConnContextMenu(n){this.$emit("conn-context-menu",n)},onConnMouseEnter({conn:n,event:e}){this.$emit("conn-mouseenter",{conn:n,event:e})},onConnMouseLeave({conn:n,event:e}){this.$emit("conn-mouseleave",{conn:n,event:e})},onConnSettingsClick(n){this.$emit("conn-settings-click",n)},onConnSettingsUpdate({conn:n,key:e,value:t}){let o=this.connById(n.id);o&&this.$set(o,e,t)},onConnSettingsDelete({conn:n}){this.removeConn(n.id),rp(),this.emitConnsUpdate()},startSelection(n){this.isSelecting=!0;const e=this.$refs.canvas.getContainerRect();e&&(this.selectionStartPos={x:n.clientX-e.left,y:n.clientY-e.top},this.selectionBox={x:this.selectionStartPos.x,y:this.selectionStartPos.y,width:0,height:0})},doSelection(n){const e=this.$refs.canvas.getContainerRect();if(!e)return;const t=n.clientX-e.left,o=n.clientY-e.top,r=Math.min(this.selectionStartPos.x,t),i=Math.min(this.selectionStartPos.y,o),a=Math.abs(t-this.selectionStartPos.x),l=Math.abs(o-this.selectionStartPos.y);this.selectionBox={x:r,y:i,width:a,height:l}},endSelection(){if(this.selectionBox){const o=this.selectionBox,r=this.viewport,i={x:(o.x-r.x)/r.zoom,y:(o.y-r.y)/r.zoom,width:o.width/r.zoom,height:o.height/r.zoom},a=(n=i,e=this.nodes,t=this.nodeInternals,e.filter(e=>{const o=t&&t[e.id]||{},r=o.width||e.width||150,i=o.height||e.height||40;return l={x:e.position.x,y:e.position.y,width:r,height:i},(a=n).x<l.x+l.width&&a.x+a.width>l.x&&a.y<l.y+l.height&&a.y+a.height>l.y;var a,l})).map(n=>n.id);this.setSelectedNodes(a);let l=new Set(a),s=this.conns.filter(n=>l.has(n.from)&&l.has(n.to)).map(n=>n.id);this.setSelectedConns(s),this.emitSelectionChange()}var n,e,t;this.isSelecting=!1,this.selectionStartPos=null,this.selectionBox=null},deleteSelectedElements(){const{nodes:n,conns:e}=this.getSelectedElements();0===n.length&&0===e.length||(n.forEach(n=>{!1!==n.deletable&&this.removeNode(n.id)}),e.forEach(n=>{!1!==n.deletable&&this.removeConn(n.id)}),this.clearSelection(),this.$emit("delete",{nodes:n,conns:e}),this.emitNodesUpdate(),this.emitConnsUpdate())},onNodeDimensions({nodeId:n,width:e,height:t}){this.updateNodeInternals(n,{width:e,height:t})},onNodeResize({nodeId:n,width:e,height:t,x:o,y:r}){this.locked||(this.resizeOverlay={id:n,width:e,height:t,x:o,y:r},this.updateNodeInternals(n,{width:e,height:t}))},onNodeResizeEnd({nodeId:n,width:e,height:t,x:o,y:r}){let i=this.nodeById(n);i&&(i.width=e,i.height=t,i.position.x=o,i.position.y=r),this.resizeOverlay=null,rp(),this.emitNodesUpdate()},updateNodePosition(n,e){let t=this.nodeById(n);t&&(t.position.x=e.x,t.position.y=e.y)},getSelectedElements(){return{nodes:this.nodes.filter(n=>this.selectedNodes.includes(n.id)),conns:this.conns.filter(n=>this.selectedConns.includes(n.id))}},emitNodesUpdate(){this.$emit("update:nodes",[...this.nodes])},emitConnsUpdate(){this.$emit("update:conns",[...this.conns])},emitViewportChange(){this.$emit("viewport-change",{...this.viewport})},emitSelectionChange(){this.$emit("selection-change",this.getSelectedElements())},fitView(n){n=n||50;let e=this.nodes.filter(n=>!n.hidden);if(0===e.length)return;let t=this.nodeInternals,o=1/0,r=1/0,i=-1/0,a=-1/0;e.forEach(n=>{let e=t[n.id]&&t[n.id].width||n.width||150,l=t[n.id]&&t[n.id].height||n.height||40;o=Math.min(o,n.position.x),r=Math.min(r,n.position.y),i=Math.max(i,n.position.x+e),a=Math.max(a,n.position.y+l)});let l=this.$refs.canvas?this.$refs.canvas.getContainerRect():null,s=l?l.width:this.widthInp,d=l?l.height:this.heightInp,u=i-o+2*n,c=a-r+2*n,p=Math.min(s/u,d/c,2);this.viewport.zoom=p,this.viewport.x=(s-(i+o)*p)/2,this.viewport.y=(d-(a+r)*p)/2,this.emitViewportChange()},zoomIn(){this.viewport.zoom=Math.min(1.2*this.viewport.zoom,this.zoomMax),this.emitViewportChange()},zoomOut(){this.viewport.zoom=Math.max(this.viewport.zoom/1.2,this.zoomMin),this.emitViewportChange()},toggleInteractive(){this.locked=!this.locked,this.$emit("toggle-interactive",this.locked)},getFlowData(){return{nodes:JSON.parse(JSON.stringify(this.nodes)),conns:JSON.parse(JSON.stringify(this.conns))}}}};const qp=Zp;var Qp=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{style:"width:"+n.widthInp+"px; height:"+n.heightInp+"px;"},[n.inited?t("FlowCanvas",{ref:"canvas",on:{"canvas-mousedown":n.onCanvasMouseDown,"canvas-mousemove":n.onCanvasMouseMove,"canvas-mouseup":n.onCanvasMouseUp,"canvas-wheel":n.onCanvasWheel,"canvas-dblclick":n.onCanvasDblClick,"canvas-click":n.onCanvasClick,"canvas-contextmenu":n.onCanvasContextMenu}},[t("BackgroundLayer",{attrs:{variant:n.platformBackgroundPatternType,gap:n.platformBackgroundPatternGap,size:n.platformBackgroundPatternSize,"pattern-color":n.platformBackgroundPatternColor,"bg-color":n.platformBackgroundColor,"viewport-x":n.viewport.x,"viewport-y":n.viewport.y,"viewport-zoom":n.viewport.zoom}}),n._v(" "),t("ViewportTransform",{attrs:{x:n.viewport.x,y:n.viewport.y,zoom:n.viewport.zoom}},[t("EdgeRenderer",{attrs:{conns:n.conns,nodes:n.renderNodes,"node-internals":n.nodeInternals,"selected-conn-ids":n.selectedConns,interactive:n.elementsSelectable,locked:n.locked,"settings-popup-background-color":n.settingsPopupBackgroundColor,"settings-popup-text-color":n.settingsPopupTextColor,"settings-popup-text-font-size":n.settingsPopupTextFontSize,"infor-popup-background-color":n.inforPopupBackgroundColor,"infor-popup-title-text-color":n.inforPopupTitleTextColor,"infor-popup-title-text-font-size":n.inforPopupTitleTextFontSize,"infor-popup-description-text-color":n.inforPopupDescriptionTextColor,"infor-popup-description-text-font-size":n.inforPopupDescriptionTextFontSize},on:{"conn-click":n.onConnClick,"conn-double-click":n.onConnDoubleClick,"conn-context-menu":n.onConnContextMenu,"conn-mouseenter":n.onConnMouseEnter,"conn-mouseleave":n.onConnMouseLeave,"conn-settings-click":n.onConnSettingsClick,"conn-settings-update":n.onConnSettingsUpdate,"conn-settings-delete":n.onConnSettingsDelete}}),n._v(" "),t("NodeRenderer",{attrs:{nodes:n.renderNodes,"selected-node-ids":n.selectedNodes,"nodes-draggable":n.nodesDraggable,"nodes-connectable":n.nodesConnectable,locked:n.locked,"nodes-resizable":n.nodesResizable,"settings-popup-background-color":n.settingsPopupBackgroundColor,"settings-popup-text-color":n.settingsPopupTextColor,"settings-popup-text-font-size":n.settingsPopupTextFontSize,"infor-popup-background-color":n.inforPopupBackgroundColor,"infor-popup-title-text-color":n.inforPopupTitleTextColor,"infor-popup-title-text-font-size":n.inforPopupTitleTextFontSize,"infor-popup-description-text-color":n.inforPopupDescriptionTextColor,"infor-popup-description-text-font-size":n.inforPopupDescriptionTextFontSize,"snap-grid-size":n.snapToGrid?n.snapGridSize:null},on:{"drag-start":n.onNodeDragStart,"node-click":n.onNodeClick,"node-double-click":n.onNodeDoubleClick,"node-context-menu":n.onNodeContextMenu,"node-settings-click":n.onNodeSettingsClick,"node-settings-update":n.onNodeSettingsUpdate,"node-settings-delete":n.onNodeSettingsDelete,"node-mouseenter":n.onNodeMouseEnter,"node-mouseleave":n.onNodeMouseLeave,"connect-start":n.onConnectStart,dimensions:n.onNodeDimensions,"node-resize":n.onNodeResize,"node-resize-end":n.onNodeResizeEnd}}),n._v(" "),t("ConnectionLine",{attrs:{active:n.isConnecting,"source-x":n.connLineFromX,"source-y":n.connLineFromY,"source-position":n.connLineFromPosition,"target-x":n.connLineToX,"target-y":n.connLineToY,type:n.defConnCreatingType,"line-style":n.defConnCreatingStyle}}),n._v(" "),n._t("viewport-overlay")],2),n._v(" "),t("SelectionBox",{attrs:{box:n.selectionBox}}),n._v(" "),t("Controls",{attrs:{locked:n.locked,position:"top-left"},on:{"zoom-in":n.zoomIn,"zoom-out":n.zoomOut,"fit-view":n.fitView,"toggle-interactive":n.toggleInteractive}})],1):n._e()],1)};Qp._withStripped=!0;const Jp=Ur({render:Qp,staticRenderFns:[]},function(n){n&&n("data-v-ab2a5ee2_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WFlowVue.vue"},media:void 0})},qp,"data-v-ab2a5ee2",false,void 0,!1,Gr,void 0,void 0);var Kp={exports:{}};
15
+ /*!
16
+ * w-jsonview-tree v1.0.31
17
+ * (c) 2018-2021 yuda-lyu(semisphere)
18
+ * Released under the MIT License.
19
+ */!function(n){n.exports=(function(n,e){void 0===e&&(e={});var t=e.insertAt;if(n&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===t&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n))}}(".CompCssDJsonViewTree .w-caret-right {\r\n transform: rotate(-90deg);\r\n width: 0.9rem;\r\n height: 0.9rem;\r\n display: inline-block;\r\n vertical-align: middle;\r\n background-size: contain;\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACJSURBVEhL7ZC9CYBADEbP2iEEp7JxAPdwBZex02EcQ/0iBCzC/ZlTkDx4RYrLC+cMwzB+QQ1bRRtYwSAbPJQdoRe6bIbS41x32MEg9NULlJakStEBRqMRT44yFF+htDRkdpTJiT+OMilxtSgTE1ePMr54sSgjxYtHmXv8tShD8Qn212QYxnc4dwKskJKEHrOFUQAAAABJRU5ErkJggg==')\r\n}\r\n\r\n.CompCssDJsonViewTree .w-caret-down {\r\n display: inline-block;\r\n width: 0.9rem;\r\n height: 0.9rem;\r\n display: inline-block;\r\n vertical-align: middle;\r\n background-size: contain;\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACJSURBVEhL7ZC9CYBADEbP2iEEp7JxAPdwBZex02EcQ/0iBCzC/ZlTkDx4RYrLC+cMwzB+QQ1bRRtYwSAbPJQdoRe6bIbS41x32MEg9NULlJakStEBRqMRT44yFF+htDRkdpTJiT+OMilxtSgTE1ePMr54sSgjxYtHmXv8tShD8Qn212QYxnc4dwKskJKEHrOFUQAAAABJRU5ErkJggg==')\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-line {\r\n margin: 4px 0;\r\n display: flex;\r\n justify-content: flex-start;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-caret-icon {\r\n width: 18px;\r\n text-align: center;\r\n cursor: pointer;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-empty-icon {\r\n /* width: 18px; */\r\n padding: 0px 9px;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-type {\r\n margin-right: 4px;\r\n margin-left: 4px;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-key {\r\n color: #616161;\r\n margin-right: 4px;\r\n margin-left: 4px;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-index {\r\n margin-right: 4px;\r\n margin-left: 4px;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-separator {\r\n color: #bdbdbd;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-value {\r\n margin-left: 8px;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-number {\r\n color: #536dfe;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-boolean {\r\n color: #9ccc65;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-string {\r\n color: #ffab40;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-function {\r\n color: #e040fb;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-size {\r\n margin-right: 4px;\r\n margin-left: 4px;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-hide {\r\n display: none;\r\n}"),function(n,e){let t=!1;function o(n,e){let t=document.createElement(n);return void 0===e||(e.className&&(t.className=e.className),e.content&&(t.textContent=e.content),e.children&&e.children.forEach(n=>{null!==n&&t.appendChild(n)})),t}function r(n){let e=o("i");n.expanded?e.className="wicon w-caret-down":e.className="wicon w-caret-right";let t=o("div",{className:"wjv-caret-icon",children:[e]}),r=n.toggle.bind(n);t.addEventListener("click",r);let i,a=o("div",{className:"wjv-json-index",content:n.key}),l=o("div",{className:"wjv-json-type",content:n.type}),s=o("div",{className:"wjv-json-key",content:n.key}),d=o("div",{className:"wjv-json-size"});"array"===n.type?d.innerText="["+n.children.length+"]":"object"===n.type&&(d.innerText="{"+n.children.length+"}"),i=null===n.key?[t,l,d]:"array"===n.parent.type?[t,a,d]:[t,s,d];let u=o("div",{className:"wjv-line",children:i});return n.depth>0&&u.setAttribute("style","margin-left: "+24*n.depth+"px;"),u}function i(n){let e=o("div",{className:"wjv-empty-icon"}),t=o("div",{className:"wjv-json-key",content:n.key}),r=o("div",{className:"wjv-json-separator",content:":"}),i=o("div",{className:"wjv-json-value wjv-json-"+typeof n.value,content:String(n.value)}),a=o("div",{className:"wjv-line",children:[e,t,r,i]});return n.depth>0&&a.setAttribute("style","margin-left: "+24*n.depth+"px;"),a}function a(){return{key:null,parent:null,value:null,expanded:t,type:null,children:null,elem:null,depth:0,setCaretIconRight(){this.elem.querySelector(".wicon").classList.replace("w-caret-down","w-caret-right")},setCaretIconDown(){this.elem.querySelector(".wicon").classList.replace("w-caret-right","w-caret-down")},hideChildren(){null!==this.children&&this.children.forEach(n=>{n.elem.classList.add("wjv-json-hide"),n.expanded&&n.hideChildren()})},showChildren(){null!==this.children&&this.children.forEach(n=>{n.elem.classList.remove("wjv-json-hide"),n.expanded&&n.showChildren()})},toggle:function(){this.expanded?(this.expanded=!1,this.hideChildren(),this.setCaretIconRight()):(this.expanded=!0,this.showChildren(),this.setCaretIconDown())}}}function l(n){let e=typeof n;return Array.isArray(n)?e="array":null===n&&(e="null"),e}function s(n,e){for(let o in n){let d=a();d.parent=e,d.key=o,d.type=l(n[o]),d.depth=e.depth+1,d.expanded=t,"object"==typeof n[o]?(d.children=[],e.children.push(d),s(n[o],d),d.elem=r(d)):(d.value=n[o],d.elem=i(d),e.children.push(d))}}function d(n,e){e(n),null!==n.children&&n.children.forEach(n=>{d(n,e)})}!function(n,e,o){o&&(t=!0===o.expanded),e.innerHTML="",e.classList.add("CompCssDJsonViewTree");let i=function(n){let e=a();return e.type=l(n),e.children=[],e.expanded=t,s(n,e),e.elem=r(e),e}(n);!function(n,e){d(n,n=>{n.expanded||n.hideChildren(),e.appendChild(n.elem)})}(i,e)}(n,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{})})}(Kp);var nf=Wo(Kp.exports);const ef={components:{WFlowVue:Jp},data:function(){return{loading:!0,opt:{width:800,height:600,nodes:[{id:"1",type:"input",name:"資料來源",description:"從外部 API 取得原始資料",position:{x:260,y:0},edgeColor:"#0041d0",width:100,height:40},{id:"2",type:"basic",name:"資料驗證",description:"檢查資料格式與完整性",position:{x:100,y:120},width:100,height:40},{id:"3",type:"basic",name:"資料轉換",description:"將原始資料轉換為標準格式",position:{x:400,y:120},width:100,height:40},{id:"8",type:"basic",name:"條件判斷",description:"根據條件分流處理",position:{x:100,y:220},shape:"diamond",width:120,height:80},{id:"4",type:"basic",name:"商業邏輯",description:"執行核心商業規則與計算",position:{x:80,y:380},shape:"ellipse",width:140,height:60},{id:"5",type:"basic",name:"資料聚合",description:"合併多個來源的處理結果",position:{x:280,y:500},edgeColor:"#ffa500",edgeWidth:2,width:100,height:40},{id:"6",type:"output",name:"輸出結果",description:"將最終結果寫入資料庫",position:{x:160,y:620},width:100,height:40},{id:"7",type:"output",name:"通知服務",description:"發送處理完成通知給相關人員",position:{x:400,y:620},edgeColor:"#ff69b4",width:100,height:40},{id:"9",type:"basic",name:"過濾器",description:"過濾不符合條件的資料",position:{x:620,y:80},shape:"triangle",width:100,height:80},{id:"10",type:"basic",name:"路由分配",description:"根據規則分配至不同處理管道",position:{x:620,y:220},shape:"triangle-right",width:100,height:80},{id:"11",type:"basic",name:"資料壓縮",description:"壓縮資料以減少儲存空間",position:{x:620,y:360},shape:"triangle-down",width:100,height:80},{id:"12",type:"basic",name:"快取處理",description:"從快取中讀取或寫入資料",position:{x:620,y:500},shape:"triangle-left",width:100,height:80}],conns:[{id:"e1-2",from:"1",to:"2",type:"bezier",animated:!0,name:"原始資料",description:"未經處理的 API 回應"},{id:"e1-3",from:"1",to:"3",type:"bezier",name:"備份資料",description:"同步至轉換流程",markerEnd:"arrowclosed"},{id:"e2-8",from:"2",to:"8",type:"smoothstep",name:"驗證通過",description:"通過格式檢查的資料"},{id:"e8-4",from:"8",to:"4",type:"bezier",name:"條件成立",description:"符合條件進入商業邏輯"},{id:"e8-5",from:"8",to:"5",type:"bezier",name:"條件不成立",description:"不符條件直接聚合"},{id:"e3-5",from:"3",to:"5",type:"step",name:"轉換完成",description:"標準化後的資料"},{id:"e4-5",from:"4",to:"5",type:"bezier",name:"處理結果",description:"商業邏輯計算結果"},{id:"e5-6",from:"5",to:"6",type:"smoothstep",name:"最終資料",description:"聚合後準備寫入的資料"},{id:"e5-7",from:"5",to:"7",type:"bezier",animated:!0,name:"觸發通知",description:"處理完成的事件訊號"},{id:"e3-9",from:"3",to:"9",type:"step",name:"轉換副本",description:"備份至過濾流程"},{id:"e9-10",from:"9",to:"10",type:"smoothstep",name:"已過濾",description:"通過過濾條件的資料"},{id:"e10-11",from:"10",to:"11",type:"bezier",name:"管道A",description:"分配至壓縮管道"},{id:"e11-12",from:"11",to:"12",type:"step",name:"已壓縮",description:"壓縮完成的資料"},{id:"e12-7",from:"12",to:"7",type:"bezier",name:"快取完成",description:"快取處理後通知"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){nf(this.opt,document.querySelector("#optjson"),{expanded:!0})},setWidth:function(n){this.opt.width=n},setHeight:function(n){this.opt.height=n}}};var tf=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",[n._m(0),n._v(" "),t("div",{staticClass:"bkp"},[n.loading?n._e():t("div",[t("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(e){return n.setWidth(800)}}},[n._v("set width to 800")]),n._v(" "),t("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(e){return n.setWidth(300)}}},[n._v("set width to 300")]),n._v(" "),t("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(e){return n.setHeight(600)}}},[n._v("set height to 600")]),n._v(" "),t("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(e){return n.setHeight(300)}}},[n._v("set height to 300")])]),n._v(" "),t("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[t("div",{staticStyle:{position:"relative",border:"1px solid #ddd"}},[t("WFlowVue",{attrs:{opt:n.opt},on:{init:function(e){n.loading=!1}}})],1),n._v(" "),t("div",{staticStyle:{padding:"0px 20px"}},[t("div",{style:"border:1px solid #ddd; width:590px; min-width:590px; height:"+n.opt.height+"px; overflow-y:auto;"},[n._m(1)])])])])])};tf._withStripped=!0;const of=Ur({render:tf,staticRenderFns:[function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"bkh"},[t("div",{staticStyle:{"font-size":"1.5rem"}},[n._v("size")]),n._v(" "),t("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-flow-vue/examples/ex-AppBasic.html",target:"_blank"}},[n._v("example")]),n._v(" "),t("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-flow-vue/blob/master/docs/examples/ex-AppBasic.html",target:"_blank"}},[n._v("code")])])},function(){var n=this.$createElement,e=this._self._c||n;return e("div",{staticStyle:{"padding-left":"5px"}},[e("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},function(n){n&&n("data-v-2badf838_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppBasic.vue"},media:void 0})},ef,void 0,false,void 0,!1,Gr,void 0,void 0);const rf={components:{WFlowVue:Jp},data:function(){return{loading:!0,srcHandle:"bottom",tgtQuadrant:"SE",tgtHandle:"top",CENTER_X:350,CENTER_Y:250,OFFSET:200,NODE_W:100,NODE_H:40,opt:{width:800,height:600,nodes:[],conns:[]},action:[]}},mounted:function(){this.rebuild(),this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},computed:{quadrantOffsets:function(){let n=this.OFFSET;return{N:{x:0,y:-n},NE:{x:n,y:-n},E:{x:n,y:0},SE:{x:n,y:n},S:{x:0,y:n},SW:{x:-n,y:n},W:{x:-n,y:0},NW:{x:-n,y:-n}}},caseLabel:function(){return"A."+this.srcHandle+" -> "+this.tgtQuadrant+" -> B."+this.tgtHandle}},methods:{rebuild:function(){let n=this;if(0===n.opt.nodes.length){let e=n.quadrantOffsets[n.tgtQuadrant],t=n.CENTER_X+e.x,o=n.CENTER_Y+e.y;t<10&&(t=10),o<10&&(o=10),n.opt.nodes=[{id:"A",type:"basic",name:"A",position:{x:n.CENTER_X,y:n.CENTER_Y},width:n.NODE_W,height:n.NODE_H,toPosition:n.srcHandle},{id:"B",type:"basic",name:"B",position:{x:t,y:o},width:n.NODE_W,height:n.NODE_H,fromPosition:n.tgtHandle}],n.opt.conns=[{id:"eA-B",from:"A",to:"B",type:"step",name:n.caseLabel}]}else n.opt.nodes[0].toPosition=n.srcHandle,n.opt.nodes[1].fromPosition=n.tgtHandle,n.opt.conns[0].name=n.caseLabel},resetPositions:function(){let n=this,e=n.quadrantOffsets[n.tgtQuadrant],t=n.CENTER_X+e.x,o=n.CENTER_Y+e.y;t<10&&(t=10),o<10&&(o=10),n.opt.nodes[0].position={x:n.CENTER_X,y:n.CENTER_Y},n.opt.nodes[1].position={x:t,y:o}},showOptJson:function(){nf(this.opt,document.querySelector("#optjson"),{expanded:!0})}}};var af=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",[n._m(0),n._v(" "),t("div",{staticClass:"bkp"},[n.loading?n._e():t("div",[t("div",{staticStyle:{display:"flex",gap:"16px","margin-bottom":"10px","align-items":"center","flex-wrap":"wrap"}},[t("label",[n._v("A 連出點\n "),t("select",{directives:[{name:"model",rawName:"v-model",value:n.srcHandle,expression:"srcHandle"}],on:{change:[function(e){var t=Array.prototype.filter.call(e.target.options,function(n){return n.selected}).map(function(n){return"_value"in n?n._value:n.value});n.srcHandle=e.target.multiple?t:t[0]},n.rebuild]}},[t("option",{attrs:{value:"top"}},[n._v("Top")]),n._v(" "),t("option",{attrs:{value:"bottom"}},[n._v("Bottom")]),n._v(" "),t("option",{attrs:{value:"left"}},[n._v("Left")]),n._v(" "),t("option",{attrs:{value:"right"}},[n._v("Right")])])]),n._v(" "),t("label",[n._v("B 方位\n "),t("select",{directives:[{name:"model",rawName:"v-model",value:n.tgtQuadrant,expression:"tgtQuadrant"}],on:{change:[function(e){var t=Array.prototype.filter.call(e.target.options,function(n){return n.selected}).map(function(n){return"_value"in n?n._value:n.value});n.tgtQuadrant=e.target.multiple?t:t[0]},function(e){n.resetPositions(),n.rebuild()}]}},[t("option",{attrs:{value:"N"}},[n._v("上 (N)")]),n._v(" "),t("option",{attrs:{value:"NE"}},[n._v("右上 (NE)")]),n._v(" "),t("option",{attrs:{value:"E"}},[n._v("右 (E)")]),n._v(" "),t("option",{attrs:{value:"SE"}},[n._v("右下 (SE)")]),n._v(" "),t("option",{attrs:{value:"S"}},[n._v("下 (S)")]),n._v(" "),t("option",{attrs:{value:"SW"}},[n._v("左下 (SW)")]),n._v(" "),t("option",{attrs:{value:"W"}},[n._v("左 (W)")]),n._v(" "),t("option",{attrs:{value:"NW"}},[n._v("左上 (NW)")])])]),n._v(" "),t("label",[n._v("B 連入點\n "),t("select",{directives:[{name:"model",rawName:"v-model",value:n.tgtHandle,expression:"tgtHandle"}],on:{change:[function(e){var t=Array.prototype.filter.call(e.target.options,function(n){return n.selected}).map(function(n){return"_value"in n?n._value:n.value});n.tgtHandle=e.target.multiple?t:t[0]},n.rebuild]}},[t("option",{attrs:{value:"top"}},[n._v("Top")]),n._v(" "),t("option",{attrs:{value:"bottom"}},[n._v("Bottom")]),n._v(" "),t("option",{attrs:{value:"left"}},[n._v("Left")]),n._v(" "),t("option",{attrs:{value:"right"}},[n._v("Right")])])])])]),n._v(" "),t("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[t("div",{staticStyle:{position:"relative",border:"1px solid #ddd"}},[t("WFlowVue",{attrs:{opt:n.opt},on:{init:function(e){n.loading=!1}}})],1),n._v(" "),t("div",{staticStyle:{padding:"0px 20px"}},[t("div",{style:"border:1px solid #ddd; width:590px; min-width:590px; height:"+n.opt.height+"px; overflow-y:auto;"},[n._m(1)])])])])])};af._withStripped=!0;const lf={components:{WListHorizontal:ai,AppBasic:of,AppConnectivity:Ur({render:af,staticRenderFns:[function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"bkh"},[t("div",{staticStyle:{"font-size":"1.5rem"}},[n._v("connectivity")]),n._v(" "),t("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-flow-vue/examples/ex-AppExamConnectivity.html",target:"_blank"}},[n._v("example")]),n._v(" "),t("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-flow-vue/blob/master/docs/examples/ex-AppExamConnectivity.html",target:"_blank"}},[n._v("code")])])},function(){var n=this.$createElement,e=this._self._c||n;return e("div",{staticStyle:{"padding-left":"5px"}},[e("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},function(n){n&&n("data-v-7ec54642_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppConnectivity.vue"},media:void 0})},rf,void 0,false,void 0,!1,Gr,void 0,void 0)},data:function(){return{cmpsL1:[{name:"basic",cmps:[{name:"size"},{name:"connectivity"}]}],indP1:null,cmpP1:null,cmpsL2:null,indP2:null,cmpP2:null,cmpsL3:null,indP3:null,cmpP3:null,cmpsL4:null,cmpPick:""}},mounted:function(){let n=this;n.indP1=0,n.indP2=0,n.indP3=0;let e=ht(location.href);n.viewPick(an(e,"cmp",""))},computed:{changeMenus:function(){let n=this;return n.modifyMenus(n.indP1,n.indP2,n.indP3),""},isNarrow:function(){return window.innerWidth<1e3}},methods:{modifyMenus:function(){let n=this,e="";setTimeout(()=>{n.cmpP1=an(n.cmpsL1,n.indP1,{}),n.cmpsL2=an(n.cmpP1,"cmps",[]);let t=an(n.cmpP1,"name","");t&&(e=t)},50),setTimeout(()=>{let t=an(n.cmpP1,"cmps",[]);n.cmpP2=an(t,n.indP2,{}),n.cmpsL3=an(n.cmpP2,"cmps",[]);let o=an(n.cmpP2,"name","");o&&(e=o)},100),setTimeout(()=>{let t=an(n.cmpP2,"cmps",[]);n.cmpP3=an(t,n.indP3,{}),n.cmpsL4=an(n.cmpP3,"cmps",[]);let o=an(n.cmpP3,"name","");o&&(e=o),n.cmpPick=e},150)},getInd:function(n,e){let t=-1;return Yn(e,(e,o)=>{if(n.name===e.name)return t=o,!1}),t},viewPick:function(n){let e=this,t=n,o="",r=[],i=n=>{Yn(n,(n,e)=>{r.push(e);let a=an(n,"name",""),l=an(n,"cmps",[]);r.join("."),a===t&&(o=JSON.parse(JSON.stringify(r))),l.length>0&&i(l),r.pop()})};i(e.cmpsL1),e.indP1=an(o,0,0),e.indP2=an(o,1,0),e.indP3=an(o,2,0)}}};var sf=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{attrs:{changeMenus:n.changeMenus}},[n.isNarrow?n._e():[t("a",{staticClass:"github-corner",staticStyle:{position:"fixed",top:"0",right:"0",border:"0","z-index":"10000"},attrs:{href:"https://github.com/yuda-lyu/w-flow-vue","aria-label":"View source on GitHub",target:"_blank",rel:"noreferrer noopener"}},[t("svg",{staticStyle:{fill:"rgba(0,0,0,0.25)",color:"#fff",position:"absolute",top:"0",border:"0",right:"0"},attrs:{width:"80",height:"80",viewBox:"0 0 250 250","aria-hidden":"true"}},[t("path",{attrs:{d:"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"}}),t("path",{staticClass:"octo-arm",staticStyle:{"transform-origin":"130px 106px"},attrs:{d:"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2",fill:"currentColor"}}),t("path",{staticClass:"octo-body",attrs:{d:"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z",fill:"currentColor"}})])])],n._v(" "),t("div",{staticStyle:{background:"#f5f5f5"}},[n.cmpsL1&&n.cmpsL1.length>0?t("div",{staticStyle:{width:"calc( 100vw - 20px )","overflow-x":"auto"}},[t("WListHorizontal",{attrs:{items:n.cmpsL1,itemActive:n.cmpP1,itemBackgroundColor:"transparent",itemBackgroundColorHover:"#eee",itemBackgroundColorActive:"#eee",keyText:"name",paddingStyle:{v:12,h:20}},on:{"update:itemActive":[function(e){n.cmpP1=e},function(e){n.indP3=0,n.indP2=0,n.indP1=n.getInd(e,n.cmpsL1)}],"update:item-active":function(e){n.cmpP1=e}},scopedSlots:n._u([{key:"item",fn:function(e){return[t("div",{},[n._v("\n "+n._s(e.item.name)+"\n ")])]}}],null,!1,474938045)}),n._v(" "),t("div",{staticStyle:{height:"1px",background:"#ddd"}})],1):n._e(),n._v(" "),n.cmpsL2&&n.cmpsL2.length>0?t("div",{staticStyle:{width:"calc( 100vw - 20px )","overflow-x":"auto"}},[t("div",{staticStyle:{height:"3px",background:"#fff"}}),n._v(" "),t("WListHorizontal",{attrs:{items:n.cmpsL2,itemActive:n.cmpP2,itemBackgroundColor:"transparent",itemBackgroundColorHover:"#eee",itemBackgroundColorActive:"#eee",keyText:"name",paddingStyle:{v:12,h:20}},on:{"update:itemActive":[function(e){n.cmpP2=e},function(e){n.indP3=0,n.indP2=n.getInd(e,n.cmpsL2)}],"update:item-active":function(e){n.cmpP2=e}},scopedSlots:n._u([{key:"item",fn:function(e){return[t("div",{},[n._v("\n "+n._s(e.item.name)+"\n ")])]}}],null,!1,474938045)}),n._v(" "),t("div",{staticStyle:{height:"1px",background:"#ddd"}})],1):n._e(),n._v(" "),n.cmpsL3&&n.cmpsL3.length>0?t("div",{staticStyle:{width:"calc( 100vw - 20px )","overflow-x":"auto"}},[t("div",{staticStyle:{height:"3px",background:"#fff"}}),n._v(" "),t("WListHorizontal",{attrs:{items:n.cmpsL3,itemActive:n.cmpP3,itemBackgroundColor:"transparent",itemBackgroundColorHover:"#eee",itemBackgroundColorActive:"#eee",keyText:"name",paddingStyle:{v:12,h:20}},on:{"update:itemActive":[function(e){n.cmpP3=e},function(e){n.indP3=n.getInd(e,n.cmpsL3)}],"update:item-active":function(e){n.cmpP3=e}},scopedSlots:n._u([{key:"item",fn:function(e){return[t("div",{},[n._v("\n "+n._s(e.item.name)+"\n ")])]}}],null,!1,474938045)}),n._v(" "),t("div",{staticStyle:{height:"1px",background:"#ddd"}})],1):n._e()]),n._v(" "),t("div",{staticClass:"bkh"},["size"===n.cmpPick?t("AppBasic"):n._e(),n._v(" "),"connectivity"===n.cmpPick?t("AppConnectivity"):n._e()],1)],2)};sf._withStripped=!0;return Ur({render:sf,staticRenderFns:[]},function(n){n&&n("data-v-75990e3d_0",{source:"\n.item-link {\r\n display: inline-block;\r\n margin: 10px 10px 0px 0px;\r\n padding: 5px 10px;\r\n font-size: 0.8rem;\r\n color: #fff;\r\n background-color: #443a65;\r\n cursor: pointer;\r\n text-decoration: none;\n}\n.bkh { /* 寬 */\r\n padding:20px;\n}\n@media screen and (max-width:800px){ /* 中 */\n.bkh {\r\n padding:10px;\n}\n}\n@media screen and (max-width:400px){ /* 窄 */\n.bkh {\r\n padding:5px;\n}\n}\n.bkp { /* 寬 */\r\n padding:0px 20px;\n}\n@media screen and (max-width:800px){ /* 中 */\n.bkp {\r\n padding:0px 10px;\n}\n}\n@media screen and (max-width:400px){ /* 窄 */\n.bkp {\r\n padding:0px 5px;\n}\n}\r\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-104-5-w-flow-vue\\w-flow-vue\\src\\App.vue"],names:[],mappings:";AAiSA;IACA,qBAAA;IACA,yBAAA;IACA,iBAAA;IACA,iBAAA;IACA,WAAA;IACA,yBAAA;IACA,eAAA;IACA,qBAAA;AACA;AACA,OAAA,MAAA;IACA,YAAA;AACA;AACA,qCAAA,MAAA;AACA;QACA,YAAA;AACA;AACA;AACA,qCAAA,MAAA;AACA;QACA,WAAA;AACA;AACA;AACA,OAAA,MAAA;IACA,gBAAA;AACA;AACA,qCAAA,MAAA;AACA;QACA,gBAAA;AACA;AACA;AACA,qCAAA,MAAA;AACA;QACA,eAAA;AACA;AACA",file:"App.vue",sourcesContent:['<template>\r\n <div\r\n style=""\r\n :changeMenus="changeMenus"\r\n >\r\n\r\n\r\n <template v-if="!isNarrow">\r\n <a href="https://github.com/yuda-lyu/w-flow-vue" class="github-corner" style="position:fixed; top:0; right:0; border:0; z-index:10000;" aria-label="View source on GitHub" target="_blank" rel="noreferrer noopener">\r\n <svg width="80" height="80" viewBox="0 0 250 250" style="fill:rgba(0,0,0,0.25); color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg>\r\n </a>\r\n </template>\r\n\r\n\r\n <div style="background:#f5f5f5;">\r\n\r\n <div style="width:calc( 100vw - 20px ); overflow-x:auto;" v-if="cmpsL1 && cmpsL1.length>0">\r\n <WListHorizontal\r\n :items="cmpsL1"\r\n :itemActive.sync="cmpP1"\r\n :itemBackgroundColor="\'transparent\'"\r\n :itemBackgroundColorHover="\'#eee\'"\r\n :itemBackgroundColorActive="\'#eee\'"\r\n :keyText="\'name\'"\r\n :paddingStyle="{v:12,h:20}"\r\n @update:itemActive="(v)=>{indP3=0;indP2=0;indP1=getInd(v,cmpsL1)}"\r\n >\r\n <template v-slot:item="props">\r\n <div style="">\r\n {{props.item.name}}\r\n </div>\r\n </template>\r\n </WListHorizontal>\r\n <div style="height:1px; background:#ddd;"></div>\r\n </div>\r\n\r\n\r\n <div style="width:calc( 100vw - 20px ); overflow-x:auto;" v-if="cmpsL2 && cmpsL2.length>0">\r\n <div style="height:3px; background:#fff;"></div>\r\n <WListHorizontal\r\n :items="cmpsL2"\r\n :itemActive.sync="cmpP2"\r\n :itemBackgroundColor="\'transparent\'"\r\n :itemBackgroundColorHover="\'#eee\'"\r\n :itemBackgroundColorActive="\'#eee\'"\r\n :keyText="\'name\'"\r\n :paddingStyle="{v:12,h:20}"\r\n @update:itemActive="(v)=>{indP3=0;indP2=getInd(v,cmpsL2)}"\r\n >\r\n <template v-slot:item="props">\r\n <div style="">\r\n {{props.item.name}}\r\n </div>\r\n </template>\r\n </WListHorizontal>\r\n <div style="height:1px; background:#ddd;"></div>\r\n </div>\r\n\r\n <div style="width:calc( 100vw - 20px ); overflow-x:auto;" v-if="cmpsL3 && cmpsL3.length>0">\r\n <div style="height:3px; background:#fff;"></div>\r\n <WListHorizontal\r\n :items="cmpsL3"\r\n :itemActive.sync="cmpP3"\r\n :itemBackgroundColor="\'transparent\'"\r\n :itemBackgroundColorHover="\'#eee\'"\r\n :itemBackgroundColorActive="\'#eee\'"\r\n :keyText="\'name\'"\r\n :paddingStyle="{v:12,h:20}"\r\n @update:itemActive="(v)=>{indP3=getInd(v,cmpsL3)}"\r\n >\r\n <template v-slot:item="props">\r\n <div style="">\r\n {{props.item.name}}\r\n </div>\r\n </template>\r\n </WListHorizontal>\r\n <div style="height:1px; background:#ddd;"></div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class="bkh">\r\n\r\n <AppBasic v-if="cmpPick===\'size\'"></AppBasic>\r\n <AppConnectivity v-if="cmpPick===\'connectivity\'"></AppConnectivity>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport get from \'lodash-es/get.js\'\r\nimport each from \'lodash-es/each.js\'\r\n// import cloneDeep from \'lodash-es/cloneDeep.js\'\r\nimport urlParse from \'wsemi/src/urlParse.mjs\'\r\nimport WListHorizontal from \'w-component-vue/src/components/WListHorizontal.vue\'\r\nimport AppBasic from \'./AppBasic.vue\'\r\nimport AppConnectivity from \'./AppConnectivity.vue\'\r\n\r\n\r\nexport default {\r\n components: {\r\n WListHorizontal,\r\n AppBasic,\r\n AppConnectivity,\r\n },\r\n data: function() {\r\n let cmps = [\r\n {\r\n name: \'basic\',\r\n cmps: [\r\n { name: \'size\' },\r\n { name: \'connectivity\' },\r\n ],\r\n },\r\n ]\r\n return {\r\n\r\n cmpsL1: cmps,\r\n indP1: null,\r\n cmpP1: null,\r\n\r\n cmpsL2: null,\r\n indP2: null,\r\n cmpP2: null,\r\n\r\n cmpsL3: null,\r\n indP3: null,\r\n cmpP3: null,\r\n\r\n cmpsL4: null,\r\n\r\n cmpPick: \'\',\r\n\r\n }\r\n },\r\n mounted: function() {\r\n let vo = this\r\n\r\n //default\r\n vo.indP1 = 0\r\n vo.indP2 = 0\r\n vo.indP3 = 0\r\n\r\n //urlParse, http://localhost:8080/?cmp=w-set-multi\r\n let p = urlParse(location.href)\r\n // console.log(\'p\', p)\r\n\r\n //viewPick\r\n vo.viewPick(get(p, \'cmp\', \'\'))\r\n\r\n },\r\n computed: {\r\n\r\n changeMenus: function() {\r\n let vo = this\r\n vo.modifyMenus(vo.indP1, vo.indP2, vo.indP3)\r\n return \'\'\r\n },\r\n\r\n isNarrow: function() {\r\n return window.innerWidth < 1000\r\n },\r\n\r\n },\r\n methods: {\r\n\r\n modifyMenus: function() {\r\n let vo = this\r\n\r\n let cmpPick = \'\'\r\n\r\n setTimeout(() => {\r\n\r\n // console.log(\'call P1\')\r\n vo.cmpP1 = get(vo.cmpsL1, vo.indP1, {})\r\n vo.cmpsL2 = get(vo.cmpP1, `cmps`, [])\r\n let _cmpPick = get(vo.cmpP1, `name`, \'\')\r\n if (_cmpPick) {\r\n cmpPick = _cmpPick\r\n }\r\n // console.log(\'vo.cmpP1\', cloneDeep(vo.cmpP1))\r\n // console.log(\'vo.cmpsL2\', cloneDeep(vo.cmpsL2))\r\n\r\n }, 50)\r\n\r\n setTimeout(() => {\r\n\r\n // console.log(\'call P2\')\r\n let cmps = get(vo.cmpP1, `cmps`, [])\r\n vo.cmpP2 = get(cmps, vo.indP2, {})\r\n vo.cmpsL3 = get(vo.cmpP2, `cmps`, [])\r\n let _cmpPick = get(vo.cmpP2, `name`, \'\')\r\n if (_cmpPick) {\r\n cmpPick = _cmpPick\r\n }\r\n // console.log(\'vo.cmpP2\', cloneDeep(vo.cmpP2))\r\n // console.log(\'vo.cmpsL3\', cloneDeep(vo.cmpsL3))\r\n\r\n }, 100)\r\n\r\n setTimeout(() => {\r\n\r\n // console.log(\'call P3\')\r\n let cmps = get(vo.cmpP2, `cmps`, [])\r\n vo.cmpP3 = get(cmps, vo.indP3, {})\r\n vo.cmpsL4 = get(vo.cmpP3, `cmps`, [])\r\n let _cmpPick = get(vo.cmpP3, `name`, \'\')\r\n if (_cmpPick) {\r\n cmpPick = _cmpPick\r\n }\r\n // console.log(\'vo.cmpP3\', cloneDeep(vo.cmpP3))\r\n // console.log(\'vo.cmpsL4\', cloneDeep(vo.cmpsL4))\r\n\r\n //update\r\n vo.cmpPick = cmpPick\r\n // console.log(\'cmpPick\', cmpPick)\r\n\r\n }, 150)\r\n\r\n },\r\n\r\n getInd: function(item, items) {\r\n // let vo = this\r\n let ind = -1\r\n each(items, (v, k) => {\r\n if (item.name === v.name) {\r\n ind = k\r\n return false //跳出\r\n }\r\n })\r\n return ind\r\n },\r\n\r\n viewPick: function(cmpPick) {\r\n let vo = this\r\n let _cmpPick = cmpPick\r\n let r = \'\'\r\n let rs = []\r\n let ls = []\r\n let pv = (ts) => {\r\n each(ts, (v, k) => {\r\n ls.push(k)\r\n\r\n //name, _name\r\n let name = get(v, `name`, \'\')\r\n let _name = name\r\n\r\n //cmps\r\n let cmps = get(v, `cmps`, [])\r\n\r\n //push\r\n let cls = ls.join(\'.\')\r\n let b = _name === _cmpPick\r\n rs.push({\r\n cls,\r\n name,\r\n b,\r\n })\r\n\r\n //save\r\n if (b) {\r\n r = JSON.parse(JSON.stringify(ls))\r\n }\r\n\r\n //遞迴pv\r\n if (cmps.length > 0) {\r\n pv(cmps)\r\n }\r\n\r\n ls.pop()\r\n })\r\n }\r\n pv(vo.cmpsL1)\r\n // console.log(\'rs\', rs)\r\n // console.log(\'r\', r)\r\n vo.indP1 = get(r, 0, 0)\r\n vo.indP2 = get(r, 1, 0)\r\n vo.indP3 = get(r, 2, 0)\r\n },\r\n\r\n },\r\n}\r\n<\/script>\r\n\r\n<style>\r\n.item-link {\r\n display: inline-block;\r\n margin: 10px 10px 0px 0px;\r\n padding: 5px 10px;\r\n font-size: 0.8rem;\r\n color: #fff;\r\n background-color: #443a65;\r\n cursor: pointer;\r\n text-decoration: none;\r\n}\r\n.bkh { /* 寬 */\r\n padding:20px;\r\n}\r\n@media screen and (max-width:800px){ /* 中 */\r\n .bkh {\r\n padding:10px;\r\n }\r\n}\r\n@media screen and (max-width:400px){ /* 窄 */\r\n .bkh {\r\n padding:5px;\r\n }\r\n}\r\n.bkp { /* 寬 */\r\n padding:0px 20px;\r\n}\r\n@media screen and (max-width:800px){ /* 中 */\r\n .bkp {\r\n padding:0px 10px;\r\n }\r\n}\r\n@media screen and (max-width:400px){ /* 窄 */\r\n .bkp {\r\n padding:0px 5px;\r\n }\r\n}\r\n</style>\r\n']},media:void 0})},lf,void 0,false,void 0,!1,Gr,void 0,void 0)});
20
+ //# sourceMappingURL=app.umd.js.map