UNPKG

bootstrap-vue-next

Version:

BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.

3 lines (2 loc) 10.1 kB
"use strict";const e=require("vue"),o=require("./keys-D59bcWpQ.js"),t=require("./orchestratorShared-Q1kU-Xan.js");require("./BootstrapVueOptions-mtwZDuI4.js"),require("./ConditionalTeleport.vue_vue_type_script_lang-BLAPKacY.js"),require("./ConditionalWrapper.vue_vue_type_script_lang-CdLqzk6C.js"),require("./useTransitions-DlVeAHwl.js"),require("./tableUtils-BGOX5AJ8.js");const a=require("./BButton.vue_vue_type_script_setup_true_lang-Cq_BnPop.js"),s=require("./BLink.vue_vue_type_script_setup_true_lang-CJ8vDrgB.js"),l=require("./BCloseButton.vue_vue_type_script_setup_true_lang-Bi3v74Q5.js"),r=require("./BProgress.vue_vue_type_script_setup_true_lang-DFqEq2CB.js"),n=require("./useCountdownHover-BtDHmBcm.js"),u=require("./useColorVariantClasses-RCwkMsGc.js"),i=require("./useDefaults-DspAih6L.js"),d=require("./useId-owZCNodL.js"),p=require("./useShowHide-DxqjmDCO.js"),c=["id","role","aria-live","aria-atomic"],f={key:1,class:"d-flex"},v=e.defineComponent({__name:"BToast",props:e.mergeModels({body:{default:void 0},bodyClass:{default:void 0},closeClass:{default:void 0},closeContent:{default:void 0},closeLabel:{default:"Close"},closeVariant:{default:"secondary"},headerClass:{default:void 0},headerTag:{default:"div"},id:{default:void 0},interval:{default:"requestAnimationFrame"},isStatus:{type:Boolean,default:!1},noCloseButton:{type:Boolean,default:!1},noHoverPause:{type:Boolean,default:!1},noProgress:{type:Boolean,default:!1},noResumeOnHoverLeave:{type:Boolean,default:!1},progressProps:{default:void 0},showOnPause:{type:Boolean,default:!0},solid:{type:Boolean,default:!1},title:{default:void 0},toastClass:{default:void 0},variant:{default:void 0},bgVariant:{default:null},textVariant:{default:null},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},icon:{type:Boolean,default:void 0},noRel:{type:Boolean,default:void 0},opacity:{default:void 0},opacityHover:{default:void 0},prefetch:{type:Boolean},prefetchOn:{},noPrefetch:{type:Boolean},prefetchedClass:{},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{default:void 0},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},initialAnimation:{type:Boolean,default:!1},noAnimation:{type:Boolean},noFade:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},unmountLazy:{type:Boolean,default:!1},show:{type:Boolean,default:!1},transProps:{default:void 0},visible:{type:Boolean,default:!1}},{modelValue:{type:[Boolean,Number],default:!1},modelModifiers:{}}),emits:e.mergeModels(["close","close-countdown","hide","hide-prevented","hidden","show","show-prevented","shown","toggle","toggle-prevented","cancel","ok"],["update:modelValue"]),setup(o,{expose:t,emit:v}){const m=o,h=i.useDefaults(m,"BToast"),y=v,_=e.useSlots(),B=e.useTemplateRef("_element"),C=e.useModel(o,"modelValue"),{computedLink:g,computedLinkProps:w}=s.useBLinkHelper(h),k=d.useId(()=>h.id,"toast"),{showRef:b,renderRef:V,hide:P,toggle:T,show:x,buildTriggerableEvent:R,computedNoAnimation:j,isVisible:S,transitionProps:q,contentShowing:H}=p.useShowHide(C,h,y,B,k),N=e.computed(()=>"boolean"==typeof C.value?0:C.value),{isActive:O,pause:z,restart:A,resume:L,stop:D,isPaused:E,value:M}=n.useCountdown(N,h.interval,{immediate:"number"==typeof C.value&&!!C.value});n.useCountdownHover(B,{noHoverPause:()=>h.noHoverPause||"number"!=typeof C.value,noResumeOnHoverLeave:()=>h.noResumeOnHoverLeave||"number"!=typeof C.value,modelValueIgnoresHover:()=>"boolean"==typeof C.value},{pause:z,resume:L}),e.watchEffect(()=>{y("close-countdown",M.value)});const I=e.computed(()=>g.value?s._sfc_main:"div"),$=e.computed(()=>b.value||O.value||h.showOnPause&&E.value),F=u.useColorVariantClasses(h),U=e.computed(()=>[F.value,{show:S.value,fade:!j.value}]);e.watch(C,(e,o)=>{if("number"==typeof e&&e>0){const e=R("show",{cancelable:!0,trigger:"model"});y("show",e),e.defaultPrevented?y("show-prevented",R("show-prevented")):A()}"number"==typeof e&&0===e&&D(),!1===e&&"number"==typeof o&&o>0&&D()}),e.watch(O,e=>{!1===e&&!1===E.value&&(P(),C.value=0,D())});const W=e.computed(()=>({toggle:T,show:x,hide:P,id:k.value,visible:b.value,active:O.value}));return t({show:x,hide:P,toggle:T,pause:z,restart:A,resume:L,stop:D}),(o,t)=>{const s=a._sfc_main;return e.unref(V)||e.unref(H)?(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({key:0},e.unref(q),{appear:!!C.value||e.unref(h).visible}),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{id:e.unref(h).id,ref:"_element",class:e.normalizeClass(["toast",[e.unref(h).toastClass,U.value]]),tabindex:"0",style:{display:"block"},role:$.value?e.unref(h).isStatus?"status":"alert":void 0,"aria-live":$.value?e.unref(h).isStatus?"polite":"assertive":void 0,"aria-atomic":!!$.value||void 0},[e.unref(H)&&(_.title||e.unref(h).title)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(h).headerTag),{key:0,class:e.normalizeClass(["toast-header",e.unref(h).headerClass])},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"title",e.normalizeProps(e.guardReactiveProps(W.value)),()=>[e.createElementVNode("strong",null,e.toDisplayString(e.unref(h).title),1)]),e.unref(h).noCloseButton?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[_.close||e.unref(h).closeContent?(e.openBlock(),e.createBlock(s,{key:0,class:e.normalizeClass([[e.unref(h).closeClass],"ms-auto"]),variant:e.unref(h).closeVariant,onClick:t[0]||(t[0]=e.withModifiers(o=>e.unref(P)("close"),["stop","prevent"]))},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"close",e.normalizeProps(e.guardReactiveProps(W.value)),()=>[e.createTextVNode(e.toDisplayString(e.unref(h).closeContent),1)])]),_:3},8,["class","variant"])):(e.openBlock(),e.createBlock(l._sfc_main,{key:1,"aria-label":e.unref(h).closeLabel,class:e.normalizeClass(["ms-auto",[e.unref(h).closeClass]]),onClick:t[1]||(t[1]=e.withModifiers(o=>e.unref(P)("close"),["stop","prevent"]))},null,8,["aria-label","class"]))],64))]),_:3},8,["class"])):e.createCommentVNode("",!0),e.unref(H)&&(_.default||e.unref(h).body)?(e.openBlock(),e.createElementBlock("div",f,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(I.value),e.mergeProps({class:["toast-body",e.unref(h).bodyClass]},e.unref(w),{onClick:t[2]||(t[2]=o=>e.unref(g)?e.unref(P)():()=>{})}),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps(W.value)),()=>[e.createTextVNode(e.toDisplayString(e.unref(h).body),1)])]),_:3},16,["class"])),e.unref(h).noCloseButton||_.title||e.unref(h).title?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[_.close||e.unref(h).closeContent?(e.openBlock(),e.createBlock(s,{key:0,class:e.normalizeClass([[e.unref(h).closeClass],"ms-auto btn-close-custom"]),variant:e.unref(h).closeVariant,onClick:t[3]||(t[3]=e.withModifiers(o=>e.unref(P)("close"),["stop","prevent"]))},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"close",e.normalizeProps(e.guardReactiveProps(W.value)),()=>[e.createTextVNode(e.toDisplayString(e.unref(h).closeContent),1)])]),_:3},8,["class","variant"])):(e.openBlock(),e.createBlock(l._sfc_main,{key:1,"aria-label":e.unref(h).closeLabel,class:e.normalizeClass(["ms-auto btn-close-custom",[e.unref(h).closeClass]]),onClick:t[4]||(t[4]=e.withModifiers(o=>e.unref(P)("close"),["stop","prevent"]))},null,8,["aria-label","class"]))],64))])):e.createCommentVNode("",!0),"number"!=typeof C.value||e.unref(h).noProgress?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(r._sfc_main,{key:2,animated:e.unref(h).progressProps?.animated,precision:e.unref(h).progressProps?.precision,"show-progress":e.unref(h).progressProps?.showProgress,"show-value":e.unref(h).progressProps?.showValue,striped:e.unref(h).progressProps?.striped,variant:e.unref(h).progressProps?.variant,max:C.value,value:e.unref(M),height:"4px"},null,8,["animated","precision","show-progress","show-value","striped","variant","max","value"]))],10,c),[[e.vShow,$.value]])]),_:3},16,["appear"])):e.createCommentVNode("",!0)}}}),m=()=>{const a=e.inject(o.orchestratorRegistryKey);if(!a)throw new Error("useToast() must be called within setup(), and BApp, useRegistry or plugin must be installed/provided.");const{store:s,_isToastAppend:l,_isOrchestratorInstalled:r}=a,n=(o={},a={})=>{if(!r.value)throw new Error("The BApp or BOrchestrator component must be mounted to use the toast composable");const n=e.toRef(o),u=n.value?.id||Symbol("Toast controller"),i=t.buildPromise(u,s);return i.stop=e.watch(n,t=>{const r={...e.toValue(t)},d=s.value.findIndex(e=>e._self===u),p={...-1===d?{_component:e.markRaw(v)}:s.value[d],type:"toast",_self:u,promise:i,options:a};r.props&&(Object.assign(p,r.props),r.props=void 0),r.pos&&(p.position=r.pos,r.pos=void 0);for(const o in r)o.startsWith("on")?p[o]=r[o]:"component"===o&&r.component?p._component=e.markRaw(r.component):"slots"===o&&r.slots?p.slots=e.markRaw(r.slots):p[o]=e.toValue(r[o]);p.position=p.position||"top-end",p.modelValue=p.modelValue??5e3,p["onUpdate:modelValue"]=t=>{r["onUpdate:modelValue"]?.(t);const{modelValue:a}=e.toValue(o);if(e.isRef(o)&&!e.isRef(a)&&(o.value.modelValue=t),e.isRef(a)&&!e.isReadonly(a)&&(a.value=t),p.modelValue!==t){const e=s.value.find(e=>e._self===u);e&&(e.modelValue=t)}},-1===d?(void 0!==n.value?.appendToast?n.value.appendToast:l.value)?s.value.push(p):s.value.unshift(p):s.value.splice(d,1,p)},{deep:!0,immediate:!0}),e.onScopeDispose(()=>{const e=s.value.find(e=>e._self===u);e&&e.promise.value.destroy?.()},!0),i.value};return{_isToastAppend:l,_isOrchestratorInstalled:r,store:s,create:n,show:(e={})=>(console.warn("[BootstrapVueNext] useToast: The `show` method is deprecated. Use the `create` method instead."),n(e))}},h=m;exports._sfc_main=v,exports.useToast=m,exports.useToastController=h; //# sourceMappingURL=index-COfElsGK.js.map