├── README.md
├── assets
└── canvas-36908b82.js
├── css
├── 401.css
├── 404.css
├── index.css
├── index.css.gz
├── index2.css
└── index2.css.gz
├── favicon.ico
├── gif
└── loading.gif
├── img
└── icons
│ ├── android-chrome-192x192.png
│ ├── android-chrome-512x512.png
│ ├── android-chrome-maskable-192x192.png
│ ├── android-chrome-maskable-512x512.png
│ ├── apple-touch-icon-120x120.png
│ ├── apple-touch-icon-152x152.png
│ ├── apple-touch-icon-180x180.png
│ ├── apple-touch-icon-60x60.png
│ ├── apple-touch-icon-76x76.png
│ ├── apple-touch-icon.png
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── msapplication-icon-144x144.png
│ ├── mstile-150x150.png
│ ├── safari-pinned-tab.svg
│ ├── yft-design-120x120.png
│ ├── yft-design-150x150.png
│ ├── yft-design-152x152.png
│ ├── yft-design-16x16 .png
│ ├── yft-design-180x180.png
│ ├── yft-design-192x192.png
│ ├── yft-design-32x32 .png
│ ├── yft-design-512x512.png
│ ├── yft-design-60x60 .png
│ └── yft-design-76x76 .png
├── index.html
├── js
├── 401.js
├── 404.js
├── clipper-lib.js
├── clipper-lib.js.gz
├── element-plus.js
├── element-plus.js.gz
├── fabric.js
├── fabric.js.gz
├── index.js
├── index.js.gz
├── index2.js
├── index2.js.gz
├── index3.js
├── index3.js.gz
├── lodash-es.js
├── lodash-es.js.gz
├── opentype.js.js
├── opentype.js.js.gz
├── vue.js
├── vue.js.gz
└── workbox-window.prod.es5.js
├── libmupdf.wasm
├── png
├── greyfloral.png
├── honey_im_subtle.png
├── nasty_fabric.png
└── retina_wood.png
├── resource
└── color
│ ├── shading.json
│ └── shading.json.gz
├── sw.js
├── ttf
└── iconfont.ttf
├── woff
└── iconfont.woff
├── woff2
└── iconfont.woff2
└── workbox-4fa9025f.js
/README.md:
--------------------------------------------------------------------------------
1 | # Pdf-Editor
2 | This tool can help you edit direct pdf text or etc ...
3 | There are some small bug, you are welcome to post bug in ISSUE
4 | There are a billion font in the word, so If you meet a font error when export pdf, please send me the font, I will update library
5 | #Demo page
6 | https://saypdf.com/editor/
7 |
8 | #Install
9 | 1. Clone the source code
10 | 2. cd to source code: cd pdf-editor
11 | 3. Install http-server: npm i -g http-server
12 | 3. Run server: http-server
13 | 4. Goto: http://127.0.0.1:8080
14 |
15 | #Contact:
16 | If you have any question, You can contact me via:
17 | Email: ducnhatvo@gmail.com
18 | Skybe: live:c99a173043072052
19 | Website: https://saypdf.com/contact.html
20 |
21 | [](https://buymeacoffee.com/ducnhatvo)
22 |
--------------------------------------------------------------------------------
/assets/canvas-36908b82.js:
--------------------------------------------------------------------------------
1 | !function(){"use strict";self.onmessage=function(t){const e=t.data.canvas,a=e.getContext("2d");let n=0,i=0;e.width=e.height=120;const l=["#F56565","#ED8936","#ECC94B","#48BB78","#38B2AC","#4299E1","#667EEA","#9F7AEA","#ED64A6"];let s=0,o=0,r=0;!function t(){a.clearRect(0,0,e.width,e.height),a.save(),a.translate(e.width/2,e.height/2),a.rotate(n),a.beginPath(),a.arc(0,0,50,0,i),a.strokeStyle=l[s],a.lineWidth=5,a.lineCap="round",a.stroke(),a.restore(),a.save(),a.translate(e.width/2,e.height/2),a.font="20px Arial",a.fillStyle="black",a.textAlign="center",a.textBaseline="middle",r&&o<=r&&a.fillText(`${o}/${r}`,0,0),a.restore(),i+=Math.PI/60,i>=2*Math.PI&&(i=0,s=(s+1)%l.length),n+=Math.PI/180,requestAnimationFrame(t)}(),self.onmessage=function(t){void 0!==t.data.currentPage&&void 0!==t.data.totalPages&&(o=t.data.currentPage,r=t.data.totalPages)}}}();
2 |
--------------------------------------------------------------------------------
/css/401.css:
--------------------------------------------------------------------------------
1 | .errPage-container[data-v-9001f8b1]{width:800px;max-width:100%;margin:100px auto}.errPage-container .pan-back-btn[data-v-9001f8b1]{color:#fff;background:#008489;border:none!important}.errPage-container .pan-gif[data-v-9001f8b1]{display:block;margin:0 auto}.errPage-container .pan-img[data-v-9001f8b1]{display:block;width:100%;margin:0 auto}.errPage-container .text-jumbo[data-v-9001f8b1]{font-size:60px;font-weight:700;color:#484848}.errPage-container .list-unstyled[data-v-9001f8b1]{font-size:14px}.errPage-container .list-unstyled li[data-v-9001f8b1]{padding-bottom:5px}.errPage-container .list-unstyled a[data-v-9001f8b1]{color:#008489;text-decoration:none}.errPage-container .list-unstyled a[data-v-9001f8b1]:hover{text-decoration:underline}
2 |
--------------------------------------------------------------------------------
/css/404.css:
--------------------------------------------------------------------------------
1 | .wscn-http404-container[data-v-7aedc72b]{position:absolute;top:40%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.wscn-http404[data-v-7aedc72b]{position:relative;width:1200px;padding:0 50px;overflow:hidden}.wscn-http404 .pic-404[data-v-7aedc72b]{position:relative;float:left;width:600px;overflow:hidden}.wscn-http404 .pic-404__parent[data-v-7aedc72b]{width:100%}.wscn-http404 .pic-404__child[data-v-7aedc72b]{position:absolute}.wscn-http404 .pic-404__child.left[data-v-7aedc72b]{top:17px;left:220px;width:80px;opacity:0;-webkit-animation-name:cloudLeft-7aedc72b;animation-name:cloudLeft-7aedc72b;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wscn-http404 .pic-404__child.mid[data-v-7aedc72b]{top:10px;left:420px;width:46px;opacity:0;-webkit-animation-name:cloudMid-7aedc72b;animation-name:cloudMid-7aedc72b;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-delay:1.2s;animation-delay:1.2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wscn-http404 .pic-404__child.right[data-v-7aedc72b]{top:100px;left:500px;width:62px;opacity:0;-webkit-animation-name:cloudRight-7aedc72b;animation-name:cloudRight-7aedc72b;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes cloudLeft-7aedc72b{0%{top:17px;left:220px;opacity:0}20%{top:33px;left:188px;opacity:1}80%{top:81px;left:92px;opacity:1}to{top:97px;left:60px;opacity:0}}@keyframes cloudLeft-7aedc72b{0%{top:17px;left:220px;opacity:0}20%{top:33px;left:188px;opacity:1}80%{top:81px;left:92px;opacity:1}to{top:97px;left:60px;opacity:0}}@-webkit-keyframes cloudMid-7aedc72b{0%{top:10px;left:420px;opacity:0}20%{top:40px;left:360px;opacity:1}70%{top:130px;left:180px;opacity:1}to{top:160px;left:120px;opacity:0}}@keyframes cloudMid-7aedc72b{0%{top:10px;left:420px;opacity:0}20%{top:40px;left:360px;opacity:1}70%{top:130px;left:180px;opacity:1}to{top:160px;left:120px;opacity:0}}@-webkit-keyframes cloudRight-7aedc72b{0%{top:100px;left:500px;opacity:0}20%{top:120px;left:460px;opacity:1}80%{top:180px;left:340px;opacity:1}to{top:200px;left:300px;opacity:0}}@keyframes cloudRight-7aedc72b{0%{top:100px;left:500px;opacity:0}20%{top:120px;left:460px;opacity:1}80%{top:180px;left:340px;opacity:1}to{top:200px;left:300px;opacity:0}}.wscn-http404 .bullshit[data-v-7aedc72b]{position:relative;float:left;width:300px;padding:30px 0;overflow:hidden}.wscn-http404 .bullshit__oops[data-v-7aedc72b]{margin-bottom:20px;font-size:32px;font-weight:700;line-height:40px;color:#1482f0;opacity:0;-webkit-animation-name:slideUp-7aedc72b;animation-name:slideUp-7aedc72b;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wscn-http404 .bullshit__headline[data-v-7aedc72b]{margin-bottom:10px;font-size:20px;font-weight:700;line-height:24px;color:#222;opacity:0;-webkit-animation-name:slideUp-7aedc72b;animation-name:slideUp-7aedc72b;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-delay:.1s;animation-delay:.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wscn-http404 .bullshit__info[data-v-7aedc72b]{margin-bottom:30px;font-size:13px;line-height:21px;color:gray;opacity:0;-webkit-animation-name:slideUp-7aedc72b;animation-name:slideUp-7aedc72b;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-delay:.2s;animation-delay:.2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wscn-http404 .bullshit__return-home[data-v-7aedc72b]{display:block;float:left;width:110px;height:36px;font-size:14px;line-height:36px;color:#fff;text-align:center;cursor:pointer;background:#1482f0;border-radius:100px;opacity:0;-webkit-animation-name:slideUp-7aedc72b;animation-name:slideUp-7aedc72b;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-delay:.3s;animation-delay:.3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes slideUp-7aedc72b{0%{opacity:0;-webkit-transform:translateY(60px);transform:translateY(60px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideUp-7aedc72b{0%{opacity:0;-webkit-transform:translateY(60px);transform:translateY(60px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}
2 |
--------------------------------------------------------------------------------
/css/index.css.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/css/index.css.gz
--------------------------------------------------------------------------------
/css/index2.css.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/css/index2.css.gz
--------------------------------------------------------------------------------
/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/favicon.ico
--------------------------------------------------------------------------------
/gif/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/gif/loading.gif
--------------------------------------------------------------------------------
/img/icons/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/android-chrome-192x192.png
--------------------------------------------------------------------------------
/img/icons/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/android-chrome-512x512.png
--------------------------------------------------------------------------------
/img/icons/android-chrome-maskable-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/android-chrome-maskable-192x192.png
--------------------------------------------------------------------------------
/img/icons/android-chrome-maskable-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/android-chrome-maskable-512x512.png
--------------------------------------------------------------------------------
/img/icons/apple-touch-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/apple-touch-icon-120x120.png
--------------------------------------------------------------------------------
/img/icons/apple-touch-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/apple-touch-icon-152x152.png
--------------------------------------------------------------------------------
/img/icons/apple-touch-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/apple-touch-icon-180x180.png
--------------------------------------------------------------------------------
/img/icons/apple-touch-icon-60x60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/apple-touch-icon-60x60.png
--------------------------------------------------------------------------------
/img/icons/apple-touch-icon-76x76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/apple-touch-icon-76x76.png
--------------------------------------------------------------------------------
/img/icons/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/apple-touch-icon.png
--------------------------------------------------------------------------------
/img/icons/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/favicon-16x16.png
--------------------------------------------------------------------------------
/img/icons/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/favicon-32x32.png
--------------------------------------------------------------------------------
/img/icons/msapplication-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/msapplication-icon-144x144.png
--------------------------------------------------------------------------------
/img/icons/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/mstile-150x150.png
--------------------------------------------------------------------------------
/img/icons/safari-pinned-tab.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/img/icons/yft-design-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/yft-design-120x120.png
--------------------------------------------------------------------------------
/img/icons/yft-design-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/yft-design-150x150.png
--------------------------------------------------------------------------------
/img/icons/yft-design-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/yft-design-152x152.png
--------------------------------------------------------------------------------
/img/icons/yft-design-16x16 .png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/yft-design-16x16 .png
--------------------------------------------------------------------------------
/img/icons/yft-design-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/yft-design-180x180.png
--------------------------------------------------------------------------------
/img/icons/yft-design-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/yft-design-192x192.png
--------------------------------------------------------------------------------
/img/icons/yft-design-32x32 .png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/yft-design-32x32 .png
--------------------------------------------------------------------------------
/img/icons/yft-design-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/yft-design-512x512.png
--------------------------------------------------------------------------------
/img/icons/yft-design-60x60 .png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/yft-design-60x60 .png
--------------------------------------------------------------------------------
/img/icons/yft-design-76x76 .png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vonhatduc/pdf-editor/67d1aa9fb56a8c85ebf69af9568c270e65cafbf3/img/icons/yft-design-76x76 .png
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
{const{slotScopeIds:c}=t;c&&(r=r?r.concat(c):c);const d=l(e),p=f(i(e),t,d,n,o,r,s);return p&&ir(p)&&"]"===p.data?i(t.anchor=p):(rr(),a(t.anchor=u("]"),d,p),p)},m=(e,t,o,r,s,a)=>{if(rr(),t.el=null,a){const t=v(e);for(;;){const n=i(e);if(!n||n===t)break;c(n)}}const u=i(e),d=l(e);return c(e),n(null,t,d,u,o,r,sr(d),s),u},v=(e,t="[",n="]")=>{let o=0;for(;e;)if((e=i(e))&&ir(e)&&(e.data===t&&o++,e.data===n)){if(0===o)return i(e);o--}return e},g=(e,t,n)=>{const o=t.parentNode;o&&o.replaceChild(e,t);let r=n;for(;r;)r.vnode.el===t&&(r.vnode.el=r.subTree.el=e),r=r.parent},_=e=>1===e.nodeType&&"template"===e.tagName.toLowerCase();return[(e,t)=>{if(!t.hasChildNodes())return n(null,e,t),cn(),void(t._vnode=e);d(t.firstChild,e,null,null,null),cn(),t._vnode=e},d]}const cr=jn;function ar(e){return dr(e)}function ur(e){return dr(e,lr)}function dr(e,r){B().__VUE__=!0;const{insert:s,remove:i,patchProp:l,createElement:c,createText:a,createComment:d,setText:p,setElementText:f,parentNode:h,nextSibling:m,setScopeId:v=o,insertStaticContent:g}=e,_=(e,t,n,o=null,r=null,s=null,i=void 0,l=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!_s(e,t)&&(o=Y(e),W(e,r,s,!0),e=null),-2===t.patchFlag&&(c=!1,t.dynamicChildren=null);const{type:a,ref:u,shapeFlag:d}=t;switch(a){case ss:y(e,t,n,o);break;case is:b(e,t,n,o);break;case ls:null==e&&C(t,n,o,i);break;case rs:L(e,t,n,o,r,s,i,l,c);break;default:1&d?S(e,t,n,o,r,s,i,l,c):6&d?P(e,t,n,o,r,s,i,l,c):(64&d||128&d)&&a.process(e,t,n,o,r,s,i,l,c,Z)}null!=u&&r&&nr(u,e&&e.ref,s,t||e,!t)},y=(e,t,n,o)=>{if(null==e)s(t.el=a(t.children),n,o);else{const n=t.el=e.el;t.children!==e.children&&p(n,t.children)}},b=(e,t,n,o)=>{null==e?s(t.el=d(t.children||""),n,o):t.el=e.el},C=(e,t,n,o)=>{[e.el,e.anchor]=g(e.children,t,n,o,e.el,e.anchor)},S=(e,t,n,o,r,s,i,l,c)=>{"svg"===t.type?i="svg":"math"===t.type&&(i="mathml"),null==e?E(t,n,o,r,s,i,l,c):T(e,t,r,s,i,l,c)},E=(e,t,n,o,r,i,a,u)=>{let d,p;const{props:h,shapeFlag:m,transition:v,dirs:g}=e;if(d=e.el=c(e.type,i,h&&h.is,h),8&m?f(d,e.children):16&m&&k(e.children,d,null,o,r,pr(e,i),a,u),g&&no(e,null,o,"created"),w(d,e,e.scopeId,a,o),h){for(const t in h)"value"===t||x(t)||l(d,t,null,h[t],i,e.children,o,r,G);"value"in h&&l(d,"value",null,h.value,i),(p=h.onVnodeBeforeMount)&&Ns(p,o,e)}g&&no(e,null,o,"beforeMount");const _=hr(r,v);_&&v.beforeEnter(d),s(d,t,n),((p=h&&h.onVnodeMounted)||_||g)&&cr((()=>{p&&Ns(p,o,e),_&&v.enter(d),g&&no(e,null,o,"mounted")}),r)},w=(e,t,n,o,r)=>{if(n&&v(e,n),o)for(let s=0;s d?G(e,s,i,!0,!1,p):k(t,o,r,s,i,l,c,a,p)},$=(e,t,o,r,s,i,l,c,a)=>{let u=0;const d=t.length;let p=e.length-1,f=d-1;for(;u<=p&&u<=f;){const n=e[u],r=t[u]=a?As(t[u]):Ts(t[u]);if(!_s(n,r))break;_(n,r,o,null,s,i,l,c,a),u++}for(;u<=p&&u<=f;){const n=e[p],r=t[f]=a?As(t[f]):Ts(t[f]);if(!_s(n,r))break;_(n,r,o,null,s,i,l,c,a),p--,f--}if(u>p){if(u<=f){const e=f+1,n=eString(e)===String(i))):X(t,i)>-1}else s.selected=t.has(i);else if(J(yl(s),t))return void(e.selectedIndex!==n&&(e.selectedIndex=n))}o||-1===e.selectedIndex||(e.selectedIndex=-1)}}function yl(e){return"_value"in e?e._value:e.value}function bl(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Cl={created(e,t,n){El(e,t,n,null,"created")},mounted(e,t,n){El(e,t,n,null,"mounted")},beforeUpdate(e,t,n,o){El(e,t,n,o,"beforeUpdate")},updated(e,t,n,o){El(e,t,n,o,"updated")}};function Sl(e,t){switch(e){case"SELECT":return gl;case"TEXTAREA":return fl;default:switch(t){case"checkbox":return hl;case"radio":return vl;default:return fl}}}function El(e,t,n,o,r){const s=Sl(e.tagName,n.props&&n.props.type)[r];s&&s(e,t,n,o)}const wl=["ctrl","shift","alt","meta"],xl={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>wl.some((n=>e[`${n}Key`]&&!t.includes(n)))},kl=(e,t)=>{const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(n,...o)=>{for(let e=0;e