UNPKG

@baseline-banner/vue

Version:

Vue component for checking web feature baseline compatibility

2 lines (1 loc) 2.35 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("@baseline-banner/core"),d={class:"baseline-checker"},v={key:0,class:"loading-message"},m={key:1,class:"error-message"},f={key:2,class:"feature-info"},_={class:"feature-header"},p={class:"feature-name"},k={key:0,class:"feature-description"},y={key:1,class:"availability-info"},h={key:0,class:"availability-date"},B={key:1,class:"availability-date"},g=e.defineComponent({__name:"BaselineChecker",props:{featureName:{}},setup(l){const i=l,a=e.ref(null),s=e.ref(!1),o=e.ref(null),t=e.computed(()=>c.getBaselineStatus(a.value));return e.watchEffect(async()=>{s.value=!0,o.value=null;try{a.value=await c.fetchBaselineData(i.featureName)}catch(n){o.value=n instanceof Error?n:new Error("Failed to fetch baseline data"),a.value=null}finally{s.value=!1}}),(n,S)=>{var r;return e.openBlock(),e.createElementBlock("div",d,[s.value?(e.openBlock(),e.createElementBlock("div",v," Loading feature data... ")):o.value||!a.value?(e.openBlock(),e.createElementBlock("div",m,e.toDisplayString(((r=o.value)==null?void 0:r.message)||`Feature "${n.featureName}" not found`),1)):a.value?(e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",_,[e.createElementVNode("h3",p,e.toDisplayString(a.value.name),1),e.createElementVNode("div",{class:e.normalizeClass(["baseline-badge",t.value.className])},e.toDisplayString(t.value.message),3)]),a.value.description?(e.openBlock(),e.createElementBlock("p",k,e.toDisplayString(a.value.description),1)):e.createCommentVNode("",!0),t.value.dates?(e.openBlock(),e.createElementBlock("div",y,[t.value.dates.availableSince?(e.openBlock(),e.createElementBlock("div",h," Available since: "+e.toDisplayString(e.unref(c.formatDate)(t.value.dates.availableSince)),1)):e.createCommentVNode("",!0),t.value.dates.widelyAvailableSince?(e.openBlock(),e.createElementBlock("div",B," Widely available since: "+e.toDisplayString(e.unref(c.formatDate)(t.value.dates.widelyAvailableSince)),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])}}}),b=(l,i)=>{const a=l.__vccOpts||l;for(const[s,o]of i)a[s]=o;return a},u=b(g,[["__scopeId","data-v-1c5d87da"]]),E={install(l){l.component("BaselineChecker",u)}};exports.BaselineChecker=u;exports.default=E;