@ginger-tek/picovue
Version:
Pico CSS 2 + Vue 3
4 lines (3 loc) • 22.5 kB
JavaScript
/** PicoVue v2.0.12 (c) GingerTek **/
(function(e,g){typeof exports=="object"&&typeof module<"u"?module.exports=g(require("vue")):typeof define=="function"&&define.amd?define(["vue"],g):(e=typeof globalThis<"u"?globalThis:e||self,e.PicoVue=g(e.Vue))})(this,function(e){"use strict";var g=document.createElement("style");g.textContent=`.pv-table[data-v-2b1f4d92]{margin-bottom:1rem}.pv-table table[data-v-2b1f4d92]{margin-bottom:0}.pv-table table thead th .col-wrap .filter[data-v-2b1f4d92] :where(input,select){margin-bottom:0;--pico-line-height: .75}.pv-table table thead th .col-wrap .filter[data-v-2b1f4d92]{flex:1}.pv-table.bordered[data-v-2b1f4d92]{border:1px solid var(--pico-accordion-border-color);border-radius:var(--pico-border-radius)}.pv-table .empty[data-v-2b1f4d92]{text-align:center}.pv-table thead th[data-v-2b1f4d92]{position:sticky;top:0;min-width:150px;padding-right:.25rem}.pv-table thead th .col-wrap[data-v-2b1f4d92]{display:flex;align-items:center}.pv-table thead th .sorter .sort[data-v-2b1f4d92]{padding:0px .5rem;line-height:calc(.95* (var(--pico-font-size)));font-size:calc(.75* (var(--pico-font-size)));opacity:.5;cursor:pointer}.pv-table thead th .sorter .sort.active[data-v-2b1f4d92]{opacity:1}.pv-table tbody[data-v-2b1f4d92] :where(button,[role=button],input:not([type=checkbox],[type=radio],[type=range],[type=file]),select){height:auto;margin-right:inherit;margin-bottom:0;margin-left:inherit;padding:calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width)* 2) var(--pico-nav-link-spacing-horizontal)}.pv-dark-mode[data-v-bdfca0a4]{padding:.5rem}.pv-dark-mode span[data-v-bdfca0a4]{display:inline-block;height:1rem;width:1rem;background-size:contain}.pv-dark-mode[data-v-bdfca0a4] :where(span:not(.dark),span.light){background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath d='M7.707.003a.5.5 0 00-.375.846 6 6 0 01-5.569 10.024.5.5 0 00-.519.765A7.5 7.5 0 107.707.003z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E")}.pv-dark-mode[data-v-bdfca0a4] :where(span:not(.light),span.dark){background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath d='M8 2V0H7v2h1zm-4.793.498L1.5.792.793 1.5 2.5 3.206l.707-.708zm9.293.708L14.207 1.5 13.5.792l-1.707 1.706.707.708zm-5 .791a3.499 3.499 0 100 6.996 3.499 3.499 0 100-6.996zM2 6.995H0v1h2v-1zm13 0h-2v1h2v-1zM1.5 14.199l1.707-1.707-.707-.707-1.707 1.706.707.708zm12.707-.708L12.5 11.785l-.707.707L13.5 14.2l.707-.708zM8 14.99v-1.998H7v1.999h1z' fill='white'%3E%3C/path%3E%3C/svg%3E")}dialog.pv-modal[data-v-63066cd4]{--pv-modal-distance: 1em;--pv-modal-shrink: .95;--pv-modal-duration: .2s;animation:fadeout-63066cd4 var(--pv-modal-duration) ease-out forwards}dialog.pv-modal[open][data-v-63066cd4]{animation:fadein-63066cd4 var(--pv-modal-duration) ease-in forwards}dialog.pv-modal>article[data-v-63066cd4]{animation:slidedown-63066cd4 var(--pv-modal-duration) ease-out forwards}dialog.pv-modal[open]>article[data-v-63066cd4]{animation:slideup-63066cd4 var(--pv-modal-duration) ease-in forwards}dialog.pv-modal article>header .close[data-v-63066cd4]{cursor:pointer}@keyframes fadein-63066cd4{0%{opacity:0;display:none}to{opacity:1;display:flex}}@keyframes fadeout-63066cd4{0%{opacity:1;display:flex}to{opacity:0;display:none}}@keyframes slideup-63066cd4{0%{margin-top:var(--pv-modal-distance);transform:scale(var(--pv-modal-shrink))}to{margin-top:0;transform:scale(1)}}@keyframes slidedown-63066cd4{0%{margin-top:0;transform:scale(1)}to{margin-top:var(--pv-modal-distance);transform:scale(var(--pv-modal-shrink))}}.pv-dropdown ul li[data-v-41247e57],.pv-dropdown ul li[data-v-d0394fa3]{cursor:pointer}.pv-tags[data-v-58125417]{position:relative;margin-bottom:var(--pico-spacing);--pico-outline-width: .0625rem;--pico-background-color: var(--pico-form-element-background-color);--pico-border-color: var(--pico-form-element-border-color);--pico-color: var(--pico-form-element-color);--pico-box-shadow: none;border:var(--pico-border-width) solid var(--pico-border-color);border-radius:var(--pico-border-radius);outline:0;background-color:var(--pico-background-color);box-shadow:var(--pico-box-shadow);color:var(--pico-color);font-weight:var(--pico-font-weight);transition:background-color var(--pico-transition),border-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition)}.pv-tags[data-v-58125417]:has(input:not([type=submit],[type=button],[type=reset],[type=range],[type=file],[readonly]):focus){--pico-background-color: var(--pico-form-element-active-background-color);--pico-border-color: var(--pico-form-element-active-border-color);--pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color)}.facade[data-v-58125417]{position:absolute;pointer-events:none;z-index:-1;top:0;left:0;right:0;bottom:0;height:auto;margin-bottom:0}.input[data-v-58125417]{display:inline-block;flex:1;border:none;background:none;box-shadow:none;outline:none;margin:calc(-.5* var(--pico-form-element-spacing-vertical)) calc(-.5* var(--pico-form-element-spacing-horizontal));padding:calc(.5* var(--pico-form-element-spacing-vertical)) calc(.5* var(--pico-form-element-spacing-horizontal));height:calc(1rem* var(--pico-line-height) + var(--pico-form-element-spacing-vertical)* 1 + var(--pico-border-width)* 2);z-index:1}.tag-pills[data-v-58125417]{display:flex;padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);gap:.5em;align-items:center;justify-content:flex-start;flex-wrap:wrap}.tag-pill[data-v-58125417]{display:inline-block;padding:0 .5em;border-radius:var(--pico-border-radius);background:var(--pico-primary-background);color:var(--pico-primary-inverse)}.tag-pill .close[data-v-58125417]{cursor:pointer}.pv-tabs header{padding-bottom:0;border-bottom:var(--pico-border-width) solid var(--pico-accordion-border-color)}.pv-tabs header ul{display:flex;padding:0;margin:0;gap:.5rem;overflow:auto;margin-bottom:calc(-1* var(--pico-border-width))}.pv-tabs header ul.stretch .tab-btn{flex:1}.pv-tabs header ul li{display:block;margin:0;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--pico-accordion-border-color);color:var(--pico-contrast);padding:calc(var(--pico-spacing) / 1.5);min-width:100px}.pv-tabs header ul li:disabled{opacity:.5}.pv-tabs header ul li.active{background:var(--pico-card-background-color);border-bottom-color:transparent}:where([data-theme=light],:root:not([data-theme=dark])) .pv-tabs header ul li{background:var(--pico-card-border-color)}:where([data-theme=dark],:root:not([data-theme=light])) .pv-tabs header ul li{background:var(--pico-dropdown-hover-background-color)}.pv-toaster{max-height:50dvh;overflow-y:auto;overflow-x:hidden;border:none;background:transparent;--pv-toaster-width: 425px}[popover]::backdrop{display:none}.pv-toaster:empty{padding:0}.pv-toaster:not(:empty){padding:1rem}.pv-toaster.top-center{margin-inline:auto;margin-top:0;margin-bottom:0}.pv-toaster.top-left{margin-left:0;margin-top:0;margin-bottom:0}.pv-toaster.top-right{margin-right:0;margin-top:0;margin-bottom:0}.pv-toaster.bottom-center{margin-inline:auto;margin-bottom:0}.pv-toaster.bottom-left{margin-left:0;margin-bottom:0}.pv-toaster.bottom-right{margin-right:0;margin-bottom:0}.pv-toaster .toast{display:block;background:var(--pico-secondary-background);color:#fff;border-radius:var(--pico-border-radius);margin:.5rem 0;padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);opacity:0;transition:.2s;width:100%;box-shadow:var(--pico-card-box-shadow)}.pv-toaster:where(.top-center,.top-left,.top-right) .toast{margin:-1rem 0}.pv-toaster:where(.bottom-center,.bottom-left,.bottom-right) .toast{margin:-1rem 1rem 0 0}.pv-toaster:where(.top-left,.top-right,.bottom-left,.bottom-right){width:100%;max-width:var(--pv-toaster-width)}.pv-toaster:where(.top-center,.bottom-center){left:0;right:0;margin-inline:auto;max-inline-size:var(--pv-toaster-width)}.pv-toaster .toast.show{margin:.5rem 0;padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);opacity:1}.pv-toaster .toast .close{float:right;margin:0;margin-left:var(--pico-spacing);padding:0;transition:opacity var(--pico-transition);opacity:.5;cursor:pointer}.pv-toaster .toast .close:before{display:block;content:"×";font-size:1.45rem;line-height:1rem;width:1rem;height:1rem}.pv-toaster .toast .close:hover{opacity:.9}.pv-toaster .toast.success{background:#398712;color:#fff}.pv-toaster .toast.danger{background:#d93526;color:#fff}.pv-toaster .toast.warning{background:#ffbf00;color:#000}.pv-toaster .toast.info{background:#3c71f7;color:#fff}.pv-alert[data-v-6f9a1ae0]:not(:empty){display:block;background:var(--pico-secondary-background);color:#fff;border-radius:var(--pico-border-radius);margin:.5rem 0;padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal)}.pv-alert.success[data-v-6f9a1ae0]{background:#398712;color:#fff}.pv-alert.danger[data-v-6f9a1ae0]{background:#d93526;color:#fff}.pv-alert.warning[data-v-6f9a1ae0]{background:#ffbf00;color:#000}.pv-alert.info[data-v-6f9a1ae0]{background:#3c71f7;color:#fff}
/*$vite$:1*/`,document.head.appendChild(g);const f=(a,t)=>{const r=a.__vccOpts||a;for(const[o,l]of t)r[o]=l;return r},N={class:"col-wrap"},$=["title"],S=["onUpdate:modelValue","placeholder","list"],T=["id"],M={key:2,class:"sorter"},P=["onClick"],z=["onClick"],L={colspan:"100%"},D={key:0},A={colspan:"100%",class:"empty"},I={key:1},O={colspan:"100%",class:"empty"},k=f({__name:"PvTable",props:{items:{type:Array,default:[]},fields:{type:Array,default:[]},filter:{type:Boolean,default:!1},sort:{type:Boolean,default:!1},filterOpts:{type:Object,default:{}},bordered:{type:Boolean,default:!1},striped:{type:Boolean,default:!1},busy:{type:Boolean,default:!1}},setup(a){const t=a,r=e.reactive({}),o=e.reactive({dir:null,col:null}),l=e.computed(()=>(t.fields.length?t.fields:Object.keys(t.items[0]||{})).map(i=>({name:i.name||i,label:i.label||(i.name||i).split(/_|-|(?=[A-Z])/).filter(Boolean).map(c=>c[0].toUpperCase()+c.substring(1)).join(" "),align:i.align||!1}))),n=e.computed(()=>{const i=Object.keys(r);return(t.filter&&i.length>0?t.items.filter(d=>i.map(p=>d[p].toString().toLowerCase().indexOf(r[p].toLowerCase())>-1).every(p=>p==!0)):t.items).toSorted((d,p)=>d[o.name]>p[o.name]?1*o.dir:d[o.name]<p[o.name]?-1*o.dir:0)});function s(i,c){o.name==i&&o.dir==c?(o.name=null,o.dir=null):(o.name=i,o.dir=c)}function m(i){return i.split(/_|-|(?=[A-Z])/).map(c=>c.toLowerCase()).join("-")}return e.watch(()=>r,(i,c)=>{Object.keys(i).forEach(d=>{(r[d]==""||r[d]==null)&&delete r[d]})},{deep:!0}),(i,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["pv-table overflow-auto",{bordered:a.bordered}])},[e.createElementVNode("table",{class:e.normalizeClass({striped:a.striped})},[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,d=>(e.openBlock(),e.createElementBlock("th",{key:d.name},[e.createElementVNode("div",N,[a.filter?(e.openBlock(),e.createElementBlock("div",{key:0,class:"filter",title:d.label},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p=>r[d.name]=p,type:"text",placeholder:d.label,list:"dl"+d.name},null,8,S),[[e.vModelText,r[d.name]]]),a.filterOpts.datalist&&a.filterOpts.datalist[d.name]?(e.openBlock(),e.createElementBlock("datalist",{key:0,id:"dl"+d.name},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.filterOpts.datalist[d.name],(p,h)=>(e.openBlock(),e.createElementBlock("option",{key:"o"+h},e.toDisplayString(p),1))),128))],8,T)):e.createCommentVNode("",!0)],8,$)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass({active:o.name==d.name}),style:e.normalizeStyle({"text-align":d.align||"inherit"})},e.toDisplayString(d.label),7)),a.sort?(e.openBlock(),e.createElementBlock("div",M,[e.createElementVNode("div",{onClick:p=>s(d.name,1),class:e.normalizeClass(["sort asc",{active:o.name==d.name&&o.dir==1}])},"▲",10,P),e.createElementVNode("div",{onClick:p=>s(d.name,-1),class:e.normalizeClass(["sort desc",{active:o.name==d.name&&o.dir==-1}])},"▼",10,z)])):e.createCommentVNode("",!0)])]))),128))])]),e.withDirectives(e.createElementVNode("tbody",null,[e.createElementVNode("tr",null,[e.createElementVNode("td",L,[e.renderSlot(i.$slots,"busy",{},()=>[c[0]||(c[0]=e.createElementVNode("div",{"aria-busy":"true"},null,-1))],!0)])])],512),[[e.vShow,a.busy]]),e.withDirectives(e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(d,p)=>(e.openBlock(),e.createElementBlock("tr",{key:"r"+p},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,h=>(e.openBlock(),e.createElementBlock("td",{key:h.name,style:e.normalizeStyle({"text-align":h.align||"inherit"})},[e.renderSlot(i.$slots,m(h.name),e.mergeProps({ref_for:!0},d),()=>[e.createTextVNode(e.toDisplayString(d[h.name]),1)],!0)],4))),128))]))),128)),Object.values(r).length&&n.value.length===0?(e.openBlock(),e.createElementBlock("tr",D,[e.createElementVNode("td",A,[e.renderSlot(i.$slots,"empty-filtered",{},()=>[c[1]||(c[1]=e.createTextVNode("No items by that filter"))],!0)])])):n.value.length===0?(e.openBlock(),e.createElementBlock("tr",I,[e.createElementVNode("td",O,[e.renderSlot(i.$slots,"empty",{},()=>[c[2]||(c[2]=e.createTextVNode("No data"))],!0)])])):e.createCommentVNode("",!0)],512),[[e.vShow,!a.busy]])],2)],2))}},[["__scopeId","data-v-2b1f4d92"]]),j={class:"pv-dark-mode"},u=f({__name:"PvDarkMode",props:{persist:{type:Boolean,default:!1}},setup(a){const t=a,r=e.ref(null),o=document.documentElement;e.watch(()=>r.value,n=>{l()!=n?o.setAttribute("data-theme",n):o.removeAttribute("data-theme",n),t.persist&&l()!=n?localStorage.setItem("theme",n):localStorage.removeItem("theme")});function l(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}return e.onBeforeMount(()=>{localStorage.getItem("theme")?r.value=localStorage.getItem("theme"):r.value=l()}),(n,s)=>(e.openBlock(),e.createElementBlock("label",j,[e.withDirectives(e.createElementVNode("input",{type:"checkbox",hidden:"","onUpdate:modelValue":s[0]||(s[0]=m=>r.value=m),"true-value":"dark","false-value":"light"},null,512),[[e.vModelCheckbox,r.value]]),e.createElementVNode("span",{class:e.normalizeClass([r.value])},null,2)]))}},[["__scopeId","data-v-bdfca0a4"]]),v=f({__name:"PvModal",props:e.mergeModels({hideClose:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["opened","closed"],["update:modelValue"]),setup(a,{emit:t}){const r=e.useModel(a,"modelValue"),o=e.ref(null),l=t,n=document.documentElement;function s(){o.value.close(),n.classList.remove("modal-is-open"),l("update:modelValue",!1),e.nextTick(()=>l("closed"))}function m(){o.value.showModal(),o.value.focus(),n.classList.add("modal-is-open"),l("update:modelValue",!0),e.nextTick(()=>l("opened"))}return e.watch(()=>r.value,i=>{i?m():s()}),e.onMounted(()=>{o.value.addEventListener("close",s)}),(i,c)=>(e.openBlock(),e.createElementBlock("dialog",{class:"pv-modal",ref_key:"modal",ref:o},[e.createElementVNode("article",null,[e.createElementVNode("header",null,[a.hideClose?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,"aria-label":"Close",onClick:s,rel:"prev"})),e.createElementVNode("div",null,[e.renderSlot(i.$slots,"header",{},()=>[c[0]||(c[0]=e.createTextVNode("Modal"))],!0)])]),e.renderSlot(i.$slots,"default",{},void 0,!0)])],512))}},[["__scopeId","data-v-63066cd4"]]),F=["onClick","href"],y=f({__name:"PvDropdown",props:e.mergeModels({items:{type:Array,default:[]}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=e.useModel(a,"modelValue"),r=e.ref(null);function o(l){l.href||(t.value=l.value||l),r.value.removeAttribute("open")}return(l,n)=>(e.openBlock(),e.createElementBlock("details",{ref_key:"dropdown",ref:r,class:"pv-dropdown dropdown"},[e.createElementVNode("summary",null,[t.value?e.renderSlot(l.$slots,"selected",{key:0},()=>[e.createTextVNode(e.toDisplayString(t.value),1)],!0):e.renderSlot(l.$slots,"default",{key:1},()=>[n[0]||(n[0]=e.createTextVNode("Select one"))],!0)]),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.items,(s,m)=>(e.openBlock(),e.createElementBlock("li",{key:"di"+m},[e.createElementVNode("a",{onClick:i=>o(s),href:s.href||"#"},e.toDisplayString(s.text||s),9,F)]))),128))])],512))}},[["__scopeId","data-v-41247e57"]]),U={class:"pv-dropdown dropdown"},H=["value"],w=f({__name:"PvMultiSelect",props:{items:{type:Array,default:[]}},setup(a){const t=e.ref([]);return(r,o)=>(e.openBlock(),e.createElementBlock("details",U,[e.createElementVNode("summary",null,[t.value.length?e.renderSlot(r.$slots,"selected",{key:0},()=>[e.createTextVNode(e.toDisplayString(t.value),1)],!0):e.renderSlot(r.$slots,"default",{key:1},()=>[o[2]||(o[2]=e.createTextVNode("Select one or more"))],!0)]),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.items,(l,n)=>(e.openBlock(),e.createElementBlock("li",{key:"di"+n},[e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":o[0]||(o[0]=s=>t.value=s),onChange:o[1]||(o[1]=s=>r.$emit("update:modelValue",t.value)),value:l.value||l},null,40,H),[[e.vModelCheckbox,t.value]]),e.createTextVNode(" "+e.toDisplayString(l.text||l),1)])]))),128))])]))}},[["__scopeId","data-v-d0394fa3"]]),q={class:"pv-tags"},Z={class:"tag-pills"},K=["onClick"],B=f(Object.assign({inheritAttrs:!1},{__name:"PvTags",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(a){const t=e.useModel(a,"modelValue"),r=e.ref(""),o=e.ref(new Set(t.value||[]));function l(n){n.key=="Backspace"&&r.value.length==0?o.value.delete(Array.from(o.value).pop()):n.key=="Enter"&&r.value.length>0&&(o.value.add(r.value),r.value="")}return e.watch(()=>o.value,()=>t.value=Array.from(o.value),{deep:!0}),(n,s)=>(e.openBlock(),e.createElementBlock("div",q,[s[1]||(s[1]=e.createElementVNode("input",{class:"facade",tabindex:"-1"},null,-1)),e.createElementVNode("div",Z,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(m,i)=>(e.openBlock(),e.createElementBlock("div",{key:m,class:"tag-pill"},[e.createTextVNode(e.toDisplayString(m)+" ",1),e.createElementVNode("span",{class:"close","aria-label":"Remove",onClick:c=>o.value.delete(m)},"×",8,K)]))),128)),e.withDirectives(e.createElementVNode("input",e.mergeProps({class:"input",onKeydown:l,"onUpdate:modelValue":s[0]||(s[0]=m=>r.value=m),tabindex:"0"},n.$attrs),null,16),[[e.vModelDynamic,r.value]])])]))}}),[["__scopeId","data-v-58125417"]]),R={class:"pv-tabs"},G=["onClick","disabled"],E={__name:"PvTabs",props:{stretch:{type:Boolean,default:!1}},setup(a){const t=e.useSlots().default(),r=e.ref(t.find(o=>{var l;return(l=o.props)==null?void 0:l.hasOwnProperty("selected")})||t[0]);return(o,l)=>(e.openBlock(),e.createElementBlock("article",R,[e.createElementVNode("header",null,[e.createElementVNode("ul",{class:e.normalizeClass({stretch:a.stretch})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t),(n,s)=>{var m;return e.openBlock(),e.createElementBlock("li",{key:"t"+s,onClick:i=>r.value=n,class:e.normalizeClass(["tab-btn secondary",{active:r.value==n}]),role:"button",disabled:(m=n.props)==null?void 0:m.disabled},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.children.title)))],10,G)}),128))],2)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t),(n,s)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:"t"+s},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.children.default),{key:"t"+s}))])),[[e.vShow,r.value==n]])),128))]))}},J={class:"pv-tab"},_={__name:"PvTab",props:{selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(a){return e.onUnmounted(console.log("unmounted")),(t,r)=>(e.openBlock(),e.createElementBlock("div",J,[e.renderSlot(t.$slots,"title"),e.renderSlot(t.$slots,"default")]))}},Q=["id"],b=a=>{const t=a.target||a;t.classList.remove("show"),setTimeout(()=>{const r=t.parentElement;r&&!r.hasChildNodes()&&r.hidePopover(),t.remove()},201)},V=(a,t={})=>{var l;t.dismissAfter??(t.dismissAfter=3),t.type??(t.type=null),t.stay??(t.stay=!1),t.id??(t.id="pv-toaster");const r=document.getElementById(t.id);if(!r)throw new Error("Toaster not found");const o=document.createElement("div");o.classList.add("toast"),t.type&&o.classList.add(t.type),o.innerHTML=`<div aria-label="Close" class="close"></div><div>${a}</div>`,(l=o.querySelector(".close"))==null||l.addEventListener("click",n=>b(n.currentTarget.parentElement)),r.appendChild(o),r.showPopover(),setTimeout(()=>o.classList.add("show"),1),t.stay||setTimeout(()=>b(o),t.dismissAfter*1e3)},x={__name:"PvToaster",props:{id:{type:String,default:"pv-toaster"},position:{type:String,default:"top-center",validator(a){return["top-center","top-left","top-right","bottom-center","bottom-left","bottom-right"].includes(a)}}},setup(a){const t=a;return e.onMounted(()=>{const r=document.getElementById(t.id);new MutationObserver(([l])=>{l.target.classList.contains("modal-is-open")&&r.matches(":popover-open")&&(r.hidePopover(),r.showPopover())}).observe(document.documentElement,{attributeFilter:["class"]})}),(r,o)=>(e.openBlock(),e.createElementBlock("div",{id:a.id,popover:"manual",style:{width:"var(--pv-toaster-width)"},popovertargetaction:"show",class:e.normalizeClass(["pv-toaster",a.position])},null,10,Q))}},C=f({__name:"PvAlert",props:{type:{type:String,default:null}},setup(a){return(t,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["pv-alert",a.type])},[e.renderSlot(t.$slots,"default",{},void 0,!0)],2))}},[["__scopeId","data-v-6f9a1ae0"]]);function W(a){a.component("PvTable",k),a.component("PvDarkMode",u),a.component("PvModal",v),a.component("PvDropdown",y),a.component("PvMultiSelect",w),a.component("PvTags",B),a.component("PvTabs",E),a.component("PvTab",_),a.component("PvToaster",x),a.component("PvAlert",C),a.provide("appendToast",V),a.provide("removeToast",b)}return{install:W,PvTable:k,PvDarkMode:u,PvModal:v,PvDropdown:y,PvMultiSelect:w,PvTags:B,PvTabs:E,PvTab:_,PvToaster:x,PvAlert:C,appendToast:V,removeToast:b}});