UNPKG

omi-vueify

Version:

Bridge between omi and vue

2 lines (1 loc) 1.37 kB
(function(i,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(i=typeof globalThis<"u"?globalThis:i||self,n(i.OmiVueify={},i.vue))})(this,function(i,n){"use strict";function l(r,a){return n.defineComponent({name:r,setup(b,{emit:j,attrs:O,slots:c,expose:T}){const s=n.ref(null),{methodNames:v}=a,d={};v.forEach(e=>{d[e]=(...t)=>{var o,f;if(s.value)return(f=(o=s.value)[e])==null?void 0:f.call(o,...t)}}),T(d);const h=Object.keys(O).filter(e=>e.match(/^on[A-Za-z]/)).map(e=>m(e));return n.onMounted(()=>{h.forEach(e=>{var o;const t=E(e);y(t)&&((o=s.value)==null||o.addEventListener(e,f=>{j(t,f)}))})}),n.onBeforeUnmount(()=>{h.forEach(e=>{var t;(t=s.value)==null||t.removeEventListener(e,()=>{})})}),()=>{const e=[];return c.default&&e.push(...c.default()),Object.keys(c).forEach(t=>{var f;if(t==="default")return;const o=(f=c[t])==null?void 0:f.call(c);o&&o.forEach(u=>{Array.isArray(u)?u.forEach(p=>{p&&typeof p=="object"&&(p.props={...p.props||{},slot:t})}):u&&typeof u=="object"&&(u.props={...u.props||{},slot:t}),e.push(u)})}),n.h(r,{ref:s,...b},e)}}})}const m=r=>{const a=r.slice(2);return a[0].toLowerCase()+a.slice(1)},E=r=>r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),y=r=>r.includes("-");i.omiVueify=l,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});