@blaze/atoms
Version:
Open Source UI Toolkit - Atoms
1 lines • 25.9 kB
JavaScript
import{r as t,c as s,h as i,g as e}from"./p-62dc2137.js";const a=class{constructor(i){t(this,i),this.onToggle=s(this,"toggle",7)}onTogglePane(t){const s=t.detail,i=[].indexOf.call(this.element.children[0].children,t.target);this.onToggle.emit({idx:i,open:s})}render(){return i("div",{class:"c-card c-card--accordion"},i("slot",null))}get element(){return e(this)}},n=class{constructor(i){t(this,i),this.onToggle=s(this,"togglepane",7),this._isOpen=!1,this.open=!1}componentWillLoad(){this._isOpen=this.open}async show(){this._isOpen=!0}async close(){this._isOpen=!1}toggle(){this._isOpen?this.close():this.show(),this.onToggle.emit(this._isOpen)}async isOpen(){return this._isOpen}render(){const t=this._isOpen?"c-card__control--active":"";return[i("button",{role:"heading","aria-expanded":this._isOpen.toString(),class:`c-card__control ${t}`,onClick:()=>this.toggle()},this.header),i("section",{"aria-hidden":!this._isOpen,class:"c-card__item c-card__item--pane"},i("slot",null))]}},h=class{constructor(s){t(this,s)}render(){return i("address",{class:"c-address"},i("slot",null))}},r=class{constructor(s){t(this,s)}render(){return i("span",{class:"c-address__heading"},i("slot",null))}},c=class{constructor(i){t(this,i),this.onClose=s(this,"close",7),this.type="",this.dismissible=!1,this.open=!1,this._isOpen=!1}async close(){this._isOpen=!1,this.onClose.emit()}async show(){this._isOpen=!0}async isOpen(){return this._isOpen}componentWillLoad(){this._isOpen=this.open}render(){return i("div",{role:"alert",hidden:!this._isOpen,class:`c-alert ${this.type?`c-alert--${this.type}`:""} ${this._isOpen?"":"u-display-none"}`},this.dismissible&&i("button",{class:"c-button c-button--close",onClick:()=>this.close()},"×"),i("slot",null))}},o=class{constructor(s){t(this,s)}render(){return i("div",{role:"presentation",class:"c-alerts "+(this.position?`c-alerts--${this.position}`:"")},i("slot",null))}},l=class{constructor(i){t(this,i),this.onSelected=s(this,"selected",7),this.onFilter=s(this,"filter",7),this.items=[]}componentDidLoad(){document.addEventListener("click",(t=>{t.target!==this.el&&!this.el.contains(t.target)&&this.close()}))}async setItems(t){this.items=t,this.value?this.open():this.close()}async reset(){this.items=[],this.value=null,this.close()}select(t){t.disabled||(this.activeItem=t,this.selectedItem=t,this.value=t.text,this.onSelected.emit(t),this.close())}filter(t){this.activeItem=null,this.value=t.target.value,this.onFilter.emit(this.value)}open(){this.items&&this.items.length&&(this._isOpen=!0)}close(){this._isOpen=!1}handleKeyDown(t){let s=this.items.indexOf(this.activeItem);switch(t.key){case"ArrowDown":t.preventDefault(),this.open(),s<this.items.length-1&&(this.activeItem=this.items[s+1]);break;case"ArrowUp":t.preventDefault(),this.open(),s>0&&this._isOpen&&(this.activeItem=this.items[s-1]);break;case"Enter":this.activeItem&&(t.preventDefault(),this.select(this.activeItem));case"Escape":this.close()}}render(){return i("div",{class:"o-field o-field--autocomplete"},i("input",{type:"search",class:"c-field",placeholder:this.placeholder,autocomplete:"off",value:this.value,onInput:t=>this.filter(t),onFocus:()=>this.open(),onClick:()=>this.open()}),this._isOpen&&i("div",{role:"menu",class:"c-card c-card--menu",style:{width:"320px"}},this.items.map((t=>i("button",{role:"menuitem",class:"c-card__control "+(this.activeItem===t?"c-card__control--active":""),onClick:()=>this.select(t)},t.text)))))}get el(){return e(this)}},d=class{constructor(s){t(this,s),this.size=""}render(){if(this.src||this.text)return i("div",{class:"c-avatar "+(this.size.length>0?`u-${this.size}`:""),"data-text":this.text},this.src&&i("img",{class:"c-avatar__img",alt:this.alt,src:this.src}),this.src2&&i("img",{class:"c-avatar__img",alt:this.alt2,src:this.src2}))}},u=class{constructor(i){t(this,i),this.onBackToTop=s(this,"backtotop",7)}enable(){this._isOpen=window.scrollY>window.innerHeight}goUp(){window.scrollTo({top:0,behavior:"smooth"}),this.onBackToTop.emit()}render(){return i("div",{class:`c-back-to-top ${this.position?`c-back-to-top--${this.position}`:""} ${this._isOpen?"":"u-display-none"}`},i("button",{class:"c-button c-button--nude",onClick:()=>{this.goUp()}},i("slot",null)))}},p=class{constructor(s){t(this,s)}render(){return i("span",{class:`c-badge ${this.type?`c-badge--${this.type}`:""} ${this.rounded?"c-badge--rounded":""} ${this.ghost?"c-badge--ghost":""}`},i("slot",null))}},_=class{constructor(i){t(this,i),this.onSelected=s(this,"selected",7),this.multiple=!1,this._date=new Date,this._selectedDates=[],this.days=["Su","Mo","Tu","We","Th","Fr","Sa"],this.months=["January","February","March","April","May","June","July","August","September","October","November","December"],this.buttonType=""}componentWillLoad(){const t=this.date||new Date;this._date=new Date(t),this._selectedDates=[...this._selectedDates,this._date],this.buttonType=this.type?`c-button--${this.type}`:""}getMonthName(){return this.months[this._date.getMonth()]}getFirstDay(){return new Date(this._date.getFullYear(),this._date.getMonth(),1).getDay()}getLastDay(){return new Date(this._date.getFullYear(),this._date.getMonth()+1,0).getDay()}getTotalDaysInMonth(t=0){return new Date(this._date.getFullYear(),this._date.getMonth()+1+t,0).getDate()}selectDate(t){this._selectedDates=this._selectedDates.filter((s=>s.toDateString()===t.toDateString())).length?this._selectedDates.filter((s=>s.toDateString()!==t.toDateString())):this.multiple?[...this._selectedDates,t]:[t],this.onSelected.emit(this._selectedDates.map((t=>t.toDateString())).toString())}renderDayButton(t){const s=t.toDateString()===(new Date).toDateString(),e=!!this._selectedDates.filter((s=>s.toDateString()===t.toDateString())).length,a=t.getMonth()===this._date.getMonth()?"c-calendar__date--in-month":"";return i("button",{class:`c-calendar__date ${a} c-button ${e?`c-calendar__date--selected ${this.buttonType}`:""}`,"aria-current":s&&"date","aria-selected":e.toString(),onClick:()=>this.selectDate(t)},t.getDate())}populateDaysPreviousMonth(){const t=[],s=this.getTotalDaysInMonth(-1);for(let i=s;i>s-this.getFirstDay();i--){const s=new Date(this._date);s.setMonth(this._date.getMonth()-1),s.setDate(i);const e=new Date(s);t.unshift(this.renderDayButton(e))}return t}populateDaysCurrentMonth(){const t=[],s=new Date(this._date.getFullYear(),this._date.getMonth()+1,0).getDate();for(let i=1;i<=s;i++){const s=new Date(this._date);s.setDate(i);const e=new Date(s);t.push(this.renderDayButton(e))}return t}populateDaysNextMonth(){const t=[];for(let s=1;s<7-this.getLastDay();s++){const i=new Date(this._date);i.setDate(s),i.setMonth(this._date.getMonth()+1);const e=new Date(i);t.push(this.renderDayButton(e))}return t}navYear(t){const s=new Date(this._date);s.setFullYear(this._date.getFullYear()+t),this._date=new Date(s)}navMonth(t){const s=new Date(this._date);s.setMonth(this._date.getMonth()+t),this._date=new Date(s)}today(){this.selectDate(new Date),this._date=new Date}render(){return i("div",{class:"c-calendar"},i("button",{class:"c-calendar__control c-calendar__control--prev-year",onClick:()=>this.navYear(-1)},"‹"),i("div",{class:"c-calendar__header c-calendar__header--year"},this._date.getFullYear()),i("button",{class:"c-calendar__control c-calendar__control--next-year",onClick:()=>this.navYear(1)},"›"),i("button",{class:"c-calendar__control c-calendar__control--prev-month",onClick:()=>this.navMonth(-1)},"‹"),i("div",{class:"c-calendar__header c-calendar__header--month"},this.getMonthName()),i("button",{class:"c-calendar__control c-calendar__control--next-month",onClick:()=>this.navMonth(1)},"›"),this.days.map((t=>i("div",{class:"c-calendar__day"},t))),this.populateDaysPreviousMonth(),this.populateDaysCurrentMonth(),this.populateDaysNextMonth(),i("div",{class:"c-calendar__footer"},i("button",{class:`c-calendar__today c-button c-button--block ${this.buttonType}`,onClick:()=>this.today()},"Today")))}},m=class{constructor(s){t(this,s)}render(){return i("div",{class:"c-card"},i("slot",null))}},b=class{constructor(s){t(this,s)}render(){return i("div",{class:"c-card__body"},i("slot",null))}},g=class{constructor(s){t(this,s)}render(){return i("footer",{class:"c-card__footer"},i("slot",null))}},v=class{constructor(s){t(this,s)}render(){return i("header",{class:"c-card__header"},i("slot",null))}};var f=function(t,s,i,e,a,n){var h=this;if(h.version=function(){return"1.9.3"},h.options={useEasing:!0,useGrouping:!0,separator:",",decimal:".",easingFn:function(t,s,i,e){return i*(1-Math.pow(2,-10*t/e))*1024/1023+s},formattingFn:function(t){var s,i,e,a,n,r,c=t<0;if(t=Math.abs(t).toFixed(h.decimals),i=(s=(t+="").split("."))[0],e=s.length>1?h.options.decimal+s[1]:"",h.options.useGrouping){for(a="",n=0,r=i.length;n<r;++n)0!==n&&n%3==0&&(a=h.options.separator+a),a=i[r-n-1]+a;i=a}return h.options.numerals.length&&(i=i.replace(/[0-9]/g,(function(t){return h.options.numerals[+t]})),e=e.replace(/[0-9]/g,(function(t){return h.options.numerals[+t]}))),(c?"-":"")+h.options.prefix+i+e+h.options.suffix},prefix:"",suffix:"",numerals:[]},n&&"object"==typeof n)for(var r in h.options)n.hasOwnProperty(r)&&null!==n[r]&&(h.options[r]=n[r]);""===h.options.separator?h.options.useGrouping=!1:h.options.separator=""+h.options.separator;for(var c=0,o=["webkit","moz","ms","o"],l=0;l<o.length&&!window.requestAnimationFrame;++l)window.requestAnimationFrame=window[o[l]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[o[l]+"CancelAnimationFrame"]||window[o[l]+"CancelRequestAnimationFrame"];function d(t){return"number"==typeof t&&!isNaN(t)}window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var s=(new Date).getTime(),i=Math.max(0,16-(s-c)),e=window.setTimeout((function(){t(s+i)}),i);return c=s+i,e}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)}),h.initialize=function(){return!(!h.initialized&&(h.error="",h.d="string"==typeof t?document.getElementById(t):t,h.d?(h.startVal=Number(s),h.endVal=Number(i),d(h.startVal)&&d(h.endVal)?(h.decimals=Math.max(0,e||0),h.dec=Math.pow(10,h.decimals),h.duration=1e3*Number(a)||2e3,h.countDown=h.startVal>h.endVal,h.frameVal=h.startVal,h.initialized=!0,0):(h.error="[CountUp] startVal ("+s+") or endVal ("+i+") is not a number",1)):(h.error="[CountUp] target is null or undefined",1)))},h.printValue=function(t){var s=h.options.formattingFn(t);"INPUT"===h.d.tagName?this.d.value=s:"text"===h.d.tagName||"tspan"===h.d.tagName?this.d.textContent=s:this.d.innerHTML=s},h.count=function(t){h.startTime||(h.startTime=t),h.timestamp=t;var s=t-h.startTime;h.remaining=h.duration-s,h.frameVal=h.options.useEasing?h.countDown?h.startVal-h.options.easingFn(s,0,h.startVal-h.endVal,h.duration):h.options.easingFn(s,h.startVal,h.endVal-h.startVal,h.duration):h.countDown?h.startVal-s/h.duration*(h.startVal-h.endVal):h.startVal+s/h.duration*(h.endVal-h.startVal),h.frameVal=h.countDown?h.frameVal<h.endVal?h.endVal:h.frameVal:h.frameVal>h.endVal?h.endVal:h.frameVal,h.frameVal=Math.round(h.frameVal*h.dec)/h.dec,h.printValue(h.frameVal),s<h.duration?h.rAF=requestAnimationFrame(h.count):h.callback&&h.callback()},h.start=function(t){h.initialize()&&(h.callback=t,h.rAF=requestAnimationFrame(h.count))},h.pauseResume=function(){h.paused?(h.paused=!1,delete h.startTime,h.duration=h.remaining,h.startVal=h.frameVal,requestAnimationFrame(h.count)):(h.paused=!0,cancelAnimationFrame(h.rAF))},h.reset=function(){h.paused=!1,delete h.startTime,h.initialized=!1,h.initialize()&&(cancelAnimationFrame(h.rAF),h.printValue(h.startVal))},h.update=function(t){h.initialize()&&(d(t=Number(t))?(h.error="",t!==h.frameVal&&(cancelAnimationFrame(h.rAF),h.paused=!1,delete h.startTime,h.startVal=h.frameVal,h.endVal=t,h.countDown=h.startVal>h.endVal,h.rAF=requestAnimationFrame(h.count))):h.error="[CountUp] update() - new endVal is not a number: "+t)},h.initialize()&&h.printValue(h.startVal)};const w=class{constructor(i){t(this,i),this.onFinish=s(this,"finish",7),this.startValue=0,this.decimals=0,this.duration=4,this.delay=500,this.easing=!0,this.grouping=!0,this.separator=",",this.decimal="."}componentDidLoad(){const t=this.el.querySelector(".c-counter__amount");this.animation=new f(t,this.startValue,this.endValue,this.decimals,this.duration,{useEasing:this.easing,useGrouping:this.grouping,separator:this.separator,decimal:this.decimal}),this.autoStart&&this.start()}async start(){this.timer=setTimeout((()=>{this.animation.start((()=>{this.onFinish.emit()}))}),this.delay)}disconnectedCallback(){clearTimeout(this.timer)}async reset(){this.animation.reset()}async update(t){this.animation.update(t)}async restart(){this.animation.reset(),this.animation.start()}async pauseResume(){this.animation.pauseResume()}render(){return i("div",{class:"c-counter"},i("span",{class:"c-counter__prefix"},i("slot",{name:"prefix"})),i("span",{class:"c-counter__amount"}),i("span",{class:"c-counter__suffix"},i("slot",{name:"suffix"})))}get el(){return e(this)}},y=class{constructor(s){t(this,s),this.classes="",this.language="",this.demo=!0}componentWillLoad(){this.markup=this.code}updateDemo(t){this.markup=t.target.innerText}highlight(){"undefined"!=typeof hljs&&hljs.highlightElement(this.codeRef)}componentDidUpdate(){this.highlight()}componentDidLoad(){this.highlight()}render(){return[this.demo&&i("div",{"aria-label":"Demo component",class:`demo-markup-source u-letter-box-small ${this.classes}`,innerHTML:this.markup}),i("div",{class:"u-letter-box-small"},i("pre",{class:"u-pre"},i("code",{ref:t=>this.codeRef=t,"aria-hidden":!0,tabindex:"-1",class:`u-code u-code--multiline ${this.language}`,contenteditable:this.demo,onBlur:t=>this.updateDemo(t)},this.markup)))]}},$=class{constructor(s){t(this,s),this.type="solid"}componentWillLoad(){this.content=!!this.el.innerHTML}render(){return i("div",{class:"c-divider "+(this.type?`c-divider--${this.type}`:"")},this.content&&i("span",{class:"c-divider__content"},i("slot",null)))}get el(){return e(this)}},z=class{constructor(i){t(this,i),this.onClose=s(this,"close",7),this.open=!1,this.dismissible=!1,this.position="bottom",this._isOpen=!1}async close(){this.shouldClose&&!this.shouldClose()||(this._isOpen=!1,this.onClose.emit())}async show(){this._isOpen=!0}async isOpen(){return this._isOpen}componentWillLoad(){this._isOpen=this.open}dismiss(){this.dismissible&&this.close()}render(){const t=this._isOpen?"o-drawer--visible":"";return[i("div",{"aria-hidden":"true",onClick:()=>this.dismiss(),class:"c-overlay c-overlay--fullpage "+(this._isOpen?"c-overlay--visible":"")}),i("aside",{"aria-expanded":this.isOpen.toString(),class:`o-drawer o-drawer--${this.position} ${t}`},i("slot",null))]}},D=class{constructor(i){t(this,i),this.onUploaded=s(this,"uploaded",7),this.onUploading=s(this,"uploading",7),this.url="/",this.files=[]}async uploadFiles(t){if(this.files=Array.from(t.target.files),this.drop)try{this.onUploading.emit({files:this.files}),await Promise.all(this.files.map((t=>fetch(this.url,{method:"POST",body:t})))),this.onUploaded.emit({upload:!0,files:this.files})}catch(t){this.onUploaded.emit({upload:!1,error:t})}}renderLabel(){if(!this.drop&&this.files.length>0)return this.multiple?i("span",null,this.files.length," files"):i("span",null,this.files[0].name)}render(){return i("div",{class:"c-file-upload "+(this.drop?"c-file-upload--drop":"")},i("slot",null),this.renderLabel(),i("input",{type:"file",multiple:this.multiple,onChange:t=>this.uploadFiles(t)}))}},k=class{constructor(s){t(this,s),this.filter=""}generateSrc(){if(this.src)return this.src;let t="";this.width&&this.height&&(t=`${this.width}x${this.height}/`);let s="";return this.filter&&(s=`?${this.filter}`),this.photo?`https://source.unsplash.com/${this.photo}/${t}`:this.user?this.likes?`https://source.unsplash.com/user/${this.user}/likes/${t}${s}`:`https://source.unsplash.com/user/${this.user}/${t}${s}`:this.collection?`https://source.unsplash.com/collection/${this.collection}/${t}${s}`:`https://source.unsplash.com/random/${t}${s}`}componentDidLoad(){"IntersectionObserver"in window?(this.io=new IntersectionObserver((t=>{t[0].isIntersecting&&(this.loadImage(),this.cleanup())})),this.io.observe(this.el)):this.loadImage()}disconnectedCallback(){this.cleanup()}loadImage(){this._src=this.generateSrc()}cleanup(){this.io&&(this.io.disconnect(),this.io=null)}render(){return i("img",{class:"o-image",src:this._src,alt:this.alt})}get el(){return e(this)}},x=class{constructor(s){t(this,s)}render(){return i("div",{class:"o-media__body"},i("slot",null))}},C=class{constructor(s){t(this,s)}render(){return i("div",{class:"o-media__image"},i("img",{class:"o-image",alt:this.alt,src:this.src}))}},F=class{constructor(s){t(this,s)}render(){return i("div",{class:"c-card__item o-media"},i("slot",null))}},A=class{constructor(i){t(this,i),this.onClose=s(this,"close",7),this.ghost=!1,this.full=!1,this.open=!1,this.dismissible=!1}async close(){this.shouldClose&&!this.shouldClose()||(this.open=!1,this.onClose.emit())}async show(){this.open=!0}async isOpen(){return this.open}dismiss(){this.dismissible&&this.close()}render(){const t=this.ghost?"o-modal--ghost":"",s=this.full?"o-modal--full":"",e=this.open?"o-modal--visible":"";return[i("div",{"aria-hidden":!0,onClick:()=>this.dismiss(),class:"c-overlay c-overlay--fullpage "+(this.open?"c-overlay--visible":"")}),i("div",{role:"dialog",class:`o-modal ${t} ${s} ${e}`},this.dismissible&&i("button",{type:"button",class:"c-button c-button--close",onClick:()=>this.close()},"×"),i("slot",null))]}get elem(){return e(this)}},L=class{constructor(i){t(this,i),this.onPage=s(this,"page",7),this.page=1,this.pages=1}async goToPage(t){t>0&&t<=this.pages&&(this._currentPage=t,this.onPage.emit(this._currentPage))}async currentPage(){return this._currentPage}componentWillLoad(){this._currentPage=this.page}render(){return i("nav",{class:"c-pagination"},i("button",{class:"c-pagination__control",onClick:()=>this.goToPage(this._currentPage-1),disabled:1===this._currentPage},"‹"),i("div",{class:"c-pagination__pages"},this._currentPage>1&&i("button",{onClick:()=>this.goToPage(this._currentPage-1),class:"c-pagination__control"},this._currentPage-1),i("button",{class:"c-pagination__control","aria-current":!0},this._currentPage),this._currentPage<this.pages&&i("button",{onClick:()=>this.goToPage(this._currentPage+1),class:"c-pagination__control"},this._currentPage+1)),i("button",{class:"c-pagination__control",onClick:()=>this.goToPage(this._currentPage+1),disabled:this._currentPage===this.pages},"›"))}},M=class{constructor(s){t(this,s),this.height=0}render(){return i("div",{class:"o-panel-container",style:{height:`${this.height}px`}},i("div",{class:"o-panel"},i("slot",null)))}},T=class{constructor(i){t(this,i),this.onChanged=s(this,"changed",7)}onChangeBar(t){const s=t.detail,i=[].indexOf.call(this.element.children[0].children,t.target);this.onChanged.emit(Object.assign({idx:i},s))}render(){return i("div",{class:`c-progress ${this.rounded?"c-progress--rounded":""} ${this.timer?"c-progress--timer":""} ${this.size?`u-${this.size}`:""}`},i("slot",null))}get element(){return e(this)}},O=class{constructor(i){t(this,i),this.onChanged=s(this,"progressbar",7),this.min=0,this.max=100,this.duration=0}watchValue(t,s){this.onChanged.emit({value:t,oldValue:s})}render(){const t=this.type?`c-progress__bar--${this.type}`:"";return i("div",{role:"progressbar","aria-valuenow":this.value,"aria-valuemin":this.min,"aria-valuemax":this.max,style:Object.assign({width:(this.value-this.min)/(this.max-this.min)*100+"%"},this.duration?{animationDuration:`${this.duration}s`}:{}),class:`c-progress__bar ${t}`},i("slot",null))}static get watchers(){return{value:["watchValue"]}}},W=class{constructor(s){t(this,s),this.top=0}componentWillUpdate(){this.positionElement()}positionElement(){this.dimensions=this.elem.children[0].getBoundingClientRect(),this.offsetTop=this.dimensions.top+window.scrollY,this.offsetTop-window.scrollY-this.top<=0?(this.staticStyles={width:`${this.dimensions.width}px`,height:`${this.dimensions.height}px`},this.stickyStyles={position:"fixed",top:`${this.top}px`,left:`${this.dimensions.left}px`,width:`${this.dimensions.width}px`}):(this.staticStyles={},this.stickyStyles={})}render(){return i("div",{style:this.staticStyles},i("div",{style:this.stickyStyles},i("slot",null)))}get elem(){return e(this)}},N=class{constructor(s){t(this,s)}render(){return i("div",{role:"tabpanel",hidden:!this.open,class:"c-tabs__tab "+(this.type?`c-tabs__tab--${this.type}`:"")},i("slot",null))}},I=class{constructor(i){t(this,i),this.onTab=s(this,"tab",7)}componentWillLoad(){this.tabs=Array.from(this.elem.querySelectorAll("blaze-tab"))}async currentTab(){return this.tabs.findIndex((t=>t.open))}async openTab(t){this.tabs[t].disabled||(this.tabs=this.tabs.map((t=>(t.open=!1,t))),this.tabs[t].open=!0,this.onTab.emit({idx:t}))}render(){return i("div",{class:"c-tabs"},i("div",{role:"tablist",class:"c-tabs"},i("div",{class:"c-tabs__nav"},i("div",{class:"c-tabs__headings"},this.tabs.map(((t,s)=>i("button",{role:"tab",disabled:t.disabled,class:`c-tab-heading ${t.type?`c-tab-heading--${t.type}`:""} ${t.open?"c-tab-heading--active":""}`,onClick:()=>this.openTab(s)},t.header))))),i("slot",null)))}get elem(){return e(this)}},E=class{constructor(i){t(this,i),this.onAdd=s(this,"add",7),this.onFilter=s(this,"filter",7),this.choices=[],this.inputValue=""}async setOptions(t){if(t?this._options=t:this.options&&(this._options=JSON.parse(this.options)),this.autocompleteRef)return this.autocompleteRef.setItems(this._options)}componentWillLoad(){this.setOptions(),this._placeholder=this.placeholder,this._placeholder||(this._placeholder=this.options?"Select an option":"Add a tag")}addChoice(t){this.choices=[...this.choices,t],this.onAdd.emit(t),this.optionRef&&(this.optionRef.selected=!0),this.inputValue=""}select(t){t.preventDefault();const s=t.target.value||t.detail.value;if(void 0===s)return;const i=this._options.find((t=>t.value===s));i&&this.addChoice(i),this.autocompleteRef&&this.autocompleteRef.reset()}handleInput(t){this.inputValue=t.target.value}handleEnter(t){"Enter"===t.key&&this.inputValue&&(t.preventDefault(),this.addChoice({text:this.inputValue}))}removeChoice(t){this.choices.splice(t,1),this.choices=[...this.choices]}filter(t){this.onFilter.emit(t.detail)}renderAutocomplete(){return i("blaze-autocomplete",{ref:t=>this.autocompleteRef=t,onFilter:t=>this.filter(t),placeholder:this._placeholder,onSelected:t=>this.select(t)})}renderDropdown(){return i("select",{class:"c-field",onChange:t=>this.select(t)},i("option",{ref:t=>this.optionRef=t},this._placeholder),this._options.map((t=>i("option",{value:t.value},t.text))))}renderInput(){return i("input",{type:"text",class:"c-field",placeholder:this._placeholder,value:this.inputValue,onInput:t=>this.handleInput(t),onKeyDown:t=>this.handleEnter(t)})}renderField(){return this.autocomplete?this.renderAutocomplete():this.options?this.renderDropdown():this.renderInput()}render(){return i("div",{class:"c-tags"},i("div",{class:"c-tags__container"},this.choices.map(((t,s)=>i("button",{type:"button",class:"c-button c-tag",onClick:()=>this.removeChoice(s)},t.text)))),i("div",{class:"c-tags__field-container"},this.renderField()))}},S=class{constructor(s){t(this,s)}render(){return i("ol",{class:`o-timeline ${this.alternate?"o-timeline--alternate":""} ${this.loading?"o-timeline--loading":""}`},i("slot",null))}},U=class{constructor(s){t(this,s)}render(){return i("li",{class:`c-timeline-item ${this.type?`c-timeline-item--${this.type}`:""} ${this.left?"c-timeline-item--left":""} ${this.last?"c-timeline-item--last":""} ${this.loading&&!this.last?"c-timeline-item--loading":""}`},i("div",{class:"c-timeline-item__body"},i("slot",null)))}},P=class{constructor(i){t(this,i),this.onToggle=s(this,"toggle",7),this.toggled=!1,this._toggled=!1}componentWillLoad(){this._toggled=this.toggled}async isToggled(){return this._toggled}toggle(){this._toggled=!this._toggled}handleToggle(t){t.preventDefault(),this.toggle(),this.onToggle.emit(this._toggled)}render(){return i("label",{class:"c-toggle "+(this.type?`c-toggle--${this.type}`:""),onClick:t=>this.handleToggle(t)},i("input",{type:"checkbox","aria-checked":this._toggled.toString(),checked:this._toggled}),i("div",{class:"c-toggle__track"},i("div",{class:"c-toggle__handle"})),i("slot",null))}static get watchers(){return{toggled:["toggle"]}}},j=class{constructor(s){t(this,s)}render(){return i("div",{role:"tree",class:"c-tree"},i("slot",null))}},q=class{constructor(i){t(this,i),this.onExpand=s(this,"expand",7),this.onCollapse=s(this,"collapse",7),this.expanded=!1}toggleExpanded(){this.expanded=!this.expanded,this.expanded?this.onExpand.emit():this.onCollapse.emit()}async expand(){this.expanded=!0}async collapse(){this.expanded=!1}render(){return[i("button",{role:"treeitem","aria-expanded":this.expanded.toString(),class:"c-tree__item",onClick:()=>this.toggleExpanded()},i("slot",{name:"branch"})),i("div",{role:"tree",class:"c-tree"},i("slot",{name:"leaf"}))]}},V=class{constructor(s){t(this,s)}render(){return i("span",{role:"treeitem",class:"c-tree__item"},i("slot",null))}};export{a as blaze_accordion,n as blaze_accordion_pane,h as blaze_address,r as blaze_address_heading,c as blaze_alert,o as blaze_alerts,l as blaze_autocomplete,d as blaze_avatar,u as blaze_back_to_top,p as blaze_badge,_ as blaze_calendar,m as blaze_card,b as blaze_card_body,g as blaze_card_footer,v as blaze_card_header,w as blaze_counter,y as blaze_demo,$ as blaze_divider,z as blaze_drawer,D as blaze_file_upload,k as blaze_image,x as blaze_media_body,C as blaze_media_image,F as blaze_media_item,A as blaze_modal,L as blaze_pagination,M as blaze_panel,T as blaze_progress,O as blaze_progress_bar,W as blaze_sticky,N as blaze_tab,I as blaze_tabs,E as blaze_tags,S as blaze_timeline,U as blaze_timeline_item,P as blaze_toggle,j as blaze_tree,q as blaze_tree_branch,V as blaze_tree_leaf}