UNPKG

@postnord/web-components

Version:
5 lines 9.56 kB
/*! * Built with Stencil * By PostNord. */ import{transformTag as e,proxyCustomElement as i,HTMLElement as n,createEvent as t,h as a,Host as s}from"@stencil/core/internal/client";import{u as l,k as r,e as o}from"./helpers.js";import{d as c}from"./pn-button2.js";import{d}from"./pn-icon2.js";import{d as h}from"./pn-spinner2.js";const p='<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#000" fill-rule="evenodd" d="M4 11.442A7.44 7.44 0 0 1 11.44 4c6.24 0 9.617 7.154 5.923 11.949l2.844 2.844a1 1 0 0 1-1.414 1.414l-2.837-2.837C11.21 21.045 4 17.73 4 11.441m11.277 3.867C11.846 18.714 6 16.284 6 11.442A5.44 5.44 0 0 1 11.44 6c4.724 0 7.204 5.605 4.026 9.1z" clip-rule="evenodd"/></svg>',f={SEARCH:{en:"Search",sv:"Sök",da:"Søg",fi:"Hae",no:"Søk"},CLEAR:{en:"Clear search field",sv:"Rensa sökfältet",da:"Ryd søgefeltet",fi:"Tyhjennä hakukenttä",no:"Tøm søkefeltet"}},u=i(class extends n{constructor(e){super(),!1!==e&&this.__registerHost(),this.search=t(this,"search",7),this.update=t(this,"update",7)}id=`pn-search-field-${l()}`;get hostElement(){return this}label;language=void 0;value="";name;placeholder;autocomplete;list;required=!1;disabled=!1;loading=!1;button="";buttonLabel;buttonTooltip;buttonLight=!1;pnId;pnAriaLabelledby;searchid;search;update;inputHandler(){this.update.emit(this.value)}async componentWillLoad(){void 0===this.language&&await r(this.hostElement)}getId(){return this.pnId||this.searchid||this.id}translate(e){return f?.[e]?.[this.language||o]}emitSearch({click:e,button:i}){("click"===e?.type||"keydown"===i?.type&&"Enter"===i?.key)&&((e||i).preventDefault(),this.search.emit(this.value))}setVal(e){this.value=e.target.value}clearInput(){this.value="",this.update.emit(this.value),this.hostElement.querySelector("input").focus()}displayLabel(){return!!this.label}getAriaLabelledby(){return this.displayLabel()?null:this.pnAriaLabelledby}getButtonLabel(){return this.buttonLabel||this.translate("SEARCH")}searchSimple(){return"icon"===this.button||"simple"===this.button}searchAuto(){return"icon-inline"===this.button||"none"===this.button||"auto"===this.button}searchJumbo(){return"jumbo"===this.button}searchButtonAppearance(){return this.searchSimple()?"light":null}searchButtonVariant(){return this.searchSimple()?"outlined":null}render(){return a(s,{key:"5ffa0c58cd54c1a6588147e5ec9a72e0045e16aa"},a("div",{key:"d18a2bdaef46229ff87fe1612d39489443fd70cc",class:"pn-search-field","data-inline":this.searchAuto(),"data-loading":this.loading,"data-searching":!!this.value,"data-jumbo":this.searchJumbo()},a("div",{key:"1a7c9e872e0c7696f0d1d84a3420eade2b1cd2ed",class:"pn-search-field-container"},a("input",{key:"3ff3e9809123283f66ea933f7bc9fb5a92489e51",class:"pn-search-field-input",id:this.getId(),type:"search",value:this.value,name:this.name,placeholder:this.placeholder,autocomplete:this.autocomplete,list:this.list,required:this.required,disabled:this.disabled,"aria-label":this.label,"aria-labelledby":this.getAriaLabelledby(),onKeyDown:e=>this.emitSearch({button:e}),onInput:e=>this.setVal(e)}),a("div",{key:"eeb6d382c93f98da5561b30219ef829c668eab54",class:"pn-search-field-inline"},this.searchAuto()&&a("pn-button",{key:"65d7049753656a7f4bce29e7e8c99305e99f15e2",class:"pn-search-field-button",type:"button",appearance:"light",small:!0,icon:p,iconOnly:!0,arialabel:this.getButtonLabel(),noTab:this.loading,onPnClick:e=>this.emitSearch({click:e.detail})}),!this.disabled&&a("pn-button",{key:"58bae5e2fc05c66cee21081e71904530ca75a0b9",small:!0,class:"pn-search-field-clear",type:"button",appearance:"light",icon:'<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#000" fill-rule="evenodd" d="M6.293 6.293a1 1 0 0 1 1.414 0L12 10.586l4.293-4.293a1 1 0 1 1 1.414 1.414L13.414 12l4.293 4.293a1 1 0 0 1-1.414 1.414L12 13.414l-4.293 4.293a1 1 0 0 1-1.414-1.414L10.586 12 6.293 7.707a1 1 0 0 1 0-1.414" clip-rule="evenodd"/></svg>',iconOnly:!0,arialabel:this.translate("CLEAR"),noTab:!this.value||this.loading,onPnClick:()=>this.clearInput()}),this.searchAuto()&&a("pn-spinner",{key:"d3955278766f786897eb0024c7523179a2ad78c4",class:"pn-search-field-spinner"}))),!this.searchAuto()&&a("pn-button",{key:"fd46d299cfd9600e671e827daa4a00675a6bd25b",class:"pn-search-field-submit",label:this.getButtonLabel(),tooltip:this.buttonTooltip,appearance:this.searchButtonAppearance(),variant:this.searchButtonVariant(),icon:p,iconOnly:this.searchSimple()||this.searchJumbo(),arialabel:this.searchSimple()||this.searchJumbo()?this.getButtonLabel():null,loading:this.loading,onPnClick:e=>this.emitSearch({click:e.detail})})))}static get style(){return`${e("pn-search-field")}{display:inline-block}${e("pn-search-field")} .pn-search-field{display:flex;gap:0.5em}${e("pn-search-field")} .pn-search-field-container{width:100%;flex:1 1 100%;position:relative}${e("pn-search-field")} .pn-search-field-input{min-height:3em;height:100%;width:100%;color:#2d2013;background-color:#ffffff;border:0.0625em solid #969087;border-radius:3em;padding:0.75em;font-family:inherit;font-size:1em;font-weight:500;line-height:1.5em;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}${e("pn-search-field")} .pn-search-field-input:-webkit-autofill,${e("pn-search-field")} .pn-search-field-input:-webkit-autofill:hover,${e("pn-search-field")} .pn-search-field-input:-webkit-autofill:focus,${e("pn-search-field")} .pn-search-field-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 10em #e0f8ff inset;-webkit-text-fill-color:#2d2013}${e("pn-search-field")} .pn-search-field-input{outline:0.2rem solid transparent;outline-offset:0.2rem}${e("pn-search-field")} .pn-search-field-input:focus-visible{outline-color:#005d92;background-color:#ffffff;border-color:#005d92}${e("pn-search-field")} .pn-search-field-input{transition-property:outline-color, background-color, border-color, color;transition-duration:0.2s;transition-timing-function:cubic-bezier(0.7, 0, 0.3, 1)}@media (prefers-reduced-motion: reduce){${e("pn-search-field")} .pn-search-field-input{transition-duration:0s;transition-delay:0s}}${e("pn-search-field")} .pn-search-field-input::placeholder{color:#5e554a;font-weight:normal}${e("pn-search-field")} .pn-search-field-input:hover{border-color:#005d92}${e("pn-search-field")} .pn-search-field-input:disabled{color:#5e554a;background-color:#f3f2f2;border-color:#f3f2f2}${e("pn-search-field")} .pn-search-field-input::-webkit-calendar-picker-indicator,${e("pn-search-field")} .pn-search-field-input::-webkit-search-cancel-button,${e("pn-search-field")} .pn-search-field-input::-webkit-search-decoration{display:none !important}${e("pn-search-field")} .pn-search-field-inline{pointer-events:none;position:absolute;top:0;right:0;background:transparent;width:3em;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}${e("pn-search-field")} .pn-search-field-inline ${e("pn-button")}{position:absolute;left:50%;top:50%;transition-property:transform;transition-duration:0.2s;transition-timing-function:cubic-bezier(0.7, 0, 0.3, 1)}@media (prefers-reduced-motion: reduce){${e("pn-search-field")} .pn-search-field-inline ${e("pn-button")}{transition-duration:0s;transition-delay:0s}}${e("pn-search-field")} .pn-search-field-inline ${e("pn-button")}{transition-delay:0.2s;transform:translate(100%, -50%)}${e("pn-search-field")} .pn-search-field-submit{white-space:nowrap}${e("pn-search-field")} .pn-search-field-spinner{position:absolute;left:50%;top:50%;transition:transform cubic-bezier(0.7, 0, 0.3, 1) 0.2s;transform:translate(100%, -50%)}${e("pn-search-field")} .pn-search-field[data-inline] .pn-search-field-inline{pointer-events:unset}${e("pn-search-field")} .pn-search-field[data-inline] .pn-search-field-button{transform:translate(-50%, -50%)}${e("pn-search-field")} .pn-search-field[data-inline][data-loading] ${e("pn-button")}{transform:translate(100%, -50%)}${e("pn-search-field")} .pn-search-field[data-inline][data-loading] .pn-search-field-spinner{transform:translate(-50%, -50%)}${e("pn-search-field")} .pn-search-field[data-inline][data-searching] .pn-search-field-button{transform:translate(150%, -50%)}${e("pn-search-field")} .pn-search-field[data-jumbo] .pn-search-field-input{min-height:4em;padding-left:1.25em}${e("pn-search-field")} .pn-search-field[data-jumbo] .pn-search-field-submit .pn-button[data-icon-only]{width:4em;height:4em}${e("pn-search-field")} .pn-search-field[data-jumbo] .pn-search-field-submit .pn-button[data-icon-only][data-loading] .pn-button-bg{width:4em;height:4em}${e("pn-search-field")} .pn-search-field[data-searching] .pn-search-field-inline{pointer-events:unset}${e("pn-search-field")} .pn-search-field[data-searching] .pn-search-field-clear{transform:translate(-50%, -50%)}`}},[512,"pn-search-field",{label:[1],language:[1],value:[1025],name:[1],placeholder:[1],autocomplete:[1],list:[1],required:[4],disabled:[4],loading:[4],button:[1],buttonLabel:[1,"button-label"],buttonTooltip:[1,"button-tooltip"],buttonLight:[4,"button-light"],pnId:[1,"pn-id"],pnAriaLabelledby:[1,"pn-aria-labelledby"],searchid:[1]},[[0,"input","inputHandler"]]]);function b(){"undefined"!=typeof customElements&&["pn-search-field","pn-button","pn-icon","pn-spinner"].forEach((i=>{switch(i){case"pn-search-field":customElements.get(e(e(i)))||customElements.define(e(e(i)),u);break;case"pn-button":customElements.get(e(e(i)))||c();break;case"pn-icon":customElements.get(e(e(i)))||d();break;case"pn-spinner":customElements.get(e(e(i)))||h()}}))}export{u as P,b as d}