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,15 @@
1
+ /*!
2
+ * w-flow-vue 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)["w-flow-vue"]=e()}(this,function(){"use strict";var n={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}}};function e(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 t="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function o(n){return(n,e)=>function(n,e){const o=t?e.media||"default":n,a=i[o]||(i[o]={ids:new Set,styles:[]});if(!a.ids.has(n)){a.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))))+" */"),a.element||(a.element=document.createElement("style"),a.element.type="text/css",e.media&&a.element.setAttribute("media",e.media),void 0===r&&(r=document.head||document.getElementsByTagName("head")[0]),r.appendChild(a.element)),"styleSheet"in a.element)a.styles.push(t),a.element.styleSheet.cssText=a.styles.filter(Boolean).join("\n");else{const n=a.ids.size-1,e=document.createTextNode(t),o=a.element.childNodes;o[n]&&a.element.removeChild(o[n]),o.length?a.element.insertBefore(e,o[n]):a.element.appendChild(e)}}}(n,e)}let r;const i={};const a=n;var l=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)};l._withStripped=!0;const s=e({render:l,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})},a,"data-v-52c7d1e4",false,void 0,!1,o,void 0,void 0);const d={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 u=function(){var n=this,e=n.$createElement;return(n._self._c||e)("div",{staticClass:"vue-flow__viewport",style:n.transformStyle},[n._t("default")],2)};u._withStripped=!0;const c=e({render:u,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})},d,"data-v-440ac10e",false,void 0,!1,o,void 0,void 0);const p={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 f=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+")"}})])};f._withStripped=!0;const h=e({render:f,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})},p,"data-v-7704128d",false,void 0,!1,o,void 0,void 0);const g={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 v=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()};v._withStripped=!0;const m=e({render:v,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})},g,"data-v-70132985",false,void 0,!1,o,void 0,void 0);const b={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 A=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()])};A._withStripped=!0;const y=e({render:A,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})},b,"data-v-9a58d79e",false,void 0,!1,o,void 0,void 0);const C={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 x=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)}}})};x._withStripped=!0;const w=e({render:x,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})},C,"data-v-2bcda3a0",false,void 0,!1,o,void 0,void 0);const S={name:"DefaultNode",components:{Handle:w},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 k=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)};k._withStripped=!0;const _=e({render:k,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})},S,"data-v-6bc50f52",false,void 0,!1,o,void 0,void 0);const B={name:"InputNode",components:{Handle:w},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 z=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)};z._withStripped=!0;const T=e({render:z,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})},B,"data-v-4eb042f4",false,void 0,!1,o,void 0,void 0);const P={name:"OutputNode",components:{Handle:w},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 E=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)};E._withStripped=!0;const F=e({render:E,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})},P,"data-v-82abbe64",false,void 0,!1,o,void 0,void 0),$={basic:_,input:T,output:F};const I={name:"NodeBody",components:{NodeFace:y,DefaultNode:_,InputNode:T,OutputNode:F},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 $[this.node.type||"basic"]||_},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 W=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)};W._withStripped=!0;const N=e({render:W,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})},I,"data-v-13def85e",false,void 0,!1,o,void 0,void 0);var H=Array.isArray,M="object"==typeof global&&global&&global.Object===Object&&global,D="object"==typeof self&&self&&self.Object===Object&&self,L=M||D||Function("return this")(),R=L.Symbol,j=Object.prototype,O=j.hasOwnProperty,V=j.toString,Y=R?R.toStringTag:void 0;var U=Object.prototype.toString;var X=R?R.toStringTag:void 0;function G(n){return null==n?void 0===n?"[object Undefined]":"[object Null]":X&&X in Object(n)?function(n){var e=O.call(n,Y),t=n[Y];try{n[Y]=void 0;var o=!0}catch(n){}var r=V.call(n);return o&&(e?n[Y]=t:delete n[Y]),r}(n):function(n){return U.call(n)}(n)}function Z(n){return null!=n&&"object"==typeof n}function q(n){return"symbol"==typeof n||Z(n)&&"[object Symbol]"==G(n)}var Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/;function K(n,e){if(H(n))return!1;var t=typeof n;return!("number"!=t&&"symbol"!=t&&"boolean"!=t&&null!=n&&!q(n))||(J.test(n)||!Q.test(n)||null!=e&&n in Object(e))}function nn(n){var e=typeof n;return null!=n&&("object"==e||"function"==e)}function en(n){if(!nn(n))return!1;var e=G(n);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var tn,on=L["__core-js_shared__"],rn=(tn=/[^.]+$/.exec(on&&on.keys&&on.keys.IE_PROTO||""))?"Symbol(src)_1."+tn:"";var an=Function.prototype.toString;function ln(n){if(null!=n){try{return an.call(n)}catch(n){}try{return n+""}catch(n){}}return""}var sn=/^\[object .+?Constructor\]$/,dn=Function.prototype,un=Object.prototype,cn=dn.toString,pn=un.hasOwnProperty,fn=RegExp("^"+cn.call(pn).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function hn(n){return!(!nn(n)||(e=n,rn&&rn in e))&&(en(n)?fn:sn).test(ln(n));var e}function gn(n,e){var t=function(n,e){return null==n?void 0:n[e]}(n,e);return hn(t)?t:void 0}var vn=gn(Object,"create");var mn=Object.prototype.hasOwnProperty;var bn=Object.prototype.hasOwnProperty;function An(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 yn(n,e){return n===e||n!=n&&e!=e}function Cn(n,e){for(var t=n.length;t--;)if(yn(n[t][0],e))return t;return-1}An.prototype.clear=function(){this.__data__=vn?vn(null):{},this.size=0},An.prototype.delete=function(n){var e=this.has(n)&&delete this.__data__[n];return this.size-=e?1:0,e},An.prototype.get=function(n){var e=this.__data__;if(vn){var t=e[n];return"__lodash_hash_undefined__"===t?void 0:t}return mn.call(e,n)?e[n]:void 0},An.prototype.has=function(n){var e=this.__data__;return vn?void 0!==e[n]:bn.call(e,n)},An.prototype.set=function(n,e){var t=this.__data__;return this.size+=this.has(n)?0:1,t[n]=vn&&void 0===e?"__lodash_hash_undefined__":e,this};var xn=Array.prototype.splice;function wn(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])}}wn.prototype.clear=function(){this.__data__=[],this.size=0},wn.prototype.delete=function(n){var e=this.__data__,t=Cn(e,n);return!(t<0)&&(t==e.length-1?e.pop():xn.call(e,t,1),--this.size,!0)},wn.prototype.get=function(n){var e=this.__data__,t=Cn(e,n);return t<0?void 0:e[t][1]},wn.prototype.has=function(n){return Cn(this.__data__,n)>-1},wn.prototype.set=function(n,e){var t=this.__data__,o=Cn(t,n);return o<0?(++this.size,t.push([n,e])):t[o][1]=e,this};var Sn=gn(L,"Map");function kn(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 _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])}}_n.prototype.clear=function(){this.size=0,this.__data__={hash:new An,map:new(Sn||wn),string:new An}},_n.prototype.delete=function(n){var e=kn(this,n).delete(n);return this.size-=e?1:0,e},_n.prototype.get=function(n){return kn(this,n).get(n)},_n.prototype.has=function(n){return kn(this,n).has(n)},_n.prototype.set=function(n,e){var t=kn(this,n),o=t.size;return t.set(n,e),this.size+=t.size==o?0:1,this};function Bn(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(Bn.Cache||_n),t}Bn.Cache=_n;var zn,Tn,Pn,En=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Fn=/\\(\\)?/g,$n=(zn=function(n){var e=[];return 46===n.charCodeAt(0)&&e.push(""),n.replace(En,function(n,t,o,r){e.push(o?r.replace(Fn,"$1"):t||n)}),e},Tn=Bn(zn,function(n){return 500===Pn.size&&Pn.clear(),n}),Pn=Tn.cache,Tn),In=$n;function Wn(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 Nn=R?R.prototype:void 0,Hn=Nn?Nn.toString:void 0;function Mn(n){if("string"==typeof n)return n;if(H(n))return Wn(n,Mn)+"";if(q(n))return Hn?Hn.call(n):"";var e=n+"";return"0"==e&&1/n==-1/0?"-0":e}function Dn(n){return null==n?"":Mn(n)}function Ln(n,e){return H(n)?n:K(n,e)?[n]:In(Dn(n))}function Rn(n){if("string"==typeof n||q(n))return n;var e=n+"";return"0"==e&&1/n==-1/0?"-0":e}function jn(n,e){for(var t=0,o=(e=Ln(e,n)).length;null!=n&&t<o;)n=n[Rn(e[t++])];return t&&t==o?n:void 0}function On(n,e,t){var o=null==n?void 0:jn(n,e);return void 0===o?t:o}function Vn(n){let e=Object.prototype.toString.call(n);return"[object Function]"===e||"[object AsyncFunction]"===e}function Yn(n,e){return function(t){return n(e(t))}}var Un=Yn(Object.getPrototypeOf,Object),Xn=Function.prototype,Gn=Object.prototype,Zn=Xn.toString,qn=Gn.hasOwnProperty,Qn=Zn.call(Object);function Jn(n){return Z(n)&&1===n.nodeType&&!function(n){if(!Z(n)||"[object Object]"!=G(n))return!1;var e=Un(n);if(null===e)return!0;var t=qn.call(e,"constructor")&&e.constructor;return"function"==typeof t&&t instanceof t&&Zn.call(t)==Qn}(n)}function Kn(n){return Jn(n)}function ne(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 ee=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function te(n){return ee.test(n)}var oe="\\ud800-\\udfff",re="["+oe+"]",ie="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",ae="\\ud83c[\\udffb-\\udfff]",le="[^"+oe+"]",se="(?:\\ud83c[\\udde6-\\uddff]){2}",de="[\\ud800-\\udbff][\\udc00-\\udfff]",ue="(?:"+ie+"|"+ae+")"+"?",ce="[\\ufe0e\\ufe0f]?",pe=ce+ue+("(?:\\u200d(?:"+[le,se,de].join("|")+")"+ce+ue+")*"),fe="(?:"+[le+ie+"?",ie,se,de,re].join("|")+")",he=RegExp(ae+"(?="+ae+")|"+fe+pe,"g");function ge(n){return te(n)?function(n){return n.match(he)||[]}(n):function(n){return n.split("")}(n)}var ve,me=(ve="toUpperCase",function(n){var e=te(n=Dn(n))?ge(n):void 0,t=e?e[0]:n.charAt(0),o=e?ne(e,1).join(""):n.slice(1);return t[ve]()+o});var be,Ae=(be={"À":"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==be?void 0:be[n]}),ye=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ce=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");var xe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;var we=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;var Se="\\ud800-\\udfff",ke="\\u2700-\\u27bf",_e="a-z\\xdf-\\xf6\\xf8-\\xff",Be="A-Z\\xc0-\\xd6\\xd8-\\xde",ze="\\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",Te="["+ze+"]",Pe="\\d+",Ee="["+ke+"]",Fe="["+_e+"]",$e="[^"+Se+ze+Pe+ke+_e+Be+"]",Ie="(?:\\ud83c[\\udde6-\\uddff]){2}",We="[\\ud800-\\udbff][\\udc00-\\udfff]",Ne="["+Be+"]",He="(?:"+Fe+"|"+$e+")",Me="(?:"+Ne+"|"+$e+")",De="(?:['’](?:d|ll|m|re|s|t|ve))?",Le="(?:['’](?:D|LL|M|RE|S|T|VE))?",Re="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",je="[\\ufe0e\\ufe0f]?",Oe=je+Re+("(?:\\u200d(?:"+["[^"+Se+"]",Ie,We].join("|")+")"+je+Re+")*"),Ve="(?:"+[Ee,Ie,We].join("|")+")"+Oe,Ye=RegExp([Ne+"?"+Fe+"+"+De+"(?="+[Te,Ne,"$"].join("|")+")",Me+"+"+Le+"(?="+[Te,Ne+He,"$"].join("|")+")",Ne+"?"+He+"+"+De,Ne+"+"+Le,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Pe,Ve].join("|"),"g");function Ue(n,e,t){return n=Dn(n),void 0===(e=t?void 0:e)?function(n){return we.test(n)}(n)?function(n){return n.match(Ye)||[]}(n):function(n){return n.match(xe)||[]}(n):n.match(e)||[]}var Xe=RegExp("['’]","g");var Ge,Ze=(Ge=function(n,e,t){return e=e.toLowerCase(),n+(t?me(Dn(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}(Ue(function(n){return(n=Dn(n))&&n.replace(ye,Ae).replace(Ce,"")}(n).replace(Xe,"")),Ge,"")}),qe=Ze;function Qe(n){return"number"==typeof n&&n>-1&&n%1==0&&n<=9007199254740991}function Je(n){return null!=n&&Qe(n.length)&&!en(n)}var Ke=/^(?:0|[1-9]\d*)$/;function nt(n,e){var t=typeof n;return!!(e=null==e?9007199254740991:e)&&("number"==t||"symbol"!=t&&Ke.test(n))&&n>-1&&n%1==0&&n<e}function et(n,e,t){if(!nn(t))return!1;var o=typeof e;return!!("number"==o?Je(t)&&nt(e,t.length):"string"==o&&e in t)&&yn(t[e],n)}function tt(n){return function(e){return n(e)}}var ot="object"==typeof exports&&exports&&!exports.nodeType&&exports,rt=ot&&"object"==typeof module&&module&&!module.nodeType&&module,it=rt&&rt.exports===ot&&M.process,at=function(){try{var n=rt&&rt.require&&rt.require("util").types;return n||it&&it.binding&&it.binding("util")}catch(n){}}(),lt=at&&at.isRegExp,st=lt?tt(lt):function(n){return Z(n)&&"[object RegExp]"==G(n)};function dt(n,e,t){return t&&"number"!=typeof t&&et(n,e,t)&&(e=t=void 0),(t=void 0===t?4294967295:t>>>0)?(n=Dn(n))&&("string"==typeof e||null!=e&&!st(e))&&!(e=Mn(e))&&te(n)?ne(ge(n),0,t):n.split(e,t):[]}var ut=Object.prototype;function ct(n){var e=n&&n.constructor;return n===("function"==typeof e&&e.prototype||ut)}var pt=Yn(Object.keys,Object),ft=Object.prototype.hasOwnProperty;function ht(n){if(!ct(n))return pt(n);var e=[];for(var t in Object(n))ft.call(n,t)&&"constructor"!=t&&e.push(t);return e}var gt=gn(L,"DataView"),vt=gn(L,"Promise"),mt=gn(L,"Set"),bt=gn(L,"WeakMap"),At="[object Map]",yt="[object Promise]",Ct="[object Set]",xt="[object WeakMap]",wt="[object DataView]",St=ln(gt),kt=ln(Sn),_t=ln(vt),Bt=ln(mt),zt=ln(bt),Tt=G;(gt&&Tt(new gt(new ArrayBuffer(1)))!=wt||Sn&&Tt(new Sn)!=At||vt&&Tt(vt.resolve())!=yt||mt&&Tt(new mt)!=Ct||bt&&Tt(new bt)!=xt)&&(Tt=function(n){var e=G(n),t="[object Object]"==e?n.constructor:void 0,o=t?ln(t):"";if(o)switch(o){case St:return wt;case kt:return At;case _t:return yt;case Bt:return Ct;case zt:return xt}return e});var Pt=Tt;function Et(n){return function(e){return null==e?void 0:e[n]}}var Ft=Et("length"),$t="\\ud800-\\udfff",It="["+$t+"]",Wt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Nt="\\ud83c[\\udffb-\\udfff]",Ht="[^"+$t+"]",Mt="(?:\\ud83c[\\udde6-\\uddff]){2}",Dt="[\\ud800-\\udbff][\\udc00-\\udfff]",Lt="(?:"+Wt+"|"+Nt+")"+"?",Rt="[\\ufe0e\\ufe0f]?",jt=Rt+Lt+("(?:\\u200d(?:"+[Ht,Mt,Dt].join("|")+")"+Rt+Lt+")*"),Ot="(?:"+[Ht+Wt+"?",Wt,Mt,Dt,It].join("|")+")",Vt=RegExp(Nt+"(?="+Nt+")|"+Ot+jt,"g");function Yt(n){return te(n)?function(n){for(var e=Vt.lastIndex=0;Vt.test(n);)++e;return e}(n):Ft(n)}function Ut(n){if(null==n)return 0;if(Je(n))return"string"==typeof(e=n)||!H(e)&&Z(e)&&"[object String]"==G(e)?Yt(n):n.length;var e,t=Pt(n);return"[object Map]"==t||"[object Set]"==t?n.size:ht(n).length}function Xt(n){return"[object String]"===Object.prototype.toString.call(n)}function Gt(n){return!(!Xt(n)||""===n)}let Zt={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 qt(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=dt(n," ");return 1===Ut(e)&&(e[1]=null),e}(n),t=function(n,e,t){let o=On(Zt,`default.${n}.${e}`,null);return null===o&&(o=t),o}(function(n){let e=n.trim();return e=qe(e),e}(e[0]),function(n){Gt(n)||(n="base");let e=n.trim();return e=e.replace("-","").trim(),e}(e[1]),n);return t}function Qt(n){var e=this.__data__=new wn(n);this.size=e.size}function Jt(n,e){for(var t=-1,o=null==n?0:n.length;++t<o&&!1!==e(n[t],t,n););return n}Qt.prototype.clear=function(){this.__data__=new wn,this.size=0},Qt.prototype.delete=function(n){var e=this.__data__,t=e.delete(n);return this.size=e.size,t},Qt.prototype.get=function(n){return this.__data__.get(n)},Qt.prototype.has=function(n){return this.__data__.has(n)},Qt.prototype.set=function(n,e){var t=this.__data__;if(t instanceof wn){var o=t.__data__;if(!Sn||o.length<199)return o.push([n,e]),this.size=++t.size,this;t=this.__data__=new _n(o)}return t.set(n,e),this.size=t.size,this};var Kt=function(){try{var n=gn(Object,"defineProperty");return n({},"",{}),n}catch(n){}}(),no=Kt;function eo(n,e,t){"__proto__"==e&&no?no(n,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):n[e]=t}var to=Object.prototype.hasOwnProperty;function oo(n,e,t){var o=n[e];to.call(n,e)&&yn(o,t)&&(void 0!==t||e in n)||eo(n,e,t)}function ro(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?eo(t,l,s):oo(t,l,s)}return t}function io(n){return Z(n)&&"[object Arguments]"==G(n)}var ao=Object.prototype,lo=ao.hasOwnProperty,so=ao.propertyIsEnumerable,uo=io(function(){return arguments}())?io:function(n){return Z(n)&&lo.call(n,"callee")&&!so.call(n,"callee")},co=uo;var po="object"==typeof exports&&exports&&!exports.nodeType&&exports,fo=po&&"object"==typeof module&&module&&!module.nodeType&&module,ho=fo&&fo.exports===po?L.Buffer:void 0,go=(ho?ho.isBuffer:void 0)||function(){return!1},vo={};vo["[object Float32Array]"]=vo["[object Float64Array]"]=vo["[object Int8Array]"]=vo["[object Int16Array]"]=vo["[object Int32Array]"]=vo["[object Uint8Array]"]=vo["[object Uint8ClampedArray]"]=vo["[object Uint16Array]"]=vo["[object Uint32Array]"]=!0,vo["[object Arguments]"]=vo["[object Array]"]=vo["[object ArrayBuffer]"]=vo["[object Boolean]"]=vo["[object DataView]"]=vo["[object Date]"]=vo["[object Error]"]=vo["[object Function]"]=vo["[object Map]"]=vo["[object Number]"]=vo["[object Object]"]=vo["[object RegExp]"]=vo["[object Set]"]=vo["[object String]"]=vo["[object WeakMap]"]=!1;var mo=at&&at.isTypedArray,bo=mo?tt(mo):function(n){return Z(n)&&Qe(n.length)&&!!vo[G(n)]},Ao=Object.prototype.hasOwnProperty;function yo(n,e){var t=H(n),o=!t&&co(n),r=!t&&!o&&go(n),i=!t&&!o&&!r&&bo(n),a=t||o||r||i,l=a?function(n,e){for(var t=-1,o=Array(n);++t<n;)o[t]=e(t);return o}(n.length,String):[],s=l.length;for(var d in n)!e&&!Ao.call(n,d)||a&&("length"==d||r&&("offset"==d||"parent"==d)||i&&("buffer"==d||"byteLength"==d||"byteOffset"==d)||nt(d,s))||l.push(d);return l}function Co(n){return Je(n)?yo(n):ht(n)}var xo=Object.prototype.hasOwnProperty;function wo(n){if(!nn(n))return function(n){var e=[];if(null!=n)for(var t in Object(n))e.push(t);return e}(n);var e=ct(n),t=[];for(var o in n)("constructor"!=o||!e&&xo.call(n,o))&&t.push(o);return t}function So(n){return Je(n)?yo(n,!0):wo(n)}var ko="object"==typeof exports&&exports&&!exports.nodeType&&exports,_o=ko&&"object"==typeof module&&module&&!module.nodeType&&module,Bo=_o&&_o.exports===ko?L.Buffer:void 0,zo=Bo?Bo.allocUnsafe:void 0;function To(n,e){var t=-1,o=n.length;for(e||(e=Array(o));++t<o;)e[t]=n[t];return e}function Po(){return[]}var Eo=Object.prototype.propertyIsEnumerable,Fo=Object.getOwnPropertySymbols,$o=Fo?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}(Fo(n),function(e){return Eo.call(n,e)}))}:Po,Io=$o;function Wo(n,e){for(var t=-1,o=e.length,r=n.length;++t<o;)n[r+t]=e[t];return n}var No=Object.getOwnPropertySymbols?function(n){for(var e=[];n;)Wo(e,Io(n)),n=Un(n);return e}:Po,Ho=No;function Mo(n,e,t){var o=e(n);return H(n)?o:Wo(o,t(n))}function Do(n){return Mo(n,Co,Io)}function Lo(n){return Mo(n,So,Ho)}var Ro=Object.prototype.hasOwnProperty;var jo=L.Uint8Array;function Oo(n){var e=new n.constructor(n.byteLength);return new jo(e).set(new jo(n)),e}var Vo=/\w*$/;var Yo=R?R.prototype:void 0,Uo=Yo?Yo.valueOf:void 0;function Xo(n,e,t){var o,r=n.constructor;switch(e){case"[object ArrayBuffer]":return Oo(n);case"[object Boolean]":case"[object Date]":return new r(+n);case"[object DataView]":return function(n,e){var t=e?Oo(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?Oo(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,Vo.exec(n));return e.lastIndex=n.lastIndex,e}(n);case"[object Symbol]":return o=n,Uo?Object(Uo.call(o)):{}}}var Go=Object.create,Zo=function(){function n(){}return function(e){if(!nn(e))return{};if(Go)return Go(e);n.prototype=e;var t=new n;return n.prototype=void 0,t}}(),qo=Zo;var Qo=at&&at.isMap,Jo=Qo?tt(Qo):function(n){return Z(n)&&"[object Map]"==Pt(n)};var Ko=at&&at.isSet,nr=Ko?tt(Ko):function(n){return Z(n)&&"[object Set]"==Pt(n)},er="[object Arguments]",tr="[object Function]",or="[object Object]",rr={};function ir(n,e,t,o,r,i){var a,l=1&e,s=2&e,d=4&e;if(t&&(a=r?t(n,o,r,i):t(n)),void 0!==a)return a;if(!nn(n))return n;var u=H(n);if(u){if(a=function(n){var e=n.length,t=new n.constructor(e);return e&&"string"==typeof n[0]&&Ro.call(n,"index")&&(t.index=n.index,t.input=n.input),t}(n),!l)return To(n,a)}else{var c=Pt(n),p=c==tr||"[object GeneratorFunction]"==c;if(go(n))return function(n,e){if(e)return n.slice();var t=n.length,o=zo?zo(t):new n.constructor(t);return n.copy(o),o}(n,l);if(c==or||c==er||p&&!r){if(a=s||p?{}:function(n){return"function"!=typeof n.constructor||ct(n)?{}:qo(Un(n))}(n),!l)return s?function(n,e){return ro(n,Ho(n),e)}(n,function(n,e){return n&&ro(e,So(e),n)}(a,n)):function(n,e){return ro(n,Io(n),e)}(n,function(n,e){return n&&ro(e,Co(e),n)}(a,n))}else{if(!rr[c])return r?n:{};a=Xo(n,c,l)}}i||(i=new Qt);var f=i.get(n);if(f)return f;i.set(n,a),nr(n)?n.forEach(function(o){a.add(ir(o,e,t,o,n,i))}):Jo(n)&&n.forEach(function(o,r){a.set(r,ir(o,e,t,r,n,i))});var h=u?void 0:(d?s?Lo:Do:s?So:Co)(n);return Jt(h||n,function(o,r){h&&(o=n[r=o]),oo(a,r,ir(o,e,t,r,n,i))}),a}rr[er]=rr["[object Array]"]=rr["[object ArrayBuffer]"]=rr["[object DataView]"]=rr["[object Boolean]"]=rr["[object Date]"]=rr["[object Float32Array]"]=rr["[object Float64Array]"]=rr["[object Int8Array]"]=rr["[object Int16Array]"]=rr["[object Int32Array]"]=rr["[object Map]"]=rr["[object Number]"]=rr[or]=rr["[object RegExp]"]=rr["[object Set]"]=rr["[object String]"]=rr["[object Symbol]"]=rr["[object Uint8Array]"]=rr["[object Uint8ClampedArray]"]=rr["[object Uint16Array]"]=rr["[object Uint32Array]"]=!0,rr["[object Error]"]=rr[tr]=rr["[object WeakMap]"]=!1;function ar(n){return ir(n,5)}var lr=/\s/;var sr=/^\s+/;function dr(n){return n?n.slice(0,function(n){for(var e=n.length;e--&&lr.test(n.charAt(e)););return e}(n)+1).replace(sr,""):n}var ur=/^[-+]0x[0-9a-f]+$/i,cr=/^0b[01]+$/i,pr=/^0o[0-7]+$/i,fr=parseInt;function hr(n){if("number"==typeof n)return n;if(q(n))return NaN;if(nn(n)){var e="function"==typeof n.valueOf?n.valueOf():n;n=nn(e)?e+"":e}if("string"!=typeof n)return 0===n?n:+n;n=dr(n);var t=cr.test(n);return t||pr.test(n)?fr(n.slice(2),t?2:8):ur.test(n)?NaN:+n}var gr=1/0;function vr(n){return n?(n=hr(n))===gr||n===-1/0?17976931348623157e292*(n<0?-1:1):n==n?n:0:0===n?n:0}function mr(n){var e=vr(n),t=e%1;return e==e?t?e-t:e:0}function br(n){return n!=n}function Ar(n){let e=!1;if(Gt(n))e=!isNaN(Number(n));else if(function(n){return"[object Number]"===Object.prototype.toString.call(n)}(n)){if(br(n))return!1;e=!0}return e}function yr(n){if(!Ar(n))return 0;return vr(n)}function Cr(n){return!!Ar(n)&&(n=yr(n),"number"==typeof(e=n)&&e==mr(e));var e}var xr=L.isFinite,wr=Math.min;var Sr=function(n){var e=Math[n];return function(n,t){if(n=hr(n),(t=null==t?0:wr(mr(t),292))&&xr(n)){var o=(Dn(n)+"e").split("e");return+((o=(Dn(e(o[0]+"e"+(+o[1]+t)))+"e").split("e"))[0]+"e"+(+o[1]-t))}return e(n)}}("round"),kr=Sr;function _r(n){if(!Ar(n))return 0;n=yr(n);let e=kr(n);return"0"===String(e)?0:e}function Br(n){if(!Cr(n))return!1;return _r(n)>0}function zr(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Tr={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}(Tr);var Pr=zr(Tr.exports);function Er(){return new Pr}let Fr="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),$r=Fr.length;function Ir(n=32){let e=[];n=Br(n)?_r(n):32;for(let t=0;t<n;t++)e[t]=Fr[0|Math.random()*$r];return e.join("")}function Wr(){let n={};return{bind:function(e,t,o){let r=`r${Ir()}`;e.setAttribute("ev-resize",r);let i=function(n,e={}){let t=On(e,"timeInterval",null);Br(t)||(t=20);let o=On(e,"tolerancePixel",null);Br(o)||(o=1);let r,i=Er(),a={offsetWidth:0,offsetHeight:0,clientWidth:0,clientHeight:0,windowWidth:0,windowHeight:0},l=ar(a),s={width:"",height:""};if(!Vn(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])}}}function Nr(n){return n}var Hr=Math.max;var Mr=no?function(n,e){return no(n,"toString",{configurable:!0,enumerable:!1,value:(t=e,function(){return t}),writable:!0});var t}:Nr,Dr=Mr,Lr=Date.now;var Rr=function(n){var e=0,t=0;return function(){var o=Lr(),r=16-(o-t);if(t=o,r>0){if(++e>=800)return arguments[0]}else e=0;return n.apply(void 0,arguments)}}(Dr),jr=Rr;function Or(n,e){return jr(function(n,e,t){return e=Hr(void 0===e?n.length-1:e,0),function(){for(var o=arguments,r=-1,i=Hr(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,Nr),n+"")}function Vr(n){return n!=n}function Yr(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,Vr,t)}function Ur(n,e,t,o){for(var r=t-1,i=n.length;++r<i;)if(o(n[r],e))return r;return-1}var Xr=Array.prototype.splice;var Gr=Or(function(n,e){return n&&n.length&&e&&e.length?function(n,e,t,o){var r=o?Ur:Yr,i=-1,a=e.length,l=n;for(n===e&&(e=To(e)),t&&(l=Wn(n,tt(t)));++i<a;)for(var s=0,d=e[i],u=t?t(d):d;(s=r(l,u,s,o))>-1;)l!==n&&Xr.call(l,s,1),Xr.call(n,s,1);return n}(n,e):n});function Zr(n){return"number"==typeof n||Z(n)&&"[object Number]"==G(n)}function qr(n,e,t){if(!Gt(n))return"";if(!Gt(e))return"";if(!Xt(t))return"";return String(n).replaceAll(e,t)}const Qr={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 Jr=function(){var n=this,e=n.$createElement;return(n._self._c||e)("div",[n._t("default")],2)};Jr._withStripped=!0;const Kr=e({render:Jr,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})},Qr,"data-v-9fb85e3e",false,void 0,!1,o,void 0,void 0);function ni(n){return!0===n||!1===n||Z(n)&&"[object Boolean]"==G(n)}function ei(n){return ni(n)}function ti(n){return"[object Object]"===Object.prototype.toString.call(n)}function oi(n){if(ti(n)){for(let e in n)return!0;return!1}return!1}function ri(n,e={}){let t=On(e,"parse");ei(t)||(t=!0);let o=On(e,"ext");oi(o)||(o={});let r=On(e,"semicolon");ei(r)||(r=!0);let i=On(e,"returnObj");ei(i)||(i=!1);let a=0,l=0,s=0,d=0;if(t){let e=function(n,e={}){let t,o=On(e,"def",""),r=On(e,"type","");"num"!==r&&"text"!==r&&(r="num"),"num"===r?t=Zr:"text"===r&&(t=Xt);let i=o,a=o,l=o,s=o;return t(On(n,"h"))&&(i=On(n,"h"),a=i),t(On(n,"v"))&&(l=On(n,"v"),s=l),t(On(n,"left"))&&(i=On(n,"left")),t(On(n,"right"))&&(a=On(n,"right")),t(On(n,"top"))&&(l=On(n,"top")),t(On(n,"bottom"))&&(s=On(n,"bottom")),{left:i,right:a,top:l,bottom:s}}(n);a=e.left,l=e.right,s=e.top,d=e.bottom}a+=On(o,"left",0),l+=On(o,"right",0),s+=On(o,"top",0),d+=On(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}var ii,ai=function(n,e,t){for(var o=-1,r=Object(n),i=t(n),a=i.length;a--;){var l=i[ii?a:++o];if(!1===e(r[l],l,r))break}return n},li=ai;var si=function(n,e){return function(t,o){if(null==t)return t;if(!Je(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&&li(n,e,Co)}),di=si;function ui(n,e){var t;return(H(n)?Jt:di)(n,"function"==typeof(t=e)?t:Nr)}function ci(n,e){return!!ti(n)&&(!(!Gt(e)&&!Ar(e))&&e in n)}function pi(n,e,t){if(!Zr(n))return void console.log("clientX is not a number",n);if(!Zr(e))return void console.log("clientY is not a number",e);if(!Kn(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 fi(n){if(null==n)return window;if("[object Window]"!==n.toString()){var e=n.ownerDocument;return e&&e.defaultView||window}return n}function hi(n){return n instanceof fi(n).Element||n instanceof Element}function gi(n){return n instanceof fi(n).HTMLElement||n instanceof HTMLElement}function vi(n){return"undefined"!=typeof ShadowRoot&&(n instanceof fi(n).ShadowRoot||n instanceof ShadowRoot)}var mi=Math.max,bi=Math.min,Ai=Math.round;function yi(){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 Ci(){return!/^((?!chrome|android).)*safari/i.test(yi())}function xi(n,e,t){void 0===e&&(e=!1),void 0===t&&(t=!1);var o=n.getBoundingClientRect(),r=1,i=1;e&&gi(n)&&(r=n.offsetWidth>0&&Ai(o.width)/n.offsetWidth||1,i=n.offsetHeight>0&&Ai(o.height)/n.offsetHeight||1);var a=(hi(n)?fi(n):window).visualViewport,l=!Ci()&&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 wi(n){var e=fi(n);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Si(n){return n?(n.nodeName||"").toLowerCase():null}function ki(n){return((hi(n)?n.ownerDocument:n.document)||window.document).documentElement}function _i(n){return xi(ki(n)).left+wi(n).scrollLeft}function Bi(n){return fi(n).getComputedStyle(n)}function zi(n){var e=Bi(n),t=e.overflow,o=e.overflowX,r=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+r+o)}function Ti(n,e,t){void 0===t&&(t=!1);var o,r,i=gi(e),a=gi(e)&&function(n){var e=n.getBoundingClientRect(),t=Ai(e.width)/n.offsetWidth||1,o=Ai(e.height)/n.offsetHeight||1;return 1!==t||1!==o}(e),l=ki(e),s=xi(n,a,t),d={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(i||!i&&!t)&&(("body"!==Si(e)||zi(l))&&(d=(o=e)!==fi(o)&&gi(o)?{scrollLeft:(r=o).scrollLeft,scrollTop:r.scrollTop}:wi(o)),gi(e)?((u=xi(e,!0)).x+=e.clientLeft,u.y+=e.clientTop):l&&(u.x=_i(l))),{x:s.left+d.scrollLeft-u.x,y:s.top+d.scrollTop-u.y,width:s.width,height:s.height}}function Pi(n){var e=xi(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 Ei(n){return"html"===Si(n)?n:n.assignedSlot||n.parentNode||(vi(n)?n.host:null)||ki(n)}function Fi(n){return["html","body","#document"].indexOf(Si(n))>=0?n.ownerDocument.body:gi(n)&&zi(n)?n:Fi(Ei(n))}function $i(n,e){var t;void 0===e&&(e=[]);var o=Fi(n),r=o===(null==(t=n.ownerDocument)?void 0:t.body),i=fi(o),a=r?[i].concat(i.visualViewport||[],zi(o)?o:[]):o,l=e.concat(a);return r?l:l.concat($i(Ei(a)))}function Ii(n){return["table","td","th"].indexOf(Si(n))>=0}function Wi(n){return gi(n)&&"fixed"!==Bi(n).position?n.offsetParent:null}function Ni(n){for(var e=fi(n),t=Wi(n);t&&Ii(t)&&"static"===Bi(t).position;)t=Wi(t);return t&&("html"===Si(t)||"body"===Si(t)&&"static"===Bi(t).position)?e:t||function(n){var e=/firefox/i.test(yi());if(/Trident/i.test(yi())&&gi(n)&&"fixed"===Bi(n).position)return null;var t=Ei(n);for(vi(t)&&(t=t.host);gi(t)&&["html","body"].indexOf(Si(t))<0;){var o=Bi(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 Hi="top",Mi="bottom",Di="right",Li="left",Ri="auto",ji=[Hi,Mi,Di,Li],Oi="start",Vi="end",Yi="viewport",Ui="popper",Xi=ji.reduce(function(n,e){return n.concat([e+"-"+Oi,e+"-"+Vi])},[]),Gi=[].concat(ji,[Ri]).reduce(function(n,e){return n.concat([e,e+"-"+Oi,e+"-"+Vi])},[]),Zi=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function qi(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 Qi(n,e){var t=e.getRootNode&&e.getRootNode();if(n.contains(e))return!0;if(t&&vi(t)){var o=e;do{if(o&&n.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function Ji(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function Ki(n,e,t){return e===Yi?Ji(function(n,e){var t=fi(n),o=ki(n),r=t.visualViewport,i=o.clientWidth,a=o.clientHeight,l=0,s=0;if(r){i=r.width,a=r.height;var d=Ci();(d||!d&&"fixed"===e)&&(l=r.offsetLeft,s=r.offsetTop)}return{width:i,height:a,x:l+_i(n),y:s}}(n,t)):hi(e)?function(n,e){var t=xi(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):Ji(function(n){var e,t=ki(n),o=wi(n),r=null==(e=n.ownerDocument)?void 0:e.body,i=mi(t.scrollWidth,t.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),a=mi(t.scrollHeight,t.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),l=-o.scrollLeft+_i(n),s=-o.scrollTop;return"rtl"===Bi(r||t).direction&&(l+=mi(t.clientWidth,r?r.clientWidth:0)-i),{width:i,height:a,x:l,y:s}}(ki(n)))}function na(n,e,t,o){var r="clippingParents"===e?function(n){var e=$i(Ei(n)),t=["absolute","fixed"].indexOf(Bi(n).position)>=0&&gi(n)?Ni(n):n;return hi(t)?e.filter(function(n){return hi(n)&&Qi(n,t)&&"body"!==Si(n)}):[]}(n):[].concat(e),i=[].concat(r,[t]),a=i[0],l=i.reduce(function(e,t){var r=Ki(n,t,o);return e.top=mi(r.top,e.top),e.right=bi(r.right,e.right),e.bottom=bi(r.bottom,e.bottom),e.left=mi(r.left,e.left),e},Ki(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 ea(n){return n.split("-")[0]}function ta(n){return n.split("-")[1]}function oa(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function ra(n){var e,t=n.reference,o=n.element,r=n.placement,i=r?ea(r):null,a=r?ta(r):null,l=t.x+t.width/2-o.width/2,s=t.y+t.height/2-o.height/2;switch(i){case Hi:e={x:l,y:t.y-o.height};break;case Mi:e={x:l,y:t.y+t.height};break;case Di:e={x:t.x+t.width,y:s};break;case Li:e={x:t.x-o.width,y:s};break;default:e={x:t.x,y:t.y}}var d=i?oa(i):null;if(null!=d){var u="y"===d?"height":"width";switch(a){case Oi:e[d]=e[d]-(t[u]/2-o[u]/2);break;case Vi:e[d]=e[d]+(t[u]/2-o[u]/2)}}return e}function ia(n){return Object.assign({},{top:0,right:0,bottom:0,left:0},n)}function aa(n,e){return e.reduce(function(e,t){return e[t]=n,e},{})}function la(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?Yi:d,c=t.elementContext,p=void 0===c?Ui:c,f=t.altBoundary,h=void 0!==f&&f,g=t.padding,v=void 0===g?0:g,m=ia("number"!=typeof v?v:aa(v,ji)),b=p===Ui?"reference":Ui,A=n.rects.popper,y=n.elements[h?b:p],C=na(hi(y)?y:y.contextElement||ki(n.elements.popper),s,u,a),x=xi(n.elements.reference),w=ra({reference:x,element:A,strategy:"absolute",placement:r}),S=Ji(Object.assign({},A,w)),k=p===Ui?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===Ui&&B){var z=B[r];Object.keys(_).forEach(function(n){var e=[Di,Mi].indexOf(n)>=0?1:-1,t=[Hi,Mi].indexOf(n)>=0?"y":"x";_[n]+=z[t]*e})}return _}var sa={placement:"bottom",modifiers:[],strategy:"absolute"};function da(){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 ua(n){void 0===n&&(n={});var e=n,t=e.defaultModifiers,o=void 0===t?[]:t,r=e.defaultOptions,i=void 0===r?sa:r;return function(n,e,t){void 0===t&&(t=i);var r,a,l={placement:"bottom",orderedModifiers:[],options:Object.assign({},sa,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:hi(n)?$i(n):n.contextElement?$i(n.contextElement):[],popper:$i(e)};var a,d,p=function(n){var e=qi(n);return Zi.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(da(e,t)){l.rects={reference:Ti(e,Ni(t),"fixed"===l.options.strategy),popper:Pi(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(!da(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 ca={passive:!0};var pa={top:"auto",right:"auto",bottom:"auto",left:"auto"};function fa(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,g=void 0===h?0:h,v="function"==typeof u?u({x:f,y:g}):{x:f,y:g};f=v.x,g=v.y;var m=a.hasOwnProperty("x"),b=a.hasOwnProperty("y"),A=Li,y=Hi,C=window;if(d){var x=Ni(t),w="clientHeight",S="clientWidth";if(x===fi(t)&&"static"!==Bi(x=ki(t)).position&&"absolute"===l&&(w="scrollHeight",S="scrollWidth"),r===Hi||(r===Li||r===Di)&&i===Vi)y=Mi,g-=(c&&x===C&&C.visualViewport?C.visualViewport.height:x[w])-o.height,g*=s?1:-1;if(r===Li||(r===Hi||r===Mi)&&i===Vi)A=Di,f-=(c&&x===C&&C.visualViewport?C.visualViewport.width:x[S])-o.width,f*=s?1:-1}var k,_=Object.assign({position:l},d&&pa),B=!0===u?function(n,e){var t=n.x,o=n.y,r=e.devicePixelRatio||1;return{x:Ai(t*r)/r||0,y:Ai(o*r)/r||0}}({x:f,y:g},fi(t)):{x:f,y:g};return f=B.x,g=B.y,s?Object.assign({},_,((k={})[y]=b?"0":"",k[A]=m?"0":"",k.transform=(C.devicePixelRatio||1)<=1?"translate("+f+"px, "+g+"px)":"translate3d("+f+"px, "+g+"px, 0)",k)):Object.assign({},_,((e={})[y]=b?g+"px":"",e[A]=m?f+"px":"",e.transform="",e))}var ha={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:ea(e.placement),variation:ta(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,fa(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,fa(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 ga={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];gi(r)&&Si(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},{});gi(o)&&Si(o)&&(Object.assign(o.style,i),Object.keys(r).forEach(function(n){o.removeAttribute(n)}))})}},requires:["computeStyles"]},va=ua({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=fi(e.elements.popper),d=[].concat(e.scrollParents.reference,e.scrollParents.popper);return i&&d.forEach(function(n){n.addEventListener("scroll",t.update,ca)}),l&&s.addEventListener("resize",t.update,ca),function(){i&&d.forEach(function(n){n.removeEventListener("scroll",t.update,ca)}),l&&s.removeEventListener("resize",t.update,ca)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(n){var e=n.state,t=n.name;e.modifiersData[t]=ra({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},ha,ga]}),ma={left:"right",right:"left",bottom:"top",top:"bottom"};function ba(n){return n.replace(/left|right|bottom|top/g,function(n){return ma[n]})}var Aa={start:"end",end:"start"};function ya(n){return n.replace(/start|end/g,function(n){return Aa[n]})}function Ca(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?Gi:s,u=ta(o),c=u?l?Xi:Xi.filter(function(n){return ta(n)===u}):ji,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]=la(n,{placement:t,boundary:r,rootBoundary:i,padding:a})[ea(t)],e},{});return Object.keys(f).sort(function(n,e){return f[n]-f[e]})}var xa={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,g=t.allowedAutoPlacements,v=e.options.placement,m=ea(v),b=s||(m===v||!h?[ba(v)]:function(n){if(ea(n)===Ri)return[];var e=ba(n);return[ya(n),e,ya(e)]}(v)),A=[v].concat(b).reduce(function(n,t){return n.concat(ea(t)===Ri?Ca(e,{placement:t,boundary:u,rootBoundary:c,padding:d,flipVariations:h,allowedAutoPlacements:g}):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=ea(_),z=ta(_)===Oi,T=[Hi,Mi].indexOf(B)>=0,P=T?"width":"height",E=la(e,{placement:_,boundary:u,rootBoundary:c,altBoundary:p,padding:d}),F=T?z?Di:Li:z?Mi:Hi;y[P]>C[P]&&(F=ba(F));var $=ba(F),I=[];if(i&&I.push(E[B]<=0),l&&I.push(E[F]<=0,E[$]<=0),I.every(function(n){return n})){S=_,w=!1;break}x.set(_,I)}if(w)for(var W=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"},N=h?3:1;N>0;N--){if("break"===W(N))break}e.placement!==S&&(e.modifiersData[o]._skip=!0,e.placement=S,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};var wa={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=Gi.reduce(function(n,t){return n[t]=function(n,e,t){var o=ea(n),r=[Li,Hi].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,[Li,Di].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 Sa(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 ka(n){return[Hi,Di,Mi,Li].some(function(e){return n[e]>=0})}var _a={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=la(e,{elementContext:"reference"}),l=la(e,{altBoundary:!0}),s=Sa(a,o),d=Sa(l,r,i),u=ka(s),c=ka(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 Ba(n,e,t){return mi(n,bi(e,t))}var za={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,g=void 0===h?0:h,v=la(e,{boundary:s,rootBoundary:d,padding:c,altBoundary:u}),m=ea(e.placement),b=ta(e.placement),A=!b,y=oa(m),C="x"===y?"y":"x",x=e.modifiersData.popperOffsets,w=e.rects.reference,S=e.rects.popper,k="function"==typeof g?g(Object.assign({},e.rects,{placement:e.placement})):g,_="number"==typeof k?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),B=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,z={x:0,y:0};if(x){if(i){var T,P="y"===y?Hi:Li,E="y"===y?Mi:Di,F="y"===y?"height":"width",$=x[y],I=$+v[P],W=$-v[E],N=f?-S[F]/2:0,H=b===Oi?w[F]:S[F],M=b===Oi?-S[F]:-w[F],D=e.elements.arrow,L=f&&D?Pi(D):{width:0,height:0},R=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},j=R[P],O=R[E],V=Ba(0,w[F],L[F]),Y=A?w[F]/2-N-V-j-_.mainAxis:H-V-j-_.mainAxis,U=A?-w[F]/2+N+V+O+_.mainAxis:M+V+O+_.mainAxis,X=e.elements.arrow&&Ni(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=$+U-Z,Q=Ba(f?bi(I,$+Y-Z-G):I,$,f?mi(W,q):W);x[y]=Q,z[y]=Q-$}if(l){var J,K="x"===y?Hi:Li,nn="x"===y?Mi:Di,en=x[C],tn="y"===C?"height":"width",on=en+v[K],rn=en-v[nn],an=-1!==[Hi,Li].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=Ba(n,e,t);return o>t?t:o}(sn,en,dn):Ba(f?sn:on,en,f?dn:rn);x[C]=un,z[C]=un-en}e.modifiersData[o]=z}},requiresIfExists:["offset"]};function Ta(n,e,t,o,r,i={}){let a=Er();if(ui(["mode","mmkey",o,"triggerWidth","placement","placementDistX","placementDistY","transitionTime","isolated","editable","contentStyle"],e=>{if(!ci(n,e))throw new Error(`invalid vo.${e}`)}),!Vn(e))throw new Error("funGetDivTrigger is not a function");if(!Vn(t))throw new Error("funGetDivContent is not a function");let l=On(i,"funAddTrigger"),s=On(i,"funCheckTrigger"),d=On(i,"funRemoveTrigger"),u=On(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=()=>!Vn(s)||s(n.mode,n.mmkey),f=o=>{let r=e();if(!Kn(r))return;n.$nextTick(()=>{n.triggerWidth=r.offsetWidth});let i=t();if(!Kn(i))return;null!==c.removeTriggerTimer&&(clearTimeout(c.removeTriggerTimer),c.removeTriggerTimer=null),Vn(l)&&l(n.mode,n.mmkey);let a={strategy:"fixed",placement:n.placement,modifiers:[za,ha,{name:"computeStyles",options:{gpuAcceleration:!1}},xa,{name:"flip",options:{}},wa,{name:"offset",options:{offset:[n.placementDistX,n.placementDistY]}},_a]};c.popperInstance=va(r,i,a)},h=e=>{c.popperInstance&&(c.popperInstance.destroy(),c.popperInstance=null),c.removeTriggerTimer=setTimeout(()=>{c.removeTriggerTimer=null,Vn(d)&&d(n.mode,n.mmkey)},20)},g=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"))})},v=(e,t)=>{n.editable&&(n[o]=e,g())},m=(e,t)=>{n.editable&&(n.isolated&&v(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();Kn(i)?c.cursorTriggerInner=pi(r.clientX,r.clientY,i):c.cursorTriggerInner=!1;let a=t();if(n[o]&&a?c.clickContentInner=pi(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();Kn(r)&&(c.cursorTriggerInner=!!r&&pi(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=g,a.updateValue=v,a.triggerEvent=m,a.evShow=b,a.evHide=A,a}let Pa={tooltip:[],popup:[]};function Ea(n,e){Pa[n].push(e)}function Fa(n,e){return t=Pa[n],((o=null==t?0:t.length)?t[o-1]:void 0)===e;var t,o}function $a(n,e){Gr(Pa[n],e)}const Ia={directives:{domresize:Wr()},components:{Teleport:Kr},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:Ir(),valueTrans:!1,triggerWidth:null,contentStyle:"",bp:null}},mounted:function(){let n=this;n.bp=new Ta(n,n.funGetDivTrigger,n.funGetDivContent,"valueTrans","input",{funAddTrigger:Ea,funCheckTrigger:Fa,funRemoveTrigger:$a,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 Zr(n.minWidth)?`min-width:${n.minWidth}px;`:n.autoFitMinWidth?`min-width:${n.triggerWidth}px;`:""},useMaxWidth:function(){let n=this;return Zr(n.maxWidth)?`max-width:${n.maxWidth}px;`:n.autoFitMaxWidth?`max-width:${n.triggerWidth}px;`:""},useBorderRadius:function(){let n=this;return Zr(n.borderRadius)?`border-radius:${n.borderRadius}px;`:""},useTextFontSize:function(){let n=this.textFontSize;return n=qr(n,";",""),`font-size:${n};`},useTextColor:function(){return qt(this.textColor)},useBackgroundColor:function(){return qt(this.backgroundColor)},usePadding:function(){return`padding:${ri(this.paddingStyle)};`},useShadow:function(){if(!this.shadow)return"";let n=qr(this.shadowStyle,";","");return""!==n?`box-shadow:${n};`:""}},methods:{funGetDivTrigger:function(){return On(this,"$refs.divTrigger",null)},funGetDivContent:function(){return On(this,"$refs.divContent",null)},evShow:function(n,e){let t=this;Vn(On(t,"bp.evShow"))&&t.bp.evShow(n,e)},evHide:function(n,e){let t=this;Vn(On(t,"bp.evHide"))&&t.bp.evHide(n,e)},updatePopper:function(n,e){let t=this;Vn(On(t,"bp.updatePopper"))&&t.bp.updatePopper(n,e)},updateValue:function(n,e){let t=this;Vn(On(t,"bp.updateValue"))&&t.bp.updateValue(n,e)}}};var Wa=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)};Wa._withStripped=!0;const Na=e({render:Wa,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})},Ia,"data-v-50dbb847",false,void 0,!1,o,void 0,void 0);const Ha={components:{WTooltip:Na},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 Ma=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))};Ma._withStripped=!0;const Da=e({render:Ma,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})},Ha,"data-v-231b5c98",false,void 0,!1,o,void 0,void 0);function La(n,e,t){if((n=Dn(n))&&(t||void 0===e))return dr(n);if(!n||!(e=Mn(e)))return n;var o=ge(n),r=ge(e),i=function(n,e){for(var t=-1,o=n.length;++t<o&&Yr(e,n[t],0)>-1;);return t}(o,r),a=function(n,e){for(var t=n.length;t--&&Yr(e,n[t],0)>-1;);return t}(o,r)+1;return ne(o,i,a).join("")}function Ra(n){var e=-1,t=null==n?0:n.length;for(this.__data__=new _n;++e<t;)this.add(n[e])}function ja(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 Oa(n,e){return n.has(e)}Ra.prototype.add=Ra.prototype.push=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this},Ra.prototype.has=function(n){return this.__data__.has(n)};function Va(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 Ra:void 0;for(i.set(n,e),i.set(e,n);++c<l;){var h=n[c],g=e[c];if(o)var v=a?o(g,h,c,e,n,i):o(h,g,c,n,e,i);if(void 0!==v){if(v)continue;p=!1;break}if(f){if(!ja(e,function(n,e){if(!Oa(f,e)&&(h===n||r(h,n,t,o,i)))return f.push(e)})){p=!1;break}}else if(h!==g&&!r(h,g,t,o,i)){p=!1;break}}return i.delete(n),i.delete(e),p}function Ya(n){var e=-1,t=Array(n.size);return n.forEach(function(n,o){t[++e]=[o,n]}),t}function Ua(n){var e=-1,t=Array(n.size);return n.forEach(function(n){t[++e]=n}),t}var Xa=R?R.prototype:void 0,Ga=Xa?Xa.valueOf:void 0;var Za=Object.prototype.hasOwnProperty;var qa="[object Arguments]",Qa="[object Array]",Ja="[object Object]",Ka=Object.prototype.hasOwnProperty;function nl(n,e,t,o,r,i){var a=H(n),l=H(e),s=a?Qa:Pt(n),d=l?Qa:Pt(e),u=(s=s==qa?Ja:s)==Ja,c=(d=d==qa?Ja:d)==Ja,p=s==d;if(p&&go(n)){if(!go(e))return!1;a=!0,u=!1}if(p&&!u)return i||(i=new Qt),a||bo(n)?Va(n,e,t,o,r,i):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 jo(n),new jo(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return yn(+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=Ya;case"[object Set]":var s=1&o;if(l||(l=Ua),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=Va(l(n),l(e),o,r,i,a);return a.delete(n),u;case"[object Symbol]":if(Ga)return Ga.call(n)==Ga.call(e)}return!1}(n,e,s,t,o,r,i);if(!(1&t)){var f=u&&Ka.call(n,"__wrapped__"),h=c&&Ka.call(e,"__wrapped__");if(f||h){var g=f?n.value():n,v=h?e.value():e;return i||(i=new Qt),r(g,v,t,o,i)}}return!!p&&(i||(i=new Qt),function(n,e,t,o,r,i){var a=1&t,l=Do(n),s=l.length;if(s!=Do(e).length&&!a)return!1;for(var d=s;d--;){var u=l[d];if(!(a?u in e:Za.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 g=n[u=l[d]],v=e[u];if(o)var m=a?o(v,g,u,e,n,i):o(g,v,u,n,e,i);if(!(void 0===m?g===v||r(g,v,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}(n,e,t,o,r,i))}function el(n,e,t,o,r){return n===e||(null==n||null==e||!Z(n)&&!Z(e)?n!=n&&e!=e:nl(n,e,t,o,el,r))}function tl(n){return n==n&&!nn(n)}function ol(n,e){return function(t){return null!=t&&(t[n]===e&&(void 0!==e||n in Object(t)))}}function rl(n){var e=function(n){for(var e=Co(n),t=e.length;t--;){var o=e[t],r=n[o];e[t]=[o,r,tl(r)]}return e}(n);return 1==e.length&&e[0][2]?ol(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 Qt;if(o)var p=o(d,u,s,n,e,c);if(!(void 0===p?el(u,d,3,o,c):p))return!1}}return!0}(t,n,e)}}function il(n,e){return null!=n&&e in Object(n)}function al(n,e){return null!=n&&function(n,e,t){for(var o=-1,r=(e=Ln(e,n)).length,i=!1;++o<r;){var a=Rn(e[o]);if(!(i=null!=n&&t(n,a)))break;n=n[a]}return i||++o!=r?i:!!(r=null==n?0:n.length)&&Qe(r)&&nt(a,r)&&(H(n)||co(n))}(n,e,il)}function ll(n){return K(n)?Et(Rn(n)):function(n){return function(e){return jn(e,n)}}(n)}function sl(n){return"function"==typeof n?n:null==n?Nr:"object"==typeof n?H(n)?(e=n[0],t=n[1],K(e)&&tl(t)?ol(Rn(e),t):function(n){var o=On(n,e);return void 0===o&&o===t?al(n,e):el(t,o,3)}):rl(n):ll(n);var e,t}function dl(n,e){var t=-1,o=Je(n)?Array(n.length):[];return di(n,function(n,r,i){o[++t]=e(n,r,i)}),o}function ul(n,e){return(H(n)?Wn:dl)(n,sl(e))}var cl=R?R.isConcatSpreadable:void 0;function pl(n){return H(n)||co(n)||!!(cl&&n&&n[cl])}function fl(n,e,t,o,r){var i=-1,a=n.length;for(t||(t=pl),r||(r=[]);++i<a;){var l=n[i];e>0&&t(l)?e>1?fl(l,e-1,t,o,r):Wo(r,l):o||(r[r.length]=l)}return r}function hl(n,e){if(n!==e){var t=void 0!==n,o=null===n,r=n==n,i=q(n),a=void 0!==e,l=null===e,s=e==e,d=q(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 gl(n,e,t){e=e.length?Wn(e,function(n){return H(n)?function(e){return jn(e,1===n.length?n[0]:n)}:n}):[Nr];var o=-1;return e=Wn(e,tt(sl)),function(n,e){var t=n.length;for(n.sort(e);t--;)n[t]=n[t].value;return n}(dl(n,function(n,t,r){return{criteria:Wn(e,function(e){return e(n)}),index:++o,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=hl(r[o],i[o]);if(s)return o>=l?s:s*("desc"==t[o]?-1:1)}return n.index-e.index}(n,e,t)})}var vl=Or(function(n,e){if(null==n)return[];var t=e.length;return t>1&&et(n,e[0],e[1])?e=[]:t>2&&et(e[0],e[1],e[2])&&(e=[e[0]]),gl(n,fl(e,1),[])});function ml(n){return Dn(n).toLowerCase()}function bl(n){return Dn(n).toUpperCase()}function Al(n){return"[object Array]"===Object.prototype.toString.call(n)}function yl(n){if(!Cr(n))return!1;return _r(n)>=0}function Cl(n,e){return Gt(n)&&yl(e)?0===(e=_r(e))?"":n.substring(0,e):""}function xl(n,e){return Gt(n)&&yl(e)?0===(e=_r(e))?n:function(n,e){if(!Gt(n))return"";if(!yl(e))return"";if(0===(e=_r(e)))return"";let t=n.length-e;return t<0&&(t=0),n.substring(t,t+e)}(n,n.length-e):""}function wl(n,e){if(!Gt(n))return[];if(!Gt(e))return[];let t=function(n,e){return Gt(n)&&Gt(e)?n.split(e):[]}(n,e);t=ul(t,La);let o=[];return ui(t,function(n){Gt(n)&&o.push(n)}),o}function Sl(n){if(!Gt(n)&&!Ar(n)&&!q(n))return"";let e="";try{e=String(n)}catch(n){}try{e=n.toString()}catch(n){}return e}function kl(n,e,t=1){return Gt(n)&&yl(e)?(t=Br(t)?_r(t):1,n.substring(e,e+t)):""}let _l={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 Bl(n){return Tl(n,1)}function zl(n){return Tl(n,360)}function Tl(n,e=1){if(n.indexOf("%")>=0){if(!Ar(n=qr(n,"%","")))throw new Error("invalid color: value is not a number");n=yr(n)/100}else{if(!Ar(n))throw new Error("invalid color: value is not a number");n=yr(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 Pl(n){if(!Ar(n))throw new Error("invalid color: value is not a number");if((n=yr(n))>1)throw new Error("invalid color: value > 1");if(n<0)throw new Error("invalid color: value < 0");return n}function El(n,e="rgba"){if(!Al(n))throw new Error("invalid colors array");let t=On(n,0,0),o=On(n,1,0),r=On(n,2,0),i=On(n,3,1);if(4!==Ut(e=e.split("")))throw new Error("tar.length !== 4");let a=On(e,0),l=On(e,1),s=On(e,2),d=On(e,3);return{[a]:t,[l]:o,[s]:r,[d]:i}}function Fl(n){let e=(n=xl(n,1)).length;if(2===e)n=`${n}${n}${n}ff`;else if(3===e){let e=kl(n,0,1),t=kl(n,1,1),o=kl(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(!Ar(n=parseInt(n,16)))throw new Error("invalid hex of color");return(n=yr(n))/255}return{r:t(kl(n,0,2)),g:t(kl(n,2,2)),b:t(kl(n,4,2)),a:t(kl(n,6,2))}}function $l(n){return n=El(n=ul(n,(n,e)=>e<=2?Tl(n,255):3===e?Pl(n):null),"rgba")}function Il(n){return n=jl(n=El(n=ul(n,(n,e)=>0===e?zl(n):1===e||2===e?Bl(n):3===e?Pl(n):null),"hsla"))}function Wl(n){return n=Ol(n=El(n=ul(n,(n,e)=>0===e?zl(n):1===e||2===e?Bl(n):3===e?Pl(n):null),"hsva"))}function Nl(n){if("transparent"===n)return{r:0,g:0,b:0,a:0};if(function(n){return ci(_l,n)}(n))return Fl(n=`#${_l[n]}`);if(function(n){return"#"===Cl(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 Fl(n);if(function(n){return"rgb"===Cl(n,3)||"rgba"===Cl(n,4)}(n))return function(n){return n=qr(n,"rgba",""),n=qr(n,"rgb",""),$l(wl(n=qr(n=n.replace(/[()]/g,""),","," ")," "))}(n);if(function(n){return"hsl"===Cl(n,3)||"hsla"===Cl(n,4)}(n))return function(n){return n=qr(n,"hsla",""),n=qr(n,"hsl",""),Il(wl(n=qr(n=n.replace(/[()]/g,""),","," ")," "))}(n);if(function(n){return"hsv"===Cl(n,3)||"hsva"===Cl(n,4)}(n))return function(n){return n=qr(n,"hsva",""),n=qr(n,"hsv",""),Wl(wl(n=qr(n=n.replace(/[()]/g,""),","," ")," "))}(n);throw new Error("format of color string is not hex-color, name-color, rgba, hsla, hsva")}function Hl(n,e){return!!ci(n,e=ml(e))||!!ci(n,e=bl(e))}function Ml(n,e,t){let o;return o=On(n,e,null),null!==o?o:(o=On(n,e=bl(e),null),null!==o?o:t)}function Dl(n){if(function(n){let e=Hl(n,"r"),t=Hl(n,"g"),o=Hl(n,"b");return e&&t&&o}(n))return function(n){let e=[Ml(n,"r",null),Ml(n,"g",null),Ml(n,"b",null),Ml(n,"a",1)];return e=ul(e,Sl),$l(e)}(n);if(function(n){let e=Hl(n,"h"),t=Hl(n,"s"),o=Hl(n,"l");return e&&t&&o}(n))return function(n){let e=[Ml(n,"h",null),Ml(n,"s",null),Ml(n,"l",null),Ml(n,"a",1)];return e=ul(e,Sl),Il(e)}(n);if(function(n){let e=Hl(n,"h"),t=Hl(n,"s"),o=Hl(n,"v");return e&&t&&o}(n))return function(n){let e=[Ml(n,"h",null),Ml(n,"s",null),Ml(n,"v",null),Ml(n,"a",1)];return e=ul(e,Sl),Wl(e)}(n);throw new Error("color object is not one of rgba, hsla, hsva")}function Ll(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 Rl(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 jl(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 Ol(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 Vl(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 Yl(n,e=!0){let t=n.r,o=n.g,r=n.b,i=n.a,a=`${Vl(t)}${Vl(o)}${Vl(r)}`;return e&&(a=`${a}${Vl(i)}`),a}function Ul(n){return Math.min(1,Math.max(0,n))}function Xl(n,e){if(!Gt(e))throw new Error("fmtOutput is not a string");if(!Bs[e])throw console.log(`fmtOutput must be [${Co(Bs)}]`),new Error("invalid fmtOutput");return n=Bs[e](n)}function Gl(n,e,t="toRgbString"){if(e<0||e>1)throw new Error("amount < 0 or > 1");let o=Ll(n);return o.h+=e,o.h=o.h%1,Xl(jl(o),t)}function Zl(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 Xl({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 ql(n){return`${kr(100*n,1)}%`}function Ql(n){return kr(n,0)}function Jl(n){return kr(n,3)}function Kl(n){return{r:Ql(255*n.r),g:Ql(255*n.g),b:Ql(255*n.b)}}function ns(n){return`rgb(${Ql(255*n.r)}, ${Ql(255*n.g)}, ${Ql(255*n.b)})`}function es(n){return{r:Ql(255*n.r),g:Ql(255*n.g),b:Ql(255*n.b),a:Jl(n.a)}}function ts(n){return`rgba(${Ql(255*n.r)}, ${Ql(255*n.g)}, ${Ql(255*n.b)}, ${Jl(n.a)})`}function os(n){let e=Ll(n);return{h:Ql(360*e.h),s:Jl(e.s),l:Jl(e.l)}}function rs(n){let e=Ll(n);return`hsl(${Ql(360*e.h)}, ${Jl(e.s)}, ${Jl(e.l)})`}function is(n){let e=Ll(n);return{h:Ql(360*e.h),s:Jl(e.s),l:Jl(e.l),a:Jl(e.a)}}function as(n){let e=Ll(n);return`hsla(${Ql(360*e.h)}, ${Jl(e.s)}, ${Jl(e.l)}, ${Jl(e.a)})`}function ls(n){let e=Rl(n);return{h:Ql(360*e.h),s:Jl(e.s),v:Jl(e.v)}}function ss(n){let e=Rl(n);return`hsv(${Ql(360*e.h)}, ${Jl(e.s)}, ${Jl(e.v)})`}function ds(n){let e=Rl(n);return{h:Ql(360*e.h),s:Jl(e.s),v:Jl(e.v),a:Jl(e.a)}}function us(n){let e=Rl(n);return`hsva(${Ql(360*e.h)}, ${Jl(e.s)}, ${Jl(e.v)}, ${Jl(e.a)})`}function cs(n){return{r:ql(n.r),g:ql(n.g),b:ql(n.b)}}function ps(n){return`rgb(${ql(n.r)}, ${ql(n.g)}, ${ql(n.b)})`}function fs(n){return{r:ql(n.r),g:ql(n.g),b:ql(n.b),a:Jl(n.a)}}function hs(n){return`rgba(${ql(n.r)}, ${ql(n.g)}, ${ql(n.b)}, ${Jl(n.a)})`}function gs(n){let e=Ll(n);return{h:Ql(360*e.h),s:ql(e.s),l:ql(e.l)}}function vs(n){let e=Ll(n);return`hsl(${Ql(360*e.h)}, ${ql(e.s)}, ${ql(e.l)})`}function ms(n){let e=Ll(n);return{h:Ql(360*e.h),s:ql(e.s),l:ql(e.l),a:Jl(e.a)}}function bs(n){let e=Ll(n);return`hsla(${Ql(360*e.h)}, ${ql(e.s)}, ${ql(e.l)}, ${Jl(e.a)})`}function As(n){let e=Rl(n);return{h:Ql(360*e.h),s:ql(e.s),v:ql(e.v)}}function ys(n){let e=Rl(n);return`hsv(${Ql(360*e.h)}, ${ql(e.s)}, ${ql(e.v)})`}function Cs(n){let e=Rl(n);return{h:Ql(360*e.h),s:ql(e.s),v:ql(e.v),a:Jl(e.a)}}function xs(n){let e=Rl(n);return`hsva(${Ql(360*e.h)}, ${ql(e.s)}, ${ql(e.v)}, ${Jl(e.a)})`}function ws(n){let e=function(n){return Yl(n,!1)}(n);return`#${e}`}function Ss(n){return`#${Yl(n)}`}function ks(n){let e=null,t=null,o=null;if(Gt(n))e=ml(La(n));else{if(!oi(n))throw console.log("color=",n),new Error("color is not a string or an object");t=n}if(null!==e)try{o=Nl(e)}catch(n){throw console.log(n),new Error(`can not parse color: ${e}`)}else if(null!==t)try{o=Dl(t)}catch(n){throw console.log(n),new Error(`can not parse color: ${JSON.stringify(t)}`)}return o}function _s(n){if(!oi(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 ui(n,(n,t)=>{e.push([yr(t),es(ks(n)),n])}),e=vl(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=Zl(ks(i),e,ks(l),o,"toRgbaString");break}}return t}}let Bs={toRgb:Kl,toRgbString:ns,toRgba:es,toRgbaString:ts,toHsl:os,toHslString:rs,toHsla:is,toHslaString:as,toHsv:ls,toHsvString:ss,toHsva:ds,toHsvaString:us,toRgbP:cs,toRgbPString:ps,toRgbaP:fs,toRgbaPString:hs,toHslP:gs,toHslPString:vs,toHslaP:ms,toHslaPString:bs,toHsvP:As,toHsvPString:ys,toHsvaP:Cs,toHsvaPString:xs,toHexString:ws,toHex8String:Ss};var zs={toRgb:n=>Kl(ks(n)),toRgbString:n=>ns(ks(n)),toRgba:n=>es(ks(n)),toRgbaString:n=>ts(ks(n)),toHsl:n=>os(ks(n)),toHslString:n=>rs(ks(n)),toHsla:n=>is(ks(n)),toHslaString:n=>as(ks(n)),toHsv:n=>ls(ks(n)),toHsvString:n=>ss(ks(n)),toHsva:n=>ds(ks(n)),toHsvaString:n=>us(ks(n)),toRgbP:n=>cs(ks(n)),toRgbPString:n=>ps(ks(n)),toRgbaP:n=>fs(ks(n)),toRgbaPString:n=>hs(ks(n)),toHslP:n=>gs(ks(n)),toHslPString:n=>vs(ks(n)),toHslaP:n=>ms(ks(n)),toHslaPString:n=>bs(ks(n)),toHsvP:n=>As(ks(n)),toHsvPString:n=>ys(ks(n)),toHsvaP:n=>Cs(ks(n)),toHsvaPString:n=>xs(ks(n)),toHexString:n=>ws(ks(n)),toHex8String:n=>Ss(ks(n)),modSaturate:(n,e,t)=>function(n,e,t="toRgbString"){if(e<0||e>1)throw new Error("amount < 0 or > 1");let o=Ll(n);return o.s+=e,o.s=Ul(o.s),Xl(jl(o),t)}(ks(n),e,t),modGrey:(n,e)=>function(n,e="toRgbString"){let t=Ll(n);return t.s=0,Xl(jl(t),e)}(ks(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=Ll(n);return o.l+=e,o.l=Ul(o.l),Xl(jl(o),t)}(ks(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=Ul(n.r),n.g+=e,n.g=Ul(n.g),n.b+=e,n.b=Ul(n.b),Xl(n,t)}(ks(n),e,t),modHue:(n,e,t)=>Gl(ks(n),e,t),modComplement:(n,e)=>function(n,e="toRgbString"){return Gl(n,.5,e)}(ks(n),e),spreadHue:(n,e,t)=>function(n,e,t="toRgbString"){if(!Cr(e))throw new Error("num is not an integer");if((e=_r(e))<=1)return[n];let o=Ll(n),r=1/e,i=[];for(let n=0;n<e;n++)i.push(Xl(jl(o),t)),o.h+=r,o.h=o.h%1;return i}(ks(n),e,t),spreadMonochromatic:(n,e,t)=>function(n,e,t="toRgbString"){if(!Cr(e))throw new Error("num is not an integer");if((e=_r(e))<=1)return[n];let o=Rl(n);o.s=1,o.l=1;let r=1/e,i=[];for(let n=0;n<e;n++)i.push(Xl(Ol(o),t)),o.h-=r,o.l-=r;return i}(ks(n),e,t),mix:(n,e,t,o,r)=>Zl(ks(n),e,ks(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}(ks(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}(ks(n)),interp:_s};function Ts(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&&!q(a):t(a,l)))var l=a,s=i}return s}function Ps(n,e){return n<e}function Es(n){return n&&n.length?Ts(n,Nr,Ps):void 0}function Fs(n,e){return n>e}function $s(n){return n&&n.length?Ts(n,Nr,Fs):void 0}var Is=Array.prototype.join;function Ws(n,e){return null==n?"":Is.call(n,e)}var Ns={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=ul((()=>{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=Ws(r," ");let i=[];ui([{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)=>{ui(n.cs,(r,a)=>{let l={x:(t+0)*a+n.dx*(t/2),y:(o+0)*e,color:r};Gt(r)&&i.push(l)})});let a=Es(ul(i,"x")),l=$s(ul(i,"x")),s=Es(ul(i,"y")),d=$s(ul(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=qt(this.value),""},changePick:function(){let n=this,e=null;return ui(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 zs.toRgbString(n)===zs.toRgbString(e)},ckColor:function(n){this.valueTrans=n.color,this.$emit("input",n.color)}}};const Hs=Ns;var Ms=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)])])};Ms._withStripped=!0;const Ds=e({render:Ms,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})},Hs,"data-v-f00690de",false,void 0,!1,o,void 0,void 0);var Ls={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=qt(n.value),n.colorLeftTrans=qt(n.colorLeft),n.colorRightTrans=qt(n.colorRight),""},colors:function(){let n=this,e={0:n.colorLeftTrans,1:n.colorRightTrans},t=zs.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 ui(n.colors,t=>{n.jdColor2(t.color,n.valueTrans)&&(e=t)}),n.pick=e,""}},methods:{jdColor2:function(n,e){return zs.toRgbString(n)===zs.toRgbString(e)},ckColor:function(n){this.valueTrans=n.color,this.$emit("input",n.color)}}};const Rs=Ls;var js=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)])])])])};js._withStripped=!0;const Os={components:{WColorPickHexagon:Ds,WColorPickStripe:e({render:js,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})},Rs,"data-v-ea1e40ae",false,void 0,!1,o,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=qt(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=zs.toHexString(n)).toUpperCase(),this.valueTrans=n,this.$emit("input",n)}}};var Vs=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)])};Vs._withStripped=!0;const Ys=e({render:Vs,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})},Os,"data-v-7354487e",false,void 0,!1,o,void 0,void 0);const Us={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=qt(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 Xs=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}})])])};Xs._withStripped=!0;const Gs=e({render:Xs,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})},Us,"data-v-2f878719",false,void 0,!1,o,void 0,void 0);var Zs={components:{WColorPickHexagonGray:Ys,WColorPickAlpha:Gs},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=qt(n.value),t=zs.toRgba(e),o={r:t.r,g:t.g,b:t.b},r=zs.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=zs.toRgba(n);o.a=e;let r=zs.toRgbaString(o);this.$emit("input",r)}}};const qs=Zs;var Qs=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)])};Qs._withStripped=!0;const Js=e({render:Qs,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})},qs,"data-v-a3d4421c",false,void 0,!1,o,void 0,void 0);const Ks={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=qt(n.value);let e=qt(n.color);return e={h:zs.toHsv(e).h,s:1,v:1},e=zs.toHexString(e),n.colorTrans=e,n.colorLeftTopTrans=qt(n.colorLeftTop),n.colorBottomTrans=qt(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=zs.toHsv(n.valueTrans),t=e.s*(n.width-1),o=(1-e.v)*(n.height-1),r=zs.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=zs.mix(o,t,r,1-t,"toRgbString"),o=i,r=n.colorBottomTrans,i=zs.mix(o,1-l,r,l,"toHexString"),i=i.toUpperCase(),n.$emit("input",i)},mousedownCur:function(n){this.curMousedown=!0,this.updateCurLocByEvent(n)}}};var nd=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}})])])};nd._withStripped=!0;const ed=e({render:nd,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})},Ks,"data-v-22c59a06",false,void 0,!1,o,void 0,void 0);function td(){let n,e,t=new Promise(function(){n=arguments[0],e=arguments[1]});return t.resolve=n,t.reject=e,t}async function od(n,e={}){let t=null,o=td();if(!Vn(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=On(e,"attemptNum",null);Br(i)||(i=200);let a=On(e,"timeInterval",null);Br(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 rd={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=qt(n.value),n.updateCurLocByValue(),""}},methods:{plotBackground:function(){let n=this;(async function(){await od(()=>Kn(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=zs.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=zs.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=zs.toHexString(o),o=o.toUpperCase(),n.$emit("input",o)},mousedownCur:function(n){this.curMousedown=!0,this.updateCurLocByEvent(n)}}};var id=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}})])])};id._withStripped=!0;const ad={components:{WColorPickHsv:ed,WColorPickHue:e({render:id,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})},rd,"data-v-05333439",false,void 0,!1,o,void 0,void 0),WColorPickAlpha:Gs},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=qt(n.value);let e=zs.toHsva(n.value),t="#f00";{let n={h:e.h,s:1,v:1};t=zs.toHexString(n)}let o="#fff";{let n={h:e.h,s:e.s,v:e.v};o=zs.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=zs.toHsva(t.colorHue),r=zs.toHsva(t.colorPure),i={h:o.h,s:r.s,v:r.v,a:t.colorAlpha};i=zs.toRgbaString(i),t.valueTrans=i,t.$emit("input",i)}}};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:{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)])};ld._withStripped=!0;const sd={components:{WColorSelectPanelBlock:Js,WColorSelectPanelHsva:e({render:ld,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})},ad,"data-v-2f9ee6a2",false,void 0,!1,o,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=qt(this.value),""},changeType:function(){return this.typeTrans=this.type,""},useBackgroundColor:function(){return qt(this.backgroundColor)}},methods:{updateColor:function(n,e){this.valueTrans=n,this.$emit("input",n)}}};var dd=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()])])};dd._withStripped=!0;const ud=e({render:dd,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})},sd,"data-v-8ff1425e",false,void 0,!1,o,void 0,void 0);function cd(n){if(!Ar(n))return!1;return yr(n)>=0}function pd(n,e){return el(n,e)}function fd(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(ti(n)){for(let e in n)return!1;return!0}return!1}(n)||(!!function(n){return!(!Xt(n)||""!==n)}(n)||(!!function(n){return!!Al(n)&&0===n.length}(n)||!!br(n)))))}function hd(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){}}function gd(n){function e(n){n.parentNode.removeChild(n)}if(Kn(n)){return void e(n)}if(!Gt(n))return;let t=function(n){return document.querySelectorAll(n)}(n);ui(t,function(n){e(n)})}const vd={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 Gt(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=Gt(n.icon),t=!(!Al(o=n.icon)||0===o.length||1===o.length&&fd(o[0]));var o;return e||t},usePaths:function(){let n=this;if(!n.isSvg)return[];let e=n.icon;return Gt(n.icon)&&(e=[n.icon]),e},useIconColor:function(){let n=this;return n.mouseEnter?qt(n.colorHover):qt(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:{}};var md=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()};md._withStripped=!0;const bd=e({render:md,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})},vd,"data-v-2b703bbc",false,void 0,!1,o,void 0,void 0);const Ad={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 qt(this.color)}},methods:{}};var yd=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)};yd._withStripped=!0;const Cd=e({render:yd,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})},Ad,"data-v-c1552922",false,void 0,!1,o,void 0,void 0);var xd={directives:{domripple:function(){let n={};return{bind:function(e,t,o){let r=`r${Ir()}`;e.setAttribute("ev-ripple",r),function(e,t){let o=e.getAttribute("ev-ripple"),r=On(t,"value");if(r=oi(r),!r)return;let i=On(t,"value.color");if(!Gt(i))return;i=qt(i);let a=On(t,"value.timeDuration");Ar(a)||(a=1e3);function l(n){!function(n,e,t={}){let o=On(t,"timeDuration",null);Br(o)||(o=1e3);let r=On(t,"color",null);if(Gt(r)||(r="rgba(255, 255, 255, 0.5)"),!Kn(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(()=>{gd(d)},o)}(n.currentTarget,n,{color:i,timeDuration:a})}a=yr(a),e.addEventListener("click",l,!1),n[o]=l}(e,t)},unbind:function(e){!function(e){let t=e.getAttribute("ev-ripple");if(n[t]){let o=n[t];e.removeEventListener("click",o,!1),delete n[t]}}(e),e.setAttribute("ev-ripple",null)}}}()},components:{WIcon:bd,WIconLoading:Cd,WTooltip:Na},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:${ri(n.paddingStyle,{ext:{left:n.shiftLeft,right:n.shiftRight}})};`},effIconColor:function(){return qt(this.iconColor)},effIconColorHover:function(){return qt(this.iconColorHover)},effIconColorActive:function(){return qt(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 qt(this.disabledColor)},effProgColor:function(){return qt(this.progColor)},effProgBackgroundColor:function(){return qt(this.progBackgroundColor)},effTextColor:function(){return qt(this.textColor)},effTextColorHover:function(){return qt(this.textColorHover)},effTextColorActive:function(){return qt(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=qr(n,";",""),`font-size:${n};`},effBorderColor:function(){return qt(this.borderColor)},effBorderColorHover:function(){return qt(this.borderColorHover)},effBorderColorActive:function(){return qt(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),Ws(ul(e.useBorderUsed,(e,t)=>`border-${t}-color:${e?n:"transparent"};`)," ")},useBorderUsed:function(){let n=this,e=!0,t=!0,o=!0,r=!0;return ei(On(n,"borderUsed.left"))&&(e=On(n,"borderUsed.left")),ei(On(n,"borderUsed.right"))&&(t=On(n,"borderUsed.right")),ei(On(n,"borderUsed.top"))&&(o=On(n,"borderUsed.top")),ei(On(n,"borderUsed.bottom"))&&(r=On(n,"borderUsed.bottom")),{left:e,right:t,top:o,bottom:r}},useBorderWidth:function(){return`border-width:${ri(this.borderWidth)};`},useBorderRadius:function(){let n=this,e=0,t=0,o=0,r=0;return!0===On(n,"borderRadiusStyle.left")&&(e=n.borderRadius,o=n.borderRadius),!0===On(n,"borderRadiusStyle.right")&&(t=n.borderRadius,r=n.borderRadius),!0===On(n,"borderRadiusStyle.top")&&(e=n.borderRadius,t=n.borderRadius),!0===On(n,"borderRadiusStyle.bottom")&&(o=n.borderRadius,r=n.borderRadius),!0!==On(n,"borderRadiusStyle.topLeft")&&!0!==On(n,"borderRadiusStyle.top-left")||(e=n.borderRadius),!0!==On(n,"borderRadiusStyle.topRight")&&!0!==On(n,"borderRadiusStyle.top-right")||(t=n.borderRadius),!0!==On(n,"borderRadiusStyle.bottomLeft")&&!0!==On(n,"borderRadiusStyle.bottom-left")||(o=n.borderRadius),!0!==On(n,"borderRadiusStyle.bottomRight")&&!0!==On(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 qt(this.backgroundColor)},effBackgroundColorHover:function(){return qt(this.backgroundColorHover)},effBackgroundColorActive:function(){return qt(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=dt(n=qr(n,"}","{"),"{");return o=ul(o,n=>{if(n.indexOf(e)>=0){let e=wl(n,"=")[1];return e=Ar(e)?yr(e):.2,function(n,e){let t=qt(n),o=zs.toRgba(t);return o.a=e,zs.toRgbaString(o)}(t,e)}return n}),Ws(o,"")}return n.activeTrans&&n.shadowActive?Gt(n.shadowActiveStyle)?"box-shadow:"+e(n.shadowActiveStyle,"backgroundColorActiveAlpha",n.backgroundColorActive):"":n.shadow&&Gt(n.shadowStyle)?"box-shadow:"+e(n.shadowStyle,"backgroundColorAlpha",n.backgroundColor):""},isProging:function(){return Ar(this.useProg)},useProg:function(){let n=this.progTrans;return Ar(n)?(n=yr(n),n<0||n>100?null:n):null},effLoadingColor:function(){return qt(this.loadingColor)},useRipple:function(){let n=this;if(n.editable&&!n.loadingTrans&&!n.isProging)return{color:n.rippleColor,timeDuration:700}},hasTooltop:function(){return Gt(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||Ar(n)?(Ar(n)&&(n=yr(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=>{ei(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=td();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;hd(n),e.editable&&e.$nextTick(()=>{e.$emit("click-close")})}}};const wd=xd;var Sd=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)])};Sd._withStripped=!0;const kd=e({render:Sd,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})},wd,"data-v-58252fbc",false,void 0,!1,o,void 0,void 0);const _d={components:{WButtonChip:kd},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:On,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 Al(n)?n:[n]}if(fd(n))return!1;if(0===(n=t(n)).length)return!1;if(fd(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(pd(n[t],e[o]))return!0;return!1}(n.value,e):pd(e,n.value),t}let t=ar(n.items),o=ul(t,t=>({active:e(t),hover:!1,borderColor:n.borderColor,borderColorHover:n.borderColorHover,borderColorActive:n.borderColorActive})),r=ul(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===On(n,"groupBorderRadiusStyle.left")&&(d.left=!0),!0!==On(n,"groupBorderRadiusStyle.topLeft")&&!0!==On(n,"groupBorderRadiusStyle.top-left")||(d.topLeft=!0),!0!==On(n,"groupBorderRadiusStyle.bottomLeft")&&!0!==On(n,"groupBorderRadiusStyle.bottom-left")||(d.bottomLeft=!0),!0===On(n,"groupBorderRadiusStyle.top")&&(d.topLeft=!0),!0===On(n,"groupBorderRadiusStyle.bottom")&&(d.bottomLeft=!0)),r===t.length-1&&(!0===On(n,"groupBorderRadiusStyle.right")&&(d.right=!0),!0!==On(n,"groupBorderRadiusStyle.topRight")&&!0!==On(n,"groupBorderRadiusStyle.top-right")||(d.topRight=!0),!0!==On(n,"groupBorderRadiusStyle.bottomRight")&&!0!==On(n,"groupBorderRadiusStyle.bottom-right")||(d.bottomRight=!0),!0===On(n,"groupBorderRadiusStyle.top")&&(d.topRight=!0),!0===On(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=ar(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:${ri(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;ui(t.itemsTrans,(n,o)=>{t.itemsTrans[o].ia.hover=o===e}),ui(t.itemsTrans,(n,o)=>{let r=On(t,`itemsTrans[${o}].ia`,null),i=On(t,`itemsTrans[${o-1}].ia`,null),a=On(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;ui(t.itemsTrans,(n,e)=>{t.itemsTrans[e].spcBorderUsed=ar(t.itemsTrans[e].spcBorderUsedBackup)})},toggleState:function(n){let e=this;if(!1!==e.editable)if(e.multiCheck){let t=ar(e.value);if(n.active){let e=[];ui(t,t=>{pd(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 Bd=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)};Bd._withStripped=!0;const zd={components:{WGroupChipCheck:e({render:Bd,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,o,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 Td=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))};Td._withStripped=!0;const Pd=e({render:Td,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})},zd,"data-v-55f6bd04",false,void 0,!1,o,void 0,void 0);const Ed={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(Ar(n.labelWidth)){return{width:`${yr(n.labelWidth)}px`}}return{}},useLabelHeight:function(){let n=this;if(Ar(n.labelHeight)){return{height:`${yr(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 qt(this.labelColor)}},methods:{}};var Fd=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)};Fd._withStripped=!0;const $d=e({render:Fd,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})},Ed,"data-v-6fb5db16",false,void 0,!1,o,void 0,void 0);const Id={components:{WIcon:bd,WTooltip:Na},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"]=qt(n.backgroundColorFocus),e):n.hoveredTrans?(e["background-color"]=qt(n.backgroundColorHover),e):(e["background-color"]=qt(n.backgroundColor),e)},useBorder:function(){let n=this,e={};return n.focusedTrans?(e.border=`${n.borderWidth}px solid ${qt(n.borderColorFocus)}`,e):n.hoveredTrans?(e.border=`${n.borderWidth}px solid ${qt(n.borderColorHover)}`,e):(e.border=`${n.borderWidth}px solid ${qt(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?qt(n.leftIconColorHover):n.focusedTrans?qt(n.leftIconColorFocus):qt(n.leftIconColor)},useRightIconColor:function(){let n=this;return n.hoveredTrans?qt(n.rightIconColorHover):n.focusedTrans?qt(n.rightIconColorFocus):qt(n.rightIconColor)},useTitleColor:function(){let n={};return n.color=qt(this.titleColor),n},usePadding:function(){return{padding:ri(this.paddingStyle,{semicolon:!1})}},hasLeftIconTooltop:function(){return Gt(this.leftIconTooltip)},hasRightIconTooltop:function(){return Gt(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 Wd=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()])])};Wd._withStripped=!0;const Nd=e({render:Wd,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})},Id,"data-v-5700bc36",false,void 0,!1,o,void 0,void 0);const Hd={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?qt(n.borderColorHover):qt(n.borderColor)},useBorderColorFocus:function(){return qt(this.borderColorFocus)}},methods:{}};var Md=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)])};Md._withStripped=!0;const Dd=e({render:Md,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})},Hd,"data-v-73908860",false,void 0,!1,o,void 0,void 0);function Ld(n,e,t={}){let o=!1,r="";if("isstr"===e)Xt(n)||(o=!0,r="需要為字串",n="");else if("isnum"===e)Ar(n)||(o=!0,r="需要為數字",n=0);else if("isp0num"===e)cd(n)||(o=!0,r="需要為含0的正浮點數",n=0);else if("isn0num"===e)Ar(i=n)&&yr(i)<=0||(o=!0,r="需要為含0的負浮點數",n=0);else if("isint"===e)Cr(n)||(o=!0,r="需要為整數",n=0);else if("ispint"===e)Br(n)||(o=!0,r="需要為不含0正整數",n=0);else if("isp0int"===e)yl(n)||(o=!0,r="需要為含0正整數",n=0);else if("isnint"===e)(function(n){return!!Cr(n)&&_r(n)<0})(n)||(o=!0,r="需要為不含0負整數",n=0);else if("isn0int"===e)(function(n){return!!Cr(n)&&_r(n)<=0})(n)||(o=!0,r="需要為含0負整數",n=0);else if("custom"===e){let e=On(t,"funCustom");if(!Vn(e))throw new Error("invalid opt.funCustom when type='custom'");let i=e(n);if(!ei(i.err))throw new Error("invalid return.err for type='custom'");if(i.err&&!Gt(i.errmsg))throw new Error("invalid return.errmsg when return.err=true for type='custom'");if(!Ar(i.value)&!Xt(i.value))throw new Error("invalid return.value for type='custom'");o=i.err,r=i.errmsg,n=i.value}else if(Vn(e)){n=e(n)}else"any"===e?Ar(n)||Xt(n)||(o=!0,r="需要為字串或數字",n=""):(o=!0,r="需要指定驗證類型",n=null);var i;return{value:n,err:o,errmsg:r}}const Rd={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 Ar(n.height)?e=`height:${n.height}px;`:Gt(n.height)&&(e=`height:${n.height}; line-height:${n.height};`),e},useTextFontSize:function(){let n=this.textFontSize;return n=qr(n,";",""),`font-size:${n};`},useTextColor:function(){return qt(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=Ld(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 jd=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)}}})])};jd._withStripped=!0;const Od={components:{WShellEllipse:Nd,WShellBottomLine:Dd,WTextCore:e({render:jd,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})},Rd,"data-v-20ff5310",false,void 0,!1,o,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 Vd=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)};Vd._withStripped=!0;const Yd=e({render:Vd,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})},Od,"data-v-7277e441",false,void 0,!1,o,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 Ud,Xd,Gd=9e15,Zd=1e9,qd="0123456789abcdef",Qd="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Jd="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Kd={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Gd,maxE:Gd,crypto:!1},nu=!0,eu="[DecimalError] ",tu=eu+"Invalid argument: ",ou=eu+"Precision limit exceeded",ru=eu+"crypto unavailable",iu="[object Decimal]",au=Math.floor,lu=Math.pow,su=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,du=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,uu=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,cu=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,pu=1e7,fu=Qd.length-1,hu=Jd.length-1,gu={toStringTag:iu};function vu(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+=Bu(t)),i+=o;(t=7-(o=(a=n[e])+"").length)&&(i+=Bu(t))}else if(0===a)return"0";for(;a%10==0;)a/=10;return i+a}function mu(n,e,t){if(n!==~~n||n<e||n>t)throw Error(tu+n)}function bu(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=lu(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)==lu(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)==lu(10,e-3)-1,a}function Au(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]+=qd.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()}gu.absoluteValue=gu.abs=function(){var n=new this.constructor(this);return n.s<0&&(n.s=1),Cu(n)},gu.ceil=function(){return Cu(new this.constructor(this),this.e+1,2)},gu.clampedTo=gu.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(tu+e);return t.cmp(n)<0?n:t.cmp(e)>0?e:new o(t)},gu.comparedTo=gu.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},gu.cosine=gu.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/Hu(4,t=Math.ceil(o/3))).toString():(t=16,r="2.3283064365386962890625e-10");n.precision+=t,e=Nu(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,Mu(o,t)),o.precision=n,o.rounding=e,Cu(2==Xd||3==Xd?t.neg():t,n,e,!0)):new o(1):new o(NaN)},gu.cubeRoot=gu.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(nu=!1,(i=u.s*lu(u.s*u,1/3))&&Math.abs(i)!=1/0?o=new c(i.toString()):(t=vu(u.d),(i=((n=u.e)-t.length+1)%3)&&(t+=1==i||-2==i?"0":"00"),i=lu(t,1/3),n=au((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=yu(d.plus(u).times(l),d.plus(s),a+2,1),vu(l.d).slice(0,a)===(t=vu(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))||(Cu(o,n+1,1),e=!o.times(o).times(o).eq(u));break}if(!r&&(Cu(l,n+1,0),l.times(l).times(l).eq(u))){o=l;break}a+=4,r=1}return nu=!0,Cu(o,n,c.rounding,e)},gu.decimalPlaces=gu.dp=function(){var n,e=this.d,t=NaN;if(e){if(t=7*((n=e.length-1)-au(this.e/7)),n=e[n])for(;n%10==0;n/=10)t--;t<0&&(t=0)}return t},gu.dividedBy=gu.div=function(n){return yu(this,new this.constructor(n))},gu.dividedToIntegerBy=gu.divToInt=function(n){var e=this.constructor;return Cu(yu(this,new e(n),0,1,1),e.precision,e.rounding)},gu.equals=gu.eq=function(n){return 0===this.cmp(n)},gu.floor=function(){return Cu(new this.constructor(this),this.e+1,3)},gu.greaterThan=gu.gt=function(n){return this.cmp(n)>0},gu.greaterThanOrEqualTo=gu.gte=function(n){var e=this.cmp(n);return 1==e||0===e},gu.hyperbolicCosine=gu.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/Hu(4,n=Math.ceil(r/3))).toString():(n=16,e="2.3283064365386962890625e-10"),i=Nu(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 Cu(i,a.precision=t,a.rounding=o,!0)},gu.hyperbolicSine=gu.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=Nu(i,2,r,r,!0);else{n=(n=1.4*Math.sqrt(o))>16?16:0|n,r=Nu(i,2,r=r.times(1/Hu(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,Cu(r,e,t,!0)},gu.hyperbolicTangent=gu.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,yu(t.sinh(),t.cosh(),o.precision=n,o.rounding=e)):new o(t.s)},gu.inverseCosine=gu.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()?ku(e,o,r):new e(0):new e(NaN):n.isZero()?ku(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))},gu.inverseHyperbolicCosine=gu.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,nu=!1,t=t.times(t).minus(1).sqrt().plus(t),nu=!0,o.precision=n,o.rounding=e,t.ln()):new o(t)},gu.inverseHyperbolicSine=gu.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,nu=!1,t=t.times(t).plus(1).sqrt().plus(t),nu=!0,o.precision=n,o.rounding=e,t.ln())},gu.inverseHyperbolicTangent=gu.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?Cu(new i(r),n,e,!0):(i.precision=t=o-r.e,r=yu(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)},gu.inverseSine=gu.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=ku(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)))},gu.inverseTangent=gu.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<=hu)return(a=ku(u,c+4,p).times(.25)).s=d.s,a}else{if(!d.s)return new u(NaN);if(c+4<=hu)return(a=ku(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(nu=!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)),nu=!0,Cu(a,u.precision=c,u.rounding=p,!0)},gu.isFinite=function(){return!!this.d},gu.isInteger=gu.isInt=function(){return!!this.d&&au(this.e/7)>this.d.length-2},gu.isNaN=function(){return!this.s},gu.isNegative=gu.isNeg=function(){return this.s<0},gu.isPositive=gu.isPos=function(){return this.s>0},gu.isZero=function(){return!!this.d&&0===this.d[0]},gu.lessThan=gu.lt=function(n){return this.cmp(n)<0},gu.lessThanOrEqualTo=gu.lte=function(n){return this.cmp(n)<1},gu.logarithm=gu.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(nu=!1,a=Fu(d,l=c+5),o=e?Su(u,l+10):Fu(n,l),bu((s=yu(a,o,l,1)).d,r=c,p))do{if(a=Fu(d,l+=10),o=e?Su(u,l+10):Fu(n,l),s=yu(a,o,l,1),!i){+vu(s.d).slice(r+1,r+15)+1==1e14&&(s=Cu(s,c+1,0));break}}while(bu(s.d,r+=10,p));return nu=!0,Cu(s,c,p)},gu.minus=gu.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 nu?Cu(n,l,s):n}if(t=au(n.e/7),u=au(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]=pu-1;--d[r],d[o]+=pu}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=wu(d,t),nu?Cu(n,l,s):n):new h(3===s?-0:0)},gu.modulo=gu.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]?Cu(new o(t),o.precision,o.rounding):(nu=!1,9==o.modulo?(e=yu(t,n.abs(),0,3,1)).s*=n.s:e=yu(t,n,0,o.modulo,1),e=e.times(n),nu=!0,t.minus(e))},gu.naturalExponential=gu.exp=function(){return Eu(this)},gu.naturalLogarithm=gu.ln=function(){return Fu(this)},gu.negated=gu.neg=function(){var n=new this.constructor(this);return n.s=-n.s,Cu(n)},gu.plus=gu.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)),nu?Cu(n,l,s):n;if(i=au(c.e/7),o=au(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)/pu|0,d[r]%=pu;for(e&&(d.unshift(e),++o),a=d.length;0==d[--a];)d.pop();return n.d=d,n.e=wu(d,o),nu?Cu(n,l,s):n},gu.precision=gu.sd=function(n){var e,t=this;if(void 0!==n&&n!==!!n&&1!==n&&0!==n)throw Error(tu+n);return t.d?(e=_u(t.d),n&&t.e+1>e&&(e=t.e+1)):e=NaN,e},gu.round=function(){var n=this,e=n.constructor;return Cu(new e(n),n.e+1,e.rounding)},gu.sine=gu.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:Nu(n,2,e,e);t=(t=1.4*Math.sqrt(o))>16?16:0|t,e=e.times(1/Hu(5,t)),e=Nu(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,Mu(o,t)),o.precision=n,o.rounding=e,Cu(Xd>2?t.neg():t,n,e,!0)):new o(NaN)},gu.squareRoot=gu.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(nu=!1,0==(d=Math.sqrt(+a))||d==1/0?(((e=vu(l)).length+s)%2==0&&(e+="0"),d=Math.sqrt(e),s=au((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(yu(a,i,t+2,1)).times(.5),vu(i.d).slice(0,t)===(e=vu(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))||(Cu(o,s+1,1),n=!o.times(o).eq(a));break}if(!r&&(Cu(i,s+1,0),i.times(i).eq(a))){o=i;break}t+=4,r=1}return nu=!0,Cu(o,s,u.rounding,n)},gu.tangent=gu.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=yu(t,new o(1).minus(t.times(t)).sqrt(),n+10,0),o.precision=n,o.rounding=e,Cu(2==Xd||4==Xd?t.neg():t,n,e,!0)):new o(NaN)},gu.times=gu.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=au(u.e/7)+au(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%pu|0,e=l/pu|0;i[r]=(i[r]+e)%pu|0}for(;!i[--a];)i.pop();return e?++t:i.shift(),n.d=i,n.e=wu(i,t),nu?Cu(n,c.precision,c.rounding):n},gu.toBinary=function(n,e){return Du(this,2,n,e)},gu.toDecimalPlaces=gu.toDP=function(n,e){var t=this,o=t.constructor;return t=new o(t),void 0===n?t:(mu(n,0,Zd),void 0===e?e=o.rounding:mu(e,0,8),Cu(t,n+t.e+1,e))},gu.toExponential=function(n,e){var t,o=this,r=o.constructor;return void 0===n?t=xu(o,!0):(mu(n,0,Zd),void 0===e?e=r.rounding:mu(e,0,8),t=xu(o=Cu(new r(o),n+1,e),!0,n+1)),o.isNeg()&&!o.isZero()?"-"+t:t},gu.toFixed=function(n,e){var t,o,r=this,i=r.constructor;return void 0===n?t=xu(r):(mu(n,0,Zd),void 0===e?e=i.rounding:mu(e,0,8),t=xu(o=Cu(new i(r),n+r.e+1,e),!1,n+o.e+1)),r.isNeg()&&!r.isZero()?"-"+t:t},gu.toFraction=function(n){var e,t,o,r,i,a,l,s,d,u,c,p,f=this,h=f.d,g=f.constructor;if(!h)return new g(f);if(d=t=new g(1),o=s=new g(0),a=(i=(e=new g(o)).e=_u(h)-f.e-1)%7,e.d[0]=lu(10,a<0?7+a:a),null==n)n=i>0?e:d;else{if(!(l=new g(n)).isInt()||l.lt(d))throw Error(tu+l);n=l.gt(e)?i>0?e:d:l}for(nu=!1,l=new g(vu(h)),u=g.precision,g.precision=i=7*h.length*2;c=yu(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=yu(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=yu(d,o,i,1).minus(f).abs().cmp(yu(s,t,i,1).minus(f).abs())<1?[d,o]:[s,t],g.precision=u,nu=!0,p},gu.toHexadecimal=gu.toHex=function(n,e){return Du(this,16,n,e)},gu.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:mu(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]?(nu=!1,t=yu(t,n,0,e,1).times(n),nu=!0,Cu(t)):(n.s=t.s,t=n),t},gu.toNumber=function(){return+this},gu.toOctal=function(n,e){return Du(this,8,n,e)},gu.toPower=gu.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(lu(+l,d));if((l=new s(l)).eq(1))return l;if(o=s.precision,i=s.rounding,n.eq(1))return Cu(l,o,i);if((e=au(n.e/7))>=n.d.length-1&&(t=d<0?-d:d)<=9007199254740991)return r=zu(s,l,t,o),n.s<0?new s(1).div(r):Cu(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=lu(+l,d))&&isFinite(t)?new s(t+"").e:au(d*(Math.log("0."+vu(l.d))/Math.LN10+l.e+1)))>s.maxE+1||e<s.minE-1?new s(e>0?a/0:0):(nu=!1,s.rounding=l.s=1,t=Math.min(12,(e+"").length),(r=Eu(n.times(Fu(l,o+t)),o)).d&&bu((r=Cu(r,o+5,1)).d,o,i)&&(e=o+10,+vu((r=Cu(Eu(n.times(Fu(l,e+t)),e),e+5,1)).d).slice(o+1,o+15)+1==1e14&&(r=Cu(r,o+1,0))),r.s=a,nu=!0,s.rounding=i,Cu(r,o,i))},gu.toPrecision=function(n,e){var t,o=this,r=o.constructor;return void 0===n?t=xu(o,o.e<=r.toExpNeg||o.e>=r.toExpPos):(mu(n,1,Zd),void 0===e?e=r.rounding:mu(e,0,8),t=xu(o=Cu(new r(o),n,e),n<=o.e||o.e<=r.toExpNeg,n)),o.isNeg()&&!o.isZero()?"-"+t:t},gu.toSignificantDigits=gu.toSD=function(n,e){var t=this.constructor;return void 0===n?(n=t.precision,e=t.rounding):(mu(n,1,Zd),void 0===e?e=t.rounding:mu(e,0,8)),Cu(new t(this),n,e)},gu.toString=function(){var n=this,e=n.constructor,t=xu(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()&&!n.isZero()?"-"+t:t},gu.truncated=gu.trunc=function(){return Cu(new this.constructor(this),this.e+1,1)},gu.valueOf=gu.toJSON=function(){var n=this,e=n.constructor,t=xu(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()?"-"+t:t};var yu=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,g,v,m,b,A,y,C,x,w,S,k,_,B,z,T=o.constructor,P=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*P:P/0:NaN);for(s?(f=1,u=o.e-r.e):(s=pu,f=7,u=au(o.e/f)-au(r.e/f)),B=F.length,k=E.length,b=(m=new T(P)).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;(z=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(g=n(F,p,s),A,v=g.length,y=A.length))&&(p--,t(g,B<v?z:F,v,s))):(0==p&&(d=p=1),g=F.slice()),(v=g.length)<y&&g.unshift(0),t(A,g,y,s),-1==d&&(d=e(F,A,B,y=A.length))<1&&(p++,t(A,B<y?z: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,Ud=h;else{for(c=1,p=b[0];p>=10;p/=10)c++;m.e=c+u*f-1,Cu(m,l?i+m.e+1:i,a,h)}return m}}();function Cu(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])/lu(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/lu(10,r-a-1)%10|0}if(o=o||e<0||void 0!==c[p+1]||(a<0?u:u%lu(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/lu(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]=lu(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=lu(10,7-i),c[p]=a>0?(u/lu(10,r-a)%lu(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]==pu&&(c[0]=1));break}if(c[p]+=l,c[p]!=pu)break;c[p--]=0,l=1}for(i=c.length;0===c[--i];)c.pop()}return nu&&(n.e>f.maxE?(n.d=null,n.e=NaN):n.e<f.minE&&(n.e=0,n.d=[0])),n}function xu(n,e,t){if(!n.isFinite())return $u(n);var o,r=n.e,i=vu(n.d),a=i.length;return e?(t&&(o=t-a)>0?i=i.charAt(0)+"."+i.slice(1)+Bu(o):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(n.e<0?"e":"e+")+n.e):r<0?(i="0."+Bu(-r-1)+i,t&&(o=t-a)>0&&(i+=Bu(o))):r>=a?(i+=Bu(r+1-a),t&&(o=t-r-1)>0&&(i=i+"."+Bu(o))):((o=r+1)<a&&(i=i.slice(0,o)+"."+i.slice(o)),t&&(o=t-a)>0&&(r+1===a&&(i+="."),i+=Bu(o))),i}function wu(n,e){var t=n[0];for(e*=7;t>=10;t/=10)e++;return e}function Su(n,e,t){if(e>fu)throw nu=!0,t&&(n.precision=t),Error(ou);return Cu(new n(Qd),e,1,!0)}function ku(n,e,t){if(e>hu)throw Error(ou);return Cu(new n(Jd),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 Bu(n){for(var e="";n--;)e+="0";return e}function zu(n,e,t,o){var r,i=new n(1),a=Math.ceil(o/7+4);for(nu=!1;;){if(t%2&&Lu((i=i.times(e)).d,a)&&(r=!0),0===(t=au(t/2))){t=i.d.length-1,r&&0===i.d[t]&&++i.d[t];break}Lu((e=e.times(e)).d,a)}return nu=!0,i}function Tu(n){return 1&n.d[n.d.length-1]}function Pu(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 Eu(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?(nu=!1,s=h):s=e,l=new p(.03125);n.e>-2;)n=n.times(l),c+=5;for(s+=o=Math.log(lu(2,c))/Math.LN10*2+5|0,t=i=a=new p(1),p.precision=s;;){if(i=Cu(i.times(n),s,1),t=t.times(++u),vu((l=a.plus(yu(i,t,s,1))).d).slice(0,s)===vu(a.d).slice(0,s)){for(r=c;r--;)a=Cu(a.times(a),s,1);if(null!=e)return p.precision=h,a;if(!(d<3&&bu(a.d,s-o,f,d)))return Cu(a,p.precision=h,f,nu=!0);p.precision=s+=10,t=i=l=new p(1),u=0,d++}a=l}}function Fu(n,e){var t,o,r,i,a,l,s,d,u,c,p,f=1,h=n,g=h.d,v=h.constructor,m=v.rounding,b=v.precision;if(h.s<0||!g||!g[0]||!h.e&&1==g[0]&&1==g.length)return new v(g&&!g[0]?-1/0:1!=h.s?NaN:g?0:h);if(null==e?(nu=!1,u=b):u=e,v.precision=u+=10,o=(t=vu(g)).charAt(0),!(Math.abs(i=h.e)<15e14))return d=Su(v,u+2,b).times(i+""),h=Fu(new v(o+"."+t.slice(1)),u-10).plus(d),v.precision=b,null==e?Cu(h,b,m,nu=!0):h;for(;o<7&&1!=o||1==o&&t.charAt(1)>3;)o=(t=vu((h=h.times(n)).d)).charAt(0),f++;for(i=h.e,o>1?(h=new v("0."+t),i++):h=new v(o+"."+t.slice(1)),c=h,s=a=h=yu(h.minus(1),h.plus(1),u,1),p=Cu(h.times(h),u,1),r=3;;){if(a=Cu(a.times(p),u,1),vu((d=s.plus(yu(a,new v(r),u,1))).d).slice(0,u)===vu(s.d).slice(0,u)){if(s=s.times(2),0!==i&&(s=s.plus(Su(v,u+2,b).times(i+""))),s=yu(s,new v(f),u,1),null!=e)return v.precision=b,s;if(!bu(s.d,u-10,m,l))return Cu(s,v.precision=b,m,nu=!0);v.precision=u+=10,d=a=h=yu(c.minus(1),c.plus(1),u,1),p=Cu(h.times(h),u,1),r=l=1}s=d,r+=2}}function $u(n){return String(n.s*n.s/0)}function Iu(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),nu&&(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 Wu(n,e){var t,o,r,i,a,l,s,d,u;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),cu.test(e))return Iu(n,e)}else if("Infinity"===e||"NaN"===e)return+e||(n.s=NaN),n.e=NaN,n.d=null,n;if(du.test(e))t=16,e=e.toLowerCase();else if(su.test(e))t=2;else{if(!uu.test(e))throw Error(tu+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=zu(o,new o(t),i,2*i)),i=u=(d=Au(e,t,pu)).length-1;0===d[i];--i)d.pop();return i<0?new o(0*n.s):(n.e=wu(d,u),n.d=d,nu=!1,a&&(n=yu(n,r,4*l)),s&&(n=n.times(Math.abs(s)<54?lu(2,s):Bc.pow(2,s))),nu=!0,n)}function Nu(n,e,t,o,r){var i,a,l,s,d=n.precision,u=Math.ceil(d/7);for(nu=!1,s=t.times(t),l=new n(o);;){if(a=yu(l.times(s),new n(e++*e++),d,1),l=r?o.plus(a):o.minus(a),o=yu(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 nu=!0,a.d.length=u+1,a}function Hu(n,e){for(var t=n;--e;)t*=n;return t}function Mu(n,e){var t,o=e.s<0,r=ku(n,n.precision,1),i=r.times(.5);if((e=e.abs()).lte(i))return Xd=o?4:1,e;if((t=e.divToInt(r)).isZero())Xd=o?3:2;else{if((e=e.minus(t.times(r))).lte(i))return Xd=Tu(t)?o?2:3:o?4:1,e;Xd=Tu(t)?o?1:4:o?3:2}return e.minus(r).abs()}function Du(n,e,t,o){var r,i,a,l,s,d,u,c,p,f=n.constructor,h=void 0!==t;if(h?(mu(t,1,Zd),void 0===o?o=f.rounding:mu(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=xu(n)).indexOf("."))>=0&&(u=u.replace(".",""),(p=new f(1)).e=u.length-a,p.d=Au(xu(p),10,r),p.e=p.d.length),i=s=(c=Au(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=yu(n,p,t,o,0,r)).d,i=n.e,d=Ud),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+=qd.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=Au(u,r,e)).length;!c[s-1];--s);for(a=1,u="1.";a<s;a++)u+=qd.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=$u(n);return n.s<0?"-"+u:u}function Lu(n,e){if(n.length>e)return n.length=e,!0}function Ru(n){return new this(n).abs()}function ju(n){return new this(n).acos()}function Ou(n){return new this(n).acosh()}function Vu(n,e){return new this(n).plus(e)}function Yu(n){return new this(n).asin()}function Uu(n){return new this(n).asinh()}function Xu(n){return new this(n).atan()}function Gu(n){return new this(n).atanh()}function Zu(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?ku(this,o,r):new this(0)).s=n.s:!n.d||e.isZero()?(t=ku(this,i,1).times(.5)).s=n.s:e.s<0?(this.precision=i,this.rounding=1,t=this.atan(yu(n,e,i,1)),e=ku(this,i,1),this.precision=o,this.rounding=r,t=n.s<0?t.minus(e):t.plus(e)):t=this.atan(yu(n,e,i,1)):(t=ku(this,i,1).times(e.s>0?.25:.75)).s=n.s:t=new this(NaN),t}function qu(n){return new this(n).cbrt()}function Qu(n){return Cu(n=new this(n),n.e+1,2)}function Ju(n,e,t){return new this(n).clamp(e,t)}function Ku(n){if(!n||"object"!=typeof n)throw Error(eu+"Object expected");var e,t,o,r=!0===n.defaults,i=["precision",1,Zd,"rounding",0,8,"toExpNeg",-Gd,0,"toExpPos",0,Gd,"maxE",0,Gd,"minE",-Gd,0,"modulo",0,9];for(e=0;e<i.length;e+=3)if(t=i[e],r&&(this[t]=Kd[t]),void 0!==(o=n[t])){if(!(au(o)===o&&o>=i[e+1]&&o<=i[e+2]))throw Error(tu+t+": "+o);this[t]=o}if(t="crypto",r&&(this[t]=Kd[t]),void 0!==(o=n[t])){if(!0!==o&&!1!==o&&0!==o&&1!==o)throw Error(tu+t+": "+o);if(o){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(ru);this[t]=!0}else this[t]=!1}return this}function nc(n){return new this(n).cos()}function ec(n){return new this(n).cosh()}function tc(n,e){return new this(n).div(e)}function oc(n){return new this(n).exp()}function rc(n){return Cu(n=new this(n),n.e+1,3)}function ic(){var n,e,t=new this(0);for(nu=!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 nu=!0,new this(1/0);t=e}return nu=!0,t.sqrt()}function ac(n){return n instanceof Bc||n&&n.toStringTag===iu||!1}function lc(n){return new this(n).ln()}function sc(n,e){return new this(n).log(e)}function dc(n){return new this(n).log(2)}function uc(n){return new this(n).log(10)}function cc(){return Pu(this,arguments,-1)}function pc(){return Pu(this,arguments,1)}function fc(n,e){return new this(n).mod(e)}function hc(n,e){return new this(n).mul(e)}function gc(n,e){return new this(n).pow(e)}function vc(n){var e,t,o,r,i=0,a=new this(1),l=[];if(void 0===n?n=this.precision:mu(n,1,Zd),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(ru);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=lu(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 mc(n){return Cu(n=new this(n),n.e+1,this.rounding)}function bc(n){return(n=new this(n)).d?n.d[0]?n.s:0*n.s:n.s||NaN}function Ac(n){return new this(n).sin()}function yc(n){return new this(n).sinh()}function Cc(n){return new this(n).sqrt()}function xc(n,e){return new this(n).sub(e)}function wc(){var n=0,e=arguments,t=new this(e[n]);for(nu=!1;t.s&&++n<e.length;)t=t.plus(e[n]);return nu=!0,Cu(t,this.precision,this.rounding)}function Sc(n){return new this(n).tan()}function kc(n){return new this(n).tanh()}function _c(n){return Cu(n=new this(n),n.e+1,1)}gu[Symbol.for("nodejs.util.inspect.custom")]=gu.toString,gu[Symbol.toStringTag]="Decimal";var Bc=gu.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,ac(n))return r.s=n.s,void(nu?!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(nu?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)):Iu(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),cu.test(n)?Iu(r,n):Wu(r,n);if("bigint"===o)return n<0?(n=-n,r.s=-1):r.s=1,Iu(r,n.toString());throw Error(tu+n)}if(i.prototype=gu,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=Ku,i.clone=n,i.isDecimal=ac,i.abs=Ru,i.acos=ju,i.acosh=Ou,i.add=Vu,i.asin=Yu,i.asinh=Uu,i.atan=Xu,i.atanh=Gu,i.atan2=Zu,i.cbrt=qu,i.ceil=Qu,i.clamp=Ju,i.cos=nc,i.cosh=ec,i.div=tc,i.exp=oc,i.floor=rc,i.hypot=ic,i.ln=lc,i.log=sc,i.log10=uc,i.log2=dc,i.max=cc,i.min=pc,i.mod=fc,i.mul=hc,i.pow=gc,i.random=vc,i.round=mc,i.sign=bc,i.sin=Ac,i.sinh=yc,i.sqrt=Cc,i.sub=xc,i.sum=wc,i.tan=Sc,i.tanh=kc,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}(Kd);Qd=new Bc(Qd),Jd=new Bc(Jd);var zc={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=ea(t.placement),s=oa(l),d=[Li,Di].indexOf(l)>=0?"height":"width";if(i&&a){var u=function(n,e){return ia("number"!=typeof(n="function"==typeof n?n(Object.assign({},e.rects,{placement:e.placement})):n)?n:aa(n,ji))}(r.padding,t),c=Pi(i),p="y"===s?Hi:Li,f="y"===s?Mi:Di,h=t.rects.reference[d]+t.rects.reference[s]-a[s]-t.rects.popper[d],g=a[s]-t.rects.reference[s],v=Ni(i),m=v?"y"===s?v.clientHeight||0:v.clientWidth||0:0,b=h/2-g/2,A=u[p],y=m-c[d]-u[f],C=m/2-c[d]/2+b,x=Ba(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)))&&Qi(e.elements.popper,o)&&(e.elements.arrow=o)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};const Tc={directives:{domresize:Wr()},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,g=null,v=null,m=null,b=!1,A=On(t,"getHeighRatio",null);en(A)||(A=()=>1);let y=On(t,"getWidthRatio",null);en(y)||(y=()=>1);let C=On(t,"stopScrollPropagationForPanel",null);ni(C)||(C=!1);let x=On(t,"stopTouchDragPropagationForPanel",null);ni(x)||(x=!1);let w=On(t,"useTouchDragForPanel",null);ni(w)||(w=!0);let S=n,k=e,_=Er();return o=n=>{let e=n.deltaY/Math.abs(n.deltaY),t=n.deltaX/Math.abs(n.deltaX);_.emit("scrollPanel",{ratioY:e,ratioX:t}),C&&hd(n)},S.addEventListener("wheel",o),r=n=>{if(w){let e=On(n,"touches.0.clientY",0),t=On(n,"touches.0.clientX",0),o=-e*A(),r=-t*y();b=!0,_.emit("pressBar",{clientY:o,clientX:r}),x&&hd(n)}},S.addEventListener("touchstart",r),i=n=>{if(w&&b){let e=On(n,"touches.0.clientY",0),t=On(n,"touches.0.clientX",0),o=-e*A(),r=-t*y();_.emit("dragBar",{clientY:o,clientX:r}),x&&hd(n)}},S.addEventListener("touchmove",i,{passive:!1}),a=n=>{w&&b&&(b=!1,_.emit("freeBar"),x&&hd(n))},S.addEventListener("touchend",a),l=n=>{b=!0,_.emit("pressBar",{clientY:n.clientY,clientX:n.clientX})},k.addEventListener("mousedown",l),s=n=>{b&&(b=!1,_.emit("freeBar"))},k.addEventListener("mouseup",s),d=n=>{b=!0,_.emit("pressBar",{clientY:n.touches[0].clientY,clientX:n.touches[0].clientX})},k.addEventListener("touchstart",d),u=n=>{b&&(_.emit("dragBar",{clientY:n.touches[0].clientY,clientX:n.touches[0].clientX}),hd(n))},k.addEventListener("touchmove",u,{passive:!1}),c=n=>{b&&(b=!1,_.emit("freeBar"))},k.addEventListener("touchend",c),p=n=>{b&&_.emit("dragBar",{clientY:n.clientY,clientX:n.clientX})},window.addEventListener("mousemove",p),f=n=>{b&&(b=!1,_.emit("freeBar"),C&&hd(n))},window.addEventListener("mouseup",f),h=n=>{},window.addEventListener("scroll",h,{passive:!1}),g=n=>{},window.addEventListener("wheel",g,{passive:!1}),v=n=>{},document.addEventListener("scroll",v,{passive:!1}),m=n=>{},document.addEventListener("wheel",m,{passive:!1}),_.clear=function(){S.removeEventListener("wheel",o),S.removeEventListener("touchstart",r),S.removeEventListener("touchmove",i),S.removeEventListener("touchend",a),k.removeEventListener("mousedown",l),k.removeEventListener("mouseup",s),k.removeEventListener("touchstart",d),k.removeEventListener("touchmove",u),k.removeEventListener("touchend",c),window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",f),window.removeEventListener("scroll",h),window.removeEventListener("wheel",g),document.removeEventListener("scroll",v),document.removeEventListener("wheel",m)},_}(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 qt(this.progColor)},effProgColorDisabled:function(){return qt(this.progColorDisabled)},useProgColor:function(){let n=this;return n.editable?n.effProgColor:n.effProgColorDisabled},effProgBackgroundColor:function(){return qt(this.progBackgroundColor)},effProgBackgroundColorDisabled:function(){return qt(this.progBackgroundColorDisabled)},useProgBackgroundColor:function(){let n=this;return n.editable?n.effProgBackgroundColor:n.effProgBackgroundColorDisabled},effSliderBackgroundColor:function(){return qt(this.sliderBackgroundColor)},effSliderBackgroundColorHover:function(){return qt(this.sliderBackgroundColorHover)},effSliderBackgroundColorDisabled:function(){return qt(this.sliderBackgroundColorDisabled)},useSliderBackgroundColor:function(){let n=this;return n.editable?n.effecting?n.effSliderBackgroundColorHover:n.effSliderBackgroundColor:n.effSliderBackgroundColorDisabled},useTooltipBorderRadius:function(){let n=this;return Zr(n.tooltipBorderRadius)?`border-radius:${n.tooltipBorderRadius}px;`:""},useTooltipTextFontSize:function(){let n=this.tooltipTextFontSize;return n=qr(n,";",""),`font-size:${n};`},useTooltipTextColor:function(){return qt(this.tooltipTextColor)},useTooltipBackgroundColor:function(){return qt(this.tooltipBackgroundColor)},valueDig:function(){let n=this;return function(n,e=0){return Ar(n)&&yl(e)?(n=yr(n),kr(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={}){yl(e)||(e=0),e=_r(e);let o=On(t,"rounding","");return"ROUND_HALF_UP"!==o&&"ROUND_HALF_EVEN"!==o&&(o="ROUND_HALF_UP"),Ar(n)?new Bc(n).toDecimalPlaces(e,Bc[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=yr(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=On(e,"$refs.divTrigger",null);if(null===t)return;let o=On(e,"$refs.divContent",null);if(null===o)return;let r={strategy:"fixed",placement:"top",modifiers:[zc,{name:"arrow",options:{padding:5}},xa,{name:"flip",options:{fallbackPlacements:["top","top-start","top-end","bottom","bottom-start","bottom-end"]}},wa,{name:"offset",options:{offset:({placement:n,reference:t,popper:o})=>[0,e.tooltipPlacementDist]}},_a]};e.popperInstance=va(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 Pc=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":""}})])])])};Pc._withStripped=!0;const Ec={components:{WGroupChipRadio:Pd,WPanelLabelItem:$d,WText:Yd,WSlider:e({render:Pc,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})},Tc,"data-v-a1a5d80e",false,void 0,!1,o,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=qt(n.value);let e=zs.toRgba(n.valueTrans),t=zs.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 qt(this.borderColor)},useBackgroundColor:function(){return qt(this.backgroundColor)}},methods:{cki255:function(n){if(!yl(n))return 0;let e=n;return(n=_r(n))<0?n=0:n>255&&(n=255),n===_r(e)?e:n},cki360:function(n){if(!yl(n))return 0;let e=n;return(n=_r(n))<0?n=0:n>360&&(n=360),n===_r(e)?e:n},ckd1:function(n){if(!cd(n))return 0;let e=n;return(n=yr(n))<0?n=0:n>1&&(n=1),n===yr(e)?e:n},updateColorCore:function(){let n=this,e=!1,t=!1;{let t=_r(n.rt);n.r!==t&&(n.r=t,e=!0)}{let t=_r(n.gt);n.g!==t&&(n.g=t,e=!0)}{let t=_r(n.bt);n.b!==t&&(n.b=t,e=!0)}{let t=yr(n.at);n.a!==t&&(n.a=t,e=!0)}{let e=_r(n.ht);n.h!==e&&(n.h=e,t=!0)}{let e=yr(n.st);n.s!==e&&(n.s=e,t=!0)}{let e=yr(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}),oi(o)&&(o=zs.toRgbaString(o),n.valueTrans=o,n.$emit("input",o))},updateColor:function(n,e,t){let o=this;setTimeout(()=>{o.updateColorCore()},1)}}};var Fc=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)])])};Fc._withStripped=!0;const $c=e({render:Fc,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})},Ec,"data-v-9b55b3c2",false,void 0,!1,o,void 0,void 0);const Ic={directives:{domresize:Wr()},components:{WPopup:Da,WColorSelectPanel:ud,WColorSelectInput:$c,WButtonChip:kd,WIcon:bd},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=qt(n.value),n.valueNew=n.valueOri,""},changeType:function(){return this.typeTrans=this.type,""},hasEyeDropper:function(){return Vn(window.EyeDropper)},useColorBlockBorderColor:function(){return qt(this.colorBlockBorderColor)},useColorTextColor:function(){return qt(this.colorTextColor)},usePanelBackgroundColor:function(){return qt(this.panelBackgroundColor)},useToolBackgroundColor:function(){return qt(this.toolBackgroundColor)},useBorderColor:function(){return qt(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=On(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=On(n,"snew.windowHeight",0);try{let n=function(n){if(!Kn(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=On(n,"snew.clientHeight",0);this.selectPanelHeight=e},resizeSelectInput:function(n){if(!this.show)return;let e=On(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=On(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 Wc=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"}})};Wc._withStripped=!0;const Nc=e({render:Wc,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})},Ic,"data-v-5cae3111",false,void 0,!1,o,void 0,void 0);const Hc={components:{WColorSelect:Nc},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 Mc=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)])};Mc._withStripped=!0;var Dc={name:"NodeWrapper",components:{NodeBody:N,NodeSettingsForm:e({render:Mc,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})},Hc,void 0,false,void 0,!1,o,void 0,void 0),WPopup:Da},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)),g=n=>h(a+n),v=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=v(t);u=n.w,p=n.x;let e=b(o);c=e.h,h=e.y}else if("top-right"===e){u=g(t);let n=b(o);c=n.h,h=n.y}else if("bottom-left"===e){let n=v(t);u=n.w,p=n.x,c=m(o)}else"bottom-right"===e&&(u=g(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 Lc=Dc;var Rc=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)};Rc._withStripped=!0;const jc={name:"NodeRenderer",components:{NodeWrapper:e({render:Rc,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})},Lc,"data-v-d66c347a",false,void 0,!1,o,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 Oc=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)};Oc._withStripped=!0;const Vc=e({render:Oc,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})},jc,"data-v-569f62ba",false,void 0,!1,o,void 0,void 0);let Yc=new Map,Uc=-1;function Xc(){Yc.clear(),Uc=-1}function Gc(n,e,t,o,r,i,a,l,s,d,u){let c=Math.floor(Date.now()/16);c!==Uc&&(Yc.clear(),Uc=c);let p=Math.round(n/10)+","+Math.round(e/10)+","+Math.round(o/10)+","+Math.round(r/10)+","+t+","+i,f=Yc.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 g=Zc(h,n,e),v=Zc(h,o,r),m=function(n,e,t,o,r,i,a,l,s){if(!a||!l)return null;let d=ap(t),u=ap(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 g=[[],[]];for(let n=0;n<2;n++)g[n][1]=c[n][0]-s,g[n][2]=c[n][1]-s,g[n][4]=c[n][0]+c[n][2]+s,g[n][8]=c[n][1]+c[n][3]+s;let v=[[.5,.5],[.5,.5]],m=c[0][2]||1,b=c[0][3]||1,A=c[1][2]||1,y=c[1][3]||1;v[0][0]=(n-c[0][0])/m,v[0][1]=(e-c[0][1])/b,v[1][0]=(o-c[1][0])/A,v[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 z=[];z[1]=Math.max(c[0][0]-(c[1][0]+c[1][2])-h,0),z[2]=Math.max(c[0][1]-(c[1][1]+c[1][3])-h,0),z[3]=Math.max(c[1][0]-(c[0][0]+c[0][2])-h,0),z[4]=Math.max(c[1][1]-(c[0][1]+c[0][3])-h,0);let T=d===Kc?3:d,P=u===Kc?3:u;T-=B,P-=B,T<1&&(T+=4);P<1&&(P+=4);let E=ip[T-1][P-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 qc:F[0][0]-=s,F[0][1]+=v[0][1]*c[0][3];break;case Jc:F[0][0]+=v[0][0]*c[0][2],F[0][1]+=c[0][3]+s;break;case Kc:F[0][0]+=c[0][2]+s,F[0][1]+=v[0][1]*c[0][3];break;case Qc:F[0][0]+=v[0][0]*c[0][2],F[0][1]-=s}let $=0,I=(d&(Kc|qc))>0?0:1,W=I;for(let n=0;n<E.length;n++){let e=15&E[n],t=e===Kc?3:e;t+=B,t>4&&(t-=4);let o=rp[t-1],r=t%2>0?0:1;r!==I&&($++,F[$]=[F[$-1][0],F[$-1][1]]);let i=(E[n]&op)>0,a=(E[n]&tp)>0,l=(E[n]&np)>>5;l<<=B,l>15&&(l>>=4);let s=(E[n]&ep)>0;if((a||i)&&l<9){let n,e=a?0:1;if(n=s&&0===r?c[e][0]+v[e][0]*c[e][2]:s?c[e][1]+v[e][1]*c[e][3]:g[e][l],0===r){let e=(n-F[$][0])*o[0];e>0&&(F[$][0]+=o[0]*e)}else{let e=(n-F[$][1])*o[1];e>0&&(F[$][1]+=o[1]*e)}}else s&&(F[$][0]+=o[0]*Math.abs(z[t]/2),F[$][1]+=o[1]*Math.abs(z[t]/2));$>0&&F[$][r]===F[$-1][r]?$--:I=r}let N=[{x:n,y:e}],H=((u&(Kc|qc))>0?0:1)===W?0:1;for(let n=0;n<=$&&(n!==$||H===($+1)%2);n++)N.push({x:Math.round(10*F[n][0])/10,y:Math.round(10*F[n][1])/10});N.push({x:o,y:r});let M=[N[0]];for(let n=1;n<N.length;n++)(Math.abs(N[n].x-M[M.length-1].x)>.5||Math.abs(N[n].y-M[M.length-1].y)>.5)&&M.push(N[n]);return M}(n,e,t,o,r,i,g,v,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,g,v)),Yc.size>200&&Yc.clear(),Yc.set(p,m),m}function Zc(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 qc=1,Qc=2,Jc=4,Kc=8,np=480,ep=512,tp=1024,op=2048,rp=[[-1,0],[0,-1],[1,0],[0,1],[-1,0],[0,-1],[1,0]],ip=[[[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 ap(n){switch(n){case"left":return qc;case"top":return Qc;case"right":return Kc;default:return Jc}}function lp(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 sp({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=lp(s,t),u=lp(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 dp({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 up({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=Gc(n,e,t,o,r,i,a,l,s),p=c.map((n,e)=>`${0===e?"M":"L"} ${n.x},${n.y}`).join(" "),f=pp(c);return{path:p,labelX:f.x,labelY:f.y}}function cp({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=Gc(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,g=t.y-i/d*c,v=t.x+l/u*c,m=t.y+s/u*c;f+=` L ${h},${g} Q ${t.x},${t.y} ${v},${m}`}f+=` L ${p[p.length-1].x},${p[p.length-1].y}`;const h=pp(p);return{path:f,labelX:h.x,labelY:h.y}}function pp(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 fp={components:{WColorSelect:Nc},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 hp=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)])};hp._withStripped=!0;const gp={bezier:sp,straight:dp,step:up,smoothstep:cp};var vp={name:"EdgeWrapper",components:{ConnSettingsForm:e({render:hp,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})},fp,void 0,false,void 0,!1,o,void 0,void 0),WPopup:Da},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(gp[n]||gp.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 mp=vp;var bp=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)])])])};bp._withStripped=!0;const Ap=e({render:bp,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})},mp,"data-v-00fef5cb",false,void 0,!1,o,void 0,void 0);var yp={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 Cp=yp;var xp=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)};xp._withStripped=!0;function wp(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 Sp(n,e){return e?{x:Math.round(n.x/e)*e,y:Math.round(n.y/e)*e}:n}var kp={name:"EdgeRenderer",components:{EdgeWrapper:Ap,EdgeMarkerDefs:e({render:xp,staticRenderFns:[]},void 0,Cp,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 wp(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 wp(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=kp;var Bp=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)};Bp._withStripped=!0;const zp=e({render:Bp,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,o,void 0,void 0),Tp={bezier:sp,straight:dp,step:up,smoothstep:cp};const Pp={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(Tp[this.type]||Tp.bezier)({sourceX:this.sourceX,sourceY:this.sourceY,sourcePosition:this.sourcePosition,targetX:this.targetX,targetY:this.targetY,targetPosition:"top"}).path},computedLineStyle(){return this.lineStyle||{}}}};var Ep=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()};Ep._withStripped=!0;const Fp=e({render:Ep,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})},Pp,"data-v-5a3f0f1a",false,void 0,!1,o,void 0,void 0);const $p={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 Ip=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)};Ip._withStripped=!0;let Wp=0;const Np={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"},Hp={type:"bezier",fontSize:10,fontSizeMin:1,fontSizeMax:72,fontColor:"#333333",edgeColor:"#b1b1b7",edgeWidth:1,markerEnd:"",animated:!1,defOffset:24};var Mp={components:{FlowCanvas:s,ViewportTransform:c,BackgroundLayer:h,SelectionBox:m,NodeRenderer:Vc,EdgeRenderer:zp,ConnectionLine:Fp,Controls:e({render:Ip,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})},$p,"data-v-94acbd54",false,void 0,!1,o,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=Np;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=Hp;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=Sp({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,Xc(),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=wp(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)?(Wp++,`${Date.now()}-${Wp}-${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),Xc(),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),Xc(),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,Xc(),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 Dp=Mp;var Lp=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)};Lp._withStripped=!0;return e({render:Lp,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})},Dp,"data-v-ab2a5ee2",false,void 0,!1,o,void 0,void 0)});
15
+ //# sourceMappingURL=w-flow-vue.umd.js.map